From 4828f66236c659b3ea3a7a3ad279c63142b6a27e Mon Sep 17 00:00:00 2001 From: arnaucube Date: Sat, 16 Mar 2024 11:36:56 +0100 Subject: [PATCH] add typos.toml config and fix typos --- abstract-algebra-charles-pinter-notes.pdf | Bin 267182 -> 267162 bytes abstract-algebra-charles-pinter-notes.tex | 8 ++++---- fft.sage | 4 ++-- ipa.sage | 4 ++-- notes_bls-sig.pdf | Bin 152590 -> 152568 bytes notes_bls-sig.tex | 4 ++-- notes_caulk.pdf | Bin 361682 -> 361683 bytes notes_caulk.tex | 2 +- notes_fri.pdf | Bin 227363 -> 227363 bytes notes_fri.tex | 22 ++++++++++++++++++++-- notes_hypernova.pdf | Bin 359875 -> 359875 bytes notes_hypernova.tex | 2 +- notes_nova.pdf | Bin 253545 -> 253543 bytes notes_nova.tex | 4 ++-- notes_reed-solomon.pdf | Bin 215581 -> 215582 bytes notes_reed-solomon.tex | 2 +- notes_sonic.pdf | Bin 230135 -> 230155 bytes notes_sonic.tex | 4 ++-- notes_spartan.pdf | Bin 332548 -> 332534 bytes notes_spartan.tex | 4 ++-- sigma.sage | 2 +- slides_hypernova-part1-introduction.pdf | Bin 305700 -> 305709 bytes slides_hypernova-part1-introduction.tex | 8 ++++---- typos.toml | 7 +++++++ 24 files changed, 51 insertions(+), 26 deletions(-) create mode 100644 typos.toml diff --git a/abstract-algebra-charles-pinter-notes.pdf b/abstract-algebra-charles-pinter-notes.pdf index c40504430012006e256c3c7a997075244cbb5f85..607f4889fbe41374ea20a771b5ca7239b967d538 100644 GIT binary patch delta 11188 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 j>|u=!5mNfifjrD zMH>Bh*@Iu#`--<>WfBE

