From a646e8698af7e8e49c8b063aacb172cbffb465de Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Wed, 3 Jan 2024 16:53:53 +0200 Subject: [PATCH 01/17] Add initial draft of Flow EVM Gateway FLIP --- application/20240103-evm-gateway.md | 123 ++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 application/20240103-evm-gateway.md diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md new file mode 100644 index 00000000..e093fa5a --- /dev/null +++ b/application/20240103-evm-gateway.md @@ -0,0 +1,123 @@ +--- +status: draft +flip: [234](https://github.com/onflow/flips/pull/234) +authors: Ardit Marku (markoupetr@gmail.com) +sponsor: Jerome Pimmel (jerome.pimmel@dapperlabs.com) +updated: 2024-01-03 +--- + +# FLIP 234: Flow EVM Gateway. An implementation of the Ethereum JSON-RPC API specification + +## Objective + +What are we doing and why? What problem will this solve? What are the goals and +non-goals? This is your executive summary; keep it short, elaborate below. + +## Motivation + +Why is this a valuable problem to solve? What background information is needed +to show how this design addresses the problem? + +Which users are affected by the problem? Why is it a problem? What data supports +this? What related work exists? + +## User Benefit + +How will users (or other contributors) benefit from this work? What would be the +headline in the release notes or blog post? + +## Design Proposal + +This is the meat of the document where you explain your proposal. If you have +multiple alternatives, be sure to use sub-sections for better separation of the +idea, and list pros/cons to each approach. If there are alternatives that you +have eliminated, you should also list those here, and explain why you believe +your chosen approach is superior. + +Make sure you’ve thought through and addressed the following sections. If a +section is not relevant to your specific proposal, please explain why, e.g. +your FLIP addresses a convention or process, not an API. + +### Drawbacks + +Why should this *not* be done? What negative impact does it have? + +### Alternatives Considered + +* Make sure to discuss the relative merits of alternatives to your proposal. + +### Performance Implications + +* Do you expect any (speed / memory)? How will you confirm? +* There should be microbenchmarks. Are there? +* There should be end-to-end tests and benchmarks. If there are not +(since this is still a design), how will you track that these will be created? + +### Dependencies + +* Dependencies: does this proposal add any new dependencies to Flow? +* Dependent projects: are there other areas of Flow or things that use Flow +(Access API, Wallets, SDKs, etc.) that this affects? +How have you identified these dependencies and are you sure they are complete? +If there are dependencies, how are you managing those changes? + +### Engineering Impact + +* Do you expect changes to binary size / build time / test times? +* Who will maintain this code? Is this code in its own buildable unit? +Can this code be tested in its own? +Is visibility suitably restricted to only a small API surface for others to use? + +### Best Practices + +* Does this proposal change best practices for some aspect of using/developing Flow? +How will these changes be communicated/enforced? + +### Tutorials and Examples + +* If design changes existing API or creates new ones, the design owner should create +end-to-end examples (ideally, a tutorial) which reflects how new feature will be used. +Some things to consider related to the tutorial: + - It should show the usage of the new feature in an end to end example + (i.e. from the browser to the execution node). + Many new features have unexpected effects in parts far away from the place of + change that can be found by running through an end-to-end example. + - This should be written as if it is documentation of the new feature, + i.e., consumable by a user, not a Flow contributor. + - The code does not need to work (since the feature is not implemented yet) + but the expectation is that the code does work before the feature can be merged. + +### Compatibility + +* Does the design conform to the backwards & forwards compatibility [requirements](../docs/compatibility.md)? +* How will this proposal interact with other parts of the Flow Ecosystem? + - How will it work with FCL? + - How will it work with the Emulator? + - How will it work with existing Flow SDKs? + +### User Impact + +* What are the user-facing changes? How will this feature be rolled out? + +## Related Issues + +What related issues do you consider out of scope for this proposal, +but could be addressed independently in the future? + +## Prior Art + +Does the proposed idea/feature exist in other systems and +what experience has their community had? + +This section is intended to encourage you as an author to think about the +lessons learned from other projects and provide readers of the proposal +with a fuller picture. + +It's fine if there is no prior art; your ideas are interesting regardless of +whether or not they are based on existing work. + +## Questions and Discussion + +State where you would want the community discussion to take place (choosing between the PR itself, or forum post) +Seed with open questions you require feedback on from the FLIP process. +What parts of the design still need to be defined? From 0751850cf8642f04d05bcbd5e9880a6daa02fee0 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Wed, 3 Jan 2024 16:55:32 +0200 Subject: [PATCH 02/17] Update FLIP number and link --- application/20240103-evm-gateway.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index e093fa5a..a1568eb3 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -1,12 +1,12 @@ --- status: draft -flip: [234](https://github.com/onflow/flips/pull/234) +flip: [235](https://github.com/onflow/flips/pull/235) authors: Ardit Marku (markoupetr@gmail.com) sponsor: Jerome Pimmel (jerome.pimmel@dapperlabs.com) updated: 2024-01-03 --- -# FLIP 234: Flow EVM Gateway. An implementation of the Ethereum JSON-RPC API specification +# FLIP 235: Flow EVM Gateway. An implementation of the Ethereum JSON-RPC API specification ## Objective From 20045d230b1201bcaf8f63741eec3cd7e33aaf33 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Sun, 7 Jan 2024 18:47:20 +0200 Subject: [PATCH 03/17] Update Flow EVM Gateway FLIP with some initial content --- .../flow-evm-events.png | Bin 0 -> 150588 bytes .../flow-evm-gateway-curl-http.png | Bin 0 -> 69748 bytes application/20240103-evm-gateway.md | 306 +++++++++++++----- 3 files changed, 223 insertions(+), 83 deletions(-) create mode 100644 application/2024-01-03-evm-gateway-resources/flow-evm-events.png create mode 100644 application/2024-01-03-evm-gateway-resources/flow-evm-gateway-curl-http.png diff --git a/application/2024-01-03-evm-gateway-resources/flow-evm-events.png b/application/2024-01-03-evm-gateway-resources/flow-evm-events.png new file mode 100644 index 0000000000000000000000000000000000000000..468f4c3c23868d4e995f10c3400c3b08c6faba3c GIT binary patch literal 150588 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

Spxz+iH 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 literal 0 HcmV?d00001 diff --git a/application/2024-01-03-evm-gateway-resources/flow-evm-gateway-curl-http.png b/application/2024-01-03-evm-gateway-resources/flow-evm-gateway-curl-http.png new file mode 100644 index 0000000000000000000000000000000000000000..b255a8896eeb70124456da4e92a5ce0cccce86c1 GIT binary patch literal 69748 zcmb@tbBria(>^%7W81cE+qP|c=8kRKwr$(CZCiWa-|n}0ll}hOO6PQ)>N@GuN$2V6 zdaAy{r^rNPJ$B3;Q!<=xN+FOIfk={ zy0eme|&m2{F(Hb`k8KgMtVkOe0o++CJs(|X8f6~nJjz}5#=0rT1o%_d;key z0cH2Bt86!SZMEb+-`8$7@1;(Y$rkGNSHw*US(c(#etifDa0>pi$(sS%Iw+_hntUO3 za2f)Ce#-hp_HOp@L)%fAgi7m5H<{emoozl-;%MXX3^J*DpxamPpQ`kBr_(N{Tdvog z#~B_qYMl;cL!&a;@H6|G!As|6g|34$!*#`g5asu+(f@1Z(S^ zRco!*bLU9?|K8`LTL4bI<$qiLM@Oj6&);{R{J*`KDA$ZKqW?>#y@J*Eb7|yS;aUF| zxh1<&2KZm>tf=)kmH(@KUbgi=3(k#@b%*-T6XS-)wjRkMHlr4468`J1|52xRae=yg z@Mv41{LI-U$oYi_&zkY@c^g3%PeDZZ7p>lUzM(DeErImf!I@ZgR;>Fy zZoAvyGD~HQu`+wHniw%rb@)>ov%7HQ64B7NKX0&m$4xNPO7_rn0yY#VxzIUi6Y0G8 zL3hB(tCr;i?s}bMn`uTO(sdIvv+;}e;%WO^dh@3aFl5Jj-AOR-T>1CQ9d>+2AHP}a zesPsZawp@E;mBV#TL&5s-_uhxB@YjlojJM2w%bF#ZXAk^976efT`_dfJU(_fUDK*= zaRi!66A#e^?jypr8~gmldyHCI9#cm*EO1g^wllgU6>#y|DHHEPjJWHWX4<-lu`(6- zwSH#5EVjigen(KY-VY0-$QmnWIx}~BeZWq9^=7MIm6>uvz5hL|-H4Cu-t+t2+s8=+ zuJ6IEJpS6}4!cWL$9(NO`Mk-`B2CzI8h#v=ZOLbe2L2$s&%F(I=T-2oIb%zFHRXP| z)VV7}Qp>h+bc53Kx8EqmdutJsm6iPd?EO52l@ZfU-RJEmd|^!12Wm$N@*J-VY5MKW zfQ6T72!DYsM_8>a@UYBP1mn&lZBBgvUGKY8&A7%a57mw7^!*aUvcPdK_t5t*YxKo$ zTfCfa?;oe}RQI>xO>(K3y<+CMz-(sK>%HqxpTS$-&g7LPisZsDliVNf+_qzEQ|Twe zrsW2&>A|mu&Di?V?%y{WMzgzqy4_(HH5wDma=i6rX`yM{7VcMUxnEZt797gRUpE}S z_D1(LZNrZiJcq^i-lIG4QanikTD%_4$i2+wFPGUqN#bm<4fl2(0r2RDVveNfE3+M< z9lM8;y~(4A*rP-(m04iBAhF?lk}XS+6K!(7U5d6-Tmd4ulTQp%&RJGkS zv2pzDX>0T2{a)7vmLwY|clOT?!xJ-s(HG92C)p;o7p02U(wHjhnjV7Ksf<6kJ~U4| zo6*ed?>xqjt^6A{SI&y<_?a9^JV$1fWg!AyMqwE`*;iH3y==0F40R->a(@KQH4@t# zYgR7Dupk@Tqs4O0^0sqAqX~@oMmo4_1a`50V^o^Ky(`%6-8NadUwZ>E8T!HV(fJRx z+cMZ zN@>3R?b^P#>sjr0ky}2mRN*37W5-j!-!!|OE{O9PFkK(^I5Qe%jw{!{GjgfOj<3ah zMsnokp;IP*Kh{6rLOm#}H+N5#)h@!?9x1dMf+~9%kiM(Y$~{JlY%U|Kyoftrb>&H^ zkGdMA=B;*4qHS!t=aWzNGj=Y~p$4V}Dl!0vMP9zH9B#}0_KtIzn$xD}u=*E!B)k*? z?o_kF^RgYIXlTn{jQl#|WM+Q4Wx0!`4Ni;pj_IspkntM-A|lhw7`5akihgR=w$}a} zaHJzgqG!4Vj}|K}kCcGzKQ~-F5S|?Imyt~ETjFf*=an%B9!DNvvvYn0f@J!O3;x@J z)spUL#a(+EYrj83U(MJJ`U|x66~-lls)C$0AoO3mzaPRuNL%B!8_wX>EeP?RgO>tH zBlvmzeKF2W@1Fugn)f-Xm(*b>)5JwU^O}sD*XKq5flk_PK<|@rw6nvQH3UY^8T_2EThz zHlN6DzQ3rtWpS#nAbZ{i+}MAK+?=Lo^$yuOWtv3T?$a|T=v#lXW_3TDUV;JQrz7yb z!@caA~?tO>LVIFk?1+T?s)!Q?(=eB zqxq(yn5DwI@ALjVQfbwj9kY@Ra&Tn6zX#m#z;M5awyo~hb=QPp&Au|&#e~|_hJ1+3 ziNv%#E@;I!6;3X7Ssm2IFD82Y=7IjUY>4__PoID>uMo4z!4*NXnh>}3lYiBbWb znn}UlRiAa*ED-kMU1TPeT?$**aTjha&508=Av?!`+ElcJ{R;alD;u3v3Ld9TU9r0i2x- zSQ}MEnvKctc_!W&eR*<|E)C|F)s}qvcnp`D35wCgo~;tmd9xURVhOt)dOQxbKl5Y4 z`>r}3LX#d%i;Fy;$43<`=L>52G10zVBJt77lzQvs6WvNiWTxXD;(N~SDeVSZ-TVE) zBIkL4Ep3c%(z3GEe3;-^MS5FeETUJ)d58FEcJX$R?ak;jQ!}I_orrwh_Z{$Ll~`oU zK6&r}VeEppAuV)8y6KuUA5-h+mL3mL8>0s_VSJvX%hQtie!n z6)m~iiXLoe;z2o@%gzlHE^x&jWLl%a*Dq0O7$Zop5)1*L$RC8i3Wv~*5g;yhj}dZg z*HX;qUqbG}#Pw7PPHrIT;3nYMq~aI_#D!2%2p%nrQ=gUOO(4;r-y=i<v}{Wp(cF z1{BCFZuoZc`yl~nw;gwc!A5);29Xm3@kh{+|FDVA_;mD^pSw=VD)#>b;US)kwbT-? znMkTq)|Zmsrwe?$4368%AW4Vi-mSiC02J)gPCcS7EfNM45p1Mg!$z^5!*EtC1Rn?8 z8EU3Ld=W)i5hY+3Uw4*A8P~8?FOYaZrYCmJ4A8{Ug@MZW&=D5gaY}fQM2a~NP$LS+ z5C~dE9#6MbFOqmb2}_?VgK7~5)r!u?@fM8NK24=o0D!RjgVZifa(*$T`HMqA*1PMD z_q@AgCD|*-iJjp4O0qzG1x;x!Ph6>!5DqycvxcVdCPh7OoAQAHpwM+K6V|0TRpkg& zgV|76+T-bX@}9;bVef3_$BJa%q2cKO*oZ@*>(h{IM6@k;_JYt^7BzNY9mNeJsIVkN z)27QEa;d-YtjHT3Lzi5@-5x%LrliSaN2v3w8`JJXw(ff)Uam~^QJxG^+Pe39Au!}| z95g#IJf@ge4YjKDd1o8RNK1dI{%O~H@UYr57TV(hV^!l3^m5$#cz*e4{`U;)>tlMZ zPUWn5_F-*NZ?B81l+mdN&NVd6=h>3f%3$ZCmrrq7DfmkNQ0`}-C)PXueKkjJz81G= z=ZVp3Sh{Hqb!F@K#!q|^od!#{$b`D)vs-vMtpPt(WRd6S6D4fKf_q`QL?(MF6pZ55 zS+O2Jv;9AxU2^zE3p?m~H!(0Tti*Zo2+{Q|YExNPrMTn1Q-rjAcA4gF>zyqToipTH z4uY}jslzD|p9m(DgKPrV?&X1$!|y_B8l6qQ20=CmS5c0R-o)w7fgoahZ0dGX!bvE_ ztAi`Vn~d#8LC34;cpJJ`Q*(3i3(SJ=g0=w}1eU`ebQ0npmDEv>MLlMvwae)x{KqkkT$eQ2lCo9Lpz75v;i zxv%v}-0fai@TDdDO49q4u>D*jq0UhXTfI738%g!}>f}2PciZ@w;FQ$xS(VZDxmPq* zO;L=y6}96S$T`J5X50NH+Qj;Jr6;i?Sp7XsZQF0)K<4D+xcd^?dfkJ63~)99zz>xA z`NGuGdq&i&e&e0*>>09Y%@HxFkF>w;VPn;RS?__Ol|jNpVA0tFd`iRe%)VRfUsFMhe0!vR%R$o zHlhqwkOn|8`amuMI1rnw5R^}U==i-CiR@Aj8YEG*^K3I!L6rQq))~>^tOWch85%F+~f>! zl~U4G=!OydL^N!NJQ?6XpIsq=Ym{d=nH68MXxUqHocd^Pr!-IVA_Wvv?9D;sEYS-> z<%7YJ5n+&#qAM9B;b&EiUPmCLLOeac#-`ecZ7UYs&6l-H=l#3CX(TGVuof zS_w3uy-}Ka=IR!a%BG%(Gnx5M^dB|^=FBAIahYG+{wfflj(`-P(WZhmkKUw}EFT~F zeh{$ZD6kS5^84{`ex58#A1H#3$$Aaa=ZOMH5Z*^r0U6-T&*1ob z+PUMyqv_3 zq!-FL3A3XK2Dj~QbAL9;HpQQ{&KTQ8fXyD7h5QqCtm@`w73VrK>?afpBzg0t!Pcis zd$#*E5{4s~m>o3(yEJe0e=Z19P$VpMZ;sx?SBZD51#@$yj0^bJccZMlK=z#rXK4tW z4cKM^17le%h?JiyPmwh83$E=(9n|}?5=6SDAP$G?A<;i^PeNaH`ssS?(OUIf{07~8 z)52*k-#*w@7kLtTC>+!4%aB!S4Q5+re7g= z)pFKrGU8yp{tP*0#auY#?+vCC>N zl2cCZUA-ez=z)_GI^p1+WXDVRXr*-&B6I{IvJ4I{O>ozcJKS9*(k$f&qCHBFpEf`X z9L58DYHCZ*1>Jc(3! zMrs>FNjP~Q1=%!e*2I!feZ65P$crTrfdw+>oXvyaJDKuIIT3YzJI0Cc%*|K)3k5$D zGTR%s!&Y2(czhC?ljYOux`H^EK&qb&U|Ap-A-AO|+Dg08N({ zXvXE^4U87peJ5D`_K*IsvE6-;q76@`)ctk9Jt+TRShQXdrdy9FI+u@|*&jiubWLEk zPBPIdkZ-68nndLYX9F$wVdIxxPNQcDbfR@jyqCtYg9Eq5^2QheV3M5nXNO9CE2Fk8 zmvG zHbvX$U}uS+ceor4Lpjlxei}fay0^s~39dwvRk0wf*y(E~ z@pG679-92)^d%uYh?`|+CsfH1vw#!Yr6FwBli}Wj=Dkcf1w&VezTDR9Mn?%N)a828R$_bVc^Iu z!!Y2PGpUmpY6Ke6+yze@0>o}#X@1}0R ziRXo1kj(F2yi6f8F_+gDY%75)f0Cj+0`e(Je^$JST7CrCZzaK_eFNmi#}g%^#f+tI z8CNNe45G-dx-hsw(4Q}es-H1OZ4j_|G+=C26ArE$4&^M;FhHYGGyoK997?;!#cx&& zX$=i^0h)E0as;3xTBer@j7plV<23*&H_VSFpC^ghd3O3n?fk;AwQ(4LW|U`<0N2)6 zDo*>#?;=0P#K*q5d8%v^3AGa?#3o-LftoE`BBGlZnc%sOqUcVzgGR#9pIkE|y5n1I z|L{rE|5^MSfbyO5wrvO_7@{u(t?7rYqL}eDCCPUwRs>TDs31dhF)P5zmXi^P2#yQ0 zK>b*z9w&3j%x9JYdBL{wcme1g1nU9%-Eb~UD%sR)OJ<~#CpR*heRe#E2hBhogI&O+ zb>~|OX*S!>o&iPV`&WdMKdAfl2To4!6{_ZE*n3FZVCQS9yK5sW$F#XYs{LjH2-%xY zcmcWZ{py*kgtr~#0|LGW` zjdMU*CHupl>7EG3n)_rwOG9KU4yCANS@=y`I{m7svm!m!ZCGwDwUjy1q}aPQl{T{e zGx?7$-;!SIKx)6nU+)}W@9)vA zyJ#zqg99*j+W=_WJ+o77@#~%!=)JJlw9BOxw0xnO^HY;W+Q<(sqmVOd-CW zbgrHjp8C#X-=B%=*ajVvSIL^LJ&~Ty2P{Jx;#BtU!jSrwc7e=vq72=qmQ$d0`)^_{5cp&t!&}d&0koBDSp)?Wh1)!ir#2 zfz%>K;6>?~4Ue93|Qa-0k&U+n#Kiz30r_u?eB>M3CcJKrpk&~$_dNGcKE)` zWR9S(2mRh$Ij;kp!clFv-+db0LyxTzIOmGpIYZ{73yYj=$Sx2*1TQlU4$@G0+L9Xf zVwyDKuZ6I%oF1`h*;!0e>)&AkHt~+8PbqQ+6={!C8@ixz_8wj)<8s+KPOb_S#tqc| zGqgL88S!E}Vg_){c|S~r^e**@AO=OIjV^j+%(kb0Oe|RiW#-N-9mDVTnP3T32os+) z$_(0jdlUJCAc5gWOYj~Pez2!nlTXjcYGu9Z%Jrv3%E6#Ie!o=)+~Mm3@IEh9o=3=>CRnTp2)uqzb0*K51{pr6Y`pVK!IcmF%ie0Lw{{R0UN5XnRJ~ly}7Yu z`lhi(gH6RCWbDv~*gkDTUSs@=9u>4(Z+Gqoo%-S}|3S#!k6#|GNqt_teT3Gz*>{`) zwgVD#@v3WXMWUiBXnD=7iHZg6DS$t)OjjEb>w`Fj80&m7t~qbSYcap?`xN@d&%8LL z?SZ?iZ>|ywe{2D3l;Cn<)YVQO-p%F+%C1&K;RoE;%Pfo#?N`>M?Gc`D6Qzgyvhj&t zU78}_((nB#cl#zlC|Io={xp63m>=CF_A|$*tFQR`@Wxr#bV6UYy>^aBP2%j=%2apM({jY-}Cnu_FpyMmJ)# zoQhBk6xg$iz3c4xA2?d+z>g)KtP)wRSO--Q+0p<~zZmlClH4q9uz+|@RRYJN$cr6& z6N%G#c$~>BV-qWK^fc948FKS+WCmc9h?s?R6wxhWWY#!^aO|srY4pyOWrHlWsdW^L zDJjftb1OeLIN>u%h1#gmvh}s0kPUE~?LQ@p0_RcKGr9*xGajH#Eh~+cWUDBY$5f6K zP;L)PH9?J*Wo9NT7cv6uX)LReOl#AfU?CXL!AEN=E4-zYe&vgt`bIiUEs+&TjQd17 z*k>xTBSn|%eDyctvo7e^UgtEHzuvS+RAhN`A^wRXc%1YWFi*+1j4Vkf_FdWB05O^?zV*q3pfdo_)i8J^DwN5GsQTd7$Fl60V7#4KBn{nGUlj?p* z(KjMZ5^}u$>G1UH6Tc=YB6!(I=?WJh9J3})y?Zov~yNj0hfnnG>j0cO;}_=8W7 z(}nXqw20x1G#3|>gg)$i6VxO2-#_Y=c7X}yNWj080_#ARMmRHoD9^?U64NG3 zWQN34`kO%UCHhW|hwu~mPoJZp#;pS<07jo$D~<{Zeqh^k{)U8p#rRc~q8LM{?d@||*O?a`*}FjL4w{Q8dcb!{5wi%4V3A%6m`L*0Q9Lv>kZm~W11hX(AePsI zs-!?`Qe2V~a-dY>$YY9DM=jFg4lBs>rLWz(VdW!aVAtKK6#PT&SfK# z5iQ!y`H|`a(eGL*o`-xp2t?Dap@i;Kg$XheX!uHp4pJQ4tb&FJ6+n!Gi1?-3o1PH! z@xh~!5wl}hcFI~TEJ;zUq21p8ML~5jb%|k7ecg0F>pi!x_~5}rT7q+LEd5@%F(b=+ zy?#)@`7S6DjauUPOFp1cjJxC>7H#)O_WJ0Rn=b@y=w_yV6U79?UOBrY5LM(4)a@5E znrg|^;DML>hgGZ+&)Rc`nZrBZlpM8qiOv)W)vej>WuS>4Dtk%xw8|pCBrwmCgwnES z&fDVc+x9n>g-oH$5dWb$YyCc-?eT}+jM1@4rMl~kB5HPXnp96i0Nl=B3cj|FNA8x> z@4X_7FmdWSlc1Fsz=-fs^XnApapwezJf(m!=Y-RMw|VgMw}fsI4Qjm%36FT-Rljk; zsr;;gL1+m#v##Ai1`MWfg0VB0pn6vubc7gerZVc;;|r=RWjsiwRrKO|5?N~ltg5QHuWce!xYmXkIQk-icFX!Xtu^#YW-mnq%p5^b~+sC6OgE&^=6{uPS2>p z%?xnMV(r$o>8x|v7i(E|1s#+2EDhRn-Bp1>`<5ZW?s9XahBPGrn#@ji)-AgH|H(#xAPB$1P#%+qXA`)}C(oCf(@~StYu6TR$ zz4S^FqdVVCX%sOklZ-_@y{XZ)E>VZvZKyU7aXHZqgaM*HIRSIrS>O5NSv=|(O2e0g z$8|9ZDfwu@3GE!prlm^;qU(+MUPrHaOC0h@ro)tU$%)9Yc+3J0iVV|$I@!u_QHbKB zyhEY|jl$c58E0Iggc zUd#ynOVBrr$IVdZi1Mp`h5_k`vF8;1UkTS zF$g^^Os{Rewli?99h3|rSfR?Rr0T3{T(DCkdDVKL{$Evsgi@Y6t>?LInwmHv$sjED zG*Mkm1+Wr;c#?YsNmv2w`4YAi&|8e%D4R7$_}MlY>)hbHSn%i(>gxDIl(;g8;8QXL zTv!e`>>YqQMdnAgA`Bx~S8euCj@U9f1`C1Eb zT!{W?T#0&sSfEGke*xV1aK|2;K)*nGSuNQdAK@n##vldVR>7(7I+a_i2$Io4VkYtq z%nObuDfPvat~0yJcgR$}OO7ocmT*OngK|b`Pcd%a;b9c$%@BNfJ9%ba zgI(KLb>jXCBA2A#$JrPgx+ylp!s59s%D&0QF`MIeJB662=t}+dE|?Roxpenq+z(t!nrx5C?S3!GiRYVeb{VMBEHK5Mc8e|JJ? zNOS&)IxVCWilFvTVocY{Pz*&ldgIzIb&fMSv-dNi>Q0h*Jm5sf&p9>IWOcTNqfe7E zQ2&I-OP>+VjE@RFU+ala;>jjnL5ru|^5tegR7puee6!|7H_(Q=8fx{%<}K%ySi%N~ z2M>QU^?xeH4p_Q%K}Lv&Hy1o-C165xS|Nr`jro{BJsPg0pCl!CM4{JGs3Lui6;0e+ zBQZQ2e9K{H9;>D$SYYam&cEReQ|Cm}(2mJb3a+{%>FI5Sbg4p;7&4N02U*B$P)5EH zCN`tI!5C6IBC}R2LOlhJJ*==46z*%=&jrs(9So~0U>X$cY&X+NQY*0Dj&U6}b`~SJ zhnf|UmKV4v({k02f|w7qAXel6_b)Gwah8R4nMz41^b?LIGYcOG&WAuxgXI@jC2r-G zg0KrhUb&p3F^CvFa#hRS6`be^qkaY8t2Xn)tV;6sCAtTnzcf$~*)?Fj7ihW3MuxI6 zkQiXFgt8D!gg}WXnj=WV-xF7k+fR{}C%GOE#gQ=;49Q_&hDZ7$Cj1i}#{7q!K}@Ar z0@Ek}ZxpmRqewdt16HCPNLR)&S?aD(+%PSI^wpqKMDUi!bSrTIoG0<440)`GIj~p< zH{zpg&w}DT2#XOrA(FX2aeM@`eMT1Pu;&C)R zmdDjYFn5Zmg2_Yk-=AF6yzWmZANSipXO^sK4!*YZ*_{XG+}~q`%h%$0{%;51k|QPc zDt<9Z7)e0TVMxXW{=sp~*)#oHI^U^8Jg!i=ocgr%7%>e#SycLSqInm7@GM|7eZf6@ zzbGls9IMGT3Ft9L7&IHoG7=JMHe>y zOoQV=6d2SRS>sWSP-o`cGbspJESao=g+)u@hN9+}=&Cr;^GhV@8P~*efh~z3=~6nR zS8bGtuG9PYY(jf8w0kF9kh0{rn(7leP$Xcw+*2LELRf)F7cwY3WP$G{kpA5|*x+yv z$4Hck7U?*n{BkIeurP6^1vd2yWTWU%FH?%^&T#@Az=#UiCvTUR>-Gz*_KjDGc!n7b zfw_7fTyV=zG+D_F6kA)hJM{g2LELn}sci$7gG7o6=NbtHd0!`Ww2|{-3-h?6$g+-( zEJO21k7%VS&DK()I@*cm*gXZ-N{_^v7(4t5}`w{8cUjJSm=B!n5xFOYN# zwT=S|gd2Vv)bnKIV-`$vI-N-806}=(FGIo@-GIgYAdRO%@7htpCTYwEYdv`F58MZh zCwcB5LkVP)ukzo-7;bzXjtrex@*UD+DshRV_=8*uA2R454Q1dM7vprK2r4RNAK1>- z$VTJRQ{14&@HVgUN^@!%4s!N0SE+!xCI$*iq)Xl8ZLzP&31H6T0p6K z%AUrwn7YpyW=Hx2Ap0WjiThH{doFvXS;GQ~DoRHS98(4YQrek#0nj>HChh3noz@80OrA1L_3+4XCw=cv~uF2U~-Da~)|z0@XY zLrufiaH1uT2q;H^oi8BOB+8+f)`tNnz=zq~v5N@ml-V=W>m7uXcx#xv5PrJZfjP~2 zSyq7b39H1E?!>PMX8dEajw6$K>R4+7uzZvxw& zR66_q#D7@{(n!T|){2%@gDkG(^~eVJ&ke6ysdVmGjbI?}!%k(mOY-Q#Q9uzMm(#B_ zdGa>l@=ecw)w`shk6TJ6QQ`{WQ_}>x!mdUx?g)kMfGKS<%=?}(r(prz7XFX}XX0S-PPrc%qa~%rO5k>ThRKu; zkMHQjH&KlQrH!s+k@bwQcu1pPfNHU1gBC3-HN(=HfR+BGgp##$q1w6 z2-=CL% zH6EaGVI?U=MpJ=4^Y3Sgk@S&}^iWKQuq2Iuqa{WV#V6Dx58=y0Xj4S4+kEipr?N}+ zZcs6@5R5?^=m7hIxjYy^qY9Z9^060V=}h#>h-8ym(daCe4%W63WAa@QcRHyETI@L8 z4T#@Sjp05Awm`psAw)0o<+oYP#iD|!(W<1sT#x$5agOM-x<=<-NR37wQ;>Sjv7g$Z z!goA5KKe#I`el=HM%9X$!qGSd?)9@=K?Eg_z#|M4o{!-b6-R@*YVE|6+XXuMaD6u;Ks4NJv9cGz=i~ysM zycK|4B8659!CAod%|s6_6cxurxrPM-idEvq>;$PUQoWhDBsj5wn$8NGuM1gOUQXj)F`z;C-| z`DGKt=n}Ma7V>*o?aV=WdBHP5-(OE;Fi($N2I!_>`9mNhRa--CF!`+^)nk&y%Pd01 zfCWp^haT8xZFgySWA8htzaJ0O8@S)Rz1~C|zY#b4vAdc=QahG69~TkK3(wF)c^~6w z?3V8AhcmH^jbh1!ktVtAG3lB?*>YWyi4b{=*Lb|s&!=+O@a@%cUi+hM&OH%5UT|Qt zN);Q4h8NB*feHHseN5_r5>hr{{Ek#^rneJfaco?X60j1J@%FXd{oqQ?e6Z>1Rav(K z@tVo<6ts@S))mYU!6XBh1?*HJ7P4%SXrJirGgcoDn*9gO7O)W!O@N1?eW$DN3)0x; ztZ{7;LjYE}wKRTJe|_z)BlCzL@NSQ$TQ%2L39FYk z16OCeAfwf7$h^cj3RYE8#;1~g4%4&7o1p)Zi_g~};;nK&GDs$yLbLYTvU?4`U4b4N z-Jf=#^_{eG&)!8wgt$hPB(&RHA`?R(cwy4kyqwgpQp!0UVR`)3NuL=oIu;83K1i1Tyo0oS{KE;>f- zWqO0pkl{|IRD?}yF7$+VSAUzYgg3VVP>|v=#+d=YUh=!icyG`*py&!{+Az0E4QSi5 z<`Da!2?IzOSt=M6gN>ZH?i(EmoM7W?eG|hd_~#Mw+22CW1jH)l117^hQKo{`5GDTv zINHPf-1hntR-a7?c1DZqhOc$w(6Fbr>G?$!+OB6`F%b!jx>C#&~kETI4} z2B4;%eGhEofKb+y5V++*5#9UDDr(sLjep1}^eztr8oeK(I(G$s>O#Sm!quYaU}ZEp zz4=LGq(Xmw<1%zUl0OTq|jRu;c3Z`BQ`(Ly6`wpmpr+_~%#$8URLR)NkUypPY#aJ&CXv zM+~*p4XQQ@*5T8{nd8|bYjMvO`kjgYRN6BpAnmCu@1ul{gIW?k+*KsTn0haz+phq8 zufz!VN;I&H4`XU`_casyXFJSa-dRRabnVf%s|R9-9)%=f{o}B#1_Ex9ZhH|Bl|M+7 zK##bH)k>09Lmh0Lhd}H)iBBu(hiNp>(X3g-N|-9Y-ImbJzE|l%xMapP#;;%TX2s70 zB>RE01G=NSsURZefN|Fvy>@QO%%!`F4&stI?0Slu#cL_2+ik} z#^sC)s;ftI7*fZQBhRuH10MN7vS_2yJ%pte+p7yz`j8abX zGYOQL9+v_Ui(($LRR+|DC=^_A23?MnYaGzOCflxasL0PWXJ31s9VLb1 zi@dhIziyTz-yURshs5x@;`MBrU+i^uKLGf=&jSD69=hEpwxT|sWV)CysyVJa7#eQ+ z^n1hMN^!=4{CKE64u9Sp%n;o+7%d89bmA8pBA8{dfcE-?iQRetRZ{%yVoAp=fk4Q- zG(IE{I>rozNt|&mNT@gtn=m^!?EA$=Qa-f5NWy(yIwx7vB`alxy~wg&$xf$Jly5E! z#3T@+(&Y9X0%u1$m%JE&llgbMl z7P@%AGaxKn!kpYZ@|G>ix%kn-t*?>fg=>?OyCtB~X{x=Dt{>6#pNQS*q;lIY(I}hD zjzrl%0zX%Rv{^~)ZAFEf{BGvRsGWCK2`@Y})|{*fuolg_0y|aG6W9)}-B{cXW_=Wh zQJm@y#~=}KK@jZPNowwQB7$8FJS>c?+r00sGS-8$?WdzsZ@F|k{j;n!d(X|894ptv zzAuI;xonwLZasq~d^ROoA?~OCEK54?2E6Y}w`pIeZe?gB)LkFI(i}~}8E=xL&nuMY ze=knC?MEefpV#&5f16mkG=NPi=?ol1k+Mz4!A;z2o0&iq&2Fuxk#%&(s+dUc<}D0j zST4_C!Ge*tj+|TW@8ZD`ES69ZaD=|-oE!fCl- zXt>ppB#Krsi7-a6c?6&P*_}?f?9T}-VPU!t$#DJypxIlhS_a1d5B)xmYgA1ivG}tn z`~_d5_k&TxmHXE8x5y}tC*c0D&Bq6C0*schr3sN~6JnorNhi~Rw-LA64X#X>nKeHx zIV~dG^9WrqBW!R~eo7)u@?!h}H5_~7xiGgN#}~JL7zI5zU3^;D*(DFVTwt>Yrg}Hg z5Xr<2Wda2WNo%XfzoYWxU;hoNg(ukTEJ*yNYJRGTU>(BsaC2F5E`9?);GlS!hUgsb zH%rbQ$xw=lzOhAEOQCsfuOHDVry$x9jIOUa+RbNf@MKDX+=NJnvMhVSO2Ev5ZEO4l zR*gVq41(TOz?l#BZH^)8*&VN>tANzIHjob;E4dijGy)GvO#dD%=r8GSw$LzS7E?*#F0_WPpg?U z+7~UjS_jfQ5K+nAa~*%%G!izp>O>5SB4iG1z`m?C-b;A?;BR%32;>f|V2oIUBCyK9 zPT9c583b4C;(+A;0Z2k)(iUx#MEeF&zcK=F{Ba;nnfXdEiv3`}0S7fg#yVw*qp7Hj zIb-mb5zu9_AZ4f>NP!xy20>sMK^5t{RfLOG=KbO@{f-oNgq>QyxH(gBS7FfFVWkra zL|r(_CK9=JIt9d4duCd97Q!+N`jt_be!Gr+Yc}d7Vvq5M=nj1;XL>PB-xVY@xLtbpRRkiv1M{4{>45kfn!8*r(n|B(=2Ur z4zw1S3GPm0mu}B`U04W4!mqM?f;jHJbuczA81cjF!gNdc$Ra#zey_tZNx;m9?0D;e zV&(Xpoqpy9=r)f8j4NE=J|@W6m40iwfxiskI!R(j2SD(MVtEG8IF+`hzUP(NI=Duw ztG}sce{j2uaLuM$aSt}oZjMH7|E8VN`o?imEl;xUd@WS}ecwB6e?ByGnu(5N*o>+B z{`oyp+x>y+^mqq_9b2Fo{XR>362bplVZ(EU>82T-q{aw3K=yp`+-VwSEg>0-`T3(SXlgU|*bygb_ z;_-RTsflXL)Veh| zp}H8i3aMH{gZi(6*49+onaLm{6Ec+_ZrEaLbKqoJhZ&Z$4qds{j?l;imZ{X#=|tK; z;Ajnt0Jc@Dm(JLYZI;iXPG16bk?bQ)i7@V8PherT^~T0b&q)u9#^Mj{3l}%?2`9z0 z3Vexxn^xSl7w4KLj)`$SDe9$5TRPihu(hR;+MxL^U_y+JOxNZ3Nfd@g5|?xbCZ~so z5SPj}a74*E*>6eww)JPMoc(Bw*4rBnp7D4zo>4Mp$+bGoC+-IX9p9HCV`4Dz+rsZ% zv0TvmmRikTm)xwFGq&ky;qFl*AN*D`({erJP=&|a2v@lGC*J#<$*TRKM>e+m&Fa@B zFmKP@+ci;=!54m@fUfrg`zV?*Q|Z>=ktAG(#lk%DUUoJ?0MGVDMRt=kXUkC0O|~bl z-MHaBHXjmIBe|NiAYk@M1uLvF9J{==v@yCBu?(1y^Yr9^6ZKd=!J|;I72b%Z*`Sd( zb(8)lb+Qb7g;5pg5ajRGJ*Qj)h8?+x@bCGf@T9W256-S{4bEp^(+JcIB%xk!w0aG{ z^)J%TXKQRvqL%Su%O0iX7o@POLW>E~&Aq!@g!KlhwnU`f9_NGFL`+NWj`4>t@YGYr z))fc=Xsk0tOZ2E~Ykj@PE`Fn$qxp=q^C9`LmL8$go8#s*-*HE2wi!+IJ{oDpSvEPmIfW&E^cQ$&GS6hXV84>PuH;3_Z^$8dJgn(3h`8-W5%2T+(Y4&+hh7?O?+VOMmO=?Dyc zF^h>pjVqu3^rKwFJTEZOTnUVw()8 zsf<2(Ip$FWn}C<6?)FuqmQjj~LDrv4=SdOOQKprm&cX}r$)Y(w+?K)U>14m3XBCwX z?YDiQV}osB+yy@sFjj8Q^gJHJrzRjTg3p!{riV(^6ii+U(pBsy z`tXC`1^V?vBeI3nk`OXf-Y)SfgW(H^%xPKww#35dWWx~%x0VVA(YyKu-{s^(hx;fI z^Z!pRfd7DuiLvtl*SN@Od|!om4i(m62F@8U(j1}C{4}Jb34`T^>{O)BNYe5Kq;D@N zXIrJbTkY`2eFcE7?h15u*jyK|xdB5PwJNiUz`e3QEf4=t|8=jOKT3T&a3DM zL2v@iJsM)_#=1%;f*|;RQvepqBnc!Td2L%qpK+t}lnlLZsM8p>hLMW@T>U>T{|4s0 zNzBUrucrF{HiD2qR6+i~F8`c!iR&o;XT|@;*INd~)irIS2?R)R4FnCrA-KD{ySoKv zaCg_>?!g^`ySux)GcY&<103$>dGGi8>QtTcZ>Fa9p0#^-t#x%@S9kw&tq&7vsxcAw zsd8i>=Msgzg9g&tL)(`pQH?fjAH`$FLKO8Jpun28oQr3>i5|-s!>Qb+w0q#q0-0BR zT@BuR^j-!lU#7BLc_+yNnr4wn2-a-PJ6jobZ$LxbM z6f0diO;wcn@3#1j7J@gafIT3Ns|vV`x1i-T!VR{WT4ID-trh-C`Pu$16Ng+r%4D`* zg8VkryR8h+sBP<&o1W$c_;D1&`nzFHQuH^G+t!$Rm|RgRj-#GF9T#haBnC+u%chjG zC5*f5*1Yc0;bewh(*_4K*%}R%rB)Ua@pyA5ig`4Ou||9}Lu{n5sGhrEG^&u3z{8tY-Bu{2(~i2tIFr8tz67Nf#~Sn>x?JI3wvR8 z^TIJoUf;e*m@W{IzxahZ#=`un{GvpSJd<$Zx5n^mVVLPygaoaP!$8R@2e^#XHVrKR z?K8nlg0|i1M1KkL$m>;c!RXSElWJs|4@p6qyDgNu-dwDRu`fLqnUQHAjkHSIkcN2J#2k(*mg+lt;-kbJ8JHE!FXZvi}hS1 zd+HkL08`UCijOR0CuZ@jQ^))ZvB<;HIvH7WxyB2Sczl7bJu5TM?~|$z)~GBqUeR|ahL>+E{0Xe|R0zXg3Dm@xIF`e1 zahJR1fk)%DLCjc9=)3}ZfsHu}Kgzx+gy9lQxhq$en99w%wlMauO5$RR>$nl-&{uul z)YKPb?Q9TW{LR1>5#E8doU8 z>^iWa03#p4UB{$I)xKol1|hmP3Lah&L^{aO3QiFYyddVT%(OPh85?IU)(DSO%+*=V zLKT9nvJz=5v|}E@0?F2A0;swcQN>W$c1A`iT1pQ5=XLdjUEC=SrNh1#r>cw}&vUH3 z)lym5ZTQC&|BXlDKdg1^iadRiGH7G~XX?qE;|=upOC_J9ir7~?swB%>P=pQ)d z;wnTVa+k9g-^UsWT~a3#AkK!~1z31lgmFLyyP*{lZPo6F<-(9+&7@(+5YG+%H`bHH%+Vu7=H^b zJB58;b`S!3D*D>CX5kKRi?iDc3KyKZ2}st#+ZHlj-6PS(s2GK3O+u~`jLY5vH@Z@j zmv{~vX( z8jZK*^bc%oiv?@N3rpk#S>=)X)i0Ig#ouXaqk{x;Ww*&qz!Gl+7t31>y4N#r9VYWn zyfTG<-asF#JB#r<@=Dp2Z9CE(&16lEb2s}3HLfu6zq{|4x8Kc+TThgh3x<$Zy?~`{ z36^rx)FjSfPbu{7d)e@MS#DTF=SZ`;bBs=1 z_eD%5YWkDMsw2G*5um6jqge*-8DjYCYfGi2qk79~I5Of8t4SAycJd6H#m_~E^=O9k zlw*|!H|a)7FTTiFo71Gtli;9R^EgwzQS@+}`XA45VIQvF#`MX->D4_r3f?1Oq zF7X|gzxn+nO_qS(cg){CS{4Z8ly0qr;B8@+Cn+lD<19=Gm7Eqb)JHY6anm>DDyJ*! zgELMXxzmY*(v}{+Q+Fhue})VE;e74-wdOoG_@p=p!|p!5mNhF~LUG>(a03jCTkd?5% z$B74Obv8C=BQQ2NZxD__fs7|h=_$&?$%yam&8aX55hGRl6iVg9v>U_Iq;TF#+>+H6 zh7V^$6%BA;hv&GvOe}GZBmJ+@B%B!!>YOuBmUfSdoqY3Iuxn3Dwy=FT#ZSyG&mKUh zeT2@W!0HoNho~3MSS~tzSMHxds6!2~Xe3$dSzt(Fp5M&q@q66osEHF9ZE@7kNGF!Z z^L|)8Z!|}X?V=N8vb3hp6VX`FE6K8n$s&^!4UgoFTaMB=BO)Wbz=<+96^CDTQGYLh zo$ff_QV}S87e#zyU-0KG4q7O^qj2R);zW|~gbY_38Elt!a5(0EG`A%iIU$_?%pDja z#>_rB?5d9)zhIK*pxuRY$bspAqEge=E%f#Wm3+eQTHZmj)be%8;4hOyGge_us(xJz zA6oS!_0CZt7NvlO5+(+^)@Y5?WhrkO>#W2<9=uDDJ18|uq+jbB%evU;BrFAGR)by7 zBvWEJ9~h-cZeAki4Th-D@|N?=BikbnJ{BH~#HK1l0XQj0VRBpYXoS@G=hS7TVhl08 zu={QYV?1AVr^(kQ)uA5Jab*UFDkiBpG`m$#)PlWIv-QEzpa_2SoEuF;=3(IHN}m8V__6eh4#QwjwraQMRuX};a4GMxmQB81ETO>rfpK9t zSmHS{VdLcwoTw(B!V~M#K-iJO3Kn!E*dKZ{V_>#b<5Bh$*m-qmOgfijXt=|$lGk6n-TSw>7F8l(ZGT9WzIpe{G-ANXDNl_U>e{^ zHU3E&hAuEp?}b2ye<;GZhj`J%>SJcg{B`NX^IVEkn=$^UgERJE5E?JX*tV&@*0*nB z%#wk<9Huc}4$7@vl40Zj&PWvs>#=q9I%T>Z};4&LjsAjqcl%O3qXP)X%01Mr2k6 ze!CKc3)XjZcYwGriY1G z+}cR`6f-52EyV4z=!Li0IwTMPEj_$`A}C$}65tH}Knx#P%u$obAt?!HGNO#NC9L?sYi}NM?A-`8TmYkd4Ll@DW(}#$L67i#_`(_R%xc$>{ zVwP-n6qQJGkC0OCh>b8+fB2NeYti2qKiu8v;H)e`Pzz}TkQ$A==ColUR~tJVYeeai z{iCVt*!Fg5R&;`@0>FNBpi5-Nf&P9?fo(=*8gH|S7^U*yvV`_YMTY3ExIWMv{8T7= zf-7-uCAz?4Lg)mCse$B-qu_*nki-=+F$zLc(|I0URzA;L|6*AZr+@{2h9Zud7+AfR zK}!{X1%MY_s{2)zO&V2MD4~%JebhDWKq%cr8j)+IYJ`*I#Sr z_m-T-Hzt}x3b{rK+Bh{_z+SPYDLqqWHfk{`3Y6SC|3g=4X*dB%2D9ruuBfvcL_{0h zS4bF9OKIMEqiIg8|6GuwUd|#I2^S_1`I9)k9*FmP-O#acQ|RSg%`M9`H`@Hg$-Rw3 z2e~t9gHN9utcmPXbaumdzsE!Uo9QgZsVPPqu5H7wmvPeS1bIpGpGXU1c}yLNEd-H8 zQ1hEr;}Q$s%6z+td0Q;va(Za~(?=au25qEe8`$}H+z8g-VM=8zF2(~@8Mqkwzqwa3@K-ilcA5U7#OggJ@1Ddk?dWSez$^M&%DHy1Bl^UI&F*|C$a|790g3SXr&s~ll< z79sCGJ-qTaL8yU9SUmVcE^=D{1$NgEG`2{=2g_c2*rDU|t(tn9dMK?*Zg{hdIM6aG zc`QOtk>@a%Q`8DsYf3 zl&sh{Dx^jLAtgx%z7RU_wnTn8rxO>7TEAMmVDzN0OibMFq`P6KdF4rzu`owU)dOwq z8mc5JB4R}X$Q5WCOlWMx=`Mt6F5`+?^{aV<3r9r;DOOv2z8+apy--~r&#W>;cVt04 zrn)#JtF0_U|7&qU3_$#fq)Qb`uia1YAWvzj^k?-;Ow*_|E37r!hhRNne34%Z=W+n! z8oZjNx8l~};j8??<*=qt*$0dNaY9rA!W z81J)DT+2OeRlGRbGv(yXH^`SG4x?r^J+PL&YdLhP}^>29~8nU!Kl> zzDM7c7Ow}Yl?uJ%BHGgCb$>YdUB!QrAOSd32)#{>}6XRuD z?BD~gm)`LpDwgKHGG)C}Tc@7=?tZc#cMW(lvYeZme(|XUhKwK4mSEj93FoIG>au)p>u19>Ti736i zxqbl|j+2y2p<=GAZG4H;ZMZsMtgmY)aU`7MC(>E2oawKG@{c*-v?~4s`^SeijjoD) z9M?|ovB0AgoAaucC_!U5Bght;k$lF$E!AGh2>#TV{%aVY1INp}(O0`k>j!K}R-+on z(E|V?(?>$~(lG~(oV5{(lhUm}CZ$ROeonyp*Fvf@qHE9u%3q zGY9C(oUFJZaWTAuKymS#MFNHD80>UN#k}4ljhIosDrP}+0v&Kna)PYzTaC8gVY1{E zG0{6*<$pqNU13CyxJLT9QTIbV!LKMIA6?-o{d1F`St0+)`%d*~US0cKCdY=fw@Nu) zPf(49z~s)~;ht;HQs1bdu9BjRudxYstx2m>)ux1-FFK>AyQvlrs@>%}58q3EDc1P> z#$6@1b&O+PK$eW=>sO&^}w^hiqmsPop(pc`cczeCOLpOKac-B1N*^P z2lFVCK+vQiK^ISYnEHNq@k2tiqihfQQSQ}ZUW^lwdT5nV=hZMiOz$a&L0LQ z{T%7`c9mts`O5YBle<{3HSP?x2O=h_1Wd6OWa0Iz%lcRLnaBRLJ$BLCyOg^oz&csr+wVm)a^z3NL$iC^zf5gO!EOoKg=%~mv zOX*l-m0F#KYuG$|Ig$P!Z;+|?F4KmaUp3ywejAJwc(NR@?%k;%rCl2IL#vh9Oc^LU zTqLSIa;c-)==c+Y3<%I$+_kB)1v11SbPxiXN8L!6iH0*-99=U5~uLf7<9(=ASNmkyoM z;(mOcSkF1bTzO95m%Tn52c@56Et=NUA(P8Z$ax3XU`}Ijdq?9!mWtXjs?E^qA0g^{ zRO@KH3q#Y{=oBV_jX|2D&3-sf+;$SKTB4<=dZOr0zu&h41^K0EEuL(j{T|QX`xC(> z*f9pVBne;k5HvjZiu*eq@%BQ+6PR1sJyxMyQk?7$W;!qlEAl}GSemvN>RD#yzw-Tg z+qm2hB^esnH=3|n($dB3&*Xy%-^~etsWpjMT@^#p5U_DDhN4^BCE#Dkf}fW z+>&hoao|M3u!qNds--U#uQ-nbT~|MTcWPCa8V$I*pQ{mQ&_@~0kHnq7T_0mpvW+WW zT)@MNhcN#v%@ppuh$#E({*45b=e4Hf>V?l9D0pVK~Vj1&C36cYC zAL4q9sZUl?Ix3c^=&Oy+*Q-Tsf7yd;C>{5>jmyH1Kf`p4%1UkoH%xguGcanW@zBJ? z<*{1pB#zzpvWb^bjXUlrBHo5Ev*D^CGOBst4Xw2irYFOC4|BcUs66P-MaRlomj*s$I|vO&hiHr)U72unfL_M{FS9&*)+t$ z-*-<`z`J2g7El6xAVez90`A3!!Pl3T7zn5X<( zQB-te@5wOqL4(-Cjl)}p3kEJT5ynH&2E}woTM4_bj70OB1=Eqtq+)=vL(k za>A$m`?(`Oh$$tYz&EFWUTpQZZQC^s3Ky1kqoW_GT-%*V?^2~{aed+he=!4Sl;#`J z8L@L8UDsB?I=QozTWOZ}>pMY|LB<%BheTaaX@>)iuaKrG>hp3gt^a)LM|GRJoN-nS z9CKzSSYAu~YVeogzJh~X#B=%8m=4duJ56lWgRqR5hC`zOm767#?@keJU^rKiIB45Y z-@`e>E!`jyJ9<$iaePQ4)m3}ibv9jzC{-mX~L%c!s-EVfQs!5K`|LLx+X zXm^s7Vz4na##W*CD;{824OcD&@ms~pm<@kD?uMd*Ss4Dw0;mPRo`SfdiUJnM!}ku` z@I8$9RfFk=Yi6u4)w;qXMneo=vhyBNFy?-2U7F~*J#A$VI>TR8>2AyhL}koIj-k`6 zhwKGFr&V|Cr58q!IJDM&=m)M?g$`#nW8RDtFI}wfX;iK7bma@3d_iLOc|rE(*A#D@O{hJ} z5$*EMSl-JP%Q<`va>P4RQ?ozRbiKZnR{XiC6eRr+-{inou2cps-=qspfwQ@!Kc{8_ zybkMCczR=~{^CffKA2W^WlUvBw&q=wuJaLXweT#jU}U^o*Xu9lE@jY^!2Lz?r!^v{ zi7k`!@;$%9u~1^vfIBS{C8D`y2%$=&2 zv}QM-@s!1f92MPQ;H18{%YW{eAS}DPPousZV?>sYFcQ*-riRa}g@5-KnQ*dMnAYNS zVEJgQ2bH{MavFa-=K!RAV|2xsgyT{P@A;ma%9$oeMC&BMpeI?m+tahG)FPFLXi^$7 z7I^6`S%Yt^4u4Z{ajH?wDa{ zIvuV=0!p&Ni^=5o4G-_xa$;fb2}7xi^9>>cfx=P(E5x%|3qy~m}n zNYi^F6J>hPVfJ)nwZ3xMb!IP2C$4Ge!vz(3L6>n8l#o1?EDl|KsLs+_P(0aPdPk+J z^|9#h-o3iEb3>}^#ZjDXX~*+S{Lc67S-q92r_>wRc^hDr0O}6cgfXMS4NT&r^9oc- zt`su0C(D2fp+uhc1V2q)(X%ipg5p_51C;j2xp{N!8hhu*v~l}8{#1?kG1A88y^wGi zmIOph_F$==)89Yk=x+$G&RX-3#YGWW8$aS;bqosYNfG0*B|4N0+?8k<)-hS8!thpy z5pV)IdfUn*HGt)%f;H5v0;GvZ2~N7;U=Gmihi1&x;$)N?=f(w*AC2Z^~qg z-$vnrwcgqh{GlX! zs`r`j&k?gL)6sfH^O+?x?7&2bXL21^AujK<(^^uFyFJkChzRy=__#3<6>`nP?&46Z3>A>?mkYT`9{#?!Jo9JKTX zNlDRXyg-te*ADGUBTX^#np$zt^SQ{rljID^R*i@Bfkg=vrsG`R6Qec+B^VhG*FVYGtJEBq|8QvMs&ns<52 zm$_IRL9{huI>iVznA~%vn-5s3`i^Wj{5C*ZO~hlW_5-3=$>EJ(7hq_XrW-USeG zY*D7B)>}tM*6;%Y))gPu7ZO#SW$uHHZEvZugXO~H5sgjgQJ$q(%E~*M*KqCP?#a2* zXN0N=;Wq=68cihprYV%n-d9NOJr5B60$@0kg8L<>=9M@>k0r~dARCpjmJzP#T(6+r zey+^0hNuBF3qfkgx3q=lvY^6v4>)zDq00Sdb*vw)iSWGEb-th&o(nLG!TeMtMvPW3 zS=SX@1c2S5P$xiY^)}uxUnqhdX4g^WX5ZCCPv6TOUihh!-WQaBYf83xZhE=s5V8NX z_J0;6@KEC_i#%{=cQM<6$@b@Kx4I3^6CPs}F;F>qW5?sDmLvc4?Qv-lL1gAxsvZ1kh#E9Huc zyZL{$%*x+^-j&dz2G)PH6&pF0#-p5yq&QkznD6^i1WzN@s71|xBo@E2D{B9%rHDaE zPjKEcsjVu%c{knrbuoCB>gEFfN1O4kf5H2I3o*1lS5ODZcZ7(4_3C4XW3R7sBX*Uy zh*gC~MD+CHqltVSVhtoKqG`n@yY|YaS?|N>Iebechyr)teIp`@%(;57~9MUhDjo1@0z&IpKA7L{v@*|DxOpwdxHA| z4zNp$a=rhc57K<{NIs}O$Z)m;6?@8kpImSJnahFW_1;n6aYHG2-)=WFD+e^LZ#F&j z)y?PSE8<;~@U;Ok;81lPGIit*xRd`$wb_$?-x`O8Xu5dOjt|-8JluFIwaCdic~w=sp$S<^ea!ILT)&-`MgvU;&3YZUH> zq$TjVDRxJ5u55dXec#wx^go;hQwL3@4*ao?o_Bp6Tg`8MIv6pUk={y>$EVO|`Dn!r z6n(C781&4Do!_`NuC6T;i#?cC-#nOu&d_ipwMA%o zN!i&z{2@^xo~|W@!dI*Rp+#FGxg!y!(qNQ7X6-0PeOxe46%%pxTW^hA22Tc1>) zlCylRnytl&Z*~E*Ehb)?IG+~C{4MEU2Z;rC+91$F*xreQEmp`cJ1LGiJ&obfeDJz! zM8OPSNypSd+AZ*>t`9|@wNKI7*VdRA2NRxuklugZWxzNibU6@B4JNv-&<=E4iNbuj zDDGyZ$VbahjN9AqUVSs(XFg5h38VksXqnH;m$P(|bh35F#Dg_zzm%8bX5sC+Db#$n z+yG1e<*duAX|iwIif~tdYjY~7rYL2XddHFQpoL;ksn&t-rfW6Wb=zVcwAIDH+!;LP z@?Xk$izwBP*pzmxOINzc{hj0zXK$WXmuv?T@whmDDkbU~d*fS)wpdk#fHTZfvzD9P zlEOyTJGY^;-9U)%UBE#bV|F(yN7?}7u2j#9^!+7-xEPmxGM=#`eK~75Q47{s>}deE z?#Fo)5@>S7zI?1YV_mTVkL}g=G+kDBLu2t-?h-xx{U6|lA1H0mG2Av~?;l=Rw_!0PQDG1Qmeupz(-J#b1MeiUgSWF5 z5|MdgpF6!1*5u)BrWYZ{L|g&MQ=`R%rkj;0H~Yf+^-~3kwGi6u*1Mh6C%~Ehqk;Q7 zsGqp!8T9$f-jUc4%QKh)_hi3=@W4RTUNygvJ??Yyu_*Ln8_2D1oH94%w3c7>o$UQI z`LFWthXyOR#n?1S$Y)iGri!|Q@BZc}`diLKXOWG2Vg=X>h-%PfdJKpdn zXh5Ewn=LVn$BA;buV--A2-{+wv*iah-&|ku$CgL(qEmE11zs<+$xcZUMcKTtffNZ1 z()R=;0-LiBHvME``Ic?NoPY8LV~*N0$Q8jrI7l;h=(-n@un^Rhm_#-Iy{;ZI?g~xk zPTT6n(QPpuX%#q&WH(@~#Unn+n_g#Z!go{4)9dXDiTwq{w?rZ2)9wBl-G9F+iOnS4 z3Beb#@g2FtjoFp2&cE)-V6~nfRD3{hKT?2weNf>#G7BpAJx2B5JVEFpCs6RvN(Dda z;Crgog92Iq;@Dk|KAo9+&Pgv_pAuX$zh;!XgTixKUN>2TbikioC+linX2ikvZ8W(~ z(6n$Jb@9})WM$?o@P$C90{Q%FTp4MbP6I(jAF7B0t-aBP0`9bGj8_#kC%b zE1mgNtTe?HKChECB!ciD4M=+ z%re}bT)b~BO>EzlQ^Zyti0Y38UXnUf0;Sawu2SMi5l@4qW)x%PXrz$vUhi2V@7XlA zrjn#Rr1~nIsK36(UOsrByy-w*hJKE4WNeM|BpISq8fW0u$QezNbr@c9w?mWybE*9( zaw^L+f;J#@`ULW#jH2$uZqk{uqt&!0i^^fCFP^rX+(Erlga>=FA4O_0xn0_z(i6(0 zp!+VcXyQ>3w$7mD($++www|G; z!^c7xQ56EK#pZuixHI7~pVVk6Znp1znMgzgT?q|lvRpx{A#$Aol`Df~WCPLyf+`7VXLY^I+4gi%3!> z5$Zp7bX`;&T3)(Wo0#n4AN7^@Ou@_P!0z}3^VWPu!lcz6I|~46(1XK|=)9A|VlVeD zs?F?U*%M;TvilIuxI8TD{wJTYJnSeQEkMCb2ON$rG+6YdgSUX&skP^($9!H8Dpm*q`>;FCzkd}Tt$^H=$p|$3lbt+|^5L*UNvp9}G@(hC-;F2l{L=`R0|Fixk ze%zM2YW@|)`{_GI7C+Nv-O;iJx`B%7`;DdG7D9MGMRa*ajiD2kzhqhP5EBbHlTB86 zpD7t&(y+BbC8?^gSH`O*am3CYrN*v=B%gVF%Hrzh%feWc7VTBJ8&$dN7~9wU%;_kx+B6!%*0OwchE3&^9;}nC zVd;8`a)njX+`Tisczpp0=#D=ge4a>|h1o#8EhzOM0X!(Y)`ayaBNo=|M?LC4?4Or4 z_QE4ouZoCBi@D__=Ke!2ZLs8`MDTvffWp#EsIPLaVEd!4q?cFF&po2m8Q(DZwbAMk zOaBS3#IwMQS%zF@Xsqowl(k)QEjws>Bd~-gG4x=+%?*^EwEiX+Xllq+N`MzKX*9{g z?QX|6xi@8`_bs6nkwqThICUR%RB#euT5^7x`k*X8rs9V$NeM zw)lNNxlFZPSlp--*?0dhuEw(nozn}Iaf2#-Q?q^Ld_^&UkSkjfqq5R&>v3%8m`I@7 zMX8{CnFK$Y{7**w6Z+Qf+9_}IMsBJsjy6K4M~B--Rir~on-9PVzT~Y=2Ml2;-|dxe z>^C{AVnySg0g-UuR+DW%%x7Qqm+2v&udiK?_53e@r$BlT{z#FEl(p zmd4!e_INbBk^&I>vH#W_rF)0we~RSwVDXhyx0k>bxp)R&T^N(3__o-l(8gf7FQ;a^ zo4WJmSjcD<_p%mc?;1sKzZFf>%V8p`y`ghGG;OT%K(N^9N{B7746)?`mt1_&#^88h zoZAdTnsBUZSwwcO8Z1hD9;NMmo@MU7o8~BS{Fhp1BKdMj$q;`e6HknYv-2KJ$L-~D z5!#v0;>g%bLp@0oNt;hYAbB&A)3+l{aVOe!c-a`yT%Qq5{AGym0VUV;oT6N;aO#9& zrs;JvG7p>CmM1GLIbeMgzm7?#B%I_MuIG900*w@c!eligJ(8 zJzy*}rDh*xs)m#~TK>|*e?n$AS-r~GkF(ne+LXaap?fdB=HK#-ux%4-?}W*MAi3Sa z%eV30yjGeWM(isCTstIkyW^a~AjmaQr=I)1p~6FYll$FRz1w-d_~R5xf@U2L+}`%d zIEN>yq?JiQ3Lr3GDW4}DR* z1_|Z&oYvmcoI6_2@bX;@{=Se4Gd(^2q=PM+eS?;?)SbOFhg19BCEk&cSazkV=OzB* z!g5WBFe62lFZUb7=esm}A{ytNlbHJhV4Ar|(!TLk+Oz@;qKGh?IEYu8^`A8^5@>9(w)D4l{JpwI|90pm1&;h;W}4@IuYy(uXjwFw$mRx>9QO@retYJJ@vAK=h}$Zp9f@ZM#A*n zk%>HE>#MCfpt<7njxvW71n8ADo)qS~E#DcKoLh%Ro_lTEO&5Ztb)JMTDY^qAuoR+j z%*!u5k&xRR^oX+**}G!j=}3+1=dHQ5M{zpNy`P83!zRz>Z@d1kz2KK?#(wskZ&ICU zL&CnZEtgeu&5!NyZx7r>&`uSUmcm5 z9RiR8sB*~N^qztT^z06~FQ##K?wC7rS`$%Jn4W3)x;XaVwB!40Z%t)lb$Xm}+0o+(C`>=dS&XGKtT96qCoWt zkBPOozv;~k=zFtuX%M8P2>$C8#&f1bmzpi&<%Q{@?5O=D8EwAYOsL@eyMpJ7a0Ide z!9?>HGahaJ{TCuqfny9RW;B-Zp!=|br4r@l>(wtf8y0^q;ImsG|9Z2C@I-a3R(%{w zjz)L?(bVB44D(~wzqpTQ!q(^KX*YB8b$p%%X3{j8x&0&yH28ATJmF^#1(%;;|0l8F zl$zT&KEs^1g}Y`_Q}Te20~5maS9!A_%HwQwmktQ}7BDHp{@=d~P_CE$IIj$>y(L(T zO|_3+m(3XYY_Op;S5f?Uk#J+5yHh%B{J?GpfxKcsE&o5?-#=-Q`>XzoKmPdvq^1GpS*K;Z9(&Y6EHy>bTD=Xtkxe`v9p6cf64zvWiEl=rzJ7j zghISxE^#}S`5SU$(*QL-#T)9})h;9zhHNfFYQBDwm=+nnc~3io1zfu*3bh<(3@D<4 zw8;<`WHs8z{Sn>s!Nc*x!lK@CU;TZxr=uM!D*nxKsd*7Gq6*Z-6inNdpEN*Vmc_s9 z9Mzo;pHv;#{tD~pX{F_hg6nkQa@^0pVyoFQ`q1MgKQ^7Qe#K15nu6Nk&Bu5ks4^@l z-s8AKIy(860DQdd)0@NTCn!e|m?{LB|3rslEL8d|Li6)*ZYq)rarAYg3sUw!^*;Yp zZ?t9Pu9Fe3`U6G-z1olABZ#ubXz5L07b0_!3NH4$#_YtNp9gf_oTz(v&Jh4!2r-TU z-;pY`u5|2SSQCWWxJdGaDUX$_3n8b5x!jB|o`j7A4m(TPTrOtiAI*D3Mrq+KXXJX< zI7?OumdCkJmSF1H)XThfZF6jbKeH+Mwh>LcB*k{{KU&~L24*y=g= zxX;i$FABy5j}zb>m8#M0jQyhUqMi97!Vs-=YMkCI}lU`d~}S5NcBV zL>o;e5dBf9;%kU(n2Cr!O&l?Nb35jNN}aJIW7|zE1ZDtj68t{du0CzF=m7J2hrKYd zVZJHNI@3v!r=Ty-{S;p{7ASOy@oaw~v9}|jC;b=l-#~-v?3W7`jH^eMQsPu^5t^vD9O?WO_6)kZya!p9}41<#C6x5~|rEeRZk=a566FTp9~x7(BT`s6KTRrtN+faiy5hXYFJVC|)v z+aqBWZDWZ{2LBr(f(Y|Fqx*_E%GLH%(YHvB^{?}K#+-M5Hr?(k3LUObU6 z#l`Ip)#Kw)O1}OO6aVC$Ti15b)Q3YWlRg(2KEpMT_O3fW75!2h&%%&7=c)bW9L?D$*%mA zw%^P(G1!R4*7k!Un9LeyWft$P?!UEABH^_cqq8=lE9428aYgKf?o#(}7IxGJ(AZL{ z!se1giOe9`^k+oz3tx(%z^u` z9vr|KXKvo*2#FF!{0?{t)^LxvJ?zT|))3mIkXZMN>>Lz0=csT;cgPS0C-9oPWjo2V zy+OH;zQ$O+l7a1*OS%7>y#ji$`jYvEu~0Et^A1l%!N(Ji@_vw{dML?L`*_HhbCWl}+{~1p^S&cPaP(4d?Jbqz;Z;FmtM4Z7pNN6;M8aAf3sX43b zgwPDh@YVn$yTU6zvUOqjdklL-95KZZ6ORyul{Xtg)4YQ68+Som&?geQ(%z3$aKK$0;9#$tP`|b2~Bh^PEfU~mQB_lPV)XM}}uOQ^<#`p7!_1jMM*~#(XAO;Mt;SW~q zoRBsjz)I5$IH7P$mb=Lu!wkr)b_v)OMNB#AYbqKwe{! zpzP&&FplHR2g_DEQ1T`M>A^;xuw|{yl`n6qTA*^u&dT)bFn}iNnyTw5EV8uO2E8>u zkIpS_`VyHy(h&q!S!YF(T~NU8k~&U#ttKxGMkMFAz{Gl++H?;ca@GlbWp};2*S(ec z{rxl4c}Eyfb@Aa}Ex;dmRf}?IwOUi{fjUxYK)7^fJLQyI=5G8xr^|W2i}i}y&oR}7 z_@CvGWtfo~g6IZtGoCA*51a13=K&flMwd{ig5cNASfbjt`ud~nG)~8(b!Kx2VOZl{ z^;QVY8?_d^wE=#y(-_Sol0cg5O{?^AQ=yM%BJFEIvg35qvC9+e{6Cm?i zABP>0@2sDFGmaS}Xf61BV-V-E=M3Ek(x(jmG1{gc1chPZ`Jx=zraKrnbK zcDEW^$ickPgb?J_)jP)Z`J;4Z{0)A*5)9@SV7h^)N{y)TdLt7J~-r5p{u-X}iy-tZuA7f8jZxeQ~Fk7^Ok_HT|ht>{F;1nwl!45Gl6pQWi+hz@>t+8M#R2Yj!6TQgd20}uqm~qy7}RgT~Ve_JK*d8OuAhK#`}WE z-zVLEp|(~e&B%;TgYQS;z)^hkexGz(^v|SQo(-EY2vgL#6x5{fz6izpq}zQ@O%7>$ z2YEj_X!~XjM|a}L^Y=-&`3WI14;ZcO{d6=Gb<}XY`oRjAYqiLk^laNa=}sLglZ8jp zrj+v5BxeJOi{m+xTl^|U?X{tqTX%m{%FtgTkv<(cZ@0Zs?&eGN9v$SF(@Zaf-i!pg zxrn8G#gXN?@%8Op$mkjleY+CodCA+F?YJQ1^H%1oM0w-o_hx3X#nO7I=XsjPZa&`R z{HbvmoQ`@^wbgIUIKw1bbDU;IW4n@R=hkYTD0E$ zYdg4b=V78L#q*t-I=(phIF_>7PCHTWq^QSKIC!F&oW> zm^IUcI>T)2mx6m&0dIP@XRKB$+Ca~qB$(6mO=fCe9x-%#kxA362f=qw8b5uJAau<# z-RsFcmv)@kT)sxqXf(D!#>`0fFQ&Mk<9rS7T{*!eH>T8GcCEF%-m=n`(ihbB1TWeL zeE50<<#_Kco&UyK?N5A1TfYbB?;cj5E1O&$jNBpI^@k3%Fi5C_1HJ3qv`>0D?@6!g zKM;sqy&=19xZ^L7$@M*Wx_??e-Q~!$$^V0HpBjvk;R>oEC)<@W%Yo9x`fm)+4u4vY zmhntq{jBHQCs-3RHIYWWEqBmpACT7UiqOTrZvtOw?#xI}^xkr#2*N4C=rhc)D$3i{|XbMNe%`=5EX;s?T2xY<8w= zWCzq4F}*g(j`q`99giPUoc`phz52!IYduA+m7FQvlRaP4o|x^Pk~akC5mQzaT1y{4 zv4@VmK)rMeSs%e9U*-(V6$f_G@xCZHOi~QmM{dT&4q(U?NU~BP8>Hk(bwcM*8KvmB zRZ(|YC0%kOiz;~UNUKj{29Qz7z>*=>&RZk0q2hbifH(%51VW4{nP^cHD>Sl*im*B z5@+>cJgl-g5C3w=N2j-Rgk0~^?_^g4>^`u2x1GNugur`;@3Qq0a+v=O$;^dkSp7SU z`^s{XK^*f!GhS;Ey4>C1D$&g%cYYwyZn6_krox@aNz3E}YW0GON;Un;H$F^hrK0;Y zaJ<|qNIUSHKR<8ZtyC`-z&c0`;8~G0KE1YUTd{LyqJjDGF)0X-AA_Q<8ZrKn*-b07 z0n;mDQoS)b>sU{D3_a(>Eaa@424}67kVsaG)R(}Djq5#1?w_`4u z9bc85{%T(o6mKoFRHoF{A3Km%36KT;4R86&B`H$~VVevuTfLh0x^8a{x&XUFKk zgFibNf3qBiLqZza3hQI^wFj8EzAi8{`vhml4fb&;T$192Ob#~`oJ5UxP|hK!u#=P7 zXst5+$n?R3K(C#29_3(QhOml+Hyy}?j?zF@FQ{1`9(k02TWi6pGf>~5&Lj?IW@U17 zXs)sk5{%(}{k2aq9!&sfvl?_TKotZOUK~;&LBn3nq_hI-9y23M+)Lqw>9k zz_EY06W7NPrpDS)sosV4OznUq+bWxR(hP7PTOhF-4R(TOi_c_9A=xjM)ut`X*oAj8d5!(eTHoDmFD5gsqR!Kg9iG@d?P*_IwPxF^9Zb`iZzhsDmNPPZy#?f9 zxLr}}Ta}8T9Rq9YJs7?&M}*10AC3ikff_dRq=}%?U7luW_dmvE$Mh}*@J2bxbDK;O zxqP4vNIQmaJqw<{`G#WK2ybkOI++nAs^!1v_s-A=Qi;{vf+C+5`2=p4$2bRnV7B zyAfhlrB_ek|2HSI`{2G!*%+l93XdB7olU7_#WtWJ>EfUuvK_~t2X7c!7HhE*oh_qQ z^n8q4LL$jJ=lGQ=NA^VRT3lN$zyarp(7;! zrUa0%J>&3az-$K$y2+0d4b(|9{y}0YoMfU*f;6=gR8&$vC3NI&!hurX&G@ZNvdqTJ zr1FT}cz@urjjGDofkd9i^ACVw2bjNtF+kg`kUh1MvgMLjUY7uS66Rs_sI25Al9~Qe z+*V2hh~#zat=lrb5m$5IGA)Wo#Xg@5HzgQ zC5uorN%N)8+P(y)=^v=8q!pR4_Fm|m;CMD0_Pvoz3aXg{>-l$b6299t~M zDi;y|q+5Q4aw)ZJvEn5B!0~vG6$~Xe9zIMm&i=IODdwwgGmZ~8X}hL-ea3>VxGg$G zqC%Lafn3m$M#-`GoU{{j;V`G2X`=FS5%1QK$Hj0?O8@Oq!VBh{@&it%sRw(Tv|M*f zmKyvSW~ULFU+R-2%*y$nh8UkmAc4$$hXNJ2Uj||Jbw|j$)BaayjU3?cLyB3)U~@FH zz{I%EkKK3kQT)5F1Rt@fEE5?yFKjhUB_*1T?@~4$O^Bl0G8dbO%hZ%~4gNENYuBO$ zn{wI>{u)|Bl6fExhAzDAN!zSAFUx^jL(hv0ZkI0`KOeI>Au48Ywxci#e&M0mQfN!U zpB?42KZX3>(}TSDjy__!;Og!SZ!X2`|v% zG&Z)qSSn|#sITNTCh+rYa1YGv-j|IiV;D}m=jX@))fjAY@lRzlHa4R0+mZX^hgQMa z&}(Q+Os)u?a>E5JNe)^;d^BEkbTIG<>0j1cEhfWt={2y4P14YHxLB3i1TO*HEp_kD zfA1RriF}@zN;Yp2ZKWkldUXqa9P-KG7#lk_*qOzu<6D&22+TxC`7{j}FzPoCV;waP zYb~eHHk_FtvD@C(*|cW#+Xf{dc*)+6qLMqp%F?lo9X{RJ;_#0rP&oAr6};i^=J|4^ zjMI-F$al-^+ced5ro44)$j&|S51MzkU8v|O+HE z|B-|G?7R8Lnwq4!kC)O=U{VzJuhdV!+12b`wMSAZsGCNXgo?R~7N19u->A#pxN%?V zK`E_qFzP6P&EU>fypbWw3GoP&<0YTu>0nN~TX(OoM`+Xol3d6fl)~+M;r#~s1Ap@Xiz;pYRcR# zs`!MfiFSxnr+#D&xd)V|qr%fx0&xPbod#wk_T_uEuH2V7??|j5xPOSc9eC3nmzhiM z=ytPj8Eg`iWr48x%>cGVP`xi%Wuaka(-3|a&k87H*MOO zO;#UnvSuF}OfjGw{6!OC&&DRaBJ?*vWWM-fqw|}(MG5l)aqs%3ZiP_^mZQ}n+E{lh z*hp_v;EAHKmF|bfh58DS1syIWlb8i0{=cYOPSWuoEvR-0cE2CKsatED zb3R3q9aP-twED97kOXERZ=qXBb7F^@RdSABw>xU9)=ZUDF`_>JWDg1#5>`#jCU$E3P$WNGXyUnX)6SNrws$2G5aSV35P$v{4*j@v5I5>$h3z#a>Lr320J9(5 zHsfwl(WvY}2Sv>=ab}KZ!NqtdrIZ`oy$XlgMErxDrgX`ykzke4R@-N5EL>oxo<6Nv z{ILYP7uDQQ_7%YS0Z&m4gAWOru7nOl4OP;T=EL>_YY3lRKviz#GMtObR6n-ukcTb# zzyTPMV|FOA-8fBLYQ-_E+Ftlgl7|5-WXya(0YP3&$sY8rArvC397qdQdz@5-cXZ^F z?)^5DyY*1pvUcesKIg02bRsy%_=4_z!PiCxUyn7zG^H|s0%EfJ6Ig!!*uZt~2D%W5 z92x7;6pIKqnQ+~W2MGM4`xRTi>Q(*ovLVGD0ARCk#?L$3mfLhcmBfF^G3U6}<2E;9 zlEcsV^N4|(=y{#zXs5rOXbmcP^r5*599p?C8eB3t`A*G!|8V`7eLM|;5hCY! ziZ3TzVA;b#0}?7Mh$bMPXwxrllZ_`>9IYCbd0cR*(o$deWD=I$2w(50g6ag@utbhJ zZxZo+M-`vq^&Vsx(it#{_R} zZ7l5_RPBS;Z&+gGLw{8BSpS?a#KoPl!XA4DjgxeCM~U!syWjO~-By~L9)4T5%bG0% zfh5a-O_DvC5TV&?o1+@?Butu1kDskG~GzUccm4YkWW38*2s6uMM2mehfuk|17@M>Ra;k!56+3S4Qq<^^y<#xnHfp+c@U~tA@?TB>gR$Ic zAN;Quc$>E=PAZ4=L?SSve5c|LIarR4jW2)-Lan|Eya!;qSRrtBE17-aJ0YxUu%n=UYWs`w;yv+8S~@=h*XM z@eGS%rYYq6K9S`F4y6pca*z?A(@!xCHL%}MVr2q<{}y1XV!nW3Hd+1A{1jQ)#X6S5 z$*06%R7h9O)=jb{z27Mc4;xX&q_q8nf6~qhPw7(nlQ~c?LEoD8`PJr*DyWMIrk4vL zhdY4Ifk84J&Q}BLf+wn`X0-eR6R-3w)U<8ZSwM(~6Swi(y8Q{N5cl{$ty^@1eNtza zQuMVRfpfkvE!$jGgl^TFe0?{l8RxqhX~)=dW~YZ@w^({$V`~P2sK3sKfuU zF8em^h-MscUT+7F0Zo0g!Qa-c2g_+Y3CmhkBwb`G$xWb?K4`Z8TiCIrm%npR{nnln z5VK#i1qNHj_Zqb*YC#U9KY3z`nibXf{4q0Yf<&|0PaIZzBC_|%A%Wojcc7wq8$E}W z#F)}Np~$N#go0K4+IswsU=QAm$Y$S+mED=ZrWDn23Ua)IoRPwL3+^H~1`owg!F4M8 z_+?^#zcfqf61tF@TBQd>%;M0p-;uf5BaWxdWKHjYTCz+@<`bSsn((EpkRAo(7aCw( zmr->Gv8%||F$r-c>j$$ji49m;~=?*&$XLE_~QPtnE@_CizIEsErGUZj6zpXdI0rLziF842&qckKU$v z34eQ(*r+Gs_vm?sz-yuUsI9+Y(O1c}B1B#tmDTWwZTwm~(;8VI&`;Kgo#@P@VdLrX zUlJP!qN@e)=A0b{Bywq$rZlaxyS=j`+-`$vpU8aswsw2J{?;8>x;o6oq}1<}M^$zj zz|jD-2hn`nvk^A!$+lWQ?|9n2tn6lC#YxeZnT5=s7zYQ8ogSsB>v2t>j*|%Mare22 ze3*r}x=iFP*v=MB6g91eInT|A%+$%R8HH!Ja0qVgWQJgkAm2+s3@3DPJc3Z*xE7M! zb$p`&+l&p^a41~*#^{LEu6~ujQ*ryY_P|)xz^kMs^HfR4TuGSU5Y1eSFAv&u` z75tQr>Tvp*hQf$!w)HJ+{AP;2vLY!>w%?=1h&F)7ex^~$=D~|M_PH`k1 z3P6d&XC7!!a6#w$o}t9fBSnb!hBz)_9^N+GxIoUtj!|s>Hj%>HKw7Em%l~L?4G9?e z=4~6o0SsVL>nD zkN3^nl6~{GW5P9*1UsdLLvcz&tmk)3cBB+J&rs)$hP#%$qdXN4n0ICrr^l7T*36vw zNr?pV;(8@8?o#G?z5ay4VLRc^!7vv?@>fA1Il!QsB5WmlVzlS&Gs0Z_T!QRW!^^pytsiX zt#EuhJi6IP;c)(lfu?=^`4j>DJV0h+#Xco6!Ig$r6(u*cuxY8o^lZV9ePz9H$VQ}1 z5^ICs>9ZS_(#>=sj$FJls@j-hM(wJ}emq1}4P>W|)bY$2|9IQRlW*R3jt7D#IBRFa zsno|AN)g$ej%B7M55@;4KzltN8Q2CanTt$1D}J1{mmx5qfLU=%AlFv}-kCW>S+8ZF z=j%3c{exWgPp^QD(lQP%&%I3QeA>zeJw zVdu$d-b%wHS}r$czRba)x4(E|R~C*(Mr7@%J#z2V7Ea7F(fNvQ)5dr(GBV6lM}{DAdn$S6AF=^*O4?_VuIop!Qn%tFPPVj+pO`VX6M5SbVC|n1bX- zIkd!Rm@K~%a!lX|GHhW7h6@-3Vifk?s$e5WOhwHE5j*l>&m%r|yYnu%fosF#tko^~ za#<8p=whz%!bGG0RNmwyrN2({r@QBucih+O#1$vo@5?}-hf&sg$BU!qsl6wKnbstVuY;2FN^6Qj$?M9a%N*|j zDQ$;(4El9^;NI!5X96r}_*V0uH2tw{f9cyc?*d(5iQ|G2Rt_+0DmAs^--GR~6QP0v z=CY^Xv@_nYF1KVyjHX$v_;OURluSlzMvNpirSLprhg@GN{^7Q6ej#x9V@Do#_;84T zCnk0X4;L`Z$s)#T?=bV?hEei_Rz|$F6v-79Nh5Ehlm3UZxVX~#%0E3v&;kg1?}PXq z?ZrC@r*k5cz=+|oVYcWJwqryR!g}IJNKpQ4i9Vq9w~XjhLax7;^;Y~lyhy}eXifY< z#3&+G3O{FlIpDO5Sbd;v4#z|>&y$IOU)mTi|BfbJq!mn7$v;>muILEAA}AeXTL>rJ ztt<2bIg!+)hE^wzXF*%?+C76oZlY0&*~5t0sk9ar5$JxYfznHq7E7H;v&rAkiIf?m zQQX`J_L#K#>4|hB%^)&S>px$6v20FHHUJcoEpb5jBP5+`j&s^tx#@4_57H*LTY5!~ z8CBr^Ibg`q*ZpL3s-1_}J{;_O=~6qK^*!8sZ3#}yxC89N5@!VEz_faEcI0Nn5*}JM zCbv{suf!_Pl0gye)OfpyRUzzYGl3*xs(KhRNDd^lXWe)#Hc8i8L-CBbSVIGNxPc#A zF=2`%#1DpY6Os$I@r$Y3p7w%i)MYA$UAjtTe&R_wN2u@Sq)f7+32(K!#CcD^ESGW? zLH-&4Q@1Vn)@>sXOSh@0UJ7B}T}DmIx5G`0O{*JN27aD(3ooh}&vPSvM3>zCeO(E& z<(x^VASA<2bNgFvWPVZv^1(oVQ}&sYxZWpKY?!yg-xelJ3w;~0iypwx2+@cU17BcY3MGGurACy%?-cn8H`oF z@902vn2om0N^ea)JFbiceSlL{%?bYQ*z83y7ZbZht5wLPS!Rd`q&#ak4dy?LZ+73#tqWSLSiUvW97PEx%HxE}Kj-%K+qp$9zG-A%c35Sz zt9!geU{PP0M5yiz4Ml*X&rG_7zQk0rO*Ie@>I&VF*4eq)MW-6Qmlg!L7p1!*32 zL*sDhiM#BWBD4i)-Rs|hoaMK_&QVG*8oI%X0De4RoR;9s9T27?aDf8o7$m}=FN37{ zP3Rd-n6h-j`kg=|`oLHsRh&$~-bGZlEi5~w6RNREs>hEX;p=Uit-tyaYHrPpVS`o) z)u1cLho6DdG;~3X#TwFQ($ZYUrvx^$y_YR(M6`E%G#ZF+vRy#ls$sAA z8u`xcq2&DIRHa19hOL1fm4v!RB|!=0$fS`hL_S|3lT}gFz(xo+i?!B`F{#MrBdN#3 zUdLSvV;-n6`~Lkb7joGxfgjY?!%{j5}#!g7NLl6QAj$R`r<1ite% zj?>b$r&VZJ^di%!U>N0t*%LSgj+V(l0k6sgP9=`kW~+U$%1h`0YQg~^EEnNUKvzRV zYry04A|hpp0cs>SzL7*}6@J6uK2UJ|HjkOmZu=wFvkO$OS-ij>@KRaRlEOOEh@nfw z0Tu7y7?iQL2^>g4MY*G~w13G0&S`#x<5mbXrgLCQNqxWC6P5_Y&jtF9E1C=s#s=o| z7@7Pf>$z#!E`{gDjdzBww3lvz_yLDp822A@o4~tSto#KQ#&mrCSnM$baXP8ceG;$6 zkMl{!8kw5D>}`bbAZI5?KccTT^2!{nVNAjBP9@Mg$g-l6G}-p@!Q)8S&l8^oY(+Fp z-7vEtH$S&QIE*ZnlAQ-f2E!YE&x0aHzPeD{@#LdX6g%Ga$+_que><|pD`7qF7ur33 zb>*JQ{RzNm*$-#9Gs=)GGr?$VPoHMU?9WeH2@BjPsg_RbObiwUu|Cr~9db?_n%VU; z%4l))k%~PISNIqJuR{7AfB*OkvjK1a2s&iHx|Vz73C2YIeEv~w1*3ok8f=grIuWtT z_$4bCu3O&Uu8$}+qF`F`GZoZ^$9>Y^ay7)4eUaecd6TlrK531?Nm-}#yLAQ(+y3-O zFO-q8gh(-`Vb}~Z^pr_@7I~ zus?D?6~eA{2o{p`JZLU3t+Q}1v8t@FA9p&ZSKLf~{?CPa@MxCtB-0~r{GUBHD}t`C zWmehm_f*I;i*ZhWT4(6nF|A#g#O#U0;`nzIn6+wcEhQ*fUE$*7ZHT+PsOoU|usmOaTv5Stc(ASwQdhQ9_D7lSSeLv$DkHpF&K+#8SzJa`{3@Sw1y*pR!fsEue2 z^HkLfvK;wl=3>U_P5;*0|hiyPZXlh&+UCuwsh#kNeARBjR{><~P>J?aVbL$B3#b5_AiCy+gVKs8x3QNQDe-Dk&XOgh2R||r;972TKqFGr#rjjo4Gw&`nvy#_ma_a_4!~?c!m`% zw}HZ7r{wB5)k$F7>qjlhX36hJ0y7WkiSL`l2HG>U9^;#yL7&Y@>!3|^HLKm~kOo&} z#xFjlP`)~6^y~g1aMxAo7{AJ|uz*j5ur-PMZ2p_M?WWAobdekmzozmG#4mod!>zAh zuAKdner--S5PFA!WUKvMf_q6C~Hl1s0POH!K z+JDUL%Yj}*Xi=H6mmXW?&92Daa@~K-t<>aNR>#faw687RpIjm+_Q%^p?JV5$*uzu2 zo;_oWB&o`-6wn0RnKN2|k)YIGR7ve$tHa*O(L@zIJxrWv>GYW zqqX;75o@FG?$voqj3>-8yf?)_;(-BambYm~34d|nqsx|VE`*D@aE8?~i27TWttI(~%yXJ1u1=vLO?4H(Vn|xLL zKV&ILdd%0RP`s=y_!~*z%5Cn?Mo>-fT_4_b^+649*1QEj zB#|F*Ccjlo3(?;mZFY|i1Q(5n^*_XkLx4nugLb#^3Lvsdh2g5nE|nS8bfhVQ0IsT&lVe*5O zekLTSeGN)QS6+J44nu7B!@sD$>OqtmAq!VV6!q5tN=@+={q*h9Tr5wM(!F(&k^JOz z1~bd?mg>eyf`T>Myz#;*I4#3Y#aHri@gOI z1f#0;Of?KFX}Lt^;1cY;g~2jPf+`2rDAY8fs@tHAT{s<*yW56^d4pg&EQf8X&l$^% zZ9J~3Lo0L&f+L-zfxJ$pgInVus$MOQPPI_Au7l%P4-;(foS~ra*pog2RJnINCkXU; zyruG(394t& znr)!8r%@+~<{Y?u#7TO|AB$o**I?wxyCwx5)@-8Xh3?W2te`|RJA@eoF}Y$C@i`*` z-o^0h3&_Mv)rGG15YZ$^b{sPp`vr~jagIOJ&Un|O3drTGOu;_%?{_(>4OI>cu!yY0 z76-nO+mO91xjyMgNN+Qw*G%5Rc zP|0m=4_^KE9q)BdBZl^7yrNEocU2nBqYh}VRVMtG!@X45o3Bj+yIqCY>F-u#)s*B< zB7ahYx==dj$<=i{q#3lM-C8Tl{cx(C9a|)YM{g8#cLbcC>Wj!(&5H{y#39PStNtQKu9w_^p; zI6cb)*;^yhxb-FFZBt$!|8^|wr>E$ z8)FXNckY%Oqg_Xs*hj@j$RQm2&+Sl3f|fta>A(NrLIkzfUaUp$#n|R%uYyt|RasMt zv4$8KaL@R~g73P4Mlit$OY&-NlE&?EeBE`|>Uts7sj41}YDz2!+&|=Ias;(mQk=$8 z41$mOYb9EmkvFwS;;nTFqu3p$6<*-2f6;}lw;)yVzyws4GVldfy(Wkx)8w8(v5rHY zlJF1Wbp$N0Qr}yl%{U`JG-A{qZAu)+zt5Z@T=YNmG}tX*|J8JtD2YN6pZ|{Iu3jXU zb?gY2Iy3E7WFqqZ@xJ=eAP|b6)P}%Coq~An9(#k|5w&)0Vw=yp1+J8{Ob>SPLlnZ5 zaI6CI<^5OFXars4t~GCTIzPfBdxqZ`P-}mE=Tb15kEsN`oS6C`EC(XmJY~FgmT;)K z3LXV2xGBB@<$xgoHBN&O*{5B9p(4L%%OU^FU{KJ{Mz()#fxmB$H#k zrokYD0~ElySQdOK(kvEy$#^hOA)8Io=)RTP=PUDhin$&YejI^)l#wT3@To`P7IHTR zi{p4VPX^m_oHn;55)UzBbI3e=o~@PewzABTa@_osa>NKD?$v;!!R-H(Tc378vz6$JUCG7t5U?A=Zj`h2hMmmMEo^ev`nVoOjiyw`yD zeSIJK$+8YqY-j#g>aFwEfJn9~lc`{W?Mxl+x@xoN@77s79~%&E9-doiyc|bAzvI`} z=WBMo4hYif?uxNLL*B|PVIN+U zq#tW!_s2`I!z5E9E*#rj98L1ZDSPuRPJh>~OHOHD6gZTjAVtl26=w0D2Rsnqjn}1z zbeJ(ZTGv6oxjwS^7Dr+^>Z)*pX;I3Z`NKEaUKKdchl`e6en0o%IA}6bggRnCqLRYZ zgmP?J`{;~(`egeGnZKM`9ZufYx2O;rbLmoet~}bXL##n8nOKLuaag%3Cm!X}$_rw0 zedr3hTwLvJv{9xFrl(deT^gMTQPfvOdebHFf{^mQtuCKU?PR{JsI0=hYI(T3OS3nA z^#5aSx0XhHTzoDPyna7Xw0tNNm^{!m*Uz9ASL9^}BKYQ{_&)qE=C=E;NIv9cyt^|b zlCKkX#xZjv=A9(xEqc3)w=7zfP;I!zrZr```yGv->r{B%L6JfH^IrM$5<{=+dYKn% zjL|!`m#~I!Mq=+47hSzAP4_~K752NgeMbX@h+VFBMq@&;!& zHA?4jtmT7;#|K9IM!8i7x8#JIMI2gvur#}a!Xf|ef19vj&X)H1<_Cr!$c;-_xZUg> zkTqAgK}SnFg>5ng9!;m`SDaJ0zmYP6?K7RLdCtaj98|ogW(NZU6G_$Ao*NWn?WFj1 zE1AvBmyl>O1DRf{)4q8e3deT~>o0LC z>cIiN56*lR@W&9Tft@A0%bY(V&1^sQ!Fnqr;s{PI_Sx9v&P48|0PTsmP)H8PnDAhI zivtFRhK5XZweExp!alhO`o>3ZzST|N2bl`}2XhUdbEt`hE;KlJP%~!arrxMJ;arK} z4kp)8oZ#WAH*FvN3NP7s!N|#IvefoUSZ#7(Ab7XT~!iGlbU!tmG}>2J$jl*Zf>W^!p!% ziDa7Q9_3nbFE0A`tNk~C5_t$Lm)wx*IOsgr+?>tty?wXWb8yt6RsZeqe~d`f+0i<# zELR+DjsN$Mk)|Ck5B|Rl$^WnIRxEhI`Zzb$a{yJ>DHCJ0MBd>&nK#l(^NbG2h{eg> zCYldS@i&X?Kf;G}VuMZh4LmAuKua_XH=*oYfPk)>qo@kf3>XG_lRftrD~+?^m1V%_ zwuoipP{yF9OvqhEe9m~NEuCo{q<_sknLrMQ3URcqGSx_9^>Z-@ zO6D#^UcVb1{fen?>h{dcaZl8}Qa53IRh6FD8F)1$XFdzpaY;9pws}?%kWHxD-`+4e zUd(NNDQ~P_(>ULKfXzTWlR2U4ddl}azxeB$peigRalf15go$8n*`xj2V`h|%DR))Tx z$KA@rfrKSI8IJUnhiw^Stw-5XeBSa{6%NG}9awg38!4GlA5WFjHHA+S7!2L3Q{x%! zoP0Z>KFU#1qUw`7b5CjxR}Y-~VTmz8SxE%x{Uukl`MZFF#Y-z(j4Soxv?&wPiD>mz zx0@tr&Ih+<{ZWc^?S+%kY=CWtQpp6=?s+ zvKo)POSI`x4kb<+@`(?Vh%_gqCpfxGD<$&hyBKXioQ~vVb89GJnC!#IJSpkE=79meoYjV+zn;UVTo@)1&72bqH%u+j*O*U5f)NJQf$t>mX-80O`y&38& z(TKKMpYxe6rMF=;ZkRF6y+Uh!>h3ukzBd!2cR^S2!aEyy-_V4qdnFahKp>M4(}+u^ zMIJ3Jd5)cD?5c}^eS8CL=q(GKLi#ea_XNZ7LDu8R@8j>Yf>7&ELMZ6ZD0g4OX-$G$ z6n{0np86StQ1G%Dua+FMZHvGYeJqTyiDSqj| zbcKgo%b5GEeJERE??W;DZA-Y7mbRF)uXkdqG6bE__~Z7ANV z+s*O&e)r6WZ~&8{5J429_URWW7Gk@t``3v~9(nTX$VEUQUNnTDnj9!#1DD zF5B*S%B3@d&Yo`HmoAU^bF79W#KGUF`MU1}ZFp{EZQ2f({$$@y3If z9PAX#&7U}7Pj%fC|NpO~M3U^50I11>dLXzq7(Zv!QFnSOg3jSua0ELA!m{D$WP7K3K}1rb#|w%vfEX5;*x)?JJ|N5 zpp)>>2Iu;sWOFUAbN}wRD!Pw%Qp7nd?_6EjSsXYCCr97Hn1LKB_tB)LS1K9xsyb3J zW_W?jVERJsVllmjZL;-f^Ba69=;SS)^k0Q4|7WWFTyl@oFXILo(2sO<%_1*nzBBZ; zQD>=Ft-$lm*}>0fs0m;4Rm{}bDwpI#`^f`N6Ia)}VSbl6o>+?6Fo)-`u>dLlhUO4X zWW2pwh{H-cIG!$Z#+-(0bH@+5m**$;yK(k@Ospt&nPc{-t^_5vEO$q)3Hyk&R_=|) zxowQuIpMYkv)LiD%YskZ=Z1EJe^)KPr4o-={9?L`UNuH;n}$nu&RlV@{r{~9?cMkB zlA9-b*Jk_K_3>4*gkJNqY2C9Qj&X2kdFUP;vhyikK@S-cSWj6=;&wIxkuV6^!x0Q; z-E&yBexGTOt3?Pj!%Te9iLojX3hiG{6=%j)H)i_7DE96fVa1-wpSy49al zL}8`y1QJeq>IyRO(BLjm!JxC`*Y9MFu2(k2iy8e?+K+M}d8uJ48}a!OfC z*ZVYo-l0K10H;HoA8;IZ6)Q;x!jTOu26n_4PE5>K6-Myvnx*TD6yYoIf}g$AkEoi* z8R&!0Ckik2d?&2E-QWdDJHl0AyGlMhUgzO0XLeZpv{gbtOcqdo&SrE%Sli@J$0l~f z%41aOSmr_jCZzN$V}5zxW+EGhAm_IVF{26YcromIG^OlRf9Nw6ip9kX=nOy7EAK54 zGz^p#y?3kjx|IUI)B_~jvR`{wqd3;g$h-`GUC&y0yX|M1YpPQVGMF4V$}1&OBHE)o zA7sKv=zYL5c*m;Z=uq5<{O??V6FasRi-cCFlBqg zO!ij9yA|t*cd@-wboAAk%$c8Nl#or?iD9NarTAg*faN5|-GFjycm3|UNA|oKYa{g# zIAqi#t`&VkyF!hVG%JDg3YZV5UGYLj-MczlTh0}77zWDau%%1lAoiy<$c8aEu4v**#v9@@Xfdf} zv=2CL{^8giA5ZPB6;wb2k`(kHlLXzvoLv%F%x+2rCXn-mu_DlV30ZcD9-X?0$-pxo zfxcPBJ8hg}8f{j9H!Q;0OvS!+R|z^;(-i8YdrM zbpHjGV{QH1WGX0=IaLq1TT!I~?v0MO(czqt`^pBNoeRuKTzws49?47StPI#COnXe? zlw^P@%t6K&UOoijO%DeCkd4)!SaKYctf{)@Cic!5%9>*0<@gVBD|XtpTUjy$02 zz`hjKT>n*s)AA8s<#WhQ~=$ay{ch*F(GREEdK7~e0&Exsf zda#c-?=jI)o*ysHQ$7HHAopj~LVLje$WOoC{-_pqTZ#s>x#vC$?mn9V>fEscc3&h? z-gB*N08ujz|MnQw!P;QJEMZ*m)an-FGUjYSIsqSDrLTL687Y%mzVg?QVEf?sE#Pih zv3+te6SX=Oe{w*Pjai+`(mXDRNi9^f%g{o#4cz0QDgT7e0p6Vix>AfA7V;#oUW?dD zEd;({cSXN=9S<)TSBST3Wp)>9O;n+tE(NgE2J+C}8UcmjyoV|t zo2%{l?R`R(0L)YBO{`fzFR^*eh6xdpYfZ9Hg!AI`=4cBCpqTH-Lg?)?SyyESA9cF4 z&USy{8cMS&Gsv3m|A1)kqA$@2@zq2Aor7Rbd&209Yt)99=S5=J{HpQbPQNzxdwBlb zq&juS;2o12OWHDBlcn2z2all-w*rTeY?#T?j7L)SfL2SPZ-4G?qV2JDiKLkphYbitr#>!Ss6zAxkv?~@CcI%Wjssq(JwBRbnzPs} z&5cy;8XRP_qn@;R%ajtTsG=6~%0CDf{DECi6wI=z9Vf@?)W^ZG^8vzYLtJtLSO+Dw z3jCZ6RO^2*bY-$;7s8PHfwm*tYG7ZQFj&yw7v*{jJrj|2f^K zyK5J|wRhG2q-7{+Bj)H?96>;Qlk7Yf*(0|USG@?M^(%B!=j7B8R3hMJlx5oC(hwY) z9ULM(;ABlaLBuhI)iLWEh~06SSWtaWT^L&d66*gAe7n5jc}Yd^fPy49)8)>ye_l=2 z+)vkKV|ZQ>CgSeO@T9xO`Rb%SN!R7(iPBZP^0;4HP4}0Bn-nV`Bt=vlnT30eeZt#7 zkJOn`-#KS30LhN?dCe2?$eLQVJxWg9$ugrRG!`hgS)7Gx>5a)l1Px?8LhtT!|buogK$CeElYgUWWYcOADkK^Nx}URS=N&V4tdzGJZE zLtd19$cGpZy|@*$KXbVI8bJiKA#QKJXFr&wE$9(woe4obQWo@E$3^KB8Q!!aBy?=) zYN6ErwbWkP$PsNR+@tqy6W@!9)09mj?0@C9k)`=ZLr4QSnvcw?f9 zIym26_03+N-y}HUG24h>=B0sr8%E%UU*{$Nq_9gi0qv+*8R;!e^ZHRgmNb_F-mgR( zaf+=GHwUU^ZME*Zs!V96F+j=~7o~nVj)^_d7DH!RLm^mZ6SA2>&0g2Lh*9{a4j{k# zxYiPIT?dxH_|?M-?uJjb>VsQr(KV=pmKDLFhuG+iH~=V3<=^V&g^#A0)+@;eFDgK9 z@32fMfg9g5f^UMW2re@jMU3~!C9Q}mYA$)5qTVPlkSf{W$384d0bt;28>YEQ!J2E! zXrzlI^N>|;fR@+Vi?N*Kw*VNpItYVF@qCOX24HZPHBwaLol$feh2q13J^HZOT87OU zA*8~yL(uSzE_r<25rMznVI`!ucVQ-s&Rrcywq$+cFkB06`55084}$_{UDx{?fZ@_} zTrswIZaA@I$LSKS;j~YZOhna8YP)BVVdLvI(oj!O(n-qV+*TXcZ=UHn9EIp{lS8Z( zl<+q8EeMSO4NHy__v6iGk)E1+D(he_u&BYF7s9mUIFW%f1WlI+M%n%$HHjWl~G zCioOTe4He|Jxl{-zpbC3yq}zM-6_?Vpq{~EjbUJz;X($YDc<3*vaI-lI!S`+HZu`! z_8Qm4^^HEy`kM4YYuH*m|IL#65B-gBf^S4ma5qDI;_vT~ zY;xUo>?IJ=QtW!oK)uP5P~Qn?pI#V-khwJRTtjc8Xg0!;$Vqn7Y| ziZLi8O}&Leeem_mJ^oc7z4Q2$>a>!z?3&E z-qF%h9Xg1N`8QUi0=ADGBpM-b_c-{n4b34B?Y!1C$q6}~;|{ZByI3pq>5L^@m@vn5 z2%bx5HCFN)k}F}$%`SxJ_uOApbo}!wU))PXP49dfdaOa#!Dt!U0?u$%WWn^7W%g_@ zS;p_)?++1c$I2bq)rap9v?sxTo=KL;?a#E><4r=XrlgloLX_d1-}b2UNS4RL`X+@J z=v*$6Gr24v!$Q0xxeS3Iy0nDP2f|<(edQ;YdzX3Imuow-bdL(!m*1`N-wdr`@lg8x z!k}<@GN(6d==8M810UG6hp~iude5x6<|I1!1k6%p{J1-6+X|3o6*F0xu7N@+3bp)w)DpRX_Sd$w3Cx1&0JvJAuPnGrz}kgiXM`HIgk3g7-fi<>gC ze)!@6L&8N++Wn>9#^;XfNN3flMG6Ay!e5D|HjJ0=MU3Jk^B^Sv^G8tQZv|jdgQ~^5Bt!BO32+m*=*T2zMA5+2ZLDG6s%7gL-~?_9^8+`H!M%KpdqG5B3x8;zgbp zDK@qTR2<^>L#GT2zovW5EkRDeGjF_dV6wA?2$qm5C;O(#7TFO!R%#!=c)5I<@mZEz z7bTohL4~=YJtg`8}U$bp)t!?AYcD~vPbG*$;fc<|97e;Sd zd56S7e0_JZrW0#-!u-JFjKt9zSk>bH{*u*>$;}ei5w{VScDJIuI29%SO39}pe3OR_ z?`LIAU_z%DNKW&W1T9?F9MkwEIau7ju; zA5P3_l#^Kg!7vm*^^YAL&r_*Dy35N0Yl2)mLX9etFR|4osP$qFdpyjMiKjx3dH}ny z1#0!PZ=X~Yd3ch)n=0EfYZ-Ljva3U-YfWF99{TXl+P-qX7JVLy34BmrJLnemu>vlDSEL zf{4`aD)8=JnG~aoTKEiNcux)n{ipaKH(4IDO!sOLOT>}EyU=s($t3M~;E5ZKv= zkmrWt35)BM;J$iUl(Lq^iel+DTF}%8d`xVYLpaQ#c^GmggOSnSC=m zVpPrV5>rq-C{8KvzZbt#wK<>dH_Dlw*aoD6{UzU~hYfJ}SKKJ6dFtccYHY-%R?4KV z1ngO2s5HKpz`rr8qTlT_PUfg!QBXz_-+sA_lk;DJgY^CcskfT)9vI zIp}}QXIAm(Mp>DBe2_$=bv1y4)31qQg=_orLsM<^l1K1KaCU%gvRQtZymy_X#WIu; zY2(xb3LrqOxwE7ohc6`n+{gD*7pW)AVeXh$tXiBf0BFRtVlw#hn-ur@Q8)}4mOM}DW7*wAMtx*=R@;xe%gQm!^_dF<>{ zc6zp|Km2C=w^o>uWnaj3C39FlJB<1N_S(mVtF`{vz-+o^o@E#De|vt`NtPd zGYpdPZ!#U_py%b`kZa7?RV z!wl>%_YSiK4O+@A?SWU~_|)%`GUxW0irTLutIC1&oZ&w9QQTQN2St7Kp=ajARdi7L zgD5?BBJG{vZ<(EhZuZZ)OVS(RG^8q-^5UKck(5gk#K0#`7k(Jxj;Pz znfGKs(}I28CCVJjITYIYWI0|Qj*{xxsKXs!$?Z>q*_dLUXLiqFj}65Vlj~hf3(xYQ zk$(-$jPDx{$1F4~PywY@M0OK~?K6?DwBl3!)RV25?T*3fY)RB^eQ34r_CAv#IneDK zYHyZ5tO6`*n)GqhY{c-8%^B1X2R`sv0$*FKx!h>QZN0`=e_i0d|8&D^&8IG)=S$&x zW3OG}PRs7?>T8X1rY`3=S_kB0O9Df;rR*jCK&{9eFLP4gKWQqxzRkUQi`yV2qr=~f za{gKuf#aGwu;jd5_l6}&Ak~U_im%9tm0R5^+aM#;UXJ=hL#_&N<9t|)v|2ptTlS~j z?h2L-y8M)&$GU93-NWIkRt5-|6AR_A~%THD4d8*LbD8rM@?%LYT6i zv9}+yQHEfpq>fD77)aF3(=Yfr`T}RbH~ZiLDOV(YeprP%5UefDm0{KF;BNhVlUm`K z7%Ge_{fVwM*vk}pfhFo%kC0-OQF@#A$6n?K$estz45A1*45HYptPI&E=-iRPTiKYQ z&e(jiF*>}j4kf=;v%}^w2VL9T&?l(eSZBa*H)>u_jhX|ro19L%b+|i}K6gnscSvuV z6AEYCvS@{_xZn2JoCg6mB&J-YOg|)W^oUor`|D^~1#Os4ao4qEWv|T0rcZ_51rhL} z&>+Sot2^t_HgEEi3>zhicoU?l6NGH7eZDEj_B2n8ogm zVzSz3!DVT77@y}?cv`!N!)lA!oR|ip4SlO-uvaG;c&({=gvJ;Xc;uI7zYAqDD=g3 zaPW6{>0GQ!jT8{5H(oVQY>}QVI`*&V4EBbgZ*k-*EvmiGtaz}z>=y9c4tWNW>gjjN z>c>WZJk$HU*`Ol$_-F;fkuFGo4piH^ID8pm*ez}lBN;<1Kc395KdJX-tz|&@jR~QD zzACnL+0ob2cSOBaF&iT4u<_I+E}YOA6$0uq!`=2u|CBX89hWCPj(Q>?aH}gV4#I}) z*K*dm6n`xOy`;MC!Sd@1B;70N$s1k@RgKR7C7P(mUgd3=?6qh_kWhs~#KTocgoQuKyO z&I&K^c0-E7$sMGaYK(sJ{Sr;v$$W-sle-)p?DwwtJce9L=QLMO%t6@+J=iTr4wIce z*f^L{o6NV0zm+fRHs_6R`Q(8pDtCDHD3O<4Jw}9u&0dHo<#nFxp41=ppL!;%K#@&K z%csE8T#HsbUETnOLMfm-?=6j{Lig4b%GTYrKM~XsqGHfwl}XQiO3cpOs1Lc?95ubN z2S9H9OV{0+lDs3}Z#RHd*8s1arD=beiB$dP#e8l87SE<%L$UYqLw~9m z5j;KtZrfQ=ah`8Q8L*~f(T&1I$f6oE#PzPWTW0v+cF)?nL-c{Ys1u9UNgC-nVr(V8 z5+vxmqH!^Wlz8#b?;JR!1HD65_?fJVXNDAl@^q`*G)zZ9S2@YwS;4F4#yLG!%zBL( zSWL^|#h#R0g3@V!OOiYV;2M;As@a+Uu!6LAM8X+7{xpdMp@C9_l|xgxD&4)FzP-T| zh3dO9SbL@N$i$yK!4R=;`)6)ChVWIW^1yx|GKXAInEr9T_CqqP?GrwXidj^Vi-}e2 z16G3IZE;`m$I~I*NeRg^46_r#3H9v=b67zRH8lEP&h6bP9V`QITTTFh^s@G*oVz+e zCv%~qY48d*aBv&S+v@>4#l-Y=idJZ7^-mi^sfe1V74j7LAv~d>r05Zi!Kxx{o~VDw za>m^UAoD$&j*d==mE@1fC?-bBL@Dw^#E*fH%cd0bC(F5KC!iY^wna=vIIJ8jl~Ua) zTq@P80{q=RbbqkR0VM%Aq>f5fQr&z&cwuR6!vT(-d_U{KQx=WC+8tFCO0KfD?C(_o zImmM?x9IJi>P*f}@XwuN(;+T(%(?&k{GapO%I}`C|NqDTTm(2vrKSTgxCZ3f(^rSS zlS{wY>g$}oKgnA~{H5Nyd(cr!^Xy4&Rul8 zW%vixoo6@@VPWx^0+&+(sJD**>g{EIPTB8-eh2vJeQQ(EPpU4B7q0HMGJ@oUEb_lE z|IcAAc70sz4$I#8!caeSYUTMM`f2w>pqY4LTQ@0!Kl&VJ{FN5=Eh=$s%fx-OWSvFj zo6MSsXOeB`3HC08-6~$p?RmiT3yUT1IP}u(LmT_c1!&3K;CdSkAuepkr~PM>4W%?R z`_08vjQh^h{E2x4Pq+RVPo5*k z$3fY{@RXeW-Oa34@4sW#KL@|DU`d|Eh8RO(dG32cH`CFIam(8InG^i`nc`*k6*;}Q zZM{lTlS%GXmhUz~H(qErLxeVtdd)bNXtgrA-RGB_-fgM8;}UC*{RoESD%sqnXPWxg z6DlmkA^?6Hs4*mSQ1MI0XxVSL_2JcaDevBwzn;)rxV`%G%fjuj4 zXJSKMQIqL$IU%bwT1KhKoe_o&bV&c+V;i0<`<$k+)aBInVqxl@r^)vfZ4HTrnqXw9 zI#PdG0tMHqy&(2K9~7S7kd*7Mii8)XouGo6*kBJNxjV5r_;}7Ht77hmtbU06>3(78 z#YrD{yDCPAThMZm(cEHx7`X0rDU_Y2i{~;%WK8DD!vya+Wy<65s9Zr8r{|Rc!}p## zJmu?$Gp*A{ko>3N=Cc7w7wT;(Df9d%ZjR2>tLfGLP`hhv+QnYQSB1&cc|sQDfsuLh z=i=psjFPrS01mOsFRWES7NYs3%`EgF;8E`{Qv>i^4 zN;5vb4neb9A~XrQKSsvlTi;)0#0$J<+H^-?G}koS-gQE7wfVNe8ki~LLSOgd{%1%h zhGDphCQ(4(k1Dxq^v;!UDwErHSSteB{Bv}kLN4u2UdPP~o3fSq`JLYPDDWvcVMk_f zU27^=t6w5JxsS8@D}$ehFVIG`{Q36lbF#yk4_xO9^XqA{KQhAHgR%;V`%O~E%Y;Rh z`iSXieB=2oXOi~olb2a3qtyySG1C2z;Qc1f9uUi{d(UXxPlaH%w=xKX@s84Q{Rk_m ziXh(WzPg=-Ig2I!Y5SnJuz|yVLQ`kmp|ucRW7evDewmXIWpOW0ReVJ9HDzBnj<^O<~& zzi^wS{JK=lo?x!yKU$V=VN$Cl1nudG^=EhN|6?-85@Yguz#EJ6+4q6bF_~AOoX3*y zNkWV>kpHGAU)d|uQ$%tg;E9mDSmz<64Q=(>`mp*D({D|6cCQJDYBO9+Z{4mP z(Ay6tq}&cpxN=sYEI!ZB8IfwjbQ8fKYST`*y@KF+s@GqCu(IIT@~2&}PkfS%FWtWK zUNJtNow?no5wx82vWjTmabISc>%S$)-}bu5za2J1X==+xRmIJ)A_=#mu^{6j&2GUbZoQ6k47)pG@O{ZU3^etC!iwl3E_lqj{J_y{>rQH&rO}`PapLzV zC^yS06MljFwAS0MpezhWKJ2=YwN^mukzMTO)BEVBXL#wLboyB95)de6iwghtWjx#4 zW)_(v44~nDyzSg$&cH>*8{(Uz^-YHG^GxS^!!17D?I$E{+EGg`^u=h@O#9w%6~TOt z$DiLl4@TBw-Y#=BxdWfMndr{qJ$Ck&SF=EtfjmR6w6#et)1KcZJ(o#QQik^F9$G2+ zR7y5S6WS~auiNXO4(9NU`m&264kEjpy8yQ(q+5Ur6QuU{Bi#4#Pfk|dEh=fl6^iIv za@^JMu4=XyTK=CP>e*Sd35IS*XV}>%S03Cgq5)oW3gp=Nv-ikEswI7Hi7hjIrz?=M z6mpn2yOin1sl!ye8FInyXa5c|*3k2ef98Y_uApzZ<_FVsCr{WCzE}L4tGCpgt^9Dy zE&|Wj50kszJq3{&mv`>Py4GW=sm>Fhs`Xp!aThd29Tg$ja;E<_%zOɮM>&Oq_z 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 An implementation of the Ethereum JSON-RPC specification ## Objective -What are we doing and why? What problem will this solve? What are the goals and -non-goals? This is your executive summary; keep it short, elaborate below. +This proposal outlines the design and implementation of the [Ethereum JSON-RPC specification](https://ethereum.github.io/execution-apis/api-documentation/) into a standalone +service, which aims to provide a gateway to FlowEVM for developers and the +various existing tools. ## Motivation -Why is this a valuable problem to solve? What background information is needed -to show how this design addresses the problem? - -Which users are affected by the problem? Why is it a problem? What data supports -this? What related work exists? +The [JSON-RPC API](https://ethereum.org/en/developers/docs/apis/json-rpc/) specifies a +uniform set of methods that software applications, such as MetaMask or an Ethereum client, +can use to interact with the Ethereum blockchain, either by reading blockchain data or +sending transactions to the network. To achieve EVM compatibility, it is crucial to +provide a JSON-RPC API, which among other things, facilitates the onboarding of developers +that are already familiar with it and enables interoperability with the existing tools +built on top of the JSON-RPC API. ## User Benefit -How will users (or other contributors) benefit from this work? What would be the -headline in the release notes or blog post? +Users will be able to make use of MetaMask for connecting to the FlowEVM network, +by providing the network name, JSON-RPC URL, chain ID, currency etc. +Developers will be able to easily retrieve all sorts of information from FlowEVM, +such as block/transaction/account data, as well as define filters and subscribe +to changes regarding the previous entities. This will allow developers to focus +on building new tools and products, without having to write custom indexers from +scratch. ## Design Proposal -This is the meat of the document where you explain your proposal. If you have -multiple alternatives, be sure to use sub-sections for better separation of the -idea, and list pros/cons to each approach. If there are alternatives that you -have eliminated, you should also list those here, and explain why you believe -your chosen approach is superior. - -Make sure you’ve thought through and addressed the following sections. If a -section is not relevant to your specific proposal, please explain why, e.g. -your FLIP addresses a convention or process, not an API. - -### Drawbacks - -Why should this *not* be done? What negative impact does it have? - -### Alternatives Considered +### Context + +JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. +It defines several data structures and the rules around their processing. +It is transport agnostic in that the concepts can be used within the same +process, over sockets, over HTTP, or in many various message passing +environments. It uses JSON (RFC 4627) as the data format. + +### Existing RPC Server implementations -* Make sure to discuss the relative merits of alternatives to your proposal. +The Geth client offers a re-usable [RPC Server](https://github.com/ethereum/go-ethereum/blob/master/rpc/server.go) implementation, which we will be using in the implementation +of the Flow EVM Gateway as well. -### Performance Implications +```go +type BlockChainAPI struct { + config *Config + Store *storage.Store +} -* Do you expect any (speed / memory)? How will you confirm? -* There should be microbenchmarks. Are there? -* There should be end-to-end tests and benchmarks. If there are not -(since this is still a design), how will you track that these will be created? +func NewBlockChainAPI(config *Config, store *storage.Store) *BlockChainAPI { + return &BlockChainAPI{ + config: config, + Store: store, + } +} + +// eth_chainId +// Returns the chain ID used for signing replay-protected transactions. +func (api *BlockChainAPI) ChainId() *hexutil.Big { + return (*hexutil.Big)(api.config.ChainID) +} + +// eth_blockNumber +// BlockNumber returns the block number of the chain head. +func (api *BlockChainAPI) BlockNumber() hexutil.Uint64 { + latestBlockHeight, err := api.Store.LatestBlockHeight(context.Background()) + if err != nil { + // TODO(m-Peter) We should add a logger to BlockChainAPI + panic(fmt.Errorf("failed to fetch the latest block number: %v", err)) + } + return hexutil.Uint64(latestBlockHeight) +} + +// Create RPC server and handler. +srv := rpc.NewServer() + +apis := []rpc.API{ + { + Namespace: "eth", + Service: NewBlockChainAPI(config, store), + }, +} + +// Register all the APIs exposed by the services +for _, api := range apis { + if err := srv.RegisterName(api.Namespace, api.Service); err != nil { + return err + } +} +``` + +The above code snippet instantiates a new RPC server and registers a +service object under the `eth` namespace. + +The server can now accept HTTP requests with the following body: + +```json +{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params": []} +``` + +and respond with the following result: + +```json +{"jsonrpc":"2.0","id":1,"result":"0x29a"} +``` + +Under the hood, the RPC server reads the value of the `"method"` key. +In this case `"eth_chainId"`, the part before the `_` is the namespace +(`eth`) and the part after the `_` is the method which should be called +on the registered service object (`ChainId`). + +Some sample HTTP calls to the Flow EVM Gateway's JSON-RPC server, can +be seen below: + +[Flow EVM Gateway JSON-RPC over HTTP](./2024-01-03-evm-gateway-resources/flow-evm-gateway-curl-http.png) + +### Supported transport protocols + +There are three transport protocols available in Geth: IPC, HTTP and WebSockets. + +For the gateway, we are interested in supporting only JSON-RPC over HTTP and +JSON-RPC over WebSockets. The RPC methods with event subscription are available +only for WebSocket connections. + +Again, the Geth client has an implementation of an [httpServer](https://github.com/ethereum/go-ethereum/blob/master/node/rpcstack.go) which is basically a proxy that routes `HTTP` & +`WebSocket` requests to a dedicated `rpc.Server` instance for each of the two +transport mediums. This allows for more fine-grained control over which namespaces +& RPC methods are available on which transport, and allows for better scaling. + +Unfortunately, none of the relevant types in the `go-ethereum` package are exported, +so we cannot pull them directly from the `go-ethereum` package. But even if they +were exported, it comes with quite a lot of extras, such as `CORS` / `JWT` / `GZIP` +compression which might be overkill for what we currently need. For the time being, +we have extracted a minified version of it [here](https://github.com/onflow/flow-evm-gateway/blob/aaf3ba3f2ab78321fa377ecf5165a2f7dbc44865/api/server.go). + +### Indexing FlowEVM events + +Quoting some content from [EVM support](https://github.com/onflow/flips/pull/225) FLIP: + +> To better understand the approach proposed in this Flip, consider EVM on Flow as a virtual blockchain deployed to the Flow blockchain at a specific address (e.g., a service account). EVM on Flow functions as a smart contract that emulates the EVM with its own dedicated chain-ID. Signed transactions are inputted, and a chain of blocks is produced as output. Similar to other built-in standard contracts (e.g., RLP encoding), this EVM environment can be imported into any Flow transaction or script. +This is made possible using selective integration of the core EVM runtime without the supporting software stack in which it currently exists on Ethereum. For equivalence we also provide an EVM compatible JSON-RPC API implementation to facilitate EVM on Flow interactions from existing EVM clients. + +Since the gateway is not the only entrypoint for interacting with FlowEVM, we need +to track every event emitted from the `EVM` smart contract, consume it and build an +index which reflects the latest state of the chain. + +For the indexing, we will be using the Event Streaming API offered from the +`flow-go-sdk`. A sample code snippet can be seen below: + +```go +flowClient, err := grpc.NewBaseClient( + grpc.EmulatorHost, + goGrpc.WithTransportCredentials(insecure.NewCredentials()), +) +if err != nil { + logger.Error().Msgf("could not create flow client: %v", err) +} + +data, errChan, initErr := flowClient.SubscribeEventsByBlockHeight( + ctx, + latestBlockHeader.Height, + flow.EventFilter{ + EventTypes: []string{ + "flow.evm.BlockExecuted", + "flow.evm.TransactionExecuted", + }, + }, + grpc.WithHeartbeatInterval(1), +) + +// track the most recently seen block height. we will use this when reconnecting. +// the first response should be for latestBlockHeader.Height +lastHeight := latestBlockHeader.Height - 1 +for { + select { + case <-ctx.Done(): + return + + case response, ok := <-data: + if !ok { + if ctx.Err() != nil { + return // graceful shutdown + } + logger.Error().Msg("subscription closed - reconnecting") + connect(lastHeight+1, 10) + continue + } + + if response.Height != lastHeight+1 { + logger.Error().Msgf("missed events response for block %d", lastHeight+1) + connect(lastHeight, 10) + continue + } + + logger.Info().Msgf("block %d %s:", response.Height, response.BlockID) + if len(response.Events) > 0 { + store.StoreBlockHeight(ctx, response.Height) + } + for _, event := range response.Events { + logger.Info().Msgf(" %s", event.Value) + } + + lastHeight = response.Height + + case err, ok := <-errChan: + ... + } +} +``` + +The main events from the `EVM` smart contract are two: +- `flow.evm.BlockExecuted`, +- `flow.evm.TransactionExecuted` + +To see the indexer & the events' payloads in action: + +[Flow EVM Events](./2024-01-03-evm-gateway-resources/flow-evm-events.png) ### Dependencies -* Dependencies: does this proposal add any new dependencies to Flow? -* Dependent projects: are there other areas of Flow or things that use Flow -(Access API, Wallets, SDKs, etc.) that this affects? -How have you identified these dependencies and are you sure they are complete? -If there are dependencies, how are you managing those changes? - -### Engineering Impact - -* Do you expect changes to binary size / build time / test times? -* Who will maintain this code? Is this code in its own buildable unit? -Can this code be tested in its own? -Is visibility suitably restricted to only a small API surface for others to use? - -### Best Practices - -* Does this proposal change best practices for some aspect of using/developing Flow? -How will these changes be communicated/enforced? +The Flow EVM Gateway is a standalone service, hosted in its own repository, so +it does not add any dependencies to existing Flow core repositories. It is +build with the help of some Flow core repositories, such as `flow-go-sdk` and +`flow-go`, so it depends on their public APIs. +Later on, it would be useful to expose the Flow EVM Gateway from the Emulator +as well. ### Tutorials and Examples -* If design changes existing API or creates new ones, the design owner should create -end-to-end examples (ideally, a tutorial) which reflects how new feature will be used. -Some things to consider related to the tutorial: - - It should show the usage of the new feature in an end to end example - (i.e. from the browser to the execution node). - Many new features have unexpected effects in parts far away from the place of - change that can be found by running through an end-to-end example. - - This should be written as if it is documentation of the new feature, - i.e., consumable by a user, not a Flow contributor. - - The code does not need to work (since the feature is not implemented yet) - but the expectation is that the code does work before the feature can be merged. - -### Compatibility - -* Does the design conform to the backwards & forwards compatibility [requirements](../docs/compatibility.md)? -* How will this proposal interact with other parts of the Flow Ecosystem? - - How will it work with FCL? - - How will it work with the Emulator? - - How will it work with existing Flow SDKs? +A reference implementation addressing parts of this proposal can be found in +this [PR](https://github.com/onflow/flow-evm-gateway/pull/11#issue-2006802251). ### User Impact -* What are the user-facing changes? How will this feature be rolled out? +The Flow EVM Gateway is a standalone service that complements the FlowEVM +functionality. It should be released at the same time as FlowEVM, in order +to allow for better beta testing. ## Related Issues -What related issues do you consider out of scope for this proposal, -but could be addressed independently in the future? +Dockerizing the gateway would be nice, in order to allow developers to easily +start using it for development and testing. ## Prior Art -Does the proposed idea/feature exist in other systems and -what experience has their community had? - -This section is intended to encourage you as an author to think about the -lessons learned from other projects and provide readers of the proposal -with a fuller picture. - -It's fine if there is no prior art; your ideas are interesting regardless of -whether or not they are based on existing work. +As explained above, the [Geth](https://github.com/ethereum/go-ethereum) client +was the main source of inspiration for the work on the JSON-RPC server. ## Questions and Discussion From c8a550af360f406f95c38d78711f68ac58b9ff3c Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Sun, 7 Jan 2024 18:54:29 +0200 Subject: [PATCH 04/17] Fix some comments and display of images --- application/20240103-evm-gateway.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index bbf14af3..2c768d95 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -48,7 +48,7 @@ environments. It uses JSON (RFC 4627) as the data format. ### Existing RPC Server implementations -The Geth client offers a re-usable [RPC Server](https://github.com/ethereum/go-ethereum/blob/master/rpc/server.go) implementation, which we will be using in the implementation +The Geth client offers a generic [RPC Server](https://github.com/ethereum/go-ethereum/blob/master/rpc/server.go) implementation, which will be used in the implementation of the Flow EVM Gateway as well. ```go @@ -75,13 +75,12 @@ func (api *BlockChainAPI) ChainId() *hexutil.Big { func (api *BlockChainAPI) BlockNumber() hexutil.Uint64 { latestBlockHeight, err := api.Store.LatestBlockHeight(context.Background()) if err != nil { - // TODO(m-Peter) We should add a logger to BlockChainAPI panic(fmt.Errorf("failed to fetch the latest block number: %v", err)) } return hexutil.Uint64(latestBlockHeight) } -// Create RPC server and handler. +// Create an RPC server. srv := rpc.NewServer() apis := []rpc.API{ @@ -100,7 +99,7 @@ for _, api := range apis { ``` The above code snippet instantiates a new RPC server and registers a -service object under the `eth` namespace. +service object (`*BlockChainAPI`) under the `eth` namespace. The server can now accept HTTP requests with the following body: @@ -108,7 +107,7 @@ The server can now accept HTTP requests with the following body: {"jsonrpc":"2.0","id":1,"method":"eth_chainId","params": []} ``` -and respond with the following result: +and respond with an appropriate result, such as: ```json {"jsonrpc":"2.0","id":1,"result":"0x29a"} @@ -122,7 +121,7 @@ on the registered service object (`ChainId`). Some sample HTTP calls to the Flow EVM Gateway's JSON-RPC server, can be seen below: -[Flow EVM Gateway JSON-RPC over HTTP](./2024-01-03-evm-gateway-resources/flow-evm-gateway-curl-http.png) +![Flow EVM Gateway JSON-RPC over HTTP](./2024-01-03-evm-gateway-resources/flow-evm-gateway-curl-http.png) ### Supported transport protocols @@ -224,7 +223,7 @@ The main events from the `EVM` smart contract are two: To see the indexer & the events' payloads in action: -[Flow EVM Events](./2024-01-03-evm-gateway-resources/flow-evm-events.png) +![Flow EVM Events](./2024-01-03-evm-gateway-resources/flow-evm-events.png) ### Dependencies From bce3b32bc35d552f1529fb23176476c2443c9516 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Sun, 7 Jan 2024 19:44:46 +0200 Subject: [PATCH 05/17] Update FLIP content to mark it ready for review --- application/20240103-evm-gateway.md | 67 +++++++++++++++++++++++++---- 1 file changed, 58 insertions(+), 9 deletions(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 2c768d95..464760d2 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -8,7 +8,7 @@ updated: 2024-01-03 # FLIP 235: Flow EVM Gateway -> An implementation of the Ethereum JSON-RPC specification +An implementation of the Ethereum JSON-RPC specification. ## Objective @@ -225,14 +225,61 @@ To see the indexer & the events' payloads in action: ![Flow EVM Events](./2024-01-03-evm-gateway-resources/flow-evm-events.png) +### Storage Integrity + +While consuming events, it is very critical to make sure that they are processed +in a sequential manner, and no events response is missed for a single block. +If this were to happen, the storage index could end up corrupted, and we would +return incorrect data for things such as account balances, nonces etc. + +In the code snippet below, we specify a heartbeat interval of `1` and check +that each received events response is for the expected block height, before +committing any changes to the storage. + +```go +data, errChan, initErr := flowClient.SubscribeEventsByBlockHeight( + ..., + grpc.WithHeartbeatInterval(1), + // this will yield an events response for each block, + // even if it has no events matching the filter criteria. +) + +// track the most recently seen block height. we will use this when reconnecting. +// the first response should be for latestBlockHeader.Height +lastHeight := latestBlockHeader.Height - 1 +for { + select { + case response, ok := <-data: + ... + if response.Height != lastHeight+1 { + logger.Error().Msgf("missed events response for block %d", lastHeight+1) + connect(lastHeight, 10) + continue + } + // make sure that the response is for the expected block height, + // before committing any changes to the storage. + ... + + // mark the block height of the events response as processed. + lastHeight = response.Height + } +} +``` + +### Performance Implications + +We should have some end-to-end tests, perhaps with the usage of the Flow Emulator. +As well as some benchmarks, to assess the service degradation with regards to the +increase of the storage, the incoming requests and possibly the emitted events. + ### Dependencies The Flow EVM Gateway is a standalone service, hosted in its own repository, so -it does not add any dependencies to existing Flow core repositories. It is -build with the help of some Flow core repositories, such as `flow-go-sdk` and +it does not add any dependencies to existing core repositories. It is +build around some of Flow's core repositories, such as `flow-go-sdk` and `flow-go`, so it depends on their public APIs. Later on, it would be useful to expose the Flow EVM Gateway from the Emulator -as well. +as well, as we have done with the gRPC & REST Access API. ### Tutorials and Examples @@ -242,11 +289,13 @@ this [PR](https://github.com/onflow/flow-evm-gateway/pull/11#issue-2006802251). ### User Impact The Flow EVM Gateway is a standalone service that complements the FlowEVM -functionality. It should be released at the same time as FlowEVM, in order -to allow for better beta testing. +functionality. It should be released at around the same time as FlowEVM, +in order to allow for better beta testing. ## Related Issues +As with any service, we need to think about logging, alerting, monitoring, +storage capacity and throughput. Dockerizing the gateway would be nice, in order to allow developers to easily start using it for development and testing. @@ -257,6 +306,6 @@ was the main source of inspiration for the work on the JSON-RPC server. ## Questions and Discussion -State where you would want the community discussion to take place (choosing between the PR itself, or forum post) -Seed with open questions you require feedback on from the FLIP process. -What parts of the design still need to be defined? +- Do we expect to have one official EVM Gateway run by the Flow team and + individual developers/team can also run their own? As is the case with + Access Nodes, for example. From 61f7b20a3a9e66374e3c125cafa967e25eee4a55 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Sun, 7 Jan 2024 19:48:13 +0200 Subject: [PATCH 06/17] Fix broken spaces in go comments --- application/20240103-evm-gateway.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 464760d2..9fabf66d 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -240,8 +240,8 @@ committing any changes to the storage. data, errChan, initErr := flowClient.SubscribeEventsByBlockHeight( ..., grpc.WithHeartbeatInterval(1), - // this will yield an events response for each block, - // even if it has no events matching the filter criteria. + // this will yield an events response for each block, + // even if it has no events matching the filter criteria. ) // track the most recently seen block height. we will use this when reconnecting. @@ -256,11 +256,11 @@ for { connect(lastHeight, 10) continue } - // make sure that the response is for the expected block height, - // before committing any changes to the storage. + // make sure that the response is for the expected block height, + // before committing any changes to the storage. ... - // mark the block height of the events response as processed. + // mark the block height of the events response as processed. lastHeight = response.Height } } From 65222acbd7c5c17d3ce16f96be944212691c9609 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Wed, 10 Jan 2024 09:54:03 +0200 Subject: [PATCH 07/17] Add a space between FlowEVM to separate into Flow EVM Co-authored-by: Gregor G. <75445744+sideninja@users.noreply.github.com> --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 9fabf66d..918047f4 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -13,7 +13,7 @@ An implementation of the Ethereum JSON-RPC specification. ## Objective This proposal outlines the design and implementation of the [Ethereum JSON-RPC specification](https://ethereum.github.io/execution-apis/api-documentation/) into a standalone -service, which aims to provide a gateway to FlowEVM for developers and the +service, which aims to provide a gateway to Flow EVM for developers and the various existing tools. ## Motivation From 8c434ce910e82dae4884b315e41f12b2b1ee6b53 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Wed, 10 Jan 2024 09:55:04 +0200 Subject: [PATCH 08/17] Add a space between FlowEVM to separate into Flow EVM and remove reference to MetaMask Co-authored-by: j pimmel --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 918047f4..b8911028 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -28,7 +28,7 @@ built on top of the JSON-RPC API. ## User Benefit -Users will be able to make use of MetaMask for connecting to the FlowEVM network, +Users will be able to use an EVM-compatible client to connect to the Flow EVM network, by providing the network name, JSON-RPC URL, chain ID, currency etc. Developers will be able to easily retrieve all sorts of information from FlowEVM, such as block/transaction/account data, as well as define filters and subscribe From 595b65b9797e8ad8886aa70c475209bc6f51db52 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Wed, 10 Jan 2024 09:55:41 +0200 Subject: [PATCH 09/17] Add a space between FlowEVM to separate into Flow EVM Co-authored-by: j pimmel --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index b8911028..d67fd9d5 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -30,7 +30,7 @@ built on top of the JSON-RPC API. Users will be able to use an EVM-compatible client to connect to the Flow EVM network, by providing the network name, JSON-RPC URL, chain ID, currency etc. -Developers will be able to easily retrieve all sorts of information from FlowEVM, +Developers will be able to easily retrieve all sorts of information from Flow EVM, such as block/transaction/account data, as well as define filters and subscribe to changes regarding the previous entities. This will allow developers to focus on building new tools and products, without having to write custom indexers from From 0b916d9c934012a365f1b09abd84afaa7995ec00 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Wed, 10 Jan 2024 09:56:22 +0200 Subject: [PATCH 10/17] Add a space between FlowEVM to separate into Flow EVM Co-authored-by: j pimmel --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index d67fd9d5..fe01218d 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -149,7 +149,7 @@ Quoting some content from [EVM support](https://github.com/onflow/flips/pull/225 > To better understand the approach proposed in this Flip, consider EVM on Flow as a virtual blockchain deployed to the Flow blockchain at a specific address (e.g., a service account). EVM on Flow functions as a smart contract that emulates the EVM with its own dedicated chain-ID. Signed transactions are inputted, and a chain of blocks is produced as output. Similar to other built-in standard contracts (e.g., RLP encoding), this EVM environment can be imported into any Flow transaction or script. This is made possible using selective integration of the core EVM runtime without the supporting software stack in which it currently exists on Ethereum. For equivalence we also provide an EVM compatible JSON-RPC API implementation to facilitate EVM on Flow interactions from existing EVM clients. -Since the gateway is not the only entrypoint for interacting with FlowEVM, we need +Since the gateway is not the only entrypoint for interacting with Flow EVM, we need to track every event emitted from the `EVM` smart contract, consume it and build an index which reflects the latest state of the chain. From c56e73e768f3ccdb7c49ef4d81555437790a2de0 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Wed, 10 Jan 2024 09:57:15 +0200 Subject: [PATCH 11/17] Add a space between FlowEVM to separate into Flow EVM Co-authored-by: j pimmel --- application/20240103-evm-gateway.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index fe01218d..549bdcc7 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -288,8 +288,8 @@ this [PR](https://github.com/onflow/flow-evm-gateway/pull/11#issue-2006802251). ### User Impact -The Flow EVM Gateway is a standalone service that complements the FlowEVM -functionality. It should be released at around the same time as FlowEVM, +The Flow EVM Gateway is a standalone service that complements the Flow EVM +functionality. It should be released at around the same time as Flow EVM, in order to allow for better beta testing. ## Related Issues From d1c2d9f21e37f5bc0ceb7fc1331f97c61734e390 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 24 Jan 2024 11:51:43 -0800 Subject: [PATCH 12/17] Fixed incorrect FLIP number --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 549bdcc7..243b37cc 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -1,6 +1,6 @@ --- status: proposed -flip: [235](https://github.com/onflow/flips/pull/235) +flip: [243] authors: Ardit Marku (markoupetr@gmail.com) sponsor: Jerome Pimmel (jerome.pimmel@dapperlabs.com) updated: 2024-01-03 From 948cf2c25a385508c84f21cdc24cb28668bbac76 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 24 Apr 2024 15:17:21 -0700 Subject: [PATCH 13/17] Update application/20240103-evm-gateway.md status --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 243b37cc..3375ff5e 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -1,5 +1,5 @@ --- -status: proposed +status: implemented flip: [243] authors: Ardit Marku (markoupetr@gmail.com) sponsor: Jerome Pimmel (jerome.pimmel@dapperlabs.com) From 0d74ad61354309038c82148301c00bf1aaffcd65 Mon Sep 17 00:00:00 2001 From: Gregor G <75445744+sideninja@users.noreply.github.com> Date: Mon, 20 May 2024 13:45:17 +0200 Subject: [PATCH 14/17] add author --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 3375ff5e..5c658bdb 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -1,7 +1,7 @@ --- status: implemented flip: [243] -authors: Ardit Marku (markoupetr@gmail.com) +authors: Ardit Marku (markoupetr@gmail.com), Gregor Gololicic (gregor.gololicic@flowfoundation.org) sponsor: Jerome Pimmel (jerome.pimmel@dapperlabs.com) updated: 2024-01-03 --- From 555b6d52fe69819caee12fd168ae401ef9359c19 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Thu, 24 Oct 2024 12:09:45 +0300 Subject: [PATCH 15/17] Change status to proposed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bastian Müller --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 5c658bdb..39c4790c 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -1,5 +1,5 @@ --- -status: implemented +status: proposed flip: [243] authors: Ardit Marku (markoupetr@gmail.com), Gregor Gololicic (gregor.gololicic@flowfoundation.org) sponsor: Jerome Pimmel (jerome.pimmel@dapperlabs.com) From ea88510d7f21c3f5158d03d53d4c6d1707eb1371 Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Thu, 24 Oct 2024 12:10:26 +0300 Subject: [PATCH 16/17] Update flip number MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bastian Müller --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index 39c4790c..c1b973fa 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -1,6 +1,6 @@ --- status: proposed -flip: [243] +flip: 243 authors: Ardit Marku (markoupetr@gmail.com), Gregor Gololicic (gregor.gololicic@flowfoundation.org) sponsor: Jerome Pimmel (jerome.pimmel@dapperlabs.com) updated: 2024-01-03 From d3b10d7b170bc21f7dd25906b2ccf2dcfd99471c Mon Sep 17 00:00:00 2001 From: Ardit Marku Date: Thu, 24 Oct 2024 12:10:50 +0300 Subject: [PATCH 17/17] Update FLIP number MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bastian Müller --- application/20240103-evm-gateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240103-evm-gateway.md b/application/20240103-evm-gateway.md index c1b973fa..d88fff82 100644 --- a/application/20240103-evm-gateway.md +++ b/application/20240103-evm-gateway.md @@ -6,7 +6,7 @@ sponsor: Jerome Pimmel (jerome.pimmel@dapperlabs.com) updated: 2024-01-03 --- -# FLIP 235: Flow EVM Gateway +# FLIP 243: Flow EVM Gateway An implementation of the Ethereum JSON-RPC specification.