From 54e563f0c795ed3a99962738205ab53f6653e7ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 12 Mar 2019 14:41:55 +0000 Subject: [PATCH] Kernel 0.92+ --- .A2osX Issue List.xlsx | Bin 55751 -> 57468 bytes .Docs/KERNEL.md | 37 +++++- .Docs/LIBTCPIP.md | 8 +- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/CUT.S.txt | 279 +++++++++++++++++++++++++++++++++++++++ BIN/LS.S.txt | 44 +++--- BIN/MORE.S.txt | 23 +++- INC/A2osX.I.txt | 7 +- SBIN/LOGIN.S.txt | 24 +++- SYS/KERNEL.S.JMP.txt | 6 +- SYS/KERNEL.S.PWD.txt | 44 ++++++ SYS/KERNEL.S.txt | 1 + Technical Spec.md | 2 +- 13 files changed, 436 insertions(+), 39 deletions(-) create mode 100644 BIN/CUT.S.txt create mode 100644 SYS/KERNEL.S.PWD.txt diff --git a/.A2osX Issue List.xlsx b/.A2osX Issue List.xlsx index 8f7672fe4b6ff11ef9d715c435c1445c5aec0462..06572a6dcf081384b630c7ab596a87f63ca11887 100644 GIT binary patch delta 53184 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
aGAkccVB_HHkZ}G^=k2s#2CWg$}Y%ju%d`pN-!U z9qA@g(-WAs^!-1M#OMoe%C&^)i|379CDquEf7JCBWu zz=lgHo(YgMtGv>8mgoOeZ9;^kqfCh&w``(OxLBYBz!c$2p-sw_qA+BN#lXf#=}MkT zXnCwOlVHCp|A2X~1+Pz0nrO^TWs1l^TnhBBm{&L~OFOh_j+ZsH8(f zap=yKak(;bSuk3$Bm6ePA%P>~NrN-@T)|ZW2*A|b%ATppOw<;mbA-i4f{wbA4wf-m zHNYeMQ9j3HW#(KQTL1a7R%E)V1sRDoc;Mp{fig)n+^iD*IEh>vSDKHR35@P0S@f)M zF1#$<$Ko9Jd_Fu>B-1`m19`IwUOXCZ@(~}4MO#Z4ISgd;usu;{rZrUz`Rkq1`UPSj z8Vea?Jiw0~iz)*4lRdu~_$kreNYb`L)|~c9Y-l1c^jd}rq8L-{RrZ?Ie-A1DgeJO_ zignksAxSydOcR<-y^`aVYyY3IgUxkf3QVYWc9t~tpU*=kr?e0p9!>zhhMm53`Q&;c>aP(>}B@~Vnh;zLj1=QvfJV1SLvLgaK9)eC2HuXt6cWI4QnI= znmd1T*aap9$X4ga=WzmMB&c>{u_@J~Dgn6q=LJ2gW%RZK^iO>{zTcU25~CUv(u@{qR`%uK7`bAlr06| z7=NlcYL}Y|q}1hC#;-YFkaM)jRh{pSax8hJMvjN-3P@!7p%E(!Ii)(HBD!TVla_Yl zp61bod9`IIeTilFi|_Ng z)?aQ4cpcJyE$Z;~Azm!|;0F@Bg2lVrh4z~t_HOm7vW^A4%)i`Uzsk}nHPyJAf&Vc0 z`*6HHgKqC{?~JnYPG`#>e3ze7Ca1Tgu|M3~;a{Epo}BK7cvZ=1muLf51Z&vh&u4&41!nubFUnUCN#rbpl1q!GcqLIgTQ}t~Dbxhq; zg!zfW>q?j z9A_7Sd5q6O{fJiM0mH-rPoWqC;F_hKLP%%RJ#0+n;y6{7A$}Yd8~W2>*2?XDktc2^ZH)T5$)x@B_e^hd~6n#3S6aaM!;1#v#e+^9t z3R>@RU_gt-i#pLSRgU$l*e@L(roTq*5~%BRU}GB!dn~=IZ;t)b2vA!w=%nEoA4PT9 zOh)r$@J~<9i|#5cVYJvduxhy^aLm)wosl18W$=B06A$T6(Xf-?M8CGDh@kgyB0>`b zt%MFlxjBMh&&+6S3TN7&({?e(<9nfW@K7xZT2m#$!2LU+&4$S ztcati`5KOId}x8^($QXha#=BGcuhV3fud{FLo>Aih?m*46wi+$cZ5Gjdd%dG?Y z-*MA|6rkGzd%?}|t6Q&Y9uQXGY;) z3=gbpV#eobbp~YAAiYDPvsu_PPRTC~!M6xJ7tk}LIwPWA5C8|oH>kg5gBULxrqxFZ z0g;f*h)Mw%xPk+y9a&zCE+b{Oex8$^$>KW>_ zw|n}(@B}zQ_(Aw98Wv^<*?&XtAciNW?s?mFQi`|gB{ke4jhiN$ijJfW9=CwEvzNQw)8$sy@PXqPCZS$GzBd`>STI$>=D&o_Hw%H#0s>15bjQh1b-wz zFWUlYX0IB{K%OFg{=z-yA|H~rdU3~JYF1hR>VrH|N27SBk*9gs%uYAntjDhIb;G2R z)4R0r-tOED5usePI)Hyug>mR%|K_O^-evN7WcBpt>%havj)4}Fyz8*xWqkO+UF*@C zRoP2f9(sH@7}%6HpWr*ASKl^~#qg1j9e_{g2a%`4i~H-Vv)7A1TJywiO>Kq#JRk0l zy`F7RUM15FGqW4Q6hKd)`GGokt767l2BhG(#yhjO{OtB?PwY3N^Xlf8Pv?GXz3)zT zci)88zxHH=O;4Yr-90(Qmwo>1TF+9Yp;7zX-b>c|cKqkh!+2z^w&9HP_1zr0GVb$d8->dV%h{h+aFHW~top#QyD%GuvmWtAwpL(-vnU)W&TDLYo zjl6HC=h;(8u@4en9lSMdX6l10848Gn1?4NXs4z)9El@!(W6gAk=DD0LO6fRgMfbCD zO(H_+QeBTqr~QP(TR?>76*X|ED^UV^Jn9vkj0X{%?PF)kyy|6qOvN_1KT{3XH>;>e zD;iTp;T;4`WO%t17#B6H=G`v;Hj3YxE-zQ6a$^0WRv6{!CdgB+iBC)Z$%xdkcauah zWnW@q#exwBts?c8#)3RfV(EVTK_U7f@?$>F=Fy+JWsQf|OD)&dn06DC(5MlBi7~c< zP=eZP!nT4vw$-emzo}=JibZK6k%xcoB5{mErq%~I_CI*CW1$3=c?uMwdBI;mIo2QK zw!9|^T%TPre zhifzGZu(v1i+r4$FZIndP81LWm_hblC)%O-@_7!##g-Bai>HJc>IPKB6o8O2nuobI z#0(uW!c7H!`#1U1JiYzRBGz-u!LEpkt_8Lgw zE3SRsSjjCXEQFGiAcEIXDY!!wTRI~sd|uLALn#hAIwz2DA8b_*B?dIF6P2QR!aF;I zi5ss5I@MKNzY@3jVQW)35j56wr|rew7JHOwyf=HfuE}6f#M^$3n;xl_NVNSRDc(8W z1j5%hzc(@+(dQjTGeZ%)TjtGvEB@5w=_u~GgjNyJ4|9upi!pR~Jm9JI<2`X-O}JO# zI_9DynToUoLuq*?E++6|VJoBqExL*{w<|50#(6rL{&M>Bd_B@d;N{%XWbAh^?i4R5 zLaqFaJ6m3;-CkQA|}~Tvo#2Nq_G1 zYAy*NMcb57)rBr97SPc`OGcv5jJDaQXWK$3&r^5Q(+T`#I}`<#iZS)Bs63q?ssEjw zYU~uWYL!m0K!LSom@vkijKvIF#kP&XAC0m3?eLoL*nmgbNu9o*AFBrynbR<)-xaB! zT;sv0{R~(sVSxuS3k2gd%^(W7nVV6FXz{vg&SHo{^e`LZB5%&_P&DmJV)z-22koHg zQZ%f*h@z#tUNNFSy~KsQ4-V6TSw87ED0%+Av&0s$_S-BG6sI$2?>IEZlWB+dfzsbc z#f{QGgd7eP8wOJy^d*>WfZlK*A2O)zEF&LQJy5e+JIEe*_9$>C)$DI8V$4tciD7!h zkUxJxg~DN-(f2ueDZJyeRt1LqK`#oCaYD_YS{5u0NHZ%+3^&I3Yk;|Wae{NRyEZ z8iqijI0jZG@=fr>$d^Jp#4~Y;|NJ+o&;lc z5d`@tIi_chD#$XXasJpH6<<%6bpct@X@@5hU$z`namA8T60>h8nOX9vg(;g7efV)Y zV1MezMdXYQJ=uk^x7x=RjY4FJxl_%;i5*XK|Cc{QIjP^_8jnOR=|`4l8$yUr+L$+h zn!c1N2dcS1?V@W=S3I9Ay7AbOJkF3OZLy?H1nUe%gjU^JRawM*Y0-X5$bhd9ri?=z z^vS=Zb3p!crnWnaLp)w3-kdI^UfH}|e|(Mk$O*X=C*f=sE8v}R)L$cU-4K^L*dd&tX?h#ENS_#WWI8Y(w8Z?e9qFp(qO2_&*d>~&r@4& z+Hr%$%137A55=Cu;?~0vAP5@LnC->?ZdKQgk)oK@jY5R>AtHQDAuh%S*9QYFHXwwS zgvkSChD!{h6-8GC=J8&?pz>%iWu6cE!Twrc@2U$j>^+iXK<`(#49gkv3KakZTvynr z^A?}X1Q$CINWONI%gR&gMP7Nso^+&^nkomj&mfK|p-Vh0V#=8W6ys?vn9QdZ)k73y zHH_t(Xj1swVi)~5VTegedkhnUu5L)p_=amP#i%%xUl?*Si#XOugcNMLSPa`Bz^Gmm z$gT>@rNA(##H@wMD2$Ay3cDu(;F@}mKwSN-!5K|5L(`}&SaA!&(yW@{&sv>xRgWKOY_hRCgfT9X?6?EHx=vutC*?R`@pabLAN-JHvK4D728w!klTc9J;KkvzOk04;6+Fr6Dewvn#?rf`Ev6D3FVahp4{sX z)AdT#K*ZX_IvrtyJ>%dTTeFFF^X8IEYAIe&Ii|Wuv(SjjzI&piJ)FjlYkV9r=e}`{ zE~gHJ?cpMnnK73wp?L++UHT5eK zdr+3-QT$Xop4x#tl$`0}xqFX}`ftYx@uJljQTJ2J`Y43({K}y;QwCknCg&cr6iZvw zmNgRFK-cF_%00z!qlNGcyHGHP)guy3C9dM1Ip}`Q)gQLFY!jIS%%x^a%ECNQC-JJw zE#RY0k~VM}n&16KVpY~URh(zbDkqAewZHO0YyU}!bR5UeXv*QRPSDi1s~d7tu&amF zA{M*3%F5JEZG)R@ARKzNg~aVKTd+0prh%NnuW_43tg~d@-OF6;*CwbbK_NQ8wbC>d zIB14ZB8K$VH6Z{2?4p>OJ81(v(fvr9h;sehx~?ix-{5z>8`Xbm02%^cW(DJiWLjZxMCXL-OqJ_OUiF`tQ|bKyH|OTKCGPJZ}ksT#Uj z2bIl&o3`rv{-(6@%f;aY9jV;9?R*1atXxW4zPU^!LwzYHXBB&Cnbl2-&Sa9<06T)| zx3nr#UG_mD$eYHKwI$!53}41AxsU`quovj6q?Z8+>1@)>smg4E40whY@pWIPk&q3x zssx8-ecVP}+AoW+i%L~?`q*Kh&$>KCD&yalrl7e&L?zsueVNS!y*V7cm^0)xM-u;P z6Px?g8mxDkuJgp}iC|bmC#Hx|)z~R!?#9Mtdc(%t*`(5Y@$E=(dFroh)){gbJU2j6 zT_HNzvjrq&1-M|+r(#Sim_!Ad?4=9vv`GcTVx4U)Lx1d7BQ(PWESbZx+~37uH%ni?)p|8X`X{q{5J1FOSvB#?YAH0(htJz@u?M83blTC@?dB$8 zAY_W9QVGT9ey#MG2w2354OE9BW@g_+9A`9_dkGFvk(;36+kn;GR}#JLtGM~Xk!sw- z2{jfE>uITil|7^SMc70Cag09h73@wIrhF!0d!rfWYoypU-^Y=3%uNiVtE8kd z^6Q@^x3FidOStS$Rx1>Vh?j$>CKroV?vr` z3TiQu>8oUZH2hiHu0EF!8NKEMp#;Z=(>f{>DY!T@ag#A4#2XXwL)q+XmD~j8JCkhC z(0&dcAOfoEpTRuL`aLwQEva}c@G}$D&bH$Yu$Dfi!-FH}0J|A#3_I92+Vz-dLVhw% zHCk5~u^Tv4=l~)Da1}+08if0+N>z>_yy-;KFMX%uPCVxogKj+5jTu~^&OU=#m{$0- z{c&;CLjp`|fEa~YEcP-T`~KimCRwY90q=LPhM_1H_^8aHi!klC^$_9KTHYWmI4TQs zNI^IVUJT%e1DeLqHIw&rMl%v+rw9|)58jx3QsY{QX}p*S!RpM1xPhY$5&1%a#+D-x z(=!HngEii*-p@gjm%9J-{O=hC8B%4|mqE`}G7{#;NeWmIKryck`~*|WtC zfopLpMZ`!GpR|~6hp(?gatcoz7}ak>M9O=cbF_eGF-mTzlf&taC`-#^wt@25&tpfP zoSzh|ETjDE2&gAQR$BUu#ve>9edV9s2z@u}agE^$+rY)kDg7fzopl0yOg7zyacR@} z*l;_2#SyG{`FQD9Q3Qv>g+RnVtF%VB+AmtAI#GpdR#ppH;Rp$;lLR{p%N!_#> zKwDvii}s2Hl0ABMI?h>pAIE#F(5aHOmPGWbF_6XX!4k(7x8}R8f4Ld9Kdn$;?Sy-N zHN!K_kN*XgKx)4mK?yG~=GSswMb{SOP9v!P=yErsJTAA;Sj%P};|wAfSF{b3(lD`={%Sf}S-hSp%cJ%qm-YIfR@mA7UhSJndyK)wy~= zUD&Y|)ys>kP+fI+XN2$gqrr7X?I!9@K;kWop0%8hy-mB>x76pY1Aw<-;L_e^w5+*u zviN^kXJl=f%nTC81NGd^d_H!3aRq~96PoJt+?fH-Lo{g5GlFzNKW9{E+RqFUcLVqA zE}xIxP5armBhq_6jjHmxcp_ zgr9IX%nzR*=Et|x$BzSOexhxa+H)hV!1I4uYH97X+3@Za0g2-wG}&=B5<8wOMTrrq z^J!o>E8sW`pe>sL6wD<%LCMe;&2lt`x z{RC#z<^mtVc5FtLIg4nQsiubR2C11)Xv|eGe5QqlLBaBA@g0v`f5g7SZS zz__$yfDV=D=arPZn~Xf1l}XkBc%GCH0rhz<=VQ-N@iqct$CIBd-Z4Nsj!SB74z-G= zWj41vL3w!{Qcd%h5s|Zm*T%`b;YuVR;SZ`qE$3tYlE=dW>gO+`I2X7{v|}?qk)n1q zGZ{%bFS5K)4C#&EETbD?@R~;->sK0heVt7M zi$OvkRN30RUn6-$hmYVIK?#A8ps{sk#{f+Yj+AX46~+&pct&XgKl8q1xAA{sc8DMb z2|+kZ5F>GXC9+vSo*#(79Rn0UD@@=vhpO<`i8?_^fc1UbW@Dr%5=h=o&rdIQhxlWV z@Q2e5dlxjY#{4Bu#|0$(;W)NqfO!%ZVm;Zh&nV3@6pT(lLSOW?IvsyT&;ot)@{@J- zaDFmK=)+mbhR?_JEt6+ag6ed}p->eTL&fDNoH9EQBmFF9 zW(P~$7SggAVA20flD&VSPC%nkn3+PD2%aoawobU4{UyFUB^p>j?&k*z+;dRNd6L4x z2u{HoL7CqRrClRMn#FuCB#0t2kf5!Yp;5r2k}+05zOO=$>nt|v9pZ1+nUY zB;f~%Rf~~0iI>R=qM*D_ka;@>sK{F4uc)*+)GGN_rl5QPhHih*1ZE}~^9YrwYF2H7y^>`!zqTG zkLgPX5#N$a-$-`ZnzdsqD*RT7#LJ=Lr`kHYjOzZO^mMX)cvWr7AfX3(yq5FB^!Sz> zJ@^atJGP?fiROP!tWlg9_26d}tuSeNj1mTVW+~jQlhPyfFi7aZ8G;yz=_zru$c|Cq zekjZAzH19mq4x0T$S5gJQK{7Y&@CZ9lb-CGSN|I2&o1K*k6O;hF0XLdYy>3*Ck+YL zjPkaMexX%4W8XZC-pm^7orN*Q?or}AN_G!W-b2#RYuSIy{K7WYlMsSX?yr({dV%Sb zh{OZ1l+)#-yU%VYEOeKn(Dr~4uh~p*pNk#v8t9|<(K$mJhF_haH%c>1QehJe0WU_J zLai{yCo9F`ibXP2C_nIF%oC4{lIVd9r&szhV1!5CSa0+=geC~r`iMsdgXn>nCLYF^rOPMxSFD@JxXXoY3%_qP3gl_50kvbl20_b`%(U{@YycWv0)-gSaa`u0y0d`pMQbqB_VTIE&VkZNuFlZ?o z8OGVTxC+%6_{->Lv%WgG)tHJDYgwTMa)M}KKupVO1u#l3(8QUjaR`W-&<)^@QGXB) zvu0DYoncaOVU+kE1`P=d1}Oh=L5TeKt-0co@!uh||B+sEvQG>tSo)*g9>#G|Mn7{0 zL>hmE2t<~}di2MaC^WR%-J;s{fS8(OLD!=OGA1K+t4!I=z*f=bA@G~-3jH3Q7&rAzRRjOrf7eWJTCSy4xbWVC^4gm#F(WQ8EZYBBQhhjE8KlX?=sH7Vj>~n zjGP3T3iBJz)8)3j=y!xCr(1cZnz%;+$AFlpWNpWzB;HU0P`t4~jtBTE+Fb|!8?k=~ z{+k$_;l9_cgZaiN$+u7dBup3(yI&=H=?ZxP@PPl$kV>SgZ#P|G-+K%G&rFj^@>kxk zEB+_)R{&%F`_^npE;Id~k-t^nPpB03jkVyvRdq80z-hqYwJFz-U#TghuLno~uo+DN z#0k|2-&!vL4gmoW2!{kPx(^7LH%)((ciN8RKPylP0FbDZ{|wOn2LWnnqV&$_)GGQ_ zLGX@l3cZ_|-o^qbj?8e%DDf`Qsq*sM*t_K6IlUvsHU?b>#^^=#43j}HdSL{(pHY`H zvzt{WwK$|E7$xo}S~R?2Hkbhrb!|pLR!9;Ja5-2spaKQNI7Yy{nTovEb%cKc(@w~5 z)PNM<42UBjrNDu707O5GsC~09K!x0$^-#u2%kk*u7p=zW&v4%(k&uyRxh~GBujqege;|O3Rsrwk)u-@Y(ok5^@+>InVi;A)yNvq6$v?$! zPFh99*JcCta25t5S?6J+RouP|6j(ChGhL#{>qJLlfVGvd6k<}+oB?qnWLU}xF#PEa zVkrabpQqSYaQ+wvUN{X#3ZsMr=rxKI2E-gB%d`|KIT5x3YeYf@Hb8$uMypNuRr8xd zUhFAeCE`l}u~(_ImN$Eaffeo-=^b4>s{+oX=H-)^5QTi--nk;}Z zr*ir!+LR?-n}gv{+{s-T3VerD(S9hM<@Pm$;Je9?k!Mu$!bEXB5my3;UC-pKyyZ|w zH4K^L6RRtcP0c7T5bBQP=~jP)t29PtTyfpU}q+NUsnNRDRoO_h9GOswgG7QNaHe9Fim z6Q?se)=3XDvirQq6e>mu35jaTy$vvWv?Cm_&QWol?D;R`MSn3Yu2a?;g+E&x4}T+D zpyz29&V(n6@+LmP*Yh1hB z2}(PSU&ViFdtgw6I}h_thmh43)4sOtUvOG0wdf%dcQwBb&JG|yT`1sS^ zhja6)K6m`>?9=1^`Kx`+Egw4jb^rL`yg8>Aw>peFu)_m?`UQ{t!yLF|!~TD+Y5FtV z-WdIJO1x~?4Mr#>(BPz|F!?NXJ_{Fqy4wG|Nial?2-@v)gJh}{kP#`zr4Q; z2H#)mrY^r9U%%Qey#9Xy00030{{sL}O9PWj%nN^aCn?E@2LJ%iAOHXp0001ZY%g?Z zWo>0IbZBL5Wic*zZEWmW&5IjH7QZj#e`xwH>#JKIgJq*nPwW}nSh7QoHBw1kp6V`9 zRhqFdhG3uevapa1xdd{{AuJn6ASRdmF$S9?`$z1n>Q;A^RI+CVvt*YU!O&g$y;r|_ z@6~^MPgOT>KZ~h%hPfat>G;(f72m_jl+8%8==hH(qf*QFgha^bO&7t8}zl9g#%@fwx2n6EIw< zRYsLM{8yhqKWUGm1B?u5#S55-ogsh4#}iXdma^mD1+BgTdHeeHo0mVmdHM63SFhf@ z{8u)&R%OW@qGVyp{qf!3|NYGu-tRwt`^T66NT=S$3lsnDpMQP#%dhWK4=XNA@%F19 z-u?8$+pquj+xK5Ow0Ai=G2s&uW8vM$=iVb0!vY=r@d>}2#3Vw*l0XsYcBp?I%E$uV zUnA0DTu(|X;CteQ` zr%5K{#0sQB=#a$Vm$i!^xY~cR&G8ej$Ea)71AJy9VOt>TAV0y>GUFYzk|=hmoS>MR z20ubFa*-Ub`P9S>g#=G8FlF9whJ|p+Jm9ci!|C@R!?@jkOxLlE6A`|GW$A? z>t4o(9^<-~$xc>2PA^lmFVNYj(~k6%N1yq`dyjnPgwnBGQ+y=!sgHnPG_w&5Dmi`J ziSr}CWdx6^%)tZ}Zo!e3@i>#85gCmmw1lIfs;`tRM5cNnyd@KGVx)(ix)q+T;$t>T zPdckrb*hWI3znuA^=+KO#~F4ZY!>Pm#0>jhS~)@ZILj-%_gBOqZ@xb5y21PEIQTbMQB{s*X_ck z7CmJOJs*TtL8IAvAB(H{8sxTf15M0KK@;!1<2ULdgv=BzJN_I_jNvg}LhK0js|(Qu zT)RvqPdEHkGRu++IY1&x4X%?;nhjziG508mJHA?e?gpCZ9HO~ZYmgBBwB*{5R{m_{ z!0EP=@qB-dr_yx0F`_J;zCwmibA|I;Eq-;dl4L7z_c)rJdna_oA0Y^_uvt|GoDl&R z2i4S?GXghZc_J&~Z>un6Y1h1p(lL~dBf5-GR#D7kp2Br1&*|v5+y=&5wq`J>VUny6 zo-9;>HH~Uj)4Xb=9QIb-4+|;F8A-FKnO0U&Rnvc+#jF`NWnjyeS1a-ctBr{vro+!P zx9pbJ2&KrD>K=ygwsEyk7 zcCS%t*Sn)qFzB^P?S7+I8Z`RN!D!GATkSK^3*S4_;GkRY2aRE?)Ts9RrJzw!>u9x0 z&7fB62F-437<6A`{S25O%_Esnz|NZBt^boj%oTs`CT$b%2LJ%HLI3~_0001ZY%g|AY++C~umUa9}Va;mD4%Gu^@4ig{>cR`AjMpbi_Dm7JQz`!bgp|(jN zRsVZu{kq0pGk|R_QtrcHFZS#+&%EsHdd=|V&bEY4rsosa8Hvh`EDEMGcNfH2jl|y{ zr=5SkDENWlEDXza%#pY^eevb^`|pN+u(!PX63k^F|z>bPEn0{B0D@Oh_}hybA5kz8Qg$4$z3kV+$^HhC0znZvm9dFg^t%WKy=*-6zX+cU3tAK^WbRt7Cj?*(KoNho zIEHOTSKJ#GnR$d>wlr*F?W5){Z3qn*UuP4bGei{i5dELgtFG2pU0RS9wJ2lDTg^t| z6#iuRqa4?zSk6458rC4~rtJ|3I}zW9`}o zy|57c5--l{ksFHlpF)+*9|G1#n-1yL-MC689lI= zIS}*&f_!sF0VutGzptyeimHamxc$9)-BO+YB(Lh`Mwy%Hpx}dbI z_CsqnkAUI(N(fq_8mg3p>WdvKj7o^=nd>c}luYZR9)wiXHXd5$G5{a)$ZAbL19w9` z$_)Z2yvD-?F;=c)Sa2vMcO;+mPN+el+#HFvxgc8`#2#e0IPU1BaUaM#LOdZH6l6n=@N5DFtvFdi1M5C73#oREs_E7SOtPLRU+ ziXa7G-8xYkKG~pes28Nz5^9lmV%0{9E0_U!9}~^UJFvj>_CgA89u5*nW?1A6%^^G4vCK*w zFzjy0EdRiifzF`lN)SDSiA;PLRWs2EgqXxii)1rm@3gbz3cF?6!Re^dy9HyjvG%Vl zvT|%QS?GcVqv({b76xQa*O|Zk+fT$LkYI?wd;{DKrroo4&Y2r zye^Qbf^jM?fu|y5+=d>O519vEkL;Wdv{mB~WG;VPe|azcDtbS6V1|XE zsvyb@MMxr!LwRz^yXLWziM%8HRt)@Hw(9`PT7W@Yol-B#6Lq6TCy#Q}t+Cq%&Tyg> zK8h%$zxV<5u{p{?!ad~da6pDf&S~{^wt|O3si5Ly3W_^Kf;yDN`ZoixTG*l1W#u@^ zZz}9jt|Syt^(lW@E$n(qg6b7YqKGZd0ppfqLqFpKHNc=tIqXEVH4s^`l`wI1LduDR zY8J|!glnQRU{QkD@!YaN;^~3KrMBRl$8!NQMDY+qsf9N?db}uLEoBq|4`y}^z-!b?VNcLE$nc~? zU|Fs^&PB_$RUi2xtRw$=lU^|-daXn@Pd;( zwq>v^y~%%^u%JNc_`#0Ic+gKaQ*c#)FP=iGpwBB&4?FVn27Ezt)W|fVVg%Kz(i|J- zCck)G$D@b!Lsb3VJsxjmIg@%4^(^^9%#>VmS4Z9(}Wa4 zyqp7OOWZ8SP7zJ+;YXclI1W`!&J`Vs$z9D*c1nM4fVobE3tf>V>SJ;K%2`qY#8rNd zj>7ZDQVOlOnwdvgTy)7L)U!~YGBIcqW1#{$J_xi4?|egJGK*5MG$v@!_HT&W;-cGm z?pc6$O6~zC$Z`*s$M%`a!Gx21_Ti3X)ow?(SC(?cL`K~^ST09I!Np1WOja_7!EG?* zgkXPl@8uE5wbawcbj(xgwoB4qxRV+7E;AdXbK9fSjm`pnzj-9SqkAnaCPZdiV!^9u z>CWYBYc$AQ?6S?);hS**eYro}hMo2Tnk~$wv9*H7^vjW$9sd%(GzKMAeATbylN*F0 zMq+mSmcE&$^k~GvZsxZ>yhsM0!qy`r@!x;flRN$4^|agR%aeXby*0Itu1y{~ntDHZ zc$n&PSHAxbbfUk6Fo0L|FZiW_@D~wayQ88Gd<%Y$z>AfQ!N1SiMj~?(!4LBVz-F=Q z-JbkPQ{>L{R#rM{&**phy<4p_)s*f-Po2EhrW%7?I}f`eONtWxoC5`~4FY1D7I795 zTO}4^Tfs{000yKlfl&%f5e^ZavMjM z=f69`?~qGtXP{}4;7z{Jwj3Y`iU{+91|Z2Dwl}5-6iKvj>ncDLd$uF`H8x`RYd=^& z$^QQ5WPxB6+%q3`X1isHC}id3nVAvz@QELcU0*!(=?0f2QAWJ*N5A53fJ}?7KW)1m2zI-*4S77W3nJJs;eslO*4r z&C@C0+|IH|vfyKOSI_5Jnhf*%G+j)_^@F{=FYA+JG~Eh=*>bvI+*jWmY=z}?^rvOo z^haNQv$ys7yL|NeyT$8vo-fmIHQW8JzIgpzT@U?>=4>)yZso@(f9ZYlaWu=y&wGnx zvCJz^FIufm`QgcOG_Lg97(XPBdAJ*WO!LrtoGy}2p_OH`tTM4ix6;WYg?8l>S24x!mX^B>O!tTlhk7wM!jZ0oe$e=m>O?liBj&f0G(&%*;t zxJwrcZAPoxz3zsiy#RNG86#y#L6%JK(r^=*Yd3_`SxASh+O}dkTkS!p%`$(8%)GQd zY_f~Tc}hRa+uNsS%|$le>DlMoQHD@0?ll1fCeK4FA0)h@Nj$yF!0j+drfg3>gKefc zyOT~A>@m|1e_C{4YeX3~-T8pG)$1bt#I73KEpvNtpN3&NP8VtYCJ!Id$Gk$sUYbsF zb*Nnu)o07Q`?%K+c|gp=#c28=xNseZOGuK0(^1aMrs-gj4&xNWQG;=sWK49Fhv`gf zO<75vRt9a~8i&mjh!6z>_N;Py{Q)r@BpK|$J`88bf2I1((#0}^K+{Kl%$H*^@6B?t zCIe?zNQl_(b~LRHe^I~al^NvnwEV>6%sXa7#P~M&?dWcqrD4W+_p=94E<@@+vW;Ol z%Akl4fESQ0BaVcCO=>zQpk zYhUfWZ?yY6`?fHi@Tc+hULHGx5z@uL zg%FXFfl@I zf3(ADuieW=clV3X?u2AGG-whgxgwN~`TJl0ce4=pzyJ0Bn6TM$kji^t6RlK`)4)vY zDwh4!%M&Ginoc#Xo7azi)cT?Vg~DTTp79nRP)h?bUybi0z{T|rgs;t)WucPoa-7eT z0XB`WHqAb!TdzY|HcZ4B{1jxF{{652e+#S^X#BSB4c$xswg4uF8I(QrLOX((qL)bO zQlmZNgVeWaP{#^yKbU303-EF{%I9M-o!TyDi)0+8%gGIDiTC|of3d22I~64B^q8Xf zKlvctg0S8#Cnyk`qe;Q&ZaPDP*}NJ%OZ%fE?J5%I9~*pn8I`?Sjizu>;tYW@e>TG? zm0@IE#>t0eo}fQ5QS@(lLtaN|6Kt|3<6_Yag<+s@(m1_rT?Xs5s-(`*-KHH(ogjc1 zjBJ~M0`rR;ZI;c7(&==FI3;mFe%U=fUsx({z+r!<^`Y3E!DLw&$0lIZn zS%`SW#QrXwrdfeFEjPU z_=%wb9XhU`w%$o1h6a#W;5R8Q(p`XJT2-$r&5;j&C{qa73pH`}17t|CpCv#tePKFD zB%;qp69RJ?F5P9QCF6+@e{cWQk1wH5+h_+_66{t;BqL+E#5guff@#SVq+_TiH9eZr zqJavEy&*2v&~U)_DC9`}=yrr<$(s|PkvaHU^3k77xxk!vS%NhK)FHQugoxDRt}kd5ZXV)JB)4QEpKkc<#&xde%v2`Sbb z#=OHoH``Fa4y`8m8yP=oUX`I+@~Ge}s7W8`+$O)i3bU;le3KBfoJDL(RUL?X4 zIoF1OPqt!Zklu_rn4`t63|K(18SY7nOojhsFsXfABZq@|e>7|>##e&D{7~#(s7c@7 z0TTR?|JTHRl=!uukW5UIv47e%kqP|RG)(Pl0T8ddqD;t`l6 zRN@-VicjF}K#T0IK#znCksoY~zey>)OEcg@4*Vod;4E(_uNrp@T|!4@1TAEHcu0YL zvp`E|&c<$&e;_^&pz7!j6B5@hc9Iagz@_jG#t0zhyme@es=IsMx~PCabSa0je>;u0 zy_Uecr`S(H)UaWzEzD3zL1Zv?QsDTIjxvmcXwRp~;C|In4K+ybY&DpUGALYFQ`NSQ zVu}YLZLP45%sYJfWI5*&C0Bhn7{VX4&rDD+!uzAKe>=!g!lJut0`HjZftuiyllhH+ zNSu(5=y||DPaS3H&1|+PQ}Q=}_-ypaxZ>}B{aXcUiDH2?<;O8NP=35~B~639!z=0V z^Ups2tcLXh;u2od9>O_ekahU7{GwFJQTgF%qhE1~)v)3{zdx^pqOMYL7c!=ZiUr~T zZPe)le;%YvnDGqdL3~KGD^uyU2Kll)n`YIth=W)VL;#wi9g5MK7p+FunC7Clae%MN z1H7xBhkoOv{MZJ`SNNv5ErB1H5GDeqf#8!Q9}V*Gj+eu^{vwRTI;G9$GuTc>pK{lAU3+lr=cvzR?5~ zi@hxc8EVIBfnsJ-=x(1CU;37LlJ;kWd4heE zO)E6-!>p3!6&a&VWqh-4@_U%i6rf&#f9as$`!xMvTOQCnU+~j=cHF#hX{Ol}OQNZBRLywRC{M;}!J?Yl#zmBk^4E^Y%|@>RvP~r*R=B{_+*;b$Z3VT@t}CSBQTU{8 z6rI`*r`LoX{>DF7m61j54e;K+XoY%sd)04O%z%chVsqJ|NvHIPd`VfY@6Yw7xYXVS z^=ET-gy=@L9FWT@@1cgT0KXnqf52J~E5N3Q6%ga$K?QO2up(`GSYb6itZp3-D}-0e z3hf#NcBh8*@>FmX1QZ0<-u3tQ_B?^HO>6|j=_|%4EX`%FHk6R?7u|_2XbW$UK?I7; z^;vZoej&P$J_sAaFE`;PA(w;S$p;L)@eGJlRAbQ*FzwNN~7OuBw3l7ku(3!8%fOW+|W1kMZwH#Nv)99ZoQrx}V4xQfq zwj#2-6|>~U-cIkE@DXx+iviOp!Ro6V2`p2*OF(d*|VR7JZpMm`M-! z(y0YrYf%LRTkye@TOl6eAX~Rao#F^@X>D8f$m|s}zcnD8V8mB;s_j;*UL~(0bB-A# zcS=F?N7Im94ZY2QfAX=S&&||Dc%>Ezn`rxDsH5{^nTkCTKL)9#op3hBIDjG$32@eK zjzVQ}g`;Q)Z_^Nq;(lz09kSuua&w~lV#&;gQBkX~{HX-nlBnjJVL^KaHFUbIUN5wI z%|^#DoMpy$k|Z(OxxqkpmbE9pTVBz5MPko^tp{yGA96i+e{G*QW#!;P1k!rr(0~%8 zyxtodPtAQtGqVTU5m3gyf6rD#2WJ)ctr3ld=9PTK>%P`r#CtAVVSm^D?_3fyN_=o1 zy=W&cWB=K3NXkoc#%%_}VLB|Y9pjyh@$Kl7iKV&7$7U+}jyAhtr~4*^-dI5ymO@K8 z`yGXUEcPs3e~}h-D&s$mA0hR7x%(DRa4z()fU>bF6rmN#4_aC8nLH;LcBEqBXyIDe1C|yN1OKvC}pomh$A${}>XG`v9@SwoObJQcxsasN@ zz&njzIHF3;I}-5JLBfzJ1}Jh!&_+)p;fjeGHzTD5#;d1a@L!4-1?HyMp^Uy$S4L&2tX%(X_By}_;^Mc0hG@7k~xnmbAEU|uS?#Z(23Sr?*cU%3p z-K+9D66QEpswzVGeW*!;urIhY^7{U?${H%8?rldzj3^l)caLeqJR^KSnL+Jhi*Ysv@+#DefBV;jP0LW)Rwgkp?l44yVKWT+60)R z7U#IH9V~v{Tl=slBYfp|L~4-IjlKuH#J60YZW4uG0H}OvmT7@T`WAD^WO0s$e=t7; zAzeJkax!xl-v{gHpC!8ZgobQDO6%$!B3xC~!sDA{D8wt%R$m!g8L}GrR_R+0iLX*E zg&bflSkimDSXh*gEfUqo8fSDnPLB!5YhCw-vs;zzj($&RI-A40)Z9dXL=z^mMvSo< z2iLuyb_)l}=g(GOwfiQu?Cn5Jf1`QX>MQ*jtDUsV{`MbweUkWbhw!ekH-v*GbgH>2 zO)$nBgcap)T0GNuo|mav^}wm{nLWd(n%PW1H?Ox~R%B&n6pP|N2xK&D^R(W1e`>S0 z*SrwrjIb`2a_Ab z94l9|zHIa^4|jV;4)xHr+RbRJ?EKT+;#)IPzTVqIhs1Xp2ebSqHEvqv7z>I{*k$9# z)(K5bKU&sA1`ZF(G`mFmjAR=vW&;u~IBbItKDzl=RPa!{MlJ?;svmr|e??hks44fA16Bi6SvXegaVN*Ff4R0y>-IFhNk074hEO$1 zG3GWuwE7o6?(Xi|s>rUZ=u_T z#$^`bt2F3(R!q|1-qilVSCvMd!d1vy1t9;h>18sNl~>+@e?A^>`Pq3oo)ZASuY|r@ zKUHh3&8I8(aMdGQQH{%zknJ{3Ps^>Fgu^RKJDm+G&+yJ-0%kZHVDTVRu3quOmJ}Mu zpO7gd3rzHn<~`4~N4T)2|E(}8`Y;CdYWGKK@Zgu$r$nK7#SsVNB^ap=`^1oDqde`s zliM=*AgqVhf8fv}8)5z9dtD~khg0~XhI?Z_ ztj(A@3e3SQQGSl^&%L%--4V%yO!QzYBZPu(VBV_LA;mky?sm0RCN92K`B4MRy94cJ zp&IVFnBC3F?Zu#*BH#rAJ)PB1%S{pRgG~|e!;0?WfAzyn5%9xJ5%9xJ5%9yK4U<27 zwdvue6&+S$`YV>3hOhTNaadrEpFR%zU$PxSd5nSwTN4HBj6w(j zUWMT8pDJ9>`k@Sc<@U$NQA$N)UEDIu>g7H!F!QH*1ptc9 zC|ddee@lUiYUN=#lc6QStkq*P38U=bM1H77Ec*AxjUdzDLwO3tSWrV}QA~DS0wt3s z8f%d?bB1Df9yn16DlV4FHHBM*sb<)I`-FEj)58j7SDW`lNah|3_G4#pzj$ugZU(w^ zO2q>{K7MuZ zfBgy2crT+{2WMU#+9WJkX)zs`9RnbnS$!k6{YV)bw~L7wci&!ZdwIsTY(mXoiY#5d z3Hy6Q_x5(b{K{A$j_+kx`{qZY!{_X0l~GSmLTgIFM@1q!KT1+vxD>3H`+OxdApC^@}uS5WohHiPG8a z!cqsUoLNSCta`<9zg>kH7|=T8-*!dLG-oqUK#VLc>Po#=LX5Y!$lNfrudN5#%yD5k zrKj2f%?yF5R%CV4LAD$%WGI!{e+M@Y&k(bj(xKrf{p!_MuiTnN)_wE-NEwuX5TTTD zY9hu=5L15X|?`2kgG|3T3Ie}*q?k&%3+ zqNcx%C)S-3pYZ_@FY~O9zb*Kq&TuEaf3AS9{YK|k_YcP>rTM_#+V2HzBPO%&9a4?Vzb&T^0FI>!D?Em1rq89|j_-g!z0lDCq zpEi=fmZkL91MPgl!`K_VawGF1{4qyKQMR2BP_L*aPgcfPV!~2~O?7~FkC1*Cn-R%&GU6R0QY5 zR}jw%&%9n`3T5pey)N%2-X@d)8g`)o}4fUO$o!gw;|Gm0r5ZBkWaaXcm+UL3uu z@DOP(B3Fw6X7LEi3uaVT@X#C`o(IeATRQ$il&n7qe}nwD#i9UX&ih)9l^7U$oxANtb|Ko)+L05eF>++j)cTr5dYQ_f)Iwzn6Bi6ZYN@N7X<@Gi9m#$`TVM8;b4| zvCET^LrjaT!VhR$1>~dbZ752YnV8KuTw4?+f1`XU>MhQQ)kx?PlixNMONBF&;c_y6 z$vGq}blK}azt}tc_4w^nVm@SuQPeQr_+MwDQ&Gzzbg8SMd6kS8&L=xTX^tnp18EO`%s7(#~)Wy){(A@-ganq z8@+Q$HU-X#@W`-$`8M3Fu+jxYt_MV`h!hI1ZAYTPQs8s)AKIezGeY}^U#o^rW)vrO zfOSAg+ACUSWlGUA!&khke+a7uZ*4B8gzn8m$LcT*g2c zQaLy&8k)p;-G!xXinXxQk=omi82?UcB)hx$e(Q|?an4{*sh0l-X`0QpTY)5VJIWK6 z9ZU6eFjV)Ouxu?LUUO2-GyVTd?wESMN!eiY3!)UFHFT&BlKVl?iQOJ>4D6 zr!tXjb@U2UZ)j$mw2$w&EK04}F-vg=J{9-9Xjhj-Uf_9R$)W(i$c14-Q_?^(8zmV- z>FP&pJvVcsSuvWbf=gBYIVeftf>{Y*VzfVX_Jr!on?X>Y>8<|JNx<2b>1nD%V-Fs7 z1gj`yrVfhA=3oAM_~jR4|JjF%e-3c=b+KC!V(Oj2OcyXeY%lEjJ(+hZ(<>g(Kae8W%57VyB|6iO{F5IOhfrHKkw(GZ(6w zCsC`{32o?xhZfZs+u^zwuBZ#$UX|n3_IAHH;0xukV-Zae3hCc-hOQW?e@MXC9 z=Vs{1s3OkSGxnznlAqrdb$8YgeM|q@2|TM_#tNP&K_{+Jg3jZ0@TQ+$Hg8s*idnN- z8Sb*!>yelv4zri#6qSIpycn!%SR3Wa7Kq2hUQk+4{wAIxFF(F88IOlQ*G|jg=qjM; z*CGkgVdu)W`e@Fr<&N7=f9l-Lo>&&FC0lLYmg-TwGHwe3Acmgn=KIM1Sl-GfITy%G zFG^>>JU&yx>54tI`I+G`ybNvDzLU{a$Yulsy4C#Vn|PLZe}y8qL>%F zh=JYaND_w&m|_9ta;~M;(3SevQ$B!LkD{Cpl~ip*?|7)h zxIjfP5Q0Mk?vi5!e=m_T8CXw1=!ig@7w6ZPEog1mKvDZOQ6n8*wJ;>&gR#7;{S!!Y za71@z*(-3@U^283Be=s?@K)qB3C!Aft4c-zmc4J&f;Ftr(YS>Z&wM1gAB%QnrnC9a z*+rKKf&KVn07XE$zks#$leo*C*haLChJ|}09C>ED#o$Hzi3iq~#D5NSesr$1&NR+i zM8x|RS36;iGNFgARG!I9Yt=xRQ*HpnbtG^Crm|SW>;b*(lra~W0raGpF0;*xAYFwm zyWGZy6*lCk#G!a)>#dy-RIFb7vK1vc-p5kL4)h$Pq?-Qo&)U?veUIY%`K!t2pIu#Z z!;O8~;}hL7C5w4$yMGNn^@Aej$De<;u044>D$t+zCQ*l$2W5v;f9~=2@|PFu4td>u zE5$%3XiCvbWUQMeV3#Qku`@d$7u=yb9%7}<&i3WIZRQ`vzR);Woy5DV74i9qEdNwt zDdMWC=zoCKSB3?Mz%D8;qLHBlv4zh+dqR}kaYCK(kR!I`m4EcGwyFOxY%+td(!#bp zmQ}(BNICtR~&l-;Q2>Cq8MhaW2?m=D1IYO=Q(V9RvTuuUz$yie12+Rr; zP^I1pIeAi_g<}WHVT^bnM#i3SX<>w#9aYii;(ZA5XX_ruyi&>mE~j8yDv1Ar*N zO4`Bn0>+$OWJg4ykK)iB180_2PhTIa7_bh znOO8?b*`Fr8<&SRWeKQ^F~v;QLx~+iiLsOzfW_jE zD1US%*k@76mu65|{J6-n#JX^?!7ACncdn11t$pvnb+LBWN1S~x(wg;)t_Hc9X6pTTR~sJVoq6vsSaI*Z1x318s~L9e;I0fJvO>YK3taW8bXTsa>x%;L;_u5>2Qt z@xHK9r3v-c&$AD|O7}e<=K5m4{x7ze1MAm3gRtqC4hPT2WTK&tgRQ|iZce8AUYDr&PJ}_MSm#m zikN+{6w6Hd?Ou6u(M=K}`itUl9JYX+-q{RB-M>L2L_$BT@>yuiOE>1viq=C7JFu zxW&C9*l_Nq6?-d=h>#iI-*DfQp?`Edk+v3EE+SaW>WlqXd+yEntyBcI$E9UkBvXdy z$T#jcql^D(VMI*OeDUXSf2QlT+IGyhD5l@-?Y5g#AqFqt&veZy>0UMkVX?^4e=MT- zUlX|_D3Xkc zv#)woLcQ@W+v?7FeD zU+1p_{dM?MSiGv6gGp8wJ>{wlacd)n6EN4z14PwXU>{VUd2tr9wy z3YQ#-xtWAGkR4>LKrv?sDq9HHtQ>E^##D@=4bq*XX&ui37}sQqx>}msp-s{f zmdhshXqHitd33(Vlt&I+2^1-&%GhTJK*5kEX*xn@1|b^|F@H|%7w?lc>S|(zNv~yKG`8O(@$n{oopnrgtB9uhO&6$W*%lKSgw2Kp>-%O#P zaAc;UlStWkT`RjJ4H$dbHhvRJNjHM(RaT1ZZ2=i`;x$dOtUh(Chr#srbESTlWCRn_ zkubgqvsecUPH6zssqV;mB_4S2?6;6aC8|V~1B^z5UF3~-#l+@~#u1G<@8uM^tQs9@ zNq;jf%SI>+l&6DR)>RoNWB&f zU_oOiI7+8}EKb1nVQ^D~R7ub(v@Z>d^sb6Hqq26(PK#!|Colva^Z`|*%Bi^HLSB+G z8~no_LJvWeu;^dPfPb4x8Qmzfr+lZE56a%u zg)^K-x6V)ME$h3f>I)a7YOm)jhNIU*sNJ8C9=4QzHUM&O_D)$NvU5uomI?d2jjDyj* zVy=41%F;_aS78h5oeTtjZ4o@38&oRFA=2ADqcIcptm!Wq)mXaTJDU1NLgoNykNlPj zWKe4>(pV(G_V>O$JUo|8vE>>u4}V)0-(+#-9PD!vN=59|1BhrD38eTL$kurct#@9Z ze5{jbffLI|9X2~?r)ziNCS~-QAjBN$o-|%W>F`e+fc-Xn{@K3SMlb$N?(ARc?|&Lx<$C>w zG^l=$%qgD58`>QF!#4bWrAo=VV(k@YyAf05$<2sbQZq(yO<|IJc>@+oTZI?@#uQY= zdvNfV0?=cf?FYM5MggR!%V{rKSG5moZ06PgHw`^2_ zlO%(Iu7P*1nSHu4$`ML;Z0hI^l_gedwY&AL3BM`Pp$>6IdscjEZhxQM%E@?@eT(W> zYvF4l1&4ZMNgR-V?k$(+|GINYjcc&zThhEv2NHy#7x{e1XD4y4E77L1~+8im7&+Hm4pF0HtmGC}t3e)NsjzdZH$3k)AdA4aFVnEww8gsb_~nYWK3zH|`%X8V6&0P0)y=4O z|5>chGs(7;i(SH{lrT%yX2&1c#(T{64C)fRs&Qwk^YytN>R_@LaTgbkmFsU6A;K8! z6|s-{MFJP2Ab+f&Lwu+k&lPb}Ttr#!?eMnOtrJryFTcln%g}7C21#-Gb0S z>9Ts0&`nxDF(XXiBEvxT?{Z%5AnNz>Rsn=ujb(%S;z$fatCQraEq==TAT(ctxQIm=3U01uHTuAE-ajZDG9chIj16h1%4` zQ`h?-=zl6yE!>hReGrOk=HyH=2+1`+3l2m~71*$Q#*Dy9*c50xghgd{qFqD`%}*Fc z4?+keO+RXt9y@i<#FuZ{%K9OY1p#lkIqJdI_+Cy79Sfnn5~{e*KXMZLZiLuBqRlu|uaAD$mv$^jDW$IKMLe`?E}DXt zUfT^}zbzEuQyeJNJnpC|P#zHX#NrRy1_^^$1e_c^h2?F&s$;|}x1;^2-$H}yEk|{X z1b?$mqUYmNg#-j;*hku_VsgmODsPI|X?#Ph&Pu=)udi%K+rU5)VfHgn1c40zy)(<< zYNzc|bND?eYMD1vOqat`*y zS4G_04Vy?zc3F4i7(y;3>}WUy`-@MXj(>i!fAnj~POHJ_9zQ!z{a)LHJ)PR^KYuY* z3;;}#t;Kz2Rjp#Vs4}$DjPM@36|D%E7hZ{_^Q&0_I5J^TC-I7YiRFtQ7)l04w<)PY z0X2JXPy9w}`?2CW5M(Y>2jJFx?6=+!O5-;tSUixH^1`9FW}W~QU@?JTLx*OUfjgEZ zw`u7qCw3YDk?HzYc{>(*6AMptMW>s!l8}{;%LO z2UU4Ryv&bQ!6FC)Bd1mGy}$7us3!3qtcE1`*P^wB#36xBk7^AG1Tk49TtL{vBz-c{ z$voE^x;Nd-t_c1Am$q}?Z7aLZ`2PdUJDjL&qbaNlsk_s-peV{#bsdqm$A8lV2qnrM zBO{3wC3~hofIdwhtWVP4_pQAT>9grH2+&><>+qa?S$o}YJJ)=|b5sCO5TY!*A|34Q z%koatR6?OzTic>en755}^WexKW}74eYu1rPTMYh=+!n0wBNjicUSFP=t%o_TCxKcV zXLz3h`T4{f}#nwuENL4Ueqk-q#DxqykB>zMr^q>g-JSa^fb{-r(Bn< zy`v6&khq3bkX`4_{&FFwg#-wcDUy1Ss;V%3B5oBqF6fJJ9Aq`<=zkPAmF*YqWu0u1 z(?|Khu%NQgRWr-c3C8_Xez`)x<1Dsh$M2xqQ$BIWu~39{zeTU8(VY)r%<4c8oq zLG!KS{yXxyS@}lwMw#^}>JZP#>wbGB{(B?&&4e?KEeJ?K<;gM;5Fb`QzJGjtq{ZRw z8X`}3e5}PBT!Q@g(|;PZ=WCklUy;90H|^i2Iqb9Xqt5R=YiIUkBc7C{k`5gIrpbxm zwE3E6D}Xp=)#4mo2c2VDogdTS>MaMt4#kt=xrF_kWH+RY6TBi4Ay7h;k%n%Bn9azD z9}o(5-Dg3mdJMwz?vTKdZlu*gVeQXqJ!puE=Ui7%gNsxVM}IM-oX(JcREWYt{076o zTpw;iufgiciXC`QV2wIZQpe&}$`I%>RwKQ?Tp7$CuS^o?V|;HYO%g7iKAzggqd+o*mjWo{1a@v&Y&wp@Wfufey)c zf7XtzGb{M6a(_^bM17YsO2f>;6R&5q;P{nJ2r74sIq>vLO4Y~_ z51VoL(qS?{ZJPg(@c0(okMETabw+Y5LjPVpJpUOupImf+GI$Nn|&hOJkCQtSf zGl;%scNUqB5ODx-DbD&Gc&WWgPDfVayq89!hvj=jyF63X<9$(D&#!Mp6ny75}`bFw_2(I}+6BAd13aS0_ zfEYedgd}A&>X1AhKwns8GW0phft?xr1B%0SL!X}zl$mW$p15o78i$R0`Pu^jUBV>wFW0t+RQqoV==jkueI-b!aMfv`##`$9h3ueR&C* zN5ZDJi&M3u76ulg8qnxVCBfP*L+kPF389lD0e_Y>k`UN@L5#*|zk+au7dqyJJ*h-) zFi?3YhP)_)L8bncc7)beIHuq94=#`16a^IBgCRu_CIPpu(wTOmUMzS@x|#x5`sOl7 zB?U`$^c;v9--eRh=P%Iap^9EvX+lYLexPtdzpA!2qO5N%%{gPZHHq)jkLv%!kP%kS zoqtouYIUygAi%@a3o=e?cDpsHKYjH*|6E#O7F zC`>#ef2poB@fE*moG9KB@X-Tg+>I&Ei|CSFV_pgG`TOjF;FsXP6LT4Mz6^VGg(Clk zNkM+WkL<6A4(e>%z+*95kj9duLrnXMW`F5Ttn5WKyqrtzS~0{YgCNQQZ4JYpHoKh& zUFzYdL+ZIs>w@f`)SHTeCnXMLlO_sCa9n(p_BFbrwaXOb1Y_%rx{>`VXoT*=!Ht#F33Md zV#xZ{g|i71H@{q~nN(#^i7zR%}t0O6o#dE)qrB+ zmHr&RN?{4~Fm@F_9!3qD7A;kopK`7I^wE*jcwzGR5I$xdZAx@RvyC4`0ii0H&B~j> zgotJYQIc3rBucMGG9MT^7?O+_1x2!FVg-nf-c#Jhk{#Frvv>$18pR6xihmG$*nPtD zv>jHEh9bXX5pasw96SMw=BD{BDv@jpdF(`$cwY4D)O>hKl27v)H=H*g9Xk@J)}wg1yWKAz?jMwI zcD6S*3Xef+Z$ZobjrE=KHosQ?V5?Wmez>_+=!h*kkQ7{My|cGdSbw#m`pxE;!_POP zB5bEOi=gvMV}QNoE$Rj=ep+}sSFzd&GJrjEy%R9EXk90DMd=!!bZwB-E;)KqQUF7& z35OYB4LTkQ*KJ8T^U?Hu&q7hZ&(v^q&nErrTTy^?>ihe)g9&S%ANV6~DV@{EW(r@)#9h?gV)Un_|% zDeWFJA4I7PwAzP<1v6;v?3XCr+1M(th-|g@_KL*m)?RnFpnr&s&fZ?ZLRGm(_}?S@#^r$ z6Z~J_{v$rGXi{Zi(_9gg@0Enx=V|jzCf_Y6PrP@fU|Y!Q9~_DCT0oK1^dkR>Ii8~; zX6Tmfc<O z=@)-RoF*LBL+9zjj;txXC!@~9!>t*&BTMg_aVg-={C{f`46WUEiCUel^__y*9x_ew zHAGpk>dqz%ym+&}zg5y-zqeUDBsZySSBR-yjJVk^C0Dz>Q=%Zm+b{4EWZfyqoQ;>V z<2Bk*A;&dlLFO8>keiR!ljhRLKb6nK-wI};^%S$Tx=8otkS(srDW+}#-{RrM=3cwl zI6yCp%YR!ti*$pH-IBuqjqyTuP%QpwAuzZ0N+fJ=?w0Y}1-+N4M_vGqt*!Fm`qqNu zY3(i$A?>}*@kc!xS0e8-Fw*Utxw6)+Y5B3j=i8i;(TD^Al`1ot{ z&DQQt3C+&-c6mW_Yp1v1&5hmlVx9JX+Fn=rYk!WyIH`Yi)qN^td(HylGWsJdB-0|f zkWl_7@)n5CCeA7)K+1wgl6f^({WceBQh+b{mL$Q{huw_be$Eswl{3MM<6Zy5nPK)? zNQ0@}OJZ=020o#fbc(Vm@z7UbWbmb|8RpiTmu6 zsRV0ejbsH@)>kCu%c4sv9OV&da660SX?5y0;x_iO=iiZPb?KkYsVKIxrAH`&qK^5= z^N#K?`yyk#fFoS}?fK;~ml-s1Sl4fH*?)(m<%zV?u(~l-g+H@hjph2G2$1SP*|GXD zqImp^ivjJ@-8k8WGZMXSm8>*5hqcsMI^Bw z=?xJ8aV`P=8i67QiU5q101c+mx%v=~bt#{Z6!{I;K%@j<>E_Ho1qg6+-Oz)|cYpN^ zFfIe_{GZ|f3Or&Hl(*6tEBr3%0paB&{KBMH$10%<>rqGZDMtQ{O#lOyGfoRv>J7W> ztIa{ma~a=PGy)X9>kOQlG8W(kM%4?agjq;_Zt-A|m_Xjzgl01=hE`kIPSLM|sSkrn z;#lK2uq!@uy|SGnk=&_z0M?KFM}G(xpXsQCXS&`>F0&?f&FOyNOD3JG`wvfwRl7in z{n@l)@ja7uE?IDj?%eM3*HiTrpm>G!MXv3R5{TeZK8TwAtlO!l!<1(Scb~wU+Kp)^ zz=6KROh3p;(PAKOXd|nXI~BxK3Q{^1>pKzSiMa(!c!`T;#4^$Mg|+!0Cx0T9Xj~WT zp${doC0U0~3GpS_I-zhg=M7=+;kW_0{f~qcF;?Qp%d@Q*kFpC*&MWu|@Kvu&LhJY& zCzz=0SV1~x+eFpQBqCg5`SQuMce#qRd4ReMulcOCv9UnpZ|?4u^7U{*M1d|orP&wp zzH%z;^I}xA)}122Iez#=?|95f%U zZ*G;j1FggLgLd)e#_n$M5X-xSc4uRwRGZoxTYH5v)Y{xA15WFE>kD+L&Gr2fAiEn2 z#@yXmu%zupZ+7uzHMhC3y<3*Gpr4fn4%%+%U;v)mrPZ^&Kvi#V?|+q00`k4$bDC@I zm5|?Rm!NB--xbIwx67yw;7Qd=uIh-ABHM9&g=MV@1;-ElXD?W@DH8(rWfnM*Q#))s zdelEcJjTL*-~lBhyJzpR-41DM%#txr3AQ$YFB`V`Ocv38^C7Ou(rn|D`UQe>O6>(U z$yVuGso>MBjbsak`BZ?=RANaSgvWjgipXL|s zo$XGs7yBnkp}3Wx42=l^^NM=F2uISvGVVQmMXHWf4RnUwZ6IPAz|PDv8z24rL) z-t1rsy~fhPsT_{yqHCa4ST5n$lB&S#&;H?xTR`NLL9KK0oPUCcL=^JX>q%E}TF8}j zVdWbuZ*FX1MF||qL158Miq)VApa!~gR#qNDaouPWI3z)$>i#Hop*sl8ioXbH5OTYV zBo>J|wcX0Kr-1MWk-t#Ucl zu|>&7b(%l0l7E+SY*I3?rw;9RHewy@K%y#OJ3snYQj4M|V@JY+X)knCr+*C(B8gy_Rifu6K(4#8_!#Z34n9Vc=3+K#()PQLG zhZB z80=ZOj{GX^JKSssM)&w0+!Cg+uzCb(I?4B*&cP^2*y;fV2>pb+BwYn_M_PBWTAf4< z@c9rQ%3nHUr)KG$WpQUGuTDjiSRBsJTX5OQell6bUPG79on?i^*TilyYa;vH$e#KK zOmhEAm~wfn2pTJIpPHD4l@8N1a_ z+7NdLBuill%jI*@J^_4v6F`%5WpD`+S><-39#}E2u$u+U+VR2{rrVYqNGs(<;2)3ZAv>g5xYGE10Y+?B3>h)(ER zggV;Jz~KgAxaS1ceZ#MJ@?D_@Ct@&v?eqN(k5oyvmrm@kDqbe+k7 ze9)Yj1tFO8zg?A zG65xJ(G;KDu-aaZ?-H7XK~B64uRuq;9e-+2Xo``P>_&Ped=d_dbt>;z@c?p{ce19la z$_@nnI}%e=9vjQebEsl856x@(=PgnUHkZhl!4t!aRqzsS60Jn;Eml0>J_2`Sw^=;$ zB6XOtu;6GxGE=qZ(TZXjdf@|c7X%`yos4K>xBxrtB-SVn+^nK(T#?kZv)3ml8Yr!C zIe6T6iF?o)>)R!es5Z3jH`QfEco`Dw^A11R!-$G%p*(i zjE=1wKRE5Q#eCvT5*_%yLsF#*^&J-r-;dPkkMwSsB5gFF7m*e_(Os$1L4O*TU+ySDhP{e(uWyzi6f=dC_K1(jFAl3Dk)bU)4&Tbbt zhnP5(O3=e4V{~S!{a0yN7BNcol&a&Mw&@$&+00b8``4;cN(cH8r z71}IkwGG^d?S8y}kc%=+tYA+TrnL@f=WaqnQEJNmO5^$L&20ac)tRYQmtk+Pi7yw| zz}3eWW-4oMhAZvTK7VG(S}qk7>13qC31rohI~1Jt->Ne^%_Ss~O<|m^N~cM6(HTea zuX7>wrwQ@>#~ZY6PSTN?FNKp$G=CXI(jUm{T21QBbDr~6L`Ps3b&{$?e-d|jr7^eU zYp6z5=Xw31safU3+6ef>_0%ZjMoap_YjTqJ4oKsCMJL5U)PF36@en%PwJIR7jSUAc z)9N2=&KoKKoK$rt>Hjj}C?!?1Y6GmW@~y(+YCv(@T{oq37Ku&h?BN~3NMt%M&T8jN%6i zJEqukYj?ZErhm>h2?tHSO(_1L2%yT5Si~VH4=Y`Ht*u@;QG08nOiUmHs9Q`#kNE{o z)U5?s9_`M~0$18rzjU|aa4el!M`r`l-zz)z?!}b)JPhjjAb&mb@mEjSdB*!kQhc7ntyJsB zTdK&57^;lQh&hPoC?hCYA5qa0LI)!x#RdJNTk$PlXCG2zFALaKkFCq(Ihi3+hhmP} zviTW1BYzJt)Xehk(#}MB5Z_|RJK-oBLM(t@Pdbn=q&AhVtlD*;uX3L7W(_kH+Q-sf zKQ2h>_~@jl-R`{_zPo6i2?e>QW#w@3?a2VWy7}$N;JgTkU@kUa^JS9Fhak>iSWf(E zIJ{U;KHDAcU!K1m6ja_F(lV-SDbgL3i|C&oynin5J7KQjyXM-ITUjX0ELZ{c;(5xx zZ;r8WU4!OZE6oRI_su6qR6N~$YCQdl3dNlU$Ztd)x(_{-a^s;_Ap6qaHNv5!_ZiBg z_58nm46zj}Uou?Ric8(Uw)|SBkwi{rwk&v#(Zx%XjjGxs)E8eM_r1&MJyRx7t0m;0Dfzbn^PEitD8o=5l`h-|_@C$rn z{Xle2a2EYUO-T|r593L`EGbx0J4u+(u+DQt>8%a3+K9S#KD`Av`f=J+tP}R5wn>_4 z9GbP7%6*dEgX>BY@E)4vn)sAo^D=4NXMdGj85{~dr6fyjIi*I*-erS|)gw5NG|#_l zK<#U%{!{gDGIOJZPa~37-GunpzjdBce4B9pZ=N>0047+ojgMYX^4WZZQP0ZMsK(UL z{Q2_6&YSxzcx0DgQ38{8d$+^!og~q1poK(sF?d34eACk>P9_j3iJ^$KAV8w%Yk%hE z9NlueBL~Tmg&SS?L7EE*BTCJA<^o*{d<7lA42*ik7P3DQi7An9EV#2jBU03Lwv5Rd z$rectdO5fm9(O3RKig$OHtzKR|K3+lDT?o%Wo*2WoCL*=E}}fCTET9|v7Wc$4dl-%YA!+z1H4d5HdyaE%TE}yno*)Cc+OB z`H7%JWN+8%XMa=b=d<|>2Gsd0ZZe)@Dk^aU*}89m+$AhHGOmDuqi(6f(BCxr%@RcgOmeaFB z8-^0W2ofSwL%=YP6hLq%BY)^hI`RAWAFq+PI(sU~$CLZX*f9nXf>h;MOewYEn6jYa zeC65G?w!6RY|!UV?1R>9OeiSX`IpdBsMd9x*Qf{PXF4bn(zyQfQssMWdE#nJN^Bxu zKL3vWEl|69S{@ViE7Wi4JJGsk)1wQ9Tlo6r&F!yC>Da3!{dM6t<$oC!e-wwChzK4K ztM4V!v?cNg!TS=orNUSH%JF1ZoB~AhG;vBMw^wHWytd(iii5J(1U@isF@xIG<3jDTw14)R4c4w~ zn59B!*FW8hpnnNC%;94X31w!rJOUY^q(nA3z#>E~;|JkMwaQ!%z@E?}Br2gSj!jx_ z%ALWN9XM{jCpr)3UpW0zRLw5>v2$@$05J{gusHnO{MUca z{ywO549c37q=QXHv-wr?&XkcrZZ{4DE+Eqkj3Aa1oie0}R{K@2g3UHDLp|BKflUg$ z2qL?B>XhA>*CBmeJ=VxrD6azS96WL>z35qq0ppBVUwqe`3pKJ@`Ce0Dc)-VUAYb9g znzV9|MSo_IY$j0E_9SgBa51NL1nLX*D;#E2t^7x|tVoCs)4m!0?Nlc3-|0*db&APU zKEP}_!QUoCZF_>b5I%M<9fZlWSh5Q5)MVReF?S3gn@3Y>>bzo3Y?c41x^g8=%tNG$ zmVA{}NqhWk)|7RhP(*v@7w?AWIzgbE1jN|Z+J6)gC7$n&S#y^#hW`ytBONwq)mPVn zA@6_oB2a;iFk5DVrLx$mw`PK}=#_G-jsyET`v>L|~m(+3pA02QP5J)CtTUki{^o($oC zKR^DXA?wC?*_j&U615=miCP+Ej6`V))=VBkv4L|{GdTO4Uu}P}ep3$rZLs2;SN6V6 z6x}Ei^B$Fk?t_Jp-1_Rn$Ezz^Fi(G)X@3g=N@bK~od+mdCRmnwk_f59pjpN8;21;c z8Z}LI^p2>(D;R9EltVvv@oT5*KG8n^f=TVNCj%@PsP z?i3tn;2iyd&Lqn~f_m>GON8fH~BXn@J5?tcwV zh;_sVDHxpqtp%!DK+uXyQ|Nb;DQqEFPVqi#r71w7KI!s@Fvga#Z(AF$0rl-S`TeE& z7yZgtZj|Wd46>9Tms3F0at_dz%`V=67=+%S`TDlMPFXHl51SD>5X+fG#o5;{D|!&a zhNH+Xwz!^amSGS!_gJWkB{G+6Ab(K2f5PCDnP;CvF;f>FSRZITq~(J1vK{gFIZjeP zA<*M6#=MzzM=i#M6OW&iq$Z{hc}0gYyed{YBnZYtGiwK!F*o_7wCYiHaz2zjlmox& z87;|ssfW7EO3`}uN<7z&9U2DmY`P}7Gi_YrN=}N+-+DMBpC)m*ApezgBY(e}pP6^S z@aJDlFWB5k36$yQ;G}(oete)wm~>q z&#-Nl27XB^G04=RlYS_IqWDilSoEGDhiVr$T_+aG*b%FJo~#(fZ%jhrq^Xt-*Z`Uo zJ9W1ACas$QWB^Cv>L>vvVt*{UgChY}S2HQ>(kUNp@F<`%gwLhMKnmxwZGdy-28%3k zD8Kd6`x~xHSb~}<2nbKtTIQPcQI?V|jWx(n8_4i*s)*ep_FWNINjpuLZBKzj2tt4R zI9MX=&qn}lDA!!Eskl3^##IS+r-8kV)OeOGA6!#TU*Z%-2D288gMW5IAD{cjf*^`` zj5+qq*%GQDrwkRR!qz3fqHdz@DC+jFOCh~L2)oO40=WuPUy9j^1d8cR$0C>&6wygk zB*x7X5qq${7LiQgGV>C|P0N3Ij>9zapUh#*hKf0Ig9mftt6!5BNy5vd3O}V0oBQFR zHbs7v)k(Y0&FONN0e@66`y)p{98VwkhcHThNe)a^q&j~QM0jPKaG3MKnkRISOCYnQ zU1yTj=_HBufXO!x;1_NW<<4MlDOW9Q8)2zUW_1e{nY7ne^}p?{JwYB0gWc+OZ&90u zhlwHb%b!1gUd2HCJiSqCQA;XCDYGUl)VUg!UBix&vP*kte1D<*zwG`29o$nAmd<;n z`<<>I0j4!OHSqMCRjEV;aV(KH8T%CsVHtiY9gXPd#MW|tl9YHX438@ zZB{?zO2DKnvjXQbqcoxrq>LTWz0lX%VDqSss?n{3CtBK9tW=V>G5UYC{=%U+uS)~! zOpe}LW0Oghe}9s`r%P2ml@rbr5fKq}t>){WISAr1^e1BP`;Z^aeImYAAmwdiW8$|A)H z2!n?|S6C6<7bj%1+q20oR?ea)Zz3U!3~gBV$q9N+e1B&R*B>9K*IZyty=p@J@(IfT zuPRWolaP<|%9BMkx|>qwQoUO{TWha%1W0O#17#A|F%xt&MQ}_A0QEqlw>oh31cCi7 zUvvk9wZrbw2{=Z|jjUp$P0WDk79;o=4iIw(dn&4wb+w#(AxCMnYui&(wK&8~+F0_a zz|qwE4Szkfe+(7#x4KBcQN3mRN}>}A7NQKB@AS?61VsnC1rGEW=?*~?o|vN?M3LF& zk9tW`i#%yko~|$mNA8ttUgu--Rz6dY4&+#hCrpQC0*FMinraI|dyC;MR9C`Mu9kL9 z6X!$LOz69FO6Sf_b@gzM?BxE9qceG_jO(?JMt__*Ip&4VQ&Wg7wF&NcWe(frRb}vB z$=R$&q<<%M%SV->m}9k(luAR#T=`<8h(FIhDiPhqW&iN#hj2l9CFTb!Kan2r7=bZn%` z!+&AzAc@9y8e4;~02LX@b&UEy7Ik}e5@&F9OChO0((5^ar6+J$FH!&^D`47jN+UB{ z5f1U5Z5}ZQTKw2>1V3~{VMfK7xw|wmj?MLF+w0GE*PjulqE0S2oz(dBf}UuRwHoLW zo&veL$xP%Jz}IZG15 znjhnrY{BT3KKZALG1Z~}kVLNPPiWA?lYjmbS9RD#ZXNQkv;Gf5s6v_n74PKEB!8te z$$TAmws@8~FJ1FSu9ZR?56yId7Xvx6;7(W*B!G%VCZ3R|1K`pSm^k6A#i6v(q_<6E z8HV|&H?l#*vdjjAZUnP1qfxdvHF3Ak_tkQzv!k=>bm${e*J5HyCOwtCfbi}s!4@ta z?hkaSWJs^0FidQ~KxNvmW7wKr|9@cKF4nEWP$Aw#>f?ERUSsZaxNscfIPEVt%rC@4F zz+P5RCTdH;*m__$@pb+Ju?0X$UL*DH!v)mHV9d1Id<<$9nk(Y0RSDq=M{2Em*q%@ zs&;s;Ma)<3;~MAc?dhON#Tv2%w6w0Vv3V*X04 z$pAf5KmVSt8H8h;@e5*pNB=sxn)&J5ZyK||IE$WWSqJ96f!{spIF~3vQSL^V1VlQ8LBQXWP(p(8i7J%72*nd|P1Y4dlV9|z{ zdGouob7Xn*q2m+ui4TL)Ct>5ArAC^OTp&C5raCkw=KLTd0h=iLJOkU4s78UW0)7`U$MKw)tHU15nUm< zZdq23%~OZThDSg<>X$8KBZH896`wH1W)ET=GrKgm}{@v&AZ)YJDN zLFYcNi4-U)x{9+QqNXz6$M^QT_PmfXN;PDhbmYMGam0lw7#VW30W@0(55JvOBm+Js z?_FefaG^SSzz2WR&Y7z$ z0(T{%SCX}&sK*otO|t}+zBJbDKC%gTEAmCcnuS9@d6EXJ0_|78HZr8x_Vp~B-y6hY zkaEU03#Gv5hjD#-u@DR7Faj zz=7$9LtV9CM30IbQ zX$Brka_&@xM(ag)FaR$q2n&*@1S~TQO&{Efe`Ahk>LAL9TAs-^iIXUt76csE!R$#% z)2dF;@P>U^2946wlyDH<=NKy%8(5y>rV!>J3|$XAT5=4rj-rNj7|KLx;?x-}tRyF; zC?w|EoJm<0rC=v{Vv~%rDcIVfvfKab+dk_69P|u(amVdlXH*o)7VZh;xJVipKyn-y zg5Z#KkPLzdNOlMUB8-w1WE7kc^r1i_;*wnyC1+8xk_Ba!D9DI_&MG;|BI353cNBf^ z=ll8U{^;tyU){RrcActQr^6R?B!}i|LR3fJ9d|9c`;x1%Tki|kqK5);5$9nyIMFVy z-T#S9y%x<;fkhLp>c=iO=;(|VsLxfhH9CHp=Mf#bsLQV@Ja+t~-Q};fa0A#kJ`6CZ z4M*xTe`d(NlM>Hsy9T?kqP!+s(pYPjYWgR|TTyR~r%x0vF7MCkuzV+)L+q*S(v0w5 zkL)W_C1Opo2;t3tpV~~D@VTEp#mXbCVBCA4^#Crz)tGpf%n5O`Wz>4j>A&s3issJt zFEuz0@+@3UFJ4Iq!md7Wpbp`hwdV1M=e0>*Ig_`-7mVLOc{0!0*?CFxz(+q3-Lcsk zD_6Ibpy;Eb)^!O&CYacNBbJ})1mpLq3smC>~i+SfNUer}tmm64ZlJ$Ox)MqvP%3JRs`}?aH|zT3?S~#Ya%K~YLOJV6 z{p~jK8BWS-%$jM+gXG9@U3bzxR0_+zWmQA*jZ0JR9v5wkcwJ0q0QFkt6Y&_^`Xrut zexW$^G=!qPWumyX9mb1fk7MJahI1fO9-ZH@e|lqos*U?2F^XrX>)KlLeV=NCSQBvr zg9un}3~a2TY^H7vy@FmGO8qkGv}A65q&+mC+%33z7; z?06T{ZJVNOe!UadX!ur{DeXLoJ&3_Uo0<#w(4rp6^S2L zmC(8|C7xM&rz5D8ewC5)g)mdxZ}H@i!9+>goNtXa~*}n*U8~Q9Eoi_~wpj(w*RoEv1 zBiUL!!}5}$r^5K|sEqp)@7V*H6js|?`>##8ST59-%V5kx$D6fghn;P&H09G@tI%Cj z`Zfw#^;=Ik&7za#jA4H6Y!63p7nJF5c^QUPF(>Q;x~MRv-}!C}prAk5b0}F&Tsp^d zX3}iz7;VOH+7+)_8;!X3s!OL@z_G@*m-P1^PSccSj0?hgDl(SupiH{gCNq0RcKi#| z)+p~)LLvYDgA`U?KVQ`Z=A8{~Y|jp^Ujb2&ve3V2O|Qe(PRdq9ESAhA)=wyp-3w&T z$(bB!e`e=$Aa$!wk@G_?t4b%(!%AzfH`g!~hAe$e&?g9`7u81}~VTp=GjPEcbUlUOQHN8NNC*S1z5 z9y=L~es;7$hYi)&G_<&^tf%8spWSS|-wKPW{h;#mwUdFT$FQ5#!Uf!`;G=V*+bKkP zmDK=xTfRnI2~T`1#~I$mWaFlJs`RhrY|Goer2PXVk9i`EekbO_PS2a{Hw~kxP?+1H zh+HwlW(K{orK!xKh*{4`pUHPa^%KGfl|51hKvGPbry(O5_6T3(e~QSG_GDPg?4=P{ z8N!{ZVIgOv)Zp2O<2fsb7n;sj zLHQDtEwQs)9Pg)gVCM1?n4P3Urf^6Cn>eepd^zoO;?^CNQSAa!vHyX=rFmTgVQMsN zpA{+2*egrw`Wfkq%`4>#%b$V+D~$St)-8}RHuVOAVGbpUm(`mn_csbv0~#VDzN{Ap zi4aS;YkG<#J}MT+KF=EYD{=Fv_vF!?AW)gs#Ys_Ex;{FbP5rF;Vf}T!R<(tfu#Se7 zVnduYc_U%AH8&=sU;o3HU!FyHpr?+8;#ww2m$R}VwecYS&H8+@&PLe2CY+iQ+q4pY zv5hI+jK`dD`0CM}%a`p%1g1 zdfIuz7YP9oi$s;pVi-DVLC{3!R(ZZT!+9vW! z75YEjgVH2&xf=QyS-&mPHcO;%K;Hh9^rC%Oeam#=4U?Wz1DdE&@5$!AmZRS(!C`O= z#2Cg1Fhf_w0crS*RWUT-Z9_Dp->AWVE+BS5R$v{vW(fxXXoT)5@4%n|QS_P5(8Eor z`FkV)2<_2AXeRL8fD#(Rnhw{78k<1?uAcy*EZ~Cyadf@*bIl{%0AL>i0D?aO#@RqD z2OoIJkO4#uaih})RvYVB0D!9VE6@SG3w$xiherA^gkOQEQl*W41sTcgg5n4HK9vP{{X`*)DKqR06%bBZKbN5)^0IJ!$~R z>j9HS?BIv`po0{c+r|KLjw--kzSuo=ALUc{p5#D*_}R8wKLB_Wy=;PsXG2s7XU~Gk zL%itk3oX>!Z$I^O1R*JdYL8xhJNpL^Z_F$J delta 51411 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

