From 30c944f778afca950ffe691bf66a21dca79ebc78 Mon Sep 17 00:00:00 2001 From: Hamy Ratoanina Date: Thu, 30 Nov 2023 10:04:08 -0500 Subject: [PATCH] Remove bootstrapping (#1390) * Start removing bootstrapping * Change the constraint for kernel code initializing * Update specs * Apply comments * Add new global metadata to circuit methods * Change zero-initializing constraint * Apply comment * Update circuit size range for recursive test --- evm/spec/tables/cpu.tex | 12 +- evm/spec/tables/memory.tex | 16 +- evm/spec/zkevm.pdf | Bin 303122 -> 295639 bytes evm/src/cpu/bootstrap_kernel.rs | 225 ------------------ evm/src/cpu/columns/mod.rs | 3 - evm/src/cpu/control_flow.rs | 5 +- evm/src/cpu/cpu_stark.rs | 11 +- evm/src/cpu/halt.rs | 10 +- evm/src/cpu/kernel/asm/main.asm | 14 +- evm/src/cpu/kernel/assembler.rs | 13 +- .../cpu/kernel/constants/global_metadata.rs | 9 +- evm/src/cpu/membus.rs | 5 - evm/src/cpu/mod.rs | 1 - evm/src/generation/mod.rs | 19 +- evm/src/memory/columns.rs | 6 +- evm/src/memory/memory_stark.rs | 57 ++++- evm/src/recursive_verifier.rs | 27 ++- evm/src/verifier.rs | 9 +- evm/tests/empty_txn_list.rs | 4 +- 19 files changed, 150 insertions(+), 296 deletions(-) delete mode 100644 evm/src/cpu/bootstrap_kernel.rs diff --git a/evm/spec/tables/cpu.tex b/evm/spec/tables/cpu.tex index 3ac4a079..401081d3 100644 --- a/evm/spec/tables/cpu.tex +++ b/evm/spec/tables/cpu.tex @@ -7,14 +7,12 @@ This section will only briefly present the CPU and its columns. Details about th \subsubsection{CPU flow} -An execution run can be decomposed into three distinct parts: +An execution run can be decomposed into two distinct parts: \begin{itemize} - \item \textbf{Bootstrapping:} The CPU starts by writing all the kernel code to memory and then hashes it. The hash is then compared to a public value shared with -the verifier to ensure that the kernel code is correct. \item \textbf{CPU cycles:} The bulk of the execution. In each row, the CPU reads the current code at the program counter (PC) address, and executes it. The current code can be the kernel code, or whichever code is being executed in the current context (transaction code or contract code). Executing an instruction consists in modifying the registers, possibly performing some memory operations, and updating the PC. -\item \textbf{Padding:} At the end of the execution, we need to pad the length of the CPU trace to the next power of two. When the program counter reaches the special halting label + \item \textbf{Padding:} At the end of the execution, we need to pad the length of the CPU trace to the next power of two. When the program counter reaches the special halting label in the kernel, execution halts. Constraints ensure that every subsequent row is a padding row and that execution cannot resume. \end{itemize} @@ -26,7 +24,6 @@ but change the code context, which is where the instructions are read from. \subsubsection{CPU columns} \paragraph*{Registers:} \begin{itemize} - \item \texttt{is\_bootstrap\_kernel}: Boolean indicating whether this is a bootstrapping row or not. It must be 1 at the first row, then switch to 0 until the end. \item \texttt{context}: Indicates which context we are in. 0 for the kernel, and a positive integer for every user context. Incremented by 1 at every call. \item \texttt{code\_context}: Indicates in which context the code to execute resides. It's equal to \texttt{context} in user mode, but is always 0 in kernel mode. \item \texttt{program\_counter}: The address of the instruction to be read and executed. @@ -34,14 +31,13 @@ but change the code context, which is where the instructions are read from. \item \texttt{is\_kernel\_mode}: Boolean indicating whether we are in kernel (i.e. privileged) mode. This means we are executing kernel code, and we have access to privileged instructions. \item \texttt{gas}: The current amount of gas used in the current context. It is eventually checked to be below the current gas limit. Must fit in 32 bits. - \item \texttt{is\_keccak\_sponge}: Boolean indicating whether we are executing a Keccak hash. This happens whenever a \texttt{KECCAK\_GENERAL} instruction is executed, or at the last -cycle of bootstrapping to hash the kernel code. + \item \texttt{is\_keccak\_sponge}: Boolean indicating whether we are executing a Keccak hash. Only used as a filter for CTLs. \item \texttt{clock}: Monotonic counter which starts at 0 and is incremented by 1 at each row. Used to enforce correct ordering of memory accesses. \item \texttt{opcode\_bits}: 8 boolean columns, which are the bit decomposition of the opcode being read at the current PC. \end{itemize} \paragraph*{Operation flags:} Boolean flags. During CPU cycles phase, each row executes a single instruction, which sets one and only one operation flag. No flag is set during -bootstrapping and padding. The decoding constraints ensure that the flag set corresponds to the opcode being read. +padding. The decoding constraints ensure that the flag set corresponds to the opcode being read. There isn't a 1-to-1 correspondance between instructions and flags. For efficiency, the same flag can be set by different, unrelated instructions (e.g. \texttt{eq\_iszero}, which represents the \texttt{EQ} and the \texttt{ISZERO} instructions). When there is a need to differentiate them in constraints, we filter them with their respective opcode: since the first bit of \texttt{EQ}'s opcode (resp. \texttt{ISZERO}'s opcode) is 0 (resp. 1), we can filter a constraint for an EQ instruction with \texttt{eq\_iszero * (1 - opcode\_bits[0])} diff --git a/evm/spec/tables/memory.tex b/evm/spec/tables/memory.tex index 2a45096a..f5cf4b02 100644 --- a/evm/spec/tables/memory.tex +++ b/evm/spec/tables/memory.tex @@ -14,9 +14,10 @@ Each row of the memory table corresponds to a single memory operation (a read or The memory table should be ordered by $(a, \tau)$. Note that the correctness of the memory could be checked as follows: \begin{enumerate} \item Verify the ordering by checking that $(a_i, \tau_i) \leq (a_{i+1}, \tau_{i+1})$ for each consecutive pair. - \item Enumerate the purportedly-ordered log while tracking the ``current'' value of $v$, which is initially zero.\footnote{EVM memory is zero-initialized.} + \item Enumerate the purportedly-ordered log while tracking the ``current'' value of $v$. \begin{enumerate} - \item Upon observing an address which doesn't match that of the previous row, if the operation is a read, check that $v = 0$. + \item Upon observing an address which doesn't match that of the previous row, if the address is zero-initialized + and if the operation is a read, check that $v = 0$. \item Upon observing a write, don't constrain $v$. \item Upon observing a read at timestamp $\tau_i$ which isn't the first operation at this address, check that $v_i = v_{i-1}$. \end{enumerate} @@ -64,6 +65,15 @@ Since a memory channel can only hold at most one memory operation, every CPU mem Note that it doesn't mean that all memory operations have unique timestamps. There are two exceptions: \begin{itemize} - \item Before bootstrapping, we write some global metadata in memory. These extra operations are done at timestamp $\tau = 0$. + \item Before the CPU cycles, we write some global metadata in memory. These extra operations are done at timestamp $\tau = 0$. \item Some tables other than CPU can generate memory operations, like KeccakSponge. When this happens, these operations all have the timestamp of the CPU row of the instruction which invoked the table (for KeccakSponge, KECCAK\_GENERAL). \end{itemize} + +\subsubsection{Memory initialization} + +By default, all memory is zero-initialized. However, to save numerous writes, we allow some specific segments to be initialized with arbitrary values. + +\begin{itemize} + \item The read-only kernel code (in segment 0, context 0) is initialized with its correct values. It's checked by hashing the segment and verifying +that the hash value matches a verifier-provided one. +\end{itemize} diff --git a/evm/spec/zkevm.pdf b/evm/spec/zkevm.pdf index d0190e91b65481868e535434a2cd93d476105cf0..cb63d5f2882de637aa883eff07338ddd639c9639 100644 GIT binary patch delta 108363 zcmZ6xQ*fY77cLsx6Wg{k6Wg|J+iz@J6WbHpoLCdvwspS!?>gt=RCQOauIldUt6q$*|?dLQNd_{SmkwTd?6ISytPM zwWVbV5nYmmd?Q6g--z=L>Bas{iUeQ3%HzUXw3M)ltd5+YZXHTIJmt(k6cs}ta+dab zyljcv52A2mH$Q9i{M1f1nIZAfmFbqU2caZfe+{f#e9YLfW&4zkiTs6C^I^azHO!9` z^(mQtOecB=?*HjF8Q^IcLEh*41^J1*X-=y?=YGO)L9<9#I@6)TQDQ`rDB+JabIF*j zCi1hQyLmiYEb$=(HXe51b@lcl$@eTln!8BD@zuwxqOysQ&v8Hr`ZrfMOzxn;^B`}< z@Ar6wC4K1$O!$as8Q|)CHp`;PnAQDMN+#P%v~6evc(6j9xoRJR8pDY@HLv?)*`AoV z)*okvpMcL-vtF^keNx3Pg6vx>730-ajFWHH?ON3ibW^;cEnG7^CQ945i&d4lKAU>T z6-6Bz$vJ4;RjH(>R5V)%&E2&=BDf&#FG$K{DJb3*b684BwJX0u(4lf)-qb$9zg{b- z;mqvQ$=kqDl2Z}bz}b0Nl8qp!flI9k`*m^j&2zddR;{5uUMa9J_+NFHR%nCD3*ozv zBC!+$=rjqc#?R+IjAGKx#*qjqV%fL}Jj-m)Iqx~UFsuhkg5r{Bg#5}sqQ$k)K&2G+ zNhGuSP|{Kol8P1nW+j+PYC~nD6sOLDmoOWnDc022`o{1R5?UcDGcZdB1JL}K$@Fia z{UMxShBr87V}eUBTYZL6m$)}tI|$|UDLB^PF+2BsGMK(SBQX3#(U`ve5iAER0%hF@~hT8L?nBN&t%C zKV3ptb309tMsYzfF_s+Oe%K&H7(>o9NM<|;8bxB0P<$8&qv``3W}QK>42I6AE^Hzw z$VyY+DK^8Wa|(Gs7$CtXSX3CqB|sJ?hI2opck0F}Ny9Hyq%MQW3?rj4C zX$NC?^pyM3FoTJYoUrmXNhjnIKRN3zgC6gLF_R7L45<~xm+vAv*w4&F= zADl5$L|!Cw9kC9nfQ->?{MeO|QuSJcaaaFjojI(QWYL`Yl(!bQCbx1HcyE)lu^%Ck zegcO^A07LFv_B3@Ff?4?1?|}U65d9fdpHr}5^;~fjQlF(-)xBqGz~G#hxBk|9B;79{qWH*{{??X)kvE zZcmYAF?Nr<`@JL3&%;rU;^rG(Cb}%L{3elJmOEO&=`=(-y+cplE?Cv1cx>WM3&T&A zpv23+Q8$G^up3NYbajz0+JdoXHLwlZI{3{GQ%&_y)pkeVF_4SpOS@CDY}l2@Lu(0o z6)MV41H-bnazn3H++*@|B@eo}cK+2tPhZeOCcAdw!-XhfLvW8*Z@Q5&9=FdbQMIwX zDya=v|J$)DpWZ5!B|5C9pd(j0eMKvAtmGTa)&^d%4kz!y)1uBnx72E%i{-H?l))K+ zETzOylycM^DED_{d?Qtj-5|wJ(0ZLux}jLQkp1=7*@oNMSZ%(8F1`fUOl@b)DrXC( z@NsPhQx)IH)!;hgn#R(5gg%}*-kyUGxApkq?!o*=Tmqj2^Tk`h8fJf_ns}ARR~uE+_(5p2UPJj)-@l9z>@A5r z-N1j^^i|!rHG#1eZ-`?W#V`&Xc}31oH$Aq7<}L%pzt`t&fBqT!xg~WT%OQOPpTc7R z+(fq*Ba`87raGmRnnCL~M@sTjRAhI+CI!0db~|+TdFvg&gqcf_HSZ+g@JJTo8lYhU=H%iS88}!xALt=fBQY`cy1BVae1U=SWEb00)riT5MJYG zg4CV&ugLkjKpVQbZ|e2kP!O97$=9H!E1|>Ao-y`r*tSq;a!zMMbk-6*ph>6vc$D1PAe+GL@YVBoO=F9o z4u5?{z(fi`r;^b>ynfp*`L2w1m6@`uCAzoSLlm|kqSR`RRMbAwKG4zP6%9xkvEO;kNtn}bAsc!<0VmnGY1E=f zL*GgSOG}9+HJC=Alk1thWVE(Pda2FK?`rJFUkIV7V~&O883 z{P;Lf{yvaK1l^J%Fa~9#kO*MKkmU?h?*V}x-4dm7e zM#2F*x*xcYm?~+d*Y!C=bNfn8P}76K%O!$BzE#G0XPR6vWskmk#+MrTsF^W&e-nuY zX`r0KFsa;|OKTPeKvW9kRyC&PnIeFnTUwjfQ~V-urj~dN9I7Fub7%ZjaC$|w_=5)d z2OGJ#_TFcQbtn4tBU{4P{lC!088pf!pc@v`k*AU?342lh(qVY!F<%MtLsc^U@Rt;E z6$Ixo1$n|5t32$`<)F3Qlek8BhKk{HLT&^;E;>PNw6QMjGF!z;OIMXbzhQy3c;_Fv zW3XHI^T$K3pB{hc=il!2bwR>eR6*R;v0al7CuV90XqeQV%FGR^)m`Ypd42Vp6OqwF z?f?1eOsT0elja_+yab>}f=0EKoapJR(+WW#_6C;H&RA7;F%e%!cj%SLsPIcqpu-PG zpp1$*%|6c*Q{R`$$vom$w!{Ih#vsnh8Hy2|Jl)ZLZXLswmeHC1F%LZY7#1y>H09jZaw z-)ellS!q_r3JA+;EhXZ*Ca04%S&_V?$2l>&kpT-oIM$U((G-+Rwm2*N)(epEvHCf5 zC0U@loKYM!%~=jK#uF^P0(n>}ror4gckxN@+ie57!;daDU?lb&?OD}MG?^xY}6@57@B4t1nY z`Zz3nLt^MCRVUA3P$m2SUb?W;iTmoj(M*69d0Z8 zmqS4p!AkJl9od4B{Dj>d_xo5rJus!k*-Oe=0gFZLuW+{TF1GNw!SW-W1+JV8S?0r3DAn=;q9g~{{atQpNC&8O|9K^f zh0s;tU{=dqn*N=l4l9u684*;baf1;dA??H7d2Xq&#X)5-ktHj{{>6A-uYQsg0EXe& z;n8U4>`82)zELfGo&g-;F4IXg_G?{E4Yd4T-Y-BUPki`JUeSu3FG- zzH&ot;fBo0o5S7Zl2fdG6MWtQp$|vC2-|nz{iye>)2}-QWF7F|;4hZN$6jVDX;6W- zjz=n921fhK=@1z04tI{@AOs#|WX@${>iimENWNy)&i`azF!sP1b7!}%vqt=I)0GJD zio#tKM?7vl?>Xs4W1ohOvt3w>-NxF5+%u0SL7oEqmmgd0dYBd6xIV5-$G**izsKc> zzkZW)js_z|aZ`OJuBvf^ga)MtytNOJlRcZ`#B_=Wb=FB|Dq4Yw7{4=qz_T2x(EXn_ zmCkGriqZIrF#!Y0(Kt-#fdIzC+Q?5w4+F~CXv0U7hjG+4W_8JoKjoEZ{hPzxxmBwEz5V%Gz-9B(!(Ojqm@f*J3P(zBmCM8Vxa%9{t0t zQb=ax4`dbh3{BI81Y8Pw2oLn%3d6u(TD~NPbMv&vXp*bIoS=F?frm2LcL@}*aS(mf zbsO)LDRvVtoOTA!tN!`ZWvujQS;SsS14ovJNA_RePDCiAdG9nwea4U0zB8Q!^cD2U z5U|#R-UH%s4+{K{EGBXo3mr3C!J$0JtHOhH`Us5wuC|>3tP04PCsqVWwl(Gyb;)sL zWu7do5JT}eHI=D{OO&Y5C%yo9Mzu#V_$*!5te~W5c^b>7?%>d zhs@PD#HxrKI1nLZ?RT^$O1fC+w4D!l{;0Eulm(cr$hO^Y_s)ZQUwyy^LNu6AQp|>ni5=X z5=(-3JIFVaoF?TzK83RzrPx_^aQ!TV%LoE&u$Z$%CebTgvjK8uP$s$+C?JD4)D$3Q zZJ-p&7Kq96IPs>>A>;t;$_BWyRIRK*#I~X@2i&#_PHPt7-__doX&zYVTF+V1zK<9`YK{|bel0;j-7 z@qP02|Ed1pV)ee0>h3>|xO*|k)Oq_cqp{pu6L!tD-g%yup~E{}VEUP^_WA>sq9iutIOLTP z7xXu7E7J%Vpi`ut#lmX(m}F3774W=-kh`*i@S*}nagKJyW0=VW^;jYO!V7=3`wBwX zv#@4v9GOU!o+W@Ls>YB;$+V;p=3eB{qZ^3GLb+&j&^+Up*%K8G&|or|#B+9ZEs&_& z6XiuX-*LP$w7EoC6Pg(Z7TvY2-#g1o*(Bt$Q}-X8^t;=Z8_!oE)?hVWLI*!`VJ$%8 zjpZe`wlw!PeDp$k+a1&DjZG)j6Z3IdDb@_dNf0dZI0*nfLH2SR#eGi+#P~aVtibql z`rQ+>(qtvHGWG6fTsxjt%=W{~08HjwTeQ(cjXDQjdX1$2v(7{CsC3)rV9#T~N%GE0 zth#u$VQ~FRZS5FRf2L_jY$5e-ThlDaJbhE{ByS#YD1ul#nMV05ObqTJ2Su6S$Jz$F zu?Whz3ozeGuVSktGdHqJr2Ug9iPTEnh7FWqM=4}+)ijTQwgEydmb%XzOuMfL=5=Az z1!s!D7!jl}?(f3CMnMwky+$0O&%%>n%bjy;R>VU=TBgBvP8c> zrnaw}tIh0DSesd>OOSEBf#V$ULJKj7Uxae}ZU9Kdr6owk(;}$pX>iv(v{wo8ku=eR zRd4NQ$CFUr|2NJ^!TD+|v%3&lB#-WawqX-Ub*{vQKJqCGl1K?`9Q&d(f;u@I8?8bK zCDHXWCeAETqJLy25;R`86KFq1Vj`|HL9A(q|9G`lEofrG*h!zHd~Bk#7WM+bT#UB^ zR0@T-6{69WL=1JgFIeqKvz0oD8YXVZQcO>AtR3iC1=vEM#ne#a5RAIr1C>J)-yXVa zJI_r0E~K{fiXAyHVWn@YZYYv%!zsfZ-IO8*Q?mII#fA1uFz;?oR#3(gULyXQpY={7 z2C~mqerWE!Li^mc@(Y;ma|b@)W^@0WCljpZcbkB6+JO>HeOgG=w85E(*VGh_Uo>BJ z^+eU?&#eo_mflT`l&PAE3xB!LEz>M&JUFJ`ln;WCRoRpeQl80m_7Z~?K%Aks45xVF z`VWWl^UFvN+smgR0fsiSOFO#~riQ=Tan%iX*A0JvCDpL1+=qwM0;z3pqk+V^$5_FC`s#Vt(pauX6AR;LvmR_rQV{~f_AP7_@SfqZnU;SEN) z%*vP~HWjwwmZMTLF2YfG;-dcgJkee+N|P|L%ERwtxOQLLRL5@9pl` z8m@|-u-mW&2n^A@@&{;ofcF^(pJ)bOV1tMIbNiHU2n5KQnr#{nt6cWw9|2h0b!bkIdq>E5y zmy?ui$U6FgLfU;y&IW^1QM>8X^bPWU5AB@{s`w+B%LoIUnVC7=$rO|Z(3DAD=S1ka zuDhwZldXwZ{ME`X_w&?*Qf~8U_MtDejnl$xe2Gl|co~aWkWZIm-1X)V6Bz487chZ&6H`Ve0^6Ig|9VUw zJEgw4-a9SoiVVrf1g4b#0ILE4h>=Xjr!gz(*#cb-+ufes+h6V9UyOpy`S(lys_)1} zK$yVjaZg^ekiF=c464MxFyeLciicooO7MY8c^Dj@cRNC_vz~bZZ4u){BJoJkKOl=o z{#nwPcaYKDzVCFm6Ru<-d84;uOn!;QL%jlLmyBrbX4_({H?k5Tz*a3t!R(`Yss46l zlzP;W>(*7k;$oNR!%-lFciH{^e$}@BUF1uVm#DhFlKRz8`%jMRsVwapX&-HNEF?TJ z*i4(VT8HpLF1gLX7>Jn@Dm?@~ZVReLh-dye$t4Ozd7WJj?g#06ew4Ww4Cp`0kCn@! zK14%8Rmi31ZtI&TfRVpqxq_Szr1~G`#5y?)v4yl!e${0=Nb9P!+R_IZUSUIA8yqQo_U`XeG&rSee@3j#Hd5WVVx9epVc_-$p4xBNba zZpO%Yt_QoF1cqeWv3|-5biTAUNCP7sgim((mXb47~9Q zFUi|*@H-Ere@_HTQKh)@ZWiD)cRfqptQbrcK5#@K_5P#xd>(hO11=eK~|T2 z55l*G>^SK%0NR|5YZr&A)AC`EIx$|Wc_L}L(LzaZ6W(Bm7NnpkyZLP zDKwfF;pJ$y@`qfMc>p_^lPrC)(OZw7lvbpRT3P}bgheL&w_%)3pQ$(ASHa^f+!_6p ztP3j}1zTgl9?YrAiABt!B!#WLjozkYky?Zj1FY^2yM&1UKO#v>%6|Jmnt{-D#``A7 zUpe;`z+X2<<60=2(S8%kXhu*pkx1iWcpS`eTAW3 zgX_^NUt>UGXX2aGytz^gkio%UBp4G+A*d)+Z}aL(k)(tW{w}xT#mufd{imnwar7T& zQbUnyMV9k1CJ2fej?z-irXIzks?hBgy{HEb117*3(xc+6h4#ll?w?A&rEFK63a?F1 zM!#Y4wn&AAPX@QD+EA$c3C-f(L!&PyK|#$UWH8`SqcNaS|5af^v&Ao4*ZgNuNnTXr z2ij9S)9Mku?aT5oX{Q)YVA@k@2EL5UHVCCBzOm;eRUg$)Z8ETlT9}}%b}O3dTDAGT z0iWeI>gS7cf+h4eWKeq7|7Mq@gkbup%*wg0QY_G zE%k$`~dksnbK!J98jv4L>Cf+R})X^6|Im6N^1#MHX9fA)=L9Ugg7Xn+jQMGiY>7=CSsuMktfFGcwedYeB(`VNv1fJ^GaKdRg^{Q?iQG)+9uLrNh0%z|OCJwBqU;2_l` zp_}@pvm*KLackbEe}bo8%}CHRjtWFc9Fkn{z=h8ONvuT8!Z3@O(;!`_UW;$jvnRz% z?%VX()aI^OeoqhZ$}&RyW}a^xKw2nhOrw}^C(&}n(A^GPiRrrHvGs{C1!}@0%4r}+ zX^kuJcpqv1`YmE}Dq;WOQ^KA`j$+z}IQwi4#s?vIxf41{c4o57h>;_Z-%07S=%mNY z4dt|MwHKa-eZT#JCuQ8qrhC%YUU)v4qb}xz?tM52?@uv)agK4m(5P!t<$ToOLmbCd zBYKE^DeM;+_`LB#_3*H<18xTrVHWS%MGRP zl(zUWUd_(w^8^sK+edD`J&P&wEQk8U{%z9nX`;Ugq4A6yuj_#gf6D1)39p7rp^uB% zitSE8g6;14KSt{A1Sa&;D>TA5t~2r)I`0P9V{n&3!;U!qT?wO$(uKoZZy8c%#4qI{ zYPo9W<&Sv;U6|O?TA1fB=1NrJ3RIC6e80%ugZhDso6f}%@HcXIjIaHg2il3ATl7tB zNwY7F;ZdA?eumWw=$&BwTDme%9BYKZ(!i zP2(l{Jg)co)_6V@g(xkW0#RT16aYgK)k2|7*y z-;*;5hlJOxf`jn;h`>ON`SnMH+@ZVMe)^SqR3?6_oks6qcf>gG>NUbVe3&!QU`vBv9I6wy!gxmI>3(oT zsmONbAG1p6)$IJTpYx$VOz>u=q^^NRt;N`~H6j9hT*s`ejmSqAJ|P+MJo(jN&x$dd zi1QceeROt;nKlss;rASiI1w8O|G63P)#E{sxGi>+H#_=09dImKb z)`nXbW>W`TC6aQNduO2ZgDOyD1Z8-(NV7qzzX(RlV@w!<&+p9@){Vs~AWuWGt@-~B zc1ei+dklRoT+98BUSo|eC-*K(Xd@_DIfCJFbVnh9JvP+^sB8tU=GE%O`kYCS=FnS$(fh`jW8QEK zm$)bzMC1|dW{{>;T5di}JpN)lO<*hJguHr_BpYKx-Uu7gOesPBxs|WO z>exlRNjmbt^7QciE$F26U~p8QB@sRqPr#`VMKEO4<#v+1aFpBOAlOk=E=EHa|K&@} zX`c%mcr}665Ho~#2WFAMa`iKUHL`VL6Z<(hi1^+T4=63(Sl5)&GV@pZyo>sUOt%cD za!K?bldFc}nUA+@E#(?S*w#JyW%y5o5?TsPE=h-pobTeDJiD;S>I{dx(UQmpI~++5 zp{S<~FKv=s*yP}mu3T(2zcev-GW_C?KZ$42CKX*@i52c&z_yAJAb^NEFf81529-U^uc43K3&1js*a4 zHriH(-N+x~&LHTGL;o4Lb_+;$;5(aa`fn=%NS9hIY`Vxqk|&$93#u%$>Ch+Zs*6C~ zpzmhN?{!FIa-o9JfnFVL;(?LC1BHvJq3fu@UCPt3sbJi%lj8zV^o@YxiIYzTPXI@^ z^OAPiYwCSVOmNG7*`4G{vB_gwkni%5AXOjg33^BWKE~?3PnxL_1R|!4!cNi>d#DG7 z9Xp|RIEJw3a`Lqa>&m^?##^?I#vD*f#GiyXrco-|;*&0ek&gYFdU=%v^W-LYS&Z%g z2?FWzn}{L;dtPUa`{-Fq8v7AmvlmzHJU8cNf=!%tjtvy7%?QmkUfjx6P_J&+6>_JD z4s1QGsH|+*?Aw)v#bwZyKdiwEVSzL{yFZ`JKAGtGKM97@>uG|hskn=wwH7FQ;(#DQ zwj%B&;sv+p$N>4X&p)h-H=WmyYhVs-t2SE}Zqf>hA%_wRtzeA{`eDo!vT66jNGn8x z7(LO@F-Oj)gk%hDoSFx_bi(I^Dj8^HgTZ`|mk~S>S5js9^2IF=YID57l@>h#`J;Ls z;Ae#tB&6^& z3(*jC3r=68ZwWfOTKBFZKTVPgLCyZ6jD7fKoSwp9|Z{nGVjXk*rYHhAXMM+t)YI)@*9XqG>g6}r_ zt3&U8YIanE@Qz4$&j5g4j9!?~Z_MR<0>!v#R+L36SAA}A=d?SeVkY4G`hHuVspk`h zavmHi_XLqn%+;#?{@Zp|QtgZgt-DHiAspfb^T8?y8p6s`HRO6xGvBl#x<6LbJy4t& z-ibt14!n=6`97Zq5r-PcjYm;&;tTchB}b~sUh9qNgTt;G1RhR`0_4x)$x&|Z$lrPh??ve0=|npmKU%oT~52< z9a>KGUtIee-{p*uK5xCSq=<+lkzrWNasudHSdjG{!La!ID}3ocoHV3nh@A^LFEAc5 zsbFyLLAL6w0Aq8=Q49%cNb=|}79c@2lY&jtS=3(3-SMKNoD4MFv_e}dRDhos0bRPJ zON@*GRmdpf=Q+CZk-&|J!_S~Bo2)kYhD!GPnNEY?UuN79s#EPEV{c)-_qYc2Sk#tm zJfzDrS^3gJi*GK4|Dc%ta{W>#ER$L6FAK}Z8|OEefD9bPgx++{FR+FO+=PA{Zwg4? zCGhPKme~RxkQ&)Tw!rOgafLr#usp|5l?1;ert5@DC~Bgb2U(57n#dMCBcPp?@qz}G z-yP+atdxw?26^BbR&e+3j)9)S!#@Lq{qb%>u|Kauv`}0iCU#G}s_zdA=6AI!Epc1L zP>L7mfmeQYRA#;kl>)4}wwreCxhjyD_{XChL+rltVh{%+f7sx;`uox5H|e<0gr$s+RqmfM0uJ(3Soke1MS3O)tqnl%l$62!SCS z8?^X+P*}HRzz~C*h&-;05PlW-f4MUH2LZy+$OI0sMv0xst*&@_Fz9-u{%fQ0UC^O} ze+FO@r)VprAM`LFyC8sYmc8(IhFve8ZLM&B>8XZX;RX}dudU$Vsm1hcDL%fh6YfKOVUkIDi%xQtL>(059IDP#Oe; zqHD(1$oE&LrygADcH|$6;w9RaopaLg$@cEy8bk(>qLi%bFXq39_Gs43Dr^Qr&@;C- zY|CH2QtxJ42|u17zSk!-401I^r||hjGJaOF(KN|m3Xqk|@nb#|(M!qIY`YGX-CdZ9)^?-$@pkrM4;Yqk$@)T6C@HU)dAT{$(Sj6jSWN3#bd?8Z2Y{{i|YZ)M$+0MRJL*9aZ2%vzk1JV zhmX>h*8seQV>*JH!-eqSaH_yIOreXx(?h30QeSUlvN( zpY%grU*K>}MR#9}@9g4FvuVSH50NHv*&P1q{W(J4AJoZ%4{>iEL>hjZhXJC`1y0UBO?{@51bI;Z&Rx>CdZKhJ#4X7gNaS@=yn(U_ceRb;>8U@pADJ0r_MmsV3B`@;%v#Qg z*ea=qHsyF5gRZuK3~V}uPaoxMU!;mdyMfn_=FT}PDS^f#7;d1Xo`pxx;Nqm_pXbpG z61jfX0o$pq5u26gj?$W`a=uR04JQUZeMsmmaUES}k%T|NPj8aV0wS(clS+`W#7_r> zZU`K2C>=46gF}9ZeLk`UvCb9WD?Y~_@;LC6gk8%4ntW#EM={)o=%AN;N7Hi5Uu8>7h zj}&g-94_UWbsjO$@OMHcDBb3=8&#D+AbRM$Kks?mm0NhY?*}`9-Y-bA2P(pu{Yt|B zuqZ!*!DE*`aP$fOoWQoRw#YURMxG6-G6RAcqxgzih=9%ozDWLamtNDjSH86G zGVZYtZHN@IKz(_-##-3*S6&aEq)8upvA0orWM!W&;D`l*^^U$LL^l&`K2JHpbQc}M z;pUEwzl6;DlXIW0DT-0b)HAeRR)YStuzy?e=)%nN4T@(H({MPoo-g1xlpU+iaF;Mv z1X~Op%1z&NJNG}YQ5iLtLgnRj-pDkN_2>D&YH8BoX^S z0l6Llf=}zExjFhrVu%EBD2<;oYtn|IdTEzP-!%66Z2|}QPjZ!r`*Ccp=%V^yGf-Or zcI2wb7zXmvqDOf9BNjcsy<2iFP~EPbQY|tO01j$R9`;X|9(^^(%n$a*GR5R`*c3TY z+qB6K0jZosr~ySdwi2jQVJ4lszPcn?$$b;842SGDBVBD7|GrN%WxnK!+l6u}m8S8? zolQBVG(s{Wj*QUQUAwK3VpEf8zbLTcCHKUejq57I2kQOP_Q#pfP?Xk(CAG_7Gg72X z;Mp06;OZ|;4!JcmgG0+VL+6uO6lz{H*_QC^f&f*VU+$(~hB|8O{g`HwN`88zM^0f+yQS-jt%^CP}mzo&UXNfqi-ZiUPN-s+7k zZCd-Tu^KB%)vQT}?wYL5vZ`R?SnrC2@#KqT&Z3Py3c`GXlccQuZ_{~9{QbaqJ9G`3`u%NTzYt(ogb)5mV^xe>7L}sZ2JUw`#0)ZK;lBSgK>mvA;F$sQgBvzJF(Z10A(e$GN-GhBf?g8r z?yK0pfC)=Vr_+>(GI{PILYw#*Sd)@5#}RDTm|Oa3PKI?wLa!X&ZuI>o?es;cn220V z9u3iH)4q4?Vlhzlvk8PaRp9}605vV{(E=R<2HbtCXR_wRM~$`jF*z#gjf2)&ph>k* zm^IFq^)GBQj2NbTT6FNeVD86}wPS)ADSzre%%qpXp#@*7rwtW$S(>E z9aZ1FptG5^dWQyk)-{#~U3jaTuMUiERm9?{=7vX1PLhmoG1-7M6yu0oKm)GQwnTMx z0A&CWg3S{bj}GzS;|`hI{`XqD!9P6$j^_so--{&qjR6Yw_3xLnDTRX2S=8!pmBc3~ zid+aMxC35rADrOWr@Yk|edKmF=p^>l@OE=FiPXM_Bm^m0UJ74ceQZ<3F!*H+#F@hl zL%k|SuhT1p=wZ#W5|R=Iz{*ujaEj*KZC*n`fdi3h^jEmwQuxn;5EOT%)e=FZNuveh z4hP{`Xtqv#GMN)|ld+J6l%E6@8PVBCSo`Q$Dk!Q~TuT(oqlkCQ!3Ap>uw9|4JqMmG zySs$&Exz89|J3JQg$3mK-ez|tUGXe3nPx^$D`vyN^H%D3@Y9t(fQynGW=~t$STq{y zdTEN2kMvN7ky$KN2o75Mt|#k5_3&yJCYP#UOH`!ETD|67N)FQThl!0W$_G$8_wzDY zZt=7txwTfe-F9Axxan#RDuKwb`ZfCd2{Q($p`fY;6F=^v)&&GLs|I>g{Uoy_e(Jfd zbSa(+;v5%>^oitpAoK^%DP0Rh^l=)GSm-bzK3s{y(yN!MA(fN66yj`3dCU} z$(@e7TI+bectsl@gWi{_IvqE!XJ!T>XbOq?Ex`%Xk|gUst1Sh42H#tpRJ)R=4aYM$ z`M_GKM^?*$3ad-VFpTW)&dPktlOUBQl>&S35Q+DkxXOfoKyrV8Q92jbp}T!N%41ME zXbHw!kkWBoIL138b5%I2!;6j#=UT%gl)hQNvam%a&mg*({TDoihh`fH$Q%SErPw0U zw@jbG#fQi2P2hc$)-6tAM)9ei54RZA{Tbkh!>{wqVaPR-eV-8I+<_k5iXvK4;bAGw z^sRd*z^|7xk5@f(~-z;>^3Lb_)_bEN`s;D`)ctD_tE)asV- zs_i<>Nt4{#52~E6A+@-PwgMcOoDyfZUgtcb+K_ZY@7rCeug>+VYkPJBKx%4_9J6Yj z-~@%m=pcW{uICNqV?Vu>tMxp-RY2bf9iFwfmta_*`qSYB@8xLw*fnxe8YT@_5yUMq zEYlKWILXOQGW{3LiztRBIaM@-C$!$~%C^Vq6W77_mH5c9ZB!#SZrc{hXlTA@DR?vi zM8Rcme3;~pvN$(E$v?|6AUxhTb?_kG5rkGw9Xal?UYTCnNvqi#nUK_l3QyXoPoAT> zwOW9of(fm3%JT3r>5C>g(OdpgbC9K&smLFH&{OGswbW`7!uAO*n|4~O&>VaGZAOM4 zJcTU!SyKI2MjxEAChwP9YF{m@7Y;nyRE*?zz&5)EJ?5F1`x37?kaaHBJLR5=%62-j zQb}@V%G#*LxQAD$8GT#5W=wEKjpVI!z%3m#r9IM*rP~3A5&i*LL5A+>iCV)`E3#u5 zH`>sHoZayTcFv7_)wXMA6mLr)J_0eibv5D50JayXCFE;n*V(e|ZlDX_VzZbP)!z;}X5CR{X(x&9T4$&&3&a>9Uk0a0mwPHqU(9>w*mYq%&y+x*`ZDi-t zX?8Nl>?~!F^g3|z-nq!cutmLOfxZ!&>C>YdqhP_$R!_J%XcZEaNgGfLZU|9oa!^}@ z?-WmhjEv7ogD!W?e*uwoueKAqd&PAby%c(<)T7&Daf^%G1dCOVX=PZ{We_ z^Shr7Uk<~omckXsshMRJ;E*Na`Vm%OkC740Y48ul(o<6(QOiJ4vS2%V`_pd%Em zpg@YcF_O;}1>1jg+4bj(%%!eVgarIW3m(`%@%gC_xC*8~U3$8*cp6HG-u*&pNH)wG z<4nz4<7A-3`hhx^ z+p9tmfoK!v;Nc3~8qb4TG{v^u7wNjBcv1PS9&r@$z{~C>R}a`}&z#93NMkRl;|M7p z4VVUe+fru9_Al8iHL-q+?Hpr&v=-^U?)_A+V-cz05t`DW@|A2a z8x!+sFdPtS%7ueD_Y<_7GIz^lEm@HA?@0;=5D;3ptB`p^#kAwP+HwA3{Mk0blO>)d z;3->U3+rlwoMC1{p{_QsiR?kTfC6rPx~|@I9X~F?`69o=$wy;Tl}!1e=UoMEyiOVB zY)sFiHhQyF=I@H%BUT%<2PwJ7FkRiEACGQ1d<7)!o#^nOvq7Fl#maF}rp@lE~Op&-^Ts9|qWXu%+upYKg+Bn#1Q zf*(m}{HV}%XJHqheRJvfQ1al7q{5+FJ_O*q!vEIQv2GXZQleN!)94X9pdHi^o9He; zMjW(y`Macun;y7S*_XVNM}cai4knsM>z#dtKUBaNN_Hy{-r1wm-7m)iK<#MA^7;&_sU_OWaaAME?E7E^q{U^M^Cx;Vm%O3W4;n zp*FLgLsT$Re&^gE^2Xo;#sT4jzvZwWx#D+VKlkg^u^9Ig!zN`NUwM8LaDx(*rGuq5 zol6_)Tj0|v@5bzk`V%Aiadx;ux@XgEGI&TpH7>RupAtI;<^xHNsZ(% z+wxB>FMVa=u)(k&&@XoyQM-M>9cj5}2RB2pq48-|EwB0^XEq#&YYbS#8JSj&P%H%K z#+%%-`Aao;*pfn@CAw515C}=W1%8}!4X1MyS|aajyHMfKkWoSAN7_k={DhAyH8?7c zroJqeh#cgL?`R8@W{>Q06FHa#NDK;TjGg{%Kb=c6 zXK;TG!NzIK_}r&&pmZ{_iAq~*d;fY!0C6^m97J{N zy$tImbC&Rs2pPmK zw)D9F$;7E|=jC1C6dYOQZu08_WnbIQ+cUeRH6f0jO=@ooX(-8*S!?RM>=yVSLD2sn zKAI0lhhX91;Qn9wep5@vWxoxz=Ut=z2(8jOWH=gx$7ij^RJl34xM9wY7g{@nVo|v` ztoXvo|I@ulNPBViX=qyAuEZB)_CLS*)~$#nI%F_UQj{@s5{-sj#jAl&*RS0;O-G;H zNpmK>jn2``C@U6X8ZPr9iTUGGTJ-ds+W(XK`*>;znTSIHC^qM8C0*SJLJEtNjgz*m zJWzRCHUQq*wEVU{oQIX@$3E80(cWX{zk_-cubq9Ru#zc+>q)^O6|pk^Op=dCkGP3< z=*sk4RDRqjt*ugmZV72XxEpEMP{?)Ioi7xeIvFjjw~(FHd$3!@S8@0{>hZj^kkr~R zHaIWu8|{z-Y`+GNWTjXLo$r7teK_uM#QFS*NSn$=(~bNKLZN6D{ER!Q&B29DEyfo-SKLNfhXwgF^o` z=*D86Eo)i!(47oaJA4Ql*z}^Eg2uLK#kI}FM33(Pb%_#rVjF^n2lNNNpjcT_9Febc zOs_45;+Zb8O|5KG;OuV8$fA!^x9s$%Imi9UbxK~fD5}sD-*^d_VS%&`V5fQHA$##~ zM%Tnvl~|rLvu;a@6RS60v+_Y+)@=Gl0L6Di)7gfAr ztEU?vojrx$fK4=ETALfI;DehR5rsj|btfFz{t|=3zj?!i!3)0J?Vntg>N~x3cv@BG zx5_trXPY}UKARhP5OWTx0aO0T>a+ie zsD5VquV9j465_}I!`3;qX96wjHnwe}W81cE+jhR#b~<)Cwr$(CosM;St$m(zv(MH1 z3Gb|`QKQ^16gwK$+ldG^78q3Gsl)*NFls=JrfrDcQwn)r%Kf7T`5fvAxG#ZEK;pka zT9?Or3%p9?UET9j`U-=7g`!z|%TMoN)ECjAhI%&efNT;4X~hs#75EFTu(FcBf*`J= zm*%}X(`%Vu9kmdq8__CT!y!O zl9jF7^lA_)84oPROlOv9B@$ zMRBt;=nz)Kl|k%&f2{y2{pMN$v2?Ni5g}Pb!`GAOa2`Ekq|Hm`vvUSuVWE~1$V$SC z;xi4m&?Y(t2sOV6H4pMZ>u`R+qrvF=F%oOieF@5&c^cF)`@s5Bl$WqVtLruDmdXNwkx&{m>CJyubiYf7X(SvmB481cf)5 z+K`(dV+aBIyKF^t}AhrV(KRw$hLYXX<6|_XCG~<4+dyQII;8XfR40g1&x_i)oY|yVkk%fT7 z-Ta1ae5w%|7r_tJGnFFZ!vH6F8V- zjuJAC+juzE>%^dQeTKOE0As>PoNlTdy`KD@r`q(QX`o4Q<(gAWpO=rFI*$)Brx<~Eyn}I^doleZ$G|Ql<}co zPW_?pEU%?1>|qr0Fk*s#*Oq?=@e{y^^3l$VCYHWZs9Vgiw<%61hBs=^v|7znT2duO zB0dvKGbo-XU{Edb#93@BSgvzW=;WK8ubbHIERMF^)u`&)bLqbO0gSP5qN;85+d zi}e|_`)|JCzAGaaIi#`b3ipHSu9y(bFqPyDp>1OYf7EPkwvPGzL_9=q`~NWp3s;*p z;rC%t?)ATQU`p+2<-MXTHnBc9852C~-^4-JKEs*0!2Hew0ytA?=EmP*_`NAq>;j9c z6*&DT#Ie}9{z>v)Zm$EP6B6!*;NGzx zj)PaHeb#(uSkFDRMeh0^MRs&yZzkZt5K`3Rbi_gWbz94z-xc`=kRF*T7O$#t5DE){ zrt3yp9lj9x+v-ufqgxB;`ThWxXb^n-hn;=Mp5^V$);{hwGLQXZ$QJvs%=XTynUd}` zlYxG$!=1b5gCy)g4RXZ@L!&PDlOP^Tu_SK8CewdiMsqAoMOcq3*9gMNJWO+^Ds5JC zIN`-F9cUu63BW7?YVs{iQwaV4Tu|TUS~_p8g!?Tnrs?T)@(tFAo;WIw+LIb%j6yTf zRmAI-H_&9+Nih#hiHffk#Xgf@M33&tIv=KQRdFnc9@mBa#J|?k3JFoKs3TcdnMu3Q z!K+Sx8J(rC!PbE$f`9k6vE5J9O*z^SK+70ji!&xuX_Kb`eg*PTwJkU;8?4|aW{4%# z(M=~|%eA{Y7yl_`#V+SXod?`gY#X({dHU{NO!z_t`&d6M_f$OA_!mwlIZA1<_f`Tg zk+Yyag=ZB^wu&@k82a(S@8t96mFuy86$Fo0v=;>$LBgdkWnq=RIjB0Ymw-(sc~(Tl zXFrOi1xY;tF0tq@_|0@@U4O0{zUnmn*L_*iz`X3|zZ8x7zf99KUv%_e zJuVOza$cpk$xmG=8^w-=QjAT)u~g6Bv?Gp`qo$w0zc zg@n`;L=pY86ep!4;9kD&ZgqIT3xlLUo?9~#m;{^ji^5s-+wt}U9`;!Wkq3@uj+)7mqRjjp!7 zI1ZHx2`#uvTBIXUuxCLse%QkF(sJ4OR&{z+=wnBz#vw3s?QAE^&G%W;HD4f(#g+y@ z!rF(kNklE_g${B7j1}w1U$e!9E_fY`;c~)HpH1wXHGS%8Sx^)X1D-~~l9qt0S2xK% zSqM#GZ%A2)AGYr9k%UX|Kx*$T(WVEkx$gc$ko^f#kezF`S$prgbW%zYq;0yPs4}bU zHbp8qhI`*SQXb|P={LS%d?1H3d+HBhR;CnKjzxS3wFQ^}sS(V0@9Kmp>sKt2x~LhW zD<;*uGf}cf3nFyE?Ra>L8h^@+ZJ8E+8DpggYhjZiBLm$St=mM1qD4p;TBYmzlu{7G z1{_3J7+2++nd$Fy+OI+ZYeDu#TVO5Xz}B(($8&EBmuyMWAAC|yR|;g`hT!Tdk6eeG54SQ;P)Y z0buw`@Z!RDCv<4Z)6NU`Gle}gU}(y*z^EIK96Amt1N#K`HIr?8)(aV&R!2|`b<+{E z)db?hH4J95zUc}oSc#gl+cUT{@k6=ANao<_=aa-|U@zke2pe~#WP%<*h(N-hnB+6$ z#5lWkk#q!~n3+X1K5_P3U~LBJ49pNhQ&)~q=5b7Gf&;en?2#%#Q7y zu#fxlb_s4cUVMc`v=ltxA)NE%dz$04Elcd?3!z4P%{L|yEaCYhDhQmGNQJ@;X)UxL zS1>iFHa%d_TsM2ru6_!{P}HQZpXG##AH`~D2PF=!vx3HQY6C1bPK;f5bDh}4Mi;t#B zI!{cPsLuNajD}$dG#Dmi+Vz>f1U6}i8B06pkbo{J`;mFjTwUoWqk1YZjCrIM6*^1i zn(%#i-djb0)ZPHVIJt)4df^M^&fgeRtlJxKpIk|)fDNI&z*sO{?T1_ zFeCwAa3r5F$T5Zq%1GdT|AuBMWafT%swP6TyZ@o2jiLwK9b<{?xv~7_S~g1@i^l-5 zyYJn$r`$0xNqt%F1Q>E;@{(_hM>`k}q~?9Xs;=v%Va6e(srEs_SPQr>BVn=HHB!C2 zfC|-u>y#$l8aBd!6+G+*oWa0K{@#3m_rGjtFWSlwTTw8Kxg&`CB}KYY>sY$giln@6 zc$OFxOt1oY#t%qNek zNZeCwo&c7nb3)&x6pv)e)YZ$fOShO1FWZ6$M!Bvfm8?LY=! zJ-&^T;wRK|PloXrX0o}nN1(?cnScjE!zZ-aSg~UXaJTUkS^r*QmtPLu@)--5a+52O zUhSR!0G^~@dv1-ow(~JawV#gMjWaaIv(8H{--dOqnkn8Wl+PyPHsqS!6+*B%sgcGe zODO_uDM(nIy8V?vY~EbKAqhid zzOv#wIM%Jj9VWvty1U2hbQR{#x!{L5D?+ZlgT_fQrVcR+g{^=H`rhFZpnot3%5)bC zH3PzVG7qL2`4e`51?&1?1NQwEN$oF4blT87i!jjhjfHHdExC$y59DBE(gvG(9VLVIFT?LA!26xIP0N8l z=PImP2Pkz&CJ73-uz0;OqEM6{<5;JSONK-qP8G3O%@k`I!dx~pMdfgLMCw;Vx%QH8 zp(eG<>~B1e4TK(A9SP#dIM6#tt4J zgz$UO|E(#Q;T2`sUg~ypNwT@Op<%P>*nQ@IS|N3DGIh~Py?310E zh^z+!H%V+6mizYii3x?t4cjiAwSGC^%7&Gp39qt;sg#wR=?=)cj>Jt2)O#!Q2_vW3}c;u(AIJC>J&!xm0Mg(!?kyM0DASW{emJNLHk4$eH*mGI>9EDQ5@3;s9&2 zutpA=D8cZij(hx3W`@|mF%rRbrhztKz(k1wnw$)k8A(kYm5H0CRO~me>vfXu0yoStt4ot$B(xNO^UD)xgk}!Z_VQr^fjD&Z~HQd_uI|wjNpwZ zb}D+Q{$glXOf&>YrzMW$@fZrg@MK+#)L(S9NF*#xUAGh<+RD6LS1eSZQcl<-91K() zHagA>UQg|HlE}&k3c*K~xt{28FWkh#dP+GK!PJ$pXid21zLNIKr)M<(5$fXu<`H=8Lvn z=FBuEAGp?*-M_6)NK*^oTMplu52fyjT5pk&`gQ~nY~>|uqfUqotV1!{5tAh z7G@2T9Etct+Ikz5VXwimd8`&2&2H)#@awxc^Sz=NLQ*%t3c~{U%yY?S5`7zq`MdoA z+;!~BZ5~m+DAwh!WRhcYC9LpQ`X^20q0Pw3-1>u=i3t5>YxAV_FehruUw~bdd0NwY zgH5Td0Aj88)I}>GBcbiuEFk<54e9~8i{vK<*H$6t1*^~4#+8`ZHNWupF9J}WwOLGe zOJ~^3PAw!=8wW#`EF}m019wp#>e3-j8v0DG@F4EVTp^EidP)83pfni;YztZ8HhJq= z0gu-z3u8`sa_d(QxXFcj!TkKRY`0n=IE9RX>Fo`<6cdc<`dGH?W?jLgf z)H~!05DFJSH@D8hptP_=*yhFZ*EHha2G(w7sRH)ZKYTL%T1$sf8b3Q*+YH!DiL^aS zdkksC0fMNqmcfo~V zOn(Pp{?_0RUWPiy>h>0smBSgEwbeB|ue#v_H{xq~Z|gkOXrnZJ!VR1~s3Cq0f-1^* zV#ZcL%oCaLX3DN?9!3BicIEjasDZCP5p6^PG}U&c4a(x?P79x)!h#NhBb}mro+&Ca zKb3bDyjuH*bQ@~?7(pdMXB{f5qq}~}-@6L~xe@JVUBCM`w%+GYoTSxPrUdE!bDt4m z^Q>(g1vl#2U5nk6`?uFfl?NL{k^K}y?*mkTok>ODJD0|IC?)kSbn{J7<=wsC=<;RM z&bVy(-!V+3!4-%(KG0vX#ao{8LGhB8!#N%oe;A%s)WbrzVN*F%2Bl6br5&P&Ienrt z)jFQV$1)xSs;~Rk`>sWusq!7y&Gfdw8d_Pq`Y>jIv?b|WSx1hJP|{C~B0HQSv7pw~ zchlxMv%dHa&y##h>ETcoF!*T|V`8dz7PD_8P@3p!UcV=5*lw^ka`lyYP(W-&j5U=1 zd1gQz2GnxA0$9w~fY0M8UsWlI`gHq;8{hJx{Xq}=YexUux8q{`-+enKE-u#O#EE~F z2fP2!O5Z)b17qplPS|R-Y505mf1d(GY8lQ6Y6O+@cd)Nx7+9W1o=uYhfMQ9nYppW6 z4Ull~6%;Y0CDJ5sR_f%tGG;aF0=?2yjMAx=vdUJC0U3tM7=bJ^ObanO%q)87;&RuP z*@II;ji_pewa=6J?^6zqJbyd0(rUn6iN^Xg{;ML?v8(fed3yImukYLXD#xn8?&qU) zp;q17^0eu5WER_eWzqClM6&k5?>vY37=kM-vR zSK9}lb_FGe)cr8XCmbBkIj|^Ql&NN9$xLNzwP^?}ZExDdvX3>#HNq#JmBk!@6Kst~ zI6^1lS3px|?~b6r-~9DvUKaonIr~QVZ~WW$;XaXFqAOSrAP76rKjT{67gtT5-J4HF zSV_0?_B}5n9ndpc{rW0jWI8eGjmYrH=%YN|Vm? ze0EOKwPCM|x7gcE^V;Vqyn3t7xKRv#BDroL&{NM9YE-50GA{!9R+C=;ZWlgtUUBeQ zgfWwrG=qqUSb_?%#DiyT?@kVka8#(5X^4k~`WA&j|heA0U=uq^J_Bvmz zK|z^lA%nzO&`Ogat(c&Qg}*VmnPS#p!W`{`)%hawG8FTzeWg>&V1qUZqAF2(m?xhq+SwS2f%}VAY^bI;8cKdm z9j#aVQT`=>&y}I|!p{z1V`Sgp-iISFrK&P-%I|wIg7*g%{DoMl0X}&DwP7WEV9iT@ zy!F6{SuVs>4F)(`%;O;@jZx0Gn*4bLrVFeNQ9B0XGmuq8S-=PVXIrb)1s+qk+E5j) za|Ho-^CXgx_JdZl*Z>KcB%pP_Ynk(4fqfIns+l7yJ%Np(q094_3xG^UEm^gf3h9^F zHj%?SWKV9xi02yEjNw=GPyM!U2F-o! zR839pydI6+AE@2)+?LlIRdM;Y7G2Zdo)J}uxPXb+u=_zf!@$-@24 z4EoCrAsrA!gRW0KC~>mHM~i~Nnyi9$Ho*8Sh(Y22u{=KV&LI}%_stftA}T)dWH3@v}~_B*_*(atY! zvl47G|O{%o0he)qP}D{`I`auotK`9@3gc$7+x%*cL;x_%WytiVj-b zbN)Q-eobq7G*7L!YQV?u3EwsPN{7NTF9t}~4FU0pVV6?hT}XossD-qbmIp}!rEz5~ zv(bV_72pqt#F(n0d-(=gKvQO5y_ahb+P2vBkCdQR``(r@K4uEa|3Rg{-=TjoRvHwsMYSBSe1hd$SH?T=j(ow0EMg3%NZv}O@Av(G{I z`g`bhBVZjY6x6_66qMypq75+FX&74mJ?a^3{3z|>TTYoQEHfuV;AV#%KYuqcam=UC zh_z|aj&K$xguQ#!M@ZIIs8jy<0$yUcUvVM%KVFPt~dGCEPH;V_;$W|Hl=Dw4d_s$JRK65dfzbEgn-`PA9FEKICaE=d41KH)zaKO7t z0V4yim&i6VhQsw>H1eLNu#EYV;_DT(wR^uVQ~k7=Qx7XaAjo|JkV(qYe3WV2s-Dbpxr!G!QV?{~5h^kVXl+;g`-$dNTk z3nGd@1$R32O!`?ueE7K&v3Ryq;Xj3_lgl2N)uYt!oEhy9vVr*NBJ_1Gt@IzueF{2B z&><`yUVQ1s@5{(U0)$iEAz%D3R% z0I-BX60Wle5N+7MWR8&Wj@QpR+Fsx`;ju&QW0Ay)X4#iAX5Dg*a#i>8D%NpHMl--W zY^`iJc2LoV1l8a>O7Nn7_lzS;wi^l?#}ofb?F2-z?Ljj%)7+g&U{<)2&eJ4p7w(WP6~;Cg3g>{4Iq~G|8`{TzN;Hn*_qN-SGoe8$ z_Al$^fFV2XdEF`R6411sOTrS#8*;+99{!$*-vkR;0W~+2I9Ftwd{@qnQK+nz`89XF z%?>~X(*pu1!lOm2UF5?fL;wS+2tf|f0^^6s7HXUUYQyhw(R2Fu6#| zkhPQN_vC3Y=aWWZoa$#y5O8}sg)#<~a|Ik3dkLalRBnqFOB6&8AXI~_$)UT4ZpZ66 zL|-_%q7Ye+leTolX);7H5h?Qn%e*>@(S-tW1-XZvp?Zy1L;3TZGz9~(c3RsLjp_5|p9pv*Sd$OoCqLXrQ$ETf6*Z|aJ3_kJn$x{yMM zn&$n(FaF5EtA05_lV}iIcVXJm!NB= z0N&_vVBD3Qgxrl7O{l#uOvW!T?c&)o-sM(hun^kc9~Qc4@Hf%*kdf?&5=y?qsEjW& zsKde0;p5Cm)gM<)>Zjt~w`t;>W9b%0a3IL9@e%DiRHQYue}*GX(eVnKChww84p`ntNjiPVe%WdJbbbzf*r9Lm&q^IiYo<(+zYUb|6Qls-{y#V zlda;X0*@x{{{gS$G2?V-qCpUMd`AvLx86YVL-|NGZi`D)!ePu^z>W0btgsHw+3tzBuLg}EE`qQ zQM5CmhM76VLnF2c<&01+xp=9qc3uFr+w6l@*QXKcr=+nfM_JX^C0^zWpE1ZixmfNR zCIq0o2OnAd`OwwS(>^U$BV&YqE^+ z7b8$QH&V>^6=E5k2^*kRqZt{{i+b&t)`5ooWo6q5I)BG`Npm#-ZD(eQFs#BAUC4o| zF-NKXwAow(K)C72z^Lp6C#RZh_pXh1fqcw8q*%c2a;U6#n%g*^@Hf_TiRR07Vn4ngZDFsVb zS3=AsE!1P6MOP5On0)TUuR zuEGY%3zy7lpMnUHOi&50Gpj{Mv>p{Xl~f=g=yNABT)ri^np!5~8Cq{u zd7SGYYWSsj@&ssc%&2g9>9jY!i=7|8Zbp_u+{rg{wx}$%qu?pvus+6z_LIPbe1>XS zCHZ5c?eVwj5`u5O#ps`SRv#0-k=df16Ki5PCV`I67{mB7EZFkj2!iqNFKxw5B>8Gi zGGsQwtR$(>LhHo9j?2;qiy{0uFl~`FSxYFu5@!5gUAFg7wJSi=zDQPdt{-BO%uxNUN zm}x{^l_8*kB&JutLv@N~ z-}A#~r`R-qg=!rNn@ZFb$75b73&!(y^l;BX@jsVZObB^VRM1Rm?~JM>pL(2C4M7e9 zcJkhBTWc7IS4H7xWdQC;by2542=Id>kU+y~$e{qm_2-Wk1ZCTg7Jt;k)HHGy!{4fb zq`~azcnUN;jGsOr5_u3a+9Q&C*-nCA+K{?ALIEa$maxLn-d-0KbzO|qf1|BMuEn`> zS%YcfYR3p?$p?8Uwp?PPa#_III;0NfVRfT}EqY3{VVSfAaeJbcAL)(^3`eevSxzvU zS}p)x4XXVQY^#{biR`i&F5~3^BeFryWNlJ47~82q^uu3F@a*p2a5#fSak(z#N#hN= zugR3_u^+%Toc6wivNXn0YPsyoO|5k7wrx79pFo}?9Bk}S7C9`PrYVeK^*4noYDbX) zVWg)J$t{vw`#|{3LMRuRikI|7>+@Tz9bN#id|SY3YxQkOZoWg25R6OD^~edQsi6cI zBQ?}v){`YfHX1`;M3mW(VjcQKx*R<1bSSs?Jf%@v%B5h0#lJ0v`ya+nmh&r4=hwiM zQ;a<0sF2;N)C_Y$w9&5Pd}1wIs1X+NN01{ideY=M*vv242UQDKh81uo)L9K~Cphz^{=I5~bNo6@?EshCxz4(Z1DN$2O z;j{EO7V+Q&-ohYAy!qu;2v4EO4pee8l9bIL9Qo?R2rY7BV zNH)$x&edc|(HXMn?R3-}#|rH1Vpwjz!;lDgb>ZV};!pD+U)lhgSTJ=;Z9yh9aj@X1T+8I#J*Y7+;}I1tp`$H)@0FP zXygxxG4c5DChZC zu|UT4*)r$4m!eJ&=D3`!q^g`9rHlxc7dV_h!cfk$NH~KMG<9&_)2iZ;p#C{UjLmT2 zA7SdzQW$sr(|#L>(-U)(8+8Oqf44!QROe^Wm+;SlpuEhMzxc$po^Ka!RF^Ibro8u(JB@uClvGK&0AND}6i z*3@|)npng`i>-pN!F;hue0IjPt2Z^+a$FQ`aiq1vsm?Flj^1r|k3=3#LBZ}|{M3H^4`4XHgnkOnqp#0FeMOd0V z=#Rx^=$&h%%zLNH=2!O`tjJ??&$Q~t&oSo(}82C_*nxsXLe-89lQ z*}9Olw-WT5Ts99J0>k0WbL88j&)!3ri3a*rA4dt&iS}tY3k(mU{uc3$c~L4RSA2^) zXei=?gv(9g?Fi_AJ04@_blOx4wtBWR(XQ<1p0T#(upW!D9V-vV6EE6Wid>={2W6G4 zr66KfSJ@4tCzaWLf&R;EGa95Aje#E{L`dQ~POS7gZxVw5c2>p%5%P$d-U#UjJWk)w zdm#jYm{0PG@1UDRr*bFe4xd)$4jXqq1%rG7a9;hyC;Sa^2tRzBlGZu?1vnT;ho3vr6BX5QTE00RSox7r#)9;nc0 z+RLSJQiLpw`ILfbEJT-+^Ytz_@ClAnunUu=11+&%Ev(bI*wRt2{wUZyVP7u2vC}#( z7q&VbZ38%r%MS;FU6Wh;9})Lj?eE|}%@&9+xR3Sw?%)l**jhily`7Jb-@nOHhoYfH z_d%OZD1S@R!-r;{EKuzg6J9bynGN$2sp;qHXZHyBgL)uMiB6OCdV#1P(*M#S`g5Ba z)bmfwdqEFDpsyj4y1eXBVNAdPZ(#W>wDqPCUvy5asc$5Mpoi?+XjKZ@+w*2j8Pc(_@xi>FestjA8h`WSoo2OW*jb;SHZ>g~8&89xs zB>|L`AdF~s;N!5-@K#Veh7=YphK7T29Hj)pHUgW7lmS^50kbMu;m%=6lm-+hw6ek+ zIZz-ak}12u!O77Eqncv#vHflQyX>Ab!Nesf*5g3WAgl6nD}+hPD2AT009Ob5VtNY? za?N}>Y27`5z`+Yt0H!vPZ_K}q5Ey_u z71SXZO@myH6_7|-(|jC$@<*K*=13`i;Z?)6YT&EvN2jl)${syIs&lLSUY zCUND(x=3uypK5cL7ej+2#g%_L=W2XrA`9g^lc;lbiq$TF*O6{NEPK;T2z-`p356&y zjpAMf$<&h%BC6(grQN)@4_-hr$6o*jyIQHfL`e7sC6B^o(a-vYD7VYMuH4eZ$nW+n zIKNiGwT}vs#qhw*)#VD&_TbWASZ_j?HLajeJj($xJ~(OyEsm*3gy1~JLHC4B>X&g} z?x3L&(>C5Ppnepspvi$Rjn+qCRjSJsDiCiu6W*E+k1x}>Y`nVfE+hMPubOK0Ty*}3 zQPb-JQif98{O+~ThLA>^w=kGl*-`y-=*nNZ+we}~18aaQTdKm~3Z1YIKyaUp;U>2B zxOd6oAXrAiu4$B;^qA;bGTAud590?Rr|fh6zfn3`vezIL0^9$)C&k3U!uUV;q_pf5 zw#1RX{dA8gJ2~M3a)ltxJ9tE8~U~9vYKJbh31?pnrbw9}4#I*XYMJfkA6- z&d%IS@v`uk=unuYG>bDKe>XNzlq03MDT(n)$%~cY`Jg8|KlE`Q%c-U{KG5%T17T6F zP^7}0Y*r;TA{nX<*xGbYWY{|a;$yZP^^u2TgcOHj#PCdz>iCZmqmd3I6BQCJVhhKV z$OVo2oC$(W88=1rA4)f=N@CXeBQP{4D2HV|k60jbRR>UK5^(d&o867;ada%rL22BX zsWjn;1|Y(P!oqfFo)ssJ_2Lk0Ahx6$1eij`Gw9hHLMnfqJgzxi*#>9E&S(ePqylFKRG#|v|1#|rfaLb9!ljX*4hM8=JY8V%(n!2XPz1Y8S4 zKwvAYge=moM0yV8yjEqS1~R5TItGObWh)pNvw%ThtqYUBa*j_-h^<4Iaw+NMiq3e1PDo6qw}d^p3eE+=Xyt9>z?7;yLH0Ce?{XcxWob;J9gT zUJ+o!_91bw;Y=y_$`RS+@t7b6B&#k-jUY4jNVhKG`k;9n@1kaNgpyz=#&fDbupoo6 z-~Cjx*%l_jH z*DJdD{+;%SRDMMF2td!Qp~NRj8X8^2^h7zF1|Nfy*E1l(TZjb$Ln(7maNKt|2_Q4{ z^0@zeEB5ZRHV=0LRL0eb`jp^SFF@Up)US=JF@bl=3b-Dl@)*$~ClII!MZK^}yf{>A3v%$oJ*Hd9F%{WB4A@<~+nnNo+tm5Fvi2N$nY)Yg zVC!lO4Z8(J#zAY!wibxv3%9znKe@D++yrZHM0_YkG|oi)Z2ovopM)rk>zI&uX4Y)* z;s1lcAir?~cyC=iUN82Zui{^>lyBmy@vq)dWr#2DOqia^2Y)MvUm6rDM~xGRlE>w0 zmR%{w3)sA!@++@co&FH-?-ZzJkYCC0-Joq=y~)ftuDMj9l2`~J9k=dam_-Prub<(M z2VJMIivZBB*zrXw2}$lh-i|)hp#9ByTm67kx{J#J_*s2F1vgz}FW&cj@_=bSYgf!D z5gmre{t_PzWVcL)c^)%m3+F{3OK+x83R|;>R~Eex>W!eaY~cG&lkDWxzP`P7qf!0PTd72- z6xitoB<|+*G+n>FpH{s4Zuqxz&NrGXWlpwEe_psWek#`fzVO|lovmr(&g7t6HumnQ zy6DAR_GYUzKgC?e-qM?`Joi?jyAW&aNCGrI(!}!2+Am&!HV+~fka~~fUe8HeO`ea= z+3U4}UXz&$pBEr6)CD2pOdoS9%443wka0T#gnln65xx81t6)JUOa<^bQ5=b9tRklPS~wJqf{}Np5?(KxDyt_lJUnS|1T)03*i>hnMuny&^upry-V+JoF1oCu~5l11PsRN~j|g6H(R-alY? z*OX{{|{T?9b4faw-!81+#Uqq~|Cko-xE zV+3>{_yW19L&0pb-?v=2?18yPnVJBgqmWnGLqUWXoI*j8#^nciQ?y^p1-`S`kkY53 z&s56(wZ`kee+YL8icU5oP^oE@@ep^DxTtBBA^PZ?gmL*;sdrGU5GKPkfts)*mqS5_ zsCQCEovvai3PFgR0rLKMlE}?1eh&?YGvV=iJ=s?i@|{XKobrgqr*^P(28D72%iO3l zZf_$|x)Ce6N*rTlEE8wt=lj*iT6|e@v#vS{n5&2Jmyg~p-)%jbw563aUnP1|AJc`0 z1Mk*ATPOx1383ST+buVQJ^G@t|5IPG{qNB+^FPDYf8%ahTgqi~487-4GTfN+55Z2bN788nxPsNz{OQ!4(MZznHXeQz&UDPZ9M zrb4V@sixF8gL)3eW_RAi-yrNWj;cYHc?T{%`4*@F0K-F$@$Z zqphJ7m(KT2o36FKc!8jmjQMDu)hGA<1XlMo`+ES3?c^kJH3{QF|fvcp42vyt!18ohL)u-R!=*RP$v~a#e%CSaH|=EWrHI?VWJ9 zJt*+FU~TF9kq={yfe%>~nk@b@6g!Z0MWGPW9L_sN`&Uu5ZEcmdt1y>ssH`2Ia{@Xk z9x_0zKc4dd3E72y;J7QgORvWD!B3V}8hJmbS-JLoc7^@_uyu~zm2lCPj&0kn*tTuk zwsoS4?c~IjiYvCAie0g7Tb+LI{nq_ykFkHjTyxDepOto6DJoDlZT#mF51j>t)7a$& zvw_7IC!KX(C>EInpcIX{Flh3R;;i?8!z74Kk@hx<2@aN-&SBaV7<^pz>K@s>uSi;; zao8JULtzs3n;6?aoB7Y?r*Exx*tfW;=NP@{9y_z2NAw_z{arjkBEd^8Zm@Vc zSk@e~Uy1C4LcM0uqGRWd152lhFdOA&$Ya71!A;p&aiLA0+&=o)%~KN~r}lb9SJ`5- ztSxT|RwuUXve;kEZRfXdILI7us)cT1%N8X&pWv6klB)u9rB3x;)ncP|U^L?j7y|7G zG_Xw$Q#g{?+&`Iu3VwSmaf6cvK7SU6ymWj7;G>%iHG)Zq@q%)1GpzGFC#+W1(Fqtj`=x1cOXha!m@KeoNCnu;dm4uMNo*VD8q6jQVA%~ODR$3=I$3?P8 znGN33n?R9lTe{bY#K~me4>0>$ZShc>Z294&adutEDVK!AhYQo@rg` zz~tig$rTf=J+ob}sdTOfjM~@J6qP_{4_O>(Z;kBavwlW$$Mdyfi0PYzc($@yV$~|h zw?n)@(jQ>&qijp=IR6FtWWXk1u^eXk1=Yp;3|VBHR5&Dgr(Enoy;x~|-T#9e%2#v% z76psi;~vDn$Wff+p9i+>(ss9Kv>;*yc`!XLgRebO zG$Lc8iZO*Mi9B_%XH!#gD0)F`W`>i%o{lGla;I`x zr5^uZfapP38~ku>5j1Ox(U@BICF+M@`wipFe@iwR8_-x@)}}-->{*Z2>pt6IYjz7A z{wu6f)NYYBrP4ok0GwffqySj;={XMeIJej&b#sCvcD$o>@Z`bJEIiU!F9c+U;6`)j z>}7s#-$8x@(0&&l7ouS3o82U16i;uef5AJ|P#c|e#cYa+?SfSd=}vltzZFs;LElwK zCiZeX<=N+nB#Vkx+QKmZoOuRTeR8IJHmRfcV;sl@=?ovI0EEYhkjboIv2NUiKO=!k z+C)-lXI9e4W}e^?TJ})Xko<0{%mS`SDe7lszA#1NIqJwlQUa&23t|bDN|kw2FaS{M zU+mq0+V=An4$WTey+kPcp-UIKo=2S^P+SUcS5BWGD-?6lgy|Q0I4eSlhloEQKnba2 z0&s$mH4rsq0Fe)u^Xr+gVsD+h*WdWO1s)MqBFfHRv4WurXe7YQV_XLa#m~scul8&HSoC%n+niG+Ce_P}WL_T&rPV*m8eR|%D%Md{+n=|kE7;3@S zca^{BZC@}(>-HIvOeDJgj@n1XuTE3~5_6Map*;?(n%@q%3bcuo?afR|HeEUzLE6D1 zm)tM^i$#4F$60?+w)tFic@~FmTR^hGO<;_4Eg+e40#JNq8WYJk{-1R_d&br`2Mz4I zxzhxK1~B>EOtt>qO!X~nuqt*%uE~VC4+eaRN2xGN|D`L%BQGFO*71wkz9d!w@&ki% zb|TGa^;|V!b-`F5m&ZsYe z1Ck;Xx)^<$TNx`}G1X#x2SVT6GPAmES8t_N4L0w#FZmm6>Ila!ALbN`Ylnlna%xrU zN`#n=sL+{0GTi;!t~V()A(l~CWZD`J$+(I&%33@*1CY{H z^9q1}fqZ$5k2(&QAjmLsYGF2Td>)WncFs#*gTii?QXpl~`8E7g*#XvO8P3iOYMDJT zG6?(w3kpvaT~};YtfRXdBRPn(3jhdBYe)~9e-!?J6Bt;4K-^% z40kV%1$;IfpmJzdYA=vbb0Q|X07RrMmCsg=pAx|M$FBx4NprP~H?J19j$f8tlc@c5 zeTK`lQ18vHQv89=o|9S6p+jd~!CsS2kHNarxIvBYknZX9lQq!XcW5NuQPsm8q!z>* zUf}6xRYgsbc@bohq{GskTpNQIWd{!WjLQw~%B1>p5LBL&)m;%V9Dl%a>KPiDEDk<-Dp&SpIvv5Y_jShVyXY z4Onjw=0i$7@hZ@DVxjWa22ct%g>rkfr@jR$v*N6(-AyqFYqe;G!?6TwlKKM98wdHK z&A{X;#L`B|JFuNDwXh$|EqBKk`&o27Y>z@#3moO zb3ns2-gxT0TcEI_jLTgHU~8-U1dTi8`7Y;V^7;8FO8b?H&s#CO1MsP1XUS7^d;};s zf^@OctVk_JY^RU+C0dgcB*nSbqpJH2N;5h$peL^BSItPU4qHZ zrqe%GoG)3Q;%_tkTBvMZVaQ&9>dm_Jsio#ee-sx)b=ZlmeX)*RX8OuKWA+&&yezV> zlWGcQCPN`tgf!8=1Y8^k3xhCA8EF}`Y0KqcYj%|SQZv*G^g1pZjAPA6t4V3VAZK)P z@69mxafoxQnP_?O6RJ=el0txbn0el+=@F{X&_np?awF0(Nd^!jyoxsQ<=F)B!r-Qe zSn^+bA(}E1vMxK#?!h=AHOu2o$`yDV!;7~VTj%jhlNr2M1LBHu40deLUDg(sP;fM@ zPS!~0dK-}^aE0n}1UZv%W=Y)Dbg&LfMQJ*YLbGPvJJD>0-x7-e{wDQN4IW}Rxzp%J zzsSWxCW`#f0sMhVSq>^|F49krHEWh<|{YbW}MxVt^ za!tY{CExa*0nFx+wGP#FL)v$1>mPhndF@KfW3UJ7ZkJR@yurVPIYir~u+iOEe(V+Y zAWAXY+U_2KaXjA<{Zo)nsA!m6ui_Ph;qxRRaK5EKx%oL2Fo3?$rj5$KxGHt z?a89@^39qRiSUkOQe(X_LlXf-6dED=7k>$+?`=sJ2dL*Z5tjC2J)6MmfEurR^u&@W zOCJ+qpa(|BicCSN)p9%3mB6Bb*P`f&k`M`E>X0Q z3HaFhdfV&B#}diL2$a<(R{YSZm2#;wn8C`kbee=5P1L*S?yMn?5dt9yq5u)CO1+*uJuXG~*O0VV^coc!IrB0myiDuAE(mBL=MjKjn_j1RaT0G*%uO4ScB~ z{SEeDqO>6|zp+`-V-jpWrnRgLF(oOT`fhF9gk>kR7#0)&DQ30oAnXztFIF`24ofC4 zLWQU6sE!AQEL;c%-So2pyEDUsOZi0(uU&9x|wmwJ_1&FEb ze>ZYW-wlK?w{Xdnl{w~e5;en`iQy`Y1nG=kGvvjBj<}=(GJ&P(b90G2fqz5b)V~2B zft`)_(YHMI#KDB!bHm1;$Mb)y=K<+w9AxcG@4Ph){^^NoRYIo%e_>B}H-q{LNmQj^ z%-qH8M5}&s`|uf~hI8PKqQo(X0%9%V#>MI{o&zHJk0IER8)lKU880KXLdtT;gY6S$ zKuYZ(a0kJeEX8kqJGt^Mu@kYrM2}(Fm4j4T<1$9>S1y8FP(;O@j9Zv08F!Cf+hZ#W z+VP2quNnRYRIrS2U5wcz9W7fF=1V-yjR2&-u=P~KQs68c&E4ExEleEXGA3w1VX!$^ z{y)|e+jmRD#t(o@3VzFfzSA;&49w#YBOwO0?C!p?o?2RHu^93Sxo1?20;km8`)en3 z0rq_mkOQ4BZ9!e(d*63`{qIU3QGw>Y4z?l3nPVpw-Gut?Atv7lMGVm+GntKx}|F`AL`@z_iLF1;|$*f?nb+H#li}Tm3wr zP_wlzFSPFe6tY`idzkOkZb6Lt0sh`}H$3gu=*(sk%MA%Z!ax93o@G4%n?{F1E-gB` zzah`7OLHF9(7N-ak7AMZ<8$CC^_JPL6TVQgv7sJbr)URQ`EO@FtDw{SC$b6+?^ZR^ z*(8x6fRZ7bK~Sg8skwuW9cW>%UTJIKP_m9SDR^&xMW(>ZLy$ITyLtJ;i=k%{x}xSFO7QlxXscs;MsLa|v1 zpt%o@-KAHabU!9i(wW@(zRxTsZ*2MN8hm>kSBJ1{AXHNx6-yPMTB5ciCKjhP+pp+}+0PKg{ z=m$Df6{zUJ76k7gWS@oI9}e@bCA3;hdYBb@foUz36$fVUF7E`Ns&L9b(s3xF_HRj9 z*eoMeYyTKSU{p)2XTu1`#a8aFU080N%l5j2kP1%{M3Oy(*`Tv5c*d#YLgPm`1*gJ< zoAyWn7YSIdN`3EG?m5TnZS(>`0l@7tX7$Tml)UE|@5~dg)eDk}>TfohOZpGawc&=0 zlIIDv2bUAO{;ZT5*aW*Tj)|UYg%|Q1Ac`&K~DPih7ozyYi#@1=M zUvoQ^TD(Kiz-{@yreKb0+bbax?sl@{DLl-1;q>{V*l6@or8SI807-xPFFKI>g&SND zQEmw@h-aj|V3Z_$gGVHLYP|YIsYfoD(h}_q{M3fZ?|xhp#9#{LmzG#M(*OVuHod6tQ%>LNGkx!)c6yot3 z5klA@8eoAq3SyEA&<%vKeW6PbhVeSTeSeCA9jB=Q_a?1&O)wJX;5(rpK$STaP0(1; zZb2Xa=Nzd~G@?(v9GXVplP+*;vrJx%VjCC->ero3CO(m$Pq`^%Aw1?n6^X9p+9^@i z55@@boS*q@)Y2u@AvKO9A;AcTT+s==WBndESb$j9bD4+-h>z_AeVSU@tFebwM=i-0 zVHy#UdMbLEp=xUrHjZ+8tZV)o923H$N{JgD+c05_1)>g~Cn^cZ)qysSyAXe(1NsT8 zF+;PlED0G3pf*$nNX6XMh++T*r(yLf&saPe`cgGA> z&Y5;1iU}bLNLa!o83|BJi^(L0G(a#SeAGx+!dj=;I|7U0*4qS?5Gmu!#4`JRIoC)( z*^V5ijbGk=D!k&KJKvC1I0!>8Y3;0ZPUhhznyBKaN1>}j&`&%=r*e}Jn46hYv?|v2aMH%7`^{v)yzMq>x1CHk~RmC5Z z_g9IoC$z+ynls0eHx=6T>fANhG416oKvzg+0OoF^mgp=w{0>}i*|n?CF|5`*JA>o! z+86l?!{D(`IhNX3i%Yc$I-l2REOt&_Di(0#EpPL8C@0g_5xe%&EjX9F0ux~GoHQVPHgD12IF7{B!poh`A`eIe>7=O+%3zk; zn8acrd4CK=!;+wb=Ixa^BvMCK}fz$H5g4)|UkeE^tp|xl7xw3p7oc4h3zF^`0=Z%4JvSw@(fntDhasFqHHR*1-eRpI9P8$_U z`BI7A0EI6{GpKUyO1e02Chw^-pmmGv6=_tZRBv8hr@gS@Rg2|U6o189iK6J9Gh%ma z1(J|seRIM^xkrn2zO$vSF^i8wS4`StYM0nI^*Nin6(kn@Gxz8@K5eZ!VdGndk!1n6 zi%iI`fKK0=jFxNwQ?X^a+|aHqxS%#w?0IghE|VY?AOP_4c)B~kxMk$54$r%#k7!HG z{mr#GJ9s@)6a4E=3ULR8@C$j4+3dZ)yP#VBN zii_;3GDh=kcLoK=({Lyic}j)uE)>{E%tge>eG4SEHGW2bf7CP#Xq}l=FBOf zyNLfSJzBzl&*Bl&51 zhp|fYoHVU-FMnP`8oB^MTGYH;-!0h;kJ&^`H^3u?G-Z?0z%y>Pcc4 zh6gZ#FOlhCPj_@`c*FuxzPS$Lo)58^kYMiWoYIw-R1XTFaPDFnix2m}oc!0pT?dQ0 zGp{@&DN2@db8z^pmjArj88&Mi$N*)xWnrKK9<6z9TAn7$_(NAm9cNlY(N5V^Y(T8D zXr5xrB43QQi6X733s1fn7kg)i<7iaq)&cMh|K!%I0d_hZq3JnKr4rOr0N2Q^{e7ha zVd}8DTT~Ah5%(8kO~L=1)>h=q!k>$I-fwiMb`i!*Z+A&Qd_2Pmt228JF_xW6b&=86#tjR~1CP;`2%wZ3xif%8)w zh)-Sjd4u{#@l(gkhbh}b<*tCz@d==UYn%@XI+CJdG`Q*_Y(KLnaEQ1mkuUSi8wPWG z2`x{B9S}$q?JMGKn%Hhc3jF8fz!_oX50-IUxkub!HJR0PftQZ`U0p9CSptm zKFi515pGKz?=vI$9Zu3pRlXxHP&$Z`XnR6(aLAn07^~9Ap^H_4i)Qanl1}fFiVPsS zm(>OftLkNwewozrz)2=DKCM**a1O{dBnwOrCXr~EmKW?-+d?*Jaehtu*!b_4J*%f#hz(nVSP zwznmWsGfi9BogeQY@SD5_C`+mF~dYg;e}(tq`;&wm;mlgRj1V(nj`3a3Ye52=mkH% z2y13VK#>=Fkf|+38Qfe8tDuYUkj99GZiesz!I@3rN-jh8v3!3&v{vZ*2c>v%D=IOF zHnEY5&kXq?{Hdwn?QXrtSi z5M}v6`<+nwP-q(~G{8k}=XPV+yke@^oX}1aydP=Mh8)z`RIK`ZK3fDLV@s>1oYfl! zI*& zK{Yt*s-UL2V6>@nqgr!|A3d=vT{S9`C}YBkyUZ`>W%K2PsRJZc0{DVw3v+uX0m@&~ zS9df&=~2==gt3%nuBu`nTSCb-&fkILr<|aX%I(h9fq)sEl17Je)si@1a#;<9qmaay zUpAd!|JwUYr8?NhoMO&zS(OY3gK3)ihRiq%UY56*WaSd5mQGs7>yLXeY7Fxj2!kVM zQP7MhVMS`iFa&>VEQwB`1fAk`5>}QDty^{ECs82?n9`uJ#pRmV*bxN;{VM^YQ4Tl8 z+{X@WbwGJRk?bBmS`G|{xErc5r}A$PbU=KXycK04ZBgEJpmTUKxy-FCO)h$CWm|AX z@xm_22ZPDtIyhUz1W4Xh>Ia@91c-H&n5jr2YrNcG!*h{Zi7*0ETH<^XBEP_?DT z){@`nZ0K@;IflZf+FsF*`ubfgGE482AwPIJ5@J@OCmGWhV$4Ggt`) zV|qM%(7sN8M9irX5ONBG{p(-B^^J3zjb0e}BHRPO*pZ?CucG73Nc8?zblj}}ReRl8! z3WGyjo*cCuZ8}Dwj^yLOGG(!oe^Yn@**gMnN6-&j_e@fmQXUxsFt=FitRIoN;a%N% zqBDr|Bkco{CzX&M0hxk6kCJyu3xEk9YRP%{g+5l3{cg1Rm*bY3$|t5x`RTy?&-btt zon?Okhl$Pd`>mT6K#gBl3!^Iq1UwXGK|9V=Basd@?h@7FfzTgcem}D{BWcT=5v7|A zuNtFn{~N}@Ah@sD0=cQICPBP(5Rg}=p1WBBq0d-DwY~(w5v>}j=oR7oKLAPMnJVoO z&Z7NnTJ+U4|A)tsCE^l+UOc87Whia@!_``$ce~fu0o>PxI47sWMMst%JxEH*J57x8 zkmPjSU#n@EOib8o2FSIG@~%2i%e;qTR+jc&)-K47FwBNfT5dzFSM1O4)o@(g;hI;>O4V!X7#FO)TR`~u zMRoR|?~P}i=eWn@6qRoI4ZLrHv&3I06>W{Rck70dEum7NwvB!zFTfy!!&Y}1OUdPj zSwMF&arM7SpOJn0fVfA7+r3I#zoA!KP6f_lLM{APwCy{{ZUH%lyKjN8+6zCZrBc&k9@{Fp9Iao7iS{l{65Zeg5j zx*Dw*ns#nscCsDQA9!Q28kpCn&0~3^3w(`CEIuj#-{n3*2Vl>q9F_`T&nMJ%4W=3Y z5m&rtPe$+JHFC6Cv{cLyZ%Ohu_k_6_m11;{<4NA4%6M%|c%CAEA->ym7;s++K1ah; zb5XhCVP@OG9k zrhJ;Y=tk_QvO#;4R+=hin%6JK9E`Qw%d7dx8Lowd=4UlUeA0D#InZqXEf=Op=0FbQNwS<=2w zb!csp9Zt55G^!+EBk+v9B>-CV@{Ri}*#)yQ z@%TSO_mJYO6e?lkV;U9hSdzkL=zdDN3&6!SdH@g=N{EF9bPO3dUl_?$3q^{7jm_na zM)xbsnumitJb`{L&-~4p8a6-g3rHyOdRFB4=^>f`X7wGb5w*^x_2>g7Q)FXJ?7@2; z9VBu4y&7lt!u*t3q1c`$pS~)KFB=;gX-1OZL*8j)h->@#sWA zRe=4au$K+ZpRg{+);t+b$-kEGoOXZcSoSxiR`@$oL_7B4_X~fk5Fdo~*A0#fNDE!D zV!Ne}1X1W(%QbRY8O8&*o3mB641RZLk~oh3wD-d2PCS-oJuceZymYZ)&&$V%%5h-~ zLY}7WQ6ST7volpNsIX~B>=vaMD4f4hLdtw;M_^PhKs*!yFWK&f zu&#uu_L}h97$$U$O8r_O%#gOtwn{G&rQpYy%1Dt1u8MNG@0&xez=pr#?QqvN^8p&? zbk}+)Sm+7NSya^Vc!n*UpB_t zjV{PSJtkzt*?-;Z^t+aK#db(Ki*E&P7MF(c7dbSb)h4rM8Si498~>aC)pl{ZSrhiuAzIW{v~_(;JzJiV)VO2Ix44wH zf4Kxma9wzxgulrrb`m6N-G8$acUgb~4K7n8{I)!a0nZsq+t=At`qXCgLt=%jwlSq& z0s3iBF?!Y_TTYKQa$m1@G6&E$~ol-G{Vw`AGk@-hP_c?Khgny)W%;4qTcXvP$$}ARzAC%x$HP=zsz75ZN4lTF? zN90Izp^}58uKyM;eBiV%28DVy8|+p$5iOy+blkjw>{981GB02uIAW5DU4WX2qtT5X zLvl4NC5xQtS1Xz(^AK?s&#gPsyp&!@{uIHimG^H5dI#`qGEb@qF@w7gP{liYj zJwawS46Z`vRF~-}&P`S7jbP`pWWg+%G3pXoc58rXg+L&9Roo`pE$3U`;{F@Xd~gv^bxS%p~VVx&cd@>HusF-IZmbB zR5WeQ{4T`-yuB};pAMXlP~#%Tu+&&>)EX(gUOn5r5q{<6!sj!m^ZtaL(N|BG<(UmH z%~CgE1l%9qZ2WNab-Gr^jgjiUVj4OMZwEZdJ`EpGVOCwFGF6fp`QHqf>hyTH?TePk zd!G-Vq^EdkcNqOm5;jpC*8xzzD0G!OMh^v< z+o_uEa~BcH{r(p)%Vm^Zgp_@9rWC1utjJ*z@Ds6q)L%^K19F$%02v8Ns+o1`fAarw%j{OWJD z{W%}xQ2^xBZVgG}_RI2MZUxhU9#)-#>~qSWu7)0zr4PMv8I;W(lfNJ8ettTC-6&A8 zELW-4kn@EA3HY1ITCFx9v&Pxsf>Lsy(0HYbkU`o&z zT`Tbjxinc@Nix%JUkph;L+91Fje=Pc&FLJ9(!T!ZU+9`rpyfhnH@M+2@50KVh8j{^ z{C?z-$gygTd+tfaZx3v-2NgX`&q8Fi|a zE1mm&(v|ItJ7`$36iG$bif-{;RDObW>*sJX&KUyX&mVjq(o!}YJ(lu}8O(iMP+(+u ztPuF9EEQheumw7s7o2^FYLh6LN@i zC$Lm9rj6iolt`eqHj`tXA{blTghNqpIfCo(IGJfW-SE4%>~(`of#fZGA^=CCG2BX+ zMPRm+3#_%|g@*~BcM*ZLe0FB>CwGpZhjrZ zyWgW2pEhO&NjL$7RK8cb=wEl!DoS?% z9G5uic%w9Q3+7Tz2Y4?bGeB;J08|akqCwNZIvs8|mRN4B^>%H;l_mo$jD~y|^$cab z={$yEX>9|94YNQvwKIWK%egfaEuhU{;$!TaA$~HjEY*>Ls46Bu2m3J7Ou7c8gKM=$ zA&urWvc{P+Dl-;9^BPO4g{C)~u*zj4ep*E!Rn5}9J(tn}VS^Jb4EXE(gnG>Mpo{~A zlXzEp5>w`}h9EH{6abnZ#^?Rk+u`(d$TElRJZtmooRLlF+pEy-S!; zch8LerpM zUH*9t5>1?Y#(n_jmsQg&wnuj!f4TfX=X4m>`t(-IOCm{o&FRBAZ^~=~TLUHmx}YDH ziqIflA|}S-{@@B|{XBTRxXXu5s}3md-Z=Je<2Nf-$K@Q;xBe}9Z2TK69;0f3D=BSG z!s_?Ezte9iB!Ino_67Nu>vCw^<^5L+`c5p1*XK1l`#_MOEUD_y!%qmX9FS`Tvp(;s zaJGu57#9lg#L-i~WMVKCv%ydjUySGlvz22Vny}GYxj2N&7c~00HQe7beN$zNYq&y< zY-CEMGblOot^toAlG^)Q%E&ijt)oBF;G>FXp6enHg#g|lVi6}}*(wlbg|rc5ej!Q= zmz0E5Ko=}}j(`*A#_foKj`Pw9^O*hdU6}bRGx^PPJXy{UO(#d3hxeY zHMG!oM}U)sJ6qXk_$HcnHTA+=^^+~K^u7E+6S9}yMbj2tA0!M%Gm%P3Nw{$Z!40R= zK7&kC7TLC6;(i7E{oLS{hqZ8fE)U7M#`hd)D1r2wnq3iNyR(|udYhiO}@pi5DmLKepwOGi2!5OfG~j0hP&qMHq`G3PA!RVk$Z)e=A%&p}J!E;ANETap5Nl z!txL*cxNYErT6{CRF>-GC5i9UirhasA2&+vWG)RJrf+y|hbwFOmIH zGoUy@b6X$!Zt2S(5n+z=WvN7$vEKqaD;^RANV~`Xj-~kAj`yKHgry>sE`M9HUM0q7 zg8ShMQ5+-jVmB)Dhres6ij zB!lg|>Dnd4L@=RM^~FfnKG31;>howH9^5?*MAwk=gJ~+1-$TTtQ_dcVg%f?!JK!;X z&t^~`dqrs(#fE^>l-#bj?E&xRppRX3`tjOri|J_Ugu83A(S3sIjecqRfKMgMH>h*# z=%t3;bFrI~@rlY)kM6gF2yjrQPWE^2mCyuL>S~cqFiM88KdAI^-)IQ5z1Aaq$||VP zUxK{ux#(dO9E#zt&j-02ZF}Dys$ceE63p;GpS@kyd?e3#TssQXCkWDiB_u>e_Rsk7g5 z@e4Bu+Mp-LQ}-%a|C)1lh~ta_?<7>-&|Oq4;*tRktJ=3hGDE}1YpWVOVeKxpvzV=9 zCOsnG;qpkj8Q&0bB?{o#QLb4iTAP54z#kfqQ!;q7sx;Lq_<4o(1$thU1N`4{;QvRQ zW#i$>a4`p^1$=j7uKnL`%#eip*q^&G5VI2k+;Q{!t5jXzV`j=>aFQ|5ELv5DF8=G| z!c;^yk+wX6Vwir&c@aKZHE#{~+Wg>a}w}e1;LY)~QS~ht$>&>R7+B5J9G@ zt4-u z!6?{d<%{%V)XZ0K52zE)mn@VG8foTa5X)F^3^wg>_SVL*-=9*&|R>A!%oTigm=}b*`$vn#>B=axPX77aj^nm zU-_EE+-$J8K3A>O^BI2{L_Qg2se43m7%$nIYO_Lb^ThWQ&}_3otbcsf$R7LwJ?(uI zBAy>Qtm1UxpuAn0KOK}58w(o5)cEDv&<75m)E&P(eos9!1sTv>4Zo^?zu4mTUPc_; z0Hdd(g&q;=u-5)mBx{5GTS^&{Hw_M857v39FP73#-*JbR)-LVz&!bB+9(k`MIlS6w zd~-uET&Jm`6W3*~27HCDK<|-VXKTi^!BNXXfbzRomR&R-W zAD8)3a$yX$D5KLXubG*C+};=^=Qd!T$C>*o>K}y08W=&DCm%B%WTD8x1tJXKJl*6^ zA%`haP__Qg8t4Vps4pV$7hx;JzYM{FZvjL>i?)YDITEf=685$&V0PQHa;cSKe4(eJ z@*pxZc4CG|b6VR)V@<|ewdYESxXgz5Anwktt7INqeoOA|#=>`~nh2;+)Sy1#lz=js zBi+U+py*-09|S_29}KaW{@gvF5KQXY$j|}xwEkSqo#U6v-_10+5I?727mn8RNphZT zLCmMF(^u3^M`kbU!rm!0w3NwK99mx z+wU_o{WW3h>D1A1wil;Z5^3-}V}Bz1$+M$*dg#PXy?GJ^SI;upy zmt9G#!;27GT2v$$<o+LFL()`o}tOAT*hP#SHOgKhM)(3RV%@h}~L@*M%b~ z;~Vi2$p*gjdO7-JxPZ#x$-ANx;9e!|x7GnzsaNq=SLBW4qm4NmFAzZoHeC|4V6pvK zQ$)@MoGi%1+?l8k$uTdhnZL_EGDOeemDEB2Gt@i#xP*}B4YL#QS%N_wYw5p$|D1&l zW}7H9(k~hnYoSTOi;W;{YI5@euasU3gW5|XLxoJ_kw%lQx2{ROq+I@dOKw>jW>KG* zm!8;{CFt+(#?hx43O>GTv3wc=dX{;Cnezxx%PZt&dnrI`?;;0|q*bTRH>Ca}u(0O00zj<1Zpm8i`E_nuxIiSos`;%QHa{Z7p!HZ+)^;!)-t{ zRd{}c-@6V5WkCp3WSGF?E$Lu21bm#_4k%rTzK)aM=jf0^{q77|&j7lkGJBY2a^%Rm zUT(NhW!42(WRk&1bgGULX%@VYBk>?w;uxYjN9Us{7hwZfdiu(`~d(l-3Zle8+oiZ-3WoigrdfvyN^bsdA|HEaDtKgv*W)p6$EGK zqh6f>m^*ekmU9Ip@Jxz!V8t5-FkhlR(Wyo#`Oz<93gyZYh1N8m&DA!ZW#y$=Y9a(@ z+-?=Wxbnk~{u=%tw%#c^&-h!{j@{U{ois^fyRmKCeq!6UlZI_<+cp~8Xz=C#?X~t^ z2kY!Tf5v#noWFV9*Zr+pRi$BXL0g({G`nt(jVfA#%^c8Sl{J@xd}WQGMW=gqt|gub zotqzfImu#TO81~?f-0ICvZ?*x>3(&1|JV{zoJ_r|`?TxO}%BmME*?;$*y=AbFKRkpyn`P79gyTC_@tD*eA8@s;TTHhym)^}{dVsKD74B^@MrJDPjg2HiV%#pIi-7GNT z4>hG*4>QO=L5T8ZYL>f-pvTe%^7k1ZR$o6ud&A&*GsHW9tnc7h;VQF;s@NDP*BqzUbLT5Puj5D zcZeRwJ?{I%DoWnsA#<5ljq2uaZpJp=UVlZJIjIA8D ztIBhTO)E^IO7r>y$KR&Q$IZ!;lN-f&j zEw@JzZAX$D1s6lF=IRo`13i_`%+(-rl;x z_MJ7-W2q@JAV8qtg9b$l(}($R?I^pS-4kX1 z&2U<%-YaaJ86S&;0EhKtG&cIo{XYdDwiVWZ=y<#RqlXPR36wxxhPQoZR`NNRU62(8&y5*)-VGGUh}>V zC+Ry9*+0YrI^1)EF4+dJGwJ3-oxLDJ0`zPAEnkkP9j7nIjc~|^_uH9G-?A8bSy8W( z)ouNUQ4liAm9u%xyaFG%QnmH-f`O8YgwH2cK_MunuOsDf2G99OG2E&#ag}@W84NvD zrgv$)7$v~Q8zLWja(QZ`(Osgo96+i@aqJ3f%71tlujOw2+EJ$|C!zswdgn+B`W3k< zoe9cy6S&_DoqvvcG5!T{qTB3Fm3Gps3rq~xmTs%`?0Qw-4Rtu+)!J<}P)Daott^mN zdpd8}Onvh(u`ircpp)~qVwWjec3jp*9K618WCVyd!bR3`80qQ4+sOoRhuW^6Ck_r5 z&Ld~jjaO^&8_yB{$Q)UkR*tX<2m0HczW1u_4mo;gicH*9*6NrWP|YSYb*BJ~1dA#X zJI&6m>C%~G1qg6|Rj@U`_ z)psE>+5c4G0%POxss#H8c6KZa0^wt-{`fp%yauOx}X!jmE`IYcbt@2;*c zpU*p9(5FgnF$is7iM9(D1*yKlTFnY7Z`w6{)W&cI=9T6a zr+tZpu@FLtwfVt>N3-AYL-jH|$!l3XsK{hK%HneU1|5$p%luTwIodJwVpQ1aSI$A(naib75HS`H)2An$G*M3Onk65cihLskWLWnh z5sf`S{>Y-sTF_=ip{GB?Z)V{T?2_~cqQ>x9>45xC2bzI;go_2J?V`puXqNcQ4Tbp0 zn#=n8T>8xYZ<((shzot#TU!>o#Q|IF)bkD{Bch} z=5r=0Y*?OTaGGqUDBNhWJjW9j5mWkpthp3@>ON%+T%&AxW=&9|EM>D4^@lG>;k_w( zH}B}DrSDCD%73}!s1h|^2L5KT#pJLVbW2wa z`VyID$nWEnQJ*ncip<~@GyVRdybaWDxCb2kClt|KVw|J}I=fHKnK(Z1})SC3K z8(E@{!%@s3ztDDt40*!-iGQLjS-X|Kw}jCca{OCzmZSJCF>)W5%ga?6y1&f#N}5~) zTj}xa+h3hKy`DYGhC)+g>@gWr;nx|!i=t%e zx*bpUYs#ZqV}6@UKLU^4S!iu4sX?&x`7&(ZOw+ZnhTAM6tw5JI_ZZsgZQWsDrss|I znpJo<6jm=WNn?uKTS}jWV>&Eh*s@sd!EN&I>TL{PYqW8%51^@om2r0GJ0kB4!Ke|- zuq(Jii&$BESdul$RTvG^9(P-q%HPSQA-Nllt6e5I-HC7LMgYk?P*fYEKSp)q?n2^b z#Qp8WGT35x>IV-GT^43niY#^yu*_^_%%H=L;tvi2VV+YR(|UhF#;nZVaNdWB;a{sr zoK`njLX0vJH-BpqjqId%Who*u>6A+N2gxHjoKb)_ms{rZL4YvKob7nxu?+|!tpJ%2aypp>FtBa6$LC)BZG|G^F8Y5tHI(~XBEf~ck8?qAyujiOhmyj- zX9j$m9#YM~37u!)jCQ`saS&^yi!aGIy0tM#fr&mBYf_zKI~i{8((P=^3_`TAZWX{% z5||8CfjDF@rY)HcR_Q-~38&?nr^?u5IC3d*S`{O2I|9OGxJWwijdk>(74VVM@`PnO z$t{d@vb|MUDZRjbGM{qj@hU?4>UzFKOWnPT2u&Jyfm{QtM7I~{pL%R0JZ}=JlS$7< zq?@VDV)I}6Q(k|x#-7Uv=xgk;7aTJ~L+^@dHhBMhs5X;o($wnWp}H3C5}yGHg}a1}l!q+=j_vzek* zS}e#^Y;%2YuaLOO=&@{st05*d%MJ=xhF*HYDE9n;XzklIS$uZ8AoxcTBy~{I-Wc z6#yylv;(ZF*Djt@&~#p@t5?yO);px0h3iz~Dm-m6VC$LJ!parF&=po)Q$b$&gK4SB zGmA`pD%7JFl$%gx?DTnN$O_;3@xV5H<1PJYc+&!GMV!C7pPUbmGXiqkmz~(Wnhw&&1jg&9w-_^cbRb&UB^V%6IyYFxoX61 z>UI4wlS-RQCi)Z%LIGC>}LQJuO z4%$oHxOrfk?8TLurOAx;D5Tlp;5BBHUq^-}c$fJI=c>?HZOM&~ckZ`-nJIJX53nC& zM{D|5oLD`f?4VPVm|2(p{-%h0-wT~@Oveo3fi+iLHU5ysC7>ttZNTsMJ27 zr|?cAK@a>eoO*siQmnM=$8)a#4sh1Oei)82=|V?U{rY?_B2QR$FPOKthU7r7N0j`J zb--1FBOLy{daJPy?a34Ihd-hZAwL>%DIxj3TyTm|C~|AGOWAMEy2_Cn!V|Y~^ z6t^LFTVjT2+|H5?(CZsU(z0jA2ES;G;nkBf!P-NCAJWzLSMb=d`WEZ!=$@aS2h8)$RwvAO42;fR zFP_b(&68FYQLpjIcVV9YIQ{LeZP&TLqbJEwwzGl7;C&cK7{#VFf(FE$tsW~#Tw?fR zu{~-LzxyK2-Z+PQvf?Di=U5s}Q3h$5$j-XE=jF(cN5>z{v3^^*QG!xT?~S=_7%j!^ z3rl2bs6v^r;@kQoBc#uYN3Q&J?I%ea^IsE=+25@;7;m`}cpgM1#&PdE^O(; zP2&o_4U`uh-OI+p1OP7cS5WW$@Wr^j&D+rYA08j8Vt=AZ{`g>GcoW^xTn9ang3GD$ z??WxIdEU+}CIKmbRgm?2*OF^zh?o~k!?z!6?|l8N3bg+=-^69aHo!)H^bS4SN6yIC z?M{O1X;TiVA=!H65_`Xren9Xk+o}W#iQ%@B+AEy~is5#lD6l~=IwvlC z#G_|3i-VBsGTxL^L2Y?D0?`WfbNj7r2&weo463{XpUC#`@wu7UVCIqE%@471G zGAP}=wvIy|d>wVaWF z(yRG1-V0-Q-h!C7G-L)Oq(U0=!=5N~L4EZ|RhQ-6FKzmwf!8WAv$rOfX|qhe&c#s` zakzejI111z0=uQ9?ti-!NIJUgQ6+M3uA2543pUT|aT8DQ)^8oSCa(bHZ^Lfwp4@`= z9Uad8_0wIl)bh&a-`tWe2;$5EEG*VgWkEWwj%lrYsod}`(P}|41zcg1@yoh;_om99 zXzS(7h=p;{XmOcTXp@_nX|H!uz58vkeVVJ$aV^dvbV%<4PQ(x}1NFzxDLnDQHD-Wi z%BzRvFVsgc)Ypn17LY*BgOD4m{3@_@v-g(RlImVQJHPHx8r}paycnICpAc?cQv+3c zUCbCd_Fa>*r?)$~m?(K6(z8~QO%Zv>jPz&B?jb`F!X9nRA!w`R+90ag2a;VD7Lh}C zyeZZg*1nr8#1NgjibEmC2>^_KOlN{YF(1FfDiBYD!TTGr?Eo?KU}I<7BKF^+wn34_ zHBSj5T(86eRH>_P^+1(S&L`xfh$s7~Ni-G7503@#@vF=lRv~4P!^*TjZic@r4+zMrNmH6CS-|R0=$mB?LlpEgdB^e$@NC{+ zd`y02rfClYp#;+Qoy^L|)gmf~NWCqT&I6VJi07xD8umSvJc$W(^?mXF?N z_%iN-9p34g4P;RZh_Dn9yeq*}x6+=XW(gy@37A-1?B1VYXZNW(ey#9M<{sG#n^tc9 zk$=udJl&=GHXIxEKDM~-N5$CScwMe{=-A0v5~QCgq6xSxn?{P9@3Ss@=Ec=m_6`ON zlpxxaAJ)8AFghgFyJ$Zz7^B}L_l>WNU-zZ>jiLM-#-tv*(w%h9W@p`KwWcX|#m`3j zNLjzs-4yV4Qzy8*-T$LAVWjXD+(BTQFPVzx0@gn-5P1fDI@W8OZD~%|=#}_OIIc_8w z?1vv%k@BYOL#ua1{pSs%R(jvAgPS6G=kA4)W%WrFKTo(D-{9QwkBd?xP-70smTwHT zpixe4V1sdId#13?daQ<^M~WgsIbN>r^J0aH*cF&Z_+z3$bB2n|spGl!D>T z`U+(p+oSxP-5lwTYSu2837p(JH@awaRY|NF%icr~+XbwCj)`xnum#Fs=wda43UV~b z0ndO{$f2L#ldr@x`fFHIFWIHo0CtLtXnV&YN;xVYVU6!o86A}6u0dqmZdw*EcJlY0 z0p>>%(S)2|B7)102>^Pq)E*hn0Vz(F#J_IHq%zf*BMxfu5r^HXcyFKnH{w2V#MU zzexzQcI({3#`kP~Pd}-OU<4|Fjg*w@^MdY`G(akvH`sx@(NFz@f(&kIA~&t{L`YJ; z>PP1{%aubDbA01k37eIl#U>aK+y~7qgn7YOKOynQ${e7%hdJmK;GF14DQ%Ce95D%b z&Ouu%!8SC!XU}}K$I$YE5G@JbG$@@r0S&Z{5fm=20wLe#a` zMreP7DAxyW&CvglT2v+s=mw!eylwsYQ$;AuPf*U4ORA6gf}j5z{xB32`53~V84E;I z8x0C9qMtJH9;^?)-yq}~>&!N}N2*A&9^-0syfgmCo~SgO(($Sn!(ISWC;sec1T*UJdvdL`p-!mq?7C(*nsr#Led2~Yg}(2;}2y(iDPnmw4HE?pVhcPD~4 zm5w>~XD<(;zhauX-lU$AU}0&6#OKjNMZ#5Rr2r%h(>4?Ry|C>nf>P{u`N-eR4>rBh zp=H;3VSJzxnTmX$pdWjn$2gn2fy2#lO=;auLTZ(?JLPTZtq!O z=S7&@AQA|AuE-vC_wB)WlQIXafb1pAu$Jr-&tDIrhl~3u26J0-QxMs-0{S9@`v8PF z{T1tJVFJmtfTKi(~f|9cu>{om~3Y;6D4d8w)Gyx)ZJ^^iPM#H(A-g6dD@Yf&a;&LfpcnR{r+ ziS%1kGh4D)MCokv<25%3T!CC{)HNs8Jem#(vCBDZAh17A1BNPt9sVnnW>?R@@#fY~ z-@L(O)QF38Q&l$}TqE@#$AE`U@Znd(wUWNrZ57&k_r~_y4c;V{65AP2t+8Pr5Eczf zhKBZ(H5hiF54_!RJ~el5e7=YNr}Of`SN<{j1nARWOIu6xhPMMH}&O;PH!X?u~Ly7Iq;g_aM?x{CD!f(Iw7wFa+^vO&t)HJ{BCR}85w>E;P- z{NsZ*yUaZ``sK|JcwiDe&rqW}PPg6@nhi()GRg-W!kYsGw`EJ(qSRHKe!rEK%*y&N zWI7N3W=;O;UtOW9htxGY^_keFpzoN+u;bA;#)SeYi@0vmOx}{kSfKtGI)=Kx873E0 zH#pkpI-%$f$-T*u(zjw25hY{oiXgd6khVgSvW>!4fr+o@~a9sILWj>j(6cOy>AY?GhKDHqDe zSTKnD`GSOByCE5Ic5ggHKzt7x899(Ev`$F43L@~keas8XWW_PuPvQlJ4^`4LC1K}bFWu4^ zk;Cc%eqQBql)okFBpwf5>|ZL_xm-SKL9SJ*JraStHxLasBivpU=WQaCnS}0Wc#L>? zm@G;I396;Dj2fP(Q_A2DWEO$@VFezzvf?uz1M;unWBp8!o(KvclgVR4AD2WRV&Das zK|!qim2jdwU|^!0y{)w67NsJ<50$$+hszwL z19yD6JCP+imus4T*@jxBc@$5=@10jK#3v@P3-)khXPtAE%Eu>g4rQmc(HLCrvrEsuhgC$a|<_Iwbp@29^A7^23abal}|cIU5C5nPL-)GIEZB(H^E7z(QnwCn7r_%;7OM!Rqkc1r}Yt4Wg6?V^a5i zzF5xLNy%V6!>=>HaCPq~!*M@rV>sXDotVxI;?#iAOm8V}?gu{fa%9ezW8-(k9wfxw zo`Nx9IejUTDM1C4tACRuEE!HNMXe(X=UWPDd*w>enj=?x-(5?D>@~uk7fKlz06!yc zJ$h{|p+C>X9I)MFJL|F_K(WmX^RWUMHw%@v3-T*)=`kKvDNa@(i#*R6XO}%{5~>wD zrV32CHU0;*YGu)@!4}ryd9ctzgPRhv&DlG@!!1JoR*Y30q(e~)`wv}nZBEB&VqI*|SUv0mG=iIv9YezWOfgX} zhx;yxzbx0#s<-yOC-AUfXkG=p+z$wJ+eqElgHTI?f6{O5Zt&d*F(YvTfLQD9XIN>= z%2|o9fXl#>aY4E}#oOVLR6-aMV@*m4;T>mT|5N=6YheY0ZnZemd_9IBpLIwH7nFA! zbnr4-FLxSr^FG~vg1aJFdg5Kk>8mXm-kCZ$3&%qefiAcXTu>%PP^MaNq!dw(SwCNb z7sp)w+@Mps@I5jtuWgxqpv`fGGyIE)pWr1j8vr*7xc}y+^{93tNE)Riq|^t??ZiVy z&|gilTOOc#?=M#Z0b6d2J9mu{zHL7HnYFDA$CMdHfTdof@)z}E3}pBg_X9_TWKGDd zM1%5R9U@*6icL~l<^k?apBd4$mkU7@$#`feK^G;8^FB7nbz74aI28iJ@Ob|AK;lR} zR#sCo>n^a-ENWmw=SNS6{W#b@J;mw;v*MRopCf}j@LiAuyzciEnXNMB1wvsYIM|0y znSM-#f1sHEghcw0*a-fmQN^!KjhXN%uuuzf#s^*~@bH`sc9mO^u#NBhWXc!H8Z zrcJx(quGoN7hW6+0$}asL-M)UpB|g6k-Y(}H#%+Hf6BzuVRBt^An)&<72i;qvW8`?O zDw(K%QTLT*-`7K6GwpKXh zkh-!%)h7-`!1;rUJhw0UQG~u+gzCb;Y0LrHC6ThOVsnJ_Zx2z1fO?l(i+?BUPFW_1 z(buH_E{>^WhCeyMjCgyho5!KlSHENmvw<)%gK+g30&HO%M88n37U5MTbI5C1P{{s# z#XItc9PeL?cYsFUHw4S+?oD#MWvQ&st0YC!ProeBd~O<=;|11XpkH0Dw|G+Sib`pE zNm`+F9G2FY8*xE7FX@LjEN?=BS)y-tMKUv7y0Y=vzdRQ>-zQB*#74f zfnUM7K5B7gVALyRn|8tl}Px@#>NXv4Cz(eNZV)=jdWE|iB zPhZQX=C=KRo?V{wdxsxGNaJ`vumiy?+g%_z@-4UxtmC1VF*5UGO}WNW-=6--S!#_p z&@E}s8zO~DozCApZ%S-QH7wB;RsS5*KA@=(9pkB`7JY+02)v)=K>QT+e3>4jdh;$y z=Y5rP+=+N9HbTIDq7_TOt8N&4=Py5RYyd=QsW#4v8isJ#QE>_8`k(_?vmG(h(vu&c z#8(SI;dA+LSs5A|HaqZVV4|TApvbVX5eTs7LxK&#C=As(&@}IpLfu4dV4S$ z0%7N1u93w@4TX_#CG8$Sv!4-$Ndxc=A-N(^7DRQ%3})c$GwueArKYe!sSa!c!+=@p zBNOrh5>d_glePnL|MmlauVn`4q8e?vTMK^%Bs9ii_WG82G1L!~EbKu86-HQNMO*~d z5Tl@#muSQlQSi$^NOoo-9A*;yg!q`euqU*~y=VT2dE_dEYQ`z2l z$niw%Dih-nO^r(p@B|ylR9h2n+A{Z%sg6c+9Rcay<(UJ2DPsRbYyC!LWgtg%Iw} zP-s5b52SI#n30^WAQ()xDu2z{aElSzd~6t@>^^kR0ApD+Qm|oSKG9bAU?4Qz1Of_e zaJ09#*sDga=f~rwwd(uLk@k5&F*RfiMfu>Oj~}<^tqEs*1INq+w}R?)re`C!o}Bp~ zr{-t%`KDj$@M6uId9~|U!xz7QrCdN!E-E%!EcOOe#&(QsZS2L?iT3%mT^RgY!Esjy zgUI7|6~v+Nc8Am^*~9@snF2PsL9Z&+tIXVVnol7Z`2>^}vtHX&^VFXY%`~HGiB4gc z>MYL0ykTGJH~1^`meVE|t>zx%UUg76Nc`@9-uW0+nak zb}h^f%H!seqaO5z+-?`T?%d>j&V>uwhBh*%5cc0iJX zTzm6FU1bRV0|Q*39}|#SqpqrB*o0M%{HqN7SwQ>RLr{tBuQSJys?k_%9KJ6oC&iP@ zzTdOMe*45VWy&yWgAZ8bq`L6JiT=nR6^JMF7G9^B%7yqRz3J-*OTR5s5dbCq%}l=p zO1pf4|5{CZ=oUEhKZgAKVJZwGQtFE{Px3AO(6O{zJLeA%?32?2?({z=%&^t(YxaB9 z+&c8Q>D(uT0Rw3kj~*zE8G_eAZWRW-)`KY!P5u96!b3PJdO&&iIq~ zH<3d;w=oe@;AW)YW=AC8Hx>Mfp~QZDr5?LIZb&&_W=`{;u8O0(!>a=q&00cuCTpRX zk`nnoA{3_{_>!yEM%p0k(X^#K z5@&Zyq#picOQA%xWEWHKon@H>Aw6B%v{}7h#d5msSvqH#ZU+ zuvN$lC46Wv3uZHQkZ34O_|nH**DVjDEkuYgd^jH$oM~W3M=&mmdav2G92D8|izvAM zA&hbbr}lGoCz-xZGP%kA6?A52Bj)6@Lt+)7Qrxq#Wt%XCGegYV1-!*K4pFEu7<)J% zJKL?)Knp3Vmv6>9sCM99=J@Gb5kUu8a$3_rRi;}~O`l!)8v9x!w-km)=T*{_s+8tS z%43-CT;{;{UPb!^QkrbPn&39!a&BI(W3zHZ^9#?$^4O|v{qE$in}3t8-iL}R(bRfl zmAluHj>_SyDqHu<4E@$pRjJlg*5EK+<(jIlI@bK1nChpiqHc}ZqK&7jF8%tcjhE-+ zvkc^Y44os2DOkOa=&X1bZk?Dfs3G2C<=a|wmK4)HQzq7PzH z(QX8)K&oRj(iBj$7h?aK@jU^A?TaoPT9+45Oo^En{u|Lp%u%9oXm^Z#M}8$%bm-GTdQ3d)6DL+Y^DjNz zv#%vHi1_KcyL!NiN6;u1RfpL4zqo!d4WAkl^6AIm&cLwfP;g`# zd=ywSBW@qGF{U}B>JT&glD5z9?ov`2=_|jCMv44>UheZB?>?p~xNcDpwrQ>}kbP1s z-!&J_&T7i(v?eNnZ(tlYx2}2{uE7_Xr1pxeGr~V1=d|EV?}=xFr_zZrE%813&m;#B z5yDoFCNI0=|=eOP1yuFV+mwqDD(~Z5mbNHSM=mCW7%EL2`ALXO=?h;kSNz z5%b-N{mc3SZg_qN02S5Mo)gX z>*3?Vdw3i>?T8O9FBpvVr67h2D4Mi z4$(mZ2U#o_jyEl@Hw31a9a>4ec*sL#f)NGuVG5K*pd=2L%RhRHvH;wNAWj+Wr2RdMjlK5w=)3m}s{F*<{9*#ZK6g5>1#$u^P99A3t-9P+B zuv;_t`yLf%QG6Em+3A}gM(lTl?&oV;{ZxLGz}gD-!12n?v6j^=H#flydmd?*zoEgK zhKZI~^wwqXMC1v!x~cry_&?qSQ%`RJo3Zmo%lsQhTZbBwL1>_V!hrCSiE)7-BUSm*UD2G?EaxJqILQ7#Ud2m(SA<5$6ck z_(wSMn%P+)JvWiK9}@+&#tkG)fF>m+DT4D}qXr1&6qIMl#9Izuih|FlU_^x1vxmi@ zqtEU{6cM&X7NtnEyDIbOU`q;M*$@DkRtAMphGHP;U`z&j7JuR1szLi@)2Q3RzAd-b zHFW$gT_1rC<&(q~ZjAful1=~kM>=x z%l5K;6y2%qAGA^wyk#DNu(z!zU>P|suKHZs(W<6t^_IS$vSvq^mj%zjK(R9 z*PFMMGJ2g!x}&ZeyUMqbuSGqKVuR~~LMO^OJ8r05Gc(vGQl6!sB}!QXPAMy3&t9V$ z13NT5cZhEq42MV9jno>@?KGgvo-J{+p}XVO{uz`E;i*#KZ>3hS7RmLo&8y`bA(188vhwzwa1s_f<|nL& z5;%T0uA@{1N0}$fE{$RS^}D9xpUpXugoXs>+2gUKutKydoC|xvBE+8OQLO!ExyJyM zB1H82oy}WgEnl(YX2XztvA04MA5GDnk%wbqR6)Y__f^9>%~i!XIIjRm;vig3-W1D` zj@YOe3^*^k3L6hy{7dOeJnM6%0wY72O5sec{P8!)^*U?P)-LIevQcd;X!W@DG%VQ9=z+f*q~lClW!$;DJUetT%pM9qL5KY{XyNY{n%3 zm=bJP{2v{ssAy=XCj%UzpSPTEeo@xE{vw0F($|1)31ZT_3`co=q}Pgt=+|B8d36Y# zkH`1PzInzm*bq7KhoY$;}G+I2QjYy0g(O|KMKLh_JiyHwxO*{B7PC1b&sN|V%dJz zo-Q^NDLIaNj>)TQ(xq0GmA3W53Al-o`!5gh>@(=2)W-6*h}!&hcwj>8ul>+2+FoEE z#Z<}||`#U??VI?N8_X4;dzBG92B!Yd|ai zzY|qzUH}71DpS(l7n*+{AUfIEsPl&ZHI4JAb}4Fm`I8sT0@J2uDQML``vc=6JJ*~4 zAV`{*CWt-|sR)Vm3)z4qjUEYDaw+}dG#Ns+zaqiKpPmIu+rR%*d@;C~GAYk^{a)Yr zWV{q#b@QIyw6(YFvGUjF@0YqPE;Cbq-f;$R1AJ~`daAufI99vehVLDxD=p5}_hS!` z;&5v1$%e?GEWdiZii`lHJn45clJ^ET!kr+1l8)KpajC4Z{uM7Z_C3_nZ#m2D*2w7| zJ11TWS!{J7X>qyl{9i-GtYgkgt1df2lV@keL?~s}ZBqQ&@6e8FLMa52LLv3bM~rSR z;1Og03SrqMO81mGQtJ5A8eV+1{eb4lN;$n|e0^A~@(t@+93PPg-qq*SnEJBWHYk^W zhQ0R0a>K~-RZ6swEwmuo-{uM@gR^$JBTkJ5ZVz^;m&QXr@JR~)<;-?8Zz8Jets$J0 z$iP$#xs1W4I^$e`>^W&+cLaxlm6^5(c>5rVR>DMNZfp4vM1>*#f+D$u%CDcmKzn)t3Fvt?88;tkA}|K-Z4Y;`cI8L5~S}ofSaiV zjjco*?{cj48^oSD%eN)1*T z@Y8#D8&pH|hVz-%;_%mpXNNZSz=E2b>iX4tTbGHpn^*nq+)(z8P{Q9`lsz&N*BM1@ zLW`Y6|EJ?Ii*&h5)Q12!UiIGN7p=sdQ~~HASw-aC;mU3ux*9$kyWbmk+j2XP9lU#Z z7kV^7B+jsvNz5V_{Ep`%C(-v-jy}d47+|+aZ%xTw9fGTe%LLzS5QEQzEuMrebRPu`OZfVsIT9um_; zme9bWiLXxbkcy}1OWmWEM59h&m1O;?#bmh8`guXKGfuCdz#%aPq3TfBBiuU4^0$LDPcvFJemZ8>0}K-*27@ zqm_1BshSy=5Oxzpp1Dj40EHIWX_r$u+dkV-S%-iYb)8*YOj&3D>9&D^<@Kp70S;#U z0<>C}xx~FVntTRFIrN#9u@qOJ6HE^`L`%Xztv!dQyTivd#*wFzZ;|0fm#p9gr0w!< zcx1#&^x06MPqCxEf1%XDNM+*Bkv5lHz*o~YJpX3>9HoFUXqc2t(}I&K0er+@p~Gas3|qvWa43#2 z<|6O1qQTQN5e1Q*3AZpP75l2#3h2t>5a&Rq5Eb*jl+~Lm<SwsC$QitXQ^Z}Yycm%A5?IPHG_%aXG=dNMe z%ho^TA`}qL0Q;nz>0EbbTP&hXR`lT?s!IysPM434B)&nxqB267%2}RmG$Ww_9&xLW zr=vDes@!8uRqknJ9QwmTl#A5MD%mj>SmwC>v}Q08unfqmEs!{~jF&=i5-=J$wgQ5i zyTEN9%9*E(RW{PdyiA`a%+HjNJL(rM?c^O>2TpitV5P&RJ(rR%$IX$CJY8{!2Hdzw z!HA1O!?`$U%(Q*?$#Hr|r|M)6+>d^hwFj5wT^)-6+=IRgmP};L;io5cz<9NiUVA@9 z{)2~d;tG0Qy7d~)-$;>VG{oVO!x=s#GiiQMHjLt3ki0x~EUY7ebu6{BMuAv&eJR}F zjN4>PARx3zq@L&BbNe;NH5mky*RKWdx=J2-Xvff6)vbSx`X_VNuVNiINfk{^L&Yd% z4cOVWWc&jD%;W{H-?61Y3A{3S1;kgr8f{Zadz?n|T+j^#tffGMlO<>)Eu}H!VHweG zqREb96^a8!%qCAS0%TN$23Xn<>N`*U^ix8|@lX;=uqE7!zV-Ocpby`{x2Zr4c*k?Q z#2(o1n1=m2^w}0N{Z%yHdlZj&4*)?fK#l#@dsEvB|H%k5WT7Mgb25UQ$aOeBoz=Wd zv_xfH>5s{SXUi*o?!|>f&adnaz2mwZ(*G-})5j^r065kKvE4o3^JyD6ut z#LcsGNyw=u9JqWJAj%K+!c-waR8Q&`8krGa8lD$1UwxDONVeK387b7{YhIf36bs)G z$-zkhqa#^^K0vuByW#wuH@At#?>vWXK_mu#!IOjrGlJbf4hdm_1JjE&q&5A?_n`kn zU`aG>MhFxgl=c4zn%Teqm*T?uKZ*-)KgezZKJ$8ypzKyAsk3{pm?WLTsfW^w2^Lfe zXVL^jsX;g3{Q|sLG9xz0QGyMuPJ+TEhN0%^8X@u5l(-(ANt8D#=!-JK6nn2vpXd8D7cQAGP^KpijDNe{LA6w!9&jRf z$Nap$d>KDjB^n3#&?GS}^yr}*p3*-!-@H1ye50Wc$Y_!#`i4e=9wVGMob)LAG|URy zX)7B;W-YUglLqsqt7Gmq3!Zf~JQ10X_B*uLrXC79X|=>Ba8xijH!1)urDm}w&fJ3 z;GAQ#ZnLyv+N1-?+W!s*6VIT+s{OF;G@Rtuo=>M;WK#%$hKDB?ZIFoX<~4d_;Utco zGyz`HaDXZA3!)aQ9UK9jPFvMLcSo>OUTqEyed1xC{>sDYqRrJ#S83}$*yH8Q`T{zL zkZ9_l?Zb_}XqB$r18_my$IgkvJp>QuM|7U6MhBu&`stF{mVCF#a9>e&)V>_o-8#SQ z6P>(R*WUs@lTZY$Lt0#oNbKHaR1C$b`%{t~IHO^PEx=wnGB7fS{)`Q#U8UJ?>BbiX z2KeDt%faS&B#Fy~i%LeRJ*^XwYW0)PNV}wpa|XA?xfqoMZZUcxneiHDN$1;&bBrgd zJpQY~`qb6yFsB@X2H8}}_lMM;!yxrgh=8*Dz9J0#p&Z>8Mn(DkqbPvi{-z0qU5A*^ zZ?}Pb{9Fa1{~caFkuO%49$S_+;-aZC%P7W;Ost~<52~?Aux#?FU>V(0X4zlmw(jkA z5%2He3)0g80&b#45m}b-Sp(JRYC1j25-P(5l@q@?i$%}lstST_fZk|Xr|qTH-v_8g zc$e?M&&FqgV>ZEIsq>-6f4vw&RTX*a8>#2GQMR+pAT~2D?^>DAYQ(`U5s}5^q=<47 zypY*wShc9zWcSVMtg~6DOo*D}FZpmT4B%eQSp1EhZV^wFR38GwB_?l3HUqp&YhW({ zSy@idm&5*6{;7m+1Wz)_;mIVt%pfW3;ZPuev34r9Slf$QI9Kgs*$SQ<%*(Iq?J~wetggZGT*Nsa7Ks6mU}7ZEKT`W1ccBh zfmBr8STlhnmxtv*^s&13w*#gB0W zyhUijm2g*S0||DJZJ;@b?|Kcj5kBz5kN-cm&Vf0zaNV{^zSy?ev2EM7)v=u~wmP=m zaniAEc5K`B?R{#Ws#~}2uUK`G0?eb4 zf1-{WWCXPOotAoTce(yFd8Blrxpey;i9Yl*mZC~hs~GhhjTe72w{DeFC}G}I;E8}y zL8FIjJLL2%EF`ua4qV1X4aAH4GfG3s@Ab zZQ;U02eO3q1*Ujet>*8tn0bOG^in`nnX&+UN(EwIEmG=dGywcQnO}N zNHCz!kGhn)GU~}?VMz1L{Egll#%oV6?nmDj1^Fy4>@M9zZfVArC=m53Qp0mxTduad%Sb*o&J?g~iIg z((|~jPDk}0i&3Dabin(RY2J6tW53&T#YXK=MHUBA zh{w#oijz49al+l}*wt2Z2TtwPwphQTbE#j*FFE@T_%`-v%_za#`5=gY7k=?GdzTcScEf z&gh|zey*f+kG2-VWu?ej;=l3StVIy;S}qW$7p~$nrG!p-rbiTc zVzJRQ8P*yF%C9#yve$fZ^*atzNu*o~w1Fl5porspde(L0XN!kKL0NJJ#*)v)(e9L7Bd_7HEb z0{-l_nXL3JYNmUyO6Q%=PrLhOvoL@a?}?4{ng;Y^<9Cg8;}O}Fc^-UV!ia2u)bSOZ zcoTVk9O^i(C6q&cY(4n94~`<4nPnXmk?^{KWZ4geAy~t5ViTJ~>6MKk(q^HU1FPRo zMCH%LBmDtwJYY91pZ9_ivG1D~Q*tKdE;a1yxiv7&6&Pf^zMFKbM_2spAF)!P)-X_p z69hy&g;2m3WZR99W$Vo#cU5t=hJdDx35n>{#tgcv1WJP4c;@MQu8X9_fpO<8yx1v2 z0H6*_;duRvxG+`sv93T>H*~z%Vw7FEz^F|NdN*|EH8T;e9zV%S0dv>s$NUc#VcVGW zXB{dDTx(QoaR5oX$R*<55nD?gy$Wfk5{uT>#OEklx1YS-wOQ!Lc6VBM*+@hWG!oFE zDfk!~IR32cjiD(+Sb0V+)*GTPSrtUU%>m_dOeSb>G*$sI9mQ;87j9oRB`Qjef|&RY zab9(((|jv=j0*A0r^DaepOYWJvgh`)|B0SS1z#9o?ElT3IFa$2 z;%(VKuj|iU%;!q6&3xTnJ>@wV5~bZ5#)jluMRC1+X1hA24ZvEz+tFMGlCQ&(uN}&m z5fA`zmqGg0_I)=8bK<9-tUGA0ClJUO>PXr^@J6v7S`r0Lker!*-;b^_A@qx6UJy`= zz^H_b%Redob7VBP3##zwfDNW4!uS;Ti4{6`Jm6{|TmSXA#Y>isb>BfLSGYV6Iit5r z>^FZmX=CAeH$)(yOqpXsL0XV@Gp5rvL~{i$4-4z%xz>rbSLnZx_v_CX*9l`M-4Rwf z&6K%BYLV&`uip6^LW-V2T9`smF-o)WWc1}0->)z<{1okfgMo7G;S;?IQl8}^xc$|H zDj|K_ba*=}V8o;Yj)1?$QWGILIO-^CReLIszg@ZU$99^~a6~uiT>L2w_!*9iA07-O zlemv&?JDcO7i%kzH_G zpMo*eJWo_+x>?;mD?(QktFi?{OWPd!JunKzaN(`1aX#a;b302Oxz-^6JI|-6??bd} zUG54qw!FbCaX%ySXRwppai1RN{RlRYG%-y(9|Z%GU_@bK&I|GwEU?bW&nmM4mJJ5k zAE&VMZ&2h01ANP5EArts@E{t2vM-1F8gs_@)W0D8@gED{6KVxoi^-h&kHvJmkSsS5 zH|Ha3@Cs{oj_K0dx#Ls74_@<5h2f7}U^W~bhh=Zomw&$M)UL%M!zP2Vs3SG-P(2J8 z4N_YDLH;K(M0GLf4K?@T!V?4JcBLL57WU5hSADIRJOsi6bI(A~JYAj$rwHbeYA(d$3B{9B*EzZ&_BW}!5yxBNgg>Pe zW*FN)^U8geHa3$&J*S!wCp!Xh=IeJ@Y@+yo~ss^MY+$fEC5n@aU+ChIH{PSfJ z+eBB&{H0pKM!Ekx1pyX_@7qiR%z?3jwveOwqtpfqGeu!6o?{LirUWPYCn)L|Bl0$?5u>qV5^ zz+ZvUn_h6=-v>E45eyTup;iapI`l7GuX$!cua&kc=3v{D*RLw2VDg@Od#sR^#9GlH zpnZ_rlZ_VcoW}{LMqh+?FrZ&lS&Bt}CgU5XumSQdGx2?Oj_+DCu2(?_}Y zmB!V%(EfVz9)4uurx=M8!(*lKCTsrX#%1IQh$JL)yahsH_lDPs&P>AP-kDS;`?pAj?7d@27)YPmpq~1rP+mZwv1GE`q19 z&|!ViWT)JXs+Gn7q14iu)zS%REtq_0Y4H|+_hE8jn%oY(tqH9w+fHB z=I2>*@%CjaFYjEyv+5{vUyq;g(?YN&w&hhGDz^HfoB1~9JIZB|{3^tvah~6x6skKT zFKIlBmZX56v&j-)lk(5ms=xSGK*w$TnG~mO*)43xKyIkw88&~|a4t%6*@@KD$}Bm= zk15{*q<1%T=ESFK?SXy%ip(u+I9yo%#eGQ}eCY0JY}A;+w6Bs4)Ky7@ApuyBsRs#P*BVY{Q*0Cm|FKgg;@-rYvzSQ0>&U+v-bxLwU%Q(6_r zLEFd-SIXnonuZa^3zI$Am}!?@KoCSNgXueytK^(ILQ-h zY7klRM~wE@sa+;6Nevzj&;t?hnOILU_F^ST@8_C9<5Q?7Q*~ z*e)A}_5Zw0rx|L1LZmUMXWk{4iS1g6VzAr|jsr_lfi7Nyk3P6EF{2ml3PLys;5MfDS z(CEmT;hc0DX%zp^R_J(9|8FQYcdpkC$;)#P+wj9_F(iEcUf-NTa$q-<0#50j4er?^ zu>HqA9N9{XNtBr9|9*S9c{$Qy=)h$U=kv91zw!h#_ZeMtiZI7et`?bB#TdJl2&eh{anI= z7X*dOj43IR`nMpYqus zM$2dSAz9Vv%}A^NMD(WhZr2PiyH z@SkwM)}-)#R!eCMWWDHz4bC$t9p^KzkQ*?VUa@qbQz@MiBGf{o_quz+v{&W)tnOD_ zXFsf5_b=M|`ZpO_4C66}ND5ciT*4@?nB*#_{#gc&;5!O@_OWUk)U?y78clv*=fI?% z*^Zx71SA7BgoR`z4TAuS)l#!};nPw~t>rO9zl>DSW1xfPIH)s5vWmS|Shnr0z4kr4 zv>_^;HXQsMt&DcoS{ow6ku=Fkqj$;_2o`WK5)#cTe3StpqN54)F`|<01pt?u{Q0^R z%+pRtwQz33Qa09#E?5+m5;-2u5);Ggb?vOO3<#houS%C3<#$y_FA$)U;PDq$fI1G7 z{ZqqDvZ1CEik`ZBVQ4k~2a%7RsD{{l&yM7FD<$hO2^ z7BUla5Os6@$Hr`NU(!E1*Z_--F}PcpbjuQB#t|0B&u@U`t}?cLQgf9?#GIZ3MZNgd zR~?YP9IrMu#|Y?T3xAUDQx3cR5e}zH=0apm9kp{letrA6FiIA~mrM@zR>uh$pdXuB z)|^iR(uy2o{VCvZH|-EyE#9TX(FVr>YC*OZpdp6m*bfrmd#tJ7Gh@2SuM`arOQ*Nk z@lv&m%NDLV#_57O%>`iVN#@uI5Gu<*ZUV;4ROI$Cs0@69bYO#)%Nm?0{((5i?>7)x zOZ$L9o@{HI9>Za%Ur2&-xx;Gz#sM!8x`b%aED#M`#2iWt3kd!YIT09yZ!lC;A9uVvh#u#cT8VUj2(*@X%J69G6qr_1F|E! zvpJ%5BUf_L;0vi=`=jTCBZb&>m`E5Vp^Xxi&cDN@Zv~h?MkvcKCUZazz?91vj(p)w zh&lFAe>6_6O?;GsV9aO0`dGgc-1ZO{tAU$x7qEmU4u46_gYurCLuVRX#F6@EP^^0c z0$ABJ)3f@AZ`nmH<;#(>%z@d4Lmro91I*$#f42g88vt`(6ZoPjB1lAhVd!b%kI3;s zWU0or0)b6X1dl`bU%N)jLvGU$bfK*-zV`aBtdJUJqLj{l;TEb$l_xr zWc$~>lUdQQ0qFhutqm-xquU1^g!w9)fIW#7G<^J)dv}IBN)tUbPG=8QedM_*8lJF{ zl=y7#kD~sFf2dta#B_;P?1nEmQap$+co8a-NOs9!=*t`j4)Z@=tnb()kc1_HS0Z0f z0{fKKzE03irlTjGxWJ1u25b^+ICLVg>wQxjD|rMJEmaqF2c!;I)iI;*M12EgN;~MD z+Y{**{gGl>AXbLOEd#xqNGc?r=kJ~Vg3U#|c*r6{hgM5Gj_Y5b4eOv-9}n*xtnE1n zj%U85l97EUBy9*j^2LKzXu0Gd_kx5wL>b9dic1EGAE03HTfo}r zk8?%H2Y!l}EQK^EjglHs%|a%90tT9WMSo%{vPXVrUO(x6dv6KgrDj@Veh$ijt^DKb z&`zpF!xf1skphz{>(Vf~^86;BlU7Q(E-XhKjaL4&BH|!RU{lQeLNR^x?x}D)VnmOUlSaTUG7e>-Lj)yq zhU5td2<yi)}Fyfu}F z`|~2}&HvoP!2+Qa02^OpK`3f{C4`4%^~wTm#t_|H-!9@~tn@$^F^^l9)i&P;x!syg z=nE+>{|MYspD~RHG9j6zL3ZGAOXSyz`~w#{!+xT0&%XhP)@= z^m4*@bpE8aF+qD~!tP)qO}7Y51b23T?c+{>xIMQv14hxle?>r75cVzzq3>5;*v<*A z!WD4gUO8$6-Jdb^$p@Jkya@h54Z3yRM~yLHM7RqcvLtIq6(2L&2tQg}hBB{?g=>Iy z1t%f5&K^AwBvtC`>&nA69osiVuq0qt|Er=_+xYMh`5_gFoqlT@ib~R4UVt>l)S9+5 z&FUvwwIZ05N=wA-ns8pr|=!P>&U6|MJ1)YovBMeaoI}Br=%FuZ3m+%@8bf`fyJWWXh6dmjT=lEdf{%`2V(U0G6zWwwM zolQ$xM+t~U8>}JJRY3^L>0PDB`jLkV( zjJ_VEQ*nQI_Qx8DPz1qgq!$ZxzuiQg>K&`2hS|0a>J!SoRzwA4tCOx$_`jTDApLC= z65w6<-aT666ddP6NwfwQc{#g4u_VXPqJ*}tQeH3ge4f7(IdA|sK0at98-(t!IayaF zMZVGeQ5fS4Q-sO08)ZOElSw$GDwo)9tB3c7xBOV+ z6ol<6R%WhXcYH**f2#4Q(@k%}v9jgG|NYmGhaj^Z2S&%^lIaQ9Y|UAR4O6rQopbe% zReaHH?GfU;{20QV9{|!?R)WPOTE8!R6R8AMvp1O8ut`vp5W{#co#PSMYMcEB*AQ zyMaayqN+Y`iyxe;TSibUNRu3};2tNp8#Dmbwd19vjoFh!) z{e{q}(E&h1Bz>Q6ZDjNfaUM3Yk08W2Q|dq!_vqYM+1~BIpb(LG5`2sr>nPn|*pn;@ zEv~+(zh8VOw_+QHD3vb%Odzsw!WJ~1^u z)*{46ZWup(Cvf1{lrsjU-u;9mG%UeLH>%K}BmmEZ;?`h;TFaEEY5YYPMG~dsLSENkE$fw`Vxo|Ke36!632>AKg-S0{O-qJoi?a1Xb0yns? zWNPgaPHZ4gKhH5!eAH6hbB$;vaq@tx?egA*I+O6PYrm`T?C;&|N4U|SDbnZ{bWOct zUtjTjtNoI#kQ%*ZQ1RY!uo@bzmkFK0n5zbQnhBTpS#6pME*9l6+v) zeq>0c%H5vVvj$En2^TRv->EHS#vaX-V*)kTFP)B2mB!A@=e-*iT}mv*T4J^f47_McFiqUG4*Q9T`@lt^&b+avTT5~;@^Ryq9*3;Z;2^K$(mW}`?Ro-7d<9Eo#Wc} zy#~d`omIIWa~Pv=-82+he%ku0TONk>{6ob%$~xXGFG;Upfwst~v;Thhtze%5oD}_6 z+5y#!A_C^J5TM0T3=T)(3M*UsFL&nMgAU1^#?B1SMy>wGFI~DKzE-}GR3<=USYq;@ z9>3oL>(mpCNHa?mo!|`ZG{ERNQIkthXAyrN+=D@KX5y6a)6ZmRXiL;zJq0D941lx+iIA$c3>jS00k~Owi_+*W|PsYE|nQ8OH;f^uE z-Li;3@ElYZpi7(%{>~ZBC>XD*fEsd zm>8^{^3v*MaaxW&2&qW(od^e0hZ;Kl1jbj;+(+j!c0a~~gKl2@Pds5hq*j1wo5zsY z#<%Ql_2qT=&etX#-gW7R2$)6O3h8oSKcwsom}P2>kX|tjeWoj5X1NMQ+V156%OfMRgMM~4Ann(FyTY* zgv4v!vaL7!pz^Hb?4}5+nRBOA3>(imkCz=YEa^#rGO1+eETohmLF z!f-JBYj2-cyD~UeWs_{?d9V^beVgK1_c;9MYmEli-}d;dGw22~j4C^Z_}thjXU9A} zAshK9B2uP?ZF`Xf4&_-bcIdOl{JqOmH}x!!*r2```cm|r-amh5*n^_%7zOViNwsJx zXWB+Yt0$}9()tO7R}FYzaxE_5T~CtXZceByA$S9r?&m|Muv;CsMmX@4sH}5xWLmr& zjM$&;n@zTNOilnVVWtp`M3(UiBss4{jSyVHc=XYykLnSo%=N(Uqqc;Ce{HF%su)g1}H?uqY*lYQrU}W+{RD^=`0eEJVGb#6r*d>qe+I zDPKOVgN8Z?&LN5K4VHp%!4O0SAc`$E4M;JqZyg{YD=CDGHc7J*gAPy^@R<)! zQy=9&vBak~D#O(Uhc;D-mqSO$M(a?Kf^dOknHZnP%6}{$nQLE*HzDcdc)YA`Klg%*JnbTgay5~&Q+ANcyI5$ zO4YGs;@AM*vU=Wr_GR#Ag{UM)^???%Kj>@Ij%yb#C2+i%PLAQcnW|`B(0oRs`~wICfwBwkA`#_{9ps0T7JFDAD zb|@ewA|XRFpzPLz30tm2U&Q6a{;(2+!o91-s@dlqt8c?bMR(qmCBK zG-+UxnAS%vTQ2q(bTCv|p8y5plSl5Nc|-=*+|RWkEHF$a4@ zp&m;Yt=ay|hVB_cI(TFAqA)IA*cSf9_*n{Bi@$&1nEL*x+(VuaXR%~mg z`lx-|ebgcmJXRD3#C3i2P~lfEo5cK!o|uu!uEY9u`;LLWzz)%YPkX*4Lq{nnua4uk z_iE|jM5uUf_ZPlgyN+LYpB0Bd_D$>G!OCkQ{dNL+x1&A;+9!Tw&x9SSU6R6}MKJYs z3mV$z>7ht+hwhfU3+^9w?YR>3Mtn!~@v)NH;Fd0AwdaVZ-V3_oPysC^74*DR9$|bwaX6mKo@cN5ZU=~W=6+*$sM&3(78KchS+KklG|ic zffC!s)_tK*>#~h(A3bp`=VdqDa|7ZKC=~ju^$+uKO~j^qV=nf23&d6mQSuCK>amPu zbVQw9(7}#cS>owZX(fa^yRy$sNuE&jm&@mAdN~%h@j{FR>EaYRgfM%&aN%WVBnj)| z`ShGXivy1a$gdqcL~3H7>VSj?Zi&+l3vG zSGb&9>;94w$%w=Qxmtg*>h1J+Auvcy41cNJtpwg!`h%C7EfcuI|HIx0ISzHbn~Kl6 zA277YN_6z)CC3AGz*ACQpqmTtr3QhnwwxG*OEJ}k0ZaZZsT#?tAYF!yfz`yDu#h#w|2FTJ)W!c<=Z9O&8R~mcw|R*nxpB@Y z3aZ3abpRIx+^nLu3+l!vuWJ!~EGSi`4?|qAOp*_d&qnVnN6K6Y!Y{2db9+_7q>94* zO94skP{0t4rI6R(a4U?3>$ioN0DWTAf@$=slq7B@L&-{KiBHU}y5DPux4stlyyspPcatsTq-DKWq0t(|&m{qy>56ZkLc&vr?zzbW&#oWI&vuB-Py;MXb#gScn@fogt zbMJhCy--<>)55vX&7g!XATS2iw-6(ER{S$*V=NewPc}CYS8zcw-%#E7;FHvc1-57} z6%mYh3BL(f$?Fwy@+6_}j4le$kh!pt6Bln)b{8(aE(dfjnHzsn&=5jsasRnoZ}7)u z0S4(g!^)F@pScH=%TV&&Ko1@q1rUh#bX)5VF*4`f9wK1NP0gJ)j>r8V-)Q zmWW+KPFMEHlWVSC;7LFcyL2HWj6P~=iJM;OgkVuFh!@Sf4Iy=m^YTBchRvo)55-`B zedAM3mpg@~IR|yte~R}LR4`LG^MlAPyZJ2nH!=%f>tc@3^ev}K`!edOmosQ+xA@;6 z#G!7&cL(th3kcJ2;GO~VWYw;umGKz8Ywl%#B7^e;9SZ6m{t&TUFL$Cek{7XoAXq|a zoswQMWJB4Wxx_5TvA5QwCu9EqVM>T;Ek7u~*q&Q)fqq zuO5D5&e;vHe08?U@-FPt8v!b14c~eg0wZ`82H~zop2OR`Y*I-IPV5kXqd*tvFoj<& zgCNZ%7SHR&^*5b|fd@{2_#>7Mm4+g8a4xpvSHZ!lnAvBY8$PDNDopEiitqG6y@~KBj)qGNnmJ2-F;%Kiwrc7M zl~5`g3Vy}!Qd|o8w?)eUK8mHl&OJ=8n^RAgV__5!^Xg0}(+~(H4Fk}~tzO5K9@qc@ zx>L9(!AF+5M9%t|_UN)e@(eKGd){)V3ZD5)EtG^peU_NHwA9S6dYOGI05fMI4H=6K zR0$1Wd24Ek8uH*AaXUdS+uNAf#tD}7Bq-!M1ac)~79{?jmJfH9q4`Zq zgpk2heecLidrWj|)UH&-lz|k|a6>e1JE2}jh)iVSR~{Ryh(80UQH?KfG>cb3(eA)* zSpdMrL{(e-uDW>}X#)$gt`wPN(>rLd{*TW5^1`Oe?SXu*oDk8!3zld&=tD6B$^*u% z*J+^dp;DxX(J0D=nsCn;60POdP8M-i9G3G6v)I`!MNj05-Cpj@d|Gxp=A*$!JYOKg z^8VsTjT^_mZu*`7f>c4y>ww)y}91BDDAm(fwVi&T=j zt5B^dbr@a2b~@1h?5LW%l7t2BO%#Kd_ebh8bRWO9>ik1O?pze?@s;ilxvg%+N#>Gw zgw^}f?7`KTUarX{HvO@=SHze_`+IW>@13|O0K(2pcoZLXt@2dS7SocasV)hctxc*w8z^9ZY zCqHvXD)s~yF^=u9jxURTg(SXu8GlqiFO(%L$pf6k>FSYl`}ZVy1an3=-rBS8Riml&51W5AEC@I2@bRA&p$ z7}t-f1ZaPvVoC}%co9Zd!#37}4~;>f1A3H%H$~{(|50rUa+$F-nE9!Kh*&Ikmjw^Z zSr1QR*b%qeP)kPVS1%T=2!>n}X>P{015G3-DzxhwBhcUGL_uR*MR-WrT3n@OE?JY7 z?sAQ|SdAnB6Cx?4rxY}>8`(v0KIQ;>G78#brt>SWThbcVAK>&qenhFIj;Sgn8+`SA z8cu2Kv;Kb~F4zBT$1p&d{@4Dr!SNsa(c2XwcSzz=eGC&!nnq@^D+kNq7pU zDH03;@{Xq&hn`*%ODns|3zZaTwg8Euxs%!s$!nFD1zv&}7JJJkWsZxd5v-mbC9lk~ zAq9cubB3Bi?YK+^R2B8~&CNIgAh00x{ZCzw!0q?MRCMjO+3B+5xDYO$8{+w&Kx?#}C*g@q5vL(dN5boBN&ZSd-;-0CD=A_)R-9$tz? z9E9Vzp}vis-rd_kw>S2A4S`Z_?RL6v*&mwhqEKok4w?7tw662GMJ=M=yN8SHHww8| zzcFSt#>aF~$mv}lR-jL&589u4qP zmmq4$wtZB@M6q&g(g{@i{13F~1m>Y+mKm1XhTjj08`@OQ=B)oHfYiHnbs($%&;Y+G z;4+#N+pY0`qGN@(>mDiJ9dAxO3+h4Sbm}Q@cXz+uUV1cu09&6ovL%7upO{#i`72CS z&BdP??5C<+%KS!f5I|4jLv?!U4J;mw) zNCnU8F4ew6XC*H>Q^V~|b$&b#SgiHCXL3$A>)^kXRd0l?&FTZi`+F$8lT_`672J-` zT6d^dw-}=P1;^@E!J}qT%W#%wHna9&n(-QN2iNV@Kw6&EeW@~bgO@!4Vh(7@#2&N6 z7_V6!AFG%ASu#;QM5M!dZ*ja+J#Nh^k9Wq1y~YDbOUo^ZBCamILV?X?AHGrk8UOzK zI)*yh_Ed#~rdhUmWrmODP3)1mcQq&_36Qb?)EhT@DKFznM+Rnfo(rYe`_mR%&Z%VC z0iwoDpa`h2#h&i(alm~kul`T>3R<@0TCqpEjKqC21025!H&eg6dvzu&k>U0OW8A9@ z9hTkOadYWaISf_F)-Q$3=LX291vaJm%g$rt?y3Z6-n(UDH<)lQ2(U0xmVo+-Yg$4~ z>bI*J#`uj@58H05xHL^NBm{z6=pgOm#BMNEU^(Ib00`{)`0GJ)b|wmxz+G?K6)9hU zaR7H7y#(`ZpQQ9J$TO!x!i)YxTfI)|s&P1i+WQ*vd!d~#KZ*TGp$O!S=|0X!#JQI= z!-Y*y$Xz=c-H=T*dH$=ayTPi}E`TT1q``HXF#N7dk4w8!UvyZn7eO-}!f`1rqcyxB zP>c_G1Kh_kK(1PDbm`}@ZUfIKeP~DyB=RVr*Tc*+2vZP=-0dEjL+RTHB#2qx$A}RO zE!7^i{lLWHi@p|vl7vU`Asg=t9-&y}1E1lFN>jr!+QZ9>f9-aC3bxwSUhv$z2~GwJ z;wFf8hV_%4t9ItNG4^H%B}y~j(TKt#$i$|iOa5s}EFx^|;4PI>R1dxJDZ z-xodW(_s$jJ7W0s&B44n(X8?{m>%Nd@HqM4kjaJo+fW4{jV}UI11EhDL%GI-zC>4- zd^7Tm)|xT4AIEYB(qf z07%AwtC;SPayK*a^CF5+axCx_osg$)Q%_X zOMh2RqxLy1RLk*k{;r)iS%6^{UD5`QE(K7ht_l0v2$+&hV*IPDl$$ql=x%qvE<8JR zE1~L`k&2HpI7D(!0CpHCy^f4%7HVjNS0ve>Sv|CouS{qPGUBHO;=k%xAp8rai3uVM zp|IA#MSCdX_o2LBm85HoI87T9V-+X=sd{DCW#l2vu-bmlK&=T$`KrR}DkOZR9Z0`R?=+syZU zWb*yO3E1a-zDj9AQlf6F)eY1v02^eju!HATDR^6D=r0@sRY0~&m}e`!A$W{a30^7O z28kWsRSctAsvwd_h7)XqdXk8gRpShuG5R>3e5VQ!uS@)0>d33j$zI)}dv-d(#YT!# zlh*_3Jr0oP($Rvv_|pZ9xF+Qw*Q90f(n+2IomMK52b+f;+EBrOoR}O%9v@hhW^9^K zgsJNQO|{tIKdn5l$KUpn+v#-C5c(aqNUv&SlTn)jOM|MwfahE$iZNugY{MOkV~kp~ z+bagF8;T@#*&A$%zN48vx~rT@ybMsNl&MflnGb>W^j4>Dwyv+t9;gyO)RXP5d@X}Z ze<#M4WgE_=auwLo=%&s>`Si!{;v+y-^x@BnV=&XAEc<=N4=;BKW{+QW`m^Hn7o!vLm?B(X6 zBuCiSlcNkn%{$Bh`^`0>M&d@YY%>tU?&8Ev$4&A%xvNX(mHl@jx$?5K!zb5}eX)LT z{7C3!zbL6hesl~qsU%6C#<{FZnFRX=HkHL3bq({lXZH)~Qo0o4|4OAW|I3)-`Zp{? z2QV@Hm+q;x>9E0t2%IrAzL@X|h$&PAKI{fu*{#_Gg87VX&?8zC>BU>@E&T&YDK@sf zAIGDY;P~v7wycl}(J7-#M;^rgjffb?ix8vCVEcuhSV2eQfn~^`HLjW~`PG=M;FPw{ zVs8Z&*r+G5KI&&+2+insI>e}W2Q<*v>ze0F%mkKb(-ba3+DfG}v0&HhNP65daxxlL zV-jgNFmgpfWGw$KTA`Bo27G}TzWC2TW=M$CZ3LJ!375!GQp%|OtMHl)IyzvNg5V^nST8Ktt8g$7Vh@orB!FA$L4SpH4y99h1#z{ygHPS6Ah)j$zr-S@laR2 zRGKt?*00ae=aGH=JIEMb*=S>=O!F0?OJps_lN`f2R6r;Jcj;drqP^Nav(^vs({ztB zYfK;%)bd$$k%P^xEXZL2k?ka^vgKSh`(%LuJ$Hyc+pVWI^D=vgx5K7G@-Iy=b2E@u zX~EFD5YuL*=gRi__|k_#%>gQtf5&)Dw5#;AK-hjAG~U|j6x4QpXT9(if0_%wlWfW~ z%eT`_ym1I^)C`wW4A*+l+H$jGAw&W3+<*(EqY(a_o*q~noEz~YG4-qvZhYHifcj{+ zS%SG%3@o2aboSegfe|FFNe(Rf!35}<+`xB;NP;jC6UC+qN|=(3mR!##U3eIQG>K{p zRz&QTI3x>kng#lk5%d>3ap(GTsrC;Ppg#FdY2u*N~tHP8N#v!5!^ z_{Uk*lZj{vGA>Fk9MG7E6N5<-Ps0dMT7aLXBS5NBGo$ok+uGb_Dju!di(mU<) z0~Kd9$QiNWL*3s^lS_4+*dLhqF=E95lgz@r7_-b;#1U-w0Y$*YI(c9TML6`LS3^N9 ztHMlUflHhfh4X?ErR`21Y*oyQ`oJ2GLWbhWfoL5mq3RfRgh8Zs5js!X#Y}tEsvkg3! zuy~ZfzkWdSGnh+B-X~m4ii-R&-8kFSH=}zXaYyfvb1QS~AgQ z0-10S-OBf;nf7>){0$nMKDV`bY^Gr|wLGotax0%mTn-vatR+-&hZYEguXWK*^t2E! z-A6^_cci1j!>;JwbZQgl+VnZ2o&W02oiD5rP_+cqxd> zmIv)IdNy$_E3$K_Bu@(fPrM);m+mr~SN zyDiHc4`fl_hpbFw0aAZ;g!_%g4}W>Mra7L5xgKd~iRf4ii>Ukk#<;LjhUl63B`WHI z;8EDRxYL|5f=UrXqsfYuM|pfRng258atS`>E* z|3zmQxO7vn@7wMhVaVSekL^lx6%1Gx?00j1)^{+xcKt+2XYn9!3xdF^Va0*DTsKDh zTDyAnhG%N_{^1fAxZv*hP(&;6IULM?6*SjurX;$7>d>DJ=V$%uI~#`uxsCbxi>-?^ z$0%A5UZyVf4}fm$4lC_q`*!2VFptj@H0O!OJ?_>lhyckb8f(-?A}Kyxw^ns4j6i_$ z7KZr+)v>YXXL;uKCZ&8{orPS&E!cGq!&)Xy(OJ7WW=H&MpR|3Kr?sFUgob)dBupIP zqKQz>USAMYJPywMxwdHwxxWi=bXCKsIIsG3eAEsO3GjETe@o>Phgden4k_cMIdpg8 zaM0(aI(u%0EZDh;iqP6FS9e-`gY#U7nD!prxiP5criZ3ugJ`#Syb0ZLM$}qZ>A!^B zN1xtHK{ux|u#xJW`$sW=O@% zwK+zF-i@ptAqRJNcUZ<=XlzplcPgoWD=8QV_a(#L4cJSh6o##pH=i#9S9|%t6K@Sq zr^QP;qS8fqL)6yh7GQ~W;JmDLEVb950~msJbs(CW%W3}x3JuL);VF)u?!nN+bRkKq zSc23m1E}3-A(JD{wBNON89-JZ0XFfGF}R@_bdA$ZtB<+5S5sWBd<5IWNc93olg3fC&WzZ9GIr3XDiO93v}oz7=dunkfDEGZ9T=z zBSU^^Euzrm6gq^<<8w6%8(8wx)T7VDgq@w8+)$H(oLe-eNCN^0ClFgtu}wAudwdMX z2L3+#U1)R}^I5|}E;JFuRW^3sz=@sL*@DwVl6YI*5S#__SJozF)f3fdKnDv9-0fwy?2BcmxSx068SaBNoz<2^d}3 zNCP!Q;CSnwSsog_1SYqZ|6-e(*xs67TO165&?u?--{=Ga%}1uEFm>*3#!g@>@3W+L zL`ItmT4=VEb{0195WKu3pGr9pBdC_IZs&v(fczq^?Ge=DD_&|~kNF|MW^`ygT>%Qk z-2!4p@yX%&jpUQ89)t&+OG{I;#dGCfr3Nyyu@L_fbA3t(JoX4CRREz|Jl8jM&Gpc! z-Rz+EplRS+ekh%pk$M3j7Lr(hVwSowzM@dHv_Q>?RV@5rXTTsN-l<+Quq{8a{P4QS zMhN~4-wyGsgNzg9eDV2u<)@?(ED!Aw-3cCzSCCNT(ojl#X$*hOhJ~%Pf_GqZYl1}D zX3~Q!3jPzY`FPyE+cHv(6b4dmm<+UPS_%B0s;#%8PXJoCj|>ntfC-vmyW50jrLz_j z=FdyW{wsYZeUZIE#n-gz*Zjd(%nl&-(jE5>V38jfo7@$rAO86GlKg24Uw8AowjI^L zIAst2$MUHOYWwSF8RWZ-6-IzLG1l5wWs)n0pAH0|R1-7_M5FGLLpnjHm-=VQGkh73 z8#qM?Hcdc5K$R_X2Yj}ugGAcrzZkSN|7B_PYv;+_q<$%edv4=it!cbp$RfU`$fzMQhz9TJgIyp82U7+{6sVWZpiTh-D&py19^AbL)6~J=ACGi zNRKt+1HKL{HQ?))Er|IYAnXQGKiIvk!!-^FD}b;b8(ddPodLbgZML5Q_Og8lpIAQQ zHcvmY>^D}sXXh_-#+J8m9UW@D_l9!NpND~)N~qy~yKyr=A-BLj##1jCB8LCn=AI4o zeWjO`M&$3U4L%-ic1FDe*E!A9D91=_;<~AgtOv+VWr%j2Z?rP|LoKX~T=K2?NiyTd zjoZtIxBhS`Vmb*pEr%Xt>1+#8T^$tC&J1-@ujj7Is?b=AnSWMqk3USYpB$Zv0Z2zb zu;wp|o!sN6t|yp*$Wzkx&1s~~bkIdb`B(y{#8xCmz7pCOO?SJ_xy!A$u@nhW3wKp_ zo0k2!?6G3(eD=J1a2a#zJGnZ)orHcK)~=A^em-Z(jMlESp^29l8CopKm}6)3N&Wr8 z_Nm8%&y*vXLY@p2Dp1G(#!v4Oz-D4rnwF{d!<4&&yLv9~;M4PoGJtdrA3ZqHOv0te zw zC1<+cp*qb#M2E_j0VpdqPjbj-l%9T!D-zwmPLs&yT$)LDQN(^7JppYBpwG8&0Mo9* zB|g~;bzIg5=SszJENghv)f&{Sb`}RyFTo?*Fj5qv18jPb5Jrm=UQ5%()6k1pGVBMJ zbLVvTv+Ca*n#SsB!-?UOMs`(-gKbgu>DB*z?!SW?a$AF$4ID z99UWl0iEhTvv}$|VztnJ+6dFxE_{?pz=SS*@`s%EwV@+0k@LNH*8GsyP$n+6p{-1<5!GCKA8U7 zp=HSaci0A1RY4|=`w5@gwGgC|7ep^dNw5R^*AC1twhgI zH{y;H0SR)xf#e=0>+{~#)cv~{P1^H#Pt)E=pRMmD%!>w;fSA(3jCHCZrkBm&!4S!Q z<~T`-S4WGHNoyC0AIwbVaoRE8J3HN71oaL}e5)`n+PNkE#0-0LjN=I4|IoktJ>PAE zD?L*8*tIL7bg9oQ8B*xPHuN{b22s#a{i_Q4dWv}%Frv=N%o4iBq-B=%m66Q0(jxqN zLivdWo_$}_k>c3WQkClBhDSQ;9YcY;0ONT&L&#y4Y&Dr^&8UR|2bVD%7&0a?1kvHz zsqo&9v%RdizX3wR7w~?JkAYVxo+lk;v0S-MEsPr&kyUL>p~KX5R3_`AZMTeorRN2& z$1Gz2aLNqs)7cMuoTNM02l$Xy(J*|DOs^q+utwk?(bDeJRWb>BR}=QuoQBx_gl(@x zZ#9>B-HpNt+KU+DtQQmyZ&+TJe)7a0L7ylpYYsg}@@>{)Ps@iIgb?r21-m5X7INIuV+d^v}A%0MNf!?#hVqbc7#G7Z_GEuNc}v2AXE=wj!f-v2dbK zfMKE^%u+^5O>&Q|-$sJjyhJJKX!5XR9*s;nWl>KDono|iUzi$WHiLGJTZUP`!3FzV znAlyer#>DOJtW=_BqG>2IMj)~2gglD!u)a#f*A8P#k2FQu;YlFj^-@Vc#_3)mvGFX zRd`2Tyzt?s-A}p{K>U(3ut~?{$X3|{Ks8(J=R2f_DRrJ3AUY=`Cz@-Ln?=VsqAYlG z$CU5rRPQECwy7 zC?;Zd#B+>T)h@_`{xi0wT9^8`hW>}@W8>;i#0}!ZP$PRk^EDJ>wW_m?;)0q!P^}l} zbcGtwk8tzI6!BX)+AkRvISQ7s<*2q-N#dSE|MzvX(BHKcO;J>5K1Mf@GFMuxo|Ps$^Ci@& zf5+s;R?din)d{o1wc`KeXV0KS0Qkbby{@QEr4P`arMwS(3BwC5Zj=5@9BdqzfAzE? zC{@&E=}e>E4!YxksAGG+Ej;Ivx?Nv_2T0XxJ043+_T)%R(A_MAikQ2si7r!rCH}p( z?VU2XN4OXBFpN5WSOMQ&E;@IyaOyE8WGA(F%NW(f!^6T@HIPn4iqI(?0OhCu&lW!7 z{(ThVg2Xc>h<#KyB()*9r0&r0UF7y)%I8Xjm3@_qzgs8g6MvPMB1J736wV=(To3CZ zM!@x99Olx5Vg3ZsU_m6<_Srd#We4d0P)f@);69HHC6vSRYQ2=tpqr}5V^llP8hOkU zOuOfTTR2>iTSq&Q2c0qt0;pt!M0{k8!)8}83IuN1SkSgE;QYMoygx)Z-NEFtcIhAG$qpvsEW~V>iK4bSVgi}uL+fqw;{45pR7=V z)46TZGGgt?>5aPXCBn(7#X^xQ!eDX?>NHO|RIG0_HXspLYc0oKfV+Im*{gWuDE;jZ zB0k?66`6BArZ&a8&5)tOjftlu7VhvHzoH&c&eKqhuzG=eo|KF*pB9FLfYcgwxQwvG zFSs<`NrRaeZ^~Xuq0;~;Oe+DI6P7&ec)&M*MS@sW_+GEQZt5+}L+5lCEMLrnr`R&d{85j(_5Ipm= zD5^QeL4=G&8uiLG8L6*0mg-TPUZhqhN2JB;RCVMm^uuBd;Lw;X=9c=eJ!E z_$Gq{R^A60z^c`|bT!9`VYpXoWD5q#rNkmRvK=US%2cu8eVwc*WDZ2^l~#0u^K6m2 zW*a39ZS-y>`*sql_8@cBxnFp?lstt{!78WT-rMc#7!!qV4JXjcgo9)7Qp zkJ}y{7?dXKyq4QZYj}47@U!C2>$U^p7Uj=H=`&T8C#kWi9_+1$ELcj=ArjUfpvqwFS~*Ftx^816_wTC6Vq)s}>>*?szP(`|}uHHSQIodsf3mnKJGj2ah6v?Ya|#@pQ_A!h|9fsvx~()!4eDDvn}S z(0v)F=MY*!)+;Xfvy`Cnwcl=E5gbtSP*Mc>_nTM?5`m`cmSvIz?Y$p5tH+np#B$Nz z%tyP?Wu^kA0YkB|G~)g0_b-&A4`r}{y>5#EG+|I z{MCDVp`~^~38(qbdyl_C$zr9iOdX=T*FX-QXW)qR&M*^h*wm%Job1|3h?7sI{dPXN zz61>+9}JF*n?)RZ$N^)i=ey}B7;o1mCtkB)u;6Ow{@H+IX@}!*cftGzmDckKpU7qs+T zjTG`-4CfwwDNo0nGDoasrNV|wa@14~1In2YMD~^&tV5F$iiP~lC8R?%Y7sHdz~lpu z90nwey`+LiU3mGdI~rC=&Es=CNXTYsZ4^nZ#s~!+BN8;#%1q{uC6%58Ht-NY)jjp+ zMH1IRD@kK^0P1D~zwBN45Gu>4+F6_YJUc$)EUo~7Z>KlEMq$k|uD^6$oM~1;{uauU zDQj%qH7gHq;XF6QZQ@&zcszTQBzX+ZFJt)px}4DWzlK`&phS$t8O-!bk`Jn)81&<= z*zRDyfAJ0YBDq1sX?f<%x+$LlX^-6eFhSuI`P~ztZHeGehu7ii3i&w{(oM4=SQ4`b z2zCVN5zU~3e0%O4u3d;WCMvQ^7FT!%g^9(5{f`EPQvHULgJPMg7vh@c)XxVnY*`zD zR)&K#qlND?#F^a`HgF_)l%h%W*KqT=02rbRr0BIFq^UF{+L^tTADsno)y`IhMsas- zxv|TeQ#3rqK|$vr7$}Xz_EP%H^5z-1vL52gz`f^C;9(e{+eVL*ZymF$J8Okz7p$ry zySH+5Qq+~JRNO4E3Ni|qN6%T?`pXr4uqkUDV)$8}!|lkMX(S!ICcNn--Dctg5)P7*P23z#0X^ zUsF5(t3suqH8jBWw&dyGfC5E&9i)r`MZi@)0Wp zR#P`uCgtNnU&5;EI_ge;`pV7-q0$$XQ=y)3OtAz! zRkk6LaoK|}Zr7P=`;hERcRC!XKCS03;e1viyXdo`&H{DU={5*ZmLO!iyqSpT&YzxyF-MYK;9r!ok5=X(a0Qd+&>`Axwsi!=xH zV;=w1k_=IqRd#cp?O`WCh?Ok_p2pm!#n<*vX3>kH$zFTC!_M%!Qjf)1(OP1}73usT zlq?YTMTc%Rp=?(t&G&Bma?Qslb2_|ODHyA-t-YT+Zf_uZu{%$1&4yOd*X%GwVFeQd z?>V+wCD8zG1PBZdq47EL?k4SAXWGQXakuovHxHe77v%v@8Czqk_w#61o7u1;d+(}+ z13bZvvk$H1l+jg3CHuW*kaKcee>SJqZ=RCJhT(@JrNQ@Tc)#cyuDt&2!Dd<3Ofv1~7&yH6IX<*n~S>!alo zL8h)`=3u-*Rb6Jeg?|uLdYUy>?@q#xu}}fI90q`Z;G78qx{WMh5_vu{%f}}1S>`cG zae|KWp2UUj0!e8A)n*8Hqqd0W5B5glHl`3cgIc`J*#)qe)=(Octct{D(cS~?a*2|v zz?+wTG`~iXF}h)o(a~%NsDU4+8To73-hwoItnyYtT2Qb2x>T7mCnfm}>7x#@xtGLL*KS8>EJme&a^Y-~u}#a&neOLI`4yDI zho*|iWs19ub3I4;v}st2$pEo__v@eIZGm|1&%5@8U(aF~M1H9-wo1s`?6|Z1(W1r_ycsc<9fRH+Vg323dnQ-VVd*uI7plnfEhn#-h4p_d6 zjQL5Iag1r$nf-F?5L-E>$ATWFXUi;p_lkenRB~qjlhN}rzeKsLPO>^VpIP<#1be%&uIh zsQ%w|(i38F;5X=^x7+l3W^J>=3E5|=yMUkP?8-JQ-DtY)#oh|^?YZq^h&Buq6{JuOjMIm_*+PzIbXWfPn`ZH0_WVZgx zXT(g0b{^l_CHMQjwppc1syYitCN#sfbUyW6Z&cIk1Q?w$#IRAY{l>(psFKPgi$V)U zWX{><+`J_fzFpS z_<(~FphxmZ!&qyVhw2Ui;rI7TSna*zp^UWh2;i6WX;~1^gDbxK?pFg3=Is|Qicnb_+K ziC$f?zxcTJ&t%@P&B1SInlU9j%@Sr+$EV?ra<|mS;^u%k!?*<#l#n3;R*}f_@<_Tn zdEWGI^+PP4X2=1;6;l1yM}GOo;|VRm!A`yJP3ozfEZjZQN*u)2i5W?*Y=!uB!jKE% zE3#EfiLt|8%9heEhqi%c+9Z=`mKz87z^fy9-EP(6l~(u>Cn`6?vhTuzzQ5I2viw{9 z5B6dr-vYaz><>)CB1YBbBD#amkFbGVrCdFw<(^4!&k>DC@?@$?H$z#bcI>1gQ&qu;;nx z(|6G}vOni{fMJzl3DLYA#a<1m{3ydr(8aqGPiGWG(d0qu%$;oNsfHf^uDa-3F+^U) z%`peq5GuZW>tva;N$f&UnW}*4r8?X+@3y@DJOM#F>rA%3m6I9G(i4~4-Ld62lMCcf zI%1UD6eDG5`n~3sg^t4c9`vtud&{gTrY6(LA(cYJUlH+viGD>bv~p?nkNr{C5viZD zSQ-vj`FXp3;*`upgxuW0_?Fd;N?Rmv%Tpgf6w@X?)`w3YrR$OAbo9U>M|}2Yhj`w~ zuV4@jb=A`%;8*47SngIK0_imrnS|M^_L-Mm4)@!U4q-%FjB(}fM#(sW+d_B4jpPSy zj4cDlu`@kB{Bcp;RpxWuw85<3)_vtWeJ=IQsJd16H1Nqqcj!otND8s}lS$z;4cpj2 zlxIbw$%hP$4@D;K%^Y(6a#AM%=e%gq690>tD}~9-=6Y)pMj+Z6Hbxj~KiaOibe6`3 zu9eudcw?6z-I>wu&49#Fes3gXy?vf|MgxOn&S7SDjS79ej+PF*mu5F-X)=0`o}2%n z0$0TbF$ZO>`nNZw!bDv7Q|J{CfpiWuT76s(SGz=6${FhYfO_qcw#^wmshHu5f$FvF%$9UC39N9^MROo1NmE zhGw$xYQ{XZ-Zqm?Cu%Pyfvd)8v7)sPNXN^?6z!3bKM?Dk)WG~VI zd(&L0K%a?H;Qn~P7~c2rO$3Wt#NZ2bR3unfdL@HP7%X4dRD~I>IcAyH(at!1{=Fd2 zw}T!HU9t{gH*~C@j!fCih2T~`H#L%;5BoYNfN`s@$H}cCZp^b^a+y=H+g4k^G4N)QP$oP|>pCoQwlfK6; zGe!P2j?6kugM%Q#*KHh2DZPew4{=Vgp2=b7&OVgB~YBF=Lt*iXN!^c5;%5Iq{+9XiBzsw9*dpeiT*$@RC?b^y+KBC%K13nXJ~zL zSv<8$53wl=3+FA%=!_hdY*g+z_3(|mF{yHqcbH$WGurWqGsSZ+?Qnsitl8B*@-{>e zXD8K7g5mV9{X=0wfW%h8aKa9qq3bqQv4d4u!LNBiY&Fqn{?F-*60a=qG761Fn`xKY zA+Ng$gjB-jIaGQ}uYJgGBE%V*_;2B~#wIVGph1)n2kvp<<&Rj5ye(Sg>T$2q@G#nH zZP~p=ZO1s0*=<#!E-{IdhH zqmAu&d(P7dHTKa5D^Q(EDlM4)R|%|p2P`L5y3e9}b_e72o=c4`c^Dk~GQ`vRX~~E& z&&Pvw%G~6;M8Ak`RIzgg)M#%jS+%GfYHz{qjqlBF%4PVrq<8P9&Q4lF^d^7rm59Y|5;rpWab%#=O$3Qxub*?j}1 z)p4REC1)xug6y(+nuNe~`S2R-Dl^YiLX@^WlgYnE%sb^Rednne&-d!+aSOU7d0_De zevMo~t;QFm7p+PVL;WbFskZ%*^sqj-{C^lq#OSh9fKWBPyP5VbQCDO-GOqB+q;J><%UQFD6;h+(bQ zlE0l`0j|1mHEsj%{G#eoVZ+fLl8KXYUEY1cL^cB5ph4xJ2ib^)(J$&>unNgM*+OL& zz^TS;%*$ZI#P`~I_p1F&;%r~W=}>Mlf}|DpgMh!tH?^xIij)BfGE6S1(u3&jpm8RP zX+?)DDAa(v!3gRG?~J2sIEG35#X&ENsD2al5z4I#olK&EPmbJfTf>M8Yd}<9p!KQ*+W_!HHQK0Z(4!#+a_l=f}KqTP(aZ-)t+zj5I_ z{3ELqtb*1>zK_@&MY>V1?FsPRUp-3^!g%XNi{M56B!o>k%*D>BUoOT!o2AJDI14vf zHHNt^f<40?j3+G}OMMc9iC0S~vQtZuAd>FoUQ%^_dVKFivM744Hb?$fGNoD2zG1?W zI?Yyn58aCC4IxLZ@z*(^7)|rEU4ic0>tFRunpea<7$&852$&K_R_w}Y?W-0}gWZB^ zOJmSY6|%18pGMEnf!OCecBGIcJH*CmVREXsut0EZX&v!9qO}zu({gX?S zuMD{)P!2^i+k=jmJu+M%t&lU#uLO}NK+j={51GDYxTmHg;{aL)jHxI@#Wu{R!CZuh z8%iE>@w?2{2_>W|RqJCOv+wY%#ye>$aX#TVLUFcHtbMRn#`vW^_Zs4WDH~M(_!w2+ zumK!Ia(?Cffx=AD!fBnaLHroD(*`p9p4(lu^aM3#XN%J$7G*_*6qW&DhxRz^9GBk{eXWATFjF+I_3fk2R%crn+N@I7dvG}{yYO|Mcw6Yv z8<2m@F!RH%N@}BW7nicwj?^cYz;gsns*>p~qzE#EM^iAp$E7N2LeyaMxfiEl*zQm2 zgC!rR%P=AP{cxp$!P|AU`TpHM<;B@jAxxq8OfLurg0f8mrJo-QPCo~Qc@9Mv5A%{f z>@~i9vu-My(@c7Ug z!Cw|^5r+AceyzXE%BE9#I8KJkBCA%7E40)+fWG!7<=k)q+KOeSTL%_0n*Z9tcUpf8=JjSQ+`YC#!J#db&pwNdo79T)(^@fN>wd-1fi1iy?HNW4! zf{Ln$n%AWpaL_EG$rLC!Y=J8xNnNqoAmTQGw#bZ#MKTw9_q`imwPG)Luej1k*+M78cH(sHkeIMT!KBjR( zVA`vumfm6}wl;6Re3pxJGe>fVJ4JC#P;T#pTj$0O@K#_=DO?soZTK<7aHn<62m;5n zLj5%=v*wi^NetccbE(lE+c?!d{X0SFW;iFqP78gX4N6p9;iK!ou+Olhk(b`H#>6u{ zKa&V!0F^my1_$+xMJhydY3zg9Yks@;s^Y#-!VbFgLkVn~@0YP=0`By(goXsZwuERa zTB6hu;J=R?J%pT_s3=n~#r5z1@~-vWhzGi?KU5sQrfWS=G@YuL53)NH;4PHCbE3;o zJXK$u#kitvP>UUmCFi7^8ZQZbb*y96PEEq8fyPXK_y1N^mOS|^Y#@h~yO0PWXW%Q~ z{(#SUWQ(sq*i_xUeo+y*}K+UHeYhTY_HH6#v0r;ZQ#C0dkq3D3B+BfFxOA z3v-p;CJnQjP@zI^@WLlth91i&Py77OIQtX3$^Ja16w=wqN$*V6*^V_kbqlLC8e8n& zams}`coX|I$Yzb#1BX|)3=panqWXo)vdGP^xdS8$k%zp86;@@uAXM;dg9T6G+iZ-b zn9pRn^^5MI^8}XDoM3$8Pb*viVOdl8G}EVI(#6wLQD2UDr`5T`>cVS-t{$I9ljuHD z^OI|B*@z+0gD5dowk-`qE@=&Rg2cz&pml<^dPR*9y3@JwArrr`{Om2PxqaCStkkBZ&ihb=l!76Q25EbN6t7QUCUiAF)$zFt z^YdAcgGrL_kc?YD60)XD~a8Zm8#BNoArJE_IXjyc0q4 z>urNUIb56wEJYp+=3@u&qaIM$iLCC4DW^=N z0Yjt6#;>)V*Q|VZXH^UF>@lD2=dnR#ECPh~0fPmvz^{s*uY_xZB}1Y|wW7)D>+IPQ;`X}F(b~EB zb<3t9x;P1FzvL!?kBDrUBRPT}V;V=4)&4_tTpKNwc*lSB{&pGWK+9K7c|4|~jVVUE zJdhqN@FU~rH@;3&jm$a|Q2h;&AE2EUG3Z+ArpD0GJxG@~7OIBfB%2rBnjRSSJ~!!j z+MN;zWRehMqQj{S#7^uJ$t)VARh>tA->Z(ebg$7^qh=!)3tIcZB zL8;Ku)a#ONKEO>UsVU~u33H3p-~}8Q@@I74^!E#-m)!%vjlXG;Y;}kd?`V_RFh6Pj z`pMyq%5{*sZ3RQN)=@-;Nb>4`n!S=;FwInSxd&<3BFmdiQCq@pf2pJ}^&8<_2#(C> z{o~^V0smS70BvU1T&ZYNtGP~gczy8OUOQKM{>e;9RXP(GA@gIpv!`fg5iPS3^zzKZ zFGHTEx4f(}KflxrOfMp2vJj0o?S8jAP<{R0 zB;I=1(}&1(-=)EMGtzx-Al!3C<{Nudz%M4;vQ8rhgffc-{;poHNV?!N>$ENQ({fs} z$9MM|o*?6n-RF}we$k>MMzNTD!)f~!@o8*4aIMA~k|Ynpe0X$;eX6wW9;Ga8VaW7R zeU=(C(5G~^H`oV(4LQf4)&Ubxi;S2ii*$JV^{v&5B1<6bi38_O&k%z zVx0*Q`Js@uJP_XR&BJz*7g=&x$=N6PCquReFf8P%miX?iJWy0LqI_`IgG3WzbiocC z{hsh*%#RF3?HG;?W)juJ$77j|A!+Zf_c(J@P%}XWa4S+BTeh<&q;?d#xNMW|gKt!< zr=O_kgd5;yD0Ot>&vWCS&J1IdM_|!S-zyjrxB9XjO151+%Twyud5m)Y77y%@)gdwi zrVYcv@0jtKrQY+x>9{jP%ME3-Z?4tDx{(e7!DdX9mAmmR$OO2*GQs?|(~^64JR+rN z_EwQOJ5__?Cs0p=n)6w#=(p^ISV=;CqM2ifM0&487ANvIb=)dr78I)0t_0biggwW! zS{2)oF|nVg)K`bL(T=1W_PMzzeSVVyTEuaQ?jfzhYW?b+Us1Ovx3G&G(sd9wy9fFKdyZ?g z=5KdpPgCb#Y@75nEBE0$Sw%_OEt*%;QNC5ntDcX?toJ>0K3e)#&*!^TgpoNJ2=$S9 z7sGyCfor<-nsWCIf`dKHCJB$)dOyUj5`Yu8G3{@!B^K-ZZl@yoiJhOOH@VTE-)$tBK#C^OhkQax)59 zsjclM+Nvekjhi%e2?3sXZM-i*(nz{&;KAerVG!P zxYe)>s6u2i%bF6{Qdg<&>Qk{J1w8E_zRF#*y44hYU^_7A8^2zcd-nbOqyO7Gr%;6Blub_lmP1#@vWk$s5Y zuQ9r3hc2;q@~_6PaW6=`42&MM=&BnCC6xPQnmv>4K8LNjXE-r`+fQ!P{5G?GS^@80 zDWTA5WsMZ)rBKm@E(n9K@@aTaw10q*`OD4>68D5w$x{d0urA8zVLic#zvMx?5x z;dgPOoRtg{nv^lRVR-L0UhA2`e80Obr1nPlX7-| z7SdTTh~&fm5$(_EjG~C~iO- z5sN2}&^{3V8aJxt+wySyGRk2y_xzIm*rW$Bha3vS${j>1@a6ScHBW(jW~PB1L|A>> zB;<%2+McMAFrzp5*^b)5IsIh4zV=NU)}5GnpZSC-Kxl*fp7hl5AMVQwIQ)54HK^cR z>~B=sd5MOlQ;6O5&*g&2N1>?G&wclCIczitA7P%j^y3|wi*?q^D|Qf94VDJK8+BR! z2nQ`9#x>s)W${az#?f-nCC&ZF(+e7>xF-;0Y@T%+GEc?ElKUM~-w0C4DLU5q`cNn92+7_Y*29zr$))j&piS>W%88I6tD`$cc1T}D> ztK5+A#0L*mFiO|s2V$408Iy`ja@q!gMddJW z+rmO;ovA??n{OxFw4n78dRF;pmT0tu1JCp7a}FVJkCz>#4aJ1jv;^pGmp9ax7L=P;ueN8Elt=A$~%kNQ!>TL#@Sfpk&S}B05J9+#U)*Ek<{Pr{E64(VZ&@ zQ@`6Zw%L;Eq<}prQ>bs={)WXkUl1)KdX+HPF zo)98HiOM|$bdp{Kb&!5AGEBPY7<+T^SV`~|zf)(2^538!wsgfbL@+j0XOJct&?6k&eFoggg_Qn0ZO02ly5uXm%FBzD_A3L>NSNBkPFJ6p8`Bl&5oH%TIwb=S> z`AG6QF+<&fS-eiB@;^uMe^wNNEhm)z1K62tG<&wDXT|3+5~duxaUw1U&G@aV;LJy8 zD;O(Ddjv~)UawN8NlDHpgrqO+>$4#{m{RBRq7oPDElmOEv)1~kfisTXD{HdYzt(G( zN{Y+~UC8ud`)8+FOoQ!>Sz}#8;ueov}u)>G3 zqPv`=+94wt3q&<&>SZt#E}f6~OsF`6NUE&Mqd`D7SZI4PolB2=Ab0W&w>WSO*3r6B z`l=g3z5MowmyAYFQdtvOx|d!OlxQi*RreNlb_uh1P6u{YiR#FniVbdb?ZOlnK7sFx zaf87lz%`-cWyOM|X+v$W*FeRw#$C-3Pu^bRhLoh$S&z37ih!+RANP0gl;YSYX?+G2 z+Bi_AGqZSl{QyyE2Xa3@zV&yM&^kK4o*27$>G}exKlRSp47@iEANDR{*#1HnqqdbOK~eu z+}+{upF8uv+&gn$zDY89OY)E}nS>;ZKYs7w0gy}X<0)FMypz!t?HTWQ;APOt@uqqt zH?g86Y-{%{n`sKBZF6NS66;f$JZscBS%0&jHndJi*LkxWiU0OSrB0+v|Hr0f zFnYpgU?@E1@nz!cA6nhd%JlRP)Xz>PZyA*>OSzweNa94V&%PWy3_GV4c6(udZ#U-F z`{n4wmj?tM#jsdDr+Ke48-i~?F<5^I)a`Y=m@W_j9$_3>% zzIO=Fb9cHN*|XVlr1dnr*(L>DRE5;odej`NW6PvlNY)_1bi$ zE4h{Y3VcuSLK-Π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 diff --git a/evm/src/cpu/bootstrap_kernel.rs b/evm/src/cpu/bootstrap_kernel.rs deleted file mode 100644 index d1bac762..00000000 --- a/evm/src/cpu/bootstrap_kernel.rs +++ /dev/null @@ -1,225 +0,0 @@ -//! The initial phase of execution, where the kernel code is hashed while being written to memory. -//! The hash is then checked against a precomputed kernel hash. - -use ethereum_types::U256; -use itertools::Itertools; -use plonky2::field::extension::Extendable; -use plonky2::field::packed::PackedField; -use plonky2::field::types::Field; -use plonky2::hash::hash_types::RichField; -use plonky2::iop::ext_target::ExtensionTarget; -use plonky2::plonk::circuit_builder::CircuitBuilder; - -use crate::constraint_consumer::{ConstraintConsumer, RecursiveConstraintConsumer}; -use crate::cpu::columns::CpuColumnsView; -use crate::cpu::kernel::aggregator::KERNEL; -use crate::cpu::membus::NUM_GP_CHANNELS; -use crate::generation::state::GenerationState; -use crate::memory::segments::Segment; -use crate::witness::memory::MemoryAddress; -use crate::witness::util::{keccak_sponge_log, mem_write_gp_log_and_fill}; - -/// Generates the rows to bootstrap the kernel. -pub(crate) fn generate_bootstrap_kernel(state: &mut GenerationState) { - // Iterate through chunks of the code, such that we can write one chunk to memory per row. - for chunk in &KERNEL.code.iter().enumerate().chunks(NUM_GP_CHANNELS) { - let mut cpu_row = CpuColumnsView::default(); - cpu_row.clock = F::from_canonical_usize(state.traces.clock()); - cpu_row.is_bootstrap_kernel = F::ONE; - - // Write this chunk to memory, while simultaneously packing its bytes into a u32 word. - for (channel, (addr, &byte)) in chunk.enumerate() { - let address = MemoryAddress::new(0, Segment::Code, addr); - let write = - mem_write_gp_log_and_fill(channel, address, state, &mut cpu_row, byte.into()); - state.traces.push_memory(write); - } - - state.traces.push_cpu(cpu_row); - } - - let mut final_cpu_row = CpuColumnsView::default(); - final_cpu_row.clock = F::from_canonical_usize(state.traces.clock()); - final_cpu_row.is_bootstrap_kernel = F::ONE; - final_cpu_row.is_keccak_sponge = F::ONE; - // The Keccak sponge CTL uses memory value columns for its inputs and outputs. - final_cpu_row.mem_channels[0].value[0] = F::ZERO; // context - final_cpu_row.mem_channels[1].value[0] = F::from_canonical_usize(Segment::Code as usize); // segment - final_cpu_row.mem_channels[2].value[0] = F::ZERO; // virt - final_cpu_row.mem_channels[3].value[0] = F::from_canonical_usize(KERNEL.code.len()); // len - - // The resulting hash will be written later in mem_channel[0] of the first CPU row, and will be checked - // with the CTL. - keccak_sponge_log( - state, - MemoryAddress::new(0, Segment::Code, 0), - KERNEL.code.clone(), - ); - state.registers.stack_top = KERNEL - .code_hash - .iter() - .enumerate() - .fold(0.into(), |acc, (i, &elt)| { - acc + (U256::from(elt) << (224 - 32 * i)) - }); - state.traces.push_cpu(final_cpu_row); - log::info!("Bootstrapping took {} cycles", state.traces.clock()); -} - -/// Evaluates the constraints for kernel bootstrapping. -pub(crate) fn eval_bootstrap_kernel_packed>( - local_values: &CpuColumnsView

, - next_values: &CpuColumnsView

, - yield_constr: &mut ConstraintConsumer

, -) { - // IS_BOOTSTRAP_KERNEL must have an init value of 1, a final value of 0, - // and a delta = current.is_bootstrap - next.is_bootstrap in {0, 1}. - let local_is_bootstrap = local_values.is_bootstrap_kernel; - let next_is_bootstrap = next_values.is_bootstrap_kernel; - yield_constr.constraint_first_row(local_is_bootstrap - P::ONES); - yield_constr.constraint_last_row(local_is_bootstrap); - let delta_is_bootstrap = local_is_bootstrap - next_is_bootstrap; - yield_constr.constraint_transition(delta_is_bootstrap * (delta_is_bootstrap - P::ONES)); - - // If this is a bootloading row and the i'th memory channel is used, it must have the right - // address, name context = 0, segment = Code, virt = clock * NUM_GP_CHANNELS + i. - let code_segment = F::from_canonical_usize(Segment::Code as usize); - for (i, channel) in local_values.mem_channels.iter().enumerate() { - let filter = local_is_bootstrap * channel.used; - yield_constr.constraint(filter * channel.addr_context); - yield_constr.constraint(filter * (channel.addr_segment - code_segment)); - let expected_virt = local_values.clock * F::from_canonical_usize(NUM_GP_CHANNELS) - + F::from_canonical_usize(i); - yield_constr.constraint(filter * (channel.addr_virtual - expected_virt)); - } - yield_constr.constraint(local_is_bootstrap * local_values.partial_channel.used); - - // If this is the final bootstrap row (i.e. delta_is_bootstrap = 1), check that - // - all memory channels are disabled - // - the current kernel hash matches a precomputed one - for channel in local_values.mem_channels.iter() { - yield_constr.constraint_transition(delta_is_bootstrap * channel.used); - } - yield_constr.constraint(delta_is_bootstrap * local_values.partial_channel.used); - for (&expected, actual) in KERNEL - .code_hash - .iter() - .rev() - .zip(next_values.mem_channels[0].value) - { - let expected = P::from(F::from_canonical_u32(expected)); - let diff = expected - actual; - yield_constr.constraint_transition(delta_is_bootstrap * diff); - } - - // In addition, validate `is_keccak_sponge`. It must be binary, and be 1 either at the final - // boostrap row or during a KECCAK_GENERAL instruction. At the final CPU row, it should be 0. - yield_constr - .constraint(local_values.is_keccak_sponge * (local_values.is_keccak_sponge - P::ONES)); - yield_constr.constraint_transition( - local_values.is_keccak_sponge - - (delta_is_bootstrap - + local_values.op.jumpdest_keccak_general - * (P::ONES - local_values.opcode_bits[1])), - ); - yield_constr.constraint_last_row(local_values.is_keccak_sponge); -} - -/// Circuit version of `eval_bootstrap_kernel_packed`. -/// Evaluates the constraints for kernel bootstrapping. -pub(crate) fn eval_bootstrap_kernel_ext_circuit, const D: usize>( - builder: &mut CircuitBuilder, - local_values: &CpuColumnsView>, - next_values: &CpuColumnsView>, - yield_constr: &mut RecursiveConstraintConsumer, -) { - let one = builder.one_extension(); - - // IS_BOOTSTRAP_KERNEL must have an init value of 1, a final value of 0, - // and a delta = current.is_bootstrap - next.is_bootstrap in {0, 1}. - let local_is_bootstrap = local_values.is_bootstrap_kernel; - let next_is_bootstrap = next_values.is_bootstrap_kernel; - let constraint = builder.sub_extension(local_is_bootstrap, one); - yield_constr.constraint_first_row(builder, constraint); - yield_constr.constraint_last_row(builder, local_is_bootstrap); - let delta_is_bootstrap = builder.sub_extension(local_is_bootstrap, next_is_bootstrap); - let constraint = - builder.mul_sub_extension(delta_is_bootstrap, delta_is_bootstrap, delta_is_bootstrap); - yield_constr.constraint_transition(builder, constraint); - - // If this is a bootloading row and the i'th memory channel is used, it must have the right - // address, name context = 0, segment = Code, virt = clock * NUM_GP_CHANNELS + i. - let code_segment = - builder.constant_extension(F::Extension::from_canonical_usize(Segment::Code as usize)); - for (i, channel) in local_values.mem_channels.iter().enumerate() { - let filter = builder.mul_extension(local_is_bootstrap, channel.used); - let constraint = builder.mul_extension(filter, channel.addr_context); - yield_constr.constraint(builder, constraint); - - let segment_diff = builder.sub_extension(channel.addr_segment, code_segment); - let constraint = builder.mul_extension(filter, segment_diff); - yield_constr.constraint(builder, constraint); - - let i_ext = builder.constant_extension(F::Extension::from_canonical_usize(i)); - let num_gp_channels_f = F::from_canonical_usize(NUM_GP_CHANNELS); - let expected_virt = - builder.mul_const_add_extension(num_gp_channels_f, local_values.clock, i_ext); - let virt_diff = builder.sub_extension(channel.addr_virtual, expected_virt); - let constraint = builder.mul_extension(filter, virt_diff); - yield_constr.constraint(builder, constraint); - } - { - let constr = builder.mul_extension(local_is_bootstrap, local_values.partial_channel.used); - yield_constr.constraint(builder, constr); - } - - // If this is the final bootstrap row (i.e. delta_is_bootstrap = 1), check that - // - all memory channels are disabled - // - the current kernel hash matches a precomputed one - for channel in local_values.mem_channels.iter() { - let constraint = builder.mul_extension(delta_is_bootstrap, channel.used); - yield_constr.constraint_transition(builder, constraint); - } - { - let constr = builder.mul_extension(delta_is_bootstrap, local_values.partial_channel.used); - yield_constr.constraint(builder, constr); - } - - for (&expected, actual) in KERNEL - .code_hash - .iter() - .rev() - .zip(next_values.mem_channels[0].value) - { - let expected = builder.constant_extension(F::Extension::from_canonical_u32(expected)); - let diff = builder.sub_extension(expected, actual); - let constraint = builder.mul_extension(delta_is_bootstrap, diff); - yield_constr.constraint_transition(builder, constraint); - } - - // In addition, validate `is_keccak_sponge`. It must be binary, and be 1 either at the final - // boostrap row or during a KECCAK_GENERAL instruction. At the final CPU row, it should be 0. - { - let constr = builder.mul_sub_extension( - local_values.is_keccak_sponge, - local_values.is_keccak_sponge, - local_values.is_keccak_sponge, - ); - yield_constr.constraint(builder, constr); - } - { - let minus_is_keccak_general = builder.mul_sub_extension( - local_values.op.jumpdest_keccak_general, - local_values.opcode_bits[1], - local_values.op.jumpdest_keccak_general, - ); - let computed_is_keccak_sponge = - builder.sub_extension(delta_is_bootstrap, minus_is_keccak_general); - let constr = - builder.sub_extension(local_values.is_keccak_sponge, computed_is_keccak_sponge); - yield_constr.constraint_transition(builder, constr); - } - { - yield_constr.constraint_last_row(builder, local_values.is_keccak_sponge); - } -} diff --git a/evm/src/cpu/columns/mod.rs b/evm/src/cpu/columns/mod.rs index e8b8f1c3..374b4cc6 100644 --- a/evm/src/cpu/columns/mod.rs +++ b/evm/src/cpu/columns/mod.rs @@ -53,9 +53,6 @@ pub(crate) struct PartialMemoryChannelView { #[repr(C)] #[derive(Clone, Copy, Eq, PartialEq, Debug)] pub(crate) struct CpuColumnsView { - /// Filter. 1 if the row is part of bootstrapping the kernel code, 0 otherwise. - pub is_bootstrap_kernel: T, - /// If CPU cycle: Current context. pub context: T, diff --git a/evm/src/cpu/control_flow.rs b/evm/src/cpu/control_flow.rs index d9230131..3e6f3f5b 100644 --- a/evm/src/cpu/control_flow.rs +++ b/evm/src/cpu/control_flow.rs @@ -51,7 +51,7 @@ pub(crate) fn eval_packed_generic( let is_cpu_cycle: P = COL_MAP.op.iter().map(|&col_i| lv[col_i]).sum(); let is_cpu_cycle_next: P = COL_MAP.op.iter().map(|&col_i| nv[col_i]).sum(); - let next_halt_state = P::ONES - nv.is_bootstrap_kernel - is_cpu_cycle_next; + let next_halt_state = P::ONES - is_cpu_cycle_next; // Once we start executing instructions, then we continue until the end of the table // or we reach dummy padding rows. This, along with the constraints on the first row, @@ -94,8 +94,7 @@ pub(crate) fn eval_ext_circuit, const D: usize>( let is_cpu_cycle = builder.add_many_extension(COL_MAP.op.iter().map(|&col_i| lv[col_i])); let is_cpu_cycle_next = builder.add_many_extension(COL_MAP.op.iter().map(|&col_i| nv[col_i])); - let next_halt_state = builder.add_extension(nv.is_bootstrap_kernel, is_cpu_cycle_next); - let next_halt_state = builder.sub_extension(one, next_halt_state); + let next_halt_state = builder.sub_extension(one, is_cpu_cycle_next); // Once we start executing instructions, then we continue until the end of the table // or we reach dummy padding rows. This, along with the constraints on the first row, diff --git a/evm/src/cpu/cpu_stark.rs b/evm/src/cpu/cpu_stark.rs index 85acdabb..b2ff3c6e 100644 --- a/evm/src/cpu/cpu_stark.rs +++ b/evm/src/cpu/cpu_stark.rs @@ -16,8 +16,8 @@ use crate::all_stark::Table; use crate::constraint_consumer::{ConstraintConsumer, RecursiveConstraintConsumer}; use crate::cpu::columns::{COL_MAP, NUM_CPU_COLUMNS}; use crate::cpu::{ - bootstrap_kernel, byte_unpacking, clock, contextops, control_flow, decode, dup_swap, gas, - jumps, membus, memio, modfp254, pc, push0, shift, simple_logic, stack, syscalls_exceptions, + byte_unpacking, clock, contextops, control_flow, decode, dup_swap, gas, jumps, membus, memio, + modfp254, pc, push0, shift, simple_logic, stack, syscalls_exceptions, }; use crate::cross_table_lookup::{Column, TableWithColumns}; use crate::evaluation_frame::{StarkEvaluationFrame, StarkFrame}; @@ -295,7 +295,6 @@ impl, const D: usize> Stark for CpuStark = next_values.borrow(); - bootstrap_kernel::eval_bootstrap_kernel_packed(local_values, next_values, yield_constr); byte_unpacking::eval_packed(local_values, next_values, yield_constr); clock::eval_packed(local_values, next_values, yield_constr); contextops::eval_packed(local_values, next_values, yield_constr); @@ -331,12 +330,6 @@ impl, const D: usize> Stark for CpuStark> = next_values.borrow(); - bootstrap_kernel::eval_bootstrap_kernel_ext_circuit( - builder, - local_values, - next_values, - yield_constr, - ); byte_unpacking::eval_ext_circuit(builder, local_values, next_values, yield_constr); clock::eval_ext_circuit(builder, local_values, next_values, yield_constr); contextops::eval_ext_circuit(builder, local_values, next_values, yield_constr); diff --git a/evm/src/cpu/halt.rs b/evm/src/cpu/halt.rs index 61a25d5b..80ac3285 100644 --- a/evm/src/cpu/halt.rs +++ b/evm/src/cpu/halt.rs @@ -20,8 +20,8 @@ pub(crate) fn eval_packed( let is_cpu_cycle: P = COL_MAP.op.iter().map(|&col_i| lv[col_i]).sum(); let is_cpu_cycle_next: P = COL_MAP.op.iter().map(|&col_i| nv[col_i]).sum(); - let halt_state = P::ONES - lv.is_bootstrap_kernel - is_cpu_cycle; - let next_halt_state = P::ONES - nv.is_bootstrap_kernel - is_cpu_cycle_next; + let halt_state = P::ONES - is_cpu_cycle; + let next_halt_state = P::ONES - is_cpu_cycle_next; // The halt flag must be boolean. yield_constr.constraint(halt_state * (halt_state - P::ONES)); @@ -61,10 +61,8 @@ pub(crate) fn eval_ext_circuit, const D: usize>( let is_cpu_cycle = builder.add_many_extension(COL_MAP.op.iter().map(|&col_i| lv[col_i])); let is_cpu_cycle_next = builder.add_many_extension(COL_MAP.op.iter().map(|&col_i| nv[col_i])); - let halt_state = builder.add_extension(lv.is_bootstrap_kernel, is_cpu_cycle); - let halt_state = builder.sub_extension(one, halt_state); - let next_halt_state = builder.add_extension(nv.is_bootstrap_kernel, is_cpu_cycle_next); - let next_halt_state = builder.sub_extension(one, next_halt_state); + let halt_state = builder.sub_extension(one, is_cpu_cycle); + let next_halt_state = builder.sub_extension(one, is_cpu_cycle_next); // The halt flag must be boolean. let constr = builder.mul_sub_extension(halt_state, halt_state, halt_state); diff --git a/evm/src/cpu/kernel/asm/main.asm b/evm/src/cpu/kernel/asm/main.asm index 7a6f1227..b5440b7e 100644 --- a/evm/src/cpu/kernel/asm/main.asm +++ b/evm/src/cpu/kernel/asm/main.asm @@ -1,5 +1,17 @@ global main: - // First, initialise the shift table + // First, hash the kernel code + %mload_global_metadata(@GLOBAL_METADATA_KERNEL_LEN) + PUSH 0 + PUSH 0 + PUSH 0 + // stack: context, segment, virt, len + KECCAK_GENERAL + // stack: hash + %mload_global_metadata(@GLOBAL_METADATA_KERNEL_HASH) + // stack: expected_hash, hash + %assert_eq + + // Initialise the shift table %shift_table_init // Initialize the block bloom filter diff --git a/evm/src/cpu/kernel/assembler.rs b/evm/src/cpu/kernel/assembler.rs index b8314bdb..29c46ce1 100644 --- a/evm/src/cpu/kernel/assembler.rs +++ b/evm/src/cpu/kernel/assembler.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use std::fs; use std::time::Instant; -use ethereum_types::U256; +use ethereum_types::{H256, U256}; use itertools::{izip, Itertools}; use keccak_hash::keccak; use log::debug; @@ -26,9 +26,8 @@ pub(crate) const BYTES_PER_OFFSET: u8 = 3; pub struct Kernel { pub(crate) code: Vec, - /// Computed using `hash_kernel`. It is encoded as `u32` limbs for convenience, since we deal - /// with `u32` limbs in our Keccak table. - pub(crate) code_hash: [u32; 8], + /// Computed using `hash_kernel`. + pub(crate) code_hash: H256, pub(crate) global_labels: HashMap, pub(crate) ordered_labels: Vec, @@ -43,11 +42,7 @@ impl Kernel { global_labels: HashMap, prover_inputs: HashMap, ) -> Self { - let code_hash_bytes = keccak(&code).0; - let code_hash_be = core::array::from_fn(|i| { - u32::from_le_bytes(core::array::from_fn(|j| code_hash_bytes[i * 4 + j])) - }); - let code_hash = code_hash_be.map(u32::from_be); + let code_hash = keccak(&code); let ordered_labels = global_labels .keys() .cloned() diff --git a/evm/src/cpu/kernel/constants/global_metadata.rs b/evm/src/cpu/kernel/constants/global_metadata.rs index ad685222..fa80d006 100644 --- a/evm/src/cpu/kernel/constants/global_metadata.rs +++ b/evm/src/cpu/kernel/constants/global_metadata.rs @@ -85,10 +85,13 @@ pub(crate) enum GlobalMetadata { LogsPayloadLen = 43, TxnNumberBefore = 44, TxnNumberAfter = 45, + + KernelHash = 46, + KernelLen = 47, } impl GlobalMetadata { - pub(crate) const COUNT: usize = 46; + pub(crate) const COUNT: usize = 48; pub(crate) fn all() -> [Self; Self::COUNT] { [ @@ -138,6 +141,8 @@ impl GlobalMetadata { Self::BlockCurrentHash, Self::TxnNumberBefore, Self::TxnNumberAfter, + Self::KernelHash, + Self::KernelLen, ] } @@ -190,6 +195,8 @@ impl GlobalMetadata { Self::LogsPayloadLen => "GLOBAL_METADATA_LOGS_PAYLOAD_LEN", Self::TxnNumberBefore => "GLOBAL_METADATA_TXN_NUMBER_BEFORE", Self::TxnNumberAfter => "GLOBAL_METADATA_TXN_NUMBER_AFTER", + Self::KernelHash => "GLOBAL_METADATA_KERNEL_HASH", + Self::KernelLen => "GLOBAL_METADATA_KERNEL_LEN", } } } diff --git a/evm/src/cpu/membus.rs b/evm/src/cpu/membus.rs index a9041c06..e86d1ce5 100644 --- a/evm/src/cpu/membus.rs +++ b/evm/src/cpu/membus.rs @@ -39,9 +39,6 @@ pub(crate) fn eval_packed( ) { // Validate `lv.code_context`. // It should be 0 if in kernel mode and `lv.context` if in user mode. - // Note: This doesn't need to be filtered to CPU cycles, as this should also be satisfied - // during Kernel bootstrapping. - yield_constr.constraint(lv.code_context - (P::ONES - lv.is_kernel_mode) * lv.context); // Validate `channel.used`. It should be binary. @@ -62,8 +59,6 @@ pub(crate) fn eval_ext_circuit, const D: usize>( ) { // Validate `lv.code_context`. // It should be 0 if in kernel mode and `lv.context` if in user mode. - // Note: This doesn't need to be filtered to CPU cycles, as this should also be satisfied - // during Kernel bootstrapping. let diff = builder.sub_extension(lv.context, lv.code_context); let constr = builder.mul_sub_extension(lv.is_kernel_mode, lv.context, diff); yield_constr.constraint(builder, constr); diff --git a/evm/src/cpu/mod.rs b/evm/src/cpu/mod.rs index 4c9a74d3..3d5124ba 100644 --- a/evm/src/cpu/mod.rs +++ b/evm/src/cpu/mod.rs @@ -1,4 +1,3 @@ -pub(crate) mod bootstrap_kernel; mod byte_unpacking; mod clock; pub(crate) mod columns; diff --git a/evm/src/generation/mod.rs b/evm/src/generation/mod.rs index 9b3a8e98..92ef6df9 100644 --- a/evm/src/generation/mod.rs +++ b/evm/src/generation/mod.rs @@ -3,6 +3,7 @@ use std::collections::HashMap; use anyhow::anyhow; use eth_trie_utils::partial_trie::{HashedPartialTrie, PartialTrie}; use ethereum_types::{Address, BigEndianHash, H256, U256}; +use itertools::enumerate; use plonky2::field::extension::Extendable; use plonky2::field::polynomial::PolynomialValues; use plonky2::hash::hash_types::RichField; @@ -16,7 +17,6 @@ use GlobalMetadata::{ use crate::all_stark::{AllStark, NUM_TABLES}; use crate::config::StarkConfig; -use crate::cpu::bootstrap_kernel::generate_bootstrap_kernel; use crate::cpu::columns::CpuColumnsView; use crate::cpu::kernel::aggregator::KERNEL; use crate::cpu::kernel::constants::global_metadata::GlobalMetadata; @@ -149,6 +149,8 @@ fn apply_metadata_and_tries_memops, const D: usize> GlobalMetadata::ReceiptTrieRootDigestAfter, h2u(trie_roots_after.receipts_root), ), + (GlobalMetadata::KernelHash, h2u(KERNEL.code_hash)), + (GlobalMetadata::KernelLen, KERNEL.code.len().into()), ]; let channel = MemoryChannel::GeneralPurpose(0); @@ -216,6 +218,19 @@ fn apply_metadata_and_tries_memops, const D: usize> state.traces.memory_ops.extend(ops); } +fn initialize_kernel_code, const D: usize>( + state: &mut GenerationState, +) { + for (i, &byte) in enumerate(KERNEL.code.iter()) { + let address = MemoryAddress { + context: 0, + segment: Segment::Code as usize, + virt: i, + }; + state.memory.set(address, byte.into()); + } +} + pub fn generate_traces, const D: usize>( all_stark: &AllStark, inputs: GenerationInputs, @@ -231,7 +246,7 @@ pub fn generate_traces, const D: usize>( apply_metadata_and_tries_memops(&mut state, &inputs); - generate_bootstrap_kernel::(&mut state); + initialize_kernel_code(&mut state); timed!(timing, "simulate CPU", simulate_cpu(&mut state)?); diff --git a/evm/src/memory/columns.rs b/evm/src/memory/columns.rs index b77a799c..2010bf33 100644 --- a/evm/src/memory/columns.rs +++ b/evm/src/memory/columns.rs @@ -35,8 +35,12 @@ pub(crate) const CONTEXT_FIRST_CHANGE: usize = VALUE_START + VALUE_LIMBS; pub(crate) const SEGMENT_FIRST_CHANGE: usize = CONTEXT_FIRST_CHANGE + 1; pub(crate) const VIRTUAL_FIRST_CHANGE: usize = SEGMENT_FIRST_CHANGE + 1; +// Used to lower the degree of the zero-initializing constraints. +// Contains `next_segment * addr_changed * next_is_read`. +pub(crate) const INITIALIZE_AUX: usize = VIRTUAL_FIRST_CHANGE + 1; + // We use a range check to enforce the ordering. -pub(crate) const RANGE_CHECK: usize = VIRTUAL_FIRST_CHANGE + 1; +pub(crate) const RANGE_CHECK: usize = INITIALIZE_AUX + 1; /// The counter column (used for the range check) starts from 0 and increments. pub(crate) const COUNTER: usize = RANGE_CHECK + 1; /// The frequencies column used in logUp. diff --git a/evm/src/memory/memory_stark.rs b/evm/src/memory/memory_stark.rs index aa0ec79a..ecdea99e 100644 --- a/evm/src/memory/memory_stark.rs +++ b/evm/src/memory/memory_stark.rs @@ -19,8 +19,8 @@ use crate::evaluation_frame::{StarkEvaluationFrame, StarkFrame}; use crate::lookup::Lookup; use crate::memory::columns::{ value_limb, ADDR_CONTEXT, ADDR_SEGMENT, ADDR_VIRTUAL, CONTEXT_FIRST_CHANGE, COUNTER, FILTER, - FREQUENCIES, IS_READ, NUM_COLUMNS, RANGE_CHECK, SEGMENT_FIRST_CHANGE, TIMESTAMP, - VIRTUAL_FIRST_CHANGE, + FREQUENCIES, INITIALIZE_AUX, IS_READ, NUM_COLUMNS, RANGE_CHECK, SEGMENT_FIRST_CHANGE, + TIMESTAMP, VIRTUAL_FIRST_CHANGE, }; use crate::memory::VALUE_LIMBS; use crate::stark::Stark; @@ -92,6 +92,7 @@ pub(crate) fn generate_first_change_flags_and_rc( let next_segment = next_row[ADDR_SEGMENT]; let next_virt = next_row[ADDR_VIRTUAL]; let next_timestamp = next_row[TIMESTAMP]; + let next_is_read = next_row[IS_READ]; let context_changed = context != next_context; let segment_changed = segment != next_segment; @@ -122,6 +123,10 @@ pub(crate) fn generate_first_change_flags_and_rc( "Range check of {} is too large. Bug in fill_gaps?", row[RANGE_CHECK] ); + + let address_changed = + row[CONTEXT_FIRST_CHANGE] + row[SEGMENT_FIRST_CHANGE] + row[VIRTUAL_FIRST_CHANGE]; + row[INITIALIZE_AUX] = next_segment * address_changed * next_is_read; } } @@ -325,15 +330,26 @@ impl, const D: usize> Stark for MemoryStark, const D: usize> Stark for MemoryStark(KERNEL.code_hash); + let kernel_hash_targets: [Target; 8] = from_fn(|i| builder.constant(kernel_hash_limbs[i])); + product = add_data_write( + builder, + challenge, + product, + metadata_segment, + GlobalMetadata::KernelHash as usize, + &kernel_hash_targets, + ); + let kernel_len_target = builder.constant(F::from_canonical_usize(KERNEL.code.len())); + product = add_data_write( + builder, + challenge, + product, + metadata_segment, + GlobalMetadata::KernelLen as usize, + &[kernel_len_target], + ); + product } diff --git a/evm/src/verifier.rs b/evm/src/verifier.rs index 04450b46..7a96cc4b 100644 --- a/evm/src/verifier.rs +++ b/evm/src/verifier.rs @@ -13,6 +13,7 @@ use plonky2::plonk::plonk_common::reduce_with_powers; use crate::all_stark::{AllStark, Table, NUM_TABLES}; use crate::config::StarkConfig; use crate::constraint_consumer::ConstraintConsumer; +use crate::cpu::kernel::aggregator::KERNEL; use crate::cpu::kernel::constants::global_metadata::GlobalMetadata; use crate::cross_table_lookup::{ verify_cross_table_lookups, CtlCheckVars, GrandProductChallenge, GrandProductChallengeSet, @@ -141,8 +142,8 @@ where } /// Computes the extra product to multiply to the looked value. It contains memory operations not in the CPU trace: -/// - block metadata writes before kernel bootstrapping, -/// - trie roots writes before kernel bootstrapping. +/// - block metadata writes, +/// - trie roots writes. pub(crate) fn get_memory_extra_looking_products( public_values: &PublicValues, challenge: GrandProductChallenge, @@ -234,6 +235,8 @@ where GlobalMetadata::ReceiptTrieRootDigestAfter, h2u(public_values.trie_roots_after.receipts_root), ), + (GlobalMetadata::KernelHash, h2u(KERNEL.code_hash)), + (GlobalMetadata::KernelLen, KERNEL.code.len().into()), ]; let segment = F::from_canonical_u32(Segment::GlobalMetadata as u32); @@ -549,6 +552,8 @@ pub(crate) mod testutils { GlobalMetadata::ReceiptTrieRootDigestAfter, h2u(public_values.trie_roots_after.receipts_root), ), + (GlobalMetadata::KernelHash, h2u(KERNEL.code_hash)), + (GlobalMetadata::KernelLen, KERNEL.code.len().into()), ]; let segment = F::from_canonical_u32(Segment::GlobalMetadata as u32); diff --git a/evm/tests/empty_txn_list.rs b/evm/tests/empty_txn_list.rs index 02e3c5b6..90da5b8d 100644 --- a/evm/tests/empty_txn_list.rs +++ b/evm/tests/empty_txn_list.rs @@ -82,7 +82,7 @@ fn test_empty_txn_list() -> anyhow::Result<()> { // that is wrong for testing purposes, see below. let mut all_circuits = AllRecursiveCircuits::::new( &all_stark, - &[16..17, 10..11, 12..13, 14..15, 9..11, 12..13, 18..19], // Minimal ranges to prove an empty list + &[16..17, 10..11, 11..12, 14..15, 9..11, 12..13, 17..18], // Minimal ranges to prove an empty list &config, ); @@ -124,7 +124,7 @@ fn test_empty_txn_list() -> anyhow::Result<()> { // We pass an empty range if we don't want to add different table sizes. all_circuits.expand( &all_stark, - &[0..0, 0..0, 15..16, 0..0, 0..0, 0..0, 0..0], + &[0..0, 0..0, 12..13, 0..0, 0..0, 0..0, 0..0], &StarkConfig::standard_fast_config(), );