From f4eb446fef0bd54cec421ae4fa892c5ce7dfea3e Mon Sep 17 00:00:00 2001 From: acidvegas Date: Fri, 6 Dec 2024 23:18:44 -0500 Subject: [PATCH] Initial commit --- .screens/shardz.jpg | Bin 0 -> 69293 bytes LICENSE | 15 ++++++++++++ README.md | 55 ++++++++++++++++++++++++++++++++++++++++++ shardz.c | 57 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 127 insertions(+) create mode 100644 .screens/shardz.jpg create mode 100644 LICENSE create mode 100644 README.md create mode 100644 shardz.c diff --git a/.screens/shardz.jpg b/.screens/shardz.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2a791eb494ebd735a4d9d870bbc1054c31287def GIT binary patch literal 69293 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 )bBd&T1}Y6hyM~3v5OVxead7&t zK5^!9Y5;d)g`&yVQ&BTS`?7lWA^2!58r%y2T3$9R*nu!eeaj3h+J@Qxg|b+!usHDG zJ^$?|M<4BgIl3`H6aDMef#R|1y_a3#8#KG4403{3AdQh^SYCuKY`1N9WIA%1xd7v-KL{i>j`ZpDU!oFPJpyXvP-VCbU03Y?j`R= z#BEhTqkyeaI^oh!GJU3zv1XGLA;qfm6#=nIH?YrIAJ%*22~KVoM)g$M5M!FApG(IE z1eu&1VSAcbw`P`~0mtMTE)KnYFB~jM;Z$*;IexqwQp|vi*9ATG72SgQl#&Zm3qcN2<@kML+Dim+)=MG?s77`a*tr-8Ev;)?-QU~{rk z(!iOF*7F%5i17I7m|=nUu=7$xxMlyL?Wx7Yrv2oYgFOpyPK(SMku8WQ+sWb49_BI@ z!>6JTY{3nVpQwlMa%$7V-XBVa?8~1LakPq%{&d;Xg}#l6h&%6JUSFwrX9uU&;5^6Z z$cT~nx;rI%>Pt2kVBU7VDdr+t^}S zh|nVH&_HjtzZ~zMA@?av(jenG6D^9_-^%QDe z{2bkX?JH5f>nzJGOp^mAyqS-0-0Co(xfuBUDl5~aY^UeOJ7axHoDWWcNdfmGm1p1e zAT3k9TBlP1eMv*gjq0O_KO19T^%HJLHLM=h$^}m&%C`E>rH)>c;86jq0wMke; z1$V(uj=7afkk0;K{x`8)p5Tn#<;6qxUI@Fh+_tqt$#P+x4az#2E|qqM?2khx!n;7( zL@alFL%QedS1SNeNzQu{c-^IoU_=5(_%=L00(?`2uu_h0KTbu1cY!mVD54vqT|ra0 zZ)b|NxrKGoZ2bW;$)t^KZV4QxRU{OHQVNqQ?5N_W(VGY^p$eCm@R{SxemL&|I}wuM zIUC!h-R2?iWrfYW?o%!rI)&!d`Gz8VKpq#7T$drP34jCvsi6cL zU2c~$^LWo*`g3iC?mZ#InHXhF&2$)$Rz*j=xjDy;0m}Av$5)5f5c=u)X+?36@vK~-P=}lJ#}JgAs&}?NEhfF4G!0{09%MJ_C({}1 z2q__$47U!dV;_J7o}!czD4Y*3zRPPtme9f9&z*z#*)cL@QDG#c)T?kKrO@v>hb%}w zpswqt6iS6qLIDD->(vg%75YC5R!gi@0Bnqp3(CNk#SVp0SUx)9b8gj+KnHO8?#I&p!kb zvX%uDUv7bh(-xX&bK2iL?1zAochjp6-p-FWk&qh7gN+8wTd&;kX#u=FST^+HMmS*o zGlrRQyw-eJCAQuR=mPqUWr^_&a)+ST2>KXPE8|PZ|lqGt4=z!=-gk= zhdixgcuBw3#|{)x?>**r@{scGVUhjJe?pJprhI;Lor<5$tFY%gjPpQ&g9(kseQEI+ z`^;FSl&f+DAzIvd`^xP?u&Ade$jxsX#br+QvEaTen|80muqpQT`Roi1!b7QzDV8Cf zbj)gow((e~hH4MTkMirS*RrD4yZrtN_bNp4_qng+K99JY$IYM1MsBwGJ`m(nbKG;f z2z6#g_QEFg6rY*tql-Z2D~-Y#pc4&DToX&&$~oZ(>nLZ|N57A>eJj5MkQM{cH{H z>!=6>6M3Mf@>R8*NQu{gK@P4SFl}@^%-%oOd=WIK| zr^=;sXR`Lh%Qdi;cvNA`rV+ou;K8o;bWLu2)*a4w#Bxr2pEs`ao5x3nIBNCbRLZ%x zh`6cfXDFjNvs^ZuruiP!O$#1M&iO){hzO0wsK(D=ITm4=Q#g*AcQo@`Es`RXiNt!& zWve{=Fi_q&6$S(_`8Z9#^2`LVa|KpLIjRMleSTU?0jolxOXG4x%@&R?Mr5%5{Mk*p zxla8+p3RHb3#vkv6{OAm7AOKvY?Tg0q$Ei* z-K5+;f42fWK{`3`^SUi(1SDIzId#DA{L?kl+2*jGsk@FRZ9_jWB?pY{6xxO<;vQWJsR7^=_heT+6^_1a$! zq=YzXOE5_O==+M>qB2K*st+>M8jnAG8{9mh)GTAy+y7F=@Tpqw3PbpW>7Wb-A0$92_8?oIk4#JsO;q|+Lo@NPS;5-6az-tl3ja|q~8s+L-!C!Szp1u|u2#5h)u!h*~{ zBwxoD$(E9B>a2Jf#w<|GzYei`x-cT3(wEvqXh_0BrTOo>`nzROe);Dc<{dG9lTjVb z`r)@?P^XzJcKB!ur|(=81nfU8ud)D0nIAE}Ch5WI8I48qE9|{|)9m0s~J0Ij^KKI}O=5im|7ePJ;bM z=IZ7bWdz;?O7{?pShY3wzdQ*+EL@pkxE>YZn%hD-N;K|&tWv~mG7&z@y*DA|T>|?o zM?bmkEsk?wq%8@x zIPd^WBwX9J^N||K=D5Yz939Nc0!Dm;S57Kt+JSG0gXIWJ&EQwIwG62XnM;rg6wqbx z_n#ChY7wZF`V{wxK1-6PK_bo0PX!hm5TFLh$tVVKTpB?0X{#lc%}r8m@nFH*uqWG+1D1%pi5j#{ z+kAto;wIz^lRL~5r9`9`f-VMi*qQ ze?Ji^0I1ShyJf18_TaP_a*fkO76s>GUMujZ&*6$ytpoP*QB>5D7yDaP`U?Aw5*zdz z87DlG@Ip_|Ng;?QcMxGTkI{|3C{hIP(*qExhVHW@1wVXZ%a}P3t*7E>D30=A(p zK$J@~0p4Z3e^X&_+p*yA6OP!u6cFk=ZNzB|w*qwG8RZop8+v&;q-GExoe2|hzY2g2 z3nAt?vGZSt@?$E8r_mz$f$)4%MMO}*fC?|hNH&G|Ecm2M1?DXXYRIn~k|D_xh`EhM3WMfxfHCFij(m9k`T8d>t`>LGf zO_P=Jp=QM-1-44l&6Skf?T`W8eqFB~sJ}+`AZC5_9{-N4LI2b!bAk6RH(CTjZZfA( zkrtmkxi}h{`XLBXQ}-s$EiBTz=$tgKiT@b5s)s8*l+E~_TR_oae`k+sq;GS{9{6)f zrvFQI1czbmf@!F?%K)$>@uB={69)I1UIf+iQYVJl!;`xSwsS=jdMF5O6+83o1Oqd$xyfHVvpP%LEHjTtEE#?e) z?D_XXx62fw6_-sfF4D3x&yuKx)q^c|x&c(I}Otw05|PVADHiHAFTGSc~kJ#>ss;{*c;BRdZq64 zCTXoIxiI27_5t#0nxj@1k|KR zbV{~2@z>1(i?C`Q@$`?cy~EkarJb+aE!FI0MUQh)_-|8e+ZM0a8Cj*E1bL?9!kHH< zf(JopqZTAHi2yf1$iL!9RGMXQ&;6+Ix)*8#f>{Q7qcaMf^YZ_jp;%vgek^3KSG2*O zP6-S?%1%Spy+Yi(fnM}V!#-nrgzAxDT6dh8p;zOxJ(K4$p-a6NGb~<0sj5wP4(KdkfdIO&X$d4^*_~yD8(Y) zv-&BmTCMkb3qMES6^M?j6WxNe5^_IJZhbf%1_Hj;9FNFdpAZ}>)J;^e-T3cSG}`?P zQ7eso&OLD-;2%M)tchrr^8gGOdoX2HMZ~Bk*S6D0i=--g?aoUIaQ8pLuK#s{g}F%gTlb{@$q{!Jdq$u3I-+Oen_XthS4)x=sqKU{G zbg?QzjyH_C_$|5(!o*}%B_vlcBd>6YZ5b;G1p%k{LtrKE*} z8O1!4ITLN(-0@Ei@Sx;7id;iXN9nZxsipL0LlApV!R0wooTlNA8Deh^D))-~3|+R! z$j}BCR3tV6re3a)!B?Ap9_Dj8c-9N`N0KOw;Zm*xgEe|3pu*yWcci(BDSjOPA4bQv z6PRc9FO@dj)|SuJ_&n@5s5Fj3&XTHbrer0qZX}BxzS|d!DJR0*79roT$qJ=N;hADZ z?Bv9&D;?d=!qQWX%8$j-3*Yd#s;{DIgCF6J@zGWTGOYFd8lDN5Li~{{f`PO`Lq-G% zw2PlmxSVMz&dsh1`fBR}gh@>BOO}PG?eb6!rD@sr!$A8aC_tZPM|)#L+HJrJ0DUc| ztlKX9I*UCw{A#ofP*`$ zTSvw_hd~2td!Bu)%XLBwE7D7Kt=5N#BKT+mw_d?^&Z#M50>o_j}*otE{YOPiEDo&&|}E#3())j;E+gp}98}N@@8a zCGAVoNA7I0zS@G2+YQ?fwG5%!evHmex{qz(J@KYXV&R9Sv`fFX#v7I5Hg3;Q=l7_d zH9?YBGeXs<+iZJI^Kxrh5gN62YoW~PvUcWKNBC;MbmGDO=7f(sb$q)T)0U>KSU)Mn zMpRbKiG9H*s1$){0EZ6Zn58`fZ1PN_k50v2en|@#%NDEg{Z(@T7`XaWrX0tgL|*|ZtlFB3Qpq}?0Yyx~2KCpQx}jv~hNybUPxGndX&4ufNFddq6+a^Ow8crtRu#MqU0 zU1YHPuPOwAA-PlBl}Fyx%mf{hjaFy*vhplx&8_qCOJ13|&n=$y>;vRW(SD}4SdmXg zem~WbfcSn@99uHCAwFS1a2NO3YDM)=29N7%R&FCMll)<+Gxo~uQM00fiFb!u>eu`vk!k6;lQMFuF{>tSSWpjX5`IfzS(_G>ZkF}_3pGDrNeJ85 z9btB0S2$nRQ-$|y_VTwRdW;8Tv#7Nx6tH*Q;iHoWYlmFaLWzSVW2+P3eqF4BRML5* zM>db$KIC{1DK&zT=oWA-Qap*S>UV5pNmHJ7@@%I^;Q07l-78WQih;IX#3C-sCTTR0 zDddAg_{wCa{OSv01Ml@BLR@E=Yz|nu;ZMvB`KG=5>HhP9Cmm>?quh2y8Zx~lb^nEf z3C5v>5gX@icX^2Pe%OU24x9H`wNKANo`6z)7KHLYgeT6m8W|xdVzea0aEXh{W6LMK zlsp3OHNs))BdEPPbE#f>f2Gh-9&`G0!|1prww>;}DC!eMzMq$=&t7E@=^>uH`8qru z<64Tk)6hLd&Lh7GWNT3iiV{U(0@Zo^QWqwN8hR0``|Is3AXON5&9%nHr9&5pmAkMO z^j$QCX*o{Hq+!BnB-+5mIyF!i?Phcqg%7#rqN06)WQ(hSD0qL&Df`@;Id#MNUa}kF z@pWafQavY6Nii#h88+lS6b38=a394pk56N847(t!ahc3S0pn4iWyJ;67BtnT)v_y4 z#r}v>Z)b1>RW1oEK?_7ni@b0YL1O3r;R?6^=!(iKAMv59)i7oIU9G$w*9to0lmLCB z3M`C+^%E1_fy^yK%wl@~gjDdjFZg%GttzcNXN-yy96CdcW(E?`lSoAiPSwJ?Kp*`~ zX9rb9X8$gvxy&vy!Q`2AP?o>tU(E*}(_@5>0YH8@r`?qrx1eWn14Zv?Ui$?rcAol7 zNzhDl*y<~K(00l;1zSpt;!10(WO3*or!~cdGo)9S)T)%rZWkDV6pqSf|N=>rY?VUO>7aYnBOt2cJB>(g5YV0ycqtOy-~~QDH@b z9;lju=Kchsob2ySWF6#q#Eo`nc!EA$^v~?)#?uZLzqyapLx00wBh*RFEV}BuQJ6X_-KF(+mSG{w^={k+m za!Xii#9Q&Yup26zE7mnO`n>wp=K)ioU=eF4F0<*1kYUE++qVg%ry_ZzgVj0Ym_^ej zDPo{N$F7XPN(#e`82*meazNi?qd|QFR`kMgWix1mjP6Neq8RhNd!wB$_psU%Fk)On z=aS;*CXW074A4*KRYo0ZcAl8i?(}Og*XqJ<}5zrCd5ceW7zaJ2Qk;{pdVz{xeL(acY$05;i>Y&u>Kz7dQ;{#?Vqk?|U zQDI!!w)oD``j&NTHn@`yvKpq&Xrilf6Q69fr73$iHoGRe zJh+`j561WnUKk+UAeGxC@xU|Kq_Sr7(yfnP|Hby3FQp9(WMOUPkb%=X;7 zCtaAfZWSX7wE+glEtZ&xK!*TZ6l)ZB+Evp##-tad&H6+?`@3+Co35PD6R;^a5z7-H z`hem2Ly)>7vzuo8CsGxs5?@P9_jPN(Kyo;(E!@ytlIL&-$i! zPg?A%8H$3#L#lhun#CmMHWq6r)K_+{CSzs40nl}O5Un)H(zo6Oc!Ua_k5fWob59Yw zLBel%cFCj7l!X`Rx1n%17dWu(^RaA7+|mpF9G_B48Uq*@+z4#B3G;MLEL--_$;SM{ zKqR`~^907>rBgdOFL7`+D%*#=nsIPgcFlray=-Tn^#Nkcys2d(syDN{Kq77DVX> z`X( zeEz(R=43H1{LcPqG!1jst+8}zjis{Qw7$C>OM#g+=6$z^PK(WC|)Y8 zkQ4>9cjojuTJ=PkBtaqQ;lVqRJ;~Au`AxfY3L&_U84Z#fE;=PJjDhkA_MZkcrxe~1 zB}dncMXfjHq|^^EH-Lzyupi;iwYvz59%;h)i;aWB+6lw4$YveM=qP*7h5YkT)vesP758W{AlN&ow_4)hpA?{O^OJFVIF^Dzy8#R(&p= z6i(#OLbl=jpFu@It;e%dLAOsy$Uf4Pd37c-YPaA+U}C@)^qmbULRW*#DYf@sZ8{)Z zSda`Mo=Kg4Wq4W{0+X%W7dx!2eX<5St_rnP6h*xfz%B!rJ#j*titoSY?lbp!8k)Ej zv_xqW3c80Ta(aMK7lcxHGes=oYg4Y*gKDZ4r99r=V z(DXxIf}kd!ZAd$_Q28X!7s^v;N>y3B)7%MoR{B=3RF{YHb#X;U-t?e#l2$pky5)D{ zpWSnR+k6XYaviZmQ$Wz}-~@%j;CJ=xM;V$qut zDZ&nB_zpQdgUJ^Of9(XH*-OAV!MjcYdm zpWCzycpx}SoOds*(M6ZWs&uIT!1IYAJuKS`e}--ulvK(i-m$Q^Lft1Z{`8x0;@jbi zP>FzD;>Od@V(ZtwF_+t_{&ab%o1JCnw<_c_!#z6~s??Us6ld`;xkCF|4S@4VoXTFS z!f+deVlG2HIklJ8gCT_T`rCr$umbeYZPG%7(Idoew%sKKRtPu1)nj_>TY8%?<6Qo) z;PtOSavzVPO|R3CJ_+bg*6^Ik*oKIUnR03R5j~#mEXz#j0M2J634HC+`Ry;~54J(5 zfEFoy=S04R$x~6iB)EpPnd#^WXCR2Nyr3vHoE^fgL5}kJvZt6LRkOXAPP*>q$ECyZ zPxZNV#^`h**748XyhHrgpOSNS17xOuL_#8`hhk!@feSm$ zY&}3r2LA&;GJ4}%<1A^-j$U-B#c7~!doW|=G$`MDGr>pOjFCO(>$)2cU)uk!#4-Iq zeY;`2D$V|QG%cJ?(;TVg6A;~84)U@^z9iyMY58k$X6OrLfQqK(}zlzh3YG2--1~jmPs7wTpEr70_Zt1 zo|0pQN`(R6`)Ekx6`vBLOE60l?UV`$4v z)q*U)LTe}_P_?H_`d||U_ zp+ym3B9iwiMyMX>r7iQU3iF-4P}f&r>Awv!)0}Xk0ug2Fg_#A4%nzao7w!dHtHAdV zE^Pj>ivC;H=yxM)UEP7|y8${1(%wqwm2Mp+jYF<9!mM*U&F1@UdP$kf52U3_^TWM! zGEQ!E-Et~n2eUyGcsI=0h*(9W4;&m;GnhVI4(^6QHE`kMU=J$Arz>#9j(Ro}UgMwJ z3}^z}MhnIgxkE^+@rJ+=Kc}m^!|F>4c2j{kfd?~mUH55|iEO!7S7JW-;-$XZYmlMxk0a6-uZGym8_FtJXyc z-f++upHN@V2BzIu`N8mE-D7o-XhuozYLORq-12IZinC4~Mi{uUAt4h_tB-g(E@8WI*&4x3! z9{N^X!)R&!{j&UL9hxxywM(uQtior~jBn#KNu;Cg>wt*weplx$GbDs2(^vlIXA`Ub z5x{=Df?d~xvQUIz)4?puDEC5l0EJp>E@)P(1JY>1YwSlA`Dm(4Hg_wUIC7#hVM%cw zt{Bbk8){o=NPNT?-~)Wv(Ts~<*NAIP-*mACI2Rz&sv$AERH-9MPcIMGjWbLcNbPXP z4%{lD2>*}2`l#7@q$cFBg_tZBeGwPKvff&nWwmmp)H&FcEx8HAbsjeT&;Wa`ze71R z9F9m4!<63<@kCTt^V|dU*w~50Yl38&RFqjGt#!(gxqjJV=JdyzL=9#2ym|f3s zRb|;!J5IyDLfIwO%(vp~v}m#YLbG{I;$oqH!xboZ%Yi4K4Zb@dcPSEJ&Ei;BAK6rigsx*d%`-`| zj`uj-qgoYdP{SIV#b2Hbv9`)1{3>e#NWYlK^QGsnvnGo*vbe&x7o*-`Bb_fGk8 zw&%f-&iDL_V#vUFJCh5qN?MoTiF*3Gzn@*ImAO(OS7yyn1LbnOz$~02(sq;*%;ghW zB&j>UoBwTXAu_kak8`*zjG&84`9kjY7*ta#As3w!N%VWd^aUJdDHn(#;g=oCR^OeB zspSl;Jt}z>+STBfkHD$?WPwgUNi+{t$euOsBRyO982EGtaH3*(XJ><3qzkPD7$7kp7ByF*|AFS+j*FVX^J4$pov> zGL6P`=GT0d=duZ-gyM_=@j`Ou#0T<|IzNtVP25JCjF3)3i3}mL8Zw7HyM~})!1YP} z>faj&APPUXM%)S9U!xe2pkH;Z6E<|IvpDT|;Xcw-aIJY3eXe?Xl=x7X!O++v`aV(J z8MD^4y>Ui9_WVyg_M6&Mt4%~T61>9Lc4s8oPAW|4!eHn}CWBk2)!#wua)9gQKB6p* z;TI<2ZNHRhG zF5y+2aY=z0-GK_+Y5<_UOKl|{m)2>WxtYs0BHg8F0%&+6o2 z8U6Myr!`X55#C*%D>u8}@};qOKC<=1SN+u3-n!^Edzm`6q-z@KeZ5m0J)iw7XC8X{ zIdiGAsT;dD9VwV0+zUF6BKFhDXp?rmt-KWO1t*h)B51EH(N+{#bT^5`ItZMW-qwl0h$&N~_Kck6mGFBVJ!b{y9cq?@6leF_&H) zHFdW$$ZV29vm)$lUwfK_HeP0-!plGo6S~0Ygg1@ zCvha_LV&+u`^(Lt-=%1I`O>$?_Qxgo2leCSrOuRm;b)Ha&FUj~)u3hN)!|r68fWUC zQ6lv0Yc3&TP${q1`ORsx{(p1vcH3fOHaBquyG54!WPs{S1l!PQx{uFquk}FA{55VQ zBPY*V=tgbQfX^qwvvxPBW<*Cm(EJQH+l{U|kBZx4YycP!c`qkyJ0;{Bu!^wq{c6gX zv)~5b87oWkWsqfgbYqDfS14+PeCr?^#+Nk2Bh99X<97le5kky##IB5hp^jQ}YW@vF zusyy-n zgA8iQ?=F?0>C#KjA!NQ1Yb<)GJ$s)X+s zDTh$MtYI^5o&?Km)Tru@&1=GJy96v5(*XQhwb(d#b98`J>bBw&v8-eN(<<&F3_KZS zr$0fBRL);S)+MSzcZP`8Z_s5LaNR#(kX51YTuyWeZLe@5HQwAkgn8 z4h(+8%q(DSa9Hu*L3IwRhC#)G9uGpP2-qK>V&M1wuGI5~ahn)NU_c0|Tu&itGYw)H{K~A{bj;iP26%cUFMWuxn|NPJ~ZQ1Jxrv^HH|4 znrRE^;yV&K)&4Tr4|?toO`X5OBM7*$X{ue6Ld{yL%XxYJ9y-IEw0Zm4+|r<7gp@}< zoUBw4>}KXiX{SfV&$1hLYv%XPaj7AL7PF{5Q>f(O%nsKI9qUVeKC%%5cSajK{i@^$ zq7NgRX}<^735j}8*!xvA=R8&dx(u8h5cSnn$xrq1xGV(R zo&4WKT%Qz}I9OqE(2U3qHSnbyk`%tJJBT2S#s4wjIKcaCR$A6XQ2B!>rg|iXjsLm3 zV(t8ae;g@iF+4tIKyQp-MIC|Ex?KhQO0~S?>g;piS&oV+G*v?I$A*yJ<1dr4=O#ko zW2Shpwc4@2Q30{&P1m%wCyYX<7S0W~lc6)!Qj1b)i0CX&o8;ym_SETj+?nIImeo=% z>r>G{!rYttIMdKku#AZ-fT+dvA_TFaBB3*~>Q zQ81i}NW`FxQNjmCS0pR5jMVC0?AR1C&T(X6Z}4$;G+my!7w-TS=RxbNx(M3VsEDgR zc)T|$x|dk7@`)C>a0w%94nosFT=1rKO)bVg-X%DD2HPzoYML`=()G<;wm<3&$uiC)EbH@2t(SOPy^72B3Jj}+7KG$6K6RZ?nCj$Gy+fMIu!ByTJ z(3rZe=!T-QapS^EHwi2xSa#cD7$YVVKWZb*;M2M#Dtbp}KZ`ajyBtEQMbHKgQEVZ( z^w!t-l6f&XsM!@p_NW17-S^p~w96xJXXtrv9RspU1ILF^9c%B-m~kK9hH$?GZfBi( zgECs^%!~#3VD6f@qpK7`Nb@JDQS7eyL=fJYqVhW(o*iBR!0#Now>5*?n5SYZR?I`4 zUNNk8vPH?r^h>}DsJrGO6$83siY#!G^myODZb+j<8km(=5+f{rV zuwTL-$oV+H)965YS)k3VzaIjJ-JfA38CD8L@V(3VaGSronx~Oe zF}}ah!Pk)%9pKfw;wjJJl~_-+`~tWE`WY@h6h zzy?;X>uB=f5wgc+x1;FZ?L_9O9h&qFCCztUc zH0mk;w&2n)_U5Vys*uuVV!*>8+80I zLxp-bddOq&?A))4hZ|Wp6fspp^9S@d606T%xPHDAa9rZlJ>jxs#Wkc?IQja5k{nG; zQs)tHNEV@m8A^qQBV9x+?H-!-njQSqwh?~j@7Fhkc&B>TtBIM8%oL;F{kT3y&<(Nv z_FM(*;XQ6nC4dN<#v0+jP-se30^TL?ug-`_?|}TMy8-|!{yZK0ltzY@K;OzC=LB|^ zP9|}XS_2l_k3CkFp4^~rw)uT0sW{-C*8W!Ofkgyif}lQ4EV=V>=Vbas8TWzR3d4Ls zE|6~HK%6FFA@X}VV3$Ye4K6YbhQ!pn`ED1Opd^7{G037%@ko0H5D2H3SA(+t+VHL* z{~W4Y?Jr->+OikG!;yRQ(}EC!XkhC&#HOH~>N;T7vsxoYAqw!>ix(PRs+M@FiSS%P@xm%(xC zAN=jPu!k(N06IVwhTt2akGzf?pK-lan7#)J^sdfNL zPNqwVQ>f>i9-7@XvUdz9N(Y+Ui-8LtBh5^%&4{HR$;t5PyKp-Ox`c^5gR zr}uwojy4FbpFpboRIB#tP35km$ck#Bw;ZJ#l#g8Wvw~U-T04qB3Kn3MowG+#@{Iu3BFdf5Gt^k7_M^BtoP^_&dK4AzO5mP0&r&s z?rj6bq4q)-opYS3WkBg?QZAJVYn6D8#X72;m67#NjQN0$!54-*aeim)JlQs|gof+& z0Lh9_BgH#>LjemGtrVzy=%u4GtizMp?|xN(ZLWev-h*b5C+q?KkM&{^XV_*S>yKUu z#tXJtKbCX~XFxB@pc8^+#o<*Q@ruwSz5)l_W3E?CHvO+2_x|W;zoxIAj4EHeHJi#5 zek`iPkgvZA0w#>xPaB}4Mx?~sgj6U!d#irIMWyrr>27&Gun zRI^-d>J+~N->G}v^RJ^1*Fqh(6Op~uqS)dKJwOFEH!t0hApH(eW)W99NBBOYt8E?d zz_7fa&0xx(&9>j-BW5v1mYY~N)Xq4wN$523lxEs?_#j#ju7hsV;YDXhaQbO7b3iji zjhM??ZTazpWj-rF``kc^yE^XJ&N6u)XYiX2i8H#txf&qGPj_YaG;Vxhww8`4_yba3 zw2%Zm5+|-JW+En{YChJi?B{q7;4Ti%!zAXrhvr%2EHu?OH3(SN>8tefz$poVbA;Dg zhr)_Z8JB(p>iMKO!<+g+-;OCP*59{DlFr^W(9w=`(a>j9@1l zErqh8&{JAUyxdW#Y=cZ^29(X;^6Iw}kuR8bJ~?$vcs+xR{yhchEr_4ckKtt@QRE=r z`67TX3R%(*1ECfB!6PUI4G|^V^#)W+Cw}>cB=OO`Lk4*0X?$IuCm-zC1U?Wc>E6GW z($MXg24JEYn>G2sTgZMhufeqC)GaX$ny;UU2z?i0maH!`T{ir;o_dO5ymQmMiE zY{SRBy5av~MiI1(VZiNpiR`SPH+P7(>c{O{71vN@@zv8RIRE85O0wpQXy2L-YzB0| z(uM~L;}5yKz}ha0x3P^YDoEi{-r!lh;K~YLX5D1$vz)E6!cmBLdlJMq$oP)e>Y$gd zVAeSJ9l2bV!R&ZRLYNV3Z)RZK5D+M;HAREUFlN2TPLoFa|9ik|3Jd0`b65HEhd*8; zVv?WZeM$sUY$3`^*X_DIKaI_A_5cFI%UO!s5Hz29G<52C>7c7>a*(BfysvirnvtTU zKcF$HTPOkrVtqg@x%uVxsJvlF#JCLGvhoV%7V217%F9C}mwNW#jPlwZe@*oWW6Wp_z# zkLF9z!s^|hb6p|R!-t0YP&2aJE?z^NSGxych^luCVJ50!b0SxC=l{^pCxAD|Agcf% zx|O?~HkuBp-Q(2rjyam3!@)F5^}rv#f!_I2)8d#?w?iF+V_@F=z&ef#b{o(B`s%koPW3(od^F7h zn-cxPBw1nSfyCPx=qRTSyY;LtfCvy-*Hm8v1%Wre9f~WlAHTe80N|Bh^HmJ+^u7%| zNSX$1(JbgOk2L&+HYBohats3e!@rF~I_aLr3PcQ9{RoC&aPL-Zwf#VT2^frk@a4}n_nNu6B# z91!kI>F^?VzG13J93c0=44}HtQg{?H%+l9o#<7fCKwkM6yzd?%@x8S-UKTD=vwr_N zC>mJ+GgU%zML7_dDXj%IyKuYxHmcJLb79V9y*C8Hkp9YlS{6feeu7%G6UxcaU}@>J z%V4rAwNuxPs(^{egU$-bG8@q^^1e1HT-ORDr`Sk$Wp+fc?AxyeVk7~*0*2a~t>Xx6 zYDC8bU>&)Ni<-+5zY*(Z;eO`Kwp_0%w{r;zYT{X*gstNUV5m%)c%JEVQF^}(L7%Lm z@JA@c+%Tp=2Zu=bwp|oO^en`bZ^})6JqY%;<87T0Cs=9tJTDh@TgJXD{sR!xjZKON z=~>vTm`#hpV|@!;_ma-Z>Pl!q?OMARq@>G%P2UN`ulyXQW`jQY5OH++wWF?W>+2B2 ziug4l&kybKEQ9(;{`GKVXhEIM)(uZN$$_ZQd=#II@)$-{n~Hl!`KS{zDm9ysN}6bl z(Zci1Q)aOEg6OMPKFJ}qp>$H%_<@=+@4;>xY7nKry;Gw3@M zV(mzH=MN!$4oHgF!i0EBO;8Q<&?e98!!USlB78GH-QCTL4Od08X3ObWm7vVU6$s&>O$gie^4@(0KO2Nqhij4qev|1m@9|!GQ&97{% zEqAjhk`n3SrK|6cR zgeFASQlw1g4Ki_C2p>H$sYXcjS%LFu=e12oSZ@iJ`5@_BJjC7qT5~3Y+bFry?z%MG zKfRyX4v4P7l4-wTo9bOKxw@**xbR{cxO)wvJEBpO3>Udw>qp^3ont@zcq>nsCF%Q| zXHJB@YHkZGV*LgnMX%@2U0S=li2;)5}gp=P8(l z5lH3j(NE;qt2U-aTej0$PQqcEXoj0?P6QR@wKlWFzt6uaO{?O(zt5I;@@BpfIdeE= zhLPTahr>*E5s@ zUyDc{eccPGC&J|rf=T(A z41TU`;LpqQg!LqyyXk8{t{nOB?+Q+sla-1bH_gOY>26AP5md~jVqR<)p^y{`Bn-6_ zrdkOzUm6fOEj9vo@_=7tI$XJT7@@9bACY%X!p5nM6&49}HSZmIFWNb?1+&^oW*q^6 z;KA!Fsl=Gx6!ffjJk0Mf>Kq(&5x6#)b(8+67aVb|2d2tsL#_Q=%$Bc()bgTqP!^4d zijYODQ3CWluIY2+BS6Jkr!v(deUOUo*nxk&laW4~W>vE-_`mADbY-l>6W(X3$ zn)Xt*$eA9(NotAIfr(v6+aln{+#m4FEY2< z3A6VU$>9W*0IxsDkb}|`7$q= zDSWLKCLj5R1tnU-DiwLvEXe!M!x$Q{L(RA0hVT=&ByG+h%M~|N@?mL{hx64patx>Y zYoqG(Mkwk(0Mk?KzIkVRU+Lp-a_|?*KOD{8LKIyvlV7lS9qCguo>dh4HBByT0{vs; zbNoT#C-PN4BSfXKGILp~m^hH*uoDk^fCR119m4%Gt+O7T(2i%SkbEU{E61vTF0+Z_ z^iW~|QO{0Y_1=%XY}nM3=$^e;+K7@Hor{nC`n}^UUG6JLV%K`+9JQ(1k(9-seymg+ zfsqqlpu1zIDL2I3)tW{3d&1K7cVmr{mf}x(pLaC{Zs^oy{AnM$q$!7@yC6ovk!5%e zAeS@`_O#;GEIaOk4mjFTXtboPh{B&SXlNf1Y(UamQOMyDY}g(Qe5=V|S#tklFw@)x z>ifUSP0#~)0<>o2LAtn+8X({i<^1B1@!;XNZv1JQKg$&Q5a7Ctxf zr8nm=7h*hx(grkrD=!qdPa}UhtE@&qj0Sk{h9_k)fs6R&Evmb32_IUnTso&Iv=kE; z-qpR?9NPpd=9&ibVz2?FdK$jiCy|E465c6G-GmtbrKDr2no%G;aOt`cbFWUY?gnHO zi*?f|x`AFfL3Hvf=n;s&GMDdm69OQNreCtA71*!HLgodII_-doQ_Eww3z$9ki=+Z2 zl^D`9zYx#U+xlE;_GYDf_R_-6)nf1}j_h4z4E+XORJ7oL=Hq0-cv=TQ^%kZW37TBB zP%7}7JG<0@+~Qb;o)>3Yu;{i)md3k}7aNdB^t&J6y-vzO)iiBl=qQD-6)`t{>R7Xv z!%oq}r(B>IHbn%%j0;@jcwzsP|R!lBt*PU$|W>bstA!Y6@!dg>3CI+UmE)V*-wJ2+o^%&p1{f+AeY? zR2V^ig&p^rh0^ra+;qA#A~g+~DV>ck69Q5M&rW`^I-jNWYWq&daZbWf z$eyBq6`K-HMrE)x}rQP8~=FXZC~JZ?e+JK zHB<5y{^3Z;kmrH|;sIIatZEX!@b}kpz`6$ncR6nV9kJ1y<$DMVPK(LdJcuVqmAZhC z)x5)!S(9K~mbr4zxjv>2oz5=RSDbF!eGr5r9+u@_yf%YRDc`ih##ZJ8~{Hd*)k9&1RioWHJ{UdW%G4?BCU}mTgTq|Au6+ zm>JI#1e->x(9xe#mtm>p#st#55MF&_6fzk->nCguhk#GLECu#SxV|i8nhW3k2JP{q z2(dGh%xP3O-*c^5iTqF9AQwo}=C~v3{u#l({y;V>p6X(&K8Y4+K7%s`?r}N1%agVC zK~|lH$o2@}`{J&K-h=Y%_?u>Dn+=jzvL#qGg=9sa^C+I&nX#q*tnWV1#_*futsl0` zRN6<213h5RHiT9s-?Ic)Je}95}l<7!4f$|fiptKSsrY&^HAKYYl#NC_aC9p#Ar5Ld)YR&jWO2) zfN5I@=GKhW;{sjXDqeSm;$eodnrM(nAkZQhbZWe_Dyp}yl`0q+k{C1?eY-Xh(def{ znY~Qxz1XV+3v!(ObMr^5WNqeK(uGV z*ODKs4}u%BXAnzgU-oIZr1RUgFKW8YHkxm9+&{dlDRt7dJDaaMz8Sn4Ixt>x?~rhO zRPXc*CZyVq7*7aCXkDklu&sLN`?z^j2MaD!Lm78w;~nBz%6l!!%)H#c-#{!+H>bUy&}1;+pc!wF?4bj(=Xkq~1a-HBck z=QS;{5-wlpS-xI|IOP0F&&k&ob0SL+ic%U;M?99!UMA3-us`Q{Ec+6)LMKfrr& z=qIZ&nz{nrtp$i8_XQ}E7Q{G0bEVvvxg@(KEA>TFvtX1y<^ceZK2=)`Z(~;*%08%+ zDFCL|v2BGA#fPAuKQgU0>N%QFda%PvNO=KqsOTfV4%znrJ<2zPJm|EZgG zPhaE_RW6hql{>mbPj1=?{~A*2Lg2WE0QC<$#=cV#Ocb|c7T*x;#enB{ar|Am1G${i z=4gn2slhP+OYjK7osUt$ul1Sp)QY~!Rs9!d2Wh?o)q8;Kgaj^wLYpG@t9xC{Jo*(^ zeZ)%1cmWl@;yXXHNSZ-4Z21701JG!0t=y+4=MeMB+eX`0=PXMaOnOFsK%@kgD?v7^ z=QL5>;`$YOPuY&BSn^)A604Tp=9sUj)&ymTOprK-*UTC!th603ua3yW*a<<=;JMP< zTv;uSU~y4no%FD?LKnzQiSPSKKscLJ*SP&s_JrJ&xd6iMogSHy;SUW~69aLKT4u66 zD1*4#K)G~^Sksg;a6(ToCRVm4;7+*i=E~EJZOlB{D^{fjp2gbQp?FmJ_cZIZSZYu& z)?Q1YyRJ9+{3g zyY4BCp=AU4cXqSqf>})qDQ%d&AttGWgrVj0p&&!NlUG}qnHz0ktgYV8WT5WWM&Al) z!pdVQW`;tq4bPs)SrPfvW6ukKeE-`+W+S}T6bcJGA$O*B1(B26FTA=da*}5tFQ9Kh z6`aoV`p|-MpK=?JPj0$jg)tY}cj0Yh8?b!eB$DWsH6e93d=N%~95v9+35=PQa2`*! zpH(95OzsWsZm^Kk%rDlhxdtXgfbc=V5gp~OdGyJZSjCE(QvC*)MCZhbaNj-k^&QSG z6fjYL>xV|o%vm(ipD)RrPShd4wdKGu5k+iA8G4>yMVkfbpcZIQ@B}nc_GOBPd5Oja z$u-&ua*fZqs7brh7>9at800(p8QR0?vVp&s3od&aE(I#m>`E(zsTGRbO-UzulH=DZ z;;7aC_NzdX)KGhpZdp~L>D%K{ef%sjL%wz!1m9il4f5TH<-wga|8kw+b>hfe)Cq_(Rv z7+vuV^31U8CsmRbT-wO0@s+c0sgVX~I1x1nXG4*FnOK{*U8XPoe{rBY=+Xn-0^14~ z^Q;Gx2vMY2?k#4~>8pbKmkC>mcRJ+Po5O7k7I6LQJX$*6bJPS?z^FCG=Pabnn!T;O z+L;bo?Wiw&n5eEQa-6OR8a(=AuW;O_v_HvcrKEa3XNmQ689^Xp2P?4rw zt%N?Fow2Z`A}$QsxOsE8&oK# zWRwrq&VSh~d1o1^9D4+`p{bpS5TgVmaEV>_BnRZLyR%`51idiqVaZYSm1$4UMJuW* zQT6LO&D(7a+I!z+i7!?=QY3C!7`6hZFq+V!Q5yIRHQ;xS^ zgA5QtS@9pqqiw>QHViXAUp%dO75Gr{k7+JKN;hF>E4{jQTGIDD_#bJ4`#)Lc+bCd7 zUq4C&$>!hFL^@ijr4RZ6OY(=^ZFR7hF!Jf>-6$HoKf5eYDm|luxNl;E!LjsAp{^O{ zb*3!>fSNZuJ9{WtYxEPcUM0g8D?2Q6$j zU-|0gj12M4G9%Cpc)^=v~a+0Pc^`hA!1R16?MiD13@jRer(#vHtl(Hl# zA;@847$OqtJK6`o8131=Ir{9{%Zb?e=0~7=H_ieGD9($5@YS7V7ll1`SV&Pwl_5T+ zE_Ox{`QQW5F8wId2J5`)lww|RsM1NUa}n|77*BMMPcbL{F5i=30?X-NoXq2T#KFn> zc1@e{`KB-I2-F=+sjU><<&Cr|G5|F|%D*MZ5fVk=GD1UQ(bQY#Eif!`l}wU_NZiEG zT&;EkhtU#h7|=|6P4Q=uKj2G9(}L6Gd77{76GychZJl=stc@WNSqE=4fP!y?B$AID zk;NBkqVR)MCQrsMiZiJH{qA3IVihQmlN7S80LRI$%$dX-Dc>Rclr@uv1}6XpmUS^6 z2dwY=+iCUA_-YX<7@4AD5houBW$%p`ZvQ^pq`LYmcpl~d>eM!@S^$DN;d3C?mbbfx z>O_Lg`!vLRzWgDSYt-sXT*kUqj(HjyDT3bEThc5f z*+|KvV>I(a{W`1iC(Ktj{XHo5=TmcERb;B=3Y9c!)AY9VIF=QknE{v09O`Z;w_W5` z2Q%z>IED4*hHc1xHfHwK;z9g?I5HBRY*4lc42~**Ty%S+7ngG4wQdqYas!PVC{TU_ z#2g6M%L%7Zc*T1cq5j;)Z+&T&fQK9up&NJm|I3Dh&9~Hg3V(KQq8U!1h2C?V#6$r) zIUdlfuE$f96dtdAR_N+xllr0RORm+Ss?%+p`<)=WIT8G08&JBuWbnLchhE0i0Vrn( zs@z=zY{f42vL|CLJ0$^KxI5~G8m72$miE7wH@1-HuHbxxsSr~S3KgR-{F%~Bl4#bjn)R zhz4980WGWU)eb&NZfiy7ESSAf`eAKej6zKnYd&=P6aXz%*~@?r$%=#BS@A%}9c!#b zWSL&a8*bKbwzDk*f4$9i5AB8f)O5~|m%be|iWVAO%IS(k0U{?UIfSpg@R@c20Cbs< zeY4Ycrk>vj<6=HFs(<(^yHQMeuX%cqL?W+(wUtek;;c$XN#e*_#G9AM&VmedSBtBi z4;(GO=wi0*HJ86(6`hY>aPF|vg!geaKdvnlH%mbvB3O#ziv?!CRE(heS>#C>2eXf2 zp(fFuylL35#-VBiN8~cHqnX_nNp@VjmInDVEf3y0TpkF0mg%B>?6)O)&}8DD-P`_} zE3{0O4nsnX%0;}%yOaG?WxbJwG5VJeym+>ki`t}kFQ?Lt_)D6YPLgMTMIIEpcIffm zf8sJ#bGW5~=`Y<`92dK05LX5ly$L%}gy}p@94g{pgck%m7M3pLP=!(Og(3;oK@~y0 z1F#zb;^Q8U3H&kO;r;P&R$|L(m1;a~`ZIbB@n6S)d%u>q7#4s}K)Hy9V5sk*P4s1B z(7`>ldk0t5)~$`^8?R;xgBnL`HgOn4ixpz1U@(2qyrfQ*5sZXT<9$a%LlJ(7SAVRE zgtFQ* z-CeKk?caM@{Z06>P4E=B$EIAw83L2ie_IHp*_)TEv4%e-$V8CKK7!&6HeN4MNziM* zG|6t>Y!Px%X?Xj2CG4EKWD4BEb;|*3MqRMUQ`%!LCZcpUJ_n6qICAgoa-sp*+f4%D z#i>7^&W(zRQxbmrLkgRr@KjH`GOOBlf=MWjE9Cgt48Mbwl8AeF&#hJkQ^2wKwFLK^ zKMj|!l-+6Xahv~rrjbi;x^)%p74I@OMyOqTvdaC&=CADz>it2{Q3Ym|=_DY!dJ$b! zeKoLk+xT_;{yk`~nYJ(z4UwD`x%aFq<+BGM^ghwyz!t7DMxK}1%Ad!oCzJk^*-cxF zaH5zSYU`C}>IIC)bL4JSR*V~&OMy=ORwT0I@WPh$%7h(@xW>ehL8uYRc}~bKk~Lfc zH*MzB(=}N_jwKu<3BPB_jQfs9ek#o|cMnjaje48vTaC3^h(Hpn)FDsBNhDXdbf&=| zrWDvc@@2*lrI;i)wWXuOy74 zO9kj6YDxE5ec#x*?hY_@#ZUJSc479NW?~Q7oRejx0`U>%#OBr=wszl{d?Q7hl~8M| z21BM-XDo#Zfi-u*{vV}nAJfl0 zlzYwof*#SLLHapg0y}X68Qr<(>nkr($bx*5IaE*{k{i%dk`2U=(;e)}Dqc^`GF~Kg z4KH$?BT>Eg%wJG{4N9Y1pmuipK^kpiVVj9*dPUwdwxWFYtfpVURMt+;t3(+o{dd&M zwz9OXP4kK|h}y}|s56%!O|?x2LoiZ}ZVe084$G`Rby;P|OlwX&A*v5XgL>U;n;nnB zDK~Kvn9Y|3XE=hW(ak_gVw`>5bz8i?R!SgTh%=+CVNdoJq4F6fcM7zI4IwfsV%yoG zOD*-m#RwGA&n!97YG}`aoT`Fr1OB$d4odvz62He`J$WM;ak{5mJizj5UZ9iwhZjp& zhu#eVU7~+yS-U(Xj0UBRB!$Jt0-DBupAZKHvn1wdh#0I;8D5Q`*j{0o#H#21bhgdx zzY9suQW9y{j%O}{;k5q;_#85xb|Y6^w;e@uX8cki)zYj&9V705m~R>>A!SGCrho-E zT!}e5*M!N44MF1bMwsj2j=KKJ0k>@DmxJNZyV9MGnp~2Cl;QMNXkFeEW)%+gwV;zN zAKSCy4i&uK3Vf^Vnh=*;HTbcc^r_~i@LlMpUEno1LZ^`gPV-PVHTBPqzg98qu!H{P z&SG9W91P!b-)UMbfqes}-Dl5XHLRa{eE{r6y@UuYB0( zCD*7#N{%OjEyNS4OJd&n&&?ba6P*{)}EYtRv|7iw zUp4=4(`ROHpcF7Vye=)jnF0caVSWvheBV>f3MFA`}RYd>i6E z!Tf~Y@XfkXnjmrw(EWX>WC!Es+WzKWFwb)4xkKV2_SxgYCveDH*yjw$7$%9emY6^bfDSWve#L<9 z_n#qMn^M%`LH}Kv5YcFVrYs?N1nPMfm!;x8Fu(vVs$x~tcp5{!;*){lks$ESX2%Vg zSF*&Yst=M1%HcIY%n13*xO`^OlX**DMlIh};P00{1g(*eXGK11oVsNB(<8rrL*nku zyIFHHA{R>>3|my}z9m#ay5FgEI#qE$1H=*Dw@3&ei?HvaGvKg1e|3IYsh%Cx?R8(L zpy}3=2!hCQ%jBt6#kAQqyc^nFrj7K;?+*dWZTF8KjGRpO#Lro@p00AhQ&)EL(D+E} z&ZdP67m*l_T1qToh8_OfrH1FDR%WLl5wJJhMZ`NtV}_WOn;IWMqBwvP!s4i{T_8PR z)Wg&yarbbMM{|VP;GMh!CW;I!8mn`_fX87Nkubl=AHEdn2D*$GQSoW!B%I7tLn>!e zCNI$S)^_w}PdZCcm54gPiJ;G?u|OjAU`iF*h>li1+*h8?{&es!DyfI>RVD`hWpes_ z$h^~uoc7KN{{X{KohZ?~(<@0&abPG0xL?&geT9SI=>kr9wAIpPHy#p{ZYPUd#_2}Y z9If*Mu>?Qin@B}(?4?}w632N~8g50xrlNkeUv)=-agkiUjnfO5)}Akpv+X3Jr0j6% zu;g5CSk)oUcsHebCKdy$d@19hmI|2SUw<}Q(S7~mUt?A0)ME^&leJ8qwg0=09(SjvSEdC-@Z#wB?x#)Yt2T7d}?!{MMs{7&O zJN2SMs4dIHeVFZb2aCwr+WHx#idY!*$%7~TXTKyex62Rer*bN?^s$;B#C!A)X;JP6 z|AYI5m2v?H=HWB}wh7si?C575cYLldo~AsPZ@{wT{U7m({B}H+7JD_UiYi}+=St}e zRHzlt#Ln@yx(9(Yr)05P$y({U2+|5S3O_G#y(&dKLGmotiT5>YJ}^uAI2AV?nI0Dg7#@s7Z)wWlN?44vm(60?in z#wt|MFatVQx=34EfAgwO_NO8;VZ6FDk75&(T=lJ07qrfl5(M8%QBz3wos4D9?)hgv z@{UrTV;d4OMh;Y=8_TQebX4c<|JJ)~=JiT!tyU+i&RhM^ zk2W!H)49?FKrYMgWJUmu%_y>`uXDD1P*t^#?vMxx9Uyo)eFf*;aD83M_J57fB;^8! z<}^-My`T4kc_{b|utXM;o}7=X*_i65kp?dh%EE0L2mlgDqGQwE?Q=A5Ef?$S+rHW} zma9cX(oW%Ey5`&IRTzkBgB%k%R^k`OiwKYHlo|t%#{<4R! z&Zd*!fs)8wTnimc8zlzd69Dp5EO;Rf`63Ipn5vA!B(^aPXjPd_`;^BQYK;q_2ofQe z_CIZ+6X~NN7%4=}_FqZ;`$vyEp2oVrW9A(5v!{!7s;z#Moz+EeVfMMB)Ql58+a-07-NQy7tcOvPC~VYy8#adP4i?|@UA%YI z7Q6G@TeJ~EB-9o$$5;AKC<)o2kBCQufPfutHGa=Tw^Uo^CwA*8LFYf z>oJv}hvu*#CUWuS2^*fDfW8&WzB5)N+#hon$IaLCt?}`E9a2+#K7kK>h7gszxHkx$ z48~o5%ab>?7uxY{(HpCQymRaYjfbTN;Fs@zB!x|38NYG*Y);3*Ja~Jvu?Ie=a{#GK zb=Iag411g|b^DZi42?kSuud3PiiG8s*q+#ECDU!v9Ae{Ia!Npdm)Az+X>`oUbB`r6wH!P z$f?Aj_JxPId`9e~eq_h3u3YXVNPY^#m=kZ7>$1pW&2gUZfp&#fOl#S|>4z=o-al;t zI|j=B9~1+us=rv20n+SUhmUTcne11#q8Oo*mH_QWg|h@~)k8{yxhb{&VwB(uDza~m z`9k3r{_MK<3Z%1ES^b}s^`yI_DBQxueTQwgMGon^ZX1-i?CIG;uN_r-pb6Rme6z4x z7fW{iMp(wz^&RLY?=bea*Afr1Wy@}2XRWXp3h|t(`wNN~D6BKq4{RRd-n9bQ+!?x0 zH7oSR!|CBLf@g#sjCgbEB~$-9Z~P2znf79J2pKOQqexaw^PR1DCLe zrS9d(j{uU!tbwXzJMUF5vWjFa$La>iz`>mX1@7pZBb%p)6Ll&8-U0CP@d8fh#vP4|tYV3!HKs=|cO5>4_sH`OL=t3uu~-y#_N3O2w+d?6oge}*App~7f#(?V<*N)__9EG&NvN^Ot>A}cG z$0NEezwOv6kWBA>!;VB^%2M2-F{5Kz!nv&1)R)%`zf;!Nrva-F00} zOtbAAag^pi1lf!5^QkH|GqT-X>(@H zQ=Y#Nr-?y^mSiw=-oG5$w?Hp@prlKPQ^GL4;jt-$|PljmFK^*iO8a0gur0pr}VB@ zOj5Rj(`sc+`;IWjKp+d<#!Zd6$bWjI(m3(^9{G3|j#ClZdGpwIQ>aR+P%S65rEGhS z(N6S1uX=_0D^_pJ!Inqn+w4fMeWb;;rd(tOQa_7>X4bJ(J`;mi`rkk;D{yiLW4KfY$AXA`uEYIy3DP%Nk%Uo~3cl!-K|5?O0s?ppKx4HcKk*)5J4Rm+P zp1ucv)@89ZWk<(k!!2vX)*IpN54|h$L-E2&gz*^=PPtj_2=nFy7h1W6znYQm~c#`yp@YAczl z-X}p?IM2B?kH`4S$4(qeR7Pr-PMc51u6dXEI_VsjyXD;*oIAw=BdPLs2~3>_G+`sD zvl8jCY5)ve8+KdAQ&>~Gshp=$Y6s9?P@fN?4L5b0O>?3rnU&8g#OIHTXmDiX)u=+N zVjdA!zFKH9f;SgKC(ZGj^6uKlIMa@a5xPEk!YD{a{~PL5k%EGkRJvT>59O4-%oErX zV;sFc9|+Ar0jo2>!nOdv@C4;RIiK!WIuCqU(hZTAvZ{@sPR{>2DM7n%)4D2`{4VdP z<9dux(W*ta+6SOn!JbLmF$Vk^XP8Ii(0GX0@PXrB%Oy679s$x6J}kE$N(Qz#U^zHD zCf#CMAW=2^N~Y^8Ob(S3`>j9g7Q=usL)zV?hrp|ZDEUpTb<`gBAPcI*m{GU%?k*Pg zDG@8rYJHuS%+>g!s0TSoAjd;1Nx)xR)7M6H%Qo&+{losWOa$?+a~EP5I1D;3cPBDU zlw#LzOh<`n@SI=53fK+lR?SJBhrbTBsN>7ELDj-iK~ZN5@1~i@ivhfNap=s^jq{%? zB=yh}kl>q2)M(=fh1{ekpGlu5D(l@h=yM2k-PnTWWOEGolR$sUBP2y_%m*uenKUA0XX!<>>4rKOiu@6~cSD z_Nz4UR;+6zR46-jlJnWKldc?&dUZqiW@zX{18vQNsK*`~M8d?HL9pFBHWiY~-HrLR z5;GfJ(0eSWOxn>XM_b~E}T9I=c9HJRGlQ&DOOS_%Tn7k8wGFPCB zD3b@*QdTK%cozrLTh|5v5hMon)I)L9Lmc4c)cgqN@!!n%_+m$XvA8Y$K8mBLQ{ech z;e7fUC%$+Ze8t?c$G>Ow^{u=_kx3~u`{G3Eq26u~dbto47>3_rURdF;yv70eC^?*= zFfGs}PgCgtdV9cxBEj{GVjlaLP7iN6k$Vwe+D9k9tE)m0dCV!LC0C3yYPv9j2xKvv zn&{`fYm-@+QR6zG`;v>KD%P7jMQhUK%Jj!uctwyXfeaF2K}#^76bS8B|Gx9q_mwMf zCse##a_w@5@u`4ELNtJcp?GMTvrHdK<#vM%dw7V8L1}1D;Nm;O z)RQ*G!h#S}js~{K?R-KiMxDm0e*i$2SqszI_AR`J#4xTA{8Hr_q)%h;84vN;)==YQ z9wlKRe~h14IYtFtY=1q+{i2-MW{AEE@0h6+3ca(UjgG~#`~CHQYzcJ_*WTs|MU#!r z33}ZdisKfm|MREFmeM~r)>~q#-@-4&R*v8 z%RwgR?p37Ko>yl5oapIbhJi6r(51P-nF!Es@PGm74`_mu0OeGLagV&Ve7Trjl+CVn zSK6Ce2tJe>tSMWvfCFTFg)rzy`NBJEA}aH~>BkFz6!t44z;2S(q9VN|KT%u>r8Y;V06}Wn3(3g2@RImHalw zT&(h5h3PcNiUfOhjaQ#(QNS1fj4XMMe%Z3yTpN2r#PF!`8YzU2I@rW@&8Wo5$?*uH zTik$o8?-tV>1BE!<8v@IxNQ|byv2`ENi#R{$kq)Qk+Yl&&@?#H(+nYf?o-NeKp99p zqbg2`ytuF+VcNnT1%3qVeMS_AYjx$(7PayIl%~-(p#1XMnoEPsQsUDxWDd-dF)s8y=-r#|@hyEIdkL)6ri# zDy}AHxzB)@dPXjtC^0cOO+F~T=Sg|H=nDUu0hZV4x4utk-~5hD8613}MKw?c@#&Gl zWs!5O$7g@Orx)g?2zThPH+l5Xy78xEOB{@E#A8F?-_>z$h5TN5n*oz z2VwJ*^vhFpx#5yBrGz_GpV)u!(1>=GcEVreRDi{u^}|Tk8wio&kpb0dYx|8~amuG6 zALhKF;S?RYhi=@2z15|q(?JEmj1`h!<>5vApco? z=b7Uh_%hTpz9V&bq2o=Ch^V6V%W^X4H92)B$*gj$S+TXU@GT`Oy*Q8|$(;{3tE9{R zW>7rw!y{78sfbO@<4czjbqY9eQ5XQYS`zRRCF*4^4qz%@A#2Lcmv?>uKJKP*JW}RZ zbtNG?JZ3R{qod}Y^pn!m!gP|@oux{rBKmG{G}5vMlQ}KH-14Nn~gAM|Xl)@XHJa?KJbi00+rG{RTH;U6S>UjJ$MC5vQz%Yx@ z_{V?q#*2=@-T*kI8CWmYYBFe#I>Y;5SC;$)@2_3RY-UtRsG>MpusBv5l*-$MQ@nvg zwR+LFv9xQ0u#fM6oWy7OL3QFT^f&_EkM%bpWFDc#0x}DaYs3of$kZMFwPdX>>rId8q{^Fq@FIeY!Uo2rhwZ%a)JiGcklePT>Dtx5l~ZQiqS zx6eewD4FZ;*yevI@BTcb<|X9iujB)qey&)BtftPNXHYkB+=>(PN8#&f_i3M(=P{V^%^;8zwX09Dl%8ACk>|9*0$eK%h9z=E3Mej>E; zdb>^Hm`1JXSskY__=WTzLS){ad-l?wLi6VhHZ?U8ow!#Z2&95xdfAL0^Ia3gY#;pv z{Wera1VU13kSuc*9NeRhQ*2#+TLh16(;aKg1$#-k^h0&lg%&z3>ppE&gBX`G1r{bj zpUKRhl^)6yR)C_sLdMbikp+cJCfwcVrhx9eiJWep>|4mynZ2vw)syvGUOsQi0d7@$ z3rbsU#nL+Pzv}P@V)(e)b#SZ8@3w}UZhJF%M!ytM?|387+q|3hT^l*s2I7{)a336K zwblcE8Vp9U1G%YsMkc|DR|h917Mb|8{3(q=?X{XzCY=AAn z6hU5^L4ZnRAg&LE+ob5)s$yVpH}PnU^=rGGMB+$twCT!N$vq7@%$;g2g%$a2jJMn| zH|nrR2ZP|nJiDIo^M)&WX9bk;Xba}mtcv7C?7=F?HJ35WuFD8=p+Hr$uT z)|UkPc+bPXYwc;MK7Ee-Po;5aO+O9|)EP z)cqkUl9k+~N;g_l)K(emd7X1-e8x}!Z*m4%DtmrS7iq24sU^(|B`_|cdn1$KscF^z z(Yqhx(WyCp3+j{v9VWY?xP4o^bIz+(RGT-z3jjSOxtn}5#;O;l)YAIKu0Nv6VhvyC zVKe6w@l)dFp5y08@sz^SNC}P9;_+s(npRKlK415^{B&+`MaMb2(9b7&c#Z+>%d0CAL6ATGVwi)yN*5J|o*6 zZ~I|c;n+IVK+#&uvi=FO2*A)+Qg0@W*s17BL5&;6hZN^{$`#p~vkt@3oD5h&c-l~&j1r@eVC0z!LaVCO)P|(N z_E@n(10}n*x{UECq3i3rD+&gkhcQRFS-Xta0@s8kO1IdRr?KW*{3o(3BfEo z!@A0P)K9}eg6%R^(eP$&k48p$QVntbHxCM>(6sCcnqqJs+=b~3eRM= zyrVmb{exJ7*Yrq(GH7hJOQt;q&ArJ22Cx#$JM5yO=I}|bw~sh*e@8-B+;&83m{QQj zQT-l=UubdC$8L~YUjTt5uFI6ZT&^X+v2KRJ8mpvbvp4h-{9bGXyRe(y0p-=g>)Wvv zN%%&)+$x|>Tr@7cOjhGMkUl;}{AM2e|CM}HlfdXY3C$nZDo?qV1jKZgzF6aqDaHdy%*p^2#6ODZPaCOxk1^1smr zb78`qS~*apQ>l|wM$o~ps?@YQ*1w?CoTo;yi2x3gJQ;O=L^78pCQ+&9Fk=5yEw*^r zYMgAx(o2t{ic{l5552i=1OMRwc}kz{A_m0=NwUP5Ns(D;cG1KQ00#wE>0~EM;#@+? zqp2$MN5Y@_Pm&_12!I`yU8X(o=g}s4>aZg!6N8EssYAGr~1o`r6tl#fn653raU?L!M zP;5JP5E+ILH@`Yhz|+fy_Jp+p?S)ccN!fZyE1>dl6#!}Fq7fZ}opy(rQlYNA>gJ;X zjEfMc7zK^w2?C<5Yo`I-2+{XAL7rD&C@5YK0-1{Ya&9;dQyK?n_4U5qOR$5)7m6ou z(7jOhptQ*)1cZCK!88pvXzzGv6sp;l$&+rec`~FPwTN3yB?|{D!)k~@>ciAgc^Uh< zdDj-e7N(5ptt|v&GLt6noO41C>J%I-b?HNpNgc#<^40xtZg$2mCK|d^4$@F>15ESl z1KwI|SKsiY4@}gmfxd_mBM{Epx9C0beg%|kALP5BsGc*u>lfy)`%WKo%h1|;j+3?t zRa!=mDLEw+``Ph!5qY~j61;8CpgtJ$N7muM0@LfGbe$8oC^~UOSgoPA1nm*?n&6;{ z@nDibTSZH5iI}Zd$jACUU1&9*gUfM+9JK!ZbFkRwd>dHr@Pxbq-2S#dkeM03qn-pf zGeF@`uEvuy9_uE=&M7FNEUm7%sapxch#EQvJv1N_C(L6>jBuPwHjPQ@@*nLM?oyvv z!8%a)Q?Zm!Wl{dp*HPZ$k<336csbCh-t$6=JXtABfX24EO(rBPYkzgWo-kgL}y++C=;Q zJOhmVE{6eCnM58$7hIHElz|9Szoyg^*Lk-fJX>y@?cu4XynjRFn(3>?&7>-}GMsw1 z;SnL2#nM8$35hkZ^mQOFFLwEvGeZNjE0U$e={_lg`@M)b_M2% zX|F#OXI-_b9#Ezkj35s9?2Fktncafkw4PfhpaPrUxf~bT0--vX5Y|4(R!4?PWvv;| zFWVx3mOM`?^)51_4xrp+tvqew$hD|qgdIFhV{uRKU5M{`Vsl~|$5nIxOUVg@Rey1~kqjxLL?56)-BTht7}ndtC^8VaF$ zbs4UX@*GG}q$+@%rhfb>)TyRB7BtazQH5n(aklf!&YLwY%%7;2_0Q zysr;>&kXFU!KX=MPjaXEifjd|^RqtiqVB8Wm@#|xw(~kvFjzue^TH&D)rcnX!6y<{uYtVlIGaP%gZl+<#Rx97KEogZ_@ElLoDqCp6 zbGH$UB`mcfV7AOT=lhA?V|u5sV;HJ>l;}Ra3q&}h3XaB`%w1Et^nLv<>tzt1@9JJ6 zE^Ax&u+V0YOb4KFX>zEvldq5d&;ofA5pia#9o0$3q+W}Q5dNM|&O3ZF6&YZz(0ScD zQ6hFu#?uP!S6Jn9P>z4RgXR~%J?p>9-^%^}ls43RkdaUMe$2hZGvyjo_0AnaGNMx1 zF&#V#Fo$V-1Ee;I)}%MI^T&(8BIv|$KzJB>$D8)_TUDY)pQKg#J)S~2DX&iW;{^tF zT#%mI16l1ClK>klf9NHzExw)6iUYu7r%evVmfr{rY1_PZyx0dwFD7~T0Emz`^mfmz zf3#}X%(&r4k{Rk05jTIx5g2gjw34md%)Fs!L06U7p%hi57{{CEd-_>v%$=%GIH>t; z_B6S1OK4Uku`!rXCMQ4L^4eaBht`K;{aI!g;BXbk%^K|qC-JTIS`86%$F87}_KHI6<)P8OjG&zY~jrwTB z^9WKT*bps}_TsE|Ty6}&Dz@f^-+AyoXx5*$YKH|9hz7R8ZMjMTk+`wGsBa1 zUsDJivis$&)6QA*=dy*Vfy)5#Wp5P2oJhh1rerCY@_tx|nx6cchfo$A(hvg}wwx*V zHTeZ3Owuh}6+$kgoQ?-|3%X^~P<{G|9ZNhC4V2`asFAoPsRZl9jA0kScFT9B15E58 z9BdIG$wt>_fXfk=LAGV0lnJ3u@>Wv;eI+G+B!hGQoenbN1?#X;pBOLbmc+P)%vcP+ zL}B1=PSZm0XD3#x$J_d?;8d-YdjAfbTCF$Lpor;*{j(`5*{SH6Eq{*M{gxgaY^?SSaVDjlV2B_T3}aEA=nx zf%rsRt>lSEI)Vxak96jq6AomQY@{8#J`|wyakeB6Cv{Hy-C5#m@Xxud;)S2=r_CIw zBAUs|rduWPxSZy;a)p%&$LgqjU51OS$fnrX_1B z=+kAJX9myHw-wO}>9I?3B;j}leA$qx7($2{V8>=^tPx~(EL zx#3?OTb4(OyRo&8^a9C|(ORh>P(5K3!6JC6mKKGPgZEH!P<2+>FBF%1>tH@)8s9vK zHH$whMQZ(U2!cUf{6c-gSX==T3~P+MJCA(Z%Z7H^b*D~<;yJ!2mnUKmG=|696c>I$ zsv1U{SoMRidjHprG16EE?7l9?xetYr80?{)2e`0;xdDK+T4fubuWxEFYRkZ62-GR6 zg#0D$PU#(SJu%UJ`SddrP0Ip~7OBJd4AP^z`KYcBi;(;5r z0eBG{=nz};L{{ z4LSsg>1oo;^=2#z&26m0w#Fw@59h8d5 z4RbeUTJ=7v>`#*K%U_7|Q|iD(H3ex;VQYGDw-Fq-e*fr(=J$AqA!jW*wF8%bVWuHV zTZ?B%_n|q6vBGy#$+y$6g=J`b3L;!cAM7>S#UIbmNic%%_7gJ}<9#MON z$w-q}L5WDkL4v$AiTA&I@gsvm6h!2nCz+4gS>CNt#*+RY%*plFNfp7(qOqFkitJ$a z4J(i|kQ+mn4?(d&(yt?iH$5wvH=y|l3 zpUP2Bj-iigoYJ-_ca$9=$oqmL>ELR2cU}a4+l_mC&@ceNybUU#mC~}xQ~bhKBaYi? z!4J(fYdRJ6V+ip%hwG)B@;j|BiQzdj7#D|DBis3%;<0kfALlAX$HK?g;-SI;rS?~V zPH|PsSYooYpK^IKx7GMDvO4K7v zm1yVd4=vO55-ZTCG0r%F{CIvHJi(T`@%iT1RoXp(;ZuqQZ2G34L=gv$= zdsqY0U+h0J#`SmhMTPne=2c|Y1Ua#Ri@DdAgC1=y!DAwMhISwLrRG_ z%w-wcKO+infE3CfVDVLUW(hGRtt@fz)$x@E>#OoQak592f{gPRU~z+R#e9>PH!oQ9efyp48o z3FHU6pVw?zqy>I2*rS3%c~d_kJyfj|FW{)yrudy5ey?Nky7P|=1h^Z10>MXh@%(X- zM6WMLs?dBJk4HYp=R5$b?1Jckm*=%6zpD~JZ-e<~M5_vCboWQh;5I;S^s5w(lD5&p z`{_Z-I=+_k=;TuEAh*aK^>+iF8s_eoVD~z<#Tgniow0){rpZRZ%S<6jOdO4~XL8o4 z+a)hR_`5>#{YB|5Zx8ohRk}N!@{4ZXOVLev$~(*Gnt*1eO0;5y1RxGWxiEe6uJ4dk zx~ICq6&kgV(M{2VHmlu=w0{?llqovhk4lPmXvn5R>TcO5TzS#tV209&0n2vrF0Pl{ zOt|`8y+DnLlZfVDDljVa#9aJdx||QA@Ed4%j?4j7P-|!Xlwevj^qYIG(6BJRK1%!b zt7w@k6D2Dn*NsT-qN0fZ@x3T2nrT3?b$y5a(|WX`mBavl$10juyP zFUE^S0JeT>W1;{)mYHe%?7R6e(<>zPMWOd><#mXA6*<2d$w{+p)jPYNGB9K~5%?kq zgAlr)HS+g20y89k1@}B~DKr=0&~R$V+ZZ7rU@;UMt? z=)jsTmpZlBw7u8OdXurhB7ayTc7%ZJ+8c=*}O{|q}%Xz56U z&2;9PG576m9=K!_pu^gbox|dpOb)Lf# zRmQuv@v>k-u@o$*#LF;4D>XBJ0?G3yzUKuqjdtFQ)v*R#rQreA*s=j|SX@}gQ!c#~?^I}&tb)174VZ=xKeF6}dFKVBI2@1YYSrjRpk-_} z5H9o)5!5cKj(Sn~LB6+QufouGTCf^;UZU{JPKYfM+DyQ^;LPGN%5a!9E4?tmlrJJ# zeAnM6v<4ebs`}}paXg?%^LvYoqTsV7G#jeb|Akw=@;64%OZY8}B38VCfE2|JWXPEQ zUHNKF-#%ZzCdj-msXKP)``3Ra(1g!NDrqzp63P^(a@m{YlofUEK|8`bu1CjTn$CrC zIrHGu1F!IyF9;6CN#6@~F*XfnmdLisy9s8~9{Qkp7Jyj=4_P({b=A=b|IB45D`arT z=BTS;zuuU7iUJfV0TB2#n>PvXRkwHWG1G!)Yy_qhdl;#~Hk8u2{EwD(S_YII9@mpC zBnY-lP_ltO7N_tG3e(&GVF_7G`U2U8M^wCXpcO z39X1ll?y4(H6j_!M`s>VdXxCBhrGBKQ9n%9R~uYe;ByIq(f8Vvt7rvAVAGTUS@+X< zS!BwYYe$n&!y6X&Z$$NJq#0`XrHSzwRO0b}LZStZ(h|7rK08{uMsu&Nt$nWGOfez+ zOslW7mjtUmB!4d9`3~jP5z!3IOw?4aW&yB|LXY_}N9MW)(&F}jW)YHCzrhq&aHo zww(uz?YJVOW{>6{Sv^epdVZ7)YI!F*Rg9Jyqv8_-v-7S|%ELYewaeb4k`jVG{V-t| z-1-f{p-=9mB)gtnf@Z_bW0A(wFD^Qm;?AzmoDF00GZh<5r4f!4HDAf=!e9lN z-BMLTq?D5Yd%(d&yiG=p8Apt3`(Y##Gw~RcM%UoMKE5VhNzlhzEW#w%fdLWdL$X!)W^6yms9a6Wr2lrW>c(lK9j{kw0#+t+$X<5r84oX(!1{ zVxxRqHCEzP&Qm|mzw*5&{rZ=KIv1T0}&E44LxbKEa$O31>B+eRIn&auypIK{lt z^NWFuzJ0`WP&U$U`mu}yz{+XisIenmJ8&Aa;@Xx!OL?r?jKvEkrogpzZ0K=iI;MM= zA-gpnu#1nSba!6>%X}fx9z{M<{dqoL#J-EnTt!l;lZae*dya4CSszcuH(J_C`8GJS zW5}|qbm^iF`RAQ}ov9h9_?eA_TcJj$^IOP>g>fCl;QPX}$Cj z+Ag>E7WGXOGa39XLaY#aREK-Wb8WF=EKXCVt65jFmocU~$9F&`Po#}6{~0d(oI+M$ z&4qExEu9)2OR=~Jc3g}IRsYZl?dzArFQDlodg_O%FX(v5$3(;M>J)cCBA$Yf2%?)1 z+G)z79{9yhzsp$wB8oOk;%gaxNHP*Il#vQr6)QDdjVlv&)}k{<49&N(syuv=84WlA zr1|Vm@V@r#og`ZzX6e1}u$fzwo{S2mM)AR zk`6)RIfRnn?$y<2#*>o*CAeTv%8-&{81_CBBYxzhpyc3xIHWyD2d2YjW9y@@6bilP ztHqihY)HaBPvcJXQ4Qv@gbcNT?WgQmJmhhf?HCinErKQO2+?@RvzS6i?9bLwy1 z55VW#@@h8T1f8g2+Jb5`?;b+@k8V(AP!o1EW@u7{#X3T65!OxZ;rYfd?pQ7oF zvgakDWG1^+-`EB|tDX~NNZT8GTZ#@K(3vhq4tt4#x3?1eV#~{+7k9v>)15Fkn?dGX z4mV7t&m!VDJfck|CdV@ko6g2)DRj)p;n?h0Ov4^i1zrp^lHit^57VTh2_f^~KGcOS z{U%U}p4;cDNe=o5l39ksa;HkK*ll$aj>Es3;Dg+(s56~q`Gz;DPX{Zn9el<7wM1mg zwVh&tjuawm%-_3+JGxH(!Gm~hEemFAabaWou|uoikV-xIbt*HLK9{^N*(&^cPC>G= z3UKxnP(sWO9<^w(?{^-8*RQ|C38<$8oDZ&YQe~qgjwRS_xuba?W zh#up_*poK)=i0i7m0yX^F~c3krlY!iUhy5C z9U&UAI`Um&2G1>Mn4;o(ak0ZQDzykYPOUu44CHgC^xP9+!FD)AskIA zVrZx)-m7a@VJ^jODhc0M0{`E{5R6CGEGa)i7G@VqO|U53^X$^MY_<6lDyvFh1&rXa z@M1v9jnBu~=V956d zE^?#G!O_%5*V*fWC@V~`U=HfuQ>t=PccK0ZLtP*TN|u|RIkNBqoTrQtU@Gr^5>)( zAYG$`gC%E~A9tPG_76Y#n>t`akK*0n?B_U^d%1YR9Y534n=?@h1vptjeB&%9Z|}lA zd>Wp9##4S%mpnlL7GJ2))@+zvyMt{}FFS=84G#+4$2NABato5hx zX=PsCfLv^2xx$&L-dr4u(g)4EJpdrqw~O+-8jF_}XtT{F^9&pF^m(J_!ZI&@X_uC6 z@G_89uV(H!;@v{2x!f`Y>D;i9IY}{opX^tOJ2?feqiNs%!LFRw18yd*VB<0QO+(r| zgv38Nd7Hw=e>i_O6wK*Z1et%~1bJ$cAH)L7tD!2e#>V?u8EyVFDK!XJVnCi!`yZ5G zim7qslHGmaqH4)#8pAtWh9###vL-HbEn--3WvEm=p8r1CUl3}JDkE&Pk^Jf*@57@~ zpDNdU>^^8$DAMISXqwl9nfP~)aQm?>n+mM461d{bSu>$aNrfaKklQq$HY70D2CCu+ z6TGFI7nBEly~^Q@nG@ow@K?DfX$bjn^##QK?U+#{2z+&RX0MfY8mW`|ooERi#GwQ! z7{FuOUp$D-&r458vIc2M;9aI^7R(PWQLu~_Dr5sO2M-ZgVXZ9_jrV7oJrz!De|!JIw&Xh!Nji-fe@J ztUG*Hl2nw%U!0^$rWv&D#G*{O$rJYrX@x%w@BpxkLz*b6(}jMdf6R17qi+Flid@c6 zk&%od=$yazTkATE(|n<*?PegZR|lcu$#Hw!^aR$js5gh`;o=U@Af&(~PCy4beI)dy z9g~MIYcEY0eHZtlkzabLe3CF1A-_wh-tyk_rA+Vp?3EmfIOCZb|MyZ0 zGZGd5aYKLJ82E$Dn&iXLr&cOqy#R*)yJ@ANDdSzC`TD6=^b8wW;P`a;EuicQJ1Ry<-3ro3qUY!(y70`1~5gb=&{va%YySg_OH&4ezix8N&hL(`!hH-$e| zV!%{b;WoJX4G5<8I~6(J;HEMW_ns}BQ^VxvjJyEx9>|b3uKJaV{9PHlrT_u@EfvUZ z4Z|*{mwk+`RMKP3^5*QvoTIaPEWK;(LzMUtUp6-cJSULyh8p`xwLqTI zwY>TY@KDRyT$H;|F8mkBY5PQPEiK~FPx*4q1{-}+OH#c6acp)-9T4hl7UgcVYy7%^ zZ=}HBp`WR|MkaDAnN(=DH+-?o=()BO6l5<6?ovB;AI4ar+2fimPe3YTu(s!gD;{d0 z@lm{uu{H4RIoja!gC+`H1mNHN;%{Au#?m}Qc$||#7%UVQAQ$q#;s^L=IbzAsRDIk3 z*4%Q0YkM>T)E+$dpNt6jA+{VIgNRN%5GI0*25_~*zmdH~DQR0X6JKTfWQew8Bs9Qx ze?iY;0II>(QGr{z0nor^8mCYzlhmI+W+F}~g#Y_K3h$?Nn!C?LLj|l={%z6LZ`C#C zL{?_V96e)z`qyQbfnR$yqMgFnr%ezFky!?m(2dTdTUoKlf^OqLo2IK?-5Dm6-ltVY zO^O5t1MWTuTTP5{2HK)Vxw2ky_;~;o-0#zpsh3i4G>T<(Uh8Nig%M4|s3&3od@Q%B2j`Kd*sTpv~B^Ns|Z9AR44JtiJ zj*2oFMLiMZrXEmjt33>f*GhnR5rs(R$SA%E4<5D|m0<_#(>$j;-qN_mSspE0v1(xs zZ?*8-mnkUMfbq-dNVOm464%s6*2}(rbgVIOyQuA1vbEtyI?n@l2LAI>{>Wz;x!#^P z{iL&)rVDF@qoK>$=MJR*BCu+KH{$hRWLtfA(GeWt?8`hM*xNCE;9W%_M&RrEBf#7% zIRMSivr^fj7 literal 0 HcmV?d00001 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9f32a49 --- /dev/null +++ b/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2025, acidvegas + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7c100b4 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +

Shardz

+

+ +

+ +Shardz is a lightweight C utility that shards *(splits)* the output of any process for distributed processing. It allows you to easily distribute workloads across multiple processes or machines by splitting input streams into evenly distributed chunks. + +## Use Cases +- Distributing large datasets across multiple workers +- Parallel processing of log files +- Load balancing input streams +- Splitting any line-based input for distributed processing + +## Building +```bash +gcc -o shardz shardz.c +``` + +## Usage +```bash +some_command | shardz INDEX/TOTAL +``` + +Where: +- `INDEX` is the shard number (starting from 1) +- `TOTAL` is the total number of shards + +### Examples +- Machine number 1 would run: +```bash +curl https://example.com/large_file.txt | shardz 1/3 +``` + +- Machine number 2 would run: +```bash +curl https://example.com/large_file.txt | shardz 2/3 +``` + +- Machine number 3 would run: +```bash +curl https://example.com/large_file.txt | shardz 3/3 +``` + +## How It Works + +Shardz uses a modulo operation to determine which lines should be processed by each shard. For example, with `3` total shards: +- Shard 1 processes lines 1, 4, 7, 10, ... +- Shard 2 processes lines 2, 5, 8, 11, ... +- Shard 3 processes lines 3, 6, 9, 12, ... + +This ensures an even distribution of the workload across all shards. + +--- + +###### Mirrors: [acid.vegas](https://git.acid.vegas/shardz) • [SuperNETs](https://git.supernets.org/acidvegas/shardz) • [GitHub](https://github.com/acidvegas/shardz) • [GitLab](https://gitlab.com/acidvegas/shardz) • [Codeberg](https://codeberg.org/acidvegas/shardz) diff --git a/shardz.c b/shardz.c new file mode 100644 index 0000000..1564119 --- /dev/null +++ b/shardz.c @@ -0,0 +1,57 @@ +// SHARDZ - Shard the output of any process for distributed processin - Developed by acidvegas in C (https://github.com/acidvegas/shardz) +// shardz.c + +#include +#include +#include + +void print_usage(const char* program_name) { + fprintf(stderr, "Usage: %s INDEX/TOTAL\n", program_name); + exit(1); +} + +int main(int argc, char *argv[]) { + if (argc != 2) { + print_usage(argv[0]); + } + + char *slash = strchr(argv[1], '/'); + if (!slash) { + print_usage(argv[0]); + } + + *slash = '\0'; + char *index_str = argv[1]; + char *total_str = slash + 1; + + char *endptr; + long index = strtol(index_str, &endptr, 10); + if (*endptr != '\0' || index < 1) { + print_usage(argv[0]); + } + + long total = strtol(total_str, &endptr, 10); + if (*endptr != '\0' || total < 1) { + print_usage(argv[0]); + } + + if (index > total) { + fprintf(stderr, "Error: INDEX cannot be greater than TOTAL\n"); + exit(1); + } + + char *line = NULL; + size_t len = 0; + ssize_t read; + long current_line = 1; + + while ((read = getline(&line, &len, stdin)) != -1) { + if (((current_line - index) % total) == 0) { + printf("%s", line); + } + current_line++; + } + + free(line); + return 0; +} \ No newline at end of file