D`~5Z%8>BJn94_Q6TS6g= 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 O$plMIE~X$3`#%6(7g((T diff --git a/abstract-algebra-charles-pinter-notes.tex b/abstract-algebra-charles-pinter-notes.tex index c0183c2..e9677bf 100644 --- a/abstract-algebra-charles-pinter-notes.tex +++ b/abstract-algebra-charles-pinter-notes.tex @@ -97,7 +97,7 @@ Every subgroup of a cyclic group is cyclic. \begin{definition}[Subgroup] Let $G$ be a group, and $H$ a non-empty subset of $G$. If \begin{enumerate}[i.] - \item the idenity $e$ of $G$ is in $H$. + \item the identity $e$ of $G$ is in $H$. \item $H$ is closed with respect to the operation. Which is for $a, b \in H$, $ab \in H$. \item $H$ is closed with respect to inverses. Which is for $a \in H$, $a^{-1} \in H$. \end{enumerate} @@ -174,7 +174,7 @@ In finite sets, if $f: A \rightarrow B$ is injective then $|A| \leq |B|$, and if \section{Cosets} \begin{definition}[Coset] - Let $G$ be a group, and $H$ a subgroup of $G$. For any element $a$ in $G$, the symbol $aH$ denotes the set of all products $ah$, as $a$ remains fixed and $h$ ranges over $H$. $aH$ is caled a \emph{left coset} of $H$ in $G$. + Let $G$ be a group, and $H$ a subgroup of $G$. For any element $a$ in $G$, the symbol $aH$ denotes the set of all products $ah$, as $a$ remains fixed and $h$ ranges over $H$. $aH$ is called a \emph{left coset} of $H$ in $G$. \\ In similar fashion, $Ha$ denotes the set of all products $ha$, as $a$ remains fixed an $h$ ranges over $H$. $Ha$ is called a \emph{right coset} of $H$ in $G$. \end{definition} @@ -306,7 +306,7 @@ Quotient group construction is useful as a way of actually manufacturing all the \end{definition} \begin{definition}[Unity] - A ring does not necessarily have a neutral element for multiplication. If there is in $A$ a neutral element for mulitplication, it is called the \emph{unity} of $A$, and is denoted by the symbol $1$. + A ring does not necessarily have a neutral element for multiplication. If there is in $A$ a neutral element for multiplication, it is called the \emph{unity} of $A$, and is denoted by the symbol $1$. \\ If $A$ has a unity, we call $A$ a \emph{ring with unity}. \end{definition} @@ -531,7 +531,7 @@ Let $a(x) \in F[x]$ be a polynomial of degree $n$. There is an extension field $ The set of all the linear combinations of $\overrightarrow{a_1}, \overrightarrow{a_2}, \ldots, \overrightarrow{a_n}$ is a \emph{subspace of} $V$. \end{definition} -\begin{definition}[Linear dependancy] +\begin{definition}[Linear dependency] Let $S = \{$\overrightarrow{a_1}, \overrightarrow{a_2}, \ldots, \overrightarrow{a_n}$\}$ be a set of distinct vectors in a vector space $V$. $S$ is said to be \emph{linearly dependent} if there are scalars $k_1, \ldots, k_n$, not all zero, such that $k_1 \overrightarrow{a_1} + k_2 \overrightarrow{a_2} + \cdots + k_n \overrightarrow{a_n} = 0$. Which is equivalent to saying that at least one of the vectors in $S$ is a linear combination of the others. diff --git a/fft.sage b/fft.sage index c5494fd..bbce62e 100644 --- a/fft.sage +++ b/fft.sage @@ -41,7 +41,7 @@ def fft(F, n): return w, ft, ft_inv -# Fast polynomial multiplicaton using FFT +# Fast polynomial multiplication using FFT def poly_mul(fa, fb, F, n): w, ft, ft_inv = fft(F, n) @@ -126,7 +126,7 @@ print("fa_eval'", fa_eval) assert fa_eval2 == fa_eval -# Fast polynomial multiplicaton using FFT +# Fast polynomial multiplication using FFT print("\n---------") print("---Fast polynomial multiplication using FFT") diff --git a/ipa.sage b/ipa.sage index 300edf9..f0b7d8f 100644 --- a/ipa.sage +++ b/ipa.sage @@ -184,7 +184,7 @@ class IPA_halo: return a[0], l, r, L, R def verify(self, P, a, v, x_powers, r, u, U, lj, rj, L, R): - print("methid verify()") + print("method verify()") # compute P' = P + [v] U P = P + int(v) * U @@ -323,7 +323,7 @@ h = 1 q = g.order() Fq = GF(q) -# simplier curve values +# simpler curve values # p = 19 # Fp = GF(p) # E = EllipticCurve(Fp,[0,3]) diff --git a/notes_bls-sig.pdf b/notes_bls-sig.pdf index 772c788ab5f7d58ec28263543604db339ee8391d..71c0d359e13aed529a137bc65e6e71d131e6d90e 100644 GIT binary patch delta 2069 zcmV+w2Mz8_oUkN{2k2#Nx6 zilRvlT3c%i@k*{NBgnt+P^2YtO|QL)x5&k!sNu|TX1L}ii)#0<@5i|l>=N7I$t$&_K5H?@1deDl@~-d4-H=yoj-e|((% z_UskI86n6BK`lFp5y3K>QjN4Bj$6^z#csa4o=mCAOS>u~NGk$V3~??U)o;7?7mz?@ zPBEpH>OlQxueixHGE(-cbHo^kVghmPnY_5(c5N~5jxE>0@+lz{X+~in5M?UbIu|_e zicb@&^RjlYpI6nov_p}%WwDr$f4r)f?!B;k(|NP&+x@?QC0=M>yK(ld?mVh&}H}3Y6Cy@aO0Ld`DC!t<4 z4=4;cXyEaWXF)TGjDm$WaUjVp6cIPvQT^+w!VQ2+vw-AjLS2D0e`GcTj+VyJM*m{7<-$(p*FxA!Y!31y)Kj=}Nhab`3*8D{~_F9|8o z37CM1z^SN#tSt64x5-^At^y{+B|M5D@faIT3MuRjcPun*_b`S_N>#`>oD9LcFIR;t zMmM{9-X}9x_*R84Tero=mn*0^;{vFeu6$QvjjK|*kVu9Ie<2SGWO_~@L)qt?=Wm;o zIS7IXJLS1Yaa@AQ5UD>w?U5>set9RV0Vw#QIpIuGrjTwl^t>MEj_$9Ck%11$sLPhp16}dxYChl`&{(=c`DXikAW|^Q7FRD zvN$DWGJHWOe`fR{JkJW?F#AwMv`;?%tnjYBY1WIYgd}J*A<6T;SrSZtyD3Cu3bOat zQB#mhm_i?z!g>8zf}sy`da97Q9_}0K80Pe39SdlVp@<}Vi90BY+Ln8q0=Y~Oefb1? z)FBY3MCgm6@L>%eyD!0>vXpt8@I5><0Ghc0{RrXre+3<=P9cK_bV-|IP+fk%HcwW* z@gS1|Bt=T<{~3_q(pY{)dcR~&I|b^C=bEz%_89+hSHqaFFHu|bV!3R~W!TSzOB9%8 zU>)4$xpsJ5nyQN&j`>>ovS<#@J|Qv%k|u853VS~#bNAb(c5RSS(eeH?N=NCDQx2u4 z4wF!>f52t|(T~X{)kyYWar7eMu3VH{xyI=#oo+Q7Kyi#AJ=Fh%vr>^WrO=yD8*3Qw z&hJ0LF`$wB!E%#9B4bo*NNFc-8zAEg%pT!r@f1#JhPdknE({FdDe(ZD($7ctzVN-; zy7{VJRNJnqm%D1aDz4pqvdM4S=GHTE{i+6;e=I(8)J;7N#aO%!V%(MI(6&lMsK@7@ zyX$o|cjWFm`-?vVp8&hT{Yf|Kfrsm~(2KT&81wj8-wTiYm=Jy$sGlqCJ4O1ro=O9q z!P%XiiF9fZJ6oza7v|u3!^0ykO~(fv8=w;~7x&&Os!*1_R5Ze0Dr(lFoM{@N+|F# z^YiSbmGVRU66 zC`39kFfueSGch(XF)}zbHn(m<0^tu)MMOe5LPSD2MMOa}H$ycsIYmT5F*GzoGet8p zF-12pJ|H|rL_#@2L_#@5L_sq*Lp3ouMMOd|G&DmqMKdxnMK>@$T?#KuWo~D5Xdp5; zGM51u0x5qT(YrQ7VGxGl`F_MYWc zjZ&+y(&|+@=9}hOZ!v487!i>_C*lOI{VS|d(jp*^43S|HhDg-rMo5Spk^{0&YNSH; z$QaorB~m9%QYKY$M8?Sk@yIcmC6gpZB9PF79iM+9(`1G;NR-Txc@ifHvOpF|k}Q!F zNt0!=LNX)^@jmRvDx}`C%0X_+R%?*^JF7h8>DkJMyeF*IA>Y?l8-V|1RRB6SR+~Vt zVzmYIvsMA{*090uBi?FbX9lMNdWwy57q@ delta 2087 zcmV+?2-x@drwNXz36LZMHZU}oaW?`ef6ZClkJ~m3fA3%6w>em?>igq{KD5Bvtu2ND zO^0D^AAE@~F`C$!rNhmQ06O~9J5HmEH&XbSnA9Y)7CmF*utt&UaeD~gcye}73-tHP8fA~Co z^XwJF2_eV`K`lFp5y3Las7Bfl$1QKFd^g)&Pco{~!tP24(ux2TL!3)T^=7xa1qoE9 z6jN%c4%C14ikn0uBW0&LM~s0eCJ@)2$&2f4+vKzM*mfOk&j_JNGYTI9QKm*m=Ypqg z{$)aST2yZOby=u-)Y=YmvQZYq*Rsq$z_DgUyZ8*{aj&!Wc_8`396RY0+%m!tZYAP6Nw!#?xh9 z&A&Ef+uGCFpDTOrr}kTYGkc zJXWz?7HjyOGf);Rm+fW4Qd_%F5;$;=QeBK-xBp!}on!=Pi@zQ1$dwEuj#W>KoTUs$ z;ES;u(`BcnbjNj{c~iJ!!_nyI08XI*J?eq^wy=m3I9(J~(d2CjZtXUKX8TQA0?tft-0c@nA_Ectl3}_hpN{^^CiLrY)=Pe zpWCdY9Wd{3>gf2v!AGnh-3@W~Ibs>`o*86)!k9$lSek*!!VwS?*oGq|#Bl!X$w4~|EVGo#7LI16Zgi%5Y^ zzywSLjztY*Wzo~Dqo-C}1x$!bcoak8F*ceMQrH{rSZLbrVIM9rRUzYWG6Zj5u5wq5 zZg$nIOJ=U{EpuPC*7?SlE2ud84Nx;(`7Xm6SH^N7kqi++e;yXd^qfG3vd=kB-`6p7 z5Cjo+%5#t6xCoOWQh$NkBUKpv@=jC(Q1C@_!kMOwA>C-`c|Fh_-Cq+Up-n13VZvv} zsvjW`i%|YXfG?tINOq17_?a13jI$t%o>(07#GT~9l^%Jv%SF$h$70R(82Ew*g(3_s zi&IiY!xw~Ne?}j|^Q-_4vkyf?`{d*A3LmPQdNsd_NPA0hm{f1m@^DP-_~E^2cOs>>hO=F!Tx zzsSS@Ns*HJe+K0DG?w3x-Y=QcPJ#O3x#sMGy^sHKSHqaFlTlmqVzFq7McB`TTNIdO zU>&^WxpsKJHC7inT=TW^WzihmeL`dkB+a;W%kBG=Ox@omc4~u^8eQ*CqjWEQULK`Q^smBIL_{zwO+$_|c#|A-|du-rJ!G|9`Yzn_Vdi8~Q z*^kw{+_q)4*p=I5dELDx!}3j2uRSBzt!g-Be`lHC%2Cx-7Rs@39ptzd&#r5QZB!yc zJv{&1U9ZZSBX_Ua5KQUqgrxo^d;;I0$UPI!1!3!P~Ti7}6l_+I$Poe|-e0sOhr zeo(xh>!~>08QkD4O3uMMh0DC;XUi4m;vFL`MR?VvM1JQ!X|F!{4^v?bgl8emu+ocG+csjoJJJH;| zfb9RPM5I9s%$R|f^!`5wAWJFIYBrz zML0J^Mm}8%FHB`_XLM*FGB`GuVIcx3e;v`iF2ivY#_{v~RMD1tDMht^rIb=t{1AmLBDF%7AssI;BS}nuHp7b;EZzbU= zsS_oAs$|ZU?1hrMSMu*lF`)Qm9;I}tRO(8tV5=Hro3zLd*(G~$%@>_J{*{0ATO-n! R&r<>*2{bqgB_%~qMhYTI(a8V+ diff --git a/notes_bls-sig.tex b/notes_bls-sig.tex index 41c3420..364dfb1 100644 --- a/notes_bls-sig.tex +++ b/notes_bls-sig.tex @@ -57,12 +57,12 @@ $$e(pk, H(m)) = e([sk] \cdot g_1, H(m) = e(g_1, H(m))^{sk} = e(g_1, [sk] \cdot H \paragraph{Aggregation} Signatures aggregation: $$\sigma_{aggr} = \sigma_1 + \sigma_2 + \ldots + \sigma_n$$ -where $\sigma_{aggr} \in G_2$, and an aggregated signatures is indistinguishible from a non-aggregated signature. +where $\sigma_{aggr} \in G_2$, and an aggregated signatures is indistinguishable from a non-aggregated signature. \vspace{0.5cm} Public keys aggregation: $$pk_{aggr} = pk_1 + pk_2 + \ldots + pk_n$$ -where $pk_{aggr} \in G_1$, and an aggregated public keys is indistinguishible from a non-aggregated public key. +where $pk_{aggr} \in G_1$, and an aggregated public keys is indistinguishable from a non-aggregated public key. \paragraph{Verification of aggregated signatures} diff --git a/notes_caulk.pdf b/notes_caulk.pdf index 7e97cdbf4e385a2df0c671d568fb56ba0a1214ec..3245300122fc9b7a34e1f8d19e36b0501d33ffba 100644 GIT binary patch delta 3871 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 diff --git a/notes_fri.tex b/notes_fri.tex index 7fd4ef1..c6ca852 100644 --- a/notes_fri.tex +++ b/notes_fri.tex @@ -7,6 +7,8 @@ \usepackage{enumerate} \usepackage{hyperref} \usepackage{xcolor} +% \usepackage{pgf-umlsd} % diagrams + % prevent warnings of underfull \hbox: \usepackage{etoolbox} @@ -32,7 +34,7 @@ \maketitle \begin{abstract} - Notes taken from \href{https://sites.google.com/site/vincenzoiovinoit/}{Vincenzo Iovino} \cite{vincenzoiovino} explainations about FRI \cite{fri}, \cite{cryptoeprint:2022/1216}, \cite{cryptoeprint:2019/1020}. + Notes taken from \href{https://sites.google.com/site/vincenzoiovinoit/}{Vincenzo Iovino} \cite{vincenzoiovino} explanations about FRI \cite{fri}, \cite{cryptoeprint:2022/1216}, \cite{cryptoeprint:2019/1020}. These notes are for self-consumption, are not complete, don't include all the steps neither all the proofs. @@ -68,7 +70,7 @@ Consider the following protocol: \item V checks $f(r)=g(r) + \alpha h(r)$. (Schwartz-Zippel lema). If holds, V can be certain that $f(x)=g(x)+ \alpha h(x)$. \item P proves that $deg(f) \leq d$. - \item If V is convinced that $deg(f) \leq d$, V belives that both $g, h$ have $deg \leq d$. + \item If V is convinced that $deg(f) \leq d$, V believes that both $g, h$ have $deg \leq d$. \end{enumerate} %/// TODO tabulate this next lines @@ -183,6 +185,22 @@ P would receive a challenge $z \in D$ set by V (where $D$ is the evaluation doma \item[] Constant values of last iteration: $\{f_k^L,~f_k^R\}$, for $k=log(d)$ \end{itemize} +% \begin{figure}[htp] +% \centering +% \begin{footnotesize} +% \begin{sequencediagram} +% \newinst[0]{p}{Prover} +% \newinst[5]{v}{Verifier} +% +% \mess{p}{$\{Comm(f_i)\}_0^{log(d)},~ \{f_i(z^{2^i}),~f_i(-(z^{2^i})) \}_0^{log(d)},~ \{f_k^L,~ f_k^R\}$}{v} +% +% \end{sequencediagram} +% \end{footnotesize} +% \caption[FRI-LDT]{sketch of the FRI-LDT flow} +% \label{fig:fri-ldt} +% \end{figure} + + \paragraph{Verification} V receives: diff --git a/notes_hypernova.pdf b/notes_hypernova.pdf index 7acc8cefd414aabc860f8db3d20429696cea447b..50760244185da0e039cee560dfd70309e85e3df8 100644 GIT binary patch delta 3642 zcmajVXFL>+3XJ>RIGb?A6v&rVN#~~zSWv{YH zsBDSy`#$|Y`oCVE_p?vmC0pMm8*xG&AfGjXp%lkG@$_CAWcv5hy2m@iXDiToWeyp! z%=sX~DnUS@xKp6*R_(*&T)%39kTw3~Xho?*$Wcmxb*_H16>0OnsC=z!WK4N{e?OI@ zj?PM1W%X2a_4?pkcfukZckuPFCqIwIJa{_^(tl_U(1ej016TEQ%(<^ENCf5lfBsiy zteZG6a+n}Hugx0VFI(rhn52_Fku(xo#59^{R-?%`SgmD2l8g?(_YKV8Qxm5)An4BWo_J}y-}|41rjPti|Mt9%?_4iv-;JwKbr3bBN_={My7Ot4|>o_l!&q#37dWUwZKy!^-2uOGk6iYMzC&M?#Qj^}VaxgmzRN1o@v zS)jFXl-)jzGX$}ehp;(|xt|9c<6eIMAT_5c8fOZ}JJm$oaRbD4C882we!QoHug?)P z_PdviSPboU^pDFfZ=%v4M*yQIa!s-{qmK?q4-f*qc#lpy1wG?)0!n(Q^uz34MdhLd zk(aeC?vYw0ueBStIry6Pe}MR{@NSz@lAY(L=~+#wZZ~yAN^hOnddSSE~-Cm;2HWuIB=*m^ZpV0#oh0ArRkWOKJ07g`WLs1OZ02 z8y`c&O3BqjosFtFt^{w+#yyU=qNvDH=W3ZArj|LmeSgyz)qnmRwhSaQ=sNQxea}YE zA_x2#VsD^7X;HjOUT(l~`ht!AWo8G9L##e8vX$OjF{p=L0^L>P#BclLyuzWcr2&7@jDI?=MNh`R63R)VLu7{XH?8CCerZhfZxK(~caDXBCehb1 zqEuAe9Wb*8;)m-v1L#eblI<{=Q{6qc|GcJ?FSEMOs5X??4O3aiweQ_~JX zDeurdgI)P1oJursLF9J_L9bjXUr+gMHtlzG-Q23UifUVcKa_huCDH-mpl5yB))96R1onC>nUq*-w-UUOw+24 z7ko``=8csJ(~kN0Z=cu&vhh9!-+hNigHN!{*>j$_>anN~r)dTy2En7JHL`6wu4-vL zyjdcKkGMCNAZvS?0JDavh5G78Vgx5e1H>ayy$ptYNhv9{0%AHIXQo)*Rp8qjozPJ0 z)%mh}Tw2Xybj6BbQSTaW098<}3n}rqA6jDjj?UzyXv(mm0?ec4F~}TUK`5*_$uR@& zW3_ONE89Gcs%waTU8+N)7erdO(XR3rw|SS`*|p0(bX53rXu0Q@F==o?2)&0~|E{Cv z!^qp~>m&yj|G%){`A`JUS0VtElE58(gjjOjvXUFP?gqa29*) zWXQ%otZPkoP}Rrs4;?CPd@z{lX;H8!*Froo|88k*KJf0(ds~8%wGr zMNyY&9^RWG>?Gx@Dsb(^VoN&(6Z__U3|Bf8Un~cmpejXdYVhoX^^5R1A!CqMpja<} z=)oQg$wmjvd!o!I_s)PLyVIcWHm1MixMWGB6sls$L?^zTYc>v60dg53sop3pZd@?U z<#a5y!tNR}d68i=yAzpwxFodp6MIRZB3n<6D-Md07Y` zYf=%p(V)Q)&N9v6p6P#|dO{GnA|ibhi}+FEZ01QZy&9cZGW&zJbgjA54jXLOP${NX zrkvYfX;i`WHjNYWQ$qdTxEoU_PMK!V;t@*9P4D>YQV|vHww^+UNO$J(nAG_l<1&$k zesuP+$6>5vz&YH*bKLoGBMasB3wX5DTAG=lL+2W!_I2Ag)XzvAtP~SsOT{c&RGy}- zV$>VwsZgG#M}sFrJkSlYCVO}|=h4EmoG!*l3vB4h1SqZ5` zk)RBA=Gkymecla=lFaGR3;a&L+F?ggHqAo?_yvUkoSSx7C&fX)3H#Gis=WCy< z(g08EZew&2BZnq?FaMEX=Ta) zqi-JE8u+XNS(QQ^RnIQrU;?W%hpd(1%`;P8Zlj17s&bPT{M$B`2hZu>sSKXE%7}jC zEnu-z!3U9-e1*D}rlHCs?J3#zc7@%>lq!|=R%!`%3HC9*4BMd6aFo15s~eL!FGV6? zOfG#~VD>RR;*6Zxj!cM^lKE1BCDt-8KB{{Th0Qe8%%E_U>9CsDTLdAKEx+$r z#n)HrT#bnQJCzS)#-6;KP@I^I76fw5IOOCHW&t8Nzrd+TT0)grtM&Up*q@J)*pYQa z^|QcK-I6AGs!o$TYtiKSCkNu^mZ?Uluz=E0!Ew3B>K>owZghvN(jYX@z;E)b`-EDvll1O-+rhabo;Z0S|tNpft|g z42$FP98J~VE=0bjWiW(lcPE6x5)PO_p!TS^pyoAfJrP&b+o2z#@`G}fw-NtM#)*1S zfhOWuv3G2Wd=tdG_vO>sWuAihSB|O42To<8SyRkc6xVdiLhE9(5)J@xkhOZlp`(?w zo|6Y}#YkfJNUE-5F(*h))4}P*px672T0IfpY#dNNrvg+JvsqM@sOo@ffRRiv@ znE4qg^B*{utm>nnq4RTrXWg4M8mN?4Sn+$drb*MdZmZ4?s~RUYv!|=hT3T9a+@?A! zk?(>diSzye8m$f{pIB*qC&@oIT2Y;rRn_z02|Jd?6~4T9yCuZMvjQFdW>;ToQ3Z`U z`1QeCeVJpQM?%N{lDH#~EIYUOpw~VzoK}!(2^cc%#7mUL3Dtu5aYhV5t`kp35#A3B zP_$gaBxo&bg=bMZo4IpcTX9?P4;tpI8NN3zLnT!MUd)_do?PFmxVu9ZC5(y{MgjhF z<3Hs8p=c3CQJTs?;Sd-U0foY#5QV!Cs3-&?Do!i?z}rE?*58p&OhZuyBJ+Qjmg)dX zG=-ro3a$Y`%F4;X(I^-KB`bdq4c9=R;qow9Ikb!dLX}VX|6MF;rS%-Woc&$+}ya5Ve%TRxQQj+Aa@pd@!@qO=ZA=oz&r8e*bij8f9jMjww_#a2aYYD-xV*N>@ROnTQQ& z+1``m1eO;=`B4QzMr~7ff3IoYhUTmfl1QedO>Kh6O)%43yPXKo(&iRPBLAk%B4Js# zv85A-_iKjN$ovjhmZ!Baeq+eVm4It%r3riogOHP)_w5=ER0+|?K7b)yCUlAwaGKC0J5WD7 z!IgDN?5&~RQl+mww5!r`>)BQO5+XybJAS$l69TF*4$##tk(#Nv7VtFd{4HbDvKyqP zu~_(LYC>D3Qu8y~(j+Ty-!+QG!ZtNVZFY71f{O(p?g)xVOH zNU)b$JiM~M?~_z)V=z;0BNS|9$p#+c5yky{RO9dVHn&}xaFn7yC0Mo<-|)xG`G@t` zA6#y8*4VaJS@^{FtI6+OdnfK6G8io)4h}U&NatvfhS5E`J4Sa&NjK766Od*gNQW?KNl7K7 z{m<)tx)0ymH+c7A@a{$9j1Yi7%^d#?>e$f9g?0q^Sa0gKuJrQr@nlcKGd$G@tmKc9 zMwV8{QQ*55W2r34WULkKw159h9<6G0Y}2{Oy>GUs#vS_M=4@(XTVU($t)|<+ZXmXt zcFeYcy1gs^S>LmMcVc#`o}5u%5~KF%=LQ zjQ7mlk>1CdJ>zGap{ zXTI-4_Q%8=Bkx_CfGS#j74~NXDEqmU`}!_Bxr^en0`3$K=~7@>07{L0BY||U+*M%a zP|}i2$j_LDRYh>u+m7j~tTjfHcefl$gVSPVV!#5|KMUV&D;pP1I+W{~&-y7Dep`$R4?uh{$Ko%joNMgpe5dt;r`#GI2T6N%j0>x(;k zHUyFRS+=S$uUSMK*Xed|!mWMdHRS|#&}vD0%kZeSWu&xxl@~bZpS$;V?}%NrbvT|^ zI~}DPP_p6%yMT6pJOw03+9urR3=e{_^t_*GiUFhJsxSkWY>>ePZl%98Ucoj&k^GO} z==O1x8(6E-Kh37n@Q*KQHE#JU7YJUFrCU4gTpYrP04Ve%$SCoV059LjC5V5sJh=n7 zAvk~;rk4*(=03m2iE*)E{RZ|8(V!Gk01O;4AUAsq4mPt!E#+ z-e7ikjpe*1(C3uzm5kA=1zQ)DCpYE)w&t+%mqsAzzli5e5u$Rdz{S+X$zL_w7Tvy5 zBn_<3DE!+hc_V1Et0C0d)U(=S^Jbu^JaWaE2yz9+qu9G1PPNXHv9T4{%mcief<+`M zf6h!SpSEw>U^Hli4~<=v=zo6hwDOLdacNqHMrZ8Vvvm%Ll`T%+4YuRJ<~f4_5j~$L z9Wfo`ly6Abe+mT}y;Qg{wApGK@a@OGTObS?+@Czss=bWi)yKyRKf;NC?J6_JzBrRF zlk7W&KfZYA#lO&F-Di9(obL7Xuox3y!;=NV0$JnoDTbk3bBl(>Q{T{n?#=uP-lw$x zR9}YaEauB#rGZ8SPUm81W9+L)4IhSc8!rc!D5#5WHcF7YU#Op~Bd@Rf>5c5TOxFRHT}RALOd_Pi$TH$20kY-pVTul%H+;xMcc0eD zRQ*^%U6EQ?6>hkAK+Ts(`r&N%*B6+XVOO)>`FM&A-4fqcBl^@Whq_39 zr<}WAu>CK?fe44v*U@_yPt(%k&zE;}JWh}AEvg5$JF0%CE#D`5&Z&@1O@hDFq%H5% z0!2Hs7T*XB&U`AJTYf9%>a`q0KWSK;+;Ss_`i@z6s@UCSMOj5^q8wnUTCasoc5Gy8 z8>h@5yoq{!U$517bAHt|%;axnUQu7&(f?dA4*B3TZ1C0!?v-Qq-D z$HAZY7VXVZ33`Z4|;_UVz$ML_X@X*3BKtn&O*NzsfGAF`EI zs?>N32<83le)|n!^v7%ACsa18h2uaB@=TJPn+hKIge={+-FWNfp;>VkmUQ%P2GDpy z<;#;L=XI?rW3YJWP5l+S0=_X@JQ1Mf@9riiD*ZRXCgkF;COg@C0L?$3%{3Mj*-CWK z&xde2kH1VKjzsP&lT0JSs;RC%=%7hF953aeCPSG#u!XGpGwOGM5_mzBakiY5+nlv| z-K=d@2|iz<=;ZRHZCebAo&ledtJ)I8Uw(7qs1X}h&eOmBrC~h2-1tP|W50^c zxmM1(<74#r?g`MzN!{k)#|NU7wfDcjqstfJNOHd@iS=D2RFGyLr%04P3@?#_*GRF9 z9%4S!jtf(KO?3E@0^lcJUrWWrcXQ;pL7?X!nmZRsW87q&>JD_f9}-5HMtC|lPP20* zSo>r!Ko^51nhO9%Wd-w>H)#klRBDGDDw?a-!;~@hWWnC6mTpzGrme{-_^AAizlZ0& zwUdKsuZLU-00h@#XZp<&(0-X)iPla)w+CyzWySHU3}~-f-)7ekYsb&M+>BjdKK(K0 zKd~Eaxz9lD`Ym15;SzO~{?yk=IPzzqQyo&U!$!S$s?F0c=B++R)K=!`Nhd1j-|Qv| zPw8sgIP;L!4=UKKqv!S;`u$~{{)sv9p&aBbf*gA#9xCkLo)>Fj1ruaub&^NNn9N9B zdo}~9nlP4)O|&WR@R-bnQkEvNg&faS=(h41;=ZQ}+ZpP!Ih~-i%JU82S_q64aS=>_pS^_=g z6q&M)89)=?kOP%WNsD1wm6Ft|(cshxscw_1dv(M>?w}WMB5rDCs9^u`O+9}uVNU#v zxV3sopgt!)4L0JL9_obslgpTQ%A>bkD6NiC^-Kzp0o;2HMtNQtmL-3w!($c?O(GC8 zpAN=+suXg0e!)a*Ud*tsmPxm~kMAK^UA6SZ8+&@e@9 zZ`ftkf+{y|hOD!$uf|{3u)6Sr{o@iG{N?fft%nW#c}~VcM`U@Dh;9{ zI17q(WK4W0;lVNxY3^8p#J``r(x0Bs*G+W=O?NZ>D*7|wt+NvUdWYG zQsM*qKjX!4t-K&9xsU{L;Y)SuxM~2SBg2$HFO5CTXM7*`zTf*!2CW;d1@uP8D4Zi+ zTX>z}%-1Ny`zn?E9!pLN1eI3r-@S)sIKI{7dWp*5uOL7aTdK0IQ>l|Me&c(jvOM_l znlWD8LPgy9S5qJ}Mwl_uMKKWmb6hsy<$?^}MGNM`M>sMpsFqcePkRH$fwhVNVV>6( zHcxomIEqmF8KQ>nL%k2}+ z#@(K`eQSqu#8k72YY5ycZ4usD>ux8yxFt|P$R#o?CQqTKUGTteVql$UH9xYSF>GqI z`1_vdSBMR5kie~D>k_hQ#<;W#ZkdPyi}Cy0x6UCeW)w@);B1L%;Cz^{o#!kPm879k zng!=gv;Yso;_N8rysNr<{xMysbN7JEI%h~oB+Qp0f*Gsyylf52#20RQSuShDQQWg3 zKW$CnVC@HQu33hKu3k8Jw)Rl1>~qdUFST8v&D3g4t7%Ka-&k1fGUKl~EMS6`h=qQ> zd#_Z1C1k_YorYwATgUx^|$90VvL{d@0ThEAFxgS$Bz6l&WdB&iu3lCO_1&R z>EvQ>UVXr1l1W9t@IlZw8uSV2!x3rA!e|2DRSw^;Pkc9-e8yh8xB2`OkLqaAiOIdi zw+q-mb-&5SMr!7ytD^~#5wDR^#I2GXtx_VMk`i@~ diff --git a/notes_hypernova.tex b/notes_hypernova.tex index 759074d..05902f4 100644 --- a/notes_hypernova.tex +++ b/notes_hypernova.tex @@ -263,7 +263,7 @@ c &= \left( \end{align} $$\textcolor{gray}{(Recall,~ g(x) := \left( \sum_{j \in [t]} \gamma^j \cdot L_j(x) \right) + \gamma^{t+1} \cdot Q(x))}$$ -Outputed LCCCS: $(C', u', x', \textcolor{pink}{r_x'}, v_1', \ldots, v_t')$ +Outputted LCCCS: $(C', u', x', \textcolor{pink}{r_x'}, v_1', \ldots, v_t')$ \framebox{\begin{minipage}{4.3 in} diff --git a/notes_nova.pdf b/notes_nova.pdf index 80ee5581c6f9af2a747bd816e92869671a772513..6102b2f0b43fec2acc9c86a54fc887376cbc6fff 100644 GIT binary patch delta 5962 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 delta 5964 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 delta 3664 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 delta 9192 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 diff --git a/notes_spartan.tex b/notes_spartan.tex index ccff831..7681df8 100644 --- a/notes_spartan.tex +++ b/notes_spartan.tex @@ -125,7 +125,7 @@ This would mean that the R1CS instance is satisfied. \item[] Thus $Q_{io}(t)= \sum_{x \in \{0,1\}^s} \widetilde{F}_{io}(x) \cdot \widetilde{eq}(t, x)$, and then we prove that $Q_{io}(\tau)=0$, for $\tau \in^R \mathbb{F}^s$. \end{itemize} -\section{NIZKs with succint proofs for R1CS} +\section{NIZKs with succinct proofs for R1CS} From Thm 4.1: to check R1CS instance $(\mathbb{F}, A, B, C, io, m, n)$ V can check if $\sum_{x \in \{0,1\}^s} G_{io, \tau} (x) = 0$, which through sum-check protocol can be reduced to $e_x = G_{io, \tau} (r_x)$, where $r_x \in \mathbb{F}^s$. @@ -247,7 +247,7 @@ Instead of evaluating $\widetilde{Z}(r_y)$ in $O(|w|)$ communications, P sends a \item Sum-check 2. $e_y \leftarrow (\mu_2, l_2, T_2)$ \item P: $v \leftarrow \widetilde{w}(r_y[1..])$, send $v$ to V \item $b_e \leftarrow (pp, C, r_y, v, \mu_2)$ - \item V: abourt with $b=0$ if $b_e==0$ + \item V: abort with $b=0$ if $b_e==0$ \item V: $v_z \leftarrow (1 - r_y[0]) \cdot \widetilde{w}(r_y [1..]) + r_y[0] \widetilde{(io, 1)} (r_y[1..])$ \item V: $v_1 \leftarrow \widetilde{A}(r_x, r_y),~ v_2 \leftarrow \widetilde{B}(r_x, r_y),~ v_3 \leftarrow \widetilde{C}(r_x, r_y)$ \item V: abort with $b=0$ if $e_y \neq (r_A v_1 + r_B v_2 + r_C v_3) \cdot v_z$ diff --git a/sigma.sage b/sigma.sage index e8c48f4..6399875 100644 --- a/sigma.sage +++ b/sigma.sage @@ -325,7 +325,7 @@ class TestORProof(unittest.TestCase): # Alice generates key pair X = alice.new_key() - Xs.insert(0, X) # add X at the begining of Xs array + Xs.insert(0, X) # add X at the beginning of Xs array # Alice generates commitments (internally running the simulator) As = alice.gen_commitments(Xs) diff --git a/slides_hypernova-part1-introduction.pdf b/slides_hypernova-part1-introduction.pdf index 141c192a9447fd48f6d04812081a2ef3da209858..26aba04aa509ceb5be4059fd799af0dd7feeb54f 100644 GIT binary patch delta 51109 zcmZ6Sb8sf@_O)Z%ww+9D+qP{xd1CvCZ9AEG;!JGYHYb@(lHa`VIj8EYue!Q=^{)P} zt5@%P-`6T#LaSRsYYcU>=~ zvlDo2n(DTg0Cql?d|EP~nfazm!iqN%=3bM4nVaH{=$(VE;m2^3L4Qxo7n~MS4Wc^J zb~kPcxZi9Hn}_?|!B1;w{I!tVwzkLAf+njSu2I9-K%Cjd zBo|T6#(&(?hEznTTl-}1s$))vUlFKSENE6%zp8pND#JItve;C2y1 zT*yD{+q)f*x0!5PBio<{($S0BuGSPoURJ%NWmm|X4}3$h)-F(hMV1jmPQAFQWaRB( z$;jv{HlTX_FGNx}sM%`t82b@wd)ZgtnzQ|V%bybUYy*%1Uv~JsYjav>JLKv_WM7kM z<;EO3_EcQA050Jj2YeC@Q{!M+78-^sH^Z0w!Z~O(ih1n)S~8_!H1+1u^up z%NL6MZunb~I=xN%S(VM6$0oS1B|C3FT6;|W5Z>#?UjXon3cH|Ya%J)oL&Qp4DU0%^ zjBk>_w;1he9438w+d7g*$~TTTmx8)S1;bLcfs}xJ!t%b^KH@cd z^)-78z)N4&>LwU>?qag9BQXQBglrnCvBKF*YA|Y}9EcmaG5L^WL_7jME+?BkggriMkH<0!U-Z7`R$*)1XFNK zUA0iu8g=8Xt5d3h!_RQjtbj#adilH}1n}impDXkL)P!q5e)EC~p*t_0&cohvB5na8 zrxHg{nU_;l{R00-qBg0rN@2o&3rW8DN1RZDP!S0H&1Bw_ccha9G3 zXn1(7cfWC#PmB_oC&pAnymM5)GFF$h>agP@2hE=GU+xYpgj3J3RY3DD4=0rE1i+Dx z_->)4cB4~15{dCI?V!)W{qDhfZ9bj!y>&02=4Bd@yTS~(a+rOM`|;h*Ae)QIA6?8R zN61u}l$Ok`b0GJ?;UN93H)$vAmLcAOjsVk<6ajk>9pOKS6N2#g6~dK%Kp z9#}t(gaA($iM(4E<{9S_`5s_>A2ObRV3q0u{$;-#m3Ezq&{al>&yzv_g`XzYMX~K0 z0b9+FN4zzzt;LJSoGge2GpqZC*;?mJyMno+x{KC%1>f(PegPnep2{_Eb%Q-Re~i&R z#G?v9ydo_q4DB|XxOM*K2P3L!vKJB*HUW)=#In9l5HT*C6d^~{18H`H5kW;Dt3DwU zT^)*DiuBSoL9y=b+{>&>p~2E9Oo;;_cab}~ zg9>2)M2mJqouPXW{$p1Vj;hQa_vJ5yNR&H3gt>KU(MDGCIDPHko_+I)g)?;%t>LiL zcJ6|ydQGvfPVdk$`)sW!c{^rp@Y$Q5Nwt!78JU(2Od*ufoW@t=G1G6` zKx+2Q1^77WN?TlN3BFFyp{VGlN-HS{b2-G{ZD$pTm~FmZCCtC-zv`zUD zDOV7_KouK`q<#>id9bQ4VOLkCmas0a*-FMghZ)E#k3$xE@|dw_O+}Z*nC$7Q*g$cRBg=nxGDmMDci1Bd5pg zSikU^9gG{eiC8!yCa3zE@;@RhkAw-*rc(4qkq8cy;nRh_Yjm)E|UTnw4e6RZ@0)Z<`DS#j>!fb>l`5VYr4`5Nw(~Jz73eJT2=QSxa6bD?ZB>li(T)) z*@h0g9K2NUqbSG{p-fXyNYVR-XOcLhLe+^^p% zE9#jZfX0nUVY^B$LDlpliK|-E?u6^+L_Y@PW6IhSq61^4js_7c(z5O$`+YyQb>{N- zJ4eH~PKCCB$B~Bt=#i#E2o1KGH?iGZ=dumn#N7ygc8z%t_!vBmZ)w;8uuzIwRjeOb zBOVjOa#_pQQ%vvWdkj0w;6 zLvW3#Mr<5r8u53FYcp&6kJmBS_(68kio8cuEfL=?-9y)f71>d6O!d@C6rWHqQzT-WbC z+*gA+S2rx%rxI0ZVUTIj=#%8;f!buTuANgm(4&Ai7ozT#6qlzzfnBq{ItRIAwZ-Q} zi6rI=V=ocu+Y2sqW%7dc?IVGpzZnpoA6p6RvKmS%ckBo8w-^p{?1dgj6qNGUCmxN| znvCzIV{$BPS$?p zNN#b`Y;rNSYBbnbCm<76VWYn)23FmljK7)IN;W&U?Nu-d991?VmqVJ72Rl=E1QJnD zx@1UTqAV50v)jH?7MB)JA))64<;u<|4Ua!p8Gf;n~484Fx4)Pai8YJ6|PY@ z1nr)&Y39JvdGcY5!iNGWL)a=>hg@VzNB8$Sv0lFA zulD-%@~n_mqactxsmgS#H$1!4re!CTJ_+5KYY$V~i?U)6{^1t-ZPU0tqlME8(w;c4 z>YQg8`ScQ8WOKdh;zxT+$=dx)jAQ? zSrR+O^f9h7BMNQ%9pDe$pt)@#_E@z%cj++BIs3scN%>u_cZqy^D6BRT4ES(z>$s`x z9ZK2O_>&9GtTk|P<5atVhs@@b4M%~^;t&wCEO(*t{CMK-)5dGBXff_s@Mni$+R7{A zv<~3aB*#Kmgo++Nc;KT9>ck-i^7kFE3+RESv3a3%$Bwu%vSRRthFqp3&|{Two^PRb z>A>OR$rRtD%!oD7qw%G#6%B`=b$6$@(=>_6K$h9jc+gad$q>4qr6lGqp-E-t|1fO- z)i;g(rGbN1Q)0Q?B}TlIcuD>IBjC8|gAag$T`cqhe9(@MpM~p&WpJ7>{bd}Y7K|J2 zd4AaWIezu=XIj3vMKAa#*`Q>nb-R3VGq}&1ix0$cqu7-Xj;5q%Luh7)N)}FS#oCB{ zrg!-DgfLa0Iu)u2nP7kB;K{ZQN^;Q%T{tm5d9L~tcF3?cC7M~1+`-tstvZ5#FdQH^ z4Dp18$;X^Y#DIV|J?)nmdAN^0lV%MFYYXLJ8ukcx+|<~;={$|)7GqYecpwtRp(GVh zJ;`MeIKb^1T9PqJIG^N9r=R<3pze4#HA|jIiJh9E1tNeuJ8@EE7QHy;CO=Go&e=k! z=MKc>-j2V-Hp?|_AzV{#q=tsiqhsfHTg;`yV z>4z*>^6leRXgr8f^M89t2Zblgak#@{rnqX{Bjhn<&;;{|U*P*`%9g&W4^DU}MHO0f z#N<364HrsI6*oCz&i&Jgcifl803F(~vi{d(1>S0%>duq{QJ31zdXuS7S{6W?Cn5El zyS3n&_9C9z?afu|>$78x#O06QiKl%Nrz@M!zmJ|Wx>io9Tb7G->vy(xRJ-n=PLGWM zLo^nIU~Hbjo!oqaf;dIi7cqlw>-uzW8X+&FM;6oy$ICWfpRmoGm+|sHYK>7>-gqJP z`mASGxz4n&X4dLZIy*H|Qs#>ZB3(5=H3+f9q@;(mRWstKN{ELTg zuDca~RnLOoLtB@E!$6CGVSd;(g*~+iAMB>gn&O}*S{tx2??0t?Al&AAbM4x|#@*%Q zr#5MH4?!2~M?67A%tyS_taTbbk8#?hg5Oa&w6iNpq*F@S7y!Tdj{@5F_kqV0am3yI zQB5A*MOk63(jt1a1x(oUm?d`!(JnHXfaIiJX=$U0w~$l#{M-8&jOPH|JO2TA0YjVi zKMRw`tH$|(et8rZ6e`rwyfRBN#foSiDV0F+e@g({Xx)Seq?A1H$xoPV+AmI3q{cui z#H?#f#B~MueiaULo}kHN2&N434g$YxO?E?`@X6yi#tgR(eWU|dp6JPA8m0`h_FUhd zVp_EVtRD3{)dBhnPae#kt-~@IF-5!wc=n?&3$6WX;5z|bh6z0cEzp<@)riJdMz7+m z$Qlilhh1Qf%>fmYHmmgdWY;Ra8zUn|eA00P1k^H!Dxa6}C$P;zxdRXu7Ce z(T`BvkPg!|=jcq!Ot$c9gzc#v|DR7+Soo`@l zgx7>%#jBNNVc(tYD15~oH+)PaSy>_gt47|inqtUqCx4ph=B`Y={M4{*KDeOGE@nGk zz*^k+VPSz?4groKOF@SQn$dokG)>J#W$6mfxiKq*^-*~V0=3IFhAQig|`5*Mj~ zS@{Y2VhfvMA=VU!-AQ;6lRyL9O}6D4$Fy=0%1mACw24nFo?XW*^f?J6I0$SAf|=bUUkBCr1;xddoLbrnjxHazB|EBvonj z|Ea)QMG!vWH>pRJFMJXY9Rt;+y5+>1FwCNdNB>GXS-fB9LK) zu~y5_B1iKZ(Y6zIhABw)C2tgF`j)o{F^qG0=yG`QNcYAb!}MvYtz~dlY8*aD_!JofW3wd>kt=qcflPG&dM>bVe8r zkry=mcq##2>IU7^qdm1vXnv1ED6Z~q(hNu6us>1|QTtva5#&kWI*le5-l4;U*Ns&- zJ1*fQ0sSvMvH5TAG40AwG{okwNs7deR7W?@Z9#pUYPTzI6G9OX21g3XX$l`{%}0Li z#S9o9txpxfmvsee*m!4B;pJt~iZI_RVA@1yv9XmfHi4C-1Tx)69fHwEaE4Cq3#hk$ z#(d2AWiiAtl3h|6ir2JrqkwK?=Y8o9PagJB$2-F}OIuEYOxy%&+*eFPtzL;eg`VsT zpu^V-R?oQ1At!v>E1P z^@{s~LW^cU!Z@I1v6sdcg9~XWD~^PKt?ir);;YtjW04@nkRi2>#~CvZj*FWZmg>g= z>nwy&Mdm)FZ1gYSh@1+~-~gq9D4qZ!WSFpoT2r8ky~{&{{*-sqLbHg<@e+xP2mYZX z1-L1VKzZ8MVkYK&EQ)N=rmG9m8~$2W3F0XJyMj2}XJ>c%(3P zTcZF9aNyjne<%YW$n=cmkkRM-#o!at~O@4F~k0W`vI3hJ4vXo&?rW>w)S5VQF+he*n#C7@+CTJp6LH-GCW1ED)y{ zuDQTT8cM)#lgG_gK%6q-qwUfxVAkwt6k#WJ6zVpA>249k&aB7;w&02MtcuY-aXS<)Sc2?B1aecT(pgIA168>YCLc{A-qf2(oP$#e z>QlQ?ZObTZD2$wr1)CMVHwhL5FY z=AVopZeuj)aJXufqaCPcXbeGI=93;49ggFODKaFmPSE0GiVq8NVQmVHw?!+o4@f*F{d5e1RP!d7V)@_@t*MR&yiP0W@IEV8 ztAaRO5_%^JixNdNn-h8-3g8%ezK$9epA={!s{OEXy|D55IUuch1!i~-Z#OpJ5WCy3 z>tu`*+f7-~d*8VH(ODh}6b=>M85fHdnHD@}uh<}U0HLhw602)3qz~GbX&jp1TY2$a z8&lYzy=1(Ak3ZW+yOE2x*b*n$YPBnq#fQST?p^vfKDT${4Y9V15ShMASc+fYgYQY zR{Dx%fI<6siSIUf$`^R}^;UsfU6;S}MMzXmv2z%_0-*5`xNP+L6UxXw^ciATK-{`1 zQAbs++e`Tm8$a$zn~)c| zn0MXzWls&7@6_rzC)>1{AM+VMiy+6#r|qjZ<`>IM9eO)z3X5%*3fY z1v9LHD@kdBT;hus?W_qW6SRsald|{Iy0RY7!4}>8JhYqQpj>1ui_-w#DBV+mf-c!_ zCA}PB1;=9?hKvzo>MN-FBsd_QX(ms9FRK!>Jy2VsT_DP86QM$DsV_n~f=0RuKVs{u zL({Yd0Y<6vjjYTX4wXlIx*;qpCEIx>Rh9)Dv`)vEhIU9wp)`}WoRS5_OoW?5ydxTr z#jYa^5g^MUM*9vjoJnH9 zqe>+m7!5W%<|uq0Gr-KhgG4R#2Tv>m#M-|uA(u?Y^WBi zZXKb*s0c&um)Ho~Gbrnvq=F`>t&0XgyTIIUs%)Hv{YVjDJV6|{czL-ws(V_J?1zV* zr4Ob)v2K#1QB)jZ=!tK^jNgbVHX|(39hD|wU@)V>xJ_ck(!9&W`7^XwYXvEgv+*X3as zE);tv+;32yK6uf5jfj?;RxAmKeE5n>?Wx5;&0u`zQbnPtsnXHC7}Q-l23A6Nj;9YW z&`wR-!tPXEGjW-w$Z1YK4m0R8gED_7JeHLAnC}IB93BoI!Ki3+q+->Ua`Ak2)zy^8 zs1VGL8fV&|w#d&6UsYAlxcbH!Epv5MBcvv;{?t+0PYDS6(a+b9Bsb!fb7CLX33;& z@!Y7INoF-gOu`HB=mN!d?pe2?B_14{H{o4clqXp9vD7mC1Tr)8g^u{hVtw{_V_z3QQ&EoN?$4?PrTH&4%ygZ_TKga zsKnV#KeI>doIV`hFi)6|o|GlhRx#_yIiw;&QNF*GYm^PrC%y2w%u}(msa`@+p`bYe zq2M`&F94n><>e?wHXdZTWN?*=g)K%V9%H#=+CQ>26HmkTvSPY`6Ttgs$6lqj`N!sQ z^}+N@#LeFAF@qZLUCp{;PO->HxTx$uDo>Oz+!O8^V}teyzi5u&MC}aw7vpHJvhHyW z=!(SNqZ5jsB^jKBqq&>AtA&ZfUj;O@f&zkm!v?NaCk(gB)%>k51ffQ3ivx`oZnIQTKU?RdG)k(jWFSkKwq6ixPf!zTO9Z4cGM}Ycd zEB+!2M;ZPAcY`u)7J-=&MTww>Rl+OPGQY{EsKnI7#_{^K!)l68{t35BA2cCs{+SiW zs=+#;S+WScp@s&`#L>k-D)eg`*Tr9Bf|Y2E=?-dlXrgVCxNS}iMwvQ438@uy!0-m+ zolH&1wTYH2KKrlKE}W!@u}u>;)Ty1hk)-C>GNKGM#i3iC__B+Yv|Fohd_@kVV#(tk z@fX34;H9KBBudPi=V8b98WbWyI%r{$;56ChWwrnH^~tNP?e7jpt8uq|FpgwEVjl={gnk^ zm9Utw=|Ri$h=gTuhQ@C<={Fu8c|^M-knf|$(0@DN#@Nlx0YtsKeM%?qaeSN?p#b_5 zSk4b(4V9k|<@QPvfIfpnYI!N2kH&nWRgD?iaswB(vkMaRFSJXZNNOIyo*Bw1#A4V@ z^XHEbgw*=goM)gQguwT(<0e04(njf0p-SU-Xv~|l3L!8!0#dc&N*9FL@XDVjWBtVN z9trQE&Y8~QkSAo81K4b!K_Pv>8Cq<>s>Ew>EuYms!Ce9%H#9wP^5R=A1TAk|QI@d+ z`*+tGge?{+1Ybqo9ahX^Y7Zn7H`Fu@J39WZnM+g8%fiS>&wa#)X2x9B#Fd}z^}=-; z>eC4eFHiDU2qWs(hWK{-74PIl_X9ZZHXU^AI_>A$_cT9RZ8}WS>S-p*6($h?ucpxX z>DV`)Qsh_V3i{R9{mq9Ux}zVdj%%mZNFVr}|b5tr#( z##s>Qcb>vwR}9QQByi+RMy##wlBH8-@4d;wqHy$8GWL*&_}PK;e7`T>h-~x7Zub`RJ#%`dvx>wOh-C;`tRc%v>Sg%_KsLF&2|3jTI|A2Wv7}NCrV_f zQDBPN4+_>#Tk^u2$2{fp>9_fu!gt$gNsJ4{TMju{xc(>EPGFLsEjIqvedfIG8xk8g z;RfZ#b}UrgXW46kG5qN|7NN@^Uf3n|oR1Pg4N)_HiHcvVzxJQrC6eC&0~j^W&1c+m z)Ok!9e(QYx50}Lo?4afOawow_UKi-)0Biew_%>|8V&~dAUPnC`&`wLXd6Q)rk3Qh_ zt1Vcyd&OG!W* ze}Y-LD!c<#tk8i*+!_F&yYCr$la;TvpE2bH>&j%R`uC4#0~G(DW(Fyl-IDnLP|5PJwL8 zE44q~0`XA(g)2raS}8(nrrnzjEI0XrXY7fsIb@q=U@K8P{L)(phkx+4Rdi2KlQ!zw*+!wrMmNlOa+Lp25fFyErpwqt95c8jo2+l7Z}nr?kH`LLh>&tIKD~sW?(fsk%$yBQn-&lR3767*pX8Hc-;j66 z%l6k%JU&>(JFTSE3seAEur2Yfw+B3)VUW2ccyxkFr z_fc!;(az$ISiX&cXT7^m@`kUm%Wqdgzcv2uHXjz$75_!t{#3>Uer#H1x@H`WEIvQ^ z8(@ObSTC+F_saiK&|!wCKRSpWA|b_r1mCXx>g9);;LQ0rDGn`^)5|5=j)jvc1E?%Z zKnnF%!e|LyV=9+M<^QGJSbMR-q(0I_JQ&sKiSSXm|3kT*g~^i@RT`;22pXC9ogA9{ zr6YERYI2ZR6HP{`&7L7+QKVZxzqT4%{gx+&*j-tZV!texSfMTQzUN!D#;ROi_#bkP zC+m>{LvI^CN;)2$#9cFQEdlx0HC%Y6Bz0By=*-3#3PH+cNGJ&orkJEv?Z{f-R-qdi zeb7AXO{naU$F^t0xMynC5xR>o2FPk7DRA-KNZCaxRl0Y_v@{^qg{bQV&Eu+dU26|NChCGupaX3Y_pAc*@>wupc4%w#6tO&9Z zEU7<+7>qPvI7OB5sQ)CdX2#Y973oV%?W@+Jaf3pD)nrye_VsJSSlcInitOi}NJU+R zxfzJN!_A}*9$J?nsUhMj3M>wKqMwI(dL_IvEtxU5ywR0D`{!B}Agj@8q%dL~Q}Eai z^}TGe1bANF`86BH83Dp>X5S6Y%uD72JB`e{oqGZN1>97m8HijZra$WXy?mMww7~8o zpc;)?07r=;2ge^akBH;iSt#6m#r4emiCBqvjPZLD2lHhb-10CCL@?DKIk7qp-@4?- zm5n2|!XC&|Tt;>s(+dv9X!QG^U8Z5z7dbEaZ%bB-q3fsx)M2hpjT?5)CNc{*o14GRsmJ^`q?PLZ z(jsjxO@B<=*5E`Zg|IP3m8R$P7k7erwUv@Y13>0&4+H-78fO6|U_Cd~fBnYt|M8o$ z|M|^oR;z*?k$mmhHgc>JHav>4xg?GcpD{I~G5p%jKE7nw$r7AI$38{}m4sq>sMoK! z{4Lc>O8?JIoUY+HViUheb)T3&z<+5jL&W->+93ayXzA+Zey}uSWgXSio*P1uGC+Ij zlDJV=OAJ9Y;JSnbBqn0HAY(CT4?$MlnKiw@5X4ytlUgx)rr)DKa$N^0n3TW(TjJcXj>1+gNR zm8qnyMCXgZkDal!d755H)BzKQ7QiU0prkVAxG6alYj!JQw`uD6Zq0fsXnCCIiNKY( z;1$6slIKbD93~LVvWdQ8wN^oTr7CdjC8?5o?U#tsP;V;%j3i}V% zg{v^8G>$CMt6z(CX-}iA%J8s#moe`J@M-c9u+2bqUTYwC_(EnNpXK)kAg4xHi7h>k zq8#Uw{`IbpJn{e9SAb+dy?7Z3qQ=i%Q4e$YCb@hGDU|E|ZXEAPVQtF_;4vEWkP zjNX?d#pp=j&3doz--j2n@r3TdBZOjLp%ix%e=1913Uy0WwyqKh-yQ` z&N6C%GV{9E5uFU#CQToMDv*Q?Tus~3J$4Iul9EgZ{pEVv7qp>5a~LsN!qc}d(MHse z1@3(%$@tDSI-CiOVFIQRy5MiZB#klAy7%;P;Xyx7aZoU3Yyv~ZW)SLQqe4Ss%kJ29 ztA^CYBGhJE8@I)I&9?K%4a2%_HQKZzTMgv_4_A{WbY-&5$IZDEqXw_5CfMb(f#`us zT$AImB%i)((4_c@$TdT3n~{$ni*LiMu$}fDxY#)ckiE098Xag+TN~>1T^Mb zr5q>epA%vI>!{JacddHOF9E*AkH*1Oe)1(ulVFQwhTQUa3@rcn81=VZ%Ydx5A{YQ- zCoH8b1u*9DgI{R0M5SZwa7?#EvGLG9YB2~oFzaqsvMmELTO zgyyofQL>rU4|IknLyh3I$E?{7zi;1Y1l?fdLIyBJYLqgh3(zM@YOF>?Hd2(GRyMLJ zN(<%T$*PX2?(FOP4H)F59}5zd?rQ$}7X~m?)Du7wTC@krspOf_AA_wm{<@ueeE&aLh3^|7kd+(>ZJ@j0^7U z+8*HQX6V_KQ}>f;JnJ}pMVEHjhE*eMgPyA2+Dszqc`qArr+I)s@D^H4ipAr=Edgr) zxQKVPaZEBGdp~?V_roCR}zS!u;8dpcc2PRj&_@L|qq>M1@=yDhlqr z%Rnw{)CK3?=)jB0<{!pkhR@1?jx~5A0K7d~&;8R9xF>{hJ#?+rnhnV1gmnmli&)*h zu>r{42&F|pbn0Qx_Xq>SZ_wH3Fp{BeDF%j3Uh6p{N0z)fGg4yXEhFyD1igL!0e7a4 z56y;>b83D0%OAJelKDP&o~02)l}v?yzCm0_%vR>B1SDMGE`Phg1xqVwE`+U_0fZpU z&qHZ)%5@Ptec^a$xyXEEsymBX7t%SFgj~wq1p-%{9(*G{q`XEJM9=!Z#ljVVj7VaA z+{|{HF!^)pT+LQ&`)J5Qu(!?D1Z2NvXfspR9l6e$B&8C}nF62thRq7+x3@>TOOQem z9Bh2qndvZSY9?dhntW7L^goug0K(B^J`;pcBTt4f0%7!_54x4ATLj|4(dL!HbmS@M zY!X2!fhvjtfI!x%G8P>oyc|aA8bo(bk0hc*jdliAw2hN5w`o=E+OkNW1JhuZkLdxo zMAr2#5YG6?P*PjTC;*jl*_7mC&0S$Lml2fr>7%HXKVOalK&wWksyTBj zE+R7k?<5oR*8BxM&`kx$7727-7^J(EJ&#$dG?)O?r+f96as5nj2Ov>EN=e(IT0d!3+H=ziKrr>zs69)c_4Gh%G8gz_0uk z`rnTn657ehku<#I2iZyHfHlN!lAqWeTm(9s#pjADF?oIVE~P9>2hxkVVD$J2{t{#O zIRW;p(c<*4%2aNZTzHK-a-qaM*Zk_Nc6PjS-V)PVa$A_eEt>9?XzaA~% z(a2=&PCGNgq>Ky8K(a%lbh{Y3qHPmNt2qnfco0==z-x1PqpB2?0G{C^L?cT9oDz#C zj^(zn>D`Mg93$q)8pNUFg4Ld^mhix^>iDM|Xs0;W=~7u9A*$=hb6Y_jrW*ULD{vJs zM;gtztrryPv>Ht3v42s%c$jI49{p8WX}4kpKq3ZRJ1(^8j&tgWVbh~G)j|A z&(rP;Se^(qZC~=efU)?cwWn}w)tp{?*ODiRDk?5*M~-0{oVkZ5R7@odm3v$=x_p}A zgUTq!SS*XA|{)wDGPOKXlaAf}ukK9{h@1ebu8mai8V5Om=# z@!3cdX5wa=hD|=i(~rYU*RMuRH!%76c3~??knla-1W29&LCtqitmuM4i>O~ylFDAr zGf~IwIG}=A$mzP26jQ?upn@_C9fFm@OOa87)~3Cn6+Ws)qDRK-pcRLjEVl(*AG zAa!Yy5I{44%Z^Qvo067ZryK_qj|%T(+x-mT|-U4xIx;P5N@u8%iQo(^MBON9nH62Mvnw(b~bcSmy*`%Bdi) zb0_)DHMg|@n(<~LBgdE!Apvxq`k259O&r>P{3Z0LW@2zxRQkX8dD;I z(`TY#gleLGC?<>HDJn)xPYMY+Zl9b!dTp9KdiU`;dX3Vz(wGhQ;&3vzX}v2&#$GS4 zT^<$@w>vS<5?>2-ulj;u_%HM5t{q~{K#>s5cxl}n4Lc}qpM?9}8H4-*?SPp;|2een zn8@BR$^j|`_{m|?Y@SXX%d1dOvTn|q!)STRJ!BWLYRTU;+rrUf={p zJ!rF&cGH`9=;UcJ=kWC{a&r52=w$x$&eIQP5`Bhq*D2qLsPAPw{%fYS99!yF*KdqQ zg0hqE0Wv)>Sa}2iRHAc3ok6oN%)cBThXWq}{7IZ7@H!ox{7C3qF0PjdTa$7h=Kvm9 zkRt13NWGwL16kzoE$1k7!KYZ+?J-d1t0a3*-mg)sdt3Ds1`nEE80ckmIt|t{jNFFmI{po^bPB`V_CVIT?0r4-*^b1O((kVo{_n7Blcaw?P^$nPt>69Ab=AM(b$+-Njci z4?^`cwC*zNlolDO2CAO_6QA%h;~t%*`Z#{XDQG#=tUlgSs)3}OK7XKGk!pU!6bPMp zWj+ggeCK8~_7aj@T z8k{kf$l8A*q*M_=5lq5V7PL@R?T@RtwJ;GLV1O%o}FIb%RJ5s#Q;CokYUmy$G%+4Xtfon z9tS=u+(?89q)5{K8*>HxlXC?ZDYBxFE@m9mk*JUUy3#TM!GOm4`s0^w=M1%5xff_a z<;KyI`VerXcO$O9133#A6(vIuGg{7VpDh3Q-&(q{ z*Kfjb19DfBeLoQ$jsU&h__AWiOPq!J$m+x@IYGV)Qh%=j@fYM5eqeOqe=}0GZD_n8 zvH05arS5%s0RHuv1F}yXR_+;039MC9X937tE}svohQvlEcddWICr#zzwVGY_1u1YjlvD>51*psaMOSgaxcxjgd7k9WHi(kuExl6crst zQ_qs!Lu~`AnHL`kiH^U643{ZujD?v{cYb}wmsGrWnsqS=bLp5dbX7z+MxqDxQA%KC zaML!ekyT)2kSYPlXYCIq_ch}g3dqYlv2%c##kU-=*)2Y0>sGZZ7}>_0_DQbRyg8u> z2mib&mn}shlNJe!g<3Po8dQkyA(ZT-bH?(b?}4z{W|FEqcm}KAEG4Ak5sFd>uTE9S ztn`?k#>dJ^Rmf|^E_+c?95E%>TBtF`}4tBV~tj4>E2lAL{ zr)9n4ZiB&Wf=K_ttaZ+7@H;`D)@lJ~(674qhLu3QHOVl<84-ZZeZqPaq6J%s@ZAH} zFBM|quKKq=C4wqU@)+X6yLifup9=rE!gLhXTNe@SVGcTBTrnE`ABSp{vKUD4Sld)t zcfkF3fq76s1#g%_TD35~NZG=IcCnDi;=AYlJvo+f6&?$KfHKv0&jZ1~h^-ilziu}?x#?4D zyp7yk3?L)Aff~(61Sp1!kX?=Dv9Fnt8b@ID>=Sh2d+{OuKeFB`D$Xt1*2Uf3J-E9D zcXxMp2_B$u_rl%XAwY0~*7$Gfzrb}j|Rp>AR>2>o4k#!|A z&o#(@a1j~K%L^O;H^9TXkk8 z>~_YCan9d8biFpyhHMliv0WCQ;=OqgTc8jsqFTK zN;|C9^yD*~(H@Std2+bo1_dbWJZ7Qt%zsLCWl1DWE+LRVVd0s_FTja}|8kC$ z?LkQFfc#pyjuX0i+~RZlhdavts3nw|EDTNsRLD>=Kj6@I3zOTs($Cxqis3i`n_b83A1{UAH$?$zNfUBq&Uu(?Y1DhH~1eL)FB>D$lnullIW zW82Um8T}%hK_6I2k;}m_GkEDgRtgwDa=o2E z>&DdpWs*=gEfkpybXp+^J`W)+tap#yPZfttg4y;9f?K}XVE{W~rH6s^Kt<5PanD_# z2iVko;2nu4QJ<$JXMAkNh$@F&4eaGOUULuFlgbyo9tM|Y2_{lmX43_xVMy^a!a_pCoL_5liQs)1CL`LBvzsIGxj^egBu z2muM5=>Mmpp4{$WI6MtSt3Tg5USAx%aB=SvRR50ER))XvxA*)fqYn-B|H$a+#nj)a zT34zh;Qi3;uZ-5+AI^gS5NP9AF<<+I^NQ4`8%<{%Fr4?Vj4IXx@Z*DKm|5ys1VA!M z%qEzHi=8Z2936wO*;6rAA8^7@U_)Uy!T1<;)r|()I7W)LFLX20k0kmZDh&~RbK`lE zUS5vO*xL9%GKvh6QAd5m>1LU`z-BGDx_Ld{40K}?yuyMCD**HifOSqbfAG6t7GgyW z&ZB(B-OIy2GWy<^;OE`w=k-}=ws#umw7PlN;^aF8CO%suEfIto>r-6;8XL4`8HIOf zX`daIY9pE1puec83SA9FFgrF@z+G0-m)Ae|1X6erp7$wV%xJwb;Ku~qqMb4aG2}Jf zqD}emEhmrwr17t*iRs>1RYtXdY%l~)EgnsZ zFf>sF3Qhu(FiQj;u4^Z}gPK0w_1a5}62C8!klX^WG7+@sGFeqlbFw)m z@H~z{%V-$Mlm#e=#)|GNJN@x)bEUr3p}r__K6v|pUo=66C)hOvCviYFa~ z4HZEk$M`PtjHdh(mT;J-yAoTKDu0>M%I|AIh^mHJc&|Knl};m>Nm86z&^b$wCoKQA z+Grx6((D_ZI*2j-_%T)N3B!Ny{7U;PHHV)e9SP`1 z3I8<431U?Zqb)(LbY`ug-)khiP8AFi4LqQX#G4q>xFJ>#G4J=qz*NS^q{S+FQ-806 z*e{a*E2EWPR#J17lhMu2Og%O|Yi>5l)k|?35`#9hziK}GTHB?dGclc{sB(NBe0Q^D z^1K z+=Rr+jfOC5cpNx?DqqaqW^K0=VebJyTa!{nYW;kTZ+peEkr! z=w{^q_NBEVprXt;POJ-#+u%28KnSVQ%_pn&EMby?-{$QZ3V>zwNkvDozDt)5NuSE+ zJygEZ*hR5{BU-A9Q@ttH^V7rt_K6ZgoSe{TKKLo|y3`1QSTr%!r|mr`#JD9nPCsO7 z2%c8W!3XjrJ*c|mPFj2F<|VZ$(vl^Khhzx(4U{YxU;3qr_%0Ys+3zYFP`}}WZmu!W z7lq8_sn&HongKQl#OA0CA&-KdeXYFTi{QVX76%PwPHm4&A;t~pf2p7;x9Ha!^q20g z3>efSJn>5CU#fzMhwHG{j-^giIA;Fgt6lKu8npY>u(b0FNfpJ1nIAbZ3O+7>C6iQm znwuBLpA9h;@CFvR=E##o&Kt|(PS7g5$a1BHQNO>Xdk*haA1P;sFRju~J!BkD=J%6} zBjly@KFf(#43!!hVPA}aPZ8x2->;O6SKG^xt6{91xJuxWO*~8BATQ2izfemg!RZzmFOOkC>Do<=d~Jr6RtC_ERhaqkZ-m#3TA7Ol-hFDC zC5Rh7pAn@#y@F5FnR#>S(Lt&x0lux;xsv!+2^%7Z7N^Dxl1j%s`2ZQjG`_oSJ}A}+ zezNzC-q(AG1Povqxg zJ5k1;Pz#XAlNC#1I9+BFeHSz>!i`2HelNKh*<4=o+Gh(W>z0Qn2(kn%VA36wNM1*V(fg7f{e0uTj@NT4W>7vp^U zyTmigGt1U&_IB>JuaGXrJW5Rh_+~}~NMpUW8$$WpAM+OI^}m|HYUtVVyWb>^R++x_ zM0{-NMVz}Iu_V3){!JVRYi9*7mgFSNFdvEp7*J6;n*J>UgG*cBOL!AOyN!02A&PO) zN=g{ox;MfDm+XJMc@wm8f%&T8a*^()BxOChCM&@5OCShnD-1~b1z*Z8tpTn5U*f=D zC@b-YKD%AVNBOu0aVCA{7Zgz9K$gMIQ~e$eV`sdj+sBsgSSQ(Hb89DsW5n|3IeA-p z>2g_^hNssgupt#8)E$HPr#jZ0f2a7P)3Nm22wN$W%}JNDT|vmmE+d*eQIY1{)P9?@&v&%(I_x)~3l- zedwVc3q7gju^9i+_5Re%lO1y!KnNb;NqqcAxGC;+Hupis4lj~lGKDabfWj`ag1o2) zMU^ES^xi5kyB=8q9i20AHKiS(N@8?By^-Yp#nz^Q3GK%5PpK^GK}p z-qwQR27mJZF?O$HG4HnxM2G8^izml^zWntF;8-pA*C&b8J!%VxK?2{scg+*gVuOR; zDn7bjkTe+6vk#gv zn127DD3lTuxNO*h;FB12l1d8d!NTcewGcCjdU^oTT3#hw(E7>8Ore}{-U$BhaV*IE z#|+g`BKOKgUpsgk>C9k}BS}@IQM_V`Y(^^{VQ;5d=I`>uDX99rdma#iBB8S66?6SK zu52@@(?(J`pJ0k}JXis9cset)>v))bhdex^4iE^s$=f}Hud_ZdqcvadCCdQBhkfp? znZ(3_#Xq-v&f&@=1>z!w&cCq6x>*Rril(|JDR|IjA zT5V5%a~q^(FZyE_q8`-PUHK4U))Bd8AN{?WhI`vpBQzI_bnz!&!In5=$xcD+d5=|U~Gvv$#H zIVEd!Cdg#SYAPBHHRg#JtUR35<*Lu};92L@Yq>)6&E|#?eP3)k8VTz-raW&zX!B0> zrBwDy6y8mky;>2jJs5ZBjmr#(Uh^$d_7c;vV*{A>U1s!x&GhBgP$mxdf)zN{(}Kor za^Qd4tmpxX&O|&&-52%Sjomg>(a#W|iCe|Ics9&G6F2S|3YY9NnEQVwZq|IQn6O8j znJpp=eejj|QNH3y3thUyYUAqFSVQVHV&ETU$U_FQ!8COEf8Wla$rUosAuQd!=BB2>bx3f9~833QkDqbU-FMAlKdZj4(J5`2i zr{V)TnM$O;J$DDnfVvX={&L}Gp!|yZwW5Hv+!V50Ar=SYpgEn7CP68q$0zh$#2jh> zn~I$cd>;P`#AF5wM*|$q1Y5sJD22B}RHj>e71l)QQLWr}XwA@QWr(Rfxxg4nh}6hJ z3_@(x2Pj%TktC>3rk7r_dX%a7ei}*hPWEt(6$P`1e_TT&2DeZzsG_>N_+AKn2mfMqK zy{}~bp#~%CiU1zXtM@;OfSTFD;cUoiEal+0ud&WjB86EINGWT!Kc^&v7*7~ zNzM0zM6S2v8JNZDiNfUZMwKE2(rq><&1iwWp78if~u=9Q%T|-9pYFpa~ z;L7Rx+DN)4oZ}48M}F|cW#Pe{6>?k7N7+J62!EM1EV{aI=Mr4a`E$&tHb8z8$F|>Td22-qXTsNws}57n(R*_;Eb5Y$id6)x7sUpe9YEv-ote zEF7nglRMDY`+h#gc(I!@n1?n+y_biUai?l+FJ@zP9Hu&u#@9t*aDMtl$nfc?p*3N- zo|~cFq;t#RA$@G!wViqE;Cy3v^|u?N+FmIs56kTGgXe{af}8J-7_gi zPC9DfxJgq+4K?bG-+n8LOwBt#lKKZ8KG2J65xWQ+y zE3hISx($_h7q-L9=a2oTx-@`WC|M0ScmV+aSCZ)iSVxAYx4VQ)aE>Bi6SQm3oh)~SCl%ozVsgsyD+poDCgBHsL`7c%FBg^ zoJrtajbv*l@$&+^t(}?x*^9b~;C5c~4NExn>ZadO=_Pf%YK*Cg{&mWL?x5l&S8L&lFz5f4w`t|R_40$!iA#gF%UqJVbs7cT1qbX}`nXKB3N;TG2Tk)I{B8qsH7#J`^VxN z@c(^y69z6`^91NJ0X|Mxs!4Np-?q2Uy<5H(HMSF6a~dhn;yx{a?*QV%T0LXJNR;N7 zr^R9#$INQ#@lF{=C}J81?at=n?N7(=LpX7C%LA-tXP{$hqw}mtEwf8jvuEB~$MdG` z4(aH!J-W%Gd^dq!4d`9CE~j}pa8BPRnJ=e030pCNPhjHXb6W+aqx==-JykhYgcZ| zO;I-{Z{|H_Wv&YS7YR+B|2r;BptiV81J;>S0fchgM%oo7g!Wr?eH}p{)5|a~v{r+x z1bCE~R}^?YNj#t}FC1*ty8PX_c$x3ceu?Xu&p=3a3;h?A$1hVyvNQb9)u4v{!5$>j zatZ=zNd@!2(?HC}U4r5su-LyGvyKMDF%$pcmLC#Pt4W|yE3Jxr>6pzd2Y z5B5UHhDQj7d-V>Un3r95ob>$!Sr`z<%orxNa1lrNcY{A9;!S=lI;?Q>eVlgUdr2Q^ z(UCIhr0a~KR&8EyXg+^41UJN+sRdh*NMc(8Em1>e8pvXS z0WbNKsMOul^=ogJ&Et5q;ZJTf+F0%Tg+bNrv2BiNo&tdFGU}fSTwJ}{^0YwD6gs$2 zBdi1W*w6G$<7S>WA&2*8$(Y(bOsOF5vBRV9(BgtJrCT?a}NsSp1;SsHo4=R;cTw^`II0Ii6{vp+?c95|`AQ8{7|yuuTWC+X6(yGtZtt zIaQAcR~HH36t??*c|T7F)A5w=YJZqW%od+r!_UF~!!L7|E#(i&ra8UPi*5h=~FYpJlNfV_E~Hh#hrM8$kQ!ZDK$tJ|;JnRjUqZp5`q@VKfZyG3z(s+z9$WxYj+2Z% z&BSkc78)?Dc+tdmj*?8zwF(oqde3PxJ#<#@vfi)sg8rBR)9J(2CY+UV^FFM2)_X4I zer+>2JcWizG&{#_tBEu#zh%G6G-iI~i#pU%DIF+T0#Xp}4V{Z`IiPod797S_yY9hy zL5+Hf1D!zd?=@59mfz_=^YH_+%CwvP6q*lyIX!>CYsHFf$5qe>(mACDaTTc+1txqcR4aNkqIX_*X&ILNi`RU~OX znWTBMB&B zJnsapZ7<{HBrUw7)S3r?68>Tprp|)g3bD@ZmSB-4Zab`K@m1;}tKt>PDnMtFg+-kDHxr~LWA5^obgrN{I8k@+v9 zUo$Q93K_TL*RzO-NQneNWgAKi=zPvXzW|!{{;&r!J?`N-|=tR*NTs+1gPvQ|FqmFcyVqphp%@E zfwNKk zDPv&AaGzqMh zXcI@GKo;u6JH9X?>u*{%O(HPz5M;DbaXU8b($2uG)>V3z>pS-;*{11cyVrp08xXT0 zrT)V$#x!NG3J~~+0!3QRyD%$F!A^)&Ji-1!Hh*yq=%F6H0(TiARjsfQs%8eqJ%!*g z@L(hPeEB-z_=%pminJIZo-L{{TA*q>9K-K%jPUbyINXa|Z}j&Or}yT6YG?!|ii88! zW7VyI4qy55L9^~0b%j)tztHBru;P%&6W|uG!y5S|xUy^mL~TC9WI1uaOl!i5F1I!a zcHm+|ATkX~LJRa%T>i7;HUyW3Ax>=W$0EVxsSUHES79osHDEq~j-7!xT!abQ!G!=I zkDqqSLv^sA=U@<##&ESUP8zNym$3gmj|~V3w3qZ4^I93FG{x7>3^Y*U~46o zhqU;h*j+kg*LnrAk0?jzjuU}B|&~@|G!E}q)#vi;I@TPT*Wf1sgIf;~9zHdR#fo4qW;QkyQ&jIeL zs?|;URz~xqmaFZx6T)Hry1IXMA9rQBbD7>cxxw-eQUXuYUF0xbg}VW+t$v4#;EvHJ zYp(R6GB^iz=h886cInPq=2;ftLK{hwB7`gC!P{#h=856CA&(}bp>pYBSoMg9UzpR>a*Ag7~ zm7qms3Pq>P6L4Tgr=kFC3?mvl5FCh?U_Zx&yfq_R>*)J9@cs$KmWvzEAd%d%$b`l7 zV@UQ-Wx8h&ZoNblka)}AOM%eiq%*LF%+=JPAnpjf$~G25$V-n1!*SceWE7>W8{(i; zF^&`op{S~ZjsxddhL^2ce|%M2`uZ*?pbx!>t+`LQ;%AyK|7{3eFFd3CHT+kzSb@$X zVtDM895B|O9@vt~0Nn8>0dy-N^-#59lJ)jT|H^Jzvig%afOH4BbS}lue<*E@#PZ^Zd=M8P_GC(Dn6%|S!4VOAjuS_lN+=}x@h{7>{`$2y`F+RL&^cScSK+FPA znHXu48T(s00gwsYFE52vE%JdOu$-9Nd9b=h8WVBV=}0J1OwG{7mXSP2jJPz5E4cVCZMy@KhPuT zDAO(m(a_n<$?>x*!PgaYEbCeu27B)svw}W}A64n~&v>Jh8DA z#(HsDFQlYZbdc%UzXLC%42qPIW;g?T(5Giid)2`=+p%miOjr_0YI4}Od7>;v@yh?r zr+fVHG=3U#WZvu{MJ1Gcdn^BHuf_raPq)T;m72wA7(UP@=939GYejbhe~1Whs__ehXp+}WuX(z2HO&I0vY*B`Low%w4dM6 zT|PtiH4oGFa_oYM{z1pWa@Bs}Ra0`yFztGTAy?teW`2A0&X7}o*SZOlMmK{AXI)|R zw!7&8gGMk=dcX%GR+nOc`K=sIr)t+gJE}dH0yq_YVh;(@V##*vf>^b@b2W&kd2gC0 zuO^X358#scEJhC#D6gi3z?i)96%q_e0XT{An1K5&EJA1I-{arAWD6%MKQ=-)f;OSVjC7}5?&jfykr{5U+w5Ko!v$(1(t}9 zTTJjQq%^`!g!nb57&zn97>kse2IdGl0zkzKZbN2gcT@01LooK{Ml(;lzX9&lhr5He zXFbKsYqe81{ya9xBo~5GPA4PSVM&H(vIV7md&=bg8^;B@Co)`>y(1&ViCSbE6LkTa z&1ATI|Ck90IaH9m%!ahw3;Ig3FE-_{*Y7bHCoY#3TBviGtT~eg3+vXC6=$EAVE{bs z=h6#v=EDXZUP}}6Zw#qe=1Pc|Y-votm^ zoiA@xO}G(AhU(s0Wj_xKOw{)^k;l!l88suhsr^XqEEAlZIeFvwqjr3~R;e3rQ7;!c zT=H*~i~0?1Rwt^vn96M+f3!)8kONlCFp$qlpnpw@D-ix-f%^K5EgIs72Au$*UOCqO zXA!m%DrY;sSb^Kp=i6aO|BW9=Xeh-(?-^f9{pKM`YCQ{jO;_yTx`GKzf3EZu4pN>KpCI&uI29kc)P=8bRx|yQ@fG(Z*Y*}tQ+=qK4S>UZu{ zOpr3fr}UCHY8Ja>Dpk)linpmRn1xfR_XiNYEI|ECWa-ugg9@U8B?foDprDSFP+*tV z%`R|o@cFj%=V%E*F?rIEfJzRa7YOa5!wJS6qW{Ecf*(Sl3pVnChlkOpqHiL>9R?%4 zFtCBcQE_E$v(h-e-RcmS5>sqg72c$(hnpyaZ&>54OFU&zpEaM*d9qRzz&!eT;_C~X zzCOXTZjMd0L!dJgPZibtA{gynAejI$hh7sLx+dqjLPE_A6x`=;4if?x9`TyOB_GO$ zGR47}v$g6ei9lVgcEsJ3?BDB(Rm)#r+j!J`!)AcHIv&Dn8m3xPX1+FY<69+z81F}Q z?d4YZW*^o{SApk@YK}nca`n00rVqoPm&2v>eZFbm>uhyFywH?6OMwuQAF+JfuV0`L z!|*_#XtJ-QXQkBc?sE))9BfA(;|*J=(5ll$!D+7+4JTLYEZi!jA-x}L3gx)l7LuPT z+zL6HIEC!~>TS=oYOFvUQST~1yd@%ghPalz36^unaL}y{Inx|8Jm^63LQfl6x= z_!=hn?_e3AzvcwGx5R&0d&>M~;2@F62!S$ee!(%w=qE3j9as!=O z6`aZ#?3?g=k`(cLj6;Z=-@<9UQ;S7the{>jlG+;qC{9>@^i*ebF4JfkVo3B*2z1qG zbQbmI7-7jLVmgiB6)t5*lv)p|6u7h&aOe}Egu_$_Q|c+<+Cg+_73K)TdJPe1bUs?- zs%BA$KXSv%;2Q6+$U_kdP4382G$P=vQloXdnUPXfPOH#Z$#Hb(cZ&tkpwow0sLW_2 zdGHGLt3@+S#O`&&r1<*uk_8XoiV=ts)rb4AXstyOvFOrcnFiy(AHx9q&?}jsFcGS` zOhz$0`Zad4i^PhO7iU-{=uU|JUpm?CkIvX*us+ZixVKyw`$@x#|Ek;16 zck8;L!xH&M(OMhsVzv}4DI`g}K`3H39pKA@hg-Cie>0bD5 z(^PB%7IFAR$?XCXxkQ^ig7d;7cqB1Bk8GTHP78j1;+^5=CG}Pb6ieqt$$if_7FZE` zxLhLzXz4$=Fr$ZrbW8@$pRt~8dVUG$2$pZ??xa}|(&_&7WA!w?r_HZbuaD$(!>+qi zO!dOFilv^LrR}h~`u+8U)W6%;x3R0)N75e*AmPCx=SM4w?AIDN^2g1ei+7ofv289U zg!RJX*3|=A!uJ=0lF-?MV{5ApVeQ6+;_Q?EPFP?zz8=W;{w*fJ2#5Rt1s4z?GLsa43EhrBV!KXG$HStqJb+3P1l9 z;Az+JXUsvMgh8Zv^-&9SH!t#fVQ3i~8GBQ((kWqGT??UTFeVri(g{ZUJZ~+vAn-(1x^zqtFFiNF?6+!}KB9`_@i*6sHKF)F^7pe?S zwv3aM&m?_h2|tgH4s1EH)Lovec9e%p0Y6gnX=X}Oa+3=n@l0{oRt$FeUE}B~*p}OT zSxM6e#@w{2sqxySBTk1v9Gq~$LT-WF78ZER>ZGzEh zM%dMVW+wLt%T-03>d5hXo+-$FHd6s_&})#o#_W)|Gb$~d?{ zmq`5g3NF zhBX1bcl^LK-aOd^q8H|jTjc21wC~P$fW4m59^`X|5uxGsa=g(g$Oq2&thh<5y{1)O zJ8tIe2-h-}>>j}*4ix?HrCaQIZ3W{-kCdNbNMd* zdx!eC+*le%lSDb%^9dtUgyPGawAA?X7LD`k2IKib&Lc6}?AeWRl=b~F0CV>2)EGDw zi^r8ueqS4BUsj*l!+pd7u?qUSZ{0m-u>Pyh{l9FOW{18|=W$%+L>(#!TJJu+M;+!L z3f2<>@#E-#&8dt4-7jn0XaNuP+r^w*=+BAVewsdB+TivF4~DMHkng+aSNK}!k-nDmC>Zsg50(1 z*kv0ZBfaeJ=~@xMIM61R`Iro(^4C63Fog^7wXZ90V4nIC#eHz{c%P)?^uh9T#TKlg z%yLxatjZ5Fr63^T)W~XeJ$=*OguK7g((E03Ya!v202oIO+#Y9-F9c*SZ)~&WB7?pu zE=@G>?0!}_8ywmkyeDaWXb>{_iVFGy@rCeE1}d;l{TOjEPR>C_W>n)TVVpJ1&;X<= zQ90<~=mvFU(8;n#87Q>2WFhqa)(d{J&n%KDr1CYPgQvi40;|b>lYpG=AaYJA^!09X zk+s|kpu)^OI^n)Ng(oUe<-gp;QqZF+)Q4wb)w-C$eP$Ppx82luhbgVo5NmC1Le~#_b7RL?wNsRn z8e_)ZL#MU(#7Ko6^24vyfGPUQLDSzjK(}ta*<@b%3mLw*ln?+ZY832hH1*J#DeTlpmtm;`;lUkJ7hoAN_1@OaNu zDTQF__0cTji_j$tCZ5e()Ab(L5%Xz+b$}pBc`lOf8?W40H90?q8X}k)hBB59Q==Cm z7+gC`I?1DQ`oRD{acPLMxco>ZI98eqEJ3jJI)WjHTjl1AIWxAz3R-*XCb^shdcf0Xmv?Sk~6& zgq+di7BVo#0SdGS1379n5DQ-?=uJt$`y0}ZW$zwn^K2}1FflhjX%$6A!F26$!YXzW z$&f}24q<=^lO4g=Vamy53vmN%3wdmRtXQRNgN*>~iNx@E)iSn7lWE{lwoRo1xRQ&g zdF5RK*(Hv&5OE*Mh7V76YPxh%EQyh-=ZtZRCr>7&0lnH?xhY3Wc<`HatVN;2wi8xq zeq6KJfr#1o>piPe0-=VG(I+DW&7t41b`2AvcqNvacGOteGpO-Iw=n=}&Ss^9a1OfN zGL5_X@)nS71iVIA5MC6DHZD3%-*gnu+L}stp|C30*Z-asHFzzz&8M}liPW=k;MmfL z?UG%wpQRj?E!Qlz&eB3<;S{UvDP^ zsx_(s=EiRv`7q* z>+K5SuS24^7bDTxA2pz@+r+72M7GMU{`%qjjm!%?n*5WG{-o);Im@?kBf+L+CS=GR z)?bv#FLrpIJG=VfBH?#wg=s)nS`7bwPhZ_u)|*PSpw~;-OUxDl z4JbsQMbKnI<~RUd{SqZuNs+R@dF?T=({lamJ$T+dg46fivT>r5QB2T@aF7G1x0OcX zBt}f6aDuLwp~InA7YOj8BnzQ2;@o(!p}EMz!m-zgoDmUaCU{pz?PwWGHy|+RimUN^ z7e@t1asJ>>IHo#jn!Yr4y|cdSC`>%F+HfgjfBEN(2oUvn5tO^F(8PrV9TJOD)@37B zNMu_jz}>o^hVq1Ob3`SM?|8}6q(U20baE9%px}o)WG74ZpKZm<6A;)P{drq)7~tTa zN}!q!sMi!(+?;*+HvTyy9{W3HoM>ShYOBz#o{wVtZtrGq7bVHuzOVOjK`Q&HZx1zB zMu-9A4Zjs~!`!B6{eYKn3IFtr(8ZaSB=3KhW;gZ183q>0B74iT4j;FodFlpqN^3Z} zGvjGN9NIvEF=>^#a4eoHW^4Jf;$RBZIJqfI@H-mGx26Dl>n!sAao$n-H1dpu*mbR8 z{X+aVdC~FA=M=k$;F;!8%cX*6Ir$jmG^GvtNEZ|GL9>rumVvfjM%z&N^;Fh4&IMVO zk$L`*OX;C?UnSV*55zhd3nXB4>c0UD&@IJZFs1*Rh85|`UE<%L#je1V#AGJ0Ote2~ zlB33SH9_+`$Z~HR=jW~3TX9tnRs>S`iZpkgA0NMWlqcZ3xMgndKcPFtK}kXEA^Y{i z1F>wWF{)@OG^lR`@kzRkGFxsUTl|B!oTtV4Nv^@aID^q6CcTx4Q50FSXAlWJ102PY zjjc#zu;h zOeECNL&QwIx(f+uiNnx*BKw{LS3R&0P6N6_0{dI*X98;JdSG$o%LY=JiwT1AVG3<9 z5-n3=m1ZlJtn7KEWBOqhHOePYULcDFOEs46VI;80msrOs*|qRg87I_E3p_G=hn7hK z+Jj>W>)zGmlg)2#!9gy9Jnbc`^U@zX4wQcAD|qZb`{uzLh{5Jz`%p+)N&A*0IT2zT zLRHO5TA(ji`6T?M$VTu>E!;jUaAM$zBtqCuC*Q>E=WkZ~d?rzpny;C4aRz*zz_Mrf@at6RgRdDhu#EA{E+#RsyAH7fW7Q6Rtf!e*cxo%&eacWyDY3G~8R zxTlxH(*QX|7C^ppeCkzQCR=c%Mnv6{iim%yZy?*)l*6DYx;Y-Yq?q%^Br&Gt@^ahq zf1ct0PnLPmIYDGO>VJ{tp;om2hb(7+$g;T7%rjkaQ(Mle>YY;6U$X2bGy@4J>A?9P zv<&$#TE1CO-_ZSwmaWaq;y`5i@?Wy7sxYjVpS)qwpOr1{l=GN6j%y%F&+Mw zEL(n_K3w&7&u5Zuu2iP*4Ow+>%&{&$ZhGu_?9%xSlpNg++O}=EVdyBD2V|2Qxd_bFDqR^*Y zk=7b>RyIH7wc4~Q_lAL0(uiUw5BbApl@FAMQ=1bK#E=Ksqx zbp7iYSRS5bg;UF3YmdSJqv*Q`;VP>N-e&fY;8Hm4R1eT#!UeHf5DFv@>O~sPdhskT zbj#h>mPnAbMrjA$kR6jJdy;&4&-0+QV_zbP{Y5ll_(~`+I$2pP@BeEWK3$U5Uw`-D zm-|Zk()vo5SKrimZR?}?nXyUs$=%R^z3+uRpM{?NZ~}12nKkkcVQy4JSW(e2hRSAQ7Plr;TZm+gUvADBcGm8)@ZjuMtiWQiBZj zXzakWyr$R;X%W^M3tzQYp-376e67*Yhon?mvm%%a&Kc2pZrGp0JG@O$eW-A0P(0|L zN~TEw*)4O~EftO&kuG3+!WHLIYQQ!vwb2O z>_t=!_00*`(#5*|uz^SP>2Vt%NcjTcDB%nMVke3Ws5@TY+qm5ST#ZNFui^inxnxZdq=uZ4}h?^ zU)LRoSJ$@eh$sI6W~>;*WBb8NupX9H+cmM~8_kWDod(AXC683xzp*F6GlA9|evjB6 zw}dAVWK)$=OI)jtc#T$or4<81ieaEgoFN50a#_YSR^#^p4ugeFH}Z zdPBSju_nfonfmK8TQ^X$)Zig_4ghI%5Q19Qg81=*D4o@uwdjQ~nb%j_qA28n=st)8 z8x8lbX%Nj^aT8=bfb7CWz=l`_%Wi53hcG;)vXqIro;tbE`2`WT&IY+_Db5jn;OBLz z`R7EA;($fQ;SZfb&jLLX>dtS?f5EaZ(aSmrEPDvig9VFJh4uh;nW!ns{*vWU5Lte7 z7>21`V{5|Rrb=IH(M@RqL)>n#0ds(9YjPuFhv8@fi+x~Yr3x(6>WgGVa7?a9?PQ^? zxT52%Sy=#YeGD9mEAFlf-&Oy`M3%(fk#SYT57Cj!bI5oKI#D37jK2Q%bWe}FIq9?E zi^2B$&opSp2u0pDN|ygM4Z$rNa+xb6`rHyEZn=D;d8+O?>QHo#oD_deLxxT*$TVCH zcO-yJ!%37x_40L-t4Clf1_&%a4M8=1q63+RCZ6sbC$u1oi}J@F5Ljl2Z)K>+aCmVI zLur4cZnq)B*vKbr58shp<>kF{I4PV1c;ePp#ewG@XuHVmUx1cE}7UBJ##LegE~X9#pRIw zkZ%6`+3CC{e{Ur=T|@BdQ#+O%$k7vkj-Lz?aIurUT+3(o%>$9+ z&8=41x~q0@g6Yq;Bh!)C{nE%No{C1-rnm&e2i6z!+n~|qtcQGM&?IebAD;Al-^SJW zD`}5eg8^`|H>n}m{?MIUfG#&pEDN0D6CYxAyPksdagJOUfxEV{AppbA9EF z?jcichA0lQU;F6Hsi=HL7}v2yfsa=U*Y$zABuq>Q@kIfc~UvH}P2V97v} zW%8;I;j}7j4Gv>av?900)Y}Hz!v9D3!r4J_P)W9Ck%s{#WE!e24)taCc{dP{+T@XP zgrA`?4?^RjAz=6&Gw7h~>WIz&uxY+v;GZmTm0!@5*)#J!X0?OGnqeFQ;{ksh8Z?bJ zbbr>2%5+$BK%l+WUuU*~U6>z$jw+dQ&>}=dFTj8#FZ_A&k$XHiIJh3Eu^6z;OC~rL z4^`)AeA~}Y)>5c8kUtYl9X9J2m zosK+#9cLI3Xd#p<4laSCP%WRM>5rL9&3y>2R6U6;}Mx0ZX35HY!=ytO=- z-i*vG0e*;m)S1@#W|f<2>sB)1tu!od9kd&Dhn1|+HAF9_@vvtt0E#+8zfsUeg{NL{ zoMSI5;Y6VEsqND2(!(=0k^zpO#-HVc}e749FYO2b-KP<*%q~_$hXsLAFoS%fmJKRFT zx=qd!1+HAtnof!e_+Sq(NHmhC3?wOPZfRS`TGiiOzv%SsO}0r5=Y6guj5lcRB6<_4 zGJ$ll;nZ>^X2QinR|2%o)iUwGxBwpR7FdfEWrNVE7;ZkuSKj=b(~m0* zsxAAn;>Dl=S{$QfB%G;H4qeYQnHW^A5W~q9##EGFiiq|_?Lk5nR+T(TGOaF8 zLQ;^WD#Leg02u5UHuEVAk8Ha>Yoz@Gy-AnNih6e#Y_(J%aV@P8Ub(GbblSt{Ep#&^DY-eSLkE!CSDw z$vQ;OdER)e8t!}7p? z>t~1?1)!xw`Sc@?6PbxC%M8q*lgpq<4y4>>+N4(mt0lv+zu{&iFGj%1GFM>5Nc8~i z`o|P1BaAlsTf&gc&Bg_1-ob{}t*fLN>AS=h+oIIH_(C?cqs6iJzq6BY%6msAj%ZIJ zX3~@E-_Xl%Kt`qrmmmM$ohqX@2>IDBk_TH<03PdAG;S0K4q1;96BR9C`CaX6Zvt+(}0QkDz$oO<8&vCQqmg4VcmzKaa^Iu z26zDjvIX&p$I;G*W3o2!*GT{t)Ath69yi;w+L8Gr;z|WsF^BaJ8thUnC0u9jndiZH zC8Cj`uAvD^I1~u;ZDciNQbI3a!RE&vm_;W$L_b>(EcPwcS~&KdMH5yNI@ugfPPIZ6 zU-pn`07KC|YISEPrcDYa$?8;QSlQSv1`ObH+`zWCFz#*U9IfDP8XuY)QNP4@D9yxp zxIB{>0nh4;BJY3g!IBy9t=vu*1$)ag;x3D~x$?)03D7Cz(| z_#9Me3-F4qo~)OQ_e@}Z=7GV$PyaHpq9w}1G8jI9b5UXFxy*T{4iDQ3&~j1I18g3= zdj3e6us*zZA$e!v(MhFT$dlVM7I?I|zEiXeVk;Z!7CrpBo)x3;-8z#yvV2ybnlxN{ zjL=$o<%(DQu=x?SEPVx2-dv_cq0(V-dEjx$!uw-{UIl(^sCv(a8tVp2|EIh9>DHOtLWbZ9N6;`^`M^r>IoZB-D7>U+~MP zi`pc*Dw(uJV-RY51@02zm%?4q5#+Mm+6T&Z5nM10`L2yNQXjX4aCoad*%sR9E=J2e>s zt$`~>T3~XDgR;3Jtfs1*S5-%HCCxfHzBE}{WceV%4iHwqA-MXmsZ}Lfnx_ks2z7t- z{Bicaf*2m43dj%!NA6Rkd7s1IlB?rPRlUwAnQ0t`bO2a+`a;N5{mwEHyA9S7PSrW& zw=7VJSV+P|3S4&}7CJRkdVv}kiiWPGcFL92JQwL%N)gSK6`dn_M`vaN(!`9quZWXl z3tNnjLrX=_U2$vRGI=`&l8yK})-rLT?$TCNxV1Py7kR6aod{=H8LBw000hKx5Vn%E zo`kwQKOT*fNOfGCJz0|~vil5GT~wQ;c?GB*Dl!gDk@`m{xp52xeZmh7_ytIgYT-q- zAsn?sEP0EXGroKgbP&f894gV}dWZ`oDP_H25w#;PdA2I_)Q)JqD66~X_*v^r$YdUI z2?H>Io^rIjYG@a85gnMJ*vc|zaU@A%K6Joc4Kp#HN?PE3T%d~$7UUTSWNO9;;HgEgYxdkWJz83K&G4VCpz{#$++&RN% zIMz&>-~;A?ptFgU^Jn}1`OU~Iyy6z8V9j5E$A_7(N7tsx*9yN!{oovnLHR3)qW0P< zGt2^|4I{%*)hB#vBNf`o(NhWgNJxj5+E{lz({~!43p+B1)}c zO`EF>t%E_WVaV=y`+?#;>(mZ|#X;@J^7O8QilWiIa$5IrJ-Fs=!IRw*z}sa5`*@*}i) z!}fq9dYSqBdc53RzUiPa2g2Um-TkR%pJl9s&8>3RQswPJ*}`?R`N#It2t-A2o#O2F zcZK!yy;=drc=JonEcC#pf9ULRUF1nwY67yh$G)CU%xwBbWd-f@`g8?1e4PNs`(pG_ z<&X&0MztFC--LGdrG-pTm;6_Sl2wwp#{4@#2^>|Cs%>A&6iMr38FUm?6Ge3!#RMfY z#!X{pag^Rhhtiq+9Nv8EO|JBQ8|ehcjyY8$&+1RyTegmo0uq^BLut0eYh_OEHbn*D ztd4ZvYzeQ)3b8i#bk4hduz3L40ZNznHmSx_u9xesD`6!ivZv?eEE50et80u}k6j4DPNFk9HnoME+<>FistvK`;4y@!5@2N7}U&d!-M4jeXe_v!?+0#GnPN;(dHC~ z8J3ym|Kx=x@gG)sCYmv3^?av^)@03mCy%DgD)I_me>OiX{ZFYI=HU6)1Rxbe&zw^< zpS=crx=;w#Ji+??I2L%Vz!F3|3^Vds@>#hJj%mc&r5ojp`aN#s(WD zWHF3`52Az_DZ!ttD67$E9HfpIP+w`8MQkc-(N`@+bL3!2CW-P2&y6vZ)D%$@R`>08 z#7&alnYPjA0z^qZyqqo;^9w8BTFuK^WITRYEEIh#P}@ z=m7BYuKB$EAV%~VQQ~o!?}*sAP*zBSsl3(W=iSArr8~>_fui%@e4(Bo&-l2+mI301PAu-DFyD`Exl5eKa5U( zD*-#$FV0I4cF|+8pU&i>Bv!y{#^ZoK-}bF6!?hg!IA?Nwc3NP?NAO|XlId*Bi( zmZ}7^1Qiwkpsmfn%B>Nx42-u7t1_@FzKg%d8Cja=XMbU0ul0?W*M@e|7Mc)Ut9gZk zE_stek?2wXT9ugT??pkUs05-hW-IP>{OEeO44?ausJNUBQw8L`dyH^lws{rZqB*CRFvc#wz5^{v zK@W&#H&Y?UGqPHwW^ic2I9kj-UFaQuPu}9$)G5ak^v=23Gq`yuO)(BK|!8Lp-dIs*kOqbM1Z<+GslQ&IvmEGV*uVap7rG`4Hgp_t@gWA#c=>CJ%*{ISYYW+ZSv z+iywM0+Ec!u&f5e#|IU3I3t&r+c?(-umacge@4ztHtSFt_L?br@%8=&g5W*ri%`1m z+iGx3wi^wNN-&)4U`DxjrT4aTpl0iz=jg+edRb*-@H0BxV6xKX9q6100Pf*rt)Juo z8bm=*jV_|VhNQp>BPqf}Dq==%uOdDCz4`W=aEqA@?NApGy(MFyONHN*ptH#luwTfL z^5X9}Q~*7CtO2VnVWs);J8x>Pdwv1aXw{Od7uBLfqm}r5cRf9z+`B}rF4}$ZQKq6h zlMYltPv$AGE3H>w_P96p2wiV{h0Xw?k}T<@-N&+=I(!I6B!)$tOsLzy%f?vv?Z&`}f@_~uxp{(yzJJz^D zg)3pKy`#k+4my%9E!hAm7Y^@aq`UekSDSur*@qM*I_b3>`G7kBjb6uwe*+HN#7;l0 z54wrz!Un9}$Na&ZS7<$*Z9j10n9EX6r)i4pV#)wWQzQC&;3j3As!>$tdg-V(hp)Rj zSX7q!-C*d>D zG_e@HXRhszsp1VCfFrufyElV#v8GQs(WfQ?;Z^y{vc|45M+t0W^eks1>$1vru`TgB zTWtwoNyn695xzlU8n7zGztP*;*4x?EuwC42dw3mH+5zvvyj3`%T&~+C#KY^Z7Q;B@ zY?C}4a~?$*Kt6nRO}qd-30@E`5#t_+&l?$i_99WY|A>{Z3_{47ZjUxtF$c_5hXmJe zYJDt|2ke%UrK`y7HeFuy*JL3J)I`PCbzJ}k^ZRZpVL=rr$q-sp`-PY?RH|;!ew36h zOCG*JGrfrfAX?X2zaZ*Tl{dhGv%3`lCE24rue*^{Hu_c8qCKuT>fJ!Rh;py#-IN?_ zv2hvTEh+^D7S*hl99fIpb0cxWwIAy(I`neMn;#Kz63MM!m%ZvnIGRXGW;1<~dF%q1 zr8XY#FB+7aMX4H78dJZ|LUZBs9a6L}W~c!qk=ylbuKcf00%%b!g{6!qDg1}QU&OcT z(cJ0KIeR?O%{hDEU7Riq=2wn&IY0Lp);Q$rMzL6;0Az*rQ<#sk>i{hcZ?+LINm64c zm}DQJnN`0B`=Cd=t(rh|%j558Ko!8z&#l}!d%Mc+`?F6nSw0=*(jmH*vvjk&NyD#| zbI?BG!=;-o0ZpFG`z%UzFg4m*7$QH!iiOXBm;~jlID_KPNqLxEbiO3^ix9FBO2^cU zL2X=u*d5*U3$N6;W@>@y%Ffk=#*N7jdd?dg3e}3g{4|0I^IL23!Bci59za|s;+H(> zhD|?+Bd`;Kb2A?ZoXxq;t<#P>%HHS2Im-XEh^FaFvWRe+<7}})(VBleJDdvQ7~)SP ziFc_3w(U2VkN~H3cS~plMxW?_ZjJ3u`HhVVDc`eqe+#Pe;CV8%r@q~FX(^F_R9BUf zS;XNmU-#aRZAWH-z#AlCbN)tl6)fs#L?%(BG&pMl;!>NgY$#E!q2GW8Hmzn|KDl-!7BY`vq7;9KlAO8O5aNG*@A-MPj z?2SttF#M6i_3v6dbnIB*XeZO7rrG&B2A-S~Ny>h60~wzgza+}(n?%*Itw@oESP~=G zwO%O7UtpgwZr)hZ6F^z5-tbh!8-UA5t2r2S5Y!slwpuq~XW~Vr^NTYK(~$?otgiqL zEBa#^Sw|#`S=6v1^y(l7WO!vE#}oc{Qg7I0|D&_!fg-+6}Sc3&m83q1CR@8(E1cUp>J>x*eAf>8|xMS zY^WL)9F2sB#s_bz|1c2ko^Tw2>N z^;)hsn|*sU+^x7EkB%X20Lxdh(;E-<$DL83{-%NO%)d%X2j~)!2xG8oSRObFoXllJ zsCWm-p=A|pGM_ULR*)DNDm!Z~Itn*Ug`SIwT|s_*|%AGOHM8}#XA%U;-a)W+qt!fel{p8*+^k4J17VxKvN^tA0(^t z=bz+bye@nK!!azErv(^;pf=t2#sLEY4P%@~Efxt;U?WMOegw1xKK3QebR+#qW;Eu=@KANmp60%r|ujlIHh#k~?Lhocm} zJupISj3F30a&mvC`kVAC37z;9#zB3p7D}hKZMoTWt?zdUJ>2UXqK4`$Ia4n{U4B<^ zwv*XCXW(=7(rTH*suBq}~$QTNgtK1YxyFTGurE zpvsxKF{4~~2Ya_Cu#t+FP>00z`7kKrqp6IG#)-rtZkeX#m`g|p1q>_Ulh&ZM4xzayEuZ{Zzo3$U3fA}=WX}AN-WJJc7fi61`pTJ)(}=;+>se)Lq2VkqLlABqIe! zh#9@r)8RHnthcNfoBZ+Bn|b!I4Ns219uG+9c9~I-U%sroxbZT}mZ6ZXKszvyt|m{z zCRKGnC@MSBF z3ED}-tOH4!D-0|$*q7`s>tC1~hMaEgZ;V3&`GcGfr))4Us^oIO8iJ=zg(fpVPZWNo zPO0n?s0}7YTMv_K6zxe7fGijc(4xduL6f+^Ch7%(@ z_Z>)95ndxRiJ>b*22NvLTr^z#X<09#0^FLY4m=qtPLeyFS!Y76GpvZBdJ;@oSa!t@ zF6E3sJVORPsr--QBn?tFjZu&o2x83O zMj^%3^zx3MyO&=;dp98c5Cg}084M0Sn$3QweYs*)9VJ8es_<~kR|Q5`E;0;UzdjNO zB6+cHIg2bMrL7i-X#dT-9UU^1%ML0uwS%5=2Ue*f3PLDg>04;EZeG_Eim2ZhD(-UL z&cw@=&dw;9O<&1Fh&*=rzfl`ib-J^4++Y zr-6oT`fIbML0>io0IkV!t;PYn?y-X$YCbkeyDit6*_ML#!9=-PQBJ;7$?=R2X-oH&cplkSg`Y!$G}X@zApsS(IR9?z|vyM!27}D<10qzFTRaz zyVfxChmph!(z#RHuC3aMYlgl)n>>Qn2RG?0UuNrEn-yEgPw3f%YL z?rVm5Vc7RqFUV{D&VlU^Rj2tXSGfYt(nnBl1@`jbmrk>ow~J~&evVv493TACq`Xb zx$a-SFUxaNoK@Qnx{g=Hd2l> z*c&kou@$kku^q8p+%)hTF+ayDPpkO#uitiZe_i@j1D<_aFulB&?aQAr$~hM8}WhbDp@uFp&l7w3IljvhubfiRpy$Z$@>ZVC_W z&H_m$G+7;!nPCmaVAreLLnY7o-w^=p(-UD3%Zl4pW_Wdp=x?m+SLb`|*LUmRN7ps?vey0X_4C(583#C> zj{zO`eUoEPt^?azZ~E}Dy;N&4>_YE}dv?`cB^$KMdgs^bdOzM9HfVXh-(~i0c$Td- zCH2QHBrEwVUW+%9_kmU!nVPdZMk)yzwbuus@e46iBuQWGf_;49T_~d+QyP2BT z&$^aAtbUM31H7z2frARI;#ws){pZdi z2x&45X%hH*18GB=1m)@i=J=<~bedBL7%hm;Xz7CTBSNz^cO z{kKrXkV$W%QsZOMK{9n=!x5y((0<7xe_o2tRv4?_MNCLTix%4peOMq$eS04?FNzlyLsEwVd@>MgccXmN zS^v5K1ujGkai0CcvL>>h$GDm629~9k7~#T`IslY95)7(asNH-fSa|4Q^98Rx;ilwY zvE;ui^Pw6Gz18NCKS*ZiBF4n{Tm=^KU38$7zF*2DyxK~Ws!2h+EYN{~AXiFx2_;jk zSab%|le&Q~qL-Tx#Sqb1KnQ>xWXZr^L;I(qwL@!@FU1cE;Y%00h&sJ0?t#{mo+nl} z!~nFKia=v27QtnQ&r1t3C^arZk!nQzX{THe%a21^A zkW?dNnK{LG(Oe>@Y}0{iT>I4LaF#f7;u#REAf+~g0)wIn3`^1d72}jpq=R@LP>AxC zDXE5Uzf5e2W*o(|vEeH?wbxib<+H~`Da>VyiZQ|AYP)9JecU(Rn=9^Bdr6P*q9 zs<(5Dsmq9hYEJ^qRFkc~EYLGF(gFH2 zsQ~q-CM(yb&!Q!eK*OI5y?&K`+R8r#GyVwhW)SduKhn1TDa$>2+zT5qy>clot|dvCM?>iW_~*K|EkO z&)@3)9hM2w=N)~86$fPBPEu}Cm<-re#T`Ycn!rQ|vl!@@m6h`vvB0)f^ETxA)AP05Iv3v4A_vR{AnU}q?gp@?XV=U2V>L@B<&KI3g}evOFh;e4FMW}Hy`lo+wd zP!(gVjL#pP*FVZ7?1VilFA3m=V(e-@ZI!5R67wnGz?wh3DfVE1;vq_qUPz?v*fhos z$(G}`Fn*7KAW|3)#9-;P$Si^_Qp5}c1&QOU1SDT6qUqHXb`^k4^}epu3@zP&cSdp0 zO&loIn~djSsAA6XEJ)jF^ZERYD|D1LQ$_xHlXRfvP9D$G#TQG!oC_#ngiRjBb>i4@fBIYaO4ep%$U1wl)- zT=03(tAe25*HpZO!$@hZNLLOFV+T+dVDiN~sNk(4;HAcytX2%j+`(&x8jf;E4XlQ= zB8Qm|_!21+XfZXvS+b}VqUEVu190^gLsik%D&g$fjX;Yjij1r9VoSynn!bpG==DX; z2uo-RJ{84y5GBV+rR-igrp(fRA9TdkAAUq*Q^dVx-bA(8eNp_*Fxh+A6cSpFnLL6t3foG&O#y6|iiJo<$dSu>AdKZ% zj3fX>%psBfno9`qXPD$c!OMA)f)8}NtQW@guF>Le;H*!Q6U?E4-X$f6a#?5WvCk>e~8%=ri?EfOZlUX)AmvVWdctNl}Owh7%Wb+Q6}J=V9Ouf zC1`PnTjM#d|F#GZyZEu8;}OW`)^UR76G@4f$YK`zldzF*#)uRL7iyT(gMy^268m=? z`2jyeYm8FT8o76@7Yq*T_v2m54&uFU(yzwZ}!$j3s1o- z<^^OG(QKe5EXKPG{>)4MlDNv^j^tud%UL2>N9F>I{YLQPn&WR5C&+%#4E*I0i#V-~ zP)G~MWYxb2w$PTG{18Z!rPRYUR6F>#vsIqL@KD(*_3pZt0uj+$Ee39z!hh_CU4UE+ zKGE8kg4=F~Vr4Q*D*b9!mH1{mT0QCm_oO0*l)NB|WBOBLEt~@DSLEsaqd-wVwPeRs z$oLH))flyIcsO)cSY(=?8iDWX3$#kQk%@ZUQhUHR);eLR(QrwA#!3}phUlJ8#_C#Q z^(e}-IDAPTruF=H(5ciZR`TJI$mn=rg0l1DayAT)OyK)pWGy^il&O}CInz|K#8_3v zRC%pB7`Y*6=-a(%Z+_TpO=%7rF3hBaTU02(eYE@KvV7ZDoh%kNJ`7*?_F*W&MRRa~LaKhBFE+w_ny*U>OJ}vpKIv{o`XK=}2|HtjYcw zj2O@HmV;vG+dx%GGW}3eO8g4tYL_XST!!KG#8b~!zw_KBAEOsu$>R#nV&1md5sDe0 zB)Cn$4K|<8M$h*4QeEZCw&ZlJT^%yb9m6SR+8tZjHA=#yM{8ZbwRUjSX=1c3WSF~@ z%P-~^5g3?W1yqoceG1ZJkyzy544tZGC~tRQfmR;q(@Ol07op?eeJII;?|rOABk-p0#q+`C@vkmEVVU z{>}7L+SC0-`qaXG#@USe5I&5}eePbROj)m)PJ6%oAX(WBN<>BQgr<>5*shc=nN?|g z&2y%Pcf|Q-wt-gilE;z$h75DhhJ^!e)d9Vd-(7(}amym5_$Lq}zLrc}`OgMG`Hph8 zNK1SENwPNk7Lp`H>~n#!sf3xH3NN1QpOo6ZrJvMb#^^MZ*xE1gJ%7T6RQG8Tq#H(e zt6!*SsPV`hh-DHkKvoI1?vK<)Aa7hQ``1A^wfRQ$g0c-EZe>XCW$v4S)Qc4`yw8SCXm>AZNe)So z{-$$ad}DNCo^5?!Sjg>)DH(?CAhm^s8Vl$W5{udo9*zWW;yi%}bdMASKpD(B!PBH@ z9Yuni%5#v>+O7yY&^|ffem{}impU+}fb#sfLw%Loa;oBRa6;4Wfa5f8XThLlqXvMD zqBCjQY}vvdsKT|`XHduzvpCAou%}7UIf&!Dy8tl&dv@B`SoM-r1xf8tE zAX01bF?Rw;LF@LK7?*PCpQkL=1T*{*QXI{me*L%s^S&YYojvx~D4P}HSa#MDXO`S^ zD}KN+OqoS>4jE|%@SwgU=}3M^c`9#UKS8K@5ickUeI?CGmeDkF!lxzRX^2R8FByws z1QAhesX}4KPdhPb8Fd^_JYmYr`IF2v^{&$`bkplmkC-;~WqibFNBJfdc>pgDIapmL z=@uy{c@9k`>3$3JeLpPceOo_mDYCEi(ZtKOF$~Z-8{4FMO*{7kZr1OzPrHu+gMTR^@bA81$ z^qv87k2`;oU4<_rZtkoczV25qj*+3mX0x(C+_XwvLDUv%~!b))R%bX}ppFJRi>m>py4( z1_~Rw+zoGttfx+m>G$V~BR=n^UcKGP-1hdIzq8yh`vzJ^J|CVYSe!lkpS`$wKlr|k zpFKNs={pHTs=>7h>{hQWI80VX; zYg^c1HwxS>8C+4AE$K5W{Y!+dSN1@I;r4tg4KeS#C`;TZ9|5)|MMFp0KpjZDViB0a zUsrzas#5^wl50H`h={MJn>@l^oafi=xzP@}7cJ$>(m>IRATcSo6De_9$vWFJE*ocC zA$KWm(2f1lF-_{?&vN>7W|_9l$p`+oyZhy=JmEG%<iYyHdoq-^+{uVygq@!a~H9A9qz^XL3a=QfT=^P8&-CnL*;w5pI%?N zzN5-Rso$oojljy^VzuWb_>(;Rex9d&+)Ku%H0-Yr-yeVseMTxmo*Ko!oqRcZ4v+Q^ z`%%~xn?IB7#DHu=@9Hk!oM^1abLvX_P^+uf^PZO1k1mp%Dl|BwqOGVn`%)17{yO{x z+&u-1%g2q!Si`Z&z8TklOwGhi!mDhWdqz|fQA$~=D9%PGYbHg_kyW8$45cy5t)hoB zc@IpyMXKsz*d8b4T?_Jh{Rz-!I~eJxCJhDcu1% zh1LA6@ae6(4|`8zVfKV9OA=j>)YXOd?QybxK&uS}IZLKn#w*Jc8~%MraWV)k6r1!! zpBj#5%ZeYjJ2ydBaYftwk=*aJw~9jk^{`HN2|a<YSLrn~MtxlEpdVe1e&LmHkwCog?HJv`E zWPHA8d=YuEHDOBMAIh4xmUHOrG`{O2K3p~(U)^8TIaaL~E9$&0P{!r?cz6x_bQYW^ z;`tR>y?xy51}Pr8UeJFHX(&9LCz=2Cx&LzuITnX7noV&&02)P@gll~VsJbsazx6(r z`GLy)9wBwk*h783c{`8XcJCY~cyrqa7;}kEo=Y8fh^b-wBLM2Bq3-A52+6Z(dye(n z5bW%IDRI{*f$Yn|iT!wY3sIo_B7O!C4MKGJwSHg~;eDQ(^ZrEEr=0ooOR;HgYKiub zF>d$E_UG5gmB}B^NkO7508Y_Pn5b{C2q7_Vq*78SRL3>)1wdqRjOvLQ1OZ&aD<;7* z6zh$*zWgIV9Fe%{9jfD(uoODWl4$TCzSgfVkAk@PbJAcnJJv8YEE2Rf$@10lTT-@p zE6g#ZMaOWZ4T1taou0UPp(=Sz6ZwIH0*x{=?_e+aI{^{Ul2A@v0Pztl`l4tAc?-Y5 z_8%8Sd`=}xusU>}3AC%=~zUAZ}#%Nzw!h`_Hm(7WcZ=(U->_unOk;s z&WqUQtxHCYLODc}Z}y5leB%ft4D;9U3D`??T>hC>;>{l>AaHW>vq4PC7AdnM>W4cH zsBbWY)pmlGD#a2mnH!|!Hf{gMYj76$32eX{v4H#CuO1OVTbyENf?%tVB>X~0P}$9D zF~84&P=V+~zS56$d=i&`CNX@xrt2IQaWGi~WeH^awpRqeO?~KL!B$4p5iZPxm%%zz)?;>X#|`-_6i5MHdgZPOf~_iauZU z#@f>2qSwaI$m5HQdr>^z^7TUNuXT^+8noR#z}%}PXYi7lGuYTR*jTay$KKL2JCs5b zHUgnKzO!Uqc>A9=%7-M#v8f584jt)rt*`5uqnCBfKQd*7;(}T>Zoi)%23Txo-+$Cv z{lFh&?=qp%j<{THdRT7^lXZWn^R135bHk*s9)L%fvZ}vw|NZoPz^VU+SQ>fCtUkNm z2Jo@w?s#$27XZX$;m|}u;LU2#^WCx&X;>2-K}+qr+hhbIj$`LmPR({oF9$Q&qmGJj;5#eo&L z*u$&b^{^LeaUNo!VjS-P_g0w?ljUTnyGZ{*eK8Nq*&U+NrPH*CipXKb(I}fjUo*Ts zTYXJwtK~p&NP=u02}O`=o9dIK(J*l748mQw&ZgB2e`2U~3R$}ev+C@0ZLwxGLJFm} zM@pjc98D|F1|#PHZ+bcgf#XO?bYTikJgRlryz6 zcd__hjO#xytJBsBz~BI)p0TLBv17x(m2#&Z@W!04))cPR9F4|A*Yi`g#Drw!R50*_ z$uMRhT%%%t$p?XnY}DBTU`>89G_2aVpty&H2mU7wOFK zz;V3DjYuuUdm6bzfhG!_EP~OQgxTeEs;gUO+%nzgF*zxE55WNVdAEg1P)eNSR3QRB zhkyT_-;s2BKr{DE6ZJhM#l3c8hdZl!XRUIY_ph~1ig(%{Kc~B2oY#irYGhrL4J`y` zAp&P%z*xb=<3mi*{Z!EdTyp(naszDB{dCjh#Z%X-x4~6P@azuYRt4C#!uY?2TrK=@ z=b_{sV1MMJZ|ngmT!eVHLJ4kJ=C0Fj0__Ak)it;^Xz%>PqVA%p>(k~DPpMBIhM*4$ zpc65@=>xIX%q2|kk|)$e5$T4&?Rmg_`?FFJ`-$X)2|^9QBn;t34M8Xj2}%ti%nT83 zzJLGy(a)Z0O=kSg$^C?_ZDBABF;4ac7}tZ@wZgpXf#U%EdX3ln$HgN+Yf`O`9Pql?B&+da9TqgBlr%FH{XAEz`7+lhUIb_*5#Gu(o1z240AZ5bk zfh<&EF!|3yW&sx<%ivR2(_NWnvADI3F}Anw`WvDwu#cE$jPv^WeL^Y$e?S@_-v4VL zng$2~h#`-#&IIQ5&mfGT_~&7VkuJKesoR23r3?rH5I_RJK%l`;pvaI!iQa~uFAwo*hj4WOO{6^;2jEvh+^zu3t2p*l;_X8*EJE|OU}ARUuQvxIU!_*Gx5F&4!l2WGskHzg3`%d>=|P_Dps)^@7y~=@ z*ct}tD+Z`H0}wVt>Fy8uZ9O&vqfJYP>OrhcmvF6dteItaP6;= z_-7yto))aTzwOSuK83F8ZUWtJ(XNPDF=>#Ekp965?J&{5NGAPPHdCmPd}{!rX5yH6 zpk`t?J(iv8=*@ww^(l<%0lc*lcZk=u5MgL>D0t`!sDH48se=43I#K?WA4OuKA~fIN zW`Q6T;ub+(yx1PF-aG>HHk1&76A=(0{|AG6BdxOk(L_}KwTJ}&w~wt6018GTM(Q?B zeXHPRi;K8Es!OCp3`-FN7`g|lhe}el7I~6fbV8CoivO0u z&rFaU-S*+eG=!fFmYl2v^B<4{|0};WhJUr=`~2YI$HK?LqoSWw$(NytagZ#&^iMZ$ zscELAVC;Za?-#qCZ~sYlq{XND7p$5*O8=lx`CrMS!~i1$`3(#!cco~Z36YK;REH~` zx4kdko50Xiq8g=ja{3v)1kPn6#VO~sOPW~%6;w-_rFCiDv%s9wA!x+|Hx*Gtu;fZG z9Iv9cdOjw9tFw8MWCXIB!T_)i=LftdLkut#;Ga)oFL8~&svpPVY7!Y6(pKgB; zZgAWT@;C(PXa%Ti1%){va(p}35QfbV0-rzVS_r=fm>cgG7y)32`2PfU0*U?D%$L0T zxX5;J1O+&OQ#gZj?znB-7eE4$e-S;9KqP@k0+9q_Igmgkfk+XNd-+%e6;KH_>1W>k zs@&eMhBh`~8g^gk=s*w-os8W~SyJkiEeNWKbI@O`k7Z-(wI z&(TICnn*N}Xd=->0*OQui6#dIM52jA6KN>ge^)Xpi8K_Su`Ao( zx_5v2kF73!=Eq$1(zy&2K{1p-DP*Ax?4n>_$Sa`=s=~w(9fg;y>D|-=}Aa zZ8hN2m;bWWpilqg|IZEi^l$IjD(};;KeyGePyclW?~^>>P5or%Y-{WO<4ROVddk5_1`3HzDd~rcfxK*X~O=~gv0j|j{cl*q6vk* zgs+_^yz_p-H~yON{F8)lznk!#dkH^iNqF&9!ViCBJJ^QpjX_BzDh&JXFh65e)`L-`ycG1l?j*osRSSiHaQ90;MkVK&Z_)K?26>=& z4TiaJF%;cUt`~(ty`P(=g*5DmS_$wf@I}7FB)1#Nr4dtKpy?^iWIH_)bze) z!7*Ys&?L8FS5y#JAey~+`hU!3>gK_5XF@ESXCw?A4`3F3Zm6F5KD}2t92<)n<@!b_ zfB*5ut(6|UXx>a<02tH+cIt2omk;(rBpWMhs~&Zp6N=<{QAp=A_v=UyMG`-#;DJjF z-R`}Dto!iKRr>t(E$P|X*ESeDE8HJ-c1%5$8c}2wvQX4m7ZfoRo94q`wc~Ki{|3cG zUHdb!Ec#Fz2lDCH<`+A)1?bxF!XHc5mrL;+#JH?l>m@GE0BJ47Vd@Vo`?y9n5+uQr z@qcH?e;N}-wbQ6>Gm;ylj&rNxi~-O;w=VR-=` zTejnEg}rg*CrW_RFy>{V{cDkj23&6Ll(JR?+fA}IzzlV{|0fMsPLu@!X07s*y;D_| zJL7fgds0vB&|hmKb7{I*I%c+~8wtryg7TUl1W~Q3mVNYGSFyb+K#{WH7mcV9MR9o~ zaG9`$&YNZhvfNT)lIQ0*R_?JlMjk~S`);F(YJ*T=@B2r$E7ctJ32a3IxtMq|5WdHx zNNM#FP#`A^KQ115a{p`H{K94PXF?U3j9Eh~v*oLwfp=|9H6_P|b@WTX?YtE!pq1K6_pyv84w-nu%48h9I1jtv?(pVFxlK-1@$i>vNH_&vK}L?C(T>2` zg*F_t=-STlz4iIFO~Fla7zr@pXLoS@*+;>3c|x+@EDj6hT(H zz)D_H1&eCs0Ha9TH)XafmO-%#0kEpv3A-Rv-|k8;MOcR=7usyInq%{tV+*GN&hM`M zTC7Rj&yXmnQ2R+(6av3*k?7t?F^O(iRA7*mrJ^LU&eq6- z;iy5Xv8;m!yuZy=2%S1tfDDRpzc0bRJy5T{Lrazg+^S!-No`tYp%}JcJ!c@^$$W{( z3uD@{eRP?a2Ax%o&qXPwuJ>}d^BP6?+87pf_`Nz4*(nrw1S}1AYyg&o-JKviMMRRL~@@G|MXtq(1b#HG^{V`{it!drAGaJS|QM7SWb|G&Ho3fk61BZgv^wu9Sl*{2Lgi zgs2n<0gV>KO2!0iaG`Zy)$FJsYI8(5Q61-be!+z%;JAknC={^g)~!*#7AxS4osb#(NilJVT$0Jkq~`#u zBQV{`%?K3M-_sNOSz!O5VU#T_p~}r@mi*`7Gr4sRex4)NeoTJV;}KNhXQ}g=bCjjO zQG6j)m`TPzP$S#%=uYW1)W_$3+1PUy4EyvmQI+nOMn&dw zfs9&o5}5B6-5Ip&ry4e&X2xcyxxQ#Pav{75DFW#Z;9q~9NV7L9rAQ@Mvr$wkY+|yp zpgmypZwRj_n}~%WV{@th6Obmk*Yh@d8U^}RV zxCVZ$GyV&!#*k}n1t!ymg>6lQJ}XH>mt2Xq-9uDDGc`8EqrpH+?C!dHgm)J6MQ?R; zXUW*UA5ztW>NM`KS+YBFnuoRZRy%T5ea|!Sh6Y!70#21NK5w3Lj&18q3eZtA(R}Z- zWrnQEGklfSNvtum!e7_0j~2YF<4;PhP51p#Dz&kk+Ymp$Y0`Wxkamvy+uxhpD6UPR z+5c|nwhwlwE*DCJZTi`4JJY#njW2FH%&)OLe-8(Xv)q!-=#dhS$D(-nuNBTRE#{1c zW(&LCUj?Zh8_1va^O$*sn!u6=l+vPW7lkS9_9IM0{WirlV({xiy~Rwj!`vRE#*e!Z z#n5lA`EjGX#WOq6ToVero~x{_jXgNLf2=9246GEbx+cILi6c!TBoxvbR4N1?EH%}X z8HYt4c{vu+39tsMy;Q)9xv-ChDD}A*5e7J6W?hv&4bTrHW!aBsvyQUZI@=Z_FZD*|oc%k+{;4&n9oJMH z0`iZ~?F+K~!Q+FG2k2}L*%%|}ZZ)tL&lJ2vGA#T+7gpK%^}VEd)NzgnthKcI zEGcaKP(?Uys0m2lQ7#KH`8VDmTZ6HYK$zIl5G=f@H$#v#5Er_j2yAx1bgbFk{c>?} zG(0N~$k@7Rb-`qkQVi!lDKt zw>ZkpRe>Cm2snW%YQk-yo)GC1)2hPgS-&83*)l8QXVV`kVmr>^G~~g&%^SZYhGs}Mo4^j7%XSfy@j@d*%27UdZ%(h=CVmsE>3q{9d zeJw&jc&WlvBwo92F`+RoJ!kE@&k2iXHO4N>&i);j5;6`7xdXo@Kcw%vR>?XNA7$1$ zR)wAAn0)}7>NRTjX@{W`Vi^|I4evlSi3;hMf_SLzS`G(Qj|WN_nyxnct_-Pd`dbdJh;5Tx z2ZtH`B`q~h8bd7X?zNg|n_6?sQ(dO>Tu+_;-?n6%kg^1NVMyxj3CYXLCZqbB%G=$G4qR zLLxp#C@Sweewz$Gtv_>CZ*0UaH006kPOT~qb`2Yf{mXMU0cqGpYpQ;V8V0>1A(PXG zso{D0@U^qv7uDX^PG2Uq);@(jQc_>9@6BkwW2HNQ7>D;?W0zKb+ciaUTVE6lKzo~C zcS>*r3(%`JA_!=I9OMq)q&#f?;yq(|=Fy;=yZeAs8uzf&;1OcEFQU=o_wurR=)9@o zA3@ns@x+U2SRK5$xvgEqNo2mofi2Bsy!L`sk-AWEdNg%%Ywxj=Ii9#F_}s;tK6A-5 zqjv?ErW&h@l2Z|c4c+BJY}tl`F*PXI_%uV%SzMBM;zl3nn$oz#Krd4gYB5MU%(qdx zH(+sbB#LiRW<{84QFzkSiA6$FdU{cwD4RwkBFHW)pDL?HB=Q~4QWEo)QT}8R@a=NE z0y3CCDp)8qrKZX~A_Pl`mz7R^U&qy6y+{Biap0W#ppM{64z?$z_Eyr+Wgk=t1UtgT z{D|8-X!Z3uBTd|@1tL}=G}d*_F-_b8_O^EK7H-@mV&#sdGUnV6mer+zja6HzE_#*a z24OupNdB!CK~1(Fdw$;@B}F zA5*bAw|`k?9_AUc{8pQ1tnnbWnJ5JuCMHeeE=ky_ALjX+4-+oWx1!*-LM6}7!q2QE zv_Tb3dG@m_R_sS8dRy)@LgI*Xt?zIeO0SsoeRCbuu7tY9FY<~RGH1wXgW(&FlZO!- zGuR1Ez=DyI$4iYKbB@_|PrO%dr$X6KHn>Vv;;hyy>P%bbcQ5g4FdMq1Wv>HVztUPA z&-&HY6>}DEZLZqfoNa1GFZtdR&j87vdQQt{px;KPx;Z(Mnh~~bK5o8pC;hmYslYpO zL6QgD=nC}VpYx|D9?zMa$yFfPc zqyK-3zKhzZVtoOJe|_&jW<{~z6Qdban-zLNVNY%H4SxOq9TF<5?P8vYBCJI2={}Fc zP8^*W{4yR35~HdEK_}9#h>1kaa$&BG=w`zRTo?UtOD3 ze66yf%%z{7#fCqL3U!yTZ6_l&NGR-fBQR?YZ#PCQg1&L=-oKmPzNAk%m$mIWTNT^AiQA!MUY&ysS_;ER?z}x$h#cAHG z#bM42CNH%Ze*ngmirK3FbI0|(NpH^k0E;P=y;*;H*Om9j!~q3UYQevAo35ufQN{BA z-i2zP9CS_Q+JXADYg{T7GOx`j^KASlBzVQ{2&;IL_;v}X zuIz-66j8ant`PL#R?`*d$X}Mf*uu(@HYd0IivOPDd|3|Ju5l1+;#xp-zXGF!O?b6X zHL=Cg#cqh60D|*#TF|Al@Hnv$%SE(}?Xu1ZA@Y_>lS8d`m!$vx*r<)}k1xt z@@Al{PzN1Bxny?PZWCrwDj}7dPi*oFyYXjA1}rn=#I1>Zyk07(GZgW zgFe%FiFee33@(Z+i|(T@j~CQM?kyeLSyIoq&9(gDu=o&&i~}Mt-}pzbrNrLRRSMy< zF~qV={T#&^J*5zKS4!3R{ovvvCDo0Yu%f%0;lZ%}>Pc@EAKW+pV&+jBqhfAwpLSPm zv&*V%9?~!@R_JDgb{rFfSoNz_~t}C35^ozI0U{G-rqKRCM`TA0{*DQ_pW+RS* z<*OhLg_>F|!Pt)A-D0J0>mBD^lNSRTSGO#u_$vAr+t;?XtGmokN6ML;XHkRL(RhAf zy6(6z6y+f2|1x@}3Ah>(`JEAr|2F#2y}HS*;CaE^5pkm$_iVX0a#nm5-1l+_m|0mV zf*7*(w1vJWJFKPM9Q$;%VnNR8FN;*x?hk)?5iaGk-9vNU4%6$NEh#`$flqI)lT!PR=26q!ryp@^^@(n27IOoc4;D#bSaaj6CPqrMF# zj^p0kJM$sbN~&%XW>p)2%v6@NBfDOS;dtA5C~$7mP~Q`w(R-dEkmLh_unmiocVy9A zdzLbX4G-voZDZd}i5fq?Aw3$%Bvdv(>5{nbn68gLdc8&&WnO1~2To$aOt;0Ox4a0!m3!itk4J>i;C;krdLS{usgSo3o*Bz>2VWWQfQ2^5?JMM(7AD_y4fbS0 z;85lgkyW4?@@w#XP%eceAWgl3A-8^R_w}WgX>@_k_`@yQ4u-@nn`QY21@jpdW2(-D zRmPOUQe{0|jOOCurR4#wnvj;q&yWD;Oz@GQoOsAMGuke$Ytw*}uBQTOSVd+8j;FLK zgN81<^z(7ljv?>z2*0j}JCEO9BF6sjWgzwv8JshmCHk6rj|%)a;IgH`jTLOlgK!W* z&apE$F0?#^?E(DJz|&Fz>*NFheI5HJIVmi6#Gt64%iPQ=+D$Yt+6$E*-@(x3D-4%} zOw||0y!Qm)cIc z=8M+e;MEh>w&T3ATPub9dn@QRW^Jw)`j-%7qL{542#fmv{M!J=@J^5c4FfFuv4?L)hZ!iIh6O4DiLMSbNJ9zuG(0=3IgzUmv=ZF! zZ8yZe{p$0*S=reH5d;wAPWQmj2!L_2{0shjOM_G(3jz>wsnjX7AvC2B`DC#>dv7-r zFFic6h-&@>zp$3>;DPYUTe}b(Y5F2kJ9jCaj8{JYR{f%0i2*pG*{E17e0BaluHSq2 zyC*H99{t|?p6muh*<>Pp_mIZ?L_gz=$jTJDX8qw7Y$NKW^SKoOBfESy^&&$YoW0h6 zyCP7ErcE(VtX}&bg5dS{H!(PL)DEr60!{dlsJfY(`A%FI-_W}Zk35Dr^dXsLA1)hs zU~qTXzWroksjeZ`fgk@a!_Rd4gqjDzq)l$|r=ZGjR=ZybuYUrWAt~MF_e6>ixP-&P z4#Avr3&naCJK=b&cpxY`c7U$f&d#AS4E0e;bT5SKVbj^b+kCOuY^dPxeEV*(Mtd<$ z1{WjyPIQ*Hu3_sdb8Sif-qMnJVil!qe{ZVs@JLCxzIeRzaaOkY9`M`7^A-^{bRe{&v zSQdKUE2?dx zzPJ6|C?9{5p$IMv#7yzSBoN>RxBezH!m)O{`5OkVy91+MLN}>n#*!*{W@9fSFyYgl zz-f&+4JFGnq1o3ml@=H!h#6yQA8tlX7-6fZtRvXDv|m`X?1sC>o_jt!y83t#%nazE zVG~L-Z8F3mg!L);ec(Fd8=(|npq@e1yWlov5BELQU-S`miqWs{Au^8Ut6c_RixOOr z`;>Y9K()+*Kjm2xba-`+gmo-06yZE3?$u5cEry1e2n za5q!cQGJCEh2arUH|DzRRok~m<$$PNr(T#7Z81k+?ASu_M;qay*gayfQt$puVf_#n zmffnwvn=V8Fp&T}rM_IduY@RZ%>Y zcU1xfykkuGDG)^uqR|t2V_b#7Mko%wX$OlQ^hIDbf$|GicknKbhm?F0&Z8+lBA2+r zj0xo(Zp5g;Dq10&@zhYn9<^IH&)N;B1kfMmr9RTB%%0Dj4Upv7lP)Y+5jQR5lX*vMhX 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 Lf)C*!NemOQ%#dc&W0oc9D#JHX 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

    5&3w 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 diff --git a/slides_hypernova-part1-introduction.tex b/slides_hypernova-part1-introduction.tex index 3db87fe..b90e7f2 100644 --- a/slides_hypernova-part1-introduction.tex +++ b/slides_hypernova-part1-introduction.tex @@ -77,7 +77,7 @@ We used to use recursive SNARKs to achieve IVC. $$Az \circ Bz = Cz$$ -Typically we use some scheme to prove that the previous equation is fullfilled by some private $w$ (eg. Groth16, Marlin, Spartan, etc). +Typically we use some scheme to prove that the previous equation is fulfilled by some private $w$ (eg. Groth16, Marlin, Spartan, etc). \end{frame} @@ -114,7 +114,7 @@ We're not verifying the entire proof \begin{itemize} \item Take n instances and 'batch' them together \begin{itemize} - \item Folds $k$ (eg. 2) instances (eg. R1CS instances) and their respective witnesses into a signle one + \item Folds $k$ (eg. 2) instances (eg. R1CS instances) and their respective witnesses into a single one \end{itemize} \item At the end of the chain of folds, we just prove that the last fold is correct through a SNARK \begin{itemize} @@ -136,7 +136,7 @@ In Nova: folding without a SNARK, we just reduce the satisfiability of the 2 inp $$Az \circ Bz = u \cdot Cz + E$$ -\begin{scriptsize} % TODO use the other simplier font syntax +\begin{scriptsize} % TODO use the other simpler font syntax (= R1CS when $u=1,~ E=0$) \end{scriptsize} @@ -189,7 +189,7 @@ Let $z_1 = (w_1, x_1, u_1)$ and $z_2 = (w_2, x_2, u_2)$. \end{footnotesize} \pause \begin{scriptsize} -Note: $T$ are the cross-terms comming from combining the two R1CS instances from +Note: $T$ are the cross-terms coming from combining the two R1CS instances from \begin{align*} Az \circ Bz &=A(z_1 + r \cdot z_2) \circ B(z_1 + r z_2)\\ &=A z_1 \circ B z_1 + r(A z_1 \circ B z_2 + A z_2 \circ B z_1) + r^2 (A z_2 \circ B z_2) = \ldots diff --git a/typos.toml b/typos.toml new file mode 100644 index 0000000..0788b15 --- /dev/null +++ b/typos.toml @@ -0,0 +1,7 @@ +# usage: +# install `typos`: https://github.com/crate-ci/typos +# run: typos --config typos.toml + +[default.extend-words] +groth = "groth" +pinter = "pinter"