From 0bef45dcda41858870771a6d9674dbf31ed890d7 Mon Sep 17 00:00:00 2001 From: nitowa Date: Fri, 27 Oct 2023 11:04:58 +0200 Subject: [PATCH] update paper --- SemSEpaper/exercise.bib | 22 +++++- SemSEpaper/exercises.aux | 30 ++++--- SemSEpaper/exercises.bbl | 15 +++- SemSEpaper/exercises.blg | 58 +++++++------- SemSEpaper/exercises.log | 135 +++++++++++++++++++------------- SemSEpaper/exercises.pdf | Bin 137405 -> 150280 bytes SemSEpaper/exercises.synctex.gz | Bin 30625 -> 38340 bytes SemSEpaper/exercises.tex | 131 +++++++++++++++++++------------ 8 files changed, 234 insertions(+), 157 deletions(-) diff --git a/SemSEpaper/exercise.bib b/SemSEpaper/exercise.bib index 8d5c974..85edc8c 100644 --- a/SemSEpaper/exercise.bib +++ b/SemSEpaper/exercise.bib @@ -1,4 +1,4 @@ -@INPROCEEDINGS{9678888, +@INPROCEEDINGS{smartian, author={Choi, Jaeseung and Kim, Doyeon and Kim, Soomin and Grieco, Gustavo and Groce, Alex and Cha, Sang Kil}, booktitle={2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)}, title={SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Data-Flow Analyses}, @@ -8,7 +8,7 @@ pages={227-239}, doi={10.1109/ASE51524.2021.9678888}} -@inproceedings{10.1145/3578527.3578538, +@inproceedings{fuzzdrivegen, author = {Pani, Siddhasagar and Nallagonda, Harshita Vani and Vigneswaran and Medicherla, Raveendra Kumar and Rajan M}, title = {SmartFuzzDriverGen: Smart Contract Fuzzing Automation for Golang}, year = {2023}, @@ -26,7 +26,7 @@ series = {ISEC '23} } -@inproceedings {217464, +@inproceedings {teether, author = {Johannes Krupp and Christian Rossow}, title = {{teEther}: Gnawing at Ethereum to Automatically Exploit Smart Contracts}, booktitle = {27th USENIX Security Symposium (USENIX Security 18)}, @@ -39,7 +39,7 @@ month = aug } -@inproceedings{10.1145/3243734.3243780, +@inproceedings{securify, author = {Tsankov, Petar and Dan, Andrei and Drachsler-Cohen, Dana and Gervais, Arthur and B\"{u}nzli, Florian and Vechev, Martin}, title = {Securify: Practical Security Analysis of Smart Contracts}, year = {2018}, @@ -56,3 +56,17 @@ location = {Toronto, Canada}, series = {CCS '18} } + +@MISC{ + doughoyte, + author = {doughoyte}, + title = {MerdeToken: It's Some Hot Shit}, + note = {\url{https://github.com/Arachnid/uscc/tree/master/submissions-2017/doughoyte} [Accessed: Oct. 27th 2023]} +} + +@misc{CiteDrive2022, + title = {CiteDrive brings reference management to Overleaf}, + author = {CiteDrive, Inc}, + year = 2022, + note = {\url{https://www.citedrive.com/overleaf} [Accessed: (Use the date of access)]} +} \ No newline at end of file diff --git a/SemSEpaper/exercises.aux b/SemSEpaper/exercises.aux index bbb3495..92af00e 100644 --- a/SemSEpaper/exercises.aux +++ b/SemSEpaper/exercises.aux @@ -4,18 +4,22 @@ \@writefile{toc}{\contentsline {section}{\numberline {1}Weakness and consequences}{1}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Solidity storage layout}{1}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {1.2}The Weakness}{1}{}\protected@file@percent } -\@writefile{loa}{\contentsline {algocf}{\numberline {1}{\ignorespaces A completely unchecked array write}}{1}{}\protected@file@percent } -\citation{10.1145/3243734.3243780} -\citation{10.1145/3578527.3578538} -\citation{217464} -\citation{9678888} -\bibdata{exercise.bib} -\bibcite{9678888}{1} -\bibcite{217464}{2} -\bibcite{10.1145/3578527.3578538}{3} +\citation{securify} +\citation{teether} +\@writefile{loa}{\contentsline {algocf}{\numberline {1}{\ignorespaces A completely unchecked array write}}{2}{}\protected@file@percent } \@writefile{loa}{\contentsline {algocf}{\numberline {2}{\ignorespaces An incorrectly managed array length}}{2}{}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {2}Vulnerable contracts in literature}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3}Code properties and automatic detection}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4}Exploit sketch}{2}{}\protected@file@percent } -\bibcite{10.1145/3243734.3243780}{4} -\gdef \@abspage@last{3} +\citation{securify} +\citation{teether} +\citation{fuzzdrivegen} +\citation{smartian} +\citation{doughoyte} +\bibdata{exercise.bib} +\bibcite{smartian}{1} +\bibcite{doughoyte}{2} +\bibcite{teether}{3} +\bibcite{fuzzdrivegen}{4} +\@writefile{toc}{\contentsline {section}{\numberline {3}Code properties and automatic detection}{3}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4}Exploit sketch}{3}{}\protected@file@percent } +\bibcite{securify}{5} +\gdef \@abspage@last{4} diff --git a/SemSEpaper/exercises.bbl b/SemSEpaper/exercises.bbl index c94dfce..690cc6d 100644 --- a/SemSEpaper/exercises.bbl +++ b/SemSEpaper/exercises.bbl @@ -1,6 +1,6 @@ \begin{thebibliography}{1} -\bibitem{9678888} +\bibitem{smartian} Jaeseung Choi, Doyeon Kim, Soomin Kim, Gustavo Grieco, Alex Groce, and Sang~Kil Cha. \newblock Smartian: Enhancing smart contract fuzzing with static and dynamic @@ -8,14 +8,21 @@ Jaeseung Choi, Doyeon Kim, Soomin Kim, Gustavo Grieco, Alex Groce, and Sang~Kil \newblock In {\em 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)}, pages 227--239, 2021. -\bibitem{217464} +\bibitem{doughoyte} +doughoyte. +\newblock Merdetoken: It's some hot shit. +\newblock + \url{https://github.com/Arachnid/uscc/tree/master/submissions-2017/doughoyte} + [Accessed: Oct. 27th 2023]. + +\bibitem{teether} Johannes Krupp and Christian Rossow. \newblock {teEther}: Gnawing at ethereum to automatically exploit smart contracts. \newblock In {\em 27th USENIX Security Symposium (USENIX Security 18)}, pages 1317--1333, Baltimore, MD, August 2018. USENIX Association. -\bibitem{10.1145/3578527.3578538} +\bibitem{fuzzdrivegen} Siddhasagar Pani, Harshita~Vani Nallagonda, Vigneswaran, Raveendra~Kumar Medicherla, and Rajan M. \newblock Smartfuzzdrivergen: Smart contract fuzzing automation for golang. @@ -23,7 +30,7 @@ Siddhasagar Pani, Harshita~Vani Nallagonda, Vigneswaran, Raveendra~Kumar Conference}, ISEC '23, New York, NY, USA, 2023. Association for Computing Machinery. -\bibitem{10.1145/3243734.3243780} +\bibitem{securify} Petar Tsankov, Andrei Dan, Dana Drachsler-Cohen, Arthur Gervais, Florian B\"{u}nzli, and Martin Vechev. \newblock Securify: Practical security analysis of smart contracts. diff --git a/SemSEpaper/exercises.blg b/SemSEpaper/exercises.blg index 84fb2fc..e469b2a 100644 --- a/SemSEpaper/exercises.blg +++ b/SemSEpaper/exercises.blg @@ -5,44 +5,44 @@ Reallocating 'name_of_file' (item size: 1) to 6 items. The style file: plain.bst Reallocating 'name_of_file' (item size: 1) to 13 items. Database file #1: exercise.bib -You've used 4 entries, +You've used 5 entries, 2118 wiz_defined-function locations, - 525 strings with 5122 characters, -and the built_in function-call counts, 2044 in all, are: -= -- 206 -> -- 107 + 528 strings with 5241 characters, +and the built_in function-call counts, 2246 in all, are: += -- 224 +> -- 114 < -- 3 -+ -- 42 -- -- 38 -* -- 137 -:= -- 313 -add.period$ -- 15 -call.type$ -- 4 -change.case$ -- 31 ++ -- 45 +- -- 40 +* -- 142 +:= -- 346 +add.period$ -- 18 +call.type$ -- 5 +change.case$ -- 35 chr.to.int$ -- 0 -cite$ -- 4 -duplicate$ -- 91 -empty$ -- 144 -format.name$ -- 38 -if$ -- 458 +cite$ -- 5 +duplicate$ -- 98 +empty$ -- 166 +format.name$ -- 40 +if$ -- 502 int.to.chr$ -- 0 -int.to.str$ -- 4 +int.to.str$ -- 5 missing$ -- 4 -newline$ -- 23 -num.names$ -- 8 -pop$ -- 38 +newline$ -- 28 +num.names$ -- 10 +pop$ -- 49 preamble$ -- 1 -purify$ -- 27 +purify$ -- 30 quote$ -- 0 -skip$ -- 75 +skip$ -- 81 stack$ -- 0 -substring$ -- 102 -swap$ -- 40 +substring$ -- 107 +swap$ -- 41 text.length$ -- 3 text.prefix$ -- 0 top$ -- 0 -type$ -- 16 +type$ -- 20 warning$ -- 0 -while$ -- 14 -width$ -- 5 -write$ -- 53 +while$ -- 16 +width$ -- 6 +write$ -- 62 diff --git a/SemSEpaper/exercises.log b/SemSEpaper/exercises.log index d249b30..93014b7 100644 --- a/SemSEpaper/exercises.log +++ b/SemSEpaper/exercises.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.25 (MiKTeX 23.5) (preloaded format=pdflatex 2023.6.4) 23 OCT 2023 20:33 +This is pdfTeX, Version 3.141592653-2.6-1.40.25 (MiKTeX 23.5) (preloaded format=pdflatex 2023.6.4) 27 OCT 2023 11:03 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -515,46 +515,53 @@ Package: relsize 2013/03/29 ver 4.1 \c@algocf=\count297 \algocf@algoframe=\box70 \algocf@algobox=\box71 +) (d:\Users\Forest\AppData\Local\Programs\MiKTeX\tex/latex/float\float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count298 +\float@exts=\toks34 +\float@box=\box72 +\@float@everytoks=\toks35 +\@floatcapt=\box73 ) -\c@theorem=\count298 +\c@theorem=\count299 (d:\Users\Forest\AppData\Local\Programs\MiKTeX\tex/latex/l3backend\l3backend-pd ftex.def File: l3backend-pdftex.def 2023-04-19 L3 backend support: PDF output (pdfTeX) -\l__color_backend_stack_int=\count299 -\l__pdf_internal_box=\box72 +\l__color_backend_stack_int=\count300 +\l__pdf_internal_box=\box74 ) (exercises.aux) \openout1 = `exercises.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 69. -LaTeX Font Info: ... okay on input line 69. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 69. -LaTeX Font Info: ... okay on input line 69. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 69. -LaTeX Font Info: ... okay on input line 69. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 69. -LaTeX Font Info: ... okay on input line 69. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 69. -LaTeX Font Info: ... okay on input line 69. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 69. -LaTeX Font Info: ... okay on input line 69. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 69. -LaTeX Font Info: ... okay on input line 69. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 70. +LaTeX Font Info: ... okay on input line 70. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 70. +LaTeX Font Info: ... okay on input line 70. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 70. +LaTeX Font Info: ... okay on input line 70. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 70. +LaTeX Font Info: ... okay on input line 70. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 70. +LaTeX Font Info: ... okay on input line 70. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 70. +LaTeX Font Info: ... okay on input line 70. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 70. +LaTeX Font Info: ... okay on input line 70. (d:\Users\Forest\AppData\Local\Programs\MiKTeX\tex/context/base/mkii\supp-pdf.m kii [Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count300 +\scratchcounter=\count301 \scratchdimen=\dimen263 -\scratchbox=\box73 -\nofMPsegments=\count301 -\nofMParguments=\count302 -\everyMPshowfont=\toks34 -\MPscratchCnt=\count303 +\scratchbox=\box75 +\nofMPsegments=\count302 +\nofMParguments=\count303 +\everyMPshowfont=\toks36 +\MPscratchCnt=\count304 \MPscratchDim=\dimen264 -\MPnumerator=\count304 -\makeMPintoPDFobject=\count305 -\everyMPtoPDFconversion=\toks35 +\MPnumerator=\count305 +\makeMPintoPDFobject=\count306 +\everyMPtoPDFconversion=\toks37 ) (d:\Users\Forest\AppData\Local\Programs\MiKTeX\tex/latex/epstopdf-pkg\epstopdf- base.sty @@ -566,19 +573,19 @@ Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 cfg File: epstopdf-sys.cfg 2021/03/18 v2.0 Configuration of epstopdf for MiKTeX )) -\c@lstlisting=\count306 -LaTeX Font Info: Trying to load font information for U+lasy on input line 72 +\c@lstlisting=\count307 +LaTeX Font Info: Trying to load font information for U+lasy on input line 73 . (d:\Users\Forest\AppData\Local\Programs\MiKTeX\tex/latex/base\ulasy.fd File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions ) -LaTeX Font Info: Trying to load font information for U+msa on input line 72. +LaTeX Font Info: Trying to load font information for U+msa on input line 73. (d:\Users\Forest\AppData\Local\Programs\MiKTeX\tex/latex/amsfonts\umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Trying to load font information for U+msb on input line 72. +LaTeX Font Info: Trying to load font information for U+msb on input line 73. (d:\Users\Forest\AppData\Local\Programs\MiKTeX\tex/latex/amsfonts\umsb.fd @@ -587,41 +594,57 @@ File: umsb.fd 2013/01/14 v3.01 AMS symbols B (d:\Users\Forest\AppData\Local\Programs\MiKTeX\tex/latex/listings\lstlang1.sty File: lstlang1.sty 2023/02/27 1.9 listings language file ) -Overfull \hbox (15.0pt too wide) detected at line 112 -[][] - [] - - -Overfull \hbox (15.0pt too wide) detected at line 147 +Overfull \hbox (15.0pt too wide) detected at line 117 [][] [] [1 {C:/Users/Forest/AppData/Local/MiKTeX/fonts/map/pdftex/pdftex.map}] -(exercises.bbl [2]) [3] (exercises.aux) ) +Overfull \hbox (15.0pt too wide) detected at line 156 +[][] + [] + +[2] (exercises.bbl +! Undefined control sequence. +l.15 \url + {https://github.com/Arachnid/uscc/tree/master/submissions-2017/do... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + +Overfull \hbox (1.15688pt too wide) in paragraph at lines 12--17 +[]\OT1/cmr/m/n/10 doughoyte. Merdeto-ken: It's some hot shit. https://github. +com/Arachnid/uscc/tree/master/submissions- + [] + +[3]) [4] (exercises.aux) ) Here is how much of TeX's memory you used: - 16507 strings out of 476410 - 322636 string characters out of 5788642 - 1969845 words of memory out of 5000000 - 36589 multiletter control sequences out of 15000+600000 + 16580 strings out of 476410 + 323857 string characters out of 5788642 + 2009845 words of memory out of 5000000 + 36658 multiletter control sequences out of 15000+600000 521468 words of font info for 72 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 - 99i,9n,94p,442b,2016s stack positions out of 10000i,1000n,20000p,200000b,200000s - -Output written on exercises.pdf (3 pages, 137405 bytes). + 99i,9n,94p,510b,1991s stack positions out of 10000i,1000n,20000p,200000b,200000s + +Output written on exercises.pdf (4 pages, 150280 bytes). PDF statistics: - 60 PDF objects out of 1000 (max. 8388607) + 68 PDF objects out of 1000 (max. 8388607) 0 named destinations out of 1000 (max. 500000) 13 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/SemSEpaper/exercises.pdf b/SemSEpaper/exercises.pdf index fe78170af30b1ea0960f9f40329b2f3b95ed6987..cc74f1141b43e8c0e821a1a6a48ee24f1b7677ed 100644 GIT binary patch delta 53939 zcmZ^rV~j7(^5)03ZQD3w+jGXYZGA^)Y}+=@*tTuk_RRk7-T%$qWOv_mDo?7DO81-R zQ`PCNdZ@4z=r~ePW^UG0p<7@oz>ubl{iZld_l5dxGhVG!W9C$90N&sFPRY6pqIeKe zNvGX7KGtBa!(ha*ZT%j7S9WfZ^l)`t(6+MNs+tq^--W$vJOK|gmAkA50@pQqUGO3j zWZh`-PSqm=N<_OCuFyJbJ3pTQ=?k0P*2#(yuWd zxsLuW%je&PuIlXG-On;e;4LGaxE^n=8?#^e6Os8N>8qb!FV%&@0x%>aiTyL8<9M6h zrIGsH!WApH3gGo0eu+hP>hKv-@bs}OTg@O{*M&#c79BqJH=nTXg2khuFo*}`>h^`B z$Q~3CWMc%<031QbaC^S5oaP=g{OVXP&83zhb?Cyl~$&7mu^vqgbY$$=G`~&JU^MK!xs~*Cm zP~)RXl@A}{FMI+yoa71-&1X;cg?2DowPSexE>MXICC`)@Ew;MJfTcR*NMaqL{)lqvt%MaVK*%--Nlc_JXtWj4M zv8HI=buC@mDcSKmiabYuas;j`{g~t>FWe-IPebN|%C6l=H^T=9C<4#Vm0tKeWvN~= zhy50k+YhKcGYs!M02NP4tj5ERQbvUuDXpKYha(lE7a2wJDlN6&g)%uQZ*dz_`M8mW zU?-h5mEHxCou%pClL~G-Sc|gl44f60`bMNOW+IwTD6U}}zc(Dy!Vn;JU3r_}+?QO$ ziEU2rBPq)YDZ5VVZMqoj>lii;gnQG#tE5oNqbZd&@H*_p0r!aHTtt?@z&9rr?mHlblMqL1XdVmBC~5Dk8V9A!IPhofRaSCqztuFP@Ke5=ZZK?(O_t> zqis1qfFZ(xzew#x_LJ2Ggy)imKyG32@{}LfszQeD20piSpD&AOJo#2tx`JtURAYE? zz18w8_H0&`T$n{x5E}=OMRBVqk+J1Rja_eO{iB_KQ8o5kj)Ksty z8n!eL0GleZux!uYM z*wYfK}#|*~@Yw{?2Yvq+`Y$Fc28HO+?~$ zA2KqB1+dn$9Vsz!==H1Ri3Of10CQo+Z|)%i+oSept8<^X(5w3rn0Y$_jrADbJk? z06iL|6PfaaQ*o*7U4{e+bmM{@JbYGv7G?5;)N>R^6G)J*y{6pa9mmspB zTOAq}H}jrKW>Prty|tj`kmrb*(XG250F=2H=iVD3gjK+quT>2C?vX(I? zEawDbcjW3TfQS#8ThSuYM0LK)UQ2n>cwmA$<_sdz{=i*KHTj(-UF3Mc$}Ni3l>v>v z82N)GEEfW<{QQMI`3o^a`6su8Y`v_uTT7-Qp7Dr|`fSw0)oyc$eY~x`t>gU)5J5uY z5R7VOzz&b^L9oughc;4~3xLl;33VVV8d>yYQ;$V>Z%Z<%$lj>DX(QL~tOhxgP-Kml z1{tGM^qmY?dZBIjbBed{$Q|)s^)%gW5}1M)Rv*7E&}fHi%gDwnEyEg|-UwFB-dA^P zcsm;_=2FAQ@4K#oeEutJmpHEgFbES(r0X~^i8!NYL0Y4M$nNr5KF%N%txR}gpsSvN zYTPEf`n+1ALLlpRy<1ACAkuMjzhDSKZw2JSEDzpGe1pil5iQqOJugjoEr!BC5od)e zkey++C$kal%$?3_`II~7S_%yl6Q~AhOLXstk{rVzjjP3fk4VeLp3Nl=2)T0`o++;` z?kC*R4sDoyEUXtYS?3IsMcr8Qjzr0gm1UH_DQsd*oJhzA^!K$^R~mUO^{PqNHGxc( zRH~HkgCLTMN>GQhlv&BfCx}N{G5l_}VN#j?YIU0a(r{Vk{6uX}fG$E}#)(Pcof32T{UmxZN(e*Dg;)S|EADd*m&iQUkxy!6Q^4-M4>Lg;j~Z zq@RD09-|)80cxrwH|HwU7ijP-DP7J~A~#;F-)q2rErOt0X2A^va7=c4u)^TVoPGPs z`8nWx<-bC|pL4UZWo9?Sv8gNa$`~uJQB93q7bs^p9x|q%lD6r9~{!(&6`b*HM?L_$i;KDN@{$tehBsmmK;1 zGz0mwDsZ5nKmg!7iBSPzTcc3A&-WbHI$4JurmFqnJnuM_PykSVwZSY_o6wXTD<2?6fVuL3 zC0V?!rmNERIR(1c{+SqJuK>Un6s@X~j+gZpiW&zO5rNi8CJxYECtGwCQxAgZ22K!8 z6@RQTGlxExKh!yF8=a`9C@61n**}Mu(ykS4R&LBn@}}pGTS^$Y}FfnFzlWLU$Zv$*bbYi3v&c(KfNk(A+JBqL{o2l9r z$#Mq$QE5lU9YwOmhOz|bl3lw-2!`8YBKk`@#jWO%6iYcS0W!U!Ft+LXl~uvk4Ts^WU#>q>!yRFb zun%AgOw&d)hO_Bb)w{eHdA9N7U!M6}_(uYW0SH|gCxw$Io>8<$w3!6+^6)N6o}eJY z6pJnpCI~c~Ps(hq{fgf-tgy%qHDsUWx;a;#tKbxF+DG}qHX|T2thYMh^;|&ro z_2T`L$m1q=BbhG;T?a(-$Uw`p6%hI0Jp$-PKH3WV=k)A~=&*{B3uXE&XzzKwt%t^& z@2dl37m4%3} zQ)I-kwUEqA`^HX$Foi6G#L7r;&Pa7keF~32n61IcN=(+8$HvnlKmDLG;m6JEuJVR5@e8a^|3Or+OQ#lORUR--%!CfGs+D*k|= zTtKcosNZ9%U9|UDIPD#oHLW|8e3$6vo>Uw^Wj%bp1yjaA8}|NA^L=|wlLZh2OO3?w zKD8%nb?imA-l)23O)SkohKA^>)H21$)YOm`~YypDOFnyf?kIo?{e88ffbAyP-;Xzdxy z8m?0Xdr6jIamZ9So$5{hI8(^uOzBwBbUp&v zWDh#x+}l#>?H-Z=H_g6w?N+Rnu9HO;Ir8?Xg+-c4WUTD=u`$ux*q;PDrX7>nM?zXS zWQI=GS$Tu@c<FS9CmRyl|=_ic1Qw&xH_>n%x@N+uc;4DpPks-_x^}F@rLG^ zezhN@Bh@-|F^ENs@&IscusIX@liM#&{@YQlUL5&DV{9fz62hBE#J{81k0g?m)?7gZ z-FE?`Y`xT9BxPEWS@WDbuf3qbZ1gGwBS+t+=Lb=CwGxV7S+eR-Cd0QaUjTA z@yU5mi55%Q^PInKxn#527z3Nx<5^#>afzu~!Ag+xpmabMpaA+jgciJ%7rxMIJO|vG zH?YT`(Fb&1$Yg1bSz@8y2cXeMc%I0MW%XI4h%Ymc!n>ACF*aLjhhoP+5EQc*W2@K$ z)So1)#Kv5IVsoSGS&vuI*?C`d4~X#AfNQt!=D9T&B0IT)bL^>;-dHVEXT|F3A-bG6 z{NNtkDVuZgg#cQ5zLZ-&lv`OyM0GH>$e-x}c`j^(1035ca8=a>GnG)LXL-Cu2POy5 zssUrvpfzB>4I*GRM>|5ivjT+74CpIerc52)vmKTOpik7I zj6FUNvk-^YyD-vb0UfO>IvOj#z{|~&@zQp)1Q)(tDfMl|@3u9GF}I4(!pI`0LxFwkM-Uf?>hE`( zFKWH9EK9Cam4=QY4A`$f!-X%F?Ikwz@u&xo9|63R`esFV^UYqoYo>u_mwqztgpHf* z+TUQew{0wh^=+0}MG!hO8Q*Pd65!Kabei~@F5S24r?T3Ai6|n64m}t(YOzQ1+uL>K zJR4R$3Iz;zBU&|V!~l}+jT&g3*7z3;GHS-IoP#Rgl5Oa1+ih!hv%5CmofcYFSWnJ9 z1vsydeHUvyFwg8{e4j*a8Wyy_gG}4;UzTNuaIiCC%e^z$k{$))9*! zhaOpcXqmXezH!?9WhEY-mM>ZpUw%{ONP2+;CA@gQ;A$v32E-#X+GG=Lad2XpCE$tfxt1z zszN)z2pE5lT*4MumoV7WW<38fPqCV<+|Jl>9cV1c1g5PCUhpk7rSDp6{-UD}!d$3M zI}G^>P%QrATRleUUbE!(ay2F+0Oa;+ER8&0 zeYOCoroHj_X4KVeS0?YYlOzOu#P88v4&usJvIS^qIi9mamP}YVPp=@`A2)ZrXw2G; z+)RMEIHHe1=U_=pX%k*tP%x%64swdDe{rtH=YYAEQz`!!;{SV!bvYuy*lCcIM!5|y)J#kG#5 zv)kS>om*hr_Cjzg7B0n*{#ce0DV6-fj&DXcMI zKfW`My1gEvxgstT(4Of zf{k78h+bPSdDYS%2_oEY6f6PYUA6lIO!UTshukT$aY_%Z;l54YRo!m$uxxPKUoVTH zqq2y4S6@fUkKQq^l|=grLK!Tyu0oWtWT=crK=z{$Lzeq1Aq`*Zt(kNT0UtW&sh4?v zuVZ*85JwTVjd7@Hb#17L%i~hwM+~-BGDHmJqU}%X0>NG}uTXZVW(FRh8yGTyFlN@n ziafY4cD-HdZwky{FP^5!_%h-+qhr&7RGqY9f~6=`tGu`CBwK@6ah1*BVIxqCR-C0# z(kM}W;WtEyK}ZYzY0N=AVLoXI)Sc@Fh`YlyqYlC1$v%o*E6()R^F!%7Xz`VZzF z?EN8X0jnwNOddFGenPn!|KNm=a!{;4DH8PRCd6fZRl_c;_^Jgr7rDOdzCy{4T@rp6 zs@=mF?3&(P=3DJeBP17sGz4m-%Bg(*%PNA|Zf8*hH*Ccy9}h9$N;D*BnT`mJJs1i- z4el2eOQw|-M{k&xIF?F-G7)?Y%xvQxZ~*jQYmQMERM5%!b25!a#(ZthHzyD}xPf&5 z-)obQ5|j_mL#~pf!3@@GR%@$9bTblMUIb=cW`0$9+30?rBbCYZbrmjKH1*dhPwZv` zwTMI@=;2RDpTRL8NGQ#_C(!@mD@g(IBQwFbA8tIe;1@5fDa|Z0{T}cTtOo<3@ufl+ zEBD9V;t()c$~%K2#{qg#N zbS`WP42@pl)hR_1y`hB+*(bG_sVp?sLJoD$+b&U)TWB$pzoeFA4A3K2w`{5!LY$Dx z6&^9VSbood(dvcv^hOaA5c9H;Ul+d%45Q39By@;(LdYCs=zfYF94q`)tffobh_Y`< z_k%U7)6tdAW*^9GR#v;QqWjo%tcSpQ*%`ifd#xaE!xN|t^EX@tnw`dLPKJhzSsd#T z!}OBN6;lxg0#&7zNXY1Z!oND5&Z&hxp@kYvWD~6b3ih}hNnLAm*$7rb8U(bP> zA;QsJaMfC8aRapj85En8a)NxtadA>o5A!>Ou!+}}AxpAh6Zx7yuCDj|p09+>?_wf< zgImSd8!J1$hvx4FfM3?Wcw-B8CBW_M$z(v7z6`f;eG(hs_#NXDOlDyf0nE7RUFec) zY3eEfbyA{U2E|j)cNpH&2F#d9HGqf{ya~r_aSC<7&#%_s-?I9$7l@^UJsuv3_xPgO zuAXJOsrVji9+T52Pz0iQevrpwAJbt(DHp%AsQW2qSUpWkUEwkd4Y!K@WYSE3Waf$JM=3=BH}CiN_n$@~?Dx3C!as9;e6>82w@}__ z5!8^(Pgt@uPO}|$+!LtMr2+D>Q1tZUev$_+1BV;mjvi{C_$mw?$!BcHbjG%NO6N|F z-co17)~@n}P)-G_`m&SWuoPq=S!73qQd$#Wdc3@g(vn{Hb(6G{6#c)b5ia*NJTv_O zI*zAc8i*hY5oE1%20tP{efVP;5QwuqaG}y*)2!w zTnT4p)XR{d*dra*?57#4?hVzQ`P+}~ed@Gw?a@p+pEsi;qa6_@vL85IS;P15KX*^* zGCv~8)7V}!VzH*p`UFxu2ohAJ07{bpBLp}WG@W+`y0$Gns#dA3&!nXn>nebXYBGfW zW$Vz7?(VS>fEp{4Jw^ly?|YtSL@S0O&FC>)qCHDV&}whcGYMQBpF7ul8RIpoLTy%g zO+FTv0GaN${@c_0ZQ%*f(+ZH$ zk|(FV50P^CXjmhuc85@imMwb&JS*W0F5#NRACmJ*aWKPficFG#_6=F;d?OF2Of0^@ zIHAeD7pdh^C}ELH1k6rRG8aZVvbXnHi|d3hzYd_l@)Q0Zf(sbRJ&)mRzbv}m6lQ8w zldmpAK_l;*u^^~mP4FgHx^)Mb&Sfy&hRyG)M;&b1XV-HIQPwGt z6M=vxGx#2dCzoE1I-4M2Uprf;J+I5Q@yIJ{!Jt-lgPT)iW;yzxm~H4oeqNk7~ZP!GQ|>y^ai4jQcljV{-E-F9o}DW0f52eFOw6g zaP0o+*{0%Xf&JUuYrztMvHa7a{g=xJVc}@B!{h}9?C*80_%cxa;qJ3p4EvgBvoT}fR zQ~EIgpiGb%Gl&_B@mjN$im71=-k9rg3WG{%;)C-FquikEp)7hn21|K$e}ydsSoF@= zN=Lv%M|e@1GKdl5x~VSmQq8`ThchwYsl5)2Qd*$Cf>j%CmRUHApIgX5OHl8;2L-1b z!r9$&)@+1PqLYvJs6NJiK2!)ZT$+$uC}Vp8f>kVPqftr!`}=}oeev8(YByO7n3O%hq~bhi z>HkH)|9~7zVl)gf8q5F1eJuZP?)yh>!;t>pH~Wl}1kBkOiF*MI{V(487Zz$a#^c`s zCpr+~0dprt6Uu_HGBs`xh5@s%{)_znox#q*&A?9d|5rqbad1FftK4Co=>4 ze`VIjEs_8b5LUKC1M*v7_C_U&1z=!~Mslh*;D2f%q=BUY=1Mhq07g#~RGmlpH=e@$ zms(l58_9lS@PM!}{U-;b(L4?snDgI^`hO&{{iodjP8*nsm^qob|1*1FA>!ub;!2(6 z07eI6;`%3wxA^B_MGLrU(iH|rluKAq@M75DEdKmfHVt<#kjNAht4rzp)>ar>g0eJ> zWT*>iexA$2-beQd-pt!iQ@8z;7VAut_s+-qi&w~9c?v`5U-U(gDj-*3r&|Z7NFbA? zrDV@m;LS~+tj*2N)~F~iq$1E)eJ34pP$oR!fM4OChQzRtfS|Y+7H*{bZAJWZFhxg4 zpxawu4=^#0VA0k#;Lgp>nIBWAKaoI(f;C9A{=X;%!Oy|OcUi`T4GA2=qUrDXXL<;L z1!XXRW*$z2F9B_!MfiOVVdSIGc?iPmf%rG9T7h^#?TRu`SZ8MkrPu> z(Wr-EyTSdo05XkLU^}EDdO^r2paI=JHUAxYP&UDsU4YiXpefktnlKW8)+K*gk`oCJ zt`(C@kgiWY%o`Jvl9mb2As0WdvI=50I3W9*L+xY3AOCh{56FYd^Bez~@Mb4~NFKl) zL`R<=!xWbYIXDJk0PhF{%7(tk6@M-11~fW$-aW1@mH@ZEt}g*1Zi{^@%X_SfkHBHIMN{Ku2;_aHMMBKE=< zg@bAM+Y-sQ{)GE6LTLX)-<%+Zwt_~r-kgnq?tXv0y(EtD4OHdHBM|&B|5y*|G*np4 z-%H#4{Qa~qj)Ggn-yP~3f!*Cj--Wn!cz^{31YZ;SeDlO$K;0|g172x(G(~`Wg1%~A zzVp6+H(m&k0ev?T)A|1(lmK^?GGGCHA}&O?fw$7%^mu&dzI~@o{18q7B;I;hz5uk! z4vr45GKilWyFZ1H+`@Rg-}SAfHL&-7@Qe8`6T6Q+B_X>#?&|n9;Es-;`qeBbE+#6vfJ&jS*TRD4@PQBE-#)y&Y0uf6SS$ z46T5zA0tlx$OY(#PIutVmrKyPkbXx10P(#I$shJn`;pTNVYlIv6XiAfy5&aTeFxoH z^9$G$NM~1oh|quHctDfKPVqhB*e;$p^tRB8FGo3C^p`LVmph{bJwHW2fHD{c{^R!)@>w4K0ILcF5 zZO(5D%kJj!WlG<56_*o`n+*men5WT+&?2fh*gcSpzl=D^QxKGfH zoiyQuHsgkRQz!(4XA3tUhcCzT?(i{Mgc-mVv6SC#239*%zFn@kSVa4xK$}Aa)v$%l zmlj8`<9H{p5LXa5C+Zs0t}s+kkBgIb^$EH?dE9N>N8j*2McFFVEa#WePcDs#;@;bs zq|)9ob=IuGlsps-s%#UC%?zGp7%T%qIdB= z-5>T$30T>u8fG}xL^wo{#60ShYv0NCcqQxTSF1oXYSelIu35eV_ycq6swZHY#liQt)=Q& z(83VbSX&An9_5@&5m@~a1jT&bMlF=Rs4wgD2#q$-_d_J87^M5yVhm3~lLMgpNmyRz z;hKc@?oI7? ziPQ%2iTSn=r5B?^s-hHV^9JxwX~Bcd@MIi}hz|nLZwwo?i-toZpvl8gxpNb9S06MT z`4|%kn!Y{s2aI1TSVl`8k`d7v_+6m}hhxlN3U z!MxM94pPdt)ULQ9_vuWZK4FF}cn2NJ3nl+_$^T;8Atr`28s|>f;aDQ)elIxJVdDmKV)ffo1hsX` z1PXOJEb#z*#+-XOI3(Ea{C7JHed%w2;4-M)liwKNs<(8FdcDNUujj+2MHRju3w7J& z0j-Rf8|d4^5NixXe8~=TLLLJTL&CgO&s>zGGH2y|Yr_7&2NoazO0?gfAYCMZn!w1< zPcrKB<|!4-Rj>;MHaVoR^?IUe$lm)Kprf!&lqrBMFEYXDE{woTUZwHWsey`MS>lA< zx$;J?JI;>fDR?7+E7jUUO03IFJo!|tsTh20S*V4aT4xu?BfEr+phbwU96Ft%^Jt4Z zk7$TEUSijA_{f}bwX}zZS!-OYreQeUk9h4p^b(Hlk;jroRQFx6<%g$${p5+puXj`E zF(5!fTl9-poBl`s$1l4x)Jl@pT1(d6DaclxP%cCI4Yox>>QUYrKQ_L5=xN{R%?$5& z!bM@mL%?YioL+tR;~CjDj*Lk;0=oFhQo2X{p^!XXO1Q_2b!w62dOOad@aXCrlej=7 zxyg`>5laMZOXqoY6{(A7qIX*TCM6<=f*s&#Y9b{{pCpS5Z(>od=Cu?}<74$)iF2I+ z%IL{y(nYMIP!9$78L6LAS{IjSVS!E#w7b3Fiih7bj6+;M->R+AG$hiS&hhI_3-K3) z-l(+P{G;dXeBmtM89NFrkys9phNF6^f00X`H}w&r5KK}TU!i|lyq|_S^Ojv4zydI3 z&mfwGtC0r~guvC`zaVPSEv&*GvDXLtt0}z2UJoK#boVasw|Y&guVpm&sVZkz-*NDN zzq3q67k!7n>j4w;So^xSR{A5FYtB6w-Jj!m2`OH97f9@;@|^M4TLjvB`l<%CzD&VY zjD-k@8ciWOCPTTsBZN2-u1^g1oB_IAS5qA#^}Xt8n@b*9D%vr(wvt<;2S)%R0YSt; z`~!iH)OFhndh*&MAk%!01ok39_eniQAc;RDR~~J4d(-k6>;s!-pG|I> za`XswubHO?f=wLV{JM2?lSUtrNvEEvbmPvq2#JBnOdy;;zYa;B3pAY4NB}S~DBq+_ zO+%NhEMSoqn_8$F4wh)HU2LU`M}gjVbPVG;wA~5i(z}OyCwKFa@8z{z!0dPvR*dj^ z$(lYVfOuQB!7COM2?}BXOZ^M|k4G_uQY{sEI;Wd%i&*wUrhtWIVi3@3$N7@ z;+z^iEiczN$RyF-ao7m(dw@dRXO4VO)$}4;8zoN;NIEN37IHo*)vWoG_zJ|ML$4T` zbP!W>yaW_=eAX zTrSgLt#sG9(F|q0-`QzV_JM!upH?=c`@v2c#v$a0#6y`!Dof*&{;qk`=(bAJEjnB+ zta{l$s#)BK9IPe7U(*`iPQMw#-heU46&b_)9B-z z?X^JDU9BzNbOm^7QSmwEtZ8duqV$OS7I6g~XoymowkKocj@z&-=UGB;>detp>DdpA zRMb0&ID;YaJjZXxoD$F|vj0ry6ZmGEDm0+>(rlGS2<@9dl6oGO8O zKt<#TCiaVBo=n6IBuy{F@Ls)WoPhAy5&4iqC=GIVn2^%5w1o`Fdi2#fMaG{;z|_i~ zE9_ERfDK^&La~8aO`z|qSX}KArIDn?LYri^opI)~#4;xpH8q_FI_#L0#421Fb{-Y@ zhVWhWi5(L9W<)IXF21U??)-eHP0{|lBZTTpJcAMZSi{GX$ENLx?Z^?exXS2`^am_@ zF6;dC+SFdjpJut6$guSBe$6De?M=KR8w!(vh8r+m*^c$oq5WkfzAPg|b5JV*&!Sxk z?d)g-+L5Uh568sT0rNAxjo-px0)<=T0G}T zz77yx%kxSy`fu1?qo>Nn94Z%NOLM*%_#uL<%#(@}^8oD9-JqX^xt( z*V{XFYWMRf&LKDW^ES=dXc&XY|J-e5ti0ow1n4JJMZ4kfHUDr;9qOhj#1162VMcam z_`^gl;I7_z5CuC#v06CG3;U0Is<&5fssRXAw9NjBn3)Fp1?5%1s_z?KC-0-L_`0+@ zw= z9pVTM85n{1>`b`IQgCQB$xJzVV1KkMl;s?qss24({e}AEYtZ>bACO! z^84@o8l0xEN_;&k&pDqN*T8E?hk>Mz48MFu1$q2~|B4H^o;q0qXpvF^6{P))B|QDI zT!dP-?^Wg)?6V`=}@{jWf1 zwu2*qE*ZzwSd9jDHMSNH2bcnM23dO(AO`&B%=3qMRqoQBTwZPsfrOzvfcwch@|=s2 zyG$?&d3uI(8xxfr>s%{&uVw_2CFfZo%J2PZILpdpms1aYYbohY$H;=;E^eP_QMyb$ z69I?e-{Vigm5kHEbZpdyd&7Y52#)~5$O z`@(m|`0yf`(o6-ol=g3LRS<=V{YLH9#Qv4zBHi zA#)n!Kv?X%6F5qZp7&=eEEWx1@B?{<58FL3N`)YY)8392vH8d+;hX*Fj9FA!n!P{Rv*E`Z? z&VKaDwynJAPrtb5td9YRWN=rLZ)hq7@c<^N*1$Epo|bvrru}cFH8s6X#)1IcNzLTX?~yxQmvKD+{R1VNB$G+u6bc_;O-jJ0TfW90Kie6k+bU@-TrkW>nGI}5vvAw}hsL$Wn3ZtWT zTbw@s(SE*{*J}Yx_J(tdV6OZrF)5TYHFZ)aZLX9W!rZGjJ{}7#N=KMR7t~7}ieZCi z`kiv_M&gb?l%+wm2YB6dOL-d z+=ig!#-wuL7X!O$m1F5EmMs=;2}qXoU}KjYO5r;12+~(=SBgwE-3YeG zR3(M?$*hm_Fv2=kFq$3>L?`zE^c)-K$UQPdorW^yI4eHg*fdwHqVeWYE$4>Py$siO z7;ksk{KKJX(?`5Qa+fP^EY27G3B(C~I~+#YYU`?#pZ;-Y({Q1^lq|!2NAQ6_6YOdik$WWk?foK8Cn z)Vt?CdLNCf%8M9d-=BWbriQy4aScO+x}8+?$lN ze3gC#wKd$k6(0w&Vh11;hW)oSKk4NziZbVDu6}-qN)ZCT#39LTYDE|6%~SZF(}={_ zUeZi1L>~Vj*MVnpjfe0Xx}>M(eNnMKPCE4K8D(zbFSTa)Kq6Nh#jZ-#lT;%yQwoL* zBDTg&9j=V`3duOmUpx?a<7NkJVQ(I6^&o#m@B`*V)3y06NUJI&t(s?aU)T(Aye>6u zupXT)kVxi3Emz0g!g30Vn)Ez7Z1aeG>|PY<1EdCTO+DPLweSqK zN~-Ggrld(&F4-$+)F8SS(RY&Wx@$th9Q1&(8{yyO?^v3<4^bwDi(&xa2dhhXYz=b) zuG%CzNPw=6nN)Ig308uat&MI>I}rWWQ%Lo$s|D!*18E3`2=Zk2s|XJ{TIj#Nl!T4t zZA%JyGd70CUOZ7-p_zzWE=~a`VpRjFTnEKFAD-abtIc+Ve?4fOVOo9IR+eeFG7(Ie zf1WtRv^#1IAw8m9hjRf$g7K>6S}1?f@FXj`b-;Z^g6Q)`tr*_KB!s%q0L2qOZdRja zd|sH#mV7Ny=fQ4~^9-{SA_l+pR`Fg$n!ICICE-^J$FNVjWX(ZEQqfqCGJ*TDOGCVA zTL?_+Vjk~0y(X4Yzxp7>chW7_ebN7H<}a&HBxu^}wC+gSm1f2TO|9Skz`r&Uh1 z&@8`2%QRaDZmR_FKFYHssinb?rJ+b+X)vh6jQB*h`1VSAVz*`KkCYSM6VaJ3ibpRj zuR--tiQRW!F#NFeic=hDY1t{;D}m%VjAn%|$=aty<#>`l{GU37o+Resv+zQd}=Q25Q{rV<`0gYnk5YSA!R5a&vc zw}{4KOA8_y>p(nH*`waBc*>(n5TtxOvujUnV4OH>NkjM^y79Xv)!U^D2OiS&zlo!HoGWBHAIk%i11UvbE4E zWQO_WjI!OC?t*aXvMTpk8Vau+7VLcEydf+Fwn0mBcF-?Q8a_8|;NUi8O=%$;A6C9=`)fB2;$l*Y zS_R;M-AG{L->*nu2-UcY&Fhplu_v%5=c^_}b3Leh5-T}~%SL^G)NFvoyexi3SP!Sr z6~Kup>8h$!uInfhF8kW0I2JStoz-8ai;(^mNdAr<HkAy|8|s@X z&gOZ_Q&lPcbeL)96bfjQ%mGo1>Pu++RhLyLeerZU^+C zsK5)fk5}u)@XNGaW#;CNNs3p-$8#esPLhTXv*m3O-neWf7Zbq?W3^fJ5j z15s-KIKskU7aoX6Pn2omWOVMRM0*#ju}f^>7yY}T9A)b z(D?fBXy57%i5IRWdn{&xEem*?@B;pbp)6Z&q~h@(vn}3`T0}#DWN>u?kn`(Hn|jV% zWTrnSIf_;{=F1(Xw5>vxKCr8Om>R^dyk3Lj$VgRh;_y*V)KV9kOT*`#7W3Fr?x8lO za(&o)xNB^(W+KYXMpC?=BP_|`ENZ%w*e%U~FmaC#Sr*6O5+~Zv>Y)Z#$^pea>&~Bj zMYk-!#g_Gma#w?^MZZ+P>gC2lh=rM4Up29Ht%tTeT1~@@#*Nksi6hwOlO|F#HBhlP z+*l%vxtnVc8#d%}Yw&nAlP+nJRG29YPX8=R^N@D7bnj2E^CxEd^4feo%yyFE%*Jp> zKplvtDKPKBj$~-Zc2&zX;Q~;+`e@)9wFGwveRVk!M$8gD`=qeM=*~XJ6TU+TGjb`< zu%72$>Kk=9yx)d%s%x;q(*eNs&>b~FORrLQ+>a5wgR!QUM3oEY1Lxx;Lgf%R8MVQWGE;%2_uVlwL%NVUvwpi(*(D^%Ubs1CsHwWWt^@da~ z$Qgd~FAY+}iWWUayib#Upn`VsO7iRYZuwtC04^*b{DqZ!SuP4h3S;%HWYNi2G-PAW z$iqmM@Ys{b4TNTgT0=k!VxnKYoTDj;%!jN=uo!!B{P%U6^mOU}0%|~&zm_F%!Q0lT z^QtDaXbsElFk%CTU({GP;VZ-R?EVWL8WsUu@6DhxgPmYe)FzEI>Ywp@(S>!hh#k2%wUmn)~#Vri|MnS4Vs96n`DUq=Pqn6)48Anv}f_Vp*1a;;s<_t0OoY*=kzfGSX7A=Nk7GbyhbUe$}oIe<0*D zR_nEj{V8eun7L#-e~(O)6I?gCH^$od_SFT@2N@T3$)yk@ossaVrcdKCBCIdW&C1YiMVBO!S~pj1MOgbipqAK>p{naE`6nxj~D_zC%jVIU(_*eXcv_@wYLa zLVbP@Djsiye+DX-`<(a>U`VoWNko0z9U-c;NRi3gFG%Vu<0=0r;uYNqFF%{*^YZV|`<+8)nw>DVOMmx+|4_EDs`d1y* zjgwYgF{+m0#?4+Ff_vV7*z#!YRyEB%iILzdD!edYJIUCmJm>QTWYtXo2MJ9meqc4k zfBX$sG#axO>XNYR)^E+aVQlzdleE)y)_2SX3DEU5SGQl$>DVN7ub#ZKYJH<1<{5FV z$9h&4v{uzXGPEal$?}uBlHk-mf+4|P$&{8IZYWdgN4gv}0cT zWXq9idx+h6;~F+g_Mju`IfR=02%pS)f9_+eojY@~SToM#j;h1yFzs^Bg*YH=mQM~{ z{b3=65k>L|fQ!0UQE-*=s&JqNW1T-m{YNh-?BZLw;_Di%kFs*2<0KTR1mm)zOG<1P zosp){Dw+pN54v|LY5n=sDSW;ymoUR8GtxT(doPR0II*e9Cve-*Mv{R%tVd35e=_zu zZtodZh-hhGWDg1|Wd;}Tl*%Wi2h<##EU(|~CWsLFhMxM{yLFkTF9GT0=U<}8D>bu_ zJfmU3{Al0Qki0KD$r{#FlMAda)Zlow4<{Z@NoD$>oQyaBYPV6Et|?HSVxXOhwymmC zI1Tl)+m(#Z*REL^k-=&&IBP`#f5dh|bugFPCpCOZc1+*{$CbzvybqF8KWXCf6PPsi zWJgL}dX*~m1uv~JYqUw{oCWa_CT^Jp1aGT;yw|RV%9k(SGK`p;v~P=88tG4n&krw! zS#W@}eCi(SNfX(0W!1cG>@G4PdAVQpiEO0It6Sd|=J;cN4W7VtH5}_ie?pl9{wlj& za2J*pjx#{tAobPPV|=q!!hnJ&uU-kB-90+^XoC!;7VIL4MWSB@P5+eqgB$xW4dwYK zk!62Jsx15C3`=SgLTy~joo1)D&t5D^f0#+(QssB|43Ulkg9qooj1**sNM!jR_5e z;WY88@|}?#sh?B@fBKz;y-!%5t8yaB8n0w=fGoZuq6s?; z?O;3^EA16F*%8QiM!RzS_?1;}_2}OIqVKahqn>AN-R}@ESO8T*3$%H^d#a=$0T&<)x?bEolbG97w{x=96Roc)<=a1RC?%^9K@Z~dgtn9e=uv4NUDY;sZs=~WA5eg4A3TrFq+k|Evd6zw{DGr8wZ)5W_|WHQ-C!T zb)0mopf5C-nu1T_hxu`e`kF_d1rX?@QM>_Pz+(wt9|P) z*D-3fL0!usfxyu5fI>E_Qfa%R)=n+pWiWY~b;2d-o-l4$m`T2(va7$&)y201LeRO( zqw&Dj5fWc#te8zo_LWCrhV5O!Bnh!;M7qt}`h*=l<^~rUE>Za@`7=;itC& zlv&C0H8$9`w7v~Vb^aqCY`QlvVVq%)Z$p8@0#T`^`7Xr1^6lYylEPfQUiU~Cp4KwwEjS6` zRDidBiO|=SKKehB@jucEWo~41baG{3ZI_@n0Tq{P^8pHzKvWh6LrY9SMM#qlx{n28 zZ*6U1lbpIHDswM%FLf_=FLy6^DGDz}Z*Fu(X>4U6G%+ABAW{lGJ_==SWN%_>3N$m8 z&H)q>H8(K|FHB`_XLM*XATlvIG&7gbHUSg`GBY$WGMABP0VjWqw*z#Y3AiqtG`6iB z+qUh-=8kP!4H`98V>N7y#%joSy=!qEbL4yENt+UlvjWvhv3F&1bg>koWdL|uyIFq$-U3~LE*?O0z^{S9)_>{#@%}|*?eLegiJ6(By_1Q9x3z;Mz{1)N2vC+%U~=qnEx^~ zv2%3<`I~=um{{AHn1T%c%G?AXC8`QA0TuX9d9G$I)=qA&Os>{;ze;5OMFZ-xq=UJ* zqrE-Q!Oa!^SAG)KEgwPf6& z5B`7urBN}l{wIw;d}SRh909z4XA5f6|77g(&jQf=a~!mQ|8glgg0>b2p!vPz`YfC* zW}siJ|Ie%bm&^a(hW}#uzb*OyPDsk#&h9TY&0qTekJ`lE+RpnQ1JKgCyMYcs(Ghe8 z4*%O!3;6fZDgw=|-R=LkR@Th~bO@pjmUe&tw$a*E%GwKPu43(GX7%^B{4Lk`b!B$e z4nP%0SLH2+HnIxRC>(4)f@w32_RfS}9yZ%9c8Ge`4ZC&tFf1u$`OG4X~6 z4H<+u0luuDTQmoH{k6mZW+n$mH;@YeRGvS;!qEl(*F?EE0nDPmM1LbL0JGR{#0`I7 z7XOWS0L&7<5ifvQ@?XTw0$`Tf8{7+m~Hc&>Obuw|a`aRTNKF;o- zBm7MR>ZZkS2r{tv1O8H4{|>_b3wr#H%KA(2n~d|9xud(wAM79l%ReBf*57~GaDc{R zp#-}j+_IOwG-&k=lFYw9H2%x*}4BQzhAv`{ui=? zI^*o_=ms=5wfip_JMTZ5|B8QESwS9ubea{^xZmuYzYx&lkIr&}%w0imoPQGn^~2Tf z&*flc1*QEv0O(Q9>}KTx{A0&JJ#h1M{KEmn;r<5%jl<&)2uj@Zk5vMBd;I}H^xl6! zP`7=4CkJBk0lNGh>OYS|Gj|tIyWReJVS$$WfAC*lKY&0lpc(w)oTGmkf0#{uSjSzh zD1j&A?u6iX%3ZB=T1MYRmrnNwWSA7%n(UBummATPkzUl5ZAqG+B1zZD&cejXr#BV<$;+4FmL_R|cug=huulB4|S?9PL%Qh;&i z*)Q$&d7xr>EMjg~b+3PhOCI5=Vwy2dBUV4SbcQnDG-no<4BCy62$l~0+zVyq=goKY zyl<~0a*6ct{>O3b#lE^5Z13-9eO5oIv$=NTQQ+y~5<&b#ADg1`6+1|k!~m+3LuP{U=V*}C%LY?8PmvxOc|@D z-6#gbt&ZImNObVULTt6;MzhDlCXH~3clz@yUL{qC$M>_o+l`iZ~@FrQuLm~HgjO)0Z&YD3NtAn&C?suhE?f*z6m!T*_wCMCk3{Q-c-!3b z7BZb`R%x^+a2BeP?i|N3jvq7z4~vC{_w(MEA8g%JR*HWaVjVha-k(=_Mv0BQ-&E%g z%YXOfZBSmft8#|4Xv~|E+wIvtI8*WybukZ8`{sBQEp@?%?eXrCCr^e7SqVz&;zh*) z`9pz7zeR%uiQ+!I+8`0^cR!nh*y=l#?`Xgfvr$*yQ)cfiLy#MFjx=jtyx@xwsHxu- zko#@1i<6UQ=uqH^l&HHBh&%-6Z(T$?SQ9FYf-_!hxxSN-}m z%%1|`m4f=+I^Y!R62eg$Kj0?!p14x-roE)|RULnZDhV>9@pi0hDCa)plFm=TE3kp# z)am7BqFrwn2hx(pT7+wdz?vPP#lV7X3(Qhu4%f%0UcALnVVBG&4P)f1L!(C9c$pMM zmP4swf?Dja7nhp=lXI&8qw4eJhECwBgC`Hxoa~$IKAN4AnI%ZRieWDQiYzs6=}9KV z`5}Ma^Fl3(!ms8v*iltrVt*nH0b$BGph+Nyn3bj64>sdfp#9MPtfBdSA$x7a>U`~E z*m~7r5Nu;(ZEcqD2%fR<6?f_pHiFUEM<~6NFIPNXDgqp=vqV>dZr|=?z?M*u__;D# zTl`(*-B}OWA2T(?!Jw=&u^VLEs_Lh{``>?f;}Xxk1eg(1>aRPW1?ji7?Qtk`c#!I4 z8QsdZ71W-6u6e>5+%t>8XIUqzyi}CCSIpC4`7{>q;mfs-`(aN1t`G3WCC_;zlZ+it z@D}1jj{3BYJkyFi?vD}L9tIrgukyYoQR2E{(z%`R#6;f9G|18N)DeAb$}HbC)2e^D zWK}3A>>dvvKD96=<80`4;~vcb$46rBhVWtW&Nw3b5F|n7&*g5m)TBNf;7;JR5|s^+ciK7I*a9?WX>@Wu99Vm2mm? z`)~c%j}Fl4N1mO@dmR)X&6V`UTe5$OCYF?M=Dvv(Yq5Ee9Pl`kDwt1KZxc8k1?;eD zGRF>!35wKRKb(-VB=zXzJNn#HoZL^|4h2#6S9MK|V0mt?ZL%3SR`jg{s*Rq7Wvxb0 z+z;}_>`$ejarhcpkzp57&0))jy}52fx|h}fL{dm)VYmtooNAYzROO6E-)nzsa;1Il z%6Na^3Jy~z?a+)pcgQ|jDLpjI`R*vA1CY~MArw5!X6><{tQ$+ZsfNiEkAK+ri!^J^ zMpWSzRoSnYQnDrBxGCVBQm`z&_=~ zs1VN;EnL6NvE#4y9qmS-A#ZlJ}0{!7Eo#<;Ob1&RY|=ToPCjW!9s7<{U7o3z82_ z?B2xW8QW$kii-1-(gV8Bt9lUjpI+O1zQsxfLc^ikRoqvS^~woV10jDGG{xez#0dTO zHE9zdSJZ}=t??N0&w|%V&)%YAw_q1{woAngK~!|AUU*s9VWOOjofp6o+0DuSh>+>J${g@4H$t1{YkV z%8q@YsmZ^P-!UHb9T^F|TA4{Xcf*>YgNLVbjyUwVFCyGBPf%ZQLxfCf<3V2PPCeiB zF+K5%X7GDE8avDCo}4Aq>8iL@(w2jY+0@xl{mtil6Ao2YoZ5e}06-=0ma}GYOX*lK zAj#Fx_N2ho{C$=KvQJ_UEKF75ei7dsp+c??p22&x^9mP)=;DHkP!A=EFENVJ+`JUB z3f3=F$)XFE1e*?aT;AZ3a&Yld%8i!-@^HIHD&s}U??pv%zj{O@2d+)q6;SOr-s$Yl zH&8E5fN3pF?uLI-br-M%%L88Uurisg;j9;@-Qi4g@q5MLd4~FZL}iL+^Vq@Ry_qic zK6r@?AUcVDW76X&R9j#(_546@25>7cI#mMV<603)jMc9q43K4z5(n&5 z^3!uW=@)r=;i2nnNy8hia!OW@uN)*}p%dmAt+b{}H{O44o*xF$5Q`$(HDgSjvKp`O zxHDb3)1PiHl094r@t-pU`iwM8QNla6*Q|f^f*58=cMUx@l|yDg?h}BUR_f$&*@Kir6p@&5voKJ`|Y(;QSk##pW-cdLK`~ zld4dk*6BK;1qMs^%!Z0czT)Rtn1sbK}k;Em9!!-{JtTsAF`YEwglP9E#9aTE} zx2DiS11TyJI?1Nk**k7kc;|VKb>m!lBf+VSx2u1Mk&a!KwC?$oJ`^7hyMF&U^r4wV z1ll4LG24(xYc-sTjl&bY+|CDKk79;R>kOmbb2WVMSee)KwQ!eAxg-zc>$p}QofNvk zDszdkcSWpf9bDAN2YuC)UIHn)iWO^h?2EVqLnXkCxly5_acEJ58m0PYr8ar)_!?OH zw;6wP$9gWsSx>_{KL;>Qbew_y9d!$Yh{Z9t3p$Z157+P$Qs5er1;7iRYfLHWEVHwC<}L9Q?tAE%4oU!slGgYw3=|pL9D|&)S;ePHtB6r@4KMZ zb_twW&tP^ia!7%YQ^?0gfTc+lfv?~HI68ls318KyMC2PimQgLyT7+)MSSSGDN-KOI+;yo4|2ZRk%r*KPGm2`h| z3dSk@o0^H4EGh*7r!GkJ78E-SM8DR6tOlNg2d0t!)Fyh1i6I~FGLKM_O{01-pX#rX zc@fua!X7gnu+VRQTy^}MkL=S1Hz_3L!J93zhfiIO#I^KXB!z*8z2n}Mg3}T4Rx=2= z2+weoP^l8<=Vxb zuNqyMAx@*4ENQOGy|7dnkllpzs<(K?lcik;T7vmV-cs-yaA8tKJ=l9!(^`Kw;zfIm z9NP5WXqCk%^uHA|Bzh}mV%K%#_1Wm-yiN{ZJ*Q%64dnXX=`!Y7Gz`Z3_9~P{g21vz zW}Bk$je*5{QvWsM52r^GR9b{V!xcMos@km-&@$_#`zT{>vPD%LaDl_KOp7{%7a|J| zSd}iRs7BYv4lBXEut;B&pSFM9M3tZz6_6ZKW7347jMlIXjl!2LF_RhtaF`Qwa< zYbQ_2TJKBk(H=0>9ICM>OT!Hx^$q$MM6c;ZY+R zw*KVXaf6hrvl01$=~ekTRFZ~8`YZoL8`iR_^PBhOLmzC_sawx;QTcy!1rnSI92R!m zgWc>D#95QI`vIKe_-XLYiSzx=)5XEUJ28_!tm10)-GqfItbGB*z>zm}W2&H&Vb7w*f~~cbV;-lsM(N!L^=&(SEdj%L{8J(K4x38@jFEYdGBFH2k{; z`uF>;%b+ne08^x+sXBit$3MXCNoT-iVP|x9%f9E~$x|Mf6-(B%91}lg35qR_$r=y@ zsX?>e0?4nvx1m`fkLjsKC|FhKFz$u~sJXm&n{WaYRdl4wXD9iIc_HHn4Is;>aCE@1 zW5Pu^gOXO)r)cou@3Iqx5OVrLn@1#MY$6L#w_UMZutL06QsIC1n0kelCg*Bu^1s=p zRWI4~^HZhPkPGZDW!7E-6KE}_cBFi=jGKp=g$uT2&A>#|WT;XFUZFaYP9cFF4q!YO z!8uYPg!brtLbS0+`Wq~6{g+k6+_=`nN7NDIBrp;ALkzbU@Vz1w8A@Mm97%{m$_ z8QLb3E>A_P+NXcEP;{MwnIX~E(s=fNx@l}~(dloDGeiiQnWwZFA0n0cau%a3^9nmM z{+`6>zA1+PAhLeqGB9yVuEirCxjxung&dw@5vBrVnOfXRIG8g-AWRMSnW+6_w6^C$ zB)JMV2QJg(Q$r9VW`<~>S#-pqoud|bgCfmkJhTf~b18rMvhn<+gO0DwvN5}#-5U?0 zYU4I)S-X$Vfg5$CyA4nIKfkN=em(a6Pyj7ilYS;R;bd}Ph!DJBb);+yVVu)^nzik8 z_kdW%<3JwheJNM#bX1DT9>Mw_2Lm1#zpjk2Zum>@nq%?ywoZvxnUhS#QtFh^!<8TYL+B zwrzRKbd>e;*@HT0$eszEdR%S0SE7Av(a!sc1ebq18M^>c=jWXG=c)nw!$!lV8fkY< zBk3%dyT(P*C#tVkit=P?T|aNF3xA7W$YHBA?rG5*6yEzdRKS)E<2~rj;GOe zTu^@xi6nmB@Wsb1nG?gjErwVHB#XMCAs#VSBrssoZnc?I6pgf5ZGGd_n<;gFg;m?f z<&{su3q$KymoGQbrr7bc97%3c4%ORw;}t{TJQP~!4Jk{L`r2WG%BfIVA=_=%=f#(EV+`*6xppJQhap`VRzpq3oS$H9^5->^elczE5XyphNaWuCWu=E%$%9 zib?s39wXGU&vQcJ#HcVuHC*@zaVBpp1TbzWqwF1o|+vAG}vv zDn3oVd7$ffGi-VD$|0=HX3(3!Q6_(rIbM)8f0=36GwG}Vbga)#*EqQfK)fwZN}A*r zI;I^gy2_AoNXUKDR#qj-O?K!j5%E@lna%B4abW2B-gUPm=+Tx}R{J{1qOd%B3S#T^ z+w&tm#$t)K#>M+xfP15ekJ~BGFWi@W(?j;@K8d$;us56^oBqFNmMbUo)IYj!( zy{N9%c3AW!bitpgO8L7KTpsmm`06@n@5q;Ns}<5-IVMU^_l2{-zER&C-}c=HO5vDm zN-NAU(C=frVttZ+DcUe(ZYg(e=z|=&0k?`BK>2ikuS@*NCrqN;O$3qs7Komim3N@H zAR=T#E1+d%yrb9=CG1DiwE$9>y6|9~K=xK(N4l zev@99^g+d+A1a#cdx!kZck+ou^^eWSQnwHK`}ohdhBL_!MEDR0{26fFem~vn>uEFyvdg)L;B@?gs<)p%DaDV&UYfRAa#bbuk?xlqo&=n%2FrriMHKpLu(E?xRb-8RZ61SDt?)1;j{W1 zT0=FcDMsRO2T%WJ284eoU8NRDtVwb3>zZ2x9fY{IP{2l?-kF{pm=P{W8W<_of@n6>XH?G_f+)@-k6+6FM~XZA2{4) zL-@B8&9#JtZ20u2EY+|Ey_GcqjUH`2LdcM%WnnY=8_JD3xD%!J6)`nV-iW)ggx|v7XSM?hb!wv7%#>x5EuFl}KHx`gDAX z1&Sl6a9q;(Ma^Z!35=Peg8ktcZ2;h0KKi3}mndV;(b@7G_;lmJ@{D-%t6IfsyDBl` z)uI*B)S>;@{VNYRpC_lsB+u9uCS_E(dvI!qPjq&)Mi}d*M$jb{6Xy*whsEA)ws z&+p~s3V7JywjTP9oP#ljygF)=xF%|=Voog1=rmidJvmtXfG9PVf>6fhtl<2#advF# z2IYVIQXh0GL5%vgh)qioqp_W8tO}1-7ZJ4RkVkBD`WxNG^k778Zb$nHQ)DpQof|ot ze1)dq+CKV;j~tgGn`Gz;+Ns-_8* zcOEF zSOMHyP}!Qefg^8Q+oREvFbP9*=GCvmF9k4?*rmPQ=XCfH-?G8Av*)}^8MTRH2$niG z7ow*Et3!%7jC3#L>*hOGj7Xj&-uscu-YPT7h~7U?$y4lE;EvU{zMa2ZR^Y?JhL(T% z*?!C5YfXxwV;u`w(VTF}+Qo;|68gP}uPf5u2qrc=UddS;#}NiN!7V<^CV50uk>R0j z_(c*7BU>b~CP!yao~T6ZnQ1Q?OsY49?uRM%bwa-bT2hrXz;&a9i#c%jHJ*}~`{pc; zB}7yz!fop`oXI;d*PJ(G$XFkZWL$rn73E=JdpX98+3}q5$1@BaqB#OAtC+J)cTeVC zm)dSVhRQ{=J$?sQ%`m5))}_cxtia(}5s_T?@$Ci!hgFEuGmkooHp#`Kgp%VC=_**^ zCqUXwcA!S)XJpHT?NCV5>9sv7ob{$~Hnf-wQKi~giD*u!7wB3#jT`cDu>U;sjBEh=rk2oT7K%d^r0kV?|L0jjHC+Dy&1|)rF?%!NRynhI31j2 z`3T!h_QuYUN*w*?t@vA;E*#%!FFj;mpM`$OCj?sr#{FCEhm8p@GqLb_f8CFP(ch2R z#R-Yqp`SBD?qyB|6gQYdkEg(C7XtOPtqPUQg^b<1XPNn!G2|N>PYWToLa4Bksd{et zf3#fFino52f~*!>N_u~(#KIv0=y4x;0hP-JA2zuw-7>EChp$e-W<0@JIkxP1=gI64 zX(tX2a?nwojX5WYKe8BUoJz0B71MR@X~He4vz4=~J0MM^Bx&#X%bxtea?%k2Oevqgc#R zPfh_n$tAWG=Cpq{tgT=`26?6)nn9NpI|rX9>l5VtS*ff^f?r`%AZ?rB>iLM3)&#Ob zItLuCYr;hG4>hpz0n#kiISjt&5ZkjVjb|qE3YfUzidt|f`k*nx_pWV9!Mvq!2!*J% z!$qr)kq!m~HF~+=R?Oe&7RGe)ob&qm-CMz|k$4?*nwfv-pPg4GRx1O1!}T{#3LauZ zcdEn%V8_4Bk-t1N)K7RBT;h`!!+uacEg>V3jK(75KzR|^Y_?V4Ww+MmO|>dib?RH~ zM-JFn7;(eW4QDA?F#|t3qZ<_rNEv`6J)P=^h4WZh1pa(d+CZH<5gNNn0Gz9fi}W@0 zNEd#!P0oLk$2-7p@}u$3GVMTpnGh%aF$(pD>A9B{7-nZ!`liVGb%l@?nZFV}3Nydi zVAlEaXT@>YH?loE$Pqf_&(Q?xkp-Cd9+N~F}r`19yRXi@l}3cKp+A$xv-D&w&O%s zmXVzs)fQu4;NXsG6R=il#jj8)I9?GS!?)fy9AHAi-dSrdJlsv;?(s%7YA;By01roz*|2=TXzFWkM*tQIn~;{iiRu9@0qlm>}zE8 z8DH%wTUeyZP(?02`n^_Mc8z@!P?Ip(?I!Qx?uNa3TcYgskvDUSGk*T|B*j3L;4S#N)~PVYth731!*ZuNeH1dTf3@n<^W@XUY%Ln~zN zeXMG&K;`pk<(uZrVK>R?ucI@5#0?rjEr{}mib5fRINmFlYKn&IzI_iz7rC`&BaduJ z$$&`@sg_HpnTJZ&s(~#emMcW3M0t2p11c?>t|JxtY;!P6xk9lGX!7IS<~@IKWIv~= zwdkM9aG11Gq$b3e&|C<0icEZCR@W$qijfs*sjDx~D7myT{0$-PD(GbzMx+Lp!Ks5h z^u3dzsHYS54^TaXv;qr?f#YD>f+*RdR|_bzTm~x8A&wc)*bv*2usW#+v}q^}_2X%1 zNc6S4WLQ!r_}X@XCYlUs{nvl)LX-r&uz;T8$2zLoz|oe|6?D{thDVgZFj9=Dr0Z}( z;TdN(u%Mu!Sg`9@u_t+P**(5~a7?Co`#m`U%)HB5cshR%?N(iV97VFR z`W0SV*>((plzx)X;pP1vGjVBTsWV!V*Cl_Q99fm|nef|VEnmnD&ta`^5xA9I9mWxF z5$rH5ZmMjae?0do-#Sx)HlYeV^Mv*%6?YgyUD9xS7>n>Qq=H7pJ=yo=M+XM!dKKMv z9>sX{-n<3_<7sfobB%ws;PPWWe#H{sJis=wO zS;~Y9`JGRn$@!DhHlJU3-rJK zO@He?Dkqi1D?In(x`+}v=goyc=73laQ$U5)v4A!kdzir+K?{GFsn`7ig9#r+?DqKB z-nK;2`dqZ16PAmt&e^(|x7RQ+S;Sq(nKNa&uJRe)xlf1+@cIiVClTy+vP~FXmBg79 zQE2pw;ebp&E2sw;e8Q-xlQX#9056ec>{6>I7wy>$-I~mTNIJ zpaF|g!&l$jPw{_E`pxq{EmdDmn=&BZ$ETgYlCHD25~bd>~qn^Hbq|h}NARwiGfWD+CFa2{nj6ZM`qOu$0q$Sw98-y+)b&Blp2A zght2$;pY2rU^GE0jk{iXA8S;1@XpueOq68()`gC7g_SQXm(<%aDHe9R>$7s?D@@cWXwq!_Sk*v zy<9UgJ&fh7u^aw=WMw1+$G0zS;GD#SqI@aqKms-Drk_VHN5g!wtzzl*u-oP=H&THra;rfGl!+18XhjA~qlT4N1Sq0w3u0fEX5~jdAaNrQRTo zNjSeAS%IKJos4!w3(*Rhxu8gjJ-thS1yghujjDfsXK(wG)slI*7$(Lj76PUOV_8tJ zHHlfe+3k-BR&G}o8$c3v^Y$uZL!nE7FCpemnN;d@)|V^rXU z^y-D1@RlWnBY0f`GdVYxcV%W}-{g;Rxzm67OFDmee=P#X6i);$g$ou5dJzic6WWI_ z8mfwkByVdyi}$b(Ka|06T{>?zHjlY>2)})E-xhRIf=zOU1IW54(0-qTC&GbwLFSZi zF<>7i^Pc5x6cH(VO_vJy3ak=S>xVDvYa_UNLBP?^z=;k@Kauy52ke49_sy$~Z~cGu z67`AuP~iMz;5H-d>>LVBrEBru&D?AUWzbw{I+I2UgCji*D6ReE5jfPeu7N79e)o>N znHZds7*UuO{iWQ(gxJ8CDo=mZ$T7W9YnQ+qE?SP;MAfwp7#>Fay!OrZk_^&}iW6CX zofWVGekprjubOdPSBZ~?AM38LM4W%coCK!W-6-D2E>L!tivPv91z7ghu0nnnDTm*C zjX;WXMWx&OGK{huxy3m{J@P5D*YsnK1m}K72@*kWeCwOF+Au9OKhwNQ=KC&5y=;<$ zoQ#8FGKd6Vj)fRI*P9?TN#L}D7exwTv1AX*28o^Phv})Dy*T-^L8YUv?hrWtvr)tUG=9d{i{ zHs|75*80H?g7vE$RiH_ioFs0d7OXd-)%3M=?*U5 zst4@XB}x=<3xroJctMrcZG5+{ujmnX>erJ~B>LmL2=6J*&%}Dno=tyN~G%1j8#AtN7XY z&wY4IPIogCs~PH=?)xSEEOqDNM#aS`MZv*o9fxXKM~C&@PtboRSqehi3tZG3KjcCf zbZ}2DrOS9#m^P`pR9xLOaL;UiJk7YRzJ>h+@d6OUJ-!Hw$CP|$- z&N3`ia#<4VIX36rEfhFI~H<>IB^3mmthv+w#gS*3VQ}Insq<5=6{N_3MHpT zu(0Ti#W{-Q%DlPGWoD<6BCya{6EJn9M(ETVRdk=sN=my0%L_Ob`$w+srvLES2 zP@aT#hEy<7AWJMxm=^mPv(kw>T?YS%x<5LGG|n9n%8T~_=K zvbPAaI6XF4Yp;uEkUN#mAwr*kfj-Uq)io+OVjO?@bP2KpI#O)92V$OQ#{1_6@s%c~ zP=#X4ka?@f*&%Fc5&&Pdzg5f@uI)6TpVZP*x5FmTFM<2a~RxS)6otRtQhp_J?|x#j_no9wEPf*VlcG|m@*u3?u>S7kbn`xIjPt^%+ljfUT1IM20l-xTgZPu8j=n-AX}tn`U(ke-n0xKZJj_+X;IQ# zQqNp87bbAVH=aq8BH2m>Sp(CebV=%+)4!vvD==XnzBb#wbd%K(zgyPtV2@sKYmAv1G~F7HtByg z-``}yn#TQgQ^H@*?n8(6aSGe+95NQ4FoQb}-6|f-_3phLZkNzh1G^O5tgw0EbsZG8 zXtU>;|H>|}!n`e;^~kpzT3jv#4`Ms3FYHG&Qp=6RksfHuYcjj=^9Xhkn-lP8;o%PJ zeHvgCrdicO8SR;*gY)itF2Y>Qo!@`z#@9YR&|;rgiZ;-WDpm|^GYCQFsn2|FKH6|#z^7FWR!zo-||=gGVFLe+onzBSde z*#}fcegiiuQd0QRwldhZS{xiI+fO85dcM%6jBOZ5RwPk)&gg()ik>Gr94Q%AI-%Fx zWHmX5Ph=Junz^}@a#hf2vX{sry!uAN4r>Rjn<%31tAZ9E#E=2u)1h}v((K{y#?K(L z??;Wc7Ue!WrFONBNFaFK(R+WXu0gqEnK0<0j&mARvz>}NS@Uulj5jW;dI>QfH4t7X zQE0nLhowBLDt`L*b)8}-u^?K!vDA$fb80rU8`n}wZ)92^C_ZPDJTQ9@wa!3REQn#Q znEsvlP2+*@L!R17+k`193b0ttj5j*tDBXhLRt;h#a&*V?o9!?%<|%(u`n&{h_-Pjg zmRo|!xMaGyyFIrJMmgesa>NY!&Wa19s=;>$6FYC{(v0eN9G2ykLU5~bTY4U07nhqc z57yC0;N#=a!Jm4ka}i+StHGq$Zxzs~wzyeiW0%jsM29r`JC?VjO_DiTLNI?%#O5!GB&CD`XH;Y3@7Fjf8>lKiL8!&zt|6j@$kqoM`BvXP z9oRII9`uoV^7Q^h)V76B0^VC}7h{<#Rf8Fq9oUnu2&y)R;V7>nZl)fWr}(6wm5G&T zzi(IMmDVJ4W)qvs>tOOu`GPUxCK6>t$CTgR{0N((zN{Adm|TC!<^gGvV7cNY&CSjn zBxK0Qsd^C}-ROyzRJV^`Q*Hx=6)41=BZYfIsn$H+!i8wj(!O zonvrjQMavQ+qP{x9ox2T<4w{*$F}XHV_O~Dwr$^>dvATG&iS`@)vC4s?5eruTw^=~ z(pn3nYh{^@tL>XxV;-muK9A8O>p>L6X*KWM@5`ciJ}wGzi1HmF~Jwtzhp*ZS|(6R zDbc3$bU8$}R4!M1ecKrX8k9_eW}9Y6)V^cgu^WANldE~48JcCZE-H8+eD2tDcToXt z`#vH<8?x31dVXH;EeVDr^19E z9dTIb&-EgCnwpDfH`9? zuDC5cl3_)@SPZw4=P3sByGN2qGqCVJ0TQLOHM=$H}LuR4v@%A$}|2uH}5xTSBKS62fvgW})QEMl1 zTYsh6*>XTo&NsHE$m4CifLn1be-H&KshoQDmsf$B>T!TH}yj_3Zs$A^#;-BGUK3fKRDgszQhJ8cw^Rc(YA#z{M z%FSW0;^U4Ez8zXu?`Ry<`6*u9!*JPb8_(S zEDr5$zmPBk!Y z&-Ok%5P8ZwYlcqM5P@WDDo196D&Sg?49a38kg7)$D4f((MSyXZi#B9!3p;SPJA2++ zv-w!P`JYxy7BnO))J?$uzK#m7FAoB9(oux0LDs3v+kt7rrEk0eku_*YlL@FCdG-OA z?GP=BW0GjVS)1+{@1H$d^7UTPzs0`4DO;{ll&9F{T$pf`1Td4 z?68|qQ+-8gj=&_jo}ZeK0?m+rclo>! zFmhHvoc&O0(mq#>N;$^t*UW`$$`_9rpzMJy_x4N3+1>dR9;NvbmE7aIqS#oUO}c}1 zL3KX|b@_!Q7Q=7qrr^%7*A0YG5Is6cD<$M|F-JK*`u?!;=R_KLfYw3G7f}M({MCfi zz^e-~Z+<~NqFz9qfwG%=GoM=w6uC5O*}$jHOBur(v8HL%IQ|Q6cyCp{MlidG-4B-Y z8(H>2$@g{@;OZ1nb9FIxz*bIBw7%6x%odRIQ<-oVzZDa5&@bd{F|T=~$IRrGj0-&(eNW`kW;Tgt>q<*qqfAe%(5vG-3kH3WOxAXUR?qh!q~R+s<7&)ycb zr5d7^w99Xli{h}+5+sgxX$?~X86=G@@jQI)my3eaq5z69Du2*eIba6xz=OcbsYA?; z_D`2!zDR~hldxZg2&m%KODz6dnMV!7>clnWzy!G%?3_ecoMtbn(K4g6!K>Yn{C<|Y zU8lW*)tf~yC=lo5sz?eeX3mKbn(jLloqt)-ZCzns!Dkte(AiJ5i6NhqLBjr$QbMBN zR?$qRo_x!1_ER0FHNpUy!^20CN~@NQsl$%i1Hu8(G)IV<8uO+@OB&=~n13O|?Ja~p zxY0T6v%8BPRI4R;D!XE zSwG2b>5aH)>ywO;PP{jiXhyf_s1^F_7A6(9DiBzdV-OQ)7pvXZO%BuXbrD-G*=eQ3 zqJuOoU~x!Jx*3E^%~(AWyEu^(pj(~TCAFTq5NGVKI7gH5Rz2_-bD`k1LkdObijcr) z5wd)ttG%VwN!I`jv<4!}h2)HspXo?svI)v3in*}8hr~UVa*<-=A^;NBv^3+;uBpm{ z(Bv+0I$N8vM`OH>Z?4GaMn1&%aFNB|l%ANiP98vSpgpZWMc@p5fZ~(snKz1XWJ~;= zF_Ply(k-{Qd@5es5Q`h$y+AeO!bdT2ooDOykJwKyyA4R)ToMZ9Ry9)Xm-2x2fH*ow zXkT_7?SM05tPe-u_wCv`rsH15<(0=%)EjxtShKKg& z!Po*pMB`gXdi^1!FN=(fSBRtDA1OP9sFZalc8KH1oabKfSO@b)H1Ht)$oh39SB-|v70XqNssAVC+y=4MqHNG zOR#k}OU%_U+F%4()Lu=@4`j>GvKLeDDyGICu@#_nqBr|p^lH|Gy{(jY-KI`5<-k2x zzwH`_i5uvLL;~lu(nV0&QIFg1AIG}4w3R4!|ZV*N$8uYa#d3|fLF_@Y4)?d_8b^@rD3}!kB@nS;$%PR+mCAb3au!@pX9DJl~ zey6>nUM8lAIw{>ddK@Mj9y8Hz3b)r+?9Jn;)0HodJw4Xx8+2oVI%s7#O@7OPQfWh)Rx^#Z&-;t)X~*v=9EH$nv5|1(f@&U6}2$=UAd@4Qp8b&36~zaQW@ z2LEHO7J_(4eC009>|it5XGeJh*wx@~SDuJW30D|Nd@DaUshLodThrNV@yCl!NdRex zK&CB!)b#bO@2F^Uf(!5OD6gT(VOuYqS&P3Z6KJo66EV9sD`T}elTJ`tmm|o90;%%} z<864$y{E+nmg51*#hfiDe3Ny&^~M0*zJ&Ng{xQv?O8*QD-cC)-5ZF?6^l~3vhClry zS+@LMeMLftnSoyWHZ75+PTYjMjFd5!HN>ePDmhiN%AcV$RRl)vDm>DRlZY0))rK0d zey^Q1zk(QPA~K++ZR2HWEjPGq-o~9V5l}I9o}vL>dVTj| zy_U-#I>9MP3G$t~P%b@{W4fXvpv+gg(;#1mNAv$4+sr`Ba}H8P&g6-EDy;H!g8mGU zG>gOC>w)0e=y&YOoYpr7Rf(c403!W4^XGzjh2u zxx}ar6VvpDSU$b;czU!)fp9Bs*(lmed*DkSrc?ld=wYuh@eg9$$DuC(tIHF;Pj|S} zg{TQ`LKe;8^JX8sqx2SFgX#3Uz0U{PYAr*+ub##%t6r!K{7JRscEet4gf+kaNPo)5 zS}kGXckojd%fw$0TuyKJi!TO|@wD*QjzAXM#%k}iNo^o!N~ zefo%93U`{YS1VTsBfoBb!I%Zpa9&6l_?D8IsRm+L)aF2^{v#0Zwvcj98QolG^9>n7 z37b{VUuO6=W(ijRTxuOtw#FfmEI({;HLjvFEV~+bzt5~vMgX=X!KKN}RL#%Q6sr)p zLqDUG6HEHLT1&wIhZ`)FJ)<4QW~WY(dmrVNA23$DUhOra zbRJd3ILnL=;1rEql!zG`{g5Z%2Og+7_DzkC_ZP1nyBw^ z>@BIUN5~X2G-sMN+kX0w(CW{8uNZmLq%bt$Iq&Fkwu@B6wu=z++xF6sqlI#JD{W2O(#p)cXb-q1ePVywx#(u-^7YGNrz3=P!F6z=^qjEQr*TNLkIzJPJg;Z1ZJh z4{9uctg^OrYe8f1a*nNk$>$H=(KbMn(4r@AwWnDPD7mviP569qu*0(9(AG z@R}RcqGYH6o6JV)r#=Lnd;R>|?g^|o_XP0EH2F)*5|;_VxiZOJFNhVqlkt2%g3eA- znkwAZ^)05qy&v$FsDqN5qrm(B?9msz1j5e&W;}$C^7%jrluM5SaJam^Qc$STT!rzr z5wz6b!7Mu?jT-J@V`A2ON!3_Ky)}ysA?3U({H%^kS)fAKnX*bq%{N2~gB`9ZLmw;( zIe)`MJoAB^i@0|j!|pje(l$mh_R(CTvC*boxaV!axAF(#qwCDB9{?a`xAyt9@XpJC zbL|qb3M*80LoU#7h~lVc6|M>#a)Ka+%@U9W)WmgIP9FiR&=n*?N znp>e@okxN#1h+SyAO2_qN}2RVp9@P3Yc326c;_HSGHbN9t@k$1lS~sdJl!i=l01Dv z3(caJr`;K2;GsC~cb*+Ov&EY%0lWubHV5ea+E7+ZY!epRDd@ExZouV=}Omo5%)L!o;&8N-s_KZ5ASCK{@ zWE!T~v{kWlyXwZxoe5H(Q&2i3Barn16`UAGNG;?q(@3kaHs}A7r3PID6rBn9+|;~n8<^vKC1Yxs@GSZh6XH29yo)Qu3QaHB$GUMD z^mF%nhTHyeZbHvUm!~zVEBDY43CR0uzGyhFB3-+9^Gc2+xZ@U&H{~|y4JyXYG zff2Ezl8Wg9k*pCfvxc0HZgt0%nTVB$~+ zz1!FFlFg!VOLY|6eFUu{5lmk7eEzDztN@XDnNfq1Jk5}ywyt7@%ohn5x$3>2xIQ3b znndOrtPe8=q>+lq{F7}oYkHo%2_qAiw4Pe6#?L;Q*F|y~60`LsaP>`My1rEpY-I#} zewz60u6Hr=n9Nujeh&g+8d5CcVfzX{8+YhBOdtmg*rcmb5c7f($M3C)=CdeL0V1;m zT2a%6`hzN+sK$=!67>Xlkk)XP28y@G#;CLu{t%!O^DovA%$+Sy0TQHdt@E1#5pp96 zxkNd=eIaAVVEH5{ZjopCLQG$j3y1F#CfcTFpW*x~<9h8MH7haHj2?Kf=9JT9Lu-`G z@X4OTJks#SQg|{7pt;xl+dy1P92U5eS2jHN=vRNg_yNmbr^^ENh3x`6W#{E27k!8CKDlIaFWOlOW8^!`RLV z1(igcOB=xKv6KUt_@Y;Getw3Q59Wey>93Uv~A*jg=|45!M6qh2$_ z;1lDB8R_k|&11(4Udx>b7wtqJKBFF-B7}lHp&wc;t&iu_a@H?Y#bXBtqrW@yaTAR% zXzmi40z#yPuyVtmT5!k@v!`=M74u{2?&Fi7u!kJbevbm!dq=F^3sQJ=(|R8L=81;8 z;2(Rpk6BSBUVJ6y?t&kkL0IRVS|38gy_9PM5)Rc}ewW9CB@T8(I@D?m__e{2oYYX% zD?6o6P1u?zk62??@a99F5*Cy|?#zT&bh%B-S~6J!)<1%1cuqsG z(jrR<4eSqi_~J|1;K0iH&iwrqW(>2)pvbXrZ`QWroksiTNR^|Q>?2q0?5^h3#j`cl zeeWBczf}!Yjt?XXDc3xfQSKMOPtPRbk^J|>WgUh54++0|Vz<^Rk$Ouh95*~T=E4?cK^_?pPm$d^xlUPWWX@S(2O9ojFaFVZRrTvW# zL0Bh>@h7)*mowcY;Umm>Vcj~P*ou8{z?4K0Q9FNAsVGrHDs_x4(O;SQ-Ahdm)bA<# zi(pv-eW45x`1}jIg0K;qB3hJ#m;$^i&%rJXV|tQi!nh`lI~o)-hqZOs>rHk0H${)D zcU~PJ8tGEJ7*piz`sBmE&VCk+$5Ex+;EFDq9B!=VO``2va=w4sTV77}!4d7Nb&JAu z9qopXEi>7*1Te>HAjJc`P*(czH&v%%IfnjjF9B3@f57juOD-ye9Z9d zi-ogOeI1j0SK^KXZ~2ga=Su^NY21!4K}`U#NKC&Z0RBh3wXCj%*7F-v=CT=LM}qex zw>j+knY?LBIBDD7w1-AGEvViTY$qDiV?_m3PLP!7s4e9U$DmF8J^K4Gy9~j7* z?$U!q@C})Hx>@4rsI3ShM~xhuizaqZ$Wqkt?`O{3VGK!uHzvZ6VFS*$)3wJ=ox^oN zvyj5p75~vi2;R;ic~+JDZ0ww(UJA76A?Ha4NGxJG%(0#ebWK3%vl`)-(0C@DY=}~5 zGxM_P2z1Q=cL7)NB#v85h@D-*^$q*8lWJFO-9eEPQ=0}rm-!eeWOctELor1h2(9cn zFo%krw(Yeup1}y%+ZovCj7|zvJ!BB@Mk*`)kM!kklrhL4$KO+(E`MylFy;a6=#dT` zZ(}4MgnJW@KH{n+*rOEB80Tmas>AE6{XJnA%|0?ALga}A{Hvb~E7&!v#1VJ7Bi-o; z|K6~@o;o3c2-eoE$g z2}IBi@tl<$44;Nr$PaQ`Ca*|1215~5RV{Y!2;ZlJuP7diOI0ZsQf>io7n~lk<0o!xo=L>nC1<+P(__SaS!!h?DzzT|e{6 zii8iEL}5E)yli4xBX+t__rP`Si!oiwLO#;UaQ(W-w;shl!&we43|M>SfyZ>;K*rcy zkxdNj>EncjB`VGx>7YP%g7pOntxu)4WaiS+BO!KJwAilP8V(j?$Z$hT)BB` z0u|s6FXbxDRFk7hHC!a*T^EEEQVWgSr9IQBl`U+k1PZ>+EgEb8SRza+SEU9OW{M*EV<`}| zN+XivsV)~@ReS*o#N`CLnc6pbk)>lEW#q16bZ8XLBXv75nZrKUI{L!Ab(q2|9}2Hf+vf&G8)RxI{K2yBo`Ls-?jN#vzp zx+Y_$T_;eR2#pb5j3_QHnTIf+kJBuaJjf-{)v z$3U+p)JcG>+F0T40>_q0`us|?W<0Hg3h*!pjrqQQAW1$rKR-Yv?9M-CcL;Z*S8B=p$HC%C>e_>c zhjHqrRKSP}U$M@c7{$ZVh@l%HBgD)RBdaG`6dUvNZ%iD8x_0wG2{GQ#*QtNFS$Vn^Lc#ecuo>90S8|Rc9fd7~2pBNr@>IZ{V z>;r&oYTnHdwkCn8WnJo*Y_Q$CTWyLIUPBO>UdJ|3sk>4#k-q5xks5eUg+Y|%u1HJc zI*oTdF?`I=ffr{HQma|^cp?o@yFK%#na5{m7S(}sIOgz837CzPipL6-D#)P0;q%Wq zQw~+EvA2=f4VS-X@sN13Jf!d@nbV$hmi*Zpv?^m2Fg3 z${`;+D_rr>Zm<=%mZ|%+U4_P%g<^44`3#LD58Li#R$^TgOn@~R_v0WvS7hu$Q34>w zaDCPW1}K~>LSy&m z7>}4xEukUO!x}xJB&K$zt8}~EFcYoPNt#sIQ{W#6tn`y~n<^|#{lfEJY1}(cN*PUw z*h}pulr!x4iOZ|Y?ztffESU)nZ%x1yFv#($rcQSU>aFyPUViWX-RkWn;sP#f8>)1X ziDP|x@eQkY?8Ks}=8cQox-o6h{^FFo1<>t#2Vz%bQ#DF*{F z7*INz?0ZtDS*t_XpW@`+BtVObqRs0GWo?O>}0_%!WfP=?c8{+|K%Cu{_6HAbAIhg|og`rwM z;^4gN-jF9ac{du!eSyS@%tLCW?A0AfVOJS24Yi~kA1oS_(7v;|+A77@ir(ACBo)b**E>YrDH1ZEP(EYJ1{3cpfLQ$jO!s~u z>la9kZMk1CT{^NPqXLPQEu(#K^d`fg?)Vv9t-!WkyE_`akzLE&7{FGNILR(ZgH2J} zm+Z(cTENSYF#=W`)2cK*x2WI8B4D*xDV$=9?$yQE-L;-CVp(`_>6UkS0L{3S8p=pB zP+X7bk{7>>6#SYw_enw%j`e!Kf?|!yFkhMV(r@?aJeNs0t9;A-8=u(~I#MwefGU-` zVG~7h%X|$q&6vOWXSZBLULhjbVxO3TmNqnN)y0D;M*zg3xZbz&a>oYkquOJqHGNrN z#?3=!J9h>ilOm-pfkNA&uJEk=GmQbzUs_n~*1I+V`P}?ppL6&w{AV`^Lhikm<_!mJ z{*4i^Jw=e>MaJDb-Lcd_4d>L(die`w!^^|`yJ zl!w0>(*WtaXMiSPB63frY(x(FSA944law))Crhj_1$VUIqgvpVwzsPh#rT6Dh%bLw zctm444B_p7bC^8oUjyX=3NoE#S&5n&`kJiqkRD83!wQ?O3t&1PpD1K6qS*Ajz$GXQU3ugg;mi9xp+-74b_SGrfAH44oa z3tCIlgZBQ;-4ocVB(Lgtc7pyGKi%ji!g#keXs*7_vCNfkkw;>17X=d#BL>!n5cGW` zokOQ3XbieQ;2vdrcbY$2n-DC&`Bh=wo!+Q>I1&h>BXsGg&$pN7E&Rkj7&m_DBw0s> z+ycs)@Emd=tNT3+s-X$r8zowcFwo}}$C8Ibbw&3OyOj0V-Wzne${h=2P8VbnD{~AK zkBvbve9_UACg4GcIqRz_`slT*EJm1i@_#H1`mU~Xmgm!<^ zy+Bia=0q%ZcS|=1Xy)%4ku6os^)j=f|(&zt;D*)~odGj1M0}(F7r^{k0D1Rx$P)!j{ zD8g@WYFfOH>Od;ezy#Ax-oaf$|LUig98M^DhMSh zgH1W8`n&C5YRrsq*(x~HU26CF3rnfWR{SYCvJLO#!^CeOa)Q-07g!0sTqw~F-?z@j z{f;)6fByIJ{?)J+mIMg~)U>Z|c_3|B;{>_N=$mh<%`DEO_k-l@Mx0O0R7qf&JD7Bn zgeyqjCCf)}%SUB4F;7H0PX`n<;d3KA-;0Stjv&`I!cwDE0qsJyYNB?3T@*2(9;1#V z916PXDA~#TRl8m7m6KrEH~FSQVYA+j-?s@V}IQ{nUiJqcq&aA zf{9Mz?9KLOyi43N1K(=Od84zLgo z@Si^->cp1M7o)i|qbU@!ObIZQ#9esIfp$WIDTHh6U$1YExfwIP`v|3zAuI6W+Nn2n z4jqMK%r74wMBak<+iL6cX!WtgdX!x0A+0%MZ@mb^6Yh3EPcmrhbg|kLWNWKs##m}u z&GQ-Gl%cf+egHy+TD8M=K!JfTC~hF2GNoOFR)|EdZlX zqq|a}tW-fH;q!h~?XpBZ8v535LwFGvT*Ox0g$Q#V-zM05Zu~J;n_sb|&;T)QUO+;s$_W#QFl4>3r@heJs&1UA z)RUa@_oP8WomeD9`tz6afvL}(@k-9hf0N4p>&d~`8itK6)$kq|{l9SKFq)!TYD!YH zqH@ZKMygn;3TVJ*sT}CQ@;HvRZZ3>Yj81M2u4bmjw$4@-mahNrEwy$Mm@c&m9T)?Z zjg^Rr=zjpr*;}^IftLw^IsWsB)LnMq7AW@rzc4j#0vNrei33=d37G3YYg+g%fWd%K zIRE!<+=+xV=q;9(zy-vq)HlHJ|G})Maz+4;19PWd-2?w1--wu5xtac(n9jk<#_@lF z>0q2JKdu?!8(=Cxv^%(J;^j9d2uh)hHbwpehjQH2RSJ$tZ-5<>I0BLqwUQ8+YFv_f zkqSF~0B-RK@$5p|H@v7s8A;cO*ZenaU_<(BMUT>jJ-}`xuWyhrCCFgucGM z3KWZCsc`lI6+}dE4-$r(0ThmeT*HW0a36~dGe8l+-}bU-y^w4!qAwpxnFV@(zZBu{ z{%ClT7&;~)3iM(g!i@mkdVtC`JqCp8J1!7fbO|E#_x6Z`2LJg%89i$})c%56xHhDM z3l;YkRtkhlqMZTXg@(kjJ_$Dl{o5}@HTIfHx-bt3h>i_=6GqNar0g8H?#~y3H!~qZ z+uk0vV_iei#%H1nk@UOJH@k?l4N+3*u}4%cqUV#RcC+4>W%p{@YGj zNf;8yiNttL2$@-m2?+!l6;yg3k@$Pc7)%WCp$7hvt7(@6i$ir^s`-)hrSf;%VEyZW_YLZ(^Op=O^gHkaF!15=?;C!zr~X3_=xh7Y^2OWxtNHGm<(p8Q z3S}4jB^5tb!+?(9{mqgORPp=L8v0vQ!>^UKAMfT*WD+>i`BSTtLN!K?pL~f(ha(Yy#BtL`{tV)<$#_ zH)QioMHWCr$anRX(kFzpMEI%mwLA%6GJu1a?%4j z|GlYH&eGBIZ!GTvYCGbP6&QJgtYr3?lHDqycfIk3dm`UiSpoO*nB46Pw3xbvb;Deb z+{)Ciz-d70rd%{=G%OjSckm|pS+tfTnU;rpl>662lKSuI&foM`-bjmj)=Rs9@rS1_ zDZ8Xe$Aj&BY{gkEwoO9jZsX23b?MZ-#*@N-r1zTZ9j}GHTJnq|nypfQNwQ3X9(;h= z3L(QtAFxF+b$Osg0^+JA_S(2Iz3N6rOoUl$CkK7CHNCX#G`YeNPTmD|N6M=x&zS)I z=m%3rQEP8UVvzuQ;=l87_y%Nv)D+lXWE*rU7ZmNyXYDs8mFWe|h~!n+YAneg){nBS zFY@7-`3Glf)GtJZ?+BL&_E`;oy4$llULTSh&y)^bO2o=fnDBFKZ13(MIdhyZjR@pl zov3AQu^KG@nFgmP2?M4XzIGCht?$U#) z@P3}BAvMGmt?-cN(2M@d24G>Ei3wXm@YT^CHE1!fR`eL8cHFmGPXDJZ60+_4pM;6l zvplS)&hJi2824mePA+roWU9EFG`^>}$ovqyxJ0Vhk9Y~6J8Rj5{U_2)PIiTL z;diH!2UWDuAkYXYH8Kx?VPDa>f(9M0-mDxnFSLb;Z5R2WeD$A9d&k_u5@i#d!RdGY zM-&hoE$9(A|E8`m#{MWOdUti08ri`XPhvh4Yy3@*k*5@V9py^x#mGtU8B<<^3c6>i z4K+Ajf@b-ag)P=I=E!WK^67Udx1G(+JU`LJ{mP>WEN0@bm9z^0lUT^&@DJTqBgmP* zizv@dpw{2$>UUq=hL<>-$~9Z)zO!kqr>@oWaQB7tpQj=kiaV$UIcD3gGJxH=NGwjp zr7^N*Fxu~|5$9?rWkD{AfL1ffNm-MJa@>NS@fV2R<{omQzP?_-;s_gK&^JwhG|AaA z_V`|0XdmUSuZv$THMB1@BRNO62H{L~Z&iYB*c$}wxPLLA` z|E+}kTb~)IZyj_~QTV&#G2%G&skT#ldsnJvB8n&lKyBR7gjhzV-c5JYPZgIT!b5Y= z;DjK%tFr2+ zl_S?FV3mPgZn#tqp;~QOfuWS`Qshp|HLwHIqmI_^)5<-35BC^tdQvoWmQqW)?qJ(N z#b#;+{J>RaEUBjqLD=(9^jS)QC03-(Co@n5ZYul06~XB8u+vS|K_n9IRQ#s@v9AD7YMWg1Jf z$_2W8Q*p;>93k&s2pL8wZ9rIQ@&>Itf-9Z7f6M(Rh5Q+eVsc^!+Cly zz?`IJ?6~@aXO82;-cz}OF}t*@BvY7k87zEm^oUPTLb?-C4ajLgfx2W+Du%_lH1{pu z!(j&2pSZGHST$*xx~ZVGvp(EfeX44pxHwhd7{%TbA-uo1f>7KpJSG#22%b#yoc~Du z6&v~kTlt)CsPAp0QS8?w_IxF5^BEX3pb8zUcZkR65O4J!w6@_A_`-b$j(Z)?J5ziY z%Mm&ifZ!(SrDNi~GN%pJTK&|i$>s(5E}VIV9r-4?KUFLcVcF3U`*ZDIqvcDDEkl>% zmf9S^BjlsqP3Rc;6O1O&oUU=dDt7f{3W7IQ;0!Wop#`*2b6Jc1FqFnPeGZcD|Lf>u5pPl?YW02$K`# zrcUV<)_4T_CTHCqXoGGyLMnhQE?3pBI;HKJwK&SYyKaK)bdA(UAI5Azv8ePC7350Q zt;}jRH^}o~ba4>(YF%z`-`>N7<=Ufwj+7QQ?LDH6>c!5PgbAywAR|-T;g$QRgkIu;rO)}W^Pv`RyL!@eWg4o%Kp&vt_UY)htK2l6av0dO?)tY!;le|tAQG+&fb~Zzbr|ow) zprgu<^+)6xu{cd?Q-n%;=*KU$k-3W4_Z3jul7(7_6eF*90_Xx|#G3;Hv;|E$z#35MuI3YuJ;{T{FF@i8da3@;iNxr6=}D-BN^6E+56F7k=Bg zj43?+8BAqh#U!v;NOton?R<=t4X5N=9yr!T;)`3r`z}XIMJz|Q0n5)S3wWPwu$LMi*OFgsZr<~;7Y!7?6CUW9AbK+T7iKRwWgjDXlDG!=f9 zq}3k(kEf2q=J+t`f?T+2V5Kowxb7YX742|J4 zwdrYBSfAr)G9f?t(0;~=Z-x_fx-@NxCn)7y3gz=Za)ms+>K}XJ>?Bm5!56KO5!nDc_6hIYn>&nWZ{f{&0I zu)@Vt)zDX{_(wm6*Um><2|Tq_nsamRc1(DgbwGvK@+*&Ef$7G!bL`nb2>k=_+pA8Y2Iyh@B+RKIdf4 z_DE|{6|U20m&E%=fac(<**+|^>M01aw{~>~RrPxE@aWv+z~c2dS`fmzRyCEcnaxQe z2=WrBKP~QdUo($+=C#(>>WLBPOR(+YIrTQdciNt(%R!$|#2TD^uxBm#Alk;uk<1Q2 zI$M61kaC|}q?RdrgtU;VoLsnTRGtmX{5w<07vu0}_ARDq?S5Q=P0d8pDEodbR(9=0 z?}R~3S;P_zGm!%=ShCtpYE{h+i|_`W|IrBT=8fyYgv0RqMr1rrYw{p*-LDI^|77K# zRr^rCh*&`AO{!?|X~qkt-enF+q%SaF0ZuLDzT4*d5lUx5nI*BXC_f!EAs`vCYV&wj z{x0&Q5HYrP0i&0oSWI*pxDt!h=K2grK9mE~y(9|S$;DH@y)Nk;RoP%I`@}{~720cs zmv+g!pYP0I>htO`I(KnP6|PVTCuKdaLx=|Bs(Bkwx1#RDF=yMA*uO!-Z|(pmd+t5vHGaJXNE$t*g4IuuuVARE>BuT~*yhgu zOx7JQilPKdo%#f3vv?0_F71m!y07%zi}!sm@emFEabdWsc+zZ)%m6El+3smHZPaAA z^M$=ZBkrL>qZd0wZ{n?MVBz30ZAAxXK!bhczGsWeW-p2Unr_0$e61Z|jLsblv*hn# z$f+2Ix&yCm5*R0zv-D1M2j`jHnJ^&Wz4$Mk7eBzu8wI9`jpI3n*51{x+jJ7|x!FgP ztA~-cbYI%RGgE6TIuo8>U#j*aKtSr1D5!%4|Bh_TVvxnOkaJiq+g7NE#p`&s?7Wj8 zdk861D;F_#3565`1dIYuGv~#uE;>@PYTx1r-@&d|u}&z-Jj8@D$&_FIZ`9AOMy zpayojTYmia8^%J}j64^}*15n_5JGJ1GOZBeW{I6e&BYxHY3+I|_6B*En6}cSN_iD^ zae?OK;wpGSPr$l?NoS6PYda&_rD7|4k_dnKhG)4NZLQnL1;QjJkzJU0$bQSsTM-K5 zP7)^QTc!yg4*Moy!TX1sXcKNcvLOI|3ZYr+0c5t!C`W_ z6DZUy$_f+M?WtVyP0{fWEG1%!RX>Hg#OmzzTAhX_=@ePAAd=%CcpX$S4871|I#mZM z@#e4lu#Sj|F&}v~*#ls8PNEzC@}Z5t$k--bO;zJLilp!WiKY>Er6S@}*+>pSlreDq zkw8u|%^n6R_L(@xXUjuNL5H8(3=SNwMcx@4KH} zjlj$Cg~X~}M)BS=Nm(kdhRjKOK87=<2P7Rxe%xPzQ(`kS99%mXa`F2DcXL0Vp_0n8O?}R4f6B3+>E1SzaUIVi~;0y*KPO36? zjUdshN$3q8l0BloSY*M8qi@ivGW? z;ms{B31+g~=uTC#L@dzvtGRu&4qsD1(OHAzyW~pwz~9UQ4+t zZ;*jXCTzD@~f%+Hfz<0i~eaovZT znOBz-^FC8z{qDOrOO+TxA^+uIJEk8j%Cux=y%`9MKyfut;5oOmnJkw>Y4MTtzaJMQ03x;^8bx))`$1FsQaAWH+BSD0m zrjm$f>@d+e=Mc!7o}QS!TT?I-peQpS5rJX4m%aB30u2XI{HkOW&VXbRY~!fpz`m@X z$Y5Z;K$#==ahF1Tdg!rrrD%WY{}guR@l@<>yczeNa*DDfy|$xQi>1uWnK_H)l)VrU zA#sx>Qgl&v=SnVGP|^@l(L%*l-A;6lXtFmiG&ek;#oZhZ~b|Ph6^eeT@sr$V`j^InnhE*b$xh?%^W2N{Z`52#u(Y0>9 z9_9~Lt|_$ZX*04@L)a|yGG=0$XMn$cNmZLLd~@5ITiDGlM{%=g<()Z~WxE?Pi&f+; zYMm!uFFMn!$4;m-+_BPq&)(}cxw|^{YwoB#X&ZUJxUs=?>AO2G9*I?$*?bJ>Ik;g8 zwUCWYf@(d5<6m>}m~&UGH;U{Md3Q1W-Sz>wKK_ktMfYaRYR65OIvmf zU+N9l0dtC6*KgHUGcGTo`MyfjFgf+KF8SWg_ww2%MV^aF+NdqRq%6MVsCyE7Zk5@R zniqBYAH~sKMGbhpv5gjrmae zxKk;R8y4Hy-Q*ED$TgNLvfb_zqMsJpIHp_BKQ%R^s5U!$%gb`Sj#~ za;od$^ZM+v!LXdGN*ks3SSFiXw?3V4O!T#XkkW2Hmz>cHE?xX)?zNZ6Pw}uS`05@p zsCr_ZXLIeE^kW5k7QKm$lT&V?U!9L7C3tw{n|RZ+V>6mIGw};DW_lUQs=r97#mjYR zEqQL6Z5tUgq7hIrFF`+6SW^ZAIaI9-)3mOePjQEp%i8MdE}a8=cc%Ses8`2xK!Bb znEz*mh?OQ+?ZAWGmegLAbv^yR58qpQxua44lbK_{&LrWd1N-WFjwwauZZ;n-KP_z9 zsU}%uv^I@$Ij}@0)mi6u&w^9k4Sz@b-RKyp_85w*aFwxjWEm(*G>=Ab*|!qMySxo~ z{?$7sR~)78W$IC~&M|Yg?Jm8&$2fFZfSFZFhg9aq;kQl=nn7_g=i{WB9&a@}e#Kv< zf_>4n-hI>Zv;u|rw{I$6z0$1D&Xbk*3iZgEjQNsuC@v%^FXE!!wvP5?{f&=Zl0PmR z+&7l8p!zS7x+br&wyIWY>PsPRa3!TU3gL8xCdaIevTvAI&na4>#8k<>IXW^XofEtz z?7-T<35(!crsm9q7O(<_n*T|t4tu(2uG||l{QD_NHc63a^ee%mv>|{q|{5)bWH=T+$sV$E0+|#v% zRx#L;k(WD>;X+l=Q2gg4Cu+3*tS`4U#^hNV?YMpC<40_b!jRfQl`~V^d4=QDy1D2r zhX2L~qy*sYLThVdI}kiN5h|#}<9q}Zg%V7q#PKCmkcOY&0}2Gho5u%~K{|w6i-H)g{So+^S2_d~ zfFKItherVw0K?nGKtJofu}`_Ksd z`^zMtypsMEy`C`>10o^N447v;1%wL`cy<*Cu2G_+WaSK)EP~gK0unq`A#lGCvHnyF zsG`J}BlUF=9L{%4o091P-|{$u<*Jj`3>z|1N>v!N%s`go04;07M_iaOD%lq8{BQ8X~ONh z`?_zPXJutMqgdTj)qeBMuGJ&;ytmIqKX6)HQZC8M%LYC@_1MI9_483B=hmLmtveMC zPPt80Rcy_58#f7+eeYHpKDKSKkI4hz7kC)FXYxn@6@u*wR2sZlg^*;^uMup^7uW~_TG$}rfs(Imu_7D zz|C(;yxofRGd8k*yP3J>dHBBUsZPo3jS8!>eXQ;u&fQ|vLpyQ482J z>e{koEsEaIVj_!;or${zlx6Au=+~jzTD{zydn|_p@b6T~M6UnDm9tT*wx#FuPH9op zvP7u?8yn|2E~y5LZVAnol_=%3SKpEH;~FdGtxk@1{`8PF+`jY}eZ84eD!0u%we2=V zD_mZG!EVKe5t^HRwH04BBs}!+2?zznEBn+&RBgC=&a-xZnXZL{kYoM!j&sa3#i%~o ze08ueX2F+*gVwZkt&3&lG5-b<7B|~a@9wKrU+LgXu@$4VDh@w;D4ex>L27(;*&k_K z_ha)?H|eJ?U|E=j>F8O-tG`?B+ZI7dw2=FBW_Hb1HXWj*GmgIL2obiw**I z>=Zz#`dZ#URl#(eA`Z&KC{^9W!^M|oKRqW6{(3{EcMKXbJ#wJ_6k{-PGjUK+d`_XW z@NjW(>wG2*Lv)yhHxZlNkHMrk=*neNp&u8Gfnjuv=0^KQV`CVbHvN?5^^?Z@A2jwH z8bW6i-WFUxWf6o$^y$o^;cXJ2Bo{?d!3t+Sfl&w}jw2F{j?zh*U=%?aBuy|1qbwqb zv*%;b=_Kt0*R++~nT!yGL2Sa$vuP-sMfi3$4Z)aX1L^F!G!&x?cKVsJgknT+9(<#5 zzxkVmqNJ5T5Q{#8@f#n8FiCtc%A_N63}mB%Oqr<|g4lGJD@x7-kD(1^)k$B?KRf6_@?6zAt;KG;sgoeNlG|^#)iml6{O6J38yWKXBHow7?HdH(^*7I9hr~CL}wZ;@ITRqN3`6L7*U7`kzz;G_FMx| zgn^KaLFpKq6ec2jvALClVU}dK!bEDZ$zDL2MAecFWT8w_Jc-&S{E90`gR;cts&47+ z?MGt}ZYG)?)i-&$dD9rgilztpG*wU-7vSUSMkNejq6l^6N&_KtL+XD4rN4ck delta 41525 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 diff --git a/SemSEpaper/exercises.synctex.gz b/SemSEpaper/exercises.synctex.gz index 8b5870845ae279d929480184b6753e8dd7b29035..a829a3356c252e619d950ea5e140ba0595818547 100644 GIT binary patch literal 38340 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

-v#h#XN&zO^6My3S$#J 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 ZJQUa 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 diff --git a/SemSEpaper/exercises.tex b/SemSEpaper/exercises.tex index c505bef..da184e4 100644 --- a/SemSEpaper/exercises.tex +++ b/SemSEpaper/exercises.tex @@ -9,12 +9,13 @@ \usepackage{xspace} \usepackage{todonotes} \usepackage{listings} +\usepackage[ruled,linesnumbered]{algorithm2e} % Enables the writing of pseudo code. +\usepackage{float}% http://ctan.org/pkg/float + \newcommand{\true}{true} \newcommand{\false}{false} -\usepackage[ruled,linesnumbered]{algorithm2e} % Enables the writing of pseudo code. - - \pagestyle{plain} - \bibliographystyle{plain} +\pagestyle{plain} +\bibliographystyle{plain} \title{192.127 Seminar in Software Engineering (Smart Contracts) \\ @@ -25,15 +26,15 @@ \author{\textbf{*** YOUR NAME AND STUDENT ID ***}} - \newtheorem{theorem}{Theorem} - \newtheorem{lemma}[theorem]{Lemma} - \newtheorem{corollary}[theorem]{Corollary} - \newtheorem{proposition}[theorem]{Proposition} - \newtheorem{conjecture}[theorem]{Conjecture} - \newtheorem{definition}[theorem]{Definition} - \newtheorem{example}[theorem]{Example} - \newtheorem{remark}[theorem]{Remark} - \newtheorem{exercise}[theorem]{Exercise} +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{corollary}[theorem]{Corollary} +\newtheorem{proposition}[theorem]{Proposition} +\newtheorem{conjecture}[theorem]{Conjecture} +\newtheorem{definition}[theorem]{Definition} +\newtheorem{example}[theorem]{Example} +\newtheorem{remark}[theorem]{Remark} +\newtheorem{exercise}[theorem]{Exercise} \renewcommand{\labelenumi}{(\alph{enumi})} @@ -75,22 +76,26 @@ \subsection{Solidity storage layout} -Any contract's storage is a continuous 256-bit address space consisting of 32-bit values. In order to implement dynamically sized data structures like maps and arrays, Solidity distributes their entries in a pseudo-random location. Due to the vast 256-bit range of addresses collisions are statistically extremely improbable and of no practical relevance. +Any contract's storage is a continuous 256-bit address space consisting of 32-bit values. In order to implement dynamically sized data structures like maps and arrays, Solidity distributes their entries in a pseudo-random location. Due to the vast 256-bit range of addresses collisions are statistically extremely improbable and of little practical relevance in safely implemented contracts. \medspace -In the case of a dynamic array at variable slot $p$, data is written to continuous locations starting at $keccak(p)$. The array itself contains the length information. +In the case of a dynamic array at variable slot $p$, data is written to continuous locations starting at $keccak(p)$. The array itself contains the length information as an $uint256$ value. Even enormous arrays are unlikely to produce collisions due to the vast address space, although an improperly managed array may store data to an unbounded user-controlled offset, thereby allowing arbitrary overwriting of data. \medspace -For maps stored in variable slot $p$ the data for index $k$ can be found at $keccak(k . p)$ where $.$ is the concatenation operator. +For maps stored in variable slot $p$ the data for index $k$ can be found at $keccak(k . p)$ where $.$ is the concatenation operator. This is a statistically safe approach, as the chance of intentionally finding a value for $keccak(k . p)$ s.t. for a known stored variable $x$, $keccak(k . p) == storage\_address(x)$ is about one in $2^{256}$ and $keccak$ is believed to be a cryptographically secure hash function. \subsection{The Weakness} -Any unchecked array write is potentially dangerous, as the storage-location of all variables is publicly known and an unconstrained array index can be reverse engineered to target them. +Any unchecked array write is potentially dangerous, as the storage-location of all variables is publicly known and an unconstrained array index can be reverse engineered to target them. This can be achieved by using the known array storage location $p$, target-variable $x$, and computing the offset-value $o$ such that $keccac(p) + o == storage\_address(x)$. + +\medspace + +A trivial example of such a vulnerable write operation is shown in Algorithm 1. \lstset{style=mystyle} -\begin{algorithm} +\begin{algorithm}[H] \begin{lstlisting}[language=Octave] pragma solidity 0.4.25; @@ -111,37 +116,41 @@ Any unchecked array write is potentially dangerous, as the storage-location of a \caption{A completely unchecked array write} \end{algorithm} -In the following example the $pop$ function incorrectly checks for an array $length >= 0$, thereby allowing the value to underflow when called with an empty array. Once this weakness is exploited $update$ in Algorithm 2 behaves just like $write$ did in Algorithm 1. +\medspace + +In the following example (Algorithm 2) the $pop$ function incorrectly checks for an array $length >= 0$, thereby allowing the $length$ value to underflow when called with an empty array. Once this weakness is triggered, $update$ in Algorithm 2 behaves just like $write$ did in Algorithm 1. + +\medspace \lstset{style=mystyle} -\begin{algorithm} +\begin{algorithm}[H] \begin{lstlisting}[language=Octave] - pragma solidity 0.4.25; + pragma solidity 0.4.25; + + contract MyContract { + address private owner; + uint[] private arr; - contract MyContract { - address private owner; - uint[] private arr; - - constructor() public { - arr = new uint[](0); - owner = msg.sender; - } - - function push(value) { - arr[arr.length] = value; - arr.length++; - } - - function pop() { - require(arr.length >= 0); - arr.length--; - } - - function update(unit index, uint value) { - require(index < arr.length); - arr[index] = value; - } + constructor() public { + arr = new uint[](0); + owner = msg.sender; } + + function push(value) { + arr[arr.length] = value; + arr.length++; + } + + function pop() { + require(arr.length >= 0); + arr.length--; + } + + function update(unit index, uint value) { + require(index < arr.length); + arr[index] = value; + } + } \end{lstlisting} \caption{An incorrectly managed array length} \end{algorithm} @@ -153,17 +162,37 @@ collect vulnerable contracts used by different papers to motivate/illustrate the \section{Code properties and automatic detection} -summarize the code properties that tools are looking for so that they can detect the weakness +Automatic detection tools can be broadly categorized into ones employing static analysis and those who use fuzzing, i.e. application of semi-random inputs. Notable static analysis tools include Securify \cite{securify} and teEther \cite{teether} which both function in a similar manner: + +\medspace + +Initially, the given EVM byte-code is disassembled into a control-flow-graph (CFG). In the second step, the tools identify potentially risky instructions. In the case of arbitrary writes, the instruction of note is $sstore(k,v)$ where both $k$ and $v$ are input-controlled. The tools differ in the way they identify whether or not the values are input-controlled. + +\medspace + +In the case of Securify \cite{securify}, the CFG is translated into what the authors call "semantic facts" to which an elaborate set of so-called security patterns is applied. These patterns consist of building blocks in the form of predicates, which allows the tool to simply generate output based on the (transitively) matched patterns. + +\medspace + +teEther \cite{teether} employs a similar approach, but instead the authors opt to build a graph of dependent variables. If the graph arrives at a $sstore(k,v)$ instruction and a path can be found leading to user-controlled inputs, the tool infers a set of constraints which are then used to automatically generate an exploit. + +\medspace + +The fuzz-driven approach to vulnerability detection is more abstract, as general-purpose fuzzing tools generally don't have knowledge of the analysed program. For the tool SmartFuzzDriverGenerator \cite{fuzzdrivegen}, a multitude of these fuzzing libraries can be used. The problem at hand is, however, that the technique cannot interface with a smart contract out of the box. The "glue" between fuzzer and program is called a driver, hence the name of "driver-generator". + +\medspace + +SmartFuzzDriverGenerator aims to automatically generate such a driver by %TODO: I have no idea how it does this actually% + +\medspace + +The Smartian tool \cite{smartian} attempts to find a middle-ground between static and dynamic analysis by first transforming the EVM bytecode into control-flow facts. Based on this information, a set of seed-inputs is generated that are expected to have a high probability of yielding useable results. Should no exploit be found, the seed-inputs are then mutated in order to yield a higher code coverage. %TODO: This is probably extemely inprecise and should be re-written% \section{Exploit sketch} -sketch ways to potentially exploit the different variants of the weakness. +\cite{doughoyte} +%TODO: just explain what this guy does: https://github.com/Arachnid/uscc/tree/master/submissions-2017/doughoyte% -%remove this later% -\cite{10.1145/3243734.3243780} -\cite{10.1145/3578527.3578538} -\cite{217464} -\cite{9678888} \bibliography{exercise.bib}