From c75b6249c1c325f53e0ca63c3125774cfc2b0098 Mon Sep 17 00:00:00 2001 From: synt-xerror <169557594+synt-xerror@users.noreply.github.com> Date: Mon, 23 Mar 2026 21:25:09 -0300 Subject: [PATCH] [repo] reorganization using plugins instead of built-in commands, [plugin] new game: forca, [dev] changes on log format, [config] removed botMsg, [plugin] on stickers, you can create just one sending an image or replying to one, [setup] exec permissions and comand to install Chrome --- README.md | 292 ++++++++++++++++++++++-- examples/figurinha.gif | Bin 0 -> 634621 bytes package-lock.json | 8 +- setup | 29 +-- src/client/whatsappClient.js | 11 +- src/commands/handlers/a.js | 5 - src/commands/handlers/adivinhacao.js | 44 ---- src/commands/handlers/audio.js | 15 -- src/commands/handlers/figurinha.js | 26 --- src/commands/handlers/info.js | 24 -- src/commands/handlers/many.js | 11 - src/commands/handlers/obrigado.js | 5 - src/commands/handlers/video.js | 15 -- src/commands/index.js | 33 --- src/commands/logic/figurinha.js | 192 ---------------- src/commands/logic/games/adivinhacao.js | 61 ----- src/commands/logic/stickerSessions.js | 7 - src/commands/parser.js | 24 -- src/commands/registry.js | 25 -- src/config.js | 27 ++- src/download/downloader.js | 112 --------- src/download/mediaType.js | 15 -- src/download/queue.js | 82 +++---- src/handlers/messageHandler.js | 29 --- src/kernel/messageHandler.js | 48 ++++ src/kernel/pluginApi.js | 187 +++++++++++++++ src/kernel/pluginGuard.js | 36 +++ src/kernel/pluginLoader.js | 88 +++++++ src/kernel/scheduler.js | 47 ++++ src/logger/formatter.js | 6 +- src/logger/logger.js | 25 +- src/logger/messageContext.js | 2 - src/main.js | 31 ++- src/plugins/a/index.js | 9 + src/plugins/adivinhação/index.js | 79 +++++++ src/plugins/audio/index.js | 123 ++++++++++ src/plugins/figurinha/index.js | 247 ++++++++++++++++++++ src/plugins/forca/index.js | 159 +++++++++++++ src/plugins/many/index.js | 14 ++ src/plugins/obrigado/index.js | 8 + src/plugins/video/index.js | 98 ++++++++ src/utils/get_id.js | 13 +- todo.txt | 3 - update | 60 ++++- 44 files changed, 1589 insertions(+), 786 deletions(-) create mode 100644 examples/figurinha.gif delete mode 100644 src/commands/handlers/a.js delete mode 100644 src/commands/handlers/adivinhacao.js delete mode 100644 src/commands/handlers/audio.js delete mode 100644 src/commands/handlers/figurinha.js delete mode 100644 src/commands/handlers/info.js delete mode 100644 src/commands/handlers/many.js delete mode 100644 src/commands/handlers/obrigado.js delete mode 100644 src/commands/handlers/video.js delete mode 100644 src/commands/index.js delete mode 100644 src/commands/logic/figurinha.js delete mode 100644 src/commands/logic/games/adivinhacao.js delete mode 100644 src/commands/logic/stickerSessions.js delete mode 100644 src/commands/parser.js delete mode 100644 src/commands/registry.js delete mode 100644 src/download/downloader.js delete mode 100644 src/download/mediaType.js delete mode 100644 src/handlers/messageHandler.js create mode 100644 src/kernel/messageHandler.js create mode 100644 src/kernel/pluginApi.js create mode 100644 src/kernel/pluginGuard.js create mode 100644 src/kernel/pluginLoader.js create mode 100644 src/kernel/scheduler.js create mode 100644 src/plugins/a/index.js create mode 100644 src/plugins/adivinhação/index.js create mode 100644 src/plugins/audio/index.js create mode 100644 src/plugins/figurinha/index.js create mode 100644 src/plugins/forca/index.js create mode 100644 src/plugins/many/index.js create mode 100644 src/plugins/obrigado/index.js create mode 100644 src/plugins/video/index.js delete mode 100644 todo.txt diff --git a/README.md b/README.md index 08f9519..c1d2668 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,18 @@  -Criei esse bot para servir um grupo de amigos. Meu foco não é fazer ele funcionar para todo mundo. +ManyBot é um bot para WhatsApp que roda 100% localmente, sem depender da API oficial do WhatsApp. Ele utiliza a biblioteca `whatsapp-web.js`, que automatiza o WhatsApp Web sem depender de gráficos (headless). -Ele é 100% local e gratuito, sem necessidade de APIs burocraticas. Usufrui da biblioteca `whatsapp-web.js`, que permite bastante coisa mesmo sem a API oficial. +Algumas funcionalidades desse bot incluem: +- Suporte a múltiplos chats em uma única sessão +- Sistema de plugins — adicione, remova ou crie funcionalidades sem mexer no núcleo do bot -Você consegue totalmente clonar esse repoistório e rodar seu próprio ManyBot. A licenca GPLv3 permite que você modifique o que quiser e faça seu próprio bot, mas se for publicar, deve ser open source assim como o ManyBot original. +# Exemplos -Algumas funcionalidades desse bot inclui: -- Funciona em multiplos chats em apenas uma única sessão -- Comandos de jogos e download com yt-dlp -- Gerador de figurinhas -- Ferramenta para pegar IDs dos chats -- Entre outros +
s!}0BN`XkaBd=dlStzsivZodZ@+LXBoXSu7g_~7 5%WT$|cWTT=0^@G^R4v za^6?&V%*HKCA8sH;B_U+tN1N)Lnz4{mNw)f9-&Z%iRx34@{%7v$_S08%u*ngxF;Av zsJ^8XVdhK;L;n^LPAmdq2^%LOmmnrk5K0k( )cF%`sN{5xwF4Mb)AF`Mls1uubq8EK8Af|SE$O7Vrr=! z?gCo9$~uiL`?J1JQJPni_T{I>Gw0kwTBU^(3FXvUG`v`JuY!{r$5LW7sy((MSYuk6 zQ-YE}62&D1DJxXa=2)nnbRnL+sbCo=61A?5BorCXPmCJMruZmq(&i6SrT=EwjK(jl z?KDVn+!oTYO( (ak3{r3-AL*d79T7l>e^HHqNMj{Vm_#sU4MG@xC;v6IvB^Rkq$C@J zl0?EiSw>Fb$DW*5xNiteB6j_P +re zd}eIJ4`pgeWHcqvBw#MN41`<#3zfi5wdz`VcAtaxXG0N x6DOR2Gos~ucNw8XaI7KQZGvNg^Mg3aDg98_u7e2A1M zRZ8oK4p7-ih>Q!K4IEJ%%FHxG$AAuq;QyLlLD;v|+eq;Qlc<}? zFp1anhuM715YmaQ5ta^Umw@<$(*)eRtsu$hk<1jFPW4R_J|Sem;o11j&%lIH48#~o zo8(yA4j4g4VMte{$lW-cRNY_;ngrcJj=UKmRoRLv6;OE{i)3Y%1jr1Wk=e-M1}3u4 z%K0B=H3s&iMf@yGVH`$qLE^n^lWb_+1szX#fFH4RBKz5fzL?h4b=P>QPeOeblawO; z^q weVNS=Z)NC+gzqbyvBoJhdw z$%0@`IN}}*HOQ0cgb^LyOlXmVu!+RsBjokb5#_~{jb0Zi*_;@OmDrFR9iBnlo_e^% zo8Vr9C5Vz3gxlE{j1+|a^$1ALSL4_ov0Yi)g &+W#3@&WoS*OJ!Wj3_=?Wvf$qYoU+B? zh9$)&waE|x#goh+)P8dO;gcU@v28JP-5$@q)Yz365r$+b)>(I?1=^B%W zMp!9Hyy)7*>Dz9O6 ^2 r;C!3K*W25dwIg?Pqg(rESohF498c~PBM zEE>$|XwyOBE6Iih{z`eCq>f>k^4Uk81WASDU4WpS-f@n9EreEh9+3guo9LtOt3g~%Npum_`^b*AB-HH+3 zLTp7HzGR1dUY&Bz6?IW0$xj$j*_J%sfJ9hG&IqQ8o`B%$OCSjs{bq eongdp7w=n5j(o&gbO9SSLzDSr5|HXWmw)>WZd1cY>Szx zk1A;^w1#H=y-!U+tGZ4Mt*At_7XKs5d1aZZtFsj8Kb`9YRvj%xN1^eVzlt9R)=9~L zjED%~UXetyXijfNC{q}mMz|9l3LMG!rcyNF;W(#iGVG+d6X#47yk(x4OwOyB4Nh!~ zz_F~lWoN{$n|cl >&gzh|(cqF5G5kzsl95RK5_}ovA($738 z5R7hVc=?J%wUQ^A9J>}H)H!0eV9?k8DE(N=_Vkam!iK;k9bYsl!1AsCbRTW3V&DeU ztuD-?7)J{!<=)L6maGJrRR7qEeU**asvnUOm*CMoLY`Kb?v9ntm%QFiE(oBq>U;SI z71mK(8Ks;a
6$87m9ehr^~l|gDpXY&n#kLgI7E@vNeB^d ~e0iTB;Ax#5?Mjs>*Ko;^Vf2AVf9pzuJnpsLA`X+N{7Oxg;957)Zg| z$}ZyX{_Y%;LZDeb%tau~ZZTlFxP-pq9Avu6IFTA~xupj2YhVaWy#(f&ElUVm$8X#y z12=9q4UB0*Q!3?C)j {9KGlBl3>x-9D0@D-{AaBj>%#0P$`N37ZK&7cUz zKIn;9VaCo43CgG6$Y&7()#f ))R&xueel+M 4fq7E#t%xL{D(y~46u;v%2kJb!o;j;n2{n=BWXg*P z BH$GbvisN97-$%=Ha^rii%b`6UT zV-s#E)FT2=LI5CLBCxeqW~J@f2hNL}#UiQTmc!(0IK^UDa+6D2re9o({9P-g*|g*S ztPbNukQ7JQK-+!}XK@tAxRgj-)fy4&o5mX3;G7c;I-y9dj(hUkAih+^?Qu=9A=dVr zzX3|4 L;T+8nKU)nOrFagOMEv2+e(`n^4ZyK>d@ky^iNr-HmeK%R zTO?<0p5aO@(Q+2eaxS)Q0*&2pv2oC`(YlF)ej!l~Mu7TtY)>(+kyo)So!6G1DVo_E z {F2@~s$5RxekpywPbo zX(LN@EQ^I@NNFnBa%>!sS4D<>TT51FB524oR}_n30B&GNU4_QXFdMQ|KmbWVw!e_x zensxFrZ-!p2>@m3{3 2nI!s_EYIi>t2omR^nNIEQ?$Ej0;IHVz~y zUxw{OP-g$`n8c*)4ag`(l0Cl2!n_@aK#i+X^ipn$kTX_~eKS7ggp!divoU3w%qLP( z(xBqeBI!t-K%Ver$sTQPe0Xn`Q%b(s_??umN%CpyCFMe|tC&5Ed&?R5wF`)J)7}OQ zSUclm5Cm8Zp!-IeOh>g}u4`eG^?CQpZ!J1ezsiH-YZ5ffA}16=WFYqGStz>;O-Eq1 zhQ%j~OHL0 NEXLK!8m{rjiFmdYPTQmC z^>kNUBASgvU`>fsSfOu9-Y|Ph-E5E`XM=9B5GRBnYWuS{_ZWKY&xi}t9F5eV2 ^To6}Iqy~UvIM^oXcSJ`*i3VB> zRD4UTRCZ%{M3ba-xUFC~=?R%l-AEKA+3JDOV5Di9@Qm|TD(XskNzK=&y2P_q(y#{W zkkQzBDoN yKyYMjf5)c)>qqc5~bFihump=CCDb>z1@vbnuh<_ zrTS4z?#F>rua50xLLVNq0RHg#$nEj2(0s^F)S%e|if0E%CdE{X4J$L}7ww~S@)~8E z7~7iHAb;s3fRv^DQ0B12rKpJTTL!zdI`vdeB?fj{FW$ulzh(T~9hJV1PpkUHtPceX z=2}j*oe6HDU(E3<@cb!BTg%R&ZTh8m%dQs%nPRY8cx$Ol8E953Hvxo)93f(a7+CP2 zK^8#_5^RVtM35LcB*ci3#34nCJ3<&~q0wN)kPt~eGzl^X3nMNLwn%a@M-vx81d2qN z5huhTD-s@D!NNm~pFvlw@ZjR73nM{xxDdJ`1X80xau^i~^l6NpP?5G+ft3FRK^+Cb z62&_7s#&5dOc<$35N%wbWv@mpDlmtUiF=nC(cw17%#>==O0{csMGL_@bRmsAYq6Bj=1{}k$-lt~aLY=t71lZCZf>2#i*z(gAFC|;fLG@^CxrBGa{u+b@ z+txW!-%UFjX%5X6mj-@nH!|G4y@w{(eAcMc6@c@`sNF& B5JL$o zG{LbZK;y|I?~KTB!V3Q*F@_dKOwgl)lyYdSBm_(_rI#3@@juXVGI0N*0ew7(!`J*% zZp9xb)G$M(Tu6c?BTG8Sz$J4?0z@32bSMe&P*l-J0y|o=$%9ysQLiSZ1Wl#9j$G4A z8cj&Z#4F`ADTpvLDo#GIQk!pwo#rwDD6d*LDzzO38ni19ywV{DMnwbE1g}`Q=qEh) z9JGZHScsI &+ew8~HdiJ%M_#UM%YKnIVBJksMQKNcBl6e+wYqpOitj%J7=^ctm# zxDJfUtR+;MY@NHdI_J1Y;+iD6;QDAQ^zw5-#jlDo!O`0!f(|{n_BAfHy#DfvG?q{U z>opb-4S}obsKah8$Z~rvZ@MmDuQbXnpNoZnReSC^9mcZDq9jzG^4qR-2$( NuDbLX{cp+5GE>r97U zvqu~}+ViXa{Lj%}KQ5>kEgmZhm+X?nsSA9`h&R6s+k+ D1xqSwRAz3pCI=;O zAu23V*tFIYF2N~+A}rF(2AD${w&X!S^q~od$fEgVWK`hd755a@utbf=1wp}>2a1v{ zDp{;uscBRak)p1sD5q0ejKRBJvjamhiYhnTLAIQj#fcGXdCY>;!P@97KrQ4pU?f#= zhLtO4#UNmd0%NPNa<3JP 6SAdDV-mQT%;@Hlx6#ccK{QAV0tB}jX2ecU+Zq4T zW}r!(B%S_gkv1nnHnXj0HdGUeOcbayn`lc$BD)!rj3AJ=DWsa~tjKKMna$RzNJnzY zC&rjm!nheoNDdWYKc{&ms)$p9=5**q76Q(7PRIxiU1)S-z$ndmjw>HY=D-k#n8S5% zEp0(c;j}W)s^G^pq-iNxHZwiLFmE$3#gG5vijy7jG$se|OP^$P5XILxl6fqsjOS`& zk;yCzr>apMW}pSSz3`Me&*NiM4}%xtaFsKryIfQNb{)u+MtQ=bN>hcZIJZ1YeTh5I zeVj)W@T?>~daH|X;JD4r@Gh{3u}TXN^;q3Vl6ygE6t|{I*S8MEqF6# s?yh)RG_ zp 5*)AXpjsx=tV4Ql8JCABOK~wAQzIGg_
Arsxq|sf=W#7NSgx-A0*+ z`p~NY*_|;;vNaZQRV~RAMwYa)!r>C;uXyzy2 $KRVh(j)uOSgMmZ_D3b~gR<5h}etSekfGMNuM7Qz78 zC&h5;%XPezFJXd|OEytYjEZ8M<0wpgO&L`-dPsLig3u`))I}ieGfK8IB_X9vWonZE z*gQ5ih)_u*bX$S{5CTyf>5nAydm5q(cut7y;3H(?l|i4h5QFeaYtL;c$X2ark@|4a z^~4&f2OaCEmBb@gny1<<4Qu~|m>Rwf`RJr*4W*UnWxSqFbV!sV&N{7g)IC{9vE8OX zv)yd5Iw)RImQq#JLC+xCzH42&(qe2sc7^N%UP>jamAhCcEsYYExSa`2m=LEfjgqQU z^fDaYa3usDXzO!M7Z -xrXl!n8#toJFm4ze{q>s?$wd3(z3W_O#4ZybAc z*=)gSikP#EhvH$8cwi5Xao=!8b)RV@>^>{msqRf#=9^58O-_`8B~`0V3G7+QcVcAw z=)N6M?|GF@v!5;fxH!`q2~E=JgG7`di=L8tJDniMBt7XIR7nQIOC0dx(18Sjpqz5c z=d`DkxM>HWciT%&ErtISLx@gDi^kbP1ohCn^xgAzlRL%{WvVJ@XVco(d!+4vX(fIS zFWw6xkro1xwQ+}#)M=O?iQw;DJ%+G+Q2EAY>3CR~3Qpjvf=YVfOLuCf>`q?4SwVS# zcnx-U>2Vx{FhZ-ACl2Gfx}_>czGnvnb_=Yi3`=i;O2K%E;$DDUOX^dG$G>tnq5u^h zNoJp2Du(1)6LnVk>?@3{oMWlvtXx1 Xvt!V12d2$OJb&oY^#I-WG3FEZ4hERsLg5^4FsFO znh+!egKJ7)D Zazp6rtS*j;sQLX0x`bN z12|EtjLLF~qQD$Pc%Wx3w!D|K9Z3? z1P-ZOu6_T6YDjJ)4F6}G%p|4KuD+D6fnJ0n=FTC2%ODoSLe$H*1_bcbuC}VHBW^ dc+{*7>km H0`k{BQ=f*g*5riGDx*xWNovSYf=YAQ#BiaY@M;do2TP410!<`e?bWQ)C%z8r zPD&y;!qraAK|sR;C5ojI1FZfH5;-Pziefex=cwW$dF%#z)a{FCM@33e-=d;)mV;67 zlidu< uAbbot?jjUxYTObdEhAJJMR6>fYTz0re4+{%lL{3r<9&V+KzU~(=HuOV!$T8J zvbG~Z8RN5R!zdW#W}4#|tHZ-=6gbq1Ffb%&=%=dOi@L~>wU8@8qA2XxL`O&xOQfp> z0>mw5NFtdNgpdS;(C8w$ag3TEw$O %*e*lKcz71SK8kY$-=>_%sXO_DW*BY?%N2<|B-9 zm45Y+1PpcnQKo_=!}8BtunPPn&|22WjuJ)A8nZo~X(u6PlK!O1Acl@^&yM<~Rzj&W zI-^f4!dBcx{Ltksdo0HS)^Zp|TH+-&>Z(`^@R0fom(pch%3{h`Wm-N=SE0{cuFu|D z$y{QfYUZY6K+r*i1Y}S4Y8sUwT*BS1h(c6$W)`h6x`s%urXofL2nRwr#Rk((A_b2I zG)1P_2trkvlV(0oDJZ3ZR73>9a5%kl*{W&^YbH1+gyMW}4Uxva#xB|5%k4y>DW))F zvzG5PVxm-L{;I~LDgw9gXM(DhXEo$(F;7lJ%tFH=e7cA!K-56p%mx3@g%EuLDvE+R zDs*(j0tGSdKI9Eg!owO{sxqGEBMRd{A&YdX%Ey${dR|d;$*E2vf~`cZ=9ZD*Bu7b~ zr*<-DM-?%$Ff^;S%5H=r;Swv~R%hj^^mRPKL80a^3N}bZw2JTpKnrxSlm$2>Lp+4; z;y44}1PiSsDO=D(D?IcW3#=-n6f`;!ab}k^plCH{Q9ZtnwZ2Y3$VxX^_9Z%mRXH!~ z(1xVsk?
ob2{0=5{g* zEG~kwe92JAXpeRb{amtMAJ#2HPf%uRllEl*PY+mGMY&!hufo+~e>i%7MO2{0{k9m1 zrI^EzvdOU3VZH@1i?yuS;&9AWFKJSaX+`)JFi*5 QzqJN68Y}o5FRYIO*4Y$7YMWN82?CXHCHYI5J ze$MbpsdiFK3eZYxjS9*Fzi =#bIp@`8US$>gF!5IL(!m3MkkSE+rvOVdZKd~q1>qD)k{Ar#|5 z$_Ybg )XYX(UZNL?-(B2}g3bLWuARIHeSFB%zM!E`)`LB)8Uje~75k`i-@o zEhon0BV1yfBf_ln`hYdnm3J)75@~vIZ!l=3J`hQZM0qRYm59X>H<;LoLho{?WN#DC zjC5tdLQIa+)mMcAU5iOkypL%9GLqU1C{J%LddfUnDvt=Pk?i(XT4e!g1w1MvV*S`* z$OTfELvRQaVRh9g-%OVrX2;6qHuM6^SOPfK#fyEFIQRto3MpE0$@m7TjV2J6 wrl@@Ypyk-L0Gm(TBI{nQ-_*1B-Lh|n509J z*2br#f>d+us8eM?h&+K)D{#*#t`lq*o1g#*(87>7#~Gu k5LZuNp=HtZ9?b~FUrCdsUoM$#rt|~;@L&wM|Lb^kf3e&yRazm#?3uELG zCvm6BaldG==1N}^-K;!Ja(E6pK*K{T$qw10uG|7MN|YF}&2=;d-Su!?S4ywY`uKZA><` QC$3GgWk>@|!mk~B+=4C%m)DPc?lVwd|~9g|`>r6|lu`SNHf3LHHa!gSx2 zxr6lO?e!}r<;;G5Ugc%Q9@E{hC^MN6jg|*s@~AZ?DG=wy{(^p7-FOMZW}@6_fnJzB zLjZ1tO~*x5*sR#2J_NX6e8&H?t|VOW$&DOtP6lSrJ!XMIMsCJKe6MTOHcLz PCeQ%nvc)iEZ zp+eyJ4`To#hrkspJj7VR!XUyB2NND#!BC)yh6){q$ieVpMvO5sCNa1%W5*mWn#3^T zfuoBg3{Qp#5~GQWAR7NihO`;OWeX21akl8mu!RwkHE$BdS(IZ4BRPz?#JTd~Q=&?% zW@OqVWeb`eky`a?wCW0{O BeX3Vp?cKpi<@Av!VWpWbWm{r<>!J20 4S1# mRZ?mmX?|*Pf?1g=~T%D5vo^= z$*Jd !ZoDVe=xw+<)Tb>kjV=R2E9cBl)kkiTjf|v5i3nOQ43rtGPGRjIvRBsRfcFeEO67OJf!Wmn= z(7E0U1n|J$%GWfu-a@1`wmDUtLv*fE7F9<&9L1STO36i+sB}ZtQ4*_i%5zu)^7Nsp zMlmHA+ NMM6yu02m?YaA^fhB2xncloRUo?? E z(+r!4#gQ)N>VItf5}jlxD46JgjlmNmsxW0b?A*iyM)1t9PBN7ks8Nrw;++=fr>$^3 z#2~;K+eOe5rEh6%em&Er&yp53lws^-AR1V4E^D+B=A(RaSq zlwwv#naqKYUO (_C7_S|&`_frm*C=@_`^)scV2jGAQXOO|M)CG3bZW8e`G zjmRd@5eWo6JIYzq);XekKEzGP1J^Zc$ea*FGnpKf*}XIx0uN{up5ell<#hiLAM^;w z2p?M#a59Q6p@pwQ7DeW~KJyixyz+7*X;UpPVgjr%vUjsvUS0fI6HSiJmZ@7FOm25b z7D%9G=@HCO@m3R7&T3GS3Zw9Nq#d;^tCdX^%u2GDm_1>JB%ym-Uf$M%Fx@S7IsM{A zgd&vlMJFtK#0d-V_!dt6iZOHb>RYJl0jH@&T39`cXYlIQLmn?IlUZsh`KLfSkt9k7 zv|c&uRVCj%E=Lps(lmMKq~JseJQ1Yc`$)qgAqpsgLHtjY{$o7?qSlEa%FhBF(kv|1 zOF**G4#4i$zZUUUwWk$Q_;#q<+-5I2QxXrf2E-#L-DaL0MD3A=)EfWctZ;@5{U49U zc^xg`)_w@84~71Rz!)wmM;-E&X_F+xoES7O`SC7(qX(sVp6`GI8W3;JJHaDziJSfX z?|0X7H0b&FMtemHU~|=!E!qTNgwgOH C$^r&1=&{C_+nmW{JSdqXaoo5a>C>i7ZKA7YnLm z{FN7BHtEhx=?l+V$>xs2(*-(knl%$POm#|>no7f_qD4f~WG??KB2+^UjJ%Z~*50#h zXQuQxIn6UcD|0L(vNSsb oq~WC~Tl3u4siUk71Ci`1GhtNJ#%WWG!@G9zYr4=g=&WmwLt< zT^Uvn>df5@k+#cP0fpCn4CK)iGsH8Y`$jtrq+xcs<~|OVrieZgBGzxiwV4-iy9OTm z&!^kN`!=Vb-MzZhD>&W;e{aI ROiod9TY_3Vy>052 zOAZ#aTC#&ObGwutwp3RMd5|fG#I884-MVA^;WG2Y+!`P3Pf10m5*I5f@p&6g;OH6A zrICyW HVSqZSuHkxbNF=k#Q zc4uYPE12njCz;-qXtvfW=)qEsmRQN5ehFw()inQ3r`8bc_ht_jR27A0_i+&I6Hs_( zO}0iF5D0DSggoU0Fc+8;Aw_F(c1B-A5V-LW2X!ssByHAK5CQ^1rM6D!L{i{FQOf~M z)mCXq6A@{XPS0jjA94~$r)<{tgPTDX5I1k{7IH{YMtK7s5)fAaBR34e6Ivlh>n2N< zwN_(sK8llZB_VTjLnmbTgirWzgH#mtf;$428F9!NPyrMdw;7x=U_4b6NTr9T7ln3F z5?g^*h~p-6F?=33D0~wb(&rXGkw_J{hA_5>l}HyQaS~U>RPIqdKq7Wcha*me8bFhC z<&!1(adcBeUU{}61y-U;@xJ9PlA@#U%fD62csM;dT-NBHE){=!JEZha~#5QoER5 z;o)-Y(iaNkbkySzU3VSvF&(%#BLl%&KC~p!xM$13U7$!EQgT3S7e%LWjj=c*t#ylG zrzG)ZAt#b0$asr-Q6s?kctF%20rEV!I2!gNVX9$T`H>x2f@`ToK&HfGz4L_!sS(nG zDX}MHGz2N4bVwXQNpSI0nqnwIHY(63WI}-*vPWeaiF+$ng}L{Ak(d-)bxP0YhE;)A zsWN3-v`C$^DDkm Vh8t#7FZNa*VHRgKA|HVidPIlu_EkWM zl8o3V2xm9h`4bnh5)9{YDd+!q9#UEy1Tp-Rj@~gO_CrG~)L&l~g0*ptNjF5k0YDrI zbs9uP-$)WhHzhqYb%&RABQlDyC3WtxLTlkr8VZjvM2t@|KI~YJPe&aK;vPdXjRztS zHUuR%2YIuRBA#`l3ie(E)<8(qa$y&B078TAm_D%7jU@V{yY(8JMO-gMcE89o52QUz z*Nam6T~;?!4|6_uCPhbNog+zQd0`UJxt_ryDVSmeZ1j5`p?o_=BYG1q1}T-9Q74#G zdmg4oN;XQBQJ_}#6q=+IY?5S4fs$*OlrjdBJjQ)qQJpj4VrSD5Oxc_Zc^IH1A9!Rr zP*#yKmOP8~SFNf@CHen`Tk$I;29l9eg+#_Fc4rdW$25gWP7UFXBZwW1HX51PGaD#1 z1ksDb0~55?S-I94^V4Wz6F!qxX)3du$#fFY+Lm@19?vyV2G}nI;}kJf5JI;jU)h%9 zG!q}gGk!UQpE*rA!GT^GYrjITnIVNVwez+nG+K6IKKi+Tyvc=p>C2B5|~jI zy#t4a!JKRbJFNqqlw)NAnk;7c5w_DfiLnyVR~DB?JHNRU=GIeLI6B9(5{Kcl;8`n_ z6*_LnZ@#k;v9$kUcts;QD-~>LiA)G_@_{;R!<60GSc}0G%Oi=4_&Vqbooi89%1I}u zaf{ILKP(b1J$GkHqEZ0jIuIg@_7y;lh8{xqp*YGj=u@E{(u)mRMdLFjad#gaVir39 zKmQdYr(qCFf}%jG9y>(3@1sLCf>G6}ZA!I0) zC+&Mz%z6JuWWsF_If+&ls*+{3MnOvtjHeX5d|dXCN0}51Oc|;ol9D 7U%PrFZ#WvEIS9~puwoh2OOnf=AwV6;hSZ&cX#SXi$yt#l5 z#IVZrWBo*x3plJP(<(qHuUc6UiKVbBn1A~uusXw LkoS!(^1tQ^=+^2#G=Yhi(N zD^(%IXCV*(cRqQApPmzL4p(l`;$n14wPR&8DdA^OyAhR4%9Hq=9>;2ztZ$lJ7 RA8B;mhDNuE(#hd_mgQwe@~xD*u@MszY0toF8q@e{}_wOO&e z(G#-Fu@wVCEu-NyqcIVxhoa)qN{DB?pT$H}EE_Okqa9**-%DRN=Z-lH8`4NcJ6fax za-v&e8~LnXyIVo<=ywIQp=i23`h(At7hUbR&0@+y2{OI)xFO-FLy1SZt$UcD*d4m2 zx+Ox-QhFOlceuaBJ_S~Kf{S1qGD7pEK>!9p_*^eM=pz0Rck)4x)ATB)l44@w7sREL zfHT0UdMO mCLm^G2@mSdx76)2FA?Pg`Ut<54Z7IiL}7=VQN zFvuE#ECUf#Q-i~XF0cfd!KB9I7f`SLmd@s_=tr_~);>f?O^;?W-rL3tBZ4Rj9!5hh zjse_P10L1#t`BIg8r$4+?3EeIn acZ^6bDl&&KW!^m9Ji|C?Ko9i7$i5}3LO95@rjUE zai_^Sh1u!BUiIHVSvyz3NKGXdX&DwY#EQ}5X%m_sDB`<45+5Mzw;{7!1eDTH(sKL3 zP8335>(Ufm*MadRyX7PsH10#zK_gJoG$$$@zzCt>$d5ZggT%Yh=}cbtjHBI4L;Us6 z_az{CVZ>D;gsl5u29!bR*t{teycKQbx$9axDvHM&(PyWQ^D4MARJvlPx!{A*{g^N= z1dYlOp@xl*X%o@!Yv7diWP-tJXTd->@hfqHI5(}qP07G|s$ol}7B?0xPYq)C%SCSW zN(g*QrrH+5Nqk-X(}1*7t^+Utbdji1J74l;zOtv4(bji#sZd7NwVeNPGj=Sm?iPUa zdObbDtyg8evK(q*>0)&27^ZF8>KUTB8!bhE T+a{PhLK~HBU6%PU5 z(u7ae%(=@=O%M|Tf^2I4axtJC*vH+l3_~^a)UV8n*m7($)rgiTwIoktv9QU-J=oW` zy-wJoenB|0jv=G|F74888U+@a*c5DMtV?S$AZzLEZs~xIJ=yv-E>-UC(3TJ%)0rhC zI0UZWP0?}iho6(-0(~OI9g!8d+!Q5&Zb5N}_p9HsBj5u%6qv!vk ZKHQ_;fT z$!SX<^cN7!pPI8fhR%eW{y8WC%=hVqu>OcQzlCb@wukP05kCK9LH}{FguM`QrU?BU zy}KgYf+(`#Fy?`~izmfo((P`}&`jqrSZ-T_D$tAPrbQl#cBYmsJ<|f6y4?lm?h{ lnD?2QlFT*ndR=(zUEh2lonEmnuRZ8wcq2cgHS zKFQ_IMedExc)J^|LxI;NO@@-oau=S_NMVK%s^@)VW|L5sk# 5T6?bU>!E5$SVsP*zSgT()~-k1XskyP z6|GzO#g)HZL31;&DaPyfCS|WQy0)$Wk)uTj7b{kn2$KJUg$EZobeJf(Fvbdr6g^B_ zSa3y%7%W(DG MurACvS?9qBT1GN37XU>vf{^<8CU3t5hFy47(qt5tXZ<+3YkTN zV&teJhe#JOjN~wa(_+M;8bjy^vLi+glPy=c2*QGBP!}#9#!xC$CdiF3k>(so^)1B} z33EXFDbXR`v3ZU9t@(0gL#J6|>~N7%E?~wp|IQSQP$9< *21Aw?-b^G-%5TgLq(l z`uOl1TPfp=j=cEt>BKpE2A$-hi6kq!Pj6ww!&CnwEVAqTeLi#$uq~SOmfxIt?Ag+j zFQ?8a@A7+1Ir@^wp$Vr}(9gf^9vo0R;?m=YAro4_i-im8ilK!SF!T^74>2r=#1A+0 zX~Ydv+RBBJOoS1ylrYrLg$+rvQ9}<&^H8iEpxPmc4k0o@sTeMlG075Td{Idxmt0cC zh?wlr0}pcwA_yab)G|nizA_=BFqJ%!#|?3s$VCue6v~7S)jSc(IOm+v%^bL5u{wr& z`tZXhr);5x9s0!5A>b$~G6xssB=N!+k_ZB)uoRoqqb#>X@W?=S04|4wCW29|5&!ga zD;@d-k lG%cbrLsDa8luZ9zD?Kv?8y}QFs~jX)jaa9MmC(3jrvnc{ z0*i&Vwb(8r7CLGZ+5uT-E7O+R>AHPZ!l!;)YB 0Xgxnzn(uU0`H3E%js9UWRB$(iSou$`>g#}GE1S16X;MCea6PDN&gv@PQV5<{2 zV&TBuExjCm+riyvJ;t}?Z=n@1Fi>+CbSMuJ>dP^tYReg<>K1b>B95T)wXwCfGQvEV zmUie=qJVx(C6I=idg`d>8jI+O+FH6T_ptJit-pBU^v $Y zs=6$HY;Pr{1mk<6JH0vy%cs^3OsW64+{@{wryJtyDkH;sngui!zj~^!bQpANzO4dv zg&%j&p>CzQ=GtbtbvF8Rt0U@3tN~pJSvv5Po6fr8Vvabt-5v$-b#xo7Y(2Dkmv6P3 z(}TT*=UA4HJ?8K&`90*GLKw7vC(P}(i(E#IKH*H5m^IQm{;xWDb7$fF<8)U)eebHf z_q5vLqpUXRX%`u`B+@P4-}D}JL3^afy!?fWfUDUJaDrze69MNpI`Wf^9HyxiWyn!U zlM-FRQX@KTNH3YwQ?8(NAuF+92RlfJQW7F7BxNvEa%q7IX?7Tgoa|1hx>b^T ?LftBLqC 7K_Yn~3@QgzQ zQ3!%KDiIzMS7WMGhg3MEUxCX5O)yWyc=NK**l%3~3m0y-=Sc%zhePFAN(|POuk{2F zcdBH81T2$~kO8cK4FjGn0p>Z5$Wk< {vjW zT6)KR-r`m)hgBV2*2P-P5~gs{#~@iI$d$Yym@c_zu18JtmCiI^w*=C!m96uAyK&|D zc4-s3DdaDaLsJNHR+9hfY^^E|c?o2;hLAbBz&%78=;=!0ftOH}Do~q?8l!R-7YNj9 znnPORXwn#e1tD%-5lCe2h8D4~4SbVnNkJ`F5wgvcAc*5iL{n#w*6DO8(cFkZRss~p z$TX;k>X5H~1jd#Y#HdI6P*1|<)asZgbc%A*hrp5+w-{|Pr1R)dQ8(7da0D$-QA$=v zN>+(FRR>K-Ygfk-9-idRH$5RpFK=_F0-;8M@(~hi0=u#2Ewg|UQWPe$<17|5L4n({ z%k=sqn!B*)o0M_v?bN5&`t@cz{sC=-+7qshh=+j95s*M8HoubrFk!aiNB~7^PW342 zGv?!tzb1>n)As+>u)^7xdn&`b-$ux!7Xwfni)f)oLJ)Iyq2W^~$jB&GXNp9!R2z9x z8=W*{2at56A?qY2Dq5%^VPw+?J2#{MF%pp%Ax#`V 9>L*!*{PiB}9Ox@{A zHfdmWk2Ix5R`J0S_R|>m2&e)7a4UClp{{hi#wS{MP;~;BeIC0?;+#@>!#vNU;3?$Q zG&Wtx!p>ojS()?|EI-Do=F67Ftq#?4mD6kuy&j9r;RIG&)4Z%@!dW2%nU+|vBeOLh zwL5jX#(V!nUKv=VjO7YVxz5CuSY3}PP2+d~G4mr%x2{**D|6Cg!P<(VBh6@$RjWP7 z#Rz`aTDhl%1SuC)TyXo+X`TpaB{chr 6*70~=#8a@ zkpLECbM8T*>ttpSggEr0J4Icm)flO#=)fcIjyG6ZO72-p)ZdCrs0lz |f=4o+D3xM@K4iO^|elgo0(Ph9ws7|0pEzDrvCHiEtkY!#9n?`1sX z(V_o1Z8Etn`JsGX5|=V)!bhR);G8;eHlXqfoAd4{id^7xN}BN{@<3Difc5i~gs RH=}%?voyOTqIxZq`@v0%l=SoNDXljha|!;e=DphHmdDPJ&9DD zMBHmf)yztQN_CxZg2h@z#Dp+@WV%jOBZyR$gF5 i6+2Q?u1bB1Y1FC*a+&DA=gMuV<&Y#) zi(i!vm_7Byk=;aSfA!2WFj0%i^E7`obqURnQd6DHfNa3jhmE>&VgzC$)A?ft?9Bh! zoM`yrIaz={rkI@`z%*-%fBEu#zJLz=i)UFktYHN}yP zg2+6v2@FpOw*=gZf$IobO9%<{G@t;t+9-&Jv!S6HwVRm?heC`r`I1xn5ua!an!$^w z!kMZOH?M$>4fHl#<0zB3lasQUNa-l6=qQUaiH)GBt%!@I(WsO%sDHDGRjZn^I2E#( zDNZxAVq>eFI*5c=E1!WjD|9HkQ53 !dA#J>MRF8v6L z)e4}xs65`d7ffuYTyi<%SVV?Qn236vaCk*^B@#&a>$OO@JV5vMStR{@h#1C XD%i46oPZJQat%eE4v!l6KjTU)3i;-MXkw~En$$r-h}@DMgirOI%; zzOkH-ERn@TiwXobga{pIt0<46C?mwo&D6}!41vu2%&;PeT+@iU$hD5Jo2lv=woywD zTndfQH^`7ewQ9|=>M7PN5vLeTrGd4Bs3QwY!i+$iwam+?X$r2mD8|94)WIE8w5yYY zMYAEE?tv};sGB?#L;%zc*^rG$L^$$*3R}x1&+-?L^SQp_Cg1 -Sxl(>Nyc+x0^(kYeFDy7mZwbCec zl*JPwW<(P5>c~cNE{2Rq5)D263R4yZH>{H&R1>59V$nDGQq$y$4*3y`aH1A^QTRz5 zP-zv1%%HZ@NK?7UT~srrb2@F&vqvkIJMprYA&=~&mq-6e5aj_NjtdxYi8<8bjUXtJ z^r=*s(I;cc7M-v+nDM`stR-V2%2Zt?Lt_CU5V%;KRaxZ}Tcy=o6}T3_)n2XD_)Ho* zE4T$!N$1?A;enP-y$oX-$|hSFZ?V3WJj9ieG cq!LZ<|2%26c{ucW2`of$4A z&bb-Q@A5XbNT_ucF`>Y>r0_w45EL01otO9 6(uu8Dij4t_%~*`p*eBfq8qnB~ r&VGNUuydpi#lOK~h_NooZ%aNXFNDnxOD~Y->A`F7`lpxT@tYAlX;t4QP znsa1R6>CV+Ys!hhoSMlHKuncMIV0!QiY)(~(iSil8jt`hk pLbwG@WUQ^VUJL+Y>yGGGDIy&5ASENasu5u?g8)9`YkRk<+@$`X6DusT&F zfUP%xM56<9u*74MUoopx9m+t$Go%zsEqm0;Sb?^+N $uRS|^5e3N!7qB!4ui2!;z%D8@YP$@+a=J0E?@!;a05B0fs!$T4~T+Q-~=Ra zf)Wsd0Qyy3 g~kl1rFKj~7jel|l>*Ije+X2*7KI zo8=nw8O)}joSET@pdn4y6xu^+!mh}R2$Q#}I6OBI*@}&ULWqSs00JA}1Xid4od^L5 zpaCKHf+%nT9+&_LAcz|n*^9k_iB(q|@gswxS>qHcY4cg95-D73K)j^oPP^CMB&d@y zjEt(ypWVWa7@F7Y8s $PQU~k zsDVtVgiMHn8sLLIn1L%81XKTjgfEZ*#`OV{K7ku}PKm**tSuhjki+wc)bm(q{Sb)r zlpoZ^ALRfZqy|3nJVo!Irrzi%Y7(vtwKZELXb;*$TIpW~{^ti8yTdq@88SWReTqv_ zqutFsHtC5|8N60$AR%3&p1_i?P@+b8Q_@fh977^;R2A$Ul?$wE3WK{z$q)`{l=8Y$ zES*x2Rp~oOgC*buQ4nTYsDxDjg)dkIQ@Dak(1l81g-UP&B&c5xA`=Lr8SrJXLwY>Z zgp kws#$U~Gn6(TgXF+YN%#JE!!6FUeC ziwg{1sS+pQV>EhkWBLEk3Vtz3VrgT$Q12Taj-)A8%1FT^CJn?m7xgm^Ek?3VLex&W z)^|~!H1mv;vEizfO09U}Se<~Bj)hyu1yzWJLXZMh5CjwmgjmpnLBNDBpantb0Y1 HOx_2uPRt9T)-vKX1@@cm~b1|Il&IJBBB~76ihXzeJPL`^3_p7U0XGG9&lij zS4Y(n9e@X8kAs;L&t2lv;rRI!{fz9TDDBuK3kb+r|0~DwOT jxg +*_u??Sf~aIUOn-orhCX+xzv?3j|2$-OxJ(2)&rldv79Q=ta~} zlz^Z~=+)4x5PA_25D^eDR1pwE5fRY~3J8c^uwwaMe!TA=u+Qw7GiT2}>sf1koXy(a zh(5 9PbCgM z@(s#$(l4tz^|wZ{>e}grXQ;#hM97oK+n44*1C7&`s<*@k1w;p*EAKw}PKz*$D49zs zolHe~Lj=$e-<=e@l>_eQwCZgjQ!r9gU-iwvO^Bmv;Lmc9+McI)c&;Q9m~a*V>^;eZ zwJg`Z^vrv+BKewrD>aM{MO%fIuJdeUVocTnrt2#onG!uRA&rG&WZa)oMw1!m`1_)5 z%S+0d3ugaYkhCK0|6bhf!*&q%Kg}Jbu=e-ZQEtcmU^#Rs8wT~Ag7~mf6 VKK6KHBbk^J>m8S$zNY=|%ar!uZYK z8OB|YA1*4eSuO01Rqzze0pC*x+;?NJ0Wdbc-AW{dwicW}F7tH|xmF)*vuBX}|Qbi~r zf3+aK$34*oLuaH9J|6{i;0eWwJD_nt1W;tV;nYn{sm%-a*p{SOG-2le)sQ6e>=E}C z?Mv9bxI)9*(Ls7Ns*hXC=7Zn|S%=h| Qlk!{jOZ`IK`$f^=FK}J3b~2 zXMSxp6kGm_cjrM;^)V?{IbvW=$-g)noaYpuaWNS&N+@<1 |I;G$)2U~ &c1`*E7sw0g& zd~1(t59ZBmI8Q00j-zkB&14Xgh8x+31D7ZVZw6|aw8Wk>>x~)@*UK {ka)({TsY(gm%(VvD$`-quK7C(|pO#y6Fpw=U zN5_4S<1cktSoU={>0_B)zHXq@bT-@e)!Aa#K7$Vh9%(vDPK3h&bC>jxijbRx _g z25Xe}9P(WxMuVoYs8Zu`(H vx(+sPns&PEmZ>8J$HL;| zrg=+Ewc34r3>d5Lt2~GC?<+h8MLIekbwc*5Lk6jlHx1=xR2aGGB_1wD2mI}MsvXS5 zvKPwN!t%055(Up%{daVyGhiUHoP_ijuAs|pvo XWw&n|V7B`Ezl5C|tVi1w5F(UFlN_6stNmLz%stGH3c%=LC zOp2nFaYamy$vJZDao4ldUaxE2E^YRScRb257n|-BJ1S3l^xY0RpLW$t|4m~lCvcBs z@sD9%``9_tPdZ-ROMB!nUjo<8vPbktW6|q`#{&)ahwmIa{8icd2@Zbet}F*qJ{Ehs zYhv*WMA@ddi8lCDIk%4;i%#tKUUlEL+ 5_e0PC5H2a~7mw|<>dmvpavfJxZKra3I#ssWht^qbGhQZ=V zL|+gXj0~CK2CboDh&7w}h7A=|8iixWXv4R%z5=fkp?KPj4L}Jv3#7#&%9T zskTsZkhiKr7xl=E{)M)vb|IzH`hQ?&aOA9s1jjN#U8cHRK&GY*_Q~~D(Vz+y*VW%S zjOFx(^S|~~zigoLQ=1g=n(az4)m~*QqsqQeWz~eg1*KQJQZ_!3E>Xn2B=R;}LSJd- z_kZC%JdqQGi}!3|k=eH+w^T1bQ!dU`cDQ$mUrqeY6j&ZHa^6@+$$RumNm2F)^3s8j zD0bS{qF$iZ?blOhx}|D;@e8c`{RWHw@!Fo}ZLVU7*viTk%FWV)x~e@IDj-DLEM@N! zhckD4=8v-rJj}MS7t#y|Wef8sMjLPUWVO0S$Cl~R>q8)l8j7R0!_jAHG0b<^N~}Ym znsE-CA}zsulN)ZEvkLzHeWL3{hx)JF@)wz{cb7XHRkh9e&*oC`YlJ%iXKstk^D3og zDdU@TQn)!omvu@aRa4Bz!lZ2@-RUOtW_0^tv)wikoq2iNuV32i)QTZ;s~)vxVoG+G zr`;=c6cTe{ISzS0^nVP1Ci*L(?sH!e97~YX_^QqOzQ1v}Ycu?MN pOA{P z_~XOwO`FEB _ DCwSrR8Lum!0z+?Em9A))Q7F2D@GkK9!S? z@8qQXJ{c-)c@yRen7GTc%Uhul)24pHIK61|sFqinY=Jq4Irm?M@s?8<>(sqVX7}x{ zAT^O6|9N&d`=Dy^+{r(xDGx_ %dOgT#oGN|pofhs_GRH$el3+Z-3ql3yGP zl0kgLTa8*3)Gtn|Ewa7wNjUnZ@-G7Nag~4mmyvs~#7+~>+zRa6Zgmk7vfP#R-Vhg< zOcro{E|i$K{oGahPO(EDC4G4Y-$x*Zw$@SrT{ S!LY#7Y@jkms7WFxL&U=&2m6| zo1<4-BjD%O_-P`J|0rd;Y;nRlDxu0H8?;;TPa)|P$8kk56X-~auvmwjV+y}b_(@ hd;t@k@u`>XMgz2Q>YK zS0SWyw(jO^o2QT)cVLK<@Z57J0`#4*lW-;Bx2n~@ ry^l6Q>peCW!UU!9^_? zX*qvspQ*Kggh0tJb=-feq^#bN{#RGvG2QXMG>Pd_pS05R0Sm8ZG2KbkFkLG?MHqbp zo48NN+IezujS6Q|qiv}?1P+|86)qj1ZTMbGy#XSe%7ce#y(MUyy$>2nziuq^6xV 9+WZqFBK`vZ}6qT*c7I}m%+2{ zVzS(zHZe(Q4LZ%+2&c*r-^m!3J~8inA9MuJRBkX=-ZT)MxA2!WvI{y+oRTr%pb>0> zquZ>k1%)n@XU^71q`1zn$-SF3o=K6-PrJzXJKC*f%1!lf)9H7xGib}1BgBPw%SANA zReH-+ImAtC%gr#v-E7O ;6_GW5nXT?v *JQ>wq;- bKwO}&F6R{3ORPqD=P(CwZ*qi6`Qu@tM8um z-Su5gD;Nza+6yo7-}S%R#`yfMjEQdiCE^&29DC!eYa*n8oIB2!EsW7^sa=Vvk!-2a zQrI7wtC5BnK6R=c4BbD7h=qkkOy}AtD%Tk**SCi@NRHQ ls>V2C=xy1P7x+j8Ud&&0Phr`YoWao|FL6u?*ar^^1HQfVee!~r3Hio z3q M%DKx!JFy*?}cYCn%2^W>xYe<_Z4@2$)5aHSPml>VQ?e~V; z(H($0Z}*TCD>{WG^hnnAmvGv%w`E6&HNeySIJsljPLz)g$9`+N>nOJ^BP!d}&PLYF zbsE0!HzE*j$McQwR5`>3f)Ji!3Fs3qkf)#aMV+w#^5~BUU`HBu8dc_1pP7|%3R~D1 zb37A;@E#CadZ}~Ms!R1znSpm^=T-@*@nNXkav_8(7%0pD@=d{=-x36;_Gf=@PIJiZ z_jcSyH)Mns>Lk=}Dz0r$?9jiTdg}=bkFtVIF!K{xLW&?+*%7W{hr%Q(4~{4rP7}0% zpgPxwuES7MevhuU@hJMlgkLJ-07`O@cIIwhV1Arx&7!w4Vs@x|m( Cv;NYMYMbRe-xpB - WXGf$S$x5r5KKgh167=4F6{#pO(GoIvG;W|k4-=BRBFH!h+IiP zQRWD;)y3+UivQ<#ccfl)i!eKFJ;M>R^5^nz?@SR;Vf-B+* bNX|eckE6LEF%T*M(HI0m zPdR;%K<4M65P~i- zL|3Z@o?Gg6oOO`1C;S@8NA74M*aZG4kl@g$N+$8=iQr5oG@&h`J+%<60LjHe^*v1# zKj0K4MHr!~t~ZTjYr-uE$f*&vR3c9!6#^h=4T1OoL`m!03Ah-JeuC}37Z9s;u9_+t z3uv AO$AS6@RvA=|B!Xr*T|j(PB-~DWjL=MX09gQa_i2JYM9DG0&&*T^JKE#} z3(3|-bXlHy5{;6jiu0Rmid~U?$kAlAhg&FxCq4awUz_Es{#D-Ii1arNgmq|kB+xA- zsC2*@L4Jt_Vdi3N2>hz%2H!vu#VjuDs7g3UdWyxLMCFnll@1?O!GffdMio|Qf`Ace zNS|;fQQDX;pJXPPNes9#s=@#Ui2YEQr3ucmBp`hXvLJLSO}=qd2HPhu3p)24$Pon$ z&(Y;DCi-O%NvB6Q->H999+7MWqRGIh(;x{ZHS`8ZI+J+$hMBS~{aAR4AR11WpQS~| z0>g#$;Jvg+u?KufEUrzW@{$f5M-+~tD~Qtte2Ah^qYC4Ff@~`KFICK#9?`&(mZgVW zAWD P0$#0^)--#OiQ{(mro@MV?m !J0D$YO$M zBPc l~OIaXJ&|AGAYPqGYMB8jetGFQTyNt0QEs%GIiG~RU`E`6X3N>2|< z7oeDtc>36-fK$ak6lCd+xBCTFh&k4M!p5U&E@Q_k!XUm}y@Ct0?Ro|M_Qp`aC6oKX z0%u^~ZJq8M*;b`msT(v2-53#~f=>0@El#rF2SB|kGXo1c E9<;XoM|b1gq}E$pa1$y~z^tXplUjUCf*0gFV@@x_Lsy+CbQbB)|FE%JyO z>9@Y@PXl9c*G~}N+NjRasQx!ID>i`-GNz3M>n70!^i$QSTFqdhy33fF@tFSXh_sEl zmMmCD)=bpcT#Ix$=z)<|af&?7s5!`pcXL#G4b&?G 4N2{ zqBdir*UY64sE=>Zo`e4=tc@BB84jutaW>`}#$cUrdR45sERNoJDoK(G)ZV$)r2*2( zO)P9M(hVO~qNM2dgXXk}IF~V{Tyw+YPM$S-XU=aaidp;VF`X6Sizfulex2!mX~HCv zz7N2jpCDb?F@?rIg?}DZy`~FJMXBDYD@II;Uo6smb-uFVy7@-2@39BkhI&%h62vbb z~yaO;_pysm_iHQPVIEfMc#%*7Mguy&*af{YPAJL}gqTxWdvxrJ!<0lEqlkq!b0! zF_kH*F!neZOcf=8rI&tlJpf7Xk4Oju&^Etu #5)E}iGW3)Dqm6>LJi6Sr zc6{c0F|Sorz!hXAMq9On+#N}|!7
@sek8EnRr+M0PsrtsL zh)4jt3ZGewO9>nsTEJp-{JLd0PjM?Isu`uEQx&sdpf>{(pBRO~ZM{c>A<$>q=e@e5 z%!)e7P-;&Lo0dT1-dYxG`1x1&rT|mkzFi`QW8P0?<;3v;i_)QV@u(h%>S(D=l{UAp z*+LDW @ zX59(71w|Vb4`kPwacR#=jbmbcXi%O&+&oyw%Vz{4 |F*6qnAzwzLWf?&hAq^Lm4^OFh>L%Kd6VhedEP(H26Tp{(yUjRpA>j})$I^}M zim>Bp+oCcAtG~I}pl~Eq#IeJsp(%L!q!K=$m;t;Uz)p~_xX|@#yUL_E(}vTr)7GlO zyqxq7?7r%dUKu0(O0y(*95E+tPVkX2RB=OYm&F9nTZyT4Fqp7Q{=~6tBf3blxOuk- zykNg`H;r4qnJI+~mc9sG_PB04Ddyix+|CtY^(#V!mst}9+EbM6692?*IwnfmpaJfl zsI(<&-Z&ImabXh4<%}H?_}K48Wzf7-OkM9g<9$cAMFL97&FG$@F?6te`I(%I|Al^O z!(2iYY?Owur|QxqA;{*r^f@-6 TVF? zZ0=cDfp+=IW`*Z@;tZc5 vWQb2~FoQEq} z#QT7dA%1loJ&x2~l7e9@b4OC-Wus!gqLK*=;$l4E03yXp4Hi5{s@wW*=tY*w ?G6k^d(ayvcP)W1~Ln3T@O{ZK<`@4`4`$+B%Ur)QtI{Y zI@~NU8D~Im;i*RuF_rPD_XYST?0WnqyF-7}=Wv^?iY(K^%nRbj(x4oYBWuW7B`nGkNHsNgv4qyds 7t#3a)>9Ud+E>gD2%PG0={z|p zxML;}ZIx;ek tqw zhqQHA1sX@_WEiub3TE 9Ss$6uR1)CBQqMW1Z=We6*e}F^2=%7>{uSCZ=`fsF~3RbfK+- zaej7xilD`WU|1Jahj*k*`v4$(=FBm~$Df`l0x|cEJ+S;yLrb@$ycgK3Pw}L^RJdI~ z!kx@9p@Rpe;-fEuQWW9Rfw7!cepgX?_NhzL9{J{E7QgK;SGh|f+PP;oz{yiwLe~qj zUoe5l$NiSvDMYyQl5D8%8CdHVm!dMlzoJv mVX_kz)eo YzJbOj1_sKLofxR-!*${AV6K@+g_g7j0k_aa3$6ZHxb zu)JEp7-|8RTHjX3;~H*e^nAeA;AKC{V6G~Sb0o{BI7J*Hg(%^x&ZmBB7`D6xQ^+JD z0ZCUlKT%<)jsP9{OJD(9K#l|T1;6U|D=Oaru#&wIl=1}lAJ#M@A`FC{>Vyt{1t5G| zAM&y1fMKfUsHojPf+Z(TnF9dShV@YDP8a15sP5ljZ#qvn3nH>6fiOmxGp(9Z2amlY zIS2 {o2~%VSWl>Hg z44-=Y-D{o3m)-#Fy+!<%^V~>6#rd}#(f u@96;oG|t$F zZ&3aEm$NmW!kyA*sFSHniv{rZuu 3LQD*wlvd}e&%IyIK)fJx z-aSAbGm!Vu93sKi*QYRSCIr^a^9qd=7zYzZghcCvx&pYdmv|oF_>u`+ce}XZn&^8j zTp1CZXV>}Q^Bj5W^Yjh=aB#dY3t@8zTcQdJjwJg75rf!rP&B_-fe_{-OoM|o2Hf<; zBB+O>>@JL@=9O%AIpgU_47X^Dk{O)^ _rnk@H*v~QF?1s3F zoWemO#&w}MXBnPC?5n3(DDNqw!jos-+AffZmpyfnH(r;9iERFe|Df=`8yZQvO$TRW zr@^i+D0mi%UtEy+E)OFBomVyGq8G$Vc;%jHJ~qRO!Btt~^Q@lvDo6+P-Mqz-z37!r zi5o7vrWUbubu+Cfjf?pj7d~s;Y14@4 M=TRF)p#?4xmcEI!V~a$^F3 zfCa@7H2+o7LSn|S_cTN{1)5yOTFLMe83b?)fO-K0^ RpTR2_3H#Ek$)eXT^tYDIk3llscZg#|)R0*rhd=N9#2-3{XT@bT_iSMK4j z-P0ENs&Oq=JE9ZMM}>M(^)+TS8(i)<0RYlea1BWtU!>U-%fT0Ga^s$cSdro7SfUvK zqQ9t_u&8k-YkRl||3BUjiI<31xZ$yLh~?cF5<13#Wy}3U*qaIq*@VRh?->_gCV1=} zrGNBde2ig1t$NLEd!b%S7VljxjrcWQ?OM2gLAs$~zWg$J3+6?I)_iUjO_yR40m#h) z%PUJ3*9dSAw#|(~+q@--T7Juv<8Ri^y)l&Fm~fB17`%PjrmZhlsa6S|NQJZb<*qGR zoMYKN=C`?9Y}XVAop7_){Nnhh+0KYxQb7T>6KB8p4d%wS`s85~hj)VBw|m4d_aIIt z0*go_NC$nhw&%AR_-6hQLk=dB{g@~Hmk3ph9rf>SGj8rYPb^L%Ske&dLV~+F)m?61 z)SQaQQ1Ys9^}5OMDk6JD-}j3B?set6P{0-Mi#k3u0dJiS?}YC@X)k<=1kT)z^>J m6A)vTl2qiI*qys@g^R_r2K zo6bU%cJBIG+{%v-fAU5A=kfjXzrLUUpAPBxz5=k11pRSqc!4DFgCx`!ppy~6R~jJK z7w{oEQ0>S0Q+)waKZfyrK_Xs{S9+j6>otH}XeBy2c=Oz=1(+*jWYShW!O6_Mq+(VF z;o+%}0#&;v6Xoi;mTRYja!_48OLl`{b)Bluz^KvTjiy{*kBl4MC$i!H5S%kpqj7 z$$}TEmNo8{M#O7#=JiEBx*9pA8>ty(_`nO7ydE*2d*M;vg=;^;%ldRDy!2YUF5SL* zNvA04Q{TmSK_h`U^<=VHB^w+l7~1w!wCV)pp{&>n(J}Q!h5)fd%FXWEy`( r&i zwU3Gq@{Tw8dDXIvLKAX2!?ev2x&rK=c>hdL`3}`sG7e#wi^jvCA1ZuUY7!oZ*tu&4 zA1tkO{gN>v-E98Ft~gjXBoY9vUgvrC6X{BV>GHs8u;p5Z{PSg8a93#Jx{}uiWHJT` zoJS6HA;A=`+Xwu&@0Y{+lNRG?m_~k20=yTCqL4Ta%5Hdu-FV<~vFH$)(sqb0=c&LU z=(hh-0p-^{=`RHZ4f@mcT$BID<` vmkDs6B%=qN~oXq>Wl9#-RtY1fxi*xw|ZyE^R3|q>bDK{TJ zvJ`kVEcq*c#z*#_6~ lm@o?n;@uUq72K6RJ WgY~mJ^&%A0Sd*|x&ol1EV0%Bh%u@0Mi%`Xwsv<^lndL`Lee&6!lVIE z!R<2N&4yY4#0}7V3k%H_MTC-CH4V>KV;if2(##EOgM2w7m`vNslRY6x09apQd&zI4 zBnUbbpgj1y`Hdb3=L zc;aA>*zbGEl|Y_N800LBJZ}-6$l*tTe>1Z~(YWcc_a^Svg%E1JkLC+U1QF%{S(Y9n zvElab%g0(|k$t^$)CzK{e{?V$_3}ew1hl%%Li$N`NNSA!eR4BysQW>D#!GAC58Uzr zyi-`{_igUAYrLOH91d8Hw|}^)SkAq5ZovTF1risoNx&unBOHKfrkYd6;eqS$xH^-o zDWV-rZQTv-8Y+C}&!e9JlzaeYl?wMDaOno{_E6#f{W&pcb4CHh5{amAEVpg|rjrWq zzcl*xA*LJ)tHiQ|Xvno5SUo{gw+>T7f(2r^O~q#`sXW=o;>chC3N$i&7XYnHn!HPZ zB{I1~lQ;o|GeQBJE`YCrEchN3voCgX+vWynaj&c)j#$Im)v#15rj;my2Ev9(k1Md; zkh<})q?s~tq;3-LHf3_8Bd(swoixO`(#Z`8;O!^DcCKOi*Cs?Px%dMx@6JM )Gz@fU&n=zU}+e0=?{I|8OkXpppHn3_nFHA zU=$S_uk!#J!WJ#UI=A4+9fuW$o BEo*M>`n)%A=70-|rFN_6L5x7|0%-Or1 z!mblfs+)^@FG{iGL)D3AtJs^;oEZT;l5d5kfiC#|xJ&Es>^dRT2w-8I@5lN%|0sKl zXF{DcvC@qVu~Cfp+Xf3Rkx3~L**3@P6Jq`jB0B{48vtQcnrAs+`&XmTPz3-HAb$O$ zc#Vt^eoI}^^+PO&NDWYAF2J5qCob*i vkora*=$w^)6+WAy~ORLXrw zih $f2(V;o6R_L0&&a{)ho0^Y$)y^DOz+pk%*+ImXlLT6uiYG# -H zralcRBp jW$}`au){obX^3RH7MrsT {@O_T&Z^1@ zWlH^8$QHWKJg)2bmFqxeN_k9XU`M!2W){tVW|VTRsd4GH3IVo5YabVU8CF@Gd6=E2 zTJMoCDfgqXO~9M`+H^u?F)Y@=@M+B%Vi2cmj<98R!TpqHiz>lk!JB(mzHTX8iVJsO z5T6y57+%pAUjM;?fQvj$6!ES2QrS|Z^@Rle(pp`opd|RcuRfxw*#w3znOWp~5O}G{ z#rSsHR;9cOez*h9+g#mYaT7(xUYf{;IXqVcrpjj>NsFR~Ro~khGyw{xbv`{>fCk?6 z3ra%`AH}>D4>vB#<&7JnXUaz)u>O(2MoNdX zT3)F%N0qQ+Hg;UQ7E5=O6z?5<=GeoogC+@iR=8Sfrczx{29OaDrzE)zY=M@Lo#!BK zuG8T>-E208YDbqjw}A~Kgj;HSoyePzPHm}4di&}_trQ|)lv`CeyR|+`a+Qw8emk(! znkimH@SQ?L7ea{N7G`u`V`&h _>m%^95bJDrRvhLuKf;9{Df!qI^u0?Ihd(pW;> z%hif=z`_$(QG7(PnJG7x=uSltx7Kq?tbLD`Lv)^MM($69?wV}Tto~gp+X51QREW}B zQ#@SH%}}g^0x7C|p4hdd9+cix((9SNr}MN)g}16fGa_3e?`X|;ne#a`zb2xi*3>b! z@HKavK@3c2sd$02OAE5dnKyGp=knt{T2IASR*!(?e${K|K72$P8+Saqo|CIP#D8F^ zRSB3!=wJj7uz$TS3~ct7g0UajJ`)qI~1gpLkegzApyOoHJa~FA_s08b1ujOp2Uh zFXRYj)&pj7aTJ#)KHG7D0J-Ox-L~ol%%BXlE!C7+{pV|Rl&CS}%dE~LY#>y^P9x>S z;pBjZMr$cX+o}H(6_h4;9(OO#;A(ZZm1g>ySPW|o@H$1k&nEz^euvp@#`jd#U`}hs zIMyjXoh=pCkR!=qe1J^ra$#OiN2hXL;ZSbH_^np_{hHW=468Bxn~;n$Jnm&ER0mu- z@4+c>(ZlqYW>hblx5M}=A}>d=ZUnBdWgyt uJ zqkvT5aTfg2jHM8YmFoP>Q7pI!?CnGc;mGEKNEfj8>;}p)T$(50h{@Z`!peQxkiUzo z8;@hqjVP*^{vf*GLC}3oA0n>5fQa=n6L+SV1qS-OSnp+Id>(oy(4T;fCYNP;_*f$o zC>9!>n5?{BqEL;#xoG)@(8^S^&>JNv4NZfIR xl;=w2hgtmGV;r@@*3!Z3%t_;S zshR6A4PG>KT(RzETsa6Wc!-*4n)ZHb1IgQG=ZrY6bKd!NOnb6a4mTpGaj%4<(OwH2 zKmR&Jg|Vs1NdeGP)d1*Ymq`&{7W^Hvflr(X(d}iVlfuo#ycBPWVhYkD>Nb#0 xzU@;R$O8SiU@&T($M{DTF*GF_EjA|s+rAm*}ZH#O{ zh2t_gZpP9)dRgNlf-%F_n|YG)Hnqqde6v96zjz}b8gXls{;v|=@omt~Px-*q-S5c6 z)NCRr K)b+el{j)H;Vs#h5-? zDxGv>1`D7%pqyBUs`?Fo<%m??aD00F22I5a@l1S3r_v*d9)^pa)Bb_bRA`?u$%}R| z*e7$IcY%vx@pKOAJf|Txu%omae1SJ3&v|8B@M<}gr<|&VUy~O0+OgC4(#4BsXSkhB zhD1ZKr=F|RRqB0H_3H5@7P&G4YXQDfY%I{_IvwolIXc{XKvR^J5%wiZ_ZBl{dkA;X z_6ug8E=6-q-Lc_2t4)yG69kh;6Mz< _RwwtevPI`CYeV6$r$3U(& zrT$*+$#t}sp<#WZEBcmmNT}XBhI2PcW6`SUV7Pp3|Hsg svUH z6HGNX=% J89EH8M!z4jCSLj1y6r5w 1h@4r@EtE_z>5d?PHOH*9evqKSECZ471IX=|ff-&!x>!01 z#209lcR|(6%2% gT-TQong_7=44c`#6HWOWM*R#oTRY3 zq2zcnvf%Y%8|Ua=rsQ(`sS6}QcutIl-X|g@=>RfcV}U$ZKEjuqk=iRm`=rbUqH=L5 zlFW0*P?Oe&s|g3G!>6YqdgUVmjIOH^typAk2JLMvBfjq%3m)Yy$=inu?6a>qNU$DV zyV8{~#yJAkX*EKNYQ*0kBf%lq)S+f}8vhOpOk4*Fo%m`5Ahg5e8^(O1cR?~1{~_hV zN7uW}e~-%4L9GZwoOG 3>J{{|@u9Arzs5 zM{u!u?lTGO6ak0fzp1B3xJjgVVa0!tF+y&W*4LdFpvONUx1U^9AcOyVnQU@E$t?pp zv#y2*CZLWWetJeMZ;A;UWW)q*e}E*s1fS_jDs=bEE=Vw9gQ+x#z!Bt421JzsIo^61 zuX1o*4hu ?X6V6m;h>w#CMwOvv`Y3v5DDjFh5 z2udgf8!>{o1>`lm -Qpj9!O!D<|u;xK}4FX&tOo;?R+Jw^wR=_$gIRtV} zMSq4(AI5|M3LtRd;=yuEa)nLKkfJgWnrZBUNwCShU7is=1wPioDqpk7x!wxCuMalE z0&}q>ul4v|1o-w!di)foe=4Id69P=jyRDzuO3Bb%&lsX)4P-*15t#>JStd+*0~RQ4 zDq|A?R-!^22wDC5xi$wtN4BtCS3dkHDBC6*zs|TOoUe+@`}PDJ8I!p(1-8-6H(3WM zV{^38UO3#r4dWVpUj4 zXK