From 214b201bfaf2577a6ea53896c1bf626a63af41c6 Mon Sep 17 00:00:00 2001 From: zepan Date: Sun, 15 Feb 2026 20:49:58 +0800 Subject: [PATCH 01/27] update wechat group qrcode --- README.md | 2 +- README.zh.md | 4 ++-- assets/wechat.png | Bin 148820 -> 143766 bytes 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a61a1abf4..091af2811 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ > * **NO CRYPTO:** PicoClaw has **NO** official token/coin. All claims on `pump.fun` or other trading platforms are **SCAMS**. > * **OFFICIAL DOMAIN:** The **ONLY** official website is **[picoclaw.io](https://picoclaw.io)**, and company website is **[sipeed.com](https://sipeed.com)** > * **Warning:** Many `.ai/.org/.com/.net/...` domains are registered by third parties. -> +> * **Warning:** picoclaw is in early development now and may have unresolved network security issues. Do not deploy to production environments before the v1.0 release. ## 📢 News diff --git a/README.zh.md b/README.zh.md index f94abce88..5a1c3c50b 100644 --- a/README.zh.md +++ b/README.zh.md @@ -45,8 +45,8 @@ > * **无加密货币 (NO CRYPTO):** PicoClaw **没有** 发行任何官方代币、Token 或虚拟货币。所有在 `pump.fun` 或其他交易平台上的相关声称均为 **诈骗**。 > * **官方域名:** 唯一的官方网站是 **[picoclaw.io](https://picoclaw.io)**,公司官网是 **[sipeed.com](https://sipeed.com)**。 > * **警惕:** 许多 `.ai/.org/.com/.net/...` 后缀的域名被第三方抢注,请勿轻信。 -> -> +> * **注意:** picoclaw正在初期的快速功能开发阶段,可能有尚未修复的网络安全问题,在1.0正式版发布前,请不要将其部署到生产环境中 + ## 📢 新闻 (News) diff --git a/assets/wechat.png b/assets/wechat.png index 0f97fa3eed73bd214bb34cc945b771b00c64a878..d62c8d09db29a2bf18e191f6f1df264e1d9c5331 100644 GIT binary patch literal 143766 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%0A+oB}cT_YjG9fPI42Y_jE47MQ;T;dv& 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 TVP}o%A2+w>JZEn=uNe6krd#FG literal 148820 zcmeEu2T)Vpw{MUt2#C^KP(VZ(NozRgkAiYafdhflX^xh$%*Mt%R zgz)m+e|`7Ooq6xgn|Eiv`3|$mIXNYJ?X&7{t-WvOZr1?!mF1P>0a#c702byCaJvY2 z3Bbd_#lywH!^6eH$HyZeyiZ7Y_bwqh3F*E2ROHmuROFPDv<$33S~_NWN=l~ZOw3Q% zo<4g@1LWl4WanXJf6D&HL$L7i@d*hC9}*HiWT&O1W&c0kZaV;E1h_wN@UgKT1MZMv zVUuCq_5gsGe&S;N#|HTOhII!U(_egoyM#oT3u^BJ?qFeK-@(Dg#l^wFTir8)6lX$VPk*#Oh8abSVUCp zrL3I1f})bLmbQ+r-kZ1jre+__EiA39ot#}<-P}Dq1A~G?LcfHC$Hjk3NK8sjN&TLi zmtRm=^y6n$bxmzueM4hYS9ecuU;n`1(8T1_^vvws{K7f}y0N*ny|cRqKRG=+M_eE; zul}G53xNGMvM~SuM%aI%iwr~89UL5N9Q;4%!n)&zY1m{qxQ}@89>{3mzjt`}n9rYp z{6%a|W#?UHeoYv~2gh+jN)~~2R`?&J{Rd_LdxQo2Us3i?!v00q0^lAt7Utz)lL0`0 ztAcR$>^pz8zsBG%9{7s~{^EhZc;GJ{_=^Yr;(`A@9!Q>)FC>19eI#ePx>^&h$sELR zV*xfj4LD*RO!53!v*AJvNrH zzLMW-wlt!LsuNtL=MnZbR`IOAMVXy#V>>%Xtj%zw^0g{kgKwB@+s{R&`2?wu! zXuJhfsoer3Qe*!1;U|oqwEtf(tDv25(Ol73+}F7`UQDrk>Zy*egGdH#x0qbaTlcyTLq%MdT#+f zgi@3EsEY{n6~$H-ECXqQ4%BVG7{3J&g4QKr9s8yF;8g__JAwj~aML-;xSfB48M9-m zzmM4pH)hPz7LnWCdQ@aGB$d`D1D#|q=_}a)&Sl{R>ffYT-xp-|tNw$;!n`lH0Eg+e zP{E`RWP>#z9(Yum5RM>3v(xTuH|Vui^$PM;1^gA&2CYrWc^ zQ!5YGp1#m_+4E8ht=(6(7WEx`auI5uEEF5LO+Bj7xm9jW8=RSem5Sb@v+RefFiC?S z8Vi5A(0vxDHf2}Z(RY|8^-c^sL4pJ<)(8KXzg6v+M5U*>obB?2MsY43tKl8#tibb6 z_dX_!rqrBCG8-Zz@(o^!EiAt<0XDl0Do7=(tL?s(qMkWC|0SQeoDiv6i9iT$o$TDv z$SB;ro`*D*hj=wnR?O6S)(rv;@qzPgUbGZ)5YYq{$|v!8W+=q8Z^+Jo_ov$v zyi*A;I}L4b0XDThAECE^OEQ>yLlfqQ%A%mvwFUoKiNWLLS};beWI6y!7aDtn2k(XGak= zL<-U1KkIH)eWkswrD;l`o3mWx?$ni@|+KfJYw))cH^IP5HDf^wHb z-U9d)KQ{dd1qJ)<)i%nb{2F>mJ0_S_2JTPAXf04|_C4N-aD3&bUoc{leU?o^3VHsZ zJ!AzkZ)THb{y@ISGtM>rYK<2Z?5H>EnVFH>b>-tf#YKP{C?aR*!WnOzJ&X zJM6_P4BQw~v8P@lHr zievHL$|#*Q-&)Fkx`4+Y-*E=XfO6h}{L;_7J~+i|JW1_RNf4j3q+zAoQFz?wo7Z?S zzawFsq`g=~h_yZ!o?&~-D~ zSrnTPpX#Hu*I_NczIl*5ye_0!JNYa|PkY5kwUQQSN4z?_(){_%RJGO4BPGh}^{?zv z`dh$2%FkQCY&G~99CWYWenVwDl<$yED4IX>{4i7G77)v=a|wO(_i z>+M=w4%@Z}7j%Ck_k~0O{z-X;z@vxm1rws=0;-}ojLCw>jI2|>z3asCuhuT*^!CF~ zOqY$&SN!`>-#BZDak$|(&jbh==&aK zs8eGLyzgpJwc-|26A=7cfZiz08O4Dydqtqh1XBRy?c+z}VUNY%eC8kaUX)B%f~Nhl zx#K_|BZA+337>$BiBoH#dQ`_`@2{fp8sqAC62-O@Td3KzlQ_c?&MX%&q_)Z9l(oWr&(HW zy`<*0(XiyhPHd6=n3<+6`HoBd;yvAA*5ZchxII~|T4o2jukPY+puh|{OQ+mVLTq!* zZzf?YVK#+t#0(zyO)%j%P>+b9tch;;XqXab^`}aXh`fg~HG8B-3trnqPp;2ETdKx4 znx=9l?WS`*gzVz(5WK(c5TV8~%Y@W=8|3T1l1R4QY-|p>mp4jg&P3dBO6nAya-6!o zVfAKtdMk@Jnv3%&KXp-o=hZ839wzQ=ob&C><>LIw!{Cgl)`~|#yd@skG#z~o#+tQ6SB$1Acn+1UmpJ9uBjPas2#`9 z2JASJp&o3ypTdCt#fH>Y=t6Ty2t}2W9ow=Yb)9;8o9Bi^=t>W~>T)0=?C@sH_AcymLlcmz}}W3CYKsAqDRM^n+&_|24l zzChk>q{-YPD)iNL71LQwfn>01p?xtf?pUvnipgW7f*f4dmuUFk;wzl{twIm+YC>^ zjnVjA`NrYtNAAhLyPT~XWY4pZuLa^4w$V2+@Iq4BUAEfM8yKjs<(u6_VTirwKDxjA z@@AVGQEJaT16miD@Zka-$DmueQBP9UZY02~z#Gq#jJ~M;RyBkqDX0ZhYvaKfKk;zy$)O&Sg71 zsdhm-18+rG?bP>2KNZLek*sU8NywP>Z!<#sV9PeMcjPG@1CrAXhcgX#oe5Yf8)G+s zmN6M^CE`~z_X}N|JsomsnD>-Wss%kCwZDxFq;>TNn9Td^e``ecuBTaQY^uuIiMvKP zG^#Z$n}`__>kf@PJr#KN`iv zQTl08%xlct#W<+j7@hIcm~C8Y87xt>M;Eif!N@=?qb7XJ?O+s}gHOI7(wY}l>YN&r2baifL|KLqec6&P3Ex-a}lMTJE7%J1nzH00GPn5C*-G4i9{`0Dp2~i~! z-*&)t`(&)tm&FK6(zse4t zWeDXx;~9mYyR)$-i+9&Z?#D^J4>U54$JhfhU(oMa?6pDjG&xeoD7qvOU1||X^Wi^4 z`q>Y8Rp#$$j(UH%pw$9@wt(&5g!q5*K}mU#X+(x^=G}TiZvir8c#@LsO*V@x*TQ#p zbBGp)na_$QBpKZJ(gaMWj`R^Q_ig#Os2EbZAVh*eCCkr0C#u=mtZ-?ZGEt0%D)S6)>y~Vw(J)B=X2cF#mYS`vteroM= zzSincC*TJ1eozhFMhrme1%IjFwFMwf?hn%@5C^=LluB?NwpIVR*z#(PG5T(w99N-( zy~U?l;a8L*As*#yG#XP`{E{X2$gNHa%23&1tb={jhMkZBmg{VP(7E{A{YbIre%?V|7hA1PYr#```f{-Q z1a_uoZxcK%wmN~O-Yy@D3=I-=GUe1g@tA<6K2Fz?%Zn@SzUPN|{vkUjv6ZYMc63Zm z8eYk&Z`z@xho@yrQ6k`6RP$@lJk5>GeYSA^)3W2PCKGa_FXum?{7qQ(Ikx~aUHv^) z(DaJ%&AD;D=mOEpfz*q+mn2o=5X&?eMPWhhLU|&r;zC0A?X(4urwM$0^qsbJ&^x95 z!8F$aMRNvmN0j#EjH9w7R!JB)`uFyMn6$$A`&UMwA=Y=f3!R3$@DRlT73t9z zU2a;-yLVJ-?s6fh&+asrJ_l#Z&9&zGauwd+F|pzD_?kq@yCqapNwN;u_IG(lACu+a2- zbqdkO%I{T$Ck0Kh$y-nD2rf7c$A#%Ch)fspzNfg}lYiHRR;`#N_cp3&NT8=j~4FJrhv^I>Hb*zIa| zbW3cyNh*yaB8pDP`y8r9V2I@Jx=<@Aq2lAW4cXmz@`88ip)o7NK*HiCG~a8scUS{u z0l66e1WDWzm*ws8Lj}A(SXt)iDHg|RudVsI1es4%9(C4)Dt#Uxmt*_3&@Z7kl~paPyZ^piFx{HT>XG`|4GMox9DKh2RB)`%vC#nX z652=A?L@-721HOcWO0MWOBNym2iHa;KgcTTtQ8afys65 z=*QQoX88Lqz*_)?i6S!MExNBh3>72(`$NNWJ-rXdefLGs$vOr}0AEf2{H=pK@Lq!U z=Vhvd?&7+AG-$Ilhy#828w}N~?~0+Mk1y;PMNbcbqr5<32;{?{QWiJ^Y()CEr9ld6!{9g`|B3) z_!e+pgaN&Kz@tfM*;~NA4)_z3hqVP6%&9~FA{eFS;PG=Y&vn##{OLmu@7`}`_;a%* zdt@pCpDOBR*rh)~@heLXNqexhnk{`tHxFN2E@uWgOs+H;7}$$EY_=oKfBy`3>*cUyz7v^m0K=!Va z8gGQ)YBrw%gia+LDqdQ=$+91A7Qj7nH|YUmA(IT?QHSWXkMxO-I0T1cT%Y|I@1El| zW+8P}FvFik0D?WnJT=>VnwC@LAcUcx34hsta-yuYE4wuJZN4dfsHU3~Cbk7U0i|QE5JuTsNyiKiDtDhiGLi1yzKRGFNZJ)pvgXF=$deQ;+uAu z&hF~1*Qctc84I#_5A{`lm|U|7N?pV64oCsHt<=`;!cHr zF#(=^i0bvUOGB5UYZrr&B-UAEj?q)K##ejd972m`ufGrbe z-kfDLJZOSvsoPYJ*Rt2ziV+P^#G0uq3+qUBW)szB{RIC4_0>EJ!Nk$e+i7t|jIVgO z^V2JIBPlU#X&rTVs$j13`Y!d8G>C#rQ!)uQ08c6*U03o2!F2lf1{&s>k`*%6)GLUh zKF2$w1X25!;bRkd+)u<0Y0CH&V8+e1Wm}v&iSx@RdD|R=*q3_Nwwn_x47-Vq#l7kDS}OFSc0L z{Tq1%9g#)mW>@y^-bzM*;94>mQ5$Fo1#hFs~XL?mF zEt4O=RvmemE_ncWfHTPwM7Sj))lCgtYTW#Z@6VWVv}{|j?C8uesW$-vXeuHX3x^`GX?VgU8aD+e8rgTY#Ev=>-k=Yl#m_ z$tyU>3S4Rk=bU)b0xi1K2yGh!mwsFZR_|#HWjRO9onK8RbvbwInNH4(k_Eqv*&nf1 zDoq%p(eqvL*vc7mQSo`*Clm&M9LblNeNie0e6(!rv#}B~+;HU3w3Qy$yi5>l@*b-K ztG~czMB;rZ5shhe(3T=}33;F^5QXkHgs?TP zeQ4TsV*Md#o)_~5Db$50K+B$CnB@eld~U??H$bv9n#RuX z&xAkzgO;DPW5Y?~{>5j5xes~a^ezTOaR0=8UE&EjGya<5?Is($0p`@eUb|Y{k;#0+kDIzGs~dw~K*lw9p>)+xi5J z$Z_N}=#U&!2Voxbw+}zA57o75?Lep|*s>6HDrmg7_F9WbI))4x=!`ICovMp_Bfu57 z^mwK(@UgYq6TwI0G+!U?07P%V$`f!4e=e6+Wyl`K0OZuwk4CAFoOD-nr;W5}LZ9@> z(Q|nZIyHe!*xXJoOJ3U3WdlPiJzv}As@U=VbBb6e=zb$}BHg?qZ`*PaZ-eJ-!7sBU zp{=J=^pR$I%wX8nQ-}j1n4~8?HeFAE334vBuM-rz2}9-{oGv{&WnDVx@ZWR)sprP& z_Srm%HMJH06;f@}`mxHdxs@sU139LwA7y>ePEU@x8Z!Ow1KLGN=`o(WjlI9aL3hC$ z>LypmY-iHW(XGI_ZL}9g9cSHm&J5Fh zU&G*QX28Gy$PT(6bh`TYUe;L-1288|Zvm5k`xS+M_UpVfm0zx75Z(VT8nPJUsjp8S zo>7;Iu`_&G4}PRx#H;xy^B(?e-q2t4{1+aso+zf+hic9p*d4d8Un8ug-~U)%cU~v! z`Dc+2`1{5tw*X?nwbd&;_fRwn6NC0!VlVBKQ)A#g%ksO{3$4)^_JuaZl1sbxbV~Og zy%fjAfoM9!@9Ig3pAQ+GtcDs#5NoaYq!i4kC}0SZH2GuidL;47cv@9QHDTgZvI$Vjjxa5>F3u-uEXw zj`-e)lm2iJ8u{)5v1@QMhO4_L;T}KZ`f%`q`>DZlo*sBwmBw;}d z1`d!O#lRh_U%<#ifL8{^)9TDbYtYgEA zK(xf$eK)bzqx?LhU0>?TFoSEk*e$GIKXE^Ye^z?$$3J!|%{VRRk%Zy~hXT)d!5dMd zw*b0w*@@%BS|h$m^@{l6>gHg!5Y>FQ+@g;nBFs$DEn~Q;|12^pP!sqpZ>uQ-QP`cXKkfQj$nJod3yd{1W{l;QrxZ(fo^uL!97N~7` zJn+E9S$y5KmarVnA3dLqKW+?!nL_$%Au$X##&qycl)Cj5cqhzt^6KSu6tQ<%;yi)K zyXBuT6|Ed8$QURQ=nnGrzCl~q_M0z?>n{VJM_uTNh+JL!l4DJ37?yV*Gg|tJPXup; zI;D`4iY>fm4Z7k%=LQ<-0Lb;epp20}%8{gyCo%63GcUW{9zQip@9Wb{Lk#gZ(_m+2 z^mqs=3gJgN_&Ur_xc{Gd+?YZH9YR17O~Wi zaVv7fOWdaSID~fNfA%T9kBs)QSwR`V!ChbyL8tW}&QUM8tNJ1&ud0zmy-B60kvYH`h#MsZLRT3>SgEPf-uWFHG%b?T@mQ0VgI4%EVHmkQjfv zC*d;$#vkMMoOTbEORmu6K`?i zl79K*D}dii(|HPqoEcdl^59Rhep)5g3sE8h6ib&ut|gTn_`k;d?n3h|kP&@J=qE@$ zI7p?bX7cb;jYuo!OUwu0)HM&{Vg8K|WZ_O#mn8Oj#XYP44q5ZE5Xwd#D=>DOaxd#v*h` z$T2y;Ke@T0BS6YE~BIrc@MQ*(um#-7ryG*ARRatnCiQVW-8BY;Ov4vVZLP8g>D zA`goj7iU!L5E*5Pbfez$6-3dsBZDDc#G1d}gv_w7QJ(aR@!Mi0A4!X4rRDU$uH8VB zHAnPCt#PCT z@JhXOoisw`!n3rR;=AkPc4=j~W0sbZAAdo}yU=A+$Vht8ldxm&dva{FD%(ex5U|xx z2{Op5nkZTUzDgXsV6h=z!)W;DBAudJId*<{TiAYt!Q9K=)HF^)3^XJXtIOtfV(v&V zZhpZo)R^!S`^m9k!(aeO>Wh*;vL!q}D}78u2;m5+58&@4cq@NNhtC!`n>|3@RMJi< zMWSX~WUZfOt*(@y(Oq@_M;D$UP9q^>om#pY zwo#qx&|)xJG)y1S4}A7i2U;gD4)K#J{@!Md1i?9a#kgbo{o5W%#H%o0k`0UEDdzQQ zQv!VqDmOO$N1pmhAq#s}@Q_(~Ci>R1-7g!-4C&&>~!GQ-Ix-?dGgk>3lGo zw7`a=*Hu`*Ft|32SWG7Xu{UJNl#pDcL_=8ofKM7HFm~8_TpGx63+ReM=3)fiB?f)3 ztR1;*YKRhm_m+p*wtyUjQ4S^0b`8+!IK0A!fR(hKwM+@Eg7JP)| z+{;lfWQ@YySbv;@bupDpr~SS}YZm@VhVaNXX87TWk$XhMPR(FC%~y-fR2?)uy{$2C zKXpeoi6<1{1MkaVxoSZ(j~(WR>A$rnKG+-LapMJZNb<+0#&oUTlW>ESJ{4rZ?@x7E zE~bCblrd)pTK>qpsa9EDDp>mLm%&7t^RnhL*QYWqvr1uk;N+f|-eBrT=nrq++42@S zSi50__Jl1fuW?5-tCvq9p6Hm*#>i)s>C|UM{I~0%KohdFb_&adkX%Tb(m^Tr`%L#F z^~MkI;*gJkY%~ zjZUL^YA-od(`Pxx5G~-%3p<(Z@nvg=p=02W&0DJnI%{J!KlvO#ziby; zxdkK-Y&DAmBibZuYwN1U+o*R5^9IxTovyzGWi%9Kex`w{dj^%9M!dJZf(-F z?>P=%A%cyDnJB`ALOqI%J83IopRcF9s2Bh=2VUvccN~8Sg^-3Y+B91|nmQN=-wiU8 zV>S(u-yPT}*EnNJ2S;W;hmi&gCR6qLl85R{9dn|38qg#4S$@iX!;kRm+sU!k!1ySS zb+x#k3OWji!RoiHd&WLeK z^IKa!$eEwO2=NK=w9nXzN^SvxzT7b3-~&MxcwuOJot;I3KAsSdA;B1lyxBV$7Q|Uu z@!Am5skfc6Hlmo5a>}wwUrDkwp|`}~JyQ=B0pCxVQ8j%)4;)6c%% z?@Mz|ZETzx&qA^m=(^&qn)<$_y0+M{gxjcZ5xCkv(-S>)ioDj#^u|LrW}_rw)98$n z`Mqit2X{M)(hpJJxOxm3Mp`yi0Y3OJ`<^y-xKyB*3sjQonh_x$Pp{#VXy5}s&}#k^ z6hFw!9L>>I2JY~ERs}B%DXksmqD!`Av(Qlq)&VDkrw6mRFxIvmRpv@WQjmX4i3Tth z_=#ZNi)ciL@!h5=?H^O-H@)9J@i%Fb++_^sQ=4Sy^;XO7_HGk^ov-9oUDjWGU49;y zUh~tu6Kwp}pxn52uW7S)v>zM^fAhAvJXGLB#}IsvQ2tV?Od5NyEhGyL86gHivw{u| zAd0rOhX)_R1*o-kQv3j(0F0gfR}lQ~@#O#CebLn~!nCYOLA6B359jrbcN1e%7U+r+ zwatOfxbNg4ir7oD{U(GhM(do|nltt-AJ^y3En1m6@4W4T%bfBHO*{Ed0RU@+SK^2O zSac&)g_LAh|M~Ak$JN7DjSC&uI2QYl3rlX#Tj9nUFlG(dc0h|4R7KKBy|%U{M9aqR zBIsk6GIX*GkWGB}5YpZ?f1XD0$s3EDO4CsO>rj*J&*Y^F!g+jVe0=8Ab0fQp^y%1ly<2nqMV(hZ-#S}x{p*DZXfN-47>OuVZX+_UixC_{9V&y(@!0TPu|pR zp9rq*1FP$UYJK#t)f=Y-r&EtSxEM6u143M%OaGRIvd#EORCk1Sn!ws6RBnEHV?bAe znL+e0B8&MTWhKqk?o!OIPuzmyOd+V2G<4=-YqE>Vm?9jp^R7F8(5_0g=HZ2@=qKX- z#nj7)&Q+osRePwy7l}tsE=2`tg?Yo|u>%3R7)0NJT>;MMr`PPxwq_E7Vt{yYy1ik(Vl`9_mb>sQFGt<>lfXBt5K_O-?n)`7l?dPPyYjfL{;pRH~1S*k%5&m@Z zhGo6=Q4~i^1o}=TdKx`(t($8FN`dtbXz3K&H{B>V=xe5tFQe zEtVDRG*|$|A?B_NJ!Fy5BD;nP(KVxA>N6!^!{t%j-ci0Mir*`em1vWRUQrnEL~_w@ zGp7O;XT7~#Fm*Qz*u5CDet=i(<4mVk|D{;?7!aj2hi5=cLrpzeYKD|uGD1-yON*A8 zs+Uy@DVYOI4q20-1yY_DlIE+5NEz77v38TnTW>uldxUEXjg{SzGSt-|owQ|{KS1qC z%cT5R!35Z>{ekfk$Me+uDPeYk{-fR=_CokV|Bf8s6UOUOC6&Lz1PQsRt)u@bcJW?a zR}0L10?!IMvq^4ItXpAh@HeBZR(+mn5b)AA;^-VF+6z(s^UO$$fmyy{($)##CGLI* z9lg+a5i_QaJH(L*zX(5+pjh`Rby5%TI4m9FP{0$;_)TugLQ*(Wqa z4T>#Gw}lSsAHAd`q+_;{@b2;x|BqVbHD3u#$n*#1=eyyChYjUc}|Q-~RU#7yJUd*+-2fi%T1kWN_{`9C-B* zFRM}|x|Zw9Eo=rU&6ZiOYan<~V5!S~xnf0f)?}zj&*; zts(n0I#||`M++GY3U;{#0BZJq#MjwEwk;23VBIN{BgNd?y#nB1&%qnsShhzyP(H$|~L@PtQ_ zOktgUi_MFulhrc}456XHXF}s(8#7#+7^~uUdl9*(Byb6`yyfvdDRJb%hZBMc>)~|J zi%=BEp5B-?j=@RY!l+B=G5M?0q$7t8Y)MBS;^PQfxzV2XfUd1Y)yCSX7f*8SEkqdK zeZ=SJcZ{4n9vHy)!>Wamss+AADy{d_OSieSFR(EAY`Z>JLc!1O)cEqe=`2EV!Cwh0 zmW36nirnK5i6Z)O74W^q2H}ou{l1$?713?{toa%T@d~m6dFNdp8Mml(&=DsJrDm|c z=s%83B|^TqkcJKKSqnD>`M#=t`CCKY_hNV~j*myoB6A*)gb-^=RJ&_4Q`*u^yw_w= z@D@)RlQ2@)He~C#jF-9jey%FEL%m|rQuQi&{UYYK!qsdQdf4}2BdooZ%kd?L@ zU6%&(thxsp!>RhRNcJ+HOfpXjg6igf1T(q2ztyv`bu@sFT3_KK3Srxb(QcBQ{UN;-f%zl=5K&tbR=@uXcfUDu7qOHsGlz8KfPL zj}i9M=a{l1x=HW)*gDW=(A&rul&{t;0E?o_#Mt^uu%LP^bTD$y+APwAufGlS%~MF` z7T{Ov)0^$Czo>=;Tdjvp8!vytP46!9E|>*{JqObQPB2Lfl=KP6T-3!aiE2hSrr^hj z;x`}{|M|keH2y*G`e>!QipK1g$;uu-!G{l^&2JvN=O4P!cR04`u3HV1E2q8hErt_o zi}y9&o9LtEY&g2h9HT>V5fk9dj^bbEWRs7euC7x|j*diLrolgD_4x_yGQ7;u9hu;9 z=;b8G+F-;*Qe?Z^_au4t9z^{Z-mXd1_}$Lg6#vzL<=Ei{dfw+zE`%J;*#i-^J$Z|~ z?sgEJJSyOJpxt;p;ES@2j$mSmd6^|+@@ikKFYWu=+L=nQjj0`IGruPXf6U?sqCCr& z6Xh~iYxHctJCkyTr!U>&D$;IErPzAB z#ubi7cc`Xd!4RH_|D%&$)Au)+lujD9vBETSI56#E*2VHuSk8V5`v}F$=r za^o3TwLP0^5vix-8Q`K_dA~)_Aq^(rkm9^!m6- zhpN_!8D*tX!j&F)IMj7!=2UIOP6iqxYD@MU(9>6T$*ED0-BMc0+J`)0G4o3&DgElC zuWOFy>0VI!Qq6eFI19BNKv>*BCnLOZ^JmX{fEP9o*Ka!DtA{c_kRkofP3Gy*ni@m* zD=(jpUdvXK<_KUlLm9wt0ufm-bUa=$m@?(L23566=o`a?cv0!ko+MMZ0J44Bbdy@$ zz(TpAl_zPe72MXKLrX_wY5U#6icr=c%bcaM<4EaAix;AxZCqd#Tin>{%4ej}3mswc9I?w% z`9#K5mzl$ViIIp994etzYJ{GUVjeS_Vin_T%}(GXA><%fr=d4^Z z!Cjk6O_r1;B=dJd_Liapq|2{!j^3*9o-tuo(jbFPLh!rGNs!8uYH<9(zS5r@;=?YS zQ7vgN^{eTaBxv-Ffbdh%mTOZT?ui;?&vvyN3%rK<1aU zm6|d%`*WByTM8r;seFZ3hA8Za@}8*{Fb7r9+)E=N=oha>ZncaeY#Hxh3X~Nvx*}-6 z-Sn{CR!R?1KaU#D)c0BC&uAR2b28%o0@JYxd*S7l3)Ia_yz<`)3eZuaxtV>< z5r`y$g-Rm>*Nbly-ZoFIrLG(-{#;O^{b3Y7FCN?Yi}4KWoHU5Lg;z3u9w~J!pExlU z0JCzG)qKzsn-CK`c+UrBGX%D_|AOC*W>6!xs!EuueKVNy?UbQS5p*$+>+4_KjC>F4 zmq$9?9Vz->rJN5yP*uDG(T%-Xrs$lKfDXG!=krSZn@cd#{+2p0}vO^Y$FZ~Xf z6f-jlR3U|lT{kb=yqnQm2d4fpZ8p{aeT&xoBL&*>PzH&MI~ysX^aDBl>G)H*9ZTkj zxIu~zbeUOrvu>43=c9>=6KbRjVu z0B^_fmY5Z=kCu82*IBDW549^LK8V{yTfE?FfCdX5eAAG|_2BL~4o&S3Yh!Z<^@uqq z+L-1I6D>WT;A^}q^7Rl)QG#ScuT(>t@h-$Z$e0OU-z$2IGWz+vjjI09p=oemy0jlq`kU1k$jWtXo3mzNoRum@R_#@n?Z3@;zK{<;}5+p*`jb!oLvjI@sA#`&!n}qw0j|etlrM=psCRb4c#o3Lz(fgM1sPG}OotYe zXlIH+1$S!H@l%kXwU_`Dw->_(rPJzik4&_|B~BW_5jmjoqTh~V6424HD@TsCEhUKL zUpuB;8T9fpWz9d!OW}IHaWX%6B!jDT(dT1LO5lATW)i}k(;715b={z7xzYYrsnUOB zEgN^VP2|uxO%A{yrezkzDz8M&$J2>pM)vwUCMfPPxg$YTI?A#-Uu8AX&?)r5Ls_!x zzP2wmy|xr15_`>v5hA)#-87Z=I?FE2Gk#C!#g8kp@bgsmJ0jl|KPaxtDURXlX!vD2 z1N1W8C)ZX3Q6?oyKdoJzdVRPg=4}g}Zr$g(OCP!B((5Tnjy38Y(YXK&lK@dhmCkc6 ze|seBHAoUHkIixKzQeAu*ZXTRciNfj!v|5CdlDN4!_GLSi<|10aw~tm%5iCW%6wQ- zm+%!LtGF$5%;*h4aFfA+X*4g*5FjwRcE#Thms}km_lGwtEHM{Kic~5q$+y)SjoyB2 zPGBUocDRdT$};w`Y03ZYC&IBB)b^ki{uM5P(9F;_WSx;6t{7iPCO49T+tL zL)ML#*X%=#DPWq#mJ1)~I(Y24Kwg-64gSF9Gj;r0*Kg_oX{G=y{92FDs5X40crTt( z;=r!nZ%2!Yt~)-;rdAgs_$#ea;eg9xnVYN@ne{9htNK*EFVkmvjS7vHDTjr;KL!o& z$c(;jz0xa2S;1cCK#vK^VhXG^-tc6Yg9Y!teGwSU;!MMICdtu;dBgU-U}Eo=m}Qyl zm0(H1wIZAr0fH)X{R2r}jq%%k(o1ik^wFgGu0TRGaQ7BK+9J~Aljd>Z7|XgmZb*~0 zJFmb*x~Eh&5e_&x^jc4t`2mknf&aATQLr~JDwyh15gO}0wgC2C>6-K&2fAhQ!F9^N zoN;30CsMsc;n}iwTuDhDg#@G(qhC(A1KaP~wNRAr(H=FHG8pJIg$}INwy7(cvnI#& zBxq#G92*BhOCS4yJ5yKU&Ec%Qhk14In!KQUL((jMuSE}t?J%0<;hNg~emA0xF`S!v zUe2pH)bUh*`8P91);Fw^(-`YxZy>C=%lQ5b-jD3v6N8m63!H}z%u%J0k-W?mWn1BZ zVK_rxJsLQ5a0oMRs7+)U>{uF*zESnK1sq(gMVWMDQcXGEI7_o-o{eO_O6yzx(w?b3 z`var;$T7{q_$l(^dONv$>ZI{>c7u=nwCS7qC(p8(DGmK+<7{gG|AKpewkgzq(eoGo z{KW%*@xcER9^imxEpR|xt6d-lqa^OSC$_?`CpRtG8tNV64V4RtPf2uSr~!_OESb_k z(PpX-zm-@v;#d4Y+C}9z%ZreE=F|SS5m3A0+*@Nd2M2BM^nHFiD)5^%)U-tg8^G5Eb6+T?Q}=^q-}_=-6q)@%Enf z_JD$r3MiTUH(irG69%InTVH&`srdYR9>IUcT z$`5sIsi@C}F%KL>>ZEPD03MLwiRtOUNTGG5P)rH0YL3m-$4C+wP3cw@NsjBy+W+9~ zy`!4!)^+b7C@4)pq!W;)R0WYvK&6R@Vxbci5HKPgLQ6oTNG}3PS3p3(h%~982Sj=Y zDIqAmgc>2lGkM>&_TFpnbH+EuH_kf$ID`>q=JP!Bne#WV`@XMP1knOXFh=W z-T$=OdS8?7So|ctQG!)2Ryp>B{V_8M0!Wr0$Fv&wsyOURhw{CRt4&N7@jhl3)uKzK zxTJBcE_v6BROwH=GHo1c^0}hC{`2{RRWG_pr~tzy;fvzFgg6a;++TT!?3uG_52Wau z$3I|P@g8NtM>`2#2lm-bf?XUq5{|PV_8Sr;7<b*ZRAD-oCa zS95(Ex3HGTqKQlz)+`}sB{AyAIfxGP-4-IlET; z?vA2;5TujahxMYq&uLnv2HO5Iu4#f-dut~?y<~Mv?-UBnlI8q%^=sqb+~jV zLvIEcsH}h#!X7TzdIJ2z6x+sHD&CQ4La)y;eyX3HI+!X)5mFPYWF2krEF41qd;o%S zTWy91bA7u2;pZbW_c}0x`{$`QoByK~ow0dP+a-&h7RBBLLP#fbDM(>g1?4dH22i_9 z3bNx5#4qL05X|OBf%Vglv&Wn9z%PhYZnHv4|AmBYbRr11?RwCND#uRSV1m2N9F zS=dDWCj_|=a@ z4>dZW9U6X3_I}DYdw0B?lP{&k(YwMPYbQ>3wnM@r93L;N@pD^@YXT`S($f(0$2PcR;&ME^HzV2XuNuD*4L2b>6Lx$xc9j) z3aiPtmC|pS(gO&@YX7~=(1Lcu-dc`j|=G;78`5HOuVCQps>xpAE%sr6qp}5DFYC zAnT6E^Fb{KidNTVDivG|o^ajHvb|bV^xZ9)=CqGp%xz}m`+CJ8?9-kzS8`q5(|NR_ zo4q&B{!+5KonFZvdkpoW&KRsCJq2XF!EysRi=&2CA9Gyldct)lLGVW66YI3JdDZA< z-T>dk`$N{=Wi{>ZE&ElaKdR{&9XHFzh@Bly=x+G@imRP(Lrw#lTpjY(KX3Yn>9m>Q z@uAwNGbPHW+Z$$rNF#%=64AH*v}6(P$l)(I>x(Zqe?1EJGWz-2XGWId(e)HsZX6Lc z_p4dA*J!Y6Gs*sg*S#L9H#d%!I_Qm^%s@ET4l~~ZML5-Jp!ng}zF7{DqCIgvE(VwK zw_z~BdByp1h;QtomY=oP!F^=Ik8h6dXy)81S8Kh;Zzqjak2T#si8F%qWGz}@Hw+0{ z^HH^8v&H(B1I6#EdIdRTcGbScw;5?eP6&q__N_;2L45t){yDYsn!y{9?4eDd?3p3I;9fa?yh|dR@fIhDWW@>^jaw6E` zBFHSWUFH@8g5g`u6~ESOOGT_x)Z!ISamE)Pe4rJM4jqN~8Mr<2a&i%tn=s_*rL8nHC$;H}1nGkG#9HiL0w}9yTsyr=eS0&kL+~S&e?As-Uix%76+OA9&^A10f zpA0Ak>255wn5-CwJb9>c?0UA?H1(ntZX=YS)f0i@CuLg>yXRZiZjfbMWXCU=%xgr? zoPT^HO^`QXc?F^_nAHDEiA%WhEuY?l2UqEY^3T<`97ed;EX&X=DSGKTJ+K zi_qnoVDf1r_g|=;N-`D@aw z|8W?zoq8yNzqy`2-uX<%S(1tEJP9f#q;{*NFmH3I479HW77WQN%L9|~LP5eb4q6Yu8mE(c-Vr5EY zBbs&Gp<>hG$LkQyGuD###iB+7r%x53PyHUDa2K|LqRUeo(-dkjdEyEe4PWr9C(kMb zz8`*G)Zf1l(-6W|!td1(H zSanfNW|0g!p8d@6nGZ|*4yPKU&yLG9ho7}r0GX-)v0+v`xIv@)-Ypo|Z0UP7hzT=& zUDe==^5$5*n>)3XNn3t=U^VBfulM_^IBPBm?u4q61zNEQ(ONMIH|AeEIxa>UaL%L> zBKA8tr{B;%xL7Iamz(NhfJ<9x@BT5*YgY&HQ~J-Ps~0v_V^G_Vq9?hI7*)oP&p+#b zGspQ5BUc@-Vrv3zs|ThvAq7P2;jvl(9|2&YBrfge;dLSmqy4CIkb$egMV0nVy7%TJ zvcFtWdu60klEqX}3)^kzm)U^_pRP}JkZLa(w66ZT*>=-~?xzuHNkh5{r{UJis@7Dy zPQbQs)$@=zpYD3POiuN9$;Bj!N4`MExEikOm;)Dyb%+HEmIV*3eJ38jecup)XL zzO<#dQ#B3rEBLKwKl5nllEq$y*-yI*prdkm3UYyJZcA2jY#dV;kmJ#D%=IuoN*DXdL46zPm>86(0uHKvfUxg zGwk~QA4nARzy5%-bXnHnFQeLzI4u2u?$z$3fI4W>;BI9_rEPHWceccXDT~08omP}7 zaoKXcq3by)XCYzmAp_6(1wHaL9h6^qcJM~C1oDv{>%42sV(xo7hmt{eTp)t#7HKeT z=o?#FB)6{r7EuR6{AaCc%B!ak@+hD+CvxKSN%W{T^zhXGiPet%6=wt6-=0;jSvV8& z;6a}|A57m|<)lFsB7aK9i_cu}HPvcNTbVkoABxBvr7kc=@`ZmM@Jk(htt0jR@{=pN z<2Td6)>n|Px|epq{hxKz#_iLfSku9f-GN_WxU7!Hu;1ug+nWBpgX@MuB~jr?!phOQ z-Iv-BMIk&VTrQtXt>9rF9LcHmJp?`i&u=84%T8 z5j&~olcKvy{Yy77@!v0+#A@=M)}&z>i^Qvu0 zVELU(6XI94&UpWxsI#gzJAr0-deOnmGlnrzuFOT4s2Y7N&9$*Xn4qRIl1=H(1uwj&lkJ$#!u&>Q$em!{OX$=rugDHaaB^f~dpvJzqjxh9oL zd~VaZ5I=8!eBJZ5O<(gm(S4OLUfelO9`S~m=)`Tql}vo`L!=k(OGlpJ8Lwf4!*g59 zjA!p`zD12v_P0QCR?jqLa7q@@k}4XGH58h=IvDOF?i`ZAa4$cxwSzR32x^gT@0S!uZur{s2Umo&6yi*STp z4L>&57DE#aw2HG^Cv^EX)Dzd>rJ=2shO@TO71fjJMI0%JCcn;y_k~RrW*miMb&`Cy zQXr&gg2u4aeEiAnLej5S;mYzgFN&Dxgm_OQ7Ba_5o6NSzQlt!6saWK)vUllc)>%2# z_ZJ2OzeX~A3vy}bP~C9ZsRIMpS30P$S)x@s5fv}QZj10buDe9n>MwMlf;6^-ov0Vq zcJBnM(!Iy2qa=Qk{d_$IOw=bM1~G8t+n zw0f1jruyxF81)g|du5M8Rv;Pof!YPTF!-)6(ej0Z0`&QyOz>fG6+}<+{P52=7nBwm z-td`IL+0$3mFFnp$l_X-8Af=^r3v~1N0wvPyUNabpOqKhKQ@#32oo^z+LT=v66o!!Nbx=d^@_2^upV^as5+=1YDB0O+XMebet$ zo*9%fRFUi`($)0l!=*Oa30AEq0$vR?6!xu3vb-2D%IMMj18H!8k$(CbVA>)UVRpZ3 zT|`r#d+5SfJ_s1T?q9z*9bJQZw%Su+Pdz)mVtJPmm^{6Q2X#pG2~`^z)iCP=gkbKE z)Rw9PU(L$B7tEJZQBzp=py;pj?B9SOV}x9$_-#YUClY{e3alq-Rjn1GK}d9bb?A$^ z#dj;EJ52YgFB$1%3ET1IQ*Yr8IPU*}WZCW=lF%ENdaRw4_<=S_9zUUGG_G&{xm34L z_hO@!ok#m>;zO5ps{}2G6f$Pj``wbybkkSZmuEj~u9!u7xfNZLjHCN`b#%$u(k*g^ zcbg{WIgla1npLu6xKC>Z^s5jMxjj5iqRoNZ!|7@j9u=DFA$)nI*BR1eY2zkcRd_G9 zA7NI_{@=KO>4rx`H;rq7Ip`xUbUG@^cwPp_{99rQwD~y_+Z~{2b|^{$1(d>hjUYdU z4y^xu`tVfweS-}&Mb9t@L_t{)e<1IZ0+g399{vvY_bewhshp}sVx>`U3)z475eLi% z<+0)QVvgGQpJ!8E?#8~eu23Yzz7OX6di$1gS_04UPl(N> zaLA$7zx?ih_lX-7gGJACH&-!I9}>7Gct7Hx8c&B%7WVt;zhVl^rxz<(%_k?SJ9y(t zjOdhjV{%cM4sLbbZyi+MY>5Q(l?;ezUZ#42l>}E!SaRB%_&u`Zk1_!_1vfaoUb&S; zSGZ$@6<^*l`nR7M1QTCEz)8PDfx+w&cghGw9q2%QXl2OZt&hroAmo5@DDc$>3?=WA zzx)TXd2A59JZ^YM(@Xnv*#E*m4GESgZ0L@=8%~EIfTp*7j4xQio1A`&qZq+M?aHLY z+<+Wj_@qC(M~=_rJgWCy2Y^)WQQqMPMo|1+0`!0eT>3&%7IRnle^aCiL;e+m0$|!l zWxVGxuj}Q=XrggQz2H){XdvUuvz`o}f7wSy2|3bKxLz9J+$})Sl6{GW;q~Vh$C<;< zeNGuBE1w7v;?e#ViLXvO?7y_Ws=;qgoNufbikTe=`@k*wPEx^3%8enmpAGje)Z&R7ws$) zCVS!b;_mJP)>M~Yt-s15>nzeD?FK4ThLam&V)(^~UM&b_W@HEtSMhrP?RZV->pofS ze!Kdat1QvV^A&WogZGa3%eWoN2D9(sShNE9PIat&%Huf0nxw9?Cbh$EJg=p1=@`jH zx`4%b0M#?iOV%S8@_h=NJ^w5>{1*o@_k|qW_4eEtE|oxPz8Zfz+F-KDhSMtnQu3^) zBfXJF>Ya>Ph49Io2RdTPB!${-qNe9_)<|CXOo1y`H%yzF&UW< zG@vH2G7jF}dPO33RgfSdb9QOB`ks$Rd185I;~6LBHw}Ul@nc*aT#HjR*s)H6VVIxy z>~a@d%k8nRXN%p=^ok|jE<7);qtuOGjP&iL?LuAJFnqOAYh2i<9$2t$Uch8DHmNHK zD%b%A@&;LT9`KUj76WAO!ljguWG{!uz>eHInT2ypNS_Tt{V;s9IT5(hl-?UbFI|ZeqBb4o^Ai(4-jD)R_fIzz4h2!UqV}0gfR&@dD27`Xgvr)>F+3w}${r5f8Z+=LXer?}=NGJ4z*BDD_ zr?8Ja%WSRms|VjH73Nx`dr*>rWLez+}^kv1Zhj~bX#OxgFAeB8fUY}yfhHt75L zy1-|VnSQ5soyH1hr>cld>m~zaEyjY3zO%^rO3Ta(DxQh+Sfw5x$ZytzMwD1-ZN@mE zdH-V<{hJ^3#t-Qf6$Kt1YWbf$5J&1;RrIQQiA*KCJ*^ymJUp>_@+X%ty{HCbP|REJ z#V&vNeffy#mC1AaB-}506Mo0HZL1$|$xY-!P){e33N6Exa^^kwLsQ#V-=81P31whn z7I=6h&v}KG`|~%q8vA@oce6b{F(G`y{k%n9YRxI{hN)Tt?*aFg3TE637vmz)P<`)q zX?)z_n~K&RYLO~jv2W!{A5q_!6leVjhiQCPX@+RJ-plx2D;a&+w%jQ8IzkT=XFgd`p`D>$^=p6J}K_q(>%+{O8rUY zdv`BGK7RYe8Hss(CBv;-hx#jRt1MEdC2S=Ie`q0_#XsnT3NH)uQ9o!`ge|xN%m_SyE|`6Y08vXL zf3r4USot*9BhzGrGR^(&f%Z9;o?PELH!O?lbqd>tcIl_q=asA`4Ynrf6@~nej_qFo z%Hk4u49Ni#2A%H5Zm@wv^)R`hXt)Qu1Z7cW6wNKtq%j^IadHs47W?H9OS3fz3ACOM zz92T{;XS=d`+iAXfCQVBQqivPEnH;fVm%`uN0XxP%&uU($YpSwOMc-s*oP>P&t(9g z;4G$MAiW%Qnhzgy92teS$vnO2nDgUPuCIILXS2^OF{k5CNR@3e3As|u%{+9K+pz?2 z8+8;94g=FLRUvwYHxm!nahRefo;-}hTpq~z5v8r4S&>@+pW=KOHc_$DJtW5GU$|5~ zt1d@sns2}|?WlP+(aqOH*tkgM{bX1c|Kxvl@A_jv5f!_%<5usIB}hSDT^ zRBVAqY^TnERWv@6_GsA~`2*3CLOmNHk25UpV8*Y27D z!1)eNbeY$H77XdY!6lr{2A9x}UJ%9H=R;F8%wi6Gfv%O60wGr&X~lo(#TdK-xHBif z9ee_`Rh?Yd#38aM0EfJp=>vu_aQR@5*`G33|F4pY`TuW8g*h0QYZ+3JJ~~DC?EK6O z-BIb(uR3dQTUOzn_&SU49xrdf%+_5>xB79S0j9N!=XQOshl+%R%oWoQH5JHv)NJP= zpShGCHGC>0IN@SANWQb`h1p0H&}1Y|m}np$Jcz4!VUfh^(MFqVupvXhMARA(p|^T# zukI#$df^8yoNDQl%~pJP&uve)aVLveoisng%$^xuFIZKvv0LDQ@OB-!*oAnuB_!nj zQxmc?vt_^8vSi=lHqH5)w+<;ua-*?PAmc7nPPgv36jaff6Sgx0nOxrI?jU z&kenr)PPH|XA=yV}*Zrv9lrl9kSvg`|V;NzW+o?z^wUpB!yN z*ol~y%yG81YIJn@1S3B}Uxi+x!|`0$L{U!I=!ei->gW+&2y z!5j?vI*YC9)1}g*GE!E7b>yCjRzO9!AwecwxCAr8%$9Z307ca)|dOu?U`P_5X5eRDJ z-DwB5Kh>elnOr7tLkET6on(+J)Wx0_FDUfYmWE|bV!>&2xyg(Y@evt%XV^WpPJP_O zXbM(-{jr_%L^OMVVw+N%M0dH&I2<>^9o$lJcXZsWHu!ze$~TJHu4Ri2ajLFx*P4XE zkTt4@%Yf-kgm-S)^$dxySZ&XQvUhhH7t?m;b_fvu-=hlg`RHceZUd1s}P z5$*b~FSR#Phlnr>*oNNe@~1z_+BdOM8G$ydGYpr1eP=rNxhx+4_{li$$GKzn)Sh40 zBbC+Gup77*Gpl6gOkcOB56(A2O4=3Y7vX{mtH54+o+5fy!;a#YP1wdblU#@~W<#h` z$b?qz;^N}AyllDmaht;PPZK3+Z#p&NEIfgb855{##RS8%k6{)p01&o@-7 zv@!fk%C*gxYptA1+B)20oMIY%nWkXQHL4Ml0g_O1)X!~mN4?=6z5^WZ{nZYXNn1vw zpcyWCKF4z$!<8|1!f}l6EzT)AVw+q^gzfMQ0U#QwJZgzBne-2lA zzIx}ZNWxl(_t}fM5uUAR67CGunDJXm-#CBvEc9hcYjo7pJ+Hv`Z>~Wlzr{;jp>+#D z@}~TDM)gBkVhpsu|A9=rM&qsK9f%R83A-*;#I&ReoOv(>_tk|*$wO0m8lI}+W8=vS zVNO8fj}b!;Px zt0`M>k^?ksdYk17KoG?v!Q~4{aQ2{w*H58;r})-+LY@Cc*Uybl?X6x^6N=sEsb_jf z8f36IUHyRl19`ECC8g{uw5U@Ng(w}>qLC^0)(cI4l&=hj%Zazyy!~pGTXK$^ol)xo zzhj){=TB?}?4{1%^>OiZvj}>-uSfwJ|Z1 zLZw4t-&qF`!EQ)!3RPAJlM&GOO)YbgbV>WP9hWVsMtx>7+9l0~aG7fCpEkJvO=!Vt z7j7jJLdl8i93a2|pV#1(LM8Y?kM`q$SPp2wQoWFi=}P&ZYK#V-2MR$pIa+`TG6xJ( z;DdXZ{&4aLspJnt#IOy%%T)(dn{^G|^nd2&pt9{@o74l?<#E^{jq%T}fBE_L@g?%- z8W86xz)m~O!wYtPKk@?1a2H)a-5qcaGjxMo2>$uEpH)dN{ErAz{?mU-A|RPbIcrdg zGV;jn8PB5>(HKv;$QN?^gFyA4*9og|W?UJVHmel~ z`=NNBiR$qULL@;+{SU;WPvf{Ni~~FOnuMb?a-jD`3P1f12?m0CX6&}1K)JF061yVA zObND-_kvNQ=RT42DNO*{7Vc5)D}c-}+Gcc_SaT1Dg`eq&Op&U}NBG!Obq~Yv1B^2J z_=%Gm&aQbuJ@XG>cFdvmQe~v_>?O09&~gLyHr)3l2aKcD@y4iFhy^1~QW2b^g(DY+Eb*I-$~BJ1OWwar0s}!h3_2i_hip3wKIIuYt1{|A&qEYO z9;mupzM0?6dFD=LO(e+3+MhbgReC{@1I|rvNSU(|5l)OtmBW?E@so{eiG@FewAV~r z17`Mv+V>x3MC^j%+1XB+2=3>YkM`Wrsdd}tx9hL zEcUY{8WZNDB~{TFhkd?nWsl(CxeAw-3gQj(PS@a0<%A?5#RX;GjMQCMKq1rY$U}E1 zn?+;3xntIPu#V2-E| zMK=6spK(4zqBrTuCQl&i^^WqsQ;#4t(2Kk~oa-47bsr)}Qx7i?ly`D6*oQxHE1B%2L zf9qy>{J=^{#AphK*N@_+i?sIC>(*R~T=V=cMJTYtIgODwPmN%_!KdD>BPyZ0`Y85# zUC6Ji-~IKLe3=qgGD|sHGg*;@`@@$r**Y2Vm6Zn;#^*#{4L-kr{%SyuE1hDGl_4i6 zS-L|qClt~jMChrCeEPOgbxox1<(IZm(4%Y2E^ti>jzUl52;JdB8;!U}bjeQHXIF+< zUGJ^=?1-al;C&eF5>^G8di4(cxFxC&%_>@zWU`Zr zWEuS&uEKdEOKdIb+b!B#dg?hNm1KGn?h`2j4+7uiP!=u5o%N7agQXi;*LH(1eZzB# z<6VAQJM(e6wCU3J4jMNqK+9k)1$Ob*M+AdSU$Nvy9=~mu_2cD?Z#-gQdMtESyOK!V zy#ECm+bqA9E_=Q@iss3E=av(2a}sZX2z1@|1a2w^ExSsPhJM zH=g81ct)IAXSEwRkVaEP>zfW=`&}wR!tuE+%7>A|3JN|ilkYUjCdOG`Y727Bxc8GM zsQVHeREalV^V9E97l;AgBvQaqJ$yfP*O@q6NLUZ;f6Bf0dStgU=E;`!JHMIyXwH02 z+Pyb~Xt}8XHKQZRp!R^U8+cLSihYj6)-g3by_gnS%(unOZuw}o`O9!4i%;koiBdQ*=^%)>GBag*f zkO-8Q>#TnuGoOww?Z;sn8CHNq;IAY+DxQ!pUUYb34__DXl6)6x{X$m7_`^tspARt+ zlmMc5rk{>0w|E>|bfRyUJtysgWd4DKVXA>bhrY9cZE|8>R322s=?`S%#Pm@I%hkC^;pnp@=IbNR@zL}V6E4DW zEqWSb0;@fW?F()(cZUO%pOSx)K>tL1Tc>wfl7EjZ453`f&VZciX4ensI>`&v!I*w0 z5Y*bdafDtEBjAT;%72%_bEbh_1XgYsrSU9w|AIaBC(KKVf}a@CKd&Xqb+`H2pocl* zjZMU;T}ioj0IQN~5u1pv)DiI+PaX+@m4GLJDh7Z8{x?v7DfHC*Unl`C;%}7LzncP* zH;-7v?{5}C{|Ad?{>38y_|uWaTfm$j<&N~ib3~WdSxvQq7sd1y=ZTEXu9;~0_Rh1; zw0tguyO=&k_34$Qv%^0tIUk$sS#vc|%d3OGWdAQXhrPSJ*|bhk|L_Omk4=YY!9OPc zHimzE{qH`!k?OaxVN``~@rc8Tocgkirrp`@P0^5FQ`+Gs6Cah+PWv~W01kY;F~>o@ zDm<)K#WCMvx%zpsd-Jp1c6nC3|VrT8r?e$9ypn^`46P^4hY37G)!+RkkH^HG=NjY`@hSzAgFl2gttf)EdezR;A}|2Sr?=YyWdWIN|B8I~n~l*Mtm6nwr23iY zsVi~Azl8;T#ecq`K-fsPX%~tC(?d_AdeMxva2F!n6g#lZsB`;Ey=?|pQSp@RM49x- z+s+LIGY9-H@5hXF;;|7$^^y+C8M#?Y+#XQ@@unZ@Dv_Eeu4r&L^F*6Ct2`;ED3P6r z6`@3#2Yq0k(#kU#m2JvT>br47gx2Rudb%PR7^v2sIsqh9b(n>|N_i47E2XWb-A2~q zdQcfI#6{Q5bwhlP{I#(i_@7q)B^%aXB2^IyI5TvMl$$~C&iS$ldinw>p>P$G+{vFM zmMi^2ylL*7)X^&GJ!1rdVPvfyQM5;sD79^tm`-+ubUE=F&t&)J1Vc zPxtwDQytd&^1i)oy4AlkaRJEM#;Wv1X%=j%Y;a!|!GMN=E8k{ijIA0*B+pX7{ zca9nu0E78oO%<_$!JW;J9-86j99kQ+sFB=FiZ?hDj&l}YqElsAQ|3Lb<+HaEGb6*g zpe_qI&Px|?TwBI)xQw8^l^(b5sN-K8m+7(|&Cv!e<7g3@bu@6Fd@QBjCC#r`{Ju1J zi2YXImhxF)f|yu=V#AD2=t>RIu2uaq(JJpf>BFW9slR?%>%_Z>1WO^ayow_o_?K^hjW8oD5c_f)UhiDqX#eQ-OG^~Z$% zsk008g4F6iMw<432&>cbcHJ&%!ZLc8!_(%43Xi8rqv}8KZln&?31#!sA+(GXk?*+h z%?+#HE3pWR7Zuz)mLotPSSdhIO@aLOT*uo*uRfozMAI!tZ?yN7YS{{9pLV|SndTx$ zJo7c~g_SxrPqQx8(-6tZ^{LXSS1O-YB*jfhX#Y%7dR=;fi~g-~rZwE~fzzuUu|BeV z;ZqlFk@#=@h{VV=+VjByWETx+`W}?N7G$blX2vsmWQd(_Q@J2)q={q53gLgr%4`kS zp!C2Q{S2))MrPUT3m%Sp;KC%M64Q(Wvz?nRB)b)G-T$7=M^d%s+C*fILuV~USUaI% ztj9ei&qcTW_;?I?r|M+GVu#pZ%06`0l$3}83+&AiN3x-$v4WX(lhLBJ$+%YX_ur=X zjuSeUAl?37G}MhU@uAT(8M>KG+(etlIk}P1RkXaaFX;AY*>|8T5i^rsO;fxh(zVy} zy7JPmBFSOWXL4$+ndoKt@3H={ONb=Uu&tNJ5Dd%=s2lg!N@x(m)&7xtx-orkg`PkT zSkF^G4kw**8fTt0|JGeEM0c|N&ZB2nV>I7v{T}HD=T_3TFgoGt*#_Y)@i-S>Yu9re z65MUJ4|qa;-af-J5TJ-d>C%=Oix3gl>WE^^=+h3|M#9M>4~k;5Ki}?(bxCOGzSIM~ zv5a_2N}c72IfbOP7?FG*jYySn6LygHOlqfATt;zuHF`q$_r9Dj(iXMTM&d^+Lo60@@ zN6*qmn;)2ulsWVr^UgY_`1m7)b{TKJ9m2t5h&9(dTOqRzLX2YI1&UbU`^ICt{xx;t0hyoHb{`+{w%X5}j z5iiT5O*x!HogZ6Vn2DW(6C>FJ42$G#jv44Q5BHbmqj_vTWqW>qLI$ zD=k%A1&NC=3VUWWcEOOy{7=af1NFO1R62Z9D~~5VQ|~KUG`_m|tN+9n)M4vOVN7jv zmqlPkC=D_5!}2$*gADJ}sbeJHv+wY`(JBXpgQceF)W0>ds~+Z@He4gNgL@7N1|ks7h z0i2=$N02WP8GFLXRPPbVL@oBA)vxjQB2=htf+Dw~&r|3BZ}Pt2xKxK?)J0N>w2=KI zCPRbS<5892EFCNg;(h2}wZTS!220mN7kwU-el%Sek4|*t%g&u!=Khv{r7-&nRXep% zJ}eLuwg6&(aFS^TK=gOG=4sL;5RMAZrku44L@&5(>`@pV1D&{V>nX_U5&=5*+Zp&i zub&$5C+5VGKEm)%z!9FIP-gT@n+!!9dnNz>c5A(vT;!)4hN13U>#IA53iqn+RPg9a zB)*;VW2Kr%FT_bAp+;0>Qe0(w*OJ}`pxGUTW)q`w_Vy}vlUy#3D6mT2(GC)s1YW^& zu@XC1{_Xi->Q4`|)FGD07~{;AjFX!ax4$}$c(S&izA>rL*43b%6{`}I!Q3OYk$_v$ zRc9Gy?*EZ;$OE`T5kwU3BL6@r!F+Zgl%5hpx;F&_&qT)*?6{s_`i_z+VkqniU|YCw zXBfS~l@FeV0pSm1|BOc_`NY#h-v5`4ydRj^YvCz;GZWKf_P!>KTGGlartk_7X#Fh@ z)X8TJLtQ!w5k{>ZvnpZVO<%nVpOV!aucDT8mK`Nz5rhv6{yJ`+iU`9^2WQA(NrlBr z%2vT%`KEB?o-@PwHWrTbK?@B9gvI5%lpe5tKKej@&@XQQzg9D_B6&T&Q>ve{@%ytt ziqYI(#M?OseQ_Cm&my%&o2Bj(s3e6I0u&_gW5R zv_^LB-HoDAP6I7_PRkmrG=a$D1yzV5s5DY5pb@HLSkFeRuG#w%fVPLaS`hofbJ zkG{n${OJ|r#q+;sbjQ!d)dm!3D6clsg6=K*9CeS8ln2HRBax@YZH(lzzdydTkI1(x zk8F>OS90meXMCZi`DuOEjD(o2W1bbRZmY`v;ZX5lH--z5d)_h=Lc_PuyN^0oU-`ES z1q|kAyWxvVqKFS=$22GJ#T|ao)?2lf)jC&d!~SRmmHqBl9b)$;$zwK#3EBAoSPbSG zei-);EM|FbY~8*p?34)C5K>YnU=;V?2mKY}g{JRg8qpxHHgPDEEMz=lbv>A7w=X$d zLs?dVix#8duc2yOh3bGas~X@lPb18*VP#eB%MMb(MGh{T9YVzM{&_A+663IjbS>UMQ=TsvqUd`^sH zYkJYHNBtvZH*+j=HuDu3ygnyIu&+K1+(z)Ycrg^Swl(KVY(g%z`Pd}@OxW|?aGO1z zJGVREG@jNbX0s(2R;|t?TcjK`I?@OIA`_^ph1Z;wSZ8tQU+nM{4B^bO%CRo_ z7w;jW83VItex<4RIGg*>+17fk$A# zE6-{R#7FY=hsLf==T{$%2V_>uzMOHNOMqXce9L61y+){EKHWI$n^T*53&|}JbK%aY z-Y;9-+b3v~F12}IrrH8oJ#;96YnS5`UhX_N->NUHGD!IPsF9x#zHh#(wIPbd^U1Ur z*Pr`>pw90&cFjqKbyh~sO?H>|JH#y^sDV>#fg4B6C>9NxIrK8Aj1mFmof)evTjeQ= zV*!dQx><}VATpfj@(BrTQ8tLv^zhI7VSe34(Q=*Ve8-BcmY;$GZvBW4cEsVCZPnEr&N2(UlT7ACoLAYv{`4gS<)>oH6N!!PBcP1vX~QXNje15 zoQ>1Tr*j335>$^!ERC3tFq`QUhzypEkdIS>UwpZoKD~_7lwm!7e_UVYSw{N7cANjV zs`W6R9~7Pq^{S$=99IjVZ>l21CM7@W_LM{1b%o$S5U8MAmBVYQtM8YZI z-}hd8`^x)#HTpHxmJ8UOZ2(1xE~x}WGJn-qA13(;6(M2xvfU}c@+-++$(xo%OepuO zaali9c;6{*3oXKB&`k%VHy}dAu9`_Y>GTim%x)XUMb|@n{AanWGj@k}RvEqpGK8}# z91m#d>4}CcYVem@h~Z$2OZ?KL`xyIb*|xo{94A&4M<(k;VR7aHI*lGKAz>y&4OkhJ z(0C&d07B}RfaSyu{s{Gbigk$0x6vWFbKv6W?dBme9ec~_vh8i^eTB|6&-QL6jh*mW z^()AfgGM03>~y*5ZMN=w(Jr|h@%4hYk=p2*hO5rkET*a2`Q4z6;oRAtVCDL^@2`qs zMU~stVH;R=QFL#g80DDx5pC`-@A?o!@(4~L6)7L8`#MnZb+z&D zk8gQe{}OOX$Z!b+o(3G~rd;A5$l)nv9ECdNz;M@RV>k~F3-)>N_S02?dPd={vn#Ke zeg-&Q3u<4rinDS$&_veU1p#&a$-CF=30Mc~Nk{T(mUN2m+i0hyS-P!-cC~L`IM7I&S=d zL`X4~DgP>Pe`fPWCysyMqO5p^0#w-9^#lQTEI>U913fG_8d=TwqAT_MYUEm;`jROm0`sM7S!*s@Y#!cR_`zRDvu%4UPk{*FOGOl2?k!c|LnziFo$hw@Uss6-U$FQ z_8F=z;|Asc4lCZFETUMHU-_Wagh%d6BU%=Py}3t?>H(}O38VfJ|1VD9gSMdux z&;p^@q)?)cQSY{tY1uM8P4JzETAj(Sge6-8J342qsUf}zQ5$fAShP&N$by+?VQ~kb zN(-r?&p*z^g}{&xk8yflrrK>~2cF2ZM7K5{u~s!>oj&={ft6?1^?04Nv6t+JIvzL7 z{fwD8ewV~S3~JlYYvtp(IV@iwPtP-NFC6Y}0lAmnS;lZtVm}33=Q zhM~7h>RGjk-4UCsQE9TVCzy<(R{_BKNX%wNp*hLGr9{DUz&-t`K0OatSJ~}}wya0! zusK$fJ^8`|WwIGDsfuWLvrm4~a)*a!`>my&*0(dS=8oS840=tSwqXEy=x0TeC#1%_ zQWvNjaM$yomssv_63iG2wEUvv*=BbYuIGE^5(1|Wa2_s+NZVu-RtQ0wkl!eeEN1l(4=39SdH6e&) zwm;Zg`3atf**s{B*>cGIP6;;pcBitm^#!(eF3_>W#%^uq-d@^~ZR2JvJ4zn8#vBHC zWx%6KQnJYDLn&x)@Vv=nEZb3g!tzl5nGuD}- z*IQpDlS6;q7RZH&k#5W7oOsRYBfSzjOi}E{U?fSgKe@wKx5gj?5)D(HC)Y%O(6Oy^ zM3u=v&R-{B$$OO8;oO$Hfek81Qg@__xjiGMF!=!$#6U%%Jxq)m!_UjcSrQVy_X9oFgTDo!%Q?F}4>{+$PAARO*hZxqe06M`$OpEL zYfC`oVJrj@2>|2wYf2-at~)-g?~iO9?qL<4r%6kKRH|1uCp|P=74uZuMH6EH zW@P2zYHcQ$6Zug}ScmcWl%`cjsGQoQmmS%dhZpY<>nDNY#0yY$C9s0gVB@b({z{>+ z9OCiKw|9>=Ct)FxkFr+B4~7w7s9*2Fw0)4~B43*ePybK|e;>R+i2Kn1UJaJSE@o+fOV-jF_^I#3T4xwr=Av zRjp&zmT(S0Tg_>k^DcJXqJN9MYg-@@2ElCf;Il)yEw*}+7`J-DuFV{W5Hh!SHe@m< z#*(+bk4&G3Gp3`wdNfl%KtE&D*j5D~iUs#WR=`#=A?)rXoE$rBG9_%=IoT)?*pl!3 z&;64PCo>7jpI!)*5XXRxsWHaWx}j143ji3rti(cfAV9Pt}SXPW}@p8 zn|s0ajhX267P~CPW`sN;{$_2DUQt)e79M-`S-T>0;Xmg4U&Gn;U66wQ&7JLtv^|yf z`?qc;LEOEm400*Zn&WV=>4=`gFyUj`S1yoBz#;JU@&nAS3Ocd2IFrx)jmbE(W!#MP zbl=G!_1pbq(#thAg6}s8b{n5sX!ecKTLUQ&)?VYHXaH~4n!cM6cwOvq>Op@wmDc_{ z@%;A$3p1pcvF_m5w_yys^TLVcXJ@4JJ;@7d%p2NdTa$0NLQrL9*ake4SC7~Et;6uc z4`7p;12)y}n3!smbxcKg?MV8H`I5q?>}M{iFP_J^`?PQF0I|Ty9p06R1=T&((oevf z9*%i&%DK0-rfUqo6bhl^{Q!p7=i0^JoYn06*b)W9oBD5e%7UZ>aF;q4knQ9@z*>iv zZi@=d3ymyucfJe`KI5(a$`SqjozDbU zggy(J6Kh#O8@}xd%#d)NE3@jpQe@bjNqI|jgX(lsthUIOHl4BhJX>)s$6oNe!UA7F z`tJ=#mxSF8|5XWge97TSAu9=ZdT4(5+{f;Grsmhn9)3FQQWNI9x%CZt0sK7Izi0bO za|+tziyv2mCmJ|BGGip)C0Sc6UIz4^jSXW;he5ATDoV|5Fypyq3%QAMu##tYT=yB_m+ z46*XAa$rXVt83XW%VB{1Aox8qkb}LIu_Z98(sN>eaiE&oUVF~kVXF%a0+|)xnDPcsJb4^aUgb|2yd*5_m>}A!|2|pOa{!WcCe0qa zPWXpR@Mu&i2|SvMGC1*cZ=2^;=70C8obq@*KJ!Wj@2?L1&p2r`(W4Q6{ncR(YzcLwPKCG{11Qi16(!Je^wwtc9{( z3nefs^Mf^r7=Dhv+{;OhDqVTP;LzHf>~!M+fddh0AqRr^e?UI3eRB+7&oa&QD-V(G zoX81e&f?-QuNFmeAOj(vk_bEGf3MeaHrR!+Cl`77;<2N!T#0+KLk8DvL@>SY1`_LA$V z_u_W=%g7STGx5bohN6q_so&P@2k|W6>b3R`KHR_j zMIRwLC^N>4@gPL$r|e0-l}ks;Ei@&(u)98SnDBJTG~~6y4aGMc&Vd zH9Y0MA~!bpKadx{5e<7)BA+@kUCI)Z>e^Zj7~*+Rgvlp}3q6<~ChRSS``ClYq(HZ> zu_Y+2rmgg0MvO{8~)brAFqjk4x1mo7^-a1Z@dUS0f7Grpl;$68Na z&aR;Xxu{9N9-d}kOOX3~$c)XT&%5-0ni**y)sxNeRBwzua_rxz|a8$)l4@YfYOYQT&~z&nQ@MH{97PDqkE!-Ak!siN=3uONu^M z9kR=&E#jxscoCJlB;Kb%X@_IQ-a+L_A&ufI+|0Bls@(a^v+ra=XCFK}d(K0rjjPb@}8tovn*u`o*-uLk}IXLAM)=td7? zi*e$-mo}S0V5x;bqU#2UdU|2G9Bz9#_Xtrb$pysn9#t^CY5!2_$G4)Bj)VpF^X$@=^ zZh5vNDId5@KO_~W7aHhO#mK*W&chJ~J4(JD>IZUv*fQh_2&A$v<1}WPD0#GQB_&-h zX8Gt+V9Kv)+;5DvQKMKrtzMa1Sp{@m14OAK+2#I7JwM#@Jq@yAvV69wMzmG0%D zA}tE~MBe60rGOjMLr8MBT5+`Ruer2Mqu2dw8oertRX%C@etpD{Z6!xUf}+S2oPXB2 zZM4Cs!o-#KN&TG#FVXi&#T2o1L#ro5^nKpS#QMD=k@@m%*jOa_KA#r2;wO7Esk%2Y z0~(>O@8*^s9+4X2@}%y z2Ry+to6RnlqDwMx)80RvHzl4YXej$EC5!1->^&eczYxXgV?3KM!uMItr-da2$p?6a zS~P<+)P-26?PgE8jt7V!ehB(766on6k|a*#RVUN_sd3hXrJDS+zQU?xi)$>AL{20L z`v^ztH_O84mXwX@4(-w;*>P6m_(y3)jaC1FEZxw5;+N~saPs0N0lGgW>^k%k=TNOv z=3L;_n17&+{1yZ4s&8jx6DLf~<&aG{_L>V>(|;>}2j#Zp*3%aJ=d|l*bt=d6z|_3= z>+ZZZ?pwV63>&}+^#Hq%^QgJs5?3pUt}V2THgn7J4W|Qu!*rC)mmt#)6=&y#ANaw`x+;KfMpxd!%Tur<$zO zutc(h+0@o^PHWZ)9qh=ZXQmj**MHCoZ%zB@hiVRf@_K#q;Dr!D*UuP^m%wT1gYi0` z(3?3wwP)1Ew@_$mKHT~m$(6=`wG?Mut>tAV{3f>S$FjhbB!b?ww19q2GS|ED%fUu* z(iyBcf+Q-EwL9=8dMyhTH*T#WlFwgG3Cnm34E2G= zskiP?qK6h(Prpi`+40>m`aS>l+cIi1O^WJ^ve&`8C8{7o=D~q0s+55%y<}7L$Tk7= zvl9e-pGV5{Q|!TmC->f$pvHkY+td@K}-R#D0e3th(9Vhk#7u3mn-ktLY)b_JmCa5t(XJn z^zO7LhS5W_RI#C`VakAe?jkUCNB3%E5aEY9w&Bj9b(?HZKm1W! z;HfBzQ_e?foA(BPZm6^6$+At%MHkvozqHm48|0A3kR(cs(ad3!PijYV(ehGsNBngE zvW+}fgKUz;2iFrJ1V@+s-}U1~N4Di3{=IH1RWix!<&*Wt>JM6NO+W5fBpNS0elqZ> z9x=0@KYznac~fLbD>Ao6gVg6&{`F9HU>giYd=HNoBddwnD0eS@mK zzx@rbi=eBR{53wNT{vbwzJT)>rqy;xh)lfEw*>X5w_y-vA- zE+i35O>bxpPWU&67r`mp>f`R@ln;*4+rq0ZGjK1fp@{D-_0X8TWed|~X1YMm4*Pr6 zM;ut8AQ1Wm(qT;v_ZVzit-NrgpvCdFwo=K_>$)2UF*ZaYCGL}!h-Yp7;h-^<-7_|4 zLfXFY0DYnphTZ1|1VGBvlCMCA*OFU5x#-fZSQL9O<#<;aK2P@yadK2FZ4X`xlg0uP zau+Ar$-bMW^EjR;>2?s4w;FE+i;aS^uLg90g$O8h7VuxzhP!_Viqj8wR?cuUzrt8Sd?g6s z@YAoS!HPF$vp~8oVLyFSVEj@0LY?;=X~pmF^n3}9s~P@{fpWNC|CSQQXlL<1kO|jw zx-n#6{Ma7A$ZK>MO|N}0sh-m>a7ld@w2z>iSx^Wnq%IKzCJkpLQr9pEtV4LowsV?w zJkK|+?B;(TsUE+E4({ht2V>jujE6nc=dAu-7dW?V^V)d$UC#Or4qm1N$-z4pr0t|f z`$uG6ocpVxhgQMANMinb*1$8a3Id(~@2nkgROnt{tbj8)2j8vXVVd6M8LDeuE!hZq zxHU-(xk$i9{qKi_U*O%gJ;IT(@yN?82`{?tAhzI*Ld|eET0A)i2n`oMK2rzredn&oF;znYIv$w0w;3x89or}ms- z6SS8;C}G>q3f>lw;>IhT2rWx;F8*N28er!?*pL|9BswJO!oy_5Kp4R1u8ABP8Qy7G2skp}!^)w6VqXR8z_t_au$(|7B5vBz;RNdaOT zDajsbYroh(R=b#)HNJSsu~;jjiQ{`~h)(oLVM9KzcZ@|p-J$9%GcnH(uD^m?ad=Uf zO7in}(1z!COde1QtMr%4)9zcHU@pL=KR%3Ep{_ap*f?>3Q*jpY+-x?is^W=m=H}f8 z5@;vv>6k?XbdnQ-=N*>tDWL3lIm;i|8tb}#BJJyAg}P9N-NW2PtcG8k+otI*w{(73 zIu1=!jy_@&>TsX3X^Vf%48QOXcP(IX5zS)0ElIADxQ_gQ1fdE2MH z`n{$m3b}Pjgg)8J$&4(u)}sY_D*@=OPuVIUbK^{?njpA&IKR@r%!968i9J4~+7bKn zdyzMbZjfY{hk;vp>2g`01EHeKsWmgo*`#?@+Z!|a-K0-3SMpcI)1&0g|a z8(Zvt`_@X}X~%-+nzJ?sf2Upg<@)R2!UY0XSXVEn*?-jjnzb0DaGxE%$M?68I`Y-n z9HVxV19eE+Xo7pMOZgz&#Wg#Uwo3BjqStVt!vdmt4= z%+O6$#z;XGr~8Q9RN0qH-5Uc$?AYCW+2A1Js0%rmdh7K4+wkAWiG4GbO-r31!YZA~ zyz-5dUsUisw?nf3p*CDueK!#E)@vkhJ1kM({1Fth{pIGvuJ1Z*kk>8@P75UpIl3XEH|?@9j=p6=!36mbHY#m- zuP)96D@p74{97$;7><%qw~+AbxoE3J`QMGc1LcdNs}a68fbClaax5~>xr#`H>0oXj zTA`;B&5}xveK!7kbXrpnx-=}dJXKiE`eB@JRtP!*0U$ti(*LK}{fAv$2ZDolL&_bN zHokd8J{=tFlUWUm@tXHT8o!k|ObBdym|DH;(tHc{RLI3aQ1!pM?)gTtIpJ4`jj#45 zoD%jNlY`Sm?^mzH`LkZ=?9Ntgy*^#r)X-+*=Mr6u@x5^%_ZnzLcmlTnG!vVSTv9@U zAo(BJ{nM)qWLK)DgSc8dOq)kMLrHWvbq{hjDg`7-JYGCJLH2syR-8Yj>gf5JhtuoR zfNV0E^@#o$HX2QNyH8vZp=0VW;|ndE7REoeH_u#W{A6EE@9S5S&k2J3^E82vYIHon zk{tRr0%hN+k!f`-i2!y~m2xhL&feBdA>2~!Vb>6KYm*x)yyC`)X1 zY)t`Ph zOH~I3Zr+${{nwBl*&7;o#nI}vW>@6H4k;y=o#ds&NrL!bpPw5AS?>@(%&ay;5^2Qj4k{L?d__SSEPP`|alCLb7% zp|_lD)D^q0qdzHJ+@9=w@HxfnLvOR#z>cr@0vBfNW&4FZjv12`1HWVHw#@rAMHgW0 z4GAqY1)q$u-o2^uGtqO9k7I8C2h0guhSI?1AqCBqXkBGPOOn=`y;U5%(VvSwpVQs^ z+t0##ls*d~QNIua$LIJ7W7w@R)zrSP*KLsCkSX^k$0HgX-@Cehdd4JmMC(pO5M$u3 zV(M>Mp=r8Qdo+%mtP(kN>_~7v_>^)@Q{-!9TW%t%RIuVQH;fY6--Vz-&A@c+81r1* zh~mD?&<-7mS6JLj`UvsoMKz0$Dpr1uU`)XBArZZtw_18q=+r!rx_U$N(|9)%n}$}X z-Sea&k)g60Cf+m2B`}PU2KKBHr~XlEx~X#Mao^_eb-^Iu5Rax&g$iuk-8G&9oFFnHL&mUt+`jxD6F`X8X&7&RT} z%`O+!t}JohbZv&)k370s?`ecL!&5y7gxYU1OVZ*-d zF+Rs<)$U};zNhKQ5>;4?(WZ@`SN8R5O!V22?$cA24+EG*C^p?IP~w3zzdxPK^L)7l ze^ZG31B$f>g&@dG2Oi)jDLOP)Rce;8pXcTHy+8f zBeY02)Tvt*o^|u>&8%iWbHT3zhTG5SkAJ#M>%VPcX-pw=Gs`H~_|{OLk9>dv2qP?*ZJW}K8HwvPdJb{lNWe*GXw(J zx4O7c!0BMFBAohhfwI+@$r_lFy_frD`&~^T+wA6cC!xX~(UmmuL>t1LTY^Wy;R#{# zIZhck>zbGVAyq3dkixI)HH724Ej$KG0xBAy@klBk6jZT8S#IV0u-;;B%s-oVFhO&E zKld9&u2a6&=mQAJg#Q>$<<}-gB=Y1Zr8%YEwwVMRN!T)1XWF@&-~^H1h>n)Qmu8lfmGnIhN-K7V{YIsA)(hyA;C}pvk;6w9;0l_qSgwag1vhYy z3L4bM-f-@9Tje|r<~kyt^4P&Y_5298aFX*|VVfCILO0+7L2NGu0g|qNfn6cAH$<(x(WV zZ|9)}Rt?Dt!Wi1<&~`I;`%BSIXV{3)n~r2#3h2_sh&?8Ck}&6-uA|`eBgUwDO(gor za+~Sy_}|SN8l3`Bt*a|&j+Y}6N0SX54iZGxP(OAT~}3{ZiyAxcCZ2isATlWqu=W zsMbo`p)ZaXN@x%KumSC+-BG>f)2IEN{T^ZG=LF2kd|9tq{~J6@x6j%|OG8@+BKh}L zN<1xvugq-tn+?d=CnYn;ses^-7oO1z1Qxt8BzOwoxJOnVTE7Y2Ka3A!g@zbUS#q53 zOiGMaHi}=<@RnxjgQ9?wD)gptOxSe3@HFoJ>Q7O5rO^9tvSu7*oFWq*GZ=f5b!QCr z`Aqu!%8dxggO=^9p${!FXR(dxYac$hwohyZxH+ZTxiEAkR*I4X*KKOQ9#rX$Cb-9a z25R6BX5tNREQRt=_s~aK7b;Po=;Zl*&*zx(N?>hYQY4R0prAawRrh^=u#h_L^JPB# zZby0b+EkKhgz(Ji?9&||Zs~JED->pU^(+qDYO(pm6CFzH)+^9}U#7!U7}^5Sp6Fk# z5S!jyI%&n(+RwXNEAvNv^Jmdu5{W4^7;mX`p`o1jwVeNiCh!YDD zVb^`Y|0{@3TU2Mo261cJl$wg{4;Atqve)R5SP>}pb#|i;y8uQY{RhX5Iy6!(Jh0H5 zRonK6k>?&i-J#(+1tF7acmmwD8SEj3L*hzPde7IOv$F9b?33^OhU&Ou>xei`&M8-y z9(y=-$=)pssH^_DpU5N@_k)ZbWh70MF9vF5YYSd;D5U+2s5)OP>a~=2wNTddh8@x0 z9>Mg;nF#$t$uq|&`+3jUGL!b$5Oe675HTTxf%y50oqLel0wq_k7>+xbsnOW*H8+z( ztKYn@&Hcn4eHW!*X5!XDvHK0+6r+IUn{)!<N#K1RXTQ{MT_F;fvM@5BnCkid(-&e6=nTA}stGAy78^ zb>Pb3)c5L!r_vW*R%sIGHQLG#W~p47G#^w*)^nhLqX~L%yuuJFTJ30!mHN$9?YhAAnWVa-@%H}>}RwR7%v09 zl1kIoYikUj+B?&rc_#bZsUKcH(4Q#(0r^F;9sU2fIh;ZOkwgr$MAmYKdqHi-?`zEO z5NRgrv+0v_k&m82Uds@1^mBRZ3!*DmIg|I`+<wui^jWZ&OYe9!^3LrQ?I}EkjWYg}A#-B?1ZONF8kPjsy8((b_ z%GcLZ6M-)%l;8q1?Efj9zQOXLz-H_*dPSNw2KqWsT~PtT#Ynm{>f^Ev`h2 z&F1zSTVKE2TnfS!$YuByq7Hqw4?rQk)8G+$(oRlI>zc`Er1w>gGGpRDiBW8arr`R*rsBawyZcw1=YU)Kt>Wwygc*$zbEA~Q0Yx%uq8mIu)ooKedjGb zp>{8R3EiG-yi|SmDy@3tDf6(uhOv#W=%hW3rp&;t@P@4)`ph62@glhssdKM!SB@wn zLcISwd9e_LJ_h#$vr4gE~1q;}(OU{RrwtX88;mvLcjJIRIr;9KCo)_3b4olLe7xrSx)VpPvD1YljveFlro&IM75P@H z5zF1|Y?m^YY?NIvVMhb$mpNe`lm4spmXluIafPl!hXE1a^j0p!Lp1~_o{qE|zj;zq zy}x{SB21sm0kj?wFkuNGXob_O+}dJF?EIYnidkF8ZjGvm=0_e|mbsNZc zPOCEBnOginzAPBsh_W;Xv%)^^>kVHh)J$59PKasM_Z7K`@?K+G54}eigW=rU#gMI7 z!c+7nxF_9vs$RAwA29bM1d+IXvkCe^@BgwmfIL*B0` z^1Gg&PI=PkX(adIkXt!H{=n2u3<`&ffa z>B;opFHEj;L{N~O0ScX8Kb&{+nEF;}-Iv83P2DD@fUyvsCp*3N1B?B4!c_V~!E1L% z_9y1y2me|s*EX{uZmH?C1yZtuxlXbzc1(W8zm*`2TtAcXvqhyudF3=69<5=~D%Wk?Lru5CaSau-PdgMjTWPaCoL6{k)v*fe55!3I8%sUY9Hugn({Q8HW*_h)}IRiI5-*;0EsR`L>lNeau|? z+?FUl6k-fPc`vT6o~#pE?W1+ph&w^|JcdJbyy+iT{Ul7?^K|gWOOd($tlPu^hAO;p z?_xBG3@>$-BY06|Z>1SyV&l~07`Y``4D8P#-wF1lYby};B22sRyXez)4it!W0lR9a5*UxxsnSo#lmN6=Y=9gyu~VDU~?H&phAw-9vpS#XXRcfh!@YPH)d zBpojbcT>C^Dt5nYr+U)eP&ABa=jYn09nvF~Tc<7rcKnEy(_rj}DrNLeYX0Z*D|E|k z;|Xwz`Vs!&5a`{VnVxIXwY8o&uP1#{79u6eYhBH6+HD%ZnNJ_WWY7yevha-C zy`gTdR!j~Q4E4m`P-#E~-z~5G8HHi(yX>$-s{9AyqYZj3UoOZ`4KW(E$buNZpS4!Q zp?*%~+Ro`Cy~WNwKHnDmGi3tSj}i??>aVze#tfK(t{KqxajM>ybx-XN@{Rk=qWH%? zm6uH4eXlRXNpgOs02exQLQR3=!4Ov#jd~m+wbEpiH>5^V(-hGCBz1+Yv` zpsfJQ=>gnfg1g}nR+N)4a`f`B_OzKuOJj$fCeN{0BjVsMZ)mg&<|mQXt$zg@7=_7Pl-F(bT^1X~-^gG@~e63*dN8o-8!GhGg>JHdUg#K4< z*TX5XhPywMC>wRJ;hi_zn>585?KUX>N0BR3tsMXD6;Kw64r3wMN%>t21E-8lLi%53;Y4dyDiq*#Uo7vJ{9Gg)eph(( z&rorfliycEHrGyq0QADpW7hQH+ZNV1>gFrmd|KNrLZ!bZLg1Xku!zz3aq#3x(~6u0 z{z50fj^yK1u`WRT|9>9r88#jXoB>YyH{2NKb2Hm&YHzFi`+Hne+#uW95KJn5&(bG% z4n|2ep%9HT-TO}c%d}rpy5F+ROfxAuHwWHuG-B18w!KL^lO{%R7!fANNsIHm!PBS6 zi<)_s3qW5}$NGIKabX~=r}^4n@V=h8f|{w;{NK&Ve};54QbWV9TX}Nrl4Sv?VUXuC zKkTkVLiHN<7af5kyrt_RSJ7=BKnAt}EtX_EM`FBc+~w3@zA@ne+vn@N)G*_%+;BRW z4_m@6ijy|2n6}+88#r8SX11le_w}~S(0sA}I;TeMofG>9cO96o&r3RT1+3>lR%&T3 z%i*_n3uq*g=)x(5jG1!m(_$I}O-3q(M=~6_RV<^TCh390zXeo3h!(=eIO$4T6Zj?W z6>45-s;>-*^k>O4e1x@-0%f-YCGtN`YUt_o5{b`tb}p0^?}e8xXoUCdQPQL0X8uPl z`>`nYkZv=tm?{9oS^QHOc1A7VT+dvhXr0kWVt9kIL#E&A-qnceBhMM6SF(rar*A<0 zU1-x+mS-7cKH_DI7#evI3&=3bh(|c7AmLAIOTwopuRK4un`4bOp7um2j08c^mBG+j z4nJ8y2Gd66>1$4Ph)@{UdXYBe%nqf>CiO+hZabJiyq9}@0P zeG8kSj)_SrcAoFt%yT$pXn*MtZ}S!0X@v4%#AV28(U_Ufqef! z=k4I#q|R*Scbb#HrE1-H9&wydRk`Pwxw`k4=MC6>+vQjtn?{d;5Ay!;O} zBF}#z4c&vL>w4&s%dzt2akxeKrn$e6k$xe=mq@S^#N}u0N$|f-KDfeVmAn_yLj?I; z)-j`c=T_)@MxTMyxkU*XC%!ugsqKZk;~f`kUOm>#d_DS9#mjf54nF1M$%9_DcBDBk zv3GqH=t+)67gF0@eg@>=vR=G`>{(3OJje?YY2OYqx*PrOI-Vzn=t`Tt;>*C=T_|D~ zbTRm-3ODb0lUbLuR4Z++ygQD67p0ZI1gAm9+|x%Ngbm3X8eB`bDgX*1!{^=l;rtEQ z&Pp(Wt+RY~c9xfv!YGjX#=lRRwgIW%HpcGOg%RUaF(I($=#%RHxD%arx8aQDeAf1| zJQn7o?lgikwqGR6&y9Pm8)H*o&s;EmrV~~EmwH1(1L|xK<}Eq|2;$k+`B`M_2ET+u z6uF@F)^Beyuo zC!iIhFtMwgiA{*OoWANpb(heWG{Y> z15K7Qm(wB2$S`!sD0NCIntzxNq0-YYWZvSrnk0cL0KoNz!^9JjIN9a0PwFn=FUu`D zky=hB*%XN;MS>iKX=2hmBvJ3A!ktzk@dD`D9&>9Nfa|>(b<08-W+bX=0*)ikA?DW*IlNG*0q0 z#<1$NawYL3YrJ569+^v}|I9LF4?NCqTH_3(zW&rTXdJ;CFP~ zv}~K5ZR5dd8igTV;R*>>CPPqtVFI{E;Fz>9LO$4Zqvn_ugZ%k>)t<{YA0=z36FiUn z<$q|owO51+r+2lcThRdsQB8xo*2dIjx#5_P6dweh*U1Iv=Y@b&Q=N0|m{MFgZHI$Y zvi~^z?ljk<&P?9q`M+9rFEj-T1>TWB0&1ULrh(44r8$!FAfs|O@H{#(Q$!~DZ@@>l zO0MfVbea^w{UDlhpnd*?FVq~keHma%j zp5Ub93dct23T`p$6c2y7a*2x&on47{ah~d3nww>g_w=5l%C|^bcdZbBO3#B~iuAX% zdx4Rf+h0a5nyGoQz1HCIwp~w#tU_e?a#4gzqC4UAFt_rRu^_1g{|_4(!|z|8Y8A2U zl^0*<=<3`(RlpR)H6dtsbBvlQmt7yaI19hC9CEM^-2sO0$fyZvFs@+oKM+Sm9OHR( z4`V=PVCKNOrgw|hYxOb8reqCGyYbHSQ%@jusjrK~dBUF9G-cumTyD~SdmlL{{5aPx zmtZDpBJmP{)M0|5K&`91K803S?bX<53bO6KO5insy3?l?s9F8KP=ImHz_>p{E9A9# z8C!1kTpO4E{E|OO_1m(Rv^+xJv+0<@37c@B!%q0DJt9(qaeU}a;#vkNTPRpsJ?P>g z?orH+^V-+?Z}FBH4mtyq(j+mEcghMuESsGTtDHYB{kq^(n52}r&6x3B>j<+dpHz`| zU(#y+s{9zs2?Gj-+6wy55h$L-15d|q>Ak_*X~x1oL^jlka&zz5Ku!s-!CznIbOa)G z4k5TlSx=`ty-I)YP4A5Aw1|tzB>VcB^CtFnaE6;fj@(k_+L01|1My{ZPrme!(w#o2 z5udb=iaH=Tt#!w;qn%9AD-j(orPzcWR-G|Ab5?FPW!+PIAkYShh)v0Rg&}mM{ryhEKU`!-|D-CZ~IS=6>R6 z8grRlrh6t!k{&gp8WJ>uXbA6d-gspxJEU&JCA-{5Nc}X8O0n?PIp3)x)~yOA|4Y&i z$rLH#&ypJ5sEZhSPC+0f&3nK{SV)+gM$%so{%(sKkKo_JcES{q`@Q^d2;P4ioQ{-2IH+7ZJRp*bNbE-p6wbAl6ghJV!}J^CyiiCevJ zu0=gPNtOs)l<_abb@>paDf~M2(4b?gM)^hO4y)(yt-quDvZUcNDkgeK{TPP@WiN5}tF^akz|u%x-&E?)*q{tO$6 z#_LL1K;bL?(6baaP4Bn&;+O(8q*G)#zU}9n2&~~B?grx7u%<{5b1c|9L#x7{evvsdxJF_eGvGGme^fUnJaI2x z@*uN-M6&oY*HfPP>|te%F5g1HNs=|xhw;!li?z-EjBRF!6a7`*0mu-qxNx+C)Rhcz z3meJjo|4x_e;ztCZ%_Msz`x!?|JZl$ZBl!RVbD&H!ZzWiH5QaZK@Ob^mW#D+{zxdhzIWY47J+Os71c@XNdvj+hX#eP?s`I{d zG0TFrWXH>cbt47QEjH2JmclWPe^#OwCeU zj4~%zc(*j{|NBK2Fuo9PCXGh37fC=;XIW+5#izq3<773nY@=3zgag zhZ7%;+dTXEUOr^OT$>`YZ&CASXY5AY+fgT2}{nDedFNUtHYX4GBdoW?0g)30s z?nhHz5}<#fy?()4O)q!tro;QFMEd^6kaJ%+?6NG34jS9vmY?zk>$G=9?Lls?>%sf_ zA)$}WS_+Y`3L9;|MJ}w<4kOstZ2Zeo9ogx#%tTcoc?{;LGzf|kh0t1^Tv%WyddxH$ z)-J_0rw%19Ooi}Md~&5t=ii&NM)t?Z}4Rwt{kj(YP;(Wuc z%=t1QpI?Cr{bm>Wh=<2x@%axY{K-SU$v>;s=A~jc44J!=R5zCz4?f7c`2U`$d$h98 zkM^^|Mj|Q2P0{P8HR$=bG9G1KBFuwU9Kl^W1?xq3B&w@t%A4&iO-}h@b zpFMNbq`2ASPC}4;1Bn~q;ykW_-(DLp{8H?!u(IR8Oq!8zFOrwFXGu=2kpovgFM=;1Z?_g5hf+h2HRTx zCv*PiWm8h3K@|;HP2ez|J$@lE&E&7&Y(S0O>R7V8K1nYpMPJ)Nk&v-58Z3B5DIo7F zTY0TYYdiP^%y*rE%i~Bens38+tf8^p<8%5RVW~{XF7l<(X_6`IXV+-hFf+_3KJhia zy%Xd9iTFYyCsXk(p}Q8;Bjt$^PLuyyYiwR<`tWM!>J8J$Yza{o<|5 zpT=rzIHnId&pkD$gEup-RK)TqmnhtBE>M=1iyU-c8qc2(FWY`HM zgKWv4G9Sq6ps4?QT+}yt+}aX-7F?wmzxGphYs9npiU~v;k|@jU1m^(bnu8J(HU@=k zf`9a{vbLCAHXq(n^AUes{F%{E%87^r86gpN8$X&aHre4<<0>on=gde7$hW>jsrTI@ zwi}OgkNH>*6EBP{0YHEb!}l8Iakm{QBea$*7!Y&sQ~FP_tlcqI<$k!I6+OnTZ~1Nk z(l|a60N=+cHA0}{tXWAfK!gxTx9`^g(q~Sjx9xJJXKTXCKV-L(^`i`jR?S@(75fdX zrCi$diRlQYe!w0}5|Ov8T>2wYwq$CtI4Ez}vHXl?&-}Wcw}#J5Qy>E9$Z%RHeeX=p zR@_EIeAv+RZ#BYy(ZgbCJ(xrfj@GfJP)@MfH%AuCmG#wQQw-CeWa+lmrv;|*=ZEuW zn`~upttO%>{#d17NWpGlNFwB)mhW2K&iN@nEberZM(KmOUs2}$KG6*n`_Td$ZVIKu zhAlno&FSn}=9(gGnv9}d>~Mv+Lm0Fm5Xh==9lqa6V8&mB!}Z*%=*zN|NpsGOqGeC% z6RrB5Pm%7a-Ct3)tM>?Z+paKp+*1fg5jOK3@!qn*GOKwWT81AVhr~o|4YpiP2hVd( z4gsEzxD)*!i1AdD7wu2iGz;bXwk?qzBS}NO!`>uM?D8+=E(x@`Z$IQICk8f6+^fGT8AGW7jcJ;3GP3TmpeUJXw@2(JE{FydB}?We0myE(VunD`9C9^x9DYFCjC9h(TYUNn{qYJSKY*FVQ81#=kyt>r64 zzgdu#(ms=~sMCh2O%V1h`Bu;)+n^)JWGli;$h(fFW;j0Eb3p3anbl!*^J{?_@`vN; zxUw*>m>7%v64q{%su%E`7Jrd^u(+y-BnQ!Pm+0K8Bj;-S?vqb-V_>W^MC6C{>+_aq z94Sgc#0t?8a|BvoWA5aeZyl}_*1)2Ej^483p%wIO=Q}pCeDM#*HO$?TvVq$j4HLqi zT)v;02U5lPf2^)X{wSnQF1gIcg{8IiZi$R`|@hBg;qsVQUt&~(JOjdkJ_C|V-Y-{Rl181|Am_Eu{J!}jFa&P_z zLIS@%=JRFILchp#(8rEZ`jBR4N+nRN9GPSqI8ASO~PPOcU>!$J!NEh~OoLUv5E$A-krq^zP z^in_A$v2JN*nP0ebjDQa6i`W!cUDhq*yAamnh$7vDBTMQn2JRtW2R;;0Pvnq9mno% zq0gRT16Ow|@4G^IJKNi&sM+MJ)SL~Z!kL!F^iFoB`f&DBUayp*@w}6b74!4w%fEB@ zpIZk;BTl3lQ=C`s`ab51X~F&S z>)y=c1vQ`BI-7~goE8=)WFnnhG3O(W-rC#o7&a`c2%rc02ke}yq2Sf+=6)V;X8dUk zC9C`-_EW!oO#P`OX#b8TjvZ39aeOedGao2U0XUHn(tjYO6XfmleQ528+?wq`J}jf> ztzbypyt>TYIme#M5IH2rBD%=r$`H3czG6 z;no1t`=3=g;V>rexPlDGsVJh2-%}F-N*6L=IQg6!W9!tsys6hsZD+-5h#$_}f0sUr zVOwScBdu^9Q2NYC0VuD3t~GO}cH5Urx2}B7!Lq(3XoE&NZ*BERlz?#QO zea!zhpgYS=rl!5nxH-{_dal$6#2#T!hs$^;$%usFZbpNq7oJq+Cp2QM-3OO|J3izF4;mpu98_~N< z7;&YnlL^LSN$^|v(9oTG$`86;XnKyn#is&B8r2>#x?j4cqGQuQRJuzYZSCSlyTFeP)+Z>kYBKpco^aS{+sbQI}`8RL!Ff*PqO>M%|OW2qWC2 zW_81;K>S|I`I`rPH(WQqq;ZSK+)Dd*gy}B~z&{s~pu;0^x8bqjZaHmB2K(`{0sB!4 zzXFRmaEdG|?+dV&3ey8bAcB{4r007+#X|=hs_v0m-$TOo9^ z>it0!PLZ7Jcp?#`s(Iw+UX1n}_RhG}8WdR>TL50S_t=r@u!)hmnxW${-h(DEkc!E` zti|{Gvq!y16qoxFrbz>>|KSCV1*z0>=#_3K3=i6xt*zY2j zv!(nq8pda<>I74#+FNg!1W-bheL_a}r=}HWMRV&F9c6wXgijR?_z--z0i$!Rd44zT z-nh-Q{NY)}!hp3og|y7TYEU}Es)@@!=`Io9^uI$IM!DI?} zt21MNAa#5(!dGe}Xd>G>S!Q{=Eqe=D*`zxz1G1DHJ}ef=P^4Hy(3|4~M$^yHv>hmlW1!YKN(GzFy^G=5u(@b#oUAw~(*F3ZR=|;m$2l>}I z2FF(hp~kd`4)3~{_fr0WxYOl2OdFd>b(8Q`sSX-hSAa^^{%WXsC?<9{Sj^Kb;h((s6bnHy zNh5t691YT3B&$y&&lVh_jp*YT^)3d#eN(nh+_KbVF$>cqC%C*#xB)U*sQwNCxP48p zb6Ql^<0C{rH|HDeRKR@SYBmT6*~SJIdA?5U5V_cS?Mr!`+oA;Gr@Z~!;mbS!%y)}@ zaUU0oWf8dBIZ%0%ChKIprTjb&^`wEX_m=cjOU&AkT^*@4X4-$HVMQz>6Gv<4oDkwY99>yE)|`?-%cpVBlX z7I@BmtGrR~w0ERud;^Q)8Qs}_`%8=LI?2*AS<|H7PI}FXdgAC;z1Wv6|O-f6M_EYJP##b`%`XZ%N3aNU4z z-gDg0qx)$pzFEWjcVScW&o?hq+2kR(D`4O+ncgfq={3bCUMs~cSYItxnz3n0TNgDQ!+rOJ!F_KB0M&CqI? zt8-5TO>f8Jkja@bpsknlw?an)-?Gxm6{D3s>f&fQMz~GZ{);@Q%x(w>7v)?T;UhnONY2?ZjY+gl`&UmqsIeVKm=v`z~ zl)Xe+H#m2@_cQPgIAz@~1a#4Xi*tQcp>{G`_Ia%ES7(;QEmuneq~ffjUyV^S61uuv zz8cHY{S!7b{TZPXs25r{_{D}QY(GK3-=$Z~ZL3Y99VOZ1<0CvZ4G&;F5lLJe>Ec#Z zTD|;x7*)qd)}dF_CZoIm})F&vn z}`QU$jsBLMIixwyV) zd$Z(mz%s)P;tg!qThjm*?#!0`o=euE`wvVnwtc}@*8Y6RZt|OcY3vw32Yvi#mWeCe zwbEz(Nxn-FAQe8zfA=u#ct-hK4iN;e;LEFlS#d{cAgW=_tv-r-D^KK>UwuQ`%!&EO zS?|Cl$+vjZmrFL@@f$5)UeLO7k(%1>Y2%2YS9 z(O(U&cPX|Cj2};dg7|lDx$}gzQ}dkSL2DiltyyhWPRkX;dZ1)ASPyl$eoq_Gv=D3K zy-`1$NDHpUhr2{f=~TbluUo$WYMZt?z<2LKb$>2$+!u7f-Z2f%w;BfQU zS%c_>N?sP_cib$pwkf3A`4#}&GWvjVMi_vC*9MsLz%-`)sSO$59>Z#^OO@4EW`C+MTK!{WTT#iG`sE7r&jTFoDw!MV~-G3UeXb(<@-ZD0n2VVbsgZ7#L5XZ+_w zKSh_V7nKg~0&`-bG*kpAz4$zju>Q4t7~>9a;I+N;Np6ofnL8N*v38AOp}AM@#{uz2TtnQTzMg<}gY~Rp1f1 z${xKMt)hxsYVC4eWsykS!~J1EmuMsCYOBlS`e&cGuf=t9Ie1Ur{(*qq7>a=%f#5Km zN#UaqFu@S^DdjyfWRKlSrvJn`{$S%mOiNyk<6rsMi2`^uz;W(B&!$ug_;DLYV@XzQ zjBg03;q6>zH`|E58FZ~tEHX>~1MzC|NrARLdnV=TG|IFIP8@K5NShI(ztLb@L4x`b z{JT{=mSmT1v@?JltpFHQ3+g|!Ep*v66Nel-Vq#LRwh0J|TYXYIpB_Y3*oZ20wMt3| z9K*C)+I6gsy#mH?F-mDG z*ckN$KjI*j0~h2i1O<|*@_~&@Rr_cHif!oc^+=%2MD#rbE(v9!-(HK_T6dlxJe8ASQoP@$V;FlFvEx@rlEPmm?YE0zIh7dgQ&H z%?h5vEzomFV@*_eNDIs7U!tL3zag)i>TdkHt2EB7kM zxTUWir!y-my4d(g<_8PN9zV}U8G)WD@%CD&it0K`*&KcI1QEsW@h|GPRTseup3yLz zuA1O}s=rRf*k4fa^lU}mdj5u|_-0;Np+nx*0!Crc{4O=Wj$gv!CsXI3Lf*kfM3N)F z-~{s9^a=Y`Kck9H6`6ozEFjoGuF(M5W)_E&nvG*N!5 zl}fWW)uW26jSU7f#*;qARp?x1cZNbtt)H6S)Txu1g$v^#i4vO^O~FlKT={||2!{k$ z&h^(bKe;vznc~cTY>%Aa~bqgZwU$E`=rW1)pAM`#+k^gaDW}9KF#{VvMgy}wVJ6@>5!Dy;Bx7zwRIxtm@ zHJ$~&WDF$by8!tCh09;zpLVBl-MyNUMPJM51IyOziv8}#`h6{-v9A=nAriWuu)=ER zj?-@RQZYu*xaD)#xZSr6*&a!(F{NyZ67teg>YTW<{`~$U%giXN_%j}#=Tojl^=({S z3f{-^ztHp2^D%@S1mbSuPRV?o4s&}(NRRk^aT)k-hJL3hV?k8^hP#IaS4a~zE~%P- z3Sy-;wV`wgV}`>v`GbHtp1!mR-s6I+QDv9UJ zgYs-ix2=oCIgm}H9OVA7-?UmC5kbHhB&B!O9u$Cogdr;MOuFTvQJ1l&^Fg1&Qa4G6 zxXWGlP3rGan!X#Y13^I(H!r9M|?o>jAh^%W^YcC#`j(`a_0Nd9Z#6f z6fbqn9^TT-^-@L4#$!pjGkjO^|tflxm07Ptj3ji=6 zu)tWh#h^)$=X+}n!BE9XzWd)=8k>EZGDv^h43#v$Ng$$;>BlXFEBtSLCWIuv=Myz1 zG_K|t^EZ9{$nzG>X9Gv_q_}2TclZ^rVKv~Ja)U1V8zA_=_XSL)AW9J8l5rUTN|_K= zBz0iz_09Di-r{iIq#uEy%lkT^qtEbGDPt~)54e5+y{w<+#Y?nANn5rHPtB;%+hZXs z`~tHugG-9e^YuUp=SFDkGH&KNUy$WbJ3f}$W~J0Ef{%AVKm@+6GtQzH1W^eXXQ(T? zQ49va&462e!s}9Z_lnQO$LvAVk~ef|3Ct24(MgJU$(+xZoa*jE)d@xLHgJIqB1{X_ z@P911e9h_u=&s*Hk|nN9H(kA+D>(YZi!0WwILnmoOz@TJckB5e{P*un?3M5-JXYKg z-hcJL^DXL3KiMO|*Os?<>8d~PZ4(ZO+s>UE-U(z%z?X6QRC_abfwz5o%i#(QI~80d zEBC9wFe9h16>dCB`w8D#j}lXo+|g}}CfEjY9h>j;$`P* z(Ng$_7+vJ{_sg5HrJYnq;cJQyV0kZGN?yn>zPVFOk{IYGw&COEyLM$`b8#+7jl53D z-WbzcHW;vHiLC$Kd?V#noFd*fqhQD+5Grg0R2Rq6y}1K^06P8j=~n3xj6ayv`_F&C z-=TYus(Zamgvivye{2%uJk}PRV3dZzrJ}a6M5cKuQs3}QDEgVsP(q@y8-lD~mlhQs z@teD)ggj&jCKRW;eu(z+b1C!0?Gg>ee1;9S3e0;IGT%7-$@RDck))JI{*n3mBgS;1 zmt$I7G9eXbjx9Z1TReeOmV>cc@}JfKgmx!vh0asqySHU%seX^!8d{~Aet01HzT#xk zo5#1ViXG~ATfo5vE${QYI6eCQ1O5WA zPodLQYrhT#gIM~6Mh2QTLLWm^#mucHwP(LcMD1j#qD{;KOAZR!!FMM;#k<*HR6pNckb>9vP_=h_4fH zSj~B4C%@!oX!RnlqwyqXUdc$k^}Jj@FSnHHTv09!^{7A?QonpE0CZ98 zISpL)WR%0!Y?|mp$2^ybhSx^8YuBn53Nzeww;t`n^cTEj<%I0QUQe9S;<+*>faDW6 zFb~TqMzI)7)Mb-s)HHkx2L1P2YZlLg=0dn0RgD+~6P|9*jQH|^iYj%X+uQXLr1r6A zlMZtC{@hH`q)xaiWFw%6%ZkccMcgbtfR`FQjd%6qUsSrz$uKqGrv2^Po2tbVZ}2Go zdy7=3UhE<80ef)qsws8)kn7_dw_O5x9gJ8}Gx^FOc^x6*UN9}0%_ zEaT!x=Go@^`6Sp{JJrMuI3_UU6Rz!u& zJ+LZUUc$Vaw6*88NE+|u)SSQPki`6xYtLkonoJ9F#Yi@ZEg1v<4&O{vN-)?l&svzRI_8TzjpheJwV zpmV@Rw{-%`=Ly@V7U(?BtgX*tF;SwVXrl2TfUI6X&Ta%s>>-TzFDgAp`#=Q4n6Qe# zGq@J%Povt1AG`UIh9z@&oZ^VADTfbIHI=PvQcOFShwWuM@ph(qI*4j7#*Jhe$e|pL zqtYlx;Nua6WdBL;*v;);Kl|m~btRM9+dVfPuM6`R+$L~HkHpxd?Jos*n4yxp2Cc*s zDuzB2ea|9dd8G7uSK#iobRM}Cy6Z|D*2axGz_#WAfwKOJT@rBjc=3J_QpnqFq77ll zVp2Rvmg+Q~J2F5z#D8h|i+61kb-8N)!pxEVBL0O$NB(Y9jx?O|y2y>B`6wobS-Clq zU0L@YAywQ9rw;`08N+mPONFKOTT2Y*Fz?6mYa5d|D>1Xha^i}?943TE10iU20ub-L zopwM{YP1WbZc*f`w8-6`;c*~z{}IO~^@wv{goCLtr*L|7zo=wc&)52A1y7|#-253w z+!mWds+JC`8>!gZM+#}CbdBNy{dg3qk(jz!Qw6i5iN41JI8);PwydTYue6T&DjS3S;aRC6inWU^H2CM0O30E zK#&!9mHMiqUZu_4QAO=)-@fmXU6LeF7B3CC(Mo+TGRb>@eK=@wt2@%#&4NXZ&>{8t zr$>rsw9h2B!8lq45kD8+oskyprhiSY{c}OBxzQ&AJI5ONDDA&k88=6v_~oIL)o9Rs zLsvVc(VjQ9$V~je)-ErsKYNB$#?o}45c<&sXYpSPE~?*&i0tPlTBx`hpHc&5kcu~% zS(I3s~*)$IPOc)L9W=NxN=b! zQFgwxYmCZ9ZN>s(ii6xT_2~x45^~!t($z5>gcR+2Nz#ewlkSX|CmNDRJUW{jEVP6L zsl5tn8b(SUSFb(kNW$Z|82#7ot|~LO$mlQHCqRdYf0Ot6b58lbTPMjjGi#JH z?rmDT?XIz-V;Lw3CaGcNNbTzze+kU~%m6Rc26Snmxv)W!UmUH_Kn-ovjvp|_(H(HHPL35*zz7=$ zxBsGCm%2g`0J0K1>K70{Nv)M(r~s`zm*Nj(B|-`f>?NoCi2)H_E#eR4s2hrLZ{q^^ zaq|D;($xMgP3r%?wA}xFX+RKmAO)6&2U>~$Yi+M}v6F2#bGDupRn1f+#*tPpbZhzj z&?UkI!6Si0YeMa&=b$tyCub&yelou`^6}QAEb$lHIFrXsoqNAvdGMk5o1Vp5NcVP! z@?Y9K_>&xo7y&-FcS~wT{?WctD6QgH@%x|mrnxqIJeank{SlOLv_wb2gd+rF>IAa? z&XuXQ+G|6vm(!82yBkFPx>GN3?#C$oWsM-@Ay?%T=rMvK4dav#NuV5@SvIat&G#t5 zFjYMTZ~XMdorP|LjY3##iA3P4H<>6g7c>bbE?^5rKQ85Z3zwjWqoXOpY?=WyqBU%Ga$EZFglDLx<}3d`cByPMcX?i8Mu~ z;jgRob|p_Wsww53eg-19&swQ| z>l+tH;hxbC>#s?L!QHsh?JGCyn9Rqktek0LlDxBUh9Mq8pm?R)l&a1bRqGgbWX@&Yf zj%ADId)~*P7YFI^@enZyTqne|IYb2+L`))PCcl2oS^zxA0%#E{VHXW_XSCa)~Il~dAxs911)78Bak(cy?WvMuoa#Cd51u$t)XsGXeQZo@sL6>$#y9zFG0RD zPQt%nrhE&!;G@~nFyYHl+~x8}*HB_I`FllZV!^Tdy|dnP%rD%;+Upc?qZ!AFt(rUq zTf-OdyUAi@R!L=MI1#iRtX7k5@UN$ttP?`zT!iU4Vmg}mmb=eO)YaOletW=NB(fKu zzD-ubAL6Z+&vaK9t4y87YSJt3c}fm) zdq{tp=N}q)Q^Ly6JvSnQ=h`P}m5&|p9)~?~_yU`EoJiHO#ttwHs52xqr$KVkf&7ZW z6-T!3Hk|SfOUpP(6$%nlb=I(BlaE_M{wU_psr%8r7_=Z`1sn5(#H#^5S-ew7_;t z6)Oc)Tw)oFZYo4~cCqNEvig>S`TdW+0}#BRT-%wcH|jSY<0eU8juX88nRWsXmx7gF zHDP%c_0*iW7W5WmH(m_A>}$fYE2vj9Hj?1_fEM&~dxtXqu4duHP0m|thx=)PzQ9Y% zP_2YH5s+kz5gz+j0f=0B<#k4KAl`+QB--C^xfSZF9+vgN`v-Qf ze(Q{d`u0-TZ$k?8yN}56-#Geg=Qs*t?_r0(6^Hq{742m#H(2o0=W@*7E=XI8=s1NS_^#WwNQpm% z|Hyo9sJKV*-uy_NnfMdDL58PSE6Qc%3b*M(ug{ z2V(ToEtB(I8y9PpVHjx~MDuQ0RwYFIWEAn*m;O3OnD3_N@nARINR5>!fV3KVHwVQY zs(t!OLt{44#2dj+j3-kU!#9R){^GXL;ktJR|b5`Rgb=6DM|k^?HTPA8ef(3!AQ$v z-VDNqdUyHOyWTjXOk2RD!$RyT(>PX-t(J0-f!f-M0agCaLMvDSC)`)yFG60f1!n|{ zXlWNe!Q$8#dND;Ht;&MZ9vz;MM`3w<_9Cs`145kVP>kx2@waa@fNQ8}bHLm^?C#3? zbp;5N>$7un;Ll+*y{A$#)Eo}di1Wy$(Lq-NFuIkPGe3R#>C@Ai_9maaw0GSRBR%Q< zTFik;ou`$>s|p>_zz%VlC)aS=OOECa!UW;N>YfsF7A?R zLMsCE9``3^5_=4CGM;{qMC9Ut9uq7Xc0M~}-eEugYj;=i@G0kLJ?un1Nr`nMwK4OeIuSi0k3dZ$8@_+>44^Nr+C>Y2#~mej^NX4f>WuhT{SFwTPj*& zH3)gtQSVK^f7a~ zxS&F{jN4+tjOUl>rHHrIcQDgIP87)~=XUb!SfK#*mEb;}`wj{)7Ydh-;xi8g!cjj3C!g+J5T z?1r>B67QN{J_-V_cThkVC%PCL@{I!vShwq3bK?3)O^Mg5^(m`9x3p6Ic;y~{Ojq4@(wB6tA$MCuuIz~C;bfCqEUSU1tyCBJhg>tB>bJfTy1e& z%$yW!Z#rxnEBm@m*NNrMt*imEx>)9^tgCYJ_CX9q`wX5{&MD5>Xh!a`92Z0?M z=*+b%Lfbl;eTRK^ffrVqrinU`&Z-~cHwZ_c1Mt?tITXjJ6aG3urt@Z7>h(Wv6)zF1 z;ayUa=N{Ox+Bp5M2H5Klk8c}a^|9svw)|aF0ES*z$nZtf%Ecr$r45-9IN$u4e2{2t z;OV0rB8@yxFI@O>1z`VKoXJxQ%wB)Md#Mi>(7QqhELURc zQ6oStkff61$HgcOdUn%}Ae+0xR$ zgu&?N1!e9SXTy0m)?8=M3{B+;upp<%Eb*UOzjdE^S-dya+>#_m5nuX0-B1@qK&O|l zPd?gxMt(AB93daG(0Bgzr4oe}LkjKEF`un7Y@RcZJf6GVg8cS%HF^Es<;(daChHH1 zBb4F?f3G3{+uIX!tE~-Q7U;PjYo@uRh|4fp`#(;p{a;jFJZ)-zeP*BZf>5FkYZ}f` zgobR%oZ5pv{H5BsB`P*ewbff77aF#_m&t4LWf@x@R;968+o1H1 zG0yb7bNlk5W;wWB0oAQ%pIhI#l%eD1_Vd%tQ|$8JvEYk*PhB++6mW@`HGZoh%|wq{ zShf8Fxg#!T^=0R>#r-M8LbSD6j=+GHZu(0^7G^l>N}F;`YR>-R73xX4Unx3jSzk+0c#ig{eM+S zwAOSZcI9wq&U)B4!aVrE zTcG4sDV|d(G|r~|JKr3})1lAXzrkZYnjZBoJ&EM;i68>ki51h5JKo}Op5NTqh@OM@ zh>t5VwkI>Z1i;7lqv>6DTGIf^Hvv}4<daK&kYoN1%_! zox}8l0p}?#N4$5{)nmg^I~2UDpLD#BVM}Kd`1M6^GJKE?7$>b0D_W1jUy0-qrsdYae6sD8w32^r zEP{YBecEO~g`CXvU6n_}V#Y;o(Bidq7Ock@T!m zbCX@p^q$V=IiA!{)S@wT*OnW!k|7EhvWDrjWy?S7S2jLjnrd|c}r6( zx_o`6IY)P1;_dETfybsLN!4XB=MV^i30M7fV&x$-y3fji^q7_U-o%%m<+rOLp4if#E3k1-S?B4y);qzo`g&Ys2}YmL@1gU9@nH%=^pNL&!rhk}p3YvpWg2VSd99 zzf5B(?EK2HaxMIdwC4}x9}ajP*Y+RCf<9KsJ>?JN-KX}`7pFKV!+*Vmwex+UXx%Tq zFQ;<2Sk6@h7XLsBR}>4&ydTA{o9*oMA0&|7Tqd%&RJ2=9(#=}a6y_fC3xsPSi}%5_ z6u0}yo}+8w_`$4&zGia2PP1Ksmo?Al%3e^Tjnu_~lNK+2VhG{;tiMo>AGI zsSEc+F)L+$?X~tct=rpFY3YS(hrh7)YjAqK#*^N;97%S)p1SBJK!g}u0s?y$ zlOS3j!AC&t=OWvrtkr+@2BJbH7?buYbhN)=VxYlh2)D|6#3CuSFw9VCCS zoIEhCs5@kNOUoElMKB9Eh)}d8SMDWatrVCq$NI>}BJD>8SMBpx-KXhfODNoUb^~v} zq-AuEKlDEk%}Pv8OpFg{r@K`9K41AyZdF6%2KCGXWuMLZ(3Y-G>(+Liaw2Pr?uhFG zX)39;bY7`nZh$Jtf)(CB&%J3E-Z3Xmn$fJpif(!uRbZ9f_^boFCC${h)pmO$08d;>Ot|mWs>ou-S-8{-TTt=p!5JK&YMtV|F@ZI(n}94ZaaGBXFD+lO5JsYGyBUD zx#;&vJXsa3#ob+F1_Bmn4-7*+w+}4bB#Jwm5q3g}UJd-+S6~lP8pu_58V{5(zS0Ig zy4)+ZD@;2AL!IWM^yEyQx54Orc_zw#o|8f~SiGhy1yvDswuRP@Q zC-QWLH5FzUsAg`M_SuX+DCysaKzxWHC~~y<0Sp^vCx*pHp=Tzbw|qIsgFtHz?LNP* z{AvGZjZol?{lk$y+`Pp;+^>Bc6|Sf1I4Y?xqMmpeYEYLy?tsRMwm{E^nj7oTTIQ(} z{dd&LdhX`a1U>M2{bc%#R_oc{nM}?9v2eaVhwv(l9MaeQRw;WXPto_q9-%;*li)(B zdYaQC5SX~tmV$05GX}vPoq&`7)-j~FXBG6VGbOFk{%Fy3X z6x<4(g0!FMhLY4mZ!N%X4xjP|lVm0kOVO)h%xDkduyx2VwF*BD)Sy;-<8?Ncf%b@( z_38Vt)!Glgd(80cvFGICWBBj?KrEG$AC!B}$aXR_<|U&^XR0w;Xkokc`0yOYu>-ec z(@Q+1Tdh3s(R<^L^scFhRqXs+;!>)B5KX59PP|z^G+> zr&Q<1ZlsUxNFUCNG9}57jGXm#`u7)$$_z?b_KCsqLo=IM0!pN%+}uBZ#LyZl;Vb@< z*@yiCywg#Q*39of-+4#BbcvUn&g)~-1Em|XC;W&0mfMSC1k+W!sRE*3JnAcl9P=$T zl};I^1~6Y6GW4wx8OsV$?*WyQLE!7gZIC`DGnQTW)0Rn|`@n(Ll7lrH2uNEs77b)= zgAUo_SUGUAgJUjTG|5tq2@YyJL{L`Y`$H#wDYh9JWG6LV?(|g?&mdOwfs%F68r7+C zaa@B|iQgU#6y|mb+q84<+aKEU-EXeS(f27a5O?nG(WP-^j+22;4*ZX|5m9{eBx_{Z zh$UIoX%5s~QN~FMzl7GYw^1+fvmhkAH23VU#hi>R*4pRV< z?N;jY`a>;5DhKDU4x|i2$RQ{0DfSOUy?WxO5%zF-ie^pEnhHlUguPr3HZQmNz0s8>5qZ$7Rm7tu8PW#SbH{x2fpyc{%B$~x1% zrkt7XZ*R_Plt}yCC|MJ$-o9>h{wufIDZ&<56qh~8_p-C8bo}h4_0&(mtL!}EJkiU! z{yZZ)=A_=ekLtS^18Ek-#hA%|Zer*U~*NNAmQ3-*+(m#;jvMPR~U!I6 z!)-SFnfyn;sf5Q0WuBu(vP-X{+yDVeSc5g@1OK*fBTL9#zsZ!XNuG%vW@fYrtq%z9rOmUEl|^ z-mW>l@hf`Z74D}@Vcj$9Xm8Tns)2EnAr>j9E{hMyjE!lstwIymY!Q* zZm?RiGIJ6UiT)V5>65gJ;sC*wd2o+%k{d4=~LL~wB8zt-Bx62WCi-Q9&CB> zPVeIq<9R(=!LMrI;~1TiM>Spn`a$#Wp(mm#DMKCh4@q|q;tg<(Z~0H9xeTM=x?$Eu zNzWcMD5fkX(tXm1D%pQ3$UwG{bJmZcZEC7R!`C=!b94;Pl;5WpI2R=rYFRwnB~Btd zB)W@pM%_z3x8Zrz>mhmn>r7jx@H}&4l#ckAE`>T(Ck_1@N0(uBH0(+^;QK>_gqXo( z%L_iu&hDRG_zkIgG8fLu(6j}rQ=q#z3Gamm%{xS5TwLH!qxWmA;fZw0K0U9K$|#*N zd%btPPjYO?!I1KX>nJ&TcTkT>pn971>n$Po>6iHpeq;LE4ryDbdvP!T->k1nKcnZ? zSyOdcbzVKBv1EPlo71r^gf+`M`Hhs7_2+QJ(=gvi^Z230$8EhV&L3?{`!o)up|ZZO zud~|M1W-li?eErc%+43ZzYf}Mt#x!hk|pCOfa;~KN$u~8Qy`S3ZX3haufKHBm`1G( z(9gZxj5JFO6L&I}AqEXi<7g=y*9wQerirHicjulp>554Xij&xLSsm@bNBgb+gfH*4&r|kLD&RTE zY;tlFn$B^EGd+&F@cuW05LfiXaGbl6j$}#m`?6c_ug%66?{eg2L`rL~U-oH`xn3>6 z@;;H7q!`k z3Y|MyBg`HXZ+h(G}grwT}%z_ZV(F%xP?*I2yQ~j;=(rN>zbz$x;w=>8<9B;z_6?4)I+)&l;pKB+)2XmSSX+Q|sia>j z0e%N*b-=cEbO$}oNOU^bOz%_r>PbVj;upr6<0Fj$`<SRQ3HOWulx#E;pk7e>b#}~9F-PZhy=Y}}K=IrW)J}?AsJ3(;cvi(YMcj$(I zT-9o=oqT0aG*e)1?)ik$SBnV7z%!1ZvkK8(RDAeBi`JT-vTSRT;=xh=W3j%AGzr4X z+nl(A{xsMzZ@xHRoo~P>{B&-6bdEJi&Mgg+_2hBwsue?A3u?4(W;B;Lz)Bct9LobT z^^EDlXQSyoP3s?9MD%X4#g{uuG#wbh*GD7T?jUo{X51FItP}3MBX2Vjvo**%e%1r= zvO2IpE;9yvANPc-gkae(-+1MkY{4A;ZC9ONr;dI;vO$-%owNWE78ja5TzMR$R5|}6 zl-1`JPd2|iq1eD5$Rl)kx2R!nW{E26#L<35#@pk2$M<5-tu{w|)&m7f{wsdqI#8P} z$12$akLfYTRLD8v6}W_=;lr74}Cq2MBo>%Q~vzPlQL91-=nzFR?pMH^$q zKo6A-8JgDh2LhS5cE1d436(V%bnnJad1RdRVyi6)*qrrT$JE`_Zw}N1 z_Ta0(!y|_JKSKA9J$FDItOa7&o`6kOrd1H^w4g0S*9rE1dT0a_PRn?uFpd>&Xj2qQ z(foN!n7yO+Ok$rmX8p%0ywLvWhB#!&}*Vr;q1-GdcES(0jkY4CMD&1tNkOv>Oxm4)Rh~4w=HKOP9aD3IU zwfx-NAxAjFuf%IpzNh2YlXwsu3s(AFBQIdg;T4eSl>pX4T}nua#r=;l!J>4SFYqz7 zxzyeDlhuGQ3($1fAQFGK;oN7ls8}Z8gAc)(g>d3das{H7R`sPKmXXj%O3WZCR$a2nxihvQ$@9I}V3X$8x2Cl=1vY778RQR;#8`mcuqWsW|9KI#N% z0bL^2xu=@7d{=9Kv)STfu%tTZ@HM0O)ddwzm{XB}MBQWr)CD5LTR@8^=*q&N-SPX< zU+a6KY%mfrFj~~eRSeKjh48!PL*5RdDlmJm)l+QZ|LrYeBOCt zFt01IVj2NT370^w;{&C)q=jJw%yCnf`pC9*pZ2ge%BJR2rAqd3JJuv!ni?@0 z^;AKF^MhEqn!kP#Q-#G31-| zF2K{@Y|POMZV4F4dMkaGy#E(>?-|t8yZ?)ZBA_4$h!la)6qP0*y#!F2sECLlUFjkq zJwPDzCPhF%kfw+8IRdkB;I>wou%Pw;)j{3Ro!oq&Z*M9F$3q!Z_ zf)Inf?2X6$deo|}a$XeIz+lhNZizJZay_1gl=J zG(Nz!`=}y(P8^LNAzmzOSlkJne9fjzZ}D9;F2G#Y(x1XN1func*q3^5s{MkIOdlz%_nk%k4JQ1-hWW6M5rdBqObhAo|GbYIjy&LIiYZCP2PB^TV2foG*pY1yugw+fGeGkMzw93cIvV9rkd=R zL9IPbU>WghtSM^0djhE|WfZ*i=@)h;pNwmd3p%;eF==_(JKad!LVv$h_F?fN(ZV9l zCa5#l@Yp&Mf^7s8)cHLqtNk;!u|o8;)5V!^zn+iZqY`e#x7yk~ps!j<7}dWxZ|0wI zIjnuk5=Q_D>0y;09#u$2Fmwav+dSgKJbl7$2Fco3wb`_yoe?@QSV*8uGpC~~Btq}H zrkK*!KdlU<|4Qm~$1!=uZujLvBn7ABE%hDdsw}!6L@@$Y1wIxn;A<`9yjPnOtbAK? z*1L=HHi!4zd=S)b`)yO^1}h3t$_orj{Pr*5?i(Zbx42G{4y z5ilDGpr0r+ND+t#N_X#)SaYk*jd+=EIBG2TQR#wuf9)gL{Q(ZS1w7q>MHzPdty}%8 zleXPgH($sacRD7Ss;ylLRWa&yB!OVqkH?4L*`)sR;^@Q86B`^^dn{^tV|Ptoyd(cj zwEaPdO99h!KlkZff2tM5nH2%RC2aQDEFhWfYJML^i>A-WY-rCj+TGVk`@0>9CA0o{dUM&hs;CjSOa@!;_EzOD_OcFy^$ZJj zd$;)S#sTq{6Qbe{x+TP80x;x(y zFR&l)@^ESgJn2~&Zue@a?(#}=2JvOK{en)S?Oxyq7LeD~qw1U0CfXdIM89($1sls8 z8!CM7A?E_uukv)s4o{N}j$gy~daHT4M9HIq2Fls=!^=!wdWLEK+S^!*^OQ9*{_-tb zy8FVTa|osrHElkycgt(9bnRYF*O3yHd#YANHt3@lJDFxcU^Dzz=#_|E#lA#rN-9cnE5q8!gN8h?h0rrBet2wx7Qc z3WUr8imkJF0zNg+rthKCn0WE?=kT}rDt#5|d@sT|WKd~D`940N#dtQNv3tA0?c78K zWS$nxjwL-4Vni&x#l(hTBA?S=H+mnZ7f#z~6X*Y8#!*jNp$UX2@0`W@okib>?!zwI zvgr+#|B~pt^>Y!@A@H^e^M>wjDA(w*TJ0BmQ_lm*{1`T{E^VT}oZ-zSYS^ z^u6KMDvIXoR{X{4Kc#t5x~s6#m6mksX2Y*J-|Q3xD{$9(-<`gz&r^-LELg03VJGPt zbJe^XDvF>lU&(p%*K$?dQmR&W$|BfBZ*xx&c04av{$Zp}`#!Yc%Vt59KU-}#gqM=X|-s?U!6k!MFQm6 zPql{zeVJMJuJ84zc(&1?X^f@ZSN!GIfW+x!q7OUH%ioAkn4h~S)>Ci`nzW4Jqv~eI z-lg%FI>jk5G#A3BF&qmCt>gNNm$BCg!dXEMTkApn{eDW1yjVKqcFTXm`4^Z22|PSW zt!jbGL@^dq(*XHT0bN!?Et&45wT1R@2Zzs<<&o0n5#-LDY#~n{|C5xmWvY+k$Dl$9 zWN7Wphbkja>gw+4zn}W-5OuqY)tXhh8CcM)o{Ic_toUA&tt-b;&x)7)b{9{9ZEDWf z$}i8?y8&h(TX}=Y_1WDq^nhLb)x^j5E8aBagYpq1G%~cdr7~^DeKX2w zkDl=}j{81P#XA^CLRkVCq+Hr!8bdtBI*j`h?DK5(9j_S}As9&l1RwsakaHgO;EJ(N z_`s!tl=PzQh zgdb{>N{;cmq&&Uk8x4UY3841~Zd^s#njJ2S5H(P)X2EO;3>_l|tp(_^FD&i~{U!{q;$a{tR8Cp-T zd-F2jLLpgnPl~BAW`TDGIN>}G&}y_aODL~--usDd=_v$iA&^hf^K0p4fXxWDE35MOWbj-IAR z&^k~wj*$8*W`kQZ*OIv>zKX;{nL%8j$vMAg`fHTUUO82Godr#sxTUx<{EzMSh$H9j zJ0z3i=?FW#i5>2)YH3;KIr-WFQy%8k^IG*nwL(9naP%>WsqTpq zL1u{H^Lg#ZhAhF5%x)N#=%qMvg>SmrK>SAcMAb^UcR8Z`#AV>tG+vB^H=F~-kxk=K zdL#HIZ#BtB%9-Oq3W|>>3UDyht~?m=Y*@IiTSxva{4;}AJVl$L*HNr;^WvU@z(${J zzYt8j{6{6ZvI9daCnlj>iHv_$V0Vz+4K*@A*~3R<7`mRJ9{*g>+|%>r^A81Tm!u$=NmW)wAiP9;=^BK(T;J&bqq&6xsxnO&m&1&&sn?rEAdkga;B?G zo!DsdB6LflYFWm$A`&&{8TqQYeCGZ1FvN378VIK>d0||a$oy2-8&IX!L;O->y$x?< z(GjIV9=UYaZ) zl2^`Nmr~aH;2>g=(h^1LQOFphuDFlm-_my$%)IK}wHWvNWy~Zmc{~#$_%)q!l0~em zab|OMP7t~?nDacRlx)$DD{5Scc91hA5#=bzuvq^KdD~d}J2RGGBoZ#9GIGas`GYrCm94TY6=g zDf#ez%B*f!`jgX)Yw;pcv&_5c@9MjC%i`YY{GgQsNfHDHyxfA2MW;Sn!zawCRI9${ z(6=8`W-Jr6F16!sc`E5u9dulOCN!~f3v|JIu&eFg)*9qT>K^)7T$O(|c3pJo%2n!y zN#nRs-by}Sf#ycrYE$iKPX0d}bFbG6t5zUtb#$*vPQKCf4_#42P?QGO&mC|VXK!GLB@nv1%Ts?nxU1Ojgm zxn#UC{HjuNb>sD0`vdprl>4R7^h(4xC3g3L9G{GvwqQoX4Kg}?Fk86HsMYQpK1_XN zJ1}h55%n?x>&@}43H{C1k9SA{#BrTa8;rQac%42T2z>e2^EXIVIeXo#Nov_^8|Llu6g~QSw+vYKJvU6uHjl7{t(?rbi^S4w ze1B)VRGbPo^o3|h1zlP)HSc1@taxnAZy!VjHd z$F%%}?fwSt*|vlSeM8DkE6Sj-SXSV%`GT8kY9vR!-IsKVm{JQJ)>=-N1%GIh0R>lr z7(4r-l{&fmx-Z=U9RFgWk?NIfM#*P*#X#Gk6Z0g^m=*aO?py5|`p6H7y7B5{IS4y+ zisi?)sk#I?P2S%>pU*6o%zFJJYD!YZN$H2nQGHa8OCgcwdq_ndt5Zd^0com(C@|~O z!RhGQl>TYx%fFBz#_>TWP{eN){e|$=-v0~v-fMQu;|&2mz%$WK(`jmh)ZGHZNxXXd zIDKng8@VKNj7L#RKuC1=yoM}U$2R5c$sBZa?2SU-%q3Og5B;ZR`O;uqM7rurp{2|a zf`F57E%IDZeR_@HI5R`YW0ioz*eBX(`+>cIsjCaW_GjKnmI!?vpNKb}mi>~3;qrf@ zFnyV1ZR+>&nzsZoYu&^_XfZ8sn_kOe55;jBH_w2Os{8fT29zpM ze1SDuxER~Yf|?b&?{J@Z_^Mk@ed&fO|EmH^42mxy^VQxlP}e3jI-E*U?bHe6bMc_v zssc_gd{Tiy)5d!e_n}*jd99$R3~~E4kV)>zSSjz|5((QQGZO~WC13fqo9$}3o1M_~ z0EHSCDstn0uoRa`_RjIvbVO}8>!@il`cvlTpoC9zt&`^Fog!w>b4m(024`QoU*2}V z6>tc2dDs1Akzh6~6$oYSX+`4i0N6jWIH`Y`dRoKr+X^TlEE!bqJmTPcBF1X)Mwxw4 ze<{X(8#=N4oDZ+gQx~(rnIo2E@hEY73 zEYUwteooPRMVf`2RGHV`i^D!2#d})t1x~zRe_hJ*y20fw=`OKi^}#_(@cAv#SlH>6 z*o(kHdK&{qfB*mCR{EKirS#wIaYUm7DK>R3t2FY<@km_ah$1;QUFqhSBXLgEm$ znIq7H)zuJ_Q=H7z0qg4h39>1F1&?ZxNI!}n_^|ntbn3?$Mh?B#0@0!gmkVge1PFKI zsW4n=m)@wG0N5NbJv7nayH@#6kKjwaz(K8v_nP;4c!dZo;3((i`^$6Rfjf1_hjHs04;fk#Odjx z=lowcT!SmERwla`GNpiIX$upgvHxxIVzq^^7f~_w_J7_=9Mhjj0o;U~Ab5tGgsPs4 z;HMV%|7Uf*0NDjnEvMu3#@z&;c2X1>Tcd}C|zrbip|BJtB3tl~wRgFrnDcUNJPJ_=W^cG&Wi-+`xLM-1Yer*(*{9(VkGsU*nUW-pO@8>&0WR-#p}tKVfCq*yY(05)oj1t~%o4@5h z$(PYmbDvPGerw@fA~=*Z*ZBJN;NIiw8U0$~MjgP2oc`Hgc>FDK2zF6k0dr%oPuCcy zS{dpn6gwHezWFIsPwt~N>&S8!-=*JVmYh@vk@%g1>A2~R49@V{598X_=QBve*xxBU zqFhwCL8?tnpukFuhri}VMtVzrFS^kek`iK7MV20UZ&S^Af-!1u!^~WN2_e=^KGa7Z z%U<%`%}v_sMHg30Xyem=qy}d-%75!c)(&FXVWAC|afm7FLbM3OH2&50HOWF(*IVT2 zVg}d8tysxRx@4MV23Y=xoJY{&-9;ky0527i@O1-LPkEv^1=rhl?r(ag^2WKJ0_5L% zu{45d1JDRrd8>(zn)_nKaPmIkM+#UNw<+1n9j2|ixKiFPkw1UFQKk&M2mup&Gq{Gz zsL%-}zsgRN!! zPMHe)D%&z@QxvGg{#p&64y#Ti?T^%iP+Bcsk&iXC55>|on}y-vJ@-@T!fQOL?=YTE z(5^_m^hb=)bn(ZPCSEX#P(gN_|HQf$8kwYFkjQ3yj|MBw*SK)3{|?SEC2|$+i?&v0 z3u$0|M0JV=k$mMqBF!m^L(X4M!7;YQZM-dn?_*gDU2iLf%DD@QL=5$a`Z}eJ8-eFNLthtIkJTbV|t< z7h(#bv}UF}-4Z#YLsrvY_i5LaxZFC#=!SFf+}MxJve4+yzxI${d;CfuxG~6)d8oqP#`BR&eXI$IKqc?Bb*xw*;`Guex>F|MG+=KglB2Q8!X4h;y z+1u40y!-M_U>+9BAWksHSsw_h5`y?v0-B(SuZcY_vIrOKyqc9hGq*ns?whI`w9!Qg z#xhq)WU|2R@7A6Om!dg9ob42}yS6@(f9kB2!OVUctkcbc2R?r}SY9vkBhzt zh#!Q+q;m7ab|ahHV9Za>+4@NFj@{!7o>tU%EVuJ`0Xu02JO1KbI1nRT@y>s8<(7%n-lBl-godeR` z6nqfrIGsu2b$nUv6{juxl6cpq6#vt6-XfcR+l?$QRbMiFvzZZZZn{jeF)MVMyqE6U zmKu|9gQosSg}QFnFmUifxWmzi#(+UglQUhWxDX6A+mc!+F83_Fp0AkWdk1C{ox#n} z5ga%}>Y_8T~w>!WA@B#+#Ku*{L`#9o^Xm#c}2c4fQ{v-)(39ku{Hm8IRw#15H)E z)`1s3rjeHL%DT~$?b?zw#G=Kgg*Pjbhm`f>nb9bhiz9X6Yl~$ z8mo!63e|jMQUeuU0@rAWhi7Y7#h&OY3Ds@_x=nN4!f|q&R{iUFnd9kZ7z=_Cjeop0 zHF{dUKVo;{40-%a=a zc>Q8x9&3*tn3`^r{k_w6QqTN2r6bO~q&)4yg->*BC9bE--7hjGnzHC*@tGI_6v#7u zJdV0_kDr@6nBktzjTY26d*&0(rZwYqp=%JPgWOFZ@HMYMaR2yQ@*pX06%`)$@g)N z)w(ekdzE6_04&vvT+l?wf{v;2GiWQOkw7YSA8{SqA2M$iHdaw1naweqcGsjQudLvS zOOs;)*A}%uq!U6C|45U7L1oK}-U&LmjWgv#CO>&f=DhG=Y?5q{JwpKq3uHir&)Woo zQ>5`gs6+7vn0uZMKv$2MV~Ct)&*#=3e~opAq&uNg5M|V1&+ppU>G*rkM-rw{pEvmv zh%B9tud8F8(8qqjHXsnbGV+hfVE;bR=FiBp^HeZFJoGc0XhNAwQlZ-4hnPy%?-7 zUyRc`FBJnhj-lji1@6dnPz1%zBahkZq(IuEG!kDBhDHYLHAZAylzq70+Idyh#PD~M zrdX6n{(e2%yI|H*t443%+mIf1tgzMD8mGi*btZBGKkmAB z5+NdIA}2pAG5Iq=5o?l>&e7}Pt@!autFxE%V=)(#nR!x!gb7P5q^UTvj_zQ{!z{$x z_Lw}TmlPC4%r9YIYjkRxevQU0C zNOLty+TU|(_sVgav{;z5V-Ks+bNaALs^yR52GH9`CiaIsh%&kx76zvB(gCL9c_XtQ zyWJckLF!z{uf?SJ<{KGP>)drW<=Kms%=PDD=t>A{sG)&C;b8P+ z2rm3D#Ig{wZi#c~x$b9PaqB#1r&qgoY@1Wilt>hTF&pph=y+#;=ofEEIt;Eu8hq=g zcJGCNe&sGo=`O{OpgV1++f2-jc-)8X$qm0fn{Qd5u}w1j#uvD+*Zx8n{b+47q_G(h zp9TM{HBRJ}7-(}^?V>Lf=)BMTa4Di&=4Xs|(Awx@%3cpJPQf&-lD@q2t?=xnrkYO6 zyx!_X3gI`-bCj$0z?p;{Y4PL2hQ77?W`7&+GOgZrMc?%Ssal90B76Dv#W*&XM}DUD zt{dgMom)RQd9j8R=E1WiVA8|xZD)LD?;yqXbS!LPbSnCrI=Uj!gY&5w&-tRZ_{D${ z?bLsyR|*$>V%sx=QnlL@pz5V3##5H5PmZ1qcQn}2o0EoUvYr(7yLQ(5`K6x9VePMA zV?z6TdtaMh`>>d>gaTPF$dc29vZ~^FpGL;t1CGT-d|I}7Cdx~9ous=k($c6LhXpM- zZz$9BvkN!f6D2A-fDDH48recSrnYX41IrZ z{_lZGFu_7(+9Z}B*vH}G5zQkWGq>>-MN)drasHMD_h_J;s}j@~VU8EdMm!k(R(`c- zx{&(BwxQoDn1bOR%l9X_0fD_P3SI*&7y=BKwOk*JZK8_Hi_{LTdXX17c9ld>Et0mr z6OY1xzE1`820A#O`J`AJzkb;-;hpVGk*u)IO{_oq9(f`;Ck3?>Z?SzMNV92OIAw0T z!j|4&ibN#EM}*Y!bZ{gm_T20zX+~w){%^M-U8bKLn8S`Ng8xu3YV#9_ZLP@}2bk?W7w-aOpN%rOb+PE4qOK1dC`SJ&gDj1Dn{4;a7U^djA~BC z%sx_3aLxd!bs$n3(1Y;gHsmBm8H{8sF2@v@*&Q;!creuQS=EN@YUp+f#CasrvlTYE za~CTWS+u|SOT?YJ(8`JX+T+NmrhJP^6nT`}ay>|MJIV!=QOi!~;jDapBfy5P1myh= z$?(y2D$5JjoK zF-ISKd@Gg066U8B-N_|o?1KyNmsC85ki`3bftT+)UBs8jtL9IsAgYGJimy(4L3~TM zUs+&)OtFf0=`SSebsx^GeJO(f*OyayBm}O__+hS zLHUR1=(~nt`VAvf$Iq&gE-UjKMQM7Ri&4|$=P2!DA+ul5Zt|sD*a?rRyzZOX*foZB~PchTTezY&0S*M z4Zy+w7lvh>e~kHO=KQl4GtcM_I!c{sYnW@bPyhm>8R2iJsWPc#*8SNK%l+c`*Q*<3 zX03{RWAY*e>UntNpn3v{7JAz*uM70Ou>{rSgvtbqy*jLJzL$Re1Pc z;+rzq=E_h!R5lLzm$p>@fB1d{&^0Hz2S6+mZ&dIXGGT3YN)O!TBnAz4uw$7RIxvWX z_Iu2jemK*C=(8s*V&8eItaMkM13`6H0BkkcC;YYuOxx7E zz47#r4nJP4jXi7*n}3COFBi(Vs&Q^`lz{X93-Rgi_rUO_*URZQmG9~GR1!p^bNl{6 zM8#lqGI=Dhg(ryXpbE`*0FvxhqQtiMK?$F!zViiXguc15;Ky4?=a47o<*^w46@1MR2G>d9o}! zQx>d8;upAYZ>ll9H7iYq%?I{mk=h1ydle?*_HBVbA`;-?-K=SEI0rW`;X|K2XJ%r9 zlm+@AQlW(i#hC@(Q`m#yfGbzt zeS2(mxCEJBsrNG*U!7~FJK{41H|4vV*-wAD$p2^=b{nV2nlmorOoMX!(5F^z%2oo@ zK4WoDFU~tY5N+;nSIl-ASIjpPAkMUx%;%8Le;ign#b?o&NG(vdc$HHdfH-g)qnVvV z{qE;4o+a=hvQ`4Uts81f$|HaFQyW=LlGA_FDb{SsYhsn(L-pJ`mBngZ!FmLO5-)HD z;PJ1={3Q$d+x+;3>Llzr2Erw@9?G7F_NZ6C=d$j2BR(Er*wJwBw6byW1-A3l8&Ei( zfH6_56YUfzvcp|gihC3%(c8};J+|c1>rJv_tiMG$52L`R->Fw`Z{RYcn^Ac{Z(J8i zUfA<`YQ~b&Md6WahvKDYx0>>SFO_Led+YNYP9Of-Cg7_LXK>djN%jINXzu*B`w5kL z+YNU$ulLl~QtwEypZ4Z=4Lp+BLlxWaerNc`s!4tZEf=``H^ty*$0k|Myy8c@3T4>d zL`i7w2<{XmbTdwU@9B(JdDj#}&G=5dyI5TPG+CbeMS+ot@w#mJ-s38d%EX~34?JEL z&?*M&H|i*{DBi+_g%S9YcF+oj zDu=jx?15XWVxpPKvkhja``OMjHZzWODaOjckd6L;@9mm`0s0Mw=G? zcsiEe{z|G>=5=lXmnL^o!GGvz&FQp-#VLeYng-D zBqLlzwa?hOHY621S=U7FF790P(x02|AyAqo_a-hI4)|8)eSGCXHaPqS+UdmoFJ#!Z zkb2$=2uErcpeIyqFhj`c)qkV^WXq^17+u35r?s{5sTyQJ{l(3F`AdXxC7MQkQT#V%3)ylk4iD020G|K zJu{)Ad_1tzx{+aaL)$0cKpVdNJiF5U#xP^jiz){3 zwc)Y`76K)9&R_nXM6F!m$;RqXJVmt?^_6+O@Cy{0Pt;}B?Z*M)1E_SmWX0pPV0iJ9=HjE7xjw+|4fXD6sesqJBo-gP& zFQ>-i!nApsKe4aJyE89?RX!vcJ&Rlx@f zF&_+6q#{Ek#qNc~&*?>KY7m)3?^naH*LCpY_4+W(4)qj#phY$*2ro{oAf}9rZ5FVJ9$kd-?^ZV?;c1&3P&3Q?B#wd7WJ;~>VmI+2is{w?5F9n zLszJFlEn6=&y8*SJ^d!mD`i-l;5)x5nkzePILDG5M+7pScWuRMf|%E#vly7C%!f(G zzV8o{M>?JCNm;KYsZHf&S;qU`^4>*FMS*J*2}0d!=?E#2{u0OqSA_hEqTmQ}=PTGP z$8el+S%imJzKSQtLbI{?YMcUZ?c{bHAu*>N$Aj zmWMOeWo34kZrPTs6S-i70AT*-MAxI-zmTh_EU?KK!nNC==LHe`_I&ZS0&IPD?liTT zUOir)Y8bRiIz+o!_6U2Z#zrgD5x3vfV-PO0_MnWU{VcrA2!yxI5mnB@+hz#d3w?4e zrdLY__Y6`6sP71{SPN?Mm5TCLztlWFC;|*xF*61hRwsehCL3_T$PIkAd#6!Jx~ciS zmFs6HM=XunZSQe6`zDx!_R%$Ovwv$u1}VYz-cp6<2f|jKl|R}qf zQtWhc3;swhJj2B1d8&kYAFFNC8#-QY7x69AfufCBPOMt&tEu+WiWKu&hpayan2-ha zCvVO<9iS2#9Yv0);4otKZ=`e{+3zAnVLZj|`c-@6<+Y+a{k*EeY6fW}@uFh|1Vg;m zXT$>|ieEOhW!0rKycv_B_c;shl8UCW@1q771ojz~0DwpP@hnvnxys`&FWh>dkBzQh zWHf$NQ$OllWgRlfWC=MPRtXB)w0AuS!0P+&ca;^+UA2$?G{9;rw4$kG$H;oKEa)Ab z3|Z9vqJHUkC$wS+icMQ(**HxDI|$OyUj!&L!3D{>mEs=qgCh67Ynr(ut2Fxx<%d(S887DBArC0tf;M)* z6q<$X@_YoWy&u2_bDu#akMU9qjo~$k6`#I!=NXwQGsj;mO?+Bo`3|%+(tH?}4dc1c zM(f6NtAbMYNFVMGXt|< ziGc^HBil z4TqhXREV2(xTnms(&LV94lmJ==MH>FxvEEczY&!kl3SEf^ZT7Fjpq?eSSy5kZr?&C z*lgMQs>P?KW;K{RbNi~*-+xSTekbP57$dz4oysO^#fD20shv*wW2&LSX1jU_4$ykM z)jnk}BRPm|Lk1{b#;t^B8ja?R7KtpXYNqx-)e#%qu~1EzG?Fp!Z} ztGRDKU8~!0xh~}b?*W46CZ9()Z$`SnMBYF9C#_sNk`ckNprCsq*T%M0pMKEH9h_Zz zLqWX!k@%`t2c5S(KTfK7R%rC2Huj*_$;&&>a#y8BRA)50$p-Zb|MmbNyz#%#sN*BE z(<|jR2e#nt!UFPmO^O&E@2}8_fd&$3A7W~IVwvEnhw5X+OjgwurM^Ew&vBLR=0OPy z05B=p7w7Pd3((*(Q&IaJa(v*<^Rc2V>wC3tXztGm$kGXky_wcFrr1h7LSayZq<_^i z_oq*jVT(0*`+q8#AD}uL1qG+G;&puCd@RkY-8Ju(aG@f1Du1!NB{N^u)I9Pb7)lN= zCa31PON5&kIS_S6v*9s5ew!;^2HIh)uH(<^z#6$@ z(zu!4+0l1{?r6aoY-y?filI20P0aip13dD?Aa&(=X~w~`RD&&>DE0c7=l-@6yDr)w zUIMH&+B68cG5%k7QY5a{PV(+1X-(?XL#_=)7oz!(m0MyMWE8;pO_1lBb$`yln0;{Tt&_R3y+(!S}tF<<=b z#^H_J>o*-=UYPBCZBD$WUq7V84rm*B)-1S)wmt0P+V{zOcrmf4x?s1N&ZG`)GsD&Y z^wBE~Tx+SqCG+*BJ?+9Jt3Q+sm(_d&C7!TI`doTSzb)_yC2*SeNbwvVta#&<#6(pk zPQa5;sW(B7q3(?%e<5)jYa(Gd{M}|i?-bc!PYGt&sJrK@Pu$|S|B#%39I@qrb8l|L zo7T+I689d45mNkseCq|cRoU_WiUFYJUBgZjLq9s5{E-5MgAtKus1AmMHFb>Hg)GPB zsr_hmcEt16)TF&>I^dm%`P?W`xFa$tMb!A33;+#g=<%IF3QB?)DiFCUfYv5Z0bOC# zc+px#0~BvRZ@Wdn?`=`u4_`J4TTANZJG8c5l}&154=}m0Vaj@9f$ZjcOKf?ATorpv z31~^`k%h|Bi;{DPXeT01J#EYG+~bnUx{?gJw?^S(2077{0@*a7lvP~gONnPRSLUt? zLi{hp$?RB92;!adrjhNA8MS=|MO9d*l-htsplarp!1az$<=uQ!TJ2u7+pZajzx40l}E8ebyOZtBev2XL2V;4E%Xf`Wk+L2KKml> zzSQqqYFgXI@OjUjoF?2GzlqeYu#yFcHGSKKXiyFj7EPWpyqo^g=T>_Z}e zBS7!Mr@p{^8U(%&_f)~L+HtK5Z9l%)qdzM3s{{_+&*mRZY~ozb!XGXGOxiw!rK}1c zlqdPo-a%5x>1D#}$ZZNewXxq-H~1Xnh2b6cf7Tmq69@n_`VJ!wmS<6WfDMd% zykZ^UUZ9n7`E^Q*+RUEyF2&Hg%Wb)s^8M40FITQe9(XtlKC8fe(^0FZzidvj2hj&N zE14j+vd|a;+hnu@YuPh@S;JlA6lH4z>6n|ZBr@Fl%hVHPfony*bP?xYBt4d_P@Xz} z1aDf@|EAwPR|zE`@pp;UCZOIUjfn+jZSs(gapINyICtF2Q@*^8iC zfcfjCawYQrabak@fDWZ z41XMUiUaETJppuV3&)Wc|D)=yl{;8^Nd&GU!I6J}*$ zfHd*4zi|x!-6^@>fGG{YD1_W=?Ies&3UwRE8&V}>WaOl&-X?MU(BN=>M|A)q@uP6L z?R1oI5uM1^wwh6ob!4rYaL1p2 zAx!!B>%GUF4V2R47|3{MW;qnbfp|DTI6V;wNSfCGst2+q~c!+K!hx}1~x8Nep zHJ{gJdB=Im8Y~&S1ZYad^4HQMr@h^z?+j2Oo@3RcB%E{bKBke&gimoV;Man`v-FSf z0Oi2flQ;Ll9nEgZ+&=_NvjoIvrxV;nwvV0S#`w-Q z+0eM6J_dR0+I*E?mRtbMhnElxuRpC!cf!1Om?G^oe!>`N{Fsj$Drp1jwi5FiDY}%Pall)u=dyy*xBWE6vke zB76*DuFZ<&>;KBLri{jq9Kf+okpxZ8B4e$BiJ9M(DR(?{)k^AumojOil=&9tG4hzA zSA;uw{sptJsot96_fsLuS=~#WLVJ13mt1SjRdo`Yz^^$+{intuS;^qR4*_nlwWhs4 zu@E0AjVk*1x}?+LPV*!2=&lgg0bY4dItkP~G8|}Bdy{qWMg}p*M&@h=gnS+=%1=}4 zUt(mVFgVnJHV3k62MtiO8RTjQ%J4KAwpcWSoDg<8rIm%8c$`5|GUI-d2!+9Nqavv% zICf31*F@udrm~S+mCn_d@_9cs&o6Q+7wwSY!P#)iL@p783OaocUS6@hA zXd~*4ufQM26C$h_wvmk#H~n*#-mmkkar2@GF*XnknmPmPvfh#K&C`AvdRjhkM7j>$ z-{B_)+L8_I5akh4-|MT&s&IlY;e57pRyl2NtJvAaI`qP-`1JMWGq1vZIu685;TBI~ zh*Xxli`<-&Y8_tsB%wa+=6}}AQkEMsPs3n~H_>2+cmTl2n;>ETzM6UD^Kd;fz6Aes zLauZ4$i)nNCb8Mm?D%FL*}EG25q5ZL-QG)Hn-!jx&9WuTr=r|E)x%1oK*h)TYZ5Qj zKE)ihmz{^V(TO1r8F%y+bal0s3P5@`x>(uAmmm7-p3oqBw}3_-cH#_DhR#Y-UE%AI zQ|I}s;&?(Ogm>l6>FIRyWk7OM(SDM^SIdj@JPoo2Dw~Ip7tkrPg?D^VMw*~lJgypy z-EyCXBioND!{ue&xA^rcK59JfJrtZZ>|ow;q6_@c;b$(rlH+HoKV(MLxH#Uxha3kj zdKM_CHj%c_P+p?76X9LW*EkXX9=JGVuW~KCS!F{MwR#HuNO@tHEqC zk2&i=()g4O$wDV1bfAKmgX-0$Zc0sl9N|p zwguRy|DCBIUr3}!PHqsxP=KwP3j@G`;o(mBEGORWFXTKZ<&@o-Vnc+UN&cuQOZMSE zd~lCaScAXRlEHUlUiKJ@ZX~2Ow#FVGL66BtNuJA#oG3U#aVGGnKZ7mv$TcC~|Ha#T zM>W-LU&BGVln97`l%Rm9GzF1PK%|K@8%>A`h=53w4hcm;=|w@2rl^Pr5$RGwFM{;m zlOVk$ln@}v^KPE!-uu4yd%r)w-}i^ZF&x8lPR`kT?YZWfYc4rlLL}`tu_Em8CFa<+ zk2c@j?`y9=w0+c!8Rm#J9a}<+BFM%&dkUxHQuG$%di2~&*r7L*63h{X{wvt1 z=QRP?5Cy}!u=gd!x+i!ne-_lg(;9yke);une$jYl4-TZa#gb_wYENRCQ}d@HI9S?Q zK}VG;pDY=Jm{C`iOyW=zHGv)H~m;tQuUMxpmwaT#uXQ zG=BI}Z>9!eI`0A)P#7+uNthmI{QBcb&`tXxxvx{l^U-p$C_Dh^ct0X6OYP`72$Rg; zLEVYXImF#lV!rlil0nhEES#LI7N>9dXjsFdhxRVoCsHw5JPyJVdOmFQC`eW<6!9ow zvTHqQc#E8OJG$YC(8p`$bAF-@i7(jh`6<`8FC^K@1bZKVT5tPW4r){x6q#CcpdtO5 z$`sY19W^)2w&vopq0SdLD>tW?Mj{d3Ip*2kb}5M0ulMu*t62Z5*p$ z8&*Ryr7KYGt0R7Lf0}qKE})Nr!;uoT zJ+r?D2(~Mr!!YX5$`Xc0yhL&lbSF>LNeZa12qP^R{sH9R75b}7kzu2@e?(p4xX-K-{h}1gjnhoR%n#OlD;DO$St$* z`L0kOsR?>egDYG@_JZ{Z}wFb`8jXuDH(TJ{TnBqP%>qIX;n-VXt z4krQb834M3{{T7wBcj8-?i4w|N9rQWcY;1Yev-KECHP z>X!#R#03Eyq$h_d7RtyK$>r)zWuO$L8sjQcxT8Fjunrqk>c0(V+K>r)d^bH!jM z*a02^(8=25G?E`d4^uR~Tq2w6tT-8Ib-Fb3hQ>lZB)`?fa3No@7wF$~u&AiCU5oLP zww(bUS?1~M=3=LvBrG8Jcw&K^U-&rP!pVi!ji~f91>Sisnqn`XtYteC@Rs&Je}eZq zbu*ra=Lrp3^I=HvY(YLHr_uB@ENFFq0Mz*% zI_Hg+dBe$Nu*#sIdELEyPsL%Zs{Y{l$g8JV8^qbUnM~ zdVtJG_Al3IbcNj+WXM2Rmh_>63$! zQSgFA=vW)g5YdV{podbqe1Kr@H}L@bO1{P&=OZ0^>(!5{dj{L5M^FnQwqS2|{O$}enaed}z!XF6pT z{UKQHFUXnuxQ&COlC=1;9Qp%#5?FZet8D@1RzPiP1l4{{0%YoO@3AJ&$J5N052hE3 zCv8-=SX;5Ot3vjov-V|3)JWfD*rwxt0`)mFEg?P>x(XW`p+!#l(I~$Ge%aYhd#)(Q z=&yqf$)v@h+?b!O-J4Fck^!s>`x99cugY%!HW$ht^oJ*yxz08C>bbulW$B?B6SR}e z*aRy3%-$*RM6D}dN1i5dP)rH>W9!!g<71HFmQK&V-%9woh!y zl^<=)u_~7g%PizFGkko4A3`t?6F_$_?~CDpmS7_kbNHh=oFKDyaYQ%aBYmDWx`3m zIh;x~0l#|0)(rTG^&byw`2#z(?oBWbip=Bj%&wCraW468N1i>bU;O$trvwSvl^p)* zvR6R@%R9-a3AIB35+FuM;E`Yy*X0HUf*LG}`rZ|6er>S%GY0gz{WIy+7#UaBxwIvPien)f9e_n{p(zt) zBDSkT^qT{}UG`05kd})~>}*Be)-vQ5OT73S>15G6Q#wLPK}F1vSW#3SS1l2$8*u~s z>35fzKJF=0>e&sFA4`=ay>wqFbCoFP&QhO2a%=L{U&PAEZ+W6%7Z;)j&gJBc9I?m&Mz8r686hPT#w4F}wpt8-Km^KQ7K|_us|oKc_Ic-E97uSdqSP zMmg!E{&_es#Jxi5z$^Y8N1S&V6=< zkysJ{jyASq1jj1O0~CjJ51B^3H8yubxl!Ron%H&1vYpj2#m^h+Eh$Zm469Ss0vpxB zE8P^R;{nj)HClWM3E$kenNbcn_l1>#Lz1vQnd8%TGZt6XGhs@*miij3tw)&c;2kUt zB=d=fU=?u@btvD{p#%}t8nYOx%FBted8D9s&*a4~Huu-{dL|ziIs%-YW{1y25GU$S z&KJ9WwsPgHu#o%HvM|xXovOh!4`JV48LsoDmcZw}0h~8_9!3?A34n&9=Dd30tEZT0 zu>kQc;9!k#R`S7(ib2H{!@3D}q{Tb;bFn`cM3stE+6IU9BQ@##`I^$#J{LMU`X~++ z>?O%`(H=;}$5jYx&jm&A{L4mvVI$!(hIyvNqXS>?^4^Fw*L+B*im&>^_A7}=>=H1 zI87#^UB!u%k1lgF*P*Xcw1~`NWbJ!&np4KXNe4Gj9X^Lzs(-j+CE7Ir4^XROd|Nrt zk4O+^1W+fd$>X?r;ehw1>XuRBvB95>zv``3u5@2qyRFG#9ei9wx!j$3>TXZb*Nf#g ze?cxlf?iGL@U?o*2(Y@uZioa?(cil0TNiZbVqZ>gn@f6@Vh@VWr?6zjhrbZd2-c`=TtBa=p& zHQ%$P4s<+x?ELsE!nW*H+SI&9)Axe#e3aKHKCt$zR{$g}1N_jB9!i=iCsp?U$TuX3 z7WJm|{%LkKLmQ9R@Bgeu$(y^W#0m7=nTY?m8DgqfKsW#{R20U1(=U%MmxPpCQqZb6 z(~C(#&$oL7_ATE3t6rg7gzQ1m4f_Pu>IF#^1Qa>Q*Z2;s#$H@0^K3N*{-(CDrtIg) z6XXzYKX2@cA>-69mg#`GEuk~sWhTlDp{7O5IYrCSkWFDHk{=oM)g?`-=f2P5T~3Eb zg-_T$&uRD;DGRJB3x8KGdWRip++YjVOkQ{A98;aT8=By$wwKHxw8|bRt0m6)k$r() zxCL}#=tn=sI2GfBb=LSs`b-xtlec$LR+p!mgUpI1_k{vI?Q#z^CW0@%^tnU!lrr`A zE$p0nveg_C%1$?yt=+NGYmZe=Nk+X6;XMFETl+2=yhyOXTmZB`lY5{{(X6e_T3EG6 z6v)85W^6DR(0J`xPb#X$jx@nJD4OwW!D=o`G6VF|1Ms(}=s(PD+mUzR*VYoQU4vLV z5Zct`byTI33_b}9Imjo4v#g&3A3kQ1_B$KuRF&@jW2R+Z#Z$=d>S>1sh<#4cL_LP1 zMqxHnWY@S)ns0Ttje2$xxs%5)DwQ&%CDUeNnqTw_7%#^pjFn(lN4SkhwpT8!TI!`a zxy)?~FwBOyRuJ@?P;6uco!b6Vx62ByAxVCuL%V8vcpY~OnuHSM3c<$1r!)#E&A-eYXgbr7b4qbdFgh%Kh3ZMFj_E4>lsSbS`-} zTQWObojef_La2jx<2%nbU%^Mv%PERNhI7F%ttx3&+&&Bzd&}w>U&kiM*CzY_3 ze?i{V_R#2zz?j*Q4`g_YDm?b7!HzrU^rxwmV&nQ_x1(-5szo9#ymV~J|AxOO*A<<}9=WU! zTENW3J7eEs!7XIrKoZr#(~nxIZKK7xK)~-{?;#w}{Fk%ICs2*GPEFP)GO>l6JqCS+ zspE}9mvv84y#U264stbPXAlbR`;RmR!s9NnmZFZ0%lyuGrb_b9c>46o*CufXU-75n zch-*6;Shww*M#}cYx+cf{hrLMPrm!pBD!#GwMNdxTr~cIPMc`=fQWpnPO5lpG8<1u z`gSyc;Wz&ahR>rOP%}}B5=DRtS3nVYx0|QWgCi=K{(ip1+NZq8)JyTd3tM-5G>*_E zx8-Y)#dp!a4-q(;lHT?o7JO}n(1+r{EM5d$S}3@R;wTx@Sa%YP1dj1nylS+jYFlw) zqH{K9 zVKB#iCwy6Sr(xOC=oYsI?p7`O$J*M;<6v$`t3o^P@|C*#)Jpgq6l=Oq21~T}MyN`R zk=)qe-9~t+Pvl-3w{(LkyxEsi!*vOIA{b7{PEc3;JUTO`E&KLKG>LmGG3%B;KbQRW zmG}Na$M|~fx56>kkjKF)kOtEFux~&-c*TsFk$H85uz4;wsnAE@$b|<9z7sag@9Vpz zDu^RZ?(F0Vz2X7ILJi%rgcF}9c8!nBa=g&j6_x88_#+Zt4GPDtGMI-wQQz;joGTlY z;Hq?&HTrOy;2jaFthnk+XmMlkm}pJXIr;3W?$NI~_aMw#jE2CQv^7|d>nX5*4C z3T^+CJ$R7Cw>f7PShT+Eue`%M)~6++lt=4^LBDO>t2z)~o#%u8G4-%hYUmd5Y$tuB z=B(8Ts9T$p;}o=?va#JM<5+k@Y(J%~rm%c5E7K$-wN8avj+yfVNJlY)np9>=f^yU8HMP9=l- ze0_O!U9Z?e>ZtZu1{nISykX~r6-*dg_0KjrP^`t>WsOQ5f0?q1t#+UE#cS3C5-s87 z7|N?PF z($bI*an0(b(Sc6PG8@|~6Z*-9YZ-?8S=c$_ruXMfIHBtM7GKS^giI6a_{cZg(oXD( zoF0fBxp3}kx{9@uRK}WwK|4b--HzhRoM0vb)AMiEF22@R6MS4~4#<$EUt!hU-wc$O zHR{pkA3~L3FAyhcBxhx=uyF)#BFe94Ii)Uca_)H~P5LCZfv(%Ls zo2~mETMO%Votr1I)x4gePVX&sOSPk1682>6z^%L{{(>0di*90}030!+M(qXwHUjgR zI`ODynjFNUZ;Hk!BYDIs%Ycs5RR{X8YG=V0`~n)Gyog3PqdEsx!%G-p*l)Ae8}Ubd ztLB3Ob(TL-aHcE}ko*hNm%+q$jKGS_*Oi|(8V92KsRHSzXFb^5)HCim^&U-Vz%T{# zU^$*>*y#07BCdY24_FAe;`B38oPJ}&E(WyZV~JVr;W7AkuZhq2xLw099TAA#7h3z!;n>O;yNeepl;(A^H1CUS>a9BEDfiR{9~@jobvP3d)L=9% zv<$vF1ORJwg|Mn;Uy>AlL;Zps}cUF(AP*)RuF zTO%36nEIDAPNf(}#E}+p>!oLV2=|#9v|3H!9A&iIvwM>CJGhn@L%W8Fg|Eth11s11 zr~8-_%_uKQGY!6PECUI#z|F)@GZE^ly+69}ZFTxRo;Y(Lede~lu-SLG|5LGIe37dT z77#d47XOXgDc5_^pZJ!u9yED#y=c!Z>e>;@7xwJ2Pl!ZHqdIO7)2NZ|@a>=xw}V3_ z%e5b~G7acZT}4QU8ZIHhj*&23?e}p8akmq!)4QL?=}$|=7gUPm5JEV0U4u2qRaiNZ zWrfj4d_O|U#kbVoz395WGWkWrb7olz3y(%@-k^X);(ic@DzpRoYoV0Xv+$K)sJVYN z*B+V~t4CQ;-_u~u)}MaIravEQny8BVR9+#k*X%Ps)*ymUxVA(S4hF7*%>uGm!rDsN z@9$8Fnx#MOX2hCv%T@K@)N}gMvv3(lvlWY6u6?#bOBY zeT34DA%S&K0fqUB5c-o=}bD znzX)qD&F$r-GcmOmV!%W%n7iuPHd~mrRw7B{gAYT;pz}EBf?0N9P{WW0226@G5ov)A579XTu2BVqfzo{1FH|z*;fiGMeQhNZ( z*c}qtv_>F#;_78WQxp;aG-9+x%|6E9ZJRae2!nR4n%u^+T<D|J3MK+4pkW;#N$)WWM;O;fnPeVEo@g zjC#49&GJZLe1>)Ba#a|fij4x7?k}Pd?dZ;52L~j8nv;34*#`jt zOy@tMA9Ces)#UA?*uU@iNRIsdQV7*6y8+6K zj-Xw5Jy?4d#^E~66V((LnFb}P(_KB*vKgQjcw8(oaBBt-sL}uYFU|k+f9+(d{u(hZ z4*%82vbH9wEo81&ef#)R$Zeo#LSG{9$c5$-KEeq1%-Yu=b8E7o;!vjZ&e##@GmlWtSs>Rv$tv5?X5!sz_% zuh(K~E26GfUNvI*R*$-@k;^1u_vJWRER5 zHvQ7D#m_%vuIa7E-=T`1?jEtyTCRx?^pe{0s(VQ-z|7f@!AHN>1`se189n+z&83M< z*)}mxxWC`JEBRJ2|JL;k$9R8{omGS7#iCdNeuoPx41ptm9FZS@nn)|qj~b*4Bu>!~ zjGfZK6(d3ij}hV}S819Z10dSl| z_J}o~42Ya2sXXf}E~A$mYjR3Z@aCP!s=|*%@8d919LW4$I-nQ$pZvoth0l(v<0JM@ zpc>6T=?9X=Ha~K!o8;^WCWh-5D;N10kogEJhJ%G0AccmFyG;&hlZ``J@lr**`U%Etw=k4OXJJdM21@Mhw|Ie>eKL9X9%y0&TO5GdS^6 zfgc|^j`*(84l;CqK=Ex+9>$+C9NB;B)Js$2J<%fp^($dnbOK!jzcsqqY+nD!0lkuB z+VJ{XO{MiZ?^Qny9uNDDMPTlELuwu~K0-6P11hn0!+$p-vjJCxYk3iUKmKjqOR3 zPU*bdv`k+NIl!N;WdM3wCnA`D@l2h$2xY&*WBVH^#%(D4@rvnLkz1OU_ma9*XCo$W zBN&1M35ZyAUH1=5n=>|clMXth$}8fr@X%vz^Xhoz?u&z=$UD?8fSIoLe@B}_ZKs}Z zK17}pL5&C!*P*l|2io@)Kn7(wzTndY{g|?}As;G-tX$?1^?dd3X>C`oTwplJ3Jkni zBMiI|HK9Y8QVRTin_KX)4_#ZG7qtS{rkm;4Rf<5%$tGGT*q?xisL|1k`C=U89rT1b zlcan#Mi4eD{(UdB)ic9MSo=s@(@b2}G2(PBHQ}RC08>t1X_CI*v4r0foeZbq4Fr_8 z8AyP+Y(wlxi^u>#uqWmIcXV9ACL9EU=xFtbevBr&0;kU<{-z+$_O1JHxX7PacT;cA zpZB{nb~+qi)vyrm#d30nZU+%DqA8sYrCah^+Fz-^{*Y1?a4ZDN<%jg_pl689(o){@ z`+qWyGe1TS3CECs2uBhudVi$8o#LG@`SPhvHPspBI62I5I`55YMEPyTHa+E)L=){o zkb?(SGzw<(Of}33%Z4b~Jd)R(w9T??*n8$UMbKvm)fPLvmjw=pG)zH68-2J13Iw&j zm>+(W)ZbFH%Dbq=&tT#SIlD0UsHxy`K2Df>^T5K;cgpxdzw|@x-Kfs<;q?R))%l;< zp(oLeuIOWkCc?q>cP2w!bnn)lkIlvMWJ_0|wA!tCUmzOY+5F^lDy+stqPH%=RzFm)*Y zxlET|D)HrYCG!_!1Ip5slA=OR%Tlvwpt@bbLH|p23(l~A$!>Si$7p>>hCao2zb_m5 z2$OP>1Ndr zZWoIzoi|;i?^4ZkK4)86u^YWRKo5%`4B)aOk*8yZdL=Vu-7fS`*y@R;++Un^2(Q9N zG_-mqWp`WeOOd1i3y5!qk=Wq-if8FZ%HZRO`pc@%TfUa(`=0X33Mu

K+lBFDH(WJ?1+vTd@h45nVjIwRhRZ#0V1wDxxl}0IO z@s-sEk^Dm*?EE3D=XuOKP01AeDpu){fV|bZIROcg8bv~;DawOS<8H`BU1s`yLQ76& zUFT9W*JiTSn^(%B-tka+OapUah{gdY;D;?*W_B7uZg~Z?=0$JJLYr&~@|{we!t5+$ z8`V1cyi81vD}z}EVYZ+oCV+LPTTCn8zntxwxAcQ4b?tNFcSjIYsw5u?EPF78tbFC| z3D!Tqw!pZTJ_DyV{T9Ju2>uUP{__u5Hv1yCA+voT z7}GhH%x2?1ZsnMWH9zi9tPu(s#8t_~WN%(Ol#SdA>Y;KE(k z@(5`~C@#S`YXaU=wE7S?3EP|M=Isws&!sseDc$Q#8N3%R4?m_w89}2_4`6#I)Qv%P zEeW*<{9Iojs=U9U_Qz|=mZjyH{IS_KF|Ms-uoyU|WP?F>T zt2F|4`yn^b1B?ty@~B7mH>lKi0Hlo6`rF(jyZi-VTz|6N{3EL2V)Kd*`$}?L{W($b z;#bL)%+g-(ykDbxe(f_iU^X94tAT8$3$-tt39+J0QZwO;7Jww3o1q}q=I}*=n*=`xuArW(gm4Rmui?|BL<6g%AVaV|W5PhtBnG1j* zz|5bG=D&g>AI+xN2KGd#n}70eYa0GJ9O1bzc9&EBLVMHK3#;`cik>zTMqX;&eT<%F zunOOy!ncmot-X%H!+4yL#|S&qWksfQV>YoF>?Ossr{h;m>38Zo3g6qw9DtzEA@~!- z@lp7;m=-Szhz%M4f~c3FDU1l3?9UAWa$bG#0g+O4Yw&D3OcMC~3GbXPPLa@Z*P+~0{djoSWd4cWPN*zPw^LE&xr z>I3OrrcY(&R!pCcR~~tqTt(x(8=G+i89HK!P@_$N{BIk6z?wkim4LWF$0O>mhTb1; zt12^r6M@lylv(Le>4dG0Nv5pyy1mu?*HF%n4ksyP=)RdSfMyM9B*20sV_rjicjhr7 zay873SY;H}!G^6`DTD2i7{@|sM6&&P?Yo?LqV^FTkp0`iO$VTM+zx9*?GQZyRQv?- zBK_Q0U6y?>*>tl1e#4YhSG&q`Q@4spE-)=z>N!T%Y0Oe1Og%5kyYKvE5zB3J`FZr$ z_vWRoi`qvmggIG&>T6`lqA_7lB8vm8CdD+`3xL&UsoAuX+Uj2D$fiq=`I&1feZ++} zKN0kcacTILg{I#MP1a8lT#t2!^3&X2msOsA9IAAD{MVJR3iYsG@wnO>b$6&$n0ZhZ zt(c)!HYwrav!pq0P9__E4TT;tLJ25T)7!LJ-wK3ADrzX*Nj8-oUNC!@ERj@c9-$W6 zoIzg^u7A1`eh9*OK=6A8J5UU$XoByZ(*&{bds*Hgad5EJI>VtZh7all_LYx{?e5k; z=Qfv4((LyRH-GhgyW2A*)?rAFJs3uSJ>PlbW6RS-w3%tjmbIu%w|%xtHyIj2OtSsQ zD}%1Ze*o(q5$yV<4TZDiR;z9{mA+nL$i}&(l~ZTVv}2C;;g(WE;!RL+00tpY{k*^_%>e>cJR;V}O+ z!Q21c1V8h?o8YVQ7B4l~bnw+*f-SI}R2!R@C)D0<@jbe z5jqmJwg4Do#~i3VxdZrWIpeEGYs|sD5Y{hP){8F9J80p>>>oU8Ql90B7d-7$rME}4myUVTk@FX9j^yYr*|yE+g5H(1{3 ziOG^Ai)N`0J|Id)?r_*xy{xIOj#B~7NOnid&uHC!D#<*c?%4<0(@v3%0&qqX2!JW9 zHOs_B6V}*EQ}pC5^;!)t#X<6T z_D$I8#Vie}Lcl()*pVd(TXsY1Wg4bUNg8XN?yvDx>AVkH70QIpN&<6@jFb+=GGL38 z#Y=#Xn?5gn@y%}Gh{cwO#XVJy?k+77Gw%?nMV&&^21JYfc8A9fq_?7Wu3_BP$q^!Ra?s`SyqlfF$q(S!}o55R2xwG!J-|CADm@^_`S`dDq}2-Nl51n|(fKX+q8=&JWH-*xJ}SbbD!9h*u})F+ksi z19V)!vke5x0BxNzJpm$^pgZ*_5X$uSU*P<7m+8g@ZK0DlwQ`_xKgrC5{`q;UIYRUO zKVGY1)s=DDlIrK%k0jiK2p4=MEF9MRx0*&SJ{nHlH+jtxR1hWmJCw<4YBW`uzH0X9 zQo(C-F;HQav?54MH6RQ_LHjIx&2;urUh*Zt7Rnd!a!ZtI-=!aX@=6Hi0WAxJhSy1e zG8&R=(C3{>x*FRhR7Fz=|D7<1_}k;$M_)6{abHXtJO)=;SwxM^&xuaL#!=ee6ACpv4HL7)pr|0YD4gj@hQyf?XSualieecl%wf>Fr7zS3%3J zl56#eU)5&4kP#^su01q30DdPyT_+%$%3{V$2WE5J27c6x{wY8RGz;+B5NO9E>POX` zA!~1xl3S+Vdj1^84X=w{%i!p1uZfR^-ngKPe0=DgiJ&B}S-L z+m#WT=@g3iYaKM{E}nFH4yqACKl%%E``F!hta&Gk3P*gsEI~V)t1nn3Y0wnEw!DiGh^)JZY`MNklPh2qcJ>_%-ku&m6XCo<*(SR53 zAAdpp1FOob;s)`Il+0$Kk%hPr9`Mv>5P*vrHA5|K=RiSb5t&bbQ|Z+~<`ham5trB1 z4ecwp4A|g~+dIrrtLiYkX{7JvK)1NEk!R~`;ku8_zT9T!-?6yEoan{x zq%x0DD%hAAa|gdLl2!rVzbOMzqX}#QwK5xg4-TqiZLR~CI@yfnOe=~93UTEn71}~( z&Hs?Y>HkcoDWbIW*C*=`1XGCKXix)u6P`fWQ`;x8QtYd5xDom51t^P`rd z=CT)2hdPh**C1QBi2AELm8cdr+{K=o3Q2!KKHUaNnWEB(DbB_PokuoCsl2ZCN7qc{ zV6uI!OllT?{vhKhAZJb12L5==x|A>Um1qU>UV*=$5y1=kqFmpsB;D}@DKTH6CN%cV zsQl~tWj{Fq0ku%gw}^|hN%$rcA)6WuXqIzYLT(AsaHmhT6>!3{72*S3wfUqezN~K; zXBGO&hW6D!i+-dUITP!C1Xyqlp%odR}iI<-{sNyP5UEO+~J=*86;elDL8}FOzqbVvsQLE5lzd{>tfDM=!luM3<5Xp3#S49r zpkgal`bCaF_qZBXY__n?cpEO{yx?|)8=-DDZbU3mnB_6-`s}Qbht$>$%uP2qei*jP z2mIwTm*DhuLQATdWz>Yo4>kpU+T#x07U|bM!1d0I>EbE z6RzPT9BC;S7;MGa4$13nRlTB1)W1vcFVfMc=Bab!yQB_#*|_>jsXaT;9jbYt+_7l$ zI99921NsMOQNbW_lYaOr6cotPYmQF5`{GUA0n*=nE}}l38C-vQ+-k)c|TMk~;Gf3`(2OM|6OHV)W zxR$}56%~y|f^ihUwRgaf)=DV)^x4Juf>BU)%gk}FV^>lR78WESYs%sxs_}3VkUS-q z0Pg(W8`QQ#*_;R{$RxF00rw-rw;%K}k0M~eNU*|m`|I(_m{*p(;sI<_(uuC zHO=kf+(3o8loenasdkLW-?YNQN9 zi{WiLY~W4Ko1HmeANxBhm(j#1o`k$mA8hXO%P-T2ugtHdKj#4p8 zw&}*`cxvKtU(u{Fi08;>OP->H%ANXJ_9o1ZIWPDut)U^U>ob%)|t(ZnfvD7 zL~9&D>?;=JQByH8pHQPQbNS2JB*rwb5*q-Tb44-L&=oF^Sf_r% zRy)f*$>_WkBV8QjJyc#mmok{)4 zt*F@`f~=Sgl)XU0mb@R~n0RcPo@UoNw$iUp@7d*WObQ+1eYX&<0};T5>9l5(j?zAd z%B^H6kr`!6Ld5IXhKfEqXOxmUeyDJo{C(Xog8ID{--DTn@TSf+dJ6#9peAX06{YT) zB*Bl(p>Eht_u!)A_<1~Y7=j_bY+HXd`!9$n;w6G~6hUQjf$RvP$KTcWPIeym)fCO- z`t{PjBE~foNtimTtPub?IJ$up1~$MW373p--s=BYRUUO+un1qHm2mW4;)3)2(&ta2 z$i~R07JV?Fprxer#LSS`0N<)>YsUO#5;-`{7#(151U+{B%b%-B6S`&faDRaCMQTDr zo(C#5!Cq>@$ge-!PA)S2IXM)5*Tz=wgu$+pvnV%CmWx^_k3mEE6bD}mC15u&Du0T2PvW`D}_gdWi4_{Z;cQ);5UKw8T zRp+&DKyR?XttpdekR?5E-#fOmali`fPQ`OL2^1Ex3u@jn>MzI9sx*y~1UruUHx)1Ne`g{q2xyISE_t^pX~mi$ zS+PXrCH}Q<$MMi3=Jn!E3?i)jV(FA#blG7Gu0%ST8uP`i zaGe25{prXM3hE;RwIJA~1YxflZ0kRhDRp_LUUuVFzVHjth;_A*dAE>*18I;(un`u9 z0hM$OP)QbtwT~hvoMc>S0>t05tT5#Bfzq4rA3a2!B@)B0d=Y2IT5f99D-KwMB7u>C z(Iw0QJIFylNag@FdjS{#%LaT1=^H>&QShCdiI=16A^e=NBwjTx@b|uP@twbY>|TnJ zc`5fN%X=xw7sE9Qw$?#%S_qa=F#%7jW2S}4K+gO3kdTvbT*QdJhN&2MF4slOaf%5c zFCv)jvwygLvhkTU^T+ppJbRL4Fnc;V2cj|;Yd>-Xqgt?-5QjQ6bVL1Z=q8etU8Wy4 zHe~V+cZp%PxIBt}5_cCEf26cvpm;JWZ<^dcxN`FHNBgW_EcR34d2|u)f2}oENO}Z0>*nZ zX>x$;tlN2af$_f}u1hDAjAGba{kOz(&Yr%imiFiJ(T5ik-H zV5UL0USLxzreqT_kxkYv^DjP~E&r5TuV%+_Yr-oY?|hiBluYajy_$ItFk!x7-Y$9oxn%Ym!!yZFY} zu?*!nzGX>$%6&Ea!d_-DX)-ro&_v(9zwQ}1frw~AK(`BJcW)^vnJvm_Ew#9%nTxL8}Pjr^CAD}Wvu_B zm%)|JgkzwWCJtODOxY)7e%HiEKkolEdqIVny;&qgH&Eh#R`l|3K@Af$M*S2BUwk_5 zd@nB*xarD_mfCq`ycc6;@a_ilU#0jA$>y_eVmHeNFKuvG>I6K-890u2nMdgfh&%W& z7tdD%DOMH{46f9`4OSqyoiC3kjCEWTNPE?Dmn)*1`Hz(~nAAi6X#7)o?q{+~Bin@U z%<=a|$DcGGF=$^65^*j65UMhB!e6opDSLULIbEYDXLyh6Qo%3!!6PcGQVLhW*u^-W zn-zmkF&v{4(-Y;3pUn()VjUcI=BusG(x-zV7r_d+v3n`aff{9$#3RKuIqPNtVxkez zxjDhI1dFI0OCK3nQ~8~W-nlmUNC{T{_73&g5hvi{uPIG{MXK9)GSI~O+~nrNuIY<^ z^*f)E;Q(TL+h@~4Fr~0bj>+HqcFc`Fbqz;n)Ui`%w2Wl+IOR>0an(T1_=boGt&zb^ ze0dVA|G^qDc_r(H(fPy%h0H1j2PaA4A0aN7NYKlm)};Eu#hNc__1i|@wU3Lejtuwk z;&?GJv0|}WAJBUQZ0e(EyhO)23*_lO;IQ$*R7N7nWVWhXo~6A*Bg6%C5?>~uB7GDG zpUNC*?cTffp*z~>tcGW@hw1fr4}*2rB2f7|1X=DlzBSOJ&FKGO;Y!tyL3B}J_{;P$ zv-1}PCblkg(2GnCW^*Fp{!VS0l2KPmO9sEWOWwKg?v?Ei`PkQtmb0@wJwg`0;H7X% zDw-FB?RIcF9NMylnzljN4h;XczJ+T)0yb20>Of}MFnwkSabqMH?ihev{<2kh>J433 z23H2Bd=NzKb^Irq&KcwVk>QY$tlY`Uy4Sqs zHLp46<~1jeUPKJ=cX0)>dKt%d?8 ztrbT7qY!D1Y_!^xFOqb}W6teC>j$n7Zx1{?_7mrwv$IkF>w{a+@+%B`{bglMf`v`L zBodWyQu#Dh+r;RM!Wz;3^(d{eTc)w?n}(Oa}$5#l6f0riJ1nhrX{ zLu%If%FO!opQuVm<3cdJ`KZ>AQw!o5nba`1JwMsWg}%{_`wihes?wQ3b+*}Lxa%uh zoqG{K(=3SXTCAeY>WaDgCBz{seo*QWyEKEarW>n`!~1*ce!R-HMuMCt@vCyCjpQ>YG?k8HH5l#yc){OBEfbRv5Kohkt^}N(1%ygBeHsrc^--f?o{wkPu3d6-1 zqNZb-IE(i@dVKB8`00*5HNz8 zzafaizadQJ2$XUc9Dg3chNQGj$PnxFF@K&o^Y~HwJ>^5xgA_~F6Cx;*v((?uV8opC z5f~|RTui45_u=(DD|#1@xMPz-_fUhL~do-x>ZTJrJdQLs|*`VT(sjgFeM~5WWf`9ZXi2uZYu- z*Nl6&UTe4*XdD@Is@F`5pyR@xzcsl@xVFGPe3L#-$2U>P`-dm>+H&m{CZV|e0s|-) z1reO}R#c@w05qfGpcB!e`!^(Zdc^*iw?h)zAw^C-n-`Bp^xUnf3+0n=QVS0{#ixFr zz8?I;-+Ox0oE1EqG8m(0 zx6;gbj)-1I(EZ{_Bo7*2wJ=T$D3ex(@r!(57a$XA%Vpf~TOwBjt`46N z{s1P#vSMpX43} zG&%4_JC9TUDYW=xQGJ9-$Rb8ggR!p(0HX6-KvgsH8T@?KL20Mwo^}*kV}^W8uT)tu zZ)TVKX5RBJo`cIq=ikob(azoWph@QkYmW;{_*RA1)fz~T4u$84PI^Uk8jFRW2IlXj zIn*9z(iuHVmeu1ODU;n{jFq}2Nk0v4NLayOI5}Ga6N0<&jSj8VeLCjsbo!j*y>4a_ z&{=wYfN?L#(7*Y)+Tle)=u4}fEghAcHR4S2e=3JGeEbmQm#%m}(OfI*V!80&YXL$f zEo>NalNnl!bVE21)t@+e$#NOBKVd9B&o-M2*KMLPM1@|Dl(M?#eC^Zxixj&`>z@y8pNmdSB+| zE{qwNujp)a5Y|wW0v@Ljt5DvjbSG_>8{Qyq(zk4ss$#%!lj_tC>yLS%i4zY%v;UCNTCckn{hO<@BZ6MA#yO&|rx53QV zn=)b7t_|XK$Fi-K=C6%S$psBx6Y^7(B?R_eRDZK4J$V8J9RE%GUZ6b_vxlK6Y=M_} zE%?n|Fx19j2t~WJ<(OJA{N*t4YhEltuE^(N?@R-ZV*AY$9K|wCsR#l4Dypst39Pq0 zK>Zy^5QjD~2fIs7qapBW2{r{IS)d=*F?akoM8-fizumn{(snf(0 zC?Mee?y6f5e$D=e}5PjC932m6_BEJUu)8k!vC$oWNYZR_BJEQm2*#&hnj{4%%SfDm_9sH9p@p5I z9{u;lnV?CWA~+XB|C{0-%3F$&LWMSdRxf&mWgHhcvhMklA8_Y22}vgK|CA*~9fkbN z)FQW?l5|T7sH$zcdoyt4_RbH-f8o1pn?sn4J+f9T^tGscu?as+rzMDntDa|&Hi^-S z*9AJA_1vtmgFO0zvup5jQMPAnw^O?=Zuo?=(>uY6``KXcjd#yhPVQ$qqaGH;Fz0(D zavK<>3sy47%pR;o9t1N`~O4cn>15H#|SZ~>RnJ57ubi~9O*ZKW zp5q!FVU?0ZZk~Zoe98&RYnQReWmFnEq9Y?$ouy73zwbR(`6QcMZUX+QoYZ7#n7Sb1 zv)O!ZvT7$Q5oEhviv{L$O8yo`Q-h2sz%t2B?GBs_lcBUi7wJ}np7)wYyO$5!Q76nY zsa2&@C=rUDmha2OfU80*A`5C;9d5&D)&a|~g|OS4JQ zBHI4B7LE+Y2}?AO)fqckL#ZSeUPRKWazMuHa)?MNdH=_msP0Om`a{bY%GpG&>}#KK(H?(9K+)X z+R`KWxqm}egr~JFKkcN@3-8?VxHGb2&+wREM~H34HF!v1*0ZLO&9mK-b_=Gft-@ikpU6Yo+4S-PbKsqc)I$%u^ zuM@|UzWF`^o(%DVWB8G8El$;60NB7@jH{8*ncwkR08%sn*iA{jRvRjah>4hCeOumhh)#kaA@ z;CsDn3&Fv;=7$Fd(Uwf&>yem_@=?LrGdfvPucwm9aO)w$UVTeB<`7fm?zr$di%tgu zCS|=)-wy&D6zz_Ln~x?=ydY%WWlJq@uIj1d-Xg@?m_GeEac;X>gb-aC+TLh$BzqO; z+JCFZiFezKMz?mV#+OM~Grr%(7uQtbr&@~glL04hM&{%{&K7ygM3lK`vsEg0p20lh zAi{RoH)F`2{UBD>3nXn*p$^iS?~jF6rH&;zK6^phR3Ij65;FhQ7qj5mTVyZ@uNRgG zYj?qa5jh=c!if8rmhN{uCI<3s24RR+WIAZdLY3r(y^dUZ7JH97_;=+ple2}cxg7{j zX_B%1eXjqlAlW6t9g@jcOki3J>0}EA0$gGH)7I5bB1kd}KVxLyUcPZLFA2qC^>!+p zEJsv%TirCJ7Bs}oE#)3rG=FL+lx14%QVuMYnR?7^(2>^G(p1c)dVY>}GGI<hM=exyAJ_DtZ)JK@4nH2ko*7`U%N%q+XQ%D#QUrNH zm`&!>yBZe6CwRB98daA>`dxrMR`aceL^#6La|9X}=uy9-13K77=48@YMU$Vrv2r)Xizg$0 z;#bAHxR;1-29#}K5Bwb32x>IYqxnd^@Q)Uz8E9b$yD@vAWm_wrnB*fs+sr5lf-fl7 z4TK*(x6dR)O*MN6)HdU(P6!0Oy=`W!%p1Z)V0b%LLm+IGoXnO+%Qa_PQa{6KuQI=; zM&(1QL^}_ZQUB+Erx4++$Vy)2pE{CwRqKrMyQw!no>7}RSs;3=X003cgg7anE&4ah zdi3pTRMPrX(lL2gTn-55FtbZ7rA)y+A<{8xs!D{+Irj}iq47@Sy~{M85@C@`_l>j@ zVkhs0)EY9A9*nd?Iv>3-9Qfqm%VIc07>J z-S%gj5NVXbJ;X{$q~SSlh1XZ1W_0ob)8h~?zm*4PF^aTC82?yGX8zz@u>6QTi@qsH zFBu1?0rD)!Ab48zSS&8rtI2hZDw&S)6%Cy}E!*!H^ZHA=o`YlaT}36XG}D~-WCZ5Y zRwK~)>#xw&Cp7@W_QgWO_p_J9D1^?0q!N#*71k&bfb z;pMxzoS9AO7t_TETo6hqczb5=A(jbs%FN&^Z943LuX5`#8}mzTId)5YOPTwb%S7r7 z-E7J{RVr`6E=SE)#0pIKVpkImF|T$QDzM*);`3s<>Y&qe0a8-SbDb)YCte2#QE!=V zQhYA8V>t=(t91wBeOq+p8t4bdHX7(GhoY<49^addcPxa77`(V<=h_39CPQVK_kPWe z=6WdWlojGr29f9cJ-Q^zjXI)Ht!%1hstW6+`<`wyod&t+`L|a7^PX`=T~zM!tJFiC zp#kXE4?!t+Db?=-p_HgggJa}q)ACJ>1*6I^+YZgEqFj!MkP675EnX+=yk`7Sg%+_n z)$oAET9ESB`EDO%psbLsxgd(H95{)W@nw$%f84WSey)h;#3P3jXi+G^y!C5)OPmeg z*+LOjs@K_K~YPcKrSA_f0my$fV?N!BDV8 zG;w;O%D~QG{PMkpxt_(}Z8X zNT?s^b}HP&Ve5zeMGx6+T`d&>6&Tea*mp#c=*aWd5N6p5blj?Zsa=J-L)FW=Od`#{ zT)3cg+nx5@eP?F`tzvOdf|jYPC^k2=-scCoJpCnVeJX9wH#&r6l;mN7z(>7Ai@__c zvwewr!u`thYjsteFX2SB)Gg|#u8|Fy7ovM*>2RkP~B1} z?RuP*4N2PP!UGbY)soYr3u>Ty{%2jMms(NG^i%%i%jluaDa-t}P=-cs%cUhdo)&{# z0)h83LT%|T(5)YS46F8bAJ6X}o6lHDo!v+PA5~kl#n30Pw#qLqAEF4#ze121b&H7& zdj*Qc<1ZH`t0~RdUVE!QGlr51x*hY>>1zEX)+_}0n?y{UYsw1<2xXx1VEo$++gI6y zgz`t_a{2bps?sh96DZdc1V}BT^)sOWB!aX*G=CK69G7JdP2J=*EG=1$ylMNC-T85j z9+eXWFM!8K4Z?GCPs%}I$X*>3FAgtt5<7*V%DNNO(v-RYGG}3Uwf@=i!5;nSddHV{ z&z~{di78k#GSMjf=I!9Xt~N@A-O;%p_o_iIn@k-`4Rko$ny4e}O|ZeOy$b7rQ=yUV z%s7dAU6Q6gu~~c(c6Tyg=&Pm&Da6Y^fhb9^q5YhAo6B*pYSul`dWFJl!UdJLCGhSl zCkgeR(y{on21xf}X|y^WFW8NhuP*BWr=)jQ_}0A?-sMj_?(Rn`yz|?MFTVI*N7T3- zQ+SW~daN+-FLLS&P86q5kMr}bU9$RA66<=LPib#Co?m&?RXJUX@s-k-zsvE202?N#9m9dTYI zD@-}zZv(VG&n+haDDTm^ZqsS#=1Qi{pjzKZyxucV~<%D)$7c!!Sh@ zO_+$rQ~8I5S5+<6@0?%4h55g9_dh=gU=nA8i)oUucMfP(aC-Wt03fWHfyM1=AUsx3Gib2#wXR2xV92 zkKqS}5yT3)ysfUE={Q*+l6dLPS=QyTtqy$)Uelc?@18T*{nR^dXI1KhPFVTB2oOL! zu6uT>`}ue1qUN>6JifQ?pdQ_nX}x^L_blDlbtg0VtlQt<5mnOn1cey(Dxs&3>0WXM zK$tZAi~jSo{Xfmr?SOkJFtliC9s2Yc=r#Y#&uQ0PzG%TOPOG6|zOg?dZ%*?;faU}A z)3ZliuoIk#*1b84E650RYdE|`0KH{Ac_{d?>!LY3A;OUFaEWl;6qWNNu=lSsnY{Ky@AKoQOz$ivr41Ild=nqBqo1@~c-oCh2dH$ob3qojL<-TsZz0S~#JKlM+ zn`nH)Xw$xxh3~D+tC*O09LD2*Y3C%)j;y(RgT3ZL^{A_vRlw2v^RTpTHM_i^4{puuf%EV!(SR&rLKF1Mr${QFWIz5|l6+~TjhD1q=aja@ z-@)9y$_BVPoSDZAck6MgYEuT?fuX5ijx|sI2i2KI%@LJdGV({!n4IG;L=ISfbh7|! zBBx~DA@#&(o*^SGnaFtgLqgGU|ABZ7v0kPdYmv$-mJNyedhALqkE0smo;SR+`px2* zOQ2Phq*Z@>=)^ZE=KFhLggFYr9Zu(39XTVe0Sq#&=@C~M=Vzw_d-8J zuX~Ihh1bhY`;#mQfenVUV_W)(uh-}BNT&{h3YL9*>{ zxZl6si7VKNx=$c){VM*bS7TmoNZ4np6j(@EM8aQvWCFQb=kzwA_gZV~-gVUroBttD z5a+Z>nV}n!7!vZ@mU0Y2GQ4i#eC2szH^wnmd(+l`r1B5eN0s7P-r?L=ma5~}zahqG zU*KBnxEAw*Zrv+iy+1i&qL`b^i{<~Ho5O+a^CM}jMPgAY}X-Y z3GU(DZk>tcX6VVh`(A02YJ8HeBjZbtBFpVvk2={fU`~iJB&X;g`Uq0ExY}Qnk+|ys`<1 zgwHm%j68vfn&aINL`)gN1I2#vl^*KJR~6vmC@qdGjB&Rtl5M% zX{{c--jQXhM-A8^cW55g6%`1FsQ$uvY?>7x^l&S1s^xY9vjiQxzOs&9awxFJVQq=J zN-Qno7{Ri>&rY7wkYQCQ(%hOA8vyd3I3LK4AkyB%@Ni2VPN*(g)z`tzK7s#wCzG}) z`~U>o_I@tcLTel+sRNoi^sHIOgwCygH1$W*+t&0u!X@pKK`{$#$I;Qgk!YNExztX2 z?^c3@Z2Yua3one0XTbBG2NXd<(e1{9*=6S_f^3o@pP(8_2hsD*3sj4 z)TtYFGr7`1SJYJ2CvLtd{`yvtZ-!|Ir?_?y@ifv1ONXvw@LDp;8xt6%q^f>EYYKtv zs%Dd?l=(|~-BEAI!crXua@oA#Na|a{oIO8x?LX?jNc#;Bfm0zwzhLf9)E1M{x$%-x zs7xFCmAulqJGd$HC8r)QGkBA8*PoE*5j7i$ILq{CD{iTP^;IU8^N;>7c*gA#-zOOx z3NFykbWAd~xFuOk(!@hu2u9SURZ_}{u;1{7jNfgPSkE`HSm|2=B229OcNkQSm&|0T zwHf(;x9EJy4x(iaPPG5k7es{rEOzqTabK4t0V6ZT?zO06rtL<{O$t({;D3t21lC!($C_-_$zYTeh6;+ z)hcVHJTj4XN$Jk^25X{1N%(jF09>tXf&ghGmVVV4^p=f=uR`FL8a^#y$5C=qEtIdA zA2!xzGB8NbFBv8OqE+(vWA~^!J}0WhSa!uX>?ru;IgD$P)lr*`~)Wh??|ry?(XbssE;wo}$lFFr*>f z(_(t#DM2&@_gy<}8y&tCUOZfU?+`w-OZNi(_<;RQgh1|tp6_{3v!Vv(T%JzZ?AQsM z?cUYlKyZiBKrLg5SHNwPTiSU|;{o{Nn_4@5+!?!LJ||-n7WvFO;uAO_rYml3OpOLc z=E|3PitMfUXE{`Fep&_gJ<+66%lkL{FQb8-aHIq70Q7QerbjGDF~9+|6*^;ofzXj> z8i+^r_s1%VTMs)CipyMmGuTY_+q>jeWQX4n3FLbdQjjt2l8`K1M|duRvo`^XX6jyq z;qe*p<09-Y-K9`>`N36RUmtxSJkTDlGb5!$9U(4F_I8E2r-|l#s6NdxW>k z*!g|G{3uVVnlT{s2{h%8bX;omhC!R&sb?3j)Vr%V3>ov1^~o9ahm)|MF)ib@ai22! zgGUaTKLv1ssv3n7yrKl!9w(3x;RjuZM@x!@$pR7b;cNvJnqAy+sh*@5hu?e%Jw!itD@U^UnHgF;ECkggNv&ou4j|Qwg zlW?@@5p~{0#FREiWj%CYDMT+yio#>n(1Se@`d7lA-xkXLBj=t%7z*^0m-T6I)*q~? zE|fnTf~0wUV98&vZwZp(aC=*N+pZ|PYjp0aAG9rv zADjQFca7J<`_|e(&!#A4KkZY$qh><^yfOl!e&!9tZ3{*0n1>i>9uoUgc%N5y@t?M` z`W+{q6r!HbjmQh6_Qre6~SijbIt0;V?ZRwCdVcNgQ zl(nZ?Dt!GIy60}>)u-rx%S`oV^wjS4ge1@zdGb;@PeaF9TkjX2_O5Q+0yDjxLZ)4) z;X5B*Cn~chTRp!OL?|6Z{t6O0-NsB-(-68g-Qf=lTBEt8%;)3A1Ax5HT^B;>4FfF| zZrgtnT}!SUAC1-SS=CL83^J)L!oC}p^N(5Uw=)DhQ*u%nZng#fqnlYP7DRUSmF9L! zv?HYgt5Ug{q_VV&TAC-iCMt7WQO?&^cHH}YyT%Y&L;m6`M-l-_f7*>loVF& z_rI<2N3Y*fSQJUJZTzESxWx9GHD{4` z2$N$U(@u7Qx%3mBzI;_Bmx0cI16k~V$N2DZt3nDbN1~M1q1A^`BFfJ}iX>fb3?G!V zJn)(!zK(H7yLmVXx>0wOPx^ttr!>To14mbCi;|UsUYiB~SA5F!Uppp9s6Tub^XOQ9 zq)dd{t+;{Jj(_ou|45<(euZVFN4ksTR%W`*MtQXU_#DRIILNe{G-P8Dh97yH9u-sMy70z$>>mKn#ulnqF0YjMYIA5&94EB(DpO#0<-jx@vkCRrU{;uwr-UlMl$v|g{QZ`jkBXa$`M%k-h?sn$nve993rEqTL}bjIu_yP-p1oo)iLCaJnST5V?)F*Z)JJTLIgopfdTB1t( z$vkK}e7u=waXIiz(X-)wc}HPef1a;id4}v?18*th@d_6oLQdJ=m|j@=zIX z2x8w~#!LDPEwc*doBxnsqt`JD0*p;Q5csr>zM|Jm6Pfq2vIn{mVugV(Y66fO9^cjj zr}O>Y7=weSTIQ~z9SVb2759coD)TOCsvZyJ5#1gL@#L0K`uRLzQRP66`3uNU!uuN{ zTn2z_&^8jC24;pI6(VF&{D+ks1$-iX+Lm?oPl8jPK7Jyuoua+ZTTm`|Rgeu9?HRFN zAE|1}N2W(rIag2lfRU^XS9Kpp1P74ysA3#I4(;|?3=2Ch&6(ql z4>LDpcT@>2`ILxnwY_1>*_ms>+iXdws02N=P{G#jlD{F~1(|RU@94ii_-ASe}yJ) ziEpfIgjI$VIM~p({u;8BR(kmwehI8YUF8^%s3{;x12g*nT4nJoBwfu%!Qk^unL9MX zk30}XuYW^&5LNF4XXTatRF2p%75}g@&-pkaE5is6YR)PkJ@sdBX zNRucZ(V9)0^R)=x0xz1jlU@3uly5aOxA{LA$v*sRpRQsf2zQnCR0c}DG#!MUMQMn2e1rl^K^1qe zyo6*`!j`9l4b22bN?I;ZAIM27+QJ_k?~_b6a=8!rhq|U(P&!OTOKY655NdQrrh+V;Wbt#>y@dF$@j)e)Kl~!WQ2dT#CIlq91z2oZ`vPh zGt*?eNXU-eboa(h{L*b;%bCq-Z#fMe3lP7A$1RbE9ug^c$lSq=E#Zh*U3w4qMmk9_ zDYNbJ?(x1HLs+bS zK@qkIXK3M{!wA%ki|r)7@=V>wnzA}_DBKgf?^n8*8tpS(__9U!>TCA9AFJ1QksBuO zgdLw!~1>8k`<;D%2P`~J1;;(J!XSAHovIt_0*-U1Qpxbbv)>cx#J%Y0^J(^X= zRN7_JeoGbqGripp%9jcd=XxHk@>+VAPgkdj=Ct@QrWLIqWS^ z^plHbq6X)xPxezQA4{l7#CqtGSc)Ajt5T%Vhd2mCGVMyej=|x%#bfP@C-^m>3Z?oF zKm7G3{tdx*c~Zu)vN?Z4{E!(C|H7&N9etM)e=e5$ZLGIJY56^cCdS1{_-UXVEM-FP zhlK`kBI1oARU+a)EM4ejcj49{6yNqw*8IOh^`o{QxBiBhpi5Un#T4Zq!@<>FfAlIWFfBA!Mw z9apO!8$=t(MRh#<#`I(DeyE9X3A>fP3ye4qkyGKlwPzuUaHwghM%S-(HwGEfYp8iY zQ3+9Jli=x;k;kX-oz}kOHa1;AydJd)BC-mdlM2gxtfS8%q>^2^e^WTtH$jd$_gHNG zJgUHJUT>VHZHm6p?w4p@s%OcU{o_h~$ZN-U6wbpx&B)v0Vk8ZsnvCuRlfON1wZ3$inXZbvS25c zOSO+mI#pld$@Y0p#7LZcr~8l;2R7BmTj9?eLsjn4`~q-aH)ta`c$W|!1ALgQ9i%W% zni~wQ?7dEBwSN+;71P8)GP_o=N&%7T}?#MAPb6(}T ziA^6x!^mr{6z<;D`_^P-WQ`YHaWc;&X$9Us?)vRh*Gtv4M@tbB1R?GuO8Xq2^&=nO z(2lrkK$>E{D0OT>wU<)=Q1ZuF{^_mxh0X_g32OO9WLo&l$)H7FsgW^=P@EFfU($V< zrrR<8_Id?spWl4AYq&l$LXgsWsbcF%-#w86++}O#XN-mhKlaG;WjoP@rOe3Aitbue zZ*|9r^}6mF>lKDQ8##1HJuo->tV+AJ;O^iWj>UruznrdSUlR*b}y!Sst zpK@(?76A=9i0`7DTY%A^gZAaQYfUIAKibVO_T>rq*g(>KpFn5yn7$7>I`Ey?SlOCY zPD5VieM##ONz>R>%FoDl`jX3@Q3&=JK@0z>H}%#0Ss}O7pKLrnF;4~*wF;q=^ZdPL zixq?JnHH``U)by%3e63v_<}4%>0sh_E67|5qkRn8QYi)&fS?74Mo-_sF6PW$kkkK|zL!>gslYu@*=6vsKzl=u$ME35Cz zsIt4*{pK(9vR7#S7C9wl&meBqkSJxF?4`#yqaBz|JYE8W$%{@0A`~6%Z~t(9nBmOm z+|&4Brl$=8)lmg~g>~mk<37%K6SN{dQ}6RcOek-rFuo1+7!dnL$5ov@Ew_%DtGx?; zJi8!K+B~G4Q6n*73VhU~$>vYU)NH@fVCj`-`%_<)BH8+R5aI6i7b|LK9MaoS9;I<3 z`FqgiUzakU4f}s>P%H#RTy5SM54-}k#!c@_rR{Mubr!T;u6jfNFOCGUdKs<5ICzY2 zeVbtT1+oi9w!}cnBw{D>2Upep4vC!XT0S9O8JQR3#q`#%Vz&S8C6vKmFqnj&!l+F9 z@jp9?p!jsED9ZFKoODOl*^Lhv5zHRlOyNT<0CB=qEeh#hakD}^Ai%eDDa>-8N%>-864re)oIkC_NP`g{!* zO5YoGSTlP-kZ2^}kkIwv84d#jo&6!d| z4blkCnf89A1L~ea`HB5O+)U4$FEYe)SXx-AdUtG)(w#*m^C@qGpORjvAIKpFBH_1S za{Ux{tQAEDN0pj*vDO9Nt&3m{A()62CH^7<62Y!>n0{bXjup#;r74T;r>73wZ{%4D z3BbL~f_T!;`8s81_slrF!w&8{$Sk+RZgty}B&pXyXX#U<^w%C*2F`GS62=y<4TxGk zogy#pNzzJR_x?N`9bLVk@$LcmZFDGdJ=#Scr=2&(Ma`*U zNG<4)miKED{CmFHJIroc6?8bq2?h^If`b=OIUh!SU9RKp_*hIvl~*{ZMF}u{&H&w-T*P~i#CpN?-&o_3l z_?L03+~1Iw>PDrqgy=WCMOL8-oPJf{QY=h(w{p%B1dy923>As?#Rf=fVR3q~)D>SS z6^e*K%#{!%A5eg?yGsnko&z!r!1&fYFv0USV}E& zPZE3(qy zgm^FM03>l{B&08{;{xA>w>M|UcJ~o4f8MhoNeX8Zs-Tnr;$P&k7I*HV&7SACo?GsU zr3Lq~#(h5-)t70Ecnv!$BapEl-veTn#HrN-X_#Al-_)qgf{PkevXUcv5oe{83GC61 z95p!Y_C};#3R@jq6*SD2%Kk<{TZuT)xX$yeEom`8(?w}Jm9${|$lb=3-c*_CyV^QQ z1AcHqIz6T>QY`IhEW1rYpB{+0(UOC@S`_+IgsLNnw&RBxdPO{h*m9$VD`MpFJy=F? zprJLq-s@@0isP(l4@qKE5{kK*2w9w79p*f@DQder!Owq~L;98dID!ghN;#eMXEKco zk7vHqhpFUv*df=h;s@PAqOv`GRn`-^zH(9Y)^R2*R4mQ?t?{E*2Gh)ib0N5!eKuri5O1Gik z4AE;CFDc9WCGh&7Ac=O7U9A_U!y~xwAczgDv-rJ=1p0V6DtIMe%?W0a%ORkR@qhfM zRT1(8+XK{?+YHu!L;PtlJiaEpCJH@cbA&hjj(CI`F4jPGdBeqmrgh`pb*SWTk0n%8vnph1y(G^NOXzx1nv2Ro8UaqaLS+vV;ha;BKsFROfGI`r2`h=9upf zj40%kLhw;L)2k~|3B9DmvpzxL18_N)q1htB zZcM=8;Ai5}n8ebWA^_&L?0S5@*6(r7vdJ~kNtchi^S$Qv$4W4qmVV4xPUjBJUQUMq zm$N}I4N&H#4Bi|x^>K$F9lE)O2qWfDpy7I3m8$MFabiFsBZZXBzZTMaoY?~wQoc5G z(xvR@`c*26W@|cHYl`X)_KvSY_@6~mbFwQ1%ELo66d}4F)yFrJ^U`{zR2dS7 zi4*+`sYRQco74ZQ8&M?j=F=A;COT{T{J9EQjLgX1(UL*rY8Ra6;^XBUsXb!a^J-JW&-kaFwDPL<&ybgay@U$#%A#iL1JaeFKBy)& zB=1Fx)Jr8(lwsiXRCCyMR{+*!?`OQQJ+fl}_PxP3uD6Rf@MaDN(y`R2jGr}Ao)1jS zx=;%Wn-Xl!p-NDE%9+iUoU5??Lme&ZrJ7qeRqrgZzyCZpl;8ivH=Y&<>tstn9}YJ< zO*8#)=)&)#RO0s^#EGiAT1>A(X6QGrn&ah!Ea9y=7-(PNLiN5Bem)@de`W{mdT%9O=Tp#MK*E#I!f_upiren&Xo zt54>CV-xZ``CUkSw%@!K!s=y!Y|8Zqh&z`BT4Fii;&alvs=pG->y;wTrm}7x9tnX3 zfXOc^&A0;QZ|C)1p|MA9STo z~RmqO~f= z3y4gk_TFnvuEpqV=*TFkTiQ(HPel(eW#TDh8S4I1Wjx9I$v}fDdPuMzn`Ch3K zR&l?)fDnn`tY)Fcg^?pMfQVTJTEU3&mr3i?pAa{-7)WU`>-#}%2|xcdMq0vu4YQmN ziFYG7EY!`m=hCn}DWe}55?B|nDpLm~DE^czy@WRgk@-nv6T|+;0bft}KbSMbP*xmI zNdDDWHoreIOM|2TY$%Km9zZ)2O_C5x;Dr{v*Ye@`UexEfnfcC2hMQRrmr#oXnMMN& z*69(1`(NE9PDQ{d`IJxV74bO?4G5i83w4C}u@$p8NgFexehTo?{3f9Ral)_@{i??C{_MviBIb$U!=W=$`XJB z)rB8mX#Kh&-qRS-*h)aB4rPF|O^&7BGnYm8TjwFzMlnWY(bG{S!o8#!odT0@)E%Wa zNW*9ukH=a_%L`=rx95^u_v=>-w<;Q9O(dq&-`VyF74yC4lOm})JEOu;#?rsix}dCq zU+#hOy1b<6ZdvCVlEltuu|((5jjL}%3H>nxv~J?%-{t$;_AK(?PzM1%**jjwQ|ELn z4N+PVR*{NxeIBQ5mDyxHO@r&@-5luWpA1bE3;kNoFZ5%nY-Z_0+F$gRI|o45du2ab zi2Bcai0Pv3J5%H52RTY>y9PzRr?1JlE|`-v_Zaq7Z`ON3TR;nq$RM9{&r`>Cu7VEaEExw7s27 zSZC|a*(C*(naPfRrTXn?Vablbcd=a*iV(MC(3z+q?;-H7H(XCpIJ%hj7R*$IGn-IaK$H;^kHX3JUU@lZB2K%!V{&T+6g zNL89Vx5S>cT0|oZ!mO6j?8m#eD10uXtWnbvAQZYu^#L!Mq9i-|a%K8wca!jf7UP}c zrfQXTN($=_5p57p_UWDFw<{_09djZygrh&G-vP$qh9L_+tS3O!zRzD8^BhiMqFz@! z)_wJJ+Yat^$@bKooGoLPwb`dd?W*2EK(lc5nwyY_)A1=R>c&4y54LAvU2p`g( zVcZWok9qKhUo1|f-Ko3d_Z(q6-1xLSZkhHO3V%*NJ&n=0^v44773)qw%_9*~KQUi;v!si|>Y^a~d_3wk|zM4z#H*dC_ zfo*aAhnZ6d@s-+tJidW^phu?!z!fL?JRl~t%?hIbQ5fNfP+e7*sO6V>l3bX%w5a~W zk(aT4K*E}RgL0gmvW;^~>4sr3E}=Nfc{Vh!N=YbDGWIKpqTrkj=t+$smz6$!3gEc> z>u<=fIjzg>(Q~k8Zq;P{9xW=$Ch{MLW6qPX7b1QI$Ug_1SEsLdxNt3MhX01hkEX_e)J#}GWFoW-;iND_))HgH}hYP9tAg@v<`MK zroKMBkwo8Tcss_|6I=G^hD*g=S&HMKob2s6(ez`(gILu!v-Q$%t>USo1qhj&=#lNi zb1?1Wtk@C^{C~CgRY7re-L_58;317$5+Jy{HiY28g40-nH^E&SNFYFQ@X0Ft9I4iwQB9Ldd)TG7-N?FMkVh0lvNDCh7#Og zFY~n zd_RX!+PjISvX@F5V!;53tUW*g?P3EUN#J{B$84<0OY&(`X-9~hZe*4D>{I0buj~42 zivM%{U-3PQ*E}kD((RCRr%ufDquVSeCl}o!-CkvE9c@l(K2401BzxT@`f=0lDt$P& zo3Xk=ZB;7g(BSL2$2B2l6g=iBw_Sh-Y}`GwzVUWCakHF#0kq#yr1cw0k;kJtQS0nU zuvG1?X{CS2LOO}#;aYucN#;Zv>vOyl_UcR>fHEurWcudZfGUPxba}v3QnSy{x)0>z z9#&dhRlCEt!CaYMs2%9xZcvI_f3JFuALw$?`Iy;o(#;>L5;}a12e0j6s(daK$ybbp z??TPh&?|#+);`j+#5CdP<{xn1rBj!PJbC!dB2;JYr)%sb@xO$VmVh2A<6W;qgDJV1 z^x3iP@^{k|R~V%nuO3SdgVVbfG%$yts4^sBuKQi|$_-ln)dy*ZZ@1&ApZ4E9@cHE= zW^rDw0ko45FuGM~n><_8dj*UH`P3;6TFKk&jVpuiLO~+BPV8%*9#-owcB(L0=C-dk z2ZhdC^A6y@$Bz`J0^&$ufJ71Q`&xUzLCg9Rq}o5DaK@4=s)B9{ozde5u#uck$ULU0 zQB*q6)|z@GwNrG5DHZ{W$_POivh<&`u~FZIxebZ!9Ir{KHmmZNm|28iq_}NG)EcC* z1VhUSV0Eb9CbsrWQDAo~7HRrakYBdvjlNy)j=Am1KBxVsbQZ-Ea=bKjVrgbtCrqE^ z4tNxEpA^}#P;QBB7SbP!*I8`tc7RciHgvR4yv?HvV=Z4I#gE(DUNT_;S?|=3Imk6O z00y|&lfMeFGcn9b&%W$cX2bO830t2_khxUBgjDQpX4;cvNZZ+R&O6+IOo@#1jlNe< zUQEZzBI{F*SFjVsL2`))GL#~RL1(19a2zS2{K#g?Rey8+2`c1TS4DDhPOW&Hew}z! zGQu-py8|2XQ6ff)qA}PG`py0zD~>uWtXUTUtIG zG?k^;zk^bclY}{di?+(}BlstnXGSp|-%nAkDQ`mXZHhv|H8y5~=9w9ommjoDpx~Do z%Z~+UU#OG{a&XsN=`iU-dBs|l6GomK$zV&Ojfl{rse)rv8TosU2mVbMzZQA&esp>| zz4CdgxBW`nqh%w*0n*fkqfg$cPE~t^)Q$xhLFq<_UZA5^Ni?}#te17?bzZ$II9~RR z!vz721(s8`2xY0ydMoG5A`Fi2r*4_w!PK*G?NmaE7}EJG_(UITx7 zgZEwiqgZOsP;;!TX949CPYMzixz}Bj7LU@+rRk-|eX$A}nU;)15T%mm$eSZaH zCRL9Oy{Oxh%EL@%7Cx~|Td+AdE>3|T&p5nEe>V+i&TkaAFMQHF)E`4_Q71+V;7}PF zyTm`Sv@}YG`6z=310Wle9ScK_pNzGMLN1F?;*L=dh1(08J+75*v=#P7Z0Ikn{5$xF zjK7)r`yhO#J27ZtBj2_rRg4On-%y)$3f!cNsl@t)R~*<#bUX48e)kBTJ=@9!S;4!s zfVk?6(+2)Iea)mF(rdGJ`G_8&r!+M9aW8AI{-FCN!XmBJL`JG%ZK)O9SL!e5nE`7% z>P3zL>ukZh&=s|*n$Gin(CU=;ZZU`E+I2jTAF@(-4rmt1Y9K$=kIM@JD7?xbv|f11 z#}5pXHNB~^Kcs|Mc*vtqx#ZK$ln)u+;oK$dah)v(r%~5Ua<11m%nGC#eF~jB{juYG zP(rjOO&5*wf^0>?FMbr-0J+H1Lj;7Fs4E%+Zm00JzMg*}H|3FN_nTRRs=Fgn>U=+c zg^cNtfLStf&o*36i|YC~i<-&RhLntvFZ2m)2U4?^z~b@NyA_mg1LD=Ck5|AZ*P}O; zhINcj$8!|$rA*f0NDhwkr9UQ=#phA%bd2{Mw(@O%`B+=fwfj=SQF51%VN^|Gy|ZC7 zAEln%Qw~K84-tk4puQFc-}(#;vRwG`^q5aQG=Q?ErKVD4V7LGFtFG=d!S(^NK4t`n zu5||JE+BS4R|jY(u*b^w_t)d*#*b>dBN`uJ85coENu;l1ccp2b-A^qs5aRu&k}*0V z-N1-0vzu<^@UvFO^^-W-Y{}b(z|u{lp4UhGUU~K+Vk$d@p?Wu+286jD`- z6O(FN#QEZ0+o2*yYoYL92tg!@99Q7G;!4XEKS1p5&Vb|(;*6AGJ4;iJ-cO0`{0vpc z|6LLo+<_mVh!Pc%x)j_qB@Yl{e(y)R5@oJ9LAA5i&GRYQqDlNUOC3Y%jhg3MIS`>( z$`RV7E=5k7MFiNE$pbg+JyZBEkT{SQM|~L;v~&E>hL`61a7>_7#BiCm@kSz#+8y^k zB^&?j#|0P-45|GX_VW1Ktz@pm(;#;xMqTzaX~qD8N854}74h+mpFvko6FWdLS-Bj^x3s0`;+w+2*>apGqO1458vxce6fn=yW__48f9 znX2;gN_`i0+OVauSohqL5Z{x}Jq`~lY56oiu1J&GLty^4T$y&!_%=fzcdln#WqK0( zj4^~_G*st@QOi_}M|9yU^QrW&RK7=9@jKJcAxK1m3q^5Vzi*jb{+jO6MV=Zj%Gv|v z1fy50BCAm<{FNfOp!GO4UQ@*YWRiR)c8CYkA-; zXGULq&k=ee1H%PV6B%1;{P>08U7+`JqxD-S5N*HUnd5$VE}&r#K3K0!uzy=6RHYJ~ zVA(DXByyOKq&|a&_)+;&TAFqCvR#IX)g(mXd-ETH_=gwj_z~aA%UhLJbuI979-!k- zZwx1!yB99c&)Oa-IeR*-ieyE(4EF_s$|rr@*&Rt@gTW6VxF9l$&%u=$44JrW%0N8$ z-wN%&zklcAF9!Z%;4cRLgBW0=bodpq$?nahlVr4~HMtu2JS(E0=>xO29eRTr!>K6E zqkU;SMV{*D=>~2iFA!CXT0EK! zE_}}M`_fckP0fC1eET}3Z22=Q&?v@dZLE_ScHy~abJ?!Mzkc~lIqs(l-@{AW4u543 z;IdIezdB@d+p{SLuCdHg78U@y7K;gm2cbzXqm+7$11U4G$8_K|96%D{VEO*O{BrCr z6G&7*0O8NYIlMQJQ&XeM-I4zh{;{Hh27>71-v<=uE-MtwG7aMHQg5O45@CbUU=eK8 z17G(!Ez-=x)+hzg1W8FtI#-uO6O47`@X;e_=na7qE=y7U7gU{`++;u5;rE6$0pPBo z`-KU})-}=1PAXYtzRI&c+I5aSC$KQ%C{_q?+W&KU#{}!x9+uj#&pNwes79`=($dF8sDZU}0WlXK^(tBBMXej~iu>Yy7vXw4n+gf!vlre-={J@_X z(iKA`LN>1HhXVzEmwY_tifcPT5#1E@UE#J_dXw%w(8mKaQ(7`yjbcWyiHE-=R$|pP zi_j0*aT3?!aCm((%pO)nBDa9H!}7p~HEw{0y~%(?@Z1WdP399)x*o?=vdyj#HSdis z1&HxMhFO{98q{^QB;0A_-fEY5%S&?R@2u0s(a?k9MN)^*9EU8VeLdY$;Z zMeb`YXd(eOzC3j{8N2~@%qXl)=87WX-6V@~4qIHXHN$VIxtCJtm#+O zC1f=;MTn9YRc>qk19IFpJ-x%eJC~+%)3rw31LSDPD12Gx?ZE5mRx7B=hlI}-A(AW) z7D;Ibv+%r`*ajb|5VxpFvL*_%dRr588$5g#3Oc8oM3V&f=OIWJ1;VMWs{vCH$rnhJ z5((1nb6?cFn)FE9iZofl|3Q}gqr3Qj@nz>Xs{W`^fAXr3w3BvBD!{^FD&J^2e9u0+ zp{iLiurcn0$+~~tU(5rHX02Nn$L?6O0IMhF&?i#JW4YBDW zo>92Cz*OncFheqkE<59P=f2R)aqT7a+y2j#gYXLVT7_)WPa7#6I4UADjNEre*b*M3 zxzaR%hZckVKOh-!`fxvY z>S;w&f_Yt7xHadkby5CqyfLS%6iZXx<6OksP^Dh0)X$a-*B8vWAZ_INscX(~<@1?* zR~pq6GMS5H`uw$hrE-1KSsS$~*fTo|+%&zI?8r#h{T^YXkFOfWEWTGVHK!*2It>B6 z?+s{yNd^$Gy3G>g9w(U%d=RF-0Zc^X@@HWhuS#7D@3NloZd|c7u1)Gd$mgJfpOnoM zn!hDd%$)Z_R+1`ny7HLDgoHzFJ?@qva2nT$f#V0N@Krn!COyOuBMzmSFfVnL)MvC> zyBvK3nS{EqifFq^$_3tG*IgYqJgCb4GrZ(vJZ`>M@pYK!g>-3CWT`N-$#bX(Q|y<1 z)ik@rjwkb@AZVO zX8b+{Bug^qMnM*uYWVH%r${=zy~wIF9#SHJAF5fE^W6 z6ylq+_=uNBX0H`9u-fU!$IZUiC$SfDtu}@SSr`aK0nM>NyY>P%Dhk~8jx?|2AId~V zLe^PVmtLo~#Gx5PbsZZa*jPTi5P^k#M-z zhKD1yKqT-nWc97Eby0tICn_m!zOyGRvb_|c?rIpo(E5fR<^FZq*G1?T{6SjIl%1&M z(O%{3Vr9Hq%qr_~G-os;Jq(ntoU9RTob>a0&nT;%5ksClPI_Mp`%36RH(s4}K5$+=3Th!FvpH$Zoz{^iA6Woy#<^LMv(469aUUwrNT_RN|wG z7ovTB!g1%lnc{q->&&0|Z!s0;l&BNK_*ji0YSf3D6l?beUC7km`+HxUpkg|Tm&ohdlcQz>2eA{E_)8VmG;X+AObFVn4*ZCq-IW7)Z z5$g40yN@2&=1@cEHz@jxPNYM=bKXFqExNkUM$Zq<4Hg;;cc6?rmqveoSAPezOx@M> z$oI@!*b!6S?tQkp;rULrIY1k2a;aw5{%I|))tm>`cDm0dLojN&hsvp?#d}G|gH1%| zN*xqHI;|&O2=rrG0SXM$fFgg?Fp%+>b82Lc<7`({qL3?`;K@#r*xGp>B*b2q4|%%K z=Q*jmNwc+-cT5`9J!J1~{@xuni{rIGq^W)Ar{qcy-#C8oCe{g0SxOFKa)t))yf`)0 zZ(1}P!3bq$XceClFV^R}H8XDvw@|OL#^>YzUTS!hkdm0BdlPvzO=$J*<_y5{x$NuE z9Y?Z|$_A*nTme%A){n)B^v*y*K-*f=c6IXp{;I_B@ix-KSzofW*;%wnj!B-6$Lo%5 zYesPS8XqVb1C$~2yZn{tyt&OP=>xPxb#5|7`7o#H_=6@@eCe)npjJw|Dx?}WjEP!bja z?-zxr-xW*K3VpNT}t=4eEqd;jL+ouiTVd*FkOGOodlXf z+#kt*cPAk5qVIX5_KIggbVJH`sC#(WdG`pKI{Pl=i7dCcr0zruvyXYaoa{^Ca_F=tnAu^R2 z&zlNOsy530J^fng)Jpq3o6=#*%@i%h_U8B$(^y$fLPefkREAiZqqdlL1UqwQv5@|p+tzK0ydJz@+ZbP&Qgq>sXjvf;nxn?^oz%T~ z85=XGzZSneQIUby)cbYXMaCJnO8rCMKAu)j;{CpX2_NFtuqJpFQst<=xPMiBem!p2 z)TfWed~KyeyOt~t#B&Pge88i{sSTn-)Y`8uTuN7$dX4KBhQNXGB7+P?l9d+hlvHt ziRpw53?Ag5Y;pRw?^w_s)sy$hgig^@kBbA|mgo|NY}$~msiaG}XU8<&GfKR_MxKLQ zu2W9B-3LT-JP3%=ADX9d@kpbFgf^$OCk5=FzWiX_&N)7%cLE=6uKbJC$rtD3sPnow zufk(6`e!~C!iqUNgpf|jQSvOhOFRSigtD~R*#QEe>H4vZ8u_%JZp{Ih1qq)LZ;8}> zrjJ@bU;FV5@XT_o)3cDgG_yu$F5Iks+B{KnV~{ld^Y}T-a*LOKo%3YnwqY98l-zla zrr5BR{>h2h8~rUBx-(GIM&Il~$!h3Nyl@8rBbWV)oE*)c`INb06BJzdd)&Yu&?l|IXu~G+Jt!9XZs8C19EZ3=tR`~#AhR^m#w75v?lh~XU^g4x(B+2X&m2(tQ}6q39C zKwM_yYbf$VB)IRLwpeHl>Wkxp?fUAFz7Z;td!25+6cMuh9Yjw}blM8Th`mFqPt*kec})=++l;&%tKaNuRV@Yd>kQ z-^EKV{tOf@K?@bTJM68u$sp7-ZAgL>EC`_FM>)bsA7aGD4rx!9)eNNau2$9bbgo&bv$L ztNkYW`!zoZnZEly{{0>Zc%(w>I5|1@iF0dMNzxQGBPY*5Kb|Q*Rm`S%i6)IIx=zft z%a`3WRxbSA*1asFyVKH>P}_a1D#6MaYi-Um%z}=K;~;qRwan4nM&Ng{n?^mB>`XeW zzSMT&E>n<}XZ7T1sO-4TnP9CP$imj=ymk%83Ty6&Mu5-Bb#rB*x;(<-Gu-6~(U^n9s6e3us(^(}LmH!$+fZXFLVeU%>m1Dn zwNHBb@>z^I2@hqlj>*Z-rE?vJOeGyP={G4}*-utX?6SpkR?9rPXd5 z-2n}0rJAo~eHZGc>ku(ybwzE}B1)g(lc#YuWnq4(=!#dK#&N^kPu~d8z%f>dz`lSg z&NAc2ch>a`q9u|<`r~JpbI@?hIFw_O!7Gc?-;%}U^}*s^uUSH8M&HOQwco;&LHW5m zx^pS&OxgTwLgR{kf(ee*TE{OZKy*vP5Ozr!*J=7vH$lvV6f%vkrRI-%_3N+;GcXhE zS6-ZOD84V|0pV_)H`+g+Jae!0GLdV(q^(xZq9v(YsJj9tBsxP-l@ks)SEoVMPT)2}232OiB#O0CEk< ztEN}vhwz2_THQXC79rgYci#{#s+b3?eRSuw?iijt68vSq7v6+AC;8bhL}|*C%7aiD zgsxh3N$l+D!p5#)^DHm$kH>3ng?KY&w(h-g-LAP(C5AYVvCWY#`iNS8Qq30`xY>c& zFi_X@q3#M)rA97o=S}U$qh3g}Kd;W23|BbA_C+AIr52k}P)MKuR2xAF@c>8V%W%eg z*9w}-tOF$Vk5_s)bo`T4pbdA7rs>Ta<49PAq4f_wZhj#d$Vd9Ey8BN>U42 zRWFvk)h~4}$IPW;3v@ICLG7d@1|77MUsy>vPC%6H>p}PM1dwbAjCb23-R2wZw389D z32Z@)F`VWBI*S=mi%h|MzdLMH;YpOmm2qW!%{lr~30sIpb_N9)R0Hf6<~tJ)p95i$ zvb$Qb+w9Yp5Z9$=1a}F{RKiQ9mlyvX4(?h`a4^N@#0@W|B2*|Q1J!!6L8@H|tzMdHLZy3xVq@bFrX{~MOgf7Ukv#oz{>ehzO zTsz)g&cl~0wV?WQbCq^>UT@7iSOTpA`P}{0pvmv^Y$1YO&K%h}vTaheg}F05`3AYo z=pj3cGZ)YE5jff2bRttGvR|H282zdF|{ z2!1iXBXwaf1xv5L9BiS3c8~~vph=io-2KPHIou5lDTL*#6zF4E9x4nyET|?+=EXAlU^OGz)YJ=0Qd70<%77BrR zD4vS0Rb73=a|VnoAWNUXIP^Tz*V$zsvxZlIw>ULuzF3IJq_cRNU4qIg*%zGNs2DMf zSa`R7K(}^Yx;sy8HzniwK$&<$)+1lZ4t*}!DjXlvW3P`Q1K*L50cZhiY^3e>FA>a*>MY5ktP&abZ J!3sLb{{ncip^5+i From 811e4f872838647267e80a2f86bee0c47135869e Mon Sep 17 00:00:00 2001 From: Luke Milby Date: Sun, 15 Feb 2026 12:37:32 -0500 Subject: [PATCH 02/27] add when picoclaw responsed to discord message will show its typing (#236) --- pkg/channels/discord.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/channels/discord.go b/pkg/channels/discord.go index e65c99eec..cb8014086 100644 --- a/pkg/channels/discord.go +++ b/pkg/channels/discord.go @@ -140,6 +140,12 @@ func (c *DiscordChannel) handleMessage(s *discordgo.Session, m *discordgo.Messag return } + if err := c.session.ChannelTyping(m.ChannelID); err != nil { + logger.ErrorCF("discord", "Failed to send typing indicator", map[string]any{ + "error": err.Error(), + }) + } + // 检查白名单,避免为被拒绝的用户下载附件和转录 if !c.IsAllowed(m.Author.ID) { logger.DebugCF("discord", "Message rejected by allowlist", map[string]any{ From c6c82b3c441d07a3f7a32d0e04b452e7bbdd84c0 Mon Sep 17 00:00:00 2001 From: ian <141902143+yumosx@users.noreply.github.com> Date: Mon, 16 Feb 2026 02:12:50 +0800 Subject: [PATCH 03/27] feat(skills): add validation for skill info and test cases (#231) Add validation logic for SkillInfo to ensure name and description meet requirements Include test cases covering various validation scenarios Add testify dependency for testing assertions --- go.mod | 10 +++-- go.sum | 6 +++ pkg/skills/loader.go | 45 +++++++++++++++++++++++ pkg/skills/loader_test.go | 77 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 135 insertions(+), 3 deletions(-) create mode 100644 pkg/skills/loader_test.go diff --git a/go.mod b/go.mod index 98aecd6ab..1f88639c8 100644 --- a/go.mod +++ b/go.mod @@ -15,11 +15,16 @@ require ( github.com/open-dingtalk/dingtalk-stream-sdk-go v0.9.1 github.com/openai/openai-go/v3 v3.22.0 github.com/slack-go/slack v0.17.3 + github.com/stretchr/testify v1.11.1 github.com/tencent-connect/botgo v0.2.1 golang.org/x/oauth2 v0.35.0 ) - +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) require ( github.com/andybalholm/brotli v1.2.0 // indirect @@ -28,9 +33,9 @@ require ( github.com/bytedance/sonic/loader v0.5.0 // indirect github.com/cloudwego/base64x v0.1.6 // indirect github.com/github/copilot-sdk/go v0.1.23 - github.com/google/jsonschema-go v0.4.2 // indirect github.com/go-resty/resty/v2 v2.17.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/google/jsonschema-go v0.4.2 // indirect github.com/grbit/go-json v0.11.0 // indirect github.com/klauspost/compress v1.18.4 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect @@ -47,5 +52,4 @@ require ( golang.org/x/net v0.50.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.41.0 // indirect - ) diff --git a/go.sum b/go.sum index 6a565b93e..0e95bf5cd 100644 --- a/go.sum +++ b/go.sum @@ -58,6 +58,8 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/jsonschema-go v0.4.2 h1:tmrUohrwoLZZS/P3x7ex0WAVknEkBZM46iALbcqoRA8= github.com/google/jsonschema-go v0.4.2/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -78,9 +80,11 @@ github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzh github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/larksuite/oapi-sdk-go/v3 v3.5.3 h1:xvf8Dv29kBXC5/DNDCLhHkAFW8l/0LlQJimO5Zn+JUk= github.com/larksuite/oapi-sdk-go/v3 v3.5.3/go.mod h1:ZEplY+kwuIrj/nqw5uSCINNATcH3KdxSN7y+UxYY5fI= @@ -102,6 +106,7 @@ github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsK github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/slack-go/slack v0.17.3 h1:zV5qO3Q+WJAQ/XwbGfNFrRMaJ5T/naqaonyPV/1TP4g= github.com/slack-go/slack v0.17.3/go.mod h1:X+UqOufi3LYQHDnMG1vxf0J8asC6+WllXrVrhl8/Prk= @@ -242,6 +247,7 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= diff --git a/pkg/skills/loader.go b/pkg/skills/loader.go index 1f952c1f5..0c63ae067 100644 --- a/pkg/skills/loader.go +++ b/pkg/skills/loader.go @@ -2,13 +2,22 @@ package skills import ( "encoding/json" + "errors" "fmt" + "log/slog" "os" "path/filepath" "regexp" "strings" ) +var namePattern = regexp.MustCompile(`^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$`) + +const ( + MaxNameLength = 64 + MaxDescriptionLength = 1024 +) + type SkillMetadata struct { Name string `json:"name"` Description string `json:"description"` @@ -21,6 +30,27 @@ type SkillInfo struct { Description string `json:"description"` } +func (info SkillInfo) validate() error { + var errs error + if info.Name == "" { + errs = errors.Join(errs, errors.New("name is required")) + } else { + if len(info.Name) > MaxNameLength { + errs = errors.Join(errs, fmt.Errorf("name exceeds %d characters", MaxNameLength)) + } + if !namePattern.MatchString(info.Name) { + errs = errors.Join(errs, errors.New("name must be alphanumeric with hyphens")) + } + } + + if info.Description == "" { + errs = errors.Join(errs, errors.New("description is required")) + } else if len(info.Description) > MaxDescriptionLength { + errs = errors.Join(errs, fmt.Errorf("description exceeds %d character", MaxDescriptionLength)) + } + return errs +} + type SkillsLoader struct { workspace string workspaceSkills string // workspace skills (项目级别) @@ -54,6 +84,11 @@ func (sl *SkillsLoader) ListSkills() []SkillInfo { metadata := sl.getSkillMetadata(skillFile) if metadata != nil { info.Description = metadata.Description + info.Name = metadata.Name + } + if err := info.validate(); err != nil { + slog.Warn("invalid skill from workspace", "name", info.Name, "error", err) + continue } skills = append(skills, info) } @@ -89,6 +124,11 @@ func (sl *SkillsLoader) ListSkills() []SkillInfo { metadata := sl.getSkillMetadata(skillFile) if metadata != nil { info.Description = metadata.Description + info.Name = metadata.Name + } + if err := info.validate(); err != nil { + slog.Warn("invalid skill from global", "name", info.Name, "error", err) + continue } skills = append(skills, info) } @@ -123,6 +163,11 @@ func (sl *SkillsLoader) ListSkills() []SkillInfo { metadata := sl.getSkillMetadata(skillFile) if metadata != nil { info.Description = metadata.Description + info.Name = metadata.Name + } + if err := info.validate(); err != nil { + slog.Warn("invalid skill from builtin", "name", info.Name, "error", err) + continue } skills = append(skills, info) } diff --git a/pkg/skills/loader_test.go b/pkg/skills/loader_test.go new file mode 100644 index 000000000..e0e7109cf --- /dev/null +++ b/pkg/skills/loader_test.go @@ -0,0 +1,77 @@ +package skills + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestSkillsInfoValidate(t *testing.T) { + testcases := []struct { + name string + skillName string + description string + wantErr bool + errContains []string + }{ + { + name: "valid-skill", + skillName: "valid-skill", + description: "a valid skill description", + wantErr: false, + }, + { + name: "empty-name", + skillName: "", + description: "description without name", + wantErr: true, + errContains: []string{"name is required"}, + }, + { + name: "empty-description", + skillName: "skill-without-description", + description: "", + wantErr: true, + errContains: []string{"description is required"}, + }, + { + name: "empty-both", + skillName: "", + description: "", + wantErr: true, + errContains: []string{"name is required", "description is required"}, + }, + { + name: "name-with-spaces", + skillName: "skill with spaces", + description: "invalid name with spaces", + wantErr: true, + errContains: []string{"name must be alphanumeric with hyphens"}, + }, + { + name: "name-with-underscore", + skillName: "skill_underscore", + description: "invalid name with underscore", + wantErr: true, + errContains: []string{"name must be alphanumeric with hyphens"}, + }, + } + + for _, tc := range testcases { + t.Run(tc.name, func(t *testing.T) { + info := SkillInfo{ + Name: tc.skillName, + Description: tc.description, + } + err := info.validate() + if tc.wantErr { + assert.Error(t, err) + for _, msg := range tc.errContains { + assert.ErrorContains(t, err, msg) + } + } else { + assert.NoError(t, err) + } + }) + } +} From 1d748fb742a3d3536260639622e650eb1ebb3a25 Mon Sep 17 00:00:00 2001 From: mattn Date: Mon, 16 Feb 2026 03:20:20 +0900 Subject: [PATCH 04/27] Remove duplicate file extension in DownloadFile (#230) --- pkg/utils/media.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/utils/media.go b/pkg/utils/media.go index 6345da8fc..2b184f2ec 100644 --- a/pkg/utils/media.go +++ b/pkg/utils/media.go @@ -73,9 +73,8 @@ func DownloadFile(url, filename string, opts DownloadOptions) string { } // Generate unique filename with UUID prefix to prevent conflicts - ext := filepath.Ext(filename) safeName := SanitizeFilename(filename) - localPath := filepath.Join(mediaDir, uuid.New().String()[:8]+"_"+safeName+ext) + localPath := filepath.Join(mediaDir, uuid.New().String()[:8]+"_"+safeName) // Create HTTP request req, err := http.NewRequest("GET", url, nil) From 0d18210803bf907fedac839f0a074617438fe92f Mon Sep 17 00:00:00 2001 From: Guoguo <16666742+imguoguo@users.noreply.github.com> Date: Mon, 16 Feb 2026 10:35:31 +0800 Subject: [PATCH 05/27] ci: use goreleaser to release docker and binary (#180) Signed-off-by: Guoguo --- .github/workflows/docker-build.yml | 60 ++++++++++++++---------- .github/workflows/release.yml | 73 +++++++++++++++--------------- .goreleaser.yaml | 20 +++++++- Dockerfile.goreleaser | 10 ++++ 4 files changed, 102 insertions(+), 61 deletions(-) create mode 100644 Dockerfile.goreleaser diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 90ff635da..2d1aa9ffc 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -1,12 +1,18 @@ name: 🐳 Build & Push Docker Image on: - release: - types: [published] + workflow_call: + inputs: + tag: + description: "Release tag" + required: true + type: string env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository_owner }}/picoclaw + GHCR_REGISTRY: ghcr.io + GHCR_IMAGE_NAME: ${{ github.repository_owner }}/picoclaw + DOCKERHUB_REGISTRY: docker.io + DOCKERHUB_IMAGE_NAME: ${{ vars.DOCKERHUB_REPOSITORY }} jobs: build: @@ -20,6 +26,8 @@ jobs: # ── Checkout ────────────────────────────── - name: 📥 Checkout repository uses: actions/checkout@v4 + with: + ref: ${{ inputs.tag }} # ── Docker Buildx ───────────────────────── - name: 🔧 Set up Docker Buildx @@ -27,36 +35,42 @@ jobs: # ── Login to GHCR ───────────────────────── - name: 🔑 Login to GitHub Container Registry - if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: - registry: ${{ env.REGISTRY }} + registry: ${{ env.GHCR_REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - # ── Metadata (tags & labels) ────────────── - - name: 🏷️ Extract Docker metadata - id: meta - uses: docker/metadata-action@v5 + # ── Login to Docker Hub ──────────────────── + - name: 🔑 Login to Docker Hub + uses: docker/login-action@v3 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=sha,prefix= - type=raw,value=latest,enable={{is_default_branch}} - type=raw,value={{date 'YYYYMMDD-HHmmss'}},enable={{is_default_branch}} + registry: ${{ env.DOCKERHUB_REGISTRY }} + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + # ── Metadata (tags & labels) ────────────── + - name: 🏷️ Prepare image tags + id: tags + shell: bash + run: | + tag="${{ inputs.tag }}" + echo "ghcr_tag=${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:${tag}" >> "$GITHUB_OUTPUT" + echo "ghcr_latest=${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest" >> "$GITHUB_OUTPUT" + echo "dockerhub_tag=${{ env.DOCKERHUB_REGISTRY }}/${{ env.DOCKERHUB_IMAGE_NAME }}:${tag}" >> "$GITHUB_OUTPUT" + echo "dockerhub_latest=${{ env.DOCKERHUB_REGISTRY }}/${{ env.DOCKERHUB_IMAGE_NAME }}:latest" >> "$GITHUB_OUTPUT" # ── Build & Push ────────────────────────── - name: 🚀 Build and push Docker image uses: docker/build-push-action@v6 with: context: . - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + push: true + tags: | + ${{ steps.tags.outputs.ghcr_tag }} + ${{ steps.tags.outputs.ghcr_latest }} + ${{ steps.tags.outputs.dockerhub_tag }} + ${{ steps.tags.outputs.dockerhub_latest }} cache-from: type=gha cache-to: type=gha,mode=max - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/arm64,linux/riscv64 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 59cc6caeb..f9987b35f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -38,14 +38,18 @@ jobs: git tag -a "${{ inputs.tag }}" -m "Release ${{ inputs.tag }}" git push origin "${{ inputs.tag }}" - build-binaries: - name: Build Release Binaries + release: + name: GoReleaser Release needs: create-tag runs-on: ubuntu-latest + permissions: + contents: write + packages: write steps: - name: Checkout tag uses: actions/checkout@v4 with: + fetch-depth: 0 ref: ${{ inputs.tag }} - name: Setup Go from go.mod @@ -53,47 +57,42 @@ jobs: with: go-version-file: go.mod - - name: Build all binaries - run: make build-all + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 - - name: Generate checksums - shell: bash - run: | - shasum -a 256 build/picoclaw-* > build/sha256sums.txt + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - - name: Upload release binaries artifact - uses: actions/upload-artifact@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 with: - name: picoclaw-binaries - path: | - build/picoclaw-* - build/sha256sums.txt - if-no-files-found: error + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - create-release: - name: Create GitHub Release - needs: [create-tag, build-binaries] - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - name: Download all artifacts - uses: actions/download-artifact@v4 + - name: Login to Docker Hub + uses: docker/login-action@v3 with: - path: release-artifacts + registry: docker.io + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Show downloaded files - run: ls -R release-artifacts - - - name: Create release - uses: softprops/action-gh-release@v2 + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v6 with: - tag_name: ${{ inputs.tag }} - name: ${{ inputs.tag }} - draft: ${{ inputs.draft }} - prerelease: ${{ inputs.prerelease }} - files: | - release-artifacts/**/* - generate_release_notes: true + distribution: goreleaser + version: ~> v2 + args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_REPOSITORY_OWNER: ${{ github.repository_owner }} + DOCKERHUB_IMAGE_NAME: ${{ vars.DOCKERHUB_REPOSITORY }} + + - name: Apply release flags + shell: bash + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release edit "${{ inputs.tag }}" \ + --draft=${{ inputs.draft }} \ + --prerelease=${{ inputs.prerelease }} diff --git a/.goreleaser.yaml b/.goreleaser.yaml index a2c158331..9f4cedc8c 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -5,9 +5,11 @@ version: 2 before: hooks: - go mod tidy + - go generate ./cmd/picoclaw builds: - - env: + - id: picoclaw + env: - CGO_ENABLED=0 goos: - linux @@ -26,6 +28,22 @@ builds: - goos: windows goarch: arm +dockers_v2: + - id: picoclaw + dockerfile: Dockerfile.goreleaser + ids: + - picoclaw + images: + - "ghcr.io/{{ .Env.GITHUB_REPOSITORY_OWNER }}/picoclaw" + - "docker.io/{{ .Env.DOCKERHUB_IMAGE_NAME }}" + tags: + - "{{ .Tag }}" + - "latest" + platforms: + - linux/amd64 + - linux/arm64 + - linux/riscv64 + archives: - formats: [tar.gz] # this name template makes the OS and Arch compatible with the results of `uname`. diff --git a/Dockerfile.goreleaser b/Dockerfile.goreleaser new file mode 100644 index 000000000..0cdc8c6bd --- /dev/null +++ b/Dockerfile.goreleaser @@ -0,0 +1,10 @@ +FROM alpine:3.21 + +ARG TARGETPLATFORM + +RUN apk add --no-cache ca-certificates tzdata + +COPY $TARGETPLATFORM/picoclaw /usr/local/bin/picoclaw + +ENTRYPOINT ["picoclaw"] +CMD ["gateway"] From cd638fff6c946f6e92746e6e3922efe8e73fa5a2 Mon Sep 17 00:00:00 2001 From: trungtt6 <74585678+trungtt6@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:28:38 +0800 Subject: [PATCH 06/27] Add local AI ollama for security purpose (#226) Co-authored-by: PhotoPortfolio Developer --- config/config.example.json | 4 ++++ pkg/config/config.go | 1 + pkg/providers/http_provider.go | 14 +++++++++++--- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/config/config.example.json b/config/config.example.json index aa75c8338..3c9158e9c 100644 --- a/config/config.example.json +++ b/config/config.example.json @@ -107,6 +107,10 @@ "moonshot": { "api_key": "sk-xxx", "api_base": "" + }, + "ollama": { + "api_key": "", + "api_base": "http://localhost:11434/v1" } }, "tools": { diff --git a/pkg/config/config.go b/pkg/config/config.go index d76ec8095..da33748d0 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -175,6 +175,7 @@ type ProvidersConfig struct { VLLM ProviderConfig `json:"vllm"` Gemini ProviderConfig `json:"gemini"` Nvidia ProviderConfig `json:"nvidia"` + Ollama ProviderConfig `json:"ollama"` Moonshot ProviderConfig `json:"moonshot"` ShengSuanYun ProviderConfig `json:"shengsuanyun"` DeepSeek ProviderConfig `json:"deepseek"` diff --git a/pkg/providers/http_provider.go b/pkg/providers/http_provider.go index 17eb6214c..60294c451 100644 --- a/pkg/providers/http_provider.go +++ b/pkg/providers/http_provider.go @@ -53,10 +53,10 @@ func (p *HTTPProvider) Chat(ctx context.Context, messages []Message, tools []Too return nil, fmt.Errorf("API base not configured") } - // Strip provider prefix from model name (e.g., moonshot/kimi-k2.5 -> kimi-k2.5) + // Strip provider prefix from model name (e.g., moonshot/kimi-k2.5 -> kimi-k2.5, groq/openai/gpt-oss-120b -> openai/gpt-oss-120b, ollama/qwen2.5:14b -> qwen2.5:14b) if idx := strings.Index(model, "/"); idx != -1 { prefix := model[:idx] - if prefix == "moonshot" || prefix == "nvidia" { + if prefix == "moonshot" || prefix == "nvidia" || prefix == "groq" || prefix == "ollama" { model = model[idx+1:] } } @@ -400,7 +400,15 @@ func CreateProvider(cfg *config.Config) (LLMProvider, error) { if apiBase == "" { apiBase = "https://integrate.api.nvidia.com/v1" } - + case (strings.Contains(lowerModel, "ollama") || strings.HasPrefix(model, "ollama/")) && cfg.Providers.Ollama.APIKey != "": + fmt.Println("Ollama provider selected based on model name prefix") + apiKey = cfg.Providers.Ollama.APIKey + apiBase = cfg.Providers.Ollama.APIBase + proxy = cfg.Providers.Ollama.Proxy + if apiBase == "" { + apiBase = "http://localhost:11434/v1" + } + fmt.Println("Ollama apiBase:", apiBase) case cfg.Providers.VLLM.APIBase != "": apiKey = cfg.Providers.VLLM.APIKey apiBase = cfg.Providers.VLLM.APIBase From a5503aea36a5c4c7b9d51e42a6cc984a69b3c5a6 Mon Sep 17 00:00:00 2001 From: Guoguo <16666742+imguoguo@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:29:04 +0800 Subject: [PATCH 07/27] build: temporary disable UPX compression (#257) Signed-off-by: Guoguo --- .goreleaser.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 9f4cedc8c..368a0f06b 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -66,10 +66,10 @@ changelog: - "^docs:" - "^test:" -upx: - - enabled: true - compress: best - lzma: true +# upx: +# - enabled: true +# compress: best +# lzma: true release: footer: >- From e77b0a6755587d200db8980c6ee37b93be5bab62 Mon Sep 17 00:00:00 2001 From: Leandro Barbosa Date: Mon, 16 Feb 2026 00:40:17 -0300 Subject: [PATCH 08/27] feat: add Codex CLI provider for subprocess integration (#80) * feat: add Codex CLI provider for OpenAI subprocess integration Add CodexCliProvider that wraps `codex exec --json` as a subprocess, analogous to the existing ClaudeCliProvider pattern. This enables using OpenAI's Codex CLI tool as a local LLM backend. - CodexCliProvider: subprocess wrapper parsing JSONL event stream - Credential reader for ~/.codex/auth.json with token expiry detection - Factory integration: provider "codex-cli" and auth_method "codex-cli" - Fix tilde expansion in workspace path for CLI providers - 37 unit tests covering parsing, prompt building, credentials, and mocks * fix: add tool call extraction to Codex CLI provider - Extract shared tool call parsing into tool_call_extract.go (extractToolCallsFromText, stripToolCallsFromText, findMatchingBrace) - Both ClaudeCliProvider and CodexCliProvider now share the same tool call extraction logic for PicoClaw-specific tools - Fix cache token accounting: include cached_input_tokens in total - Add 2 new tests for tool call extraction from JSONL events - Update existing tests for corrected token calculations * fix(docker): update Go version to match go.mod requirement Dockerfile used golang:1.24-alpine but go.mod requires go >= 1.25.7. This caused Docker builds to fail on all branches with: "go: go.mod requires go >= 1.25.7 (running go 1.24.13)" Update to golang:1.25-alpine to match the project requirement. * fix: handle codex CLI stderr noise without losing valid stdout Codex writes diagnostic messages to stderr (e.g. rollout errors) which cause non-zero exit codes even when valid JSONL output exists on stdout. Parse stdout first before checking exit code to avoid false errors. * style: fix gofmt formatting and update web search API in tests - Remove trailing whitespace in web.go and base_test.go - Update config_test.go and web_test.go for WebSearchToolOptions API --- pkg/providers/claude_cli_provider.go | 62 +-- pkg/providers/codex_cli_credentials.go | 79 +++ pkg/providers/codex_cli_credentials_test.go | 181 ++++++ pkg/providers/codex_cli_provider.go | 251 +++++++++ pkg/providers/codex_cli_provider_test.go | 585 ++++++++++++++++++++ pkg/providers/http_provider.go | 11 +- pkg/providers/tool_call_extract.go | 72 +++ pkg/tools/web_test.go | 16 +- 8 files changed, 1192 insertions(+), 65 deletions(-) create mode 100644 pkg/providers/codex_cli_credentials.go create mode 100644 pkg/providers/codex_cli_credentials_test.go create mode 100644 pkg/providers/codex_cli_provider.go create mode 100644 pkg/providers/codex_cli_provider_test.go create mode 100644 pkg/providers/tool_call_extract.go diff --git a/pkg/providers/claude_cli_provider.go b/pkg/providers/claude_cli_provider.go index a91795715..58ba3647d 100644 --- a/pkg/providers/claude_cli_provider.go +++ b/pkg/providers/claude_cli_provider.go @@ -171,68 +171,14 @@ func (p *ClaudeCliProvider) parseClaudeCliResponse(output string) (*LLMResponse, }, nil } -// extractToolCalls parses tool call JSON from the response text. +// extractToolCalls delegates to the shared extractToolCallsFromText function. func (p *ClaudeCliProvider) extractToolCalls(text string) []ToolCall { - start := strings.Index(text, `{"tool_calls"`) - if start == -1 { - return nil - } - - end := findMatchingBrace(text, start) - if end == start { - return nil - } - - jsonStr := text[start:end] - - var wrapper struct { - ToolCalls []struct { - ID string `json:"id"` - Type string `json:"type"` - Function struct { - Name string `json:"name"` - Arguments string `json:"arguments"` - } `json:"function"` - } `json:"tool_calls"` - } - - if err := json.Unmarshal([]byte(jsonStr), &wrapper); err != nil { - return nil - } - - var result []ToolCall - for _, tc := range wrapper.ToolCalls { - var args map[string]interface{} - json.Unmarshal([]byte(tc.Function.Arguments), &args) - - result = append(result, ToolCall{ - ID: tc.ID, - Type: tc.Type, - Name: tc.Function.Name, - Arguments: args, - Function: &FunctionCall{ - Name: tc.Function.Name, - Arguments: tc.Function.Arguments, - }, - }) - } - - return result + return extractToolCallsFromText(text) } -// stripToolCallsJSON removes tool call JSON from response text. +// stripToolCallsJSON delegates to the shared stripToolCallsFromText function. func (p *ClaudeCliProvider) stripToolCallsJSON(text string) string { - start := strings.Index(text, `{"tool_calls"`) - if start == -1 { - return text - } - - end := findMatchingBrace(text, start) - if end == start { - return text - } - - return strings.TrimSpace(text[:start] + text[end:]) + return stripToolCallsFromText(text) } // findMatchingBrace finds the index after the closing brace matching the opening brace at pos. diff --git a/pkg/providers/codex_cli_credentials.go b/pkg/providers/codex_cli_credentials.go new file mode 100644 index 000000000..7ad39ce8e --- /dev/null +++ b/pkg/providers/codex_cli_credentials.go @@ -0,0 +1,79 @@ +package providers + +import ( + "encoding/json" + "fmt" + "os" + "path/filepath" + "time" +) + +// CodexCliAuth represents the ~/.codex/auth.json file structure. +type CodexCliAuth struct { + Tokens struct { + AccessToken string `json:"access_token"` + RefreshToken string `json:"refresh_token"` + AccountID string `json:"account_id"` + } `json:"tokens"` +} + +// ReadCodexCliCredentials reads OAuth tokens from the Codex CLI's auth.json file. +// Expiry is estimated as file modification time + 1 hour (same approach as moltbot). +func ReadCodexCliCredentials() (accessToken, accountID string, expiresAt time.Time, err error) { + authPath, err := resolveCodexAuthPath() + if err != nil { + return "", "", time.Time{}, err + } + + data, err := os.ReadFile(authPath) + if err != nil { + return "", "", time.Time{}, fmt.Errorf("reading %s: %w", authPath, err) + } + + var auth CodexCliAuth + if err := json.Unmarshal(data, &auth); err != nil { + return "", "", time.Time{}, fmt.Errorf("parsing %s: %w", authPath, err) + } + + if auth.Tokens.AccessToken == "" { + return "", "", time.Time{}, fmt.Errorf("no access_token in %s", authPath) + } + + stat, err := os.Stat(authPath) + if err != nil { + expiresAt = time.Now().Add(time.Hour) + } else { + expiresAt = stat.ModTime().Add(time.Hour) + } + + return auth.Tokens.AccessToken, auth.Tokens.AccountID, expiresAt, nil +} + +// CreateCodexCliTokenSource creates a token source that reads from ~/.codex/auth.json. +// This allows the existing CodexProvider to reuse Codex CLI credentials. +func CreateCodexCliTokenSource() func() (string, string, error) { + return func() (string, string, error) { + token, accountID, expiresAt, err := ReadCodexCliCredentials() + if err != nil { + return "", "", fmt.Errorf("reading codex cli credentials: %w", err) + } + + if time.Now().After(expiresAt) { + return "", "", fmt.Errorf("codex cli credentials expired (auth.json last modified > 1h ago). Run: codex login") + } + + return token, accountID, nil + } +} + +func resolveCodexAuthPath() (string, error) { + codexHome := os.Getenv("CODEX_HOME") + if codexHome == "" { + home, err := os.UserHomeDir() + if err != nil { + return "", fmt.Errorf("getting home dir: %w", err) + } + codexHome = filepath.Join(home, ".codex") + } + return filepath.Join(codexHome, "auth.json"), nil +} diff --git a/pkg/providers/codex_cli_credentials_test.go b/pkg/providers/codex_cli_credentials_test.go new file mode 100644 index 000000000..3267f2d16 --- /dev/null +++ b/pkg/providers/codex_cli_credentials_test.go @@ -0,0 +1,181 @@ +package providers + +import ( + "os" + "path/filepath" + "testing" + "time" +) + +func TestReadCodexCliCredentials_Valid(t *testing.T) { + tmpDir := t.TempDir() + authPath := filepath.Join(tmpDir, "auth.json") + + authJSON := `{ + "tokens": { + "access_token": "test-access-token", + "refresh_token": "test-refresh-token", + "account_id": "org-test123" + } + }` + if err := os.WriteFile(authPath, []byte(authJSON), 0600); err != nil { + t.Fatal(err) + } + + t.Setenv("CODEX_HOME", tmpDir) + + token, accountID, expiresAt, err := ReadCodexCliCredentials() + if err != nil { + t.Fatalf("ReadCodexCliCredentials() error: %v", err) + } + if token != "test-access-token" { + t.Errorf("token = %q, want %q", token, "test-access-token") + } + if accountID != "org-test123" { + t.Errorf("accountID = %q, want %q", accountID, "org-test123") + } + // Expiry should be within ~1 hour from now (file was just written) + if expiresAt.Before(time.Now()) { + t.Errorf("expiresAt = %v, should be in the future", expiresAt) + } + if expiresAt.After(time.Now().Add(2 * time.Hour)) { + t.Errorf("expiresAt = %v, should be within ~1 hour", expiresAt) + } +} + +func TestReadCodexCliCredentials_MissingFile(t *testing.T) { + tmpDir := t.TempDir() + t.Setenv("CODEX_HOME", tmpDir) + + _, _, _, err := ReadCodexCliCredentials() + if err == nil { + t.Fatal("expected error for missing auth.json") + } +} + +func TestReadCodexCliCredentials_EmptyToken(t *testing.T) { + tmpDir := t.TempDir() + authPath := filepath.Join(tmpDir, "auth.json") + + authJSON := `{"tokens": {"access_token": "", "refresh_token": "r", "account_id": "a"}}` + if err := os.WriteFile(authPath, []byte(authJSON), 0600); err != nil { + t.Fatal(err) + } + + t.Setenv("CODEX_HOME", tmpDir) + + _, _, _, err := ReadCodexCliCredentials() + if err == nil { + t.Fatal("expected error for empty access_token") + } +} + +func TestReadCodexCliCredentials_InvalidJSON(t *testing.T) { + tmpDir := t.TempDir() + authPath := filepath.Join(tmpDir, "auth.json") + + if err := os.WriteFile(authPath, []byte("not json"), 0600); err != nil { + t.Fatal(err) + } + + t.Setenv("CODEX_HOME", tmpDir) + + _, _, _, err := ReadCodexCliCredentials() + if err == nil { + t.Fatal("expected error for invalid JSON") + } +} + +func TestReadCodexCliCredentials_NoAccountID(t *testing.T) { + tmpDir := t.TempDir() + authPath := filepath.Join(tmpDir, "auth.json") + + authJSON := `{"tokens": {"access_token": "tok123", "refresh_token": "ref456"}}` + if err := os.WriteFile(authPath, []byte(authJSON), 0600); err != nil { + t.Fatal(err) + } + + t.Setenv("CODEX_HOME", tmpDir) + + token, accountID, _, err := ReadCodexCliCredentials() + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if token != "tok123" { + t.Errorf("token = %q, want %q", token, "tok123") + } + if accountID != "" { + t.Errorf("accountID = %q, want empty", accountID) + } +} + +func TestReadCodexCliCredentials_CodexHomeEnv(t *testing.T) { + tmpDir := t.TempDir() + customDir := filepath.Join(tmpDir, "custom-codex") + if err := os.MkdirAll(customDir, 0755); err != nil { + t.Fatal(err) + } + + authJSON := `{"tokens": {"access_token": "custom-token", "refresh_token": "r"}}` + if err := os.WriteFile(filepath.Join(customDir, "auth.json"), []byte(authJSON), 0600); err != nil { + t.Fatal(err) + } + + t.Setenv("CODEX_HOME", customDir) + + token, _, _, err := ReadCodexCliCredentials() + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if token != "custom-token" { + t.Errorf("token = %q, want %q", token, "custom-token") + } +} + +func TestCreateCodexCliTokenSource_Valid(t *testing.T) { + tmpDir := t.TempDir() + authPath := filepath.Join(tmpDir, "auth.json") + + authJSON := `{"tokens": {"access_token": "fresh-token", "refresh_token": "r", "account_id": "acc"}}` + if err := os.WriteFile(authPath, []byte(authJSON), 0600); err != nil { + t.Fatal(err) + } + + t.Setenv("CODEX_HOME", tmpDir) + + source := CreateCodexCliTokenSource() + token, accountID, err := source() + if err != nil { + t.Fatalf("token source error: %v", err) + } + if token != "fresh-token" { + t.Errorf("token = %q, want %q", token, "fresh-token") + } + if accountID != "acc" { + t.Errorf("accountID = %q, want %q", accountID, "acc") + } +} + +func TestCreateCodexCliTokenSource_Expired(t *testing.T) { + tmpDir := t.TempDir() + authPath := filepath.Join(tmpDir, "auth.json") + + authJSON := `{"tokens": {"access_token": "old-token", "refresh_token": "r"}}` + if err := os.WriteFile(authPath, []byte(authJSON), 0600); err != nil { + t.Fatal(err) + } + + // Set file modification time to 2 hours ago + oldTime := time.Now().Add(-2 * time.Hour) + if err := os.Chtimes(authPath, oldTime, oldTime); err != nil { + t.Fatal(err) + } + + t.Setenv("CODEX_HOME", tmpDir) + + source := CreateCodexCliTokenSource() + _, _, err := source() + if err == nil { + t.Fatal("expected error for expired credentials") + } +} diff --git a/pkg/providers/codex_cli_provider.go b/pkg/providers/codex_cli_provider.go new file mode 100644 index 000000000..8886406b4 --- /dev/null +++ b/pkg/providers/codex_cli_provider.go @@ -0,0 +1,251 @@ +package providers + +import ( + "bufio" + "bytes" + "context" + "encoding/json" + "fmt" + "os/exec" + "strings" +) + +// CodexCliProvider implements LLMProvider by wrapping the codex CLI as a subprocess. +type CodexCliProvider struct { + command string + workspace string +} + +// NewCodexCliProvider creates a new Codex CLI provider. +func NewCodexCliProvider(workspace string) *CodexCliProvider { + return &CodexCliProvider{ + command: "codex", + workspace: workspace, + } +} + +// Chat implements LLMProvider.Chat by executing the codex CLI in non-interactive mode. +func (p *CodexCliProvider) Chat(ctx context.Context, messages []Message, tools []ToolDefinition, model string, options map[string]interface{}) (*LLMResponse, error) { + if p.command == "" { + return nil, fmt.Errorf("codex command not configured") + } + + prompt := p.buildPrompt(messages, tools) + + args := []string{ + "exec", + "--json", + "--dangerously-bypass-approvals-and-sandbox", + "--skip-git-repo-check", + "--color", "never", + } + if model != "" && model != "codex-cli" { + args = append(args, "-m", model) + } + if p.workspace != "" { + args = append(args, "-C", p.workspace) + } + args = append(args, "-") // read prompt from stdin + + cmd := exec.CommandContext(ctx, p.command, args...) + cmd.Stdin = bytes.NewReader([]byte(prompt)) + + var stdout, stderr bytes.Buffer + cmd.Stdout = &stdout + cmd.Stderr = &stderr + + err := cmd.Run() + + // Parse JSONL from stdout even if exit code is non-zero, + // because codex writes diagnostic noise to stderr (e.g. rollout errors) + // but still produces valid JSONL output. + if stdoutStr := stdout.String(); stdoutStr != "" { + resp, parseErr := p.parseJSONLEvents(stdoutStr) + if parseErr == nil && resp != nil && (resp.Content != "" || len(resp.ToolCalls) > 0) { + return resp, nil + } + } + + if err != nil { + if ctx.Err() == context.Canceled { + return nil, ctx.Err() + } + if stderrStr := stderr.String(); stderrStr != "" { + return nil, fmt.Errorf("codex cli error: %s", stderrStr) + } + return nil, fmt.Errorf("codex cli error: %w", err) + } + + return p.parseJSONLEvents(stdout.String()) +} + +// GetDefaultModel returns the default model identifier. +func (p *CodexCliProvider) GetDefaultModel() string { + return "codex-cli" +} + +// buildPrompt converts messages to a prompt string for the Codex CLI. +// System messages are prepended as instructions since Codex CLI has no --system-prompt flag. +func (p *CodexCliProvider) buildPrompt(messages []Message, tools []ToolDefinition) string { + var systemParts []string + var conversationParts []string + + for _, msg := range messages { + switch msg.Role { + case "system": + systemParts = append(systemParts, msg.Content) + case "user": + conversationParts = append(conversationParts, msg.Content) + case "assistant": + conversationParts = append(conversationParts, "Assistant: "+msg.Content) + case "tool": + conversationParts = append(conversationParts, + fmt.Sprintf("[Tool Result for %s]: %s", msg.ToolCallID, msg.Content)) + } + } + + var sb strings.Builder + + if len(systemParts) > 0 { + sb.WriteString("## System Instructions\n\n") + sb.WriteString(strings.Join(systemParts, "\n\n")) + sb.WriteString("\n\n## Task\n\n") + } + + if len(tools) > 0 { + sb.WriteString(p.buildToolsPrompt(tools)) + sb.WriteString("\n\n") + } + + // Simplify single user message (no prefix) + if len(conversationParts) == 1 && len(systemParts) == 0 && len(tools) == 0 { + return conversationParts[0] + } + + sb.WriteString(strings.Join(conversationParts, "\n")) + return sb.String() +} + +// buildToolsPrompt creates a tool definitions section for the prompt. +func (p *CodexCliProvider) buildToolsPrompt(tools []ToolDefinition) string { + var sb strings.Builder + + sb.WriteString("## Available Tools\n\n") + sb.WriteString("When you need to use a tool, respond with ONLY a JSON object:\n\n") + sb.WriteString("```json\n") + sb.WriteString(`{"tool_calls":[{"id":"call_xxx","type":"function","function":{"name":"tool_name","arguments":"{...}"}}]}`) + sb.WriteString("\n```\n\n") + sb.WriteString("CRITICAL: The 'arguments' field MUST be a JSON-encoded STRING.\n\n") + sb.WriteString("### Tool Definitions:\n\n") + + for _, tool := range tools { + if tool.Type != "function" { + continue + } + sb.WriteString(fmt.Sprintf("#### %s\n", tool.Function.Name)) + if tool.Function.Description != "" { + sb.WriteString(fmt.Sprintf("Description: %s\n", tool.Function.Description)) + } + if len(tool.Function.Parameters) > 0 { + paramsJSON, _ := json.Marshal(tool.Function.Parameters) + sb.WriteString(fmt.Sprintf("Parameters:\n```json\n%s\n```\n", string(paramsJSON))) + } + sb.WriteString("\n") + } + + return sb.String() +} + +// codexEvent represents a single JSONL event from `codex exec --json`. +type codexEvent struct { + Type string `json:"type"` + ThreadID string `json:"thread_id,omitempty"` + Message string `json:"message,omitempty"` + Item *codexEventItem `json:"item,omitempty"` + Usage *codexUsage `json:"usage,omitempty"` + Error *codexEventErr `json:"error,omitempty"` +} + +type codexEventItem struct { + ID string `json:"id"` + Type string `json:"type"` + Text string `json:"text,omitempty"` + Command string `json:"command,omitempty"` + Status string `json:"status,omitempty"` + ExitCode *int `json:"exit_code,omitempty"` + Output string `json:"output,omitempty"` +} + +type codexUsage struct { + InputTokens int `json:"input_tokens"` + CachedInputTokens int `json:"cached_input_tokens"` + OutputTokens int `json:"output_tokens"` +} + +type codexEventErr struct { + Message string `json:"message"` +} + +// parseJSONLEvents processes the JSONL output from codex exec --json. +func (p *CodexCliProvider) parseJSONLEvents(output string) (*LLMResponse, error) { + var contentParts []string + var usage *UsageInfo + var lastError string + + scanner := bufio.NewScanner(strings.NewReader(output)) + for scanner.Scan() { + line := strings.TrimSpace(scanner.Text()) + if line == "" { + continue + } + + var event codexEvent + if err := json.Unmarshal([]byte(line), &event); err != nil { + continue // skip malformed lines + } + + switch event.Type { + case "item.completed": + if event.Item != nil && event.Item.Type == "agent_message" && event.Item.Text != "" { + contentParts = append(contentParts, event.Item.Text) + } + case "turn.completed": + if event.Usage != nil { + promptTokens := event.Usage.InputTokens + event.Usage.CachedInputTokens + usage = &UsageInfo{ + PromptTokens: promptTokens, + CompletionTokens: event.Usage.OutputTokens, + TotalTokens: promptTokens + event.Usage.OutputTokens, + } + } + case "error": + lastError = event.Message + case "turn.failed": + if event.Error != nil { + lastError = event.Error.Message + } + } + } + + if lastError != "" && len(contentParts) == 0 { + return nil, fmt.Errorf("codex cli: %s", lastError) + } + + content := strings.Join(contentParts, "\n") + + // Extract tool calls from response text (same pattern as ClaudeCliProvider) + toolCalls := extractToolCallsFromText(content) + + finishReason := "stop" + if len(toolCalls) > 0 { + finishReason = "tool_calls" + content = stripToolCallsFromText(content) + } + + return &LLMResponse{ + Content: strings.TrimSpace(content), + ToolCalls: toolCalls, + FinishReason: finishReason, + Usage: usage, + }, nil +} diff --git a/pkg/providers/codex_cli_provider_test.go b/pkg/providers/codex_cli_provider_test.go new file mode 100644 index 000000000..7e4e1bc15 --- /dev/null +++ b/pkg/providers/codex_cli_provider_test.go @@ -0,0 +1,585 @@ +package providers + +import ( + "context" + "encoding/json" + "fmt" + "os" + "os/exec" + "path/filepath" + "strings" + "testing" +) + +// --- JSONL Event Parsing Tests --- + +func TestParseJSONLEvents_AgentMessage(t *testing.T) { + p := &CodexCliProvider{} + events := `{"type":"thread.started","thread_id":"abc-123"} +{"type":"turn.started"} +{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"Hello from Codex!"}} +{"type":"turn.completed","usage":{"input_tokens":100,"cached_input_tokens":50,"output_tokens":20}}` + + resp, err := p.parseJSONLEvents(events) + if err != nil { + t.Fatalf("parseJSONLEvents() error: %v", err) + } + if resp.Content != "Hello from Codex!" { + t.Errorf("Content = %q, want %q", resp.Content, "Hello from Codex!") + } + if resp.FinishReason != "stop" { + t.Errorf("FinishReason = %q, want %q", resp.FinishReason, "stop") + } + if resp.Usage == nil { + t.Fatal("Usage should not be nil") + } + if resp.Usage.PromptTokens != 150 { + t.Errorf("PromptTokens = %d, want 150", resp.Usage.PromptTokens) + } + if resp.Usage.CompletionTokens != 20 { + t.Errorf("CompletionTokens = %d, want 20", resp.Usage.CompletionTokens) + } + if resp.Usage.TotalTokens != 170 { + t.Errorf("TotalTokens = %d, want 170", resp.Usage.TotalTokens) + } + if len(resp.ToolCalls) != 0 { + t.Errorf("ToolCalls should be empty, got %d", len(resp.ToolCalls)) + } +} + +func TestParseJSONLEvents_ToolCallExtraction(t *testing.T) { + p := &CodexCliProvider{} + toolCallText := `Let me read that file. +{"tool_calls":[{"id":"call_1","type":"function","function":{"name":"read_file","arguments":"{\"path\":\"/tmp/test.txt\"}"}}]}` + // Build valid JSONL by marshaling the event + item := codexEvent{ + Type: "item.completed", + Item: &codexEventItem{ID: "item_1", Type: "agent_message", Text: toolCallText}, + } + itemJSON, _ := json.Marshal(item) + usageEvt := `{"type":"turn.completed","usage":{"input_tokens":50,"cached_input_tokens":0,"output_tokens":20}}` + events := `{"type":"turn.started"}` + "\n" + string(itemJSON) + "\n" + usageEvt + + resp, err := p.parseJSONLEvents(events) + if err != nil { + t.Fatalf("parseJSONLEvents() error: %v", err) + } + if resp.FinishReason != "tool_calls" { + t.Errorf("FinishReason = %q, want %q", resp.FinishReason, "tool_calls") + } + if len(resp.ToolCalls) != 1 { + t.Fatalf("ToolCalls count = %d, want 1", len(resp.ToolCalls)) + } + if resp.ToolCalls[0].Name != "read_file" { + t.Errorf("ToolCalls[0].Name = %q, want %q", resp.ToolCalls[0].Name, "read_file") + } + if resp.ToolCalls[0].ID != "call_1" { + t.Errorf("ToolCalls[0].ID = %q, want %q", resp.ToolCalls[0].ID, "call_1") + } + if resp.ToolCalls[0].Function.Arguments != `{"path":"/tmp/test.txt"}` { + t.Errorf("ToolCalls[0].Function.Arguments = %q", resp.ToolCalls[0].Function.Arguments) + } + // Content should have the tool call JSON stripped + if strings.Contains(resp.Content, "tool_calls") { + t.Errorf("Content should not contain tool_calls JSON, got: %q", resp.Content) + } +} + +func TestParseJSONLEvents_MultipleToolCalls(t *testing.T) { + p := &CodexCliProvider{} + toolCallText := `{"tool_calls":[{"id":"call_1","type":"function","function":{"name":"read_file","arguments":"{\"path\":\"a.txt\"}"}},{"id":"call_2","type":"function","function":{"name":"write_file","arguments":"{\"path\":\"b.txt\",\"content\":\"hello\"}"}}]}` + item := codexEvent{ + Type: "item.completed", + Item: &codexEventItem{ID: "item_1", Type: "agent_message", Text: toolCallText}, + } + itemJSON, _ := json.Marshal(item) + events := `{"type":"turn.started"}` + "\n" + string(itemJSON) + "\n" + `{"type":"turn.completed"}` + + resp, err := p.parseJSONLEvents(events) + if err != nil { + t.Fatalf("parseJSONLEvents() error: %v", err) + } + if len(resp.ToolCalls) != 2 { + t.Fatalf("ToolCalls count = %d, want 2", len(resp.ToolCalls)) + } + if resp.ToolCalls[0].Name != "read_file" { + t.Errorf("ToolCalls[0].Name = %q, want %q", resp.ToolCalls[0].Name, "read_file") + } + if resp.ToolCalls[1].Name != "write_file" { + t.Errorf("ToolCalls[1].Name = %q, want %q", resp.ToolCalls[1].Name, "write_file") + } + if resp.FinishReason != "tool_calls" { + t.Errorf("FinishReason = %q, want %q", resp.FinishReason, "tool_calls") + } +} + +func TestParseJSONLEvents_MultipleMessages(t *testing.T) { + p := &CodexCliProvider{} + events := `{"type":"turn.started"} +{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"First part."}} +{"type":"item.completed","item":{"id":"item_2","type":"command_execution","command":"ls","status":"completed"}} +{"type":"item.completed","item":{"id":"item_3","type":"agent_message","text":"Second part."}} +{"type":"turn.completed"}` + + resp, err := p.parseJSONLEvents(events) + if err != nil { + t.Fatalf("parseJSONLEvents() error: %v", err) + } + if resp.Content != "First part.\nSecond part." { + t.Errorf("Content = %q, want %q", resp.Content, "First part.\nSecond part.") + } +} + +func TestParseJSONLEvents_ErrorEvent(t *testing.T) { + p := &CodexCliProvider{} + events := `{"type":"thread.started","thread_id":"abc"} +{"type":"turn.started"} +{"type":"error","message":"token expired"} +{"type":"turn.failed","error":{"message":"token expired"}}` + + _, err := p.parseJSONLEvents(events) + if err == nil { + t.Fatal("expected error") + } + if !strings.Contains(err.Error(), "token expired") { + t.Errorf("error = %q, want to contain 'token expired'", err.Error()) + } +} + +func TestParseJSONLEvents_TurnFailed(t *testing.T) { + p := &CodexCliProvider{} + events := `{"type":"turn.started"} +{"type":"turn.failed","error":{"message":"rate limit exceeded"}}` + + _, err := p.parseJSONLEvents(events) + if err == nil { + t.Fatal("expected error") + } + if !strings.Contains(err.Error(), "rate limit exceeded") { + t.Errorf("error = %q, want to contain 'rate limit exceeded'", err.Error()) + } +} + +func TestParseJSONLEvents_ErrorWithContent(t *testing.T) { + p := &CodexCliProvider{} + // If there's an error but also content, return the content (partial success) + events := `{"type":"turn.started"} +{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"Partial result."}} +{"type":"error","message":"connection reset"} +{"type":"turn.failed","error":{"message":"connection reset"}}` + + resp, err := p.parseJSONLEvents(events) + if err != nil { + t.Fatalf("should not error when content exists: %v", err) + } + if resp.Content != "Partial result." { + t.Errorf("Content = %q, want %q", resp.Content, "Partial result.") + } +} + +func TestParseJSONLEvents_EmptyOutput(t *testing.T) { + p := &CodexCliProvider{} + resp, err := p.parseJSONLEvents("") + if err != nil { + t.Fatalf("empty output should not error: %v", err) + } + if resp.Content != "" { + t.Errorf("Content = %q, want empty", resp.Content) + } +} + +func TestParseJSONLEvents_MalformedLines(t *testing.T) { + p := &CodexCliProvider{} + events := `not json at all +{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"Good line."}} +another bad line +{"type":"turn.completed","usage":{"input_tokens":10,"output_tokens":5}}` + + resp, err := p.parseJSONLEvents(events) + if err != nil { + t.Fatalf("should skip malformed lines: %v", err) + } + if resp.Content != "Good line." { + t.Errorf("Content = %q, want %q", resp.Content, "Good line.") + } + if resp.Usage == nil || resp.Usage.TotalTokens != 15 { + t.Errorf("Usage.TotalTokens = %v, want 15", resp.Usage) + } +} + +func TestParseJSONLEvents_CommandExecution(t *testing.T) { + p := &CodexCliProvider{} + events := `{"type":"turn.started"} +{"type":"item.started","item":{"id":"item_1","type":"command_execution","command":"bash -lc ls","status":"in_progress"}} +{"type":"item.completed","item":{"id":"item_1","type":"command_execution","command":"bash -lc ls","status":"completed","exit_code":0,"output":"file1.go\nfile2.go"}} +{"type":"item.completed","item":{"id":"item_2","type":"agent_message","text":"Found 2 files."}} +{"type":"turn.completed"}` + + resp, err := p.parseJSONLEvents(events) + if err != nil { + t.Fatalf("parseJSONLEvents() error: %v", err) + } + // command_execution items should be skipped; only agent_message text is returned + if resp.Content != "Found 2 files." { + t.Errorf("Content = %q, want %q", resp.Content, "Found 2 files.") + } +} + +func TestParseJSONLEvents_NoUsage(t *testing.T) { + p := &CodexCliProvider{} + events := `{"type":"turn.started"} +{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"No usage info."}} +{"type":"turn.completed"}` + + resp, err := p.parseJSONLEvents(events) + if err != nil { + t.Fatalf("parseJSONLEvents() error: %v", err) + } + if resp.Usage != nil { + t.Errorf("Usage should be nil when turn.completed has no usage, got %+v", resp.Usage) + } +} + +// --- Prompt Building Tests --- + +func TestBuildPrompt_SystemAsInstructions(t *testing.T) { + p := &CodexCliProvider{} + messages := []Message{ + {Role: "system", Content: "You are helpful."}, + {Role: "user", Content: "Hi there"}, + } + + prompt := p.buildPrompt(messages, nil) + + if !strings.Contains(prompt, "## System Instructions") { + t.Error("prompt should contain '## System Instructions'") + } + if !strings.Contains(prompt, "You are helpful.") { + t.Error("prompt should contain system content") + } + if !strings.Contains(prompt, "## Task") { + t.Error("prompt should contain '## Task'") + } + if !strings.Contains(prompt, "Hi there") { + t.Error("prompt should contain user message") + } +} + +func TestBuildPrompt_NoSystem(t *testing.T) { + p := &CodexCliProvider{} + messages := []Message{ + {Role: "user", Content: "Just a question"}, + } + + prompt := p.buildPrompt(messages, nil) + + if strings.Contains(prompt, "## System Instructions") { + t.Error("prompt should not contain system instructions header") + } + if prompt != "Just a question" { + t.Errorf("prompt = %q, want %q", prompt, "Just a question") + } +} + +func TestBuildPrompt_WithTools(t *testing.T) { + p := &CodexCliProvider{} + messages := []Message{ + {Role: "user", Content: "Get weather"}, + } + tools := []ToolDefinition{ + { + Type: "function", + Function: ToolFunctionDefinition{ + Name: "get_weather", + Description: "Get current weather", + Parameters: map[string]interface{}{ + "type": "object", + "properties": map[string]interface{}{ + "city": map[string]interface{}{"type": "string"}, + }, + }, + }, + }, + } + + prompt := p.buildPrompt(messages, tools) + + if !strings.Contains(prompt, "## Available Tools") { + t.Error("prompt should contain tools section") + } + if !strings.Contains(prompt, "get_weather") { + t.Error("prompt should contain tool name") + } + if !strings.Contains(prompt, "Get current weather") { + t.Error("prompt should contain tool description") + } +} + +func TestBuildPrompt_MultipleMessages(t *testing.T) { + p := &CodexCliProvider{} + messages := []Message{ + {Role: "user", Content: "Hello"}, + {Role: "assistant", Content: "Hi! How can I help?"}, + {Role: "user", Content: "Tell me about Go"}, + } + + prompt := p.buildPrompt(messages, nil) + + if !strings.Contains(prompt, "Hello") { + t.Error("prompt should contain first user message") + } + if !strings.Contains(prompt, "Assistant: Hi! How can I help?") { + t.Error("prompt should contain assistant message with prefix") + } + if !strings.Contains(prompt, "Tell me about Go") { + t.Error("prompt should contain second user message") + } +} + +func TestBuildPrompt_ToolResults(t *testing.T) { + p := &CodexCliProvider{} + messages := []Message{ + {Role: "user", Content: "Weather?"}, + {Role: "tool", Content: `{"temp": 72}`, ToolCallID: "call_1"}, + } + + prompt := p.buildPrompt(messages, nil) + + if !strings.Contains(prompt, "[Tool Result for call_1]") { + t.Error("prompt should contain tool result") + } + if !strings.Contains(prompt, `{"temp": 72}`) { + t.Error("prompt should contain tool result content") + } +} + +func TestBuildPrompt_SystemAndTools(t *testing.T) { + p := &CodexCliProvider{} + messages := []Message{ + {Role: "system", Content: "Be concise."}, + {Role: "user", Content: "Do something"}, + } + tools := []ToolDefinition{ + { + Type: "function", + Function: ToolFunctionDefinition{ + Name: "my_tool", + Description: "A tool", + }, + }, + } + + prompt := p.buildPrompt(messages, tools) + + // System instructions should come first + sysIdx := strings.Index(prompt, "## System Instructions") + toolIdx := strings.Index(prompt, "## Available Tools") + taskIdx := strings.Index(prompt, "## Task") + + if sysIdx == -1 || toolIdx == -1 || taskIdx == -1 { + t.Fatal("prompt should contain all sections") + } + if sysIdx >= taskIdx { + t.Error("system instructions should come before task") + } + if taskIdx >= toolIdx { + t.Error("task section should come before tools in the output") + } +} + +// --- CLI Argument Tests --- + +func TestCodexCliProvider_GetDefaultModel(t *testing.T) { + p := NewCodexCliProvider("") + if got := p.GetDefaultModel(); got != "codex-cli" { + t.Errorf("GetDefaultModel() = %q, want %q", got, "codex-cli") + } +} + +// --- Mock CLI Integration Test --- + +func createMockCodexCLI(t *testing.T, events []string) string { + t.Helper() + tmpDir := t.TempDir() + scriptPath := filepath.Join(tmpDir, "codex") + + var sb strings.Builder + sb.WriteString("#!/bin/bash\n") + for _, event := range events { + sb.WriteString(fmt.Sprintf("echo '%s'\n", event)) + } + + if err := os.WriteFile(scriptPath, []byte(sb.String()), 0755); err != nil { + t.Fatal(err) + } + return scriptPath +} + +func TestCodexCliProvider_MockCLI_Success(t *testing.T) { + scriptPath := createMockCodexCLI(t, []string{ + `{"type":"thread.started","thread_id":"test-123"}`, + `{"type":"turn.started"}`, + `{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"Mock response from Codex CLI"}}`, + `{"type":"turn.completed","usage":{"input_tokens":50,"cached_input_tokens":10,"output_tokens":15}}`, + }) + + p := &CodexCliProvider{ + command: scriptPath, + workspace: "", + } + + messages := []Message{{Role: "user", Content: "Hello"}} + resp, err := p.Chat(context.Background(), messages, nil, "", nil) + if err != nil { + t.Fatalf("Chat() error: %v", err) + } + if resp.Content != "Mock response from Codex CLI" { + t.Errorf("Content = %q, want %q", resp.Content, "Mock response from Codex CLI") + } + if resp.Usage == nil { + t.Fatal("Usage should not be nil") + } + if resp.Usage.PromptTokens != 60 { + t.Errorf("PromptTokens = %d, want 60", resp.Usage.PromptTokens) + } + if resp.Usage.CompletionTokens != 15 { + t.Errorf("CompletionTokens = %d, want 15", resp.Usage.CompletionTokens) + } +} + +func TestCodexCliProvider_MockCLI_Error(t *testing.T) { + scriptPath := createMockCodexCLI(t, []string{ + `{"type":"thread.started","thread_id":"test-err"}`, + `{"type":"turn.started"}`, + `{"type":"error","message":"auth token expired"}`, + `{"type":"turn.failed","error":{"message":"auth token expired"}}`, + }) + + p := &CodexCliProvider{ + command: scriptPath, + workspace: "", + } + + messages := []Message{{Role: "user", Content: "Hello"}} + _, err := p.Chat(context.Background(), messages, nil, "", nil) + if err == nil { + t.Fatal("expected error") + } + if !strings.Contains(err.Error(), "auth token expired") { + t.Errorf("error = %q, want to contain 'auth token expired'", err.Error()) + } +} + +func TestCodexCliProvider_MockCLI_WithModel(t *testing.T) { + // Mock script that captures args to verify model flag is passed + tmpDir := t.TempDir() + scriptPath := filepath.Join(tmpDir, "codex") + script := `#!/bin/bash +# Write args to a file for verification +echo "$@" > "` + filepath.Join(tmpDir, "args.txt") + `" +echo '{"type":"item.completed","item":{"id":"1","type":"agent_message","text":"ok"}}' +echo '{"type":"turn.completed"}'` + + if err := os.WriteFile(scriptPath, []byte(script), 0755); err != nil { + t.Fatal(err) + } + + p := &CodexCliProvider{ + command: scriptPath, + workspace: "/tmp/test-workspace", + } + + messages := []Message{{Role: "user", Content: "test"}} + _, err := p.Chat(context.Background(), messages, nil, "gpt-5.2-codex", nil) + if err != nil { + t.Fatalf("Chat() error: %v", err) + } + + // Verify the args + argsData, err := os.ReadFile(filepath.Join(tmpDir, "args.txt")) + if err != nil { + t.Fatalf("reading args: %v", err) + } + args := string(argsData) + + if !strings.Contains(args, "-m gpt-5.2-codex") { + t.Errorf("args should contain model flag, got: %s", args) + } + if !strings.Contains(args, "-C /tmp/test-workspace") { + t.Errorf("args should contain workspace flag, got: %s", args) + } + if !strings.Contains(args, "--json") { + t.Errorf("args should contain --json, got: %s", args) + } + if !strings.Contains(args, "--dangerously-bypass-approvals-and-sandbox") { + t.Errorf("args should contain bypass flag, got: %s", args) + } +} + +func TestCodexCliProvider_MockCLI_ContextCancel(t *testing.T) { + // Script that sleeps forever + tmpDir := t.TempDir() + scriptPath := filepath.Join(tmpDir, "codex") + script := "#!/bin/bash\nsleep 60" + + if err := os.WriteFile(scriptPath, []byte(script), 0755); err != nil { + t.Fatal(err) + } + + p := &CodexCliProvider{ + command: scriptPath, + workspace: "", + } + + ctx, cancel := context.WithCancel(context.Background()) + cancel() // cancel immediately + + messages := []Message{{Role: "user", Content: "test"}} + _, err := p.Chat(ctx, messages, nil, "", nil) + if err == nil { + t.Fatal("expected error on canceled context") + } +} + +func TestCodexCliProvider_EmptyCommand(t *testing.T) { + p := &CodexCliProvider{command: ""} + + messages := []Message{{Role: "user", Content: "test"}} + _, err := p.Chat(context.Background(), messages, nil, "", nil) + if err == nil { + t.Fatal("expected error for empty command") + } +} + +// --- Integration Test (requires real codex CLI with valid auth) --- + +func TestCodexCliProvider_Integration(t *testing.T) { + if os.Getenv("PICOCLAW_INTEGRATION_TESTS") == "" { + t.Skip("skipping integration test (set PICOCLAW_INTEGRATION_TESTS=1 to enable)") + } + + // Verify codex is available + codexPath, err := exec.LookPath("codex") + if err != nil { + t.Skip("codex CLI not found in PATH") + } + + p := &CodexCliProvider{ + command: codexPath, + workspace: "", + } + + messages := []Message{ + {Role: "user", Content: "Respond with just the word 'hello' and nothing else."}, + } + + resp, err := p.Chat(context.Background(), messages, nil, "", nil) + if err != nil { + t.Fatalf("Chat() error: %v", err) + } + + lower := strings.ToLower(strings.TrimSpace(resp.Content)) + if !strings.Contains(lower, "hello") { + t.Errorf("Content = %q, expected to contain 'hello'", resp.Content) + } +} diff --git a/pkg/providers/http_provider.go b/pkg/providers/http_provider.go index 60294c451..4cf2c6db2 100644 --- a/pkg/providers/http_provider.go +++ b/pkg/providers/http_provider.go @@ -240,6 +240,9 @@ func CreateProvider(cfg *config.Config) (LLMProvider, error) { } case "openai", "gpt": if cfg.Providers.OpenAI.APIKey != "" || cfg.Providers.OpenAI.AuthMethod != "" { + if cfg.Providers.OpenAI.AuthMethod == "codex-cli" { + return NewCodexProviderWithTokenSource("", "", CreateCodexCliTokenSource()), nil + } if cfg.Providers.OpenAI.AuthMethod == "oauth" || cfg.Providers.OpenAI.AuthMethod == "token" { return createCodexAuthProvider() } @@ -299,11 +302,17 @@ func CreateProvider(cfg *config.Config) (LLMProvider, error) { } } case "claude-cli", "claudecode", "claude-code": - workspace := cfg.Agents.Defaults.Workspace + workspace := cfg.WorkspacePath() if workspace == "" { workspace = "." } return NewClaudeCliProvider(workspace), nil + case "codex-cli", "codex-code": + workspace := cfg.WorkspacePath() + if workspace == "" { + workspace = "." + } + return NewCodexCliProvider(workspace), nil case "deepseek": if cfg.Providers.DeepSeek.APIKey != "" { apiKey = cfg.Providers.DeepSeek.APIKey diff --git a/pkg/providers/tool_call_extract.go b/pkg/providers/tool_call_extract.go new file mode 100644 index 000000000..97a219283 --- /dev/null +++ b/pkg/providers/tool_call_extract.go @@ -0,0 +1,72 @@ +package providers + +import ( + "encoding/json" + "strings" +) + +// extractToolCallsFromText parses tool call JSON from response text. +// Both ClaudeCliProvider and CodexCliProvider use this to extract +// tool calls that the model outputs in its response text. +func extractToolCallsFromText(text string) []ToolCall { + start := strings.Index(text, `{"tool_calls"`) + if start == -1 { + return nil + } + + end := findMatchingBrace(text, start) + if end == start { + return nil + } + + jsonStr := text[start:end] + + var wrapper struct { + ToolCalls []struct { + ID string `json:"id"` + Type string `json:"type"` + Function struct { + Name string `json:"name"` + Arguments string `json:"arguments"` + } `json:"function"` + } `json:"tool_calls"` + } + + if err := json.Unmarshal([]byte(jsonStr), &wrapper); err != nil { + return nil + } + + var result []ToolCall + for _, tc := range wrapper.ToolCalls { + var args map[string]interface{} + json.Unmarshal([]byte(tc.Function.Arguments), &args) + + result = append(result, ToolCall{ + ID: tc.ID, + Type: tc.Type, + Name: tc.Function.Name, + Arguments: args, + Function: &FunctionCall{ + Name: tc.Function.Name, + Arguments: tc.Function.Arguments, + }, + }) + } + + return result +} + +// stripToolCallsFromText removes tool call JSON from response text. +func stripToolCallsFromText(text string) string { + start := strings.Index(text, `{"tool_calls"`) + if start == -1 { + return text + } + + end := findMatchingBrace(text, start) + if end == start { + return text + } + + return strings.TrimSpace(text[:start] + text[end:]) +} diff --git a/pkg/tools/web_test.go b/pkg/tools/web_test.go index 988eada16..a526ea34a 100644 --- a/pkg/tools/web_test.go +++ b/pkg/tools/web_test.go @@ -173,19 +173,23 @@ func TestWebTool_WebFetch_Truncation(t *testing.T) { } } -// TestWebTool_WebSearch_NoApiKey verifies that nil is returned when no provider is configured +// TestWebTool_WebSearch_NoApiKey verifies that no tool is created when API key is missing func TestWebTool_WebSearch_NoApiKey(t *testing.T) { - tool := NewWebSearchTool(WebSearchToolOptions{BraveAPIKey: "", BraveMaxResults: 5}) - - // Should return nil when no provider is enabled + tool := NewWebSearchTool(WebSearchToolOptions{BraveEnabled: true, BraveAPIKey: ""}) if tool != nil { - t.Errorf("Expected nil when no search provider is configured") + t.Errorf("Expected nil tool when Brave API key is empty") + } + + // Also nil when nothing is enabled + tool = NewWebSearchTool(WebSearchToolOptions{}) + if tool != nil { + t.Errorf("Expected nil tool when no provider is enabled") } } // TestWebTool_WebSearch_MissingQuery verifies error handling for missing query func TestWebTool_WebSearch_MissingQuery(t *testing.T) { - tool := NewWebSearchTool(WebSearchToolOptions{BraveAPIKey: "test-key", BraveMaxResults: 5, BraveEnabled: true}) + tool := NewWebSearchTool(WebSearchToolOptions{BraveEnabled: true, BraveAPIKey: "test-key", BraveMaxResults: 5}) ctx := context.Background() args := map[string]interface{}{} From 0cb9387cf8f1560fa9782921f8d13655103787aa Mon Sep 17 00:00:00 2001 From: Zenix Date: Mon, 16 Feb 2026 12:46:02 +0900 Subject: [PATCH 09/27] fix: codex agent 400 error (#102) --- pkg/auth/oauth.go | 70 +++++++-- pkg/auth/oauth_test.go | 97 +++++++++++++ pkg/providers/codex_provider.go | 132 +++++++++++++++-- pkg/providers/codex_provider_test.go | 209 ++++++++++++++++++++++++++- 4 files changed, 480 insertions(+), 28 deletions(-) diff --git a/pkg/auth/oauth.go b/pkg/auth/oauth.go index 1a6589641..dcd91bebd 100644 --- a/pkg/auth/oauth.go +++ b/pkg/auth/oauth.go @@ -281,7 +281,17 @@ func RefreshAccessToken(cred *AuthCredential, cfg OAuthProviderConfig) (*AuthCre return nil, fmt.Errorf("token refresh failed: %s", string(body)) } - return parseTokenResponse(body, cred.Provider) + refreshed, err := parseTokenResponse(body, cred.Provider) + if err != nil { + return nil, err + } + if refreshed.RefreshToken == "" { + refreshed.RefreshToken = cred.RefreshToken + } + if refreshed.AccountID == "" { + refreshed.AccountID = cred.AccountID + } + return refreshed, nil } func BuildAuthorizeURL(cfg OAuthProviderConfig, pkce PKCECodes, state, redirectURI string) string { @@ -300,6 +310,9 @@ func buildAuthorizeURL(cfg OAuthProviderConfig, pkce PKCECodes, state, redirectU "codex_cli_simplified_flow": {"true"}, "state": {state}, } + if strings.Contains(strings.ToLower(cfg.Issuer), "auth.openai.com") { + params.Set("originator", "picoclaw") + } if cfg.Originator != "" { params.Set("originator", cfg.Originator) } @@ -357,7 +370,9 @@ func parseTokenResponse(body []byte, provider string) (*AuthCredential, error) { AuthMethod: "oauth", } - if accountID := extractAccountID(tokenResp.AccessToken); accountID != "" { + if accountID := extractAccountID(tokenResp.IDToken); accountID != "" { + cred.AccountID = accountID + } else if accountID := extractAccountID(tokenResp.AccessToken); accountID != "" { cred.AccountID = accountID } else if accountID := extractAccountID(tokenResp.IDToken); accountID != "" { // Recent OpenAI OAuth responses may only include chatgpt_account_id in id_token claims. @@ -367,12 +382,45 @@ func parseTokenResponse(body []byte, provider string) (*AuthCredential, error) { return cred, nil } -func extractAccountID(accessToken string) string { - parts := strings.Split(accessToken, ".") - if len(parts) < 2 { +func extractAccountID(token string) string { + claims, err := parseJWTClaims(token) + if err != nil { return "" } + if accountID, ok := claims["chatgpt_account_id"].(string); ok && accountID != "" { + return accountID + } + + if accountID, ok := claims["https://api.openai.com/auth.chatgpt_account_id"].(string); ok && accountID != "" { + return accountID + } + + if authClaim, ok := claims["https://api.openai.com/auth"].(map[string]interface{}); ok { + if accountID, ok := authClaim["chatgpt_account_id"].(string); ok && accountID != "" { + return accountID + } + } + + if orgs, ok := claims["organizations"].([]interface{}); ok { + for _, org := range orgs { + if orgMap, ok := org.(map[string]interface{}); ok { + if accountID, ok := orgMap["id"].(string); ok && accountID != "" { + return accountID + } + } + } + } + + return "" +} + +func parseJWTClaims(token string) (map[string]interface{}, error) { + parts := strings.Split(token, ".") + if len(parts) < 2 { + return nil, fmt.Errorf("token is not a JWT") + } + payload := parts[1] switch len(payload) % 4 { case 2: @@ -383,21 +431,15 @@ func extractAccountID(accessToken string) string { decoded, err := base64URLDecode(payload) if err != nil { - return "" + return nil, err } var claims map[string]interface{} if err := json.Unmarshal(decoded, &claims); err != nil { - return "" + return nil, err } - if authClaim, ok := claims["https://api.openai.com/auth"].(map[string]interface{}); ok { - if accountID, ok := authClaim["chatgpt_account_id"].(string); ok { - return accountID - } - } - - return "" + return claims, nil } func base64URLDecode(s string) ([]byte, error) { diff --git a/pkg/auth/oauth_test.go b/pkg/auth/oauth_test.go index 0d2ccc9a5..5deb17805 100644 --- a/pkg/auth/oauth_test.go +++ b/pkg/auth/oauth_test.go @@ -5,10 +5,23 @@ import ( "encoding/json" "net/http" "net/http/httptest" + "net/url" "strings" "testing" ) +func makeJWTForClaims(t *testing.T, claims map[string]interface{}) string { + t.Helper() + + header := base64.RawURLEncoding.EncodeToString([]byte(`{"alg":"none","typ":"JWT"}`)) + payloadJSON, err := json.Marshal(claims) + if err != nil { + t.Fatalf("marshal claims: %v", err) + } + payload := base64.RawURLEncoding.EncodeToString(payloadJSON) + return header + "." + payload + ".sig" +} + func TestBuildAuthorizeURL(t *testing.T) { cfg := OAuthProviderConfig{ Issuer: "https://auth.example.com", @@ -53,6 +66,28 @@ func TestBuildAuthorizeURL(t *testing.T) { } } +func TestBuildAuthorizeURLOpenAIExtras(t *testing.T) { + cfg := OpenAIOAuthConfig() + pkce := PKCECodes{CodeVerifier: "test-verifier", CodeChallenge: "test-challenge"} + + u := BuildAuthorizeURL(cfg, pkce, "test-state", "http://localhost:1455/auth/callback") + parsed, err := url.Parse(u) + if err != nil { + t.Fatalf("url.Parse() error: %v", err) + } + q := parsed.Query() + + if q.Get("id_token_add_organizations") != "true" { + t.Errorf("id_token_add_organizations = %q, want true", q.Get("id_token_add_organizations")) + } + if q.Get("codex_cli_simplified_flow") != "true" { + t.Errorf("codex_cli_simplified_flow = %q, want true", q.Get("codex_cli_simplified_flow")) + } + if q.Get("originator") != "codex_cli_rs" { + t.Errorf("originator = %q, want codex_cli_rs", q.Get("originator")) + } +} + func TestParseTokenResponse(t *testing.T) { resp := map[string]interface{}{ "access_token": "test-access-token", @@ -84,6 +119,37 @@ func TestParseTokenResponse(t *testing.T) { } } +func TestParseTokenResponseExtractsAccountIDFromIDToken(t *testing.T) { + idToken := makeJWTForClaims(t, map[string]interface{}{"chatgpt_account_id": "acc-id-from-id-token"}) + resp := map[string]interface{}{ + "access_token": "opaque-access-token", + "refresh_token": "test-refresh-token", + "expires_in": 3600, + "id_token": idToken, + } + body, _ := json.Marshal(resp) + + cred, err := parseTokenResponse(body, "openai") + if err != nil { + t.Fatalf("parseTokenResponse() error: %v", err) + } + if cred.AccountID != "acc-id-from-id-token" { + t.Errorf("AccountID = %q, want %q", cred.AccountID, "acc-id-from-id-token") + } +} + +func TestExtractAccountIDFromOrganizationsFallback(t *testing.T) { + token := makeJWTForClaims(t, map[string]interface{}{ + "organizations": []interface{}{ + map[string]interface{}{"id": "org_from_orgs"}, + }, + }) + + if got := extractAccountID(token); got != "org_from_orgs" { + t.Errorf("extractAccountID() = %q, want %q", got, "org_from_orgs") + } +} + func TestParseTokenResponseNoAccessToken(t *testing.T) { body := []byte(`{"refresh_token": "test"}`) _, err := parseTokenResponse(body, "openai") @@ -222,6 +288,37 @@ func TestRefreshAccessTokenNoRefreshToken(t *testing.T) { } } +func TestRefreshAccessTokenPreservesRefreshAndAccountID(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + resp := map[string]interface{}{ + "access_token": "new-access-token-only", + "expires_in": 3600, + } + json.NewEncoder(w).Encode(resp) + })) + defer server.Close() + + cfg := OAuthProviderConfig{Issuer: server.URL, ClientID: "test-client"} + cred := &AuthCredential{ + AccessToken: "old-access", + RefreshToken: "existing-refresh", + AccountID: "acc_existing", + Provider: "openai", + AuthMethod: "oauth", + } + + refreshed, err := RefreshAccessToken(cred, cfg) + if err != nil { + t.Fatalf("RefreshAccessToken() error: %v", err) + } + if refreshed.RefreshToken != "existing-refresh" { + t.Errorf("RefreshToken = %q, want %q", refreshed.RefreshToken, "existing-refresh") + } + if refreshed.AccountID != "acc_existing" { + t.Errorf("AccountID = %q, want %q", refreshed.AccountID, "acc_existing") + } +} + func TestOpenAIOAuthConfig(t *testing.T) { cfg := OpenAIOAuthConfig() if cfg.Issuer != "https://auth.openai.com" { diff --git a/pkg/providers/codex_provider.go b/pkg/providers/codex_provider.go index c0b10bd5b..6dff3a52e 100644 --- a/pkg/providers/codex_provider.go +++ b/pkg/providers/codex_provider.go @@ -3,6 +3,7 @@ package providers import ( "context" "encoding/json" + "errors" "fmt" "strings" @@ -10,8 +11,12 @@ import ( "github.com/openai/openai-go/v3/option" "github.com/openai/openai-go/v3/responses" "github.com/sipeed/picoclaw/pkg/auth" + "github.com/sipeed/picoclaw/pkg/logger" ) +const codexDefaultModel = "gpt-5.2" +const codexDefaultInstructions = "You are Codex, a coding assistant." + type CodexProvider struct { client *openai.Client accountID string @@ -24,6 +29,8 @@ func NewCodexProvider(token, accountID string) *CodexProvider { opts := []option.RequestOption{ option.WithBaseURL("https://chatgpt.com/backend-api/codex"), option.WithAPIKey(token), + option.WithHeader("originator", "codex_cli_rs"), + option.WithHeader("OpenAI-Beta", "responses=experimental"), } if accountID != "" { opts = append(opts, option.WithHeader("Chatgpt-Account-Id", accountID)) @@ -43,6 +50,15 @@ func NewCodexProviderWithTokenSource(token, accountID string, tokenSource func() func (p *CodexProvider) Chat(ctx context.Context, messages []Message, tools []ToolDefinition, model string, options map[string]interface{}) (*LLMResponse, error) { var opts []option.RequestOption + accountID := p.accountID + resolvedModel, fallbackReason := resolveCodexModel(model) + if fallbackReason != "" { + logger.WarnCF("provider.codex", "Requested model is not compatible with Codex backend, using fallback", map[string]interface{}{ + "requested_model": model, + "resolved_model": resolvedModel, + "reason": fallbackReason, + }) + } if p.tokenSource != nil { tok, accID, err := p.tokenSource() if err != nil { @@ -50,22 +66,120 @@ func (p *CodexProvider) Chat(ctx context.Context, messages []Message, tools []To } opts = append(opts, option.WithAPIKey(tok)) if accID != "" { - opts = append(opts, option.WithHeader("Chatgpt-Account-Id", accID)) + accountID = accID } } + if accountID != "" { + opts = append(opts, option.WithHeader("Chatgpt-Account-Id", accountID)) + } else { + logger.WarnCF("provider.codex", "No account id found for Codex request; backend may reject with 400", map[string]interface{}{ + "requested_model": model, + "resolved_model": resolvedModel, + }) + } - params := buildCodexParams(messages, tools, model, options) + params := buildCodexParams(messages, tools, resolvedModel, options) - resp, err := p.client.Responses.New(ctx, params, opts...) + stream := p.client.Responses.NewStreaming(ctx, params, opts...) + defer stream.Close() + + var resp *responses.Response + for stream.Next() { + evt := stream.Current() + if evt.Type == "response.completed" || evt.Type == "response.failed" || evt.Type == "response.incomplete" { + evtResp := evt.Response + if evtResp.ID != "" { + copy := evtResp + resp = © + } + } + } + err := stream.Err() if err != nil { + fields := map[string]interface{}{ + "requested_model": model, + "resolved_model": resolvedModel, + "messages_count": len(messages), + "tools_count": len(tools), + "account_id_present": accountID != "", + "error": err.Error(), + } + var apiErr *openai.Error + if errors.As(err, &apiErr) { + fields["status_code"] = apiErr.StatusCode + fields["api_type"] = apiErr.Type + fields["api_code"] = apiErr.Code + fields["api_param"] = apiErr.Param + fields["api_message"] = apiErr.Message + if apiErr.StatusCode == 400 { + fields["hint"] = "verify account id header and model compatibility for codex backend" + } + if apiErr.Response != nil { + fields["request_id"] = apiErr.Response.Header.Get("x-request-id") + } + } + logger.ErrorCF("provider.codex", "Codex API call failed", fields) return nil, fmt.Errorf("codex API call: %w", err) } + if resp == nil { + fields := map[string]interface{}{ + "requested_model": model, + "resolved_model": resolvedModel, + "messages_count": len(messages), + "tools_count": len(tools), + "account_id_present": accountID != "", + } + logger.ErrorCF("provider.codex", "Codex stream ended without completed response event", fields) + return nil, fmt.Errorf("codex API call: stream ended without completed response") + } return parseCodexResponse(resp), nil } func (p *CodexProvider) GetDefaultModel() string { - return "gpt-4o" + return codexDefaultModel +} + +func resolveCodexModel(model string) (string, string) { + m := strings.ToLower(strings.TrimSpace(model)) + if m == "" { + return codexDefaultModel, "empty model" + } + + if strings.HasPrefix(m, "openai/") { + m = strings.TrimPrefix(m, "openai/") + } else if strings.Contains(m, "/") { + return codexDefaultModel, "non-openai model namespace" + } + + unsupportedPrefixes := []string{ + "glm", + "claude", + "anthropic", + "gemini", + "google", + "moonshot", + "kimi", + "qwen", + "deepseek", + "llama", + "meta-llama", + "mistral", + "grok", + "xai", + "zhipu", + } + for _, prefix := range unsupportedPrefixes { + if strings.HasPrefix(m, prefix) { + return codexDefaultModel, "unsupported model prefix" + } + } + + if strings.HasPrefix(m, "gpt-") || strings.HasPrefix(m, "o3") || strings.HasPrefix(m, "o4") { + return m, "" + } + + return codexDefaultModel, "unsupported model family" } func buildCodexParams(messages []Message, tools []ToolDefinition, model string, options map[string]interface{}) responses.ResponseNewParams { @@ -135,7 +249,8 @@ func buildCodexParams(messages []Message, tools []ToolDefinition, model string, Input: responses.ResponseNewParamsInputUnion{ OfInputItemList: inputItems, }, - Store: openai.Opt(false), + Instructions: openai.Opt(instructions), + Store: openai.Opt(false), } if instructions != "" { @@ -149,10 +264,6 @@ func buildCodexParams(messages []Message, tools []ToolDefinition, model string, params.MaxOutputTokens = openai.Opt(int64(maxTokens)) } - if temp, ok := options["temperature"].(float64); ok { - params.Temperature = openai.Opt(temp) - } - if len(tools) > 0 { params.Tools = translateToolsForCodex(tools) } @@ -242,6 +353,9 @@ func createCodexTokenSource() func() (string, string, error) { if err != nil { return "", "", fmt.Errorf("refreshing token: %w", err) } + if refreshed.AccountID == "" { + refreshed.AccountID = cred.AccountID + } if err := auth.SetCredential("openai", refreshed); err != nil { return "", "", fmt.Errorf("saving refreshed token: %w", err) } diff --git a/pkg/providers/codex_provider_test.go b/pkg/providers/codex_provider_test.go index 1a5a8cafa..317b1a5de 100644 --- a/pkg/providers/codex_provider_test.go +++ b/pkg/providers/codex_provider_test.go @@ -2,6 +2,7 @@ package providers import ( "encoding/json" + "fmt" "net/http" "net/http/httptest" "testing" @@ -16,7 +17,8 @@ func TestBuildCodexParams_BasicMessage(t *testing.T) { {Role: "user", Content: "Hello"}, } params := buildCodexParams(messages, nil, "gpt-4o", map[string]interface{}{ - "max_tokens": 2048, + "max_tokens": 2048, + "temperature": 0.7, }) if params.Model != "gpt-4o" { t.Errorf("Model = %q, want %q", params.Model, "gpt-4o") @@ -203,6 +205,16 @@ func TestCodexProvider_ChatRoundTrip(t *testing.T) { return } + var reqBody map[string]interface{} + if err := json.NewDecoder(r.Body).Decode(&reqBody); err != nil { + http.Error(w, "invalid json", http.StatusBadRequest) + return + } + if reqBody["stream"] != true { + http.Error(w, "stream must be true", http.StatusBadRequest) + return + } + resp := map[string]interface{}{ "id": "resp_test", "object": "response", @@ -226,8 +238,7 @@ func TestCodexProvider_ChatRoundTrip(t *testing.T) { "output_tokens_details": map[string]interface{}{"reasoning_tokens": 0}, }, } - w.Header().Set("Content-Type", "application/json") - json.NewEncoder(w).Encode(resp) + writeCompletedSSE(w, resp) })) defer server.Close() @@ -250,10 +261,185 @@ func TestCodexProvider_ChatRoundTrip(t *testing.T) { } } +func TestCodexProvider_ChatRoundTrip_TokenSourceFallbackAccountID(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path != "/responses" { + http.Error(w, "not found: "+r.URL.Path, http.StatusNotFound) + return + } + if r.Header.Get("Authorization") != "Bearer refreshed-token" { + http.Error(w, "unauthorized", http.StatusUnauthorized) + return + } + if r.Header.Get("Chatgpt-Account-Id") != "acc-123" { + http.Error(w, "missing account id", http.StatusBadRequest) + return + } + + var reqBody map[string]interface{} + if err := json.NewDecoder(r.Body).Decode(&reqBody); err != nil { + http.Error(w, "invalid json", http.StatusBadRequest) + return + } + if _, ok := reqBody["instructions"]; !ok { + http.Error(w, "missing instructions", http.StatusBadRequest) + return + } + if reqBody["instructions"] == "" { + http.Error(w, "instructions must not be empty", http.StatusBadRequest) + return + } + if _, ok := reqBody["temperature"]; ok { + http.Error(w, "temperature is not supported", http.StatusBadRequest) + return + } + if reqBody["stream"] != true { + http.Error(w, "stream must be true", http.StatusBadRequest) + return + } + + resp := map[string]interface{}{ + "id": "resp_test", + "object": "response", + "status": "completed", + "output": []map[string]interface{}{ + { + "id": "msg_1", + "type": "message", + "role": "assistant", + "status": "completed", + "content": []map[string]interface{}{ + {"type": "output_text", "text": "Hi from Codex!"}, + }, + }, + }, + "usage": map[string]interface{}{ + "input_tokens": 8, + "output_tokens": 4, + "total_tokens": 12, + "input_tokens_details": map[string]interface{}{"cached_tokens": 0}, + "output_tokens_details": map[string]interface{}{"reasoning_tokens": 0}, + }, + } + writeCompletedSSE(w, resp) + })) + defer server.Close() + + provider := NewCodexProvider("stale-token", "acc-123") + provider.client = createOpenAITestClient(server.URL, "stale-token", "") + provider.tokenSource = func() (string, string, error) { + return "refreshed-token", "", nil + } + + messages := []Message{{Role: "user", Content: "Hello"}} + resp, err := provider.Chat(t.Context(), messages, nil, "gpt-4o", map[string]interface{}{"temperature": 0.7}) + if err != nil { + t.Fatalf("Chat() error: %v", err) + } + if resp.Content != "Hi from Codex!" { + t.Errorf("Content = %q, want %q", resp.Content, "Hi from Codex!") + } +} + +func TestCodexProvider_ChatRoundTrip_ModelFallbackFromUnsupported(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path != "/responses" { + http.Error(w, "not found: "+r.URL.Path, http.StatusNotFound) + return + } + + var reqBody map[string]interface{} + if err := json.NewDecoder(r.Body).Decode(&reqBody); err != nil { + http.Error(w, "invalid json", http.StatusBadRequest) + return + } + if reqBody["model"] != codexDefaultModel { + http.Error(w, "unsupported model", http.StatusBadRequest) + return + } + if reqBody["stream"] != true { + http.Error(w, "stream must be true", http.StatusBadRequest) + return + } + if reqBody["instructions"] != codexDefaultInstructions { + http.Error(w, "missing default instructions", http.StatusBadRequest) + return + } + + resp := map[string]interface{}{ + "id": "resp_test", + "object": "response", + "status": "completed", + "output": []map[string]interface{}{ + { + "id": "msg_1", + "type": "message", + "role": "assistant", + "status": "completed", + "content": []map[string]interface{}{ + {"type": "output_text", "text": "Hi from Codex!"}, + }, + }, + }, + "usage": map[string]interface{}{ + "input_tokens": 8, + "output_tokens": 4, + "total_tokens": 12, + "input_tokens_details": map[string]interface{}{"cached_tokens": 0}, + "output_tokens_details": map[string]interface{}{"reasoning_tokens": 0}, + }, + } + writeCompletedSSE(w, resp) + })) + defer server.Close() + + provider := NewCodexProvider("test-token", "acc-123") + provider.client = createOpenAITestClient(server.URL, "test-token", "acc-123") + + messages := []Message{{Role: "user", Content: "Hello"}} + resp, err := provider.Chat(t.Context(), messages, nil, "gpt-5.2", nil) + if err != nil { + t.Fatalf("Chat() error: %v", err) + } + if resp.Content != "Hi from Codex!" { + t.Errorf("Content = %q, want %q", resp.Content, "Hi from Codex!") + } +} + func TestCodexProvider_GetDefaultModel(t *testing.T) { p := NewCodexProvider("test-token", "") - if got := p.GetDefaultModel(); got != "gpt-4o" { - t.Errorf("GetDefaultModel() = %q, want %q", got, "gpt-4o") + if got := p.GetDefaultModel(); got != codexDefaultModel { + t.Errorf("GetDefaultModel() = %q, want %q", got, codexDefaultModel) + } +} + +func TestResolveCodexModel(t *testing.T) { + tests := []struct { + name string + input string + wantModel string + wantFallback bool + }{ + {name: "empty", input: "", wantModel: codexDefaultModel, wantFallback: true}, + {name: "unsupported namespace", input: "anthropic/claude-3.5", wantModel: codexDefaultModel, wantFallback: true}, + {name: "non-openai prefixed", input: "glm-4.7", wantModel: codexDefaultModel, wantFallback: true}, + {name: "openai prefix", input: "openai/gpt-5.2", wantModel: "gpt-5.2", wantFallback: false}, + {name: "direct gpt", input: "gpt-4o", wantModel: "gpt-4o", wantFallback: false}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + gotModel, reason := resolveCodexModel(tt.input) + if gotModel != tt.wantModel { + t.Fatalf("resolveCodexModel(%q) model = %q, want %q", tt.input, gotModel, tt.wantModel) + } + if tt.wantFallback && reason == "" { + t.Fatalf("resolveCodexModel(%q) expected fallback reason", tt.input) + } + if !tt.wantFallback && reason != "" { + t.Fatalf("resolveCodexModel(%q) unexpected fallback reason: %q", tt.input, reason) + } + }) } } @@ -268,3 +454,16 @@ func createOpenAITestClient(baseURL, token, accountID string) *openai.Client { c := openai.NewClient(opts...) return &c } + +func writeCompletedSSE(w http.ResponseWriter, response map[string]interface{}) { + event := map[string]interface{}{ + "type": "response.completed", + "sequence_number": 1, + "response": response, + } + b, _ := json.Marshal(event) + w.Header().Set("Content-Type", "text/event-stream") + fmt.Fprintf(w, "event: response.completed\n") + fmt.Fprintf(w, "data: %s\n\n", string(b)) + fmt.Fprintf(w, "data: [DONE]\n\n") +} From 341dbd30073270117a1f3fd1e019e519781613e3 Mon Sep 17 00:00:00 2001 From: fahadahmadansari111 <57217561+fahadahmadansari111@users.noreply.github.com> Date: Mon, 16 Feb 2026 09:23:11 +0530 Subject: [PATCH 10/27] Add health check endpoints (/health and /ready) for container orchestration liveness and readiness probes. (#104) * added health endpoint * formatted files --------- Co-authored-by: lxowalle <83055338+lxowalle@users.noreply.github.com> --- Dockerfile | 4 ++ cmd/picoclaw/main.go | 11 +++ pkg/health/server.go | 164 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 179 insertions(+) create mode 100644 pkg/health/server.go diff --git a/Dockerfile b/Dockerfile index 433d962f2..dd98ec0bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,6 +22,10 @@ FROM alpine:3.23 RUN apk add --no-cache ca-certificates tzdata curl +# Health check +HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ + CMD wget -q --spider http://localhost:18790/health || exit 1 + # Copy binary COPY --from=builder /src/build/picoclaw /usr/local/bin/picoclaw diff --git a/cmd/picoclaw/main.go b/cmd/picoclaw/main.go index 2129662d7..cd3637a1b 100644 --- a/cmd/picoclaw/main.go +++ b/cmd/picoclaw/main.go @@ -13,6 +13,7 @@ import ( "fmt" "io" "io/fs" + "net/http" "os" "os/signal" "path/filepath" @@ -28,6 +29,7 @@ import ( "github.com/sipeed/picoclaw/pkg/config" "github.com/sipeed/picoclaw/pkg/cron" "github.com/sipeed/picoclaw/pkg/devices" + "github.com/sipeed/picoclaw/pkg/health" "github.com/sipeed/picoclaw/pkg/heartbeat" "github.com/sipeed/picoclaw/pkg/logger" "github.com/sipeed/picoclaw/pkg/migrate" @@ -658,6 +660,14 @@ func gatewayCmd() { fmt.Printf("Error starting channels: %v\n", err) } + healthServer := health.NewServer(cfg.Gateway.Host, cfg.Gateway.Port) + go func() { + if err := healthServer.Start(); err != nil && err != http.ErrServerClosed { + logger.ErrorCF("health", "Health server error", map[string]interface{}{"error": err.Error()}) + } + }() + fmt.Printf("✓ Health endpoints available at http://%s:%d/health and /ready\n", cfg.Gateway.Host, cfg.Gateway.Port) + go agentLoop.Run(ctx) sigChan := make(chan os.Signal, 1) @@ -666,6 +676,7 @@ func gatewayCmd() { fmt.Println("\nShutting down...") cancel() + healthServer.Stop(context.Background()) deviceService.Stop() heartbeatService.Stop() cronService.Stop() diff --git a/pkg/health/server.go b/pkg/health/server.go new file mode 100644 index 000000000..77b36034d --- /dev/null +++ b/pkg/health/server.go @@ -0,0 +1,164 @@ +package health + +import ( + "context" + "encoding/json" + "fmt" + "net/http" + "sync" + "time" +) + +type Server struct { + server *http.Server + mu sync.RWMutex + ready bool + checks map[string]Check + startTime time.Time +} + +type Check struct { + Name string `json:"name"` + Status string `json:"status"` + Message string `json:"message,omitempty"` + Timestamp time.Time `json:"timestamp"` +} + +type StatusResponse struct { + Status string `json:"status"` + Uptime string `json:"uptime"` + Checks map[string]Check `json:"checks,omitempty"` +} + +func NewServer(host string, port int) *Server { + mux := http.NewServeMux() + s := &Server{ + ready: false, + checks: make(map[string]Check), + startTime: time.Now(), + } + + mux.HandleFunc("/health", s.healthHandler) + mux.HandleFunc("/ready", s.readyHandler) + + addr := fmt.Sprintf("%s:%d", host, port) + s.server = &http.Server{ + Addr: addr, + Handler: mux, + ReadTimeout: 5 * time.Second, + WriteTimeout: 5 * time.Second, + } + + return s +} + +func (s *Server) Start() error { + s.mu.Lock() + s.ready = true + s.mu.Unlock() + return s.server.ListenAndServe() +} + +func (s *Server) StartContext(ctx context.Context) error { + s.mu.Lock() + s.ready = true + s.mu.Unlock() + + errCh := make(chan error, 1) + go func() { + errCh <- s.server.ListenAndServe() + }() + + select { + case err := <-errCh: + return err + case <-ctx.Done(): + return s.server.Shutdown(context.Background()) + } +} + +func (s *Server) Stop(ctx context.Context) error { + s.mu.Lock() + s.ready = false + s.mu.Unlock() + return s.server.Shutdown(ctx) +} + +func (s *Server) SetReady(ready bool) { + s.mu.Lock() + s.ready = ready + s.mu.Unlock() +} + +func (s *Server) RegisterCheck(name string, checkFn func() (bool, string)) { + s.mu.Lock() + defer s.mu.Unlock() + + status, msg := checkFn() + s.checks[name] = Check{ + Name: name, + Status: statusString(status), + Message: msg, + Timestamp: time.Now(), + } +} + +func (s *Server) healthHandler(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + + uptime := time.Since(s.startTime) + resp := StatusResponse{ + Status: "ok", + Uptime: uptime.String(), + } + + json.NewEncoder(w).Encode(resp) +} + +func (s *Server) readyHandler(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + + s.mu.RLock() + ready := s.ready + checks := make(map[string]Check) + for k, v := range s.checks { + checks[k] = v + } + s.mu.RUnlock() + + if !ready { + w.WriteHeader(http.StatusServiceUnavailable) + json.NewEncoder(w).Encode(StatusResponse{ + Status: "not ready", + Checks: checks, + }) + return + } + + for _, check := range checks { + if check.Status == "fail" { + w.WriteHeader(http.StatusServiceUnavailable) + json.NewEncoder(w).Encode(StatusResponse{ + Status: "not ready", + Checks: checks, + }) + return + } + } + + w.WriteHeader(http.StatusOK) + uptime := time.Since(s.startTime) + json.NewEncoder(w).Encode(StatusResponse{ + Status: "ready", + Uptime: uptime.String(), + Checks: checks, + }) +} + +func statusString(ok bool) string { + if ok { + return "ok" + } + return "fail" +} From 32cb8fdc124a0e892b6de7fd20e9e74d2e5c758f Mon Sep 17 00:00:00 2001 From: Huaaudio <161028864+Huaaudio@users.noreply.github.com> Date: Mon, 16 Feb 2026 06:39:26 +0100 Subject: [PATCH 11/27] Feat: Discord message length check and auto split (#143) * feat: discord message auto split * make fmt * chore: remove failing discord_test.go --------- Co-authored-by: Hua --- pkg/channels/discord.go | 146 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 144 insertions(+), 2 deletions(-) diff --git a/pkg/channels/discord.go b/pkg/channels/discord.go index cb8014086..00aa8ab4d 100644 --- a/pkg/channels/discord.go +++ b/pkg/channels/discord.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "strings" "time" "github.com/bwmarrin/discordgo" @@ -100,15 +101,156 @@ func (c *DiscordChannel) Send(ctx context.Context, msg bus.OutboundMessage) erro return fmt.Errorf("channel ID is empty") } - message := msg.Content + runes := []rune(msg.Content) + if len(runes) == 0 { + return nil + } + chunks := splitMessage(msg.Content, 1500) // Discord has a limit of 2000 characters per message, leave 500 for natural split e.g. code blocks + + for _, chunk := range chunks { + if err := c.sendChunk(ctx, channelID, chunk); err != nil { + return err + } + } + + return nil +} + +// splitMessage splits long messages into chunks, preserving code block integrity +// Uses natural boundaries (newlines, spaces) and extends messages slightly to avoid breaking code blocks +func splitMessage(content string, limit int) []string { + var messages []string + + for len(content) > 0 { + if len(content) <= limit { + messages = append(messages, content) + break + } + + msgEnd := limit + + // Find natural split point within the limit + msgEnd = findLastNewline(content[:limit], 200) + if msgEnd <= 0 { + msgEnd = findLastSpace(content[:limit], 100) + } + if msgEnd <= 0 { + msgEnd = limit + } + + // Check if this would end with an incomplete code block + candidate := content[:msgEnd] + unclosedIdx := findLastUnclosedCodeBlock(candidate) + + if unclosedIdx >= 0 { + // Message would end with incomplete code block + // Try to extend to include the closing ``` (with some buffer) + extendedLimit := limit + 500 // Allow 500 char buffer for code blocks + if len(content) > extendedLimit { + closingIdx := findNextClosingCodeBlock(content, msgEnd) + if closingIdx > 0 && closingIdx <= extendedLimit { + // Extend to include the closing ``` + msgEnd = closingIdx + } else { + // Can't find closing, split before the code block + msgEnd = findLastNewline(content[:unclosedIdx], 200) + if msgEnd <= 0 { + msgEnd = findLastSpace(content[:unclosedIdx], 100) + } + if msgEnd <= 0 { + msgEnd = unclosedIdx + } + } + } else { + // Remaining content fits within extended limit + msgEnd = len(content) + } + } + + if msgEnd <= 0 { + msgEnd = limit + } + + messages = append(messages, content[:msgEnd]) + content = strings.TrimSpace(content[msgEnd:]) + } + + return messages +} + +// findLastUnclosedCodeBlock finds the last opening ``` that doesn't have a closing ``` +// Returns the position of the opening ``` or -1 if all code blocks are complete +func findLastUnclosedCodeBlock(text string) int { + count := 0 + lastOpenIdx := -1 + + for i := 0; i < len(text); i++ { + if i+2 < len(text) && text[i] == '`' && text[i+1] == '`' && text[i+2] == '`' { + if count == 0 { + lastOpenIdx = i + } + count++ + i += 2 + } + } + + // If odd number of ``` markers, last one is unclosed + if count%2 == 1 { + return lastOpenIdx + } + return -1 +} + +// findNextClosingCodeBlock finds the next closing ``` starting from a position +// Returns the position after the closing ``` or -1 if not found +func findNextClosingCodeBlock(text string, startIdx int) int { + for i := startIdx; i < len(text); i++ { + if i+2 < len(text) && text[i] == '`' && text[i+1] == '`' && text[i+2] == '`' { + return i + 3 + } + } + return -1 +} + +// findLastNewline finds the last newline character within the last N characters +// Returns the position of the newline or -1 if not found +func findLastNewline(s string, searchWindow int) int { + searchStart := len(s) - searchWindow + if searchStart < 0 { + searchStart = 0 + } + for i := len(s) - 1; i >= searchStart; i-- { + if s[i] == '\n' { + return i + } + } + return -1 +} + +// findLastSpace finds the last space character within the last N characters +// Returns the position of the space or -1 if not found +func findLastSpace(s string, searchWindow int) int { + searchStart := len(s) - searchWindow + if searchStart < 0 { + searchStart = 0 + } + for i := len(s) - 1; i >= searchStart; i-- { + if s[i] == ' ' || s[i] == '\t' { + return i + } + } + return -1 +} + +func (c *DiscordChannel) sendChunk(ctx context.Context, channelID, content string) error { // 使用传入的 ctx 进行超时控制 sendCtx, cancel := context.WithTimeout(ctx, sendTimeout) defer cancel() done := make(chan error, 1) go func() { - _, err := c.session.ChannelMessageSend(channelID, message) + _, err := c.session.ChannelMessageSend(channelID, content) done <- err }() From 9d5728ec5b8d6c46e0ff7bdd65e8046a24620aaa Mon Sep 17 00:00:00 2001 From: Avisek Ray <153633053+biisal@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:50:16 +0530 Subject: [PATCH 12/27] feat: implement structured Telegram command handling with a dedicated command service and `telegohandler` integration. (#164) --- pkg/channels/manager.go | 2 +- pkg/channels/telegram.go | 98 +++++++++++-------- pkg/channels/telegram_commands.go | 153 ++++++++++++++++++++++++++++++ 3 files changed, 212 insertions(+), 41 deletions(-) create mode 100644 pkg/channels/telegram_commands.go diff --git a/pkg/channels/manager.go b/pkg/channels/manager.go index 15f8c6037..7f6abc4cb 100644 --- a/pkg/channels/manager.go +++ b/pkg/channels/manager.go @@ -48,7 +48,7 @@ func (m *Manager) initChannels() error { if m.config.Channels.Telegram.Enabled && m.config.Channels.Telegram.Token != "" { logger.DebugC("channels", "Attempting to initialize Telegram channel") - telegram, err := NewTelegramChannel(m.config.Channels.Telegram, m.bus) + telegram, err := NewTelegramChannel(m.config, m.bus) if err != nil { logger.ErrorCF("channels", "Failed to initialize Telegram channel", map[string]interface{}{ "error": err.Error(), diff --git a/pkg/channels/telegram.go b/pkg/channels/telegram.go index b14b1632e..5601d508c 100644 --- a/pkg/channels/telegram.go +++ b/pkg/channels/telegram.go @@ -11,7 +11,10 @@ import ( "sync" "time" + th "github.com/mymmrac/telego/telegohandler" + "github.com/mymmrac/telego" + "github.com/mymmrac/telego/telegohandler" tu "github.com/mymmrac/telego/telegoutil" "github.com/sipeed/picoclaw/pkg/bus" @@ -24,7 +27,8 @@ import ( type TelegramChannel struct { *BaseChannel bot *telego.Bot - config config.TelegramConfig + commands TelegramCommander + config *config.Config chatIDs map[string]int64 transcriber *voice.GroqTranscriber placeholders sync.Map // chatID -> messageID @@ -41,13 +45,14 @@ func (c *thinkingCancel) Cancel() { } } -func NewTelegramChannel(cfg config.TelegramConfig, bus *bus.MessageBus) (*TelegramChannel, error) { +func NewTelegramChannel(cfg *config.Config, bus *bus.MessageBus) (*TelegramChannel, error) { var opts []telego.BotOption + telegramCfg := cfg.Channels.Telegram - if cfg.Proxy != "" { - proxyURL, parseErr := url.Parse(cfg.Proxy) + if telegramCfg.Proxy != "" { + proxyURL, parseErr := url.Parse(telegramCfg.Proxy) if parseErr != nil { - return nil, fmt.Errorf("invalid proxy URL %q: %w", cfg.Proxy, parseErr) + return nil, fmt.Errorf("invalid proxy URL %q: %w", telegramCfg.Proxy, parseErr) } opts = append(opts, telego.WithHTTPClient(&http.Client{ Transport: &http.Transport{ @@ -56,15 +61,16 @@ func NewTelegramChannel(cfg config.TelegramConfig, bus *bus.MessageBus) (*Telegr })) } - bot, err := telego.NewBot(cfg.Token, opts...) + bot, err := telego.NewBot(telegramCfg.Token, opts...) if err != nil { return nil, fmt.Errorf("failed to create telegram bot: %w", err) } - base := NewBaseChannel("telegram", cfg, bus, cfg.AllowFrom) + base := NewBaseChannel("telegram", telegramCfg, bus, telegramCfg.AllowFrom) return &TelegramChannel{ BaseChannel: base, + commands: NewTelegramCommands(bot, cfg), bot: bot, config: cfg, chatIDs: make(map[string]int64), @@ -88,31 +94,45 @@ func (c *TelegramChannel) Start(ctx context.Context) error { return fmt.Errorf("failed to start long polling: %w", err) } + bh, err := telegohandler.NewBotHandler(c.bot, updates) + if err != nil { + return fmt.Errorf("failed to create bot handler: %w", err) + } + + bh.HandleMessage(func(ctx *th.Context, message telego.Message) error { + c.commands.Help(ctx, message) + return nil + }, th.CommandEqual("help")) + bh.HandleMessage(func(ctx *th.Context, message telego.Message) error { + return c.commands.Start(ctx, message) + }, th.CommandEqual("start")) + + bh.HandleMessage(func(ctx *th.Context, message telego.Message) error { + return c.commands.Show(ctx, message) + }, th.CommandEqual("show")) + + bh.HandleMessage(func(ctx *th.Context, message telego.Message) error { + return c.commands.List(ctx, message) + }, th.CommandEqual("list")) + + bh.HandleMessage(func(ctx *th.Context, message telego.Message) error { + return c.handleMessage(ctx, &message) + }, th.AnyMessage()) + c.setRunning(true) logger.InfoCF("telegram", "Telegram bot connected", map[string]interface{}{ "username": c.bot.Username(), }) + go bh.Start() + go func() { - for { - select { - case <-ctx.Done(): - return - case update, ok := <-updates: - if !ok { - logger.InfoC("telegram", "Updates channel closed, reconnecting...") - return - } - if update.Message != nil { - c.handleMessage(ctx, update) - } - } - } + <-ctx.Done() + bh.Stop() }() return nil } - func (c *TelegramChannel) Stop(ctx context.Context) error { logger.InfoC("telegram", "Stopping Telegram bot...") c.setRunning(false) @@ -166,30 +186,27 @@ func (c *TelegramChannel) Send(ctx context.Context, msg bus.OutboundMessage) err return nil } -func (c *TelegramChannel) handleMessage(ctx context.Context, update telego.Update) { - message := update.Message +func (c *TelegramChannel) handleMessage(ctx context.Context, message *telego.Message) error { if message == nil { - return + return fmt.Errorf("message is nil") } user := message.From if user == nil { - return + return fmt.Errorf("message sender (user) is nil") } - userID := fmt.Sprintf("%d", user.ID) - senderID := userID + senderID := fmt.Sprintf("%d", user.ID) if user.Username != "" { - senderID = fmt.Sprintf("%s|%s", userID, user.Username) + senderID = fmt.Sprintf("%d|%s", user.ID, user.Username) } // 检查白名单,避免为被拒绝的用户下载附件 - if !c.IsAllowed(userID) && !c.IsAllowed(senderID) { + if !c.IsAllowed(senderID) { logger.DebugCF("telegram", "Message rejected by allowlist", map[string]interface{}{ - "user_id": userID, - "username": user.Username, + "user_id": senderID, }) - return + return nil } chatID := message.Chat.ID @@ -222,7 +239,7 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, update telego.Updat content += message.Caption } - if message.Photo != nil && len(message.Photo) > 0 { + if len(message.Photo) > 0 { photo := message.Photo[len(message.Photo)-1] photoPath := c.downloadPhoto(ctx, photo.FileID) if photoPath != "" { @@ -231,7 +248,7 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, update telego.Updat if content != "" { content += "\n" } - content += fmt.Sprintf("[image: photo]") + content += "[image: photo]" } } @@ -252,7 +269,7 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, update telego.Updat "error": err.Error(), "path": voicePath, }) - transcribedText = fmt.Sprintf("[voice (transcription failed)]") + transcribedText = "[voice (transcription failed)]" } else { transcribedText = fmt.Sprintf("[voice transcription: %s]", result.Text) logger.InfoCF("telegram", "Voice transcribed successfully", map[string]interface{}{ @@ -260,7 +277,7 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, update telego.Updat }) } } else { - transcribedText = fmt.Sprintf("[voice]") + transcribedText = "[voice]" } if content != "" { @@ -278,7 +295,7 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, update telego.Updat if content != "" { content += "\n" } - content += fmt.Sprintf("[audio]") + content += "[audio]" } } @@ -290,7 +307,7 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, update telego.Updat if content != "" { content += "\n" } - content += fmt.Sprintf("[file]") + content += "[file]" } } @@ -338,7 +355,8 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, update telego.Updat "is_group": fmt.Sprintf("%t", message.Chat.Type != "private"), } - c.HandleMessage(senderID, fmt.Sprintf("%d", chatID), content, mediaPaths, metadata) + c.HandleMessage(fmt.Sprintf("%d", user.ID), fmt.Sprintf("%d", chatID), content, mediaPaths, metadata) + return nil } func (c *TelegramChannel) downloadPhoto(ctx context.Context, fileID string) string { diff --git a/pkg/channels/telegram_commands.go b/pkg/channels/telegram_commands.go new file mode 100644 index 000000000..df245e156 --- /dev/null +++ b/pkg/channels/telegram_commands.go @@ -0,0 +1,153 @@ +package channels + +import ( + "context" + "fmt" + "strings" + + "github.com/mymmrac/telego" + "github.com/sipeed/picoclaw/pkg/config" +) + +type TelegramCommander interface { + Help(ctx context.Context, message telego.Message) error + Start(ctx context.Context, message telego.Message) error + Show(ctx context.Context, message telego.Message) error + List(ctx context.Context, message telego.Message) error +} + +type cmd struct { + bot *telego.Bot + config *config.Config +} + +func NewTelegramCommands(bot *telego.Bot, cfg *config.Config) TelegramCommander { + return &cmd{ + bot: bot, + config: cfg, + } +} + +func commandArgs(text string) string { + parts := strings.SplitN(text, " ", 2) + if len(parts) < 2 { + return "" + } + return strings.TrimSpace(parts[1]) +} +func (c *cmd) Help(ctx context.Context, message telego.Message) error { + msg := `/start - Start the bot +/help - Show this help message +/show [model|channel] - Show current configuration +/list [models|channels] - List available options + ` + _, err := c.bot.SendMessage(ctx, &telego.SendMessageParams{ + ChatID: telego.ChatID{ID: message.Chat.ID}, + Text: msg, + ReplyParameters: &telego.ReplyParameters{ + MessageID: message.MessageID, + }, + }) + return err +} + +func (c *cmd) Start(ctx context.Context, message telego.Message) error { + _, err := c.bot.SendMessage(ctx, &telego.SendMessageParams{ + ChatID: telego.ChatID{ID: message.Chat.ID}, + Text: "Hello! I am PicoClaw 🦞", + ReplyParameters: &telego.ReplyParameters{ + MessageID: message.MessageID, + }, + }) + return err +} + +func (c *cmd) Show(ctx context.Context, message telego.Message) error { + args := commandArgs(message.Text) + if args == "" { + _, err := c.bot.SendMessage(ctx, &telego.SendMessageParams{ + ChatID: telego.ChatID{ID: message.Chat.ID}, + Text: "Usage: /show [model|channel]", + ReplyParameters: &telego.ReplyParameters{ + MessageID: message.MessageID, + }, + }) + return err + } + + var response string + switch args { + case "model": + response = fmt.Sprintf("Current Model: %s (Provider: %s)", + c.config.Agents.Defaults.Model, + c.config.Agents.Defaults.Provider) + case "channel": + response = "Current Channel: telegram" + default: + response = fmt.Sprintf("Unknown parameter: %s. Try 'model' or 'channel'.", args) + } + + _, err := c.bot.SendMessage(ctx, &telego.SendMessageParams{ + ChatID: telego.ChatID{ID: message.Chat.ID}, + Text: response, + ReplyParameters: &telego.ReplyParameters{ + MessageID: message.MessageID, + }, + }) + return err +} +func (c *cmd) List(ctx context.Context, message telego.Message) error { + args := commandArgs(message.Text) + if args == "" { + _, err := c.bot.SendMessage(ctx, &telego.SendMessageParams{ + ChatID: telego.ChatID{ID: message.Chat.ID}, + Text: "Usage: /list [models|channels]", + ReplyParameters: &telego.ReplyParameters{ + MessageID: message.MessageID, + }, + }) + return err + } + + var response string + switch args { + case "models": + provider := c.config.Agents.Defaults.Provider + if provider == "" { + provider = "configured default" + } + response = fmt.Sprintf("Configured Model: %s\nProvider: %s\n\nTo change models, update config.yaml", + c.config.Agents.Defaults.Model, provider) + + case "channels": + var enabled []string + if c.config.Channels.Telegram.Enabled { + enabled = append(enabled, "telegram") + } + if c.config.Channels.WhatsApp.Enabled { + enabled = append(enabled, "whatsapp") + } + if c.config.Channels.Feishu.Enabled { + enabled = append(enabled, "feishu") + } + if c.config.Channels.Discord.Enabled { + enabled = append(enabled, "discord") + } + if c.config.Channels.Slack.Enabled { + enabled = append(enabled, "slack") + } + response = fmt.Sprintf("Enabled Channels:\n- %s", strings.Join(enabled, "\n- ")) + + default: + response = fmt.Sprintf("Unknown parameter: %s. Try 'models' or 'channels'.", args) + } + + _, err := c.bot.SendMessage(ctx, &telego.SendMessageParams{ + ChatID: telego.ChatID{ID: message.Chat.ID}, + Text: response, + ReplyParameters: &telego.ReplyParameters{ + MessageID: message.MessageID, + }, + }) + return err +} From a371d53438df27babf57af0b0870077026e0289d Mon Sep 17 00:00:00 2001 From: mattn Date: Mon, 16 Feb 2026 16:04:25 +0900 Subject: [PATCH 13/27] Prevent panic on publish after MessageBus is closed (#223) --- pkg/bus/bus.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkg/bus/bus.go b/pkg/bus/bus.go index 6283251a4..58c0a25d5 100644 --- a/pkg/bus/bus.go +++ b/pkg/bus/bus.go @@ -9,6 +9,7 @@ type MessageBus struct { inbound chan InboundMessage outbound chan OutboundMessage handlers map[string]MessageHandler + closed bool mu sync.RWMutex } @@ -21,6 +22,11 @@ func NewMessageBus() *MessageBus { } func (mb *MessageBus) PublishInbound(msg InboundMessage) { + mb.mu.RLock() + defer mb.mu.RUnlock() + if mb.closed { + return + } mb.inbound <- msg } @@ -34,6 +40,11 @@ func (mb *MessageBus) ConsumeInbound(ctx context.Context) (InboundMessage, bool) } func (mb *MessageBus) PublishOutbound(msg OutboundMessage) { + mb.mu.RLock() + defer mb.mu.RUnlock() + if mb.closed { + return + } mb.outbound <- msg } @@ -60,6 +71,12 @@ func (mb *MessageBus) GetHandler(channel string) (MessageHandler, bool) { } func (mb *MessageBus) Close() { + mb.mu.Lock() + defer mb.mu.Unlock() + if mb.closed { + return + } + mb.closed = true close(mb.inbound) close(mb.outbound) } From 159a95412202f075b36cdef785c9fe5638e7506c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?W=C3=81NG=20Xu=C4=9Bru=C3=AC?= Date: Mon, 16 Feb 2026 15:08:27 +0800 Subject: [PATCH 14/27] build: support building for linux/loong64 (#272) This platform has a growing desktop and embedded user base, and is fully supported by Go. The only necessary change is the mapping between `uname -m` output and GOARCH. Due to non-technical reasons [1], there is currently no Docker official image that provides linux/loong64 support, so Docker-based builds are not included in this commit for now. [1]: https://github.com/docker-library/official-images/issues/16404 --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 058fdb790..41e45fbfc 100644 --- a/Makefile +++ b/Makefile @@ -39,6 +39,8 @@ ifeq ($(UNAME_S),Linux) ARCH=amd64 else ifeq ($(UNAME_M),aarch64) ARCH=arm64 + else ifeq ($(UNAME_M),loongarch64) + ARCH=loong64 else ifeq ($(UNAME_M),riscv64) ARCH=riscv64 else @@ -84,6 +86,7 @@ build-all: generate @mkdir -p $(BUILD_DIR) GOOS=linux GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 ./$(CMD_DIR) GOOS=linux GOARCH=arm64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-arm64 ./$(CMD_DIR) + GOOS=linux GOARCH=loong64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-loong64 ./$(CMD_DIR) GOOS=linux GOARCH=riscv64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-riscv64 ./$(CMD_DIR) GOOS=darwin GOARCH=arm64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 ./$(CMD_DIR) GOOS=windows GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-windows-amd64.exe ./$(CMD_DIR) From 17685da584c6e1dfe33519ba1a0e7de97bdd7a28 Mon Sep 17 00:00:00 2001 From: lxowalle <83055338+lxowalle@users.noreply.github.com> Date: Mon, 16 Feb 2026 15:48:02 +0800 Subject: [PATCH 15/27] feat: update the `make deps` logic to prevent the project from frequently updating dependency package versions (#277) --- Makefile | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 41e45fbfc..9786b30bb 100644 --- a/Makefile +++ b/Makefile @@ -39,8 +39,6 @@ ifeq ($(UNAME_S),Linux) ARCH=amd64 else ifeq ($(UNAME_M),aarch64) ARCH=arm64 - else ifeq ($(UNAME_M),loongarch64) - ARCH=loong64 else ifeq ($(UNAME_M),riscv64) ARCH=riscv64 else @@ -86,7 +84,6 @@ build-all: generate @mkdir -p $(BUILD_DIR) GOOS=linux GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 ./$(CMD_DIR) GOOS=linux GOARCH=arm64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-arm64 ./$(CMD_DIR) - GOOS=linux GOARCH=loong64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-loong64 ./$(CMD_DIR) GOOS=linux GOARCH=riscv64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-riscv64 ./$(CMD_DIR) GOOS=darwin GOARCH=arm64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 ./$(CMD_DIR) GOOS=windows GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-windows-amd64.exe ./$(CMD_DIR) @@ -122,7 +119,7 @@ clean: @rm -rf $(BUILD_DIR) @echo "Clean complete" -## fmt: Format Go code +## vet: Run go vet for static analysis vet: @$(GO) vet ./... @@ -134,11 +131,19 @@ test: fmt: @$(GO) fmt ./... -## deps: Update dependencies +## deps: Download dependencies deps: + @$(GO) mod download + @$(GO) mod verify + +## update-deps: Update dependencies +update-deps: @$(GO) get -u ./... @$(GO) mod tidy +## check: Run vet, fmt, and verify dependencies +check: deps fmt vet test + ## run: Build and run picoclaw run: build @$(BUILD_DIR)/$(BINARY_NAME) $(ARGS) From 5c321a90debbd8b711febd8685d38965905a355a Mon Sep 17 00:00:00 2001 From: is-Xiaoen <2768753269@qq.com> Date: Mon, 16 Feb 2026 16:06:39 +0800 Subject: [PATCH 16/27] fix: tighten file perms and enforce Slack ACL checks (#186) - write config and cron store with 0600 instead of 0644 - check allow list in Slack slash commands and app mentions - pass workspace restrict flag to cron exec tool Closes #179 --- cmd/picoclaw/main.go | 6 +++--- pkg/channels/slack.go | 14 ++++++++++++++ pkg/config/config.go | 2 +- pkg/config/config_test.go | 27 +++++++++++++++++++++++++++ pkg/cron/service.go | 2 +- pkg/cron/service_test.go | 38 ++++++++++++++++++++++++++++++++++++++ pkg/tools/cron.go | 4 ++-- 7 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 pkg/cron/service_test.go diff --git a/cmd/picoclaw/main.go b/cmd/picoclaw/main.go index cd3637a1b..a40b8d299 100644 --- a/cmd/picoclaw/main.go +++ b/cmd/picoclaw/main.go @@ -562,7 +562,7 @@ func gatewayCmd() { }) // Setup cron tool and service - cronService := setupCronTool(agentLoop, msgBus, cfg.WorkspacePath()) + cronService := setupCronTool(agentLoop, msgBus, cfg.WorkspacePath(), cfg.Agents.Defaults.RestrictToWorkspace) heartbeatService := heartbeat.NewHeartbeatService( cfg.WorkspacePath(), @@ -984,14 +984,14 @@ func getConfigPath() string { return filepath.Join(home, ".picoclaw", "config.json") } -func setupCronTool(agentLoop *agent.AgentLoop, msgBus *bus.MessageBus, workspace string) *cron.CronService { +func setupCronTool(agentLoop *agent.AgentLoop, msgBus *bus.MessageBus, workspace string, restrict bool) *cron.CronService { cronStorePath := filepath.Join(workspace, "cron", "jobs.json") // Create cron service cronService := cron.NewCronService(cronStorePath, nil) // Create and register CronTool - cronTool := tools.NewCronTool(cronService, agentLoop, msgBus, workspace) + cronTool := tools.NewCronTool(cronService, agentLoop, msgBus, workspace, restrict) agentLoop.RegisterTool(cronTool) // Set the onJob handler diff --git a/pkg/channels/slack.go b/pkg/channels/slack.go index d86d08a9d..5387e9213 100644 --- a/pkg/channels/slack.go +++ b/pkg/channels/slack.go @@ -296,6 +296,13 @@ func (c *SlackChannel) handleAppMention(ev *slackevents.AppMentionEvent) { return } + if !c.IsAllowed(ev.User) { + logger.DebugCF("slack", "Mention rejected by allowlist", map[string]interface{}{ + "user_id": ev.User, + }) + return + } + senderID := ev.User channelID := ev.Channel threadTS := ev.ThreadTimeStamp @@ -345,6 +352,13 @@ func (c *SlackChannel) handleSlashCommand(event socketmode.Event) { c.socketClient.Ack(*event.Request) } + if !c.IsAllowed(cmd.UserID) { + logger.DebugCF("slack", "Slash command rejected by allowlist", map[string]interface{}{ + "user_id": cmd.UserID, + }) + return + } + senderID := cmd.UserID channelID := cmd.ChannelID chatID := channelID diff --git a/pkg/config/config.go b/pkg/config/config.go index da33748d0..d189ff00b 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -370,7 +370,7 @@ func SaveConfig(path string, cfg *Config) error { return err } - return os.WriteFile(path, data, 0644) + return os.WriteFile(path, data, 0600) } func (c *Config) WorkspacePath() string { diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 14618b109..febfd0456 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,6 +1,9 @@ package config import ( + "os" + "path/filepath" + "runtime" "testing" ) @@ -147,6 +150,30 @@ func TestDefaultConfig_WebTools(t *testing.T) { } } +func TestSaveConfig_FilePermissions(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("file permission bits are not enforced on Windows") + } + + tmpDir := t.TempDir() + path := filepath.Join(tmpDir, "config.json") + + cfg := DefaultConfig() + if err := SaveConfig(path, cfg); err != nil { + t.Fatalf("SaveConfig failed: %v", err) + } + + info, err := os.Stat(path) + if err != nil { + t.Fatalf("Stat failed: %v", err) + } + + perm := info.Mode().Perm() + if perm != 0600 { + t.Errorf("config file has permission %04o, want 0600", perm) + } +} + // TestConfig_Complete verifies all config fields are set func TestConfig_Complete(t *testing.T) { cfg := DefaultConfig() diff --git a/pkg/cron/service.go b/pkg/cron/service.go index ddd680e74..9f62c743b 100644 --- a/pkg/cron/service.go +++ b/pkg/cron/service.go @@ -340,7 +340,7 @@ func (cs *CronService) saveStoreUnsafe() error { return err } - return os.WriteFile(cs.storePath, data, 0644) + return os.WriteFile(cs.storePath, data, 0600) } func (cs *CronService) AddJob(name string, schedule CronSchedule, message string, deliver bool, channel, to string) (*CronJob, error) { diff --git a/pkg/cron/service_test.go b/pkg/cron/service_test.go new file mode 100644 index 000000000..53d69f6a9 --- /dev/null +++ b/pkg/cron/service_test.go @@ -0,0 +1,38 @@ +package cron + +import ( + "os" + "path/filepath" + "runtime" + "testing" +) + +func TestSaveStore_FilePermissions(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("file permission bits are not enforced on Windows") + } + + tmpDir := t.TempDir() + storePath := filepath.Join(tmpDir, "cron", "jobs.json") + + cs := NewCronService(storePath, nil) + + _, err := cs.AddJob("test", CronSchedule{Kind: "every", EveryMS: int64Ptr(60000)}, "hello", false, "cli", "direct") + if err != nil { + t.Fatalf("AddJob failed: %v", err) + } + + info, err := os.Stat(storePath) + if err != nil { + t.Fatalf("Stat failed: %v", err) + } + + perm := info.Mode().Perm() + if perm != 0600 { + t.Errorf("cron store has permission %04o, want 0600", perm) + } +} + +func int64Ptr(v int64) *int64 { + return &v +} diff --git a/pkg/tools/cron.go b/pkg/tools/cron.go index 0ef745e2b..4b6f973d8 100644 --- a/pkg/tools/cron.go +++ b/pkg/tools/cron.go @@ -28,12 +28,12 @@ type CronTool struct { } // NewCronTool creates a new CronTool -func NewCronTool(cronService *cron.CronService, executor JobExecutor, msgBus *bus.MessageBus, workspace string) *CronTool { +func NewCronTool(cronService *cron.CronService, executor JobExecutor, msgBus *bus.MessageBus, workspace string, restrict bool) *CronTool { return &CronTool{ cronService: cronService, executor: executor, msgBus: msgBus, - execTool: NewExecTool(workspace, false), + execTool: NewExecTool(workspace, restrict), } } From e3f65fc3d62aa3a5577c0a59e6417d056ff14c02 Mon Sep 17 00:00:00 2001 From: Goksu Ceylan <79890826+GoCeylan@users.noreply.github.com> Date: Mon, 16 Feb 2026 03:20:35 -0500 Subject: [PATCH 17/27] fix(security): block critical symlink workspace escape (#188) --- pkg/tools/filesystem.go | 45 ++++++++++++++++++++++++++++++++++-- pkg/tools/filesystem_test.go | 32 +++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 2 deletions(-) diff --git a/pkg/tools/filesystem.go b/pkg/tools/filesystem.go index 237687734..09063ea0a 100644 --- a/pkg/tools/filesystem.go +++ b/pkg/tools/filesystem.go @@ -29,13 +29,54 @@ func validatePath(path, workspace string, restrict bool) (string, error) { } } - if restrict && !strings.HasPrefix(absPath, absWorkspace) { - return "", fmt.Errorf("access denied: path is outside the workspace") + if restrict { + if !isWithinWorkspace(absPath, absWorkspace) { + return "", fmt.Errorf("access denied: path is outside the workspace") + } + + workspaceReal := absWorkspace + if resolved, err := filepath.EvalSymlinks(absWorkspace); err == nil { + workspaceReal = resolved + } + + if resolved, err := filepath.EvalSymlinks(absPath); err == nil { + if !isWithinWorkspace(resolved, workspaceReal) { + return "", fmt.Errorf("access denied: symlink resolves outside workspace") + } + } else if os.IsNotExist(err) { + if parentResolved, err := resolveExistingAncestor(filepath.Dir(absPath)); err == nil { + if !isWithinWorkspace(parentResolved, workspaceReal) { + return "", fmt.Errorf("access denied: symlink resolves outside workspace") + } + } else if !os.IsNotExist(err) { + return "", fmt.Errorf("failed to resolve path: %w", err) + } + } else { + return "", fmt.Errorf("failed to resolve path: %w", err) + } } return absPath, nil } +func resolveExistingAncestor(path string) (string, error) { + for current := filepath.Clean(path); ; current = filepath.Dir(current) { + if resolved, err := filepath.EvalSymlinks(current); err == nil { + return resolved, nil + } else if !os.IsNotExist(err) { + return "", err + } + if filepath.Dir(current) == current { + return "", os.ErrNotExist + } + } +} + +func isWithinWorkspace(candidate, workspace string) bool { + rel, err := filepath.Rel(filepath.Clean(workspace), filepath.Clean(candidate)) + return err == nil && rel != ".." && !strings.HasPrefix(rel, ".."+string(os.PathSeparator)) +} + type ReadFileTool struct { workspace string restrict bool diff --git a/pkg/tools/filesystem_test.go b/pkg/tools/filesystem_test.go index 2707f29b5..958036419 100644 --- a/pkg/tools/filesystem_test.go +++ b/pkg/tools/filesystem_test.go @@ -247,3 +247,35 @@ func TestFilesystemTool_ListDir_DefaultPath(t *testing.T) { t.Errorf("Expected success with default path '.', got IsError=true: %s", result.ForLLM) } } + +// Block paths that look inside workspace but point outside via symlink. +func TestFilesystemTool_ReadFile_RejectsSymlinkEscape(t *testing.T) { + + root := t.TempDir() + workspace := filepath.Join(root, "workspace") + if err := os.MkdirAll(workspace, 0755); err != nil { + t.Fatalf("failed to create workspace: %v", err) + } + + secret := filepath.Join(root, "secret.txt") + if err := os.WriteFile(secret, []byte("top secret"), 0644); err != nil { + t.Fatalf("failed to write secret file: %v", err) + } + + link := filepath.Join(workspace, "leak.txt") + if err := os.Symlink(secret, link); err != nil { + t.Skipf("symlink not supported in this environment: %v", err) + } + + tool := NewReadFileTool(workspace, true) + result := tool.Execute(context.Background(), map[string]interface{}{ + "path": link, + }) + + if !result.IsError { + t.Fatalf("expected symlink escape to be blocked") + } + if !strings.Contains(result.ForLLM, "symlink resolves outside workspace") { + t.Fatalf("expected symlink escape error, got: %s", result.ForLLM) + } +} From 8d757fbb6f03a3860c82c25572c61dcfd294bfac Mon Sep 17 00:00:00 2001 From: Tzufucius <952105672@qq.com> Date: Mon, 16 Feb 2026 16:30:54 +0800 Subject: [PATCH 18/27] Feat issue 183 (#189) * feat: add slash command support (e.g., /show model, /help) * style: fix code formatting * feat: implement robust context compression and error recovery with user notifications --- cmd/picoclaw/main.go | 3 + pkg/agent/loop.go | 314 ++++++++++++++++++++++++++++++++++++++--- pkg/agent/loop_test.go | 97 +++++++++++++ pkg/session/manager.go | 16 +++ 4 files changed, 414 insertions(+), 16 deletions(-) diff --git a/cmd/picoclaw/main.go b/cmd/picoclaw/main.go index a40b8d299..10b53948b 100644 --- a/cmd/picoclaw/main.go +++ b/cmd/picoclaw/main.go @@ -594,6 +594,9 @@ func gatewayCmd() { os.Exit(1) } + // Inject channel manager into agent loop for command handling + agentLoop.SetChannelManager(channelManager) + var transcriber *voice.GroqTranscriber if cfg.Providers.Groq.APIKey != "" { transcriber = voice.NewGroqTranscriber(cfg.Providers.Groq.APIKey) diff --git a/pkg/agent/loop.go b/pkg/agent/loop.go index f3dd94090..cd4276155 100644 --- a/pkg/agent/loop.go +++ b/pkg/agent/loop.go @@ -19,6 +19,7 @@ import ( "unicode/utf8" "github.com/sipeed/picoclaw/pkg/bus" + "github.com/sipeed/picoclaw/pkg/channels" "github.com/sipeed/picoclaw/pkg/config" "github.com/sipeed/picoclaw/pkg/constants" "github.com/sipeed/picoclaw/pkg/logger" @@ -42,6 +43,7 @@ type AgentLoop struct { tools *tools.ToolRegistry running atomic.Bool summarizing sync.Map // Tracks which sessions are currently being summarized + channelManager *channels.Manager } // processOptions configures how a message is processed @@ -199,6 +201,10 @@ func (al *AgentLoop) RegisterTool(tool tools.Tool) { al.tools.Register(tool) } +func (al *AgentLoop) SetChannelManager(cm *channels.Manager) { + al.channelManager = cm +} + // RecordLastChannel records the last active channel for this workspace. // This uses the atomic state save mechanism to prevent data loss on crash. func (al *AgentLoop) RecordLastChannel(channel string) error { @@ -263,6 +269,11 @@ func (al *AgentLoop) processMessage(ctx context.Context, msg bus.InboundMessage) return al.processSystemMessage(ctx, msg) } + // Check for commands + if response, handled := al.handleCommand(ctx, msg); handled { + return response, nil + } + // Process as user message return al.runAgentLoop(ctx, processOptions{ SessionKey: msg.SessionKey, @@ -383,7 +394,7 @@ func (al *AgentLoop) runAgentLoop(ctx context.Context, opts processOptions) (str // 7. Optional: summarization if opts.EnableSummary { - al.maybeSummarize(opts.SessionKey) + al.maybeSummarize(opts.SessionKey, opts.Channel, opts.ChatID) } // 8. Optional: send response via bus @@ -445,11 +456,131 @@ func (al *AgentLoop) runLLMIteration(ctx context.Context, messages []providers.M "tools_json": formatToolsForLog(providerToolDefs), }) - // Call LLM - response, err := al.provider.Chat(ctx, messages, providerToolDefs, al.model, map[string]interface{}{ - "max_tokens": 8192, - "temperature": 0.7, - }) + var response *providers.LLMResponse + var err error + + // Retry loop for context/token errors + maxRetries := 2 + for retry := 0; retry <= maxRetries; retry++ { + response, err = al.provider.Chat(ctx, messages, providerToolDefs, al.model, map[string]interface{}{ + "max_tokens": 8192, + "temperature": 0.7, + }) + + if err == nil { + break // Success + } + + errMsg := strings.ToLower(err.Error()) + // Check for context window errors (provider specific, but usually contain "token" or "invalid") + isContextError := strings.Contains(errMsg, "token") || + strings.Contains(errMsg, "context") || + strings.Contains(errMsg, "invalidparameter") || + strings.Contains(errMsg, "length") + + if isContextError && retry < maxRetries { + logger.WarnCF("agent", "Context window error detected, attempting compression", map[string]interface{}{ + "error": err.Error(), + "retry": retry, + }) + + // Notify user on first retry only + if retry == 0 && !constants.IsInternalChannel(opts.Channel) && opts.SendResponse { + al.bus.PublishOutbound(bus.OutboundMessage{ + Channel: opts.Channel, + ChatID: opts.ChatID, + Content: "⚠️ Context window exceeded. Compressing history and retrying...", + }) + } + + // Force compression + al.forceCompression(opts.SessionKey) + + // Rebuild messages with compressed history + // Note: We need to reload history from session manager because forceCompression changed it + newHistory := al.sessions.GetHistory(opts.SessionKey) + newSummary := al.sessions.GetSummary(opts.SessionKey) + + // Re-create messages for the next attempt + // We keep the current user message (opts.UserMessage) effectively + messages = al.contextBuilder.BuildMessages( + newHistory, + newSummary, + opts.UserMessage, + nil, + opts.Channel, + opts.ChatID, + ) + + // Important: If we are in the middle of a tool loop (iteration > 1), + // rebuilding messages from session history might duplicate the flow or miss context + // if intermediate steps weren't saved correctly. + // However, al.sessions.AddFullMessage is called after every tool execution, + // so GetHistory should reflect the current state including partial tool execution. + // But we need to ensure we don't duplicate the user message which is appended in BuildMessages. + // BuildMessages(history...) takes the stored history and appends the *current* user message. + // If iteration > 1, the "current user message" was already added to history in step 3 of runAgentLoop. + // So if we pass opts.UserMessage again, we might duplicate it? + // Actually, step 3 is: al.sessions.AddMessage(opts.SessionKey, "user", opts.UserMessage) + // So GetHistory ALREADY contains the user message! + + // CORRECTION: + // BuildMessages combines: [System] + [History] + [CurrentMessage] + // But Step 3 added CurrentMessage to History. + // So if we use GetHistory now, it has the user message. + // If we pass opts.UserMessage to BuildMessages, it adds it AGAIN. + + // For retry in the middle of a loop, we should rely on what's in the session. + // BUT checking BuildMessages implementation: + // It appends history... then appends currentMessage. + + // Logic fix for retry: + // If iteration == 1, opts.UserMessage corresponds to the user input. + // If iteration > 1, we are processing tool results. The "messages" passed to Chat + // already accumulated tool outputs. + // Rebuilding from session history is safest because it persists state. + // Start fresh with rebuilt history. + + // Special case: standard BuildMessages appends "currentMessage". + // If we are strictly retrying the *LLM call*, we want the exact same state as before but compressed. + // However, the "messages" argument passed to runLLMIteration is constructed by the caller. + // If we rebuild from Session, we need to know if "currentMessage" should be appended or is already in history. + + // In runAgentLoop: + // 3. sessions.AddMessage(userMsg) + // 4. runLLMIteration(..., UserMessage) + + // So History contains the user message. + // BuildMessages typically appends the user message as a *new* pending message. + // Wait, standard BuildMessages usage in runAgentLoop: + // messages := BuildMessages(history (has old), UserMessage) + // THEN AddMessage(UserMessage). + // So "history" passed to BuildMessages does NOT contain the current UserMessage yet. + + // But here, inside the loop, we have already saved it. + // So GetHistory() includes the current user message. + // If we call BuildMessages(GetHistory(), UserMessage), we get duplicates. + + // Hack/Fix: + // If we are retrying, we rebuild from Session History ONLY. + // We pass empty string as "currentMessage" to BuildMessages + // because the "current message" is already saved in history (step 3). + + messages = al.contextBuilder.BuildMessages( + newHistory, + newSummary, + "", // Empty because history already contains the relevant messages + nil, + opts.Channel, + opts.ChatID, + ) + + continue + } + + // Real error or success, break loop + break + } if err != nil { logger.ErrorCF("agent", "LLM call failed", @@ -457,7 +588,7 @@ func (al *AgentLoop) runLLMIteration(ctx context.Context, messages []providers.M "iteration": iteration, "error": err.Error(), }) - return "", iteration, fmt.Errorf("LLM call failed: %w", err) + return "", iteration, fmt.Errorf("LLM call failed after retries: %w", err) } // Check if no tool calls - we're done @@ -589,7 +720,7 @@ func (al *AgentLoop) updateToolContexts(channel, chatID string) { } // maybeSummarize triggers summarization if the session history exceeds thresholds. -func (al *AgentLoop) maybeSummarize(sessionKey string) { +func (al *AgentLoop) maybeSummarize(sessionKey, channel, chatID string) { newHistory := al.sessions.GetHistory(sessionKey) tokenEstimate := al.estimateTokens(newHistory) threshold := al.contextWindow * 75 / 100 @@ -598,12 +729,80 @@ func (al *AgentLoop) maybeSummarize(sessionKey string) { if _, loading := al.summarizing.LoadOrStore(sessionKey, true); !loading { go func() { defer al.summarizing.Delete(sessionKey) + // Notify user about optimization if not an internal channel + if !constants.IsInternalChannel(channel) { + al.bus.PublishOutbound(bus.OutboundMessage{ + Channel: channel, + ChatID: chatID, + Content: "⚠️ Memory threshold reached. Optimizing conversation history...", + }) + } al.summarizeSession(sessionKey) }() } } } +// forceCompression aggressively reduces context when the limit is hit. +// It drops the oldest 50% of messages (keeping system prompt and last user message). +func (al *AgentLoop) forceCompression(sessionKey string) { + history := al.sessions.GetHistory(sessionKey) + if len(history) <= 4 { + return + } + + // Keep system prompt (usually [0]) and the very last message (user's trigger) + // We want to drop the oldest half of the *conversation* + // Assuming [0] is system, [1:] is conversation + conversation := history[1 : len(history)-1] + if len(conversation) == 0 { + return + } + + // Helper to find the mid-point of the conversation + mid := len(conversation) / 2 + + // New history structure: + // 1. System Prompt + // 2. [Summary of dropped part] - synthesized + // 3. Second half of conversation + // 4. Last message + + // Simplified approach for emergency: Drop first half of conversation + // and rely on existing summary if present, or create a placeholder. + + droppedCount := mid + keptConversation := conversation[mid:] + + newHistory := make([]providers.Message, 0) + newHistory = append(newHistory, history[0]) // System prompt + + // Add a note about compression + compressionNote := fmt.Sprintf("[System: Emergency compression dropped %d oldest messages due to context limit]", droppedCount) + // If there was an existing summary, we might lose it if it was in the dropped part (which is just messages). + // The summary is stored separately in session.Summary, so it persists! + // We just need to ensure the user knows there's a gap. + + // We only modify the messages list here + newHistory = append(newHistory, providers.Message{ + Role: "system", + Content: compressionNote, + }) + + newHistory = append(newHistory, keptConversation...) + newHistory = append(newHistory, history[len(history)-1]) // Last message + + // Update session + al.sessions.SetHistory(sessionKey, newHistory) + al.sessions.Save(sessionKey) + + logger.WarnCF("agent", "Forced compression executed", map[string]interface{}{ + "session_key": sessionKey, + "dropped_msgs": droppedCount, + "new_count": len(newHistory), + }) +} + // GetStartupInfo returns information about loaded tools and skills for logging. func (al *AgentLoop) GetStartupInfo() map[string]interface{} { info := make(map[string]interface{}) @@ -631,7 +830,7 @@ func formatMessagesForLog(messages []providers.Message) string { result += "[\n" for i, msg := range messages { result += fmt.Sprintf(" [%d] Role: %s\n", i, msg.Role) - if msg.ToolCalls != nil && len(msg.ToolCalls) > 0 { + if len(msg.ToolCalls) > 0 { result += " ToolCalls:\n" for _, tc := range msg.ToolCalls { result += fmt.Sprintf(" - ID: %s, Type: %s, Name: %s\n", tc.ID, tc.Type, tc.Name) @@ -698,7 +897,7 @@ func (al *AgentLoop) summarizeSession(sessionKey string) { continue } // Estimate tokens for this message - msgTokens := len(m.Content) / 4 + msgTokens := len(m.Content) / 2 // Use safer estimate here too (2.5 -> 2 for integer division safety) if msgTokens > maxMessageTokens { omitted = true continue @@ -769,13 +968,96 @@ func (al *AgentLoop) summarizeBatch(ctx context.Context, batch []providers.Messa } // estimateTokens estimates the number of tokens in a message list. -// Uses rune count instead of byte length so that CJK and other multi-byte -// characters are not over-counted (a Chinese character is 3 bytes but roughly -// one token). +// Uses a safe heuristic of 2.5 characters per token to account for CJK and other +// overheads better than the previous 3 chars/token. func (al *AgentLoop) estimateTokens(messages []providers.Message) int { - total := 0 + totalChars := 0 for _, m := range messages { - total += utf8.RuneCountInString(m.Content) / 3 + totalChars += utf8.RuneCountInString(m.Content) } - return total + // 2.5 chars per token = totalChars * 2 / 5 + return totalChars * 2 / 5 +} + +func (al *AgentLoop) handleCommand(ctx context.Context, msg bus.InboundMessage) (string, bool) { + content := strings.TrimSpace(msg.Content) + if !strings.HasPrefix(content, "/") { + return "", false + } + + parts := strings.Fields(content) + if len(parts) == 0 { + return "", false + } + + cmd := parts[0] + args := parts[1:] + + switch cmd { + case "/show": + if len(args) < 1 { + return "Usage: /show [model|channel]", true + } + switch args[0] { + case "model": + return fmt.Sprintf("Current model: %s", al.model), true + case "channel": + return fmt.Sprintf("Current channel: %s", msg.Channel), true + default: + return fmt.Sprintf("Unknown show target: %s", args[0]), true + } + + case "/list": + if len(args) < 1 { + return "Usage: /list [models|channels]", true + } + switch args[0] { + case "models": + // TODO: Fetch available models dynamically if possible + return "Available models: glm-4.7, claude-3-5-sonnet, gpt-4o (configured in config.json/env)", true + case "channels": + if al.channelManager == nil { + return "Channel manager not initialized", true + } + channels := al.channelManager.GetEnabledChannels() + if len(channels) == 0 { + return "No channels enabled", true + } + return fmt.Sprintf("Enabled channels: %s", strings.Join(channels, ", ")), true + default: + return fmt.Sprintf("Unknown list target: %s", args[0]), true + } + + case "/switch": + if len(args) < 3 || args[1] != "to" { + return "Usage: /switch [model|channel] to ", true + } + target := args[0] + value := args[2] + + switch target { + case "model": + oldModel := al.model + al.model = value + return fmt.Sprintf("Switched model from %s to %s", oldModel, value), true + case "channel": + // This changes the 'default' channel for some operations, or effectively redirects output? + // For now, let's just validate if the channel exists + if al.channelManager == nil { + return "Channel manager not initialized", true + } + if _, exists := al.channelManager.GetChannel(value); !exists && value != "cli" { + return fmt.Sprintf("Channel '%s' not found or not enabled", value), true + } + + // If message came from CLI, maybe we want to redirect CLI output to this channel? + // That would require state persistence about "redirected channel" + // For now, just acknowledged. + return fmt.Sprintf("Switched target channel to %s (Note: this currently only validates existence)", value), true + default: + return fmt.Sprintf("Unknown switch target: %s", target), true + } + } + + return "", false } diff --git a/pkg/agent/loop_test.go b/pkg/agent/loop_test.go index c18220258..0bd38abf4 100644 --- a/pkg/agent/loop_test.go +++ b/pkg/agent/loop_test.go @@ -2,6 +2,7 @@ package agent import ( "context" + "fmt" "os" "path/filepath" "testing" @@ -527,3 +528,99 @@ func TestToolResult_UserFacingToolDoesSendMessage(t *testing.T) { t.Errorf("Expected 'Command output: hello world', got: %s", response) } } + +// failFirstMockProvider fails on the first N calls with a specific error +type failFirstMockProvider struct { + failures int + currentCall int + failError error + successResp string +} + +func (m *failFirstMockProvider) Chat(ctx context.Context, messages []providers.Message, tools []providers.ToolDefinition, model string, opts map[string]interface{}) (*providers.LLMResponse, error) { + m.currentCall++ + if m.currentCall <= m.failures { + return nil, m.failError + } + return &providers.LLMResponse{ + Content: m.successResp, + ToolCalls: []providers.ToolCall{}, + }, nil +} + +func (m *failFirstMockProvider) GetDefaultModel() string { + return "mock-fail-model" +} + +// TestAgentLoop_ContextExhaustionRetry verify that the agent retries on context errors +func TestAgentLoop_ContextExhaustionRetry(t *testing.T) { + tmpDir, err := os.MkdirTemp("", "agent-test-*") + if err != nil { + t.Fatalf("Failed to create temp dir: %v", err) + } + defer os.RemoveAll(tmpDir) + + cfg := &config.Config{ + Agents: config.AgentsConfig{ + Defaults: config.AgentDefaults{ + Workspace: tmpDir, + Model: "test-model", + MaxTokens: 4096, + MaxToolIterations: 10, + }, + }, + } + + msgBus := bus.NewMessageBus() + + // Create a provider that fails once with a context error + contextErr := fmt.Errorf("InvalidParameter: Total tokens of image and text exceed max message tokens") + provider := &failFirstMockProvider{ + failures: 1, + failError: contextErr, + successResp: "Recovered from context error", + } + + al := NewAgentLoop(cfg, msgBus, provider) + + // Inject some history to simulate a full context + sessionKey := "test-session-context" + // Create dummy history + history := []providers.Message{ + {Role: "system", Content: "System prompt"}, + {Role: "user", Content: "Old message 1"}, + {Role: "assistant", Content: "Old response 1"}, + {Role: "user", Content: "Old message 2"}, + {Role: "assistant", Content: "Old response 2"}, + {Role: "user", Content: "Trigger message"}, + } + al.sessions.SetHistory(sessionKey, history) + + // Call ProcessDirectWithChannel + // Note: ProcessDirectWithChannel calls processMessage which will execute runLLMIteration + response, err := al.ProcessDirectWithChannel(context.Background(), "Trigger message", sessionKey, "test", "test-chat") + + if err != nil { + t.Fatalf("Expected success after retry, got error: %v", err) + } + + if response != "Recovered from context error" { + t.Errorf("Expected 'Recovered from context error', got '%s'", response) + } + + // We expect 2 calls: 1st failed, 2nd succeeded + if provider.currentCall != 2 { + t.Errorf("Expected 2 calls (1 fail + 1 success), got %d", provider.currentCall) + } + + // Check final history length + finalHistory := al.sessions.GetHistory(sessionKey) + // We verify that the history has been modified (compressed) + // Original length: 6 + // Expected behavior: compression drops ~50% of history (mid slice) + // We can assert that the length is NOT what it would be without compression. + // Without compression: 6 + 1 (new user msg) + 1 (assistant msg) = 8 + if len(finalHistory) >= 8 { + t.Errorf("Expected history to be compressed (len < 8), got %d", len(finalHistory)) + } +} diff --git a/pkg/session/manager.go b/pkg/session/manager.go index 9981d4901..12bf33df0 100644 --- a/pkg/session/manager.go +++ b/pkg/session/manager.go @@ -264,3 +264,19 @@ func (sm *SessionManager) loadSessions() error { return nil } + +// SetHistory updates the messages of a session. +func (sm *SessionManager) SetHistory(key string, history []providers.Message) { + sm.mu.Lock() + defer sm.mu.Unlock() + + session, ok := sm.sessions[key] + if ok { + // Create a deep copy to strictly isolate internal state + // from the caller's slice. + msgs := make([]providers.Message, len(history)) + copy(msgs, history) + session.Messages = msgs + session.Updated = time.Now() + } +} From e7f15afdd4d1ffc0fc480f40ce0871b531025c44 Mon Sep 17 00:00:00 2001 From: Caize Wu Date: Mon, 16 Feb 2026 19:17:27 +0800 Subject: [PATCH 19/27] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 28 +++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 23 +++++++++++++++ .github/ISSUE_TEMPLATE/general-task---todo.md | 26 +++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/general-task---todo.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..4be385b22 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,28 @@ +--- +name: Bug report +about: Report a bug or unexpected behavior +title: "[BUG]" +labels: bug +assignees: '' + +--- + +## Quick Summary + +## Environment & Tools +- **PicoClaw Version:** (e.g., v0.1.2 or commit hash) +- **Go Version:** (e.g., go 1.22) +- **AI Model & Provider:** (e.g., GPT-4o via OpenAI / DeepSeek via SiliconFlow) +- **Operating System:** (e.g., Ubuntu 22.04 / macOS / Android Termux) +- **Channels:** (e.g., Discord, Telegram, Feishu, ...) + +## 📸 Steps to Reproduce +1. +2. +3. + +## ❌ Actual Behavior + +## ✅ Expected Behavior + +## 💬 Additional Context diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..d3df0e79c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,23 @@ +--- +name: Feature request +about: Suggest a new idea or improvement +title: "[Feature]" +labels: enhancement +assignees: '' + +--- + +## 🎯 The Goal / Use Case + +## 💡 Proposed Solution + +## 🛠 Potential Implementation (Optional) + +## 🚦 Impact & Roadmap Alignment +- [ ] This is a Core Feature +- [ ] This is a Nice-to-Have / Enhancement +- [ ] This aligns with the current Roadmap + +## 🔄 Alternatives Considered + +## 💬 Additional Context diff --git a/.github/ISSUE_TEMPLATE/general-task---todo.md b/.github/ISSUE_TEMPLATE/general-task---todo.md new file mode 100644 index 000000000..eab70c030 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/general-task---todo.md @@ -0,0 +1,26 @@ +--- +name: General Task / Todo +about: A specific piece of work like doc, refactoring, or maintenance. +title: "[Task]" +labels: '' +assignees: '' + +--- + +## 📝 Objective + +## 📋 To-Do List +- [ ] Step 1 +- [ ] Step 2 +- [ ] Step 3 + +## 🎯 Definition of Done (Acceptance Criteria) +- [ ] Documentation is updated in the README/docs folder. +- [ ] Code follows project linting standards. +- [ ] (If applicable) Basic tests pass. + +## 💡 Context / Motivation + +## 🔗 Related Issues / PRs +- Fixes # +- Relates to # From 13e4028d42aba6feceb9b6078cbaed9e83b80097 Mon Sep 17 00:00:00 2001 From: zepan Date: Mon, 16 Feb 2026 20:10:20 +0800 Subject: [PATCH 20/27] 1. update wechat group qrcode 2. publish roadmap --- README.md | 3 + README.zh.md | 2 + assets/wechat.png | Bin 143766 -> 145550 bytes doc/picoclaw_community_roadmap_260216.md | 112 +++++++++++++++++++++++ 4 files changed, 117 insertions(+) create mode 100644 doc/picoclaw_community_roadmap_260216.md diff --git a/README.md b/README.md index 091af2811..0a9dacce6 100644 --- a/README.md +++ b/README.md @@ -45,8 +45,11 @@ > * **OFFICIAL DOMAIN:** The **ONLY** official website is **[picoclaw.io](https://picoclaw.io)**, and company website is **[sipeed.com](https://sipeed.com)** > * **Warning:** Many `.ai/.org/.com/.net/...` domains are registered by third parties. > * **Warning:** picoclaw is in early development now and may have unresolved network security issues. Do not deploy to production environments before the v1.0 release. +> * **Note:** picoclaw has recently merged a lot of PRs, which may result in a larger memory footprint (10–20MB) in the latest versions. We plan to prioritize resource optimization as soon as the current feature set reaches a stable state. + ## 📢 News +2026-02-16 🎉 PicoClaw hit 12K stars in one week! Thank you all for your support! PicoClaw is growing faster than we ever imagined. Given the high volume of PRs, we urgently need community maintainers. Our volunteer roles and roadmap are officially posted [here](doc/picoclaw_community_roadmap_260216.md) —we can’t wait to have you on board! 2026-02-13 🎉 PicoClaw hit 5000 stars in 4days! Thank you for the community! There are so many PRs&issues come in (during Chinese New Year holidays), we are finalizing the Project Roadmap and setting up the Developer Group to accelerate PicoClaw's development. 🚀 Call to Action: Please submit your feature requests in GitHub Discussions. We will review and prioritize them during our upcoming weekly meeting. diff --git a/README.zh.md b/README.zh.md index 5a1c3c50b..2ca2987bb 100644 --- a/README.zh.md +++ b/README.zh.md @@ -46,9 +46,11 @@ > * **官方域名:** 唯一的官方网站是 **[picoclaw.io](https://picoclaw.io)**,公司官网是 **[sipeed.com](https://sipeed.com)**。 > * **警惕:** 许多 `.ai/.org/.com/.net/...` 后缀的域名被第三方抢注,请勿轻信。 > * **注意:** picoclaw正在初期的快速功能开发阶段,可能有尚未修复的网络安全问题,在1.0正式版发布前,请不要将其部署到生产环境中 +> * **注意:** picoclaw最近合并了大量PRs,近期版本可能内存占用较大(10~20MB),我们将在功能较为收敛后进行资源占用优化. ## 📢 新闻 (News) +2026-02-16 🎉 PicoClaw 在一周内突破了12K star! 感谢大家的关注!PicoClaw 的成长速度超乎我们预期. 由于PR数量的快速膨胀,我们亟需社区开发者参与维护. 我们需要的志愿者角色和roadmap已经发布到了[这里](doc/picoclaw_community_roadmap_260216.md), 期待你的参与! 2026-02-13 🎉 **PicoClaw 在 4 天内突破 5000 Stars!** 感谢社区的支持!由于正值中国春节假期,PR 和 Issue 涌入较多,我们正在利用这段时间敲定 **项目路线图 (Roadmap)** 并组建 **开发者群组**,以便加速 PicoClaw 的开发。 🚀 **行动号召:** 请在 GitHub Discussions 中提交您的功能请求 (Feature Requests)。我们将在接下来的周会上进行审查和优先级排序。 diff --git a/assets/wechat.png b/assets/wechat.png index d62c8d09db29a2bf18e191f6f1df264e1d9c5331..6e6f5011533dd3acbd2d0ecaf2d6f562004880d2 100644 GIT binary patch literal 145550 zcmeFZ2UL^Y*Dn~FAPNZ5TaY3kO?oGw(nUZ7q$?;@dJ8om0@6DO2%+~P(tGdHdxy|_ zLJbhYRq+rRVN&EBm79;qlOD*&*t z001n^18}zhcnP?Ni+2wX_uf6cd-(YG2nZh$65hX0NKQ=h@DUX`H8mAEB_%Bb8<3Wc zg`SdMSd#SFkE#lj)Qy6XY}G5-?}>t6@p-w!No9L)d4C%8}e0P}_FM*wUr92{(196UT+ zT+Fw9Fy{fdq_{%)ACpPI@}i=h;_VomRnXMw>wQ8>Dry>9wx{eI zoX>=WMMTBKC0@RgS5Q<^R?&K=t)u&1Pv7j*XLAcnD{E&LS2uUChiAaIz@XsoA)&Ex z@d=4ZKax|jvU76t@(T)!epgmi*VNY4H*|D%b@%l4^$(0sOioSD%+AfP!PYl6x3+h7 z_YfziXXh7}$gAtWavQe3ru2-xzLfq+&fs@zpMVfVQhlE@!h3pF>70TaPOYdqBgMy;nm3mpgz}0NP9b z4&W0iGl7q~2t(gc{4qmqg+qRh;;aAv@Q3-V74;nw6&Fl1JW;198t+|9W#X}>#`I|I zGTaIB#2HemcK}(T9Dlo3Rb9fy=7d?f~DHrKW_8?1o2FWp&7&rX@T54v2m{>pJ55b4;9r z>vy4+>*vA8)0Rc)IEbf7uq9@$f=Bm*DBlk&%=9RgRUS~bo_6_~$A8Kx`|9A}W+5%_ zLS*r!^`y_&yuS6(%B=oUw*^HP|MGL5P5Y~w3o+2kck<8|D$mkNhL5zPs4vQSkQ1;{ zo6hUpZ~F452J)WwAJcL3k)I{?g@ z4jL-MQPrT7Kh5^g5xS&!2k4r4ce2}Vywh*WJW^;`p4Pf1gm8%|jxc>uB0!P=RKM9O zHUzKta9z5FfbRf#{C5C^(6oU_`Ja&MMLx6LXI$HSNHuTW+o+2k1Rb~k#g*}E4;J)Q zxg3%c#-rOM;+efq73DJ8^zp&7G66biz!^oF;lo|UqCeFtcvLUDO|sOfbp3m5ik3FW?d!y`@dDQ_m~4$xsz zvW*6rppho-$&pL)mdM-17qMk@{bC=yL`Uf@=9?AxzCV)BZ{Zfc z&&woB@L6-~IYZ>$+G=BsO;W9Lmd%eD=N@WG4No#j?eMLp^U!#Tn0@UIt&(FFzIRA} zn3~Sf4vW0KrSkh#?Lq&YZ4_7Rl(3P{x`!I#0X~aYS`q#U#SH880QswU?C zsB>kr^YvC%t^PL!Rk;VR6gH(O%dN-Hw!ihT88yZO+h!OL#mb@ck`MaEv{yDw@r}8P zss1EPi2XWWfA%wi7ERn*g}|#MFe4qIri;GTS(;9;`}LardsQIBP0=jn6dJ_oXvVVd zfPFE2z|tVsPnv!Q2=u%IMA)s3xrk1_vK4wsJvS`3_s)>KPX-=&;9DgoNz`;rr8c++^0du_~;TzZ8b zbgpwM#A|uZo;Xr_#uh(KOcK+49M>^1R5jqRBX>!$r!N}7mqyq>;gE&o-Ndbhnv^}d=+nN&mT#$W*m}x2j~sgV{H91!;rC{Z1JJu&%zJ>-Cd)| zc*rO-3X)u&+^w2km3%h){$xCqXH1^LzfM!09PoE)v?DX1^&!X#uy5MGlDOYJ~H?pkv;1)m-%=Gf+Y_mn{qrhBb~hs@2fTU^OH z7_R|N&1z>{P+HYhTuT)bdigoWs*tQ>;6%CFLAiHX>|A_%zUFJL%W9;zys}E%jC1|3 zJAk3w5!axvpd*Y&5Z!zSxG*!$H3j(~bz@PEse=g0)H{Ij9pHw)+yu{ETMq~dF=_nd zNuO@Ud%5Hvy5TFXVrMb#a^w0Z63n>mZ=la}p!(3eHuYLtk|28q%~HLQ?OO9Qn`VQu z_Y5@9fY7jge`4vCAig5kTG=JXTRlj(gZQS=*SW7F^K`IeHyzkCVSCs%vATW8J$Fya zkKF65IGtE7-&-C*9`HT)l>>f@H7Hyn%y7plulrQh{rPK)4EpWeZpWUV*>o&fuJOgZ zy%ej>Z}iSue;Z+a?=iL49s!klv9}%gK=tncWifYvr{$FJjTZ}QTuiqIWC9km7v-i% zQugF~RX(g?SHiB!${*)rnnluVvhBMdWM5FAGWC4*kKDgs*7BClJR`|()&$XTs~ho} zojal_Fg~5q-YlTkGc=&SE$SKmt)TwK9iS>`1y#NhCVN+OS~QzGU_qJczvv?s*}Zb=9?|(WI^2dz`?aw zN6Mlv(|F+7qbd%=ylHVMUFTd#?>CdEQ{j!3dz;Ellu^K!Qa^6Frd`UB@Gu10yv6-7 z1#JY&p2KgaT*|?CO?l_Ezf(B;mn{EDNc`_<#2*u%$&$uK4!iHX1g<-K4)V6DWCH-- zugMqheMq*o|D;s18A)dU4Bhe}w#@aBKFW-lrTMs)ZR~h*dA*@CoC-^J{n)B7v6VR4 zWpL=^T|iGJ5)-M;*t}CWTD6~A)s#3zyQ^gZjY_rL5!}_Xy!Mum SKV+vK)H)|gJ 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 z zD0)KBRlWlmmm9R^jp;k`F?w%GGG13Rm9#Gx6x8UlcRx^5^8GSM-V_PgwTtzq>AnIF z-KCyeUskZ*%$M>Qo40_>-M-2r3)VRffIaZ-0fI;3{W(r$Bt0Sh(w3t%bAWjjT|rbn z^Orrk55-DW5U$bf(FDwvnlX1<%D@kM+MM#T6wK`fA^mG5UHe^`S8cm+G4aO$o=W#~ zvA$+?r)1q?Qe(Yj5&emNQxcYb2qNb^6_Mr2k(C{u9QBuWxTMLxVt=VT--M7>dV^4m zJs|T(&tCPtK4n|opJzny?V1_yha0Gin0=|Lw-TuhGj#`8iUqQ(32Xt);dxSVIias# zz2?zK#<%KO<@Wi{o%q|W?u>iP4>ZnkQt0{7t1?#3WJy^%B&o(_y`;L+mt8DhcLBaJ zNV>Rob_>31ldg;Ntz-RLdf98WR#4$456LFE@G8{bk4{0$2b+LOPASTq2wo1d6X^eX zs2~62vxRdJDv9Kyxx%iRi$6purN|FM9V!!!peeGhDpP0dILQ8}wrgcuPDQm)>FcM7 zdx&z?7?=@92bgJ2dh^D%kOmNRM>EQxQPRzfaQT;!Nams0?llG?ht77vCM&DTL^UyXPAj`C2D+3)s1fJ z6{IXaJFRvuy>er;o2ZW#M@VBAkZhfwx{}9|3b6ILriC9RgIYV?2DuF&8^AR`OVFRW z2cTLzu>Et3{{vx!!OnVSgvP)?!yy~uefVMZYmZ$6{#}l)RXQ2=K^#Xd>;46Q#h3`; z4}>+0;=?w-EAFROYVTs71Q~OG0qyJB&8hwfnql=)TI72nzE1`$!luqo7w{ z0FfmXX4#M{S8Fcy(sjKLy*XdCk}1g2y)f3qs!UJx0AL{mh*tu30S)qM-#8YTK`*nJ z<5AprP4kS|8O>curJ-qqt z=LX&kD+ez*-wD$_a!M!hC8v}65|^)Ag9ta61W>aK;$}~&*?^3bq8Gq2-9IwibciR) zmN(sTxwpr%Q#Z-6G&7rfR~!cq@v)6)h4ZcK&bRXTUt0;!8~}OJ_1e=^sSJwA%KVKg zdiJrXl$BFOuK2U^ycG~Chtgd0n`?ue2{lEc&jjG<%HyD4MW%aZ zQtcyGl7!QxBcl=8elgzDN#fWLe;Z6{iSlb#Mmz;K6v#{kxBLi8-o+8V)P#^7yvuLI z^|$zPyOdYmP1ZqM`dX~v(Ry}dm^6K}RvV)E; zunXWW_2bZ|)LcBkLGYoO_{wJu8)@8#6K{8-SwGItPCk77ZQ1?Vx6gE!TjtIoq{>aw z;$rsG9AEAYUqx(E8g~dL27~Wh>A&00+iCfl{ppw)GhZ>kOFDsK9JF===6C>(9ZxtlvLuNQ@tHcd(;v2e4#D5?FD5@c-udI;8C=!$( z>IV9vfxHtTJfFri+m7B{+sZYPO@~vDzt7ZRG;+;M7?6|gbk^YER#rVxL}+_HH*C*m zD~A{tZ>;alQ;G*C+K2dWNHd$+dm?Qq)llzgTb=DY?j8 zTr0i&<2y_=_0JC{MTjt;mudY0zoelzOL z!v@>_fWH<%H5D?8_ab}|!F8T-0oTZ_xScKFa@pZ5qYps)LraTm6$F1Yh0pu&X(g#9 zX|c;X=#Q96Ji4NBjH$HF1oNlyIRq<=I9Ge-G~8rHzPo^`wA;~A<8SDM$Av{P@;-C9 z<;HDLU2zTKJqU@4ixS$IKPsNi8+eL4^mJZc3e&&L<32|Z^H@t-9@MU^dQ0^i8JEO~ zg$%B}zKR$>lxW+R|(zJ$j`Siw%5Fb(4y|a~jERQ$bA zj2@t;8vi>KPXG6s!b{MJLzFN7?*_wc>j|!6&!76I!A>mWJ-@qlrQ!wq*6#~lpuT67 z4o8Kpax)^_b3i_NIHu8duH&YX_ULB9qXmT!HM2{6|3C_Z`XN5FC(nSoT{)Tv{juT8 zTpd9W_*|Ye)f0Ee!Nd9JJtSz^oKsDHB~}QVym^3w5Hg;e4G;4S7sSt7q^xVzSkV4T zLoKNT!y1G%kCn$Fwl+^wQfdrwen3s-p^47EUcAGj>{qb7d+)`efUo$6xF`7C#ZIo-*Tb6HmKi7tGv zgH0Ey_b!^-Xhdp~-TP6ZPLGFwxst11-o>WXPA|8ZpACoe9>_s9bsT+rX+OrtY?m@} z)nO@ccUN=aoyV1yd)uF7w}P`nYQ#u(o?UoTt9u6UpK?FHad)aTQ~r)^56eIfH&sFs6KD3QTuH3^Yf zwkf9{?m1?>xn1YUwk-D~*o*gfZcbBcZk4L5jQiebN0v2j%~YH0#<>q#ifr3(@~Y2)1s zki!-^?uu9>lyMwkFuLC_0~?h(VW$Q3m*qRG7#qK<;Tu*t^X{#PtP^Fh8SoJ^Ny!5_ zv~4opV~E`|v#BorozQ(blJ52kS#g8U0gO9IiXeF40|9lh;TJJ69g=|&eE}^ma}Q*( zFG?q)thlT3;EpRQVetO%D;anvLMUdkInqEWH4h&8a>U-Lq3dS|er?6*(s--!;+EX= zuER{4s?~qf^MZUOfi*1wWR`#s*Klb=c0=KDhwFhL;DHa2RI!N~-Ll<+2>>e5Y@%@V z9m%td`={J5(Un)Vpn&(Xj5wZOna~k*zo{3WBRrX_fNvqe>CQ376gOSBn}`X{>BzG= z4qmJ-?W>k}1jcMHU8xUB6l7h6E4AkV5f~M`zO6~w*c*xexHdNSu`c`VyTlcM2w|BoP}oC@h0g6cMJKrpqrd;li*d)#}_gl;c(0tr)VqOSe-de zt<;9YBfjmUfr%!SMsA17r2@ztP4NqpZzueKW|w;6X9o7l?%jjD zEai7z;c;I8iTKsun-vsnaO$0h>B6HwK_#A}Uq!w&`lg~W{!-k_Et2OfBrV(~Is6GG zttZ#vE6BQ)XmU~v+Q*B6wS2%ZjKI(B}s$I>SeZ^BRGyq>2 zmx)?)4u*OFd{N!iR=6<4{#>YMQ%0Cs;PNwB2-V_VOUvLNsec;)AkRMo!(MBzpqw{j zxV2ZfW%)&hD!S)G)ETe8l&}o)_{~^@%&#@Oo595n0#$U3)8$@_1M&;fN7EiSd6bNd zq>*wYQ6*L+noq>wLun@e%9UR&H&+0ptn|5fB2B!HyYX#~JM7N-#Mk4fI?-R#6I$?P ztJl`c{7mNYwc&8V7$0lW9zcX!IfXx)>gVv{kh#pBsGrs3FXGR|>LF{-mBqvTOn9>C zB9RN-AdfxiobU@vXJ_A`Gf3tCz?i(b&X-79`kH64H!XADq+t%x>xPp=F-!I&ne2Q;)s(RxwL2j~l~Qh?#5e z=j5Pu^(UsJy+6+(pSo073YE^U(&xM|6~-1tH6sqL27jOYsk18x9yC!I+unKabrT+M z5E=%iJ6@*}IFa35jFL>0*A&M&64$4jW#M>`GaR>>&;1mrU2Qgb!#8+%tvHkSBn;A}Ri!c<6$= zj*5G8HA!Qq5qBRLI#$lz-f!2!#V|sTv}0gKA6|f!^My(X1!lS364Kmgm1WuasQB?+ zkrn2Bu}3CC5l5Z>v+l=M+Nbgdef5DQCe-r3DYT8y$YL68%-{t(FUIUYtu8)}W-*#1 z6NRm;DA@&&{sqg3#c_9TcEm;@)DzHbUt4^mVMe~)Cbz~EpmUUa#V~C@>BO}_IRL^K zZWf+{u+l~RLL~&T@ehRR5GQ#S3>5t>Cr)Q_uou4lXBS5iq}XF^WfR&Tr=trq3O8FD zK0d#8%Tz;fagf6;W_112GZG`GPVOsHz;oGDIe&8bd*JrgHRNtkwW~%M#N{{V=Rx}w ziXZP^KBH*Kzz+J+`>h(mh%{BeteLoDK+$&f{V?8Xl*s8OT4t9L^?hHBU6?*J9I0AI ze^S82altzvVgIV%@YI)|2A)NOU^$SEdE8i@Yvo{;$i2jUq1LJf` z33#Uf{4CM6aeH{4x*?<7axiEye%yV0@x&vcUZ}9q=z-zSon%MfZK#f1agy@9IbrrJ zRGiLlZpaVdkCD?9gyt_o*1U1ra^pL+hjYI`N!pReqn3-YIGH?!^c=yI^Z1$nYpeB* zxwE?2atjk0O@~S2=>Efmnv3EM%?b6g(*rU-Q->(&eMSZnEHhDZ7CCs#OmRkG=!fe$ z?01_xt9Ln(vGJv@N}14hZF}gwlr#}v>dAp*!P4y9zC0J#4O#RdHPJeO5^adwan8NP3jtVXcVR^qWDyz6QY#Gxa3z68&C=3Mkr`2tI#%m zvwI=kPtP^SXhWGx#v56JG~ zO@*_Uv2~~(qqvwHmVOBQkSK`;;E0(S*n75`!HkVU>|lEWT&o2ru{{(#n3-N<TfDggUN*-onKXHw zmMB;j!_76YTgjmZ!qIZ>mj!K>tK2xU)t9!O%`K@9xW&|PmR+LwU7@?Y)QlYDn4D6T z^1Y3_4F7vCT$icpT|m za;0TS_f9n{sBv?1i~A>G;Z1Utbs=!#8w@%8>%DOI%N7sr53uToy;;8m*7`$p)kG^7 z?(w*xc5-FPKvgPLjeJ?xH+6Nz$N^$HE1i`X?(g$q>ODbNm)4+?Q* zh`Fui*0nL96j1!d&t9385ZZp|%QalVX|Sgq_%0svx;*ilhvjt@k!;Qy!I&?{S0K9% zlK6LoShw8Cc8@GoODDeIc#KvTrl$ZL?L>1Xmh5gBuyXd^nXCKw ze$Hp+i=13b3&qHY?h17RP8VhHHpju6IpUypf`Xd2t_dWOjmLcsA#YaCg@7jYf9HSF z6{iWeIlwkFcwnxI8)8x8+a|)#t)vTLcr8h$+e6F)sdq2UMN!wv?rKxu?Qx68{hz!N z8`FZnBqBBvoa2vdzQ!{?)mzA15M@`yTg@{@-+=F3VLvlS=3!T`Ttax^U+;81}1H;f8TSH`e~7Z z14f$iLqX&*aupq?_Qz;O zQ_8WRRYM3F)CvM9718)uf+QxEl`z5S)~@N`PL-5T6{nC-|ELRk7;}jSzppfkB+8zq zH#k`?qyfo+UUg+@X<2>5y1wu4cn-DJs^Ay#nk@JM+np`gf*;+QA06+|excLzlG4Bd zIVO4e&``I3Aygf8qr6A4A^`?U>J0#(;<_=~Cd;>W=Bnd`^J{NJ|CtiLP@u62Rm>&b zr~B7xKq$wj;|?S2&qQq5UZ)k?-evQNdRFjkd`gOMC7d(TfzPFv3;K9ji5da$gdcr_ zG+8>|sN>f5&bNwm_WGQ3nHcp~PKn`=IjmQZ3b)U57=!Pyi2_bLqhs1oYxv;wac5fx zkH(vdTDb0Vh#X5=wxj&#U7uhxA~hixgD2$7Zy3hXt|uo|Cu=%L$#_8T-H}*Xa#d0K z;HJVAj9Zw4MK(Zjf;ynwVl13aJMLVR>ZMofi3rv(ADp7#Lr?r7(g9T_Cj~|+5rq7+ z+p)8gOU4W88>qFCKwfkLY42_2D=W%2+}!Y@Va#&*&%f}X7vR#;s#4wc5Wg^ojM2QJ z_Ec}zHhB}A*r0dXjkCI6UXLTs^R)526=?0aoo-<%1XbfF{U`^dx#qa)Iprv6@TeXa zRn8L%o$QNy`Y4~4N;v@5i)HW7EpFol;xd69vqMGH7X`<1e zcPAiE#bZpj$>POBPuIP?3wKRb%$!}b;#9bu&-qLox+8Y{urnnYDeCm%_nXQQ5oyZg z22H9p`s;C#43_32^iffPx8ZW6Zg?L8C#IPap<02X2-lhDnP`)vaw*6ce!3m?nH|~# zG1FA?C+X%}Pq|6D;1{7>J{#@M&Al;^6b@##hkWxC-E?Igy8)Bv{Un6?6|d$!$0Zps zbT-IMMtn6d&i%6y^Qf}Csxn|mcIdfq-@uhQhj|rN{tQ#FVz;k2;t|f9_yi~Q93K0s zGI01=O$B(vIU!Opa;yvvI^@oBirVkF%LZeJ&|JjxpvNNz(+|$twr5`O>n2ppF+Avb zSt{_<=N5VYH<&WW5dXlCD*kEP-N-%W*K+o z@FwYz;+2L}u#jutQqO&F{^wEnmpT_>-{cGaN?cShr`qTm_i5sFTIH&$9jL<#$V|{fNt*c2^YK>hL(n2 zvzZtx^vs=9y<((}uQkwB7p<88oDgLmwE(nKIqT`=mZv|mX7!HJbtf|8uby}~Ol4bf z;!!o+b_j*(T+G%)l`+${aVf`ZLx!oa3jVWPS_o&`_qfb{yh)l_z|C##gmJpK zVZbk0KnI)X20oFbD|)7M6t=|O1Ppf+NO&b0VlMP)%8tAx-JS06p}|5?=>i#Zx-rGu z2ZoXLTi5x$wIY-DEFPGP_TJTU8*FZ;@|Fn3+~GR z!Vtsdw=N)a&S$+n>jmwI25oGGkzIA!%+#cbrftGw4>{GBd~WXMdt6W{l07G)WGoU) zI5wa;@rfkb0qLFp8C4Tjusv0gPd8q$*@g@ADs0J2%&lA*sYVWcvckIVa|O(K_});A z|AHgWnQ#7Zc$gwERpsHT&A|0eo%$E*YQ@2en1#3re?^^!S-d}15hO~VacTds-bE&3 z2a;X*8$>!DUQKQO@DW9Z`$z(Mb5{X%(TdABy*k4SsEe<&fVyDB(1a=7fQ>6Z8e15> zp>49e__rUPL-!dOU-Z!Z>Ic|oH*_P!(~l^bjEn`Z-fzwxMttR+9N|l8$Lv?$6goF4 zJn89PD73Kkm(Si!Uh2npDk#fd49me^S>q|h55Thg1Bq&0bpQ!PRG>?Q$zOG10cZ8S zvz{gvu%kev?ue6ibjOsRNHkkz3)$^e3n+v7>3 zMoZJsA#P#u`2|pXi4VlaqQ6jV)ZFQiJYvxpC} z6DHf!(f)G1yG7`kvsa)eODn$a2#xQ+y|16|7jA#=Mg7Aq2jzQsRen+~Ms1f^m?^tR z^L3GQkbz{u`TWC_oi4jLTrjU@TF5t}_KHOD>1A22mK6MK4A6pBHZ#D*TdR~f(kbhU zX<8gu1&~T!pQ1eipE3kpJJLK8YjE4G;HE{`kp1c9j&$GpQ)0^gEHUK%AWtcoHy5C( zC!l~0CHd|K5&`3H?pS%=v8IX)gJVF8MY-bW$0t&za z1}E!I<0o8nzpE#SC)T{fhXT0CR*(iBA&4t=Ci(8B6N%sIYP~h7M7HS^5WRsE15;Mq zi4Y%c6AEC57D5yK?uPr#e20AJo;#>B;Gd>Up0*r(kE}eidmV zjMm3Euk$x0j(l`G-^%Q^-M)uL+V;DAxn-VS{+pXBD1rM@BslWa^X6Plb9Kn>z`(%x zlt@D5h$ElT?&QnGx%b5ur$3bdQ-+c`7R#AWaB{_0Ef3jway)9WC~?+o<@l&h=7JXF zeyH24T*VCBB;PhBn3BJ*AEvlxO|mC5#ee=X>n$!)!w z7vQvEOenv^$KvmzjR+RdQdgCqu@A0u8>u00`YYH`gFm zPSlAkIGPxuu4N&?)ld^sX{c|SMl4I!|9o3vMShUOoO92_XRdj?x-)4;c&MmScev2L za9hXILbG9vgnIKLOSde_ss8evJwrZxLJdk<=!tF{WQV8EVxS>`8xsiy6CbW=#7{{@tnOYkeHG3T zB1Lk{u8J@`c}1v4zHVmtG3+3nx?#w!W!;clxNPk&^6hh4O}Aj}ev$AzMRWs{8Azom zJEgZCYizp% zGa33#(d)g$3m#x3?U=SpM|8f+a=*=VnqFYB*wARRI9dO))lsM^~tCXImu+3Z~mSjhA;S z@g*#fhg&LD<{BB8c$Px1BDaLIT$h_NOGqdn&QVwEIueCGo-DT{1xx7)am zVNn;`)xz2KA-71;={eG+C%574$QKB+A*qeDw`a?pM}k^mjyG&x1-9}P$ykxy35pAv z{FX^mbAEUbz!?gLVlQ0PMb&NReeceh)>~(Go#E3I|I}pxh^DXmf~;@sl~H z@CNpU5j0U%`qS-+wl$7t-OCjP>$=74DjX~6?VPA^qA9L9e1-506E;wvi{dQGazSL2TF6^7 zNd$E`D~`rr;d$GyBCRh(FyYI|jDj$`d$ScE*3PjAu! z%U|-_Zh%T6HUgaiJpTpSsaUMx;V;jjzCJ{KaZ9P4+%A<4yay8x{FC zQEtMg%=c%bH{PD0SPUn9HF^N09kh-&nmmmchO_rAIGZiikp7ey^i4bS|JkJx9kx!A zNfQPfB5$Fb_x)TLuY$*nV(aJQ~lsyv|#F9rQigaO8L3PeH()u@Soe;c3&DE=6jaQYn(VPK96^GCTTgo za;%HLgS%T^pd4P{?(ldWKQnEba^2w$fGHVaYLb9p`^5Ei1?I4wwMOq+=IEIl*_HqMf?thpV~z z+SUTXHG-dmJlkh6>k1K`>p5#5nNhrygojpJLX-H4`*8e{QBQ6LA9v z4Rw#)&~xW>=cM>V74Edlr~_p$N5>@YyfgDxV)Yx(!d&7Pxo1d?+A=2!uhEPT&oBSL zZnUCb8%+IH+*#YkL7-nV%^I9k1-ln)*i)JsY(T`6GEK(m(u^oRn+r6yBRX zqo?^_>!0hMXy=+a35kA|+zjh0uWNju&?ct4XlO_r@7roJM}>s&3@T4n76mGZ3pch8 zINCh>46NqggL#n|go|@pJE7?iZNXPHA$Ds;T-(nt$(xBV*i#Tn7~BHToMpZ=fKqNo zHt$Q=aTD0jC4Dn2xazRM%|r~Rex+T~$Y#;&0m`5DJ#kVWZ?V@UgtJ`mWZh`Vr1@oC z+?PRkqM!*d068#v2MqZ|`>?-RaH7o^=iPgCud;jOdo7dJJHx~8e7r?6?gK+=UMIgP zMx|R2Zdl`$SYOVW)d>sSL+?hx$bN3&GLB8bDj(0{faZBIoZu-H8|sX_`<$j3lJS)W zBaQAzv1N`rl7BzEft)5koe%A|?A)%MfDFRCAbTKy;H_Vn@?QHB0AX6s7`G+{Thk0S z@bF;;`irM|qnnm8sb4f=)W!Ke?@gY*VJ{t+2~t1+|JP*?5MHoq3X+%ZLIE*`J54)C zdk7;a&YwQitM$%D>u1?y?A+E&V-~EP$V&g|uLJ|^lNBNOABX}-w58&nH$h{Z0=)`% zHc!99g@$#id<-Ag$b9>91tnSf>GR&#TrQV((-rGEt5^gO?6QDA26hzi#}&;)N-!T) z7u`&$ATAzw#=SbjU0bV_xA~n{(_H75e%jZ7^p+~gS=JVi+HvmRhr_nKi)~Yw+ozRJ zxQ@N~JbX*~uy;Ex{`UK~$MwW~BH8|=y9_1X;1U41JyH)`hBc6xetLxf&6}}z_g>w#vBF7k~o!kFN}l!;jLJP1EVul%ZCk9%cPuwbBc1o(OV|qD!oCG2|3a zWf@31T2Jo4kCvk?*^FGuAp?%(6;=uUavk0>DDEIHR3w6RZcARJp(Y5_e_$k8?qBGtFuZG=46>2*T~h!F%Ci z+xsV;%g*0CT2@+MC`^;|ZuCqelr>#aO>V{EA9lBMEcBKHr(V>$07JCK^KAA28Q8UaN>ct41@z-?ALqg zrW-;m0A{JGIB_b|o1EO9T||~{cS;6CVG4jg1WvOhiVZa;1pl&O%L%b}nqi9Wde#d~Iyf6>%o1eomft7}1wd(opR~ zv5mO(^Qt~dcg^8Ho_SE(|LdLqZ}=uYYG?rxYtVq^x~%lqEXd+hxl z|Bw6GA3XRnuC->(wbu1J&+`{DHDWK!J7}{r;w&q6Tk7R*Q_<$0Ml!|r)N-v+NmO}} zdXO0flVbII!9<4HbAZhgA5r)Qeh$td`^cE&ASJHzJ}H6u_=I-AlN3MsCu9hJs>Vi8 z8pIgleNXapx${Qf@yccyO`josS?St=>w?|2tEte!wjJHD6D8Yy>FqdMasRp53!sJ# z5JPDrvkj#vF6ksZ#Tt%FEh0EK5@cgSzw0?Y;8o_?-oBs%^>M=WdJIp}derc60}bJv zqu=hA_MfL2FhS+?G-(*O89LVE9^-?8B7kh+yXh>J*~DHI(+>MIJ6nq+1!p`rQvEI& zn);PqB^%4+AqL>zI^D)|Hx>kdg>E`E<8heBTx}csGovrmg7O`jE$mh<1c5i&Ygho~ z=ZqMsyh)x7JGySNU()~Rp=>}c5Bc)QGKG@T!hK9NBRzq(IcR$? zE9K(kZ)`$VJ57LA`3hPGAv#uKdR*6*zDTO{n!`0WMF(V#hk?vUhANe(T^S%G>)I(j zTE!33oUMatCziW7BIS}exQ@F1ty`u&z>f)Xp<1jXU7x33aj&2^%0Y7jwX4$6q<$Lhz`uG-!LrX&}Ny} zuT7x+I8kB>aV|18>@ImGr?>@yklycD$GALnQxaGV8dwF-s`Y#gl(-aY zpr;|PWbMJ8+L6Nl z9mQcZA$zV^_nE^Kj~1I@3v27C&4B2-$J-B(IdUiomN}9NmQFe?4=NK&_X;MwaL=~C zq5m7{I|67WVW!goMx`buM-*dxD~dQIym1d0K@UJ6&|Timh_r{TCPtCbwzgX1A5zw`o7@D9E46zD>0=6|xpb50Zue zCb!urkpS}9AUb5Y#%zm>zs;`^`}dn+(`hsY6GP;T<~yKXu`GwR{hWJ{NbN)ovoD7A zu|U~#s3&xNGjdU{M_>g(Z{{TLKL7zFG4_4Jc|d8_vlfMxDKI${5+Y|BI+3NyXfSwL zd`h+N;^I0NcR>m2oR+d~r&0(O)i-_!|HpXzp zc^B8Er>!MdPDquK06`O*J(K2|RG=$A6mL<-l0qg#o66|s?a^nC97Od{pImNV>xuTD zlSg-zXh*x;NuWNGwHH#yxtor5En-{qJJYu5Vl+J7PSrwRb_O-yRIFs5a{sN9N{^(v zMeUDF8Ky7lle+6?tCpxh1Je6?!e?=FyP0#*p3Nm+oLFbhR(&(`AR}EnpP@=e0Mo6< zaJQ&v-lu#>y{)0CuGZg0t}IhPk%IxtkhgDe)us$*Ji+^y^K994bEKH=P@H(_W7uvt_L+SQn#Z` zwGrY{CYer7zv;SqF;{D%*LBBKJqAO!gu9D1)E$a}}x8%@iM4#l2F+-oDAy6IwZ&ZnwN=?wo zD>gFAbV({9#bQN?1j_XU1;Dt8fjjvBKD-nfC-_dtbYcS*rdP*+;hBwPa+nlsXP?I4 zXqPK%86$1+Jp3E;HG6XCbt0`h;`3ZBz-;c38pACU!g)_MPGAQ2LvSQPLK$zW98)@ReluAmJ;tmUt8qvV)CM5C976L#s0r;*( zowtQQ`nl4rH7ydP5e;uH*-<${mW^96*P?8go7_n2HTvMOUI71x0u-{|qs1~wJbR*` zv1|GV$(r?d(_ijptslKn=32iq_1j{PpFhjcYy8h0^f~+Y4*v5MUE#Ls&I{*KnC1D7 zwUrLVPr%d705TQ2*AR}usCnlym>4%`=?e{Va^Kev6R{b36WcW4{E9X&lzEqpoA z8HO@#D2r7mNrYPPt&zjKfR z`G8UiOA0wRX+|Dk1{*-}`8>a@HOj6%)GXC=zlS+oTt(FQQ9{Gbe=B1g8z@5X8n;HT z4S`z>)Ns8=$AtIxS%2OUOkD6uE#gO1Nn7LA`)bUQ{jR-jEddH?;0*u%h!=VrT>0Lm z0etY;+#=OEih4mFC62P0c^DWd9Ss1#JNbYY(?KlnM6LWdS6YM?1BQ?2dSzdigQNhn z&R##-x$?Qu_By9#pnXLHzbwcMbaim{b$!yHZ}c|VTr&qUiUHm#a8Z*9A>@j^GDb|j z4pS~8Vg^5W>$V-byk#qJoJ}S9=una!&KiD^NvKhevi;~7@%=WBRB3J~9@om&?si@?@$O@BCtq zJ(#_w;T3KM;Gk!gE_la03luo-1mfjIEY0_a+}4Y*8511#*B0G-{LX;9w#aLK4mF*$_~InWP|D zdtdL>i^AOgf$?TQ@AAJ^ zX8fmo@sTs&CT68!0LJdtCAl(SZSduWnOXRGV7A z&0LldOGsGZ^BE4X57h*F8VXR|WJv&6ur8~9+koCw9UI|8ml%cLS{LGtDZ)3s`QL)b3+r}_Q8xQxev zGFX3)1UMR7qGZs7vw+82`jFwcC#NJ8@raN;dAUsjsy^A_)L4~2Yh z8UFpA<#()+zcU4SnQ|62Xc!~T;uwq((eSA&djxsJRy>3LT&*M6;NTj^yJ}<`szgW0 zTTVp^QrzBymlIx<&v`1{y|5P~UQ>O4%oM@-jX+kO9_-aYH^eh=H12^(3+to{)|m=o zM;b4fEz4cS%iZ*pR4O<5{WCyoNY z8=e!S)Y4A-eHbadYk2xFQU@jM6Wf&~K3QAluQS;;P&mkS&p;e1o=~`>)kunQ2!z<~ zF(29+f_|rM=^bCgkYk(p*HQd*TFQ#tse(|kSqQa|HcrH1JR|};!}Eva`EdKn(ex%!LAIWR4C zeC^lYdiYQs`+cR9CNO^aXfW*<#P`k%ZmL>g>RYj_(2@cXFED@j2jnXQlvZbcf4!cy zkeMg}WULut6ju69v@ZEdLe{&9-RE2Z>~w69_9*Tl7TirTtC;~4h(2}hloYE&P(%r+ zh|1U`Zojmel)Un=5{v!54(di^WUKxGy$1F_wgAQ3ba91ppDlx#3r-_NLBojYw71Um zirey#Sl$gwb7}DUUcQGJ#@#)KAS^@`GQ68QE0eK4Vk?a1srTyWBWO>G3+Q6heTf!* zgeWndzGR4Ld+soF6de%%dUKZ1I0T}=%*6KBYT#%<9O_Ve3%P84O&F`L&vMdH)mrz- zSl0McvIV)O%qii^X{&?}+nD9Z2%r%8YJe!OE#7Y`Pk0YI&1=^11{X0=QC4b_3(^ux ziyWBPb})pB&V`6uay7#a4L$NX7b%}q*#`EsAuRSAdLQs){AGxhY~Ixt*)x!|sIiKzx1V)T|1OCx0N{?*g2bmcez6k&&04NC8KA3RMv*s?c>8cx_9Ap zrN7?fC3J@pbzTkJ%ryfnNnB@1s(0xbK)!hE>bD=S6PcErc;t&3*zh`tRX5czr|Q(o zTovvC4*MfifI%uiOe7mYE5JJt*ZkpJ~IXML!`e{mopX})780H^H6MRbLMyKAq8u>#k>$j3~Vrg(z@Pv z;QRcG7*m6$4D)xB;m(HHs*TV^J3Mv1UY8|$IbEugBt`T)%;|j?K&)8)0~+gIyIufX z&QVKOZ>M3NX5oJPHz~tue9X%CT0VlAM0BXGK!iU-Bn)HNdxITR0Qj$jRARldUY;#D zJ!dyaf4VqE!k+r(5_Ce!W^FiQ=7-}DER{pAnntlBK6y}Gzk4cC;k63DeJWcI74iyyl1k>>)25 z&&BS0(p_27;-RMTz&g|e&}h+C@XaHnGXOGK0e-K*@u~#!nP(ZAc3hkx|F9xF`H zuR#_vJa67{GNADbDlCCL+u8&yzEWTf3-yndY_tT=0i%DkOR)L#-UAIcr6`wPXut*``PyH zw)QepzE2U}mTBwDPp(&GtmIDWSU(o zJ<@Hgjn8F2N2-ch1s1!1waGIx6jG&cQ#BBPctTEO>?CV=l3_b#S(l~7ukIBVwf z9t=F!gh&NpTKB2Y5IiGi;5k!qf7~>KmZEEP0sHKJS9pi3dP!tMPCVWa& z6$)Ib6=011PV-_4sr;a~i-&2m_38k3aOI^dZZvZWi+O*?_6vz9@!j?}Xm(G5>qvh8 z=E7fGtksbQ3?L^PX(hlGI0yfq00K4`G}tlFQau&`7?WEqnfzx}wFC9?i)Bx*Ou7m3 zFhaAw2p_s(Tmlx-!Fd3rgA^^_eWZ&=6Y;tf+7=p-ChViAQs+_uc-2AXEauuYxW(j}u= zexHk(B>odyFpO(rl$76|*Uu`8FN4+`b^4clmGe;++^90OSW+x_(Wn zJL={}z!N$r?q)_9Y-2|B?v8)rQpH_wQnJg^E$vO6o8q|`^8+1>T#Yd4fw9*&-2n6u zMf)LfN|0y0FT3gKr;nL@H}p@<+qgnsgGj&0y$=%&d%!cjhnazNK=J#0ltqljmmDqD zrCf1}?r>c#h$k|)yr-q!Q1uJ4JX~bM+#^iLuD*k91=9>|auXb;5(zB7<9gd> zD;*d0BmWV*)#F^o&@j=A^|xrA+w|I7+&*g6%1t^WWfXm;s7bMYOClHwT%*{8v~hwO zYn)|9qWEoTtvR{!uKig8RwsUvqNS#%}@|xiJZJ`?` zWS+b7Iayx{OGI*4iLEP`-ThgZ`Nw;TgHY`o z09OF;y*9uS7{9KO`}|U$^T5}7qt9J81okci^3@(pKA1Mw1JS~LnQ5&C;CfenbK-Pc zN8FEn!nLPN*~z?O*eM_jE1$|~{J21PYE*y&Ef91Fc*#pGl4!L|2XXr(nJy1WEtDHB zK0bla+WW}SeFSe!Cr_u(-+uCBA5x1qlqjq1hAf%(xzcsN4l>X&hfKe?vc^)!Uj3xE zr`D&Ud98)4+zbzP=j<|C8*wDR>Q4Ye!oDYT5FYv^n+P3e7Mm`hZ6-_0%B>S7??fhd z9|sx8b}^SLRI@Q&9v!~JoRDM*8j)n269)uVGju1tm|2K}}l7*b_FKUch@5|-Qpl5JN0kx8}l26z^k+ONKtb@rtB;^dUy zlpIhcsDx1$dI16fuomWc8+}RBgSe|MDC-XUslszgjfakuOJ&jP`$5o!$RVtH_r38C zhyhtJ*BL}KU3;|si>W56s+-0xW$aPN)c~XIgAhV0lim4Ak`JU9emc2%I*_Z->||c^_lFPBCbWF7}?iNA==yQHnsA` z&vqx?pNU{lg8fm5=;> zoTL~xw(IRw`}F)%i@&=3J_%J8i1%oHjLKN&&C(N=2*mdg_zhVfBRy;*m^--)e6*9( z^x>S>tG{*Pqo-ub4d>r^j4pr$5;9@>ur#t||8$9^mU>!VlF*FD^1#&K+xM7X!Hayr z&T)t51O258Y#k?>l(YH?R62X{G}v`IpKW14N(QOkjstB*2Gkckx57{*nCtr^fLSKc zowK916}reEP*1t3Bm09eXW2!JK=cvls(1@{=tWw5*EtoW6SfUUg!N)HdB07BvpFHb zAlFg$D%i8z9|E|oLhHTtoDtor=ZX`uV^p1N=g+J5#=~T;_%YVa;DcF!z$>TzqtqE1 z0DksuImnmmb8w0fkCl5y`Au1%N#*BpT-O%E6m8?G7~TuqqJgH?WP5AEr81u_gmV(>Oh^z>ZU7ORXyl zOPCeQef0C?0B;cxGH_q@PCIi*k{T)4x^v)o7xg#`%lCa@NMR?HT#%EB0Qu*W{WdUD z4KP8F!#q*kNG6AP`CX-2oK&$!ssV=xourVxq8)7%M4G{9E-h$W3ZJWu1!*`t^`p)2#lnjlkY% zowSo#Ii0l|B553ZrHlCDNeom*+WpJAzR{R%*q``*&&{opPi(=jBRw*ysSMv;pcKn= z!i+h zc8$=_5?J)2YT9i|;QjLaLh&ra6+ZP>fr(AB?P)cyIt zlXQibX8G;-XHEj#AG0Xh+ENOd8z;+b(sd6{$BS&FG?j7)Kb^E&b5jZoD|?pi6D_6P zQ%F$COmQE0WC_af0^3e|!rmfh;JRDAS%mPqFFA)iFFiMqZ6kzBN;v%1%$oYeP@3!4 zK9t*c^h-cJVr`3h=F?cdZZu*mlQ7*BZTjq~xAxeu&Kq-*xOHN_L(#c;L%A5cbe)tB zZ^r0Kaqd-nKG9}lU5lyzw|zg=W!z4MFDuf5E(Syglv;s68(;SY2y zC`sZhvFLMYQ4v6G*c%UE^~_o^jnX4g4nHr%UTq$<<(t?sKIK21PQCey|BMa(dw=N} zP%;5z4M<3dT~k|1ai_JvGxh>Y!af5hfJO6P$3@=%D$>uG@Of|e0VYL>n@Iy0u2ihQ>yEd+dmg1-MNP$C7z$tEZ=7^?9|wX|mjD5EUajE4}K zVoJ7<6UXE4Jg&cUsUtiVLjYl!ruvjjK)M3BRs_hD(YHykX zGH6te%UMEqW;k<_dgoVY28##(c6r$_4-(_osxJXov;ar$C=V6W*_HC|at)DiL9z+i zdl540Kd7+3VQueW(rgqSPZYnS7n=0U^fs!3PN`-(rLw=+*@ir{!m0|PU?iDdH@6gF zP@nhE zgBUgp$_Uyd$r@~}3E<9+wJ)k(?VfFMM?nvLS&V#jDZ}ez8Kq?tWuU4Oht3NzSG#jt z^5JAP=RI@-sUj(qp-jJ3=ie?{VItMBD+9D|zt)_*Lu&#T>4Gt+LmeBl?5j z_hs(;hj;GLZn3^xFFgMJ1IgUywaPSm>93qv*~b`0BfZAg#7n#rvd%7q*(UKKC@w#T zFs+T{ZbURYD!{qK!SHFlHCcHsp9#NS%+eNQ)c9VpjPZ8DM{I22fjJ}#N^;GIrWcNk zHJartH=GnAA73bWn>qcBOP}CgWe1%SHZ!G^oQ5>Mt&Xq-_Vi@QgV9OC@wq+h-dI%Y z%gy#!`kPIIMNZA#hr{uiki60#f5Fzh=HLbLo71(;+pF7UU{F47>?G zViy+jW9&;x-F^{>ckcCTE6Y7f_cJtGZXH+7*_g)5Ar zo@Iu!yK*62Sh}GV%7L3ZA^V^X`nF}%Eh%UgqP<=ferop;b3FV);CC+K>CK)x0+2O3 zaTh{;N6>?&^56~Q9}K|ObzoYHqFggB>>fgav*c>OszQ~R@Vu(o3nmqQ;H_nXJS3mp zrh0yDC$gsym252xwjJYBe%wsJqTVO$SS-^Cw({(C5!K7N8(YJINzwooN|hytsn_0G zOMy_flb7$cIm(B7LPQ4HD6fyQBu1ejJ#z}y7Tk8Gp_DE}qje*8TIs7vRjf^h;U z#WB}a#H5AfPxUdytF}M@(Rxv;38!OB;CEvT>gdX_wW%G+lRMxqp4_Cw|9VnzlgR3c z9t-Nyx-~G};4XKS$!3Ga+ zlzUg7%xvE#wlIqw3duW+$dsPa_IoQosvRe)Jk%q~=|eGvNVfd_55_>4*2fbBb0?-^ z7~IgL%Pr08TzHT|$9nM={<2>6Bb^_^=*DdOD=FI{RI3^gmF9H$w|Fq5&`s6l7$(=# zfcmY2q#l8O@7+-;_n2MKO#qpw$e1fNx&TrW?+x-;fE%jAv%G%{m2nphfYv>9?63;) z=Aj%FKALS!{rC5wX9e4uPDr060#GU%R)S{u*0tgM$j%T<(lUNPI31TuTqt14UOh5i1#@>-M!z<}5MeR+|7BnBO1W+J94qX-*|LBmY>Zo+Ui-yN>JQJC#7 z21IQd^l{E}1qW?XMsXhvux6ph?^Cv0s}WJDD{pcVS%RIce^G`mht^o3tn}vS=_hl> z#l;Hj$S1{??5-*e<GUOd)9AFl9S>z1hIY+QFAYrK_)b$IgeQ|FTmYl@7W=4Xd5O_Ee81+c}P%ojg$U zT*n1a+#j?`q?L74l(b>^L3uL6JbyqaB+`KE5XBI(C*egoD` zlIy;o-t6B2+`pHK9TMP=1dDraehqY6>Lzcp8Uuyt!>|XJL`j*k+eNO*wKlGg*FD;) z4n$MVV);=&-a8Q=4OBCG?|l$V{Zh$3V-Tmk@r#3X|B!JcPw(gKU8pf9xMn{l$nAyNFG+ zWfo0TESI)98T-jJ{T58z92f>$HIIv1=Q&Wrq8#_?r%pAGEfasXk>8fUxSS;U58-OA z97#rUPD%2^ue%FKEl9oYM@wlLXLtG!edUh1BX$tk3C){6*>I;JH^*r~tz%tz3L+F16vIpD6dtn?HD`v)$K!On*vABaeN%&Gjwr>!4=Kj;metFOa* z>Bh!LVtHxE&+Q=o)VbMuRo%s1oX>chBAB#(2($Y^(?VKfi0W=4z)KBG|HhS_=LyAt z{LdRasOzDM#%(57IcFQM&wIlWu&KxHGeI7jq@uxWjgHL_iK#8@4vbA_I9+U53!)^wj3iLD3IXnkzWE;UX zfz#JgROr{$Bj6IeA=0<=nK48zx#Mm=*T5!bqg=F(oY_FGrz=jn^Sc#SV$2P=had7{ zpaDNsglnMP`wcFqoQVE@1Mnl)qY=@?tJ#B?CF7So8c^mWL8<5HOXRJu#9A){X<&h` z4Us9o#_t3p3vN035I^0y<1$}YAfZ$?5@#oY=0l?rL_Y!|*Aj5D+1*ZX%f|NXKTFsU+V0}?v@tv6RB7jcUgH{Ldztv+#Y z2oJ;9&Ts{a;Q$Qe^EM0w-D$lmY{}mH!Sa%PYWTx%Q5;4hBERLOsDHC=N=#p8i6cno z+?B)~Vv9-5LHYvBGWx8Blnkr;Fif6IM1emWw8t!aDBuBrh zSBJd>{KXLcq9y$~i5=T{;-*g!j$iLUVNn!pl*+Tye>(gI39t4Zfk?LQ|-*IsDQ`t zl^PHSYKnof{{tG}m~21hqqvL83Xy#NuLsiwH?X{M1rnnTt9z`11`3R_FTNg-rl`qj zpx*>ah)7gnbS!mp4iDhBXe#q%JeSY^l2}1@*hYGr4RpyPSDXkwrJFS4mDp?gax8Dr zn{i3_sy~EP2GODU;A0{0iRlP_@_8q&t_};0Fk2Qmbwx9?@AVDQv$yo){8ooIk4nkR)5}!lnKiVmin=NRm=~_Wd4o1)LU$? zG($sAwC=ii0eR17_RV6H-WB^F5Y(hNc;3eBmgGLj|CUtm%iUyJy=ZVJH;J01D`yLe zF>yFLrf#kwUf;^=c{hW_JIwYw09EZj0kp8eX=wZL6g*iuPaa5vFf--lSbmUR_$V-| z$|9S&ynhQwgBe>J2%UrKCSD}%FxfeF%1L}Wdz*Nb2qcJG-j)>xkKGpD-kBlFy*INz zoS*~OIbXi=U#nvISz5WwMWtOtkatrqJysj!WYd;1RcnMmQ6Cc2*FTv>8kYDLvJ<5| z=)4=np*$GKc@zvE)-$^h-4DJV0Oqha&KpAE-{GvG{3nlSs(rU3A$uJdD+8AGw;5Ry zCBK}r{ZMOHx{X;!>upJMd`f)a-s>t3H_ErDso;C z$~n!K^oae3R6wvdo_iQi=SleTTy)UfwKsYD!_P)z9PAPo>VwP{Z5CwiH8*jgeYGH8 zLNp%>VAS2jupQjnnr(_?w<`)Dn{2^#E*^&3RRtEWBBsfFqm$}(Fi#mo;28bCeT7Ak zF9mLJQ358*W@sY#^!3z`tKh=aa7wJ;OanyQ>go}QKI9PyeulKVb-s%<0q_#WYFh@J zA@U>ue?5~=Hs++Dz9OoqA^VYjDo5WqUS-Ge3tqoDIa4B(^@_1kz_ThNyX|P!8H*Te zc}B%7?UCA6c^y>==^R4)|JRRt8Ki5w*e-X61zbn~6TG!&ds0no5r0y#=krDs73(~P zG~JFbtj{^pcGEfXgd?Y&TqxE3_jq&p{t`1DC4rwupWj6>8|F43?y@>@7&hbUZgP1O zzhoY;)y6(2$reBs+p~%RKMgHBggHotQ+GLX>{D4w$9(jm6!{tU@OmptA_jQ15pXXE z>HX3gMF@l>x-9Fi4Dn|GZ5feW7U)2Y6|YV#8zNHp-)m+4%a{1~_++q4TnSN@WcB9y+W3U=UxPnzF0is{ z4X4Z|&bWwiRgBcKyit`sZgC@PAp{QF&Px`%8*PmHb@Ac_GyJtFZ@IkKYpNp6TQQz! zldQeFfZdyPvaOyz;d;NDy1GlHtGE+ASoMM#i>RM@HbhGE?;cq6!`_S9{@b*(qa)__ zvn-uNFVQX5^vE&ONp2@{TnXKun_i>yn+*z<2|l3RHqqM})-QK#2XOH!exd`{DtY}B z%}J$(&~cI)+kN)_01WZjRS`J4ZgK#xB=`Zn;PWnCkS~4rIQAR^eH-3E8y|wRyk02A zu|_QV$vGX@jDZ!-c!7bR(;mzzWdJR4n|0AD)$6C4b0<_W-Sg?lqpmLIyAl<_&Yr(( z5?|kIpilYUC^`>WQ_)hz&!hjck}6tzz`{k$re$iw_?J)36?{e&iu->1wv4GBiU0!liM@?E+Z*r>22*qJxZ zj)&W*5s_cY?1AjQ_g*BN!!9o!cE}-$?5P~fR&G3iQvu*m>_Z5kyoG}R-z~B1$MZ*P z3%^X5aH9(9e`!}SN^3__(rCN5k4YR!ZPXvn0Xgu6aWyC28i>cOMijqtBXONMYQhVY zEc@!DsBZ-0)UijUsDrTW+Sm}Sqb;jkH4_D`a(3n|aw5;a32~3Myj6gS6axp5#5%~L zM~tLaiQ8J2Dp^p!J1L!c>9mhacXEF2@5!8w$X*QEv}+UciGG@@M9lDnS=U0A8$#7_ zK?Pp-ep(bXT0Mf@8;s{mJize9#WFBXeur&ADvQ0V8rp$U`yhq$yAFh2lO}k;BETS2>TP%{F9G#!X;}DrEDSVYSc!^NR%nX`C?w! z!|(OyA-3|e`l%u``f#3qym@5*fD9%t4n7Foq@+bE*X}eY;Ms z?TB&EJdQ}vcf#Z4RTVxk`Pc!>Xu>z@qqr_(TWwMDhl=J#{=Uz99Gq#CIpQaDP3^ONi}zXUCB)v_>op8@)@@&m7%*?9i~)3Dk4Byr*p zm)BKE!I=TS*RvO5@Ns)n7t3>DxF?dMZ^Z?N94qq}x3R^dK(ro5C(;axv$oN-%~JTt zAYjQ&FQkqRlBcVLb4VX!7l{*=+06>Y1xPt=!f+1_>5ica&Ve}5t5PkE`wHWs()56z z=vDYcfcs|8xN4er!I)&w02s<%+JLoD8DEGgyzRM{5Ln(8fYd^Xz{1dWj<7>&*?ai+dzZu`) z69MtrHB9uItMe9B-4$GBGBLwVmbZ}kFd4c|rVw$!t9nQUxVV&W!E3mGlX;f-|A4~N zeUVJ74?pVqLboVnZ$Zx|p|re-r&a`fQ>_7HW?pv#BqLIt&1#YcV4{@~YHSNHHs&3w zeGzeWY=9it^%SUy#+LvZUkE_sOVFEOz(vzwhqO>w<`@Aj@NjqWQJ&U?SRTxZfrAlG z55Th9tY;0Q6G73L{LX!4z?SuMb(d)QdKDX^lj#-~0%DR6;0b^`sdIgcKf8v!w}v(e zq*>?2H}JviXbSpBwj@!IO_SD;5iww6>m?Dg+_x_!dT`X){(h+>HaJ31$yvOTrMHY! z>$!*qldqQGY@bG>_WCvGDu?hbV5*QS4UCUhfy)ln07O&n?NpKsFA?lONi#pW+WM)| zm~)!sxiiL$L6G$pGr>xqJ$e_-e!+g_)|dtOv_|YSr7Pu~gH_IXENiVjHInB+Ai9uy zA>w*>RL_6iMIHsCL4VE5m5^F;m2iddnp+kpgk_;D)2~x~F5g2nkX8CVpP9tnVj9Uy z_>p45Gb_cN=@~0I3(QcOq=#qy4?-lW?}#07@4^jj@9y{A2^4y}-_LAT^X6BV{=5P% zC(~oa1S6(n&{b%aKn6sgdTYaNW)OAFoL2iH8QxMJ>o5}+uKVcU-cjXd;KK@?S&zx? zbqr4isj~NaJLcfWGK>kAH#+bFU#B2SBLTMR zVAtl;*uvJ`swRov^izw5&zR&3f{}PQwCLDy2y(Yox6Smnp}a7m>nC}Uc!?uNnx@i2 zH=>1CGWsxC`Q6TwhMRQIZYj|5IN?>EXAX`^e^Wg9{8OaBYDZQqs%zlH%y>WjJ+)-K zWq~1u;H+wk>G9aIUp z+T*{-b^x3KIGo7*=kfdh=`VH?+7ZcOixAVSoQ|yIN(*)*Tv$LSN`QebBaJuLLk{1u z4P$~>6sy6aeO>jTDM#x0s0ikOGucPzBnDaxJ-c+-c~^U}LyDoGJIg;p4^Gybet*pD zUQ2!G8O3vPKWap4s>NVqMfF@vMaXQD>ojk)-@GM3;r%^TQXWUMpM#Aqy zZ9t7RNi@sbXJ4)I!U9`bQD@++#!v4f(!#e4t(33g%-qB8t-&kGqpL}49wtf+LOE~g zbqtwBr=Jv*r!S}LY`?(u<#XICjly9MZFP~cId$*LccUl0P35d{COTM5xsJ(e4V$#i zSn7Mbo%Y-{G99Z)_l4BqFLKI^RWDD}50^cf?)2yS9 zI>5j9p5E4+_ilvvh`KByTqT>s#29RZh}&|d>Q&g&unS@tzjR1;%y$sAzUemE{vPtTDSC{kqZqgT zyzULYF69p8Q^M{g#HrB~fA2hjBj5Slhj|}(U968|PXR8UfJ)ilj1D=t*DbjEB>7GH zf!0`bnK*p7n3Om3D702D!IzA%i(#R6sWXVTYVNc};c4Ei?>lp4Ddy`B<~+_kRUpq9n7c3lL0bnY^kx(#rA9zANcY-&>ck_NVVzz9k5y~>{qko)dH(jux_S!nhq zwsCTChsBzzS5ec24`}U9R4WVh29x}r6p!E{qi`pwedQ1$fnBSA`{ik>RD2e#em<0k z{Y?T<6keNh27^Wt0br(mx}w+Z_Y~q%VZYe>)l!VjGhz3D$)b^&kq4U!JKIuq(({%< zAF6l}Z=}`+p0a~FU)sD@&MQH#bFKcs zvj!>l`6@H%6f{fJ6h_VIH&KHis6lORC-V}%khcFm7X0fbF&g2Jp#N;mf)D!C$ghyM#o!-D^J zYgU?p4EQj{rQWfGCvkghnR24U?4pjDju}76?+RFP$uHEE6C%$P5Bb%a^P)}nYf!=H z&cKFHV6S9n$XE_|ZXf?2Atc#L(^(FFx~F?uGpCldRrMz4ulGWvimpm7e*vz$aX=7h z+Y6jGrTPNrbc*SsL+Nd7LBvB zHoceo`91gkUY@m-@}o|vhbKGA9U6KmQ&Y0-^-w0a4W_mB)dJk4DNeYvZU^RYsUZiZ2yrJOp*R|dD zLy-BB#|kcrXVP@uXjVzU=<8dd%-@7VDYTBlRw99ZfHYhH@K9JF7yYC-;O^A<5wD85 zXus=u;j-Rts#+1OLCUgd_v;2t>Er;|)t(P*KddOX7$0##^Cdw-2|#3kr&Xl)HHUb|AbWo} zO1@vUxFUJ&wh@?hx|u5I@FWE8=FOPqonAWhFT6~{Rq^rAW{<0=Q$1@6a2f#10i&e| zfqG-A5xWiPPyAWFHVb^z&T06Mm)EWgmeY}2{|EXR;(dH2VBh?Z1;Bv%S4gtHxvx3l zaT1ZHuE^$~;FI(!%GB|BZQB(F;qT0&{Ab73(>2UK;^bDBGB~Fu5o`9-HN&3J?t!lA z)cE&Afr*#5R`TY*KvjWZ6XXVk6Mz)RZG#fT;TAi14hDnDY`>&&5YpAoJCUoM{caIMFZUlDz?rt$ved^bDrc&lmXF&Pu^-ECI67x*p z`hmmC6H<;C58#wz%jxFF;w^}Rjdjp-Ha$Mg_f+@Z+>D(6HM% z5FwoMa!_VQJr(05IGQx~* zgxK$JN1g4v?uVI=zl-A5+3EPx)^qb3T6o6@U;=JO2?O#e#M~?CDt+HI5B3MQTf<87 z{1{aGOQJ3;3^hzDyogFGe598pG)!G`8JIGT&ssOULqy73WiXCKSK6-!SE)J`dgYbw zZaltQ;9BV9A`!X$7998;di27@bSdZA8<^8|m6uWrQ(fB_EoGH~c_mU)eas+45n=7< z>_r#*&XUceu-#qqV~GB#%;M8hfkuOy!|R=jd5+UOWU4eDFO^ucdut2+uzm4&FLYqHR)Wwx z@$>O+y1=jOA4x$PY@WZQ6!;*J>src5SzlLx*wV{#uF|8=F;&-8#eR0OCiBNjHZe}~ zDdlbcxrDiLPV+tHwgSMcgIAdR*bkqZ>WZNF1k+;|8wjuQGGU&&HCF^_>4l+K6+9x=h>@E%*pXGgKA&o5U?8xx^ zoMgMBq&96FPvLhrx0jL$V1O~SHsYwH;3AM$wG~QMk8zt=35n3_I!{-);!&XM3%dh3 zDC%sU0w^CI`@8 zU_LW&@IU66{`-8>|Bv4ZQ)2@7u+VCx&llT+sVFf;2`?VBh2h32j>YJ6Pcs#=e=mAZS9W?&s2zl}Xj7>I*~Z|9!(h`n7Iku)%!%Y020Ks=w{E{03nQ=Rwo zH0UpBev`miU7>j^Vc20tDmpg3R9Bmr9a3tyv{r&;T}mm(SX-PMCTa;hwZQ8~$U@%k z!*{z=dzwW!IxAw_enjRfQd^`5!hB&J)xmX`cJ>&uGEqSw<|dJdRy&0#f zrDpQ|8x4mPEiLgr?H8`W%ieUD2%B@$Xuc7tN;@;)w$bJ*Njg70j^wd1NCs0MZu$N` za%uw}=gc0o3kdzp7LiJ$rjq4_+8zVma;CN7Y}U^so-q#!g>~c>B25P8BpH6Z6pg;KwscE`w^&a26SX>m#~sYl_Zh-x zdAD5@B%AH2GlkBp*EuQ42~uPl$rq9}m4$(}p@+JB%}3TxLAUN^#sOy5+6$UxAZVX) zf_!C0{A_c9ZTj^>Lg~(&kEQlPO!Dkgea67KyHB6;Shy{@rs=*y)A@3n&*m|y56_%S zoiUE0+0FU(^6s7S-k^eUOBa0|=4)~-I+C#0ltGtvp_U07!GwwDk)tf2>QQ|49GcmA zX6I6cZZM`3)*J^dkyL!?ZftRpBe?XF{$8h=e{YTVtfYmIQMHt_GSwx77S}O$`9gBAEJAs9IY9qfiuPkoEcRm)( z{`aHPTmw`OfVzL{5U?gWqDSF}Wx7P}y;Ylx@bcmj?M$0raVBk9o8&9+R@W8d97-AjeP4;^4>Eelu`dWq>Y~8$`(5$pxU(! z4BiSgphw60>(Z~46X}M-1qUycK0Z{`w%K(msLQod829YZY~{6^1pKyCWl1szAvSk5 zujawt4D&mDUfvEn>nQTgXlew1Th-^AY_nfr=PTC4$xzZQye^E?Yv*kpTk;pehBUlA z`RMv3nN5bEkl&&Ox*Z@yx=uyzPt7)MY7^1TRvOmNd{-EFrWqm10nVV-_*o>>ieUb# z*;d4mdttKgQ*cwKw_NAe%CF^>3lo) zxU&Gn1+o~N5N8iMACE~H1daM~Guc6L2W7!!GkE&uL-&gz8?XBWa6encBzai1Xn0q@ z9%an8ucG~<=8v7+9J1Qk=r?E5^YA5`Wps4WGWmOs$R!zunpLrzLvzfY@CiVPkhbAhzx z!F#pm7w0oV$YPGyYtVH0HSa40huK-_OhRaKSG34Fc0JoYW8C<`o!{}-3&p++j{rer z`A=!H`~gl%<7`yRV-p9<-ZGTT6;pe$xwM==EZXMVSl*+AX;$AG)q`KGK}38w@a64- zA-Ah$BaI*h9U(JeJ9(X;UI+|c&<)S<>*bF(Rhn$|(&!&l98T`kQCiD?-6Pb_G&5Tj z4P4ZMewpTY9-!1+Z9S7w2OPF2V!>vK`c?h&_7Pq@&Uq2PRA`Lu3lb~C$ps5ot{W+TbiM9`I4fd)YYmFhU+`OWo|4@k6OEB%wAo~{}XuLmkT>h@% zhd0%tVn6e_3AUtviiJd8s5Qan05O*%bxv`z$d>|NlE9Dm6|;7)0lJ&XweJ#e>c0<} z`0D?6oIVqV{s!konYFg~pBeB)d`&&qw?kcg+o`RiJ}K;1l8!u&tMPyyv;#+Io7z!8 z&jXaZ+@RK1lpq$@h&xgLVR@^|HB3rZv6|EJDa|z`o`+FfmIkAvwVIPjo%JJK#LmmQ zBI$h4MR7sQHGMT2K@1AQymQeDzHT7UO3*cws5&n>o-6DeZ>gsS@jws?t69MOa9k*k zU;_oni>XoxVZylC*)Z#$vhg?f=$gzgU3tX&&43gpcy^XQ?X;7IDY&h9fQKIk z77Ld00Db80odKr%NDjKe*D1`E14x~I=?}Ya+&Smq6|dRFMCL+-@5Uv>U;Awii8H{` z9TjI|;31D0cw%#}Vp%o6HbIfXR`oladd@4L`0x@ZU!I}?ZLk-FsiQ4$C4$2>q$xZy zw4j!045eeQU(zLXXWW@S%lSgWnV3<`-J}PwH~XA43$q+&30LiwdcxVI%Gdm+AM|T_ zu3Wg(nUTuAZv5yVu+&Mxp6@l428GQt5X=#kpd2atVC)KGw`zZ`QJugZoG(f@X1H`< zaRE_c*8P>udP5-%qNUs@6iNPx&GHv9>HZ5TDsODqx-bi{iNdT(x|XbvK^gFq}p(a7Sj}9;rd;-IMAfXy7&8NyjZ13ba>5Og2o4 zO6(vc7LR2{`g_T$1dA;VM!u_rZA@D|%b5qSiX~(rkl$~A50+{(@ilL_`>Yx>Nb^hY zJrup4D?}p-s-b3oW6+x^37H?5I^_>L>0srooU+it*}f%s+W6V{VCcf!7D)6};19=9 zpjsR@kN{OgapRV*Nce25(w%eG&z;yHqk`!YCQ~g_A?MI+C0+8Ir6;Aw$DtlU_~%=X zMAj!i-?-{p=+)MuT)Mx;0T>=R7jSp|c{{d%{q4_Ug?5o;kAm(+(Wa&f!DHEG-{K?8 zQ|&gstrp39FN>}u%WnVTmbZ@Q=&0A?oC}V-)mMX<*{FZ7FasuGM%8jUKX-i+O0>Tm z)s4IyLU$+GBqPbI$I<&ginVdr=+#M)5y2YbtHiNyk(QB43Z2#}UV4)@W16$FvfDBf zzG#vqzUQosk@P`pM1Hm85Uo+8C#vJQo3L(5nA?7>o@$Q@N=c){pdDVeU4(W(nTf5> z`@OXqO_!=rcV1OtBP$Wu>-LQ1qnU_EwZXIVdN1=8lal@YXA%@n>lVG;!2$(|xG+T| zeNwKSzfc*Wxfy#PY&ucIVR@6Yx>_N-D_-+_C4HMB3*o23uQn{Vq0wgeR8X(9dHOkmDmqMvFPmnQjmo?Mj967Oxz8}1K+Yt`d=t==dS>-Z%K@_Z zJVAjaliGe?;eE|P9@ zd8JwYj5wPy%63z>>uZne1={p$+H_Q->W_+f;x=5`2qf(*Ra?X~DQeH=Gk4q?4{2ySndaKTbKu^>p)e!-3v5!yR8ssU%oCBmi`gW zIqkn`G8~WMoJ4RfF-CVZ>IKvCz;~il;7GC`35kcXp&~mU50g!8@Ok_E67Z5v4)#-F zK_5n))Yo{tW8d#1LZ|2zX>4Zgg*W?W_%aH9kNv!Q;d|Lz{!Mw`4u8Xwb^NT5brbgW z5CM49X9m`D4LpnlIomDWQ08T#P(uiB097tE_dXuW+Mf-Azi0 zE_U?MnfF<3w*r?Wwa9jfB-sskGa6dr(1tF}PZ4%Mi1NRdH)3ZTN8uKb}4Kh$WozC}Z zDYE0j#jN?>Kzp)s=KuK;wf9-QcZGK#FodQ*F5iG8MTn~B(ulQpzbD@Mm`|XlNIh9Z z+wfyYxvoTz0xP|@lcYv33B4}823qsgn!HhTFCai5pog<{#Ws6wa}CE?EnYb4X%g?` zoKToUvms^&u!Y`&p<(0U?f3HYuVo|uY|5tPE;%*vIC<@6sSzE++{aVOf61(i+<(vR zqhaI8^DVDm@Cs0X23_frTg7B+qWXfBh|^a|*T6#5S@Yc&9>^F9=cy)ouV9FG+$9~{ zXNZqu3oLk&et_)mle?mB!b`p--Z%k3>L09%*2f`1r@5`1u&jh_v#ZrYC2u_$7XOVCYetif4k9j^)^a z0uo$_G`?%zSFJIVuWeW|{KsvlHno6nYOO)9NTM^oIj~+Z&7;c=4yDlAWH9@xDibL@Y5+Ccs(hYUo9RH-$kldpef`R}P;D(o z7Tz-~^ONh&WeD~Gu$~u)3-gzeoT_3vqo+!@5@2k_{6G)-;8TVf=XXgpFJS6)kYVFW zxBkuGdZLC>^;bT*=TAFUyiaS;`V5qUf(sjSFxA+^<=2EBdrM_MWts4ukT}pX5%`B$ z0#Yrmd)&flJPxo`~98QwQbTYWZdY1n!ES zSeIS9Ow(N}MCw>=O_v^!S#4rD*{1o7Hi7NVwY;5Hp#cowH415KsnGf59fIy<`_)0j znv^&tBB)jvTZ(>;+rK!LeH3a5^3!X2P#lOn=OgBm1_e|M-^Wr14kV5|%DLGw6vhw7rhXrT9~5TXHC1Qmw2|J8>tfdu zeiLb~P#zrZvv`~#s*{Yo5cp_c;|L!6fduGJ6usTcz%{@Kk*3<7B8$d>B)NAMKSkzj z1aSAmYCHUd&?0}Mu@X0fYw+9828Sj*z+hg%tveZ*~>Gmx2sp^{Utswb>%QOox zl0_c;fV%)qphJ@?w|jVe#Rw%+&~;xSpPctXnthSlbVp5%dk>iE+UCO_R{ivig?6=E zlUQ+|MwbN_`HJ;Z7oHkxQVmejNR+52AIA-^F!B{d7<$`a8+o`728deoepAl-N)q1h zH5kK~Cs%NzT$Iw(9=@$?ZhQ(S z|G`RQ>7Op&mC^4Hx>I!utpu%CC> zu{)x8bTxYx$ZrFJd3ZIf2by%{0Mfv06mf<%E~dMs9bZeg+UUH=TgU3nDd>*}rkxu`w5GKZ`ggT@|n?ynn6J zK`>G1Pwtiu$2Je257)tlc42wH^r|+)WpbYJlLsdrI@{-D*+!@9KzQvor!Hy=YYN1x z`M>d%O_(S7;3FJ ziOVLfEpe~p(M>!37C#0q^)2Cw=ey;_Cp)%Vw zSiE)rSsBvu4sG#;Mbu^?ugPodQ9_$y5X?1=821Q3O?G`~OD4Xlhh^{X6L|;M(_HA2 zM~qKY55gO(<@othc@E6;{jU6rxbjZ}`rq_PHG?b>0&hMYD)~@*P|{-u?2 zE;;#A8WW#D+@YfqDlRO-6n#%v^TNV~6YE=%ki+bmy?Q0?86B+6SJNre<-OkKIfVwA zh|{c(PJ5r$c2TlRA>h`U@khXk!#`WOILEBj=JFfkN@1wwyh|s@&B-E5r;H$*x=~0P zH)QzO99K>A(PV~qe7MC673T}Vn*?u`#Qp-ibOL&s+G#Dgj^M@??D-my3ZmryS>%O*>=X8Nu?e*7?$Blmd zr7ED-b$zQ0IZAVbpG1A_H1T_UsF&Pc-S#};u?#D7^qo!T9=;zvAC8sBn`a-lz(^g4)3zSY3eB`GnVXx}Q_kz?GHPVYfZ2p~fE!)RYDVsC;ts@YTi1GjD&Ihv z+XzVB%Rv9uQsJ8*qVb-Mb{jmCQ>$h&aVi5?NV?CBB<3fJi&Pbyt-77TMsR8hm#@+< zvXzV@6RAS+)>p%(mdlt&d^*$j(?S%<-!v2%L2h`%*IkhOjOd^xi;H(PMiy;Jl3fYC zw9!YOc=&Kjz#MUE;9sKBE(gO+uoFw(uaf0);oDUTZNys60)0~#NlB?@Bf?a)qSB0) zP+a3dSLjCqq))7*W1gz}B+ZiDR_9Ej1DFZ#PXiqK$u;ZoZrg3$(Gv;8Q2vvUk)DKO ztE-BoWBTDn6QXD%tn{Ak?!mCpfau4H*BxRFqCt{g{1S7~i`Z3DbOS7?@$n!Y*_zMnXbR>#Q+=1yRX7U;Ur!v#QQx^(g2=E%^@=^TTLU3RNWkI&(>7w%aktx zc{NhVw=vtd%{3)AzK`V>mp}q9^|df!>x}LGR&3#{GFv zQo0285HUBgi=QzZ5uV8plQHUtKYd`C%Ll`{|GTvK**5Zh0^d90nTAER!B20`8Ya(h zendz=xXgcDo{uvWhAm)n2S95Vn$Ug#%*HC?j!3%10+7jQG-g0M2?d>v2Q~Y@w(T!} zD6dX-cY4M-liOAH_ZDh-WBgq;a3co=Rr$lDLKAV&B zrsa6=D;j5=GY2YT)o+(}YFzL1mNe$9%7^49g$pb0&z(wDqSrMUo?rJnd#GBR5rjO+ zP$)QZUU3Iu9hIm8ztc>7ScmCIXq}nhd_N)_=vJNB_tn>wg#6^I(=VDiu=u0&N3n;G z&l~1Dp)EVYDE@V%b71fQy!-2s2xxb!Xftj~jjx)mdgZ)OK1tYlYs+3%X_oXd!j8d2yHw?Vh~AUAG?;6%gFz>}T;zHW z-DUHVcYW$8K`#zKomCndpNR`BD0m(OJG-J56IrM1J6FtL zbJAeqjU+|HjgFDupLLOx9oNKt8>~;F)u;eS+z=j}QA?mWcIpnx6 z$bE0&oyXUT(MxtJaJ47odxU#ObJvsouk>B2NNv#I`dwfcr=qm_9ozA9dd^_Qy%1z} z;pt1TWfj(6|NgC-Dr^SJ{(_G+Xws3@wye^{L_)KAq27gF2l_Bp(yuk&d>PJ0hJCYr zyvyYn;kLhVl}Ce3we4zaCMU11<3r>%%GlKA!;-i|n%2LNtOYD}Dd_Izpr_#70m^en znPkpsCXX%c0bfU~av19Lc%!hUl(en3{g~?XIU#;DdtdcNJ%UM@NqeS7?4_^$^*lGB zhi6|GeHHDN({EE#QkiB+f4}l)9Q!11?Pnc%Kl;lAF=enGkLy|VV5vdQJ9 zb9L=48lQcW4xgrxpZcTc8(>FoLHqm-zy{**$U_Dr^wNALtT*EfgmP|mvbbg4BzVQd)XBI-tye44jM%nUa})w1f9Q*ysYIAz-wW9?=E<+~Rw zfRzEczmOC=^wBxMf7J!MnQnb6VvDmFRB6j#EW{T@fH#`zHYeDcT_p;YvDKXSAQYQ{%3?@wh!M!oBQnEe$G8qEB#a?9J9Oyg$O5$M9(S} zsZv)*?Pep0zSXyu%f{g(7_UpliCEBxSAcJGfEMkqP8GO6Dx-Chosd8GIQ_!V+S*l1 zU5V#Ol;;&KP6`(AwgG=`QXC$3#@1Y?xAc&EeBtIQql4!)UZ)eBttQN)N_n6h8;e5_ zYJBhbt)sV-xf)3D*5-|qu0Y;{1NR={H$Q_8=VK$3ZW^M3O^XVvELcx`Hm|agg+iQr z`xRwCkTeq-@UPEY9Wp3?#}ICA{v&5a-FpWciLfc~mqoohB7u8Vj#`OZ+Z`cw;&q%U zVB)Pv2I6NxWZ3m3^u#FMcP;pBwsQT30Y4{Z;&tA4j)^Ur;Akh=nGC}0G&HoDX$Iv! zZakrW@Q3c%so#juhu`#Bx%I#pEe+*DGZp9VjLKTrSJ~b}d>vvja);8XYjovBV zb9}=p)ygY8)rbhFSG2H3yAXIP4| zkgq)HHbr*OY6xhsC*eHKyb+o9B!XtlOv_h^yzGn-c3v&Q1(~B%CQiLi+1uE)g^~O{Ot3| zdW6SeUrlT(u@RzT*h~e>kT;kx&icC5t{0?-Ew$W4I}`CRnW%fJ>vfXf#5#g|r*~&? z^3@*bnQ|fw+|`JfR!WTR4tAs$-8=@W>F*{}2Rx6cc65q~+VxylbDgto(=Ya~Z`hAp z6iQ+47xqrO@2(rAvk_Cme2uQcLU(*jHP%R5x5Y52-IA~ZKyrImD~KT8U&)s1`i(o_ z1d5x-V~V*exLtbi&@}3SgRnuc|L9O(58-2nW_*$HN^kplc*B<~20}zjc#Kb%D+NI) z#YU3_a$nr&nQ!)F(SLn)_DrmPU0e4FC>zy&ikbtev*7?6ymR;-Zd(50D*icQG{Lno z_fK}=H~IhTl+v*RQ_JKFf40eXQA;4{WOG4?l+qdDf|$P3NWjMXa^w9BTDXqN;y#Q^ z@452nC_fplDqPDN0_~s_w>mS+~lz3(f?{b4C7H;8rj! zaG2M$$E#zsES`Riq}OKkhS0k{7*3)LSi`BS0Tamqcc6b3VgqIg7fD{A?`f8?UrsWx z%UVg6A4+x1SvJs{82Npb^d+QRBsL9Rpi#(y?TkJ&7|$sD(9>X-u$hB~ z4}BTGJDnQ+4l+z&@ZMO&O?{A9gG57}r;KlG_u6x!A4)AIaR-h6xc$qXc>>Vu_{}poConzz(WW z*m5KkY!1zESG_0@v((C8P!)7huTL6?4yARcb$v_z-sK-e=@O!dri9A2{#gKFXj2cG zZID5BBy5C`HKtR-T7XTBLk4Z9u-QrKHyMATt%Kv6%%S<-biNyhFL`{Ge<9W`A+{gA zrdrG(NuqBZV%hH-+hRonF9oPs>LhLeaaxvUdx<4iId9NANXi~fp2*VS?sQ+lh)`$~Ks#rDBuy4mO&_`9_f41Q0aL8c~c zL)YP;i<~{(a}@X&vKs;<97Lck@UZ?K9tjfmp11(5NyUAPlbis}ijBW0`Pwi4OHZEE zf9rI0lu0aBb#|ze1Q}L6?P(9JLjz7;WE+Rak`v=j0p`~wP!-<(3_-2q)^hQe{|I=w z$Jo9Y43@UcqH6KtWJt)c-Su-tg5)ts+UM4{sd1a+lVxKtnOIpfHcwgV^1Qjfkn!-0 za+0c#mx0DkWPs9G&&)=E<5hfFIZ@|r|J@ns2XmGYb({jcc5jb9_zFz>`S;(cCbpD} z3C6eej{nXI=%bc=Xag1a&@H>OP|JAS5kym}>ZW!X5Qk!r7fT36Wrm*ok%n}|^aHI+ z`o;zcELMVqSFdQTv+pByP}$Ai&{tyl^Tcy`cG+rDUQYX6L3500%-K8^yKOsX_mhyf zDPuy);)G$u7DEr^wk@#AyhFlHn;P6N|NfnLJws-qF?=Rkj&5X|Mj*Ff1}D6_^8k1q z{HOKAzw1-ceD@WhyfMab8_Xbt8Nf~9 zLbnbeHn3YDJ8_IeK&x*Mxpsm7mCvD1=L>RzQd;CU;#_=w#gnJ3x_3A2UW0wa%8_#yU06?b77={qhr&E%{~B?|A}gCP3I)olp)X94(-BRPDb!Z zNl^{pRb?0REte4NicHv*-7%}g84<&c0%ME&Yza5Yqyh{2@Dx=85SCcpPA`?bW+Q%b8JSl?3 zHN;7rYnE-lYD^i1dP|-8?0etx7CFeYHLYu`94^HF1nFw6T>nMFRHS&R-*f2Jy1k>| zsgV8!M(FEQ%NCWMm$Q+Z8)H2bZJp0R{$}Ve{j1tu-@XG z`&DAYFK5tj0i(*vDZ7ic0Le$*jCdXH6l$wUH-F`!t%v94$4_0B!k1HCocbJ`w$~2^ht!4r# z#sk&^>*8PZ4P(-B&fUzS3U_mGg3R*L-I_*>g2klFNW55EZtnbb(#$w`E`RPfc+mwtK&~+W1@b?#Wb&p)gER@&l ztYiJuY4Vj>g}f+7##N8u;cNUD&DWB$H=TdbLlV-c0ZlFaV=XlagU)YRFluh{2Th1I3Xdd z_ZZ2N@UY=81SS(vdhfzL^*;xi%*Xd*Z@mN9=tm z44ZJyTwvPbXK%}6$JJOe6G0NeZkv}&D%b0GB=6ohmyCf%a>7J2_r+sf6Mjt3IY+}( zjxrR*!TVG*=vWJ1m0D&0A`|50VDU4)MQ8nkhfqheYBx+|s8)n1PLB4*9{GVQ|L}Hq zY9yO-CmF=Ja1`eO32>K_gjsQ=aA|XhFaG*L3_KD1Lz~R^+!-48_Ai$6T+dcFV z!QhClS_3E%O#_nlBXpxMN`w+LDexD918U`859k3xbx7fSSdZL3M}!{%sx{b&?;l&A zOk)oiP;nG6X#=eI@|L*%{ohVsCL7$G7gq%^#_QhmY;(&lJ;~0NBDZh+n2@H}5j5b(U_p3SNLbqQ8smu3IQwOweRDT8^J|6hC z9V5A@H*ieKD!V0Etm%}KRb!0hKg!clK50wddHWkZr=Q7mpV*HF&_L>!Da!E|X?hGc zml8*quP#BNH2uC;mMzP-@4t;}PbldR%!Wb>c~Js6*e=_{&Ry`IF;_r*JI+;NY$0|3 zJYHY$cmq#^r@51Vy{B=CNs)<%&)3@{_;d4?w$l;SON_3El|wMb7~(?bwu48PA;=h6 z+?o)K5_}Qj4hlejZgg)yXm0sm0!WrHsB*bsP*gd-x)@b(aFKw2R2@sX;yjPJhEX5k zPsBl`STuUBtD50h`V_IP&;iMyoW=$qwv|_rp!A-zJ!q`=wo1$*ncpiU zET$YKu${6ul2dGUb9^J~;OWrqIwi9ohs*@pYzE{6I5^7i74R0lrdlrTAZrpX#Sj@9 zXSIfhoKLk~iZ%9R5Y&9%UYduW@W+ zL9H~`I-m;=sZ)u=Hwnr$cm^-BUk=)OL{;*g-N@&0eh&&8hy7u|oV_A73h-!a{LUPL z4Y8et1n#~W$RIxffH`^cBnh&2pK3PWuxQ#oq2bEn2W6GIy|#nMUGQ4*v5@>cr|mDn zIVax3wfavPkC+&@m(I|suzb-kr_PbB$GeWp5P1FQ4%NYdg-B8$vN#@nuv1}w>C1A6 zC|w6;M-8rdTB&R=-|8ilD{)o_mhdeK(EM0M-d`O9SFcEyX{21}Z{|SA4~Ll`k4UX~oLSNg5V&SeGQ+AGm%){O7l8P6{4p_q&<=)4&tB-9 z_JXE0A7Pn6Q}4;xgU0?Abl_A&e`<`_MG-3 z^)@mkZxT`*uasoXqiEk(^SDR_ujy|Jt=FPwvIsx^LbA1R+Y%~FAhiwjr|v0uqUJa& zrn70CsxMYxagrxL{cK!(HD3nG&u+3-h%7)@Y(jspEpxOlcv-KxSe$VGr!P6o<-365 zb`Q>o{0BR5`0(8e0CDZ>LBnh^fHQR9%TflPT!+%mrijLOKJUV#UCfK^V|0{X8C3nN zLGWMq)BoQ;du=p}zw+lIC5ojTOjnmzmvXZ%bf{@@DeJWS{&s2(Bikl8z3JMzgf12e zbjvpz+Fu-UY_5t>?($T$x^iOqhp4S)H?vf5tc#?`?;L5WPSn&4G=$77hQnVO%qp}? z+t-?}E*M$y_*h8uJNhwSFtHf_r{?X$e-U+J~mETKjXQCmxLJ$`f zY}&CxjIg)CQQ$|g*KZAnzkqMT`w^=P;zx{n&@p%kB82I76MQi#Jm@Z_Wi{n!=bz6bsYxY*d8!((uJT(_ zg=Z0(bX1I(%QFNOjZlTGI2K2tLKNAS%T`82fJCMWS7BH9( zpMEzYO1_uhZ0RoP6>%a`E5pGVBk*_(_7V(iF4#FmZnP&RakY^YxhLQNlao2I#E>%1{%AcO-|Gn~YAhy{#N1k2NBIt>B z;J}rHM-q#&oPbvb8E(aup6_YZ1+>udatfyT37RHWSsZnX(jWmNdj}xYb3iW&U;T_| zUa!nN*pf2C>!M(M6m*NVUKAuZH#i0Z6x|eOp&!^b=*jv7WOV7{eqXr)4Nu=3i%p}G z&qT8drX&mys)C6p^%dG;HfW|f*Y}50(6rOeLBdEn@&kfnjQbT)#T)spo~Vcg4kOOz&uiKy z^Qw4>X$FlMytujVsB%gJE07H>2gzoCBT^fCbSXJNxq)ciJVk@jeUhj>TuRE{nAPh! zr7GGi)hiLhK{G|WNXz3Q+!N$4L_)L-_m7gSjUqSyu(3*uvBejfrBbVz)_J!4M^+0X zHG|`tx4?JLflc98KJeoKkT*C{hIYpBiIiMtHbQDoWboNak`kLLV-vsKowOe;OV1bd zH+L~CWC&Q46HwZU^;$w$13Z^}sf5V8J{(ZmnQv_vc^ZQ2&|p9}v8TW6W+B96H>~octEw(x8FAM!{GwKdgc7u ztj71QHmExpo{m1WzED!lLKJB*ldGsGC)5`6t~VEjVFcI`u02eM7t|M(or|6okZtR! zL$V>}z8v4YJ@kRx>MyhfY+uv~?5}_s4yvHfMD`Xm1m$U1(N~H--Fo(@*gjcy{mW|s zAWIQ$ptvbjKfPr%d4d#$*X7Z2g@^2*Ha?e8eU9tET!Jh@?Y?4USES-va7v2qzzYf& zj$S+O49Y8`8oON})PpGnzdWtLZOi7+6P4g$Jd_Hx#7CY*zYI*s(sn<^yF?%A?&KTyicWpK?^g1wp*JfYi z8RR}kDe~X|0Ft+4)^UXfn@IT0gu@VDNP4nMLH*Q%@f0dUbtNf#t9(R2MWXT7M zl*$`hG8@R_Q!p7&>Nfv%ihS$Yu*MqhhZX%BWG$`#8ApbdLZn#LtE8KX4zHqv?$^EKYvqvT=VL}luP)(6QYac-o|O8GL;cG%Ymxt; z80t?W4a4w56E-_}J`6)Oq zDOvKHQa%4}L1TlmB-kUPw!;P$6>=NB%(*4C_!&bbof??<~wcUgg6e zSFm9nIXOftsSWyfEGq3*LIKeHduBF=TIhCGqB?pp8m!XG)a7Jp_D1*tCvNlR>MMKY_}2eInCJ+tlu$=IVvCI`6%3etJymyliE(pEZ zquZ6fDpeZ4sU3te;cc2_O5>{=4xx+!Boyq@-_sBWjIXKY;Dl)Z9>lg1>Yq#R!}uZy zju900CnVcG!IVZoJhc=n2`J*zOoC^mB|q2d_T&l1h-`fY2=Gw~vp*fmnlg#r{$d1~ zN8po=Sw5-=@YnQhIN7Sk*05TJFkGK-az0qAS9+<*rpncxcAF;IN-*&^=APRqHUqGn zZvBOvE7k^I=_m5wf;R+6BWBiefMo&p1`Ior>`>+B(>z8WjK{4XJ=8CY(h&ZZqB;4z zjr-5qC}zKh06J}37iuF&d4D07K+!;{)u055L44|tGW|I)5aPAPp@up1x_lwAwy~~q zBLIWuwY@p4$tqYjJk(RE@>8Ah$>XVbuZHpttyxZZ`rx*1%hdi2-4NWL<97Lpe6rY~ zQtB+6kVXnDYMe)zKHBQdC}xEDM()K$%R?J;DLf;_sFro<8s?skd&&!gTY~1Ns2d>9 zr*rDLjpw<4wBQM1ez3!vV9A{!sewSZ4I(P)1yz~Z*`su$O|TSSO(7E{FONz)g#X^Q zI=oi5Bge6G_79E=a5EMb>x?Y?rK(ItG>b;hy?3=jdvWkX5+L~%cXHas)Y}OzmGp&?DBEK*lcig1S2euRFTDBXS!Yeca@oTaIE?2eM+L5P!AUq)B>}-AEQ=sNN^Ze6CX?&?| zJUczWIUJ>v3M`|}b?TK@VpdJ6HBIEof20fWyrG;MKP?N6zXZ`gRZXSy?*(-KD^M&8 zi@=?%mLPKZD8%@Sy!o^Ks3qkb=ER(ZkOD`%3zcBpO&$5PO$z)dP4VQ%)$87o1=*s#eGp`&0#3U-v~mJyQj_DkxGCQ}{z8xJHTZ|??<8D4;9 zg=p-n3eg6(%QX5b_WDy}W28fWk=4-XT+#ac{EfcbA#*e$nBJUjCl#@Fh-)u#s?3v| zWQRDU0}CwcB9@<^OOAaDJ$l6tB6gGt`~%;05(po(rsHG4Q98DJ!ToB&iBCyov2z#7 zel4e2r@6_b;x}THAw=dv`_IeD=VOgmL&w=1?WI-6d!;f>4j8wP;*=5O<`ZK|H8|#I zUY9Z_SkRgT>`_QQV%wz`I)sM1#l7T8WR+*mszmLfrug6x;+kLIjoSe~RLa+W_{ z7FuwPS%u@nG%kP-AiCl9?(d{)tEx&BGTDp1MR4yrebD%+U@fb-1Bo*NE<6&X2!cj~ zvf{9MVP2~jeWp1}=fzJS5wgr|KZIRWW|ae&8_)W}2xscknTfo$^Df=Av_>Wr9&g7JFbPZ8SUv(PWTr7!(p(mf}A zO$axl+}--NnY{qZaZ5kLUE%#v4uWRM1-!;FT7TU+$8Bt7MZt{7^ORH`h51m@B{kIWRiS|tvY8GjLWhx-WfxsL?yH3 z*oxd2RlW*v-F*@3T@w(rSMeE#-XO{u0#goME;1FtAgWr;HQ%fiZR6$UsZ;h)STJs) zBT3eLilcooS8$5tN-$_prW%@h+;^es$ADrnkIQ6R5r^twGenO{Ajo@`|LK{Gy8xVg zPAbeKGl2m9fRt!j)nA$l_xpX0K|o`HPn)+;mf8DzkC|q>42}TPB&pfV7*~*K^6ur@ zY12c;%k!E!5fU+G(%mT908Jhzj>UOo6mnBv(el4!))|{d+qi>0fFK-a)>9&O?Ou&eH(V+w1^yX*KFkbM4inkCzSqa2#lZU zzEWlk%_$pF8={>DvSaFcnoNv19 zv%kgBI+9gSHOzAMP<@BdaMW$%MmMxb&&)4@bH%9bh|HY5da068C|3EyBgyk8G~4-I zRNAM_@qn&QqJWyEAcnj;iFl6P7v?HI3j7RiH9-$rVtb6}1?=!XSRoobC_d9>u_-*28z{WLKbuHe-ZcQ;ZVPS`|wyog|Y99 zqLej>A`B@@LMvIPlF(!e*~W||yR1bdQz6MRm91=J-?xylWEo>$$37U-@6zY{z3=aH zKhMAS@A({u&yk~M-rM!QuJbxy=Xt(@KhQ(y+`AYO2^R!b9Ny8#zm`tWhdeb{y81W? z%pBrKz%db}Xh9APT`p)1l*+gA)FBL4({$|=%r2`wD$dolO^|v1FmE44sR=E#nibM9 z6S{fVMQ-WMlO|-NElJhRH4}=m4W2`!`Y+641~1Y;k52p|AAXm$k8Z^aBSsS%`rXD@ zb>h)mZhDx1w8 z$Q~dKT4X3c0rI#HHrw*E^qVtbczc&(0Izr-;W$R?9vUcpSpR9+tSS~JrTMXPY}_AL zw`sN_V@O6^=aNekzjE6FQo{24>Fc@O_gEipOVa$!e!>g!)OeRDP_|~n>`SEw zXiS0T$Vz$-UARw6>tB3Qa2L&}7i?V`Of`Q`X}e16A@^tSZltWOcN=`|EPygL{BWvs*}}y!R;nS{1C;rb*le}&xa zZ-Nn@=Y2K9b@g_)6hS;bF7r&|NN%)~z#=HFumH7gzz%3XPte=1Xgc_4=?}75P=y@% z^Ijc++~7of_`LXcGIU+BSrd8w=3Y>o-X)$>0`!#-!YlMaaiPNGZ*k$)-{JzGND6WL zY(p#iJ8%9#;uq$|LR8WPzL8I+@CRna_(LDfe!OX@-?XAM$xxC0E->ab1Oit+HP;X6A74EZ#iGU6LuNU&^i zB0fr9$!h>3%KjaD22BV`jNNA)+d1ZbaP=k=@5u_`G@)Wb)aFrlV$M|~wndZgVKd0f zx4A42g+kQ16r%|%?xHN8-1qU1)l^Oiv61P%;SU zlXC*&5fz%@v9>2(1}j1?IE z!ES{v<23SxTeYe*!610iO$^yx;Y9AL(*!9|Nx`4Z1@iKqMJYWVwH!VKxzEm0b0dgF zBHNW^5gDXiij~ zZ_tz>H`Of({oEWL_Lr`HaMZhBMg3Iu?aPegtR4a)W=04Z+V8RT6PV#`+Hf~>o+aq? z1UhZ=a8lkfv=VtL-`2_-RJWbGN4KocQ0eP&Q}SzO{MicU^D?KK!PZ#j1v-r)MZ3HN z*m*K$w)h>}=V_D+sf*29Y;@FxXa4IzejRTFsxzx=}xySh>zdz8XDEEVB-%t^UfPUO@J$q>C&r|bHHq?127V5FJ44$E65 zUrPH^RSQIPUuaaspES7!_IiyKN4E$7*Q8`(2E^d|qRQTfvZ?+$wB0|TN%p?U0o`1O zcaXt^+#CEIoxRPT<>reX^d)hnh<$}w`G9lzc$<;a}4VgW$wKb>9*Vw)x zA{bAa5J!G!b^1QsYFR^4l=jsRX5H(zy!RwJRqV{}@}*LjG&NAH5h zkI$o=l-_X{K4jdSkY<6!?!9XU=b#)<;m`RX+)JZXy8GZ&n=JQ!LmL4)Qt3Jh0QV>S zYT;X)Q9EG%hYK%hvf^K4Vn7(Ic0rNBOccjty5_Buza*ah_M8#e0;q+_34ItB<78QD z=5=c!GTJHm`Z|5+@~x)<2*DX2^Tg600x14(eDSA80XVk@Gkr7J3oTc#{4PlZ&(qeRXYXxj3THJyHRst%_Q z;@(tU#I)R7b=iL|nU5QErx}9AuS*MHp|N`h#UHTqYj{2?6Zw3ky0&K?V$iD2$76V! zuh2(-Wu!H5JNBkux^JQd0$K&7=v4dWl_iDQDIwH+kjm{JZwaNBD|M$o-)s`?^art3 z>n7YNH!^>ia&ErN&3@sfl8$e8LPrhmSe7kc*VVgpQK*LuYe2A2=4pN~_Ib4D?^BYB zhTNCit3C^`lB(1mn$=)6Tm+-aC zxMDqu+r^GguLIIXnAekJWB9$9A1(c8^8c}f-~&XMuG}qJ6@aGQ2c5L;fX8YA{`W-| zzpHr!GFxG5x2Fl^d5l0-R7B2nYCiFGeL0-FeYp54Nh7d&slnG|amR^VCb$WXA!GE3 z_r}GM&^@gviI7pc!8CgjduQJxl&60nH25-RAs3^zjUC9PU5&{H*WmMyAmlC2t%rXg zreiu;g^ii^GDk;q;?q9l?RkC9r zbGQA;XT6(wbTY#lGV4!4K41(W5BD0eTdc75?n9Li+P1ueDpyi4IT;aYyv1CvwOfd1 zo;z*S%-PhDkB<@4EZD!H7^IDyJEFELx>5=qtNq7OuSbSqzEwvxkO2Ljr)lB208IUh ze(i4;?!OJqekKIEM+l^>$<;TWdFriGH07_VZdQomD5W^0bN4d`+MM2)d7yl7PYEMb8aAtx8Lm z8KSW`jb7| z0zz^gy0NxBWt3)unVZX}Mu7xQ`A+_UheAsgisQftCtT~B^w!>v)%W&l^Y)tc7k61d z;}yl&J4fSV0_^){iV9372-F0;Aei;nftIoof@*QI+f&==vA@xuJT1W)5xKdv=7Gad zIGF?QlcQq8xFVihYj+mAwli%!`e+<#40LT52{ZZretVplX57EvEocjsg_LPYj0qRlcg*HQh$FYp2sK25DLW5On|;*~$}LyX){>j(5|mPhuJ8lf zTqSD01H&+en4u{Q#`Xh%qalxgcmw&pSKW{J*05&H`vbwWR83Of!ZP$C>YG|FL$kA9 zTi>KDkdjF6GS^_%?8Vf;i_nMI6@3Nq!%@#6>M*;kR+w=fJk{t~(zci&<^8zNWfS%s z(3gBM-j_q0nbFhiCfz0@1K2<{<@=ZKfzi?;2{zdOQoy*-1T%;$RB|6kMv(=IVz2(B zbRml6xPScXq7kUcrOxH2chmDsOrOD1#-H)_6Jlw<{y^3)Z(??rT)--68o*BzI!^?B z>z6TPCKuYt%JX%p({Cq?_z0#yofGD3r@ZuzV~(o@sd4!5?)V{mXf61)E9Y>#D`3vZ zun5oyjXVT;<8rS?!dQ&PEsH5Z-38Ht`d)t^cfYL{HN?I_D{cEUE)NzARWNUXb4)P% z_^76s{XHmW512>-lIZ>)yBI-5HU z8xE#v{ax##V)qY$JcAGWA2fwqj*Ita->hdXPJ0K<8E){c%&$Lhy4vL=ZNv!T6C^-< zg041@YxHK(b!g^;_m?y4P-8NM6e?jcRmNR%8 zy?cxI@^UFp|22PS4Yvfgm1j-%@tCDbi0xcIwh+Jd>eC)Nuc^aWUY*D}>Azld-`{5r zVc=cYl+H`$i@&c~jA6^l96yoiddzo$^eIWwiO6xN`*n1;B1-xDm!5}|DAkB4#i9g)+v^%|JvPluUeT_z@bun&QcpIh0Ba#FkCG~&7IAL~9 zm+9>Xf;|?H4F?Q?^%v-dV`sErIU9dcSjnoooXa80;WuvE;8wE; zN#iV%TZ;l67lqy}?pxeQ5t|;QHdpM0y<%X0o+~2aDY#;jaRuTE}oT)sR>W-9cxw8^8~m2psdVIM0c7&h+l)>ZP|q3cOc?C z4Z!NPyNG|2$_MGo|4k}iXP)x};>d%{6cOeaO%94um@g7WtofXA>`Y6U z&f;!~oo6oIabZF6km1ian?3y{uDX<7g1%huTnlfZi3`LDkCh;MP63-e`hp4BP91ri z(l4CiN#ybYi|$x_Q`@wYxbtu<%62H1Du5k-zuNJI9L;|N8LG0U*mrcP%k@o*@M@Y@ zBeD+fh})6ZJoT5G9vz@$bo2ELcYsv3r6| zbXy$f0pg3kRdvLKe80j;h$4M7ytr4`KW)q>OdU09v!=UfpM9aL5(U_r%a|6&RkM8* zjuvI{bx#@7;zGvndw@CrGVnSRSJ9Xti6(w5IZ4~|WC`z;UPszJBPw~1MR+xuCOD(~ zo-FSYY(&ziVh;7*BpvmEyC{5*7Nwc4q5lg}Y63)g|1YAXd6w?UV_Ke(yY|6~GbdX_ zx4rqV`wf#v8Dqz_RvYt_XXPh<)z@3Uft}Ht1}X6);?A93elzL>6EeHYbKHc?6a~Zc zb%BWvTe7mw>a$Z(Il1TDRE)x|>d~&cMBx_|!ClTsujJkW6|jUB=6#>Pb|wWJm4(b+ zo;UJ1c}OS!SDR0Q4?mQPZ~0kHb=R#GOB;HMB@s?<{o9)2ZnP$!tu1UM`9daS<7WN1 z7-b=F&bpF^ZpwG1+9YhZGvD*mh{JL+zx=~EZP(S0q`nYl1`Y506$n+4j1QPDdsF9& ziPva-o?tHN2y;*!I?AQh$}ctncw+ zTCV@XFS04nVuJ!Sdq1|&@~cAA)c%d>V8Mx;R7hza zm zw=K1xDEz=>15_}!bC^<2`#y}B1^GI;R!W?6gQ&0l-BY-%wcLBMPvf29IjTR9P zy`D-Jm}n_gZxxJHqYsg{1JCW`QI+nMd~M&GdfG4{{eLe#Te!5$k6AX}HPV(KS@{L7bhn$@MGdVBhRP>qM|Wb;}xI-S`7B zN{;O>e<56LBl43fp%5y&@g4s45$nlP6h755S5ZA_{Hc$Cz^u$?@Hs!4U=y)vpS}Q~ z8x`RB{y0;od4z0V=cHp;Rrsxtoav@yElUk+fhlpfsb0KMy!OV^Y9qi)2+-dEo|uIe!*q3m-A#Z!6?;NIW%m)(Gzf>Ada+sB{y9FcO@NVdZ<0sqI6~G|X18W%J z9Ni*<+%pEgX5rv#R0?RcraBmpIxojtr%k6LJD0!eXTKK|ys2u&EbYtLtkHmeOc(?1 z(HUwSjulAU2((v*T7Uo`rlCbJ-O^wi&0q)Q@k^Ua$T|coN|c8XDypPgG|b3RUyfCa1sG5n}Ss0 zzhnk5Cd?wBK7h=CVOV@Wvr5eHoZFjWO5GRh6^9x#shq8XnMO1#xvAb?tV6lnq4=nB z{Z?C>U{7hnIr zU@kvt_e5kodQBr2x7t*PXY(F2DJ)!NN=wvvp9`}q8Uoo7Rl@U(IZa@!SV_ zhO-JO+ShE#AN}zFSmnW&p;P~N9Q!1A(aCIbW5>p8w8VhQdsI#8kj%|mkJ$GQZoGUh z6>zvld|X7t2OC`6HAwc(zP2Y8>}T&e^C^;a-O++&41U_R=Nk#A{@Al25AXf8?|a1V zF@pCi<0B3N#8|Pf|JwKAw`Kvmw7wF7;0Gp`<+c7U>(pt(w&!QVq`e2ry1U zt%PPOl=d!Dgb{=%MV}t_Ih`zzyCRZ&U0PRQ<4~~3!*PEj@AFFlyqtK@ORE87&}<8` zSshSv5=p_}T{?={7bv3J;$Nc6p-L4KHYio%j)jkfN)ybl#NU^6OKf_5hY%bb;NHE_ zrJh|Uha5Mg3|}>3zFhhBSL*eWLPW(2jyQ70^s9ge-przIAWdKk4=_fZ)V{a&K|S#e zRSEq1Z#VzsJ7~`?kj<$NPe?Ul4tpOpH{`!y}b7_Eh9?f_i} zZza-75XyW)*h#1pIc(ULSi0J;VRuy>7?yD12qEgRaSiu9iMy%G$W?&^{iWkvK3Z$<*XkH!+z5W&=%=9thkm_@;((33Q}$<(NYxQ^8QwHj!ey`u~)*~_pQYG>} z=DwSCbU{bnIpH()=8|OWq1iA`p+rcBunVL&3Fb9IlM{y=Uh3 zPo|2GLNwd~%IIxbf8JLaG>kTT_F}5NKQ4k(#M7uDtX)mSLse9pH;X(&I{zGn$urEF zEgaE7f8EJp`+Z4CI=1plkhVmSp4HQ{bWL?*eDKN7-fgrxGwiO$Lg{`YX0pT)u~`fD zLsyg`zF`fb_Tx9b7w*K?tBGzde-$a0pZ?;=r*vwsdg+z+J#Q&d?Gi%+}7+H6n0Km$%7}-Fhh&+-EbL%(hMcx znUgUv!&5mk^z@0MKpTy^Ppo(CnS+~dSc26AEl;tW5Z(Nh z6e8E>RWdjIT0Vob@T04_tG+mw(k3t2BnCeDY!yg)R z{{#5MnNyJ<=t%VO?%U4ye#H7cqq-DHMXL_3Bn|!Bt{G(BZf_WICZytsJch{MWBbi7 z&F7n-nAtrwwoU_v0TDAZ?RWHVq;^Yog*=u2Kz@~WcQZHBjuYVa8MwzV2l7^i=lQhZ z>2Hpv{Hl}hxK9nw1u$p%HdV9f5#Nr!&BfKVac93CP@XhPQQ~Q0`!QH$oFQ1P+AKIT zK0Ob(!+~{B8b*Ts)>mo=#Hzn|Y;YVH=1kbSnBuR#dOlR_T9T=Vxd?sS|4q0PnlYr<4yOm02b#D=3 zd+^XyS~8~F$rXAdiJ2KE4!dtX6F@sbv2PrORrQ~XBJvi8q6bR7BbHv$5C7&4$fVb? z7ZH2P0!yQ>3OG>5CZWJe_62MU57e=Xx6r*+bTRfYZu>sx{IJ4(U7?`)&mp7q@WPKlnJzCS4_|0`9 zBuui|;DL7yvs4W8HE37auGF{}^$nrHWOrh0SF)Qq7dsSOtsTBrT(~S}2HO?&D>SjW-=c_F?( z_CKK*)pYW)d!8mV`AU8*N<8s}OLZ@$Z0yF}BFlS!APx!lLj#iqO>ZQYzp9N+{Na`s zNgc+0s1gHc9_zhLs}0++0DBJ@I3pd}-35Ev$SojCE*SR)efQ)j_c6H9-@_e5ckZl- zkyGstZ57Krp$Xq_w8)mb$74HFx5t<KY+3jYtw)c#$WqqGaOH7M% zN2DunTnVG5gl2#x?h5##pWto-fzNgCqck5RhH?Z;wf3Y*t-1tO=#UfqG1dt(T}Q2T z)+KN&g6n|-kV$>v7?v8rW)Z?nh(9-g(I@YN;dLL}l8n><=u+3R9!Wi)>0PLs ze07yA+N*?%qw&1ty_jeLj@x@dY)^o`3E)@O?f?8bGn#xXodcY`pU{}ZfrZx3@m8iC zE^do0JAOo)k#&uQq&&yFUb^%ZNUfQ|z_lp?8A0YdsD?Ed<&q3UCl9}rM_`(kAoOU8 zQv!)F1`4-vzYUQo>a1=Or}?{+cf{}MR=DyfrrC;p=iTW-=un@4C+AMFrcD5h@fouD zazDF*vGcQSe;jvE<1beY3W|_LNvuN)0*6A|-OVUNe>20^Cps!3CtY=QByt!ZiZ#U} zQt#{A$Xx2p*XVQ23ILkOj;>>AoA&ZV0u&oYWnmiN_0 zSh%U;@4GwiW%K3w@&+OHZ9}bhv>NrrJ(xc+_aUb+!^!(*fKM0&49gG?U6^eFtuxop z*(B66ygJ@^C)NIi&wSgA$fxBqPcI7Xo^L{Msmp-@rq%0GEEDi#1!8$B@0C?+p!V+o z4i$)58YzBW20YHteXtLlOhbVe=!+q^;x`tM%>~4eOSO_!1NRG?LtaPh68fHK8J`zX zyddh$xF@tVU>DRY~`dmoz!M?87fU zX=mPwea~o?ee>sE((Zt````Q#liRzzfIZlgFXp<0m)#yJo@-Acn@^gEpn@8LKXSxJ z^G(KtF~%yA^&+bvO%ok*ixo0CbA$)?r>y5$d$f;&w3IVS-xs1qvzeKrAKIc1!mK>7 z|AbiqGz@kn2Vqu-e>0}u_Dh@vRQWG`9_5H|3+2xI93Ll11KU?gr&=1VpGT}EurrzH zR2Lj2HbrV4f(kpr2Sx>cog2~bC>fgHPt~`L3*r~=q$aqs_XcT`1Vys{0^>*j0~n_V z1F0tvUo;$qPYI(`$k{RSas}!)GWGm4%3j83%L3<4aFDH?q+6qVj9Xv7ODK(%0QA7p$VcbA{ z%zYb`75RBOXICZ@kXhAf0!FF>mdP7epX4i7p;r9j*Kjy7VN0O@d>lFFReZQ4`K)5P zQcu;>{e1Xj(L7@FpbGP$!FB8~7>=L4&(rEuFuR~n=sYHtCQi{qPP{=PL>;^=I!k%r zs=Y0GA?!!;@=nA`f+$&ik=5_^+~eC3w8QXN*$3pVFomKQkF6RU-99CGoE3pYq+}kM zd3Qmy(WhojVJL%Um>drO4c56H?}bE)4#2~fHDg=+;1L~!T6t4?i7vq?$Yt?rj|Wx|B*v06zXH_P&}$MnP4cAFz5C$+3>8A-#cA|8ms znQ%=m8}EcILbZkHXl%X#i^QIeg5=NWB+jo1M&HN3w9W(vm&U%TlEt*#0{m4d4zuA$ zaM?QvRzPGAej%iZ7Wo*m(G@v*f+CWx@hf8$8mg>u>u!vR{PJ{7>V=^jb*zWG`55oL zt<;_*+}YDWjvaAP-q#(j7CJE+o2xE;7m=`X?p|8>K-)>k!OogBXK7kBh=YWl}-i$BVG2Qxw@AxzcW@0ukT zmjuPrebY%>J_I!1*yGf z;s@Xw8gW+pFW{5;)|dflmwiF7NBIj-!;xb}U4ca}9<7+%RR+7l!e-m^Dz3WSKSZA; z#T!5-?FBA0H`i!*)viSSHMmX+36_^u7F(|%eIpajq1YCRU-Py=*5mY>C+*jJ{;P)m zmvsd<@+Jtw{x|J8_!>jpZuP2&o)Lf)CJbzKGMR{^&dmaxh^KIphiJQg-tHesn%zW0QxdKBSosNisf5sZ|&~GXB_Rchp)Zj(?}wP3H5&V^kr(NAenZoS$F9( z?**M@$pVvS)xtQe&hSl&ePSJF*sHcLG0PLmjA`Ut@gtxK@3VsJI+`Hhtx?K8E?IYn z9aGgGZ}XoR_##aw+j9|UTg5WRp;zY?UQ)o~DOuWx*kS@J%TK5lOn!`#z2)mS916G` z37f>TitFND`ooE>xFItKjZh}$`#qI=n29 zhT4R=v${31z_712v5Oahcoq+!HPU6D=_+Jn5Dh^oC7H!j&z8SVy6ED38x1iC+~DnV zq=}KU15m;~NTeMyo8rqdnL77y@=Y>aA`07LYV`P>M~FgV-ThOsR+@YuD_ z(XC6SOYNsu^n=WN;d)8?Pbt-K?XAzd65}0RfyKa&@)627m&5ejn)vx*vg=)FNOOPhvIzYwZN^#~v_Ug~U>^WkB-qYS>|vqx&3!4F+`_ zx>MwP+ElN|bDc|T%n!Yo)RoiW@&FLkIEsB&C}KknGr13nP@)B-YviQhEZ|AyY!j6q z(%^1$NbN3|^mHx<4{}>F!5{eye5h~_j#6~4Iw(`^;b^MXe3kddLC7)cTvcJ8tW!Qp z%JIof(_8h?p!Z@}M zCeK|&b-cGi16Y#spHSiV87LMLP>IEx$CxxVAEFILp{6a8)S8%s2!(CEgZEhS8Elt^ z1!~22Y#0i_DDVy0SSs|Nt2Y4W1Z^S0C|Aa=mZ(7!C;ej?Pa$jxUjBn4>F()B^uI43 zdy2B7S$@we>U=Dn1c|F5$1k{M8u9wl7GBhaN_3!N7#XEWLzCa^(}`*qNT}fgj&j` z3-7yM73a}6@-ss86P`&)v`t<8QX}h9)qp@g@$SgnMC{XI-%HgODP@z**hy(-r}(^m9e9;&gwUiV%fxUoXjF$zhm*_tXXT_v18RX zWMH8AfK~y|tQ-aQ=&l%m5M#y~V1?c3NGKHQ8|)Be?NM^H+yTCG9L|DY6vOTwmxgSz zz#n564AmWWG2!=3?|sxO3I9y*n|9Th`HR$0rDZ)@giNScU?0AcH#j^$bekxj|NEl6 zwxF5bO@W7E@1lcaLhI+OR<&&{ESFohi^VA zf6pD$o(ROvV|$kZRQDws;DtSp`>&}B<`2iK!PKTk^)q(D+84Hf&OArhQbK|`%Rd4s zt7K6pmn&ge#`Gd_`ISVp-vhj?%*IL$V(sKCe3N*v{sY|T0La2q|5tv3wZs(nbiCgX ztCBo&Vd1{lb{hyC8by3LdjoOQtSFajr)8p@CvnDS)w^oaRVi#P6K~HVVTb1}oQ66- z3b)mdu|lcxb)BetBxc8&8j_#@yrh)+a!G<#y$XQzTyC`!o;0nn-2~#b`VQzqRg55o zp_X>e&wf=i_7F9xI{a-){7bP6X>Ey^&~HW1U>ZZWa+K381M*Y_e}6}n;I(fCU%y5N zwCn2G#y}-f4_pc0{ed!4_9n0)Dw-z>zpai2yXVc5>(T~43JDAZeO{VA>E6O17vt+Z zlSa8if(L~)`98D}Ave%~eVk^L|7&7dTLSf7Zw1RbSbbro?@>khRv{oWdcn&^D8|#G zcx$Or;PZ4C1-Lg31G`u9<4 zYue1w}|T;^9M9nJOxbg+s{$l6NWF?X`-fUTfY_3o)C2}KTs-42HH?{R(C=^oH)~j zJM6tsAMfDnp_cV_qqPG%{NRc?i=gz8i|zp?7iN)@*dZ9rP%jd{FooH$_=OwHrWtyL zfRvX^(02POWdG0shG;?|_jD*qwP?xmpU(Gx;R^DF+fo+azsS%Ny(K?yAWBwT>BphY zQ|5>YFeFL0r}t)IpXkv#(GC5eC-iqu>p5#Nj*|kH5d748;0fVK(7mI8e(EpC*fIyd z&k?(_x@d`pT4FV;wvCuWW=$3^Z6v{i$K`2_8vXi}>ZEg=nq{(bOZI!sg{9~;Gi@@o z0dd5o!pO^R+=yvLxBq1Dij7`!s`At;;dYcQu-K)sex5gT1~7%KYsDgWQI53bMD*tMJ+m zoqC}VY=DPMzVMv{h~-j5a_Sj_W8i2ISN-O$Hi8H$W!3QiqtxF3c9mTqxzr0Jm7(m( z=O_eIA;R-bQIlH+C05phADbuRAi@lt*Wz>!51rLk-_*b_?oGIa3MJ*|m{Z|DrlZn&%?G7R5IMG+V&v`zwk6$mUae^sg+CmR zPCy3;rT!R;fUOx*Zvj#@7q`#VM>k1;6`v3M@I6Vgm#Td>gO^Lsg~bfAPb|9**hkIU zN?~GbeJqrEwO4-GgWEO#Ne$Ro#>vJnclKz>vOE#FmmZ40@WTJb9xJAO3D{BKdv01{ z`195H&~@WAe8^I;s_Z2r=}(edbkz(4Zq~`qsfr&ch6X||VdrLLWlK|7-RKP!=i8f3 z#A+v)K-dFJJ9r?E3aQ$D_dm`i6Uu5{c+86X$g@WLKz-4C5zI=-JB3FkTGuMGXOG-L_`5DWA_5la&#YVuh=fiCvXZ#2xYW*M=ULIzY7=khb^r|3Ef8^Fhr!h1P}NIEEYpIL(95oi4gM z6Xbz;eg?ELzhzJKyAX7u>`H{h6H=>8y4BYjRaL2r0N|y2Zs>x4e-e>{8Muy_otEdrHv4~+ zyr&W56m-|v#<7KeE~lJ&c@Qn?1>Bx^&Ys3${QMdBS>!BE6m^@752Pw( zEeJjDwX&GMinHZSyPxhME&Mc8nm)u%J-*Lu=8iwZ-!QJz6fiU0!|az9zk`~U?&nmn z$*wjYAVb~%M20qWn!gq_#mU=Y>i+L6n(_u~K07{rUKWs0_o=n)i+FVKz=rb98^lK# z8+d2$M(q=Y_*7Zp1;res z{gZgQz7mPyt57BX%KJdLvefWvKu)wW?eQ{)Tg9>+#6IT7)`CqiLIgdGSyOj_ZLz}- zMoixZeh5=tIuufwmozkz&`M-$Xy;@hbv+wCChix29FbWoz~A}b_w6t@q;mjDH0ph6 zRDJ55k`GCX77D69mvq@#ChZyE+H-fy^lGsT4!dtlGCoos*B%|V=hBhye-N#9rbR;H z>ymW?59B|Z+|YG+7gnbWta{dSQ(~_a;nNSD7D>oq0T-x z9X&}ZG08V2kJXtlQIL0HZ+27RcJ>&dZ<(`)?HKQoBuNtBq$Dbz0U)C=0pjC%SM4Uv zY>xkwQ&@grB4-!JQRANWkTX63qja5uBm(cGQcgj}dj~#KuhuL+yPM|P3(<)|zJRjQ zbGP>Vdu4R%VU4k3DCw`Ol?};}>M|;&xx>2gUFtU=Jew>Ab}f(?|0ea@SVoi&`5W-U z{k-datF~v>x3b+huIt=mR6AP(9qYh_n|>ZREZiY>M@~~3cw}CIwGC;Cd4%1O8|4Rc zNFoS*KE*J%B8Kj!@sYzKmN!(N6wB;I>3s8%i>H^^Hc1JTbZef-N1X#!H=GzHN#jT- z;riFA6v21=`rluEl5IVb7{tTfsbs& zdjX<5q#C-yF^7+@cI*S&@9E-7(}8e#=ZT2h{5D4ttPOb^m0|`u4+ z%ns8`hVL4I!!b7?!VxSPtNqzbB%yGB18KJszX5kuagD z*%8Y{D@+t;qobzjBB4p**Jdleg|ZGbF~%qb5_s3J4RLx6aKVQM$9hu-jx}1289c|m znrkS|9px9jho1Yyu(0Gu3=5)af9}XZiiv&&?Fhskwr48EDJBM;byfSda+tzjr^%T* zfnb~MFGH0c;W7&sZD$sLnAilL;q3)dSmPh$(i*kpT(_LZqat5_RDHjg^(ydCC-^** zcfP`5ibNfnGl57wpD{GI;!5ATdir;@hoEGdyY&ek$U&F|fJU+PT|opfslKUlvQcBs z)85h)AD*jG7rk7M=1k5cF!^rd^g+0(9eC@k-rVl3VEX{tH}F`QxJceR*PJQ8UmbTT zsqrvPJ}s5K)FZ!v4|mLm)xR@cQBU`Q5I)hm(&foa-^=o21J9ZMl)s)w;4t8TN_#-R^EES) z7*`XUPF8W=(-se6nP>Co-{WQgaIU|?t!c{zvG*7xL1=vlyaM6n9jP}>Dzy6jUH_PF zf*!o~-9v2i?c#V6hskr#Y9@oPSO|uo@(#*Xw*R?8g17x^LnhK)x8RQ5?Pz8QxthPZ z%Ldtv7N%N~S7Oh}S>FD-XY|td=1N7(9K<0Jc?R<`PMc*!b;k(p4QD1F7*`HS5yu)9 z>D{y5iFj%n{es-ZQ)0=QhI`3ysPoi_1nlgEc;20P{&oT8UIyM}ETqD0yo;0abPY=H zn4ei^e+C&P6)huk;i6TXzEcfLr@@X};~_L!>@ZW+=lxK+VUlT0jfxg*4*(I^?O)cG z*GqalayxWsCeocf{NGc^#(h_0n-~U!imkF6fQdQ%3}9R|#%K|bA!}yf3Qy)$JCqGx z*Jmp^7Qe8)&A7C7T-;h))t!?J%D|f1B*)Te_K>; z0yl;td4U#U1YdJmEvTz2V^1bl%4=M_^fjol@vQm%5ZAND2HTp`MUD>t;8dL4yUL>U z{$+uglD9&qAH?g(WU%szZ!&Tzf_jjc4^U%T630}@9|5?D#k_dzokdj~cM07dbNLbk zV;!{Iad8weH#K#7ProhO&Sc`A;735%nC;zQr5;&TVZxAx|3I#O09I>oUJ+zCEuvv& z5=(tnIn>)&1%^b3&~Cdaow|ew)5r#iS$xJNvGn6aJ(x;oG#18>>`FIS(gg4~z+HL` z4|^*Lk)q0)1Ok+1?1EW&3AU5P8|-gaC2EDv*B&+Dnfs|x8b%Diawzl0{a-c1Q*^zm zjP@5+QmLD`4+U|ck}F_=8Mua}M)%RpV#vR$cz}fTdeP<-dxOQ6vn%0Iwv4ZB|fVQ2xRzx@72ekNL18={|9ICD{j*Orp z?YH*jefa1cxZP59l8&fBTr+1Rvb^q$!%99$0oQfRP&?Q=;<>w-Q$QuUfdT^@(Zn`w z$Aoqfanr(*V&8;j`gZ4ANhNt|@)Wsx^@&!-azKSsqhixFv*}mp2y_>IP4^&C#0I;k zbe$ekn@sTpQ7u_vG&oK9*TSgq&*FU^N1?_PC(n;;@H=S%)=LLSi6I=>6(SgC@8cp-;wF`(Jxn`sEZlJ%|r|^sv#2OUwFw zK&RelldAIE=33KI2Q9Y-W7)O;UQ56f#-+*J_YE`#xcPWpVwE*5$ii+`u(|(L#KuBGF;r?fo zgvM`0qs#@B)r%pHZzW^|q*gdY(%36l3Edo5lR5Ox$(5<{sFi+_5GPD|qCZglUNBr^ zrulyWWac3VB2R(OTSsfvvx37r@oGt*L||0IjKV4Xni`Sl)%fml-ygrTDMuxv9orXweus?rDI$oaoFIx71n*Cq;fxgkyq+))Mr*q+9>ikm$@12L8 zSEiybM0~#}ajQl%Gw34SZxmP}_^7D*#EB7G$(g7inHTtqblTR$@|tPVw2zSaL+66_ zrv}@SsW>gsE~*?3hUp&8!;I^IH}NR4X>3Df0Y>5YRd?h6zrWqgZd3?YDOK!(MJcOz zsM4FOH^A@Q(*}Mn^F2+JgGqRNOXk9j2B(RO-tFHb^kXK@XvzNQ6nJRo-gTq#5>>`} zyV^1$ze>^DXlc@61eb8OtuL2856+=abzs=A0FQ>rbD>mumiYi=0I> zpsr9b`Q9H$SIPL0u(0Bb;a)PbS5cc*N!D$>4C&q%HtDO(C?(NYUep6obAx^bc9te4 zdvV%jA;3>OtbauL^^y1HrQzRv;vQn=g765~TZkV%8sq4~PI0dvig_WH_z9sL-Qgnn z^V^3M9%2An7b9mnNdJ5e>K#QU;bj{`8pR<~A@lW*!msH>Xzl&RUAnN)U!_3#l!xc8 zuoB?F6fbwOEIxW5^Am47`G`^@eCUK}BP#9!=ti|{aR8#!o~Z8LG_?bAMAyiLVcz2w(-|*=K4Y#6#R<;9 z4pVZ>)s1pxg7W027&(L3*KG#(cyckd-M?O+9ysSi_r&#ZstB~3cAKu-yKZ8;7K!D4 ze70+x@mH1-2cc1*cZtyz!Pcco-6dqAyQ(zE@CbQjBc)m~7y>%_`Dlt$y_U~v5I=f~ z6jTjJNWbXy*l=aZhkf!l`f~FMj>HGClN$V*7ENQ&Qja@%qiyx$&A(QkbZ}Loz?!?6 z`z)|^h(q(q>!b5x0zC!tGY{5Ux8}_UHYIoaOG7IZKX^Yl{GPn^${w`naEW*NaJV8c zz*wyxa6d&YQ~Jje%#8;~Hy7Q~AZHynO)MB^x5rr%8DBH(_iBmJ`R$o{I}5jDlyrkf z&)J$;^V2K9`-zyYzs%1n4%FQqO)2e9m`6h+<|F33>-VtCQ%{!e)y2Gv_ME`0zvg|A z$09x+JXG~=KkN>^sKR34A}aTOnp;|n7LdiblS`{h&vSLbLp;Kg%;Z5kn3e>M4e(9~853!#5F9*jnFyL zfpvS}*ykpiF7+%uEYa-=&!U$3T;M6 z2@E~e-zjrXrEpb6_Y&i1jY46|!*8!$7++JLoSEwnkN|iL2cldeo*=f{?=0U!X_K!~ zS;fSil)OS8hAn0ot})BKtuh`Bo@R8OYebG)?8?uB0!FA(@s98d{ZivmKlhDyp#D|c ze~^=YxkO=aLV6cV>@3gpPOPyo%^^0UUPwEX)IpOATL-T4G=05!ffOUNt_#{4CG#eZ z+lMja+@dA8>Rvd{#i=EhdqohCAVke`l#IGj9F$~V!~ur+{TF-hbIyP7^X7T+oc%m6&I|Md`eDslbI)4WeSNPmwAbYntf8>P zQ`{OA37`aOsLz2`C}36y3|CV7{sKXj%nXq#22%iTBHnK<2=D*mPFUA`WsS4#Xx#P}Io@CwC9 zc<~mXQ$06ngD&5^;{)R(T?1v6&bKy$Zkj<Ctc>GumA%k3^@ z3Nm-pWq(m_+~a-q$%B{xFR^RiEKM8`vBf@v^238Gd3#jrfExI|CrahLEk$sm%Nq!4+&z4!$;daCt~Zh1uW(G)Y7S9$i#sZk+3=J_;eI&sEyHbH#rV@0dt>u?}yiKC|^ADR=`6;;ZXy5bVLKGK3gCMM+m@kUi+-o zJy<&?Frcxp0I|l9L+i4M)y+cNaci5yHWs^^pSpK%s4hFr@pf)eAm`pl(fto=(*AF~ z8#v`XG7TE>rGEq0K1HAb1?@v4(eE*?@zy$m+X>+(AeAI``;PJN~E$=SR--di)DD~U#@3U~c>rWNq zm7AvvY6QP-~z16+jI^e1qr0}cTwylJxg5Ac&>h}2KGRO zSY-5#%03G@!s#RwH`=3EK9S<5(C4S$H4n0bRhftpqrT=}vj{uvNVo@9_@f`mXpDaK za%HS*k^8Qjn4&K74Wss$*v)&B*)=Q0Usf3bHAk2y(i3zf23o{~3_>20Iyzq(#;$H= zh0{}fv7+VQA`S(=`DA@foB#oCQ@{jp6R+n6%yhuu2gFwKqn`L!ufEB=+@K2*%sWwR zBO)*4;AYxoGS7$)g3!oOz`UC-Ovt(}R~V+>t>1qjun|woh+!G?LRl!ga*T;Zu@fQ; zeG{eH&W~)fQC5~I?*aAT;XYQpCRb$XZ;qcge87oZ&#rZC;kS1?c|}P9jl|W;9>O|M z0(}_k16&wnWhnO&gHy z6Bl57Bc!8tWB3R0))&W(1WCG4Jgh;3W6VByAXE*)^8q`ubdx59p6-zLEfz5o{pXMi z)?oQq&(&&cU?0cue)j2`SM`l=SZ(dj28S-T?oebt^f__>e!bX#U7o+&b4cQOGHK-` z{=4@Du9sFy_{hgKa%HvSeG{!taO4UJf;-~$eFj#yL?%N=Dh2OXyWGC+Vrk+R%EI4b z;BEonWHc}EhCD}D{)maaEr0*ZA|!;5Jb+vgrgWRY;RztS65*%SpKCA@nmXx$@p)4b zAZECF(hs~ee`X-AQ&F-fn%Uv$=l;1r~;=%S1B zkj~wgXvS96(5W75)qC%;A6O1%+oZL7t3gsH|?xcmlz1HY2QG*V=e~ zrRbS-u8MpQ(v0<+mP6I82Q)*C6h0-8hzB~4rEGPJXW|OR#CstKTkFy}dYm<8(|@Mnsvq|BVMrj&K5a;=_to7WbR|W_}-Knv~aSh{1wAzXuzvxq0K| z8&m{rFu7^0fhh+F#gf{;x)nu;7<~Q=!gGJbLgIS!dS4wt2S~$9)hFa}e;mq&GYJ?q zNrCRI>A6xUBeJjnsx^69SXr0;@<@AZ7&x_*i{opPG$V#NtH%VtFk$_5=uZ@GYkJUbScwf^!};^_X@3J4$!y9 zN%>^)OF93`=Y*2%4>clj-t$jHq~P?9gk zBbGN1M-xcL$CGnFd0YxSQ}pXm(ulZZgk+a`iJ@U-{pYs2nfxEPzt*6Gz9I>VV=g{j zgW#_of5?tpnIhqFdWrOU8qeN5R>mSJ5|LL{1Z&%2O$4mJMlzy5o{|NuH9th(|FU^( zqzLEk89pq3qWN*JJ^}w;H=XhjmW3W`V<&ckJgB0-HTtqNb_@BSEMnqYS^be`%o>3{ z_x>XmE`Ta1Tn7f+0vzaDqrX6il0QW8kqVS%LBkvF`MBeGAxAyWgktm0YX1-Wb5+4+pjL#=(z zI{Ve=O!7I0-(Qi6CXfN)KxCV;Mk%+kD2mVbSxigL+O<(dV_tRf*|KSP?dyO!uM#+m z+9?2ez68{Loil&|oNp59icslJgtFBkOwgGN6|p5LVT=Up*u!kgpO=JqC61t(D#KmU z^eAAGldHhGsM%3<8YKCIXTF$#k=Or~bDfjbk(VGDG~N&te|I&Ufvcf%dlLd==;jo$~)A)eYT)u;-{RLewwqW_{$iZBD&bUz7Go+{ z^xV%CuH;95qqV3-+mrP%^Q}l>a)F%AyT=lcWT&&NCua?K|bi$ERlrY@otEP>rkfDDjoSR_uA zRrSkwDP?)9chYH8G*D9%`RaGp2KWkeC;Wei4z$BM2da~3<=o2;{?Pv1@H72sZK*>f z+Yl@@$4y9s&tyw~;5%!J;tv4a_S+j;C>qY)QQA@^d=}ak>P3YT{BA$Q1r&J{LWw z5C4jOmIfGk{?X$IdFGge1TZycDbPrW-vUfG1x%dW%xF8dQoIMyU9<4XTG@U(F8#r&o@F%k})rdJeYbEz*z))hH<`13Y75hwQ7;Lr;a%-7cAwek<2 zCu!ePsi}>lTzijQM1RNOL%R^Zn<^pvP*=Y~6O{ZERNdX&e^}u6S#KG$!HE)Z1|{yJ zD$txe%jhsG9t5;r_V)R^S>38!0cnnvr`6f+H%02#Gu9yne^po zeq_6BL|)`*vCF#2v!t@^PivRFig=Bzb6PjNiejrwV%$*=nAzfX)Ly?zWVj-2`FzRv zMOn)Y?*r(!R@5p(D~-)&xt3NF(jy-kwbB2?Ui|i;x5E1I6P~-5VW*q=B_Adh?fTS*f6TMq7V>!9E4f%3E)0sS!S1>~-7 zO(W7Z-#d6?@}-l&?M83KNfsYjI=2)yIjOI{KEM&bf;U8>p7`b3tq@nk+qNbM!hZ$R zG!c9Yf52c~aUz=4x-5&zM;OwxBC|H8(fU{I3??NmyTjtw3>N{vE+2q5_7XWf zRgc~Xc2d&HJ{mfH1a_TJ0=g*8;uU1PnOlvDOQ9l@9{q7@Bx5g(#tBHE0ohPo7QRQ!yJ?4A6{y5*H97JES)|#NA;)U7a6$o#~1Q~0~!rp z=L~$Z??Yc#;%-obG(q&2G&z7X9AFYzlk7D)V%4kqT|h&HGa44JFQT`V_-IOrEA;*5lEm|fYuLyh{4&WSk8+4h` zQp48o=R=M0J63P{)O<>8vE^pqfs-TE7#~QJLebJiS`JIk5o?23WXYSXH(^ovZ0!D5 zx5NR4R9h>cGnOey%K>zy{}Oq;W)!P@5`cVVC@}X$v|&LI8&l1#_tbSug6_9mrq;{Z zw$inZJ}{9Z8g~}B82Hh!s*WaKJ9t@D-6X!gZCu6cN?eEvz&&hzBs{FvQ6Xnvg`W50NRV)g| z_B@&|?p?g>tW2Im1I4gcNJm7nDxxsBE{j~<*0qqCp26tG4Z0jb^I1d)3#g~9WDORM zp}M;6!A2X;O?1@6W{j-jD)7^l@3_iG_fWjz9&vRR)b%skF~x%j{mv%23UKu9tzd^+ z)hfo#I%#3Y^~UpT?kAg;!f!SO6F0`fuNxwFYcf0SF&3_WNv3Oq45;6d%$r$+B%TC7 z3}`ro0PG-Ny0;pn=Ouz33!oa&JBMUYmHBFCY&~_uE2alH|Mw&}#wv}+aHEtl>;rR3 z$mxu)Gr(m=)CW+a1Q*Kl^HN_v5f0v1Ui6Ob#I}G-V&*ZeebC<(#%7`j<~thu^&McP zc4|2K51G=x@bsyYL?ke=pvLjW?SWwE1{Pcg+Ql`2))q+@8Bfndm<27DDwxON9YbG~ZTeARSPFjDub zv_qxV+fDac^-ECq1FAh5In0&9HP{?f~n(qMUEam1@*((HYng1EgCfU9%pRODW9%LSz5goX_g6SiJ zfR7HmuxFXCPh!@KA=sgdB&AA04H`S(Yku6lTQ$`A2b|?`5#N6!`}r5;^BD$cZplxEbWt-84e!m8|D-(aB^$AVhb>!>| zuBrySA1k4{(X!;8>js{jNqEl_ul|^+_>W(D38Bc5+HV@tA?!cd)7&Vwn}X%|K7dmI zrgbt|N2|ej4=?T2U{^UNFHN65C9qfLHl(Re`qjg4z zN4v_}Ie?HK;eJIdcFtbMmaW2z#AIJE6`}n)60D=KnfK&EufkuPld8O!ZLjq8qwTxK z$(u`+XwFRYq4s*A;sr{ifBl4y#&r&FDhkyPn*xVdsynTb5qG&$^~f38RI4#X=_Y=B zhR=G2FJFYoXa@3@ncU%vHX}g#6Ga%SF;(r4mvUewbcPPHo+lcQ^^ZmC1rU{sZ3=!B z%=d-<+4fXrJ>-6Sz_B1vr;usvtAJ4j=IgLR;qsjr_WV;CTO(oLVKCjxo`k=uu>5El_ z`c_FV9=}1Udy-J&?=7pWz)j^OCDoaXU!l4$lGKiHfQ^OO;us^6c{}Wt(v+ddNFHeO zo&MqRBWC5VH?QY4ij4Y-yfqz-Bwebe z5K#gMj24`yib=h25c5y}{KeRM1ep@nMK-~|!;gb1E&dO`Oi{^yY$W!uek&At0|}%u zX}7*=cll}^ujCYgI}x)wx(yJ`kCTA>P5wiYssArXz3JHjnkryO2kvzn2AKLUJ^(3@ z8vhK`OUoVF-|D-=CDDNM>|?+Y2km(U!#_iLkbmqQo;tVf zcaBw{8%Mc%<*pzpdwTWtcq@lIK1>w9{8KNu_wAUm=3AWFW>fN7RzFZ~j+O{ls)P%~ zhYP}TZQ?eDa-D^W9#+-g0e9)4E&X8hM5P8^Ka9#}LJj;yX7KBD><=qrp|KaIfO68v z=M8dky*}yzr$M@HLP-(@G>u*%gp>Ft3iRhR5>lIA_)*R(AbZ~1O+)KQV_QRZ#RqEy z?4t{%Pn^SOGC?d ziFforq$xwFQOTbV=1f=UHW7>d3P}LSX1#`V=Qss$5?!A6n)(+m8=a>PPFvar|B1P8 zqV?eIA!SR^8CFjxPfsw9D3=XY_;9cjL^{8@dH)d?j9F%*ieR#f^u@lkG(t--#+IxC)Oy`1WoA*EKojI(_o*l4d~0*f4MkJTQQMnqs75!6B|RG&jI| zg0sd6!%Z=CRH}2B1++i@f%fPRLjMt>ps?8PTIJ($tE2}L#8G&G+HU6&kO^7z+1$jN z75-ta-&8Qz(Tv6cZrsNy%C%I27|egIdESMW4@7{!!2XGNXwYboC$XO==fwK5?sdV( zlH_qpnh2JG$v{~ruS-~U&CJR1#TenRuPt>bM`J4L@g&BoZR(=Ws5Gis-v_R~>58GnUQy*NUQq7q>_wbltR$M3sG9$p zP8gfq2m6D58@l(hfdoPOy4iqBqH14@YJ~hq-~KyqelzCdDy;UY{YT(8zzV;UI%5QR zt#uHsn5esZt+!G7MjEsx4O>vjRvoDECHWm{sZG`%v;11LzjrV7-gfloatniG*8`Vq zVmR+MHAvS)@0#SHdh4{{Fp;CGsn4^Rgp&L?JbxU+GH?XBhWnZpMVBLWvax!>k_wY+ z@f%NJAwtkrl6M~n3M=*>XCZH#7PNK#xFA22q~|Vo_Lwu7Gvnt?$T>@4^3cJDxkeNS z8TsA&k79eY(s=H;nMUH%dZA-so`fnros#TbN84>Wjt)a4>7!R`fZmg=+|THSWMPS` zFy>t*f!>0CZJcxzdEAft{5j2(Sb{1}J=5BFivzp;Ha#I#N^84tlUx9ig+w7XL6`EkU@J{L;}_8YsF_YLofkGjUqg%|1|xawmT z*Z5|7Cssv{5x*SP!ADUt7PeSm@-fiEeq1o`uZ3ATV?JoN@;l(T)?b+tL z%tCfp*62A96B&*zdZXjEplxg&ub0sb;6l+0bu~#tn;GQ=L96~l)O;?#7{ll_UHHx; zf(h_K%pB2uaCNfoa>ebar)qWfrV=)+GFRFaDn&mk2T#cILB8AO$n(B?{zO2$`UZ&_ zSJLbdmdI0)(UC41m6^}Pmp`5LKl@KfG|*;Yp|oi7D93nIIUi8oW7FA?c++`AqsCo{ zJ&u=@wXiwWB@Mo$`5TB$_v&W`>mp?XHX|<1CiN4-r8%uu%OJ$_9xvz9pDJ2&- z1E+m<{iOR+GWLefJ6oWi1_|F*_ zXoYdB1!}<5;WApZv2+6kPsnSWcyNA!BT$L`s}B=I8yI~(VZnU+BntgU=zf_n0b5zv z$4!b%E2;vs+m*k;WQ2^tjebRs(wNYOo8&SQsCw>n`U|@VJ zp5jy;6w6G_^!Y$H%RSAT()cVU`#SdM6hRdik!sx;s-{kN0W zrbMz0+<$7|d-sm&yRj6K%r&~PRGrWp9-dVR8RE@4|A4tk7S766vtPqKisgbB(b}Rz zpT~w6H5BILTnay|UC4$PWs|^=j`7z?9cSf0dW_><76@4|*56J(1yw8<;P;#>8sYc^ z9sJQpuQl;0=Fg$o7a!QT)_nScuUXIvUEBe^MMB;g4xqU#cje$S|2ye1j#oG>S)V$0 znY6HK)Z^~Nv&bpR`rdW#72Lsr2kR^F_#^_hP8Ym(V5DI99R??hQ;?c$C0ZM+J2ZTJ zC~PuPkN7o6JDk$w{H@X)M5y&-kY>;0eD$~(dlD)$X&v=|MXHWVM5LGvBes+Cau+jD zZVBoS53~Sug5i&`!a+8TunQgDG zcjD_q(^ogAPckm^X$SKaZM1}%yrzFrZ1XnejI0Va!h0)-v~U(L>@g!ST2|teB;UW6 zI7EGiSa}E&e6U%B>@bZ2u#tuf8xM|K#dCV(o&)LYQyY59c&tD|Ovp-;R_rRxvH!jO z>$ge!)eia}LYjLphqnc%7Xifj*6;Tw(@vX6yU}fvz>cpo?h?NUqxZsz(6T-5j9wDfFqymXQ(iIzMwu` zJY37pn*SqqvNeS5!ub>2XAL;yKBN}>k#$CZ%Q^Ie#^*R)=i0?qWmOmdYce*so}w*3 zB|j_Q!hKWrDOQG*(EQu4p_x)AYp-8XN;#F`<6)!UbO^D>?xb);(r>xZ=qjsIjbkj$ z9o!F#Wr;RV;^Qc9b@@YYi0$pOA`hzSn$ ze+zQ?*I<|bH@?T)Hc@v1s>p-`+94TAI*S1VBW8b3SO5K_7kq{>-Ep{}bqkugE-iiZ z$53~R!fGUyR%xhnNCyYxZ#bbZ?k91oGF`zhPRH5M+~CfXIGC@>x|wsWEAuxeJzptO z14wI82U2e6YXG`>-#Fi^1M@=t)^P(CMyuK2qg0WLGkt=w$mBZ69L=)yp#Q@+LeMSk ze}l#zbwf~7fW+3_1m9o-)7rc2yPr}2B)ahE`DgH)O*YYdr*3pW_93R!;D6#Cis{2` zQtQMc4Dy;sNaTjMC*)ZNpSQ*6=5$=|~nUU4?y!3HkZ@_KQGa)}~pwDZX_gtG#tf zq8fht%a{g0i=eO(sBk(hropH4S)*t_Rni^j7mM%v#Nad6BpJ5=8PAN|{dB9A{RNMV z+{PX;a( ziXAJlf9ks|ZBXQI@i$J~ZYX5R6gCY3LPd-xQ68lSGUA0{fvu_OULL$9CVu|>i{!6$@Rj%J@{ zI%SF0^MtZTmkOUSe$VWNiy1AZHMUNQ9Y(G)=B3U`zUds`jLGDk%_#V_pD1SNkx`fT zcJT{qq!soxkU_1tmyH=F`zm=c{Xum=sdG*?S*kdAVPwEh#vV=m+6gO>I@y%k(-{8j zqm;tD`2H#;T0{wfX<{Hr!%=bdq1+5~eE1ZkeRS zo?>m$h0US}%MY+*RF6MirCh!e@k=|J=-WA#l{^_;x)_!21Nph%i5hjqeUb0W@Bewx zOzL#Z>KiFRTtBTdfHj9%K1&v#oqpKa&fZWLxzqSnvoTI;(`4kx${d7M%n7U;!;ahB zi`OvQPf&@;`;@99oas-`!JKES&2pKA$)+9ffKA-^4QCwh@E027b`wbd`%TSt^$SDW zDPA~2w44#E99RHl+^y4(P@VWumc+&j+;}La8Ls&*9VY9D;zP~ur4#Xe!MXf$>8n$f zygSI&ghO>RLR5%#(*vYo*xZ)eo-_V{f3y+tOr6H(^c*`moKc`d*;OO5g5?xpOZ(No z6v7!byf7O-iD28}Fk*3jlp~jh1v9^VcMw0 zx7JsqteKLJ!Te8Vfe0+y!br*JUo zeBaLNDsu2g%3ET@Tu_Kv=DYm6W02x=VC(J&XMk)Y}KaM8#4Dauo)hx2Z==X91MKqk} z2oSRizGELv9|TX*bAKsYd<$$3q*%XU9Fc&aYXNp`9FVi;?;qYEvrrE0F+lKb=|eD* z$HCD5bF<;1=4_H-0ip6i$toMj#^vyr7i_c|pOajXSrJwbu_AhXjHX#_g%44Vl??MM zO$V|2yb#>}O|M7)8#hq?Byq;%S#y|);1hsYfQp$2jphb!W3aci$diD|I51Hil>j>doA#Xi*L;PeX}n!*JL+h z3&sX0a`=d3f;#phcd~VfZhc*EOd(#C9=0zac>8KB*$;^jf{Mck5!d7&rNINJVe^HF#;zIK;XNRjsZ5VkB}2q>jB{m z;3%i}L#L$G~I-BDN9Wzo_F4;|xlz|Oj*HO)boZJZ>puZDkMsa|+6^L=hp&FNUsv&3lu_C<2qfT+ih-H~0X_uyQTl;Oc>~XQv2HQyM2Pz!ApY){96nqs&rC&VWn51l@G zIvyqEGzH1+rX#s%GP;ZSM_fSkoO2UdwFM~w&hV^t>C7KH!ZrobzTYP(wp7g|rDqD&WJD{cg=pxjIop%7%_#Z~4dL0dWC&g3P` z2QAA<<8>1Sbi2a2YV3IqqeqWRiiS8ZF*}~4!HVLrK$N7j2UU+N=@+LvIP{wCX?8H# zWBh&|%w7fhar1QP>7dmmz0lymHzJxINL-20i`4})c9 z(s{7%lM(MpoDYb%M;0iFy`^Us;Ly{NA%CUg7^)nahpBig36xV_$>M?jaslw>D^x8nWO;cqRdFO&}j|-CNmN}mdfOU8u z9yvWk2i2SXSr6!jO+2E8Q~`-Dxbp$4z$cUNpT6l(0%@cBCjqR-XajWB(4u(z%2Ud7 ztn8hzaoYc+(HY;mz62sV|CLpRiQi_Ubn}qz>tSuU`7ZYkb*j@xXO~q)RL>qf57b&_ ztkyD@{f3Egb@=~8!i(cuN~B&-;^F8liVsdls%5s8VdLEz4Xm=mw=OE7I1&2fp~TdzUzoX;0|%TVbTrvwmvM=3Xgm+qMi_e~s1dany7QJrDe_E;@{w8Ma~zsR-!RWFX&_#od=FM>XsG_A&hxTP z(#npzURCOv0d&;raihYO744xetA%er=VCZIyWv}NGsokZY*F^aK*i$oAEO|9`yw0h*D9g<4crkz9#+9%lOB4 zhp)L|cx^m{khny!CYD=FZN;fQMn#P5*HRsLW&xI;dH4N#Ny^%qc_VcW53fjr%w^SL zr*eT~n$YrAp|Gt8pc;WU{qK2SSF$f}%ie|MxQKNScV4m$hE{O%v6=P-2V-1fqs8~L zFxthkA{(w#Gko%*i53k)yK8lvV>btNNL`*-$7`z;NCOpkRn1cmcdMoaw(DDhM%;RM z0etu?>YDrVepR!A;2aD+_V8C|e1h$Qr%%{Z^QPaO+`#nxTeD^ce=KMHy?73$8Zllq zg}jZzy1Iti$ElS{gj7jY+1gq#8VSG~S$d$KxPR?2bF?0#Hz7AlZk?j7Hqb$1StIun zJ57OpW-W+*Cw0{N>5HTh?LZt5w87`*wS$>`+L1q9&5gqO_EiH(%RBE;T%aT3VPMuh ztv*I(gRuf4qMza$=a>q}W$V@2V4tzUd9YT`n&W4#`g8+94)21*HrP3j2Cle<{@TF z4<%w70w&F`2f=Cfl<%T_nw;=+v~qj zq9m?qdEE8NHwkDMOncX1U!Sz07vFg;%4VsUSlw&eF+AHAz5cLY7D5e$AV_OmbD8B^ zAyi}T&JM5o_v@B?de8l7`+Dd*8Zlv}ZfNUNde;zSC zeNu5Ede&MtveP9+9^TACemv%%Af2z5UlX_8+VLiyQL3(N0c1DK8fk%u8tVlU|6Zlg z%KgfbQ`**7UWLQtBq%`@ms{aG*R5F=quZtTG8n%LxBU~6EZ0FFQnTCZiWA!#hL$wa zE>ineX3d=0DCfEo$h2CQ3QKP2zV??tF+=gqK?x8AtG!^tIvDNBzE0=$6A@#h-t~}5 zP(`<|MVd4q^hELp6JVRiWzS84@!tDA+q^VKY`GXL4RIY+T>hv^dZYUkyXf>s<>vS} zuIp_9({H$7Xcp`*kd>Jdlmu}EAxBYrsJ`Ex%3N75=W2LNh^wpj!`EW2h-vrGEaMlf zzQamZ_N!K?KFl3Ek!!S=b3D!1Cvy8~OE|!)j#Xuo`2g>cWYij5CHOZ4Fz*h#)1(Ws zMFg5;%urhcTRiJa`n8LSq}Hj+#LAXwG@*CuqGm(t&Q_iX{)WzoE_dv&KzSMiG&ROL zU~`@Ywljp6U?e5r&@yexgWA?kD-ay8$YwoDF&t|DDgN2~$@ACbPF5)F!MrVNVz}#A zmo>R62et=p`)7DXWO2ih(}qE6_tsB$?*^B`R4+CB)TK16=5?msaR$&Bpf62NMt?LR zyDKz4a-2Ux3%^!}i#Rhf(@zZoWeE~&VLgItfmnZm;DGlp<1N7tG0Z|9tAUj+tufxcb40}rV6f~^1gwfkcqSA@d{OmU{_2Kj#`e4<++ z6^aSBUyNTL++668I6RG?fAeE!U~M!mEkO-y@cdaR``Raa0zE(^MU8Rze&~CgUAlCl zsRW&kMS_y7m^KdCk;y-vhmh_jNK6O01=4=4t4uuERGoj{-kC6=bVsBHbD%m@d5>Te z4;pt$vu;+ekmcnE|2}hcoSz{eu3Et@TmfzD)hTvAPJNN}0dx-Vt@38*&}cFgK>!?P zgb3(25`e6=f7vv6?<0s?%D(u-M%tv5d#q9VB=-lDT*Q0LdULJ$+G;~EvbgJp9VtU! zCaB|R^t&;GL4<*4@tE!nbNFaRKr0VsI7+NH>w?413^46)I38r-IoA7&-6c$N6&sm6 zrr=JLB5C+W?#rUMd!@hQ;U5hptZte@Q+k`uUauJWem=%U=IfL-St={;cTr=^1z6b! zT#y31PzMp3#?8($^L~`~r0QacOc)+q?3xENV&Y=lP3%S};4li%s~Bd|Rj}I?Msh_q z=N6dcvd5W(}ajeM*QAN%0vN0K!g8%nD%8FBx>gGY zRa?8e#>5}agvUzeMj#D1p-T(4A5SeCQjU%@_wRqv=VOGVR0sai%5I+i_RS;KPizo7Sel>N`^w4JR`;AhqyHKoE1h4RF3~II2 z6j#O6dv~43(x*T*MnIkfAMj_|sInoRM^N{P9rIlUru<(it0eMgLjD_$=B5=tKK0XBOKux5fJ1Z`M{)u+rL=U%v%JCa*!=jGuL^NrfI) z2aBHm^fxi;5$Hv9IWrE6#ZXY-zW)3Tgy*IKG@w5taDwvXD!MYNi0NtP0wER_bO6s2 zDDF7uFAueZ5Syvj*G~4`9`D&hyl*&OnUZm2%md*Lrm&>HKu*K5$wf%ZKZ6Mi_?#bq zHf)osvbi4yYRbog1j3JPKRBDyqUq}I*$kvxG+M6vreK?AS(&}&z*Dl>>tXK@;CB*y zc*9C z{qYa=+V8g^xI^FWOxGSi*30zueg9CrwajgmXZurfg34o6jvR=L5O1FWc_-k=4P;3g zqU%;YkXaL^?y%27-)R8+7^0#;X~zJMFlG-q%~e^j{R@;i8L+DS{d*wS&GWxN=L=dl zdlQ$yr(?G^>(4|{Q8t196a;mdjJ_80D+stc=Dxjf;N`(Is|D^?^1x=OJyv|nN4Rai z>cIUuFcCg!$Hnx2h*SrCbD&^RsOx`iXuN9D=V;|D{&S?fUdrO}$?iDMR{Hhor8!bG zU>!&kL8{B?V;MQHvB>gC+)Usy8mbJq5r95WYDsnCP2Oq0pmPZK%a~~>$7cBx#fe%Y zwT-GprljSXcRs>Nk933@SwFxXv_i6KC2}{-nCHC%UQZkyPyRN3BAzRuJEM;3iX3E9 z-E8OU?yxr^Y5~Wru=%$5u&Ec{^QND}e9D6h5E$5gilvb1rOuZ+Q!qiaxZRxI?4+8Lb@GraFKn2ymXbYHzIp_dP1bg& zD!H=V&^qQ0`0l-`KPeVKwtsG9KS%b)rftdED>ka>N)z)0j~Nl{`i(SXO@AP|gV}p< zkD)%&_RV?sq@s8tD`p6%l%+RE4m19qd*ZoDf4R*0a{#J0o*w5n_|(aM{oE7d9HsU; zai9o*>J3NXg{Hl`PiQkmh)L6IFUaR|o_n+y_#!3ucbxo)j7GGvI{(GXL^D zVyWc|-GhE3`%cba7a3c6dB=|1EVRTjN^PzVm|;$?)iwt&9=oc&?agJiQ6{F_Vrt%G zxfLE8FqND-6@$?p-usYJTR-<=S*`tnKCwveowbe3MG^MyHuB=89)YeY7HAFYmKQ!= zfI@?nQ}64J72^-Uvq=PeFH2|HXPr4FP!MymixD;Ak{> z-zJG(-|@j{06RYG1#1XUOG$0-6}wq(t9x%ULqT5pIDON3kjviE{LAm|WFYdC8pF!) zw#4K9j9^^KdYjlUpYTCRrI>tK+65P~%265X-!P!;6fN=-!G7~<@;CE+BF15Zz8~_% z_a)=mR9VmHDCHIL>ZOs%`cuwgeww>lGXnW_ZT0RcecAwU`? zrYJUd8Q>IHWzVE}W$_4W0U-M#7P~+6fp5?FMElaGS?i_3muspDq7`$Ix)fD;@8 zltxz>r}YgpmTRrYM;?{2`bIZhTa?O@p*UQQ1PdNWpu1FRL zz}4O?{IMdf!T~EUN0-@i6^fC!E_5_w9AWf$?T+WmpMn*!DFDnmaT|Sc)1nn_n9(=W zn)t-a-#Td7g;P5!KW*BY0?7dSGgi|bu$>gJ%3j&d>YWboFAsI+cI$mVmszf`#)Jy? zhQ3H1w+YiE#nmJOdYi}43i}P|9o=M<^Y*FL%gaNUpTcOCj_aRV1ud;n1^om;&jK7y zsXWKUERe%@UW!Vj`{rAQv@U^{1N!N&qFoDAow(~F!-lx;3$>_8<3p#1QiXXIZnv#`%mW4`dP}zTF&eN>gJzK{I5T?V=x)lbr#} zA_|u4Pl!bLb9l1|Sd_K*xg^!q^|GF59AI#fndAup6MPk^A=KgFZ&*`@wT8sGCQ`NB z&rzUb0cPD4K4Ma!`h}b?-YO(y$$c_VK3frgpE%&pV8zRghUlqIQ>%eUILQR z3;sQ`Pgy8kU;YjT%7;O&$YZhG%VM(m)aiyn?xmN~hc&EO#;&Jk1ZPs>7c(m%CBSZp z(Mahw%XKGzsNH)09AB>ASrojypg2}2&x09{5)X(B*u%&L7MRYR0p()1hwNTq9F!>E zJ52UX-HoNhp4#Y~iuGHTO}B4A3bwf81>>b-Wy_QTA@bd-c0|DUHqlne10d4fMZ77#UFXG@S}jd*XWg3{T&P% z&dkFWY>%UM{il*#Izdtg?)_xlYK(WR+{lqjNiJuWqSNT1_+N?(;H~%rPk5n{bv~?F#J$Q2I$r!HQ-G< zl^HLeO@)>t789M>!j>P`%UI_UUknZa6gr@aaESE~HN@?Rr6{jeK zz`yD9Z$;rWd6z7B@Z*dv4Vszu3@7TUhF2buig?+U{I-{bu6TKnHM@c-X6kP~)7P?$=Wub0a2{9?xa5!DN& zS5qGN9@r^4qy^l<)s0=)+BkPIo4ZU_LY|VjhAKn(X0^uF)9vp?L)>%wkM7x(q^Deb z@M}!f^~CAMc}}TzQP{Sn=Es~%$@N~a)#cIg?`$IK7uw?6CEvtHSg&cRG306VOdgN& z^d^}+u1aq3M8sUbf-K6|0zPmf0M}Rsit!ZmA96Y%Dy_}&IdZ5E0K}b>d9Z>@B!^J$ zwIy9+(#D?FH9KYmU!eeNd`B+I4n0xz7bt5u;N}|AA1LtRd6-?H#`s{8plgb`%Dxs5 zK3HCCI#4)2}ZpEgo#Z6;P{)i(7_y^v6bPh@KVqVUI+NvclaZ*5cpupc1$~uiR zZ=H7R3Y(*(X-jI{crcG?GH#m+0>&=De`d7oi{@9P)r}&y%|#x6ThqoV`Oj-qR3XS( zuRTYlLYW+BZJwRgAISB+7#KhT?7=PYM?f0za%ZOi1_3>V{tNUFIgYdNph`6f5a^fY z5{JD^2w>oJWe_FT#E@c2zR1RVq5FPu&x297v7R%BliZs%u2;v{fxOEXCueEuXA+IF z3!eKP59Ttpt~wDC_WY2}#@o!QG=|*n?nfFrXaSkIvCpC;U5|@~EPV+<4N9Obth*Ll z-7=VEt9`FgP}md3Fgj`QWFY^9uJh^lY9WFrRq2Y9IP}uu4*z)9fp?yluk^E%)wv+2 z>Xg*d0G7B~-Lmk9m7c3{+!UGwG{>a2yLb3rSwKRmjAyBRQA>GV%(k+oHtd`l;{$Ms zLs4Ey#^3pJ7YD6eejOfOWD~vD5#<#$369rsebrxVIj8nE?S-{rQ|#cdE@y%P};`Y`qWa1eG(34H7P&DtF9 z3M|I&HD)GLI{L9EoBA*7g2wR9vPpRVc6qCxc1?smc>vhsfaO%O|7XH1?Ewj&={4Uh~q+?v9rXH|+`jDrIhid*A2*E}Vuw1^cocLv~`hqfzSL$b{BK}O#b zKl2Qe;}uJlM3xw|O&Se&P>u8kmdqb#PGh+JPvm1(3zl(Y={B_0G^tilMPja9MeeCw z-SU|>waD^0g71}iCi>XD9i~X~S&jP(^b8bj7PT|RqFm@Xr%x7Pj%@|o!+9c@x*%U_ zyyW0zX>Z_6{@Y98%YnmARY4EUR`a*(PqRzrPW`W}vTq$?KWb1i8|kO7mv6|HZ)E%t zmXDLMzNE&O*!N5_j3jRGqGdz`3E#AR@DIp;QfyD+>$($t*y0abq+0WHSjiA;xaX?w zN}J3P^J&yo&khTS-~H&(u_sUj+z=MbkSa##;Dz|x+j4+4=2O*ZtJO~Pk>D{oanow5 z(Di7cov!d8ic~qlh*}Wbo#|l7dUkji-`G0!&Lg%)Ovqrq-h~$Twe*oJAt>(bY|~)+ zVv&5wV z?Oj(mTy57L5#>WjyhJaF9z+R(=m{cvL?_BJ&Yjg=rei=(YwJ2qrAG& zyC5U~&Uf@5|JQ$*qrFe|b?xif_j>kv?sczwL1GrS)ShUVl}a%%pB?DFeO?&v*v+-S zMH(b>Gm%_KDK$nzfPti4yyL*vU+iggJIfhqcBEQ4X4!t4JBvq193{4it$Dwly~>)K zcs(LGZ=_|H=%vo^^xuEID`8!Onxg(z` zrBe+PVQU|seAv@G5=>34jC6lAXUY){67BwD`ovfPv2`!;ag?-7(ujR$lo>5WkjOUp zb?S7_Rkscbjo!WOr1;F6uy0v`sm8P%QtH$lE*v#F8A>eDV;j`<1lX12={hd1e}gIv z-b?wq`P)BPxD2$`m`D_`v;>IjD)klhRjaQrkN#M!U$}+LxSd|X90+;3&hvKYCOgH( zpj7*M{x0(iW4NmsMbF|n^M1~zh6DpbhsSwGx(;3zvsY$!!JC9aH%DvJ{uRWFE6W?c z`>CJT!qaaBKWQ~BGB$Nc9&&}!z=(Ai3`tT_ShNk~oO;$YC73)(%~M?5cIfa0}eI&r6t(s*k`3J)Yx?ev(rn{KTjkF>?&9 zo;6w!tVPOMaSJbuRV^EyE<9$DU06w89-?5A(CjJ&h+2;L4!j>5o^+g8JKE{Y2$^Ye z@Y;BVOEFG~&YOcdW>Qn$^hd{$)LZz;KFZVpyu!3TxyRXqxQ#?7sO&Nm>=*)Ul1-zu zOLii$j-=?D#2NebCT9s|cAz)Y z7#^_KrVTc7QmU?++qyG`MRwCgYNO=0gzH_nNFq4$6Hfr2!~#_MSbdC+$OgNUpN(CU z&&K4+5qA~7(30@NUuK-@@Febrb~-;yr%X7{l58z`N4x%r8!;ChMJy7wnB5Wi`CUK> zq557s>&;mt{;*?N-@{kX_DCOVMBfUpqdJ3ze2#%%n|=qv69xQ&vRsI${?qmdy7N%>$uUR!C?X~$+@=v3q<$3PeSND3!?)er! zO8&fwT|LdomHOv71p^EN}4hMQ#^r~~H7Ddr>7U7g? z7|8q?K@&IKlk%IrRM#72j&pK3_tSkjz22209uF!Vlj><)69cL@#VDW($`aI7?r0#5 z#$9Milrwcdv>s&FZM0mory;0VuDT>J4w?}$_WO#8M`4-Tz&asoLt(~IAZj0a7JlvT z7RR@0ff%!{6Hk#mlC7z4P>;M88GHs3X*@|$pcQaJdclY4FhZ?3(~q^5H5ZqTyKmX* zpaXFxskmmH+u?Rh5vmN5W3K4D%*rKGbl|l8o!V$7;-_~S0fPTI&~=!U0wh@V@>fJ4 zp~#A5{___9q03cEJ?HLBhA}g66)mM)&nk#6tUVHbG4mUQkT*%`gdc-q@fUzxFJ2WO zGWrMdiLSAQJh%`AM(KofmXiXR3lUm+{BXAWS>>~#$x2kZnm9w+Ai>9j$Lj4tVORcu z7SH4A0_$Rv&^2Ph`_&vhALQxh%nGDGxJZClLVkw`c+I`=PC^XJU{Yz|E&wHPd}?uZ z$Lu%gU!WpG)>Mqc7*f`mI6h4w&G_dUKLixo^<;K_gRbrakADMJyeqxSzjZ`s;BNR0 z+MQks+ov&3)aJ>+4lM{0N9ghl-z9{Pwb}Gp3RbT6miy8)EJ<1i6H9KnkDs8CGK#k= z2i!!F7=!P_5=Zz=SG`>lamp{At_alE)XLfWo=+H5?@&s!fpd9p#Sb*M&E(bAHL0X^ zl4si9a7&Ve%-aN_V1og+XX&V{mDyyL#0PJ-sjLn#$=mY|7k-|*;l5znsj@~2qkz?) zF{tJ5=b1uhRLf1-|H<8IB?PQm{y4S#amJ=tFn%1h@XwEmMg~`8DLdO3?Z=sa$|SHI zRHu7=XBFBsLH)Nb@SVSUtX~YBzq$PNtYruoV*YIWwj6UybKbCJN>AaUQwd)KvwYOwv{?v$~vVpRw)G;Z*^T z5}n&OLJ|K#&a$li$BpcM;%4XelU`q(v0+x=C(g<6FZWQx!Tm3~e`O4e$(_|y;^Xb& z79c5$&mI#h-^b^%MxIpqYdK3=STKnBH@#{65z3s=D}67Qmr(1xcl4xNLITa3wjiiA z&U`Kd;}4wFM%DrL`ldela%HXX-lismpwQV6lXu8U!~F=wdxNx>iNrbiTWLXaKzh#s zuhYmiF#FYNf0RcV`KBgTx7OdcZ*V?Tx^!1rCl{-4{)iWS%qFE9mN1Yr?*^0!ihPQ- zLj4)`*OoTE-@`_*Q@|uk$hV>SbEx#$z)^vzrfjd>y-oV_JhDZ$hUq1hdZ_x4N7x6X zj4!*3EbfLp=K5N0@wwZ*TCU$9&$^9me>^0MYzJCsO0HaUERmdR<@|#)*R6*q448ox zkqup|fd9DoyuZ-F)O3E<1M-}Pmtu{%Qimt83Z1$+(TXX36%Ga@(YDYg=hF z+kUS!kolv7nf`@@H8U3NX5^#;q6U*KXilU{(uzt{d|E>ZnIDO6T%i1vp|S!4V@`K{ zRy&;g{93H=+YbDb$htPB771?TcCs4AYXr&a_&?r?1<;h%?{LHdU^xGCc>*}BGb)S4z-#G5vm6yKlS1F`Q;<`Qwg8k zZ3NlimyI0eUYUZ>+aam%RBTphKt2v{Ssrpw=0L=3>N%6DwPk-+#51nVTPy%(46e89 zvA&6)*I0j6LZ3_f;U@4!>SyUZa=HO+{@|F|!+iEB)YD+?HQ_|C2IXoeaO`A#9J=T% zVd#6yOewtJ^3X5tXh{;0J@QojL~PlvOQPu`18D|4g+X=)`u3W7gvlJ2vM6On9K-Sx zbSiT_BUN0V+mPO?$-1roSb{y0TO=XOKEZ*|;Jg=o06=;)-_!Dd~=Uu?L1BKgKOAVxrU>GZ=d|U z5hK6=&9MJ__Rs&zy&*pWh4snN)6(4(FNtenRsqUY&1D*QX1|S9fZVe(ClO~<$hT@- z>$tvD7s|b2mh=WWl-AZ#1u&HWF?WE}GN8xGX&2m^pHYPr&CO{FR4c`D#u>vIq~!3C zDDym0r~NOjA$IjiHt{VnK&loNV{vuck?mr?UQnQ7ceukY8hm2vPPFgX19As`ib?9g zjF5QM8~g;Iv!LlXC7lX7Sn#0HAr4F_0rH3J=Ft_bo&3z>r}nb)LYUf!uP(M;wd2KU zN-&E7@|2w{oI@U^p;1%3rzWej(voAwn$Z1)pPZB;OIhWfp2c!CU>OM;Qx)b{awEZN z%x($LiZnEXi&dlNaCHRftc;E2)F}bH(A;=lAQpTtT8}6)wHkPfSoBFEp>dL*BzwiyR0)qs1~SJxbnVV|Vyy;e1T=14H&%xzBh7 zHjKG3`%%%gLtOprt2MOa`u{;XOG8YIogezruhlT8DA4?3OPd(Z_?B$%b}(X)EnOS~ z{!oDmJqS|TEI$1e@1fh9q*BUQ_Arh}H<(B|m~3#`a|lYfPBG@;V+3B0zBsKgsbYyo zdcQU+B;`ptkdqQ4$Sif$O1M@A25tgy8 z8LBCRUQddvYrYZ$mXqD~hU|-$1 z)!(3*=O$e2Evr3yUQ8)YZx6jm4E6OuMua9!$c*n@380PEteXe?*}D#NDk2{L`Ai?auVCqspD8*b=M$ zx6^gr&Ue;ZI$_OpHON`^^q!e2#|dPR zJqT$7mSRn9@C7^j(U>bGhpl^4ti-DGLxsCAq$>+E)~kSVO?Or%8fY>Rq4OB^;>nXM zs`iitt52>%T)5KIXWJpRBFXMsvgLL8!J>NlHxrXCToZ>U#blhXi5&}BAJrO#E=4=< zf3jNT)s~wcpERe95-5AQ^>PH{-b^+UfLL%G`=^JnIF-7wlOrMMm3Q2RsSgtOS;T06 zqF*;zVPK{CL64$0glH*sv*>`YJ9>cLYAFUZ0K{O{(2Xz9JGYdgkCMMTr(JCRBFUWC zCr44_uBamOj0T91@T;gpvcp?Gm92$W)n_Ch6c}z8e}g{KrsLgdbIRtj$Nn+teazD! zZztG(e{RXY2%1+P`pkiv-q6WGxIpS#QMOS$dj1pss`A^-f|~;KFeci$68AuyJhpc9 z(%6=&VSQVc-liis)! zJ|I~PdX!vYWkG_(dT)R;<&Uh&kY{;^sdUeUl|{wW<0(~`@@=Zo=D`RwhUw+3;G|<6 z9S7&J-&r0-aZPjFiYDxh{N5w74_(G5;u=GnL51+eApb>Fl?PUR#-KTb%Tk!!i&p$A z;(n5^*8~Fcd09p3ERU?YzLYqd6ru((jasp2-JEN}OJlB8ThwRSsaUYiS@bg*Fqp{Y zj2>4ZwOQZ0qX)Ud`eq3V=cSp?Z;{?+%^N3?sxV`5d|rsVHil80tn$;7NU|0uo{VxH z;(vo?qtLF?R?T6~fO?gp{70hSkJ{SMLAFO2@pw@!B7yUF+5)10z$J;LzZ-T3q$U$e z&-pPf>~%MlmA*&3imcYK*^9UsHF}p;{f0X=t+g$OUi&y8T(wcxT-EXL;g2=m@4@c> zB>$HnivfKp*SOEdXH!c#|EbA|&*H1~E2hDqOFBQsEf;|b7iRIER?%vDqH$Jv#@K5f zZGc#1vba9(SXN+$M~2)CYKd92E*$}ak*cGh+>FW(FEf-yj5*P|W|ri7p{6nc{?ikM zxNnw5CREqf9m`spqP1cUZ-4J5LmF77LWk2)op2Fx8S;t>H| zy0>Wdv9TfCd2}+Vr5qHHplmcDzs8RMb~0Pw%mUTIV8~zCHpGJsth;T=!dw{Eq8O@ zc#2S^0w1R5-hE$H-5{a@j&BjVYPPSlq-z6E(@fecM3~Oy!7}@-(<&TFZKo>^WMZf?6p9WF}9$z-!|?R@2&Qx@}keN%+SrZ zYTY_joY!zim++ziN3Nz;E3RLgqE9bWFH}(wv3p{;Cn`m6Zu2MglT@fF(0JxZiSu)Z zC(M$JFeQ{NqTmJF`*nBZ^;z||4-tX81ygJ$izREJd|U~t@r*A|P*LmdIEA}I#n_?u z=`e0wl2@rLU2fyqM(ulX>Ji(r7wh$H^JT9-vnm{z6Dit5?qv1X}x&HqXR1dW^^c z>u>a{#UYt<)T`uM9#LZ&Z-JmpIitsr#1f`)W@_IVvofUaJ!SdGtDiPAf2>`qvg|;; zt~HgbCB)W~o~ap(TSR=PdDlzLixFcc(gEdB2+|p%cX!#5PvuN|8~GomN*!Ql#49L^ z!B5JReO>nZ2wr^PIV`nnh;XZSDDXVBCAplshcgfvtnGu`dRhD+71RUL$FQnZRS4?l z^1g}QNPniF<70N6H5w}AvN^rj<@73@>?qYWHHw9*L>z6V$kHuHv&Aa0{OO{|WKI#n zpze^&#ly+ls|m8kY0R{9wl-OULTMW$rI?zlNq%e~96F9^F+n@PIetsL7y>2A7d2I> zDHnm!HOX#8VCe0#jMAaQ&!q;W9tLv*dZGVLCHs5*yAFRb@D~GrG4K}ye=+bE1Aj5_ l7X$xC3=saFE&bdr@Mo^NM(kCDy;D#eKla5z%;m}U{{SP%`%wS@ literal 143766 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%0A+oB}cT_YjG9fPI42Y_jE47MQ;T;dv& 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 TVP}o%A2+w>JZEn=uNe6krd#FG diff --git a/doc/picoclaw_community_roadmap_260216.md b/doc/picoclaw_community_roadmap_260216.md new file mode 100644 index 000000000..cfcc30f17 --- /dev/null +++ b/doc/picoclaw_community_roadmap_260216.md @@ -0,0 +1,112 @@ +## 🚀 Join the PicoClaw Journey: Call for Community Volunteers & Roadmap Reveal + +**Hello, PicoClaw Community!** + +First, a massive thank you to everyone for your enthusiasm and PR contributions. It is because of you that PicoClaw continues to iterate and evolve so rapidly. Thanks to the simplicity and accessibility of the **Go language**, we’ve seen a non-stop stream of high-quality PRs! + +PicoClaw is growing much faster than we anticipated. As we are currently in the midst of the **Chinese New Year holiday**, we are looking to recruit community volunteers to help us maintain this incredible momentum. + +This document outlines the specific volunteer roles we need right now and provides a look at our upcoming **Roadmap**. + +### 🎁 Community Perks + +To show our appreciation, developers who officially join our community operations will receive: + +* **Exclusive AI Hardware:** Our upcoming, unreleased AI device. +* **Token Discounts:** Potential discounts on LLM tokens (currently in negotiations with major providers). + +### 🎥 Calling All Content Creators! + +Not a developer? You can still help! We welcome users to post **PicoClaw reviews or tutorials**. + +* **Twitter:** Use the tag **#picoclaw** and mention **@SipeedIO**. +* **Bilibili:** Mention **@Sipeed矽速科技** or send us a DM. +We will be rewarding high-quality content creators with the same perks as our community developers! + +--- + +## 🛠️ Urgent Volunteer Roles + +We are looking for experts in the following areas: + +1. **Issue/PR Reviewers** +* **The Mission:** With PRs and Issues exploding in volume, we need help with initial triage, evaluation, and merging. +* **Focus:** Preliminary merging and community health. Efficiency optimization and security audits will be handled by specialized roles. + + +2. **Resource Optimization Experts** +* **The Mission:** Rapid growth has introduced dependencies that are making PicoClaw a bit "heavy." We want to keep it lean. +* **Focus:** Analyzing resource growth between releases and trimming redundancy. +* **Priority:** **RAM usage optimization** > Binary size reduction. + + +3. **Security Audit & Bug Fixes** +* **The Mission:** Due to the "vibe coding" nature of our early stages, we need a thorough review of network security and AI permission management. +* **Focus:** Auditing the codebase for vulnerabilities and implementing robust fixes. + + +4. **Documentation & DX (Developer Experience)** +* **The Mission:** Our current README is a bit outdated. We need "step-by-step" guides that even beginners can follow. +* **Focus:** Creating clear, user-friendly documentation for both setup and development. + + +5. **AI-Powered CI/CD Optimization** +* **The Mission:** PicoClaw started as a "vibe coding" experiment; now we want to use AI to manage it. +* **Focus:** Automating builds with AI and exploring AI-driven issue resolution. + +**How to Apply:** > If you are interested in any of the roles above, please send an email to support@sipeed.com with the subject line: [Apply: PicoClaw Expert Volunteer] + Your Desired Role. +Please include a brief introduction and any relevant experience or portfolio links. We will review all applications and grant project permissions to selected contributors! + +--- + +## 📍 The Roadmap + +Interested in a specific feature? You can "claim" these tasks and start building: + +### +* **Provider:** + * **Provider Refactor:** Currently being handled by **@Daming** (ETA: 5 days) + * You can still submit code; Daming will merge it into the new implementation. +* **Channels:** + * Support for OneBot, additional platforms + * attachments (images, audio, video, files). +* **Skills:** + * Implementing `find_skill` to discover tools via [openclaw/skills](https://github.com/openclaw/skills) and other platforms. +* **Operations:** * MCP Support. + * Android operations (e.g., botdrop). + * Browser automation via CDP or ActionBook. + + +* **Multi-Agent Ecosystem:** + * **Basic Model-Agnet** S + * **Model Routing:** Small models for easy tasks, large models for hard ones (to save tokens). + * **Swarm Mode.** + * **AIEOS Integration.** + + +* **Branding:** + * **Logo**: We need a cute logo! We’re leaning toward a **Mantis Shrimp**—small, but packs a legendary punch! + + +We have officially created these tasks as GitHub Issues, all marked with the roadmap tag. +This list will be updated continuously as we progress. +If you would like to claim a task, please feel free to start a conversation by commenting directly on the corresponding issue! + +--- + +## 🤝 How to Join + +**Everything is open to your creativity!** If you have a wild idea, just PR it. + +1. **The Fast Track:** Once you have at least **one merged PR**, you are eligible to join our **Developer Discord** to help plan the future of PicoClaw. +2. **The Application Track:** If you haven’t submitted a PR yet but want to dive in, email **support@sipeed.com** with the subject: +> `[Apply Join PicoClaw Dev Group] + Your GitHub Account` +> Include the role you're interested in and any evidence of your development experience. + + + +### Looking Ahead + +Powered by PicoClaw, we are crafting a Swarm AI Assistant to transform your environment into a seamless network of personal stewards. By automating the friction of daily life, we empower you to transcend the ordinary and freely explore your creative potential. + +**Finally, Happy Chinese New Year to everyone!** May PicoClaw gallop forward in this **Year of the Horse!** 🐎 From 57dac394c517615b542d545008ad611252eadeb9 Mon Sep 17 00:00:00 2001 From: zepan Date: Tue, 17 Feb 2026 09:30:30 +0800 Subject: [PATCH 21/27] update pr template --- .github/pull_request_template.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..d2773e27d --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,32 @@ +## 📝 Description +## 🗣️ Type of Change +- [ ] 🐞 Bug fix (non-breaking change which fixes an issue) +- [ ] ✨ New feature (non-breaking change which adds functionality) +- [ ] 📖 Documentation update +- [ ] ⚡ Code refactoring (no functional changes, no api changes) + + +## 🔗 Linked Issue +## 📚 Technical Context (Skip for Docs) +* **Reference:** [URL] +* **Reasoning:** ... + + +## 🧪 Test Environment & Hardware +- **Hardware:** [e.g. Raspberry Pi 5, Orange Pi, PC] +- **OS:** [e.g. Debian 12, Ubuntu 22.04] +- **Model/Provider:** [e.g. OpenAI GPT-4o, Kimi k2, DeepSeek-V3] +- **Channels:** [e.g. Discord, Telegram, Feishu, ...] + + +## 📸 Proof of Work (Optional for Docs) +

+Click to view Logs/Screenshots + +
+ + +## ☑️ Checklist +- [ ] My code/docs follow the style of this project. +- [ ] I have performed a self-review of my own changes. +- [ ] I have updated the documentation accordingly. \ No newline at end of file From a961a2df878342af8522aead61361534663fc73f Mon Sep 17 00:00:00 2001 From: Guoguo <16666742+imguoguo@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:32:51 +0800 Subject: [PATCH 22/27] fix(ci): use env var for release tag (#342) Signed-off-by: Guoguo --- .github/workflows/release.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f9987b35f..9fe3a684e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,11 +32,13 @@ jobs: - name: Create and push tag shell: bash + env: + RELEASE_TAG: ${{ inputs.tag }} run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - git tag -a "${{ inputs.tag }}" -m "Release ${{ inputs.tag }}" - git push origin "${{ inputs.tag }}" + git tag -a "$RELEASE_TAG" -m "Release $RELEASE_TAG" + git push origin "$RELEASE_TAG" release: name: GoReleaser Release From 0fadbcd340dfa7dc9b5fde7dfba413ba1d5831d0 Mon Sep 17 00:00:00 2001 From: zepan Date: Tue, 17 Feb 2026 16:03:07 +0800 Subject: [PATCH 23/27] 1. add roadmap.md --- ROADMAP.md | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 ROADMAP.md diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 000000000..8c5c0e252 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,116 @@ + +# 🦐 PicoClaw Roadmap + +> **Vision**: To build the ultimate lightweight, secure, and fully autonomous AI Agent infrastructure.automate the mundane, unleash your creativity + +--- + +## 🚀 1. Core Optimization: Extreme Lightweight + +*Our defining characteristic. We fight software bloat to ensure PicoClaw runs smoothly on the smallest embedded devices.* + +* [**Memory Footprint Reduction**](https://github.com/sipeed/picoclaw/issues/346) + * **Goal**: Run smoothly on 64MB RAM embedded boards (e.g., low-end RISC-V SBCs) with the core process consuming < 20MB. + * **Context**: RAM is expensive and scarce on edge devices. Memory optimization takes precedence over storage size. + * **Action**: Analyze memory growth between releases, remove redundant dependencies, and optimize data structures. + + +## 🛡️ 2. Security Hardening: Defense in Depth + +*Paying off early technical debt. We invite security experts to help build a "Secure-by-Default" agent.* + +* **Input Defense & Permission Control** + * **Prompt Injection Defense**: Harden JSON extraction logic to prevent LLM manipulation. + * **Tool Abuse Prevention**: Strict parameter validation to ensure generated commands stay within safe boundaries. + * **SSRF Protection**: Built-in blocklists for network tools to prevent accessing internal IPs (LAN/Metadata services). + + +* **Sandboxing & Isolation** + * **Filesystem Sandbox**: Restrict file R/W operations to specific directories only. + * **Context Isolation**: Prevent data leakage between different user sessions or channels. + * **Privacy Redaction**: Auto-redact sensitive info (API Keys, PII) from logs and standard outputs. + + +* **Authentication & Secrets** + * **Crypto Upgrade**: Adopt modern algorithms like `ChaCha20-Poly1305` for secret storage. + * **OAuth 2.0 Flow**: Deprecate hardcoded API keys in the CLI; move to secure OAuth flows. + + + +## 🔌 3. Connectivity: Protocol-First Architecture + +*Connect every model, reach every platform.* + +* **Provider** + * [**Architecture Upgrade**](https://github.com/sipeed/picoclaw/issues/283): Refactor from "Vendor-based" to "Protocol-based" classification (e.g., OpenAI-compatible, Ollama-compatible). *(Status: In progress by @Daming, ETA 5 days)* + * **Local Models**: Deep integration with **Ollama**, **vLLM**, **LM Studio**, and **Mistral** (local inference). + * **Online Models**: Continued support for frontier closed-source models. + + +* **Channel** + * **IM Matrix**: QQ, WeChat (Work), DingTalk, Feishu (Lark), Telegram, Discord, WhatsApp, LINE, Slack, Email, KOOK, Signal, ... + * **Standards**: Support for the **OneBot** protocol. + * [**attachment**](https://github.com/sipeed/picoclaw/issues/348): Native handling of images, audio, and video attachments. + + +* **Skill Marketplace** + * [**Discovery skills**](https://github.com/sipeed/picoclaw/issues/287): Implement `find_skill` to automatically discover and install skills from the [GitHub Skills Repo] or other registries. + + + +## 🧠 4. Advanced Capabilities: From Chatbot to Agentic AI + +*Beyond conversation—focusing on action and collaboration.* + +* **Operations** + * [**MCP Support**](https://github.com/sipeed/picoclaw/issues/290): Native support for the **Model Context Protocol (MCP)**. + * [**Browser Automation**](https://github.com/sipeed/picoclaw/issues/293): Headless browser control via CDP (Chrome DevTools Protocol) or ActionBook. + * [**Mobile Operation**](https://github.com/sipeed/picoclaw/issues/292): Android device control (similar to BotDrop). + + +* **Multi-Agent Collaboration** + * [**Basic Multi-Agent**](https://github.com/sipeed/picoclaw/issues/294) implement + * [**Model Routing**](https://github.com/sipeed/picoclaw/issues/295): "Smart Routing" — dispatch simple tasks to small/local models (fast/cheap) and complex tasks to SOTA models (smart). + * [**Swarm Mode**](https://github.com/sipeed/picoclaw/issues/284): Collaboration between multiple PicoClaw instances on the same network. + * [**AIEOS**](https://github.com/sipeed/picoclaw/issues/296): Exploring AI-Native Operating System interaction paradigms. + + + +## 📚 5. Developer Experience (DevEx) & Documentation + +*Lowering the barrier to entry so anyone can deploy in minutes.* + +* [**QuickGuide (Zero-Config Start)**](https://github.com/sipeed/picoclaw/issues/350) + * Interactive CLI Wizard: If launched without config, automatically detect the environment and guide the user through Token/Network setup step-by-step. + + +* **Comprehensive Documentation** + * **Platform Guides**: Dedicated guides for Windows, macOS, Linux, and Android. + * **Step-by-Step Tutorials**: "Babysitter-level" guides for configuring Providers and Channels. + * **AI-Assisted Docs**: Using AI to auto-generate API references and code comments (with human verification to prevent hallucinations). + + + +## 🤖 6. Engineering: AI-Powered Open Source + +*Born from Vibe Coding, we continue to use AI to accelerate development.* + +* **AI-Enhanced CI/CD** + * Integrate AI for automated Code Review, Linting, and PR Labeling. + * **Bot Noise Reduction**: Optimize bot interactions to keep PR timelines clean. + * **Issue Triage**: AI agents to analyze incoming issues and suggest preliminary fixes. + + + +## 🎨 7. Brand & Community + +* [**Logo Design**](https://github.com/sipeed/picoclaw/issues/297): We are looking for a **Mantis Shrimp (Stomatopoda)** logo design! + * *Concept*: Needs to reflect "Small but Mighty" and "Lightning Fast Strikes." + + + +--- + +### 🤝 Call for Contributions + +We welcome community contributions to any item on this roadmap! Please comment on the relevant Issue or submit a PR. Let's build the best Edge AI Agent together! \ No newline at end of file From ac4b16dfb4bc961507b0385d32b089ee955ca7a6 Mon Sep 17 00:00:00 2001 From: zepan Date: Tue, 17 Feb 2026 16:51:38 +0800 Subject: [PATCH 24/27] 1. rename doc to docs --- README.md | 2 +- README.zh.md | 2 +- {doc => docs}/picoclaw_community_roadmap_260216.md | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename {doc => docs}/picoclaw_community_roadmap_260216.md (100%) diff --git a/README.md b/README.md index 0a9dacce6..29fddb7e3 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ ## 📢 News -2026-02-16 🎉 PicoClaw hit 12K stars in one week! Thank you all for your support! PicoClaw is growing faster than we ever imagined. Given the high volume of PRs, we urgently need community maintainers. Our volunteer roles and roadmap are officially posted [here](doc/picoclaw_community_roadmap_260216.md) —we can’t wait to have you on board! +2026-02-16 🎉 PicoClaw hit 12K stars in one week! Thank you all for your support! PicoClaw is growing faster than we ever imagined. Given the high volume of PRs, we urgently need community maintainers. Our volunteer roles and roadmap are officially posted [here](docs/picoclaw_community_roadmap_260216.md) —we can’t wait to have you on board! 2026-02-13 🎉 PicoClaw hit 5000 stars in 4days! Thank you for the community! There are so many PRs&issues come in (during Chinese New Year holidays), we are finalizing the Project Roadmap and setting up the Developer Group to accelerate PicoClaw's development. 🚀 Call to Action: Please submit your feature requests in GitHub Discussions. We will review and prioritize them during our upcoming weekly meeting. diff --git a/README.zh.md b/README.zh.md index 2ca2987bb..8b59effa3 100644 --- a/README.zh.md +++ b/README.zh.md @@ -50,7 +50,7 @@ ## 📢 新闻 (News) -2026-02-16 🎉 PicoClaw 在一周内突破了12K star! 感谢大家的关注!PicoClaw 的成长速度超乎我们预期. 由于PR数量的快速膨胀,我们亟需社区开发者参与维护. 我们需要的志愿者角色和roadmap已经发布到了[这里](doc/picoclaw_community_roadmap_260216.md), 期待你的参与! +2026-02-16 🎉 PicoClaw 在一周内突破了12K star! 感谢大家的关注!PicoClaw 的成长速度超乎我们预期. 由于PR数量的快速膨胀,我们亟需社区开发者参与维护. 我们需要的志愿者角色和roadmap已经发布到了[这里](docs/picoclaw_community_roadmap_260216.md), 期待你的参与! 2026-02-13 🎉 **PicoClaw 在 4 天内突破 5000 Stars!** 感谢社区的支持!由于正值中国春节假期,PR 和 Issue 涌入较多,我们正在利用这段时间敲定 **项目路线图 (Roadmap)** 并组建 **开发者群组**,以便加速 PicoClaw 的开发。 🚀 **行动号召:** 请在 GitHub Discussions 中提交您的功能请求 (Feature Requests)。我们将在接下来的周会上进行审查和优先级排序。 diff --git a/doc/picoclaw_community_roadmap_260216.md b/docs/picoclaw_community_roadmap_260216.md similarity index 100% rename from doc/picoclaw_community_roadmap_260216.md rename to docs/picoclaw_community_roadmap_260216.md From 951b05d2550202f8ebbdf89eb39e582991fffb97 Mon Sep 17 00:00:00 2001 From: zepan Date: Tue, 17 Feb 2026 17:15:40 +0800 Subject: [PATCH 25/27] 1. add AI Code Generation selection in pr template --- .github/pull_request_template.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d2773e27d..7910cb1e2 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -5,6 +5,11 @@ - [ ] 📖 Documentation update - [ ] ⚡ Code refactoring (no functional changes, no api changes) +## 🤖 AI Code Generation +- [ ] 🤖 Fully AI-generated (100% AI, 0% Human) +- [ ] 🛠️ Mostly AI-generated (AI draft, Human verified/modified) +- [ ] 👨‍💻 Mostly Human-written (Human lead, AI assisted or none) + ## 🔗 Linked Issue ## 📚 Technical Context (Skip for Docs) From 5fb2721d22d3e8d45d5969d5219e76dd34ff8ec6 Mon Sep 17 00:00:00 2001 From: zepan Date: Tue, 17 Feb 2026 18:01:39 +0800 Subject: [PATCH 26/27] 1. add android phone termux quick guide --- README.md | 14 ++++++++++++++ README.zh.md | 17 +++++++++++++++++ assets/termux.jpg | Bin 0 -> 99784 bytes 3 files changed, 31 insertions(+) create mode 100644 assets/termux.jpg diff --git a/README.md b/README.md index 29fddb7e3..a6f421e9d 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,20 @@ +### 📱 Run on old Android Phones +Give your decade-old phone a second life! Turn it into a smart AI Assistant with PicoClaw. Quick Start: +1. **Install Termux** (Available on F-Droid or Google Play). +2. **Execute cmds** +```bash +# Note: Replace v0.1.1 with the latest version from the Releases page +wget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-arm64 +chmod +x picoclaw-linux-arm64 +pkg install proot +termux-chroot ./picoclaw-linux-arm64 onboard +``` +And then follow the instructions in the "Quick Start" section to complete the configuration! +PicoClaw + ### 🐜 Innovative Low-Footprint Deploy PicoClaw can be deployed on almost any Linux device! diff --git a/README.zh.md b/README.zh.md index 8b59effa3..b09adf74a 100644 --- a/README.zh.md +++ b/README.zh.md @@ -100,6 +100,23 @@ +### 📱 在手机上轻松运行 +picoclaw 可以将你10年前的老旧手机废物利用,变身成为你的AI助理!快速指南: +1. 先去应用商店下载安装Termux +2. 打开后执行指令 +```bash +# 注意: 下面的v0.1.1 可以换为你实际看到的最新版本 +wget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-arm64 +chmod +x picoclaw-linux-arm64 +pkg install proot +termux-chroot ./picoclaw-linux-arm64 onboard +``` +然后跟随下面的“快速开始”章节继续配置picoclaw即可使用! +PicoClaw + + + + ### 🐜 创新的低占用部署 PicoClaw 几乎可以部署在任何 Linux 设备上! diff --git a/assets/termux.jpg b/assets/termux.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30c724a2054885569cca76286d7d5c81e9f88a5d GIT binary patch literal 99784 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 Date: Tue, 17 Feb 2026 18:03:02 +0800 Subject: [PATCH 27/27] 1. fix typo --- README.zh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.zh.md b/README.zh.md index b09adf74a..48d7677f0 100644 --- a/README.zh.md +++ b/README.zh.md @@ -111,7 +111,7 @@ chmod +x picoclaw-linux-arm64 pkg install proot termux-chroot ./picoclaw-linux-arm64 onboard ``` -然后跟随下面的“快速开始”章节继续配置picoclaw即可使用! +然后跟随下面的“快速开始”章节继续配置picoclaw即可使用! PicoClaw