From 8b5bc45fcf0d932de39a40e13ff5c06b9f39f684 Mon Sep 17 00:00:00 2001 From: Aayush Date: Tue, 7 Mar 2023 12:49:07 -0500 Subject: [PATCH 1/2] fix: eth API: correct gateway restrictions, drop unimplemented methods --- api/api_gateway.go | 2 -- api/proxy_gen.go | 26 ------------------ build/openrpc/full.json.gz | Bin 33611 -> 33613 bytes build/openrpc/gateway.json.gz | Bin 8480 -> 8290 bytes build/openrpc/miner.json.gz | Bin 16043 -> 16043 bytes build/openrpc/worker.json.gz | Bin 5225 -> 5224 bytes gateway/proxy_eth.go | 48 ++++++---------------------------- node/impl/full/eth.go | 10 +++---- 8 files changed, 12 insertions(+), 74 deletions(-) diff --git a/api/api_gateway.go b/api/api_gateway.go index 2e877fb1a..f04a86a63 100644 --- a/api/api_gateway.go +++ b/api/api_gateway.go @@ -83,8 +83,6 @@ type Gateway interface { EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error) EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkOpt string) (ethtypes.EthUint64, error) EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*EthTxReceipt, error) - EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) - EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkOpt string) (ethtypes.EthBytes, error) EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam string) (ethtypes.EthBytes, error) EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam string) (ethtypes.EthBigInt, error) diff --git a/api/proxy_gen.go b/api/proxy_gen.go index 17be4088d..9aa9a9c7b 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -692,10 +692,6 @@ type GatewayMethods struct { EthGetStorageAt func(p0 context.Context, p1 ethtypes.EthAddress, p2 ethtypes.EthBytes, p3 string) (ethtypes.EthBytes, error) `` - EthGetTransactionByBlockHashAndIndex func(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) `` - - EthGetTransactionByBlockNumberAndIndex func(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) `` - EthGetTransactionByHash func(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) `` EthGetTransactionCount func(p0 context.Context, p1 ethtypes.EthAddress, p2 string) (ethtypes.EthUint64, error) `` @@ -4413,28 +4409,6 @@ func (s *GatewayStub) EthGetStorageAt(p0 context.Context, p1 ethtypes.EthAddress return *new(ethtypes.EthBytes), ErrNotSupported } -func (s *GatewayStruct) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) { - if s.Internal.EthGetTransactionByBlockHashAndIndex == nil { - return *new(ethtypes.EthTx), ErrNotSupported - } - return s.Internal.EthGetTransactionByBlockHashAndIndex(p0, p1, p2) -} - -func (s *GatewayStub) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) { - return *new(ethtypes.EthTx), ErrNotSupported -} - -func (s *GatewayStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) { - if s.Internal.EthGetTransactionByBlockNumberAndIndex == nil { - return *new(ethtypes.EthTx), ErrNotSupported - } - return s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2) -} - -func (s *GatewayStub) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) { - return *new(ethtypes.EthTx), ErrNotSupported -} - func (s *GatewayStruct) EthGetTransactionByHash(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) { if s.Internal.EthGetTransactionByHash == nil { return nil, ErrNotSupported diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index bb1567be5e8c8f42cc72492e907c0c0c2cae9b06..718eed997827647ab6840d9f599a1d4f3ba04ae1 100644 GIT binary patch delta 32106 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 delta 32190 zcmZs?V{oTU@b4Ylwr$(CZQIu77uz;BPByl)v2EKn&)(-j{ZG|-*E3hu)J$DnJ>Tj6 z^i&wgL>Nc{31Fg@Y}*;7_Dar!bNX6{jLcXL7!RbWM*668XCU|{Tqvr+9M@H0N{ejP zDnRI^7B_ZyhTsVq+OMp2Wn*)7ef8|gHzUT{@y0UV^ty1{;3nlhA@HG5v<~1gfAQj= z)W<|#Iea|4+Z^rS)BE0yy{~%Su)Y0~&ktf*bnbge32+1c9Ce}#RG3}Av;1pj<16Ld~*`5s+QDx1$bd0 z-9{B`0ASu3KX$pG1XTTz-v!{gT*Rjg_YFH-eg!jr_D|5>UqpSro#c1>$A>mz!yR{b z8(_Oek$}cbBVh@L;S&kyG6kD30prajfC`8kp{;b1bouz5#b<|LlMz#zKDq z6gXQUb&C|yX)m3kaxRjMLG%E_^RU;hr{1B8<%AR$lv!J1U0$26zOGuVt?>!rT<8F@4m1YOy`hPmfx+^{DyYpCVhseV()>{mAVwZ)<^*SjoxCPC&!+vL!g>AJ z%vP+9f5dOTpZ{{_z5xKS7N%^3h^-@DSks;ZNcN6fb}u0k(P@<`@nO+RGGPl-S2b5S zV@`gQ7#rMVsAx5RJXnfClv10JOeZ)P>H&eTH&)w_-x_0$##z_Iv)%@j`)8&Vo@TGt#;xJ{bPl+yFmwQQA z2eEP@juiEX+`WaU(;GyWUyw3ysj-OtqZ8&oCMDw%SpNutU!x3lQA;I;ZbQJ@Ed&}9)8FHGYrG6pcGE>*Y=6ib1cLP zmC<{Dq>godQ%pq0V*E@q+8BQilE|SR6!O#lN|Es$YpHGFl$7X;M2Zho(snHhf(=Z` z8#Qg(wL2haPKpaxTCbG$bf@=ys9smEqQ>1`c{$Dds+1@RQsOZGa29-;y@Bb|j_PCoU5nP65R?P@*gE{Ti3+?dHNBb>P&mL3z5KS31b zs(Q-;sT2w*(+bH7!>)i>9tnuw#&Gs?{5Wyc)N{TsrxK!%2ubCPm;@;h+{uHxkW=-NnIu^~@&TI{?Avj_zJMTrb0)5Tm-d@teFt^f^|_JA z>$2pH9(zolEGIzE$B7k4uf=pLg)_k5FTC6KTVcE>qXJ!3rbld9Os1EIa)9*=k#3b@ zYAfGz?ddiuPsk>L-EZzB(dn8|^IMvYTNEhqI_DABwT-cLomX$H&DxkG1~c!6hn>_4eT%tKXMM%sPQizP9Frw%bTF4_S|_5OZS0 z1A&0Ch{)ai7}sGjn~8T)6Q@fv!>kl?3m1el7el{zWl~=4ZZxp z1f4ZSdre{HyH9u=#~cGy=ttWwpatyj*KeL2N*fLX=T zsCB#$L#m#BMAUtw7Y?cl1TiCM$)R>7*wcCr&>ySr&gl+v?W(}^#PA*{4b(-0+#!RX zoFZ@+W~8}*_39Da1Wv?LV(u>79gQ$b?(QF?*Op1{PMj?KKtPV{UJTtKdrAKs;rVg( zbn(4?0{ijww5|R)`2i~k1pjh!_VDw%|2{;*%kk&_)K}tr2N3|Yqdl>hG4?{ioUMnK z8OF!Oqh(GcH%1@)yKYmHzn};JdF6y92Fn-**{_NSd}#qIH-f$ZvB2Pg$*$klGvglt z)APN8(Ir(d-@x5S)+_yxqY8I$w4CFRquZozP+x~f+5r|^IcJdhWsIXzcAzjsU<+<85|*D|;4he`VCF3)v-%sH)rMWk%XE2GLs{pxZ z{abws+f6h+LRR*p2cJs3hxS+L_ z8w>8e`*Hf!7g0gW(Xn;s1Aod?8p`4K;LXcnxut!1QmiBPPAN0s?~6nO&+(+#1ATjE z`G?7T5&?R0k;|$-2D)@L>&;YRZdOR;;=wXQ=goQZ1SI;}hEDhC`w=CPVTq}NyjxW1 za>WDBUY$X(n0=YL6xvJmX5R#1$vB*pdWh2J@?d)j9V3cQ-nK(LKs>uMI5aPq61;31 z{+!a!%&0l{wxb8&ELP0m$nxPnr(g*fxHf@9Zzd!3+ zBC|xN@AGK@qUG(bGSj|a7t7!WZFOU1{PT37)jN$cg1f9H*^6z5b7tis!a#njqoF+# z0vE3=<0<7jgwLsZfi@Sa%Pl7JZd$#JdhN1@MS~*>!N&zKCJM$y+ipI2((rq%-gH(j zQCV<|8CKja`ExLtKX&cxYZycD7)IPsdho#ZO4DJaPG5g0E_x z`5YDM@9p5rCZmg&d`fh|T7`6ZX0-+$zVt8t6S)xeW#jdV%p^FEIf=0@*2fk%O6A^| z@1&}_OzByG&0JM!o^wwnr>;BqFBsy;8gQYsn6W>)pc$FuJuC^@r+-Z%G7qXLwpYTb z1E5c}-eRMW`fDW|nY@!j8PCrU zU)$|DiAO%ypk{`dMsNDPWknqwlOuIv3G!j-7CO{tU3)E2IKasRb4m=DBoA)r`_I|p zFo}wQbfsXw4lx^v5-dTIQvwBIW_FObCIe`SN1aN6wK6L51Co-FvieHYd(Cw>;0|Hn zANcnkPDm5@F;!nUq!7JSa;Km+INUZ85liwiI^sgVs2~BQ5$qD6wd5&7~Hj-U{VXr^n>-_2BX9@iY@b=bT`WYLRSJesp{rP7V z(2w|R_#AjS2-^clc=!D|iWj^(j*z!#^AFZ2+(k`PDqUuEj2*sXsgc-cS`jQLyJ`s~ zw!T_&@@py}Q)@b-_+(WAIAV~!R6&WesRvYcytVioL@22@EPTahoD6Z~I`HG8RJsGy z#nXD*YB|=fL?d``4Le-|8ybnUqj0vqm?Z-V3XjZWqf}Be0!gcrqdyiiHGrux zVM3HzTrCnhN7E(G*j2|m!0qB1)5N5uOq4?hU+we~<#f z2c58Sxs`ML8J;AAq%4TU{lzVsL_MloHYA;KN1fX7UMoDgj1-yXCq#9LU zk*hU3yC`X0EbT9+dMp(BlD5ceR`10iGfO2;u4mF92U+Hzf{h_)C*d;QjMDbXWZa_e zCRawD9~N{*HK(E^tmo4g(u}Qa_mOb{mG8Z}qel$&s+8Y;Z$l?`bFn@RMwFhX;-7T$ zQ4PZBBoI`0Ov1ZEP#vgfU0?u0gkoNcvXrXR%^%EBv!=131~0f{wv;r9QKn3>J86RB zDMpt+syTO1IMW{!)&Z+2J`RqKuC}JDH@SsCs+hcUF<)YiW}BkX6ZJ)v<}X_0Qz_l@ z&QFb1582N?l?zk3H65V5mcmjx1S^T^RT|BH)(w^B{R$fHgEK+uH8=pgg+5_8F1KS* zZ}U*C8H6Xj<_vO;>^>tfN-4hQgumKDFuf#qD3G)|dv{h@+g@avd*Oer8uCaHm=n{P z9-p_Hb>@S#)*7Y~S}><-+{hhQhA8qwyPC19&NXVx%`YpWTQL|cr7NEWdz80`CbhaKWFEcvWT)lrEQt%%C?)*$ZYi7}{;a}9p1Ku1Wr#mk{afyf>68)qd6?+gZvwOA#Y5S(Y zFBaP{?B-Q!IEVYq!D#oupSgBm1?F~({h6>owE8oLSOqqhYb7X~-ny8>rMvU3KUbLdW6UC^+5L)S}v!Ph(iFLUiID)wo&a3`vz0p>J9j1 zdBy0cz!*cEjE>;##&u?YO?0gzW3gA_#~e|f>|FMA{I&OJ)qydS6IcMG+uk#6?l`k*raOJ7XSHxQj$(hIfr2qPRs|)PPxYgJ39NJA{@N+@cr{ zYWO_r-BrL=HB8}rRWR2mZxEgVL_(c2vq&VtmLIaR*}2H|3h`qJYll=b;o1F-v;@Uh1@& z%Ft~s-RZBkqySHT!Nzd4%QevH!4A+?4b;bdaiOItJA;9q=9gl z8_d@8><;m0Qx*pCEZ^x(_FzE?PQiNsB{YIOXr8+1_p);og{i*-K$bh1TK<+!*UG0f zxaa!4lqXhZeekW1!SgY-_6ytWEYPf<*!qCZR@9$rM>KO~+j+(Hk4cdpGjm>rd*wFnrnJMK^bv~EoH2)hK@*IF+zvJ2;}Ae8 z!s8(<`pI|&5}oVtT(vHxAD;)}{*l1?Pr>N8c^u!N6VBuFqQ;w}Zg%gl5WDy6_vUVL zz|(uyi6T|o^Q^Ye85cL+vp_+kDziuU$H`Di*!t&|?}8En701R_UG9~(bm`xuZM66n zx}Gndv)noJ?M!Eyy~-&L5!*nGlL^4$#G2OkgY{i!KGWJ11|^jH)I4ZNL&d=C8mqW$ zdBRrZtT{E;j_H2X(V|ME*pmDJpvMvSOE%l)hj3ZJ&pD=KEhSb*lOirbgm-#L@In=Aq%uxxvg&&Gjmj>Xyry<{B zims&Tk%}8K+1uJ9RTK%0-J+FAF-u&3M8eMT$v2;g8@8^1{>I>41`9=o-<#w|K(xO< zXC!{tFAOSOk-^DKBD1Yq zFl02VS*JF@pDvc6TdTV^-op>Q>J6QQc8tJ+ndxPJP4{IHMwoVLR}sK)Q*%HBHQjcj z4?4QOopITz2NqlIk;k0BdRDmGFn7D_5HQ7nOyUaJ8Ed#Q4HBmC%=(n#GMBG3V!nlwSYOcj7&U z?tX{m?SBCZhW@{GhrrTzGMhje+ZUh{))2PVuV1G3YUHrdG8cP0IE5CTeavLb<@U!3 z6e+@~kR9jj5L+J~`%)GG?}AE1_1aAu#g1-Vp&>-wlrADnfDt8o#%8vu8RQ3QW!GYI z=>Cb@^epAO%%H`lq?;uX_{=V`cc2D`-eG82_)wfWRF6Ql-o+b1t5Z4UNZoQ38^67U zQ4vR8wmBrJLfTRhO%S!)Wak#NTwC>Z#R9x^Wg?I_)BJM^()ROsTRoi?I!}MD|k)m5Ql2 zFAIK-CrWb-A8EiMiv382-V!+*D{N;;e1*l1L1fd1Lu<9zZx6XNQyo)wYQ~{X=};}` zO!{?*enjnv54Pi9$Tk~8b65MLF_#0}8kC9YP_@(hfRoZ>DoZsEdtR29EDqa02eGU# z8UddaJ&K~n%BAV5#wwB0Mr5TZswEV|7uJKpJ@|{Irn3xeH7;o`%rrRa3d2aKJ&j)| zT}nGctNrEWX`NWLKAPRj0>c^lqKw5BWVthRX6yM-fudX2MZ!y3HJ5(7&l>5FU8T^wJ-xsOogLNy{6^;XVjO+E3`2%P-(Z#y|KiM zO%|?=?282Zi)lc^wV&^ans9j+_A+#8@)}AwpV|>PGB{&@v}WZlw@LI+6wUgcfbrxZ zNnnxgFsu8xs03;V2=(zkwBKmixlO=pQ#d>$;PjAU!Yd1n^I*RA`e!lPM*rG{u4jRk z^SASodb?bH7J7rKFVzbgYu@uqOS2e^+c@Lw$2Y0IRQ8|f60Ja=tFxda3LQLFste`Z zF4QB`?|EV5b)!O4Ab!T_fPsSsH#)^vhF_G1)-$pqzb9m|hh#SFJ1m>zS9l!OuR-{m z0GyjV9r<$%v&rx~{++tMMFuujVBIB5(dCAb>M^D)rYcW;Vhgs>5^S~6N)aYxB1A)4 za)Hu%+7=M{X!@Kb3Y)x1d6A4Vd(ubi zKYdvVy8$xjTQ#27<*hFk=nAVz)mB4`)`?4;<<3tfc!%`-zkd z3<_xP4wGC?BPp}kFBY2>w%k3=pM6I-Bb+j=I^2<@EzmQl-ZxcPT)egNj}M-%v|6Vg z9<6QGOb$z!4%?RLQ-wL`JpgGg*3A<#eAapQa(Nf#gwTsZBy(X+{NR` zWNRDS2G;D%Fm4+46XVDB8u;7;4U2U-mQ}kpQ!$3r!Jbv=g^S<^IEiI4 zIrGYyvMaYfxy2-edWQ$kUIqaie_wR6a$;66~eQD47743y0^Vt*uWp?^Dgb0)D3+NzV+Qssa+~)?N>4KRZ z^rFUXQs&x3hgY}waq-tZc{CB{!}RGUp!?B)N;qd2Pq|C(J##kiExJ{(zjMElZ?SEV zb&xCPt!VJrNL6CWxIgpTJMjBk?kN(=8}gSBw|lu}l1Ta4P?EL{wV{Ks+lhWfMWMF~ zilfur*FNZ=LhJk((#mW>o1vdmHIqnz}(kLO%QN+18z_N%H zJ0+DI+L!f|MS9h>bNOKF+2U*67!M+I5TPbrDNtoe#)UXsxg$K*j8)tu3v36jKSE{3 zs0Mxg%4RIpeRPptdl=&oZ^~~PsEkPI23W0iP4X|W19QGiQ}O-V(2Qc-?~#ykI5U$3 z9^CNYQ?o*Hwgm>ZcyrOz7inlY|T6&*& zVBKO!fKq%6O1e0_n^kp*mq84r+l7`r14-%_W!y~im|xLEkoLIB!pe&3+{HCq%cYfo z)byXYud3MVPQ{#h7v7F_)Q#1v${vsYn|CYx`T;r=7ICaB9tqj+hmJ!-z?@)r>5B6y zvn}3q^4sCjwc*9!FEfSBNjKTd8wez8W<^#n&mt&?>qlQ!Ih9_R>j3nR;O0YX9!-M2 zSiSSqajTsoQ<|T3vEIQoYMocVNfY0^EM3bo4o|xfZie7?j#33E*b&pqh}Ij?{T6;Z zW1%&s@!>um{Z%#1gc4Q!0KsUj!CNS0Yy_KkPGRJcu%N%I(maf$=97$m3ijG3-ZUgGf)Tlaq_{n9s)2<@(!!tx^4Pbq&Y zL3IAAY<{9)aHc3*mc89q$4luLJwjf&nmtK8_L>8cU4Jnb0mEKCj@p@*hV9%An?_8d zz7Ek7@Ow{oB*a8jnF+=Nug4Up`~}@Mom<%IxAQkSlaLn}GCPCZ#p~1vIUxlWNXDxfipJ2x%&*RZ2-X-8`JOQKRz+%XFgbyOdky zqyQ$N^5{M({$g^?=dnH=<^bGXm#9CZaCg+`7orL<5U*%1xouJ5aBWCaRLHPIP|(QH z657*PrQUMnMoU2PdJ(P4V_X;4o4|;IOtn-I(cw zF7~=w)K6i5aWUI_ivEy^4Qi6UepM zuH%JYBZb7)i2|(Ztu&JO`>MEdwp#y&HBjoHfiUUOKOE-EwR3d44E`{n9GKOpf1cD=0$n-YVO3ehom zn6^hVvZF=tu7rTQ=VKr-_W=KmOcT4#Cfu6KZ&1dQ7MM<~hWcY-{0o|Z7FvZF{D+FB zUcq!l2++*rN&^JQdDKr@3O`HVKrw0MYGe}e27vsLRN8|~eWC^Buh1*By|ENf9*sH! zEoi*13=*$k+h1Om@|YvpQ3uW=em+pLbP&Pn z#OIk-`pOD<-qCV29um`^!vWn$FskfbXEZz>65%@cw&#$X|komGKtieq3~68`TLgr%Q@!!9?4VEf9%EsM-*9weu?C_NeWm` zqceiz0aX9vi5wN35{0y|sD6@~Riz?Jw@y0`bxcAgyOYz$4WKrjz0S&bMXqt&1VAB^ z>ce27*TG=g%ozmNEqMwD4njcvS2|`9tf3aJ{UpJ3edD92y_q@1ZfBqmovO7EVUpd{ z2UA)Z7|mTFYRW{X%jQ=mHXLdV`V;?>lw|Jcx4%w!dn?2ZjY1aw!&x{KR8vB!^45^X zF>qc^!a6Rm>Y-eBX_AGicILkK5x}E#zivAh1)ce!jIU~{eoA;K6Zj4rSulWrjGod# zud^S)Z^|QJ?lNve@9I;*^J<$DGVe*^jnwr?XRj&6X}ub1ddXHPAS<|C0cKf7h#XBW zB!!BSJVjF61reY$1D7O*jWeEp{pJiK$`-?!H8W?sJsh#DO?_}2L%+0S!5 zH-0^W$pO78OwEpvNPG@-RioPI8`={>l26lcv^6w@UKB}|4fvr<0j=dx&IztVsobFR zFxbp-44(asdWJKIQQ_4SK<@nGX$ZcT+D9K`r^)%=9Tsol$VvUxGt@!gh@itlb$R+iqKRty89>&C zizr&m3MTuGwQsNmh)&lhlfcLa*)BU@JbNxT2ULZL)!{0$rj?fx+w%rWRYf=3UufdG)hB%zzKhQb25cKzShkBP)n7^z&9oG6P~& ztZ++=6ixXeh``Ht_+@)N-~&k5PmFw4zy)d#ezLmDfDHH|`$^ z4^Ak!r==rC5URA=N3@o&%lowocVKR9)3ElC={GoUS=1e954&%m5xmg%dsL}<`3ZgU zKXbt#lqJZ?2*hMkP0TVST2~H?&HZ;}-o3Tw2t||Yl&&c-bWz${Va6)VGvrKb z|9lSpNe$LO(BW=_aJkiYFG@y?U?c{TiRskA*@7cx}|qbp=ZW^A#XQCqzcaRZ}8Y43X_O#m?j0uDq^ z?JzH1k#n`aWj%6hr++5=Z8aN~XnvO!C$vDYXPO}W{N{i`sP|=3yke%Sx7HV(llpb0 zZ=1}^hsm*8_+ELlJg(}79yTgs<;$MmomDH!-L9RTbsDq)q%iBRyp<_E)aJi%Rh6Vq z3us#`)tDTQ@@$#ck85cKdjNPuU-Y-OP$1~$+If1R)h`CXSl(bc=z##L+?A%hdt|cBD0Gthm@Qe<}t|)F2I1^p4iu6 z=;FA0GcCc~Y&tDMYFMBK3zKQ`x0^7XB02t(|58x|II zV`KSV%~@#vVy%39pUBGHe474zY>kWAd4vq<(DD_7lC1Fe8JuO?6eDk-JB!L{I1**I zhoH$xoKxY4{L=qGMB86l7k_mKm*4A_!N2jC$qM5qJ^BB9ZGI?V0An6V8~Jz9l;f^V#V5 zQK3FSHx^vOXBsV3{kkUdZ`w(mxF-NuaoO32(P87`ZW;pL0A!Hs(0G3UorEj^AwDKM zEQfoK?vZGO^HlWuJ^#~P$cj%Qj=>AVi1LmjT~C&bU`!fxqyET(0Xxb?!L7L{RH9uP zBSn&OEmM=5T(b%6+PIX`i0XUo5TkhHym=bH7#HsLoJz-DOq&~Z@ux!3k^b}Um|tVS z)EEQx;8O5qdt;?tzO5$->_ZPVNUBP7Ys`aaSi>bOQ>W~j6$R+Nxl}iqQWSE z1X2v!dI63$$$w$1B&vt*DqbsNOvFVuf1HHIByFOo6)IJ*#99DP%@XP>#^I=+IF-G2 z3T#G2i?6vjrVEzBGp%~BDXx);GiNnaAVu*Eb%5)UkGSU-8q?(OZ2c3cBQ&J(J1+!> zvIr>Xc!xl+uz#>nk8rg%#GH6EN$MKjYN?<<3c>xJh5P>C%&A8O`9GzCY4%{>>T+Y7 zOif1!pe$Q&sdUx%muR(&Xv>gO;mwn!?xbCqBB^L=OTYK*K$2Ps;4k z&xJk#L4Lv8E+uo%9y9oDf-?Kth00PhP`JPnP|y6=oCvfWhaqS_Z_74hp?E5w)2col zLScRN&j^*#wi=;FFO(!pOWV@bu=5d(^F3xU*==sDtCueYriMa}6-dKaXacvxlv18q zBxf33MUOgcN(iMwVDyM78kAY}pWvjNfCOU};8v@_a@Sa{PLlhp62D070x)2l0Bm?9 zK*2#bEruZ0$l4=(4QF>{R`+J~e33ubtsqET zz{ga5w^3A?)RaJjA%TPBV28AW%0$D!?dRWub9IuG70MkX>8fCOh|!Su8ofZ=Qn%2+ z2f#tBLL)>k^8ck@jivA%jfu$ce2ZoQngjbYLD)_OC&aD1o_fYA+0gyL8-SmWJE@<` z{fZ^f&>{`e>TZeE8UePqR3r1NR?mV%DYmXJH?fLVA@oBWDorSxrflgil9QzdL57L_ zi2~S{?DY>RLZ)g1x!)k+?|b`&sPrWvwrFF|Z7W|J=c1w1HERx2jp9~y5INY%VhkkM zp6KBxMS^adU*uCcJ&qKRHdgA;;N8?+g~p}nVvXd|So>O#nN~O0At8{fM(>j4#$drG;Wrj0fFy24Wi}W5Vt`sO@ zKA4n6{2r&4Swb#zDWLWzJ6876km#E?s~3!MF?mS2IrP~!L@CRH^h|YmY-j}?LtFHn z5&()i+J{BFE7aTBRx$~N8%8Vc>*Kqj`?XDebtMi`y5n0r4H)hftU^;S+9gz$={7KQ zdqA6Ey1D937JL+oGRy6&D^2x3U@9C5`R*0Sfh>Gd*{4o%b$)+}z@IZ<`*jtzXNoI7 zju}aeUnBY5*e>-sCjTG#$DBDDKRP?@K|@3xS={k^%J*I}TTbuGtfBUHS4^LwaLHl0 z=VCW4be}$x8!%_*CG1NnE%Oczyo=S(xbpuCRf-W~C#KH4?TaCbP=cs|_BXu^XrNIEKN`eC)AcLGo z7o$LJU5A$mrvs9x#(Ca2l%+rL8M&*W#nDsss#AAfrm5N?32eX)K|*(sK+D%;~HZP zw2L0O3jizouez17KZfS@isS7iQvrL5Wwh^A7;`rS_9?BV73cLzDJ0-t3LkH?EFACD zeBt72OP;=0lgrq?T&|}%mwu~zs_Dy`+**Dr^C~L&DF455ZqEgQ5Mq?#_F~c)DpQPi_2Wh| zItv3pku&QK`fXx)*jyzHJ_*+QQk>t`Re7d^CYTd_3^Qf%J>ZqwgsM$=%5jB8i3u@~ zb1Q|Ktv(7qv%y~tvJF!^i)i|HN;s>xFEPI4004$N02o983oOFP5h192J_Dk1+7-^Z zb^F|0<55Ap1(cn2CNZ2y^kxXouKo7{S(Xr>i!LX*s>4UQ442w)NnX<_?&_VW289CT z=^wFjr-DCq;GC#vc2?GD1RtcdY~-94nL1Ob$%j@(SSqB{rF`ZcuZPlA!*yhk^QVSf zSY*F2rkf3smifgcmyP|E#n0Lpc?<#D5?Bwc+meQIIaAm6O566PLdW-p=AMu$@d+OA zP=VXGk+x1$`K^>iWCI}AAzI>Ag-3dDt@<${A|psu)xHP}n63tO`f6{c>8}i-tVG#{ zqq#Tn8vp|j2M)rk$oYs(6^Rovm&*3@jkM^2Iy_LcQ=xrzwRb})(HM9gSFN;w z>}S&uXUf`66ATX2ip`yR`ZGZC-YpBb)FY)X{^kMzFqC*0HZFgbZty?Ok7l+x4IOU)yl39KFpTd9sUuGGQ45;}0Taw>u z+$8CN(A+uyB()>6PV+82v*y6ixfpDV(v(Qo4#6*vVK%W%G0~|Xo?NnVty-ed2@l;s zEKDyNq_V`i|JY*|hO%Lg#eqzMW5k9(iWSCIlTi@zkt}9@kT5S!q1shmwI2B!4mdb9 zbsmuG-kr_0la;UpwX6vksxIBmHrkDc>adB!n62YJeoUCe^UPr6W`gO}H`J#sxHx}-&(hks+!I}O|KKO6cs zLn(-4T7^S)LpU67_Yb5jUD{dL)v3f*{9`990>1%lM#a-Yr1b#M8gBSUJL>&|R) z6qS-Ez1GBJ(~^}Qv{FCnsM#$x$6?w72GvA-OHXjN%rV@!3>3d&<}-e*vQD1>E=3wv7gNkW%g+K=p`uU0>pL z<`7T6(LZF2p00{Ugw3o-1?f5nOy;^fyC%ngjm{d6oguAwJp2GxJnHwATJo5<4V1m} zT&Ngmsp%|@5c27JV1LBwL)&c~Y|#6HeW#0~S4OB$6utluO6?VDNMCm>*)D%0{jxj{ zd`-!1HxP>+rQeFPlT>*>uyTq;%a24O1sZtZRC#ktKCW)D)O{$joR zpxS9eG(6OH0e^m8XxrymYiHLpvEO#yWi* zECRQ;VVibGDTu-3^9P+n{BFZWuLhXR32ibh-1e$ z`W197c-s3W%X$%Yigt@v8C7kl#`F6XnML(5l1bu>KT6SqGQftuT4|4d!X|+#60Sn@ zWG~Q5I6+O80h2nSq_8e@qZOlAs~T0Sc&+htBlg^-RZP(}Pj)qyRa(_1^~(>a4Q(y7 z*RW$IKed1mNa6!~7TUChcEl5p&DE&x%`=6}j!x8Vxvy;+U`ebMQ#Lrf#l0XvX^ZG3+n5M?S zbx5oWHO)f5yx+ibKP9Zw6ApW;oyJcHZi2$P3z&oUD1gMf%L0}GT5O9Q#?10emuNNX zqlclDGzJJEc4qxTH?m4h6qm3KjG0$$#5!(wAyT0bkR_8BX9hKX_$mv49%|m?P|(>8 z+TJeM`MCF8Tsa_$5bWt-Zd|$fHF)kuj>p~IJyla!7se9Zvvj|rZ;fGEp~WGiiw0Jq z4MDceB}R^?TH2_LNdfkP$^<`GiomN|Zj zqyw#XiQUHRp?O{cvpCAE5z%Dw%!Bm6EmPWWCOiJ7SM@@E0*KCKPkivUu&q81is&8kg8>mY3WI6|Hs>gq z#Q7UPh}BYBGsK7Su!(r=t?B+NP38%ouYDNMmFaSMl~UeF^kU7tf;`8((zT!Ig{JLR?~+i6F7w&M5M+(Fd5b;2CNZi zGG^Y5nIqa{jk&}2O_3EcJgQ6!I=#kH#HoqM znryFNu9V5krZ+)>^~W&6F%sDE+#))0Z14LaiUb$jA5){5S!`7GsUo!2Jv90zD0CfV zMxWsf``Xq>WlOP1x9JtYuSYaS%zS(heQcMjFiYS!2rNENQ!CsaC|5G3RBN)qi@hBYqhEYqxg^cczu%=E-sC=?M%=d@uxPCdmjIwOb$lk#oZey5t zqi@0zIL>~zWM~Y7^4|bOtVK6{^wOlAwGNZr(uh?UYV2-G+_I1H9I>B6LIXM&mQPjs zFPw8)&c|}NK5$v6Xg%HIFGSkT!ZUBJeg*cO_NddOc)W5_l0A6m%r-0on+azm$KBq-w0%xaZNE!D~OQTO#4pG zL&igd^#^HQJFeipwl3fcXv+wP#StNdsSvK+Xve)|4TY@GfD+HiD>lW7P<5ubb-+La z#T!vCG`N2@QGhrMKiei?(qkx=G;vT16Q=2P*+(v=0Wwa!A9Y_!8k#Gu1u4i9k4q zd>(SK-+$vyaKITKwUNs%gQw;(BINC-)2IuTm!Dnk1s%ABxzhBV75=co*6Y2CO!~Ps zRq1C0qe~!?%q<{@rmJ2-ijKvrid9B`y|k1L-ZNymksKo+1kg&g(*jB}FT%?T=Ni18 z1_81Q{pdi@q>5E97xs1Uhpt66Gy&TpDciR~@B)Gkj>EEda#@6ih}oE!OA95*DJQZj z{bn7qi|}SHR%X-ZcwcPz6)iP?wHD-2!+^3Jh?p#lVtv1S+TUj?oN%0x2p$ zr5hIwiF875CCds5aUw6FJaY7zpOfJ5EXN49J0nO)E$yQb4GaJUa>J`1i);nb23;5Y z?QXZDpNgXzE6dQE=rs!9NFESW0Dyw6{&~o_78qB5ZaGwI4?wmM)vYUCx0tBosA!h1 zk+-p*FSAPSsgPltxiyOnI6j`6-0HaJjniO&SO3ESWxJnTbtQDs)LJ@B%Fa$F)BrRF zLI#_VM zYGkt2pVfo+{7~`Fa1P*xt456dlfo74^2rQ~<2i|To|YqG#j||6xyOTvKaq@hNEjpZ zk9>phS1GS``YzuJ*a+OV08#Lc(d5wgq!7KpgnymZ5Dr+Qzq61JH5r-v@k9}03MelT zi*v9m0pOzMAlU!jmTvZHd=PD_Yz#0}f9ZmKVrZsReKA9HHspqzH6$&xYcEah5I7*S zX{G&*;S;an6PvMBVISxxTbXtSKFgpUb~MQEExqo6@4j#&__^+90f8b;HB12LTnb+t zK40`%*;^9Ww~Ity=>zt3M)S*%((<0JeAqvRl}5}RQPLet);-LVg*PafH2`mt-+`pSkne6n%Pdl^Veh85SRW-|-Q*%1rT|gc_ z;x&Ud%^NPPh&bE<6Hl5;N24u?nbL@{V&;PyWW>d^=PJ6D=UF_&Je02xiE1chN2F^& zh9R4DHPE17!-eTNo-Q9j^LU&8`tL$O;*+3Z{y;tc0t00dzt2fdt=AZ4=pbZl)fm4X zro~{!Q8rHKp2&`{=AE5wSdhfndaSkqAnJ+KG}^kQ9JQ|kbgWIl_%SAq&kSjwJzSNl zWPXIMu7?y?3`7#g@gquVkcWn0>=WAZEtJooWv#P8r>&$8(d%v$6;eZ;i)D>+rqmMOXj#aq-}DMK*+r6?J4 zs9i*Bn>FbHk`~;!%Cn1L@XcD4XE^R@MH?E~<{wsO7HoLB0dd9t?N%0*D2{|`eCt8;l z{iGYsO^lDc4YpE?FDenk*vID6$5OVHvmW)})V&=5Wn5ggmXWT+`j$$y3i&-;DU}(b zzu3zJG+YXbGu*fGPV3%QR#1usb7Mr~iM8smq|9d|Rtu^|5sz@5Zzf5 z{`uJM*tYFX(y?vZwtlhA4m!4N+qP}nnY{BqvzRlR+11_MMV&hJeDNuB-*)oFPpCkmx)UGezwub zF)iR;)Nco?L-dTX4>bWABaUrNHSJZ!HE;F8+J#h!|vzD&MayxR^4PtwohGv0g&)uZ5=A%K0J zXjqGsQYWU&X1`4kSJ)K-7X4yPV2qgDra-%LF_3JbkS%UsGym~a_U$|bPz0B((hnQm)uV8P&E}Iq3C#;&gQeb zO2VObG;`4a(GOIX81W2L&C@Zm7QhXeJJC=*LR%qK(mp#|5PY0gOsV7FC7_8U3vj%Y zXQW!sbMD?P71FkkDE9_=EolawMsG)|(t3SQ3z);i^D?(ZE6!$=7**!_2GU7Hm5&u5 z;?g<+d@pOC4s)5})pkJpfMSj7)L@}y0y}9iHsH{Dq=s6Z zCOh!IX*10tRvzIf3{?E6C$}Dpm{)Qu6iZ%AgM+*70-s*B^=RKrH?8L`lFPw4xHFs2 z2THH!5|njt01fb?m&?Z`p>(g1@xhAWo6gHw_j!6{X!ZME4f>1yvwA#J>!!HBrC?nc zXF=6A%qH@M!P>@!6W)ym7<6A;dP(PmzG|brE+WYuYud@zN6co6&}xjk?+DPq;#{@Fb_h)n-|eUtkx9Q#!s3FkZD+MqIf5GzX-g`C?&Wy$&FjL7vq=l-D6TA#>H5Z^;o;i)Du7^0Ld9mygb-<7v~! zmOS|b_34l8_=?O!y>PAXELELF+)S=_J1k_!VYxd+70LtlyOSJYui(VEQcK)pmy7Sy zNWm8DUpcufBE4JyA$p-wTh`EU;rrDIu2j74qQ>=BoBQp2i_Zs0TP=?JRV|d!={WIc z@m4WTPKUv9CfWRs0nm(eXqk1p!w$L(^KlAY--$AZc491zaDL9ek)^&8?eg)+m1M3b z?TXpRH06rUJn=)%1)hL(l5&gurX zYfZaD*k{rlRT{EktAg*MnCO0_9T7kvZ-GdMGds>8lrko;VKQ z%CRWMw35|CV`-89!J|wb$Zg;s_!&-GGl_e=55ki7M3-Ae z+Q&tiNiY*i{qqk@1CX*ISTm)8$*TWR4G05t!5BCUhI5fz2#wi0Tt8cM_M^I8o|4pk zlU0*^S0`K}Wb#xn>7PwvXhBP}v3WNuIcez%_aPTh(tQPrY8H59e1%^kr!|z&?txWu zR@t#dU8XLe#5X*7@SH>hDr2AqM`j>6<9`y@1BkB}kYVCJe<(fvp(2EjS3v=Q zfJD(P_4p=e7%D3XB~VlNkvknkdaQ12BA{~k&2aRFjIczBYx1-~smsKR2A7*X9Cv!+ zh_CWdmRxgs44n^H>Kf@g1W3q+&=)cNu%?v_8xpSdX}2hYZ`GkP*N? z?nk~r|FYIZG3$ZiIm`jde+%+{x&ay}-BE-^~f$`NqL3ORK9&tY#4>2A08zgVE`&u7{Ho zfoLh-KgA2JUqKSy&=wzXTZ7a529EwM!oS}}Z}AXGAALgS32pKV5MBrb5yoSlzuy)G zvP>pp!#<0a#3t+#o0ON+*$X{4@8H^BN8jp{ewSVwJNi=m+}c!nDgkz$Hl@*$@K;IV zbl4lKsaD4J!v-{Is=*_p!a-Q{lduP1VSpfO%`9=F*5I}4Q5LB?Btz;?G10Jr#4C~? zom4Ie0*3sj!x0w7;OS2RM!k7g??z=ds9L$u!k{N|=kF_Oc&1yRY)Y?=tVX`Kpv;V{ zI{RVu3_ZEdBx|p@1i13;L08Ziw=!plH=V+J|Kz5*T>Xrs9tNnOo4Ui@U^l)*fP$5V-44OBR^ zV(C%>6D2t8keR{B=&G9P76ygE$+7sVDZ2J3o&b@N0)iqCduONrz(9WH&GeTlV8F(j z(T6>8q_bd9CT=mGMDiGr9bgQ)Cgxe=a^@HDi7suh;-hZU_-xeR66gCg)huMoPnHpL zE7=Ju@?gb>!O}ezU?$JBvNnE7@12oU@GqF2x*4QBrDJq*4y@og=u}z-*70{vf5zlk z0Yne>H%;{WS?KYXP67o`e<7s--wIvb))49#MG=%Pm`#JVZD#Ck*b={egY6iuuk0>C z8u)ue`Fq~^MePJ*z`4*5cs1kho$En5%g0MF3MHV$SUPa06i8LkCCoet+4?7`rwWhS ztpZOjY>PK98*YaBaA585!8>XNoy%eK0QDN!)+rE5`dwTlBYa*6!yl-E%?IlYAO{kQ zcNg{iLcK$y3V0E+;tM%uGR4TAQ#VZs+V$z>eI;bm@CW_>cRlj|w;idhHDB7Q5igBJU!p(%@&(8@vvt*Jb_vQ#amYp0lnrmNn&3WsSe9mWd*PF5?&MZhltUVgApc zQaeIEOz7kG&!Q9kW)`=*E6CREaXFtNG(1_g+q1P* zDVRtUa@lq;7k{}fd37ObeVfcjX81uO2``#rgdeQw%(4*=ZY^dnjW`ujGJ8y?62$Oc z_*t>W+DYf1LDWEZ34&$f4kpgXkt#ghc)BseN%(C5T!-C^z3!GXc4zSBE{VP~tY5WO zy4y1#IHn#T9uN4>KQC(5dE~eg{;s2~0zYCOv;J_QxOurOvq)>i^Av4k7zIC4AeM0w zMdY~w3jGWJ3TVCklfhZ+x-Oajw!Too!X=|KF;)tD4f$Qva_(h02pvvxpoJqRg1~Yu(@P1#x?62f$&OJ zi~Ypz#o-jEw2ywcF>X|!iUh_k33fmBn02C}0wo~Zm-G0@Rzwk->Mw%9Xt*=UDZQoY z=!2Ri^jYUWn6$66pbdGmTj2ASM%kz9xegpC+f`d6%b>D@OKBIWfEe)vBdSFawSti% zBFMN2e})?PeUNHtqBO!L2azgqA*{Eq(0F3}_(SC{WyMcDxEDqwfzWWt|DAUiS4L$K z08lO~YYU88$$lF0G+$@|qV|J6no@ycgOj{n>$67$RV$-1O#>`od%XzWb= zkR6mhlOe-mPO~2C9Jjs_Vc6&6MAJ_LvlPuRFp1CVtDxDC<-mTWPu~Fh({U*uV*Bbm zMQ(Rhb^XyjY<%u|@lnsxzM4LD!q$z~3huUiW1EraqlgPI{AJ+n=6ZNY!HztT<^Pf7 z!{>G|%+=NZ5!Y7I%yIHORk%iHw(}pO;-&BUt#cnon3JbC$&Kwp5(!^%$Z3{l(|i4| z2iE~)T<$XzUP)I3g`Tav{RC&0AQOQS1L+&zA23hvEMMpFd_>QfA);_fJw*h*#mFrI zkqr_GR8{~3Xvsizmg#G2(m#vSQ)5oS1)kHhcnVBSALB=Q8DZ~as;Fs6Z&fP|XfJz` z)r;pBVOdzQ&(P9u`>p@f?C%j0wA~T^ER1SB9waZ)hYmfV5`5SK-2!)12>HBAGj3EX8nH$hp#20& z#(KEu808HNYue5fUUX!c4$4|qrc*sqTg@0VQR2p^-N-`OIw07@+6qHSHV(|JsB{|x zVXEj&?}*`*+|dv#-9-*tc2RH{s}zISB35FgxdvUBYUjET>yBEs$@Xv#*^2g%@|I-6 zY3dc0No?yPFhxU~LG1lgG2HITk$|#~o;jwAv5~M8oJuSd75-OF`+@Cxbim38J>N#YwB591|$6t{A?Tee@BWejjJR z)%S8*b?ek$oU}RQ&t#x*S)63g$qGQJWwV9$ieS+l#54|vN9oL&IIBnhReU`j_0d@GpmRf zAFwV$*=f&N2`e*a4Bq_ovo~|gXfM%MiVE~#`^+Oh3ir)t@tisB6PW!NA*QsFSafOlOW%15{CxR`{qz?VCat1QSPd3b%BN+MteQ6(k zo8Z_hHWLuT*>%6_S*IA@w{)2^60NiXBb41O(dNLWiz4xyeAzZK^SWpX4b@oYzf6qtYj zU=TrZAXG4O&a^RXfHz39P@4t7;so*mqJ0EhDXmr#!pbLu7zFpkW8~6|AFpLFtJzIN zH&6*?)7oe755bH;n8NE6G$_{aVOTXx5mXycY++8cCA1>)B`JusRu*>&&2qp6*W-S3 zseCOB$j_BOKwd(|6^W&X^G=0#9V*(wuV+&FQ6;7$hGZVuoN`UXtJK`MREN!mK5*s- z&>)icD{f+u5hiUnBx?r8QXoFPlNISLFer#A(t`{dNQmhWfP1@{F-={-58O z5@B9>K;Pcjbuf0olyY(utD2%v(rPLU6CQE#=-J#4%nr!cR(lsc@kA9D7%LH6P5XEB zS$r#TU1uGzB7=FCX#@RW)Fi?T8Z`9qnbV*S8jZHIP%SkHZK8j;Y8JTCCU_y|NKt?+lVWp2RJc>~xcjWH z+;GmSfIbeCHK;#<-A6e*m@Yk1ivgv5J7%i;R1@@i&J+KD(r*hGK79S|K>=^D?FP`qa?&=!*FPeN@j{SHW-VN* zhP+IkKANakvV87dK6__k!>0BM3o*pVT-5}7TCB2=a!Vn|e+QC)MGV3>=%K0yIfo>9bDB&2ABLVBAR`^E9R8 z$q~Sj-esAfM`>Bd6G*-Y9e5z<@NNOAMGEtX)eT^BVVBU6DML}^Rf`-jJb^I7I7^u8 zu*`}$Iwi}oIHInXFimM^*Ox(Cv)z0&7UK89cgaC7rEAob&I`9pTqg!jKS{=(=X5A% zW>#KgR19=DwRJIQI}c%3Ny%t14I15Nf(HOCq+!m*v@6Fa<{y`lmlscsMaA?=Mj@16 z+;BSTgyn6*D`Z&AV+697<8=h0D_lL zaXTv8=jro{x8`?#SbB-0$N_ZKZRJGj7&|CpMJeh1n|=Yb95ew?!SpzqGb-BH0+3kY zc~^lUJ!&q8{qXixR*^A#w`k#8MU$$usd zZ6t?%PK{rc2(~Hxor5rxGIv`sF$O?V9N}}7eHYRO{EIV7yE*j3Z$Fkik~1Y2Ij?z| zKA%)SEsH~4ZAO`89+c7`Pori%pL(1a->{fwa`b_d-$5j$MfsfJ?6Z;tfPtfDRQ=tjaKks#LFpJRxz#waBERkp4T~sr3JLTE!Vocr_n{&|d&&Cm z(&Y6Vv1#d+u~67$rFa!OiAegELD`^F`vsZuak0DUQ?GqJ{p^2##usK*IhbCt=^HDj z%CWhX7%W4YL%ULX5!nW?=*lj37a!*n<1bwsRI1?O43Q4NG6w&P|i3@)l zZU3l4=nZuOirB`$h2Zsd^fwlt+iGug0%vbfcK(eYs*?DMGL494y+~FRzM$q6np?Kj zSS@cAOfcRPU^>;Cj;_@Tw(r1n4`CTIj_V)enH=(Kmg?achNuGXO=k#Jon;Z;8}Qhe z{dai!Y|!ig7kBCKr|t7%miVZ{4*-qjUKSe(yoV(zD zlD=9G4-D#4>GsN4=)gUtn{Uuac6k3T^*t(gbtEITn@?;X$>Z>vK3A`I3UIx9agB6$ zmud#=Izwgp0sE*?6?V1{IYPfXF>IVrfIU6O8HDd@4*rvVhocGElL8to2sr-ellf-y^$wj5}0bhSf>B5zai$2vy(yXTeOgie}GoqEzJP+Futv$JslXqp@gZe zcFQsfKUp0jYVC`hMp;rO0$6&ekvJ{0?DINYU^x{TG_;gwYwy5Oo~Q~YN4vi-m)LyJ zw2)_D8OB~5uTF+YzMrcVT+Af3l4qfC##x{hPl9l%7s{0wjMBH3XQHspSfEt`gFiEK zQ3{N}!dfZNl`LZ~O<6jHKP!B+O0=}lSuD`iRB9Zr`{%Dp#$lyQ3?Lz~Duc5xtomZ) z^6q{?h$+tO@odpaeLM%~-Cn!xHR|73< zm1>V-W-z*O*Fnhecft~v!_H7UnW=q;`Mp4r=Gb8HhINEcb&%b3)TVCkN&?dICtn-T zqUts^c*f9DXVbly2>^13ne=(NpvqdYF^AeRM z8LFaCRQgQqv?mYy{VN~IqfQ`^ta9OKdm`SZs*AZ(14%P`Pn_x(X5PF4v%oOWW{!SU zBCk>Mds=wgKPn0uzjRU!+M!ugTM|oTi^QNcV_}7QSw5z;`zHG4WOXj?v||)SiadET zH{DZ^Y{JARePR?gP?8hv@tY@cMZxJv=6q)R$V6%bApm}$jB?d@8NIYrcWX1Wyf4xA zudzEFM!f95UA}6mwvyDS(lgBL0cG8mID(CJo;XBT(f-jn9-8_j6T(zI#c|{Jjm#Ce ztv$uflP#wJ9>xr^qRX`{av#6XlHZV1(^$kaYK)gdHXz88m=E4h( zQj2y5_4rHlfRxA7-*Z-I+|@k}(vQ$0dhZCGo={=*W9N-pop7>Br*Xh_ z#4SPhCwBD(!4Y0{G$<}h>d?4ci=EjnnpnPq1p=%F@*~+aN7v!P4@qr87KFGmsB}mS zSPs+2m%YE?NUc&>4(kzosJLU(e$8l|CUODES9<4GgQ+D|zBKGP`M*@? zt-Lmq% z?G8vrVochqs|0Uli5OUixh*k+-N>|9A{K}m{R_d8T!|lJKGK-4bkwO=8P{Z3tpO6T z=S?-qs-QU`jC9w#G-Yo_nH5xNZ56|%V>6_H?V!DNZd@4$Qg}o6y@{TAFa>g^DlC%zY zzgbFz3o2mINT&Y|jsiUD+}b!GUF*bkvinHVi%ox7hqLDfG+u~@To6&a>L6Z;Ra47lr$ zz74Qs6pNIa;2oCUkC&*_OuTC)>r{6AO9A`QbbdETiRKCc8iRN7XYPqtJYJRtb7d$> zj>9qpl85Qs$%hRj1WR=uVcv6HcUR7Q1tx^IIZ2~l)(7rv8(?UUXh@rGFLCBeq-qKnV{O( zc{(KTDR|@$C55px#-C{rn#S8JmCFWuprmMjXl6R*%#b4NMCMP)kRGwp1%Qfjhd@AG z8;9EH;^@GUYBQ3HLyPa?21EFIHI*f6Us)crj;Ggk5Pw`}{{GgM)+21|zdTJ7lR`M+ z)`2<+H`ry|a?5S!DuHm0c}uqYy&(OVT(=`4w}6NGeI5cX+*UDr-xynioue$Vbbg&< z+*f?(xbhHlK!Blc9*2iz8Q|cDNq*|5qkr4^<)l|!il%g`7WfN8BQ6f#Iv?(Nc3IPA ztN-HJCMrHsubD1f+{Gzef>F%VeoB35b8#_YA(3i@H z5lGse1(0B4m7Tk+g>n_FHV+5^TNC-+5eudP%6weCiHJcw5i>&X@T$NW?pizot<6(+ zjU(ptArV7&c@Z(d%8vI~EV{sB>_`G2qT&HdK}^~x0!BUPVGpujo#r|enwQ~vEODn& zp>|!(D*g)7&*=g}2Xp*?7^4_1V9%3_YfFO{ksNZsa<&8DsLE4o+Dj@u$v)y*sotSnIB-74v~ zg1_V=wO5jtW3KuXmA8?od*U2^#pfCS6858-S7bcUG{PM6V(_4c-i<0Q+^>K=)ylC zP9XsDAI96eufE?dyT6|iI=>P1I(U31_vF5hNnaelzYZ=Rd%d1Qy4qV~8K$m%-w_EA zLqNkVsL5SzVxk!S206dR>)x|!WV`CeUD?bD-rk(typHQ3>fz#dkEr-DrRq()YaS{w zNi819fMG~`<0Y~KFp*h@fK@^N#l$|oKn%{!UT#Al%D+Q;8&Wm^Qa5meVq(R^elAyY zWSUE?Ug0V1t5OXW_BrmINXNFQSrv}T3t$tvx{5?GaZfBaGQ(C%Po3daCv|dgQOA?* z_>6kwm2xc>3(}XkPSS?j>ftGYA$qA1S(s0T^tlyig-Wh}3z2R|jA zeO#5tyx+FL?Y6@RZ2<>pv>`#s8?H3U6LLXRuJ$WvJXtU&98PMFn+94hQkvU487=B> zoD%3=4RTI+r14b8e@-W%I$3&~6})4x{a=G>D>irzKb|%d*9s52DTY-}czL z%D3AD^y#~U-dOj!4aPlx5e9F*d61;1ZwMRzorb_^Ea^75kq{kmFiL@LY>Vdnfm3#_ zDf1raeRl&PnNX|l|4!vg zmQdh|(p>ODTm>g@MbcsD7pd}HtQ6?_gP$Y?fb+U$X%$@g2q64D@Y_}{D_!Ed1^H1{ z_P0?t?;l0m?!pYaY&KGYRE6%C@zBOIjwqRBQy(S*6D2}ro5!P%t<3F=doL$nyD7kh zr<2{(w(zM(Eqd@}euQc{Jlox@i(?WyE4Dax`&HI#@KQTFLDJiiwK(MsS`Vc-aoU|O z;Dlhv5RnivY6@9EC`9rRtSCMR7S#xQ3q`yyQ`3n0dVn%v2}+Mr<1~$Y$B&<5Qb0w;6^e~=4m}5sqpg{;_EZ`7;D{pSRGu*g)>Y(6f*2z>GXWL zUq7?X!z#upHU-XTUnbcp!ew&bxeOXOya%j)qN8dVg>*%q!wsU9>06FaI z#^l-2j2x=hObPBs`@;&b%rIV6D;BjSeDR z2@gJ0Uy7Tm%tScK`%|VSpP;G;0DwL%TMVv zf+>bOn1UBvs#OlRlnIPU;wOPbw);f=5eskCzI^rmAmHPf!_Oz5jX&b!{y$&ESZOZa zD`0#c;V%h8^-{N0$yK(fbnChy-S_ zG)gh6FkU(_DM9tuQwTge?`xJU{Cid?|D>sm(b+ohrT+H*KDj=e$BABJ@@rmI{u&jy zuV4SB5-yD3H^6^mc1MyP2vULp`%H1dYUrPFhc!>icMa|3Z$miQ86<(B1TOMleq8E8 zDO(~X?UxF|ff`sDlBF5#%?Byon4l$qKrBsYAK@+UP)gh}FZ+@;1Yw*u6%S+~uAhT0 z$PWccnuxq#i&!&_gujqTeQ#vo6GVIg3KT+Z3|fVz8zN*2h51f8(Z^02R6kKEal(!S z;EV{0U+Js_APyDXAvg0&F&a2^EFP~Reo;%^V7i8+GWULqkT=!h+}Q~(eYyKJ6$GIKh@0}^d9 z=if2Oy-0tkX(T_wf>BB#9&3Mb%HyMRz*#9|CBtBG9x;Bb0&T(VX(-F>shVF*FV9F1 zUKGl}fprU+22%(H7!0^MlqmGFaUPUBzew$yY*@MVAn)IZBY+`mIOsz)5>rfgLpg#S zbS|mD9~FOi;Jx0f=})37f3#Fl8#$?$$KtxNPaZibS}Y=Jq(6qiLOt@VTM8zk07FHv z^bpms;2D|H%K$`0(r61_F(S-LAh6PZpdh)jU^^6zNKr%d#jYq0xM9sau$WL5rkcos zkM-!ID4YP8Rc8)>`Nh$FGh2{KSyBov^?A~3s;oJWVvir$MMDz!1+=V zEXcJwVlVIE!+}jF#M&B(c&i|QrFnN6A(OQ|eT4yt8SQn%{cz#!=J`8y8pR;C`w6#2 zz*MTLTQjOc_b+OKT9K z%z!F9kJEZ+AZcq@f`H?hj&`i*TeLbq>JU)krkF0?T%$^$(ODlJR?QrIE6mU))tHjZ zD4$Wrc`1F+0JZR2`m_HPu(Nop`<5LCy*w&j!hQO73Au+Rk#|Bsq`VE)*&=;Q%jDJ! zj=~>C9zOk9ZCXI=CgH*C#b^+lZMF877o6#WqX?G@@;Y5;MG@@eF40ZIT17SF_#!lki_Yuml{U?rHx74QCX z&NjJzcq8N%Qx>l);N-SiW+itSYN%H^tU#3m#^Mn@6^3~ZB<7~-!8=8t;ZF@G2+2?O zpktE!IB6_g6rF$arW}V%QuOC<*4oPm>`tKpaXrI4+sITi(<; zI5k;EUR^*#o!k}?Nw)-(M?pgC`X@6>;uLNmJ@j*;Xn*+v?vK#omQjU2{X zh-{(3PASBR#KuwG4(=Ncu0(bfd+OM?6Xp@k{N#vcpP^DjbYe&9fkLN~eB8~EJLilD z!y`N(R9?06F3g5<5z_KgJ>>V?o_nu;9YOCu`3QN4TUP%vt_~G|R2uXBL=;8V!N%DB zHeq*F(11w==*V{g~hG1ZB4@78}TrY*fNLS_C@b!@E13F?1H7 z6)*hJQW}6K3!9T(iHUUFifx@6*n0j2WZ)ki)%I?Dj1>EQk`K85W2s~3=^o}H zB)i*rDsjSoQO{Q#YU77q;d|nSHO7r*g4Re!zR-(&2=3^a%!X*<9<-=dwu@ENX|A8HZ)fK>DjG6>?e91^M67Q(KJj-Mrr;dDU+dul<7DVP@iEXg0=D1nb_OWvZre?;9U- z%pBb&r_^%9dRiI|T{hXSJ}XJ)2lsOrIpG;$mmaJ*%c++#;B?Dw^HIa%Er0W+$2A?4YDpDljOa zXj!&?0SOOE-z_dM?F(i<5HuMYH63e?K`3Tir_g@YOj40VFeIQgD6;PkT`b$AA#y8w zd+!9~*ZZ*q%CD?X-s0W~UmLbe0AGg?+@RYDT)hGc&IjtW4!_l!+7U*prNZ_@-4E5n zo6a&ttP&jgo~`-aalZt*W_tttpC~3WJw6#-y|s$M8WO)czS3hfxlW$@=aO3QA2*2n zbbRg}S=Bp}j7XsoA}D=y$x?P27Fmz;IA*9pY)%xyzWrqAcxh+{&WJc7fSVMvq?X0a z35Pmjq@crUG94Hi8E)6t7O2mQ7`0nA2U!#&$}WryCJ7#bHzs(^EbIIq% z77%}(fl#DhZWY{CB-&1|z$}(95I0EsMYI+QbpC+|ihaNVA5kZRfqYxtHfoESmAxZHKC?eKAj1Z-G0vd9L{n3?GHx|Ag z^|!>uAQAUs7L0HoF~#_X6k;9zXL-c=l82z?CK8~OOO@3#^UZ0lqU(hFf%Q?qZ?}&% zou}qA)Q-1-(1GCLfq)}@?>evOVhR*HkL%^(c8d%r1H&C{!NdB*nw&r{8mBP#ueE#` zi9lnEMka@|327`6hG4V@E_S>);L2;6{9(=GMlW9U@XXI?^Ih@+IP+~{ibCI|> zxQ1ziD-36`28r&6M?)?w9oHqiD?ij-P|6lOkb8gyd4e!#NHzte-G_!b?2N#8-3ink zy86Z(KBn9HmP=MNpRb7exkKaKjZk7K5&(|R$kup|-F-xjxr23?jo-#!AbQ7>fq z0q6Th=F@$3Lj>#M)NWj>%)qMb^`zn*H!x;jX?yxu8H}q=MFynB6m#Tzmoqn~@_VCI zjXs4w91svBO!xQ>8*N7UWnV=6C`Xt`9-@SMwh`9f8=e$%lv-PT5x&nIMRC@0rTUdF zWi{^G+ee}|FvsC*X9p1b0@OD@OMZQC_uAix9zIw2reQnWX|}0%XEW$Bpd+J8jp4Wv za>!oZk)`)O3@9ji3xVJbV*1E2V zyR+%AS{Ut5dnNR)GElL`ti#&$Yp#8~<$A?XUwN_=brawj6$(&v0Xmey9$)Ebf7(xf zXhlMV$mvMMexqtYAOR_}Fknmx%`amI1y@0CcF=;}R0tm4*z?BBD$VUdA)Ef%7(;Uk zfU|BfM&;UKW;sLpZ3YBWOMl-k&+7)2$2tz9AdoAJv*0G8mTGXr_<13aC@KK02 z7kFy@Z9VGVgwt%)MaZTT141WDF!6n+WktIchUO8!UFA6_dOqwOOgs}Jpyj@!{JMIF zN2ui3y_rynKhxi_J0*B6;J93YHM2J3u znc=5C0{YJrff1y}(G5mUWqa_X{Cjvs(2=Sh7#Yzr8(JK4vFF4c^Vf~5q?<3g>}2zs z$}X)Llj$f}TnKQu8yJBfSE0G%MVq>36e zxA7FaF`!I&teS3S8O1tu>I(v1W2q?flR`y3Vokg$N~HPGj>x*&sfLn0K-i!{9@lM; zc-qa*4WrLcf*uunJ0dbSHyD^AVc9)U2|e2~Bx>u(5xZtLiCvj}KT10XbRh04#0f@5 z7RHrS{I{n^oY~;hHRh=qV6Bz}vO(XEC>n7DwU;qCDbuygftULus4Un5P=XDe+I0a8 z6k+vZA~O)0o?&JVml(DTywXB<$Qy5YOoK>SOr3`awyWF^n75?AQ2}30!qfYsvLal| zKo>ugP;G*A{(v{4@Op?7oy_p$~qx>Y}4_F)P)^G6O#qHnVaa(Bhn*`ytkgdyYkK z1h+PILg4#nt;uM2JP?}#z$UY`5gEShm{u}&rJ3`j@CIMGWO7z}>b5torSHCZHcPjT zGeA7#7DvMP2c@P@Qy#|}>Gy}@7+{XOy5XWRQfV!EiXMw8ZAJ*8ofBx8)A4n~Lt}vb z5wxUr(~~&k+(70DAlb;f)!%e>}wMfn?Y0eFD!? zSm>hsizokRG4vGzr>?AHXj2n*pZ%Cy*IHqmu`#g>X>J zTM^1J_stLvKOpXl8mCQY;)1ei@KTexQB0N0&Mgb-pOoVs??#ADTp*CO^-}Bi#qHdATm6i@>S0Qk% zcRrOoHE|~fymfj>>23?+N&s0n=%(b~!9)?WgTaAE1|ARB`bW9 zQ^+|2(a1i==4bzrUonPR?QN$+PdH&?lh(p3m;H(|ZT_aojFl#rT@(YgDn*petHgxsE37Kkb zSZlCxTOMa@*GBsI=~_w>qyWY@C5IEHdfNAKTPKli4YxYT0;yJL>sAm_RM-5yeQWcR+4u)hp*^j2Op z+8GxtUZbl#{@}Klib2oT6R^BeT_1*BBW~xnYcKhQKE3jev)$NORtapEEn6<9B=*`C zwP+8ZIl95eJvc`e$i<*yuPJ0I!pU&r>&-GOo0N{58Yo<=28Ki` z+;{9#?uiLN%mEapi4Kd-F-d|-?<>ll!-YR@E{$$#IU0fM2ca^hsXM@2O9MSOxzF(N z*P9z9)NQ@3dWpD_bt0bkq0XG#u=a)7=i7Nj-Vg^{UKc+8)S`mgM(vab^%{k{>I8>O p;O&dctS?d)DEck3vcw<*0bj3g)8B|dK;Pfw%@f9zt18s?{LNln0pyu>_&bM{fUg-trPg-s<{Ex->?8 z0r$M{y2Y-04ReCPHSH^#1ii)Mn>U;-4pm=MjV~unNfKq9P7jAs)<|AqN;)nRODgOBh97y~Zyu z5$%NVZB>S!Uw?Xitk(rZe6wh;bzRvq{N;6Y@9w zM*#B!F77Q)mVdGKAx?_7;msPBonS*(dF0pIOkzP~XwB2wvh;e%3h9YNb!E5bCEwTE zz%X11>KDxNK)$KUxvf>-ThvjMb@AZNh%Z7yFm`X3+b$8)(M5k5gk|%O-bzFElEu%+ z>TTl{84l<#E4VMOH?4Eqkz<y@SqouFlPpMI=;cy7fm!O&uO>(?cdkg^RPk5i?-WiX@8pmnX5vzK@-JCJ zpOC0~juer|TpjE=F$63|lOvFgmep(5om9zV@i=?Mqr9;Yl35XL9}3wL*swX)v8+xj zWvg{c`5doNJN?~-pe%PQ!TWfuq6>L^C3#O|0@25YE0>N&_&)c3{(>BcB|c8yoT7S- zbt_?QA8a+ER+2eqMZKiI6iZWbT;#CSsxjkZ9UIt!UEn{xPle@v8VS@~&YZ^` z=2L-UnS9@YXo65%Jbhx0L@P$sUtc(TxfLH@!f3vO5`jwptVTJa3L|avNp!(EuEl{` z51#WIFR?jxvXb#JD0;<_LtYVJf6hsv;2Zs9p`eoOm>iLEry=BtGu!?b>eoleqSILG zVxv+Qa0zQbt#d$joDAQjV>hF4C z0z%O0L7QW`r}OgZ9{G7$?I0Gsj`Y6p4EwW6S@8bkc{#!pXBuct)z21u<1t>x6^sMqIr2WljJ zV}?^mjKoh{F7M5Ta}zR(&YA+qBnj?RLvkFY&gT6T4{9o1@#H$ zK{EOXQZ%~!z#6Qi6Aj^dvAa3m1k5F^3;&p2h|0?SVNAT0jfsc;nEg@F)5pvic%`D{ z#rsiTdH&}oy89gq2`}_Pl@A>tbOup=gfAF^#tA+WfIA(KA-`9{L5aDm+7$~d4g7SiH*l;Q0GA4($@&)=V z*Nth6m@>J}l+;RJ-<;xJh5^29B?PxMG>0KcUQwxcm{?5WkHz{p-QX+Tlz&cxj=>vL zcq`IOob9bk9nuy#gvIy@GhOkmV(;e3oC9>M z5Dv+ofxJ(+8Gu&Ce{A1IG>GnPTowI$!^{I9wy*a|n^&nW^)9gqH(E5uz_fLKK$%vx z-&;}(b{ozb?M-?|^LLn>jg1$kTqCzKd%%5gD1?Yh9-AQTJ^@C?BQG2b5L*sjIOphr zf}0`D`i8M&_ouGy)M3bCT11mw5+@P7elNCPa5_#ma(%Y=_=uz2Vmx4pn_%=h5+8tP zUXc*o?EUp`VEiuNDKTYqj-bDRgzu9y_20XZn8`9V#IiP(v~3q)Y1XR3b^=_l6H#0pMuX!-Yt zPUzdE!`o;FM!zh^eH!v1EF(1-t(ZctafTJRWw`z+X|C<3)Hq2FjN5r^mn z&0L5ckSJD_$1ZYBSCJV>QK#IeXvTYcCD@B;4_Zs1N@FSbqDrBJ;j3_@09M;@MU#f= z@j+vb)F!gaK9z>%D1~f%f}D@he9JVUhUH*1RP#EX9F&Oe+qTwLo{Lj|CIUvBFU^sr zy!zt6Yg^Yk{xVVc?iy~HjJGs2I3K-RvCsf9zgfCW*s{D|@72|RBx^i{+3qs#VNDx& zstP30%n;dt{o`t8E=LYz!xvfXq*SeA9)fDZhqlc^YD}e}Vq#4bbeY7VIgOrNkk4B& z%9-ygcN?(6x_>RpX!os^#u-f65khbO&191%8`_dK$!~M zu3MClEu1mp=vF=Mk-Sy(&Y=zdQb=1;lyNiY)o9~Um&7P2$N9fWrUs=4q%9a3&Z0oX z+y*+OJGzPpA2EcK8CxreU00iHz0F4Qv_!Fuzx?q2 z&hTm4wu@p+iHmk3*62;C(igZ%!{<@bfaRQn!%$>tn`<4LYfK10e(FXrMt~?u{gyjw zJ+>!vGQWr*VP|~3E9~#4Jtg^zAq;v+l}%OEyCGtWQWY~z2W;U?)NcamL`)T+X5!;y zdT!N_)bJ@u$vTJ3*KX{K7Vg(hk=40S8Y!*Y+b^=;^3LyM^p1Q{APCJ(RH{oI=Nod@Fp|Yje=b#vg9x{%V7{GLYZRUJun2$;oms7nPns_97k>p2eA*|^u*R!sfgTt}S1tHR0P*1Pt zDhFV8mE(1PY<6}eGBgz0ob)2=4W3_6aCPPFrjF+-xNr^x;(-$dk$!*MapGNF@$}qn zA;=ZpA;|rzbe8rMK{QRfh6Dp*t|yqRo<%fHQU*=~nP(pfZMIkwtV|BXqAH&gSuz>t zeG($3f>u{{5z+F<5zSL|(@G9ZF3X6Y_c5zdZ7fX=38NZkTCo+1h8p9Dt;f-{SgN;s zyz(1Q!tC77i2>UXGbZaMCWbk^e zOjpQ;(l#inN@#LCAykC@LS@35`@3$P(&mX=#D7$2-t#|%$TM57u|XG=;8Z}o^Zu%l zNrN-1xUlHlP8ff*OE98=9$ea`W! zt3r#|zWI&Gx^+eU7b>G9Fxr%`J(etx z&q2#^AXmexVcaf027}3WOhQf}$*$z@^-uYZB-)!{dry@qvSxjQMgYZf!jl{2_93{} zariJ{jd#Ti`3IvyJ>$Oyl32^jZ|MSjp(VnN^ycb(v`&|z<{ZjPtO>Ssp7g8y(G7a0 zQVGG^=jd=kOk{s{Wa<5Ps9Hi%Jfu=B1m!u8gxbdbLZi?3h9XCjY*$YE*OW^m3hcs> ztTuQ)OdMSP)bC1Ca@L}b&r9T8XQ}vt8lyS!HbF{A@@_hceSb9UpoRz!!@EE2G1F$# zRH#UXB*ZZ~oUm6LOK+T^?} z;9^tZrbOPl{sJE}=e}#?-)j}69*xv;(l}T7DTIP4xVb_N2QW)pr7FxnYXK>Ae3crZ z5V{4X%17&b+`IHX&LY$=DVpHS>QH3}Q!BB(SdkvDFQTdjL~qx+4!5LBiiYVPmD~1|?6X`a}S$4iz+Ykyg@h!ijQtq>84+LHi@;KbVS% zqxz$J7+u;QF$JQ;PTnW(wqYVS-T1nN$Ik#8;#9Yc_hH*W zh|;7wvpIv%hn)>&mQmd*B;J6kmi%R1X$`D@T5UT8oJyRBqyl=!?V1*RrZ5#zgzP*@ z>vv+vItotR)&-XtBG2wkQ&2^MhUh1!f17F#)-luO&VI0~c5?=&nd50Up^Oe+r1U3^ z{tf(=aiJqZhc^Cd9~n4|Y(ogvNTr?H_QIKHXj#<9Tws$6XXP@MXSNyW#)H25SdHF- zn^^OPNtCizeBz5oM!_P-)JAx;~O`m&7J;waqYJ3oEbJDUa zIIG`n*KERchPziLh12=3S&MmxeUz!>#ffW_9I+q^V?go^NliB78&ya-MhF#w#qumS z)Xrb*ax6HN!TBC-1JMI0W*+hparvsz(OQ{OuvEc+s|jeN?ft6%qkqE&SJnGfNwSyL z`RQP2Ex_416S=J`Y*o^0yj_6@(@APJOGEhA@M=#1gKn;x!Z%{a%y{&eN*99;?t0V> zGe{LKYaZCbETiy{P<7ST@Ax@}VjI?KQonzOGJE*`bN^OD&RyG=Y`)4RONlH=MHQpP zB|9H0YGUKTDprIjUPmPd@U(Og7!r!kd7xiTBrLBe8YH0<%yj73WL?FbSkc}jWr zD~+XH(5Nq2ZY&XVhTFr7t&<6|ToQgPBa_woNAlmX-TzAs`oNW{W6i~$M&Q1MjnrMI zc5rRg|7MI}dxrYf;Sj>d`DqL9!lB@|Q@0eYNGT1%e6My*++wkR?LYZQthSg}!jex@ zv9ncz8)c!8qaabOsut-@P3A;#JRT{#Wma0Do0yNbh}ABS0?ftyk||-zA#aoR6LYYMu9p zzzFK%rWy~pt_17&C~kg~fUd|JeBRp$1-$7wvuP4Pq~BF>uZD5Nb<*o!bxUvOuhzhw zugM)!N06=I<@5VczAgKf$Nx$}ByWSkj8me_e8KvjaW(c|k^^!tsAo4!fT%tPmw zVW8V|?nnTVs{Q}71Yu?UG7mf3iLUk|pU*Qb@A98j>NbA}Dc^7hohSYpmt^LX#RVXp zv4q1MDD^U`CeF2}e05L1s64B1%g__ae{UYpbzq4o>K!@9_^bt*QOPs3|Dj6RfrX7r zMLYqn<`?^N?Cli>G>R7ZI;BnuR} zs7c)B z9j1mljPn+D8%wYn4Wm`(_R}a(=cj=$r^*{s2eE9LqIx>C|fpuxJCN5psslRnPG(M%dwHUA!#l1L3wMsF5O261(Wb}O*B%PmTp#s^h6u) zk;waJXjbyv$5L7LR8Ym|sa9BgJV%jq!kOdx`LXF|@P-iW=&(iCo65-xb`8zC^)V`y zzSu>0Ns&rfz0{+yo|Qf{OKPky61(zC@RChAEY^M<*>$>k1cFL!904bumf?gd(m1e; zk`w?=6)s`H;Uks2wy~4^};wAb?k_5L! zK*nBY8}Ag-6NX04sxnL4syURe6|f_)pYYPk+VJ+$p{N zkux*vw2hS1-WR%w^LCJu?d!^3r%*S0yM=v!oQT~vF%T%4B z7f>`p4*rP6fxe9zry;p*Z8c6@m!KPOal}C$|8sG=jM)MQ7XT#b4w3N5hqHknZ z5#g`#R81VjP6X5JY>TRKq_ZKL4q9`OXi$R{nwWoS?r)57^gX=d;At4#kWenkpK^R? z4Y@g;5!7^B$lN8gI73hIpd-7e@W#6;+2bif*Dk~PWrnI95j}wN z^Kl3q=xBT6$kdOd9j3jqTMM+<_pL=*k483#e~u-T=`@BZ@c@41*e1UVV76S$EItJt z_977Vx0gnqty`F{+?9hC;KkSoIK^gBfTO?t?a8AM^Op!Z7GA7K`| z>>)Wx<;3F6qNXh50+y?l{Z+aGBi+rH zuZOX^&D;*vlu1Q&^9Zg*n*9AXT4%WyEo`s8&pA_FmNs6@KPK|Sy*>l&g@@wr-nBxG z##qn#mD1f9tO1bp)#7{|SE8EpZ1!n{BdCnEg4R&{Brkhi_8eXL0c8JnzBaQo1NwXg zF}>dy@8w)}-*2*f@v-;R2orVplK9;yUpCG#fEPwKK%WW#J#FN(nU^Ty*o+F8y@a?r z8y1#JJD1b-r!Xy4!6+*E0_+nBf3TCW$SfEQi#SLjq*i9bhx2A-Xa9sJDU2EBGSGJs|q`l@$|ho1F*y^t1~T;cbr1q&PKLT1=! z*eQ{0-U2Lt30`sDjm}Q|{fCCK!l`k&L80KjCX5;az7%L{iA;jNRZO0yQfWs$AK>zzgYx8JFs+Qa z%jo#rkU(KhcKErt;(QAm-WqV{J}NKQ9J{8R_{qOQ4vrCd&*q(~j*^Ha zN+?rurUy=@*d#GAHY56+L4flGN1BjIKmdsK^!F2JuD+jnqGC$AX`AgtnU1j#`+~&!} z1_W5$o9Z&L@_B^BKsN!KkLPw?qt?}A`x z&@(XYWJ;UoE&uP=rZ(KDuQhyx1eGG4ytvEv;~F)A=UOKSv0@r6D#HFsaj>@Novc_H z5L20!uV|(?ou`O(EvXC`<9q|!L5J;{&rct`DK*tbxfFwrqV=nv#$$R7BzC?xs^qy< zuUj~Z`Lmhq%=vf6lTZ;5%|HzFCsl7aM~L0l_s#4p*(BRgt0VyDh*Xa8hP4syt;#iq zpEy?3qD!v8exq+f6EV%yYyG(ATaUgUa9EZR=o&Z7AU^!N2_g^~SpM$w8rT%hU@dxp z@qIoVA?;A;t9{1*{u)vMdOMxW<*cqUcl&kG-EyO(f^RE4G+%U3+q~nuWl`LmjQT}= zrGJn$KjouhwW)Fa+jvnebD4#+u{NNE*QY6b>R#E8rlG;qk;TCr1+jjodW=}HNxJFBa*f|rO)Pa1yr?u&LH@|j^{+o?4w z)wDK0I+CU(QO2R@s~e&bs_JVbZN}Mi!ouWgcE%9K(3&E;-K7=S>5Z=E)e#|>h&9gH zn`GrqQz!RwAap1Jhz<_Op0|3~g(&MdZ%?D5@h*NBDIjO51H(guR0l>v9j#ZTJC@aB8T$ z#0xWl0;gen7c|w#6pxQ~K}krND&*yE4+gkzXCXVP`ivvod#FWIlt<(?Ka_r` znFqF}-|aLFhNf6v;PkfwKk>PLfD~VHQ$ce7KPprW1y8;$npG2682hB(bxybjx4oR{ zyx_-cc=>hy)QrbVTH7CDz>LOfA)#i`yShu1_U{g4y>M?X-ck0o4sPcDj%LBsP9%!y za}1AN<%kE#LiR}`?)4GU;BFjjxl|*Uf5K>8;ZB~iwFP!00000|LlEfbKADo@L$pJ{gPx9N1Hdz-kbvh z7hrWmoViY3w=#jevO6u^!UQhK&I$d0yJdGP@VDy9FJ`a$dK7eZ$`f z8n@h?3rwJcftfwa*8BG@j7-}88*w0+JJ@^DZk;*KrA2P$wrx2C8eW43??0?f8RS=X z$D8WwZ}{OG{^y^6w6^BXXEWfew4ru8g$`^12ez<9S}RCe0IyoQHJd?9+}7A~T4ajc z7Txt7t*zO>0W-Q+bI05L(dw;jxyavK_B!@;>~87{uw9GI#QUL7;SBId;cqo2tqTKU zg2o6sDOe}SXgSb!pzF^Vv|MP8-_kZCgeUZ~VbTJI;Xv1gMhk_|c3Kyth5U8SpwSww zTA=kOMZ9(kv`#Do>aACcDblAcgbkzv0=+S2bCV$5d;8V~`W-aFQOL@MuUh~cEztVx zwVDEV>g^j`f|+eXx;5{-eFNiFZ}b!B5cC(WG2L7BL4S{o`tBW^**~o1zxI4(&Fmke z*%+?I{lOUZ=c~Q>91eQ-1MT5^Tk{6fhJR}=aS)zp-yhnV1OJ^P2O8RtICJQ2mhC`q z+J-h91Ji|GKL@&VlXx4=zR{avib=iB`E0Q@9-D61!~6YbK+uC;Tf4Qip*HSxd;Njd z);>7ajQ@RUVI9(je*$yv&9I}jwR7NpLNi3P;i3QI1B55Qj$U3laE9hH_TaORvf8lQ z)~*;*YX8G#=dYXNsgD0Mg@3$%ueG(4i&Jmv@h>tO*#?~4JAE|JEf+4xbmdNVmv>A1 z-!bkj#`@2_*?n(1v+l@ZWGwH%a^PwY-qzkg-M)*hoBi+xc>!C{)^5-Q1IinIX}3Ox z_S)JhARue>huXiu2{LLVG7lm!44=IL^UASo=n&+6TA!NQn$0~*ApI{55jgYzkN`n3 zp`;6?e9apDfI9Iuk;8=wT^UYAj2F*mBcIu_*6jB~9LZ!y3h+^697X^lO#|HirOlv$ zd`>h%7&xmltXqc189hXB;oiV&&AKz5`9KL#b|s7^rMm?TpnO>m8Qs|f;5cCAQ;v`7 z9GX2%(O4+$Q=coj2?>r{jp#Tgtw>do>iVP_lY$Z`Mdf7G?eQN}nQ%F`d5F|a)RM~oD z-81Y)&sOwy(%rd5_6;N=rXqt@tC1MZaNDL~rUk-pN!kEOycMxOsBpw{(`;+L{SyBA z2+?Fpv|*=IxqDU^?=g)cj1OdBMT}?N1w1A6W3u)l=+BzgivH1bm3QRvRlsI@M`8$@ z$DE?qBHZZ(xB}!XXQfLkUD|nmYUciKvCzE&4#Z^Lvx+#BauNLZcM0hm2c9j2-(a|i zpuVmmkW*_=a#_jcLb)8`TWWjxH|5fp8VhN;S8avu7v}MQ`2M{e_}u=M@^!FHmvjGB z^VF?5RFTJo6I2{>Q?JR>mR$#XBC_im>JZsvP1zMd5s_VSg`4#hmt?_Eg_10Dj5XvM zw>~A;lw2#3Ynj-WA?5Pg3CX;(B_iIQYQs)jyY}%nTUwk0_lxUI`LL~>-FqMQ+OkMp z^0K=8h|fiiw?~T?wEpN0h%^qivXWi)0>sMUewkPy)9S*6O!Gtt??e6#uG%fTmwZOW z%SQ-|lPSQW<`J0|i;@UlMFHZk$yCdqP zji3ADB_2$E?DqRc-x~DEzqn`jkiA?^oqK(H4>h0pY~TnW+O(e9wDm+`L_JvoF!okx zA8&bv+q(BnE#Kr~c0%c)QFVb8p3f$w5gT2`tM>c_MYnTMEGTjg3k5|5?JX!QsvO$V zmbD&Qg>!D24WW3N^l_3p>fRjZ=pKr2j-xSw4%?x%m3+v#??oQP#@lt!qy=kwy8{f-Ft zJYLnoIs+(=!8e1kH^4NxWhsuSIHuy5&zoZox&<8bBXEBo{iwtyY1i^Iv5{q&rF@S9 z%Vu_TD`nYTIK8Hsqv}YjVMkgXf~IzsJuK%q-bmbRynYbiC(bi=dqq400;3wofWW9D z>A-_ipI*dfr4kKZgf!eMO0Bt?ld95?cFmK9BY*36{4emDqIWKKQ%KqPEs5IUq?#rJ z`TY>XT;00Qz|0bE6736kw zuu$|@71w&okN&-_&A{@40_}C$+6-atS27srdBq3yx;gPdXJqPIJ(t;ATTY2w?`&e^ zG3N`yWN%PHi5$cNVoZaTrNsEmn?Q`|HKjgCW|PgFNO_d2RX&kwC>`{2qFv6&^aNzs z-sJ?~b<49d`LE@*^Uq|dmYtxC;}t2cgvlTXQiKmqmLS+lns^AC+(@2ivssB9P%#Rf2oU&wP1ivq9HtC3<{h2$T! z5SXz~W-*F}vh= zLC;;AVV9J#fdZt=Z6+duEz^K5y?-SXk|W^44-j5K$5Xwi3Fqz9gcg;!1_W8!@b7MK zr|(aD0UX2Apd}?{Vi?gn=xK40mQdU@Ik2VDHMSWdGA>v;O>k} z&jYnVp7#b_%kAA`G`T1a58%LwdV77CvYeHhbJHwdx}ah=P|!ro52U@MsM6j+PWfu@ zt3z@OOn|GQdDvORuniC1a}Pa)XdxVPv(&&Zt?5S~GAHm-2k@KFNn}plpP@rrv9h&T z*-$tP}tdmgcqd`Ps;_l1@7xlmIh}Migaeewcm*eimC>(|H>E zhC(#Z-`_jz=wqnw>D|$Ip!Y|Iy@LaNAM6_Y2Yq;Wu;1^(!_KG!26}gYU+;nb{y^Uc zho1hoy9+nX==wdL(RsgWXLQ?12rK1oEMua8xryggXj2abhIM>jAO9dGA8Ul@PC@?* z*8R!W1965hbYy+XE&&A6LXP#!f;a%XK=;0#TPIwHm2s^TrfE&wW7A^3`_8_HdT2aG z`rIU|(2GDU0?gC&b4IM3N1m07jvmm`l>r<~u(lr7xvsB8&O5<>UJ<_t_k}inA~KP>6=Nb(7nO3t z&7DN#38-js9Hnh~9~m2b%yXBJh#zyyad4l>rlxSf&)^_q0*pV3U??wNA9K^{D9j;eb65mE^kYkDNYRW;Ekv2_okGV_(0ugrX9<|{K_nfc1h zS7yF4^Oc#e%zS0$D>MJm&HQeD@shxry^V0=#F}HWb}&LVK+)iYDv3nJBX2afsC3ay zi}+R%3o4_eacruWU)&|1z}EIo=7AJpRg7EI%B;3fGDcwOO=eh4rY*%f9))%E^XuW9 zLwf6LB@W^BtS3fXpfC;_Z+YmV{|Eq%#DK}(Tq zq{{DZiXS6U;I;Ygo|{8zFTZ9@NUWc%$y&V2>%VQr<&9Z8*J2A%EK9L0#j+laW$ove zJ2{7>I08kLyv!|&V8=1MhUZU{S(-tcl66-?QT;}BkSUpwH4xT(cNE( zy;PTiJ>sQcP35YGg$0Lhh~}#-?x6l%IMn;&as5B_(0{Uzl3w{i-wB zl=Irv2#^J0W@PqJ_87d_&Xoo6TM3vih)w`udrqQ^Nd9tz8Ca$h7H432U*S?nGIW>@QjOF*m(Nx;7i)L5^XtNQO>Gts;$|(47;HpUTO|bK_~8 zF;bV!^UdZ7vQWYlN`X4*^3bc)P=DlmL()P+C|k~dAky+)eoMA{$z4P3qHbZGn6&0j zQKfFnC=OLTKVy^DQG8C@wU1K!(R2%`$!fl`Rg|rwY!zjzC|gC@D#}(-wu-V6J!3#&&ZOC7DP_WMw3DGei9FDg0srb|R+EVk(f3@U#2$rO!Ig|Ifl1qX$N zuo5{=$E&Q=7+FpjLdxTYEY&9I`JjQT5?n7FXfy5)ejQEofT(PxN6c0#^{-_55tY;G zNixvA!pd44ySS#M+}CEG430!)Fdi~b{#a*~taUgHUPwdoqC6P-2nMclKkK;H%CxPK4IWv7eo11{3dw8C>j3{|I z5gd=9&Kh1hNRRy98J8q^k9?#7)uv^{t~?5AeAGqJp8UCw2+Fi3am>p_$qkXf7BD?h zox-0ocPc$q|9O%)9@FiZL25!5Or_~g*1OnNw2^1eT@;6C@fx1WS@+GFR3#Bkoz$6)s~9nSq)rI_xR3qkevx|IK{l$1+#B z^EvFB$9#Uc7ItiX=Nc@oe7Z_79|pi5u~f|tM-${eap2N?h+A9J*iUL(#i;Oj@&5hO zVL$QDSICG`O%+ROJWCqnXCQvT2)hKBW@W2C0YUO+(~)JFCA=sxKsHCBn=Qw7(lc)w z^HIin70%}2RBDFoVfog1BXMjt2+Mlf9AGy;`|b;N*HBBi-XfHr&=Umd-!0Zgs?omN zV5LI|Tt)pgQvZHV>exAO&s>6LfIxQPV1>A=Odz>O+!U=@L%;OE8}{P{V&le!x_^fl zZFY<78%TbGtJkep$)5QvBXdHvWR~SEwW&9V#rI6`*gNnc4+p)rc57)vZQSYh`U9=4 zeV|!I;qOaYg2ik2XHYUqYisAg{e)(SXv0JQ#|H>cfE~TOa^MWjXY9def63ag+t!$Y zHPrrx&CXvp$5S2uXA1v#|6XfrCl{yQRO9KkqmgaE$-UD@1Ko1rf=pNLWOsSDwErFB z-eRo(+?(C^rZek~EJnui4lD<*_8@us{(+?#$R#Im>#oq1?Vm_EDZinzBL#aeGR~!V zy`A7Y{?ca9Kt76%5C+cb4C|JG@WlU!F5DY%2iwtk{H-Owl0U0dnrTPKzQJ(ZqUsk( z<|jy_pZ)qv0Rg#_FLUH)wC&S>Z!`WA{FBX*3WkzKtzcH0i=pW5@j8U}tDYE%!rS-~ zl1cEA=~~JJv{UTQ?z>as;6eXxf6||02O2;3$4fkz{MhaHjlMPLlYeo~?jd`*oI3aV z^d4&E_g&W(Sdx-IN<1m?q{LIR#8X3UmV=yZkqr%@tEiJ*!ii0dB1eF>C0WjWi`wnsL@a_!oqS=w(@8cmf9aY57br_SWI2r~cb!eF z5S!R$v9lef5N#$)w#ZkdJRjn`pGV-Fjg(4@eo;x$d!3vFOh(--4Wl9tWWCp8eSd#{ zz{(nGfW+wK2|tp?F%+7{qA(`06LWaSn^mfIhL$3z)wrWUP;dR#f3lY^>dQi zFCqDaTmo?g2N>TsyTC(PHUDpV*zsx4T#7hwd zdtw*$&dT)?PG5O$;_EOc)zD|&pO8yFBMhBtc2m?nPlRO!m&$sLqEQNiOV{=r#a7d_ zj6@|FWI{E|{4iN91oksj48$WUpLxXJekUijhf~Mpi#ix}lMZTb zWlCjMDzkD=KRK?~&B@{M$@?>K?jWg{%b13+X0#d)s+9Z1S{KEt@$KXpU~+wm3o0(S z#YnY6`b@qRaUGnwx??SvN&d;w@1Rk|LmPmRwWEU(U$mcgzn7DH!f~7%VmV;qpK7ha zmpLd!hlAexi_<)(Ed}MZ5oF5TsP#E-vli4yW*qM4#?J9}2OB!aQ>>^j`P}!I`Cps`_N3qvc_@)9?AkWY8Ev!=E8r_KArgCVWBh)%MQZhuAJAK!%?A3 z+7LITrN z)l_Y=pOcqH)h2|YbAiWJH7zpey{2U!fGJlXgO)`WebA{Wcw-}MSc@y`hFm$8HKtVq4?>CJ>jeElfA?^|f6(7Mh;;xC@xLBz>(ao36AQZ# zyL0ygn49Fx1h(sa9k!rjh~XINh;DSaKiuP6==iebkGbX72KBVkFD^9r-)Bo3#Z&pb zt?~>0WI(!vi=1IE;erQy2^T5IQL&WcRSXJ6!06?rHA5Ie`a)KrjX{o zxujO1YEXi#(wcQ9k!3YY(z)!46XY*c?KWf}>mxPKaYe>1V#JdDBhD|>u_7X7h`ARR zXSF}b$!U&Mksh(l74DF+5h8sV28cAJ7$S7w$)lQ(iJbGL<@*LG zB-}HFvEn`B82$2W^Sz>4I+u_vEa$FbrKb!K;<-@3M)YAEK&hS)Z(fwDkUfC>8DDCJ zDnIJ!%J3YlNNaJq?KV_OVH$$Z|HlMi`N+fl^=VRXQSyZeo&JH$M@2=bF){rPOc%*`N*@uGxzsxurt6 zaao7CJetXr*u?78Y~$-~Z2j9O<>W{r!^TvX!y42URU~&UA59KHr`4|fh9XK>44phB=!O=u zw#F<60+`UKH5-^_r*nzqM>;|G@q~kn90af1SEgt9o+dsWG4_JpQgmfPV*;ae38)ij zoPyOgTmZ*NJP$G?`99asHh~Tex}l`Fa$id7%*h ztU1)DEa$9Hg)6EO1;kL)XXgqO~;n*h`(@G~)y(&Dbe|Z_NEMsH47_I(Jg%PU_rAoja*>Cw1~_Ll1R*n=}0{eDl7 z`ySf%44StAKltzdr0#9{Wj_@hC*)kfHMGT zO$}bb8Qzb+D;1_u(;|By0kgU&O^k!%-B^}}lkN<5U;8Ufn8cK3$B=%VGlalYCF|7; zxfw9OiN^qY0D^z8No?4o@n~{%FghGf4{xHu`7OV1<{TdtFz26`EiD(`zlAm=W&;jQ z0m^058Q%XyZxMO3qHDrU9ur&pC)g_G&r}BmOzK0d&YjsYX6TG@#Vsi;Fu`nO8SoO8du*u)NYEJuVsreQWG{+`}?xqddnGdd2 z37X$c%W|}EJo(bJ0KY)6E)keTtpJ^K!WTkSN9J}SwiB_Ph}|s_doYvB1m}O8bMSDO zBj)MKSu=DB8C01JT5>)CqDatxCJwYLWL;onBIyrwh9F{f4#M{tiY8}dP75V^qUREi zVFK`8cMl8^3t3Y0NulQqg~a3r+$AIyT@evW;f%!NlO@FDokPuK4>)7~h#+=P-P?VC z8}$=-mF^{GTbD{y(XK$A=EANcTZ6d@Br6{!AJ$eSZ221KnwwWha43JB8^?z|BW}GI z$49|~U(u#5+0YX`BCAz#Q`ZcR4PM8xO<-P8QpM-7&Zjl3>gGmqp?b_RxSlKN?fpOh zX(U#xjscKS_sxemQVuZ^R$H`S2K_+`Cd^nhfRt$6-XLo4rBwz`u81xbg&IzSqy&sU z;1W>$^>)MfTjT$T-TyrI)!U^>{c+JHWauvYS@Wus<%dYX=np0hp742;lBO- zp$g>eIrf+!kb0#JvS75V(6S(%a7Nb*K-&)F z;w_=~gfqL45s|eDekb+@z&nU-v4x~W>}{i+DCg%DbZ-&!A}!Rqk*kdFQMY+w1D6Xc zq2`sV{6|ojirO zNsg)9Bu?O$FLr#9BYa$Zo}lkXTHrfGxH;FJO7D_mo-sM5lk1&a-;!KE%*k&G2!sxF|=}+NUnF~3joDtE#b7Nx0w?Zf6d|KZ0P(B zH_=uOoXulT1r|NN;SF?&FiyoZce}ptn}LsVGFKuhmENB=I5-BW1s0A$YmbMMDC#hA z9F452Yz4_0+V)2Jt1SO3`AeEvj-Or7@zM9pN27jD%EKvwws%5_hb`p(KA+o|pv%Cu zCtlWLs#36O@5+o)yKsk7e+pO4YjPo~u$;~Swo-+UPeEqR{fFf&!|5`{D8YHv_f5Qm zoJdvGBKg$VF6qXBwnw;es9Pl46!IO>J`K?hb3&k!OGLIJa1~J7AX^34tY@O+$ig1y`b$;X7li}7<=5$laCK5I1h@Ve6qCA zjw`tsZo4c}?oV#aASvWK_INq$F)WHBic>Oa zGR??+LkL|H6TPt;xGZvDDG#`EB}5L8rhoDwA2+pR$U{Sx8u4Ov%3Qx%ktjR@ZCjRf zL%`zgn^!6N;VAVeCnPJiBFdPe8dS>RlvdNxrB)8CWlHt&%hzEl6ap$uQmCkg0|7zz zf;hoF^ni;@gzu2myC$Bf%(Vd~B*3Eg#HP>!n0Y}N$1Vi*`wv0wB+U6_($5L?kbmKb zCy`n3dL~QqJ^m?LwT`2}Li8 zd@wv6{YvSdAHF_({q^7fcZYuYUw`I&n7;Ac&;NRB{`v6B+xJ()U%Yqp!>0%LM?BA+YJ;#%#(sX0sjPE{jB(^C>E}; zJGJy9*sc-=S2m!06RjAxp!Tr`EHqm$7NW>j`NREB}e0`5%I|Eo2*92w6Mx5Cs1!EqTqhNy*M(J}3KJd)wkYtJ|y^o+OA zYd0a|%!^HhoTxMJ3dwQF-+zD5wYe0-OilPlBfjOieHaf>OoZWehI- zi*5bCzI-!&lhm2&{#23n6~2^L;8>rq__E*c5B9`ApZfh{@z1}Fp5X_Y7dJYm3yH-! zU1a;w0P%S9c=Pz!Gve%$$vxxj$k(IejgB`u-bnLC#oPE*YNp=Bb$+GJN@LPO8ZxMLBfE+H{NZzn^gjD(W@F_yOosU zlJRC;g{AFvyoS7`sCt1-CTBzIi^QC2 zeo?P7hFHkT#W3W`Xz7h;m8%qcsD+qPC&meXT4J1&R27QN zFr}`sx`;!{(SIA^&7Hnv)KwO7(CuoC6w=#KABtgTb%wf;j-m)^+`QeeKq-7C9^yi#U&xq+F=piBVt4Z(-c&&;;dEM)kBZ`l@ssv3;P)#ZKLPW$g zCu2tPh+kt8LA!Q2O%ld;w9DpBNc`wA9Aw zIOjfSIrEpu<4oAnB@zl~PjZWdqThB1Q#~Nvdn8n7LB`O^VIE)sYG|FM0csg zlL*5}VUe0k#N3Uqi)!E6r3O|1;x0A3w!~Wo%dKBQ*_EE?Zq<5TAu!Fk<6QE@RnvNg zS9$de1;g`s^!DH4#TjA3*hxKq7y&rL`zK3?iP-D)fHM}4E}&&0E8Oe$fHP4&FO?)$ z1r-si%8ziUaf^s!%(2_56p7E8p1$uJWuB>e+sh(@WEZi_+8;@R+nUWMe4Q=WePiVS zQf#orQH+Ky3}W)#4x&>b=acC{VI{Mx)`}fol@>b`N<~%DPe&1yS39hKp%GFDZ{48m z>KVTDdWN0IIiE}q^GcLqg3017U;SEgCj307lB%>}K4IqyvBKl*5KudHQ{#ATr&wxy zWLc?_daEN&PO#+}$DG!BhKRlofBk~+V#$o-^5fALb;fa&Q{P5dINk@uPR>r1fdV>| zn+8(qVtMtmBR*l&Mf?7LM@1B!?w}RAR$$$^Tz)i{i-Hid0!Z0LOANIh6eEP$IW!N&S$ZMsw%ih6EohOWcQta{vUThH8!7wLJ zRm#?L?6DJUaaO4py_E%%mzx^iW>BU^;=l@XPXmQjU8SV(-BNC8q)5^kq@^k*nJ3zc zKu+Y)y+9R~Q8zCuedJ)2lRgqrwEU|f8_U01VPg5$7FjsNwPWCpfp?yP$2sBD7dEmM zNZLR3m^TJM&A4!XhW7<B`kNkP7%V4z3#OCNWjB?I*Ny0CX^?Ilz#|Fj-UzBULeT z9A)LfcI>6jj=?WjHR$*IJtHi?R?%pWs$P|v$NI%+UYY?r$%ziXL?*pM?t91=x(?gK z0p$5azT8B#A(uc`4aT9jt^!l2=etA_SeTH283JoA;TZ*g7BX$GB=VKs$v97LX2_84{X9GYnV1lqQr zlOw{@B5$=b0zW6)y_3Q^H|QwYchhL2%t*>}a$1sQ>DkdVX|BRT7CFX^tQKSR59I&% z6#okTZ&b8|q@OPIUFyioQj=)~AI>De!L(J;(VuKCvdj@6>L-vqPh z5=gA@K>Nq1)k4y0pGNAQc(yR>**IpEK+-)jrxp@LyK?GjRXu$c;IwXY&#mgz1=*7gXUUhVX1r&l|@ z+UeDQ9oDOdIe9O>Hlg>#rqF8OZC3%Rq-E>r)I@(Rsn+xup5$WxPK$P0v`mY3^1PGh zzC1t5Nh*>e>^)*4AGod<7vFDRdW&w_5!wO9oviL;btkJkS-nHD`mmpqOy^53OrVXw zqD$o1*o5-d-zKtK1@8%DxvJZiWP8qtI$7U;$@)&#cd~w$Wc@HFZ7nIu8v9w2fSyje zx9MlejG>d~ojmX4c_+_zNuG~#^2DSF`+x{?A@fDpuW0k$r7LkgL4DDl3v>HYKDX<3 z1b)%TI@#aJ{!aFHvVWIk|2QYLP)f6p^bYw_yn(cjLD{~1k9F3LL{DPh$?#5wcQU+x zli|B0!zVe}rBZ%fxb!aRR?Z3>eOa!6R!OEu4}BniK!R->UbvLbz50Qt3cT78|LOsE z2_2m(*cnw&%u{;lec5XlQ>l7w<+XLOoSjb7&}q}$)Ni#=&T>T)oi=Qy($rgD@7Tqp?q7(Pe zF7ESrNRwKAL-$wGsB7&?i{H?FXemBVb&|xOs+A{6A^#*dLUenyPM??S^P_%YhC3(t z6S`Vq)+Ayh2BoGh_rGqW#ba2sqr;QK>NI$#!FN!DN1W50T6J3NrE0N3VeWqOEE;`-yqIK7(u$BRr(HAaiXA>3ys;$9LTU)UR zRC~%SF}_Zpb^2^4^%?5+WSw4n`Fd?!SkoaPuA6SlB0x3unv_Q;*lLjfl|*C%P+al$;saM6TiLm+wVI-}J7 z3B1Cbjkr4f_E=TkLnz;Lkto&kNbDq|P5b?vTt#UR36u4+vv8qR&yAS{lgDguhW$>Z zQ0jj2RRu=KA~B%lFldkhHRR!VH{2oAATkd zv@9fBU*WGP6$)?)85BVPqQNPG_8FPepTH~G&+qfOhgh+$%-~bt$%;d*->Y>H9?pyk;^#--TPmF zdu-c6Qn-jyVGmGOy1}^U@ZZ|hyaj8*unkt!Mb{+gEs!$u+iDK8GBJ@^^sUK?L4P=| zD=st-+x?qQ8f*LJC&mdD(e%VztY&w?aDWoMG!-2 z|BpR?<5z^7C~85FQ8jN^uvR*rrSwWxIezkIzvQEoJ4!WKRUt%krZYr;{i}8or|D`T zCo$U9!7rlO$|x%6u_}x>N$Oy$W{;}9Cb>C0l?=9W3O8n!nJSQKHG-)&B`Q>tESw!) zFD0X&A}~p1DaTEtjOt0fta1i$)HD3=g!Ha|D8GVFwbm;1ylb!13)y-Pa}qNBKtU1D z`rcl9^{&s)Kv5q)f4LD}p;#XDTgc4iB`Q3J&Hyj4-t&8?Vaq4SQ?xseBZpTjWMRmV zy#XE~7B@`gd$5v$71E9m%xt(=xM;!Y1 zRUDl^T^TYcY^rgx9k9Ew$%mufK$zw4A-0hfzWHVhh9l$HFd-izGzGT-7eNc~ZHfp^ z@fPjbjWQf36IYXP-B(c@5?m&1MlntYGEQq3iSPG+E{eH{X$*f7su>!w-rGIJ(0iI!~fOxQ0^#OO>^=ULIMyAk8IfFh#?N9Ed~k!ZkKD~c$ctBgi*+U zAA&99Ssx(i-rnr_PI{k9uE{;b%oCimqAmg!g0=@{XwH9d9m=4~yx@$!W2W6^rh}Zo zaY-T{p?mwDy3G&HlYn%O&cn+&*1zdi9fr4(7gkfQgmnS=hOaSZUnld zUS=-+jgL46@IKMs9YlhidJ|qQgsjvQmZj`l2(m4HF2lPqV|R3UKJ6dnlRqYl0zp5M z%qBtsP?HZQS^^CVlWQlY0a23@D29J=QW(4y7I$qL44VX09uFI~*AIzJcA*&+o9U;9 zc+8BgNGhhVRE5WeP1F&xGmfbr9ve1&h6vfr)D;HFs#@2Mll?xUUb`^WXO(o*!q~Qu zKAT6Xra`q6teS?p&3IMC2()BcdDLno+e!jgg_P@pR=c3pa>hO=jIO&xCc=M>JYGJ8 zye-|O7@U7#j~FcVZ29ooacf1$ZN0W#dZ4;_Z45FFQ6yZ(N;n!t)$TqC`aJaWLH*Qh zQPKJMn-NcKZaaHANY^HFDw4Cibnq9J4$h_DCv4s#_J^?aj^+I|!NVlPQ z1>)c?TU_q|>41pkH64`B1xJ4+LiLW1f~yHyB{>fA5~j&P5O;zUV~5Axk60HuT~(Z!OWbIw`49Ek8TeZqcw4n_4Q!> zK*o#zPDUeZM8_lcHyJuZ>^wXy-8*x6Cu?P2A!MaEfImvEm~Yle+A)9rkJ$ZxU%g$L z#_@RAGd{V{MA=pab;3^}gYgveb81GC z@bl$)7T7NcTF8}p=vTDKHVCFN)z_o!?CR;dI)UaAZM`RH3;43}9kCpWh4x4Rh&LOS zHS=reol=7GnpQ6I?#qAaYJ2Wb9#{V?!3%Xh_j&D`A^bx8j~OP=-Mk|v75h@oULKl` zV|(}rMuGq;OjJk-F)u@f&js-)JRUy%XeIHc%L4o4tE&GXh*=A0lJ~j^$wOJ}R^YqwhS6KtO9jV`_q>MAI86_mOPN?m^iC1ro1W2VBK)TeJ< z(k`gxUnDYriO?H{+!ZE}iDDC!?3qi5Ne|pFvAF~$B-dnyfJKQP=p+02 z6nwNVP8jbnSpY~ZKxhPzKeO>2ij~B+ZD7K+hd?A1frAnVw7Cduw`%on=lpm4d_El< z6_X<@ECTEolTj=r0Z@~6EJXqw7L&a!PXR}h4K1X9abfm-$PCSMuF{~|$+=2H-Db{} zVgy=(q&(*;@HIukqRYDKvaXu4_Ovi@+&jm$FZB<s$NPIXJ*s z&9(vqXxn_Ny9k|9%?oj5Q7>e)GQ&E~Y(c{HR_^Y9NxX1Sm|868;*5xc_a>F^5^(Z% ztzT|9LT3y^O}HiK=t;OHHmdxsuHc}U8_9t#!{*wCZs7lW8tue;*YFLwQ^|tQ&E+gizyZ5&v5LGcu`we^$KJV_T5wx0N06+~@y2BME?E>qQ740w+Mft7mO(9xIKw1foDs}0 zv@dLAiSGHc-w8)Lf)8DL6A(+qi%DYG>X@6)l9FGi@Lqf#t7gae`eEx?RdU&MroCzc zR*Gn>e~L7d7o2Y$u$5NcZI_$fLulP@ zB?-Ec+YePP08@cao+Kw!nRi=~-TDHD9NQ$R#EEKO@IzmcH0l>7#d%l0W2=c{SAxht zxrrSw-eAIXoVXHX$;nL$ZY_6ihvrUll0X*D`K|=Oi9F0WJKNAO97P8)M7&;>s zdJwmc!5I$Ugm!ojIAi~$MV1huD}p?)2b>8ALRw1$|KnJ<6Z@ZD3d1oT~lAEnyP}{3dQFvTbK>J%e_!{)b{n6pLh2yX6 z1!+oN-Qq}wZ46_aa|jt1EPA&+2_OFM#NI?hoOE&jI~Dier6ZkBN5jIDT~BV=8yO`6 zLZvv3L=a}F`5@r8WjO@M7KdYWVHPBwxU3oGEg405b_`peVMlq%y^;mrSe7j8TZ?6r zFzR2HpM=wxIWuT&{koR!8vN&=?QyenF%toQev+5o?yJ2uTZ-einukegC}qa%t1mZj z&6fKY$X#JiIz9>xmeSyhGyRf)tDP(<2J&N=znOVcW$0yE=%gFoyO^OZB^&N4yB*}E zoJ;z8i#*0{3$qEgg+O$VpEwrWv=ByiDNT{aF(^tAmZaboKDb{ZH>#S9Z6wlxL~@XWOcAXhe6K+fImlsg zV(bCxTF8~&UB^Xp4Ot<}gDcj!{W+@%! z6(o^saEeSDy8cz(O{}E^pmK}p>@;O1i3g)1n`-Q*JeT<^6PUE*woH#M9ftFNL?Jku zwXyW%b?pjsdWv2X*ZeYGl{`65R=cZ38{#{%=&}JV&zF||!}*qu@+!*&vZ?7ol7yfw zv~^ERCD_&^u-3uR4=8eX!oBsQG3B_QR}v;pu8o5iVqluaFT_B#%933a!;7Z#L0*cC zPXjJ>TG%{2uZmgKpS9~oQaY%0Q3_i!rRNu49A#Qf;FXtMYg9aJR`rV__i z=mC3d|C(Hrv$;5?x_^(Dx#axjA=XQQW7NO%Gj=nJf5bIM@>U0NfhV+oJyD)rA|=kJ z_JDuFCB9$6yVUuaP2~+OuPjRb!GOhMH7$HmE@=^h=_?%ECa1|$F$cj$G z%8td7y`+%~amxZ$!UJb>nY7{9=$Zh5sW>n6#IatuR6T(BPE?#E23?qxcvv1GVq)Pt zY_0kDdVZG2nqW#qZ9?0BmW#$a2rp^{&@}04MMb#203P-o_7GdN)?@5DwON+_w(DxM zH0$lVJ1^ZOCt;y(DLx}rw0^Ra(znn=TZ)=uePQp-^>qyH8(Nx124xko)n8HfXbxh#c2)0sg zU5RL^77kkJ7%Z}FR5RGfDjJM&Gdw4Gyj1eMyrC8Qs_x!jPHNX2|Gj+J!$Ny>AJdAoNVeSgiF}f^mytW{N zuN}yiMhUy7wCGD?iNoS_!*gohHspxgc20Eb2f=V0S_*&hhx25CFWsrw4{|E@{S2dv zi8-H+kBU=|E|Dd(Y8qPSoMD2k6|+orv1ag4EFb?gPFBAp1{f8%%0DI&Qs!Ak?Mv!0V=M7FQ6~zQTIDEXfPXnZggYoow$vO5eg-9ZL8*l7kh+VhXmuTuoADuU-H_q6ceF>+5!{+%NC$6n|;gO=rBWTFNlzrSlD zzX3vR>;?*!v;k(R-pZu^cz85EnjQ>~rU~TYkDm^?wCq2e93CBw#*?FAazSH{pANa2 zl7Aai-$;M*Z;9%4w*b#V^=T!rQ&gW;0XszXF$LhCn+)1j0GUV6tpIcpdU^$*i&;el zuv5sjVEk_nx%L!5W2$dk0klE&+fe{5tz8SdfbAjI!X98-$YmA4uygwSDCYqodi|E2 zjcuI=4Ey8$pno);PNv;?z%DVs3po#XHU`i=4|snr28gKz3o>Y8OQjWdYL}JP6FY@m zT4C%Ia^IE9Xs3`%Yl)pgF0D6q3c0ib*(v0{D{s;cAs5pc;zARZ&KUH^hm(V8YUATS zYjM}3whYor;(4*jZX=!(o2=vLIkCxlik=gjw4i@pY|@hbd9lgv1)dX|tRv_-vB`RV zo)3SUm~@WPBwBX&{}AWBhyBT@KMl5aHNAKG3OAydGKoFy4~9pR@o+FsZo?CMz4md_ z6yU@DaB|c?91jmu6E`{-j}DI}qwzu8Ctn5Vb*H_R96UQi^J)3MQ#79u_q#;%O8MW! z+pj<~$Nlt-3P2m9E&KbMpjP$7H*#y{px1x0FR`KvC(j+5c>aX=wWkW2lYiT~pcV3O z!P~z@^3PcOJ4XI#rLbG%pU?{Q4!Ov&u?g3X1sUq1fm&1!T{KV^4YV6dp^FB3PUOCi zXds0$=puujWT((Y2JLWQL>C#Zl4-wZoQS{0pB&%`T@&U* zeJm-%U7ff>-2Bl(Ks|ubjFsni+@w&>4h;p$y^YOuN z8CDz5AeycYo+x^&b&*t1^|nG|-CLq!g?2Tss)|+2%_qKg=rYA~n#+-3aRni!7*_Kt zuPR8Sg-Z2rgw)actjhH0RD-YgBq_uyke!f$I_=})uaLf4sP?ZKpD)k#8ND36i!67w aX8iQfcznEh{C@!e0RR6S0Hvq(8v_93HY#2K delta 11512 zcmVVyZo%WR4e&X;*?#Q*fe*F8#{Z1yr19SDS`IythKh z#dDl~TTaE_j0+c?(A5evKD{orlcZhn>JxHTm_UY1=>ki=T1CrZ^cyUeZOnb+ zfO6S%hW9_wTSVTh=$deo$HdnD3ARf4Gu1%>lll;=b7yu8`7D}72ii8h_W+~d-hTsT z{;Ro5S760w3_#uuZ$$6KPsy0qzFy z(?tgF=y{235rj+_II|F8c#aiv<^=QQa9rde!uX1K$e!=XHZx2Xk}3ES%cVyaz#+7K zaK^ZZnp1ywg)A`J00{n&TkRfz;DlPp1h4Lw*jxfkEX+qNR()+VZ1T5z4m59(752jC z?kB(r0fLXb)e?Hk{iNvoX1wO>4d?<@89Nl}?a=ID8(Ui?b-Yr@=|D_LqJL?Ty zIscul=4dk?jpul@-b~kPG#=iKjmMbO^q7mu;yXW=nuk-h)O?Ewnqw0~chiRK%m>%1 z1kLZJWjR_no_uLqfL|b3mk7+FR)Eeq;R~UvBXc_u+lkmt#O{`eJvx)i1m}O6b8y%{ z%n|c+<*XSxg$$}p1}!`=>rEo^#@yQZm^3I{=vIm?oe?$4o)NcR zjN_x=!LMl3mTc&W9+B0mxT$Lf#|E!s*(NZrD5>J}Sm)CkR&{fuxKKT28C=hm^!EOr z|1=USR>uIysQcza94Utw39BtyFoXV}1ruhh8bC_4Zf_8^_tGkZCs#z5ib4&iK~e%n zA8-jM{(8G%{H^hS#O^%*`|9n|B>!5X|M}-XjryV{){Bm)iKFq&SRo4w%x9QDck_;z z)Z)^C%T5nX$Fb;;q8(se7THlNXw)yWYX=np0Uncq2;l!Qw*;lz8;e~byt#k;Eb*rfVLgT z#alw}31@a8BO+@R{7&o*fOinvVhc%$*xN=sQO?gR=-wjcMOvtJBUc&Uqi*xW1}+y? z#<3BJus6Y689QU{N*uMKAzzrSe|waZY80{wrMGKGL|QczFEK!QR&J2=Q(xG`I(Z6l zlN?jINu0nhU+nlINBFq-JVD=&w7_?WaC5FbmEI-CJY#Z9C)YcgVJ)1%z{n zOnQgh<_?TFpvK;dIIy-{7byhGg>(W5$QW8VOeEL4@&$lmvzBmL)Z5Gne~RXCayE2+ zhnr|C2hQfPrvi%}-|z;yL>Q-Hn!8=!_szhAoXnMoN~QOw4GxY$YJr7g(AwkSB#Jsr z97iMTDqBIahPJ(t{wmA=O8$~&mg8p^bbRz(^U*LT<>3@T+dHAe!xnOXpU-Vf&}HD- z6EEvARVi4tcV$MYUAV(3e}${&HMtN~SWagETdBgwryw)u{=;&X;dB{el;FJT`zGFT zPNb@8k$h@wmvrMm+augK)Gd;23i*y`pN42BIU!KVB_dl9xC*FkkgWpjR_IoZen+@Z zL%7qt@Sf}%wJdBiFk2(qt&3U}>K(y84Z$Ad1**hX=rg%Pu83D`lj#i;Qa;S7-J4jY zKej@?DyS_GuL|roNH+)lj&PrbaF6n0GWa^2t@v8{wLfZ-X#}I>u+*<5Q|6sZ!ffo9 z%b@rqX@1>d<#Sf@D=vA{`8J@4 zjk@q^fQ80FovQG;cyGyS$SXr0fAeH@K5mrtvR=^kD6@HZVT?V@laCK5IFE{=e6qCA zjw`tsZo4c}?oV#aASvWK_INq$F)4~8ic>*{Qv!glMl-#Mmt*)iS8jPuE)pA&8; z$}}VQ4Iy+*O!UTX;Ihbpr99xul@K{Vnt#fNeB9KMArB2%YQ&4xDRcd5MWXNsv~5|^ z4FQX{Z(gP7hojU%PDoa2MU*i`HK>%sDXpfXORXGO%arQlm#@QACkj$H`q_aB1VNtpA=WSA4`A%DXW zParXoeF_=;@rW~(s6iWyKde3P7m^5{pPdTsqHKv=F)OV}rJU*C+J!iyt=xy>6N+9G z`CxcD`jyf@KYV@o`s=^{?+*R)zkkg6Fn!~>pa1pN{PW?Lx9_ipzj*KHhffdg$Md^i z|Ch~cN1GR3_SX3ho=o zA;|Vyhgk*ksSE>`1>Bja|5s~rIWnFjZiT52g5xrJ3{eZiqGQ_ecqGH6*Pd}a=oxRJ z*KR__nHQT1IZ)`@5nVMh<1f`0*%NShv z7u))OefehmCaE*k{i!1DD|{)hz_C7I@nyf?AMA;LKK1*@;-7yTJ;M()FK%>B7ZQte zy2$pU0pjuI@#gWdXT;ehlY7S5k*`O`8y#wgj)Q{~dWQ@xau z809I7#>V(7zi@0kQ7gqn6%dYbRkhry1ovd~g5tcSdK)s3V)!v0QdiXVxuME!>ETDU zs3FccRWqm(EU6fe-tQ zw3s#_`eMtUnbh>`=YJ}D6`#e;h>C=pG&!`!ltwjc*>vK#6UUu6?!<8?j-Ol{t8$RP zXHV=nC*evu3qK(C#=C9cc$EOu$;ChWclyaomG-ajf`kEsZ@k-bH>(8RqE|JIu1ZT#deZ(YFcjO~{$Uft19Dgq{!sVjJ;L3^0iaa=& zBNbHhK!5*6`5v5$HoPEE&fGWSli;Ia&kz;1R5$2X+`0Ngt#TEKkE)I&OwNYZ7l}F5 z{GwiE46%@vi($x>(b5~yDpx7?Pzy1oPK*;yg$0(RRqGo3o=>1{RjT-&wZuVAQdKB6 z!<4$l>LLy)M}KdGH+TAyQCC^SLAR?lQb=z{eJF;V)fwtWI*KBwar1V=0;TYoc!)Du zq$V!lW`zh7GjIoO=~_)aJR_!ypofIauO`7W;I%3W<#n%Djwn9rsuDCYK{ch^3lR}V zITyFX{rFVQd3g}xSc?y46Xt0%7HanW|P==}z6L_z!d{Ub{SK zcX-ep9(0EXPj-0lVoP~W2a{73Edn~svw{_P0Ra`W`xYeu0dbQd7<>Uqlb#qEf4J1f zgPi-I<;-6qk27IQmq;j}J;^N+ihkQ6O!a_t?~zcU1sOvthk1Ze;L7*ir4rqx65XW| zPa+Ht3yaiTBIa&)7-=mJ_6vckP?4>%Lm^HNE2 zRZtPJs{9Ct8n=iz#vHq?N|E@i>FN8vQRbPdx4kSfNOlp+to@NBxUJcI!q?e?-8WVa zAjJk-9K~qZ!XPH!?I1c8ay~ie7gjR6YOUDeRcWz9p;S~Q{d5#Td9}kDe;Of$@YW5= zuAbpbuV>haob$=SAg@FjCYUVV^3|^;XTr~ODyd2v<`Z_V5Gy>+4gs}OH#Lsec8aCO zN0yZ;skb`fxm*;4m=!?EHdIXl>)}f8i&=+>felW_ZpAw4U zD5SWN4hq3k(?a2AT6!pK-L58z+&LAySG08m9 zRs?b)hwcTcu#CESS?MDOlbrOCh@$0R4cS=!)d~~KzqZK2A+8+*cMQDq3_Q&Vr@pX} zwLsGTsmHuA0BXjCe>1!v7+8h88-rB9w{dXQST~8Onr%O!l>?xIIn4ovJch}lQW&X< znd2xc54K}3b#@GX!Ky*O-|rb=`L&8hdsOwR)I8QNM)T4P*u$LY@JnRUJLJBHe4*>G zO&ma;Pvpx@L>qDmbk$%Sdh04Mg?heAB!Ptq378?U<`SM!e_$cghAslGY=e;pR*u#!pr-Zf!VM0|^)l>iD6A;Q2d#2~gkK<5D{WC2f1nJ47D#NQKNpPZfY zh5=O3(UKD0lr7OUS;2=3=rX}U-UV{~0c`x*0$}dal>lT?GRM{ALXp!ayU=>NeJ~vL z2E(yhIai5&f5}9;)YN{RCDU0l+ZM@3IWg*&g3;etGCr)PP>zGh6U!c>E}laZ?Vmu~ z_H%MXcv|GGc1GamWV?4#Smy>ECHrm~ZIl^Fc}`ACvMfD2nkLOvSjZyBxRKRjjQ)ZA z|DNJs!T*hlmXP$*g}zH2d0A>Qt>D9%1UQ)Xj1?xae_v^D;Z>a?9@{nFn%}Wn6!)88 z7F_~~6&`5+__SI`TJ6(F-4o9iW<49ntP)7NN9NQ*qG(r6J*}#z&jOs*ZSJ{Mow{JT z`a1NmpOfMt)y64gP-U;_t56@pb7)Y%>vj}qG>&rp86o>8b#M9RfkS9*kI?DWPOo-) zwbQGee_q{Ty*kLrd-1giy(cz>Rs(Ol3Q#32TTiDZ`fEwGrpNFk7yEZww9}$xTC|hr zojmvD`7kG`NQ$uch>3jQx?)^>zkTT~x@kvf2N-vF3IXqPBNV@xiEn? z{)#SMU}U6S?VoV2y1Bx~$vNdkI0 z>E5QFB{POjo_F%Rljog0-z9lI$;lIwBJ2Yq$c4-oVZWlydzY@n^#t`rdoIlFOZnWc z+Y$IhBkN>;C;L0u-^u=6lKs=1)IurEKGHknOYsKMJ_cp`@;%mBI}$yKeJ8^^8Q#h8 ze@=$)k_%ygXNw;!V;ONV81++>sJ$mQ^`2!Mc+wj7rbnev;JXPS;j`&v( zxJ&5hRKd=uf?}T1OYh5GyO>JVYb&pI-)X&0>uG4cqkds_{Uw5p)9XVRl{DOp zQoFt;3;S$Gf5nH;X{}Cc?TprXnyWH9UDD|i9bGag%rd`3Hi90K_vN4_+2$!o+dtt+ zb=a0tNsppC>FLzUPNPm)6ZNp6Jb_Gq0x*U;yq!VGs# z@F#S&!mLTeMhr?#UG9I~NQ=j?Xh(-9ht+BDPJ{2D29G$WJGJVx*h|%7TY+`q7o7sze^CY2MO<{c>qYCXNntGmE~778)XpX>0#sXrp|-YS z5vcZ*Sz>&hKI`<^PUf9mPLSS>NP2kPO#M=|0{{e7L;1I zN$Zr_jw-c?e>CZ&?Xx^S`_FhbSodJCI~DA7_b%%0gTk5|l4_gg0mPtee?MX~)>%86 zIf;E2soAOIolwc04DV#PFT)S>YI3Xz!z*;Po_QNjuud%*o`#~n`(1t$HY&WcIt{Vl z;_4LGYS&jQFweQaI)hRCGHEY*%$AS==puj!oY}m0OaNPA4`AXkNKCZf_zwBhkTZ*x zeXmn<;UgxT)1>(v{KaKv6;yNUBXn;O^U~EAp3?)hlN>kg_j8lFASr+L2RXUgK2Khv zl_<0E_ZoSP;=X;?M{4fU z74T$B;9v*Yn4s3~at-H7@BBwgC~ZYMmy4Ndn!97$^J#yWlNK8%%u@^(O;|PrlEk;tEvtxK?0btyd1WuO+aMS2@L4Ya6-1W01AS zvQLv)ui}r`5@oPTzSA&-@=X_sQaz8vjxyRPCs$D#M8ahK>?~Yp)pKKJ!Q?R;oMFFH zDR~Q3WEyC51*t%@h|w|#n2>-O|Br1W3s3?)(I&R<7290|9G8EZ$nyZ5gBjx7xRwws zz$k!XyMbA2ESa9wd=99i4r5$%bfeIYox0QH!f{T9kxyurtfcdaz9E|?Y#4`A#D|}W z11$^5)>rr|N`(TPLIy<;fM{@vpnXQ>^e6C2_VfFE?jcsJD>L{Mc(US9E4i`M!!C~x zcw5$7PBCkcO`4hk50ADqnrp&@(UW3~i{(Dh;oJO`Rc@H+pXcTEsxOXPBnLHGU_ z;2ztykQ6TBRM-R5m2NODI{ddbHE+S1Fl>Vrbxv7_!*>7Xlg8S<`H69YMKnDz7weggz2ymR@$6rqaB6=XPsXF6{KdygJ!tbj1ePb# z3)4=25g8p1`n=0Okc;OSS-k6DE>CQX2s4h2d4Dh*jg6jh;nF*7AvgZ)9L|s}C+vzr zm%VeSx#VC6{Xx%oN37%nUjSaX*hCk|^or&tGnYS16VT{T4EFd5H?op)toQsLYS{A0@f7XOg7A{(FdI59l`c3z*$)$g^&3Bvt&!dl_NB+S$=xRH6 z6-R&PPgjNv3Y%)2YzOQvZ1Ul#HxOp|dx&jhg>SwYgW2|z47vSE`WhB%nE7$^j|U9O4aUBW66 zMj?NH2)2-CeSn~Qd$Z>|>3uG_Cif6CPjJqPx(HYZ+8&spIsd_RD1$EZf;0M#nRc6* zj&cIWC5e25?(KW(Ha|E|0@6J?4=)2LJws2zZ|4*}gY%Ol{_Ori_YPc2(VexQPX~kC z2y{uk%v|~#A8`!eeWJfRhy*+JCcIn-S*a8)OWC&&WLx}PhIeDe?&$J-IvD1YKqiX< z!6=i>CPD#RlMp9b0!<2&Y$v7xX_FHuhJW#(FnB90?%FgMHVLRa9yV;R9}=7FLNh8h z(@zcYm>FAotra1+_1bpnf$HY9F~~SXk#HF+;b;_9yZa>Q^U%)+ z^;5G&Md#yhMm)8-?d<6wU7O6QNY3uk!CzQ9IG28(uz8EvAHvc*miN~L50em+x8a0M z`Lh-mh=aRqalHei10t5!bWl1M9DkJv)jK{4t|n-eEHB>cMlHs z17U+U!D_Y0aq%fRMMCO@MCd<`)p%}s4L)J#3NazST7jGfGjm4XlDT9&x;3887}j8I7zF9go=GWatdB^YE~A@66?$td)I*kd@*9{wTR(zF8+}$A9=gV)y@j z^>%5Je=X7fgq*O2={u(jF=fAEVx_lcoKsiGV{qjd$Kzqo_~b$pWm^^02|tAl##7AC zsToPa&zI*}V80+}Ay?|5U(qJpAehQjUyri0tEcPg1e!~<^`4|H;LFB$#BwMW+9L%Z z-fURb%&(z$N(stqTDi!(FMp@2?YTpFT>Y~IFVy+m=e2K!@C)%jW|%;C^NyHQ>`OU& zd1yM0?cpOB2?D4vQ6VM7ybKjS7sR9Rc=+_AmBgDa3+$7xs{Vr@W-Xve-s>hLBl)^1 zk-Dbln1p&#x%zVNj7VrNovpsF-D=HGuz9LCy7)e*tDw|XQ0giub$=CLQ{nF@1K zpT2cTyP%qXk;qK$__urNqS}~N=fc!(zp|*_`r%S?qpw$)D)dWH*^qAJzp?Ee(zPR**M=lqDSFfxI%BrYioQEu zX_&?wpjxJB+>N?zynp41!1hYjb2NDrza}n5X)#}~O`S1Ao zd^#K!lO!xG0vr{SQY<6^T$6V!MFN}@lfEoZ0jHA=Eu?>g!tDEy8Jg!@r9rimbCrg= z&73R62($!AdCpbfYl?(Lmvz-;T{UIx!@|UI?;O{@)Ia>boQZ>?%Vmr#z-e-?Z|zs- z-~eYe+X@VzZS$?}B6LbMFT|Bay^zt$4C^?v1qs(%xx4=*@xoDIYO$b;Ga?S&n^e9_ zz{%USez`dboiPkG;g+DIC*hjdsPebEf`ejiBnP?-n`;}oq5G(%eQ075^>`&rZ%lDZ z+M26L`5ou)BbO)#3AS z6vaj1J|HGN(h?gw2M{dqU3j}cm~Ft>=?~;e-qA}*B4Wt7)VRWB`jI3$>M80#?0On~ zZq~Cnvy9T%yBZZ;jfySRsNhgiS^BBZuaHdgDQ*>|476D~Z3`eTe-U$q%_B1VX>gC1 zPXU+6v9Sq1I~HW9{i*}dWAEHdEx4_hBS_Zgcw;hrmn@2*sFT4-?N5Xk%b=D;oM93# z&Io20+7~vmMECsJ?}Q^A!H2HB35ccQ#UwFob@GLE%gwHwn_WwxH><3ZXL(k` zA+&C{k_27J?T0ECfT_SIPm&X=%)2egZhe76j%|`u;zYGC_@OUJ8jT8*;=C*0vDL(} zD?#L++{BI-Z!lpxPFxAH;D3n%xQGbe^@)0ilv62Jk!ax(eXwG zj>qG{uwQaS(*oB1?$S6+xcY1I`2lA+4o>|8cC_iTzK_L;Sijjxk4X ztEHY5bF9f^f71TQt?Ml88Nax5MNgB2yfcw~$<0#u+zNcUde)QEK3&l zt;MoQ81*m9Pr_-;oEfyXeqBp<4gPb`_Cd3AF%toQ{xC1S-B){SwiL&2H4l^0P|A$i zS6^=6nl1M)kh{X3bbJ&XETzF0XZj@pS36l!4CKc!e>3x@%FxTS&`CGEcQHd-N;ce8 zc00;TIhXYH7I}=@7G@J}3xVh!KXEL$X(5d4$Q|MzE{$UCFCbff5-!D8Uv6>?^-^{X z@hiT6;9Ld04$sD?BYp~%Q<@@;V^EYLEJ?vFd~m-+Zd5fH+eoAXiR2&$nIc+2_+En| za*)H~#MlGWwU8^lyN-+I$VJ3N``6?`0>*49YdhWxV@UXJ#qa;0_b_)6?*f_#Ko|J{ zTx9KEliw&q$KcZvdtimwl3HQ$<~g<*a(&EyXV8>?ZXb!c0*S6w-e#p~x4b{zp0{r8m~Q*~QntS@ z%TgNm^9qv4H8@444PE~#?)^6?(uP+rK8)~8sXgGIaEb4i@Gfa}X%PWhLe=y*)lmsgbMFDt*1V+e`x4cw#a8z7rKEi9r`8B_5VX zh?rRT4qIzJzMh}uu_l-jQJc_zw&kMn4#JCC0W?jzT2T?MFMx-Ahdsm=t@RlDPHmQ@ zzwNr(EX{iR?#@eh$w^qKTZ+#}6|JA_r1UNHkj^P;$*JjuizUAD=d+!MRzGNrCSbP@ zL~{-|!--dQ)tzKEGO?$5$$gSlKOlBa&D)w~n3FKnvcQ+_RO|;i z75jdM(Z$4^PbY)o)T2ve$*h{j7DWETa ziNmRoZ4x|?A4(uPY#Vjf8q+55?=n$xag8sP?hT;~3Lb2$5>(GnT;NyH!ppn3EWouZ zHHDg$JDO^Ivq&et&!>}7aW0ZyhOM^P=HF|c@FhyWX}E28vjVS8vQlLYUyYA?ccPcA z%GcHGdr5-yg*e(KlP5Sc0n?LPI6!~lASc9J62rgftX_0^^m+cV_j--3{m-9MVH)9= zMW#dqzT^PBq>oA)ti+hMb`)NMvGQ2F{2LwX1kDevqa!%nn;uRld*i|3(ca;F4)>1c zXx^V6_NNG;*fn=$vFiQ4AH!xGO#6p}8SL*(2QzDLJb{zFnb|+wgY*7mJ}`fWQ#7%X zQQQR(KSA%7OA7?;*LVHboTtRK$gjEmak(acLd=ZgzJFb{acm6x!~Wi2us0Zf>K`2s zhsXVce;YmH7wR#8+LzR0##Z8UqD~YpwaRz;$q%*_L_V0tqsaNM?TD zyE(X!n7aHLsYYQ^8$MAm&sjk|VOp+g@@}op{O%8K10iQBgTsU&*F*@93PT_TUJT{9*Z zVo$yqAJOV!x$&?GZR2=&Fg`puIO-jIPRHZn zc+x)_k5d>X2)<1Wr-uiFqw&F1tc?Q0$?h<~bO#yWV5b@2aOZy+;AqDg;IS9i3a(Hw!8c&Xf$pwu) zemdl8O8#w7eItL#za^^I-2yxd)u)xfPEmbY1?&*j#}t5nZZc?B0c0LMw*t^b=;;-J zE@l-Kz)m68g7LpSHhiRZ;8yN!5GY_g7{=fo!KDSA$9(t`eZu}Mqz=fx(w7kEx=vW}qV z#3t+cc|Lz^V$wNElW5u9|3jSj9`+}r{xsOy)%4!!E8K`;$|Ux*KNucO#>2rlxeZV3 z_1ecxQ-BZq!^u(qa6CLrP2A{UJUTp@jK&9TpL`Xd*PZrOa`5a7&8Ox2PSJcu-0u?2 zE9HL^Z@&V~9QV^RDgbSaw(Re3f?CxR-^i_*gI<5jzQl?yoIH1I;`tNe*Pbe9PX2A{ zf>y}C1#kZr$v2Qj>+1#d&WBgXLeK;*spE+5&Jm!KjDM;`N3JsN~ZmuaU%W}e{z5) zbWNBK^|7Q3cZKTAK`%PxnZu!kMU#WOE*^hlsDI0T7?g@_ttxoBz^n?P#Oo?EBFe?; z%*O}6Wms)IgJ`-sc%ta7)a>rGze4(Iq1wM{e7-!_XY?HQ eF0$O!n(;?t>9P<5ZT;e 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 BQ-J^g delta 3268 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 Cyj6n$ diff --git a/gateway/proxy_eth.go b/gateway/proxy_eth.go index 838a9ba3f..e1a261a7e 100644 --- a/gateway/proxy_eth.go +++ b/gateway/proxy_eth.go @@ -21,7 +21,7 @@ import ( ) func (gw *Node) Web3ClientVersion(ctx context.Context) (string, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + if err := gw.limit(ctx, basicRateLimitTokens); err != nil { return "", err } @@ -34,7 +34,7 @@ func (gw *Node) EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error) } func (gw *Node) EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + if err := gw.limit(ctx, chainRateLimitTokens); err != nil { return 0, err } @@ -109,11 +109,7 @@ func (gw *Node) checkBlkParam(ctx context.Context, blkParam string) error { } func (gw *Node) EthGetBlockTransactionCountByHash(ctx context.Context, blkHash ethtypes.EthHash) (ethtypes.EthUint64, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { - return 0, err - } - - if err := gw.checkBlkHash(ctx, blkHash); err != nil { + if err := gw.limit(ctx, chainRateLimitTokens); err != nil { return 0, err } @@ -161,7 +157,7 @@ func (gw *Node) EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*e } func (gw *Node) EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + if err := gw.limit(ctx, chainRateLimitTokens); err != nil { return nil, err } @@ -188,34 +184,6 @@ func (gw *Node) EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.Et return gw.target.EthGetTransactionReceipt(ctx, txHash) } -func (gw *Node) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { - return ethtypes.EthTx{}, err - } - - if err := gw.checkBlkHash(ctx, blkHash); err != nil { - return ethtypes.EthTx{}, err - } - - return gw.target.EthGetTransactionByBlockHashAndIndex(ctx, blkHash, txIndex) -} - -func (gw *Node) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { - return ethtypes.EthTx{}, err - } - - head, err := gw.target.ChainHead(ctx) - if err != nil { - return ethtypes.EthTx{}, err - } - if err := gw.checkTipsetHeight(head, abi.ChainEpoch(blkNum)); err != nil { - return ethtypes.EthTx{}, err - } - - return gw.target.EthGetTransactionByBlockNumberAndIndex(ctx, blkNum, txIndex) -} - func (gw *Node) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkOpt string) (ethtypes.EthBytes, error) { if err := gw.limit(ctx, stateRateLimitTokens); err != nil { return nil, err @@ -253,7 +221,7 @@ func (gw *Node) EthGetBalance(ctx context.Context, address ethtypes.EthAddress, } func (gw *Node) EthChainId(ctx context.Context) (ethtypes.EthUint64, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + if err := gw.limit(ctx, basicRateLimitTokens); err != nil { return 0, err } @@ -269,7 +237,7 @@ func (gw *Node) NetVersion(ctx context.Context) (string, error) { } func (gw *Node) NetListening(ctx context.Context) (bool, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + if err := gw.limit(ctx, basicRateLimitTokens); err != nil { return false, err } @@ -285,7 +253,7 @@ func (gw *Node) EthProtocolVersion(ctx context.Context) (ethtypes.EthUint64, err } func (gw *Node) EthGasPrice(ctx context.Context) (ethtypes.EthBigInt, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + if err := gw.limit(ctx, chainRateLimitTokens); err != nil { return ethtypes.EthBigInt(big.Zero()), err } @@ -316,7 +284,7 @@ func (gw *Node) EthFeeHistory(ctx context.Context, p jsonrpc.RawParams) (ethtype } func (gw *Node) EthMaxPriorityFeePerGas(ctx context.Context) (ethtypes.EthBigInt, error) { - if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + if err := gw.limit(ctx, chainRateLimitTokens); err != nil { return ethtypes.EthBigInt(big.Zero()), err } diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index 907adf8cd..fb4cfe6cb 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -54,8 +54,6 @@ type EthModuleAPI interface { EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error) EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkOpt string) (ethtypes.EthUint64, error) EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*api.EthTxReceipt, error) - EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) - EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkOpt string) (ethtypes.EthBytes, error) EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam string) (ethtypes.EthBytes, error) EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam string) (ethtypes.EthBigInt, error) @@ -335,13 +333,13 @@ func (a *EthModule) EthGetMessageCidByTransactionHash(ctx context.Context, txHas c = txHash.ToCid() } - _, err = a.StateAPI.Chain.GetSignedMessage(ctx, c) + _, err = a.Chain.GetSignedMessage(ctx, c) if err == nil { // This is an Eth Tx, Secp message, Or BLS message in the mpool return &c, nil } - _, err = a.StateAPI.Chain.GetMessage(ctx, c) + _, err = a.Chain.GetMessage(ctx, c) if err == nil { // This is a BLS message return &c, nil @@ -441,11 +439,11 @@ func (a *EthModule) EthGetTransactionReceipt(ctx context.Context, txHash ethtype return &receipt, nil } -func (a *EthModule) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { +func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { return ethtypes.EthTx{}, nil } -func (a *EthModule) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { +func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { return ethtypes.EthTx{}, nil } From e65a5988e1a54422c60309a324b6661eee11aa9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Kripalani?= Date: Sun, 12 Mar 2023 15:53:56 +0000 Subject: [PATCH 2/2] Eth API: make eth_getTransactionByBlock* ops return ErrUnsupported. --- node/impl/full/eth.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index fb4cfe6cb..721439502 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -42,6 +42,8 @@ import ( "github.com/filecoin-project/lotus/node/modules/dtypes" ) +var ErrUnsupported = errors.New("unsupported method") + type EthModuleAPI interface { EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error) @@ -439,12 +441,12 @@ func (a *EthModule) EthGetTransactionReceipt(ctx context.Context, txHash ethtype return &receipt, nil } -func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { - return ethtypes.EthTx{}, nil +func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(context.Context, ethtypes.EthHash, ethtypes.EthUint64) (ethtypes.EthTx, error) { + return ethtypes.EthTx{}, ErrUnsupported } -func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { - return ethtypes.EthTx{}, nil +func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(context.Context, ethtypes.EthUint64, ethtypes.EthUint64) (ethtypes.EthTx, error) { + return ethtypes.EthTx{}, ErrUnsupported } // EthGetCode returns string value of the compiled bytecode