From c5f53a2a50b1d33b4e4d450f1c54de923db5fb36 Mon Sep 17 00:00:00 2001 From: marcin-szczepanski Date: Wed, 27 Jul 2022 13:51:24 +0200 Subject: [PATCH] Fix --- html/fcl/tipper.js | 4 +-- out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar | Bin 3131018 -> 3131313 bytes .../java/net/sourceforge/jFuzzyLogic/FIS.java | 30 ++++++++++++++---- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/html/fcl/tipper.js b/html/fcl/tipper.js index 65be240..4688cef 100644 --- a/html/fcl/tipper.js +++ b/html/fcl/tipper.js @@ -1,7 +1,5 @@ //-------------------------------------------------------------------------------- // 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) { @@ -205,4 +203,6 @@ function main(food, service) { // Show results tipper.print(); + + return [tipper.tip]; } diff --git a/out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar b/out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar index 685a68ebe3049cb41fcf8693a7556c8013322b56..5c7a3aa7a3aecbe2bf0b45b9bdef38ba580f4447 100644 GIT binary patch delta 36105 zcmaHz2RN1Q|M>G9dmfu}9DC~=BSi{nkjjdNRHQT&A|XXXN+~OM8!eO>B^tC;wsy*F zpp2+QsebS0xexjD{a^pC>s*ib>pkxIyzl#2#l)8KK+BteqBG6kQ7@W>Ympl{vf+y?~I4Se;;Y>_#3hacH0TzJwz@tKx-J>C<*<>f6NW ze$))Lx7D7|S+yr}!^VK-5-;|ab+YW9Sx@&X$RK@AMs{}g+)Gz_u58(G>DjKK?X}ze zuC5Za>Grg?GU~0l-hO&p&G)SD;!Y9Y%4WH8SbyQqP(b&)QjpRDh<9Flb?r!^W zC*shAn#GG)n}kfmVZoKh6z^Da2nbziG;;${<8jMnl9UAcoH8mzR% zsnwqsM!jyhljhU<%r=7~XFR--eL#kXe5~TeJS4f_NcPwb+KS$Q_-VSUSG1iASnT>riS#~(>?gPB=jYwMoVBN=yPqv68x!;7U3rk|QzGw6%ar#P3+i|;oYX#> zb~bANr-{cOnqD>=x^ZY)o_$rPR&?T_$b$Xrtq$KfdhvRHBDWNd=>a^krMz!>oivyCA?27EdY`l+M zURC_?^0f4*AX8VKuI0~!6))W}%8a=<%cOL6`u#%QZ8{&0O}&3$&gH@2$9!J*87*fs zWLG^9UiHA3r77~A|6pRW$*b_t%U;LEo2SVa3g!Q7%_BC&rO%t#WN)y-Go;%7r(jDI zE3JI7s?u?JQL~)j2p7xjgmG3;>y`$T#tW9ZsV#L%?|hfe?;D$E!k(<>(Ut!Bk@spH zo|k7t-KSppJ!$Ywh<#YK#T93R>35r-CfVFG)j9C!%;)UHQe-TK2f&$8Xn61?RJlt3KXbTcG>2Nph}k!QSWlh1VFdoKMbMwoXR)VZq~s zCudg5XKgfX;9IA2>TXcWuGyMOeUVp%6hev2^Zt)}O;}BfV$R#Hyv8?6e0;(U(;vzq z=f~fAdd{KdddJiyh6$%r65J#?5gTInO!*~dbN9~R^i!NO2V6pSt*{RFTOw!1phu#f zMpp9lMKCRF(F9rTGIs?*#)qr}91X$kLcgZ%`K>l?-t7(Zr!Cj{rO;_CUA8(euH{;c z664n@uLTYB)EK{#)@3xD(~uJkJKSgIv0=EIQ*vBszE)0s=aP~`>zo6_&dpSdSh6K$ z){)B}+bw?W+BB_ZkNvSjRSAVZoK`+Jc(pCj(X77Oc~W3+iNEG*Q>{xE61+BPws|gM z?JG|bJ+Y-^R{u2(hWXvPj;nigRwtBnEG(H3c}qI!VR@xbXKql#^sO2zbNd9Q9LyMW zuy3$h(CSs^eA%s{e_K!q>Ph_Z;;E_GzKB&VoEpca^Lx*5N<7bQw6L7kNVj6TyUpAi ztasOdIFI&iHL%QhGNX_tt4p7t{(G^4yVuOUkq5HAXJj9)JIk=V@FcghZ%>g=oT`1% zkF!_GmlWK2RvB~3!cvcwsIlioLT$?PPQ^~6Q+vnl8rEp-&vLA-|MIXbWA{yy&o1uF z$cUZkUOK;$Gs}I$EY9prf3$XBEAPtFRqN|st=}^>f1!qV$nf9`xpKR#XDa=BX6)5z zWuNAM&snJ{vZufE``1)k!#gJ~s~KMSbJo$YzOsy1qQ=*K_RW&qlVA0vhQjAoRApPH z87)tXTFcOI{_URrqGQX2@Xww-hj}&sgtN-jSvC=OPk4>vY4X~vbt}yIQ}fIT6RkG- z>D;Ui`nl`;+{4R0etEjr@-2JbgEhM>ZWs6(My`&VRcTqDw`SS3yV4uQwx(w8XBZnt zt%=o|{`5(n_=Uv6J?G5Tj?ce(t=Og_q&QBSU+}V&(+SB9VrFTgsd@uu4s`i#i_*V$ zY>$+65V&OS5wX4Z%j#R2k0e@7i%h8I@%_z{Ui4HxF~ z_=j|7^q*?C_HPTrD&(ivHYs}#Nfw^<~`WGrs2k#V#)o&g;q|C^J^;h>_6QW!QW|PnW*Dt`#9%Xj}wT9Fmpr|K5OiKv=7WyyonVahpyl823I4d%wnN?j?|oe?v0%k#l;EjMec z5>~xyiw{q&IjfMqwCKv+H|6Drt{zJDyqDwRa=`cI;gw;UpDg@>gO4~LlXyNvA5fJ( zo7MCF#zMo#vCoE_%hf_x%`aK(<*?WH0KcZk2YtUu3*$Cu3JV@yW8piEUNRWrm? zs;rx8bE`P*X#HAK#WV%cpnK!)&0i{)wehe*ea1(#YrAyTc0CJKck=GJAJ^Q)ifSU0& z)6e&%BS z-?QhgEKZjcnBt^YzQJ+Hg0{)hnS88|8B^__eR%Jfdy9|vfd9wJ%8Xm-7NJ6Qedfh` zA1xF*zA~P}M(kz;Z%Lhf6Miz~)PA3$Fs z=A8O;zW6EOvgJo$|Dz7eexmyRoHez+4?~4r4+;G64q<4fsD5GuZIXHOZifSdN9XKS z`HQ|`*=cMX0| zjnvbbU)-m6%#pMhI$8K6eqGS*kb=b8-TNynIm#8yFG4L-43`CE=#{9`H#An>UwV`7 znek=T=CDU%jI`v%mu{5IY@a)1vX;@kcAx%|PIozLc<6&7%)GI{B5B%yG04K6xoV)aKp0*t(}j)->%6b4>UWJ)>%CcFl|ZuTJgk z$Y&Y9Wc}#B?f9GTdGoWi%u19t^*cI8 zV8?A7qxA7WH4Z zeLlB<=Z%qCnnL2^2*cUe7vDX1uHJWR%&VRnP4g!`jV4Dg2;Dc`^2h1xocZZX=RDI# zf%lf&SM#kFYh#Kj9C|3adrS9z=en!{wI2bWPCoy%>$do=?e5lJ_Ebf<9r+fsDq^LD z-Km8;`@^rLg(k^9FnO+S;Ly+;EFPZvU~p%)^j*7g%ZJJyCQ7RGnN2cb56Qg_Ow^m+ z+2NO&E4MdRO7`b!^VAQbqTMTs!=`%q*{vE1nC>pI`ujbB7F_O%koNd_to8=err%TP_-&rSa;yK$w=cby zx!mr@ye|*74n>V?tJre9D^_`%WaL3NzF+kjAptv?Q2V#mD?O(j@3bO@ z0@=&#s*1c;z4hn|m2Nyayn`vGg@&v4^mT`{mRE#Vg*Q3exO|{%V&l2&@!e-`G;Dgj zXkk#jYRcX2eNUV{4^7c=oF(x@*E46zRvlU2^Yu~D<()=Nmyc9TdaTy?j&HYpRN`CH z`=_qQ9$Ixr*KtB``q{20h3XE=)zg}0qvF7b1BDxd4#tK%UKx0JuVH2QfLD|zsS2Z|%GpM}YvC8xG6sOrv--=DN)+HUushahE6PjY^SRVHEjAdFs z+qto3YfGT9Y+Inz?^Uey%*m0`9w%K)MqSzn`Y^jC%=A&=&(}U zyQLLxJ)hjaaJO#%%O{80_iYl+>bmf(ZT!Y%GC6uGTdZeY)zy)nx-9NwhbCkCB^hPq zKv`??M*G-#meJET*Ec5LQdxG-sm#ZxwA9;L;PjX3U(X-z*x*xIZJHxzb<}9!l~F+E z-~pcv?~h%W=l}jo#JwY>r86Fx?%7*^%#=^=+X}-cKUVHEtM5E2vLbk*Saht8D>Fkq zHHLV6^s)D(_q)nB%@Ng?=zXV?=B{NF7L&5jqNaUK2znfF>-<|8hIi*+Mnm)R^!j7h zAJN{(uT8#HyX1!>uV?v$qNh8om&M(gu;`|xoqgH~nc}U{)qdupYcKsN!xc%N)YE=D>W`~+s|X`eEg4B@_dv{{b8Ijscx!y z2vHbsUuVlxm@c#S%j0Pt-g+7u(uEaGsn6EzD(_c0GyY2Z&gf|-ycaj=c3-%Z)>!_t zW6f5bR_3|jV!4*3cDp-&m?}g>fBqskVetB}C+$G$ z%+=8eL;lx<>o?Axx3z5f*0!I^+~#bh-OMiB*K=MrNafU=W%kQHtZ4L8En+=g{yW=E zGXBNW!=8C`x4;Yo-&c?Fqi--8FV<^##=TxB7}MSnI=B5>i&oP+gV*-5dN)Pxy%3Ig zGRv?l&$P+5bmg3mqFL^0juCMICM)FizXnINd|9#iiN@z+50c(#RIw5kem=I)`SE1u z&wFQ_f!*rdGgCf04pzDNKTGN@+!H!$kKTg|5f`&x+DBJhpIJA|mp@hmC%BnH!S1J4C^4{la zqp8xdh%mDwYi}qeN!YBMAeoYupj97~8u->x-=I23Ipos3bD?qJQPPiSJDz&9SgQx# z;8pd!;2joqBf~V4er(gRr8B3ehGs8sJA5?!u+`N#(IxxCg8Z)EI^R{{b3Y)gz2{xd z>Tx$6W(n@u-O*S$j&W+wnnJ$A2bZ^@Y`1YjF;8oHJtC%*?%W>OcXEMnL05vUkIs>F zk1jv&e4W__ujfsUis<#R*y}^va+wsYjMgJ@-89hthr`L7H_qPufaI@LFiZEq8WQvKBe!z8$Q$%zTv*PVy0~L&!D0R<#un+ol_nxqqp~) zJ1x&IZa-gbd1BJ{nFej)GmpD9opW;yUvkVROz^=IuTLwcYPhso(W2MXKko4f@cGc@ z{z|UBYhzzm)&0QB<9njsU-Mm@EOa!mn$PgI_ZN00J86v}f5Br#%}FZd4`%mX%KRmt zzV}(@nJ!(|%X&3e`h(_GMl7hBShU)>bh@ov;F?U+SJ&?q23T!kzPMe*DXKj4wQ{x# zN8Yu3=w580xmJz+R+&Wz{IRoz$OE_v2a71sR9HIW^yk*FMd)$vv&Taf4KJ zQbyvFSq>Y+!`2shmGnEM=ZkD-2Y26mHB08Y`Gc#P20hV&OV0c`n z$(evEx0*@E?*t!zRNN72YLUFGaMu?X&n<;-`GTw@&Qyj9ZhW6scuHiQj>Orb5cBPk zUEdWCry7Q6c7LE{MB8P0ZZa71vWk~zy)t!gZd-o1ipt)SaP!itw?ht`4_mJtw0)Gzv4tgGN=^^vRJLz25`r#JqL zJA8S2`4?Z$fFr-Ao%Tz)FVZD4sIX1U@UlQi{x6f|-pyqb^&M_SFYl#Qv@aTRGWWPK zD{6Sn4zZ|J2CVAbFP?SA%N$oclbGBY{?YB3`&*Z?_hP>dY<0Z9YL`aUFHpEy-Rt$$ zB%-)Vwqv?*wQR@uimZBDFP(`KnxF5Vw2W2YyTW2_wMDnUnPyYFo%d!Zq#r3iHK5Xe zeOOuQv(z?r>0#vuwgz2a2K|P49(S!9P#oTRP)R1w>0N|Z5-m%Pc<{4sN2%9>peqU1 zb8?2wi~AGbRXAnO_n%n2O?SKi`{=NAXJSa)w+MMl(WU2>#*90(`s+jGwv4c5EoU1wVPCOZV&dYQhz zpt#i@En3+ryM4}SSI*9?g!XwACs9SUb=;ei=`BB8)?ZtpqE(xDG(Eg~*STD=Z^d)o z|5%GMbNB>r=ye_mlZqn(*yBuc7iIdN|G3oVOwBLNw;oF(?3eehdVgfY<>Zp2eK2jS zN?OOwY5bk{$@Sxo<5AUTUqu!;J<*yQ)K@#sMfjdgkBxmZD~UHCZ=3(g+*h;5J+Ta7 zdL9lJZr&pQb$Q_Q^_Sbq<{f_FZ@GS}PVU=FL*s8n*M8V!6|E9o=G6b)|LEew zGs=gCB|XbhzC=wj^IXNeEC0G;Q0n!(TTdsY7#6Xr7d6Ozk?@^3tP$assq)&fRqX1d zTfz%|rC$vkV!VzD&)z8Qx#lN3b^9^DyqmYp8k*W1%$*unZSAifnE(6yb`!s=(Sve7 zw+>F)cF?bAYd>osaA?thNa%s>(#;zqb`>?Gy#3h~(Q@sVYtLqxzDW<(?kF?feVr8; zdVQspbw@^Pw9<;E){b}4toFW$vxmM7A6+T^ry*d9bx%lgivNv@DJ;K!*F#$e6(9V( zQQ5b3$MZhJ9X0vPB~6*m$_EMp&+HCSe`Vu4JDA?ON}xWWL$z*&mW80_<=q|gg6WNq z#M@4<5@@|3w7R)0#r4!Hv(%WBRRe-o9TrB!uQ9xTYx<%{X%FZ6_is-!CgcWmN1VvY zx#RQ4)Ohor{OBx&u9q_xJYUOc^v>B*m40FV-&kV( z!?1T@t>v)nBMJV4U*c;llfFkd&lM2-BBnO6LSfuERh}t{`4g1TQX@hY9XrRCE}C3P zoVBB#z%)zIrc;0Xj)8|IsnRsrqSey0*XKx9H1iq_KeB;`KJ21DJ+zgE)RPyGP}xnk zK+!Q}Ufa2pJ3P~2Bd_(m@+c#emr*orJ+B7!^aep(V-$CfEm;H#S4k=^uzYPTDB(X3 zoOt2kli%hwhUDWa;c?>x$B~b#(9?WgEvkg!d|m_U5BK>8&6hzOuRW1^V+^))i({Oe2A+dosBADt}Z786g_yX=OT@c$O0hKvqN z2_fMt+)Bo&X)%#_kdy+NGlHN;)R6NxY0-bYA?ie`CdNg);B!<~{2v2ooiSwqRZ>S~ zd*yilF#v8v8T2TrD@&~SXKWy>Dxybogi!BQZtaGz^5VvWZUW`GridE?RH~?~Szhp; zGHQ!>*_37KH84=Q#)~Hoj1LnvRVhfI8zb$6_Art4RRuoe+@c`zPZ;o~W+$Q?cYIS6 zMo#65d}#O@w`zvU>P*!0nZb`dpR@UpVKJ{DRV#jRXo+c-C|NtF_C;JQ}=%!$4aA}rA)bh+8kKQq#miFtWq2fy)9*$Qw1oO zF{!bSURcH~T3DuZA&0_$HnFIar)aVt>ogyQ8iH8(41j zSE(SwOm*x96O}3Dy&}-(pScQCor(OE)a591YA#fTs|%qlC3V~+IFXs?P^!AvKYa`V z@sKfD+#+mQ>f>>1u7OJ&OI?PNsFH(xLW2G&8M>8;dRgjHlodo_A{AwI>KQhIdT=Q0 zrL2y}4W=;@9b9B6jLMX`HKVGoT&eZ%=}i`hl*6?7MgNmAIV$RUR7~ouw|b^69=%&d z9ex_{(}bT^(QXy(X~m>XQTa>laOyNDn$@Z;OQZa9jCJKv&^v8h;gnQe`J&W!+TBz| zi{hkp7}R-Ils#QX5TCffRFL>Z9f6`IKb`8^RA2~VOZ8jPcMsk3Gbsk4KH?&5{0-!h z{#9Mc=)!ZlMTO_|Lb0t;t)2*#HlnQv{UR&EU}_iX8NI#7plEx~_<=1{1%p?yXHb9K zSjEO!_|_v1Bsd>79tkZU_7qCLyq?WOJABy9q*Ua!n*EHI;+zuTt{d1m`9*JFFQ5#X zH?ZeX^(*4|v5!)(C=@-~#!e+Dt?v%@dh9Mz#%30M-Njx*DbVsLwl`&QH;Nrgy)9AX z8qMB?|9ZKP{R98?EQUQnQ5-7bHo7oRL2~EVD+%c;ly-uxOs>tA#K9pfqzn>5=+8N} zKGDsK09XvujtesyBqc{Y<6lBP7|x-EioM^v{+m6gn>N*0MNqqlTnYb3HZR&q>XJ>y_&v#F zPauv=97D=XA=27Fh_vV;SYI(8qiZn(-C#24?vT10Q^x4pEoc&G_BLoQRn&w_U=U_K z#vtkv6xBL?4Eaow&RJuKM;3b`;bMSbA@e6^yQBLI_kK> z#<}j-6*zO27n2$TH0vt(ou`Dg1oJwErFUtf$gTvY&Y;goPZ$?Li7EF+4H#&N6o)&l z&XBs;no*r7Dz1hI4Q0@7$!nk!cs542>KgQ5X%i-O*VvPZUG1ZS5V9_YF*)#Q3@IvR zTM(;zNTQ5FyWtE}Dd8pvGRF~Jy;uc%cLC&I!qz1WK93SUbhCs#g$NqJB;^Kdo0YFa zp_M}t@H4#|Lp!Huzy2j@QG;u(R)Ga0I z709Co>Xe5~fc#Ae*3QJ_4}+I3;XIdz5FYn;gHAOdLIw5R1fTn)`7KIVL0D*ESa%D? zd)qCTiJD$@cWHWYVIR)a^D7BhdqEwn6?fUPR9&c?9vOyJz7OweAv=F@<0-iXGZTugybh^q1cT<<20!ABlI`dWd;kkn*eZbCMB2sOWXd{noB@I5su=pxo5NJxz- zm_W^RP|71Hb^Vz!BqI$0aC4ID^sIR?q6s#3wV)DIWG%^S96C={3+lafb&1Hh6#k!;BDAldx>`2g;8Shz zxWbE|Y(->P$Htp;s>O!^_qmD5A^$pV;Yt4Ufl;ngig}9e{Hmb4QJ8S|nhbdO5lOiM7+jkVzC2A=VQ%i|T8t=$0bhKH+vJWj*&A1c!@|e;Pp*yz?4w@^$(DEteX$LU6oYBmcj{7VsR}-wE1g zxHSAHtToh_rdZ62B(A~TAdzR>5v0asE?}E$|1(FZuHFSY$;paLbo3dw!>C9lfLk*- zvZ!GMQ<1txFnNvtKfPu|)=#4ZM*1p8=6|$Q?cG3o`vpT9op}yvYflL>dcoF4DaDYt zEnh=sm3aYKL9L9$-h|wJ@~DFJ@9|1t^CQwtg1A8|8%32t*AAm^9tRkVU9 zTz$=B=n4ociFjYJ6=@M~x%_w=td>-9>s~=TQ`qTKXS!Y22!BBGo!_{8Spy`k)UUk! z*h!-Sl*I#omA14u-?>un04%ap=nk+VjuEKu4OL~9GXml(|VFjUUk1Z@`^Kpwi)(BBl7hwFX5geba z!a~Q&5t}7VV6!j~wYEY2YH5a5{MiRsN7G6C{pc9n)C5W2`Q#Ylb%IYCooa>=THH)p zr;O1ZZie+{@Z2bwOw7$075LE7Y(8NWzLrBrE-m2tHJ{WeAk`i|0d%khvb^t=F(k4O zth-yFr{=W$7xSX2t*`-i=p4l|Xj2CtKN4|(*q2)&wsh~Pj!9n6z-F%vaLxBoEQ;C( z_#}{58x-LAa}*1pOKq^7GX6snCt{fda`^y#Wd9bf3>V2@A>}P-Hp-0(bR_={*60dT zk}y%7DL)@-p1=l2%X*JQ65d$#m^vnjE+8$>c#^YE4RaZ890xH z;C5Ko$34P==tF)n6xIU{Z`;A)eFesH9WZHLJj24q4wwN0%~&YwfKc)6h^Le7LcHQf zeZA!R*9rU9PkaKRXnQBL_Xx~uF18?~=%a!#Vts_3JtQ-RTaHaRCN)oZU!Pqt&lhxg9TjF~J7VdXLgRA1O!0Lgn(99qOMYOpGrr@M3 zER^=Z?6uCt0=*Xmvw~59AFb(S8}l4RpL^L11X_NSRRq07&4p*cKxOk8P6WZvaQfUW zAsyvWZLxp^?ud}jP+wXb#uBZ7OFlzCo4iM@ec)yNPCy!EorA<=w8@YUsrRuJd9I*% zIG_c6aCy=3m9%4_+&*aJ@&QtCCD#AOF#H#U3zL9Jxw#)I@)))D!!GMmKU`He3ZlNR z5WksUkPrRohc;=8VB+)z!oC&7!e34 zpm}ai3iFA&spL@+E&s-zM%;jOMhZ<+1ci~?7q${={syhix5AFMECprBLg>hR0PxJY z82b*u=)7Nqc)o*c`2buwS+636rNrko82(-@D1lCFGo&N*9UQd+uw&(Sm`<7@h(5@k zM6bFaqq~pssZv#UiM8F}PCQ6Hn@PdSG4kZ%8AGK3L$af`(1|1ATRWBPIv` zz_@p8!9vd;m?lXFDdET*jy2JD1pj@BGllRugN?${gk(|KFR~6i9LNoMh)!?}P*bju z2#Vn0=o5VfBpHuh&fu`nSJLKe5lL1OCD*ZLhXH7A5ui~n!^FB2Dla|@`bdKY`0-tg z{Zd85&{S{ej(sG4^Z?^J8pn)ySc!$a>EdFjkp`~wdBJ9TEyhOYMd;YIgv1k{U_5Q5 zp(;}61Je2&lN?)dv1B`Nk0$Ak*O=DwaV&^u&E%*kB29kI45Gaa3*TCy4=qrtwh-Up(jvaHh~IyD4cr67GkNIwQbg&?fa#NE^Ku;F!@Sf2AZ9WF^R% zL|gQY>%8WxkP6BZ=nMyoXBLzj& zqADzhjPfD!NfEL@4U8?-0aFEjC$YO8#^Xgf(}>q>EOd^?Hu{9|1Wc?=MhYavNUzBl zn~8B|6RWJzPBG46!qkR5GSPq-XENb#hm6HJ9)#l@^2kKX?MDJU5{Cfi9Z|jv2lAQ| zU@-~KL?X?3lqiom<6|ViI?Dy?oaPG)qlcvRbk|X$Fvi-N4%XA%xH?y8MGJxsI7Z^i zg`=2`8tEKUB67(n5kW`Yg~f3sXGxAS5$Q3i<3q8M981D*`G1KZvR?)+eL3fNFn8Vq$;j$$$NLWZM^c9Ym}6~=TK zjxc(Lpc~(i_`c65o=)6bO$yqm*+*CeM?4|}HkE5hyqtKl4oS+w;H=$19yL(p`jKW* z2{lU=rsq0eVdS|%SP8wCg|^Jwg(T%TPPBr3!sJyk18tY%ETR=1;7Si-povt{RFDVX zr-@wdB+r>o(@o||x8ymlwADws5=VjKMED;^5el5uw9pe=y8pN^3;Az@&N5VlNMR?1 zk^c!{4dkZ?r_$`xl*B|uiX0=_mxo-5j{)O0@fo5s;Urng;LIWJHDaORjW82O`^td! z=e;Ab4=t=)n7V#PaZHW_Ev)~qB!>8uIMZo%gIu)WyRa$_ke~zs_{X6%We($rBRn9l z1w+D`X9TEWv*j!>b0bEm06M{fb7&Qf0_Z!7W6KkcQk7xU4$wrDuul|(BqI1olNE%e z2zgXQEESGDF;N=vsKKe-tHO~$s~8+zRICEFjtZmLiHK#53Igb?k_ZC_J)jDPhqOqY zI(nqanM52MPYO$jN+VptD?<@YYvEKkvo1uc48w{`x=^j=ZE$OeBaKSqMWA_M zBK&xxpsok8j~yDLTcQW+QBlGukwv%k-~>CCI7;}?g#-~9H17bM1ls!G-<(Y9G)Grv zxHnDW2S-V)g_q}Ml59SXiK+oCtBxnJ0Bf`vp>rAwf0ySW18{hsg7KfzBg^xm@f-%v z0#r91vd7;=`wCE^>^END>=xKg7LEbw-Zxzd7q5n1fB*cg0VUQ%2UdA$%3C%Hat zN)v^2u@#RASe3u!TA7(}rqY@_xv>tJKsh|UTuGv5q&Bn((14zPq%r|E8k`>@GBxnmJKM^p+an}KQM!@rzG7Nk#$Y5I#qP@NfUmY#m+ zA~kc^9QaD2)+x}S5W1KovX~5YOEQPv>afE2fjOLu&!%BPb26NNbv9V2oy-wJdna>@ zh%HW|#ESU201E;O;9e?qGPzhlyshpS@3DY{6TOBMlu(BS$A*})5exHt#iY>{x%vFZR;hsKDBV6T9wpk8|rY->W z$mt8Ok%A8TU$rT=sGWQIzry z+VF_HsIQ*}^)v1pqjUTWI#nA;Rqzs$ZoVPPce=@Tl`F!`I>cFuxO*)|x%^#}{S zBT4)WO#UW0J6ph4W?@Wavuu(aw!?&*&Gd;Jdkm;V7HkJ5^>b0H9qenH=7@`sCnC%s z5}$^dXvc9Q_IZ*=CFD9AwlVfm*mmI_=nCpAxIY^*vOF@jhfTrIY-p7m+#{ULQAnP{ z5kPBCLq}d5h7sFr4a{8jawhvB(l51qO0;s~`Qx^k(%(NK=KD2^XE2OQ_Y4LXR4 z+<%LUqoP+3?>>q5siW38Fv(YIlSc*QI2R_Oku4T1XGzGQ+__M|ustS1_7ZaBt4zP!IEJVhRaCX!dkw*pe<|>4u`tPA5gnHMCZ9lh2$RfHE zN1vw+#XG@ZFLvUX)1E+nrc!IOFdd#mk|R{%1bNX!g3GPM=~76-8PeEEWiHBK(dBTX zLY%?$sS203DAPsJ8#1*%Ao-s-E*FWTi=zs6$SMjhz}*tyO^SHBHu7+RsJbWU_~DNE zafq6-5WF9fR`;s8{ErJ~25n6}CBc5Zj;@Zaj?ah2X~2_)1+YJuN|Thrc$mcAGFXH^?l0dr4s(4vdG}C8d!O*~2V%z>FUl zFLUS2q{&H1ksYjo3?-#x5Zw)m{RBodSA8zuWGp3zXf#6^q$&;RcgYftBF&F8R++nm zV?tYC@)s%LI!y3@IEQVxJY$-aEapc^ZsW$~OI)QCG3Qwde4Y=NXD)?8sPR}waDm6;D7p3n>!)uBp_8j2vijABuAd>w3@Ed}5OJn|8%lVmup>+VPalQa;Mu|F676tqTQ+EO6&aKtnC@#O4WYQX;2?kG^m0G*7I6d^0EPZLt&dMh(!Ww7a{05G-H;BpUjSyeng z8Yr$k!nI@>WKz(lO_~X45m;^C3>Pd57f=!hecTMo;M~QOWP>9F2SVgiODF{2M+Cwh z7d~IEGjoG1H_Mp^fz_(*TpkuK%S}qjB+uP1iwC(bh+{)Lnk-Ace85D8TOe169h0SA zH$aEBkXKG8xl+#wSt;_(EbhI1!C(k;{S2iv#CMoh0V1B|qR3#*LLxSwJZhrhU|6Lh z8%aS1?SCUHhMcxSYm48>;SgyThINRdZnbX`(TgbV~P9O{uo0i}k*wa8X$Ec^(CjY-RFEOgt+Ng(ks zC^R4p>MY`o@%b=FQkuTVCKB!!kRK@^qYZN0yEd$CV5q-wjLvx*+|TOU{9nS4inqab z`fljISUw!ezZfwFZwd#)+{jTPifY2)O6pqlDB<1)S-c&JPKX`FqUgdwIT?I+rHIts zOBkbj880V`b@Dqv7n3xq<3)3JKr(GRF^2RUmy^PyS4mpK4)$;3y-tsmq8?hd4p4_-Zk(-3bNGeT)U2T`(^`y}-iu zU2y5z+sHNB1?yB>Cl-1-pakk!`HbBVYJV5T!MowMVZ?VV92k&eqU~BE3*sOL6R)CybYjFOWq6pRs^qOosWXoJXOf{UOoUtZ;Iyf z?R({AFc&=t+$)C5{r1bNV;%&Y*l-BN9fZ5->IvxcL5@3Z{1JKb-6Le4Bo8A%hCLVy z?kAHmE{%oTHt$oh;D3n2i*yb_P93^1N-Sv0vPK1ARDB4tk?;+Y=;0okaTwz9-eb_^!nx()4okSmlEz=&Lc$ViUlkq-Cr{ZL>T))=hwN zU%eg6d)nl=4_aT7PTQ3f$Qr01`9w%z2^vT>39juQS}KT6WE} zJPu%z3{^U6{g=bz2`dFUR>qUcz0<}j>ylypTw}vUTc(Ye&OlI+Inz-d;;5h<2_kF!+!8M_-grarS{`6 z^VV&pBwaM^GEC*AC!nNLdr`;ocwh{{mNujZt6ugPfS`5W&6$H`JG^p`cc;lOTr7yAp#w9-u zI;rZ_STx)Udp7FKpK=D;>-YMvQl5Mspii6A`WK0z<}?(B2mR1fdO;d-9qxX?CAbEV#MkO>myxstVpq7cfK zQxrp<=b>U8&A(h4Rgy0;Rh)-dFLk)QQ(I9Psa^n6#qnIEZ=lF67F_^SJ9xlO65k$rL8>xbtSEu+Pu?T3$})@xGT^S%<~3N@zFN@``DenMT(W+YFj3?>MSgr``8Jar z{vB9Xvt3aR8C(SG&fS=7ya;R7mqVlgi$<&>om9iU%!}Y6P_(`T~%;Rb+Z9` zJ;r!LJq*?QMNpNkB>vclab`BG>pAbSQ2b6&6p80RYh3#GlCiI8w$CMkU!$ z-oqS-5d8fwJum={^jvV1{`r?K&4pAEIXnU+#+=VDb0NYNp5%PUJBNQNiX5qBz;`@( z5MaKy?H$*_XImk=Rt6pD3ah@*qIpmE0`B2nN@(T9r} zbmZ>3u=sw$k`gK{0OzW`luiy2g^&kIqfy*dcv1J(0fr!QErdm>5MHR^ z5+<_D9ND!!DI}|$fOR+H;T>G+T@jrtfSu7O7C@d?VDt-*a)Th~8!CwN9=PFDbp`JC ze?EnE!&hJ*IRLNeKxxTm81SwwS(yJ-*r+?ax}0@4dq1e~RFO^+FL>%Du`^!rr^Dft7q2 z#TlsN8tmV6A8;k}@{uy87K7D_$6Ov*46hnhzC?M&ur=!H;L_oCXf?HZ+m(QIcORGU zD1oFl^Cwq&S_18##fQ{x!quE3FO%Ddx!0jb!}&+C2#VuliXq{-FmKM1Iv2@NoiJ*= z4!4Daq%heo$&^BtH(-8d$aBdJSUG}Kun?ilR3g=M#CH?oNNbSTnK-LM9+lAHn{bMM z(8adBI!tQ*(a|tzTcd}uaw&%&O*}HP;LW}TI$`!0-HuyOpHGIPL^Rou$&Z?DL7k3H z7^Sv^>XcD|A4QhJ<%RZCO!BOlg6KslOrmt_QNr!c>19yf*=ZO@PG<_CZDmm2))}Kj z7B!VYSvPD)i3DQbhK|1Dh{^WbFk%m!uu$g+9oBLi91Ip>qIw6e7yOoBA;g^t+gtL4 zO}GOEH+x~+;mMT1Q>K-~%HA03tYE@h1muZqaThRJjd7|ElmQ!bh(zMOYcM{%8e;pG z1Aar|;Pn_stYa$RB2DiBPTq)diZ4@+Y#DqNMPki>Q4H_3-G+4Yk;Dd}7&Goe8)d_= zpd88+$D_XgKG>KX9>szvcpYSZ>P4wmQrDA)b>CB=Zq)oWE(iSK490oo@Cb5!Ipno< z=SPVRF+O8d5JL0^aJziVrT-FsT*m_sAXxupth@dI>iE5Y5|RsGvZ+4g;E!afuP63h zMe`nV@YfUMw*&BYs@fxtlEMG)lN`ov5)zxOB#9G1h74^{5^mS8pdN&1B5^R0>X3q4CJ&6}-ol^%Al{LINpp z(3N;4>15Jx;w$jeK0?y<#C3%IUnDCjfmWYba2x~I26#T#b&?dcQCR~t@a=t+|C+oF zdQV9ZDZd8WSLK*&dJX%-jg_R}Mp!punED1Lhvyq5W#s$@Y_*$5u?->6iUrjc=#-6o zkh3)!p;D-uEKUh|G{S-ePm3vG*>5Fja$M->8EI2WLw${~34SX?9+i-H6D(EmJ{u)i zi?H}nNfUGzjQ0pp#NH;&;N2}biusUVGqh@ufzp~eoBvR z?HweZL@eo`MejIln!y&z(-=Of28N9zVQ+k z$}X{lQRGFK0|)zIP~1Bpcv04Ij8^&MxBrf1WQH*5p=KVzj~@fDaje}WR`euO>S>?dQ$xsR|R;(I=ZC_iI~Bl;(@&aX%DT;h5+7L58> zBB-{D#XS#Reu6sd^pEP4kOTq!WZDJz*LRG|y5L34z%H0BT|7wbD~uEnd%_+PIaiQC zoNlPSuNWpUWCAE$R9SY+dU2r}BC1G_F))-;7DFGqp`v$SOG-w9y215q567Jd8~np(h0wK^&3V-YA|* zEO5rcawiBoK`Mv_~+(Y7}gd?Q(uW+~S^jBE)uI?uV zc*o=`wDjOXQh-W*gVYlQFK>N=q?G#&GF4_0DYz46$*6AtmQa@gcwJ%e1Qsq0fO+6) zQg9_crr;RO=b>=l@6Z#wVGl`0{lBuVJ0Pl~iHG+DM2etNq}_4e!Et~K*in>X0W653 zC<;mx6$@aA4HXQZy`V-NH3@c1tSBlfBA_N3qgZ1S6?>vzV${TZmZLqwri%dMVfH!ft z`U?~6L{@vTDN%}h#d$;aQPnF<<>s#-_`Cg_@FS1?-nd`RLqI4Ax4uHcDW#m3E(IPD zY2yFlroUVeqmFvJ(73km1^xanWGJcRJYTA=@U|k=Yjn)>%N%J+!(U^_|8zwVzQ=F~ zr&M$CHFDLvDrAK%vLvfFn4@R!njzQjpilE2p~17>AaxuTuUuP7>H)uc2T(;lOv1;U z7xU!rJQs4XfFzyXLXyt4g4bJ8+0w$dXh}Dj_S&+hR8WiMtp|6RjQs7mg z%w2lsXF}_*%3{&dD1QM2TQJ*IKd^A=MspL;MJf*w#4-yOBUQFEaqyYgg0+_(wc&^t z)wV{XQYB`Pc7+L~qTT!UoRm;)w{QW!l~`M8WhWD1O}jcmbY+-Lkdbg+q#18R1bByK z6gxHA47RDqT1u-r3uJIT)>;}ED~K^MDhJ+81}PIaJh)_eJ>f2Oi+8Ht62<>7UchOV z$YnoJ5UK&HMs#lW`w{j7PdF{b#Iq(hE2RDfmn3+JDr;s#ldV{Y6py!>*`4 zggP);z_;q7pSDclgqF%DLrJkV$o0)MfvmNGC>v%7;wdLq;0x z7^C!|Esn3xHsJdC*aUlu;n>y|@Rk1v__zG`@~l$exf~uTjhfG&@D`hgVF1Tf1qk%}&!##Fm)$Hc0F$7qu6*3`jx@7gm5YH!aB za>76HMzqqN1RZ9dLuIo6^oUu4t!ok{K_&zuJ+8YS1~3rI_(WJVA7_DS;(Da%HWg z-q~hIRu)?2Rf1l~a6{_m%guOu+*pK^gxD=^Y@9S>AAg3^?!AAjqr53{9o#Q+T_{oG zOO-q1Z(C|Y>QVoL>c(Pl%y&oX^@ll6OQ+pg3#t03ARd&V*o8+SN2CYR{CP~ksh+GM z?iWFI>MAoNrc&)n4xXrJ*KrfvNqTl#5O$~4?o`9sM}HPbkQdDA;fI2l=fyfo7as}Y zS1%SO{ZT83o!-orTuWdv#(G1FVkb)Qfuw-DNSGQ5aa#o&sa8ReDzyn|NDEaMM+fvK zBv$&!Ac%N1YSyZAH_yd9i3F0PKZT8p<` zlb&?|P1dqb(#v==r@^F@NkLre)Q>2qJagxQCGM_kCu&uBH3rmq@77J6J*&GJL5FDgU}s`kT6;BE%z z443wg;m;PdP7iSYIE7g4kKc>41Y-mzrjHlISxyXszaq~PY5>vhBSEa;MB^!fs5P*5 zQtC7lVM7H|eX!pMfE3^6n8Ei0kjrwGK!RraG~(W3#wL#qM3YD7nRs?on2SQH15wBo z_(pOOf`ahw>oi9Y>w_?4pUoA7$6Oy9@^eMk`ZPy5IdGli8M2$B>n<-6#O>xV`R$ho zqCdkZ$}JGYHw;C&uHZzdVvhf{+2*H^Y8Nk!azr^MeOh)_MkWtg`S-9r%E@V@7ZnCG zadN5zwaN6-P(+gE-@%3WNv5>Piz3@Imw!eJQZ~?+y=Znv=1$W?mUC@)vf-PE+gxo;;!Z=t3$oXE0l@z1|@V%fwzW2x-#c~sX%F5l{XcJ z8XKn^6+HH)>!D1oOh4tQ)>}m$Em+-AtsJY;&}^-?35{uCd^hl8S9v<%w0QRK<61?E z13Xg_Lj=|LnG{t%0BrGt&Xqc}G?t}E<)NlgEsavC7BCN=7`3^Irj8r?&$g3tqA^KL zcUrQ}@^-a`HmEe-;*(ncR?J;?Z=oT_P>qK4&+(CZD^aFHS|jp!-9Tm!@9|Z z9~!A%ZCR|GInqewjL`UqJa^kd1bGbAwq-pf`%LQD4hA82JRdyH^tK&qKnL5w!q$Fd zLL#J6cbmW$+aiX9AtdMo>QGCQ~o+Ms6ir6F_uxas{ zt8t*i?J?;Z&NCrR_|6fBh#ipO_*xDpOE&8Td*~)8;A{uTk-x!&)F)LqUQkOmnh-~t z5e}2lXR|;qgtJJCM9S;P^pw3B;aL?WrDNnv>LNY^lB7#V`BP1Qb;KOLSt*E=PFRE7 z|5gyM&S-3@vJ-Ugd|4E08G$-lU7?5wG^zSKS{}iANroTjP6X>M<>Pu%1Uhl?HH|B! zMk3qOo3t>JCBS(Cy1%W_a+ebX+KfV19l47DK6f+$yyXTt{DFqTUTWN_UUwXDl=1|f zUn!8k@IJJU2DI~oW@Ly)&HWotPBd02$L;BxXx3F)>4BR&kfbP>(mG=kb|{oT;iDPS z41sn|pw7#k(emDHX?YjG1KKo$>wXqAuI&Q&akzk=cX$tf#NqD}Iow0~b+BMR8}y#t zq$}7@Mo@59)?ZG{Xhw0Pn&HMo3<@mgEQ_&J)eU3haaX*t+e{HeSU1?s@*F`d?uNH; z;(Si@l(w!A;GX4>mc>ACS3ea?zI{!FyY1gxyh?nB73h-BIlzRg_yhU+=h4V^onRvJZ%|8r2=J2(90#@}vu~oH#7}En4&u>P*_rN;8 zq6b7;gm{TPSb|jFAi$wLu}raIoN%R*o=9%jk`vCWdqG)QSf}DQUFfED<1RtLl4BTI@ z8z}jV6+~ViHca{?%fxY~(LG@}41H0A`(#S!4`rnE#jrj-#Y9-s^~rGbDbIk$AMu1+ zXKm$9xw+&u05C?G=x>bK9jE7z7k5=?q$Dex2TC4RF7276(y&uM@Kl7st>$O%q zY$`&naJb7h4!cnABJ|$*9la zI{i19#miy05ES&LRzoR+U~pdD)6$c>T7P~vYxF-pF$nU8J)n@mm^7~jL4QHNaw1-O z{wIGnrrKxPM&crADbmPeUTP`rg*I??3JOelr4U+5NMSAI#J5_Cdjk>na9-^PI=Ybp z3yF&^%~M$~d7UkGXbp7DL@1wqsi-*3fvQtsZPIYPcL?*L@FB3u6B=_OLGI(FqZm)5 zS0dwc44G{ly4F&Gnv3``(l9{1 zS{qa0!X?7Ew4oWpF!5i8(fMI$<&6mP8qVV6+Ri$v>W;;SZD*YwEg23WzwMzwK6IT^ zZhediROzg>JR(&`gHzBZC1S;rbTq&-gT72>{iGLDR*%4}J(EMfkHFwPIS_+x+6W}b zMFcC3ESsf+Py8nAQ5AR1?>Nt64(BCEW9IQ^V@evyI?8`7)6vrc{I`J;4(h~6q?@&h zZjEF;LP_tZShpNXTuTDpM>MzOx~nN5&tqt2JYt-$igfC{!0DNqyIy%mj9 z;?<1e_|#np?!Z@EH%DVO@62HB<=uPCp>KDCskjEU9gXz$_L(zhjAk*i+krYLLi(|a z)MHqpocom#T{?z^$u6gi)ZHm4Dbz0|X=KPDr92~gM)}^qcjJasW z368fqZ^Yk@Wo_lEi**#Di;ZJlFGW41QCYA8wU4PJi^WNspCQmKW=!x4O2}s2rQH@(m<{}j zOuuAfjd;YCI*rHFeCJ5Z#&5V)c6Ug9v+}e@M%th zAHl5&SSqyjA~uorvq+$ti7;DlCt$oBpNNFBA=yNhBBlFL_$1UgFA&#WuyETn3Ga-F zL4tTP30s}}j1#evb32;;5e( zGD>ZcKo(QbE?r;#bfxqucyUe|B8a?HU!#Ndr74i;UM4-Bf;=Bg;!oJpsaS-0<NKQZl1nY8VO0MxWM&X*hu zam{GWbSTVyy+Xm`f-6kUK`Ac9q{_iMwBRs*;-#1a2_GFL&lxa}ugf4I9GMN0rjjGc z@}uLvH2$P-V_G}|qa^1mg@O-{>CWH_gn>*83nG+ujxl0wf=-~Xj_?KMfr|iA>wnv)s6NTj&&q9>l+2)^U zavsdY<)3`%oBO_6I`%PC_G=zmH?)x-hrDS?gr9OKW<0m!0dKcA@k4ZcKR3#m&Gd4O zpj^oDW1Rl%$Vac%%ti^5Bb8JNE`(4vw5Ose>0{POei`jYx#RF32TG3WkC9_RrUEg3 z24_~?rEEWX_oW})dGetS%kf5PLq3eno6qVfTY8rdTamP0fmAf;KP*_b*`ZKMnZ|Ry zbN@kIBX{~y$__tIDl2?{#NaXqT{vJjRn39<9Jft`(o#?BTIidZ;jb0E74VjN+|gc$b~&}7Q47(8^-;8QAvPMC zF7!Kp)^wxRi_k$~ae4}l#lKb*EJEscaa0CW3QwXpi?AmiHc(Fk2SBtTi_yTOL3-+$ ztk?bPRG@M(#+_3N)hxzLYM-LV;zRFlcGw)X1iG*uLa9qwv>cqSC*R?EH4SvbFucN9 z=SR}hB`ivQkfo=ZObAmm53IpU!SbCzQAAKFeUH@|RNPGQ0q<73k^0Qb>b9Pxa`=GN$}x2PqTd@J70`9NRy) zAnWC)}vI13ISDyH)w*q^f^lcn$ zN)wCpjmgXNeNS0_f;PPSl6*da=?_A{0G?*iC)iBe9uY*-!+HnqXm0FUi4Ph#9L<)Q9J(WHr=z^ddc9jS*gRnPLfR&>i3DY2y{Wn>ckoK@cwC2f9UA_F7z{ z=46=gWZU7#0hq1Z_mC}bVpRfDecrz?H74jV1qEkQh82L&~}P5MvK zA9RPteagDaQTP1m$3Je z`x%Dt)5k_i^*JPX{FDZMj-}tj-w_w&DH^2A@9UoOt%Zsqw{1^t%o`%TJonS{tq2nhXpt;S&!rE z$LnDy5J^Y90Skexj{NCCOE$1pa{I;x3Tb38R`YZN^Oh2^YukvD+Pl#5%^21bH{vZi z*-a3Y8?mUJ)>IIVo3Oq5BR~+Z4F(6k%rr=~fdVP!?EK~?!jh~vV~jYpFhf+K$c2sM z`zCHi6Fpn<1U;l@ttn&+#`(+55Fn#1CwfU~?P>NFjI5y@c%sHMs=dKkXwq&gKCanQ z?p7S_blZw7`B9X&73XGoUHDT)|J#aQnAMe75e|VIV)#={Ulc(k$2huG#0JRv?gsLX zgEo|Y$k>K{nA5{RIo%CjX8lkCT-qK_=eJ>$tm|!{W$}il!VGo&0$F_f8pyMcK_`ai z8V=d?Gtj%fhBiFDrm?ASIIc}Lko!P`mb=Rvc$~eAFVS%IbSnK46Mb_b)!)u~$gK|< zD6rJv!Hp|I*K9}ibIYi3JM7hkqx5h)?AhdF#CG5fF|&fEX1eQw+Oq{|SvNh9R0kRLq~7Kc{EKnB2pTQQN&RNLD8U z=*{r}9bCVWwPG)_9ymkS_abRvHF@ttFVwq8WA|aj{Tn<&_TjCaa+PdKV94|CP;3cQ z&VHt4B^Z%^JfPbp$T#>GYPKJE@ozMGKbAV&&?}1=dP0#0@ESO^AANjUA>fF008{ez zU!2n$f4V`z2a)2716bgWuP=xk>p(l|F@x{h4q{s3CM?n=Z2skEp-~H0T6cx~~*1?cJTKOVPr>-sE`*M)Oh zhUE1f{d^c&bN!y0AHj3=HJW?`FW}%BI&uU(zv5;f&94bmnRR-rGUQ9XPYGp^P4!>? zbSD3Y&_ZPynmO?odQ^rk^!$xNj^Z3;;S-v26qfJSA9V02@Qu&uHOF&bQe-)58vL5( zlw(Rby`u}|SY;iOg5V~I+r03BGqx(~7;0Q0Q|dAF;{+?(eGE0t5_S^$+ZsZA)jbkN7+*NaSSAE1hS5! z=f>cFA=3;HQJJ_u9Y^ybg2>_oI$$BA*b}US?9mOmyCNJkOpYTRIDsS`aQpuRjLD-| z@;C`iy7r`@C$Wwi);EX-_6hRivkg}pP9o{zM0$A=N-gM5(O=>DT{12G3Y}1sO6R`9 aiZ6O7Ied*bkLNH-`kDn(0djd&cSc#{H*^wtu3jU$o_U$U~@HRG^*IBmOv8V>pc` z7DaxdvC#eqrWk3SK4F631j7792cs2wAm)+gCB!aYsGd)JqKo0S8$cr+A9#e>{kkD#gCW?(?%2yN`@oW?UC97gks@u&}L1C6W zf;_PY8|6$;%yb^ziY7}Q192cCRZY;j1g3U{n-kA*QPN`tNMjqpL$5Ggz_XVuaD3%P zo{GwinB%mABYF~Ow3t^N8DGSt*qz$prcpscydt-n?IkXl#-0^Ym)JPNZo2&mIo;dB ziWzrLnMuo~;c~uZJ@@Cx_MXUhC@hQJfQjxcEo;Bxy}GRIoUi$+!Ux`Ker^8|(;O3C zzD&@*H^A1$xUcE*o9yVO??8{87*}iSj z1J&iu_+u{>-w)yaO@0eM=<4R#`y9G=$oihz*V!wKLmV0m*RM56s*@^aDTwa6^1M8- zy=%#q!s$%r@$SzpR%QzsqM0>v=I>t0iCuD8Avb?hKv1iJq(NM`>bywzxsxaJR)0~# zoMWEvQQUaYJ|-@@R`rshQ=R{d?tMlU!b9lz$j( z4ED)zo)L1!Ue@dOvY9g;F4L_Gb-VCt{mx*)D~4>hzS9|#obw)^aC_jCd~f7oguLUL zd2+=PKChJ~rMxzKRsU)Jz5VA6cn_YLSLX3rUa53XQ$y!Kl&*X0)gFdJD)t&8-Y_t#;w)v0mN#!H!h=oGtw>(cP^`4kt!m56~H@{t*ZzByKI{4l7!0u1@@ z3dj4lzjm2y&Cr>Dzp*NNMuCDyp6H(Ti7mlFC1p&d1;N&#QnGlE)j2)Ms=0bH`%x}$ zUYzsmurrWR8lwNr2`6D;C zteTF?Mxk*MSz$}w7f%UE{7LKNt8x6YB%m-eOgnE`f}hAwu^7ZIaG&?yDZ#GveORKw z@(15VtJ1<|+}-7raeA4cuXVi1aN5V1%l4aEvOK25^gZ#gST#lW!s!En-WDI9diAEv zOcS{*QsvxJY1UJFz5QK$q`S++4Q(Ckizocj^3YT&-k)nbWu%8}|{Ta73HBC#M zl@?3tU71;Z`JMev)e}2!+5OH}9CVnm2itj{chSn)*$dz!%9sTWu3KH(^7nD$y)va-<}^!`K@u;(|2U-B-k%2r-ii4`#MR}_%k~Y32t?} zf#rPHc;wJ*%q-uVUB2gC$fV4zq1*E(S~J$HoU$`}NjZG9JWcLVGEkt5pP zwG+Sf3%Ham4*#)YIff?s=s>CwpM&%@mf})bm@P z4fU8l-lp%O@Y&10UE=y+^s~2fGv-v4lo7a?VF(Vt8ItLVy7d4G@spHw%igk zT>t4QlP$WmEOS`>6Wisr{n(c$I->?{ttVT%%uavvg;4N8o4*6a!&g#SI=t=>son-c6z2P(viJgC%^cq z$LkQgrEm1>H~-?3myO09R@%o|O`1KuY{R9t+%TT{>FZ-GLmqD`OKj$|Qk7=~ul3py zEVN{&vFG;%-V-dq{QS8Q78 zw%55s&9mcJB5P)E>WgrLxmMA^c1_J@%cF8wyH~6KQ1Dq09CEK-j85)%9O)PDS~C;5YDr~2oYH+y03NUj=c+F~-ah3DJc zoh<3;n+~)z1h~9QHaaPM+<4H+u2Gji)IF4 zrOAACmMg>h*MBSQz0ao~5jOKBU#ed9weHNeY060_o4OLdORrk`z`agu{cqLA*V)SX z2JQFvy2#JmxAF^L0$uGL1ebb%R#bw`4z2G)+!v`ToNQx% z@vHFoJUsKpo#MsMWHgM^U(D_MH4ndKtpD7&tt0UCRAbAd`rlWCxXjzNmcXJjjxWj21g3co_A$vmi6wP_fzUmKOFLG=~WfqP}UK?;gVj9U4-d}yiHXu^A(G& z+`hT2C@7NFYu?WAWfoW*z9i`x@=PBs@1|L^XMGRLQm_%}Z`?9F+hQOnUA6A52N{p{u8>th0 z@`%6S{A=@h0<<-^9nL)9y3)cVbfQ4l)h?Z+wJ+az9kA^>-Y50tyUE)Ab3@fTKe=qJ zP5ODzZ(B?K=821CmMq7EZ9b|me&F_`N9_KBw9*^Y;9&q(=UE+lhNI`WKyVF)=Ag< z!t0|F_E#J%!tdfO-`g;O`IYTY^asiwEcDE|nXfxK?Rn2$&(PoW$$P)tv9+x)-TB@- zt*k9h)-uj=dR5g`b{6im^X&ROmVx1V`PbKPJv;HGs44JqSbot!@6e)|KZcGv;zxM* z=(c&BIb{~2l-6oFDLMGQ*O55$b#FC~xbyhhF;;5y=B~1`bABu7J16{p)K~nqP0p*W z0v2W1L($UIzL#pTZ+NUSHx2k3-`DcGy6KB}(5}g)S$)r=o#cmpuxD>QX4)A)vNT=N z#;)&kSmz8e$1nVSuZDy2kAIaK-KC~JQG1wqvoh;~de@6;@#tk=w&gl(oOr!`!{>`` zLy4)!+tgK7hYXo0{8Gq@XWb0h;kLo*d*7*QX^$`N_02*~H8U-r*)Q-FoAG9;yJ)k$ z%FBQU_8+eM_&(7utz7fghR*KucGKNlrD55+>iuk+xcHmC4FWk+3sQ4e*gE1>Q|Ep^ zX*gtGdG_OXgTZw@mN%b-U-?+!Ir!8;YjyX|$fe=C6P&LHtno8!E?u_6knOPON1;HP z%deFa{O3pqw$eW?_ZfBRc9prlNa3P}lHhPs9xHa0b$-jy`U58#L>l>%f}PkR2I98Y z1&;gZ7;i}z*H?Md-#qkY&P~hmWa<24=U!|ptMx8y%e{Gv_Uz63@|xO`Zz{qy`&MjB zC{L+5eBI3N%9TY|4B?9hw(?#`)YpjLDPB7uKsa%vriVF!J%X zE$JZwqSw2Ti}*Z$*QkA}9S@?G$&2p&QkAyW*<+hD%ayCEk7Y04`=P?mM`Kp= z9Sg~lFS1)~Z@yvWO9X8YQSm+?eqp2I!sAyj>^RVru*+OR>Q}<=HO}i{7cI-_A zmc8IY+QMj^Wtq2A^u=%QK9pi8t~mYVkkB@%>On)+I^~nw_q5;4U-(8gXX_rZC)2Bymy{y?w;+h;NreqqHF5}*8V3877VlIh!xIruv~a%*}S8xU%oqf z=v?}TxTVHW~*^JY2f~^MZ#v6g*&F?y3g9XHZI-t#+$wz2d7AU|5Y1C z9Q)UVnp;I5HJVl_?s%A2Gg&v}$bq$Cw`U#SCcNsKOh~4*g|>srF@sfWUnCy9%r`fU zZ4~FZzF#8QG-R*)YQnX`r|t9wdKveEf?6kSoHW^CoRResVmxe+n=>PN;)zT z9ga}*y&aPpFnnCO&)v`RSowh6lf;#qVg)oVi=JlxH#BKi<8-UW8E1oINAy_Gv6kH0XNsOWk=u=P;$#+P4sZ@Of^U063y z**WUW$-{=q8b#~ZbcZCXOzVhbG)Gi7y|L)*@ky?TDu1C;v{w05RB}pG&6Hj8E8C)u zPeFxc4b=;B@EzE!xa^XZ{Gwa-_y`c=>RF`_&wm#~a=@6DSZoAT4k zJsls+z@N-vcx`-m{EqRq?E%-{Zr!)7*>QHY%1JboqHx7AY&D-PZQCk7gT%SfrL;#* zO?Nk}$;p2ZY&m^>#*qynGd#k5wb)y=>)XU$;JsUZOP^HAVXrGw+NL-;d8hZPi$7$y z$p&pqnj-t?%HCbw|K0e!T46a)VbqA#lkzq5d7Ne~F#M5pz0q9SuxrlQX-o2UFbYbf zf5jC&IrsgPTaV3PfYr>eCTUJmcB^N_C%0K-2^3nLdD-=H$Z-|VvV<9Gt=E?x>Ie;V zO;bLJP0qJ+%L_`Jq2|nf6}WCBVAVde3wus$^WS2k2D5!Nic7SvS=`K?v-=18kmnN{ z*IAE;LQES^yC3w#oq`YDGi|SG7(TrC=5U5$PfTQi%H5PAqg&+*ViImYt~|K*{2L_w ze59_ZX|;|=W7FqsR+oLA{QDy-hsw_0Pzdljp7=rb>cR5)OW#fIkjimp7w!7U`*zN) zqX+l3|L1h7$ulCx%(D8qwoprM`ox&t)j|Ou0-ockcTP<-+7N2j?J86}NhtG^A^;)K@uq!{SB9Oa^oul#dxKxgi>zI^-7T&yrG0nLfj5QG9HS zhE$h>T}Q_t~80 z0r|J$%BRgOrq8yR!+tSki@ZLL%r(yWHwq7#hP`He_O^JEwbfFsr}*>9>bPSKnQwm3 zcMTRw?60lA`D4{=x$t%SUawYOT=UQ*t$3YL&j*z|Lw?E40~>Gt7zw?}xAow)n^W1! zJT;Fa^}Bi=HFm9A^Wv%U)2O_q;$5GH%(|X$KDf!U^VMbLzAqiVYQK+9+0)m0y8p@( zm*1%y6}$3c5;m%37=+yN_(V(G9O5Zzjp8mt0 z!QdTF{n$cb12WP3r)8D?tW95%GOxBM56=Y6qk4v{oL|0H6^$%-i89a9hKIk>=XX3G(2D)JV3IE1TIegDAgO-FjYe1?K8(9&cV_Ovrhj+uI} z*KRfXzPZomznN;DlI5e(JxkW4zb{C*P&!=T)p0j>QLNl?r;0GO&gYvRd{G-wy}iM# zP2F@TrtycZhqHj-Y{iO8C*>zhxMfixc^CUUn><915uC!O=pB4DInL zLR7K(5-pKDcz`nwCfa|QDNw=er!8WUhX@4aQOD$~s8Qo}bSCxTcw##oIZ(Dr&hhf1 zuIo%`3dK$>?e4JoS6oB{4ynfI<}%*NW3K-ek(T&dURS8VKuuR975>Q*s!9WO*GY?@ z!g5aG!ITF2eV-}vSH8U!P$f1OdHIoOmaO1ER!CO^qHuoXTEVeG`bp}yv@r$#GBqZW zcrVBQkDnF124p!PKQrlWD>-6zS;WxHOZ<+>42LQa!0e|EpB- zkU9ML;KvU?0r&~RPY8Z=_zA;L1b(9M6N8^P{3PHf2|p?LNyASDezNeBgP%P76yT>= z5mcpQGD2pYR?eX6?P@uLbfw})IYV8DlquISsGed|#~@E6QAiyFCq+l<7}UXGTOE}Q z(d!u&q{yM3K}J-3Og*C_re67U5lQPtsE~cDA}~TFn~$V;HmXn^5Q-^_Y&NPWkhIT6 z6>ba4qQ@Im#8C4l)qi^pG_Pzt2;rw%@pz*ezXqAO2dPoTP)t{g;U}nyjBGW9C{hT) zEQ?YKRruqZ<<%>ii=nkF^;fC0)aGMvKhY6+n&e`EtJU1ikgs4ex6 zZ)8+V{qf6b1{KR`hSNS0DdSJ|8CIO?GaB4LW}3B}IfMM;#d0RqIhBH$l%p=e%&Da4 z*h`#&a)X&&BpOX%GAd52U{>*xFklVS1?C<&x0gn>YnYUG{Gm)28nAF&FI^EF!HgFn zbSwI|GIKEUuY+vnDl&cfF6IuBLUFs9OGw%K-OMB&^2A-bB5@BhlDsES0onef{u)VS znkk~3FeWd3Y$it5xy+^5$3|q5#Z*OgxlC(p`49zEPBYE08#EM@2a<@>Ocl~^Wib{5 zyDvqs`r;nWJQ#h#*npRFoyoxDr3s-Knw-Zpz=BB-f`!Tv6G2h= zpf;#XG2yB-A>>%elt5qenM&AiHHzM(K@&sUs(@Zr0JN_jMVA*aO|iv>6i`0{mV1kjZdrZIMO z^*H+2d8QyTJr8t9#NV_f*0*6C6S@hiEhLR4f&#ZNd6DS_a6&kGoWdD4O#)?HfND3| z_BSnuR4+nx1nn6|cO}qd(Gh}12PwMmBGVcBjkrJtZOecP_euVfWqK)ODVO=Tf&dyS z1?Pp2kF%X{f+mF&u0U1A!_haEetMj&vy5ql-6%xQ%b7TGEC+7|izslWoH-e5EFplM zI&`hSuGr|0yKXaKf_WvfuVBu{wvkUmn2w>Rk}>$Yf~myw71>oVjgZ78Xvnb3PzH!v z18nm(B9S3Q7gj=x1>fT`)3NS0E)YS9mzcI#dI!N6p~Y29!NXNhNWa%yVh*Fd_0uGg1?x{G^HoEQ zxqd?$)l7fv)DPmRjf97xX`N1jPF*#`<;Vz^rX#T{%t=_k7?QjJSsP2kG7YrpXe~iE zOLA!$^yCUu!WnsrffYMHGN@tNV0B94nB*EJgB(gocNeM>B2Dz6hG~c)4j55`souR7 zY)NZV;;dR|IBymOE*tYopl6?<=84e^$<;w|N}VW~qBA7@dG3!aijWD;r(~htyy9rj z)jzU_gzU2qC0pRfEBr7d)p2$(vCyEf6q5kV&IG+Tw ziOl6t6zpZN);K~u8$D})TpsNqK;T&7fxRg82DG(ZBJngsC5TssO6+ry zO$al=)NzdEEv7kk^x!zA`W8gC)nP89j+}0TTZc2aj6ABn4W)B9I*ysy2zJV|IZPwd z1DkQ23*=Dq30_gO@DA8{aB>`d?+)bUbb1`)aTm&XqF@};bQkh+KRb?jdX85FExrfF zYKn-;P(^Abyh8srFoH>&A)kAmcS88u6|8?}vrn&Z26pp25^rKsYfhNi8Cc(WG`oqZ zN>(m0!_!nQ@S@{Yyej`={CFD#`T~$jUf`4aAE{a^NcVy?$XQSx88kD=xgMQ;4JK=V zP8GlvQA9ISn9NDyKhXXH^mbdiG|Cag1^&k%k&?#%Nj5X34{Oo|(C{CVL{2;bq=4E% z+O}{qBdqcqq$KJ}`2W@qX|s`1$XO*UfbRTBN=imKM$14V(aJGOW;Y2v2R{&OFr`TU ziMrrfNs)D~IKS9GD~IO$AkU=a{bjr&qJJ+eNJrZ!@qQV}|8?{o(Gv7BsLe%^S}3!f z;|tk9bAV1wlU6}>uC-$OBH{ zNn1%kw^s5hp^^uja*7>bF=$tTmJCpkMxXv@H$4PbK35>6hfK|}NYt+6Mcua*lu(8l zYh0E30WEnS-UZY?^0kx&fp?Hx-qT&- z_c|{!x$#Hc?=h%r-ykU+l=YZtL)&+sgTA%#%2P%So`BZE9uB|e322Faw zCqlvZD-=S5PYqr92BSae&77yeANV%L)6xE?OenH--im4RgkjNK~g<7BZKd@__QgOG(8j*~s;VA^97rj27P zI)UMF9LHpK!jk02ym8D(CrsaGmyTn^m;cFsdl%%vT1&_nsIm*@!4^aTJcCaH)m_0Q zkWM$~=w}l2LaZg5cq$`S4xcCr?}ip@C&aBMsZ^|7K4Dbw325EtKx?0)X#eLh_1`NY z05r)vK0(B~z$b!gpTpqpP&$sL_rP*Qt7{w+(8HX9>AvMM3}pBS%s=h{^B;S;v@Fti z!8F102DywV5*y+ZN4`U#jb4DZ#ZRtG5FHujqoZdpAbSu(HV`WEqpV zG9ffF87x^3Ksv$KAiHJGl?fuRx3C)UA?TV_6rJ)07XIpM`1y&hGx z(b4y?rVkV0GW^Ky160?mm*BC$2Qc~EO`wnF-EMi3qQ0Kt*Rpy*E@AP;2E1@Ox5 zBdjURTqq{%BXpJfb1Cq9iGU=s_7YG-{k`D5c`sy`?=?==(F@hi=fsjj8HDWpqQ7O< z*r^~cBTu!a?BzLPs~|Z%Qgyp`~-b6H-!SD`vo|4wyX~l{5nn043yaiolm@w z0-Ix3AL2c-f&lY*B2gVEqI;JFLB>_JD0NmIel3bQ69lKrLT_UkOMPD{=|s_!;=*&m4a1XLuJ<|Am9pzcBgG z!_Q1(n)$aeYAS8UuQ9}jwtRt+x{zOxvP`BC78Ddl9bcFRv~q#*yzW=#6xt}fFeleg zq-ub$pa{zU4xXT|;7PSGM|kHe)1D@w!a=K5Va?@EXt{m^tr8s$FFa9@+*wGV;{<=v zki&~H|LBhpe6cx)Hy(rmy>-f-4(A}BNI^v;`~xcI*G559uOK9c++eFR>gI{m{T!_sazn8&Q22& zMfh)sUCU|X=p1XHU8-SETk;M<@91x)B6h}xP*6vrc0v+piz4Lx{Ws*X)|I07k1~Z( zw;P<-kTS1PkmWDr%BEw!z7)9PCnQ7aq$%LAja*8x^Or*<5Gm6(0h_&sWYaF!Tm>;`z-%q2m=6_D>IfQcfE}!&n3SW!qNrvm)c-3&@p}zHFU1P4QsP=B zm?-82$%z{j^Jx|^GJL=sZ=@KByI^$jY{)%|puL+Y`Y{ew`J7DDWLoUYO-1YH=r556++?fAS?t0 zp-dxh2{|m7gm6LRE{IRXPJJ9>4hzBDDfS7PFLVkN_qHII7ytB^dYThUBmR3uTdAW+@nP)m!1aV6S2 z(J@{Sxr);zk&7@0s|evsNsiD?nl5=*1Pbb?!eJalaBEtjItOKm;C3`YO%56&kf|OA zCF|4Ws0^b-p{S)ss2`rFSQG+>Zc2c8G*b(X@?tUEk!Ec}A|~a@YccRd)Q*lk?dkf+ zNF2N{o%P4|Y$y!rZ-zK%O?2Y$P2%`8+BR1@dLB%dM~~g;3{)ZsrE-@5tu5|jyadWy zO&3FU!!XXCCxmex9AUR7U6x8jmjs?McZ{c_*m-{v1(U*g9O0-pT>|yWz+R?~;7`pT zwSsgic`~M~5wgiy~tgd@_w^$r$B86I{wcoieyBEqmD*qK~VW09mk= zwVV_hQ&mz;P^VUqln(kWi(AmnuH>Zlkb~B@Up0n=(ZUNloH}lk!SscA?hy`Ol1W#gcyA?$*Lj&p zf`KceWF_1b)5xMgY&M*7lW!vXm2g$;?oERBpoz89Q6wg;fIO6;=kH|Tb7)!5##8+a z+<}(xVvKU3&HKnf#l3VbD&P0Y;Lp4P4zH#H)uaBMgSHOQ)hVq@DxlT%o8;9|r8=&M zR8_%Yg$d}mDvaV=d4!dau|6(|cB|rw7?X#fgLte_jw&4bsH)+!u=zBCQ$n!>SP0ut z0+jIybILES4(8s^di8UNqWs^CAhL82mZLm$)`0ZE%3K8( zY=t%j-e^GQUv5YNdrjOPJH;ZwVH06(DsihOB))Aysqkyzj@Se%3M`r`tVrn`&;lK? zsfcGHl($(6+-bDo0zovz4r+i5hA?eVyf=3fr|>g$fUb0*=vW?=SO)kcY;6(+VhnH_Y=0^RJ{%C1Kp*>I@cU)}3DzDUXm6}Cjd;TQqC#QG zag%z!A?V~Fu1t!W+4+rtcFq__|C!$5FpQ8*%p4~ho9M3+vI$w^WK3R|fz_En*JO{Q zgP6EEhUbi9U^!rpWgH*Jkjnup9FopHIgTD%6QmQezEk65urRQ~YEF-1#uf&?EYRMO zKTZa#19NQ487`xVk{n@>QZy#AJjgqG;f|hyv=j#D!3?hUki!>F#b?n1gGJHyL{Jc)hTGF*)^JeRG+5vqjUtg68r>oad%|fjH}Y=h zP^1I(h2n?}WRZ4~Lpj>wQ)!FOa!{@<#0jf{gZS;B6CAnBK>>EK^f*w>LFIP14NdPR z2PNJTl|jPF;GdN}WdH6l$up4gbXX>DvxkI!FUM0I1V!&3qwKNIa06f##GDJCm^jLq z4zUskyLE!;5)_j~3147*^u8Ie&fcO!f$kX)u9|Ri zPbAoC1T)_eIymVw6B2|@CTRU}L*pfaHiF~&S-1f)Dw<;!mJ}Ep3)v2!V?33j$A-Zk zf;P0KXmSK}m<7xb9PZD8`Fb}BoCRAe7~jmXRnsZ0KckufmOPVU#zwC8*^qeUEQ%(# zH0F-L#5-~n9ij7|nL_}1)Z&Ow!8R?VfSMDG5kZT&fDhFLh|#HPI^+ZX+y4s4Mw=5m1`lFfs5A@|l_=762)1>pDopD~I>jI%*t0Ru==ZPz!%`OnoLJl0XVwSih ziiw5|)@v6Cs|Su8Ud0vmEo(eDsL@kg7=8Ty=Vj&rS5W=sNecC;UH@Bxn&m}iE02`j zU~PMJAqRc;5$6mVhupwj@l;gehR?@}Gl{1HQgeqsF!7=|F_OrkaCg{~<(G5NU3YNf zO1C)T=@B=i>Ug#Xl^LwiJJ;sWf3R4q7fQAw?yen5i&G9gxr^-i%0~19KrM&k|x)=P{5rnsYF>;_68ltIEpUbEvbgG zmqOA+f?l7%)fPl;-mu&q}pL02>4rfDZ;}CV!ZYt1upqO-qmj?p!E(67cYWUw}UUN zy1xujwC~S9MJn=zD({1~3-ZM$B3~&f3934z{D3#o2c9?{tn-8J8RCbV&>Z2?&L7H= zhMSBbIrMlg>@=2K_~Qa-kCzmu#q|6^sIzQL2uryu zlKd#vADa91x-otx4NKu5tHrP<%{|OPVga}?I=2{R0QLMa%AIzxl7p10q?AZU&ILeT zQyZm-7=zQeJ5s7t#Y+VO|K=TscM62zmah->2f|=i8VE78@(Tg{XjUT}m6bvG3|hu7 z4(g*x!%`s#LMs(RJWF8Jx=Mg}>LT_MNL?&U00t5jm6kyMflwiXOQ1zBicmCjDXhL3 z(ESLV#HBFuMM+ZNKPhQ)pDBSvmO+A41&Z!dl$N9X4k73yU5d_G2D>7AUkV)alUAm5 zOqYX>*IJ4WSq?gN+bPhz92Rks@e~N(14q7O7m5sq1bO>8b`DDOp>x3yV)h5Pj5=bj zfCzLw#AReqZJIPcl|Fj~q(63?lKnaXX35zKTM6`~a};g465@1CH3eb^rFr2#w6q4g zvJ%WD*8WY)B9#!R+R(dPS_Jv6f^qW2JxD@!!iynbySVvZg>Xk1j!z1!K;iL=zZI-8 z&2L;rg$$4$LJ!WMHNtRJBq1(CN4l$t78IqJ*wrxTY?t7Q<MLr3Aer@A(u>fE)YRV zYvBz_j}r1+i!a91G|~CB_$o|Ihj>mxVLzcmlfkuO9as~eK_xu74uYNKMS<1pad9NM z9*Uy9fXldG8-2Jyj2dKqtp^jGt0+1rMwS;@Zvbzsw{jWI$Z}-^DDK%q(5mQNf-J1T zh$%vKBhZm)1T6!%83a+wVOd2KzL6MikStthfNjY}SkhKzQb2SQfJ4VAuzVA=V^I+r z-2|<0XA``K2`(Xk7tQCHEXwMTRUfx|*}WNZI`9G=kAf+<_ob{1YT66|Zt{U*_I;EU zCm5*HC{T>+qv-B_SqW;15=YQQKM8t1c2gJyMS~rQEwJU^F3AP_X!91R`o4)2Ge=)e z4s~pSY&>AqMkFY-m6M_DIYfiKOS1{u6MG3)A){drW48oetB@qX+(&wPAy7=|M_%<&c~*=amCNUp_+7Eo_Jb zSo@J4#UJ}))+rWr^o~*V)>z2jEC)T`1zsl|2lLamLks*Mbe!N4BtaW(hdy6bOab+EEnjJj5);g~y>|`*1Iw*(iG-Ot<1mFx6WoAonCZ7@L_y$dpiP5=8s(ehMr+ATNs&lfWbI zWXOr{5Qo)|1e#|9icE%1(|lN7gJR`VK)L1^q0B&TDd5)qTmpDvQwoWv z20C(9o^$I%WEhPoi*DWuAVhF1H*?6k?0IZP`JO82hIq%mGLMtEa8WT#5 z8_DtxLTg;;850U1*_ZO1(@5+P`0vd?&kuobHiw`_S8Ec$0OcQoLNre#z%ndCpLiOg zP6Gu|#7=|e|7t*`xswKwu53mD_9O)MkgWX3{2wD+sI}COwT5y2?>O2gus1mFx zCK=&$)Mo>h$>{MxkTlYUE1QW0*m8j|8baWgogFeshgV)&a9f?op+6nInUbr4n7W(} zsdvob()O5&3m1r>g&D+r>&j*Lkw7Ypi%l622sS7+18O11T|pexef_hU(>nqNJKd=i z{zstq7SE@E@Pa?3eM0E$^QLI=Oz6z_{EjX{OEGdpK;xzPLwbSr|Y>nI)Wk(ax z8bffNs|{bck=LsRPDASRx*VZ|o}w!H*a5T4f;`|q8*uoPJa9nWh=bTnMR?CgT=|pB z2d%Fb@ZxihqB3&Nhu3(eHXKx(59dLlP9&O2xjMZ7)Qjejls4K~00H!C0SYRH2EJPW zoo@)fxFCSa8HfYtU<&M8r3g0~S18I*m(%jjK*gAaaAg|QO*eWW&_`n^dRig$h^sp& zz}N+4%`SxD;cgPebQi+hrkBY2lB1gN1>m<^kMT2U zp7X{K9i6-YFJ<;E98dN6C`lmOm9XAXxd^E%7juN}7hwaQzM6vyF2c+{9K}K30AZ(g zAj49a&L-?a+e={qb)9^|wzU*D;ena36l(DIZY3e~I~!cKF9YN0yJ70xr=*Owl)+2c zq(l<2P;wb4{3I0irIM5kVwb}kgbxRlM37B6)RO+;F@7p72?0u1(xDQ5E{BA-k8%{W zD&YD-^KlNEcoNn$r1{JW(9%E6;qO+!GMvPbe@q(q9rkCbbmA=VSJ?Q&e1G7)nI zn7b;;9Ik;fe$=3(MKy3R>#W6~qp%uK*{aK>r((4eDKJ_CWy{kefD-blgt!aRKydYr#ELjuvK zf;%DCz#T^)iuPE-;6=x-LBLlAa2WxVPzgx{uY=k-Df)IWnDzY# zL-R#~4hW{`qz0(Ex)o6A`7V%z)&Mg1ka4n-Ra8+VkRKrnU&EEzV86n-KnxAff(*!E zLGlJD@@}SN{!#G4iJX#`5cDSwedq=ZR>H}Y&axB+XG9Ua2|71n&qUOO`iVbrvXG!_ zVaY&LJAR9p$WH!oIggM{KQ&I)eG^tqe0f~P7ITAT1ShHZI7ctsf~3&LNLkMyF z4J5%pv9-`)R2p#uSe_K$hLr;l;%HqX&crlph%}^%BIeD3hrvBtw28#T^kTLq_1Dd}+u4DZ5ab0jND!GGGp9hm40UYDl zKw@`s&KD!_5dikE7TMj!segBY{Afe6j)8bmlo|h1Y2>F6P9P;bLA8@q_)za%7)sd` zrHmrl7=p;=9*pwqZ<1OZ>e(%ZB+6-qesJp^jF}Sm$As|FP!pKg^B+lRqPlMA`kR|z zN$1-&MoFShLW}vHq$VNTW95Z{GA;;_y4*LBIB5)KGu+yVN4X7fg76^w60_b@Q zynZ>;0yFRuQ3Cj2y7I(R7Kz`7bzX{svLJCW+yGNm7)MvP!q6~RnakK?F0fJIq!LEO zTFSD-wMY@v{T7aN(0z!*X-1SnGfNp(B}`>FBIPO!5eh*}u7W0VZi6M#CY;My!)Gqw z#0l8L5V?SniO8ZIyymmwG8(9esmwpl?B#YaD>a>~Ku3e^Q0fP>QTF1b=5 z#ame%RXl(dZ;jhH#>hii0-b#Ztu*B!7&D&FmB}Lg8F0aqEZ{*x78yp#TEZd8(}&<~ z*?Nj$|3}=^`VUG}wt>soV;kYxHQ@({MbP{IU;r)JO)$D>`XlfoKb`_dAHinjO#%fx z5|tH^@?$W5C5d9f9z!YS?x(=zRAsnNMu=CZQcU&}7yzFgP?kn6Pk!o^C`4+Lngs^W7XGDTxcM`a%@&3@zh2m&!7Yf z&nUp|P}U)qX7HJ82bdg%gL*;-XaUsJ0ngpGzWQm zfvn);gbYp&N!jC0IA%-7RLBmAzSC4hiRzX>o?Xz7ss%Z`aW_Ps8eIjhbajL9Bq5Z8 zOJGDVMj+%zOIu;-G(_+Ma6jk|KZABdVhr)2!`;yDS`}5sb#R=a!a%>ep}V=Ojpxs* zs~Dir=fIb0{KLzjo6o_{5%?GD#|Db;xQaOO(u@;Draj=w3bQc{SmeC`*Aoby-*SxS zL$y7yu)AzMo>F`PwbExZo^r7R`*6FCV?Xr;*a@;5uTf*K0#`|2KwzjiAmNv=LeF$W zGl}QDxhUo(PW=lTg_E=nGJ1vU(bfPeiGW(z{t9Y= zcRh(FqVNrH!<0MV6W=$g+*_|ge*72|wtmgp{~7j)Pp+_U>(RhF{D0>u@+&o+4Wtmc zOREZ??AJK;xgzn68Ro|k5&tg7|BTn9#(s`Q|0Fd&H1Q1-zk$QVZh--O%^L_%{U|B} zVC2x&H_#3}Z-_{a=F)t~FGfX*l3Bh5SvGr|EbJ|G9K+odQ}-5DXD72M@bj382vUCs zxz0L6FtV^ogNBMAnEi!ZMhI2Cg8}Z@S%UGvTrW_Ph3~<+=am#Fcn|x%;p+sDL8I?+ zS8Ua73b1@QGnn>TV9 zxcfy+XC(qGJ|y!MUhb^jO3Ds@gI%xdS5R)+Hb$^wp`yV<1I%mtA9faYb?2YI=_vRc z@s@G-7_lc_Rh}x;hi~9s${tdL7=!Qzc6lNNs`shFyWl}E>zYh4ErSqNI}UOI9DW^A zl_l;2{fW}=U`zt8ixKU=={vk{ZaqQ)y`%8&=D;-&1I#6hVvL5M7}v5XAd#yog^Y4k zg;Dkp=qx(UrRC7qA(+Z8o#ZlV$ma*>6z6goxTWy}sx&W;%Sa;e0#$w_@e>p+&J(mE zn*S5*Ji17LiKyr&B=9JwfcP*}58ovM=%dZUFyQJ`6JQ0luaF}M>(l69jnslU2 zWv_>LXe@0s%EPk8%9s>TW~oU~W5Es#bPgL+^e+=NX=gO_E31=>+eojquG^Rf&u&*|fI zjQLoTu&^0ih94#HL0+bg6!VCWWr59hr2vbcWyRBkB>7pY2=`DEp~kHofY@v3*@UAV z{47{EFX93LWGld$f?fN+vaUNWs-tVa+?!BDk>1O)%Pz|<%b;RM5L6Tau_7plSTQOP zD>g*2CKj+A8-gWv!7dgQTa2;C_+pG2HI`U{`o)@P{GPe@g82H^{hjBWnK{$Xv~&B( zNNze_C>2^jE&ae+$SaPh2G=0C^*5o~wjN}OY`G1o;aSl}OBQ0*hNf6D9sSpq*~=!X zn-%0-G|0<-k=dOZ@U$1D$E;QLs(F~I#6-a7>cOJG?ZS4H5Arl%ft~* zjGG`6zfJVPvlVNUU`CFN47X%@g~>Dp2jV#*84AOq&hvqTyt)X# zEl-A5)kW!Un=TXo)J2Pmn8}H5!h?mp#bK*_u@Cl5UIcw%UE3Xyw6ZH%;zK)5L*|1G zgL^j{<-IufBP8Cd#dD;7Hq2mVpy&0NCvCD};o^#wAA`!Sv7{IW7W$Cg5tTco*JlQC zWi?e=pGAnYO5xSBWv#`m?-c6%dLI|+brFMAt|Nmt09%IJ{Tmf#tIa-+blnzlP2a3Q z8apI^cb5;Xc4T_$ya%13&<+A`_9)PRedv8HMqs3tB6PJ!g#Gs^%nN1c)7V<6OSaw^ z#z)yRH_`CB!Ys3At;Ddq5@n*&d#Egv1ES8nuRymRAoN^7!kI5A&5LHn?c1z^TGJJegAnPpWi8pZE?gmlVW-nmVD)TyvC>$#%?!mO3%nn*}!;g@TYGe2nwr-DRHO!dokDW%9`KvsC63 z?#iqv!vzg96}K`!g|E1lC|Y;$EeK})Iy&+etNCT}t_6z6P&d*`oHwO=4bO`#{ZZW3$u)>84fjWtoa$49d`UriJpXRp*VmG6 zWL8)I|M?>(%d}6WWM6zzjxz?5ZxB<_5bz2nHibk1%>y#p`}&Bd)2 zP8{V#8g8|4!ruU5V1`W0oooiq50F1*2N%X?Cf+I31;Xz-Dh&55&byJ*G{g0GKQ$Oej~#c!7M^>#BCccGbtE- zBXOQgJPU@2@GPGb4M`e;`!rD66W_fQo_f$X_)0sa(iW?`r&?P2%8pq2rH$mS7C-en z!=1kf?J>1A#~H1ALnS)C>nTj|r1~wH6ZNh}r4{W~Pcm!G-2c~43{OwE?MY`FGTDuu zq>+smSv68LdQ`+b{F-~!)@WGTxXjU`KGR9^$dc|wd5xItkwwbP@=t<}8kqfgK*@i~ zDKBgg9?&>^wjk#ksa}5)%jhAWB`$6Fs`3B8ua9az-w{~N9k+B-xK!N2uMXV^Q3_4+ z1Tzo3OT~Up0mdtKMik&hNgUeBo0B>01^_jcsuf;8!ezl4{sar!khz*b>^lZzBM3^5NXt|2UG z{#vyqtqsG9!?>mv{DC8;wH(1MfpsVZsj%jRBeJ*aYG7P44o9}P9OOuvun!kyTf)vY8rf7?Z;Q!xFmF2O_g`>9;HP~2o|(K zO*!AkyOp~E-o~S3Pjo~Qh5I?zkG_aO z&6_HyK^%07iNSR3b4Df#W6;VpS7f4!6HBhiM0hO3BCppF*0eGf2JW1jwUDR3AxF}| zq*EM{+jWQYItt6*%Q6e%SQ9Y~HP1&d%I(A~s6yjs&U>Um9ND=O~{e~g&orm2%Qnqxe3$$;ZTpQAKWlhD7eQHBH zQ~huT$X~v1?g|ZAT5aazu888_^x9DSZYedtLUL}ALpF_}7sF?jpi#$7G8{MkMVnF(uI+33JB9T$YeH{R z&~I10#r!SZ(OS?4s+r!QqTeII*sr1OeGXNA@S|W$E%uMiwDxi?nx_JPVy@-5hQ_5r z(~)(ww9gupbu{967q2Glz-P?A(e)Ol$oA_`>}4~T%(pQ1!@hny&uA!!(o|S zu+}I~#jgF4o_Da8%o;(3k8cP^a=g5Oga>hdDF$&@BSlJjI~Xtk0{)E^=;O1%nZSjT zCbV_{>mpogPOk=Fu-+4{rMIoMxX)^V20CgWL@L`*{y-?ZE{1Lm#FX*8GpFHXqpP+q zpNX(Q8w9cN6v`RIItwoc)5Srs1}=^v|G})Cuy#CU3`VfT9RBsBtAkF9b? zqv|U(rOF}b4Qp3_ghIth-$|4TKV(ADcfm=>FlfDX8%l4Y4KnxQDyJTMM9<4KZ3`4X#D`X^f82088ah5U+S=>Ji!~4^doaiEi z{UA$(|DrXgqSMHcA}DMRu#EKQw}83?!h;->-@ zl$U{`?t1xC*qo{|5Z&F%8rXqiGNE-Q4rX{^%+G{^nj1B2YZ{b<`OqT^X%yd*;rJ}n zm&XH|p9L$i@=v;!#X5=;{|^VWe`&S6TNy;FS6YgDjb0$t)uyjeS2O>kqcdhYANpqy zs_!KrVVgj9Be4Cp5c~ThU;|yPuOm-89g}UK*CQY@1-n2aq1SasT^+trWlQZw0v55w zGZOaCW)~e*x$3lZs~cF4I187^%txVd+IdpKD6~3*infhn31Tl_32Y5QmvV-`!Lqp?!oWYRfMp%x9I#Ted`uzPM6tn;pQ>v}qHp{gmZ9)mG9 zw3Uu7bwm)Wu`Ep7)moua#$x1~8!b_ImopZn65UDRJsXS3yKZM46{PB%DLk8ni2rs` zs5#k~tm67elvXZ@x7kSU&~Qo{hpI4+gU#~G2u{R{ug2-9#RQ#!Zj3`E_Mb#n zm^9xcMcCxqIx4=SbN_tN#@A?_ajA5QvPP2@o)hotsN$Z^iFQq4dT}eL zXZKKK*wC{j`>9Bvxt%|UyeV#~5{^4C74jTNm4~g*;;E>py%M3Os;TIV@vS*0OwvqR zk{3sk-82}J3-cg)Ng`DATOLIF!9nvh7AlEKv2Mwv?b8tJv}q8%DG^Ga8L;{9l+vmh ztb>q$fc}_)K2vmvLT18%*ilZ|GqGD)_Xt(YE}H@NC4^L__0egSHK%ld~}r6r0HX8zx_zJL8KmLQKB)BJB)q?nE4 zqC=5-S9#O)9S`zP8$E@$1B8aDBoQ$OC9yY(Qs!XK%^@03Q&^4mCYDWml6 zRIwE;&?X;xG#N#PeDr72SUr86t#_um`REI;$LXo%1U=U5HCjD@bRFBA>g-VF3M^3r z3lK%;In<#5oi%x`o{Hz`)k_W`@*lvdvuj?B__NJudBF>r^w$fL?pQ1+rss>$>cSU5 zH|UiO@4!XS_v%I&PFsX|)_gA~JZSeKtg`OnYQrMd#cVY_gCM0WhQRHEvUJH} zY$tdgmI?DESWX5VlZkJR>+5nyc1k-Ku>@&&osxOie}qP5i=pUw4(H;A1lJm{v)r1n zyml9EpW(10B@u>e%{iGEe_n4*CGfQ)wmh$=$rlh})&i8Q*;0g9e387CV$|OI6J;%h z89NPUvP;np43&DyxQeDp^(FGEYZb`^e{uAwfaO3wo%biYnT%h01 z1@sNMCQ;5b@7Dl3`cMK*?yf+x|K3=#5+?c|Hz|H4`ghhXTC@^_y~iE8y^?h{+e)`q zqSRvxQMNzb=a?G>{ecJUC55Qt(kC)vT@`@e-h78R?N%Yq(|^iv)GG9fQ%@;(6~>#R z&*X)xzYBt_o18q7C! z3=~?|przrfp;1nKiE_tDoB_VuIOJ$=ps$?_j!V`+N0XyONH(7m%U5d!t88H0i92O8keic4?cP^Hm8c(emkX)RXA z$tH=?(3~O&M6ZLuqXvpV&N`Iq%Z6084(9#Y#s;!&ipY_!L5yrFQLePA8ML3sp%yI^ zXh};HD$+BE&0891QmDb7o<6DWA&u5U;rrnfzaFMmas*O}Gz7?r-v&!eYAZqB&38!#&I%QppC4L=g3+wj04P>qvb!q7n3op{*Oy$n!eU ztBq)8Bjc&fCajh|bfMXs(CF`UqhB|%e&YK?14Z;Q`0+;sut_#!;MkB#`I}*myv?SY zo6)-_782V6y8b?zv<355>H#{r1yOH0NcFd36pk;agsqsF5)RX9{;fJfPqyMT_0W%o zC1(wu~M0w9UO~NjSetFJF(dUi6(ljx47xH-Hf{}bL8TAr!mLuQ)WTZMj8$IaI3`FO+ z8__knLczN+9VFeNtlcOp%X>zOy>Hai%E@EMiD&L32Y(oy7f-J4ctLv*yzxWoxCd1= z`w127ficESJ85G-tI9}y%P{y>?Lli@T}`pQ=otIoDm+jYG;J?T@8ADbpbLAk>(|kO zQp;d{`Rv0?@tu`S9NCAIv-hF&i@j@*2;pS28UhR77J;_10oA4q+Wp>=^P+`E5sFM1 zk_zY;NW)_Sefc>(HVpP7b6>^>Qgr7)m3%ri3XrfRf%5lbtQ(jZNSl(tl7@MQ17JPv zP3!<#e!=%N@c^1{#%cQT0FIJgU8Z^m(d?dGp&tC3`3n^ugqdK4H_HdngofS-q|%## zKD^Btghszp_91lsHxB|S^dS;>cO2@xJ_L1Q9|ltXqd->*EQjFB$COx(4%WYlR+VG2 zEPGBj%F(9AzYL_qukem7^f06nUsL*FB-Z$E+Ikp?J$fHVK_3DY14wlQ-LJq5j}({# z?SB-6vu=KQVaO3=XQ&{n1{y2ha*kdje)|T)uhP@$!U~erWb1EP^v@R!{ z=w=1deSxdyoQSP&vX>fM(ow|y)`p|LlwxbLpu(ew;a51U;Yhf>$%YQqoO@dygLGrK z4B@(GX)hS7;iOjbg#?n=QHhWX5!GwV$M$+?bCiv**skog&DxRq(>f0BN Z?>}0Q{eTNE(, CompileCp 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 @@ -443,6 +437,28 @@ public class FIS extends FclObject implements Iterable, CompileCp out.append("\t// Show results\n"); for (String name : fbNames) out.append("\t" + name + ".print();\n"); + + out.append("\n\treturn ["); + for (String name : fbNames) { + FunctionBlock functionBlock = getFunctionBlock(name); + int k = 0; + List outs = new ArrayList<>(); + for (Variable var : functionBlock.variablesSorted()) { + if (var.isOutput()) { + outs.add(var); + } + } + for (Variable var : outs) { + if (var.isOutput()) { + out.append(name + "." + var.getName()); + if (k < outs.size() - 1) { + out.append(", "); + } + k++; + } + } + } + out.append("];\n"); out.append("}"); return out.toString();