From 6caa1483b6efe413b848dbbbdd793ed232d2f698 Mon Sep 17 00:00:00 2001 From: xajhuang Date: Wed, 11 Dec 2024 17:16:54 +0800 Subject: [PATCH] =?UTF-8?q?OCT=201.=20=E5=A2=9E=E5=8A=A0tlsuv=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 5 +- depend/llhttp-release-v9.2.1.tar.gz | Bin 0 -> 38672 bytes depend/system_libs.cmake | 6 +- depend/third_libs.cmake | 85 +++++++++++++++++++++++++++- depend/tlsuv-0.32.9.tar.gz | Bin 0 -> 181435 bytes depend/zlib-1.3.1.tar.gz | Bin 0 -> 1572744 bytes 6 files changed, 90 insertions(+), 6 deletions(-) create mode 100644 depend/llhttp-release-v9.2.1.tar.gz create mode 100644 depend/tlsuv-0.32.9.tar.gz create mode 100644 depend/zlib-1.3.1.tar.gz diff --git a/CMakeLists.txt b/CMakeLists.txt index 2aadc8e..e13c818 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,7 +76,10 @@ FIND_PACKAGE(PkgConfig) SET(COMMON_LIBS "") -CMAKE_POLICY(SET CMP0135 OLD) +IF (${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.28) + CMAKE_POLICY(SET CMP0135 OLD) +ENDIF () + INCLUDE(./depend/third_libs.cmake) IF (USED_JSON_VALIDATE) diff --git a/depend/llhttp-release-v9.2.1.tar.gz b/depend/llhttp-release-v9.2.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..fbcf556380a4c596d326fe6c2751d484f9d295d0 GIT binary patch literal 38672 zcmV)DK*7HsiwFP!000001MFORciXm>&%foTK%Lj|@?=W#TDy~Zab&e|>)0MI&CGFq zB#MM2BowJfkaql$iLE zhTE(^d%{lxKD*o7_;+)6yHWnzex5bAb~ko5wsxAkyU!ZUjh)TSXJY#)nV9#`E#Ixceb|X>VK!X4f@|{Y;MD!9k3JlvAy+7G(Lao zhd=+%_5ZUY#PY3|D6bbvy}U2*0$gJKcXXU3K3%`2>u^UWzO@d2xmLdFjn(9(%40Y1 z|4;aJ8ALviX+id9JBDv`B5x$&rs1L>nck1-I_NA_ekWAD#7pjr`zrFoERdZ*B}7~- zyUVrw^0K(epM)o*pLPN{mQf(1w4-I3s%TJ%U=G1)TAzv)Pe}_d{`Jiau+Ohx{MBeZv2@x3_ox^8erCGfre*eR%P*_2%G*cIW8i z;_~45xN~;i{`TmF3x)jDp)qp=EQav8_r z#C>?8x^TGPtbtHC1rh-+t@Qk-V%|^F3CcM;`2ta#{3;1-{Y*h&rJr;8 zSUVMSz8}VSy52gf_q<>rU41)PeZ)vWOoWtw{4OytIdPf(W>K| z#YrmSzPP4RdF&-xCO6lO8R5R)+eOSqLHVf6#m0zhb!8*GJ;YhP2wOU-f(_TXowO3`jNa7Bbg540Ah~Dya+KI zZx15X2a-_=8A||Z%P>nKVC!;7^HJs@JT-!hB;I$NHSxxKj|__P>~I-M5};##9F1V) zEzAtrPvj3rUh-ZGPK(Bn+$em?c@x9WKmv`Bn7RH|25};eq99A7dk{tHh3|!zitjI4 zkduk_mDp%B_X^$IL-v)qJz4*-`M$ILM(ynA|6V15zK-uepr^Mo5g2=GB2fK4%npn6 z#=x5AL-r;hf(Vs!Iw@~pfCSRR_|K z%kmw|go0M&ODB+n#0w~XO$r;sF^Flt0bSmY$$Fv5>XQ2*;7#xT@uzt=&M?Dz?GFc`zf%TDC2^AQ^ zwW&~Vu6J)%*_zKv%XBVc5KUt1S7e0mYEfDk*wsfd`S}Pofn00#F9|R5 zfr$U9>stEsgR~6aoR9nK6Q7Tz@B1GsxAte>+XpgYZH-x8TeIAJ-Q3%78x1k)!H?$d z?ykGB1wZNrdJh?-+$sSqo43MSsWXRH38AR&?f4Qp%7?VYdI)>t2J&{1W?`Y?m7tqma= z^mlRv80a%>qAg)liPWhruuryDCfG*eUe0_O&hNhKCo$5MZ)fi+TH7p?qbyz7^NrBFvuD6V$pO(oCa7U}ai?%#j-l`(+RmB@kp4coA12W|`Jba8?up+cQTR zpN2VPGgwSX7>)V@4MEL1M2SJ@fk6Q%U>qu6r9e2>r7Lh?89l4|gg7Yu_gscEL5vn& zPfKJRloZDCm<`8|6YRc&L=m)+XATMu<5%KE0}$4V9($2q6@;2>ivl+Wn8vLaf;Lc( zG-E$Q3D?kssB-Z_$MBQGwUHw%kI+695R)R1M54%gZ%aZl{MeO~5U;d1066G&yDjIr zX$FcVodzm)hfAePW>DoC&Jqpq8YUcMnW5~&Q3sZTbUPSJLYYdtSCFn5$XJC!>x=#v zhNt}%m<^DpCYIjtFky!UU;Y#=t$yQtkw}n3BpTm9Sw&N!eXbA@OW6?qCck1UW4L9% ze&aY_)Ypz8kfj%5IDsgc2-I`WL!qJu?6YF6K21u&(3O9)KUbOF1qi)Dh=$sS+!^8! zFBZsZipc_K(QMIaJFiYJUyBhKbqzq%i`YLPLjo_qQ-Ep!$7qQ?nchjr2ESONQRnUd zylP)u(lX73i?h>{i#Cx*B309e!~h&M0UNar*jI^8fgD-13ttKuv1pjjTES&aOp5D_ z@W;T;mn16$2na9$xoh?Yh-m4%_NAy3se03G{*?R_;eSh@Vl)BsU?&7~e}M)MUslXT zno365$k=*ECP@?v_&+>qFMW`H2Bw+wY{u5gl+pN9U#!r`7vl9l+BL>^Xa#u8l6ijIlBPv8^a zzRtIROCwCBRnZa=@aN#{2+R{K48~G14D0J-LJSoMZe~XCgay; z$-yS=gZc1pTY{DR(15gcu((I52gW@hhskcJIPeu7NmgBQ0J3fs-Nx^w%jEhH`Qke? z&|(y1*}_0Zx6u_VkRbRH5Hdo!fObHP-SuXd)EWa8f#kZV+OvbJi}oQ7z)o#x-c_o2 zx+QPz$$^Tx`vBC)OMpcUmQfg?jQQjN6~j`JLc&p{VEuiX$P@w0&U)a;1u*6oW~pXL zIE$j!#~^?UxjH{C=v2pY-nDo*7oI~c8H=`aw$2>WY5QgzgFQ&uKa8fjf3%69>r2I-I= z05&a^?c81!{Ujc7$zkZO?hB{Dktsj|_J^3>>K+ONhxzG0%kYlpNG@_!qYn(&-Fy zEzd4jyN)xvh9bAuW9egEOyszSg7@;G&2X1Ns{VB+p9qf=;DG6J7G^sq;c%ybs7_+~ zJc{&X?jp#gCm^7aU`B2eg_`s)rD?S*;ALfD4e)c?; zJQj*2(s^bXJgmcc^dICu8)G+X@dV)J0_sXz?3#`WPuy+AQ6zmn_+^N74X(^`8%lHL z%m#PBx*=|16_0H%>k)x<2Ld*L4ikx!l)Gq9EF#_H*20M+KR|Vczsx}6h!z{I>(tnj z0x$I#o*)NRC^Itn4wP zf>FrBluesRfHInFEQPTVS;bj9e$Qg87TmGG%n@dR$v{P2Za;Lz zdJZhymxfrDWaAWM?@$XX^M__U1v4aw`3k0e)2QwW;HFak-g&%#geOEiCIpme`-euM z&tp96N!s8V<+)U0kZ=(L21)>zOFN7Rxv&sCDnh;a)02~S>#}~u7Cs&5W`&u`f*elh zi-wD})hV#SCE|^Y1AxX|KM*LENh->6QSvJ9A#`#$<-k6%t`5zbdpQUY0{WWjbB5T@ zBHnbxt-)NGP&&lXy6GxlY@kHEmiOy&MrhBFf~=EQ6P&bXVI~?)ov8 zxCAxKhRJz=Z8aEjL{PMA3u!-YL3q?cg4~SurHMaJTaQXD51e0tYz;Ps9v}ohZM*s< z21Qj)r6$$PYSVfK;ih70HWHxkfq4OMRHJCGFCj4$r?@gOT*(dz_CTGFJF5`u6JU!| zfzM8lR;@cS?ypp`r$zCJt05yQTdU$0HFY$M*;S;&n2$yPa_f~+VBDR=MI)td)$TwX zVB77}Z)Zepwz2g9u*@Jzt8eYA70IIyF-| zl_^1DxEP8k+Ime1Iwn#MMEIG@w(>R@VNOAeI9?Y4q-f!SzsrL2X!<}{z+{##J;LYMfl`DpvQz6T z<;U$jPM=E<9Q&w9Ez9#5U3^vP{C5TIirgk_1 zSx9?SmQ)urZSbgMkkM&|nV3wnD2Mb(3G_)c82@ayB^&j)qf}yZv0O@9dlUYLJAGw= z$Paibo4a2yL!p@kUS>9R%H++Z)GTVz6s7H+1#_5kx;%%ul$x&YgLCj>bIQVwsU2<8 zZHD(?svzm?A+4uPUv)iDn!e=KXQfGLYlRi_7$qm>t&mmMIW}YLV>z)3krdLq$Q%!; zaTk&H$<5oH+R0lXIvdk5KCr+c*bzWARs)n7DLQW%;&gb5ExE;Q1IIZr#op1$j|ay` zhn?4Lfa~+l<>?RYlP>3%nDlu{n?5uqX?*&m%p;w(jGS;{Jz&;LakNB6P6A^i#smUt zbSmw}F{PRs93oLE#1^eH%+axFcpqmu3xLM4wlR-0SUt)H10w0ADS?9kKoM_`E?B*OKvC=A>8oDwt8(5#CcRXid&f?%3J)!c+XSPq2}f7)+K=!GTSo`C#8S z!BanJ zsaTPUE}ORi=p_LYLnyBBd04379gBo_L)3#IL+6cvR7AYKgS-p-0u*MtHPKyl3qu?M z7oO<^P;+Z6eMW!~-xoks<<3WL{k%Cv2fyv9TE`ZVwO?KarY>v%a(yQJgTbhhA(S4)RS+o{dp&ouVGPnaxuki6O;oSp;?r z!3AGm!HLVKTa-OvK~p>VnZ1eqDvMtxTA2t%nq8oInvJvsy!&1fm<@%PUZzgCLkEg3 z>iR!ffQZK|!cN$?1~I*d`s=KLy03g_xOIN~ZGPC~;WWd9h}OA1fyCWT#$TYs9&TFA zri{(o(CE*#^68x7f(-+4agxghtqBcNSITl=8;Vqi+XgppRcSV!KXqoAtJqIE+;ufw4z5ksAE5Y7?(A1tP(>)e?S5S(^~X!-9rikb^7%f*z$CJe9zC^Tz`$X&$He=+#Jc&>v_YdZg1}KO`XEc??H;k z%1i1A{9dfi+8&5c!C~!h}q_` z8WBNju!r_^q{d^39dIyF*WnjVWaS(#swnXAA)P+K!>e3#J zQ4^H94lL{({4DY|Nq;_ggbO5d`+o6i*?)j*i1?DqtIuaAXajMA7}3eY|2{i9@OB3? zsDAE`#(>YXQ@HYNLC_HQy0UYKjAusz0v*t}KybC0#@ZX%i^D(vqxRS8^-ZJJW1+N~ z)$7`K>(BpS-y8LJ?P|MT>wNdM>lVRPjtDBnUJ4QsCa@H6Yz0w;sO`pyZb+Pr*Rv+z zc=qnL-ni^_K2+PaOMp?wYF%9+dcXKkv+B)mt=+7mUQubTaJSm6U(mu$QQ0JmP2gvK zu}Qn)#qKqyOX{$@a@>#*gz;ri%6yPW!2U1CSl;*D*Q@!M*f;tQM})tEdH|s$$mB$e z%EC!mf5Rx$7%i5IljYat-w#h-d7m6Hm26>=`N`({#vjhed@Jqjas!+>wP+6 zr)$hR=?<9nNzY~6SO!k4UlEU-epwJ+R4440-o||aCaCFP%D6I2_EYdFAfDjyc>MY4 zlXZygPvi;NXa4x3bpdP`(bIHH;x^DRe6pD0hNSx7H`pFKw;X;ME#TOxvs?{FQye)wOCkKTS%EI5HcHi|EkH=utov?FFgc^u(;A%5`XAiUJ>3~LyD4tjs zV1=azo4DqX6Lc^FBS)%8B(6n*IbGy~1n!iK|Ty%O}$>1OT7h z*qMDgJNL0ryC4V>;w~M_= zV|o>7L$D=BqwnLtQ!;2r7Gq{a*!OFElD~SQGbW$}Q-(8fSdP);WH3XDB1019Yz!=b z96-`lAy6XvB25my zgu#Udf>q*$Qx&en!&YO7C}c)9u2Z_eRF^&(d~z&94CI(g!Px}4P6{zis3+7X9J-ex zE3Hn}5Q&cZMXlMXQS0<#dcXXF$rR-Cz@8BAwjtf}T-Uou*5Jpe{>60mjW|l3%M4BaX*wL;!(SUuYqmn03&hY4(4GS|eYXPFzy&^0M@K_xOaV5i{{sRd-0zo1%G*2K!rg;M%i@vjNrs3;OmUAG zD+oV1;I7m;!Qft#OFqQKYT&Fb62WMw^xOeXYu#0)uaNdfwn8k1>H(;9+;ry9{Q{2O z!0#Ccg@Ez9m=YAETm!lQopQSTF&?q!tM=EMcCFJnXtk|6(rW58^o+!otvBCW?@+yF3t?~_;W28o+p?fT z+7wc8P-6$zwf4ma^tJk~-l%s!9$Q!SZWFa>U7<#+)=jmIG`8DDwQb$pwr^T!TUTvf zqGp@*=2aW@QoF7-yCMF9e*I9xkLpcS!>V4u-V$JP z(Q0WxI>29^k6K);qOh3+Zzm0LWFlb$x6BI8lujZiG6cLo0Z@>RAy~1bsh% zy{t2q%UZR8+Uh`MzA#$Nzvce^+LCM8@a82Aob$JQXi*xK1EWb{i>IZ*24TT8&IY9eoVHw{(`v7gFh2?x( z?gQ9R3k!<2-v_X}7nT-V1NLDc*YG2Y|42Etkvt%3`9D1I9}A`OKL1A+KT+$?RQe=+ zgvb9pEtZOb_}{0cef-Z%ehz*Z-6QS&o@zn0UZa8U`G4pg{6NC`3f?%c=p!0Rzjs~z z4eS?E}=MQ8Mjh9__Yi%&33r8=uS;+C2JV^-T>!aJ(7wMRQPcv<%HP1{@Br04dLypkyHo3}2ahgc&A8Y!RTT@ z5#)xh_14NA({GMh`>mB{&pO?9{i2JW6xfrCb`Ndh&<+Ic&(PyCdyXc=JukAyw@vo6 z2Rk0L+v+uH&G%^I^42N|3UzL(7d2?W8P-Lk)giUnzUQq~cE?QI&acrXs|6ib{BPhS z;jMM*e~g;zbkQyny*u;2qYM$fI`_Zg-P-|9IYGPLN#^r`A|Gy>KleKI|AKku3;x$| z|CMI)tVPAyq`v;97tWfLqO_u&_1>IuJ*o;M_=Jy zGPJsA!D$2O;#5$Xe}BfkC$l20z`OInJFaHIfg8E!1&{LHN9^hsyejx!eJJp6U0mzn zt_vluYqb2Hj`=AQNPAv;XAC&Szb+QI*Gz2k?~4I|_O9x+hNqFjS+EdVz*`S!3qkPJ z{)!L__Xx*1o^DGag#%3&d6a0^IyInyVjfs6le|HW;l1|r#>-SN>&HyxiX+qB&$Zf3 z4`Jpn&};51USCfEOxgHdA@I&!-`v*{eG4^Wb%PZnaK3SDn(>08wqZf z`y8YxtYNu5U)7uS&WB#7dR6lbfP3Bpdmtie&tT~L+a|3k9TDx&^DQtcddJWi)n$z` z6?Z`IYhGvoZaew|Jh*9Lcop3Tw_QgWz$y;m0*;u6X9P1kj(~?}U_PxmvYpht`RE9A zc+hBF{OpKvcyRsmMXTWoZv3c)sVDCa`KH~vL2$ct#WQhR2;+wN0M6Gq`Qi zj`Qve-q8jt9Gz69d!oFZJ$6SC(Rse5hUg+`@Zwq4~9uV5W>iejDzE`8?Cr_;J^UvLtbtXJKYjRaYp;T7HKRGZD#ZIe{4aI4zA zy@5yEJQ`JiM3I{YXe02*okkY{@v`+Ru+)-=CQ#uv65Cy@p_KA`N8VQjZkaFZZ9)j8 zBKP#7)dmbHxihTE9WFNj_vHr}DCYOdgakAT_u*h4LKNdrZH0mf>3^$t90 z5JCmJ*26oLcttkeytM;)w8x{Fo_E*hQ& zxM*E`Xw?xyV-6NrLXb0;(B?I2zS(VHW)fV?E5wcP4m!A!of_J*<1;;YEm*ZK>g2M1 zMdn@%t{a*-(A-~1*MT)7bjy_pz^7ZgM(a>*f8?1{F}Q5bEWPCd3-_*i$*EAKAkc1` z6m|a#HfA=Qu9q@(}5MLm&H0nj1jcvru?tP#d61RVo>DF`>Z6NFOLMx*sB?Ii#} zTmTazJ|%`S0T5#7VuD1Yu3r$0^$b1$O$wo2w|-qCqP!FYB_gz|2C>zYasd>5-)iFV z1bHLbT6jhfgLS=9 zA+QLbe3DTW0+1(@M!L`qQnt{}kTekhKP(QGzW8+j;&k8b!I~g9^KAov#4HsBia=<6TqywfM(cgO$rE2G&@K{~+^(-w z5=hK0Vw%`t1KtNF_KvJs@7+g`oM>^W=xpQNN~tVjjK83z#JGT%8zSTPs0tF69kNX- zl>_s*Xb_tMv8Q4(eOGM&j(RY!66lK=82<`AAxU_NDu4$J6c(st9uRwAdmeyGr-SBM zL#o0RutJ2^?KWxnJSd%fMR|le58xiZJ4b>O>>(}u5TPa6JeAIaRL?A_)Vy0d53*Sg z5IL{~)dFTuN8Pu70XqzxTRAA^fOmmE6!uNRQz{1~9SF2m#^nR+^Gmf|uQowKc3Qn=?LFE$qHa34aA0}rh`nP< z#nzlI(kb4Pu?E(p(Q3igt;MDQw;i zK5>e}u>Gfkf=5pI3P6QFDD;1KN}jrJZrcsd7pKgb`k&)s*FnFb!X>zH%j z@h6Sqr*5^pr+*LZ#n0WU1+Iu=M;ASFs}$YWgaZ8E-J&J;m2-9}c;r?nyKe*M7a_0Q z2GCObPdbB7+~TMBrT^?x_|UC%=4sJW$^X!;bdKNir=)=gE?wrhcb@jWkK76f1IXDZ z`|G|cut!X5_kVYb7M)k_39I0dTLI|412ci&?qjkD{LyRRfm@g?f$uC<^vvZJ1qy4= z`K;)fTcwC!`_F8J58a`iafskM$d$iwtDp0Qyyvj;H|~&2+=@#Mf1^vd&6S0P1;Yw2 z;x?GarLis0{RFRlLX56SP>PY$Bleeg8nH@p7 zpFI56Ig8>xdbln*%wc~${FNL|vA-V9`40E^&eI!$06C~)e?5GVoL8~G9&T5?Xy9KS zu14&*?5~G^xhGisXAd7^hgt3?5AVXKTJ(>HM_n^;T)*@I1T-LW$i@D8xR`UK#eMW} zF7DLJ^ToqM*h+a;3Ah732cv&Hx{!Ms#((yZ9vp&^-yXh5PRH0^5C0>FWbCg?E@+CgS-zAnK-IO=16-B$== z_{5L?5wP59qp@eZd$zl0yPL~)LA|?a*YU4CGc?K!6~vn71jZ-UayiVbu!Dp9iF=Qx zFK}@XKICc<_Coy~_|IG!1P0FM!SjVd_&ghf3koDbaF0x(MAI^lle-WP#6g*Z<{yyjXe zK~ZLd;XiX_%6JJ~zY5=1u4Lud^0`+89&n`*Q{eq9yx+KTh)4LnErL%t(NV&}S>Sge zd(O!eFvt-<4Ce#Kp#wM&bi{}*!7=t6oipd65q!dxr}}}%SwrxMtAQ{HyARMm+#3)8 z%x#1F$d$mj;d*X(zj5Wt*vdlu2e^-1i3(#utPuZ=D+k(Dz>!1rjH?3@B;eE`dd3M6 z1b5EC!}EnJl?SQmdU<%iapkZb%j@eAe8QD4!eUUb5AGvZf&Y{HnjVo6sx?<3+ME0Dki&j0dt{aN?8>fV!)eJbJ2p(}Y@|eH+{ZfPvxms8c z4mzobpK|qzWaoyF3IFBZp|uUTtOy=)HOdfCgL;0I zcR7kI;I;wuqT~mq zTFz}7c&o@yO8k_ockY((c}+=QQ2Sln5DbC<3f|}oz8DSFn|es36ZTdu0)r>Y$q=HA z{e=6qNaMr9UhhkP@zm=b`9rfHT^^iOd%gaWh9>Ow4i7(%7Nfh-c(nX>_>AUvdvJ$VnN;{1QLbBMu)@k7(%4am$-$6Ew15&lVIL#!8jVuh1NHc7%nWXha1Ah zc>=C)tP+IpIDA1%&~)=hZZv#8IEVG3zdXiq=}82WhvnnZ8*xLPHXxjbbZl_j4WZ1< zbb;VJW_deVqC!M_FA+_7G7=+9vMi?`3;%HGwD0VP(FFCV(5w^3fNzq*0GeFQ$8Ur$ zhzp_kof|PG_>Sfk62GLuV(v%wSW=yqz>^S^V2~hL4RGp7=nW_0)F@7y4+G$9^wN4^ zv5Ml-^bgz6Aab4DA2(4I6UB?RZh&EcO38l#hI z2tO`xz4Y%EIBxIsp5zBRgs{I5z4HjS4$+O}iIBNoL>ZCE>z8@dTMYsZk?%ZK;wNIn zr1?{v*gIx$6XvMak`D2>V-%G_^bk?P2}2ZCh+cmUFGNWtq7+XvYDF<@B8rL#NVAH+ z8?sP1*0ocb=Fu4~Xm)0jZihvACRsoTn}srq<#cWj3FeI^G)u|LpS+>0PRM(8gb2Y~ zevo044hIaRCRvi$QV^Vp#G``LCM4rIOo9Yz2Jtw$hY3S8uUKb~ybuGn{jeSt{!cJ1~=Kj9G{2D=MZnu+aj`U2rdez$)9gcK0QHz9&E76oWW zFkj7<3j%GNQjN5L)2>02kPRG1z7MEBh}&T{=+P0-{s?9>B#CEmTgNmnBh-Uf=a4D^ zQjOc7dJ!gvn{ihWJqPs)0OCv?=aL0Bk0u4#qyY+a=lSZE;Brt;6zgLzJhLO2vtY5l z@w#K6F_^pr%&K;q=P{&USlT0|1 z!W-i+WImLBT^=R|JU3uMNqlnq&;jE-IgFwJR101R1$M+}ms9WKuj%fE(f8z997BvsRh=3ns&%0F4RUcvdaS}dJixlb}7Km)_X`CZ(cqER{p z=CLxYyk<*A*%4;7)NH{^JTB8EX4xa01#kX*;S3#yVRdYwm4T!Yfy`7xd)Xh2o$btp z0~?$!briB93lA(56e$qFyESWG0f?TwPdrBuGNH<)?O-3pZbjY)`Z#{1#x|fgqz&95 zP00Q_8}}z9j}8?Uo^jYimg1T!7t^Kv+DkP|s)D}H(T#A+wI$UZRLE0L^fJlA*wSd_rq~ZH)v(`R=wgzeF9&oBCu{7|4Yso1kejwdr=z-X#;GV3W?jTL{ zJwIf9Oqxv>iX>%!UBY$=taZ>Ux1cIL5_*Qphdv5Nez zAq{Jw(jhf9@Ex)+2(%g6p*+hmF;-$rqO-?3WT}He{i3I1M+{{ev?eR;H0fz-iImz2 z$wiEIu-Jf#bMlc(Ro91`n!#<{?(6j~emriCct*>v)Z&DvlFWnPC@ zOrjjkmRJN{dMXi-_ZlHZI9BjE%%_w4F=UGa6}&s|PZsy~{ACS+6BZQfka#uxn=Lw$ zaAZ~7D;vpDGTi*F#4hK4EpmS zem9;1obfAmY=C)iz+B~O%z;-9zWL^XcU6##QjCf+BqRx+k$^|K1Gj?5&>Y4>ETFOY z@1tqm^@nKwBq!!-ImD&_=yf!~xMMTsd185!#k1*>)S-e&5&WVuo}B`xgtvj&CdF57 z_Z*3<%BU(}M1;v{aI?O+nf?M26Jr|tL?jc#p8kXw9EeyYXgFG0hxD)t=M@Kmg*Xuv zY*^T#{q}e{nvHQgj1_-*gw>%f;WWj>?F5bZf2QE@Lep8pffi=b4yHb#q4cRe2HPrU z_JHgz$8bIdjGdUG9Qq)q^8|QrSr5 zI$rW{O2>WT#iLT1oyNF4 zY#hw|i|rZgc!QjOE(msQo%TGP5$fuV?-?EheG&vn0E1G(1Asf4EhK$kPUm{7kJg#4 z{tPI6NLC-MMe@}@_N_gS4L}qjxIjj=%eXL@_lTVjVTC!4fPqVvli~xK(&teh^9LQg zpz_9DEQ_>(wLwUY4yU4c{P>s)d`vKutcm@F)RJ*}rvP3a;+-;jdV&nqOB)v7J)A&W zqS15(#|icpud_?_Fl%#by_od}a4L=AMIZ|LcI;Kg%KB*Gkpc+vK($Y7ooSbIn=`;H zmWaBs_ChcORKPb91rU4`z$hrvRJLVl2@v=-?E&bb7uHnrOLBFB-o22PA|=+HoHv6X zS^nq6d|)K^H~i@5|1OsD`F;NHEPle)zdswD3=H%Up8va;&lOAl{O`rW=|2B=7C)Z5 zVdK#q+zs<)#h&^f&B5kGu8`4(&j=2kJU(+HTwPQfjd#_HpL^HUkMC-SH`O){)C<93 zj{?rw(jU07H=J7kP_Gf)o`Ns<8@=`%uiLlQp{(sAi^AaOo9lCA4wVJn$ zhV{>XI{m!-3BbtS9EE`Azo{cU(p%8ra?10HYVU4t_kT;=8f))+@`gO^k=c5ob;!Vf zq%&-2?>o}>Mq}GL%pJMt-MOhYdm%UuvF@u7D4+qCVZ)l=qxT-Y_1X(X?_=u_V;+0} z+zUl_cRg^MZ>^X4FmNl5kByKy62%83Yft7wtz2P47qzz+7bnH;?!S@5%HF0*$9QJ7V zng6n}GjFg7qmc;8ujXSOI$rlL(XDDh8^m~)xEcP+q^ZWR!QN0~?(I1h_WH}&r2txtU`!es(_>mBTpl+&C@Sy?E5Y}@b zgYOIy3gDAEn$HlY1&WbSE*TO>ZZKLQ=^S$}5RLF($++PO2uA*|2$KcRF;Yg?_ko!& zfbVPwhR!O88aMM7uFGm%$>jN?!+jCl$+go%K+~yfJBG!xJdB&MYjUOUFP`PYg(<3$ za(L;ZFMZ-c;a3ii{?3`9UWr)ks~1*h`ea)VsB<_K;_dqA8KVEy{XMxxz}+7P`us6ASk z2xEm?p&qn%$pIn0cVQJ&46cr=6Id2j6UeECTL8YoOPFrHLij(n_u?C_TtUxstf8c< z!&sgnq9Sah!U3W8z5#xBnU0z3fBYf`rq0@AEs@%I4sezKncZ`_;7 zIWjuL3tu=TkHY3HyU~W5$42}4+zIYrKgX_8j@tpbN_}EoPAAX7%?bNq4X4C2;oI^N zOiLvA0&Ggy8j-4hLOVRtivz$MtmJp-Z1H8Z96Y*J$S7HHe6toC_OI&Adgnv0Q@yI; zppLzZcdx0~_wDA{8VH0O=Kt`+c20jHn;nS#?Ov3@K)_(QLM?Ycv|G3DKaj~uM#M%! z+aOK85tqMh@-^7B=^dB1*0VbG6{@wa2+*Is3AP@{ght9xPh-}2|86>89v%@``|(e5 zlZ;@4Xbl;l_=R+q(Oa4nCik3pnssM+1HBKQ3E89Yu2=ZDSne{VvE^jFMqRQ}8H1ba zOlK@H?_r4q4{n*Xn&4KGsAW<^$jM^d5W+nK5QFa{?o}EoRG^Zy>F_%<5R@&LVDo*g zd3e!+TzABD*gK;1j?m!;Y`=KT2J#G^QKQBij_=XN0abjNJH7oJc?jG~+CQvtBsy;e z**q2Q>-Z;2!jU z&5|BRO`DdBp1s?TGkY$Th_6r8nY%TFgsFE&#^G?D2QsDWpKrlRj>DzW*ob&|76bzf zt@xL>*8hoWhR#6iI!5e?;3S3+V;M)Mk1-!X1EJGW_S%m zu6EUG*U%Cro35{&u&Ks#w2M7ioFKi!F9y!q9b>v-Ey09ekysfdv;lVG<7{^FgQyqQ z!n=R)on6?I;ml{l2$%#G9%}$@pLBgwkS0yn?MzSGwr$(CZQHhO+qP}n{j_a&PurN& z?-&2=xv0t=E2| zJ?VeocDpC-fy~@Re+$P+I~yE9ZDazad-Ie-Q|bd)At?Zzti|35R!RkIa&VMEkQeHr z0wP(fp(%X+c98w|ZUv0g6L)P2@gA_GF8id=7TG|z!C&Uk^L{6JpuiIdw$k99LiA-| z0(N{Cf230m-@D`wZ4uQ#9xj4s>%DE!Mem}8O_qk~cE1qc z>+UJ=Y4e=NjGdo~qI+z1--|u#r&`GgG1;CwF{gY9iy}D?F@O2Aety<7TO-@Q?t_)! zziIoIN##9K!LcKYug;2lxap_!`Es<*0BtXzjnVx_0M6mqXveKbcel zwEnZ4E!i^F3lz_uKT$lLf3^DqfDVXlXC@YrEMb;ICsAjgLbi>*hb56t(c1=BnAd+ z&eHQ)wdpx-j@9t?*L5sD%6APkZsLdT6MbqT+!pBdaU`K1s0J0I1K< zbk1C~B)!B`SHa{74z#`6yoL}w$@Ve8-eAF+)6;s-Tb3cGr^(vD=Gm2J7d%ul2HyEY z^(~+0A7JUKV3k4o3jfondd{$0c(inS-EzR+13DM<>WReWJtW<+Dw1Wm$x>V$7}Cp@ zdtDc+F@@rdu6E$=&uNj3!jAn{$R`8aq_tzAdoDK{cV=ruW0r|igG$w_GA|Ug_{;Eo z=_J0h5)O(_(W)U@k+vb3{McvcX0)gTF|6U;Soxs-A@$I4;!LyxvB;rx_uZ?`{;C#if=+5a+Zq=(!HiE;0i5fBaW5yZ=L5pyo-v*ya(O> zQsm#VTzsMH8PlTv!hF8rIo+v!aAwBX(Ax#p2Y;IwuQApBRruKbS#gRS>P!}9SB;_l z6eN%z$M-!Bi`w&g!k-bHM9S}Hg@fChj-$cX1Jd2{eUAp^_tn;>-`)6))2s1Mxa+Ur z-*L~F-G!=3`{Z+GpoSpde^|K7yBase<8gcdhrXxTtk3+8oO$~ZJ0JJYQHn=;l86WV zAr6mwoPST*rjVP4xz3=ziIcfnvo- zjwm+hs)5E)uDS_X427>EjiC1BLAtsHaR`|7M-?{?2_?v3B)8z#D1v0MI_={n-FJ)5 z4OcK_N#O>Om%%Ii!<~b?f$Vr_Jv>;dfATaB!Jj_2)IZ5pepSAl?l>ssAYDVKH5^8bl)sTEolz87*6btI= zuvCMYO2~e_o3cjCaGC7YFC@q*fyH#)&qZ*ee#w*J2}&z6W8AQK&GoZrI{FD0oH`^c zBKKt%hlD67^W@1H9vjMrsJ%~S6<40@NiNxun7>XeLl9f570K5pDMKJBB}hU{D#()+ z#K7>nmVzn@S7g9YD(M#)%_g_$YyvrYD&EsuuvRPfhM_O$1S_Nz=`hHa_^o)pd9L9! zT)Nj|M;?08Oj3?#f_NHE&pKee?v|F4tS3uUz_XH-4GM~jA;SnrR8%vQmF0oWC**Sv zC@Kauvc~}pw;YYFX58&4C?RBx_`}8OvJ%Pr+T?YCiBY?vOsd)qkFPs5@V$|Plm;j# z&o@2m-o=KJfrYOXP3M8PyqYY^Z=f)f`4;iFVr1c|m?$6#?wFFzv&atZ<{>MB5Stb@ z>?-q3vO*I}I2ggBD`b?Yp@Jn)iX6@z-X=mFsdd#GKxgq4urZ=3J$Wy9xrC2~&<0*W z(q=BJA3i2?eIav@n4=@fkWcW8<d~cK;MJ0H8UAZaV~#yrTKkjoaN4Uz`t; z6!;U+*XOs~gVZcjm=AR2g9-F#Snf**SRD_=WdYe-I!M)|&|S3Duu0XlK=UpAcXv)9 zYHo6~z9OJ7G%?p3Fql+`>YLWQ(pcQa=}EsZn3T9eJ*5dxZB-+y0VnrpFE2N3Rb$e= z&MB{HwY6{hz;8iQ4cTT5w#3qtvO2gHxiYEtxUn)gV4o$O-@Kx!`nXpUqEe<=rL-`3 z6A7z&ezT)IZR6C8gB3>#8jC%o0&-@yZ%nw9CFac2=8`QebM4=+2k}8DtWhGYLKv-E zNSRr>z)b34-$U014VahmjN@!gQ1(RjLi)O&AlTM#0${r^# zx$GQtn?Y7cO~}5u5V)-9fLGAV#NMD+OtZS_T^zBZrCs;b4lQE>qpn6N^_vWdx;Yn< zTq3u9+yPta#(;s%Gs1;Vohi0%2F?415n z!fqSBE@NBYQ{lcpjyM`0Qc@BcWikz)L~8 zF&40YFubn;i^eHD#1kjTC0Cmx?LgaJGY5VROOfx5kz4(Vu&2-KtRV7t&I;GHKzrbi zm|sy?FDyIPEloB8INGdm`WX~SUI+k1JhuV2bn2eoY|_P|%rF^Ek4GnJ^!Vv-bk%FQfOc;xgyrEF(bSb>+W>8q`^xZlT$egHboRS2 z2qJ-r+2wen(j7>m5O5*( zrLbQ(od@{qn1qqiEduQk&u3POl8rp)3!chzJc4&gvuUs5EYfJ;_hbuSW}X#~rFv^- zs2bJ-6}H_I+N<;SW*PibE*>X)rdb2j-4*Y*#28AR@9YZn4&(wEr9cQFBbOE`5GSGA zI;ShFvXzWZ!M#<@#RUsd$Q84dD73$*r;YsL3=1t@dGNLn9VCvF!VACSsr9eaRv zsWMW#O;!!?k(X+-kxA`h`5B`^7r@0%YGQn7?E1FE@kCH_vpbhyF!G$sdmOMdngM8S z%1^0AWBxo-WFK8Z(fEhHY*N59y3``@6S=7UHZU&z^Cn)DXg;q&A<`>wnRj~^G#lCP z9Yjlp>8y%;iuG8r<7>@hx^3QN-aJApqdYrnnigf!G<9v`+L<*l4Wh50Bk7d<vFh-6+cvsnfk&oE%n+gwdLLl2Fy-hNP zY(FUVud_54!^f5Z`pUC|qxhGZ$)~3!aqafktNO*C8mi6*lJJZ&_7tN-JpCFUWm*5W zo+~*vg89>!Z$JixQIg8dS^)q4{A(Xd5tIzEFz2ORTPUxrXg`YR6265~Yu0P3=(fu* z;7%|}8x*JTBXW;hFJv2)0Z1$Cc(213T^R(8Mx~Y z-bARoEZB|?ysNk`k^8;Y^;#7=UgcdDOL4^d!mqA#Zx8pQ`yFs&`N<-rSSm{y_FID} zJl)*8fOQ6e4*bII72x`Lv3D7LoWqvMZr`tTTk9P2&cfRi{Sa++q-Xz|gP`806l?7c zHK(pVe$ElCON?0vlY%+48q+4%1s@lwPsrRJ1m=}28G@`O0t55(I2;Woy$N?~O^6(I zIoOYZBF`j5msdMH@&%#%#AG0M4czuKco8rTooJOm)w}}oM^Z6B%8FJN43rK~02RdT z0ES-n?_T&50Bgi7AW+l)C%Cj@5c;jtsURg ztSBf)*4l-pZxkAcIv{XaQUxiXAg)Wv`Qkl9Kwt51QA;~utQjL+;uV&Nc88)m6^S9s zhy}iGIPM+HV7tfr5=0ic0b<`q+aSs85mGEH-ZSDYy8HT9U4bW4Z2E zJ(vmcOej;ZH7YSTNO>+HO^FJM&xV`PNcIV8Pj>@b+Ep-<3Cwh!sfq|T*abS`*thFy zwO7K>d2`5-Mtx9ot6bq{yQDICb-8fhAUpiYG}pd6lG~=zc!{WUW`&Q-OY?qAh>hKl zohZicWh6c2xo=yx^Y+7O){mO)L;vf9)!@3QoMop`4Kc|p)wL>IddD=4XR9#fy0L2_ zCW-dd;sAuMxMy$B`qDv!rf%~px0WCJ~TZ$ASZR*!Gwd+&XcRIKQR7+el+I zy-tGK;`hR8_&yKcdKjkCldw7d%K!3V(b*76RaJ8c!&2RzH)Si10{+-(pXN7*Vl{S8 zHOi~2IF z_^Qes#e})XRLpcsmo4k3HRCz;y}kCmxr?B$tvP`s_3s!2PURxvo8#$zO!MFKlkmUi z+pT-g=!}Q3#!(ioSf+7gZa5?M;;VykPlk^!{ass0rTb_=^a?SjG3q6pMtg^%0Y<}+ zlOzd31^%CpKTBu2`J`)RHgS8@*5pEqRcc#_4u3CgG<&FlPhBCT8cAYy^E%I{#k=IJ z8x&Uc8v#g?7-tY0ph<-Wf219VVCW;}F5M3erTHEoVXw@=5TwqNCFMA_3~J~@InzUN z$EyNClsxretK>*Nv;K)ea^|grmFY6b527C+1hQ{v1c z7z0JzM~AQ>N1f)7L8QCT9xK8ENKD+(lvJ<_iTGQ(0m-zusOb<>qoC<@lCpyMt%Lf~ zrl#2@Rk8WxX+crb55g*Mb{v+{IT<;kM~Z26)+}iuEoJM@Qd4*E7g(&=qN1w3k6OCM z(o?Vb*NQnAk&cS^=ZT6+Z`RsTV(LlrJRlQwl*jUqo9Pg?IZ{2Lrqw@I^npZnDcy~p*Mg~}hd*+aV8EflSOUnLk0!sbxp zzi&Cg@(2BnMmjT5fluNI-^vxU#5ET3YY*D5j0t;fxo2dSCfzvmWSjeJh6=%?2|uJg{-lX8;9&FSYsAHgA&%5#?PRJHRiE#SWbE0 zu!M2JH4;!ft3ZbgmdGj9ql_(n!QE2I9>0`vk#fMVcv|@-Q;^y9a}1Qq&)6%KkM1B> zcIfdfpV|2ix*n{f6NdiB?bg8sB(s?L_fTK7ioRCN`&c&YVxF~%`q`hgi2m{ae^0EI zR>E^3jo_ttsWcJ{f|=E|kEU6hqx{+&SEgBiT^h^3R3|MU2p6-)Ej#8v{*;n}lNxY< zU(Sm=0=3OS1CWFZM9gQBKQo8@_52b8kx@r;cf{Nmihv>pqA~A;l92fJ5&LU0L0CnH zQ=n=xNLfK?f15?bSX2klQ(#SS?wNMSB=|AR2P?luPG!yYjSFzcyT&MuS5P&Y9wMd; zty(YeE5`8`l^9bHMfILccD@`S0UO5XW-KKWF}^lVE|bg_aoRgo+z{RE&5#7Ht$dB+ zCRs^$IVeOdR5@;-DufJYYtEbd3zX&Y#f;XmG%Z6y#8cV7v&o_X7xF~chC_~plZF+I zzV*3Ha-yu3WdV$x4UBQFC>-#MOf_3}Au+Ot|M= z7#p2r&cjkAu!DM&bt9D;a0mWy#1>vx}F$wSKlH+EKMs4+;#Nm50US0?P?ykfLmFy_0E z)bWPh2Qi6smQhflU{>OwW=?7hK$^2Zh0b=~N45)>x=1e>V{aRtQ7rZ>tTp}u56VVg zu4x*tIBqhRA$`_|aDYuUmq&u}hE#rnza}*!2mhxgj{Vzr?DAUa!`g#qR0AE1fe`fb zik}pwQ9>b~x!J#6Jidq@P_RIR9?`86R6XA~?tYn}!pm(_R^neC$QKJJSZ|FO8iXGQ z`QVbZZGhDb1tuK^jzoUK)2O?S_+u7)TG*Y*^l<0Cl1F!i>)I=diTu`8?`I|?6A=uQ z3S4I7tu6w(?1Wo;HSz1bL8*CA@2X=?+3`xb9ZT*eUQvb9u%?KhizaWLX9Wvyp%Wy3 zdzp}buun%QBC4OjR+<{cAc1}wfAtLpyWP`E7ScmPZnX#mR9t%&kp_r~C=Ogr(xas% zNvwYzfbM}DSMzX91V?}+7s7qCFX9%j)u=U2)TCoE1CFed=yetDWEG>zK|M?B4F|(vPR@f4QOUPsmn^<$+^Uj$8HEi< zGB#2KH`E8D=G58ARC05EQUzQc^q#$v1zbW6wW~7okJe>{&Opi#9KSo0a)0T>Z^F`H z9RW5Un|S)f22I#z{m6|8We0K;9rnniZ4W>$Z2JLnP@gy$I*X}wwGIl0HheTlXevhY znv8i6OeZukt}&AY3_qp#`SFJV>e`|(X=c`)(#U2^^el(hTKXP>&0o3(L=&vRYHQ++ zFb62CiPl5zAu+_8{QrZK{|BG^5BB&E_SY@_`+Y9C+{_AdDk*v65e~T2R!*br$?JUh zHg>R^(_0}8I=5%`cs+6;*@T%%3%rnq$T#!y7X?}pB9zLqF7r~V(Frcg)X<5x(-cBt zGVw)p$tyg-ThosXu^7A8-qXS4it?j zZX9B3t%Zim4k5}~`a=i+dl0Y9;(ohw!NX%vR-j_XAjpG@+nC#+`U`R(VG|9bM3UxP zc!5XuD9nW=6T0SOA-fWH7_`&-imqlK`H3L|V4;yGUYGZ}z=c$5guy*?HR8z2No*2V z6B$K0YmGqoiu+@DotoOY?uy&itaDjx_?F1i*4};GSU&l{^gOEQuVl8msoMT2%tF_9 zF|vWpmG+4&==>YG)8O_U_u96~)!MC#=@~WzYOFQQ!v6IUmYmtt_avnxwrTZ5yi* z#g+-xsJ>KBDmIgUM;V)CYR97Sc=PppzI!M0*yz$(sE5UnC1WGP{p zg#?1++6sL5w9e((ilDZ}m^@T)H@>CD7?(X;P|?o@X0t`;dJ*E{IAeLss?r6|5ii?w zKXkDCTd`j0gxg59E-jz$?+fRuogSS7&!`ymdJB)XzF%#vXRU8%sFTY-i1%5XYAA;U zwBfsz3u_oFmDeJ=6j!3nVa;J!b?y+6H|2HykzLcjbX3p*f#Hohtq9iy-MMw9E;+)2_