From 97c35707e4f33f6d965118e707dca8d71f30e3cb Mon Sep 17 00:00:00 2001 From: green Date: Mon, 1 Jul 2024 23:48:39 +0200 Subject: [PATCH 1/3] Adapted the block producer to react on the outdated transactions from the TxPool --- .../state_transition_bytecode.wasm | Bin 2012033 -> 2013679 bytes crates/fuel-core/src/executor.rs | 94 +++++++++++++- .../adapters/consensus_parameters_provider.rs | 11 +- .../src/service/adapters/executor.rs | 7 +- .../fuel-core/src/service/adapters/txpool.rs | 7 +- crates/services/executor/src/executor.rs | 27 +++- crates/services/executor/src/ports.rs | 42 +++--- crates/services/txpool/src/ports.rs | 5 +- crates/services/txpool/src/service.rs | 11 +- .../txpool/src/service/test_helpers.rs | 2 +- .../txpool/src/transaction_selector.rs | 8 +- crates/services/txpool/src/txpool.rs | 15 ++- .../upgradable-executor/src/instance.rs | 2 +- crates/types/src/services/txpool.rs | 121 +++++++++--------- 14 files changed, 254 insertions(+), 98 deletions(-) diff --git a/bin/fuel-core/chainspec/local-testnet/state_transition_bytecode.wasm b/bin/fuel-core/chainspec/local-testnet/state_transition_bytecode.wasm index 9b14f5112ce9f193c78e7fd3a155f88ef4510f3f..2d78d37b6309d17954fde7aa111ce1f967e72ec8 100755 GIT binary patch delta 132982 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 i+!){X@%Yg-xrAoVL;Qj&d&p&cF+ zoQXcZPD6?l|Gf)|gNJHA=OFdgZoEREZp%$#Rte0VNeo!bb4OHaNNA3CWd&{D6^@EB z&j%3hjBrmQWR3fw{S|7u9oLg)~c};Xg#wn|HvN}%9?OW z6OMMqQP$wxg_a}ox9~xK8gRZ#S#zsu%;w5}SyhV$hl`swJ$067`5&rk3Gsn8>Zq^H zZhh%o|8MCSgYC~d(G>nu9plLVK*wmq$9xmc<9UH_)X`iiO7I(+E7Ndkq-d@%4@*gN zwe5RxT&M>}a!QR>ERyh!l$Cg)xe{KAK3j>xd%%w7`j0@ks70RCS>yYVaIJfwHqgo9 zt%Knqi3nv%Bz09=^wGxtb9+EC_J3jyaBc9#>mWA5*5GoZxlq80pjBi?4%n&y8MUY-wvn#Y2(+{uzHCsq z)nK^?|FRmFC)Kz-TaDwPuYrDM(sWRL;6}nR;s?X zm9FwpDf$`)rh8n7SgEgJU zqKj~=rM$~aSm9WZB4)O2fKCTdHEnJB^G_VSgP;Y)v8 z`}#lZy$O6&#j-!1K9gj!oS8YZoPn@T79oI;fb1YJ$f}}%f*T+xZovf<^}0?FP*j9~ zK%;C?k$nk>G`kTIQBjtQh>99;LjeI%K|uI@tNWZ;0@ru%yTA8&@Bjb3kCHQ|y1Ki% zy1J^mPj@w~NQVB(`y$UVI@T@kOL>#TXX$B4olLN(4zay2m~4p^=Y0`gzJii3rM#~( zRsRdTuUI&PBnlUqgc!&W-RO+TRzd&Mysrp(UvdkKj_V4PMxaGKVjP3>ze$aFve}rr zI#l3!Tb=%2IPKDr1}S;3m2Eb`Dle}Ptn%^-^!y~R-kKSFn^$k(G^i1!Ih^_QDv_LU z65?dB$8kvUS47@L3TvITDF;InHy)MK6UK2Bp5Y_}dfI}ZycDhkucVYA&er}xdj-K# z)z)4^d-Z^zuv6B)#Aw(?tb$bo*jh*+hYN#6+G3IlzRafwu)6|vQ4*;t+_{EnBN0iE zeBuiY@~D(!<9u`@Mw~V*ivpu^op){bN`5-LK_ zJZr_rl4P2CX}{(|;4{Kl6O!p?uwISV4e~WybvS;n^T`vFX~XZQ>eqrU1ktet2~5OH zS%&J_B=KZGlFc$ZF3> zGh%&ulI6$&1pgO9hXOU70Yn8lqKppXDb=OdMbNbNXShh!P!>wdK_IQ9kVi(1QL5S{zuqeaT}|#Uu;*FSUTA09Yho|r z;&Wmy^~Ez!g~9zlBA{Q#9yF2&BwmRfLXSu0qd| z6=;}r8skEqzu5y2c!G&{jDGq3Oj?UsF(5VM57vgQf`AcECm|#?2^+y@;0!%|es7or zPNVM|CjH6eNM~mm4gP$Z+F_vQ@$gz-C+bmAJ(WB0Zgs8hY#Z8s1@n> z8~n5)9e;tJ6zLfC(-*~D73COjA0j~oIS#*rp9pkJIBW4!N;|z#BTKawNpD<4!*#DT zuZq`Eog2YGT~()zik?SS9eub2hShL|I-VE=P-}8fRHY{d zi33+(p?t_F{?3Di!gmv9j8`neP{3G?b_61}(9U9f&dkd}Z?Jgh1(=X=7T*~FVI;8l zKKl{}eC=*6xkw(UtByWUP7tIRr`f-Q8cMf{ky3tG0#wIKL1(hN>4Qc({YvUXO*xd8 zP0G*Fndo~zFPzkMSnDJxF!^JW zjZ9+>cq!#XG8TQWS*2Anpa4rjalmkTU_jG#KXLaI8Be7H=i z5n@gvl83HS*no!Q$gyy$^iY(CF3m?Jg_n#wdC?_gws4KM{ES#kPuN7|V=5h3LNF&J zmDCl*tW8tSC8V*fbwxKuU~{c0Sg>Ulrfc$ZTKE}Snrg0XMe`{k4@!+}q!crpM*x^) z=_R>Dc?@{+O}G$qxwl{lt^|qvRRsmd`e3*QOTBO${}9Ra8zB8 z6C#xWr2&CPq*@jV!Td(m51L5>B^1in^16};(?|&+3!^s|kn`h_-C8Kb3nzN(@S3@L zdgKFG8#$QmxD^{E0NU3EtdRf=W*blefQv>qIr$`i2P6PlY`{?oz~Ht3ShS(c%VFDb zG@XEZq?vy|?=~9Wa-7o^j}nY1H)$5TpfM5W}JZv{~7I($KQC|Ac}j)=^hgQqTa$ z6g15|XoO+tg2fw%#dC8USGyt%U zoR>_if+=4Ic}VyzSkyGqPy=k0^sueGE|r&H(Y!8|mtfJnmWu(Z>m?1DDruoUM{!f* zizCZy!J@^btKtYRt~g?Tq7)Ms&J$!_KE)g832xc~8;yub8>>KpB?dJ~3QfFA<1c#` z$soqG+7+ECf-fdNRab8tk&!GN%FIIe=u4;a4{YI^UKeelsTes3Q|X1Mu5DFW%W?_` zT<1KefNU%YlkFU&YKYO3Ftd)tv;sv9zpxvY8LEQS@|-GgDfA?Y>+{!ET~8s4o=x>+ zlOsu!pYSITH?NXUm5Yrm<0}CzPj_E<3{Z)M~|b{XZP~mAfJ3 zyl#l~LWBa2{G)Dg(;f$mP%}Ig>jWm;ZsK&Eu-5$oYX2wrq)^y*R#N>GbOJdjN>2zs zEJr^S-j44f4o3&My)NqOLvnby0oH<*Q$`x(K-4M2E%KmL`f)H%@<{cC2`4nTeH1j5 z@X1jH6>@3l!jeR-$|d>9v#$IuAWsp%9Nbk30SqZHmPsokhH^UNkbH>WJYW%6?ieMNkYVj~Al3+L^2BXGGSfRAwGB3d(H$hCx$udV_vX1hkC=hEU zOhXh0x!4h`r{&9?_(AwIQsejr2O!6nh>RYP&6ka2BH~1uu$CQ2~!K z!y4l#vSCu;c@B#u6A9Bwf}w-s=arH0mjJ4XCFzh#?h0I(#2KXofIBpMB=)KqB`qjf zQ_4^96C1!tt6GYxv2s_)gAChK%I)+*79+u7sTwmIAoV}%s<@y5+@YZA1uSZ+cs8Fv zvrA2nUZB+l>J7M9ZK>nPnfpg` zTjzOf2-P5_#5Eu6ZGHY4AH-{wuhKf7awig&`3mJK-_39*!=P|N0p60kCEgVr9`({ z6p+rPrmj(?9c+}&_ow%YG>P^^N{Dd{YMMhHbuJY03 zpVrB6v;luf5|Zx^kBzH~I=DjVANo)dW?1VD+js9Cc)lDGJDKMFwB{?_KY7Eb8Ud=0 zj3O*Zt6h;9v|^^d%Rm)iaVmtS(3qgj2vP(w3^r12db*|8KnzhveW~4_AUdE-5uQNr zcD2ok3Y1Y%sY%csqJ(N7J&FO8B}ymlCa^Cbl};ShgMM~| z`bt3~PsW~IP!hhQlVDQJWe7)n3XX)4)KCiK$x5NiOszXK5sjI~Am8EEFXeSw>TRpj z&eQABz2u?E&W1;z_B$u@CtB*=(y@b!1`0BL+)}UQ_NcQkQb+9a@KY`IOX0zjAE82* z$o<4{yCfjG%$2719o5YtoA$s8yZ4F9~ZFx?& zE~Cf(n{?w838r3!ejbuPgP^z`t@B2tX2dK+HUXxPsTfdHG#zZKhc8aj(V{TNs1k9T zZPzROl7vvFMo;J{n&kd&f=9Q}D!AO{P4MWp97J-Znj~u}A-Xq5WsrS9@aX;=1(%z@ z2~H7dEk_U=jStk6)?OC*PZEz+^M8Z-f1mh30`+o>Fr@XZHhK`ZeeZ6gH;Q;enTxUC zMQv%xl>1@Iu^$HgMc%|#*dUlN>pPuwc*BdGFz47vY>1#wd{SlT@eTvI6!vPkG&(Pn zP$)e_YTI%?q#BGUy;PiQsS)TO<9k9!5$FM9v@#;{`fq&Q{WGTxMh|wv%YeG)a+K3T z5V}De;)Gqc5&@@D0kn4ET75{7nJl2v4Zy@~6(>^xt;mV?wIz86;vh;okHkTUVrj$W z7k-j58H8UOm8-t069nVb3b>U)(nF(oc1}*3xo5KkDIl93otrPicQ=M?-0Ob*omZ&)Gu;6`76Mr zj0v0{1D^qyv>Jg6CAhalA7!alg13yJj|G_eo51CmEnCw{GJ^+d;v=#LS_W_^P)*Kl zljz%eGC$W&zbXO^m1gN2B0FjURKz`$h|d(5wWiX3U;B9KGqzWOo1tXbV<~LWBNn!; zkgMzPBBik-BO?1sEgg`bLMoJtbls343ZOe7EQuS}2rFd672D*(1HtocxZ+zBE~i9P zj$)kh?xF`O?4zl4)!`KXo*9o;sRp1+PtqeR5!W z8gd$YZQsH^tx8=FQX9oiK)^``zI9x61)YFccistzDPcYD|1T#Q|D96?8N6*ry=L@) z0a%Cm#lLejmP$}#R!S2cft6;S;A)6R;Zhn19+PPrZU{^hJzzjbW2+w{J(?ZpD38X5 z_rx7DsKq;8rg!@9J`!7l7k1LqBLC`n=a3qzQRAOPAx{)6YWS0s&8MLlwfRZ-Y2iif zJsdM=7s^cMo&VdZ=e&Zs{7zTAwsD<-|){IZjd5DS#a>jKHQ*sUfQXD<&5h8 z9&Y$o4x|3#!wr9Z7}Yx5K*t#3rZU#yhDwJ~t-}oiJX!}jX!x)loIn&WD54Y z(%hL+;`|yaO-8X%DRG_K;3~9xOii*&KHxVqHbYbol?`Sq{?vPOSrBGKeVJ(uCx_a=QAW3TdyZ`GTL zOZ)2&GqzQ{IY56XnY}6i{Mf-xh|{<03pI9H%)LuD)7UAoewbcG!}F5|^jXR5qnqdoy!>hX{Zuwt1YXe1WK8+$Pr%WV$^4!P zdI*n#7hNVE1Dm=+eA5KI9y0tqLBECJ+3Q99Q>wn+6n&M(mh=5n^$*#bV#!PTUWfk= zIYCPgZ$a;4+hQow7$;`T(Erp>)3j2((80!wt*_}DQ&7wV8u1G5~CWzuidOZhPv|y?JB3dNcEz>(tL6MbueKbKVSc5fI zHj#g@R==4&C+e@$e{%pFD%aB-Y_q8Mj&3lIitbPsn<{fc8OCPOZIk{bLu#GP`l599 zq4@hYeJAl{&Thq*b)QSVocmnzCG>?(e2KBA9e?f%6#Jo=_Jv-P;kkORK3HRWMXj&( zwhs0NziGezDSKO7@{Rti18iFVy?&6fXZidCK!1+EcR(KtQm_3{pU&7ge(WcG6nj=Y zbWmS_SCM^K-^-Bc?9cko8fZLxOmDC-agsYFADtdq_|Xqs)x;p(UQ1g#B-PF8q3%yF{p~`dMaW~flG?!_DftHbF3v! zoC>%EhbF4&X_?_w)3L2C+#o#W%eQF_lqYnKfb2HP1oOtXcWu$wOXB*Dt|v$wc6WB| zPGc|g#aFpnfaQa(b`^5-YS$IuH-4uxCd81QuI5DhtJk_7WLeKjex!xV;dO(TSn~v1 zumCYu6!vvp&)78n>~*etkp0AUu0h1w8~VFerLgJ3cdM%k^G&zenTLGklAUb^yY6Ju z`Ru{2hEAD`b4eE4jtzF@rJ(9yk*hkft;rBqKd^255ZCi4vHIPvd~l3+y4RJ>X7JnZ zb!}slMDzPx#To3F5RbSZ;L16yhYx|+=3yKYyB~G!WJsO=xT_$O9T%TH<9e3_eAYO{ z-8Uz?XyBim=%Rt2z(X4UwfW!|fpA>RebE(Ucy5^FD%04n;y&)W%fXiN&t7(Y!8V9D zr@3C!*o)$ZnJ%b_Nn+hB*C)ioiL+g69FXZA^IVG=m~(o*>s!)<6$@Qe(Xc-jy4FJx zibXCLh@AWGVpmF(;fNs%mf?Cvo8kPc<*rGL^9SB=eTq?Y#R}KMRK+{1Tnjb-FP5;E zVU@z9a48V>5o=v{QI8xfcdbcrNkfRT4mgU8sbcwN685Qf?_fe~3HzD%AnXaa{I)Hw z>`I^)0Rq3?+~WEX-8AccwE8)&ec(FGrV2>6?53=bT+8?zw|kqI*3cbh;?4|ryJYd8 z$6b#_7E{Hp)_N-hn{9^R9`vosP{3At%kzOP^%my?TjExmX&Uh~5!ys=Oh9}Ikid-+v$0+n4}3~u7U~7(msy}UN(2U|&_;U0 z1Sl`_x&uXu2^Z@P64GRa4fOiw1MBPc&Ii`h^Unw7>va==yphjcrP`me=sG&iK;Ua% zQTUbDpiaUU8Gk;-Z}z!^R(hU}OY>y@GiFo%>PV+H;tOCx zoe~(*5dl~tS4iYs3%Ryl%Yu)5oeHtx*yV4*=Sa9+cuicI98m?mEfa`ps)OTg)YVu7uaL;C?!KAmN)Nyt-lW z-$&cqWy12^RFL1w;MK8TT*AMW8LC)tL&pYQ3IAQf0~Xw)yDj*0^Qj!ug1c$yQR2^% zaJw9rN7vE8(UCEdmj&E`;7BM)6}|Er2rKX3jc%`&PG`FG)!bvKd0xoDG<0 z+SPp}i$fdKLksXF$xa{Prt+_g+*yv1#%%F*H}}ID@Willjt0y*4m?aTe&sKuIk9_W ztGhO@_{EXRe;nvG#1CoC8f?l{?t;q2_Rmno)=uuV7)6f1N)>5SD61~LT$5FYU|R-# zgQ~>%-se#$8&W&DFO|~Hpl00O=RBkUukhLRT}zlFdTPMD^!f{6uDHS7oz3Gc=&Z)( zi5fxY#Y}X*=>mvvRkezg?PX=+*v~{`?Ewnc;?6G+CgRSlf$qyOCplaLBy#f>$q_N4 zZz|q~-Rf@2W{df?oedfP`{47LRhX@6vifVL7<58%<94eiRZQAl?iMJf!(Hxv=k?+T zbyNwm7pnv7Y#m}%ox9^{<+JW}Lp&xgOYRSh5qE+`{L-O{QrXq~rD24?mo;<}hNls= zrNsm15j^D{)o~WRrQ*W^s_ppj3vltCCUKNyIYy&%UTH$u?>`)meVi9GbG9V$O6GSy z;?9E;Ueb)vRy~@)gh-X-6yE#^cXjp*fBPXVTRiZD8#9mJ`JmCxx_nkYr!Gpel1=iF zX0&x)#Kc=8+=Dcvv%Z?28;w1wy!9w|4ei8eaZ?9pea5SFb5<2YFL$OhKIut!Z+^0) z^LqYux!V_CCP$ek_g4x_<-dp z-Pl{=^2><}_m78k(U4T4@Z$vcrED#)JJCIh240P;oY}0Lx4X)DkGSr|1b%Iw49p|E zS1;#K-u@bArX$5T&bRe)2DLv&@qKlZ?{f+%z{hzt?jEk49LY<#d%kvhB!BW6=Y4#^ zREX|q{`FK@kyZP`m)*74+x&x<-48%m+D&u!XW#Lq8&dA!>C@w6#=e_5FiQjEYF?ju3odd)-^Q@wkbl_y94`}KYIr_+H0{Y#nxTRm$+pVWxLfeSU6Ku6&?$LVb!qH@PBHH9N=#d%X*mBZ=wbmsjj#%%$M>{oI z99{43g9(Td*R01bB(9m<`?k9^l;l^BQ8f>5gvYINEKFe5-J5{*nrIavtex*#JXf98 zeG3F=3^zuiJAdAyq+{7gXMpF;_4!4Y_uXUS#QOAy?x~dx$%d`&ChQAwY^!^99OkFn z+?}=4qeaH{_e&y!0-I+%TxXQ=!q1ayFPJu=5;2z z4L5B{G-nrL( zF@JeKltd|a)@GvNR~JB<{Wa9w1aZ^LRLqHr3t-&4-+eJ`O2Zk1@%}d#!07ND$ebz8 z%p#1b-(LX3b3hWiEpnfCZR%3bxy1#*u+3JOZa6$=UD zhhrDO7;s!t;2o6=j5mIb!+`I?tNe~?(ODCI*3en&PsAlNi{DNEfS&wN9D0MQ7<1|Z z80Sudl{-Y)SgNA;pK%yeMQCDjBmV7KXpbdg!uaF{?9D4tNzBuOy&-nw!CVWM z!}EfrR;)3-CfU;(s(Zv_^)}z6XV<#Z8GVo$I}p^R`vlU_3)}B(eNXT zG``vI8A_b{;A2$EZ#QL$R@%m(=T=Hvy@S&FRE?V_|!)fFY=I!b0OO|Hv3 z?Zyb*R?E|#%6MtFvmO(LHRE`Oo+;c5A9HmrPai@tYI~%|sCaUm&&>8rA^4WPl=bG^ z_^ikI#ypjJ=xb6KqwB;Pd@c8Ece`ZH{lv+^^*m)!4G-g;&en?Tt5P8-{VtB>LIC0e z&N^&`7`7p~fbpJvQ(;>RJXj!!nSIK+=pgBXPEAx!%b2Zi>ZygS_Z}fdlG;43TZ;d1 zrt)9gdFt}kZ9O^KnbD%rF(T@N7V%ZvSltQ1^D7}NY<(dFtC&BbdVeRZv6o&5tGfn- z9e)tQJsm6r>D3?S+ryp**e0=kXEIuG?`4UJJ31lpeX-*cO1!U2V&dCHsR4faa$u|$ zhqN?cjOzZ6Fy0a@l`vkqG7;lU4^J`sRCv-UaqiU@NZcc8>Xi6q@5IDf*LnVi1^5Zq zdLD|Y(&Jo$|1RqJD9_v1C+1mGEiFuz?h^j|$W%kLHq)vz@y<<&Nb73aNQJf14AHhK zA-y{w5orTfq-06#OHojr>UwWbB1ZjNJ;T{IqH!%se1C9a;)Yygzvp((C4Bl#4nvgP z?zuxVPvEEpE`V*A)Dl~DGwB2`c~uwRu;VjSkvayAM^C!k*e+-elFrk72d}^X$;fJvMl#Sy!{iNAK?AGQrF!me)`Bi_{eoH zmQ-7P?Any9Eg8Yj?R16k6xn}woni#2`H2MZ_SSQd^*sEkE0@pt#Pu^FP1&uGB=C#f z3i#otswe=xRMeEuT%o)rayN_CFlipco^0G3TE=kdK?~2r(v=p*i4+6Hbpj?^#c%t} z^_2E3i<;mP8^Ia9*C)su2+y}hpc4!-Ou&m=5eb{Xk; zhiPXqMP zUK8K`HckBNhELMd-V7Yxvy-6t;o`qbsOT`oGXx9Ze9=puhp+&f`?BW*&)z{({%IaR z8zaKgJWbQsB=OK|p3Y1=JDRVb?dhSN8!hzLQ5h0$U+777upjw7OFVb6AH}CjJkJuz zgUUQ_q_SdR3eQ>x-gm6=I9T9C`PC7}7t+G>aEpK^%#0WLfwjo_qUgQOb4`3BPnSm< z*_dB{RShqweEMBa1GJQ*rPam9?|Rz(i_PU|Zgp|(R?oFon``qe+dS8?i6XS!!x*oI zM)RgL%t_4rcJ(y}i-!|=%Y%JT-=zxyjsx~83bitnrNl;i!? zebCf+7h}Hh9MteZYWVk_Bltce1|RSg#J(F$#Xgd>a2Y-jOI8?T`Jx{^qhK~0|K!1^ zo5TE_gPw`itiHr9?&x=oNgv9NFBIpXPxuV>qjcxb?# zJK{ORMsa*PxsrD~<~hKo^2Wb-TG7XhUpzE{J3299e1Hl{rIi(29-nGUw5 zFh|4^zQ(Y*K;s;Mn#WN*eD?=SG z$=~&oL>hwX(Yf7ZsF##*xw9xNx7MeGPogsHV07RQ?RCVaECnkhSoDLsg5?t|KM@Zs zyxsvuCS(SoGJs8dfoKse!YAON=`t>yh1U^Ou5yBU6-MeLANHpwq^D9~KzZgQ+et@J zYDAnJ5g3FHqd4Q@3QAVz)4>bb2JpQQ8$aV-TgIoA%Oe^R6K5iAEGSx=FE}D=Lo4u; zB(50Oxe|LKC>#HSs?sfxbp^y(qvseBaYkYco|HEq5430~9>{q;B}OA0l7Nh2c5Oh@ z9!I;eyEcS}lLDrvgtwxX5CT?iGllFH7l#m)4eW_XYOsrW7hX`bwiQp3dHhvEhfW1! z(MEhgl|qKUQp`}K@gCV4h(b!kq>}WUbam6m1@fPtbC0xADUn!42apbcOmsNKY0P0! zAtorgoMHy%Bqu;Y2puuW$*`f;_09*J)b9haUsw%b6z8zJfCe-Q%9QUB3n9(!A%d2q zD^jd9D~<(@SlA+-uOWC}D5U`1gE$2UUZ0O0WNO5N7`I&$sRh*JiGK$rM%;S@;vV;k z5fT4ZnDExJC^VHaM#^@SM2q-^QJoU5NQsR&0%BOFg!fbeVq8OVDgjA1Vn1(+qMh;*X~Zy` z=BtPv#Yzbu%AgiwPjyQ8*VxZ9v7e(dqX=VTKPSb0PLKWkDue1614cv-Hl>7jM}gRq z!*H*?;yYLQ4qtiE2=?SJuc|?a&q0$i0 zm`oUpU@6Y0(Ez1Uxm%4bL?B30V-l;I;Z@Eel3CI=MiC-)8nT3eaXV{05<p zG~d#y)QzRkEM;jl=<_u_C!Kce<5ya?OMwD8nFONP2HA*4Be&~EoFP|svZDhqoE?*T zBRPXk_T%n{VjPslr(cwhu}b@A=z#q?s=|MTT zYvR$lVKzK`lnomKlRdmBA93Owt|SDeap0dk%n$94iyYHK5wN$pMrz2CDVDq32ZP#59Jluc*;J%-{fZ+VG+WeSo6u_AFR zgV`gE1b65UNM0$Z#Ua2{sf|k%nYu-KgiLA(Tcn`6N*o~vb)L@>PI~Ax0P?i}dJ#5I z<@LrjJLHvFi-{o>hyaClrQuJMiv$A$C`@(&3?q}`XxBsiQo~tS%2i-IHiRY5_EW8+ z7!IQ1SP$*oUN?Amo{JQ80`^R!$wqn&8~Z z9v}q`7fu}wf}R1Vq^^Hko%tdzOQ6*Ct7E{3)$hw1WtLF=nj6|Y1I7ZeN19=ei1B+WGKBA#(9~l6YSLO=~2Wzv7f~;YjZRPJ%FDH zJ|-0f^3QWJCqmfB?v&t36_Gk4FY_cl;bvCg8Rut8Gc-0@B{`a-kdr)3=ve7$k|GS3 z%3(s5k_4r=I6}_mDhR*rYtEzJ@HI>EB+Y}r_5_D?Bh6&+7gW=4t;mqRB58f8`7x$! zyOyLReYU*38p2(wC5(VF1&`nmnVoltxYtcHHGI>y97tsx7#VN~OdN zd`f}x#IUtyUbafGZDc9MPykVr^57X;W3(jQHj~rS|EJl>EoqjW+(haYc5)SYf3TA) z=)JO?+$w>HQc9<&{v$iN-72x%dXoDf?IgSv)BzEQvy)q$33hUq^S{DQQs-mP+ZSjn zFBe1JuzOLuz0x=;qd=le^IIvcYM-+lwgi*fOl^pc!ccgMwQ*X)rplJqlUh~Usc@-; zG>+NVc@oen23RTqn0nc&Sc(=LLmG*s9ibdgV&c&-DNUL~nkRui+Z*sz3Oy z1j;vIIEtIRD1c8%D@LPgbQen(BrcC)1E8br5i|STN!MPb)n4%#Px8g@BSR%=? zQsSI%O2J}EHI)*FsdxQ6E4PXR@o0qHQI2}qbIG&1pPjMd3rHTlDB{w ziLZ2_jUV0vxYX!M2_ll1<+V|QRR2m7CS;HWDQy^qmw=!ah)Qm2^e_RSaO6Go(ohf} zzet9;w;V$N;IdXtC?f)DOBaqk*6&i>Zc~y> zQ9YymOimbeOpB=HvAdZJ0j0pzw#$}D=x187q@?`B6!bH3mQv2|=L{?5{C*~CD9`!b z4BZ|+nTw=YKgacFQkbGquuxJcox1}@kWahCh0vr#EW|YlCRxR!kuP-UHJXCR7Mal( z_@44!a6+Tf!K5UHBNwP!8Vo$ig@EP2X;Qh$BNL?QpajVtb-x@EpzzV9DvM-KP7T$! zD2vv{WLc6sIW?mRQr@U6$()>8(F7@PlpuMNgUg(094f1;ijthk3CRSaK7z&BYl&0Ch18cVk80bx>{MIyslPOAtR#5GLu3mj511AE6Gta$1Q612Cl)S zmoq;(XS7F)S_FujG5%8%#xhw@{A_Wagj{&4h!1XR9_x*cvC;^1hwPet;EZk6m3jhl zyj5443BY*6u9Omh@wQ#*BLLs7R3^q@)25fH{EopeU9~d0!N$nkRujMxs#FMG|@} z3RFERfqz7SN&qBqghn-$%Wb)2WieNjkoN$w7ZImQi0Z*;$01JRb_gWa9nfpZEs}Q7 z3w{^lx?==sRQ`x$ymHL!jNuB|p+HbQlK__;sCqI1E_SktJ&lKBfYjoN*ZW$6$h1W$~9 ziqLSp2W2@>2Gz`{W@gpwrJ6HhHS2gsyZ`qykkT3dRYs%g1*d>IrrYUWqk6=|LI)iW zXoxlRY?__f7K~yTu8iBzqCWiqVPB;!DRLlH-lrl*QRN*i(uYml`(nGiBh)q->7sru zNf;B`ID;V<-Q$8Nei?|vPVP|#tq);jW@J01kgC;FIUSJI6UDJXY)uo;0D{|En?CHH zwAHq1qOA?6Z2GEnGL?eMDvud~tFSy?9@~Ra3jZ3ARWS&8+^7J+vKa7WI;OGVi|KYg zXh6Ks%=KwjRIiH)zKJQN)Fk5ovLV|gWJ(MIg4mPTu3{~>&r`+AMZOoa+lEq`YkQEy zdokZNkrvusLi<&gv4j=nGpx{3<%c9>jw+QPw1O|)8I(Q~tL@)XKBd=Ip()snMic!| z)v!*~6WwcK#Sux%QGlcgd{kMDIr7vjg+L7AVk$hK>OxR;IfMY_#N-O|FKZr#>#n|q zIt=-7{~tXu{n$fK)eA{K;&)itnpig_kvdhjraWrBlENc2T=Jp%Iclhq!p}<6vONxO zf`sgegDCR@0kjN~te$4R1}c(5mEddOQ!Fm$(mV;zKh%-MFlao(LzYM6ne9 z1w1pdI7CnU{2M87%p$f`Jl`{uo*gpf$IZWy$(nytap!wx8CFGcqlrj>XGQ~q^4Q~v zUXjuOo*7NR6Sx)cfn9L^edWJD|Hd6{aDDn$2L`|!Z)`!@|?}kZOm9ad3v?`*b=U@YWLz1zBVg2 zu#}twESovP#VmYgUpcm+E*0HxG;UcxIvG|uOZ#80ho{WDfi+@?Y7)8(C zqUt$_7v6rbk%~AVHJ2b^la+8az1Y-@h=18TIIbG^ZE-Ih;$ONijVs`>_?N};FJH&K z2ya=IBgz9&eOcBv&ACeww1OXdBP%!hQhi0-%e_TLC-x?PZUvh16@s!v$?o@N90}v% zU&`OiGWppdMqiv<=ySJmn0eMp-_Z$gG99kcTHfnk1QofsyV191r4)&WT|&6t#tpn# z-GTS+JQU{{YBa!M#YxX^EXEi!R*QC*8>bmtCt6==WN8TJ!M3E;;HiC$Ypcm3!zJ=C zv<|-yQ-G73sYBNCL0z-z@KEinAtL2E;}I6zBu{CR{m_fTXJ)CgH}Of=8`p{b_hNML zlg}G95Zz+iWkxNAQwl$KqOmfUJGvSr>2oP}Qs$gA-gtPG8oX>qR`SHpQm53an!-;` zG6LeJvBnP$ZGJ{9nGe0XhMVr(H8HX_ii5okL=>6Lzy2op zK6{b^(IoaN{a$1paWi@ilvmFMQA#hD5Dw;iFT+HyiuZd#hJO{~(P$$c>Hzepf{OCTjMoGa(MBCMhkrcU zILAAd7p!|~Hv6Jb+Z|YksneQkusygkLqwz1E32`Zn;$M2izub+N z$oZ9}U7)f!TGIbIIpeRBGb<%WDz#LvlwK*>_1DSnzfSg?pWHs4&BpoZ@yXr`B=ff? z#__r${^eZ!ORX2<&@PRC>4%pK^g`7OR2J6@S$~~e?XQ!oS4ytj3pFaGSL%hDf1Org4_>*R=25}-X9i9nXpEfg%T(?C#=1Jt_h^>=Q4qL=eO@;+n#2ZdF z@_3smMo&Jpr;&Zp`9&tnB9r3O`Ii?|=QqA$xcCzXf*I~Fo&g&&ztkLBggvS8W$g_= zZ+%TxZKp*7FX)j$9!_bG49ml*S{vs!q7D|Z7y2{a6# zo;};x!27>u^aES=UE&?Ve&E&nXVvE~&og#1jfYdT`}xmv47V8gx^V-sqtv4{6@a|R z_}%l3%dz}U_9^Tv5Kx^V9zqo+1%B+u}$EBKN{hRFtV@1bf{_>TTrJ^H3Y0%+Sz zQfBNIUa|r1_~LiVp4~Kl)6TcCa*63c$F;8>Kk(V|u_vy>LMF|sk~+RyyzaY|oBuf0 zSs_e&Var$RPMw)NO!Qc6Y+xz!kPK&IYcv&|mVzSkT9+B^lQ)1B-1BmkUD~)}{@u$} z28qeb4MhE#%m=(_)K1=~vlKq!O(Rz<5=Prp@x+@(n#K>TH>$Cb+_AyfWS^V~yk+## z_|yE3w~SG|o2KRh!zwCn@3E3V0aL z^S=9xji@kdKb!~9)o;JCB^CbrML!xGsq23H9v5z_w`aHHnL%t!{;qUM=u9Ro?G%PY= z9S^H;IPFJUfi#TY=xM$v97})~gws@s@WtyVjYAG<){AG1nW|AXd@;RpDA4sUhJG}hs@G7ThV4?2sOm=P;m95TGQsW=pB zRPh$3Q09&`y#1->S88}e^!`o_?=)7zZ?5UxO|LC#spKiORPw4?-f0ByQ(M7T)K>7_ zwY{$r{LzqiD4ya_$om>&&xn#7?;;0#nqOMSdxqd`>Uy`!#<}WwpQa3W*5u3Uc{`zF zPSo?>M@VKN)L3uzcClG#QPY42UdVDVapy?Gj*{V($(MgY+q!xG zgju+?yEmUL6=S=5*HHo8uk_YnY`M6-hj)Mm_`3)hos1X^-(Ta!d2+!&?Bo5rxoRXR zhS@EqB_cer3U5piZ}jzEl!h#y4e%Bth9AFikheP?vj=(qz|z6YTfCWZ=Q*7eED|v} zX>nowt==1eQDv~Vj{}6=bBFg$wnpUM>3!0H1KY0-@fJ}?K-axqm&Vp%0l*g&jfZ-5 zkjLBI?=9n}9`Nqt+aB;X;6LAwUtbLOp2U=H*Mr_P4Rg*v=6DOl1Fw5WBL=2=+3=ct z5lF$B$D88IhrM4hv~k@dUPRS=kI#DyQm};|e#|=-Eq?TI@8?#FQ^WXZhC?5zI50si zzUv8ZvrINg%o^iun#^7hyT*FkIPf$|yd{3#vdsHBFJJ0y%jWTlCEg1DWtsiEjd*LG z_e$zGeF20aWh*h1R}_15#7hgkT^uS$8}3@+{S-*wt?-VaC6IepqIZ{ysVlw59BeCp zZVmE|=Ev4}d$4W1{aWuc?1*@8t=FgF`T2V9LM`wkIR`ZTVOY4zgPVhX<879Eb9jft z{>FUVa&IbMw9I>tws<5zn;Q)BtT((D^RLdRvb~>RR(gD~ETZUy_hQXP5^GL- z%P}1JV`oA68h-IPZyokMzvi5`3EZfs&v|p%0lwfI$o_HiK;Nb8r#EN%oQxe5bC_>% zCWddO%eRs7ntoq3KDw%}Hxcv%<(ml4B%TrzSVGWi*kL( z(-&Fkh5Yj@-yD=aqMEN2mA5*{N*`9kcLn=|udm_z5|vD=>8s=5sfv-$5#|rU}1r;r9={)!@h?|($;nKF^w$~8#?(qYTO<66-v&F`wC<_NBV8z zipD;K#ve(&u=I35V&wZ6IzRQCRLzET>@MK}3gu6l+TN9(T1 z@=lX9`h0k&ab_g1(a(1obQ*Nuo0>3glXQq>-F)X5!nQ2C+;@r;C*JQAfvbJo0zL|M zV1SAZ1AP67Zkax6U|hO@>=qL>aYbRKR&k%N5w$y4ls!lsnm^@k->3YOhkc0FB*x$4 zJFW2rU42XWs)u}?&r3W4QY3!g`)&M)CeW`#QP9e}Ay=x9UYh7%?3+xrA0OdE5a=Jo zqEWtT$$ZB1z5#sm7+(cO!`x?mzcYUNd0z>CYP|0resU~+JwMj>Cm%fyf5yDvyGJ}U z!B@uUFXGCao9dg)7fHrCZTbDP zeI0ne*YJ93y6Pzvav4udny55m&GCr7?wi zY9-1qU+qidbyoU%0sj%QDwxxV_0ClqNC9X0s%!sqjBA5mV6yD!4i$Kime{zNuEwAptj|8uz4$v?Ww zU!Tt`_oa$yJAGS|*(wf1KkxsQuLtk26a78z4%5jCZnLqTe=iQ};}bR(?5UGCD7LZu zAH}f5p`*S(lG%Fk{cpZqSc&FqPxuCk1z-6dPG{>mfUU$$2Yl0*a~-LMoHRbn7clwQ zcYU3Ct79M_M&`I~}G6-rLZBi|A6z56wMU{9fCCKf*?fyK?=5nPS3*?f&b<;A(L> zch`vKGiz92SJrOnj-caTfs4>r~%;e8E_V-ZO#(e+H;^K?q z%AQ#_uIwLP_SNDQp+F`-+tOc6pq9&0*ml0|27eRLsfGVB`od7&(ti_$nXYlE-{}P9 zd7b<}vqUnQ^T$koI`2>%NEPF{`0q^S9eVp4+Xc<;EeqnIYyD3rGOW3Xbn(wiwh?c< zLLs6?4AU$9!(#m5U(E2kd5hwJ$Ex6oJ&?>Fn)~as?E>U3CUK#B0_=J&*}00kFDFF_ z-CGfVTXAl%ze^1M_6ZE%$OL~|4tPCkjgoV*cA)=|Bbxo|qd=QA#zrHV6&PB#b1k0o$G%OLN;)oe=HxzfhPx+lqv9RmxcEoP|CXp`tgdUexDf1{SOk? zWdX_4?E*}`eYqb>=T-k*vHlehvsi7dr^Jv8dj`77@;J(?#ShJkCsK`v`@ir{b+UbY z=^lSm(f%9%lhjS#2o%Aimj#;eZNmaV9_k(NQ3iIUq@hG@-vt!2L9x~o$<-X{l~RcqxjvvKp$=#_7@6N6PJF8BXHajGbfi~ z_OvhH=W`lE%nybF)nuM%U)JXxeuIwb(J9b_SA3p|q1G-C6oK#kS6DUPprM1;9Krwt zyBZ5%uaD6(__U&>ETm}3;Ljun@)TysAK0CN9*VRM92EO&1-25umWBeOlmsBzDV7!l zwgE=~M`)IqS0-A3=&LjBg6cFxL8Ow`9`g6$FI*bP;GS$$Dd%po%x{uqnX2BIhN^dn zFEEhL>!}b&iJrXzXC3^~j)69i)q<-7wK(q>_(%zRKfZm3-%oNA;4^y$8WFj6j^kI^ zISwjh*>%$^aZ`YsPtz!nCI8Y*mW(m7OfrTTehpF3DvC0%k6pPMC}Mrzz*A_l=x|G5 zLsZOc!M-=HI@#j0k-%Q!G_acr&+~!jqFErBf8#SFfqYdnu$zd|`vc3O*iSzZ#eOr^ zFC6{SKvcOc4)M?XqKGkZ?ZUTA2!urclECwb@;Q$F9+(gqf)K(b0C#->KgBgK1~zC2 zo9UYp*r{o!M~UyJ25wA-hZ~*|xKYzijS@3v1s>AGk)?qKwAxaAd7wn%EnX40Q^Wlm zkj5F9;jO@hD%#mm{IXSnr?CX_!Ky$Av%rI^0xh(2qj=uxz_pmRKC(LSCu7C@;kAJ> zHeTef3;3PdAEU&j?*w+SoGG-bghkC%ob=TY9|2+7l0vEZ+A2oN7dR07l(^*GKxbO~ zeq?hX-(^LPBK+wZFCGAa*tj|H3}$PWzZWRLZ0*ta0!Q#xw1wWp%Uc3X&@hgMEf5cX z1PZLyZPWO=Whoy1!nD9+;@kOwmT>SD)_V(MSQ9L!9AdosoWQ+N&hS|~0@eAhPXo=6 z>*$WaCt_wrppape!}vVVPBh&W*sdY!Sjwk?ZG6oR!V2yB^f zhk_kue8%^IbQ^iY!8qiZhi&8=ru+~GuQ*`C^Z0?oXmg8{W*}Y zY8b#59k=n1*p*f}8K}+Mht0cqq?Ku)VPz*J8^1q^;X9wN_ydD=5r5!R;1Tu{KYS{X zi--4g;ALLe9eF%w1C*zvl{rs63TVJN`F*X;`)xq1@M%1B7NR|WB<@kEQB$gB5jh+9 z4x;nsZDy{p6yL>QmzG`~P8Bh$=RP{l>*=Ep%if30oy(1NnmP?HCY#Nw~ZF$a4j2wRq|I>iS$ zW`Wkgf*J?MfF2woELCUD(&!o@+Ci2PK2V16RJg?WAkVwV%=O!dNGEjcjy}Xo3e2kf z{)^0O8XUHZNugA_%IIecQZ6CI@^3kE9p*VIe=AH1UI$_zBFVL2nb)4Z&vr%Wt3pgX*1&pf2Ppv%&XTkbyQN3 z4nDW7XI_KfCH2f|cr2`EHUJf$){|7!t8Wgmnuwd6tjekAx%JHk7ax^vX$ETKFZ3Ms zVyG1zm;@pC+eLwpBF@$~pV88z{N>{snzd2il7?n>jESHTY(nIoV|;%@bEr#}Yj=?n ziw7E+_go0h3e0ir7vg;}0_k}R%_?}*E0jD%n~A4`Ow-Q~6`FVUR7`1XHOcN>Y)G=X z1&)J~5_H&ctHV?W18y9%Ahd;4b?UETc4M{?u51Z656vb*XEzS)V$LpH@RjaI1(-eT*PwtjuvUzBD)<%BEl68 zYHwyT6e)|h2l*|0W>+)AhQ8GbD&eXtV*p9T>%4DAvmdB`s!E#fp7h%^8_$!JQDu_r$liksvJP zM{hT0@_Wj$j{C@MW)WP5SMD@R)uVtGOopYuNB4SQjWfhUcbjea!$oEQCS~Z|W-eb^ zWPWV_er1TchL650mbm^d0B*Y52AoW*NP{zzW+3l9<^bO0KJ#oE;v-0q0H_~JL)45o zj8ntRGXCVf=2g6KsOhA7DBqN!W|>%Uzj>!7zJJVokQ|o6QD%{wPDoOA?95L#gxK{2 z?hzAZlg-AAfBCf8Fq1w8rP4wzJ_Ut~%||rhdoV8h(S+2Co{RMAc2X|pg=+RQZDvA^>X zGr;1ev+Uov&Fm!;-;>@G!>5_};wBNs@xHH_ArV?&-b&vn3g$zWgt%&sSrL2Xczpsv zVB=8;)?f5lZ2m#M@6~0hEhWp%TKwTa+ z>l;+b6tQ@vIg%+dvP;jeqi~f8|L+^oceUAFW8aF>wI-HzzU44H*V) zGKV8=_a^f(Wa#}ay5n2^^1GnzJ6>xuvVYHS*^GSOh*vk8BN8hevc*hsuy4h%56w#{ z1<#h^hplFc{lYK$7?oHF*K9NK?dn^OmS9S<%}mC`%}f@h+s$ACSO6@WO2zSpe>Z>7 z&OXJ1yTDLY5}&mzS}OnO6Z2QQhEuy^Rg0E;OnlC>a%}$0Jac~46`xnG+SrTs0})*A zDrS9Yj*7kv`C7gRq^yYof7x%Q)73#k>jY0qpU;tOe6#YXnU)UDrvCw*@f~0AhuH<3 zJw}gj`Lf2r0Kf7S%)@tl+$pmo*t_GDWUu!$N%wvpJYznJ#0h82(a2WP6!;DPgsJ=o@~tSuiMGIBS-8XTkU*TFV*S-it-!M3R4iQ6QJ<+sI14BT#$ zn8j<|5gY_8ur$CY-C@(2#cSUgY^;cV7Rg`SDe26)i|8blRu?1g3J!4*OF`@~KmR=^ zn9V2U1w)Ft&H2H+;5ZOT92OJC1)pZ(yXS*jHBqGmMeznN1VbY79Da)a6N0;{Kw~tS zA8bmB@s0(-ue9}}`H1=cYJAYb;O#VXn6<;-l^ctKQ=mWQE(*R0y#9-WJ5gETlHdz? zY*-TfN<6S@32|D#XlX!NE>w7sqNeJ5PC{Y*;oU9|%V^!XeC^@d@4X zQC&36sIoS=lzq+LTN|vO`3PJO3s0-aCTrAZQbI1ha8T%Nsj_9sld<8nrV>H^HE;DtzzGU`C^T z)GD}<;fmS_pdg!IH|YXR<$?cG-j~NmQKbE+dnS`>l1$E?>6uO@;R-hj2!t!cAtI-W zaws5pg9qY)FQN&kY!HQT779ub5EOx+XoCs_MMVV(f)WwesOX}i!mhibi~9RMRoy*3 zlMsW;zV9DD_)Mz1j;EgIsi&TLs=Df_1KIuZ1jTWoQp{oEgDr3stQkWbNb($J(+*@` zg9}n>4rI5Kq>q^UgX}NhWd6hl*-B3{D;*y*Yuz0?!2$vPV}M6H*yCWm^Oo@(Vi$gx zJvQ@@Xe`RuI%anqpJnP>Kg@Qxq;2}PBiXmg=3YJQ=8M?8r;n=1e$WxI5C3ER!7sBf zi{6_*=~%XcvpA*4vh(Eh@J4=q6JpXjmu)9))i>E*SrKOwHZR45E|iV^H%lJJ6AmW) zemwgSd%m|P5X<)z=^uQTJvTvmM8EE*>~`^i>3gL3c)BezA`N`=WvkmXz}mOqX!(tRjIGw@k=o6C@?cgNsvfa1|#VaNQG*)K##5NXmK0 z*+f=)cB^s29WJ>j_spV?RY9qBOpP0t14yB7-4n344*q=+bqpSif>PUzFUx zd2uL)6O5v8$T>N5#B$6FTq;2xlB!ZE!|r6e+g=<7-pDzzJHiTm=ub~ z5kV1eos<*#IYELl<9MlvZ;mOwC?F0Y5(lVB%aS_5+Yl}+gfw!I`i!|0kbAcvy+c-z@Tu><9#y5)Rf+>fQuq{GE=CdoB-T1+)-lmRYJky6a1UF+%oHtsHFXW%mfS)Zix*_ zvNJ&_Hfkn|SzsZUhrdwW5q*o4BGgEV)uku`Vqv<#M6)0Q@?bi^6cG@FbbCW>N$OPW zs7xT~tl;7SkvBVxU50sgp-~eePkGTj>^KSqNX=YZCF4A_sJoU@Ce0M89KaDbk>YwB z3V9*bk11SPK+qdIsN?t{)km;*wCSH$8dJw3;F#pp?4 z$a8lg22di+>_Ac7Itb8}B+Ou5Do%EaoRViHedwb5f1~QdDf9nEg)v5jaP=pJ_F!y@ zAg~gRLp=`!7R$Tn1r+Y&A*b+lYCNGCh=54NMHH4}KntyfuK=Ol?d?d#_G4j|%T^3& zREi-FH7V3MR?KIJ!QmhH2uqUTj}-AI-0+-2$Z?aTHQ8M8!oVc| z7KTZNGrfFp<(;lrC``f;Pw=@CHd21V zbtm~pDul}vN=c@1B?K5Ab0C#gwtC4$FUlteZfc*Ld2GDkUoen<@yYS^f)q|o1@ zVmV_z4M&2Wm_w;FEVGkwo?PailAOdmX-bD;!qar?4P!6~zA=RtZ;8HynUAN!k5mAo zpP8~2%r~TRiQ9@T!y`?2#KkdS3kumCdP^ZN;bq7lzfocf9td7FNGFfp<@64B9;FDW z*b?Dl1m=zu+HBQF9=)GK4(iNRNaAftSzxjW1Eb1i4bt3oAEpAf81nUw?>Xs8G8uV9 zlR*eI{ua1as(|DYIyDFZwj@q8XSH~Rn-Q+5tN1GnPR!Dtqi2L`c^sx8FblZNbC9!! zY%zEkF9}{CA0ZNnLAcCjPrRU4-o-vlR~ok!wiqT8bdy4iCDs&;o`9nfbiqP6nl;aW zoeC?>B^*5RnFMJL$V*s&C<3L!0Doz= z_LezYtI9~tkE8o^TyWszA~jJUA7h_nD1qy!-@>sjk^Xqv1o+I6LZ2d}rlr2^odEC7 zc!akOc|x8SkN<+3a~hN>75XI4hi5{To@tb>mWRjK5KpAL|~y8qUQhY4K8)@3RaS{lT=sMU>2W<({N!EoIlj$}nyN)BeOW3!ak zT9T0swz@)VPh*f<#4-`^Ayypbzik6bC~W z9(Z^hU<+ztG_RMZ7?853X2xErxxatz4W^kx2s-`8Nij3Kmk7 z3?N2G8^f7f)GMenhqz#RSLsI>ALLZ#1ce#skrbl8)sPO2>na_gFdiO%QiIg6)QY>p zvkJNuhHG2c2YRpqKbD;TOF81NFr1p@-X1p@*SAs7&xKM)MRT`-98-?DG~N@8(XC@3w` z9Qu-6Bo}ct>%g2p7F{K_zdxUQV%JWxc$hTk5LImvOAb< zcv9qwBQKtq-a2MU8dfER3Ct@eMMbJXo@{UdUhCep*};@{iiT|?8PC-3W6W|VrDCd` zhCDbIi%9w!lMIo9r-&4qeuxyqV79=~R7Ip17PFN?(;AUtSj?0Hj>U9(EUi<_&zKp| z#N`x)u+TQqJOZXMHwr)liee_@Sx9Y5Ysv+3IosM;IsXs%dvRN(DK`p2t5}C7n6Q?+ zjd7bB0DM|ZwybS&hd6;*F&foaiRHEyv5QhLD^4_0B4@?4$W)ao7ZGZ&CgpR7lz7~d z#GU=)X;)HyY+rV;iL!}Xz8G%FdxMy2PP-#?|=;7S$ws3-tW;VO+!6bXP zMYZG&n`~6DQ{F?J9~~EF5b7q8tVt5{tm-5Z(bh4=Ta!p;J4!Dn(S)qMv^^;gvK&?m zKic7kj>8Y33`9vA6v)fOBu!q(Cus%pBVvgko1I9{7#DZ^RIS9PDi{rh`g71CXL-UI5kp0U55@yboeX?v z6t^0QRz}W|#^vhNu6OEJJ9%zcHAy|sg!&no2})`ld2|;Ko{q7e&6VbV+__p@a1?j7 z!F)8EgbS{4#4R8#Ov+C-+O;exFGWNyV_!B`p1j}~8Pk};9VJ^1lNSux{QV%k$Iyjy zWU!!#@{#E{kHq|iZEc}6?smc`!-sv8rM~9??xYOy7k$+u?vnsD73ujdaibiU!7a?! zQhAUhWqC^_m%_@HFqlis?j=Nrss&u?i^gzlyjg>=7)I?9RE`^r_-&BX6Cq2+kc_Y* zo@`Cb!OmDo@d_{u6^A%*g3RSzv7)C8yMBrgnZ?Qq(Va8L{RhYV(wnz=0E7*kAO55Uc zlMn$CB}@jFnJEG&r5H2&-B|rM_}&=CueqE8@I-4l(L|h%&&M)InL%MCjpJFJ5Us($StZTe$wwuZIrylQXoU>(Kyvbr*#=F(*Rp|a6s^jNacx?ohDyK?-Z~+3W`}jHb}oqRuDgG3+00 zmGolj5KZRKs{}n%Rz@Gtx3L}732}{)5dLT-#&xqr(PF@jgmz;)B@3$? ze9(7=KTq+wChP#hmR5Jeb^uR-?LZ<$DYj2TGz#G}9I={G?DhsyuIuIkNP_XPA_#3p*>K~Ze!X^pNr9A5p7QFhSNO{ zJ|~xehqU%cf2&jT;f5HdAL1|*g2{@0UtJ8fF8yQKzG!k3z$oFO120?>s6-ed ztaDt`C_vW%)G*T;0szK&FbV>v$3h_{j6wuaK!NrXaq4J&4|IhjvVkzLk;6eg)`1n& zlqJa?>=`F!fS41>V#E`+Zvof`V;I$u^RE6xE}r7<&WEPpHZny|Mqc*mMM}0OwlL;- zk_q^2q1a8Vq`jgRzd%vAVUVJpPv>9MQ4IeqfB}4&;hozk_(FOp7A&-=6zwBV47!F` z9G8Qx2#%AABy!O)ptQw6>>{1Zd>xb&l?X=ckAgg)&y@yI$3h(xHJMXmR9^xAn@Uz% zK2~oyIS!MYImnsL$-$MlVRG2*Be9i%6JTVGCLlHfbxgIxs8^w-2y?VpEG_()dkK&S z$nz}^m{+>ctwpPWh~vo<+DbSyYZB2FZ4qLFI%0zYC&S=%MLK*kO&^hHbtGPhQ?opi@D#(+$4M%!J=G%#4 zA%fg!JD3{oXfDs3u!CU<=#hLsr$U8rOa0ZdXM`7xm_947Bpl__?uA(RI64Z)6592j6D z6~`WME;&LZ*~#8Yc5yy(*6M2HFSTyXVefddCC^X>u8Bc8tTkM)KP=6E(CB)QY>bS& z3qo&GXA4R>+>#HEBjAxN#so4Pwy@P*l)HnZKw~1Lfx|K3R{Ksz~=mkGN1in856!)Up4E{_3Ux`%bzH7xU15%eje1utxY$~i0b8=Sw@H_Z!-uC zjZfC#oeBy455!$cWzs+;V^mn+s||qf|!eM4n$BH8!$ z=W=gIG#@d;5?!A>hr23S4M44eRd!c0p_e}Bu5|28^IBo(ge9?oc8h5+ut7Z(wF}h) zE#eIRDGdU2^d3s{cGdu#4o%@e7opKtm>4pd7?^!T4$7XMimwCL6miCYOoJEQ%@VdH zD9OiXhovTnsSdl6aDE@p7UQKuyn8^NhqJEvm9oU(}@<`Y5yu^JL<=TmIme2N%n1L(yxy@CZ~ zA87e{T{W8>Qi3##3tyCG7e#Y7mL7zrbq%A6ixQYh9CSPF*SLYP6BTxmA6cU%2~ zjp@y8pnG~NjUqdDL(G78QMk4l;Juo6WV?+1Syc#0tZOu9H}z3kbv}c6XP0QqH!wks z8e-VqK1$QVGn58rFex_8in`0U?yKabldLjr@^tj2~)M3`&bVuZdQaiNlvAXFEmn-yPJ zYr>T~67)tXDH7+H2+b2?*E}&{akgZTPrQWz$L+W9CwVf!V6UfFaUdOv(rK$FJi;fi839-9G zbhCpZ)#`-ol8Yh1VvMkqd#TuJ^;mit0ym zQZs&7hgfmjAxf&K7heD0?}fazb`DU~hP75v*aAOA7C2VJ!vfQQHMo3s`_)QjS17U% zr2k-O>l;SnpL`-fOO8TyW4~II6jhjVvL#B2m^4VqN(hThE?y0>k-}7+mDoUs!D8a` z9@9=INyg;?XnHrPInO+9*$9`P9BI#!MhpZxI8H<@i!guq>akcD40&Oca+Ln0-7jWR z8DR!?Ml*8uvBJShqhJaDR!Ng^u(XuF9?h5ihix-K$x z(TTWT#mFEB3DJEgHWZxT*;R5L41S}J9^K7n0%;j@z$J8!Wa)V3k;#~f}DbBb$^iPVjv$i-x7CT&~oKLMFWT64N)@%zqPx+me zLd85comlF~ixu-Ifc<0OT_V4x7;`9E<>A_{PU!rAXBEpCh8al}>pV;ewEW|Wta@1S zFvZ)sI+b_jvt8p5{kTzB*X0RaM^|Px4%?gb;Q@BA;xP>;Ltj-e48qx+@CBA@G1GS9 zwlK{JZS#8DN=Lk5O|hFt*0s{nFe^H;Z;)1ltr~4Xi?0x%rGPf^pi8u)E>TNct7286 zepPL*N|^IkQq{)iBKwR_=y;28SIGKYWEAA9Ibj+xqlFo1Q{h-O4r?tefC@_xvok|` z(K$ZzlTl1@c)0@Q4C5Sn1@`-y=hHCtv15-<^`KAUXhsdUE@4Py=5uK!(T_>u_2Min zovO(r{ez;%-T7%WY%|1xAX(1^u2BSLda6+58X^|3xF{jO#&Q!38C?eJ|toB$u zO34);K`rwGc%uY$X3S{uMU;DFCy&#?oL>mMA=%z3=DyBo^v4anO{z9I9*rqLD(-{bKIes)5 zy|_6fE-yoFTtunX4iBg|;}Z|pFvcgI25xj}8b`1~Kc=wr3OpGp#@t2#DrG0eDedJ4 zQ$?C#-ix$_?85O#D>KpzBa*%#U~ep2HeOlQY8kgBA>%=Zwc`CgD(qk<7HP2J}12-!k8EFe|ReDNG^nzkp!aF+sa=Zo}lQxVP-;xk^9jAX__E8Jb4d0z${ReMvzu((}kH zHhO{LWqD;v7JzmtzC6x^~% zxfp3%7Ad*n_QK?3`m}--Y0snVZ;O;>DWb*{a3d7sS<3>8q0+aq?u#+VZDo@dD@_nA z7Qw3`_5T0QOOu!n?`!tE;^#NmFl~=di(}OCVzdZA|x z+q+F^Ayu+d+kk8(8@OE=ExoNjyIsLOS&Q_nok*0n>P4?9O>jkmQ9XO$4dp@WO>gq1 z5{idEsvF)@{ISwu_QMBCTlV|`<#*#*|LmZGTNe)NNN6uL6ONSR5WZvJo;w*%2TUhQ zc&0P(lmcH&1V+E-kdh%~nMLq@4#`-q4aItnu<~j}DK?WTVb{ZX5q2^rdX5l3@OF&H zSt*9ACYfKn#ZyC>R$e+PYfG{6*6?_w+TfPLVFE5HqZE~@v@%!l1SE&f2Yy38Qj}~H zzYpY;e70R z$vf7nAdHb&P*8~CDELi8!Pc_Z=N6dxg9Ve}nfOxKJ4TWYu}u!|4Zy(X^o}Qoa?@hH z8z^iU=WPmp>z5{YzmcNb-rmsE#G?8CT-(1a>4TEJ&p2WC{*>k|MU^G#UQHhJSA)wX z@G1;8CQk@9wm6SC61ZHEKysAti%6uV@kJF7vPgh(;eGDknck7zKQZd4q>XtIb!Y%? zf|P8aR3jfi=<~9?P+K4Crxou{TSmSs@Dy{E5I{?p{h3vK^49649$Ipc%Tb8 z4U}VpG~QUbPO08N3z3V=P7s=pJ!07IV2dM);Zv6v>*4oi1B=W3-tJNtGY?4ucCkYQ z9acFybilV<8v+S$9lSG=#oJIC4x}HV$(`NyAeCR9yuVXj% zIjiiq_B*TWcV2u}*{2RVtL!C1&m#LA_S^`s#%5l|%WS&MdmHBGE> z>1~pC4(oOovc7)#*@C|n?Nm498SKJQ-pmN_t}7b~e%xs9*+@Y8xP}7eg6qBZtg`3a za2DC;ur`~($;K0SnN9b2C$p-He8lt>t3-cF_swACg+5}SQk- zwW6zU4l<1E=bOU{?+3t7Z}En}>%3dN^AUghWc0tWw~0D#^Ugq2xJ_rUBa=+d9~Whc z+33l<Zt;tMf+4%^caug4EXh4Z+&vc?h~aafhWW7H`!Foyu~KT>)4@UlUKK~ zB_*}!zHg}s0-a{1H-}}-@D3$DQTtWT;Q8$|EPR0Hx6?4{K>@->L+V333N)-^`yS#5 zqm$W1YdMW3n^r`P zrKQYK&avTo>Gg76ZPfT1S>`Eo{5AU7+bemQI^-(xxmvtTeYzIu53T1>yq^u|Lyf$~ zM4|!Mzw?ZVy@Afd&kD}*_FY%IeQV=XC8F%@TMMVY8#vT63Eu9Ff-IZh&8~<*jM@V% zx`TP1=VEK`fA2oev)cReycYyOTVK9#Gmi@M$@QX%Q>3x<5SzPIl(wNWP#2|ju6^rJ zsb?<3B_sV6v$8wbp;v14ygw-I-ENkSMzvl|zK-SW{8I%DwbOVPFMTHSAgs3Mus&~k zOQ?yg(aq2}j@=wYWRH;Ew)di)Z-;xt@pmv!<6w%}JMVJo!+>YNnzhG-HJJ_C8__M# zVB#7wJ$D~3_}RW%sylT*Z&thLd?2Fi;{5RYVbN)QfUE9Ef;@lqE`%=K`H{Chg0v6n zuzhM}S;yK`oAlUPwT^t{hZ~kJ{gZ~}d+^hS<@?uX4a;}q(T3$a{M8@kTXC#mtlR$W zAA&+FtYhuIH}g$qKYni)8SuG;ZTNvVEZQxXeJ-APv8PU$#cVB8e$s5@T-Os>z-dm*d8g~Z$a8XNpOA3t|GebZQQ5~t{rSYPu+{e?9=$$J4SiSymX5+onlzdWB| z!%#lvl%q24lIza6!x5FS*lA{*i(Us{-4S3eWK>w_GLxsVQ!Z}7^9oPIN5FZ>M5>-V zBiMkW7+EV4e8zlvGW*KSAsTi;Fxh7)fLwMknZxI@k?%gc5_8z>T<~;Z3NOZu*Ab~v zlMkBl*%j7d53g@rfiIIe(!_H=nxc&Gx&^q`)6NyR1jQF%Co_FF1Bblco_XwtEMKYZ zIl!7I;Y2>~Df04Wz{pU{Bp;`Rt8|`N>8m@D*VEG<28DV8Y-AuR;tnk;;?bON1UShj z9kpk0^V<0$nYbJzfPV!PM6&KsewcNU)4;O;;%a&hfOKqr4uD+S>Kp)B(DobvdF}jj z0OVxHKM!Q3w>b-TIaB$aXF17V$3E_M?qDr0suxyvFW$=yC2&bEAIY!XU>VrYR0HeS zC4J5nEWYkgyEiqMRa2QAueS!&i&sMySRw(=7!n3}4rZovSnx7mPkdB7+0!!#9}xFn z=DW@Kj_BV=pBV8ep0=ojPJdQe65}zV4zb{RrDI%2nZ75lU$ji6GHyw|wZ2b~Z2#rH zzNo3~NYCxaw_+r(Ff`29sGgdZF==-^?vqx0v89K@q$k+3qkNAb zxc8m-d^Yk*->10e)<4>p%SK$~DhXpItiE*98*ek^MFv{QaMWAiqZ$m^dT?9w24TDL! z4$q#A9Apta8{qqIw$W**!+0Z=Aw z_WAIs{Nc^M{lN9A7dfywBB*@Pm&FdB29M*f@C;-_U-G$Baa&E<6FaeU#EmaM_@26q zUT|Rz2F0cq0Gd&bv>ZM#TIVbfC7F8b`>e0wGNp-k(F9VeSKB#^?&TFB|_ z$pWuyv8-+}?%S!{OcW%7f<5#E^!Gc|e0EY+KSdRI{zwG*Y_C)O*m&08ja6Tg3<%G? zL=f;DDs;jQ;pI40H;ZB;!Wj1Vcy)wPmrQ;&h=MXLI2bka|LwUo@@JJpQXDtu5~#g+ur-RKtMG$^oDY`>7QIwY6wnf28VxiOlZLz(oYm2AY#NXg2-8YQMGN&B!TBz1 zP)l_QqP}XW-iW9ntk|2IOr3lK*R2(mJW5 z6l$w_#Hc=GP<~8(BqMzYQ#z}u(ki`KXLT|*4Y0?%sP9Wpvs(()8;o11y-~MN>)#Zr zi4yYsv#WZ$aT|54dDXFgS2y(rDUN?B#$KT>x~n1V(Q48|z0|kX>|*%3>=8EKQwyEjxi^)DhoPy$Zo~J=NPRSfV$V^Q!O{ zne+N^ggk@PKF!fV0jdNW1`R|^1Wg@)crgauPH<7&h z^*8Oh; zM=nvXKT}2fC#wBe$vD+{rVIu`Jm1h^4a?U6cy_R!5e);|(0mO*(_VeUvxiF!Xb8LN zV?#sv8LqM)E4t|q`DA3bm#Pno$m|VxYbe?c&DX#xV}&kjKv&@v|2alAOuYW6){X=e3x$QW80PFN(msJ5Gj4^(0R6T{m-?p8ZR8OWWcz|LN) zKQTr1NeK0O)T`u-XN&wZfB!mNJs4FK7Q8pjiODTD5KN%haC$Vay>?z|Yv$9$!>qi%=IkD0@ zmixHsw*tNE<7#mthRGxbl4-;j+5~#-%j#gM&F?1KIF||Y2%9TU z{EMcECfSGyW`@dsqPX8nSZmtp$V3apT|`S5A0GKBUmefy(0L#2$VN? zS~ni(>r2%Yk_IsO~>{ zF5ROZi74%7OZKYSQBj}oRcA*=rSP`HWi=@{rslC%?`NOChq?S}_Sio4a?F5!*r$%g z+mI?XlrE+RG99y!LvSyFx!q?~Y7ZnE!Flhi8tcAay)ng}wXSUA&X5BThOzbs)U?RT z;5(}pl*pG~aei&Uv36zsXNW-E1_j3}y>7lj!$iON7mrz~B4t~s+6@Wk|cFPfU zIyKf2sMgi&(ofXQnY;x;t@0dnsE#)o$W#BSZjR>siW=U8MlkAAbz1#7BJ=;>zLotA zyy5KNddZ@*KCCLfQis(~A)t;pLk=n|tl%Lh#!V6>$zCZ>~ z=U5;M{=yf?X8xjXqLsAHzoOs*HtkpSbaZ~%%-@5(^PAcNt7`xJP3MyJ0ks@K1b^-qzch59vd{&7fT<*Bl!f1cpSZRQK~lq7$m z6kVBxTn{$E?Wf9s;WSB~|Aa3|Vu4iui~7G({Yx`|>-bsiwcgKR6kGAv|x{+&lC(6arJNpMp+x4-X{qJQXbDJUlGGyK{#J?{UsdLBjOdpN) z_mQ@+(W4wPRfG1qzzav(9ZOwf*`V&yc{kQWvcHhns$(roPIpNa}=$-HOhlm?fr}&3D z!J>EX^ zFD=y57yEll@^25Z;mm)L{QE=t3g*Axg@oXfe%T?t#2T&ekCtB2r?2oYAoR0V`r}CO zv{nA|hzCPf`%A%t>ec?G#Naz$S0vbj5?dHTlg zvB`1Lr)>X2ff_*n`OSq${#LAF^Ls1$rY(kJf>Yz&mf7Ku-yPMzqBZ4raf4 zqg|kpLprQ~-9GRoLEYDhL;a~!AZS5Frx}D}xcICCsE1kW&VdfdIlgn?Hw5Fl1YVG; z^{m1`JHqb5?gG2?5QkG33baF}iJ?GK=|eU@6qt&)2S>GtqQL=HTKf0jGXt zY2ZqSDI&V#kw82YpzfX%_$39>*<*5Ao?h@o;Fu(R$I_MuMj^O)dEin6JC+AVAb4^` zpcU&=9>~G-HRTX69#zPmULNp@T!Y!YD+2i*_4qa$wz0@1Uh*!KcGqiVb4y+Hq{s5S3#0B!cw0-z5+ z5O5^`_?RPsnXROs^e^MJyGh2bO4dFQ?0QJoQ?%8|(q1+?pmjhnUj%Q7;Is(N(|FqT zB3LSdDiOry@U%h^+$MrmBKSxIDY-mLZxP%hg7qT!Tm(vxXBjAh=^}VZ1mB7vn8&kR zE`o4I)@3g8d?JHRfquMKDPOt3_~F1gTAU zmOdi*9}#R2!51R%Hsx6ciC~5ZbP*gEL0&V;qF>QWdnyAw|GAKtXw#Jk*L2l-Ao8iM z+EnDxx@iN_rH%ScgSAT&+$DU@uID8^$0kL4Mvf-{~=<_!(FnqFbf!oTBvu zb6CQ?+J2vDW>T_wSdQFWPoz z>oqh6Vl#mgUV|LCsr(TJo$4`T>D*x)Hf$VU%wzQqk7%2nQkDL7nTAntEBko9HVr}L zCXJ5p7cbC;%WG${qUW`O#S69dh}y7FYmT6Lp*97<&_!AsTzy!)NITyzPR(b-|5+8> z7{d)x=x3@rCf@p9`I!R67UYL5SC~@tU0Y)qBX`_)e@}*f`2d3Gz7lKv_b^K9@C2K z-UT@K*s900xdKD@zX(aGNpcYwv{>)^xb`D8W#KZd8G`Z4v`Pexp3quKj1750Yn{o_ z@0*rysm2)9!wSreYXoc3?XiMIb00co> z%Su;h*8tS<6_yNfnGp2^pW^itJ*72iC5W+*c#=1*N3<)hM}(i-(9R_!>oVGP-cy`s zFQR;w!RaJ77YhIm#(9>rub<-7x>suCN#gvKT7K420@*h?!JSC*BM>ZOH?8DCF=wSl zo;22r{0CNQU8UtLb(OZngb#A^Xf6W@kl@7P)m7RNxKwy-HMog#uRX0@j=;M{BmWfx z)}Wmiuu>ccAp>wc2C^RcircEBkh> z)*)9g2eT;n2Ut%Vnc!E&F6TX-0ku{7xM#F>gw6bCxrRwy$2H6a>$JhrqwJw|Q2kpO zFy6}=uh)Wc0;q#svPR29?N_e{&0E>B^;#Z+?dv&8U#!>K;|+8LSo;my%9Ju-Jt!B^rIV5Xo2pk(7I9mwKW{BY3=#E_8l~N>ld_k%4$-e;-V(3xH$N=Xb#Nj z?|eZUiTMzFZ?m>XD%Y33s68!7D_AdGyAWV!>Dr}uJEChBNaZYJi?$1I)myZI@|u~< zvlUdVVO_U!k-Bm#7m(tuS{Vv@Ue+?>IOfSR8~V7G$$Gx5-G+pXxMdcoz4fxT1#cy< zXb&K8zN#I7!jVqhSwsDs2 z-KPD7Zu`b|&Q)oL=1mn0chNisqtsSbumec0X9IU=BT#(x4lb(i?$BCV0}P!-#~>3r zB8Cz%?1W4cemC_8&mz51CA3hI@E;Nb>3mnee5Y0@XP8@~q)=k$)t@SncccE)>)K>T zt;xWVg&Y!V`IgqqnkJjo7>TrB2oCb2Vp;K9FlScj+uzd0N;oi{^S1Vy^eX%8ZEYKy zH`JquJ#g%aceJT-YY2qrO*XWrXEeL_T`d_@&w5v@0<%Z$;VSXTJz8Hw*j?ncjqYXu zqn#1LF7MU4qh!%uuE=iMs|}N8vh91d<%k^fo^~JJj=ZNmfw!sqco$lVdVksB7jXesLjJ?r=8kdjz_!`62Bwn#I3ftu2Hznh_sqoyjzt z_px>YuQQHlgCuFDUiAq&AfiwFRm(!)`V@L~zux3iZHvPa>y%(}NW$;bJQ6$8Zc3t$ zOZdGiVp-xBfV4($@dbDQw?_SrYIgzPwxe2W;QZ}T^p-U&?Mp4o1~w_^4km>v%WPmR zfi2^)i}cIB)GBCI?W!9CD$6;h-79Tlj~~-=MdL%UN};V>IACt*dyZ*+rQoWtx(dn# zay#CJc<4ZHa7x6^`-YFESAL`Qfh}MD4fFx{w&z=D<@ebS-*OA1#c{0&ZxfGehjYR` z^K~JI=;PCcTic1A4eXll$Vz9yAG92H+4oR|F!z7Z_NGaF7k!`8HSZ-?OiX$Vu4Rt( z#PmVfG&UwC+4kOuT`cAFmab!Sq@0#g7JHe3LiUxEvs7xP&yaH_%IsHXj)#4RKgCy| zWKaC!@pIxgJnDUf5w|DKYG3jzaIEW#&2}gdlKF$&Y9?m8G~>veplm1 z&*ShL9}_b;#*GK6_!<#myqPu+!tZ7_vrkSlX&T$mC&zzNEsBtX0NjWl0oj7esMG}f zEC_g>g5Puat;cUFes|$_H-5L{w*kM6_}z)06|djgH)p9Vjn@+|${FsKnz0RWIeqmt z!*T}ZwLGuw9h0wVd-F}>+f2R#EjU%sw++N500c=3p+vuC?6WpGEm_L=96zhMET^OX K*xfnDy8S<(%-mf7 delta 130842 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 = vec![op::ret(RegId::ONE)].into_iter().collect(); + let owner = Input::predicate_owner(&predicate); + let amount = 1000; + let cheap_consensus_parameters = ConsensusParameters::default(); + + let mut tx = TransactionBuilder::script(vec![], vec![]) + .max_fee_limit(amount) + .add_input(Input::coin_predicate( + rng.gen(), + owner, + amount, + AssetId::BASE, + rng.gen(), + 0, + predicate, + vec![], + )) + .finalize(); + tx.estimate_predicates( + &cheap_consensus_parameters.clone().into(), + MemoryInstance::new(), + ) + .unwrap(); + + // Given + let gas_costs: GasCostsValues = GasCostsValuesV1 { + vm_initialization: DependentCost::HeavyOperation { + base: u32::MAX as u64, + gas_per_unit: 0, + }, + ..GasCostsValuesV1::free() + } + .into(); + let expensive_consensus_parameters_version = 0; + let mut expensive_consensus_parameters = ConsensusParameters::default(); + expensive_consensus_parameters.set_gas_costs(gas_costs.into()); + let config = Config { + consensus_parameters: expensive_consensus_parameters.clone(), + ..Default::default() + }; + let producer = create_executor(Database::default(), config.clone()); + + let cheap_consensus_parameters_version = 1; + let cheaply_checked_tx = MaybeCheckedTransaction::CheckedTransaction( + tx.into_checked_basic(0u32.into(), &cheap_consensus_parameters) + .unwrap() + .into(), + cheap_consensus_parameters_version, + ); + + // When + let ExecutionResult { + skipped_transactions, + .. + } = producer + .produce_without_commit_with_source(Components { + header_to_produce: PartialBlockHeader { + application: ApplicationHeader { + consensus_parameters_version: + expensive_consensus_parameters_version, + ..Default::default() + }, + ..Default::default() + }, + transactions_source: OnceTransactionsSource::new_maybe_checked(vec![ + cheaply_checked_tx, + ]), + coinbase_recipient: Default::default(), + gas_price: 1, + }) + .unwrap() + .into_result(); + + // Then + assert_eq!(skipped_transactions.len(), 1); + assert!(matches!( + skipped_transactions[0].1, + ExecutorError::InvalidTransaction(_) + )); + } + #[cfg(feature = "relayer")] mod relayer { use super::*; diff --git a/crates/fuel-core/src/service/adapters/consensus_parameters_provider.rs b/crates/fuel-core/src/service/adapters/consensus_parameters_provider.rs index 02e8815009d..64bf8ef40ae 100644 --- a/crates/fuel-core/src/service/adapters/consensus_parameters_provider.rs +++ b/crates/fuel-core/src/service/adapters/consensus_parameters_provider.rs @@ -95,9 +95,16 @@ impl SharedState { } pub fn latest_consensus_parameters(&self) -> Arc { + self.latest_consensus_parameters_with_version().1 + } + + pub fn latest_consensus_parameters_with_version( + &self, + ) -> (ConsensusParametersVersion, Arc) { let version = *self.latest_consensus_parameters_version.lock(); - self.get_consensus_parameters(&version) - .expect("The latest consensus parameters always are available unless this function was called before regenesis.") + let params = self.get_consensus_parameters(&version) + .expect("The latest consensus parameters always are available unless this function was called before regenesis."); + (version, params) } } diff --git a/crates/fuel-core/src/service/adapters/executor.rs b/crates/fuel-core/src/service/adapters/executor.rs index e9a4739aa38..787e0db6558 100644 --- a/crates/fuel-core/src/service/adapters/executor.rs +++ b/crates/fuel-core/src/service/adapters/executor.rs @@ -13,7 +13,12 @@ impl fuel_core_executor::ports::TransactionsSource for TransactionsSource { self.txpool .select_transactions(gas_limit) .into_iter() - .map(|tx| MaybeCheckedTransaction::CheckedTransaction(tx.as_ref().into())) + .map(|tx| { + MaybeCheckedTransaction::CheckedTransaction( + tx.as_ref().into(), + tx.used_consensus_parameters_version(), + ) + }) .collect() } } diff --git a/crates/fuel-core/src/service/adapters/txpool.rs b/crates/fuel-core/src/service/adapters/txpool.rs index d9314ecdad3..99544558e76 100644 --- a/crates/fuel-core/src/service/adapters/txpool.rs +++ b/crates/fuel-core/src/service/adapters/txpool.rs @@ -28,6 +28,7 @@ use fuel_core_txpool::ports::{ MemoryPool, }; use fuel_core_types::{ + blockchain::header::ConsensusParametersVersion, entities::{ coins::coin::CompressedCoin, relayer::message::Message, @@ -149,8 +150,10 @@ impl GasPriceProvider for StaticGasPrice { } impl ConsensusParametersProviderTrait for ConsensusParametersProvider { - fn latest_consensus_parameters(&self) -> Arc { - self.shared_state.latest_consensus_parameters() + fn latest_consensus_parameters( + &self, + ) -> (ConsensusParametersVersion, Arc) { + self.shared_state.latest_consensus_parameters_with_version() } } diff --git a/crates/services/executor/src/executor.rs b/crates/services/executor/src/executor.rs index fd5fe13de3a..c8ebdb8fb83 100644 --- a/crates/services/executor/src/executor.rs +++ b/crates/services/executor/src/executor.rs @@ -164,6 +164,12 @@ impl OnceTransactionsSource { ), } } + + pub fn new_maybe_checked(transactions: Vec) -> Self { + Self { + transactions: ParkingMutex::new(transactions), + } + } } impl TransactionsSource for OnceTransactionsSource { @@ -697,10 +703,13 @@ where { let block_header = partial_block.header; let block_height = block_header.height(); + let consensus_parameters_version = block_header.consensus_parameters_version; let relayed_tx_iter = forced_transactions.into_iter(); - for transaction in relayed_tx_iter { - let maybe_checked_transaction = - MaybeCheckedTransaction::CheckedTransaction(transaction); + for checked in relayed_tx_iter { + let maybe_checked_transaction = MaybeCheckedTransaction::CheckedTransaction( + checked, + consensus_parameters_version, + ); let tx_id = maybe_checked_transaction.id(&self.consensus_params.chain_id()); match self.execute_transaction_and_commit( partial_block, @@ -1038,11 +1047,21 @@ where header: &PartialBlockHeader, ) -> ExecutorResult { let block_height = *header.height(); + let actual_version = header.consensus_parameters_version; let checked_tx = match tx { MaybeCheckedTransaction::Transaction(tx) => tx .into_checked_basic(block_height, &self.consensus_params)? .into(), - MaybeCheckedTransaction::CheckedTransaction(checked_tx) => checked_tx, + MaybeCheckedTransaction::CheckedTransaction(checked_tx, checked_version) => { + if actual_version == checked_version { + checked_tx + } else { + let checked_tx: Checked = checked_tx.into(); + let (tx, _) = checked_tx.into(); + tx.into_checked_basic(block_height, &self.consensus_params)? + .into() + } + } }; Ok(checked_tx) } diff --git a/crates/services/executor/src/ports.rs b/crates/services/executor/src/ports.rs index 74d169e62c4..29ac0d07302 100644 --- a/crates/services/executor/src/ports.rs +++ b/crates/services/executor/src/ports.rs @@ -1,5 +1,8 @@ use fuel_core_types::{ - blockchain::primitives::DaBlockHeight, + blockchain::{ + header::ConsensusParametersVersion, + primitives::DaBlockHeight, + }, fuel_tx, fuel_tx::{ TxId, @@ -12,28 +15,33 @@ use fuel_core_types::{ /// The wrapper around either `Transaction` or `CheckedTransaction`. pub enum MaybeCheckedTransaction { - CheckedTransaction(CheckedTransaction), + CheckedTransaction(CheckedTransaction, ConsensusParametersVersion), Transaction(fuel_tx::Transaction), } impl MaybeCheckedTransaction { pub fn id(&self, chain_id: &ChainId) -> TxId { match self { - MaybeCheckedTransaction::CheckedTransaction(CheckedTransaction::Script( - tx, - )) => tx.id(), - MaybeCheckedTransaction::CheckedTransaction(CheckedTransaction::Create( - tx, - )) => tx.id(), - MaybeCheckedTransaction::CheckedTransaction(CheckedTransaction::Mint(tx)) => { - tx.id() - } - MaybeCheckedTransaction::CheckedTransaction(CheckedTransaction::Upgrade( - tx, - )) => tx.id(), - MaybeCheckedTransaction::CheckedTransaction(CheckedTransaction::Upload( - tx, - )) => tx.id(), + MaybeCheckedTransaction::CheckedTransaction( + CheckedTransaction::Script(tx), + _, + ) => tx.id(), + MaybeCheckedTransaction::CheckedTransaction( + CheckedTransaction::Create(tx), + _, + ) => tx.id(), + MaybeCheckedTransaction::CheckedTransaction( + CheckedTransaction::Mint(tx), + _, + ) => tx.id(), + MaybeCheckedTransaction::CheckedTransaction( + CheckedTransaction::Upgrade(tx), + _, + ) => tx.id(), + MaybeCheckedTransaction::CheckedTransaction( + CheckedTransaction::Upload(tx), + _, + ) => tx.id(), MaybeCheckedTransaction::Transaction(tx) => tx.id(chain_id), } } diff --git a/crates/services/txpool/src/ports.rs b/crates/services/txpool/src/ports.rs index 9931b8e3160..2cdeec3aca1 100644 --- a/crates/services/txpool/src/ports.rs +++ b/crates/services/txpool/src/ports.rs @@ -2,6 +2,7 @@ use crate::types::GasPrice; use fuel_core_services::stream::BoxStream; use fuel_core_storage::Result as StorageResult; use fuel_core_types::{ + blockchain::header::ConsensusParametersVersion, entities::{ coins::coin::CompressedCoin, relayer::message::Message, @@ -81,7 +82,9 @@ pub trait MemoryPool { #[cfg_attr(feature = "test-helpers", mockall::automock)] pub trait ConsensusParametersProvider { /// Get latest consensus parameters. - fn latest_consensus_parameters(&self) -> Arc; + fn latest_consensus_parameters( + &self, + ) -> (ConsensusParametersVersion, Arc); } #[async_trait::async_trait] diff --git a/crates/services/txpool/src/service.rs b/crates/services/txpool/src/service.rs index afa90ca6ba3..a524434e6d2 100644 --- a/crates/services/txpool/src/service.rs +++ b/crates/services/txpool/src/service.rs @@ -240,7 +240,7 @@ where new_transaction = self.gossiped_tx_stream.next() => { if let Some(GossipData { data: Some(tx), message_id, peer_id }) = new_transaction { let current_height = *self.tx_pool_shared_state.current_height.lock(); - let params = self + let (version, params) = self .tx_pool_shared_state .consensus_parameters_provider .latest_consensus_parameters(); @@ -265,6 +265,7 @@ where .in_scope(|| { self.tx_pool_shared_state.txpool.lock().insert( &self.tx_pool_shared_state.tx_status_sender, + version, txs ) }); @@ -400,7 +401,7 @@ where ) -> Vec> { // verify txs let current_height = *self.current_height.lock(); - let params = self + let (version, params) = self .consensus_parameters_provider .latest_consensus_parameters(); @@ -428,7 +429,11 @@ where .collect(); // insert txs - let insertion = { self.txpool.lock().insert(&self.tx_status_sender, valid_txs) }; + let insertion = { + self.txpool + .lock() + .insert(&self.tx_status_sender, version, valid_txs) + }; for (ret, tx) in insertion.iter().zip(txs.into_iter()) { match ret { diff --git a/crates/services/txpool/src/service/test_helpers.rs b/crates/services/txpool/src/service/test_helpers.rs index 0e76a51fede..2c6643a4008 100644 --- a/crates/services/txpool/src/service/test_helpers.rs +++ b/crates/services/txpool/src/service/test_helpers.rs @@ -265,7 +265,7 @@ impl TestContextBuilder { MockConsensusParametersProvider::default(); consensus_parameters_provider .expect_latest_consensus_parameters() - .returning(|| Arc::new(Default::default())); + .returning(|| (0, Arc::new(Default::default()))); let service = new_service( config, diff --git a/crates/services/txpool/src/transaction_selector.rs b/crates/services/txpool/src/transaction_selector.rs index ef4ab001b83..80158172714 100644 --- a/crates/services/txpool/src/transaction_selector.rs +++ b/crates/services/txpool/src/transaction_selector.rs @@ -43,6 +43,7 @@ pub fn select_transactions( mod tests { use fuel_core_txpool as _; use fuel_core_types::{ + blockchain::header::ConsensusParametersVersion, fuel_asm::{ op, RegId, @@ -61,6 +62,7 @@ mod tests { checked_transaction::builder::TransactionBuilderExt, SecretKey, }, + services::txpool::PoolTransaction, }; use itertools::Itertools; use std::sync::Arc; @@ -85,7 +87,7 @@ mod tests { let mut txs = txs .iter() .map(|tx_gas| { - TransactionBuilder::script( + let script = TransactionBuilder::script( vec![op::ret(RegId::ONE)].into_iter().collect(), vec![], ) @@ -107,7 +109,9 @@ mod tests { .with_gas_costs(GasCosts::free()) // The block producer assumes transactions are already checked // so it doesn't need to compute valid sigs for tests - .finalize_checked_basic(Default::default()).into() + .finalize_checked_basic(Default::default()); + + PoolTransaction::Script(script, ConsensusParametersVersion::MIN) }) .map(Arc::new) .collect::>(); diff --git a/crates/services/txpool/src/txpool.rs b/crates/services/txpool/src/txpool.rs index eab09da10ac..0afaa8216dd 100644 --- a/crates/services/txpool/src/txpool.rs +++ b/crates/services/txpool/src/txpool.rs @@ -36,6 +36,7 @@ use crate::ports::{ use fuel_core_metrics::txpool_metrics::txpool_metrics; use fuel_core_storage::transactional::AtomicView; use fuel_core_types::{ + blockchain::header::ConsensusParametersVersion, fuel_tx::{ input::{ coin::{ @@ -343,7 +344,7 @@ where tx: Checked, ) -> Result { let view = self.database.latest_view().unwrap(); - self.insert_inner(tx, &view) + self.insert_inner(tx, ConsensusParametersVersion::MIN, &view) } #[tracing::instrument(level = "debug", skip_all, fields(tx_id = %tx.id()), ret, err)] @@ -351,16 +352,17 @@ where fn insert_inner( &mut self, tx: Checked, + version: ConsensusParametersVersion, view: &View, ) -> Result { let tx: CheckedTransaction = tx.into(); let tx = Arc::new(match tx { - CheckedTransaction::Script(tx) => PoolTransaction::Script(tx), - CheckedTransaction::Create(tx) => PoolTransaction::Create(tx), + CheckedTransaction::Script(tx) => PoolTransaction::Script(tx, version), + CheckedTransaction::Create(tx) => PoolTransaction::Create(tx, version), CheckedTransaction::Mint(_) => return Err(Error::MintIsDisallowed), - CheckedTransaction::Upgrade(tx) => PoolTransaction::Upgrade(tx), - CheckedTransaction::Upload(tx) => PoolTransaction::Upload(tx), + CheckedTransaction::Upgrade(tx) => PoolTransaction::Upgrade(tx, version), + CheckedTransaction::Upload(tx) => PoolTransaction::Upload(tx, version), }); self.check_blacklisting(tx.as_ref())?; @@ -427,6 +429,7 @@ where pub fn insert( &mut self, tx_status_sender: &TxStatusChange, + version: ConsensusParametersVersion, txs: Vec>, ) -> Vec> { // Check if that data is okay (witness match input/output, and if recovered signatures ara valid). @@ -438,7 +441,7 @@ where }; for tx in txs.into_iter() { - res.push(self.insert_inner(tx, &view)); + res.push(self.insert_inner(tx, version, &view)); } // announce to subscribers diff --git a/crates/services/upgradable-executor/src/instance.rs b/crates/services/upgradable-executor/src/instance.rs index 3fade8a2efa..01f5ba41a23 100644 --- a/crates/services/upgradable-executor/src/instance.rs +++ b/crates/services/upgradable-executor/src/instance.rs @@ -179,7 +179,7 @@ impl Instance { .next(gas_limit) .into_iter() .map(|tx| match tx { - MaybeCheckedTransaction::CheckedTransaction(checked) => { + MaybeCheckedTransaction::CheckedTransaction(checked, _) => { let checked: Checked = checked.into(); let (tx, _) = checked.into(); tx diff --git a/crates/types/src/services/txpool.rs b/crates/types/src/services/txpool.rs index a301be8b952..7699c744f11 100644 --- a/crates/types/src/services/txpool.rs +++ b/crates/types/src/services/txpool.rs @@ -1,7 +1,10 @@ //! Types for interoperability with the txpool service use crate::{ - blockchain::block::Block, + blockchain::{ + block::Block, + header::ConsensusParametersVersion, + }, fuel_asm::Word, fuel_tx::{ field::{ @@ -57,43 +60,53 @@ pub type ArcPoolTx = Arc; #[derive(Debug, Eq, PartialEq)] pub enum PoolTransaction { /// Script - Script(Checked