From a8781d9d932aaadc6bbfcecd36705eb6410871a0 Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 25 Feb 2020 20:05:58 +0000 Subject: [PATCH] Update the fuzzcheck test module so that it avoids inserting text values that contain embedded NULs in the XSQL table. Fix some legacy entries in the test/fuzzdata8.db that had embedded NULs. Add in new dbsqlfuzz cases that have accumulated over on the dbsqlfuzz project for a while. FossilOrigin-Name: 47d4240c4a837e829f593bb2aad7563010838f55345e7a0d8e2ea79462aeeb3c --- manifest | 15 ++++++------ manifest.uuid | 2 +- test/fuzzcheck.c | 61 ++++++++++++++++++++++++++++++++++++++++++---- test/fuzzdata8.db | Bin 1741824 -> 1472512 bytes 4 files changed, 64 insertions(+), 14 deletions(-) diff --git a/manifest b/manifest index bff710da8f..94c1b57a2a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C If\sSTAT4\sdetermines\sthat\sa\sWHERE\sclause\sterm\sthat\sis\snot\sused\sby\san\sindex\nhas\svery\shigh\sprobability\sof\sbeing\strue,\sthen\sdo\snot\suse\sthat\sterm\sto\sreduce\nthe\sestimated\soutput\srow\scount. -D 2020-02-24T17:05:09.915 +C Update\sthe\sfuzzcheck\stest\smodule\sso\sthat\sit\savoids\sinserting\stext\svalues\nthat\scontain\sembedded\sNULs\sin\sthe\sXSQL\stable.\s\sFix\ssome\slegacy\sentries\sin\nthe\stest/fuzzdata8.db\sthat\shad\sembedded\sNULs.\s\sAdd\sin\snew\sdbsqlfuzz\scases\nthat\shave\saccumulated\sover\son\sthe\sdbsqlfuzz\sproject\sfor\sa\swhile. +D 2020-02-25T20:05:58.963 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -1015,7 +1015,7 @@ F test/fuzz3.test 9c813e6613b837cb7a277b0383cd66bfa07042b4cf0317157c35852f30043c F test/fuzz4.test c229bcdb45518a89e1d208a21343e061503460ac69fae1539320a89f572eb634 F test/fuzz_common.tcl b7197de6ed1ee8250a4f82d67876f4561b42ee8cbbfc6160dcb66331bad3f830 F test/fuzz_malloc.test f348276e732e814802e39f042b1f6da6362a610af73a528d8f76898fde6b22f2 -F test/fuzzcheck.c a9746aa49843827f960bc875cc70e04b0cfcd3e10e6676e3abc402ad190e165f +F test/fuzzcheck.c f5ed4e174953a4f33cd90891349b9c3e96439a2bfccbd016a3ef4ae97e9aa5d9 F test/fuzzdata1.db d36e88741b4f23bcbaaf55b006290669d03c6c891cf13c7b3a53bc1b097b693f F test/fuzzdata2.db 128b3feeb78918d075c9b14b48610145a0dd4c8d6f1ca7c2870c7e425f5bf31f F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba @@ -1023,7 +1023,7 @@ F test/fuzzdata4.db b502c7d5498261715812dd8b3c2005bad08b3a26e6489414bd13926cd3e4 F test/fuzzdata5.db e35f64af17ec48926481cfaf3b3855e436bd40d1cfe2d59a9474cb4b748a52a5 F test/fuzzdata6.db 92a80e4afc172c24f662a10a612d188fb272de4a9bd19e017927c95f737de6d7 F test/fuzzdata7.db 0166b56fd7a6b9636a1d60ef0a060f86ddaecf99400a666bb6e5bbd7199ad1f2 -F test/fuzzdata8.db 8bd41f8e1b9c61af011bf5cf16a85fb7f718fdd3348e476b78ba36adab872653 +F test/fuzzdata8.db 00cd360c354083d69572e82e1da9f582a2ed60760baf9c04558ebadd885d390b F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8 F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14 F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536 @@ -1859,8 +1859,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P c431b3fd8fd0f6a6974bba3e9366b0430ec003d570e7ce70ceefbcff5fe4b6fa 4558163b6a525990f0f1b6629dbb76daf49bcaf1ddbaf0c50fe05ce9ee480ff8 -R 2f59a601b560c09f0f628a3935395fd4 -T +closed 4558163b6a525990f0f1b6629dbb76daf49bcaf1ddbaf0c50fe05ce9ee480ff8 +P 40739c793b0e98a3bae296d3a1f74944edcdd4cc33c26b417fde4eaf6f14d062 +R 02479c6654f151ff7effcb61dc46ff16 U drh -Z 88585aca481f88c3f165f1a6e9b07ffb +Z 417d1fe691d03d97f7ec8cbb9d1cf8da diff --git a/manifest.uuid b/manifest.uuid index a0c4891c50..dd2162fada 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -40739c793b0e98a3bae296d3a1f74944edcdd4cc33c26b417fde4eaf6f14d062 \ No newline at end of file +47d4240c4a837e829f593bb2aad7563010838f55345e7a0d8e2ea79462aeeb3c \ No newline at end of file diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c index 5add53c19d..ce65cab805 100644 --- a/test/fuzzcheck.c +++ b/test/fuzzcheck.c @@ -11,8 +11,7 @@ ************************************************************************* ** ** This is a utility program designed to aid running regressions tests on -** the SQLite library using data from an external fuzzer, such as American -** Fuzzy Lop (AFL) (http://lcamtuf.coredump.cx/afl/). +** the SQLite library using data from external fuzzers. ** ** This program reads content from an SQLite database file with the following ** schema: @@ -63,6 +62,21 @@ ** If fuzzcheck does crash, it can be run in the debugger and the content ** of the global variable g.zTextName[] will identify the specific XSQL and ** DB values that were running when the crash occurred. +** +** DBSQLFUZZ: +** +** The dbsqlfuzz fuzzer includes both a database file and SQL to run against +** that database in its input. This utility can now process dbsqlfuzz +** input files. Load such files using the "--load-dbsql FILE ..." command-line +** option. +** +** Dbsqlfuzz inputs are ordinary text. The first part of the file is text +** that describes the content of the database (using a lot of hexadecimal), +** then there is a divider line followed by the SQL to run against the +** database. Because they are ordinary text, dbsqlfuzz inputs are stored +** in the XSQL table, as if they were ordinary SQL inputs. The isDbSql() +** function can look at a text string and determine whether or not it is +** a valid dbsqlfuzz input. */ #include #include @@ -322,6 +336,39 @@ static void readfileFunc( fclose(in); } +/* +** Implementation of the "readtextfile(X)" SQL function. The text content +** of the file named X through the end of the file or to the first \000 +** character, whichever comes first, is read and returned as TEXT. NULL +** is returned if the file does not exist or is unreadable. +*/ +static void readtextfileFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + const char *zName; + FILE *in; + long nIn; + char *pBuf; + + zName = (const char*)sqlite3_value_text(argv[0]); + if( zName==0 ) return; + in = fopen(zName, "rb"); + if( in==0 ) return; + fseek(in, 0, SEEK_END); + nIn = ftell(in); + rewind(in); + pBuf = sqlite3_malloc64( nIn+1 ); + if( pBuf && 1==fread(pBuf, nIn, 1, in) ){ + pBuf[nIn] = 0; + sqlite3_result_text(context, pBuf, -1, sqlite3_free); + }else{ + sqlite3_free(pBuf); + } + fclose(in); +} + /* ** Implementation of the "writefile(X,Y)" SQL function. The argument Y ** is written into file X. The number of bytes written is returned. Or @@ -466,7 +513,7 @@ static int lengthLimit = 1000000; static int depthLimit = 500; /* Limit on the amount of heap memory that can be used */ -static sqlite3_int64 heapLimit = 1000000000; +static sqlite3_int64 heapLimit = 100000000; /* Maximum byte-code program length in SQLite */ static int vdbeOpLimit = 25000; @@ -1425,7 +1472,8 @@ int main(int argc, char **argv){ vdbeLimitFlag = 1; }else if( strcmp(z,"load-sql")==0 ){ - zInsSql = "INSERT INTO xsql(sqltext)VALUES(CAST(readfile(?1) AS text))"; + zInsSql = "INSERT INTO xsql(sqltext)" + "VALUES(CAST(readtextfile(?1) AS text))"; iFirstInsArg = i+1; openFlags4Data = SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE; break; @@ -1437,7 +1485,8 @@ int main(int argc, char **argv){ break; }else if( strcmp(z,"load-dbsql")==0 ){ - zInsSql = "INSERT INTO xsql(sqltext)VALUES(CAST(readfile(?1) AS text))"; + zInsSql = "INSERT INTO xsql(sqltext)" + "VALUES(CAST(readtextfile(?1) AS text))"; iFirstInsArg = i+1; openFlags4Data = SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE; dbSqlOnly = 1; @@ -1623,6 +1672,8 @@ int main(int argc, char **argv){ if( zInsSql ){ sqlite3_create_function(db, "readfile", 1, SQLITE_UTF8, 0, readfileFunc, 0, 0); + sqlite3_create_function(db, "readtextfile", 1, SQLITE_UTF8, 0, + readtextfileFunc, 0, 0); sqlite3_create_function(db, "isdbsql", 1, SQLITE_UTF8, 0, isDbSqlFunc, 0, 0); rc = sqlite3_prepare_v2(db, zInsSql, -1, &pStmt, 0); diff --git a/test/fuzzdata8.db b/test/fuzzdata8.db index 5f6d7467daddc98b3f3fe0a334ca54bd7e5f2899..e9e11d21a22bd285a9ebbe3583bb9b4dc2ad18c5 100644 GIT binary patch delta 37454 zc-ri}2Ygh;*FU^7bMM}}eK(XOlw<>;2eO-N8a1JJ5{h(4AxIMv1f?fS6I3J+$+1zQ zAR+>xL7_3(oFuJZ^v4u#bSql5YZR> zsYHwY1BgE5?@x5KzaPyR?AF7xRdGK9|VbbBMh50Fjqx5ZQJ=k>cq@p2;QhWDb!h?juq(g~*!8hCBmX zJ&As2nmdG|Tu3@v6NU?{=)6qnh zlc^00$;5`7mPGC)(;Cv75E&Lp-8Kv$lN$O(NH-;e8hS~O>`LY|q>vpAo$3>5OSUxl zf{A#^h6Yb9BCTCSq8vmb$%uv!vZ0|4nb6=Q3mR->K!b%WXE2e;MCFuSR$)cqW=uh) z0gGWOR}4!{P&r&{j#&-aFvb`j2xDDYQ6!5{g<@Fmm4(f)UnJWlm{!`HDT-Mb5)EP; z?`cRZ%nfNN9#xGvv^BGG-MTPTRSb(0WSe@>X`v;^;hsM2!HMJCQSN40)21|Q0cj6A zg2Qj;4H?v{e-HQg8TZFMFfA)1v-zE>@Quw>ACiC7^?PF7Lwj}`*v&nwSxjb@&zlkF zi_7qN#(SDIaku!bemnD^ZhgCT8GJk0${Q6pN4Zx}G}g_XIc-MvjO^+6b?6{#E_W%4VRf@WpMm=9gEyM7IF)?RU@rAg--Ee>^~BKO@zE)UlJT)I*$Ih--py`kzl7_sGTmvX;bgEc&C#&H z$L<#q2C5z#=ZW*hQhlF!WL)BCPon1!e^5M-*J>O4Tgp2w!{g1Qb6mW~n@C4YMnEY2 zneVpoW)aiGL{DZ+c0AO)Q@1wEKVl34kISUP=vpQ-41b1Mz&()}bzfWz3HN#7;y_*} zG%mpx?~RX%&yrn{f3ZGKf-g2M1|n)$NITgdb3$TFR(u>C@!q(Y#Mlf^yf?v1e;#jq zTtZ@ER#sMGLSo$QJ|)EX;(T7>p9qxK6qD$Q8=sM# zn4O(H&f|?8M=Hch6^NTJHdY>HNNZpVhcTnL(UtvI@vv&0u{MnD$%n#L)oKFwhrF3F zHYUm3x;41EI76Xorc1-G`|~=i$f?(Z1xJiV@A&cAxBKVGh`D`^PmGH*donVzVzRse z{1bdJWElFH;qi=5gz^V?tvpXmwl9{j8Rzk2j+2dkI|r;{{ugG6mnM}!#{F(lZ)VnQ zV8g@VCqTr0 zb8V=e%`Lw1fBwt*Q}wLdhxso|AlJ`pf$Ng3q2?pOmNRFE%ttOqK{4f>#GMz`m>che9i^d66W9w*{ zXY0_FXj#ofVYV3^19>&mUCWx86hpxvIlQ688t#Is3Czf1VC}ceT`NX{NJjK|k12 zcsHMW&^M2t7R(LNb9r-&%IEJ17J5WI1(k#b33-)#y9J#LoxhZ zKOp~?z1+xIlcIe*in*}$KK?G#+bo*nR16QzrV33qNAKrmRtr5x_;{uUDTXI|fOj7s zfj=JQX3nCEj`3`@wqkfJ2`=U+UbuReglsv+M+lmKGQKkPz%hGGrx=Ew;x|+^STQ^m zcc)@YD49=_WOayYfz+=|tv8px!?~XLWUIQ0Vb{nz)t2aS1@r1ChT{2uX!*@va}&AZ z%GEy}%A1+nLC#6u2OoZ)&lZeU#rEbl7;}z?1+jXN_ASrRI}}V0B_HvkEn)6ezF3v9MtjKpK#PR+D?>8C(}{*g*=dUr*HrW2PF8>K zRpAt@W2quqtE>UGF^Nj9%J`)V>@2HWjz_KHtgeKSOo;f*;f0DiB3|oOIH{px*bJ;j z3FJ7je_gSYshz1^cVKVu#&G_IULVG^vskcSh$z)qPjF5!x5s3+;AS;kF+6{7pbJP{ z$Y-oaX_VNdsBXou)^R)ksz>V8yVNI&6(xf5p*YPF5N3yI`?v~a@A2T$Byo$gzNPKO z97SzJmGW-mLX8{!*(`%GIYk`iDn)dLG)QS+dJI>06}f^9qyZ>sundZUk7lv%(7%Y8 zaByF-L$JYc*{8>0QmQy1_>hF6B3>Iq2aC&s-(!Z;qeNY-KTKQ_%1}?78FEL8h8Q_Y zFkOvQ4BNW>!9exescu|0PMCx~yi7EvVUrIT=j;B~nOBao22S(H?D%n`<0yVL&}PCg z0#^NCS&PLJM5e|@L1lOALU8_Qo`lsoqLyHz;p$@RB7A6um?zj6xVp?b3+K%e4+%CF zDxbH8t~qS!0RvW8TjQ#EqD)hoD2DTYfG^BtDZt1j;v=q(Bw?ATEF%P17S!~zK8w#k zDn<)74r}^ZT@35265n!`jWuc3IEG1U#0k#EL(LFtU99(nh|tw$WXeIeO*U(Tc!22> zc294r7{2_2haw5w!Qj*9L<5yVa>GQZI;u^;DH{c7Y%=CLm8lH!K2TC{_coEr*%ZiK z;`Cu+iFi}6`yh9@GaAO^1vi1@GvYp|>KvlN4PPHrVk2etb+c73_XU8|D~+V@`@qg3W;3!}cijREW0)n+dC)QbHkTfTCgKJK}<1 z4*)ysAS=Bu=4ot}|HJPY22^?ie1Y0ke8u4;QY__Y{&_AsF?GM zSWRJio{!QW*$ZGptYU(aT@D9szb*z-jGmtr2N7?J+I#CMmjpNXvACmy;&@e6T5D=6 za+YbgL6~M$3WPeJKv;~f>5i)m3KrOiRSzWZ#pnzf^$P5O>&B-=!U&EkhHG&XkX<4 z67o2BU!$y?whkZmO;t)MYYmpX>v)mj_94n(k_q4q<%{mS~%U+SRZmyoel8)aY{?#^AuF(I5*+8CzL?~($f^Bbc%9LVbS<;juIh^ zh9YXa7T9`c4o(@RJQ`rW4tEXr=OaII?Qb5^mp~yNf{R?#V zDDNvu45<&fPu!krbqvi_KIM>lPE}-QUZ7(Kx)j$>3=SPvYop_k@;$k43GD1-q-noQ zIZoQ_gs`X8PhkBhV`9;dHU%3URjSAVcEPIiPMV>QDfj6t79Ew!Rm$C7`i`P9)u$L9 znJtG<5_Wl4IZOqmkUQPc4$=#QgYlmCm6wPyLfR=Y1c#qfwoqyxq@59UFtkefic&8_ z$6mpWvDs(JN0izRY??X~F5DNaqyLh!L^Ea?*hE7X?WKoms~(J34A0$9QO-^Mz@Axg zis7r7l!(RWYLt;QZ1z$w55n?l{`T(ooKYG(48mNF-G^B}D(gwZGE{z6 zZVJs%o2vB>R3a4?jJ#XumYdw8J0>N- z&1z+$#c+s{uX_`{9-65x*=j-l%8({dwLxsXqj{`I7(X7OepC`*^ijhB>$?YVBak2=w4q21q_~8a9&gD!b?#hbs^!n zHi3IRP`+8z;W~uCN`To0z2N+8ix7g@^ZU-zHyZ6 zlbdl*3~knYR2N#uhqRKHla9$6o}_F~p!?n=Z;S-=HaAFpQ8cU*o8quwn`LCd z#al`^EufkL_nFlCFwLZngQi;<97OS3KEqq=P3h zD>KVGKGW-?O?_4 z|6upP0Yh7~aQEup9KyGXuzz9$d0h?$+)(<%%B`Y}niVkKpO_}VE1KFyy~8OKN;I|a zUtsy~;eUFRdFl*;;7!Oi(Zca>aKwPd!~U}!t~I+C3bu;Y|9*bg_ur-{VR`aj>3eO( zzuD80O|}R-#J)>oQ@4pU{bsM=S*>@?&z4_OG;j%dyQdqzSH;e}Qq&7jrKN*{S!s=_Nng(P26 zAX4yV#8Fg{6o@PS&k>T1l#M>F<^1=Gkz&AoQqyezH(^nfbj3>8{-S97KPo`__nS2! zYO8Qd6wZMCh7$HaY;F2)F<~Uikm>EI|3M2?i0=OF_UM|6YSaHNQFx5JmHp1|run1R z|B85g!2d?!e;Wz4l;iMS*r=)9{+-sQ|DeD-L0+~$`)9-dH`)IE)1b)m2M2=;lbZBj z7AO;T@BQ00Y5#?Ra$D)6@58E_O3VLoYu$f+gzWi0d)A%VvUwm%&bXP^877ogs1%XpmRR-d3$6}%a0>4=>p)iO$5guJI^S@S^IC-6#yr5BW}w=~9_D0MYu zeF_y{SR$~AM=dd{9TdZ^xPZiZ?bJ-w@cF*6?ZMwpoo_UJOcKAq zq1{B$2%9FW=QM8k3Nl^{>Wis8)m_B)GL-1n-q^pdx`$FR@3u zT=B%k`r_lf2~cv&oC;&+iiLQ7usTRrJ1T|`a|23*xh(B)=V-MbHySRH{Hw5YbnsM2 zofX^<52veLh;ucjWCr(Q*e_e%ODfes%J|^TxOIX$lnTFtw3o#$ES;kErPTM3c2G=! zs?EV}NPg3P7)quE_s1u5)drf{NikfJk3Y2q(`sZu6>Rif4tOabq3V{_P0u7qQsJ?cKeRB+8# zI%D^J>Oo;K%EzsI@jlw3K>nMqU~FL3eNIM}di#BW}M_nx? z$3uAix_VRI6JjpN*ezOMMUHbj!?)g5oAA;rYNV=mRSX|laOV;AZ7!9!(NVi_=j4`B z#+d-mI^cg$@u6peGx{$bm>%drUAWjTC>+9T8$XcZG{J%)?S$(CnD%b)&r(z?UaA0=K0$C)mn3a6tfuuxuG z3aS#)wROp&8K#_f_4|vodFNN*uzj{v5J|y>LX}TA_kxRiv|y}% z%y>x(mD;j&G%6wTJcib7c^-?3Tb|RwQ%8%$=8@VhO-)k_*XQ3c1eQf96BD*Y8d2A*Oo%b!`ez&H|MWR9B|3k){q-45t$AYKx?85QiQ2YGKfGsrHjZX(}Bvz;)FghLp9B z-4Xf&V>2Obgw_o_Sz5*4NZf*p=4jK5>OG2~Jmrp%mKI|8;97l%V%T5j&!X#aRlX%K z3(Iq~0SpH%(MmX*{nuV1^>Ps7b25SL(iTWS=8Mt-O;L=D4K|SDx!UvIOk2`osA70{ z=p6}tTt4}vY?jYFlE~=T46hf~eXE7S_WGt~@KUo79q!$)HR%=~6O;AZgQ5uu^3r3B zXMA>M;Njd1^GFJNGe>*kGROb*Pd@({c&Il6?4jM#DGGh^doyh-s{ z8F5LOS@Bt(3~$!>gp62E*7*30n9R6XPaKstgNuo^B9+XjtSqQW*Ai{5vt~}8o;`KO z*l`&%vIB*XzuMK(E+0S@hLZ+9pKUUnEX)l#q%H41LNOFZ+yw|K25ViUbrvk|H=K&X z|6J5ry7Bx)hGCdrq%CH6@c5#KNrXGqGz-Y zG@v^^qglB+QZX!@c1K2U{9v8dgwrs;wLzxhk`*JbTH#vX^XHn!%F{+)RQHvLBXkb_dKZ3q|)H&$z-L}89oDSC{;$C4%bGI;t2 z%~U!}_b_cu%4Ef`RlCdHc`u8`F~4f-7`U%c%ul2NjJTrpmUB;G(RHm*okHM`{=G#l zynJ1|qN(>OhG%ZClI~d{q0mAPcHk>D!3`OXHR|gbXHcZ;FRM9rzIxvV*{-*dWuP%t{6_F{ocF*ZfcvN#s0CV75>3Xby2~V(OS+WUwH#fz@fmppO92%!zMS!oX!Qk$skC&M*pnqS`C$y0XskIG4yXg1H%q>vksg(qWyXYxU5EkOZ zQ#14!0c8t<0=m5j#l=Cjpdzl80vkRFHbTR^pilAPp8EAb#I_YW&DAHu%4T{)*xE}E z!!~{OVS!lpCGdLnT9E!2MJAgD=p$Eu6oL&>^-1FPys&f-Ve#!WTM(38=fT)|us&Rv z1JA~@7fGso@_qx;&o#bZHTd`S`W^47`20fs9tH)|LurhS(gTb4vvll$opVBR|B5{l z_H_c0cnKa%*SiEDe?S7=MP}|q_mixO!>u%t2=x>6&t&E!JIbpel|xI_f;YdJnR7){YFXzu?#>Nq#`KRH%ph#` zxBF+au~{A3u+et2?-=Oh4SA7EesTuLFLt;Xo(W73>(I(qcA;LpBgAC zhsy7RqTxnoy#cs?2x4$w zY~79D_SS=lb2D>CC4CR zpcswm6ZG|g^l?ny6I6D0a5j;dC&0hJ-V}4T1Ql?+m7>>UcffH-J>T?ExR5{#J@}sq zswL#SAK)+!fPx9M)%R5`#Z!mE)47x_&0@w zKt(mPLfNY!_v3~sA~DJ%?s-UmiL=w-`hji1ZOil_G#^$#M4^5G$_{ZA!avh{ zL&q5=4Ym%pc_92}=EJos^lX|)DZ%@h)Wavn_;=wwP-bE!E#anj;F061n$iXQkiNIQxJ$ zQ-L2JVc2&xs^P8g&Cw9L*kZ+)m-WK|r#*+|-zn`FdJgL4fsBt~)ec8E)-KaO4%p#5 z>|E|_h3+H2jpYk4?StSBMR|_e*!`HkHIP>Ym2cYXL**rVZ8&_u(GPYUc7%aDCpZ{F z?@=sp&g3xR{*!t_p!P+m>|?J3Q(kkJik50UAvIkyLh4joIObRAxq&L5z=%_{H5u`a z4uSNiu+wO71Qop#X}Z=`?~(6%D!4Lc|O{1=ry$den|{2@6O0w$Z;t*&7%O~ zYuZto4A(lE#shY8?!LZxVm7FcnbgZ%8ARk=q z1+Mv~Oc{_>7j?{24BME@7>&W9rZ2gjeM1E`zr7A;hFq_?4s0K8x(-!c#TJ|G z*X}LsbfGm~eT?Z8&V-w$aP}SM7O>L{-;OXv)8P0XmB@gOKR|Mwp`rg9qZ*K2tE|{|p6Z>pq8@6HOzjbH766hrBLS=a@!9 z(g2eM^OH?w8e^E!({xZ6*)OE{4X`gT&BeUFrbX2LCbmy89pTXFkjVw#&M?ivL4!=Y z72|Y+U~D?NYK!qqUu5xUOx!ts!VZpnmMzq2|WNHLXyZIXEubJc}EM5m( zUj#LSt4(dGP%x)%8Whx3J3{)xx}$J>xoItDb%B)!hr-x5O~Y{J5mPgrnQ`q&QyJ4k zwi^8=#c(#TvBIj8rlA3a<@W$6ynlnILiM9&8)j6Po)xSfZYVHs=eX;vDNSV!pfXmp z!m=x-x}=oLT#m-`rW=ekgjHQkUW}_UrR%CiF&s>iU3{6{VHXXSv-}0{plP9$Ri6$w zoX<0b!RVJww|z%)?ILI_Rkot)(OpcHcbv2rMz=QiXMZ(f?DwWNs%ldV-}R6tdzltZ z-gs>})ibGu8|uUNt4d&2eTORyfQJU|n7FNPJBU+jo zz+TTmRt<23;m7>cFt>oCuk|=oB%=0^F z-!}g*DEuV9Cqgp8p z9otP02b{59pv(uwM)OzTEHWhmxmzf9>|j31SsZwGnc8BB(j#5d- z*2B$hnA+}Xr{9I?Bh2fWDnF;u9?QQnx!CV&s~qyjnisJSkUN(~{05&e-X26idUwFF zndXfu>x8S~%+t6;v8${;4(d-fUt-Bn+|nEZ&ihT9F~6bt0K>eg=GRsE4rytI1hG_x zj=b~J6a2Ll0}i>1Yl5^-M>@J7yJ4F4TNjbKcy9ozu5e+osRLA`o7ZF2JoDogHH3Dt z_e+O;P_pd*)JT7@V%XbG=6nU8FE`IO^?BCiud5i2G?QW)20Wn0vI+h=Q1FO(n!J3= zdxC$YnI`o|&5H%=g}K{I&G}sqtPc|l%}=r3aPgpdD5Rd_8Z3U?To30xZhlB(ePP2% z{uHiz#+)r!KPVRFu|U2T2PdO7JG5D1O2eNvn5`C;3Jgt8hNUNlBBT!eAKlmU*o@tZ;_Ee(5RmEv62k2E)OB*_;kJmxAArW7YY)0}W_l9t?Zm zra55*=92m4&a)gb7v?Jy?@`@scr$09PI2#S=walHddzE>hNo}YY zUXGP=)9~A`%r4GGmR>QxqpD$w;fX#nzYj)!Xa0z(V@ZolC{N!`cJB+F}iXKDW&KShl=H`vh!oStr51 zt=68{pIP?G_b&StSlt+@SS|>5FRXl8w1Auu)?UzjxAio3GgC;ZmVwe9viV zF60ZBd=h#itiLk6S;wMsHW_v_vDU%R5X)tGNqI*LYbp+IVA&zqeYm5wRV5=vSbpVf zDwGsk(s5j*Wxaf-^5P~-3U+I5xvI(6bZ?G?;)d2VeAr`|DcHnPpQS=&5m=dIX~WfA zk~xE73X9Is+R-vnlkeuf*ig0@2C0v-I-O1B821d=?-Ja^HY`14= z1uHyt=#b2sSLlfD4$hI5YA8EFNR{l;+r#Ntn-`N0*uG}4WQ?U-VCz#@(3(Qv;g$^y zZhdH@+4y7|WzF>anTh9^(>wn~RuuXGoHHWZ|Egwi#7ee1K z%Naa=-jcxJv6gCY=wD?Sg}c{TQW;x>5gzLx2K_&^?1Ise77d-xT4=dg46UNoZrE$1 zWxrrc@Y+{oTQt3B`IWJycn8m@c`jCajPsv_Og8;%0gS*^v9zQu?iI5jEBQEj~ z%sXoFb4cB9nE}*hB;;3H9+!0=h2$NUaCl~q#SVRTSZd2($>1rWywr=_ETwdV~hqyLZd~r@}%WC(_`0r_?u98{mbo3xK$0UO<~4JlMA2rkS9sJ7tpa1_j@dP9G@z% z%nxW*a0l>JNO0HXY!y7#NcF*r5KC`d_&x=vY&G2aR&R%$&RLEKRv5q-3FEzjJ&vYl zEk7~5_BqL5YalA#x)@hHZ@HgINOi6jdAu=R^t82Bu%b2=D}1%p5-jo6jqC|v_lgye zv(6fZJASYX5}ZE?ojR*cu*J`ot$}x=544khvj|5q>vI&RlDf}8%G1_YAm_!Pw)l%; zHBqCraQLt_1v>m>e(lag(F$AiQ(MVh8D9s7Uz5exWbuQd7Njq;Dj06Fe#$vt4~O5N z!ZM3hN6%;0^9)-BS>I!vZ-B#Z%2vYC9S+a5X5qKBt=o0h9M?9qW^f~anm9jKnB%Ms zQD-beAty|AVxHSdK|kLJ^&huP#%Yn(LP~8a`p{AbCe^c;Vat!)B7OHA%6`7+yyZBA zgt>FBH zqNWxvn!d2iV7MjDI-FW=DQaoyh5Zt(S9D_wa)pN}Qp>PD1Owi(G?I3&9dLtZ>39iT zW7MsNOYuil#zn4wHek}X5zc|oBb^n!w-=1 zj7DynVf|DpwUv%N=;&s-h#YLV>sqPw@sXx;B+T@EGFMGBstXpJQyrQlj>y@I4* z5NVI-NDVYQal6?*a6M-2i>WiLyQuVKbgj0o_)QleUCJPOl+{u?&&n0fU%|>{VhEF; z2Y3VB3$34!=?{SGQLzS6e>Q&&oy^wRcw>oGC8-C&RUi_v{W9z8#P<-o9v96SMy;@( zrNYB-xVH6e8o9*3ziMfZ75QQUgEq6tb=DPH=PRr=G#%B&wH5}yWc`||y#cOM)^DJl(UJru zv#gKdzMah8b-8dyHOc+xsUSKBCt z%Mri9vcY9}7ZTsIzHa2l36)A@PX^^MtmrN~NFGuEzK^V@I6s3Cy0wzwyB}LylTvR( zgw=Wm&sJHZNb7en!f7>gB-x>4d~R6=JHE6I;{08VsBO(uT#nGrzd;$1OKw2l+cU`@ ztr)%v+!w);8f$+tX$2L$fA`v-{F*}?N9T({F$}0Pfl&MdC|Pe!h5kR9|7hqtli4s? z=R-*8W1WII*R89mV;@2JQR|O?G$$)CDQhy&V0Bd%9g~8{ENqp{#g9BwarNwd`j}ZgqpoJGK|M2 z4RZ;~+wm5VJk(MK=byFBz>GLsF`4fxNG`L@#hmADT^YWy!nT?fuKZ!E)c11X&XV?+ z+}`#oHUAoukJ;w4-37-tF>Kn!_Mvk7nlxK%;AL#Fys$Eh>AM>E;}yea9d_@W>IrNp zzFFAbAEy`=%f}Y{kpBiV!aFlqN9g@j?N-oWp^Zkux4XSL2@KmUvAsd+T*aDV+fjzc zm)nvkS&cQDY_A0rYe&f%sM$g*E$L*&{sp!@q}X>*v(5GzzVWy%Nq&`x|3EQT8M_lW zU1fy>S~rjdKY}CPHhuTUtsC>gX%F0huk7|oGXEdoXltw9UHz()6_%B}1_RDB%kHu{ zZ31icPvEU(Z(7*y^_?(QH`Rucdo8JuQ`;WAyP)7jURq+?r>F^v;anEhgfa`KqFOpu zl-k;mLB6NE#=;%r-o}H+ZD>@J6vGEukjCv}@%;*0W3C!@j`JrL zy)Av_7lR@2T@;VajU$crO|S$rR$wF}PD^5+OUFcV z%wSfu+J24D5*nv+ahiwpR=n=YoHNeI>0?BB-Rkza8}B_DLq|uIB!>LTGDV;b zLqOpRdJqAjIiT1;z?OX95iFTV{^}*kRhhyXR z_A0>|K*Uf-9Hf4vmlUQB(*sw)@!MW@GlO-@>ve+Up0yO%W;1CxwX=PVyna>uldTDq z#qwnAAIWV3s(Z8Mklcu8%1(qqWtzPjf9Pp<2o{dsZuZk0%KFj1ZhJ%C0o;A;z2It3 zy9(7mvmluJx!y{)au=?GuBGujlXgEYu3$-jJH_xv2HM@4v4gxhH4({c_9pP4_eQW7LyWp%frp>eO5P@DoRVYuAb=zQC zzFlFcFSlRgEE+G)wm--4;U`F4h+b)bhj}n!iTwhXUiG@s$yyqGFHUa6w9KCLT_~rLc=_KK=8|)_e7@_~V{d-8wQ(Um^hCs;ar(A^% z(av`AYeb_YD z{f6j=`DOM+f(#TfQQZUueT*ik3UVS&JZgW6lbw}g_C+RRSNWZ(L9psGM<%T-qG!3+ z--WUkX3MNOu;JNY6Xcz-_f?a3)%JJBiZk|TCO;QOL2BAy#|9z4$TUjg))~`=Iiv}m zv-gwfE|@mTVPtS~esBy0OwJE6|0Z<=3X&Xh0T5j=E#2`l$Ah2PyEE1eDklZ!LjFo; zE8OszJxj3em^{HzCLm{EuzVuaA+Jx19&mAMa5#*e;;4-YSL`P>)(cz{S;!qdd*Rd{ z>}v$;4Y?mEufnbEj`^^5yGX*Z!ySudEHCXf8M9~AwF51rqT(BRw8Y(kj!+ysG-2R#UQh;lJa78E~=xOR8=PFB9I^cy| zwI3^*>^LKf2LSs<8HLo1=QNgvJ98Za_?@pLb;fmd9odWx#GNx8I)l_!&JsA>TiJ-| z^&HPJHVAgkc5H+2B1aD7CpxZU!!XAej130Y3Rg5#&3DYkn_KL(KOmu`Lr~yxo+FoKA&v0KeM;oKsO)-3#C(ZjjBtPvu0I4>mEmW@xo++mc`H|vb=sKv6 z=hDH4VtI_CGh@SHXNiM=U*gQiWUI3QhxGc64Nx$^<$|09MXuo9)&v(IGQk+bj@J~`*#$>t-RNfdq?$87{1xX zQK+z-nx4I{yT6BGsJT7Kg!OWSo5t*I&M> zEjHcih{BuuX%mkX-zian8?g@ubV|pFpY0a}0je~V=?sjxZXd*+PjFBi{+ezC=Xv`G z*s$E0{LgynmCZ8uMmUTD&gU}?4z+h&m3di^(>r+E9q*2m_gKZaJKcLtW8>lCrJztO z>FV6T0=gsV-Z;jz5$_f0 z;PeMCxa;LWUVh__?g7(G0+&!q;qW-ed~_cpH-m}M)+7b;-_RqAo(+zNf=``w(EYL_@O-?;#hMPXIH$Rz zIpicOu~21nocKF$qQ%c1h#;n8O^V|~8f<3AJ?MMZp=oMw#qiU;(tS*U#dF5X4u3C5 z+v?b^PNC$?!i%}Vkh40t`c7A(84lU**v{AkP;GXe#EKF}tY8m9+JfMh@!%ducOgIM zwlJ7B8T%Zc$`85~zfW$K8tIrIDi$uTae3ZzCm z!@(1;L`xA1fIX?iKt;6E0~K$&>cfUAB@Qa~5-=qXJFSqPqSr{oL78<>FCD9v%D&`J{`1v@_$6RF{a_z|}te&dl z$R^HW=@>wc@vIzlg>*av#ek96;$4Dz$y6##dWvqo&$;L9s zdCpY;?uF_T@~y0SIHAAuDZ+gntmFvkjS&4wkQr}2@8Z;UOwcGSNplV)OxNSi zln{ze4#knfoToMUro*=nN~MRP<@4Yg4&jl; z#Zud+>3B}Qd~#fVGSGEND%mH1?MC^AOO$*A%>>70S4}__DClNP zz=czt`K0pmkTTm5j|EQGRtDh}j$qjErYjBdCn||jv$+ALo1yqo*LPAWvnZYAJgTUv zis4Gi9nC%r%v;aW@gn$3^hUVjJEb2*?g#az_@v)Ck@~$Aid#6ztcwF?eF?mmtf zIX|P+HmJF*hG2t7onKIDJ9JRUTYLr1?txbjz8DR~$5{{fcAu*We*J{=9%dGZGyMY< z!&UiAbQgH+DQ6?IDB0DcR8^spVY3J<)*g4x}h45VYhUa{z8}EI_ z`7}w}1>S7uEfmGhTcqV~@J^&i^_7iI+MJ6$;JwdD(e4Y*Ih5K9-dtxN9PpBJH>FC! zJJUG_7nC>`Yh3ID*L&7xg{gzPV|s*(0_gmYT=~%HSJyNN-^<`Xq|}2Fqif_{ZyJV; z4mqpH0{g-Ls`4{d9dTV_=UPX|n4}#-Z|6s-N`EOU9k276b>^N-y+L>w;2dTzUsO)N;fhGH#siNq4 zB~hyRI%b>*UQd(kgGwFgv?nQu%~0maqBkI;ZBQx>{=vDObU20?XJo|^9~qFmbp;Oi z)w!GCJC5#?t|bgFqy)uKXtl!CjqRcBDHm`4Ek0zE&tPsk5)T)$daIr`^h&dBna~Q0R2`HSrHoBd&-q^Ta3OWAVOtTbvTd#cSfA zK(SM76`RC*@uVmeE5t*>FXoDwVw#vJvczaHRHTVMqMPU>l0>X%Et-i4QD4*%4q+04 z-{3#-8vZr^oL}G{@VEI}{0&~tU*UWC4!(sy$JcV;tN0^)3D4uR`Te}tef(aY!AJ5T zd;ssoyYLP?fqQu?-h_wqP+p7MxW*Z~#(rd1*;njS_Az^pRkAnPQFfTU%yzSFY%?on zPqQ_Jxgjs-scRS3r4AM?B!JY_3(3dTM-~!9>XLbQmE(CR%4B{=>4Ege-i_w@j4$n#1S{*b1+>FJkPHbPw?uev|Vgn}4# z)UF(LcL*QN9cM1PPF%JQV#VI;;n#8kqqyUz*)3+?5@Ah#O20>J%MHnL`(A>g{@QP1 zZaxZ)?|ZJ!<{!Y(z1#;?6Zj`^pj`0>V<<#_;W{r09|JbV(+*27s#Ro^EeolD72~y; zuzw#P9qJQDt>okIQ4eh{J~&i;n9PhO3@lO0C9FHC4B8PE&>ImBF=z z&w~XE)pnxle~Fj`I^^x+UqRk#r888#=}d&R1+Ml$kb2?fDe7oyrf;BrjWPgJKeOIo zxOS;pM0V0iTXA*s_I+mQMJs^8`_pnMB&g~akg67i34c9GHz8cO&R z@a7|mdX=e3B(BrY7^Y77*_`8*ssw*2i{TXMoi!0|ZNjP&Cf97V5rn6(jMp zEL0iG9ly`K#wrExZr3@XMknd_XUuP>wr1GwS@i_T@*Fhx4DqA4gv@X74p5t*U`6OQ zs7ekQC&>H)&G{kFViOOR35Q1NVr#D3( z5l=b^PcHc<`u#7|e8Sh^#y#pdf^z}t2f4-|_2mtex(M|*xi*4#oF@Vb-sZ_-Inkc- z|G>Zz*LjA$KeMP)_lnoP5Rfim*-L6W8D2i6-U7YDwPlpa9Z)~UrK8oLejmytJe#L> zWrEnpVv~T&P`!a?;2UnOkA!FH$>J8d9M29^cSyknX53*{E}V|lo)J$JXq@KC!5$~n zcV!j=)t6)gX|#BdR=%N{?`r$LCP3UOeA{Qc*4V@)aNS7hU7xChq38y!EmX}3<-5+P z8$*=axZ~XH7MXh`3Zt*S+GZAo>>X!+hJ(Yj)uGA+ z?l@KcCl#Cq>ALoz5=ND%c;*e&MGCTC8H3YIZ50#F%Ju5w3|GZy(beJrP0=4r$p@tV#>`&d?J zI^r={#?@zN*t#|3Nl4Gu8pM~4PW5qIm7`4)UonkfTYcI=@irw9X`Fb931YE$Y>;-BQz_z(^O-F} z`^%7bi}t2M(1B=)Yb2G&F=c&O03E$?W<*bm!fHVrqtOHLr|@Fp$-q#19NqV6r${OHa3@r)iP#GNEpxsXJV;!BR9np;?g6bC z7KG}R5Pe>|5ZNl|29ZcpGfUiF=4s8GHSWM36-g$LQV3IgUaV6J2 zby#kzESVxa1s|lObj{I281{qKO91PFft}*fmD6=i_VGjEEF=Qr@veBbiyke(MUU>o zK1;PX6tW>W1iCv-EJ)J(O6dDhTW2e-9~*i(eV30fRz0oFlvo-x+~^!6PUa=!eXF&l zp{pWv5p5vS!6JzrnK?I%3*62fA9TMCct5ej!)Xn{Gx1WclSxqenieBYl73}V%7XZQ z5pF12uc^?mBC0j^?&Yk%dT#PLw(BLWSrJFccgJ5>@hn>+WXJJbtba%AZJ)rbCGL7T zMZgo@4eR$)E;LMu_(hyh?aZL#$J(>I_Gouo~a2Z~3%!7u9vU|U5*Vh{uph~o;& zzrMyC35&iU*|Qr(Rr7GcLG59g^${=c#kY=V`6AwlKU7bGuCtvFK-?N_BwlFJ=7frq z@E^Lb!#sxJtdm+S3+w-4YT!=pXqeo>sE`<~2l)W>KcO9vff`xtLGyv&e@gR0h@=WQRCwvN=9dLPDyL(LYEf93G#qu^bpHMR6U;k?Ul z!L|LI;@n7swg6_#ki+m~TRlc%BcOIfxF05dp+-UJ&rzW`*sH%Lwp|L}(YD&1s~P@v zPz%7;jas1?1a5{Mo%LaC6c+B+gj0DJ{db9thQedo9GvgdY5W}n)nWP>@OIaocp*a{ z;uN6(4)wd*Oh5M2RY`dE^YO^@^k86@zIrgQ%Rv2T7@x)+@7X(Im@r&F#GK=(Z1I$g zOelX+?@ME!PGjFBnE$li8rzN5|0TS6=0B_FKko2 zjx5je`CwwL-Uc>I(7WNdwfc+VhN8uj^c!f9)<2h(`_g?S;jp}fgf#R;9mSVhRmH@7 z+)Mfi@#WUy>3S{{+@^HweVLOzf|L2k>nJzu!5m+)Z*oqC z4{Bc}5hd=^kIHNT^7q86<;Xu2|0|F;i2ng7`&>}`j3_FV^j3E8t@a1?W|=*NiF5Qr zGE~gbV}Ya>BD8*?uf&%NMdx(`d(GG1lA-RnaLie*s}NJ6M+)_Q7>fU;r=ahI{;A9s zVd6qj$+1&<0(%5%D)hEOxNpedJFQ2+$NCt&gg{Y#nid(V+ZB0KptWIK_99h z5M?Cd4KCxL?Bvxs;XZ$+4;o!Y2KF+HeN^Ics0lMnZ0#|=qtr?$$~6c@tnnqKo`9P# z>RH&$YrIFPC!zWey(`RTMtdC5(RhWjRv}Na=>Rk*5;npRh5i(yk+PnG{5T^Q^0>ia z$epB(Lwp8O{?o`a?024l{7yzkOv*71QR;7?PBl7V=N`sCDYcrqsa@z<>ZkUHH4xv^ zXbpM82yDhc<73Kt4r+%P)Fp-*U&-NoZFWv}jxXKkhthsVF7_)h-k>ryP&>-7plS%c z<{x1Ldmftm8Xk-tZG1zib;!rt1lB`wv5^S978xPvD>6QztPQaBE~6_n6dM}$z1`SL zSuX&)!w}us_?A)|q4r)9WzJM%Kc!xTsXYzqR;9)M(|f3UX~S@t~i#i3WlU{O>&0e zu&0e}k|MT@wj*C{zq|waTKmIJ+`rezBK!GO<1twKhLMK9Z!nya#CJjM79$SxD&2L$ zbKE^2>b8*NeVdKo@&d7}z`aAl-LDvfnZ$QP-g<-ViEYO7RO@R{xSpg~u-@p2GjqsN19$JwX?K3$3xXaKO63i@{d_6YqFk&QVN^$ST&%ZFb&`WOxArc? zf3>-MM-XqtF#6xd&(tRGVj#*aXQGfx5F#sX>vH!?qU3v`qAWqpjy1^NNBeo_~OiDeedfU4Ixq5t|>1Iz8fPXKEgII94&Ul#GJg z+-sp&cGpP!BjnsI8u4Q&JY;x9ZS4hyzuOoN1jR(@CYx>H6wDifVj&j)ZDaU~2sH}P zOt$GhZOiTxXlCw?=wjv>o8EUK^HUhw(>)r;$GTr2il1S#(~Pqjj1ds`i6Wn4VXWDf zxcc5*i1#MAh4btepe}a5C+K%Zl2(`v?VkdLUqJi7P9Ma=CgXM)2$0yg;a>{Y+Y6LS zWFT0!cn(4Qx1_0Ymb)3Y34Eow?#GG3VaShhPl2{=++QO>+(lVOFn+U<&5$(eA9hO~ z6$HDWtBa7}(L3Cc_)35G2;%*ic+f#mBEb{Bk8A-P$M})%<91h2M0)+cWl~YZ?^JAZKQ?uC>MSc`Cy->8teG%iAxSOe&PKzuP^Hj5rmS#JRM7!=YA~!>Td(Q@U z77NcAv7{W}{z~FM2|Nh`PcK_Fo)$%ZwncP}YLMz4v>W~$sN>yjZRH3GwXDWnO{9MT z-#GX3%Y&*tw)tK*7TWaB3;I4mq1jgDfw1iZcNmszcCV(^_!ZRoB|)E`)8nAHESa64S#mva4SSnYHVlmEn^_#{@_ zibGTtFE}|Y@X|t|G2WeOcbc|X@P&K3aJ0Wh%A1XL>@tfxj3m)IirgaVqwN32XbNK- z&h9j9R$UAVF3~(gy~O+rX44r{g6zhgaDOXy*RE3~B@}D=QJ+Hf2lr1Bb7K9E1}&>; zZh6Co6DEqsisE0(pl&g`3uOBx0b1;@E3Gi!>mFjOU9Ct*VErFd!JoRd7^i1SEE4J^ z8maRpxOd_h#oR2hC}?ap4hpH;-iAuF5MazzMH`Lvh2G6ZBNM}seT-011+K0F zmmOIQm3#i+?rvI5OE~@ zCrq(*mupUwSeupci3UVI>T#mChZ*MNrQC5q+@U)VXZJOi%3{AuX-7*!(+Csc+qQJK zBc^V9%2aV`p}A6O)ixM+=CFeu78evYGUvkhz`fkDc)*pC9vF0wxgGYJvI~t7W(bp% z_E0>)BqQ`ymJL-!Y&O0-)$Ad&4lr%4`4xUsYPJ=7XIqzhN`PSLQ1qP{fE8OkML1!$ zxj_VqsC~#B2Cb7KBe7_XxlV+Os9PVNh~7$*M#$0!%&B_3z}#Zji&SqPSxU`ercM zu}+AzMAlaKh%_-gS>;wl;jr~*vq0>kDZRkI)Z8c1H$h&U#WCg= z^Q6Rjqd&^>l0e6rqjCO!%ts`a2i}<`+3Od~WT)}~cWlkRLZcm=4uLlnq|1uu;z+8zVpvU80d+$PRU_|e7-E(hY+e?HuG?(*Fv#HR#+M8hKWyx z&c(-*EGta7B5e{IIKA+c-!ddNcvXhgCnWG7cRcn0;mg55hV=uN0t?7cvsOy1V5NF5 z4a_~PZ$&)evGc5T3_mQkG9)}GtMKI#Ai|7edBt(bcwwtV5BsLQ3%9K0_s@6r1 z#WlmNJ&NMsj`KYUUnV{=+Nxw>qh9Y9DCdq}qwTyAW34Sr8Ah@k4gUA#e1Z26!?+37 z3C6}?%^^T*y&AO`OADJXl#o?%mmTRORhY6Fd z=Y_Zvpy6WF4uSX=R(!o^*Rd9iciWw45>~`VuVm13h&4-K9*Kl>9b=R6z%E4N#@_<$RzJ3HBTQ2!M} zKnx||ZBJV-NbF8LJIRV>*Q5WFyoFDpau=K}u}Y!G0Bc_hC(G@5^lmtNw^b;7sJ+*7 zv-Yae*fA57d+_XZLCogOTWYx&_TFs$Ly1xx^$z(~>095}76Ge%oy#<8m~#>?;wF;lQELB-k=bYP+()6%OqVhjuIv zw*x5$f6_(x zvTySV7fk=3AEn!ma(o2Hmz$jy-la?U$`~1a8^HSy}d-HF(a$D9MZ=Yd9hf)bB zj*QmJsn!%KkzXc^4->@Pa6cW*(_QuE4|oXJGwVa;bwzR_xy*!@`M zQuqIr$M};>nv;R?Q`N_07i6q0FPc2Sqb@Yd8>S6^F`EYf~r-#jPi-0y#o> zug%ZSO82MbK>7dupjLDNsx-O7UMgi0q2``OyoN;t!n zi=iU31djdP%D`UdtbMYiR3QJ&`hz|MkYBJrRBqs&h!Dn92UE9~c|w`<;d?4uamO-o z!?zCyMS4)W99Dd?gMI4w#J;?Iq;tib$|xG)#D(P@VNaqbKU{fa$?VEV8scVL$%};n zoje$>ELxac89@g7D0+|x4@7t#-<}%lWDucxXkPGoF4>Ek#jtj*e5&P=@Kzh8WKXE1 zEQQ!#czaCrc@BjJLr_W!9MS@@6qqGBAHTOUnmab!B}iho1kVT($r7sUQKrijmDzUo;3{C=7+d2YOLocChn;hchD;^34 z%MUjXadj5hLoXZ2>eEUpq;}JC!1auxo z%1Ziu3W{q&lUw4(P9h0C4UNa0sjy-pt+tQf;*7&lrJgO6{|pA&S{<3Nk3%taw&zol z+~1(t>CA+xG0u^2`~~M644Lb>5F!yD^&im!NJQ6M^_=Gde6W#aVs3?J5?eXTbEAkD zYsn7X!QOZ5cIb9=&_H~p$sLsgpuS7Yv(C!MN;h{bj1#Fx;rLO{{K$prl?JKVJ(-v2 t2g=TJKW^RO`OoFZrSd3;JW8m|A!%iWXQnfdP-#(h!|dw7cXw<4e*o2qCy@XE delta 82143 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

g10UU})EVdt!?B`Yyy4WhhTq|>= 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 -- 2.47.2