From 05e8c5407f5d774c7c7947936a3a44f332fdcf81 Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 14 Jan 2020 16:39:54 +0000 Subject: [PATCH] Remove an ALWAYS on a branch for improved database corruption detection in btree.c:freeSpace(). Test case found by dbsqlfuzz. FossilOrigin-Name: 54bf04811951db6c894f272f870e3e41f8f5e05a25c1115efbbdbd0d8bba54be --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/btree.c | 2 +- test/fuzzdata8.db | Bin 1738752 -> 1741824 bytes 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 0f4f8c637e..0a231134a2 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sthe\snew\snoop_nd()\sdebugging\sfunction\sto\sthe\snoop.c\sextension. -D 2020-01-14T16:33:07.991 +C Remove\san\sALWAYS\son\sa\sbranch\sfor\simproved\sdatabase\scorruption\sdetection\s\nin\sbtree.c:freeSpace().\s\sTest\scase\sfound\sby\sdbsqlfuzz. +D 2020-01-14T16:39:54.639 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -472,7 +472,7 @@ F src/auth.c a3d5bfdba83d25abed1013a8c7a5f204e2e29b0c25242a56bc02bb0c07bf1e06 F src/backup.c f70077d40c08b7787bfe934e4d1da8030cb0cc57d46b345fba2294b7d1be23ab F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33 F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6 -F src/btree.c d70000b51523138582663b578b7f8a13e5d03c73c7c7ef18fdeafe1c234bbc3c +F src/btree.c 7af5ff0f88ba856c2681f6eeb457590b24f787e994f18cbdb44c2de2d33f757e F src/btree.h 6111552f19ed7a40f029cf4b33badc6fef9880314fffd80a945f0b7f43ab7471 F src/btreeInt.h 6794084fad08c9750b45145743c0e3e5c27c94dee89f26dd8df7073314934fd2 F src/build.c bd2f382562b08f14748d54402220be1082c2f8ff8973fad47e45a381c438f9bf @@ -1021,7 +1021,7 @@ F test/fuzzdata4.db b502c7d5498261715812dd8b3c2005bad08b3a26e6489414bd13926cd3e4 F test/fuzzdata5.db e35f64af17ec48926481cfaf3b3855e436bd40d1cfe2d59a9474cb4b748a52a5 F test/fuzzdata6.db 92a80e4afc172c24f662a10a612d188fb272de4a9bd19e017927c95f737de6d7 F test/fuzzdata7.db e7a86fd83dda151d160445d542e32e5c6019c541b3a74c2a525b6ac640639711 -F test/fuzzdata8.db 7816165a0e5d5deec593a519cd1f527a2a9efd0a3f7d00c232d8e9f29a2c0acd +F test/fuzzdata8.db 8bd41f8e1b9c61af011bf5cf16a85fb7f718fdd3348e476b78ba36adab872653 F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8 F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14 F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536 @@ -1857,7 +1857,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 9ce2192b81a81bb8928e3184664694ed2f863ce41c2777cdc35e6b61486aea46 -R 73abdccaa3b4b3bfc8d9b17374783df8 +P 72911fb1b010ae093a161b9c0d21cbdedcbc1f924a55f12227fbe342bd978e08 +R 2396ea5cb54c667d853921c6ec996dd6 U drh -Z 526da08fbb1bfa4a7cd4a8e449cd134a +Z 190afd1fe5730a422de834b7bdd5d831 diff --git a/manifest.uuid b/manifest.uuid index 02ee03a9d7..e10fd712ef 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -72911fb1b010ae093a161b9c0d21cbdedcbc1f924a55f12227fbe342bd978e08 \ No newline at end of file +54bf04811951db6c894f272f870e3e41f8f5e05a25c1115efbbdbd0d8bba54be \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 8b229ed5eb..be5d639baa 100644 --- a/src/btree.c +++ b/src/btree.c @@ -1731,7 +1731,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ }else{ while( (iFreeBlk = get2byte(&data[iPtr]))i7A+pWi?4@2{5+_iT3V%$$DaoVjy1BWqH| z_DNY)?N>A!?N-gxf8DbiHG?aK$vbuMagIrUBt1%~FVqyO30}c27zG&~!Ef*rd=KA1 zIeZ2m!$mj;Z^H>7D1@D`6*j^vkOM2=1yEr=%z|k!5yrp>7z9bs13E!Fh=XR(80tbK zLnj_oyD+#>?a1J3Y663(#xtm@?HHV;rnhDvQ`MFXPEg|*Oi^1f*i&uJU>h}t!B{oO zU|lu9V3^v3LA%SYjBH-jrwCxb7kb_UZ`8-w#z3xhLN zGlNrABZJSX1_qx|6$X=4J%fW(Erb13iNP+a$Y8t*47TM6+bm+B!9oTiVICgbXzjH> z%P`sAc1i4#*`;Ndjvg8H@=Uz|i#1RQi^=X1p95V%i+Pf!Y*tR; z)OP5f?5joJt9ox0Oi3_j;%Dm(&fKN?OZd4cM&O?3s?>rpXdPp24Wo1XJ$hh8M{{>* zfhX?^Vc598zOfWNe*Ad6I6&XDPSX}m12HkN(Xq{AV*=v>v4NOCAP_gEc_3hj9TOW9 z8{0g(X&{Kn4}@yk<}uBi23uhAcQ6_62lNdv`5x#oSu1*UtQ)sGRPTWov$UeD3kCwC zn~pVLV7WdDGfr!@X#PY$7jOLLvEh{^P#;fyqCbJ_))>q^p*u%KTjD)N}}o{P>-tAJXhPB!{u#iPZ+V(it6loDA_S@AN2w7| zpiuvj08L3cpnoJnGYsyqhLiuW{!3Ae9%n$+WvxQ~|XF z;=)q})?T=GzqLC0$9laOHc&F+)dv=Zjuz>=i4cpG&+7(ZVzN$)iKERClyO?WScK*{ z@dFr0L(l4Wh|D-s%u;=`L z`~?Q$uukR|vB^OF%eg^)ou{^li|#=cZi6OldmDOV`f`03#ebrI8=w^y|L&_w5tsEh zL}-nB8Y=^6$W{IOdhH@vquy%6;V)*W+7XNOU>`}(hS&>2(04H0-T&yYihBqdA797&^QbwhiaGTOvu=$hMB6(r4W z;4LG_YgTRw=1%NJx4#?#(`p;sxTlwLAImz5J8;s^5cyYpcqXUa^~Q8(CFlWjoyrvG zPH9;z^wURfB_Kc#l6(rIs3*oZ(=VWmaD{297fF8J*qfwU{Id_v8|qn#CFea>d=TmF zOW)N~e9Vq9>%3<(ZEK_q*Fj$_y&`z9VyrR@<2oot%7|8qbRbbeYvrUUCoy^lpk=x; zpVH%%B_cC|)-lRy0o(0U?D)e3WghkGqP!=AmLhs7<)93HHw z!<4}=oc8ut8Uq&0^I3SW(^?pb!Mnm|+G^)bIl*@=hKlxCcyl=Wj&9huVM}Vc}k-4%s#-F9KzqQ)&Qa%~xum zO)&g{dQvQWv7Cti)(bEL;h;ARN1ajz)2zcv zT|Jm-eUVZG`dK@*s!7s(5(4uv(a`&NW_W^gPBrJE1N`kj`Efm_6W4^ zypkltTr6!SHl(65#lwh_4aKDWP{hO+Y zsp= z8kXr~yQDcVjPuYeq?{Mn^)lr*FpL5WSPdmul4Gb(1^J4^n20dclVzu*x!#cb_ZTjQ zm1`HM4oS0f;lIRik59IoU8_)i#plD43NT?}Rl_byy&&uWsu*rq4BWo5Fc>3x>6FKr z0A$^yyc9CUDxrJXnE$)-E!tjES|BsFFlrk#yd%JB48EbXq_)w9cSOh`sfB?pmTNIR z!!Uy4E0q9H>N`puz)>R&$Fb<7V8lE940g0>4QYJVTvD}$bf8gT&aMK+4>rUc>S|~t zgPR)nGBg2s-D@`0MajJl8$n*f`oBWOpDT7i|6#*;D*IWH1l(nlNKm1VD_ zIh4XhcnG*uH@-GO^+*~T@KmbJxjxaH!=U7G76dH#o&b~oduiBRg&o58iUCQyAgIOuhGUl!#=$nE@|Ej zEu)j^-Ghc$ChJcGiBqYm~_|>!_6WW=whiMT7aXNtTVKy&X){* z71=Lojx^(lljw)f4R!$zA1X6klI2KAv#tkk??JV`Hhc#1aYn`|ERGXgm^jq*E7`s^ z{3JjTj+`NG!aH+JYpK=uhO+_`Q?CW4GYpqtiUizy%+v+HU2pPXkDm;O;Vm3FUtEWI zvS|_?-e~Gdz3&5tE<&%t{GZb{2eg}G}7-a#@;@&Wmo5D=STOyppz12*K)Zb>@E5do&8)=e( z6u0qr0p7!cwZ>!`>oaZ?;R2SwVoab;;l?{Uxu&FfI1KacrX+f)mT{H{?;fgWERmrW zl{Pju5#$dT&Qg|q81({~ni_}cEQ0;A8g^xZkv#9&3c`58K zcqtKbissDX^L(~{Pt(4TbM5X)ynYSr`xm~mA95DO*5miCVyfQa-Jg|}D&l$xLj6DA zpLS^|TbNUfTLrjA(pV$Q*skNnqgEemxDhl&3MaDKofe{2XJEUR(EZ z=KPl|YteSqI7pB`VdQ*`rOizZv7(hvM-lHD%i)m6G#GH&3&u6@4Ss*lm`O{Q85fFh z6MI^W)p6rp!A(uVO%(!GFExJ3Ir00IoyOiY@eSjv0C#ZIKI3J&y4_e;gbK_*X-q)d4r2z*Ic~JFRc4=& z`EtPyV|XY=R-*r)@fv+mV2l*uM~o~Ne3X8~s0x_4$2b$&m|>W4!?=d`{R!hY8zb=b z?M4gs*lcw1zv3~lg|#J?3kHs*6UOf_CQ^qZ#uYkNCYKf&H!FAVcTwvxLI3u+4lJ{q z>fp>iik)7o#f+NAv9H+m3mvUxOc&_YCB}sz%I-Z8cs4O{dj$9uSJsfDafQj)oiZ;N zRS|x}M_=e$QM(f3X%T)8$(Wdo4~p;yDY?dbK!1G7aKL?R)WEcaR=jGQ0bHbdL4FVj zHVsmsiKzr~YZy)V?M9=Q%U7?3M+nb|D=>AnsXFbwY3wHoq6XWwmupk~+s2)Gxq+lP z-ijN|Vj6zexLJ@NvT9hwgjJ?vn7YByl79QuXb?fdQ~ON`*ycOK+fPDPL#p3PZpf-2 zjVR+O;2rn zG>xGj^rk&}Xh`errW8Rd3T$3OPO8m?jovj5!qn=rjnZ8vwonN4ZAG|gvPBZ4XS z1EU)!S&RnUaaS;Mv;9~EbMA-6b6DMJY>=DH1hS&OY$jWziG^GXW;Bxh^zdV5xVX)0 z9Kxg7b2#5;Jb~9Q8-v)iuBjBPxmAooQmzWUe__h9ANsA)8k-QRkF4)Rf?Fg&t&A2hm*g%3@jG5F};Wd z)5Qe3IKsphwrXgfXSz*{IHw5J$=WeA=;Y%;Z0*Q2^`yiJru`!L$-dOI;!iq|(NTm^ zi6-NrR1;e=Yf$MjaR8hCTf-Uh&o+GtP!sJhi)%6Qw&6Q$_s}?(9?Ugq1*nDgEU^W( zW(%GOwaLCltOwLcHT_3`I(SNN`iS``o4WUJhSpS)Ax;2nGKJa6h8Ii=B?w^n%cf&W zy+e96O48hR6VrwQnEaw-p?fP#%qt=p+4U*-wW&T(<80F>0yIGTKGP%GnI={TeD*uT zS~`?#>IKjcv)h@NSk{@o6rmB?kD9hp)L2shaDG2#b!-8yB0yuz?qYJ1H_voigeGWz z%k(|A`rQzR1(QuH>F`!l4*{YuID-Y9@a?8=bf~T}&F4OpNFNlKVnk^A#C=xMfP(Qa3oTzAQ^Ao@M=Ze1^(+9{u($$lux&Sdx-3FQ4L{oW@X{KHd zN}5}de+nW`HhzpP-ZPz%`9^LFf)$QbppurHD`p8<7=6)n5#lKFzOfYO<5E)-0a~t& zG<`^)TrxElp%q0+CWAl>YZ%k!O2ppZ8vd@+C-G@8?~{ND z?M#y?wZfDmLVGMeV!Hcx)yDl|IuFnR3pVnJ?i#A$xdq}F`rxjisemKXMFkVPn;Kxo z64MzzTSqD`HnoAj>0STO^ansEOz2|@Kj=4qse>*g>CLQS=|)L$Ai}+)AjA z@jZ-1$a0pMlv3ZkNq|I*KVY6usjr$l0-aIKt08CA&pSDpNjZfDttmcWep`gT6o1^j z5cX%C+X_^tx%qQR=pRJWSmQ1#Y;Eo-=H#a=0Q zB^asTdHoxJ1wS#2$#$hXvhP(mnt@o9VD3x1m+AY7STx!giPrW)P5i!#*#m=U*vt9~ zpr5;$tpW_jQ`Jlvw0ng4DyuVln>Pat!Tfrj!8AP4yp3-dCAITZrHKCK8zKxNX|S2) zOT$ST&Ob+BpuIDUswJDh7GWe7-50!k^SnDgyagZpYybP7dyaMJ%s6vv0Y+h(S&YJq zV<8v!*7LL_-9$5sy~(V6^RoCe*?dc{Z4pYJn3<}WafU5gmu5m+?7q^~kiuu1zXZ7- zV|dK|U}|%qR&&iPQy)u}Yt8Qfom*&bDZn_Ye8v2BNDmC*c&uE{(gUUe1NB~FW^4E} zSeb8rd)t|1W`i6jX>PRHUpO_uOEPgZyC&_ApI*egzpgn*@df5PkkhAeI2ZA=Xl-Dg zzW?*aHHDmMvmfBMf@KnKpN!Tf=8F9lZ`oLmTJSdZxdz7lMe~~QY(t!aL7k;ePOEnd zanyai3k!xB6aPw5-xLmQF&~!XmXhY`7^(~dqrh%C^;GhvISS;7YhW6i7p>DHxyxJj=y;sUQ{gF zoV{Z|q7x^~q?KDsnoq}I(l6#wbosQorXbHQ9ILj|HwG(fnf)~Eck@=j zz$G|F&!0E5jC>B3<(k7V{SyeMxC`d0g;YCdXIiN&(VY>1ZBCqi&kFh>(GmQ(+)xlv;<dbypX zDW8w(aLX#L%4G#r)wbB{7xN?~b6-8R4b$@g&iNP<6WipK9^pkbCAgh2@B*#+*qkQN zEQ4jG3@=i-Tc|2f>U7IEz$H#gI=qCV;^6K-f=(8Tm~BAMIbM#DRfMZl=Cjlk;blx2 zDaTM;xaGVED=48+SOhEkFZphfxrXHz8CFrY-TW*|p6$L7Sk%MlVab3m9sPAJ`rN*j zFwAUdQ6US{>R6g$!9Bejvyv=3>6bM#xwXYA!deQ(SuP4#)C?P59mMT z3sU#KmLmYKVtKi53}#ie=xJJii&+l|v~aj3Q3hN*lIbE z8yVk{6Z2k=QQJ$J!_zpuZ3N!*I=k{OUcC4L7N0ZuvFx5XJY@2#tKFw#ODvy-qQWMs z47WG|&o8jF#YaBN&O@^;q5zvIDb=!93^9sjVL}}5yM>ZwS|lL-LdzclY^Cxkmd!vf zz04@asKu5`@CHTBwOkjtVZF;|9K=U$qsWE4aZ1;)HsoJ!`BH)%m=bU8O9QhkyZI(j zN=Iu~T$Cc)@Y-$5I7~HK z5%y!`M0qP__0TFwKK+L<+Fj^j=9 zFfZ4uVEVh3p7No6F0~VtylY`Gb}#EmloW5x6EXc$X*d_%VM^*~AEl(8)*}L)_{7o~;24&U^rm6PVp~JXyKEUF!f}f4 zZ!HorwX?U$+GH!=>K9L7`9^O9jv8!rQS&m(1s$A1`$V?v|3zjuntIc+R)iu<`&4=h zA8oQO#Pxf`I2zT-x+GMW6jRV*P5l>Hivixkpu?Jvi4&|gEc(M9iOI9PO)#s8^*XjC zu?rP_Z22T)gm0t0nluyh_E__1&t=Qa(5$D?9x3@KP{qp3t0-P-L)X*fUXVM;`XRsl z4#M}+@PoMAd9 zdw`2rxW&rkKG&9UFy0m}V6xSkhglu$c1&$(&0*_U{6bqES`S&8Vf-ytY5h-wUqXpX ztZ#?tE2Y9+R=tQ3FIs=*-#?_n0&8u+Nq4LUwEW02)>ZwiX-_Es0_eTw)*O~`;;7cv zY5LC(cUHSgn##v!!aZt`%2_FN%xBh2nE!n)s|ZP8=l;5&Ma~ z#4cij*h-8Mqs01RO|hEj744!?l!ZsaZ^BQ)_rf668M&uJJOWx$e>O2Mu)VU09Q|BPvu&z2?qme#VQyDB#S;i}!R;My}Or6YNp*o4d-RcAex2n%D__{id!L{k? z81}J3Wz~W7yqdz`A~l)8Y3e8jpHW9JI7%JPV4^yV!LI5M23x6v8LX=gWYDj&l0^zr z`!eWIlNdCpiOd&%SNkydo!X1RkJKIvUQoOKkE3Jh|I-WquR3A+|MbHDt4`?rpI#Vp z!rt(oKX)b2+K3+R(F^eO2z{9%Z(FX5Shi5A#=n0`krkGH@J2%`U6X#3DI z6!R9^;{UgpALPTXP~^`Rt%%n$K!+y-);qlMGfZvk-Th>xuO;%vt52f++d8<0;i*LHLh>JHi!PQlv{l3SrM6mFaa?p@iC=P{ z|AZLI^1sC5<<@r8A=O%>gRd~#B>hHgp=HTORx?XgN!Q$X-%@3e z-%bs;*2C0zsTr32ZaM$o7FSjdSVA?`Evk&MUSX-nL(4#lUTM|oWR}9+dxo#3N~oN; zeZ;Ev#3Z!tk#DfC-{+L4c`5wV4QaFloB?2%Xq& z?aZHkB+d4QlYf`>OA#tD|FW1&i9YKDk!MWNoRA+e|0+wIi$<|*uE1(b%&lf!N4pMM z2WiEhW5-Z%kL5MM!j9XP>qD7cGBe~4|cBIu}r1%HT%IQ61sHRd&w6v_izGBb>u zvV@5>Z4nrVm7+L`Ul3lAnqo;!TL4Q=*{fn+nG}O12bo|B7THXg(bzheqHbF606NZC zE8!mHkMQQhV|y(*XKltGeB`Hit5U=T>kScpqmpZu08sqTEP12WA6m<0=!4ZSTPMkX zob0FerWKd1(?$6whWb9jFJ>1F4YO?$Ru6J;sYQoW_JF%v4G1Y8%N$aGG8S5IGTZMV z8FInao%eajUC;qET(E6{CwvwBZ#*>SV;*5rAE_bd<|C204|lxv_>E#)jqlXA-KVG@ ztRI0O0XGIO?QUf2C*ssW)-{48U`mnbp=7%)PoSf}Si8v}VSJMJ7^aT0W<5z=6EVI( zX13YZSOv2Z^gb$k!2A?sO!!6&ql|jib^@n&8-Ny5W_WAh)S3+U|C`j8b1#>4xaW+u zFP3G1Ow9FO24X~q3!ulsPsJcEY-n4IQ}0-{bkbz&B!Ys4pNl0_QjI0wG~8j!)IuU% z_u2fS%wnNrqU=4ERw28Y`%e+S$)zuuG4diSv;K?K><0@L$4b?yMlD;p2v$tUw6($b zk=`FeQY0qDwt~(U3^WY{f}EK4BD2^7d{R3myu_&Ve=oIR#Y;3=TUu?T587(zS*eVUfjVG*bjQHJloAwUWva~+= zzHKc>;l}KEZ4suTJq!Jr@;Xdy;#fcv+S^_O@L+aFZClJ36{f|gPaFn%_^MrCL;E_0 zQ$Z(NKLNZ{7~^B*S;;~se*a7?ZdxWGKj_N3>5e0_ZJ`$lC`rFx`Uwhp? z3$3r&D?@Z(Rwr$9${cM|0jgudIBP6rN%oz95vQ$Q%sXXI!ig&)evuu+DsEPU2Y)qST zxHfBH@TORWsxPp8B|>eiye0c6Jj3>l2z9WH#0(^QiLJ9<9w=$P9)bDipbP%6%U+wl zd)YP!lqi~|4v;i=rsWh)?SLy++G;BG_BB!aOPU)goS?2Ktg=1e&u^sqj~83p6uSu{ z(ij)1X*NGSlVy8dga#NKVtcerTx%1dAqGdV>ipO`TUY)BCzxVm1^(+cR^T_r;5b_k z>XTd#1WMiTyiMvfG}=)`W}p3~cv}X6)gDO zHtebC45k|UY~_H#_S!C(bqtJH@rt~S$`0HA0P+VNN=VktFgd~gEKNIXTO&d=W^3(i z9XoDg>sTxW9rpKFtePR!raQ5AJLFcgRKvhUdkJ3uoS%5pNX@adjW&VeXt2?{7i?`rh(r5fnJKA+E2$+`#`0sBmuyD8 zJeXCkJwmD=riwL?Q_wG*J4@?*-PJ*o=Bq!S8=hlvg55udd#>A(WR}!PZLqY3X(koy zvL%YSZ%8dTjcqCAq<15Wq|ZriZlxDk-JT*X;J4agN)tyS^}lJ`D?&V_yvzF)L^IVf z16@IVey|+?NFaZa{du74F^;Aze^Tw8;Ly)DQGyQtRWwW|H*mxOdrfTehwWqNNT=4? z6NHf867$=dA*px5{4tV~Qmfmum^=N4snWJk(o>XRzXZ@3%X6g@lseo#4{*KP(T?V6 z?JokeOAxh>uk4}@Nrlww=PNh$@r z(^u&7o8*(LLu5??#7X*npj!p`I)+gdv#p zo*0Q4&s8x{@^Oi!D*hkrw>UjcI@8zQ8ek}vHgrTiwz;yIcE5CGYbAp#7?;tg^aiaP5(0hG7Mp3E%wmb{Kn zFanD=$;{g}*)y244|UYWJ+J8vRDF`|Wx%~-?EPURmd-RT$1;RT_2bg#Pk9Q-IJ8uZ#_Us4ZJahp zTmPxZiHZCTAZA6!L$*Bzv)`7cVfs$VNQ~d-MHq{fOXZeWGG1DPr(TflPdOR`Fb+%q zut!n+0ACaf;m7nPwCH{B2cen9BNWSBI6Fz0+{c!OMOSPo#F$yGlSfFJ-)Hm5RZ7kSobyM%Jkv3@lEtZ9{(_p9vG+mg@6}UQ>jbq?Xuz0cv;F%Urmv+wln} zXBMU9*{h4V`?|d!wtHw_&KqZAaW9*byr=EAbufo2qwP(AWBMSJlg-8Ktx`0dP#hfu zsyN6(A8(yUm96augwV&ABiqv!C@gwIR3B) zp6c}or(qy0#L|hj4I$hD+S;>{>(Ci{cTBGCsD@c{bkd<4_H9}@SxsCOkW`*y zR|Y08m)iU@|I6~GU^AWLg3O9= z=>@7NwA+|zoR^2t6oVrdU>O(VYM@-RV~PMTVq_m*ZH#}-){hq0950CQ5+x0{w*+EJ zdq;rfl$3053QttFf$COqTm^WU>~GneK;CMOFddAhU@gZ7qP&!$Tt#WW+FoU0YM^#4 zHf!i8;ZM5mv$Qq0kzBO>=g?u+adIi;C+K$vU(Q!=>_Ke{hmImZ{?LL5x6(r^kOhx^5Z!|aae0FW4l9qbr#i_d;VdO7&><>BSb}DJhTRA?;TH%-> zzz!^FukVKbn~wT4JIk>`2RrFeoF0THL%#@F_AZQ!Gr2K&ox_eLi!D{CU0Z$epEEJa zH^QMjN4YFdkTi!Q|3T@@kn6q4uDw)z)X@%z$)S+3*H&-h6BkhNN!E%bLriz+k2HNl zz*=uP)*mWxOpxSBlBTHBU(?m%EbrUkQzuHA<1zn0q6+dJc60yVj?kpG&}WGuCXg|~ z>v`z_27hu~r0QQVo`~TWL-cp$w+>?Pp5r1G%rw<`Oaw6^uFF9GoUw&K$>$xL0S@!2 zSZaO2!B(dueDFzntHhBY!ch$V;i!jAX6ff+#A?R?x_`+rM<-8~G#A|epm_+;%xjKt zP>yepQlFJHC1aj2$|ZJ)T_-5G%yCgfrZrxqOD8e-vcr$sUmVG_hyCj(6#Ng(FUcw=m@$vyZ-?qK^X_aM!VipPWuPA$hQG8EvbvmEc^eytAo}Iz`f)PWs2qEKXh#yWU0nHiw&{W;sd)oc5C=8<}XI z=Y*cY{MQ_#=usPPNFf_3GB`T`oW=Z&ygfl*1-Q+vK!3WU3>W?3$VBTc2S2MSouj-? zdj7)3X~!a*HceFMmfaa9zHJ-Q4>0LN#~fNv%gMs#Ma+KSs6c;|Q&0EnIeX}3 zRt#O~^i)kh1f6z4eveW0AxY8BMOMR zi;ltc7o8nh%yP1rbr~0|aI*5Tr<0YBpW=dSXA4X{>oiiAMCWl4u8`E9O(}d9#L7fx zRq_vZeksCLRM$DZRCT!XrU;+of_y$hGN0iZLSO!6Ec+r}Zx+Oe2~HnXpTO^xVbZfM z7p9tAVHBL~{E(lvuAJgzi%}|@RQQ4wQdgW#^38O9$B$N*Pj^OA?K#eCBHX~@G-nJ3 z<~t44VS%$qgs<@0m(CiP_^~sNMrAm+i10NQ&UX5#))MD+5xya58JEOOl3wPY-{P{~ ztY@1n=eweKD-gg@Tb)&LYhPze8n(u{U4-v&*+6FlYO>Dxu_)he78q~9mxnST^?cn) zB7Bco0~qrWdCnUm{D8|wJL51h$*H9dTR1UyNZQV^RFJfb3#+pEpPUqMPJSfm0Bco# zY7s~YjA;=az`{3}i0T}6elEh#Bpv5N?~+u+KYtOnAcSKfyn_oXASD_bFuo^L{d0MV8-$)t_Y6VLP5Wa8L0&m zoUS;G|CLFz$8ctWJ!-j_<5)?m#|PLjp{lDE)obMXOawdHlU;SGVZe1+1P60V-owe< zl7G4|GU%#;@f}qL+=flukj;_j}hSoSPK z)_k(-f+$7?nquY8%OX zUo%Hz0|L}%f$IQ2Tr6eq>FZ$eTo*INB`%|$RRFDDb`=@xJ-<9wO_Mb*whD-IwQ zBazu0n}*fH$%kDM{qUyC0mR6R1^&zw;XPL~&bEybcez#x^znID6Mz(MN%vkwsTHe2I?hWR{?2mlxZu8W7EL=9_ zy%2}3sdT%`2xR@-^|JtNNEJNk@R$-dgk@!WGu*p)$F`h@SdQl15Sn%ryur~hF)Doa zTD&oy(^8j@+yLa)y361R8A<$p0+ssRCV^}}x_$y^&!_b9n+>sIpW8rLcipLMjZbpt zVah$%rqB!K+;Tc%(g!X-pQ;8Y;An_|PLGAdzL$lV)$zv8kA=b5`!+8 zoUeog))mX|GHuxIx+_A+Zt})%*fZ!JOv7#NZ6b81^84MP$_Q%@Vl}=ehA^g<1!4l3Y(k$)C>2 zgLq?8&i?ejsge(x9vU@RSBUJOk;jC=d4Kh2lR8gC7Ahrw`)|J79_V$W*s*1X$@e_J_k z9QoMK7$28Iq94VLyX@bV$REAR$xmF%5i*UBL&#Go-sI+3f{(F`#`v}FAjQmde;~pb zN;vC26+-C<@ydIQV)PU&wE94!p?>Wdxny3 zy26=FEN2!vfe)$8NogB0h*x-zi6PGi4&25Go25)tTTBki`^oh;Lxrg0xe0Upf=@we3_bd=|kGoBHK5_FmFRFNabo!8+ zm3QK4ca6|ooHZq6J4Zt_&7?HFhq>Bcy!Ml3#RZ#E_I+0$@n7umzj%o(&*pqYay~u_ z3GF#5b-SZN9#V}G&%5{Y^VESp?w6meO4Z>{4!67N3AtC@(VUFW;eTVX5q~+qa)&F# zqzy3fC$@kvXYl+NKAQo|f6Qt4W%oC1eY?pt9pdzf=`5uDIJX(dUhe);fJIdNg^Sg} zWq$XGkaeVUorm-8U-DDe>`O~d-g$x3%r~xOl@eU;9wAFBT;nm)*&kgk{_Vg#60?GS zF&6*g%ES1+?t?VsH}{*&%JiP7Cw*6Q$=4EdO&%Hd{i%+}me!XN1rL+lQu1$bl>(1H zq1WBy7dS;tIC&q0xLNl11v}hh$CKQ-GJ3h|Q4gEvFq44a(W)8nTCO_p7*ineNQODyn-3yJcF?8p`y^(M9)UPHI*^Z(-c!T_?qL! zpr+fl1fLU~Bq{jw)-$`DNDXly#58VgNF)NwfI+N^aEy4zzvc~fTeLdDwO@xhX zZTF2w#)=b@uXkM_sKik7XY3el3 zWSTwQ^FWqoOPcS;aXyLh`99F%d7cFzzs_jbf){`D)IK!VvzXb0SM<@e@#bv6ys^Mv zwUM`C>2%*YdOyPxE5aLCc-d2v>Mrqg*25f{`m(2nsNcSEp!%GoImP$c+Ho<~wy|-W z*|p>GPsKD1Vp1#5PK@vFQK%@((?Jy8jK#Fx9uMvrd$AZjET8RbX8HFzPgTHztDay; zKFH+L|B2`qlWV6(r$9fv~)bUHe!O=xa%B4|v|;2clt;VdOtJ;TeE|Zwxj{KkZo}0%1k6t{e3_>#-SN z9*z9alMlv1hT#ukY zkolUYn^vALX+DVh%f!1={rjFp0;V4HRAuqf9ED{&eG=~d#*-)?VUwJ~;3Cgy{=FB* zJG~Nxee1a;KoJE6ub&CHw`VXd_}=q^0LAEk#=|oF3Qv8#yhzgQZT=UI>Uir{k3l)R zElpj>T<@8`+H3Rkh;MI|)CH2}y!js#g8 ze5~Zg9W%UxFttqDfr$>Qfkw3Sz5#Fv(@b>GJ{bRN5d8DUl}6(o53 z3GfLOrO7O!X05Ugr460E$7Pv?F?pVM04+)Ori*ZmpovWZw7p?j zMyZ{=X+YX%ybmNOd*eL|i%fehgZXW0#nvny# z0DimGyHcrKm6pkBvW?HMrXUN1-WcW13u802l4ez}kQ{1l^9J=l9MNXVf4;pF%SAI8 zzCN_wD@vi=IqxGK{D|cr`&f89;JvMbpDB1%ZVUhYgi^^U$<8Uf%bz#hKUC}$MffH3 zxGCbItrgXH$6GGIJxY`8=l|PrpS2+T8cmVO_LU;`xgt;DQ~ic%Ci_`To+eeni?fUo zB$s-3=s=;pm%WLi=_l6Ze)HI7!KN)*VEns6ZT_o9kMv-oz*pQ^#O*aRjac@zcar=t zyLP4l`+VaqF#f?tJqiW`!I<%QZI3sa+TQe@76q+_q}$$y><=KRBJ_tq($C(WCa|nc z@|{xT=bz0qOPb}wxR9wE_>KyorG&PE9>^s7?g^m7VyC$kfA4HrPLV&6yo&EOKfhM& zx0KK&ldp}5|E$s0iEM&e)H2LB02K48Ihi)5rdhlVk5}=vSBx*t%Ct(FoN0eGg=3eh zzQeMj(P&MWmnVLQwx9HRtT?SRl2FYDId_NZ*Jmyk@mLr4c6)%lIFWMG1~-8SZf``Pi3(Zd3|T!XppT8 zhZl?2JG>NV?c>KMuE{2Pqq}befDiKf?U zDwUFLfbV4;BWC?@-y}JF_wY<7nMU}25@dc{z8a?F>*{0CA>RzjOZJW7TXdx#>7#Jf z5@0K4KYauZ8tdD|H|tcpw-)e4Qb$n}eU}9AW4T@*gIPoL18C)B-z*)}!1uO648_g# zo#%UWsjI+?rWE}Gj2Ng~qgiu(EBOxqWbd%C=9EN9e+nZmfcF+4x3s9G&Wxgqj)-7p%ONl}I^HthoS&`Bs^n-i3 zIlf2y^q95*CSc)D%)rq-80=^alA*50He>Wn1|mxv!Of?TS^anl)kL?w&iR#IPtPoAacWk<)NX6lD< zvsmD+Jx51nGsj59gGCT7H->O>k|uTX5Y|r7uN3zaVx*^2iTnm^x=IICvJ4VCjVdUb zO^YSgL6t1W32uloEbuio%P?(4D){)^G|!ky{P0Jvu>+=0(n{#x$`4~~oSsm~GghX6 zgDGfbnx=p18g<{7_;>|Qc-b;#W?al9^|2C$kE>-C<>A0J+AI&(+d)@>0R0hfxY%5k zthPf|Iv_nvKvr2HtF4fEOhDFHAu0PyCk)ScSx9k*1lyXCM1Jy~O&d*{u7&n$eh!Z< z=aU5c=CRia2}7`sT>@dw9*ixJ(?;xg&t}%)IxAk(p~L5_cmXB?>|yj*vhC#l^%n|u zbGtrk#q~V+O4#|4?)<&?&OOU-U$qS|F-|{&@O-@x`o0s@izxvJ35MkDI+$?L8tA@G zyCG1=evr=DWctGkkQ3t5u;7kojugf`y{Ekh-qX|z^S1D7P@hmPBg(URF1FIkPTF>MSTtM{>QRIg*kwVCy zqd?eC-=0@UNMt+v8SH5EA9`)-J>aA!PT^aKPRT)Wow32^4U)z7;@*` z&9paLc!@%e;qWLOGpVcOPS4cuMuCk~zRb}EVelmF00B9Ui`)4ng&fDyv-FB8^(?D1 z?F5$Qu`dXo>f}*{3_FIzRFV2%R6rvIc&EK$nZYBcJd87opF@ ACjbBd delta 23531 zc-ri|cUV+c)HgcolLAcMU#qlluSVDEyx3u^2Iq9z&(94yhq0%BOEs9=e)Lo7>; z1rlSALSl@G4WdbmF$%_Xjd$-c(Iju)`+Wc0@2|`AoHfioyZlz&YwxqqWV|yWBWprd z729Vjm3qDE*Fncqr6r>il~_ifQ<^h6TxrH=7bS+#7D_au zO%y+)HIyhu-AY47%}RYnWu=}CFQ*?}uRgp%}*_OS-) zlT^Sz8{+bF?q<|-zxJdEji}_l)BwnTSo?_pQ6v>6y<2{dbhrMJvZJbK8|19u&@R7GE^$AcmLB?Dg3S#)&pthS2? zO|WvIW&kE8Yt)!H#S}pqCEEESMC15#(4Pih&~6c-DW;gDx>%9z`6zc;XcGFTht#Ch z&$T%M#9;P3Qvj=4g=Bi|igtx2+nU-Lq{@SIv0c|Zz{u#8GtQOrk?`H_b zEVXFF)_0&MroXBUq4+Pg9{@DRVs%Irinyu0DMBpnjMep{LASIYY1MOOm2x|dOLZXn zztq%4>tT(WlJD!I0gvq0#-i^B?R99d?}4@rz&wioQF~lnC0qr1Rk-TkfBF3s75W}( zZ%M6}O-v`#Bkg@bZpAF1&F+-6Oo0{&y14-HBuP3Z>x7)r7eXjptNU65?J%W|J_65g z*XPhat1e5U78tIqE@+#p8_BJ&LvCvYB-IY!CBw)QqPr!S+OiuR{ZIb%m=@5xaOWW1 zLo91AZovr;AQCTc(K~V%X~*WYx!#cOEe9=NZiH?!bfUB@I1ltmq|PruXOe1gL|rhx ziFOWU)X_05btS0*FYHE=pMQ48m&UjkVaY|e1s^r^^rr8kbzTvAVAe(V2HMfyGrx`8l=b|vc?0v0Utnt82b zY8Zk6&_9nQO~eM6)l;{Hx~1v%3ow)-7wJXU36{Hzf`{+OSb7O)UvCt7|{B$ZW<1s zuiFI4c&?YOF)|_a#e#ZzBUb1cjC&LHHVRp&yDdNpmVTy>!WFIbD{$FVeSe(VLFdM@ zcXd^$%M#r|HH<=~id+wOMLMk1I!iZKD{Cdy_8A=9_q5}6U2j1i$>5Bkw0*i)8P9d} zuT!11y2}7#F|xj%MT0!un>tx1srEM`*2oMre6P*{oTum5H35rLby0M^j=mYtgdMta zwXBy^JNrGWn=i=YS;fhiwoMmKk^6ODiZBHW-_zA1>rUMgpsY`I)c~_z)>T8RS^qm~ zKhT*a)?zB!zP8uKd$ml7nDvr73A5aCYfR2`52Z21x-|l%A{2Ww(S6d54 zT60!c1ls4fsTG5yx`>qxP4QHARyQCBcoMs&q4k82h!soqCQ2#MtruZBpSz}u!UXi5=U)I$@?mGOYaUvU3;oD{%cB8Gex%zVKswrf*C~4!>gS1& zfwpV9h}`$|8akh)_X^ZjtuF>pF!Fs}JpM6Suf=5+eHgBF>xa+>T7A3-nOM40ck*wV zBBrSy0OsRft-dD3*U|e#Tyam=IQOt_;XbEclwcuQhwA?jNT{L*fJK-l>Q|8ekZy}W zts?Y`HL_Jw?HR&ZXcE-T0(LE-{22WRKz|i|36`wW*QJ6TI*IX6UtdR-?UL$xeeUR^ zxD;M}ZH{7-RNLnMOA0^p&K9$4DJq-1UM#5qBPQ0?Z>Q9=!WN*4ar*hd&1)G3nu;De zTFsFFWZ9{EC1{DE!F$UwU#6kr7g-qp3B*75oeMaUwly`IgQ zD=~ekei+3+()oc>OLesXM@-Nk!lEOB0q>2_+t6y)r}18MNU`hFfkxDHbQUmvw7%)S zzWN3-IH}aW{hCq5z}Tfch8F! z)lWPK8SXe5F;c%#hSw>(seY=!McAHKAB|Ne>Tkgtm|sutMe8)(X37ZH9|B6BqCYOn zZb`K-g-dWBaG}2S<~YSAsi@yGp*G|4T+OaE1dnu6|74LEi(`YLT8q~g=;E*>S-+0T z=IB=$W8PWe4O;t_{y7mgW4@>#fz0rl;@K#T85=FsCDG4$dZPihB9QJ)TDM*Qu2!xh zskR2E(@Au^SRcb=eNm7&vMub|fyLt(f2`&(ao-_*KUofA)f1jpj}_$YtXcu4gvyZ^ z-$R!|i;n5jwQ^N9IVJJrp)U^qNWVsYH)pyMzVDp=G03}EgWagy)+b}?Ezb$=sMfy> zs8?NmU)=i%3kZ8CO|M@8bX4M+pK?TZd*3DQUi&cVn7%2qid>-cSM|{X5GFhHZK-3K zzPC<}kW>en@Ntvq?zeiI0DJe{(O-~dpQKvdjhA<$8u#^=K|a7x9KzyQ!HJ1ujK7fe zNBs{19LC|(#PxV@f$=qJ`K$h<07t0DV&e%mmf08yxa)+m6MnnJ=*4c2_50x{4xcTq z#yp#G0`A{t>`XnuuvdU0?2%>kQ4Ps(U4&v>@upZ8QwJNnV4dB@^VC6S=%JA#CDo${ z4k(^Jvl{A%@_P)>F$zQ)e*^l%Wsn8<5O>uyx+uhJxGlnQ+*Q|@NPWW$yF@rayBZp0 zro>3YZvvdef_y_Vjjmx>C&DQ#-(*Oj4s{IoG;%db^~Vs*4>u;!D}KWa5kA-#Z77kU zI+ey68VT|lHs(2&gBY{|8Cx5MXyh79z2UsYKulZ;F5K}UXsNt|p{gK%#44BK(M|?t z^q0IIs?y3(30Sni6qZvl)j+9T4GlF=lh!5~QUtk#Rlb0g3rt;iC*RByb27Huxzl`# zm5WW6c9$&j!|roOB<5&C3_rj{Qu-TMe7LsW#MHTPxM3c^XQ&J|tiZ=#m{`nx+q4LF z7rc@PIYl#P@P01s-r2Y}*;>@|c1L*!lb6&tS6mxm0IBHY8sa=}aK9~u+^6Av1uBWp7RGb#+Lc-;z&-(`rv zxAqv!*lm}=$^VN-e*r5?EEn{Alnxlb*N{l|FDx%n+f{YV8(-G z;l^4xeTdFRZ~B>0^Dy=$yMCa9enYxIZ)6$f29Z5@D)4M#;&u!0BQCEdN8>WDp(|xx zGAJVagpcoPTT+`VhGQc99F#FJ8SfS07t*aa{0#K_S8NRU6&u7D7tpe|4by;&R4d58 z`2&puL_v6jZQ9B;sqQa^ZCbgm zq&n1+8_j$g3dRkB{5xCct1#hB<9nF8)!u@Bm5h230FNFuCScsp`VXFltol^9hg@G^ z{D}e{{ea*8o!@>@bYSvgqeKxV<4plXJbHrND>4|hWilEQEW;lgaBMkL&*D!%Bt1Fwx+R(^Ct^qR|$Ugd`oEa`| zu5K8_quGl%yN2N~UcYGwVB;pnQZVM$G6YEXwP8BYmZrwR0+@2^8M;u9=Egf(b$w<5 zudqZh#rQJz`p8g?tJ}%7FRIyPMcZ(B8|`Xu>??weiq%FVkhKdR+>XV1yNwlWnDO*`GL&;V8nW zp+>{LIYu^PMo{Tuu^;RHNBs%%Wg2e)_|Udgd<_$S(SL_+^u}5AXrWOpuw}6=OKeW9 z*n}rSHL|S|>i{)aX8cTm>Uh*?{Dk=^>$<0GXhkI%;yA!YvzVQ%%`wiEAPU1)8{gB_ z+^1CL>{=AKZ>$T{aEGs8pjLaCRSNb!-9-6`&qw_c1!iv)y<{1ePD4 zGk%XP)rMFsm}y*2`wNZT1ZaSPX)Nf3?J<6%fkv1;LY|1p@!An|?vSym$T0uqK+CCL zv2mvW{%1Zz%xCrhvWdSA?K{q41u*V0zxn5!|0<^Ulkd}&)5h8Wjh{IVGRKLg^0UV2 zTG=nDZb$wpiaeX)Q*8d3@r2BG@R}05Zcha&>B#wFwvdI_a>y^@-I>NH zI{BS(v;@)Eu);V&*I~tErHQ0kHzKES3Ny?KV=Y~~qeGR(lIn4Awi;z%=vwZXpadk< zw+NL|6Dp`Q_7Y^i6WQw7;)1H$3{3^HZnZZCWL)r6UyQ?ob;d;O`J?{tYJD1_2J$+s zF`=7r5~V&g=7`V+i$65}_;>Bb3Z~Nl@mR2pcLauTJT*rgMd!fKSis@wq7D=L8|z_4 zmhlAdErE(ZGRDE*RIk;Weg|la2}8II8BI4d(4HixiLF^WQc^64@NT#aST-(X0;Mi8 zF9LcPVbVy!-5%3cEz`iR2BsDucU`4cn$q2dCYvDhjofZnx!1&W;WstpyFSG&g}N9& zz)*xNZ<$UhO-<_s=z;M?rrDJGwy8bPiDjmhkh9{!HjcArPGLbSif?85K!jctf6_D; zc4wX11XQb?>8d0o1<;sk*iMC=O}$0vofGJij3p<)i`O%?DOloWQ()o`ngSMorQGFU zpn`?kw*d=&fJ96V*L6kqJ(LgA2a9@`dee@@+CCx{O)*5GrL9mMzwcvmLth%QR9gY` zpr6SiKtDWM*O);&#+$CNmF8g627vyUAMGAULx-9+^Sz^_Ztf}+k!-pt!a$Nnn^?{? zh@^4+b1?dQIzlLXlId#^hG5Y{!GjI^YP;eex8WQ<^lR(=Z`+Tx=tP>Sl>kFA%_K(Q z`O%PzyQ1B#Ni)O5;_ooFg7dH#G}Cljt8Nxdp_rX2m~jHscwsuU#;$KT>r+^!=?2J& zjN#Rhc+~U1N90KVQWBzlkY8@rO+JAg5QuFfQV8Xo)dB zzx!&#>O#)c7arlaX7dDIJ{~PCOclE;-nX(mwcrEnbqx%=i(YEPGY)YA1{~&EIW3PD z;s~wIi3MW~iGL-kTZMfEru~u}E2*xGqRJ332<(MTNPj<3lDx^&D`Uxc(AU$Zhi?=q`% zc8&go4xciST5c(+J|Bfif_Vg8Dlt_T#PqvC*b8S@}&q8lpCD0`y;i z_h{io6U)kHVA*<82&P|zFp9loIxVVS7#$PvkHVMC=HckS3?=xE#oUUfT{UG1!i!CE z3ZtuG#Wh%mAuCNj9N;i7qiN-)EH%u+sj=`CcSK^2=z-jo=HI!TUc&4ca|u2^?d?Og zzc*bGU^eE*LoB9Onm#3arKwVYIc)W48bTu;m^O+q7b~YQ!_ByA8BBYAF+I}CttD0Y zY*faXS8!D>EU2QyVGqGPL6`n+9i5@1U% z$;_5qN>1_oaO`mbw$WLwxtR!=Ir)Q|QA?xwqzLnKif4vWRjc_c5f;#ja#NZ>Gu-Co zGAyEUmrzBZ)OqIT02f4<)8SCCJ&hlc63>B_WSq*b_5td-eaJebP z)-j(J;T1|~9umQp{$<|VWNKvoNrt7A9d4S)GU#ycFf1BiaI=iSn~uIFW^L|pa|mWO zGb^wR(;Ax_V}Yo1Vb(D7Hu|Z#*(AbpR5}R}RK1nCOoSB}Il$5s6EABEauNq>G3!NB zUAo)FtOs1XB(x32cXmj)!=%&Dl(y#A0J1RuXH!iqY9ho_&l-YB#EPzLqK>a7jO0vY zV`-APf*y1>TSQn%fez;L0t-d(9PSJk;?UR4+y(D-Hp^J?3(LA@f2FO@Tjk_rWBYwE z!brA|v+*!0d(QP89!~xf?U-?@T3_*x20X zsfDv`fst3$UKbXPGwuy|S9Y z#i$kL3$TGA7n-jN+^UZA9tZGN8!2)LFPz*rB#wM&z9GTen9|qMoBF?H-obZ?QU+Q& zv zIbPm`S>4n+EVEmQ#(!vjLx4h(PMYWI)E$}8Wc0!8o0gF#hT^^AfYN~#Wj@D?Uc$Wf z9v!BCZ0;`ae%GnAr;?A&EWmDOHTO_bUrU~d>7PqOx#adz(m)GW!Ul5>{(T=M4YjBN z|CsA(%yL5O7nJb_V+6BeEy3VVl$2~aAkg72%^d;uW9bA>8fL7p)~CFi=20RXp!ji? zA`w%2dm3S~(ZYB7#e-PB%@ctmCRv=+?2h@Y1`eTZJe&0Y!r6tUJTSi|!eLDNTzVfL z@3hRtH9N&v8ZpSSAhc4Q!2RMp>s+N3AoMW+Kk;Wd0$qE}dtA*t{wkEL? z6_uMW292-?ZQ;^%%sXhwqn$U+w}QPEqb*YMlE0RPnO9M~6i3(7TJN5aLP7&ax%}TE85D1{h6$Kl#gd0vy=*p2ZDz@Vk1&3TH4iQCo10+#Z873MOnw0+uC{y- z1bB`L_gl0gMy#g7zzO~they1hK)M<8o{AVJ*&C-DWIH(oi z*<w%YhWt48ZJ^I*(dVvYabxD4=SpYDyc zs71V%0UA8g%5smFUBuL`o*hrEyN1XMKYPmF2O9Vs%Wv63sGz+y4}#cN-xlg zT+4KT8&nw^EI*;Gk-Od#gIPDMF7h3)%nSB*lPcr*?bJG!I+z+SHNi5q<@A496Py0b z!5rc%s!Xta!JJKR=}*z?EgFs7T~hr#mYa_*IDLM5z@l`+q-~a+a6PxX<-`AP&%VI4 z|NrdE|IyhO%Ie81LOTZ-H!Ah|9HX{odY<@(xJq0uE*3MzIpPaqsyIO$Ee;n4ioM0| zVn;DvY#~OAjl?=)H8D(di&jxDO2Qw)FT#D{j_|cmCVU}W5Y7oFh4+O+!akuu*eYxk z)(WeImBLbCk&q$0Bup2k2;+p2!cd{VkSKH&+6%3P=0ankfl#Zj;1faxr(hPef&dTU zC#Znia1*Y&Sx%!8TmJWPTykPL&NFZ6`Y&=y)j z4EUj5PMWt)x_Wgc6TfiU^3Mr&p=t*E`34o2;nHbym>OgC!CWLlAb%QP_hGk*{*-_B&3kiX1iI*>19 zG9Ae2XET|QkCZ8l7Aun(-LFh!bf+?&(XGl@M%OEB^(MWpjAnFYx-yb| zyrQHqnyDl+I$L2YO=*%coYB$BP)3I;Lm2I$3}&>0GLX^c$^b@dDE$}>S9&w*R+1RC zC~WyFX_Q{f8GcrJGWxaBozW7d>;H20Ed3u2_3aH;s7AN65tk7G}Qb~cOi3oQvX`bf*9o}Q<$e(>AWqQKMx8HI@gu9r3 zNld218kTV)&z7QjM81dlS6I?qG?8U;1y!txxpgh8X?w9{fLg4K8AXAE<~IS8FPR;* z=M+ny;65h(F2-R+oV^+r{4OTql*{IonAb$oQJ%?~%x1`2vV@6I)(G^+NKt%<9}r%b z8e>V6)sH1-Y*jF?OlpcHd)W+8@QT%l8L^gu6!pMz577RJr4k-c{&-J5JejylKD9LA zk3I4yd#X^xCCg0_exj1wW*02tX=p{d;BoZdzd=SlJzucO~m*Dna$B%4WXEop!HIj z&RSgn0TaFvLntHK(njETHv@>6lJ2R7Q=-_||8GKnm1jGWggZa6^v1Fbkcp)rOMw{Z zFacyN{9Fv++-BDKIOTVXnvQs_9Yj!L;Z?DOO6sz_n}$}kW~!kVU9VyFiOil=%oMT@ znp+0VX4XGNyp>B|(qrUhw#51mquC7xERKJ|Tm&N~EVssC`~=VapcIKov9+Kv z1^kWu{s0HlR%8adhj(hmgj|Nw_q`Oy7cS9g>1eT%HqKg2BPU9#Kc@2BJ2j_bik61d zwB~brKxPl?nK$xt1Z?$~-&cJQBQ{AxaNQ}33nSFFJG866nq~CKTH9-U3_E7WtBWvo zgDnevneu8(ZDF57<9b@(1aM$>dv$Bfm>8nQs4wk$`r~bzz?u%X52b=6YaaoeRG8pp zYqOFiO#Z%O+6y%0qGu&w*(vJ+-n$D^Hpl~L$Uy6PjhrN@?!L$&4chM+P+YC!&R)=xwTMPE1DLcDIY%|Od$TV)UkW_3_E zqs%E*1)vHh%(BE#mesZmFrvib!MroJB+M8uHRrfy2fGZz{H3=09Fkt#H`Dr|B=?q7 zcM_iB`hw?d5}W*_2viER)o9m!sRtm-?rYKOigkhjKFqIcW%^ve^%;qQTVg0xU2OeI zglbrMTlP}eQtLM&RL3}pnMib&wWC(hw~^9EQr%49fI6e_ru7kjd?VF*vg)wTvKcWVjbTfjYxU9Cx2$i8 zP#Xi!Ss!l}^Q|J(!N7R7Hh*uUwKIQ!6PRpe%lmh%Y96B&y2Nm68mMWm^eezbf;!xfG41aq0w$?_it9vwd|cWjwUK50++r?j()}=Dsa8=NMa3%4yF! z7DHc@T--d*vc-CeG>6}6g()rUiPZOjb(aWnl=3mJR}jrq#td^A_4>`a2cR|i&e|3N zT~Dw#W(&w=whpj|Esr4nKPAIdaTA9X*{WkBjqOuNpriS=1R?0J#Qe2-Q0Q$jf0X2) z)Oxlo=0-P|2CZ`?Ek&7a7XaE}d9HMrQped|0$dYmZ$mHHZA$>!BZ%t9SoWsm!{j6> z5(_rSVU+B$P0_$WIv-~9i!#evq)wC;Z(AV-Ar(}&^?}Zm*51~Q3E;FG5`;#t*0jwO zpbI9Aw+_JVDK;&gOtFOubnkPkA8_h;6{W=C=K6X|SZK`19n!pBf8eX^GVHKyzh~ zq`E)jsjn^J?#yyAsaMd0h0{DBjo;6bHK{j#)XF}K=61I&;zx;< zCAM^dif+sC%#bg6;&>;0Nm<59aaSSKB!8)GAnY5+HQyhT&WMqiF+WsK$%iDCqWFHZ z-R5{4bYi%z6~F*2ZDx;pVsd2}HlK*rZPH6PZ-K2U?|2|4G5urwG3iT;e@m{98Ar9X zFfY+s4H=%+wDmdLAOQwp@mjePMP2Y52FiQImdp(Iw!E5mFc^#1%got!+A^4rkFnRp zoo{OORP_bxQovnPZGB+~mSz}U#WJt$1zeMDTSTv>*<=k2q3oHqDWc5tpl}XF_FIw#H{F0(6*B? z`vYkzrf-uB#Q0q(LJC$cl3QTO7-So5&xYikNIW?t3ELnYO3)BYAA(6`_EfSb=Sc8#Hgs?w4y~L7~M( z$*)N)*Xy{&c36N32<^NFDDkZAV`iFL&1$@NLTf_?dNA*8;xla^)5aw-6xvWD50_Lw z8=k^N&`v(sUl}H;SZ0}Ic;XlQMs5CFO?r-9Q!xKyX#;IOWE(2NR4ndd9YoA^-xeVi zi+fl%qi=}Uh>0Iab$LLqEnm_e2Cwno55Iu}gFUcl^4QZyZQ+1m+JQOqJAFMW|JJKOdMPiFLp z%hp)D7iNEh-jp?-N^BOs;1S$E=weXbvxR+1_Mq;;^5U=dex|P{m=Jl^Mrrc@Rx@+j9XH zazU;H$_=qk7GM!Z4)NB+_|4WnG$+jdvIs9z(l}cSAf~nt1z1c;lWdLQsnXU`?OOIL z087Yr&gua2)U}6bAcX>c`#Djb&xTw|X_D;?7O48GU&AKN>?Qo+me#hCa+}*H^G8}~ zM%#_QC1NZie21>Iw$}z&K`Dxq4m3Z(o*_UMm6l3X1oZE*8(7$s!v87ip!sBDN`YL9 zSa?_se6TRO*2O+vE02^^KQ(-JSY9%h z?}$pds0>lJr_Mv|?}>m|d_ayy-#2WsEJ?Pr_2g=d43!#EV6;6{D~*;^?>}*v6_e~^ zv~TR4pp0U=cyj#0KiPg>kaJjPC`#b@&?phXAu$C!%x>)uFi z=xf=vkxE)}J8=4$h=D*Jg=9CfKUV&X@91AqF1X&r{XAj3;8_ zi$VOI`K@;`AUe)tL58u`6A;8eT$f?bKYMI0Q1V6l27tZ1E0$DWva<kDan!*^GqkfYVy(R&JuI`&)W{Ph)mhg+Fb@Kne%l@fx&!Y-DH9}B$*8A{a*6F` z*Fg%bvY!``X^k(?rS~wf+U`TO;7Fzg74~!y4q-}&V+-wgVDGPiBWQl#ew-eGoqfVSOs7ey)dQURwvwr3*~?LrRp80K%bkD$kK+>nAcQsj2D z1Nad0xAF1>Z76V?TZX<@?PWMmCn={Xh%1#JVjD{(czhz?#4N6f_##pI!{u( z+Cr6hHBT-8Zz-E=azoS>S$9bbU<9IJcbx#*^t{+gpbi&+j9vp&T+uRGYn zaiD`O953RWHIC+(dck3!PD34sMEH!PWY(o{DS(wj9aYFT+HpgK&r#Xv@KBX;j$0yp zfpd279wzY~E+Y)*UsBl@@k)~bMof2jsp@oo?B7BF7r#NCU zahO9*?Fu-UJ0$JlqkK=&elD!L&Hm)%5a;9`NkyzwSJB*`;vdyK+K+|rG7;4}=C~?C zB}pfF)B7Zy<)1&0RKhZCOtK` z`k(z{{IQt)lfy}^=Q!RMvFJKKz_HX}!;lPziJR{)nDUjQ0r_t_J`v$ps(FVFfz^=it)V|!067- z^CH->u$PnBe|P5%QRisZyjgR96Mq0xJ2+#hL!$GD2u>^<;PhZtH`XT5m&0*kd3&dq z!Uj6O5y4H;P~No%Q&OC@u=OIRn*7O5rd==Y8t-g`B`HojwIA&~DnbatSSNQ{=Pka8 zRrov;TJuTHGa^*MNpVi*I;l?PI$c=wz0dqxDRdcE!}2);AH(lY5S-n2GJ zdHk~uoj&4>VF~TK&gGbQ*x8tV+vL;K$(y8+b4_>E4MCKNa~h|mC&HZq|lZgj@c)IH8sBCzz#>1MNB)K({-<>W>r z9b$u{xQ7{O#d;RbSmo|dhgY-oaswNj4d#K|{Z1L*-R5+Xf26AfDC>&TBjg@>QrMW+ z=>{A{XO<4HcUqtH#DILk2Wre_BR0g9BTV3b4dJDGg-)A5r_VWK0h(as24;Ay8@4V^ zKIW9@?mnj-h(V1BG8#>#dz>KxmNjtgr%x|B8v!)svT;%3erHPox8HNJ%y+A^1^>^+ zJ8BR7SsCv)ntTsjr+5}CH>1E6W~^L_YF@oIFKiwhoPW*7u3_#PPh`yc{h23oax5R( z0A%^r`9Odcq?q05!0TA~Ff2FQwbZpe_a=)4tjx~GIvyOW6$L8zSWJjI-gymP7{@`^ z<_*^Z`RuMTc#0*7-)~K&4O~WntbaIv0BFOJdHK!ySaHOqrz~)%vWb3}D-Tmd*ZSaF z<}Uu0IVOGK^zp8$aR3K{0NOqg5c^&h0B!)Z=Rz439P{;{usdKm zxN49U+!evWZt=p7*geiQkcNi2Hj8XURjzeM1bGYL@Q(2sohd2I9nKiK<4U6EYr3-e z)|G9s>m(n%J~1)rg1EYJ2my}kOz?X*N-A@X7LlRhnOO18q2+$J~LR`;bcoo+TV)#gaUKF|2*$jwT(T73(CGz1KlC>ch-PN%! z6YcEi>Iaa-%d7KYn7kRdkAl4SrpSJ->p|0(xthGe(mouL^O-35F$K9VFKo=&fBtW( zr$u~r0c{Y{Zr5$n3Z>-5Kj$Ij}Q5$cMdBO$J~0+;e+`f<3+%y*}P z-p>&B6*xajg53_}KEL8m8|Jdc+hbiJFo@zMSCNR_>$+O;YJ>mF)Q3FrGsefIpy-Ek z+b;XJCGs;U^024wWe=Lhr@_I8Q@l4gO5BrCMqqrtD?m*%T<1hcri2TwqroBVL0)-{ z6h5R6lef4YQREWWmjaCBC2oqhxr+qy?{(IK+yyQ*R%gQG$W8{4ji#gr&M;;a$V~J( zj-@8Y(mH4nuk#vXg3|e$MKF846x8@wv<-EI2aV#1IMec7D+L&b{vocVe@4(?6!Y(J zE(o$Uo_EQhu5rL)OjFKaHU3{+uJL)0 zyV2z)e?M2rGuv?m`<}#cdY;)1KN%!XM%#4P^W5akG}q~#6Xbac7QW*=fGp5>pW4e} z&Y+n-yXLA3*k*{UJu&-n08GW5A+B0jROH&txzEM#ZZNsSEa;T)Fhb4PJ_rl2{rr;I4~d|)faN)nwVY^L=GBs~m0PEko|jbTG3A=OGtFr4ensS4N^&+^y}6w_ zd77l!#y3`4W5H^-jV2|za|AhyRaiw*UpJe;UZaf3?rVV8BRvtAe8b%%cZItfntpXp zMSr3DBP{yd9gHTqn33ilfPR}!N27$1Fk>#=m6_Y{4!)Ey(j1}wbku1>YH z+#R*>B28KCt|n?Xt?RG6AgPY>?X)&rcr~r8T^_sMe)5YjjRTm}$-OPuFR^~xiNfX> zOdITW9_X`p0#q>A%@UZ6`R)+{yu(rjE%TaxE)iiHMs{;| zqh1AWmfUW~;tg(=w+=V4G<&1F3Shx4cOWPgWK!w-RN(W;Np6i=o++u$)clL}wfu>% zyoFu6*jmrqf?5~3Kji0~VW-zm(Z^UC3Wb<9Lgys!NjFJ)c9I%4uX3H$pgf3SN53svLUTB#_@O*GWz84p-- z%Pt|~Iu_r1=nl??2dMI)I}xztb*+roH@Wwa>9)IzT7F4Vos0U*u)9)St!JKqsm1Op zEF7Amu#CJC?)t%an1Bbn2hyBh-7gDp z1bx%oER%oeuB(;jN~&GW{u-ky-j+Oi-G`gglsU}d#{N}a)5r!W+9WBnCDm!uKM)09 z9p8e2nD6E$N;Cm|7-n!NjT-Jq_#Vc^jY<)23S; z{NQX|itp@U>${I>@FI2xGiqAYRM5lIM}SYLC{2zRFl&QlFs<$FIV8($viga?q}7yG z4fJG!?$h@=WHMX%*%B=4JJ_=g_>Tw37cp>3OyGFG0E!syxe4$Y<$obDYl?3y^}|6| zBqzt;On^(6aMk=dn$tb^pTR^1^E#%C^{j`_G5<@+fp

{tSpRvd4dh^b#oe4kqW z0t>5K>SOXEPd{2P$&)U^Wr7w~9ia7H^I}R(@}vQ&r+FSpaP{ra%q$+gXCBDkf^cE{ z2u~K~c`OocYr|SIp>6@VhG|F4KFqoz^~H?K=8WJ88!UL&vJ!`n@~r3Lu8Ad&%zHTE zAL05xMY{o>Vw@24p)$&dwB!KBb@NQ;nEMe!x&fe^&QJCPm~4-VVU+ZWCq^x^+~ND6 zY%yoICzgK8^2nlmh4pchpo6s+JUtlx2AOg_KLLD&N`kgFCLYyV{)-`G4ArDzuY2AW z;A^TJ>9N2+(f>={{OpDN4OWivq++X1o?}lrSsF}HZeisFPZB>+=KCi%dC!a{_*($- zw^TWW4;JLjm+G+swb|;Kq2a$7wSHO-X#DtXp=Y`7?uxWbwWL}%mK6n9AoMiV-FbO* zCd&X<^a#qK#%@nQ``rO`ru65FIWb%`lig=y?r+^|4lq6~{CN66$(E z0|pHHQL09@{NAe?1~>m3&k!2X+`Ex)rA2nL4y5FP-nD>v32G~u2Yc@WCXbSs;#F!3 zD*NOHFpf}GMgLJPAuMH_mID{m!FilCL8JP{@!5#F3fLc zAIh<@yvB{G+oV@$`B3i+z7f~vq9^LfLBJA4DkW=*cc}&(xMrMpf*i7AXr`Tv)qScN*nQ@{ZzLai!O_QMh6O6aMu++6Wqu>fO#a<&Ut>Iw$Qn4+D75hHciXvRYC za{iis_FgMXQ5Jh|i9$7BPN!N8sqs>8sc5L)EIKwiy6Gr?z>nF3LhIp{{V*}Nr|B(f zlkGhwKn;>sc_-`CPD%A^N>j9DhqlGCv$}4^KKtcRL;=7jb0}|7?!ZjdlWNfnZ{u14sUZx+2UQ#U+m8(VVRT}< zcZWvrl2lhGHhs+gFs)Jw(5^k+L{YBA25g8a7mW>f7lifu^JUU~E6t;L)KNFW6tysp zrrz{si<*%!v8*TxQ(iTMWAd1gT~t!!Z6bm{r*uGdZ1j_O?T%^vLyytA&Y>rP zvSLD}0rbFxF(K!W>2x_I$MRu&{u^Ge|CV9m-{B?w4;l9UJG|~8Gc*uNt^0<|1byGL z;h7=-mSiOcr!45Ovrg|p(BI#Fc7W1LMyQ0Po^52nc!=B>OmNJ!W)V8W`|xxe}xw@@Am&Q z-qh{iGbMSL7^9{OHUo!-d?MQ&t^yPCwhBpL?HY$8oy23LlLYhxoroS8N!TMJ z896di;E}v=bob?8cV8~D`|>an zOFpXm%(+?9frc01a91&gyGqdARf_JeGVJauM|M{QhPx`!^Vs&?Cna5&SPOwx)ZlPk zEr#pr&|O!L?z#r-u4_bgT@ywL(2VT57obq91{&Umvs`b-EY~|Q%Joj{<$4!#x!#TJ zt{#j~>qT~#h13TQHhEBXcZ6hj?i6zqpnyyN1~-u2+0z}JSw)~F?Sn!oWhTZs+czGN*amjBCupeW;&(n-G?#*AZrJ8cU$|4E zWIE81d$*g`N}Xe3oWEV~jKn2oP&k7+YHSO(>nTXCX57BMRVsvuap82qy&O_-XYOU( j&eSEv!p^1$4D;El(}7_=ce_EB)EUO<^#T&@ApJ7|U?(*f -- 2.47.2