NC 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 diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index f793bfe3..5f8614a8 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -56,7 +56,7 @@ Y,A = Ptr to installed driver ## RETURN VALUE CC = OK, CS = ERROR Y,A = FD -X = DevID +X = hDev # GetDevStatus @@ -605,6 +605,41 @@ A = Child PSID ## RETURN VALUE A = Child PSID +# GetPWUID + +## C +`int getpwuid(short int uid, S.PW* passwd );` + +## ASM +`>PUSHW passwd` +`lda uid` +`>SYSCALL getpwuid` + +## RETURN VALUE + +# GetPWName + +## C +`int getpwname(const char* name, S.PW* passwd );` + +## ASM +`>PUSHW passwd` +`>LDYA name` +`>SYSCALL getpwname` + +## RETURN VALUE + +# PutPW + +## C +`int putpw( S.PW* passwd );` + +## ASM +`>LDYA passwd` +`>SYSCALL putpw` + +## RETURN VALUE + # GetMemStat **In:** Y,A = Ptr to 24 bytes buffer diff --git a/.Docs/LIBTCPIP.md b/.Docs/LIBTCPIP.md index a45e0936..21585576 100644 --- a/.Docs/LIBTCPIP.md +++ b/.Docs/LIBTCPIP.md @@ -157,7 +157,7 @@ Close socket `>PUSHWI count` `>PUSHW buf` `lda fd` -`>LIBCALL hLIBTCPIP,LIBTCPIP.skt.read` +`>LIBCALL hLIBTCPIP,LIBTCPIP.read` ## RETURN VALUE CC: Y,A = bytes read @@ -173,7 +173,7 @@ CS: A = EC `>PUSHWI count` `>PUSHW buf` `lda fd` -`>LIBCALL hLIBTCPIP,LIBTCPIP.skt.write` +`>LIBCALL hLIBTCPIP,LIBTCPIP.write` ## RETURN VALUE CC: Y,A = bytes written @@ -191,7 +191,7 @@ CS: A = EC **In:** `>PUSHW addr` (RecvFrom) `lda fd` -`>LIBCALL hLIBTCPIP,LIBTCPIP.skt.Recv` +`>LIBCALL hLIBTCPIP,LIBTCPIP.Recv` ## RETURN VALUE CC: A = hMem @@ -211,7 +211,7 @@ CS: A = EC `>PUSHWI count` `>PUSHW buf` `lda fd` -`>LIBCALL hLIBTCPIP,LIBTCPIP.skt.send` +`>LIBCALL hLIBTCPIP,LIBTCPIP.send` ## RETURN VALUE CC: Y,A = bytes written diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 451181070260752f157efad619655b632d263f56..dcb775ca0496ec9b9c5813faf63ea715c002dea9 100644 GIT binary patch delta 37644 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 tdffwHqjy6oLZYx*;WRH#N<2 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 Oz%RhBlA>Icy#EI|aZY#u diff --git a/BIN/CUT.S.txt b/BIN/CUT.S.txt new file mode 100644 index 00000000..27e98a17 --- /dev/null +++ b/BIN/CUT.S.txt @@ -0,0 +1,279 @@ +NEW +PREFIX +AUTO 4,1 + .LIST OFF + .OP 65C02 + .OR $2000 + .TF BIN/CUT +*-------------------------------------- + .INB INC/MACROS.I + .INB INC/A2OSX.I + .INB INC/KERNEL.I + .INB INC/MLI.I + .INB INC/MLI.E.I +*-------------------------------------- + .DUMMY + .OR ZPBIN +ZS.START +ZPPTR1 .BS 2 +ZPBufPtr .BS 2 +ArgCount .BS 1 +ArgIndex .BS 1 +OptionIdx .BS 1 +hBuf .BS 1 +FieldNum .BS 1 +StartChar .BS 1 +EndChar .BS 1 +ZS.END + .ED +*-------------------------------------- +* File Header (16 Bytes) +*-------------------------------------- +CS.START cld + jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA #0 S.PS.F.EVENT + .DA #0 + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #16 Stack Size + .DA #ZS.END-ZS.START Zero Page Size + .DA 0 +*-------------------------------------- +* Relocation Table +*-------------------------------------- +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.DOEVENT + .DA CS.QUIT +L.MSG.USAGE .DA MSG.USAGE +L.MSG.CRLF .DA MSG.CRLF + .DA 0 +*-------------------------------------- +CS.INIT clc + rts +*-------------------------------------- +CS.RUN stz ArgCount + +.10 inc ArgCount + lda ArgCount + >SYSCALL ArgV + bcs .8 + + >STYA ZPPtr1 + + lda (ZPPtr1) + cmp #'-' + beq .1 + + lda ArgCount + sta ArgIndex + bra .10 + +.1 ldy #1 + lda (ZPPtr1),y + + ldx OptionList + +.2 cmp OptionList,x + beq .3 + dex + bne .2 + bra .97 + +.3 txa + lsr + beq .98 HELP + sta OptionIdx + + inc ArgCount + lda ArgCount + >SYSCALL ArgV + bcs .97 + + >SYSCALL atoi + bcs .97 + + tax + bne .97 + + tya + ldx OptionIdx + sta FieldNum-1,x + bra .10 scan for any other args + +.97 lda #E.SYN +.98 pha + >PUSHBI 0 + >LDYA L.MSG.USAGE + >SYSCALL printf + pla + sec +.9 rts + +.8 >LDYAI 256 + >SYSCALL GetMem + bcs .9 + + >STYA ZPBufPtr + stx hBuf + + lda ArgIndex + beq .80 + + >SYSCALL ArgV + >PUSHYA + >LDYA ZPBufPtr + >SYSCALL strcpy + + bra CS.RUN.OUT + +.80 ldy #S.PS.hStdIn + lda (pPS),y + tax + + lda OF.Table.hFD-1,x + >SYSCALL GetMemPtr + >STYA ZPPtr1 + lda (ZPPtr1) + cmp #S.FD.T.PIPE + bne .97 + + >PUSHWI 256 + >PUSHW ZPBufPtr + + ldy #S.PS.hStdIn + lda (pPS),y + + >SYSCALL fgets + bcc CS.RUN.OUT + cmp #MLI.E.EOF + bne .9 + +CS.RUN.OUT lda FieldNum + beq CS.RUN.OUT.MN + + ldy #$ff + +.1 iny skip spaces + lda (ZPBufPtr),y + beq CS.RUN.PRINTCR + + cmp #C.SPACE + beq .1 + + dec FieldNum + beq .4 + +.2 iny skip token + lda (ZPBufPtr),y + beq CS.RUN.PRINTCR + + eor #C.SPACE + bne .2 + bra .1 + +.4 jsr CS.RUN.AddYToBufPtr + + ldy #$ff + +.6 iny + lda (ZPBufPtr),y + beq .8 + eor #C.SPACE + bne .6 + + sta (ZPBufPtr),y + +.8 >LDYA ZPBufPtr + >SYSCALL puts + + lda #0 Exit with no Error + sec + rts +*-------------------------------------- +CS.RUN.PRINTCR >PUSHBI 0 + >LDYA L.MSG.CRLF + >SYSCALL printf + bcs .9 + + lda #0 + sec +.9 rts +*-------------------------------------- +CS.RUN.OUT.MN ldy #$ff + + ldx StartChar + beq .2 + +.1 iny + lda (ZPBufPtr),y + beq CS.RUN.PRINTCR + dex + bne .1 + +.2 ldx EndChar + beq .8 + +.3 iny + lda (ZPBufPtr),y + beq .8 + + cpy EndChar + bne .3 + + lda #0 + sta (ZPBufPtr),y + +.8 ldy StartChar + jsr CS.RUN.AddYToBufPtr + + >LDYA ZPBufPtr + >SYSCALL puts + + lda #0 Exit with no Error + sec + rts +*-------------------------------------- +CS.RUN.AddYToBufPtr + tya + clc + adc ZPBufPtr + sta ZPBufPtr + bcc .8 + lda ZPBufPtr+1 + +.8 rts +*-------------------------------------- +CS.QUIT lda hBuf + beq .8 + + >SYSCALL FreeMem + +.8 clc + rts +*-------------------------------------- +CS.DOEVENT sec + rts +*-------------------------------------- +CS.END +*-------------------------------------- +OptionList >PSTR "HhFfMmNn" +*-------------------------------------- +MSG.USAGE .AS "Usage : CUT "line of text"\r\n" + .AS " -H : This help screen\r\n" + .AS "-F nn : Output field nn, sep=SPACE\r\n" + .AS "-M nn : Output starting at nn\r\n" + .AS "-N nn : Output Ending at nn" +MSG.CRLF .AZ "\r\n" +*-------------------------------------- + .DUMMY + .OR 0 +DS.START +DS.END + .ED +*-------------------------------------- +MAN +SAVE USR/SRC/BIN/CUT.S +ASM diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index d9bf3bf5..1d4410cc 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -237,10 +237,10 @@ CS.RUN.PRINT.DIR bmi .4 >LDA.G bColumn - bpl .22 + bmi .23 >LDA.G bFullPath - bpl .23 + bpl .22 >PUSHBI 0 ldy #hSrcBasePath @@ -250,14 +250,27 @@ CS.RUN.PRINT.DIR .23 >LDYA ZPFileName >SYSCALL puts - rts - + bcs .9 + + >LDA.G bRecurse + bpl .8 + + lda (ZPFileName) + cmp #'.' + beq .8 + + >LDYA ZPFileName + jmp EnterSubDirYA + +.8 clc +.9 rts + .22 >PUSHW ZPFileName >PUSHBI 2 >LDYA L.MSG.DIR >SYSCALL printf - bcs .99 + bcs .9 ldy #0 @@ -289,26 +302,25 @@ CS.RUN.PRINT.DIR >LDYA L.MSG.DIREXT >SYSCALL printf -.99 bcs .9 + bcs .90 -.5 ldy #bRecurse - lda (pData),y - bpl .8 +.5 >LDA.G bRecurse + bpl .80 lda (ZPFileName) cmp #'.' - beq .8 + beq .80 jsr CS.RUN.NewLine - bcs .9 + bcs .90 >LDYA ZPFileName jsr EnterSubDirYA - bcs .9 + bcs .90 jmp CS.RUN.ENTER.MSG -.8 clc -.9 rts +.80 clc +.90 rts *-------------------------------------- CS.RUN.PRINT.FILE ldy #bLong @@ -316,10 +328,10 @@ CS.RUN.PRINT.FILE bmi .1 >LDA.G bColumn - bpl .22 + bmi .23 >LDA.G bFullPath - bpl .23 + bpl .22 >PUSHBI 0 ldy #hSrcBasePath diff --git a/BIN/MORE.S.txt b/BIN/MORE.S.txt index a93243ff..8e7e54d6 100644 --- a/BIN/MORE.S.txt +++ b/BIN/MORE.S.txt @@ -8,6 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I + .INB INC/KERNEL.I .INB INC/MLI.I .INB INC/MLI.E.I *-------------------------------------- @@ -96,11 +97,25 @@ CS.RUN .7 >LDA.G bHelp beq .8 - jsr .99 +.71 jsr .99 lda #0 rts -.8 >LDYAI 256 +.8 >LDA.G hFile + bne .80 + + ldy #S.PS.hStdIn + lda (pPS),y + tax + + lda OF.Table.hFD-1,x + >SYSCALL GetMemPtr + >STYA ZPPtr1 + lda (ZPPtr1) + cmp #S.FD.T.PIPE + bne .71 + +.80 >LDYAI 256 >SYSCALL GetMem bcs .9 @@ -281,10 +296,10 @@ MSG.USAGE .AS "Usage : MORE \r\n" .AS " -H : This help screen\r\n" .AS " -N : Number all output lines\r\n" .AS " -P : Page mode, no scroll\r\n" - .AZ " -S : Process ESC codes\r\n" + .AS " -S : Process ESC codes" +MSG.CRLF .AZ "\r\n" MSG.Init .AZ "\e[7l" MSG.NUMLINE .AZ "%5D:" -MSG.CRLF .AZ "\r\n" MSG.Pause .AZ "\r\e[7m --- 'SPACE' for more, 'CR' one line, 'Q/q' to quit --- \e[0m" MSG.PauseErase .AZ "\r\e[2K" *-------------------------------------- diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index cf1fe6c5..a9e06290 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -105,6 +105,7 @@ E.IBIN .EQ $F6 Invalid BIN format E.FTB .EQ $F5 File Too Big Error E.OOB .EQ $F4 Out Of Bound E.INUM .EQ $F3 Invalid Numerical +E.IUSR .EQ $F2 Invalid User *-------------------------------------- * A2osX.SYSCALL Constants *-------------------------------------- @@ -239,9 +240,9 @@ SYS.ExecV .EQ $A2 * .EQ $A4 SYS.Kill .EQ $A6 -* .EQ $A8 -* .EQ $AA -* .EQ $AC +SYS.GetPWUID .EQ $A8 +SYS.GetPWName .EQ $AA +SYS.PutPW .EQ $AC * .EQ $AE SYS.Args2ArgV .EQ $B0 diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index 0fa03e62..050a6745 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -38,6 +38,7 @@ CS.START cld .DA CS.RUN .DA CS.DOEVENT .DA CS.QUIT +L.MSG.NOPASSWD .DA MSG.NOPASSWD L.MSG.LOGIN .DA MSG.LOGIN L.MSG.PASSWORD .DA MSG.PASSWORD L.MSG.ECHOCRLF .DA MSG.ECHOCRLF @@ -51,10 +52,18 @@ L.HOME .DA HOME CS.INIT clc rts *-------------------------------------- -CS.RUN >STZ.G hUSERNAME - >STA.G hPASSWORD - - >STA.G INPUT.PrevCR +CS.RUN >PUSHEA.G PW + lda #0 + >SYSCALL GetPWUID + bcc .10 + + >PUSHBI 0 + >LDYA L.MSG.NOPASSWD + >SYSCALL printf + bcs .9 + bra .8 + +.10 >STZ.G INPUT.PrevCR >PUSHBI 0 >LDYA L.MSG.LOGIN @@ -91,7 +100,7 @@ CS.RUN >STZ.G hUSERNAME >SYSCALL printf bcs .9 - jsr CS.RUN.SETENV +.8 jsr CS.RUN.SETENV bcs .9 >PUSHBI S.PS.F.HOLD+S.PS.F.DUPENV @@ -210,6 +219,8 @@ INPUT.LINEIN ldy #INPUT.Status rts *-------------------------------------- CS.END +MSG.NOPASSWD .AS "\r\nA2osX-LOGIN:No ETC/PASSWD file present, Logged as ROOT.\r\n" + .AZ "Consider adding ROOT password with USERADD command.\r\n\r\n" MSG.LOGIN .AZ "\r\nlogin:" MSG.PASSWORD .AZ "\r\npassword:" MSG.ECHOCRLF .AZ "\r\n" @@ -227,8 +238,7 @@ INPUT.BUF .BS INPUT.BUF.SIZE+1 INPUT.Status .BS 1 INPUT.PassChar .BS 1 INPUT.PrevCR .BS 1 -hUSERNAME .BS 1 -hPASSWORD .BS 1 +PW .BS S.PW DS.END .ED *-------------------------------------- diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index f196044d..bf0fdcff 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -102,9 +102,9 @@ K.SYSCALL.JMP .DA K.GetMemStat $00 .DA K.ExecV .DA 0 .DA K.Kill - .DA 0 - .DA 0 - .DA 0 + .DA K.GetPWUID + .DA K.GetPWName + .DA K.PutPW .DA 0 .DA K.Args2ArgV $B0 diff --git a/SYS/KERNEL.S.PWD.txt b/SYS/KERNEL.S.PWD.txt new file mode 100644 index 00000000..b00fd2c2 --- /dev/null +++ b/SYS/KERNEL.S.PWD.txt @@ -0,0 +1,44 @@ +NEW +PREFIX +AUTO 4,1 +*/-------------------------------------- +* # GetPWUID +* ## C +* `int getpwuid(short int uid, S.PW* passwd );` +* ## ASM +* `>PUSHW passwd` +* `lda uid` +* `>SYSCALL getpwuid` +* ## RETURN VALUE +*\-------------------------------------- +K.GetPWUID +*/-------------------------------------- +* # GetPWName +* ## C +* `int getpwname(const char* name, S.PW* passwd );` +* ## ASM +* `>PUSHW passwd` +* `>LDYA name` +* `>SYSCALL getpwname` +* ## RETURN VALUE +*\-------------------------------------- +K.GetPWName jsr MEM.SPtr1PPtr2 + sec + rts +*/-------------------------------------- +* # PutPW +* ## C +* `int putpw( S.PW* passwd );` +* ## ASM +* `>LDYA passwd` +* `>SYSCALL putpw` +* ## RETURN VALUE +*\-------------------------------------- +K.PutPW >PULLW ZPPtr1 + sec + rts +*-------------------------------------- +MAN +SAVE USR/SRC/SYS/KERNEL.S.PWD +LOAD USR/SRC/SYS/KERNEL.S +ASM diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index 5d5a704c..9ac7ee5e 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -54,6 +54,7 @@ A2osX.D2 .PH $D000 .INB USR/SRC/SYS/KERNEL.S.TIME .INB USR/SRC/SYS/KERNEL.S.BIN .INB USR/SRC/SYS/KERNEL.S.PS + .INB USR/SRC/SYS/KERNEL.S.PWD .INB USR/SRC/SYS/KERNEL.S.ARG .INB USR/SRC/SYS/KERNEL.S.ENV .INB USR/SRC/SYS/KERNEL.S.MATH diff --git a/Technical Spec.md b/Technical Spec.md index 506b274a..d96dddad 100644 --- a/Technical Spec.md +++ b/Technical Spec.md @@ -147,7 +147,7 @@ note : '$VAR' does NOT expand Variable | | | -1 : SIGQUIT | | | LS | Working | -A : Print . & .. | 0.92 | | | | -C : Single column listing | | -| | | -F : with -C, includes full path | | +| | | -F : Single column, includes full path | | | | | -L : long listing with size/date... | | | | | -R : Recurse subdirectories | | | LSDEV | Working | Dump device Drivers | 0.92 |