hA`:!A0:! :! A:! ":! :!:!(:!(:! !"#:!$%&'()*,`$:!-./01235 :!89:P:!;< :!=>?@:!ABCDEFGI:!JKLMNb:!OPQRSTU":!VA:!WXYZ[\]_:!iF5:!jklmnoprV:!yz:!{|}~z :!f%:!:!A0:!:!:! :!Z:! :! :! :!:!:!:!Z:!:!P:!J :!x :!":!k:!:!:!:!:!:!:!U:! :!:!:!:!H:!:!d:!A0:!:!A0:!:!A@:!E:!:!!...astbintest?doc....profileHOME=/usr/ast PATH=:/bin:/usr/bin:user/bin:$HOME/bin: m="/etc/mount /dev/fd0 /usr" u="/etc/umount /dev/fd0" m1="/etc/mount /dev/fd1 /user" u1="/etc/umount /dev/fd1" export PATH HOME PS1 PS2 ...calcpdirdiffdu expr find gres libpack libupackmorefdiskfixpasswdprintenvreadfsrevroffshartartestuudecodeuuencode0t~ !t܋@ãtPSQP ~%6x= ~ vVPv\K^wF^ws F~t^wdF~~Pvvv+P  +Q ~|~'~ 6v~d}v*vVP8E|E||`P 6z6z6znP+PEPvhPEPvWPEPvFP {|P + ~|~'~ 6v~~~ ~ 6v6zv^|PW+PvvPP4R  +Fl+6^VVڈFF~|FFPPv+FF;v}.ǺFދƺ~F@FF빋^ u N~lw^6lP6 PG}\ c vvF+FFƺFF~FFG VvnFG G 2~ }G F0F 0GF0F}xF~}j + vP6P] + vvv v +n ~|~ ~ FvF@P+=t=t  ~t~ u ^㋇= t.㋇G;~|=uҡڡ+FF+@~;>~+> u| E >t+cFV‹~~F-d+F-A~~ǙN+FPvv^G@tSV$+FPv6iG@tS*+vGP=u^GuGu+0^~ww7iF^;GuGGGF^O+7+PPPPPvP+PGW+FG= t= t= t= t= t=-uGF ƺ vG-0F= r~t FFFFFFFPvFPFP+PF hv=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFP|PFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuPF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|3F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7zF^GGF~t7~~ ^G;Ft~} ^O^Om^GF*FFF^?u+F;++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&rPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_] "&Bad argument Usage: cal [month] year S M Tu W Th F S???JanFebMarAprMayJunJulAugSepOctNovDec 00%2d %35d %12s%23s%23s %s %s %s %9s%5d %s %s %sBStack overflow 0vv܋@ãvPSQP@F^jF^Ft9؀?-u2FNx^=vtSzPpF^?u߃~t PU^FFP=@t vP0^7v+Po/^FGuO^FFu+PP}PPG/ƆPD/utv.uth.utZPW PV P=t=@uPP#PP PPPP =u]tPP0  >xt vPKFu:+Pv+P P+Pv@P1PhP]PFPy~u6jwPeFPQ ~t vPH $^ >xtvvP+Pv} vPFP} vPF%Pv}"vPP PP+!t vPk  FPv } vPDF% +U 6j P64vv64P64\ + vvPj> + lPFPvK%  FF^F?u^7FPv + lPvv  dždžFF?t?udž‰V;r$F9rH؋dž@+Љ‰^F?u;|dž`+Љ‰^F?t F9rݸy ;|+J™鉆+PPv+PvP;P+P뎸FFFF+PFPv+PPvP;P+P++PPPPPPP+P+kFPvvh^G@tSN+AFPv62=2G@tS"T+vvPP`8^GuGu+0^~ww7F^;GuGGGF^O++PPPPPvP+P+{+PPPPPvPPZ+PPvPPvPPgFt+5vvPPX+PPvPvvPP#F0 v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvP%PFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ e%F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|zF^GtGuGt PFP^7DF^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^GF*+PvvPPvwPPPFt~ FG<uFHFFF^?u+Fg&+PPPPPPP+P8F^rF:++PPvPvvPP+FrF tF vFxFzF|vvT+v }>rFtF vx~^ FF OuvvPFpnPvFu>p|p pأV++FG?uD:[UWV+;&XrprtxZnPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]illegal flag %sUsage: cpdir [-v] source destination%s is not a directorycan't read directory %scan't copy special file %serror in reading directory %smkdir %s /bin/mkdirmkdir/usr/bin/mkdirmkdircan't execute %s or %s/bin/mkdir/usr/bin/mkdircan't forkcan't create %scp %s %s can't read %scan't get file status of %scan't create %serror in reading file %scan't get file status of %s%s: nnBnn&Stack overflow 0P܋@ãPSQP0vFF^F~t PP,P^7uF.P^wuF~u%0P^7@Fu^72PT~u'@P^wFu^wBP'vvn>~+PX+6PP6lvv6\UP6NP+W>t Pu WP_+ >J+ +~t>~t8FPFPt +G^F^F|tٸYGvPEP9u Wi+|t$< tvF= t=uF +O5t9uu EVE^+^?u*==u^G^^G^^FG!+ut E ut=uu5]7u+EEEFE+z!;EtPvePiW=u EvFPvFPFP=FFP0F~u~u FPFP uFFFFF܉FލFPFPFPFPFPFt~^܋FvWwt=WFPTv܍FPGFPFPFPFP=uFPOFu~ދ^FvWtWFPvF뎋=uJ~tFPu~tFPuFFFPFP  EFWFDFVFWFuVFu~u vjP`A~uFFPF@PvnP</FFPF@P6cP FFPF@Py6 P ~t rPWa~t~t uP~t zPV:  +^7^GF;vtG4u + vvF;Fu}Ps +[ vntv~=t ǘF u݃u ;vu+` F+ FPvvb^G@tSP. + FPv67G@tS$  F+(|"P=wuKNPvF|2gGヿu͋^=auNPvF}$+=ruN+Pv`F}ܸP++RPv PqFtG؋FFGPL^GuO^O ^GGFF + vvPP   ^GuGu+0^~ww7y F^;GuGGGF ^O+G +PPPPPvP+PW g & FVFF PP Ft. + vvPP0   ^Gt`^Gto[Gt PFP P^w^7Q^GuO몋^O렋F* ^GG^GuGGH؊, +PPvPvvPP7FD + F%-;>r W}+ >>%=uոF%F>uqPWƩt%GFu Fu+;Fr)FF;s؉7F E vza5uvu+F-F%F%+FF Fu Fu+;Fr#FF;s؉7 F+vFtvPvU%F׸uFfWFu+vFOuF+>^gm+- GFFNuE+PPvPPPP+PFu +FFFPuF v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPNFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|o.F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^GF*+Y;t++f=tGFFFF^?u+F;++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&rPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]use: %s file1 file2--rcan't read %srcan't read %s%s: out of memory%s%s%dad%d< --- > %d%d,%dBStack overflow 0܋@ãPSQP +y V;u G=u++N $?u=";F} F؋$؀?-u $$?u "$?-t$$=:tPvpui$?u"6^76,P66L 6 P> ?k$A6^76BG=:t$?t13$?t"F;"~"F؋$d"f & v Fv F;F ~+ ^0 FF^^FF^?u^/t/F^?t^F F+ ;6};Fu>E;Fu6F>2}$F F F F미$J FF+Pv}++_ PPePPtոgPPtÃ>tPPPvtFPP-|~~vvtvF%=@uP8FV܋F%=tI=@tD>u@F%=@u2P+ҸRPVFRP RPjP%+ҸRPVFRPw FV>uvvvڸqPV܋F^9=st.6xP6PRF=au6vv5F=uҡ";F} F؋6FV>t6RPP9+Pp+1FPvvJ^G@tSVF+FPv6G@tS*+vGPd=u^GuGu+0^~ww7F^;GuGGGF^O+Y+PPPPPvP+Piy+9+PPPPPvPPHX+vvPPd<+PPvPvvPPF v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvP5PFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRP~FV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ I F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|^F^GtGuGt PFP^7(F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^GF*+PvvPPv[PPPF+Y;t++f=tGFFFF^?u+F;++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&rPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]&)+as.: illegal option -- : option requires an argument -- ...%D %s %D %s Usage: %s [-a] [-s] [startdir] %D %s BStack overflow 0   ܋@ã PSQPh, ^  P 7=PIFV  ?tvv P+P +  u +6 D <t4WE t ۸ FFFF=uj=-uFFFG9=99+Ҹ RPvv G+}-0FV=0}€=tvvvvc 6 + 6 P6 PP PPP  ~u~uS~u=P  7PFV  7=twmrFHPv\~u~u 7v > tX G;FuLFHP  7DPPRPvvv. FV  7Fu. VF+F-= vJ ~u~t VFV F ~u~t ~ u~ u++VF;V |b;F r]+\|W;F wP;F uIVF;V ~ߋVF;V t-;F s(ɋVF;V u;F u뷋VF;V };F v_VF;V }됋VFF V DVF+F V 6v v vv0%v v vv?v v vvn+P PPP+yFPvv^G@tS2+OFPv6  G@tSb"^GuGu+0^~ww7F^;GuGGGF^O++PPPPPvP+P v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPnFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|o.F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^GF*+Y;t++f=tGFFFF^?u+F;++PPvPvvPP+FF F F F FvvT+v }>FF  ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;& r  PPf^_] U싆 ]UFfȋFf ȋFf]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]d f h j m o r u w y { }      2LYgu|&<<==!=>=>+-*/%()%D : syntax error fatal  B Stack overflow 0(Pp(܋@ã(PSQTP0vFuPP$ F+vv@PPSadž^xF,^7u#^ӋډFn΃t~u?PP Fz~Piz7Pzz7=tjP@PI +kP‹7G;|+P2|^u"?/uG/$PlP^FGuPPv=tvvPP%=@tPPu PE/ƆIut;.ut-.utPWPvP PPP=t+\-=vnv tWvtv tWvt[+Vv tWvuv tWvtv tWvuutv s|} E;Du뙋E%;Du댋UE;T|~|;DwzqE%+;Ttg;Dt_VVE }uD++RPE;Tt4;Dt,#E ;Tt;Dt V}t+ҸRPUE-RPVE+VuuVuuvt41 }vPPPK+^G=tW=t=t)PP :;Gu0^VF;Wt+!^VF;W|;Gw |;Gs޸^VF;W~+8~uB:F*5vt=uE=)t+ =(u*^?-tuފ=!uڸPF؋FF/FFF^?-t?+u^F?-u+^ A^;F>vvFRP^+}-0FVF^?0}^?tPP^VFW<vdFzz7F=u;zz7PFPF؋FGFG.zFvsFzz75F=t.z=t =t=uFzz7PFPVF؋FGFGø ~uyzz7PFzz7=tPP\F2zz7xPFPF؋FG~tv!+x~u PP&[vFF-= vzz7z-b=w8^G`GF8^G ^G@^G׸:P!Pf̃zz7EFPFP~u Pz7됃zz7 FPFP Pz7QRPvv6~+~]u^GG-zz7PeFG;^Gz?t+?;tzuzF^‹z?u\PGPI^w=^Gu w]P&~ tPqP| ||mPzz?{uz}uzuzV^Ӌډ^zzz7FPz7E=uz7Pw^VFGWzz7Fz^GP+6xP vv P +jvvP+L^?u^?tD^?*t7Fvvu܋^F?u^F^;u^?\uF^-u^;t^?\uFF^?]uY^^;uQ^?-tC^V׋ڊ;~ Z^?\uFF^?]uFvFvo^]t\u^^;}~F^?]t +빋^?t^?\u??t?[tы^^;uq+>(>t4=tP5P uPPi^?/tPSu'FvyPvtF^?u|+_F;Ft؍v^GFF;FuFG/FGuPPkuP> FF^?:t?tF F߃ރ=uFD=u~ um*5n P56|O PP6|= =uѸPP6|#  PP6|=|yt+6 F=u PPw~uOdžPgt퍆PP P,P FP[ ;Ft{~trn+g vv!PP  +K PFPvKq 1 FF^F?u^7FPvD + Pvv,  dždžFF?t?udž‰V;r$F9rH؋dž@+Љ‰^F?u;|dž`+Љ‰^F?t F9rݸ ;|+J™鉆+PPv+Pv P;P+PE 뎸 FFFF+PFPv+PPv P;P+P  + +PPPPPPP+P  FF~u2ǘ^FnuFF;FsFFv =u΋F +g + G}F;8uLJ8}vS^7^G tt wv+렸F+(|"P=wuKNPvF|2gGヿ8u͋^=auNPvF}$+=ruN+PvF}ܸP++RPv" PFtG؋FFGPx^GuO^O ^GGF8F9+vvPPD^GuGu+0^~ww7F^;GuGGGF^O++PPPPPvP+P+_+PPPPPvPPn~>FVFF PPFtF+vvPPH   FFK%PGP2=9?ƺ 0‹ ^FFPG=to=%u+G=0}=ct=su^FFF FPT^FFuGF+FH+ЉV~FNt P -PPP1+>  s  F ^Gt`^Gto[Gt PFP P^w^7Q^GuO몋^O렋F*^GG^GuGGH؊8+PPvPvvPPCFP+bF%-;>br W}+!>b>`%=ubbոF%F>`uqP`bWƩt%GFu Fu+;Fr)FF;s؉7F E vzm5uvu+F-F%F%+FF Fu Fu+;Fr#FF;s؉7 F+vFtvPvU%F׸FfWFu+vFOuF+J^gy+9 GFFNuQ+PPvPPPP+P Fu d+!dFFdFPuF+PvvPPvPPPFFFF^?u+FPvP]+Q;t++^=tGF~ FG<uF(FFF^?u+F+;t++=tntGF+PPPPPP PPF>|tأ(FV~t^WVF&+PPPPPPP+P8F^F:++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أ(V++FG?uD:[UWV+;&frhPPf^_] U싆 ]UFfȋFf ȋFf]UW+VF^ Ny ؃ׅy كt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]      Id.      >> namepermtypelinksusergroupsizeinumatimemtimeexecokprintneweraoout of memoryUsage: path-list predicate-listsyntax error: garbage at end of predicatecan't get status of rcan't read directory %s ILLEGAL NODEinternal: bad n_signsyntax error: illegal numeric valuesyntax error, ) expectedsyntax error, argument expected-type needs b, c, d or f/usr/bin/sh-exec/-ok: ; missingcan't find program /dev/ttycan't open /dev/tty-newer: can't get status of syntax error, operator expected: PATH=can't get PATH from environment ? can't forkexec failure:   B$$$. (Stack overflow +00!K0!܋@ã0!PSQPFF^0$^?t?-u^gu 6!FN~}64!P'^?uh!PP ^F7 Fu!PP^FF^?utPv6!62!!P^7Fu'!P~^7s!Pi2!vvv=vUF^?t!P^7uvv6!ϸ?o PPu !PPPvt vPv >2!t2!P!P]vPPtx+!Pvvm!PcPk}F `=\tFSFM^=&u^G5F^F=0|=9уn0FV‹؋VV+FF^?u8!;F}>:!t 6:!v>:!:!+vvvW^GF؀?t4^;u6!FPb>6!u+Pvv2uv!P uvvF^F^F6!v^Fvvv6!vX+ vZD++ヿ!t!7G|+vntvt=t ǘF u݃u ;vu+F+FPvv^G@tS+oFPv6!!G@tS+CvGP=u_++OG}F;!uLJ!}v7^7L^G tt wOvF+렸F+(|"P=wuKNPvF|2gGヿ!u͋^=auNPvF}$+=ruN+PvF}ܸP++RPv PcFtG؋FFGP>^GuO^O ^GGF!F^GuGu+0^~ww7F^;GuGGGF^OR^Gt`^Gto[Gt PFP P^w^7^GuO몋^O렋F*^GG^GuGGH؊ v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvP5PFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRP`FV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ +F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|@F^GtGuGt PFP^7 F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^G+n~u!">*"rR""PF""$"*","("&"PFP+PtG>,"}*"0PL tF""$"E.("PFP+Pu+E(E)E*E,E/VW ؀?umD<uDE(<uE)FtLFF0<u"DP`;F|DFDPKFV űFE*FE,f%^~t+>$" | "PX_$"F$"Pa+FPt5t VWFt27FK""FPu+VWFu^'F%^ ""?|t~u+PFPWvVV u~t""""?)t"~u""?t?)u""`^P]+J""?|tJ?)tEFPPFu+F%^ u F%  vVv""?uu P뼸|FPrtI""F~*uFt#~+t20~+t~?t^F~?t׸"Pt+X^~*uFt W P~*u|WPPSPWRWWJP9PW2P+VWWPPPPV PPWV~+uFtW c~+t~?u9WP$PPWl PVWXVW""""?*t ?+t??t#^""""=+ut~=ua=$tR=(u/=)uL=*uJ""]#P6""~ni#P+PP^""?^uP"" P""?]ta?-t\l""""?]t?u-N""G*@*F@;~#\;v VF"" ""?]t ?-t""""Pl""?u+PZ""?]t$#"",FPPduF%^ 1#>#""?uR#P""""P+P""Ƌ؊F~~*t ~+t~?uN^uPb""""PN+PxH=[u^=.u?=?uB=\u==^u=|u!+ >("&"u*"," FFFF6("+T >("&"t("F(" *","j * >("&"u *","=>("("6("ON;~wFF؊FF^F^F  ~&"t:~Wnu=u+FF+ljF*EF*E + ~t~&"t^?uvP Z tu{#P+X#E.*=u}*tEvu,u*v-tF]*PvFuӃ~u VWq ~t60"0"})u݉v}(t.E(Pv?FuhPW-tFvWu^F?u6p F."F2"F4"vF ރ^FOF/Pt^F."GG + ~u WF='v6".";0"t+."?u ."?t."~벍EF؊.";tV6."vtvv6."볋."?tPEPux."?ulPEPupT-."Fv u62"؃?t2"؋F4"؃?t4"ڊ-."Fvu^?t EF6."EPuy6."W1u=tF^?uGF= u+F."FEPX7~t."V;uvtDNFƣ.";v}%#P@#+6."FF^-=wf"V6."^;uGF<tۊPv tGF<tPvuGF#P++K&"u+(E*U*t݀=u+LF~FG=tv<tF;uF +vvPP++PPPPPvP+P++PPPPPvPP+qV;uG?u+DF6,VF<,>,F 8,PPFtL>,<,+#F%-;>#r W}+>#>#%=u##ոF%F>#uqP##WƩt%GFu Fu+;Fr)FF;s؉7F E vz_5uvu+F-F%F%+FF Fu Fu+;Fr#FF;s؉7 F+vFtvPv%F+t^g"FNt GF~>ָ6+PPvPPPP+PFFu D,#+G#FF#FPuF"F+PvvPPPBP+PøL,W +&3&u=u_+vvPPd+PPvPvvPPoF|+=F;u G?u+ON+++FG?u#+n|F;u G?u+~|N+~t~t ~t##~&uF#~\u=0|=9G-0FF~}#~\u=\t=&uGFFFFF؃?tzFV‹؃?tfFV‹؋VV+FPFF7VNv~t)|u# $P-^G.*=t~vGFtFv~FFGtFF;F}GFF;F|Fk*FFF^?u+FPvP;++PPvPvvPP+F6,F 8,F :,F<,F>,F@,vvT+v }>6,F8,F :,<,~^ FF OuvvPF4,2,PvFu>4,|4, 4,أJ,V++FG?uD:[UWV+;&$r4,4676,8,<, $2,PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]ttG= u=|uG? uO>t~uˋFFFU%F㋇ Ft67WPtAF- ^F^7`F~tG^F^G+}<tGF;t+ JFF^㋇Fu؊W‰F%Fヿ uF ^㉇ "^㋇ F؃u>F G^F􉇔 ^LJ FF~}c^G++PPPPPvP+Pn+PPvPvvPPyF+G+FG?uk*FFF^?u+FPvP;++PPvPvvPP+FܨF ިF ਋F⨋F䨋FvvT+v }>ܨFިF ਾ⨃~^ FF OuvvPFڨبPvFu>ڨ|ڨ ڨأV++FG?uD:[UWV+;& rڨܨި⨄ بPPf^_] U싆 ]&1;HS`ky ,4BJR]iw%/9>DKPU[bgpx~      $ ' * - 0 3 6 9 < A F N push axretmov bp,sppush bppop bpmov sp,bp.textxor ax,axpush 4(bp)pop bxpop sicbwmovb al,(bx)pop axxorb ah,ahmov ax,#1call _callm1add sp,#16mov bx,4(bp)push 6(bp)mov -2(bp),axI0013:call .cuumov ax,-2(bp)add 4(bp),#1or ax,axjmp I0011mov bx,8(bp)push dxmov cx,#2mov bx,#2I0011:I0012:push -2(bp)mov ax,4(bp)mov ax,-4(bp)add sp,#6and ax,#255push bxmov bx,-2(bp)loop 2bjcxz 1f.word 4112mov ax,(bx)mov -4(bp),axjmp I0013.datamov bx,6(bp)mov (bx),axje I0012.word 8224.bssmov ax,#2call _lencall _callx.word 28494.word 0push -4(bp)movb (bx),almov bx,axmov -2(bp),#0I0016:.word 514.word 257mov push .word pop add 4(bp)-2(bp)(bx).define .globl movb xor jmp cmp 6(bp)-4(bp)-6(bp)#16_callm1call 8(bp)xorb and sub -8(bp)jne .cuulea inc _M+10#255loopjcxzax,#bx,#cx,#ax,bx,cx,dx,si,di,bp,axbxcxdxsidibpspdec neg _execve,#0Input file too long Bug in packing algorithm Stack overflow 0^܋@ãPSQP'P P+PF P^Ƈ 2.P PFP2.PPF뱸vAGF4*F=|-㋇F^FF^?uG=uNj+F+C+PPPPPvP+PSc"+PPvPvvPP-F:++PPvPvvPP+FhF jF lFnFpFrvvT+v }>hFjF ln~^ FF OuvvPFfdPvFu>f|f fأ|V++FG?uD:[UWV+;&rfhjndPPf^_] U싆 ]rz~'5<FTajt%3=CP\epu #,4:?DIOV]aiou{ push axretmov bp,sppush bppop bpmov sp,bp.textxor ax,axpush 4(bp)pop bxpop sicbwmovb al,(bx)pop axxorb ah,ahmov ax,#1call _callm1add sp,#16mov bx,4(bp)push 6(bp)mov -2(bp),axI0013:call .cuumov ax,-2(bp)add 4(bp),#1or ax,axjmp I0011mov bx,8(bp)push dxmov cx,#2mov bx,#2I0011:I0012:push -2(bp)mov ax,4(bp)mov ax,-4(bp)add sp,#6and ax,#255push bxmov bx,-2(bp)loop 2bjcxz 1f.word 4112mov ax,(bx)mov -4(bp),axjmp I0013.datamov bx,6(bp)mov (bx),axje I0012.word 8224.bssmov ax,#2call _lencall _callx.word 28494.word 0push -4(bp)movb (bx),almov bx,axmov -2(bp),#0I0016:.word 514.word 257mov push .word pop add 4(bp)-2(bp)(bx).define .globl movb xor jmp cmp 6(bp)-4(bp)-6(bp)#16_callm1call 8(bp)xorb and sub -8(bp)jne .cuulea inc _M+10#255loopjcxzax,#bx,#cx,#ax,bx,cx,dx,si,di,bp,axbxcxdxsidibpspdec neg _execve,#0Stack overflow 0 @  ܋@ã PSQP," 5PPe FN~} vFuFPyFFF؃?u+PFF7F=uZP PP FF7o PFF7Pz P PPh P_vbFtvcF@F؃?u> t<P PP P PPP PP P PPP PPF@F7PF@F7PP PPP PPs}='tH= tI= tD= t7=Nt2=Qt==nt(=qt3P) PP4FJFP  ͸P$ PP* +> t0  +_ P Pv ~2> t"+P+RPv<   ; t  +m> uPPPI > u F n+/> u6 PP  GFFFFF؊F-=v   > t%F+FPFFPvP. PPP2 PPP; PPxFP?   > u  O u > Pt  > uqF+FPFFPvPD PPPH PPPQ PPFPU PP FFF='t)g=tv= t= t = ug _ WZ PZ PPV P^ PPDPl PP: 8=Nt=Qt=nt=qtF;Ft;Ft+FPFFPv*PFP6 FPp PtۊF+> ua+Py P =uP PPP PtP6  & P tP6 +I> t.&   P tP6 k6 A K+ +P7++PPPPPvP+P++PPPPPvPP"FFF-t= v* ^G*䙉FVG*䙉FVVF F V^G6PPFFq^*䙉FVG*䙉FVG*䙉FVG*䙉FVG*䙉FމVG*䙉FډV܋VFv^ ֋v^ ֋v^+ ֣VF޹v܋^+ 6PPF*+ҋ^G+*+ҋ^GG6PPF*+ҋ^*+ҋ^G*+ҋ^G+*+ҋ^G*+ҋ^G*+ҋ^G5F'^FVFF PPFtf+vvPPh@+V;u!G?u++PPvPvvPPFFH㋇FFHFF~t~uF 0P+PF}FPSQRVWU܋Kۋ6PX]_^ZY[X ϸFFF^?u+F;++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;& r PPf^_] U싆 ]pmore: cannot open zp*** Skipping to next file *** zzp--More-- (Next file: )z ~0 ~0zp--More--z ~0zp--More--z ~0zp*** Back *** z qQ'nN/dev/ttyOOPS -- can't open /dev/tty $Stack overflow 02> /2܋@ã2PSQP^ v~tHPPA ^GppPO=ct=lu4)F68 PF=pu +PFP_P-=qt=st=wu;upPk+Pw+P6pW r}6piPPvPv6r=tPPL^+P+RP6r}P~PPv6r'=tPTP?RP4FP+PFPF}FPP6:PPpPv=tP6:PrvR{PFPPFPF}FPP6:UPPpPv(=tP6:'Pv6F.$P&GPFZ^ww w wG*PG*PG*PG*PG*PG*PG*P*PvzPFF~|mPF.FvvFF~~u 5^u46FPvPR^G%FG*V‰FG%FG*V‰FPvP^*=uFAFNFPP F.FFFFm^u) u#+|;Fw&FHPvP^W G;V~Ӌ^W GG W-FV=uFFF~|~~vP7뤸FPFPFP^w w F^W;u$FW;uFW;tFPFPFP^W GG W-RP@ F^W;uFW;uFW;u+뗸*+ҸDRPvvF+ҸRPvv^+}֋^ F*^ +ҸRPDRPvvRPD^ F.Fp^G%FG*V‰FG%FG*V‰FPvv3PF~yt~Yu v!FF~~68 PY^^PNFP*FPvPFPyP(FPFPPFP~u?~u9^GGGGGGGGG G GFFV+ҸDRPvvFVuu FFFFV+ҸDRPVFRP-FV^VFGW VF+FVG WPP@Pvv FPFPFPvv PLF~yt~Yu ^G^GP F~yt~Yu^^e66F~ t66= uFv+7PlPbPXLPNtPDP:P0(+FPvv^G@tSN+FPv688G@tS"+vvPP v^GuGu+0^~ww7K F^;GuGGGFf^O++PPPPPvP+P) 9+ +PPPPPvPP + v tǘF66$=uu ;vu+ F FxVF~F zPP Ft ~+W vvPP z +; FPv66+P&^ + FPvv+P C + FPvvP' + >tu 6$ + >t66N  + ^FV;t ^?u+ +a ~ t~ t ~ t~ u} ++: ~0| ~9b ++ ~A|~Z F FF>  FFF>tF6^?u!>}!?%uhFF^?*uFF^P]t~FF^PBthF ^-0FFi6u^9tFFF^PuDFF^P=lu+FtF^?cu6uuF^=ot,=[uJ=cu=dt=su=ut=xt|FHF AF~t~r0>0u)6D=xunFg 0FFF~uF~t>+t~u>-tF-0;F}.0B6u~ue6=a|V6=fG6-WFRPvv +}։FVFFNu~t?~tVF؃FV~t^ VFW F^ F ~uF ~u+F$>|'~t^ ^  FFNu҃~tF ~u~u9F26]u.>~'~t^ ^ FFNuă~t ^ F ~tH~uFF^?^u FFFFF ^?t F^?]u^?uD6u@>~9v6m3Ft'~t^ ^ FFNuFF]~t ^ F ~t>|F^Gt`^Gto[Gt PFP P^w^7Q^GuO몋^O렋F*]^GG^GuGGH؊+PPvPvvPPF v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFP|PFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ GF F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|\F^GtGuGt PFP^7&F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^GF*FFF^?u+F+e+PPPPPP$PPv+G~|^GtGt&^}G;GuG^GO_F:++PPvPvvPP+FxF zF |F~FFvvT+v }>xFzF |~~^ FF OuvvPFvtPvFu>v|v vأ'V++FG?uD:[UWV+;&^rvxz~`tPPf^_] U싆 ]UFfȋFf ȋFf]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]8@ DOS Non-DOSUsage: fdisk /dev/hdx %c ???? Cannot open device %s Cannot read boot sector Seek error during write Write error Enter file name: Cannot load from %s Read error Enter file name: Cannot save to %s Write error --first--- ---last--- Prt ac hd sec cyl sys hd sec cyl low size %x %2x %x %2x %2x %2x %x %2x %2x %6D %9D Partition Type Begin End Active %5d %s %4d %4d %c Overlap between part. %d and %d %d active partitions Partition %d from %d to %d. Change? (y/n) Enter first cylinder: %d Enter last cylinder: %d DOS partition? (y/n) Active partition? (y/n) Type a command letter, then a carriage return: c - change a partition w - write changed partition table back to disk and exit q - quit without making any changes s - save boot block (including partition table) on a file l - load boot block (including partition table) from a file p - print partition table B##",Stack overflow H0܋@ãPSQ0P+ivPvu PF?^~t PP<P^wKu^w>PYLP^w#u^wNP1džPPFPPP} uIPP4uPPPP\PjH9|׊F=au=ct=dtm~du;tu_P~iPFPFPuPv t xP5FPv- t P;~~duPP'P t P~au2;t PPPPR;~hPPPP t PgPP+P%+ ~0| ~9++ +Ǻ ^-0F^Puҋ^?,u5F+ƺ ^-0F^Pvu҅tt;~ P^?^7Fn . vPPu+K vvW7G=atctdt P6vv W= t}t WP^ + 6<P6lpvv6l`HP6lRP +a vntv~=t ǘF u݃u ;vu+f F+ FPvv*^G@tSP4 + FPv6jjG@tS$  F+(|"P=wuKNPvF|2gGヿhu͋^=auNPvF}$+=ruN+Pv`F}ܸP++RPv PqFtG؋FFGPL^GuO^O ^GGFhF + vvPP   ^GuGu+0^~ww7 F^;GuGGGF ^O+M +PPPPPvP+P] m , FVFF PP Ft4 + vvPP6   ^Gt`^Gto[Gt PFP P^w^7Q^GuO몋^O렋F* ^GG^GuGGH؊2 +PPvPvvPP=FJ + F%-;>r W}+ >>%=uոF%F>uqPWƩt%GFu Fu+;Fr)FF;s؉7F E vzg5uvu+F-F%F%+FF Fu Fu+;Fr#FF;s؉7 F+vFtvPv%F+|^g+k GFFNuB+PPvPPPP+PRFu +SFFFPuF' v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xu F~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ WF F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|lF^GtGuGt PFP^76F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^G++;t++=tGF^FFF^?u+F}+=;t++J=tntGF++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&rPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]unexpected eofuse: %s original-file diff-list-filercan't read %srcan't read %s%sdelete count conflict< illegal delete linedelete line conflict--- illegal separator in chunkappend count conflict%s> illegal append line%s%sillegal rangeillegal commandextra characters at end of command: %s%s: fatal: BJT^Stack overflow 04 ,4܋@ã4PSQP*# F+PBP*ubP\P~}vF7FP^wFPFPnF~t^F;GttNPPNPPOPPAPP3PP%FPP ^_?tB~t<^wPP[P^wtNPdPPbPFP~uP5PP3PFPFtPPbFPVF%?+.҈FӋVF%?+.҈FF3FF؀?9~ FF؀FF؀?Z~ FF؀F~|ǀ~tFPFPMPFP+PSPEPBP/F=tP3P![^7FPEu FՋ^G^w" P^w7!P ^w w wwP+P Fu+P+PBP Ft8P PvtP6Pl F}1UPc BPoPv2PPnP2PvK FvvBPn+/>|+P+RP6+PtP3+>| 6+>} }+b.PP6 ~? u+S?:ut+5^u+c6b6R뮸 Ftv7 u~tF + f]Ft ؋G;Fu~tF ++m vv!PP  HP +FNjGC|^uG^G+™V+s}v+^t+V׋޹ӋڈF|ЋǙFǙF؊Ft+V׋ڈG8FG^?u^t+F^Gt+FFt+F$AFNj؊V׋ڈGO}FFFNu+ƅ+ǺVƋ؀?t +F|ր09~Z~G |^G + + G}F;uLJ}vQ^72^G tt wv++C vvPP f & ^GuGu+0^~ww7 F^;GuGGGF ^O+ +PPPPPvP+P   +FG= t= t= t= t= t=-uGF ƺ vG-0F= r~t~ +; +PPPPPvPPJ Z  FvFPtP+PF FP tP+P PP+PFPFP+P^ uƇF FP tP+P5Pq  +PPPPPPP+PF "^ F:F6F-t= v*^G*䙉FVG*䙉FVVF F V<>^G@B6PPFF ^*䙉FVG*䙉FVG*䙉FVG*䙉FVG*䙉FމVG*䙉FډV܋VFv^ ֋v^ ֋v^+ ֣<>VF޹v܋^+ 6PPF><*+ҋ^G><+*+ҋ^G@G6PPiF><*+ҋ^><*+ҋ^G><*+ҋ^G><+*+ҋ^GB@*+ҋ^GB@*+ҋ^G5FJ'F~}Ƈ-F؉F~uƇ0Ƈ'~F~u~E0F)Fƙ vF6VF<>F 8PPFt~><+5vvPPX LFFK%PGP2=9?ƺ 0‹ ^FFPG=to=%u+G=0}=ct=su^FFF FPT^FFuGF+FH+ЉV~FNt P-LPLPP5i+*>s FL +PPvPvvPPF$+F%-;>r W}+>>%=uոF%F>uqPWƩt%GFu Fu+;Fr)FF;s؉7F E vzA5uvu+F-F%F%+FF Fu Fu+;Fr#FF;s؉7 F+vFtvPv%F+V^g+E GFFNu]+PPvPPPP+P,Fu D+-FFFPuFFH㋇$FFHF$F6~t~uFl@0P+P!F}FPSQRVWU܋Kۋ$64PX4]_^ZY[Xϸ,FFF^?u+FPvP =+;t++ =tGF~ FG<uF+PPPPPP PPF>4|t4أJ><FV~t^WVF+7+PPPPPv<PPFV+v+P PPb:++PPvPvvPP+F6F 8F :F<F>F@vvT+v }>6F8F :<~^ FF OuvvPF42PvFu>4|4 4أJV++FG?uD:[UWV+;& r468<"2PPf^_] U싆 ]/etc/passwd/etc/pwtempPermission denied Temporary file in use. Try again later Changing password for %s Old password: New password: password cannot be null Retype password: Passwords don't match Can't create temporary file %s:%s:%s:%s:%s:%s:%s Can't reopen temporary file Can't recreate password file /etc/passwd  B $Stack overflow 0 ܋@ãPSQP,RF^7P2F^?uf+'+PPPPPvP+P7G rFFK%PGP2=9?ƺ 0‹ ^FFPG=to=%u+G=0}=ct=su^FFF FPT^FFuGF+FH+ЉV~FNt Pr-PPP#W+>rrs rFr:++PPvPvvPP+FzF |F ~FFFvvT+v }>zF|F ~~^ FF OuvvPFxvPvFu>x|x xأtV++FG?uD:[UWV+;&rxz|vPPf^_] U싆 ]%s Stack overflow 0*Z*N *܋@ã*PSQPx +F=tX=td=t|^7v?P6NA PG #^G@PAAP^w+P iAAP^w݋^_?-t^wAP׋^_?-tv^G@P^wAP+8=Lt =it=lu,!=Iu.P?P6NA G=u(+P+Pv Fڅ}v?P6NAl FF+Pvvv` ;Vu;Ft??P6NA3 i2PAPv =2uځ>Atv?딍FPPv8}@변>,t6A6A4@P vFPvAAFH+ҹ FH++PPvu" PvP+vv@@P6NAB 0 F>,tV@Pvv%0>.u4^?t,Sbu v}vW@P6NA !FFF^?u/F+ҸRP^wwPvvv}FFu vFPvN~F;s=tFP5vz|׸PEPvS^GF%=@uSFPvN^>.u^?th@Pvv>,t060k@PF>,tAPvv>.t +vn@P6NAy|v@+PvMtՋ^% PvF|ϋ^%=uWGhtfPFFPvvi}v|vPPv}vvv^ FAFAV+ЉV~s8FV‹؋FAFFPv vvFxn~s ^GFH^GFPv vvZF|?nF+ҹF ؋FF+VPv vvF}FFF L~u%@P6NAvvv~ |~ }F 2F+6ǺƋ؋WGFV^;W|;Gs ǺƉFG/G}ǺƋ؋;FuǺƉF~u$v+|FPvvA}Dn?p?^p?n?GWFPvPv+!F+ҹ FV+PRvv;Vu;FuPvv=u+v@P6NAO-^G Pwvn^% Pv@^W GFVFVFPvx  ^ %؊r?F^% =uu-F^% =ug-F^?t60v@P^G Pw%PFPFPFP@P^%= t(=@t=`tBvAPj6LA P> R ^G+*PG*P@P7ˋ^G+*PG*P@P+ҸRP^ww# RP@+ FF6LA P FN  xFuF+PvAPAP+Pv%APAPP0FP ;FuF ~}c +$  GFFNu< + vv!PPH  + v+P PP,  + vvPP  + +PPvvvvz PPP  +{ EPFPvK a FF^F?u^7FPvt +5 EPvv\  dždžFF?t?udž‰V;r$F9rH؋dž@+Љ‰^F?u;|dž`+Љ‰^F?t F9rݸ ;|+J™鉆+PPv+PvC P;P+Pu뎸F FFFF+PFPv+PPv P;P+P5E + +PPPPPPP+P' +FPvv^G@tSN+FPv6LAYLAG@tS"+vvPPt^GuGu+0^~ww7IF^;GuGGGFd^O++PPPPPvP+P'7++PPPPPvPPFEVFEEF EPP\FtEE+vvPPx+PPvPvvPPF Pv=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xux8F~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvrFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7bF^GGF~t7~~ ^G;Ft~} ^O^OU^G+~ FG<uFFFF^?u+F~<tFGnuF++PPPPPv<PP+kvIE^WEEWGEEFEPPf&+PPPPPPP+P8F^EF:++PPvPvvPP+FEF EF EFEFEFEvvT+v }>EFEF EE~^ FF OuvvPFEEPvFu>E|E EأMV++FG?uD:[UWV+;&rArEEEEtAEPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]^`abcdefgh-cdbUsage: %s [-li] [dirname] Bad flag: %c cannot open %s cannot seek to superblock cannot read superblock %s is not a valid MINIX filesystem cannot get inode of root directory boot %d %d cannot find inode %d mkdir %s failed ..$ Will not create %s: file exists cannot create %s get_block: NO_ZONE requested ! read block %d failed %-14s %c%c%c%03o %d %d %d %d %d %d %D %s/bin/mkdirmkdir/usr/bin/mkdirmkdirEEBII,A6A@AStack overflow 0v*v܋@ãvPSQP@+~ul+P&M+PF7M}$|PF7oPe 6G;~r+PnNj؊;tO[׋ڈ= u۸+P@PP/Nj؀? uPPPNj؊;u2+.xPP6xz>xzz++PPPPPvP+P++PPPPPvPP+ovvPPR+PPvPvvPP]Fj*FFF^?u+FPvP;++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&rPPf^_] U싆 ]Cannot open Stack overflow 012f|O1܋@ã1PSQPb +I0P\#t5P64#%F>9t62uN62^79^79 =suN9nuuF^=+t=-tY^Pu^=hu9뱃nud3P^70 ?u^73P640P/6 ?F뱸P+P(/./+.9>1u2>82u>*2u$> ;tP+Pc>82t82u..1FF :?= u:42 ~te>B2tB2>D2tD2>:?u@z.6:?-tV >:?t:?;1t>(2t>:? t>:?t:?6:?t<~u6F:?= t$= us= tZ:?띋 ;Ƈ :  ;6:?t8~t2>:? u> ;t  ;Ƈ :  ;F>:? u 6:?_uV~t>B2t<:? 7~t:?;1u>D2u 1F:9>B2uġ:?::F2+,:>*2tG>82u@9P ;>R2|R21 2+;~>L2t,+P6"2 >1t 9P09P ; :P*9P* ;:9,1 2+;~>1t619Pt9PF ^1N~9s^%;1u9P ;@>R2|R21 2+;9Pw9P ; :P*3P :P)9P,*@ ;Fv9P)+P6"2 ~9s9PT ;>R2}R2b+FF^%;1t ^FF^?uۋ^f++'++^%91t+F^?u݋5+*FX^㋇1H>R2|R21 ;;~2>R2|R21 ;^㋗1J;}, ;1 : ;FF;2| ;1 : ;*u*e t >:?tb_:?=t= uR>:?uD(2:?=t= u>>t>:?t빃>:? t :?>:?u>:?u+:*>:?.t>(2uߡ:?Fr:?=t= uF:?FFFFFPF:?u >:?t*>:? t:?FF;>|FFP^X2m'tF^ヿX2uڋ^ヿX2u:?=t= u>:?uF=0vs2"2,`.2W22PPFPFP):?~~T2F~}T2+FFJ2>V2u  1P FPoF82&2f;P̸";*2O;P:?;PN?t611-D2븸 2P&2:2뤸<2럸>2뚸@2F2H2"2FPlFH.&2V2@,2+:2+<2+>2+@2;*2DN2뀸P2z:? N<;,2\$2V.2r6242,&2ZT1S+PFPFP*:?~~1F1+FR2~|F B2&+PFPFP:?~~ ^F~} ^F)^F&]&F:?= u~t>:?t>:? u ^:?g&^:?FFŸ&F^t4=6:?u/6:?At!F^ :?-0V:?=uÃ~u^%%^^F~>:? u6:?}t-~t`lF^ :?-0F>:? tV:?G6:?u̓>:?+t>:?-u+~u%F>:?+u^:?=tt>:?u~u^^F:?&%$^eF=t= uF%vu݋^?}ՋFθ$tFF>?u^F:?=t= t= t = t^F^FF;>}$㉇<>:?t>:? t k:?Fhu6?#+#3P62^P?u3P64PQ 4P62r ?62W"#g#>:?u%4P6?a+I~u6? PA FFF :?=t= u6? P ~t<#~t>:?.t~t~u >:?.uF6?6:?FFF+" >:? t < :?>:?u>>t 6 ?1>_㉇?? ?? ? ?>+P^<<6 ?h"+M">>>t"+P>Hع??6 ?5? ?:? K" "2FP~t2F12>:? t>:?u "!F>^t#>:? t^:?F- :?=u^!f!FFwt n^:?F :?=t= t = t= uۍF9FtA6 ? ^4PFP( ?uFP4P64) P G!+! :?=t= t= t= t6 ?P~+! > ;t P+P,2+:2+<2+>2+@2-F>22t"22V2;F~o>22t622>42t42V2;F~ >V2t>42t42+H ,2+:2+<2+>2+@2-9V2|q>H2tH2 PW V2G  ;HF^ : u  ;N~u,2+:2+<2+>2+@2-FV2;F| F PFF;$2|>F2t`>P2tFN29F}I PFF PFF;N2|V2@P+4PFPFP`>H2tc>P2tFN29F}L PZFF PDFF;N2|H2H2P04PFP0FP>P2tP2>82t'F 2+ ;@9F}7 PFF PF>R2|R219F|߃~t ~uF^ :PFF; ;| P| ; :V2FV2;FFF;&2|~u7>1t 9P9P :P49PV ;9:9>1|11R21 6>>R2|R21 2++ ;Vu}R54P64 P/ F>>t FF ;HFFFLF; ;}I؀ : uF/~~$F;F}F+FP+~~FntFFF~}F ;F^: :NF;F ;+>T2|T262>62u>9tF PFF;:2|T2t;";P#F PyFF;<2|V2[V2FF,2+:2+<2+>2+@2-9F|F P$FF;>2|T2tN<;PF PFF;@2|>J2}T2 J2T2J2>9tF PFF;:2|T2t;";PF PsFF;<2|F PVF,2+:2+<2+>2+@2-9F|F P'FF;>2|T2tN<;PT2F PFF;@2|V2+P t@?F&@?02t~uFF P2FF;$2|vSPFPFvF1^V;t%?%uv ^PF^?uNj^?u%vPFPFvCFFF PF 2+F9F|1^V;t%?%uv8 ^PNF^?uNj^?u 2+F;F~ 2+FFFvCPFPFvFFF PF 2+F9F|1^V;t%?%uv ^PF^?uǸ PG>.2u"3T2F=|'S4P"3PnV4P"3Pnd~d}~Z|X4P"3PnZ~2|[4P"3Pn2~(|&]4P"3Pn(`4P"3Pn ~ }~ |b4P"3Pgn ~|e4P"3POn~|g4P"3P7nFNt"j4P"3P6T2l4P"3P{"3^F'^V;tF?%uFF^?uыF+^FP^?uF%FfF> ;9~H"F^?t'FV;u^?t FT2;9}>9u~ u~ tz>03ts>9te>03+\64 P*.3%+)03.3%.3.303F.3;F}64 P.303>03u~tFPt64o4P~ u0364FP.3~ u .303+r6 ? :?Pt:?+O^%V;ukF^?u++^F?uFFF1^;Fu(F^?u++~A|~Z~~a|~z~ ~0| ~9++~0| ~9++~ |~~~vnu ~ t~u++Xr4P64YPw+864i v9Y++ヿ4t49G|/+FPvvp ^G@tS+FPv64E 4G@tS+vGP=u+u+G}F;4uLJ4}v{^7^G tt w% v +렸F+(|"P=wuKNPvF|2gGヿ4u͋^=auNPvF}$+=ruN+PvF}ܸP++RPv PFtG؋FFGP^GuO^O ^GGF4FG+vvPPR*^gGu~ |uGtGFVFFV~ u/P++RP7^+}+^v F)FV~~7F9V.|9Fw'^G+G9V|9Fr^FG)G+fv vv^7FV^G,^Gt!S1v vv^7MFV~u~u^GuGu+0^~wwqstuvwx7F^;GuGGGF^OdF^GtJG)F^tDGu4r W}+ >4>4%=u44ոc F%F>4uqP44WƩt%GFu Fu+;Fr)FF;s؉7F E vz 5uvu+ F-F%F%+FF Fu Fu+;Fr#FF;s؉7 F+ vFtvPvU%F׸+ FfWFu+J vFOuF+^g# + GFFNu+PPvPPPP+PFu T?5+5FF5FPuF+[+PPPPPPP+Pm}<FH㋇\GFFHF\GFF?~t~uF(P?0P+PF}$FPSQRVWU܋Kۋ\G6D?PXD?]_^ZY[X5ϸ FFFFFFFPvFPFP+PF lv=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPePFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuTF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|7F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7~F^GGF~t7~~ ^G;Ft~} ^O^Oq^GF* ~G=u FG<uF,+;t++=tGF~ FG<uFFFF^?u+F+c~|^GtGt&^}G;GuG^GO_FV+v+P PPb:++PPvPvvPP+FF?F H?F J?FL?FN?FP?vvT+v }>F?FH?F J?L?~^ FF OuvvPFD?B?PvFu>D?|D? D?أZ?V++FG?uD:[UWV+;&5rD?F?H?L?5B?PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_] . !)19AIQYaiqyAB'235383;3>3A3D3G3J3M3P3S3V3Y3\3_3b3e3h3k3n3q3t3w3z3}3333333333333333333333333^jsd 38NWaj % + 7 = C I O X ^ d p v | adarblbpbrcccededsefehfifohchehxhyiginixlilllsm1m2m3m4n1n2nanenfninnnxofohpaplporoskspsstatctitrul/tmp/rtmXXXXXXrroff: cannot read %s -wroff: cannot open temp file r.. rroff: cannot read %s %3d %3d roff: internal error #2 [%d] cdcxclxlxixvivi%d_Usage: roff [+00] [-00] [-s] [-h] file ... y"U!x#x#x#x#x#x#x#!"\?\?B\C\C444|GStack overflow 0RP@\܋@ãPSQPL+PNj7F}K PPPNj7PNj7PPPPGPNj7PNj7Pv1F;v}K>t6&,PPw+P+c+6XP~;6u;(P&PvP7v6V&&P3F? u;6t+ GP =u+F&,>(u6&,PP++PPPPPvP+P+{+PPPPPvPP+[vvPP~>+PPvPvvPPIFV++FG?u;++PPvPvvPP+F*TF ,TF .TF0TF2TF4TvvT+v }>*TF,TF .T0T~^ FF OuvvPF(T&TPvFu>(T|(T (Tأ>TV++FG?uD:[UWV+;&r(T*T,T0T&TPPf^_] U싆 ]Cannot open . echo x - gres '^X' '' > << '/' / Stack overflow 0d ܋@ãPSQAPF +U~tFPvP+P@+PP Z~} +PPu5=tt*=xt+PP=cux zvF<uߠxzŠv=t +PP=>xt PuS +Pu |} uP >xt-FFNj7.~FF;F|a+Px+P O + PvP6|>vu+, P PE;t +PPw+ v>zt(VtG=uEVR_VVP+P>1uPP+Ps1+ҸRP PPRP P%P+PC+PtbZ + +ҸRP PPgRP_ P~P6|d Ou + >1u-WP }WP5P+PnWPK긤PWf }W\P+PC PPRPV6|W- Vi PPRPWf+Pq 1 +ҸRPV F RP} FPvnP+PTP~Pvq ~ |~ vV F F;|uP~PvǙ)F V FNu  FF+8FNj؀?0|+FNj؀?7fVFNj؊-0FVG;~|ËVF +C } +PPu!+PvPPT+PP+Pt;u+ + +G rvGvr + G?u}/u ++ W~PPP +y ~F<uuN?/u~tNuPHPPVǸE+VF%+0ҍV׋ڈ~^G |+F +‹؊G |3jFF~u+FtFFvGG=It=Lt7=dtI=sug^Fb^RPNFF~}GFF^w7+FF(^RPFF^?0tNFb^FFuNF=%uXGF=u~t vV6+v+P PPB+vvPP&+HPFPvKFF^F?u^7FPv+yHPvv`dždžFF?t?udž‰V;r$F9rH؋dž@+Љ‰^F?u;|dž`+Љ‰^F?t F9rݸ9;|+J™鉆+PPv+PvP;P+P뎸FFFF+PFPv+PPvGP;P+Py+I+PPPPPPP+P[k++vvPPvN++PPPPPvP+P/++PPPPPvPP++PvvPvPvP PP+vvPP~+PPvPvvPPFV+PvvPPv)PPPZFg&+PPPPPPP+P8F^NF:++PPvPvvPP+FNF PF RFTFVFXvvT+v }>NFPF RT~^ FF OuvvPFLJPvFu>L|L LأbV++FG?uD:[UWV+;&drLNPTfJPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Usage: tar [cxt] tarfile [files].%s %s Cannot open Tar: header checksum error.%s linked to %s %d tape blocks Cannot link %s to %s Linked %s to %s Cannot create %s %s, %d tape blocks Cannot fork()./bin/mkdirmkdirCannot find mkdir.%s%sPathname too longCannot find %s Cannot open %s Cannot chdir to %s .. Tar: unknown file type. Not added. %I %I %I %L %L %ITar: read error.Tar: write error.Stack overflow 0.  j. ܋@ã. PSQP+ ^L J 7AP&tJ J ?t+PC} = ~uvRFJ J 7=u,J J 7Pu~t$ +.J F~unvRFJ J 7=u,J J 7nPt ~t+.J Fo~u~tJ J 7 PtJ J 7PFJ J 7=tFN tmN FJ J 7uz^G- =vD VW^utdVWLtbRVFVW;Vt6;Fu;+VFVWv;Vt;FtV\FVWO;V}~;FsV0FVW#;V}~;FwVFVW;V~};FvVFVW;Vg}o;Fs]gJ ?J J 7b>N t.J WY~)3J 7Fu J 73t +~u~tN uJ J ?u~t~tvJ 7붸$F-=v PvtPvtF%=@uuF%=@thFPvtUFPvtB~|<~t4떍FPvtFPtPvVPXud+i+*0 u+6N DK<t4WtN ۸FFFF=uj=-uFFFG9=99+Ҹ RPvvG+}-0FV=0}€=tvvvv+Z6L 1P6L PDP PP2P"\+vv!PPh@++PPPPPvP+P!"FX FT F-t= v*" ^G*䙉FVG*䙉FVVF F VZ \ ^G^ ` 6PPFF^*䙉FVG*䙉FVG*䙉FVG*䙉FVG*䙉FމVG*䙉FډV܋VFv^ ֋v^ ֋v^+ ֣Z \ VF޹v܋^+ 6PP:F\ Z *+ҋ^G\ Z +*+ҋ^G^ G6PPF\ Z *+ҋ^\ Z *+ҋ^G\ Z *+ҋ^G\ Z +*+ҋ^G` ^ *+ҋ^G` ^ *+ҋ^G5Fh '+PvvPPv[PPPF+Y;t++f=tGFFFF^?u+F;++PPvPvvPP+FT F V F X FZ F\ F^ vvT+v }>T FV F X Z ~^ FF OuvvPFR P PvFu>R |R R أh V++FG?uD:[UWV+;&8 rR T V Z : P PPf^_] U싆 ]UFfȋFf ȋFf]                      4[!DW-r-w-f-d-s-t-z-n=!=-eq-ne-ge-gt-le-lt!-a-o(): syntax error I^Stack overflow 0܋@ãPSQP\~~6P^w-Fu^w PFN$F~tPPvPPP=uP6$mPPPPuXPFPPP X~t/PXPIuP6$PTYPuXPP6$Pw PPP1P"PXPPXPFuXP=Pv؍XPvvPvPPPtPPtP6$PS+PJvRPFPuP PF- RdžPFTTXPڈPTT?tJ? tEPN}>? uˍXP PPuPN}!XP PR@9P|؍XP PXPYVRRvVVR^- %?W ? ‰FG- %?W ? ‰FG- %?W ? ‰F~| vv~| vv~| vv+F'v" F=uFFF؋FFF;F|ыF+V;uG?u++3vk>>"|PRP6"P P("""j* >"| 6"""@>"} }i"."$PP6" ">""""""? u""""wx"?:t"""O^JuO""" "6":""6"*$""&""(""*""'9pFtv^7u~tF2-MFt^G;FuY~tFh+avvPP+E+ヿ$t$G|[+vntvP =t ǘF u݃u ;vu+ F+FPvv4 ^G@tSP+FPv6$ $G@tS$F+(|"P=wuKNPvF|2gGヿ$u͋^=auNPvF}$+=ruN+PvF}ܸP++RPv PC FtG؋FFGP ^GuO^O ^GGF$F+vvPPd^GuGu+0^~ww79F^;GuGGGFT^O++PPPPPvP+P'+FG,"= t= t= t= t= t=-uGF ƺ vG-0F= r~t+y+PPPPPvPPXF:%VF@%B%F <%PPFt`B%@%+vvPPb:+>N%|>N%"~ P$Uv]PvPP$PPN%."-PN%."PP$PP{FF^F?uF+[FPv6$+P&~+?FPvv+P c+$FPvvPG+>$t$$$u$ 6$$$+>$t$6$6$n+^FV;t ^?u++~ t~ t ~ t~ u++Z~0| ~9++?~A|~Z F FF^FF$F$>$tF6^?u!>$}!?%uhFF^?*uFF^P]t~FF^PBthF ^-0FFi6$u^9$tFFF^PuDFF^P=lu+FtF^?cu6$uuF^=ot,=[uJ=cu=dt=su=ut=xt|FHF AF~t~r0>$0u)6$D=xunFg $0FFF~uF~t>$+t~u>$-tF$-0;F}.$0B6$u~ue6$=a|V6$=fG6$-W$FRPvv% $+}։FVFFNu~t?~tVF؃FV~t^ VFW F^ F ~uF ~u+F$>$|'~t^ $^  FFNu҃~tF ~u~u9F26$]u.>$~'~t^ $^ FFNuă~t ^ F ~tH~uFF^?^u FFFFF ^?t F^?]u^?uD6$u@>$~9v6$m3Ft'~t^ $^ FFNuFF]~t ^ F ~t>$|F  ^Gt`^Gto[Gt PFP P^w^7Q^GuO몋^O렋F*} ^GG^GuGGH؊ +PPvPvvPP% F2 + %F%-;> %r W}+ > %>%%=u % %ո F%F>%uqP% %WƩt%GFu Fu+;Fr)FF;s؉7F E vzO 5uvu+F-F%F%+FF Fu Fu+;Fr#FF;s؉7 F+vFtvPvU%F׸cFfWFu+vFOuF+,^g[+ GFFNu3+PPvPPPP+PFu H%"%+"%FF"%FPuF v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPePFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuzF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRP\FV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|]F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^GF*F~G=u FG<uFR+;t++ =tGF~ FG<uFFFF^?u+F+;t++=tntGF+G~|^GtGt&^}G;GuG^GO_F:++PPvPvvPP+F:%F <%F >%F@%FB%FD%vvT+v }>:%F<%F >%@%~^ FF OuvvPF8%6%PvFu>8%|8% 8%أN%V++FG?uD:[UWV+;&$%r8%:%<%@%&%6%PPf^_] U싆 ]UFfȋFf ȋFf]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]rUsage: uudecode [infile] No begin line begin begin %o %sIllegal ~user No such user as %s /wend No end line Short file /etc/passwdt"|""""""""# #,#>#N#`#l#########$$*$9$H$`$m$$$$$Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : P%P%BP)P)$$$P-Stack overflow 0B#܋@ãPSQP"~~6P^wFu^wPFNF~tPPFP^7F%Fڋ^wPP6vP+P^xT8-PFPvFv%? P FvFFP%FF;F|v P ~ ^F%0W ‰FG%<W ‰FG%?FvF%? Pn vF%? P[ vF%? PH vF%? P5 a ! F'vF=uF= FF؋FFF;F|ыF+ v + +ヿtG| + FPvv(^G@tSP +y FPv6G@tS$ L F+(|"P=wuKNPvF|2gGヿu͋^=auNPvF}$+=ruN+PvF}ܸP++RPv( P7FtG؋FFGP^GuO^O ^GGFF +K vvPP n . ^GuGu+0^~ww7 F^;GuGGGF ^O+ +PPPPPvP+P   +PPvPPvPP F  FVFF PP Ft +I vvPP l +- >|>"~ PQUv]PvP P`PP-PPPcPP  FF^F?uF  ^Gt`^Gto[Gt PFP P^w^7Q^GuO몋^O렋F*S ^GG^GuGGH؊+PPvPvvPPF +F%-;>r W}+>>%=uոqF%F>uqPWƩt%GFu Fu+;Fr)FF;s؉7F E vz%5uvu+F-F%F%+FF Fu Fu+;Fr#FF;s؉7 F+vFtvPvU%F׸9FfWFu+XvFOuF+^g1+ GFFNu +PPvPPPP+PFu +FFFPuF hv=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFP|PFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuPF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|3F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7zF^GGF~t7~~ ^G;Ft~} ^O^Om^GF*FFF^?u+F;++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&rPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]rUsage: uuencode infile outfile begin %o %s end 4D\f(4FUet&2@Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : BfpzStack overflow ...test0test1test2test3 test4!test5"test6#test7$test8%test9&test10't10a(test11)t11a*t11b+test0.c,test1.c-test2.c.test3.c/test4.c0test5.c1test6.c2test7.c3test8.c4test9.c5test10.c6t10a.c7test11.c8t11a.c9t11b.c:run;MINIX=PCIX0D܋@ãPSQP&P F 0F~|>u P~ 6Pn :PP#F=tPP> P P(PF=t P P-PF=t P v?t P +P/PF=t Ph +P4PF=t PI vt P2 F{P;PEF=tPAP` P +PbP3F=t P vt P vkt P F~}|hP-v>t P F'FiFPnPF=t PT vt P= PsPoF=t P PPv=t P PPvt P +P+RPvut P PPv=t P >u>u>u>t Pv +P+RPvdut PT P+ҸRPv>u=t P- PPv=t P >u>u>u>t P +P+ҸRPvu=t P sPPvY=t P +P+RPvut P|  PPvg=t P\ >u>u> u>t P6 +P+ҸRPv!u=t P P+ҸRPvu=t P PPvt PP++RPvu=t !PVPPv<=t "PP++RPvlu=t #P[+P+ҸRPvFu=t $P5PPv= t %P>u>u> u>(t &P+P+Ҹ'RPvu='t 'PPPva=t (PPRPvu='t )P~PPvi=t *P^>u>t +PF+P+ҸwRPv1u=wt ,P PPv=t -P+P+RPv ut .PPRPv u=wt /PhdPPv=t 0P>u>u>u>u>t 1Pf+P+Ҹ NRPvQ u= Nt 2P@PPv=t 3P PRPv u= Nt 4PPPv =t 5P> u>u>u>(t 6PvS t 7PPxP F=t 8P{v t 9Pd}P F~}RF ^ƇF~d|1DF+P} PP' F} PPP } PPP F} PFF؋FF~|PPv. =t PsPPv] =t PRFF(F؊Vڊ;tFF~|у~t PP } Pv } Pvy } P+PP F} PPPv =t PFF(F؊Vڊ;tFF~|у~t P7PPL } Pt Pt Put PPvT } P;t P;t P;t P;t Pr;t P^;t PJ;t P6;u;t P;u;t Pv} PPi } P P1 PPF} PPP } P߁t PsP } P[v} !PDPP^F} "P%v} #PPP@F} $Pv*FVB;t %PPPvk =t &PPPv+P+RPvut 'P|PPvfF=t (PXP} )P@v} *P)v} +PF~} + 6Lv6P?P; + FPvv^G@tS2 +u FPv6wG@tS H ^GuGu+0^~ww7F^;GuGGGF8 ^O v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvv FFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ _F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|tF^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^G++vvPP++PPPPPv)PPr+g+PPPPPvP+PSF+PPvPPvPP/F`+!+PPPPPvPP @++PvvPvPvP PP FR%VFX%Z%F T%PP<FtZ%X%+vvPP+o>L|>L"~ PUv]PvP PPPL*-PL*PPPP/FF^F?uF+PPvPvvPPF+PvvPPvpPPPF+w+FG?u+[+PPPPPv<PPFz+;v+P PPi^++PPvPvvPP:5FR%F T%F V%FX%FZ%F\%vveKv >R%FT%F V%X%Ot^ FF vvn=FP%N%PvF~tF>P%} P%أLP%g'G?tFDC[UWV+;&rP%R%T%X%N%PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_] ( Test 0 ok %d errors foopCreating a file returned file descriptor %d instead of 3 foop/foopnofileFile2creat yielded fd=%d, expected 4 File2File2foopfoopfoopfoopT3T3newT3newT3T3newT3newT3newT3T3aT3aT3aT3bT3bT3bSubtest %d, error %d errno=%d NNBN!N!px (:J\h~&5D\iError 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : Stack overflow 0> Z@?> ܋@ã> PSQP @ PF 9F~|>u I P6M P+Pe O FF1jFt}Y PhP0 v*FF;F|A  hFFP(  OFv  F:Ft}n PPvvTF~|  FF~|Pv|FP+ +L { +< uPPY>t6*T + 6v P? P- +FPvv^G@tS2 +FPv6 w G@tS^GuGu+0^~ww7kF^;GuGGGF^O 8v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFP&PFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPsPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xu` F~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvZFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ mF F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7JF^GGF~t7~~ ^G;Ft~} ^O^O=^G+++PPPPPvP+P++PPPPPPP+P++PPPPvv%P+P++PPPPPPP+P+s>|>"~ PoUv]PvPHP~PP6 -P PPPP3FF^F?uFFH㋇FFHFF~t~uFL 0P+P7F}FPSQRVWU܋Kۋ6PX]_^ZY[X+C+FG?ug&+PPPPPPP+P8F^F:++PPvPvvPP+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&rPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Test 1 ok %d errors Test 1 fork failed Test 1 fork failed Error %d errno=%d B & . 8 R b z 4FRds5DP^Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : Stack overflow  "2܋@PSQP4 PwF~}$F PZP,FFFP}6l PPxF~} PPX~uvF~}F%^l FF~}2Pl PvN}6l PPFv FP~:tv P^PvF~ |Pl Pv}F~tv PPnFF;F}B^l % ;t" %P^l %Pv? P FFp:PE[+=+PPPPPvP+PM]++PPPPPPP+P/?++PPPPPvPP+PPPPPP*PPF|^rtG+F"FF#^?%uKFF^?0}NFF^=cuB~=Du=Ou=Xu %P^FPw^?9F 0‰F넋^FFFVF FPvvvFF+FF5FNu( P^FFF+҉FVF룋^FFF+҉FVF녋^WFVFF FFe^WFVFFދ^WFVFFŋ^FFPY^FރFF FۘP:^FފFۅuFF+FHV+ЉV~]FNtS P=du=ou=st=xuMFHFFF؊PN~}F^?t_F~u~u ^ 0|~}~ uVF؃FVFFF FF~ |F~ uB+Ҹ RPvvV Vڈ+Ҹ RPF F؊v^+VS"FV~u.VF%+ҋV VڈVFFV~u.VF%+ҋV VڈVFFVF~tD~t;FFHFKF F؀?u~u F F (F F؀? } F F؀0 F F؀7FN~}~tFF -FF}X FZ X >X u ~ u>X t16X Z PPzF ^ƇZ F~|X N+PPvPvvPPYFf&+PPPPPPP+P8F^rF:++PPvPvvPP+FrF tF vFxFzF|vvT+v }>rFtF vx~^ FF OuvvPFpnPvFu>p|p pأlV++FG?uD:[UWV+;&Z rprtx\ nPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Test 2 ok pipe error. errno= %d fork failed write pipe err. errno=%d wrong exit code %d read yielded %d bytes, not 512 wrong data: %d %d %d Stack overflow 0 $F7 ܋@ã PSQPj  P!F lF~ |>2 t P>4u  P64 PO  ,P P& Ft>>*t Pv} PCFP ~ tP) P6, + *. + v P>4+ P f 0P P}FPt,v PFPv( >0tFPvv+P1 + 02!  +PPtZztSstLltEPPP+PFPjFP`FPVFPLz +g FPvv^G@tS2| += FPv6L wL G@tSP  ^GuGu+0^~ww7F^;GuGGGF ^O v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRP\FV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ 'F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|}<F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^G++k+PPPPPvP+P{+K+PPPPPPP+P]m+-+PPPPPvPP<L+ +PPPPvv%P+P+++PPPPPPP+P +>N|>N"~ PUv]PvPPPPNr -PNr PkPPPYMFF^F?uFl,+PPPPPP*PP=F|^:<G+6F++PPPPPPP+PFH㋇PFFHFPF:~t~uF D0P+P7F}FPSQRVWU܋KۋP68PX8]_^ZY[X+C+FG?ug&+PPPPPPP+P8F^:F:++PPvPvvPP+F:F <F >F@FBFDvvT+v }>:F<F >@~^ FF OuvvPF86PvFu>8|8 8أNV++FG?uD:[UWV+;&r8:<@6PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Test 3 ok %d errors Error %d 66B66, 6 @ 0BTdp$5I]n}Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : Stack overflow 0 * 7 ܋@ã PSQPF P PC  Hr u3>r }:tt u>t }#]v u>v } Fx tr>x }| >| '}| P6v T P6t F P6r 8z Pz Pz Pz PoP P~ PPRP RP{ RP6~ | >| }P P6~ [|  6~ PA PBP +FPvv^G@tS2+]FPv6: w: G@tSp0^GuGu+0^~ww7F^;GuGGGF ^O v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ GF F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|\F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^G+++PPPPPvP+Pw+k+PPPPPPP+PY+M+PPPPPvPP8l+-+PPPPvv%P+PK FVFF PPzFt++PPPPPPP+P+vvPP+PPvPvvPPuF+g+FG?uJ+PPPPPPP+P8F^F^++PPvPvvPP:5FF F FFFvveKv >FF Ot^ FF vvn=FPvF~tF>} أg'G?tFDC[UWV+;&` rb PPf^_] U싆 ]UFfȋFf ȋFf]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Test 4 ok /dev/fd0Fork failed. Not enough memory. B $ . Stack overflow 0$B\C$܋@ã$PSQPr 0PFbRPF~|>u 9P`6=PP+P i+*6vHP.L FF^?tFF~r~t +PPPP P F Ft }lv,v+PP+P PlF)Pv7 } P>tF~|эFP} P~t PDF)>t Pv } PF~|ѸP +PP +P P  Fu}9r Ft{}*c Ftg} Pv% } P FP} PFP } PFP }P +P  F ;Fu F~} ;Fu F~}n ;Fu F~}W ;Fue P+PY } P@FP9 } P(FP! } PFP }P) VF Fu}P ^&v }PP FP F} PF%?^;&t PfF;FtPT +P\ F~}[ ` F2PPp P( B F@9t PF~|R  4PP/  FtS}P Pv } PFP } P+PP * F>t=t PX+Pb +s j kF}%~t.FP$ F*FF*9FuPFBFFF*FP } Po;Ft P;Ft !PFFFF@*FPZ } "P}`;Ft #Pk;Ft $PY*FFPJ =t %P8vB +S &P @ TP P] P PO F Pv+P P/ ; + / 4PP FPFtb}PPv} 'PuFPn } (P]+PPvv+PFPvF>t *P+P"r +3 6^P:PR + FPvv^G@tS2( + FPv6wG@tS  ^GuGu+0^~ww7F^;GuGGGF ^O ^ v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPLPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuFF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|)F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7pF^GGF~t7~~ ^G;Ft~} ^O^Oc^G+++PPPPPvP+P'7++PPPPPPP+P +PPPPPP/P+PF}#+PPPPPPP+PF}#+PPPPPP/P+PF+a+PPPPPvPPp@+PPPPPPP+PRF_++PPPPvv%P+P-=++PPPPPPP+P+PPPPPP*PPF|^##G+F+PPvPvvPPF+{+PPPPPv.P+P+[+PPPPPvP+Pk{+;r+3lPPPv #P++PPPPPvP+P!1++PPPPPPP+PFH㋇#FFHF#F#~t~uF2#0P+P7F}FPSQRVWU܋Kۋ#6#PX#]_^ZY[X+C+FG?ug&+PPPPPPP+P8F^#F:++PPvPvvPP+F#F #F #F#F#F#vvT+v }>#F#F ##~^ FF OuvvPF##PvFu>#|# #أV++FG?uD:[UWV+;&r#####PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_] Test 5 ok %d errors Error %d. errno=%d Test 5. fork failed. Errno=%d BStack overflow  $d.܋@PSQPK P/F~F}_F>u ) P 6- PP{y 9 v9 PE P-U  =PFPFF~ }FPiFF~ }FPJFP;;Ft PkP"vt PJP;Ft P1FFFFPPFF;FtۋF+FFPP;Ft Pv_P;Ft PFFF+FP1P[FF;FtۋF+FFP=P3;Ft PcvP;Ft PAF;Ft P/FFPPVV;t PFPFFFP;Ft PFP|Pr;Ft P ++PPPPPvP+P+PPvPPPP+PFu F +pF FFF FPuFD"F+PvvPPPBP+PL\ø$W +&3&u=u_+>|>"~ P Uv]PvPP PPH -PH PP PP{oFF^F?uF"NFF#^?%uKFF^?0}NFF^=cuB~=Du=Ou=Xu %P^FPw^?9F 0‰F넋^FFFVF FPvvvFF+FF5FNu( P^FFF+҉FVF룋^FFF+҉FVF녋^WFVFF FFe^WFVFFދ^WFVFFŋ^FFPY^FރFF FۘP:^FފFۅuFF+FHV+ЉV~]FNtS P=du=ou=st=xuMFHFFF؊PN~}F^?tK F~u~u ^ 0(~}~ uVF؃FVFFF FF~ |F~ uB+Ҹ RPvv:V Vڈ+Ҹ RPF F؊v^+VSFV~u.VF%+ҋV VڈVFFV~u.VF%+ҋV VڈVFFVF~tD~t;FFHFKF F؀?u~u F F (F F؀? } F F؀0 F F؀7FN~}~tFF -FF}h F  > u ~ u|<> t16 PP&F ^Ƈ F~| ;++PPvPvvPP+FF F F FFvvT+v }>FF  ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&r PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Test 6 ok %d errors Error %d $   * : F X h z  3 D S b z Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : Stack overflow 0, <N/\, ܋@ã, PSQP . PF.F~|>ju 7 P6j; P H PPqFF^ヿltFF~|~~ PPtPN. +6|5v6hF P?h Pgj +FPvv^G@tS2+FPv6 w G@tSl^GuGu+0^~ww7F^;GuGGGF\^O v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPQPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xu6F~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvv0FFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ CF F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|F^GtGuGt PFP^7>F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^G+++PPPPPvP+P++PPPPvv%P+P++PPPPPPP+Ps+g>|5|>|5"~ P?Uv]PvPPNPP|5 -P|5 PPQPP'FF^F?uFFH㋇=FFHF=F=~t~uFF=0P+PF}FPSQRVWU܋Kۋ=6=ӏ=]_^ZY[XT+;+FG?u_++PPvPvvPP:5F=F =F =F=F=F=vveKv >=F=F ==Ot^ FF vvn=F=~=PvF~tF>=} =أ|5=g'G?tFDC[UWV+;&Vr====X~=PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Test 7 ok %d errors Subtest %d, error %d errno=%d ~5~5B~9~9j t ~  " 2 J T n   " 4 C S b s  .Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : Stack overflow 0HD;܋@ãPSQP PFF~|P" F +P` PF } P+PAPP } PPP } P+PPP } P+PPP } P+PPP } P`+PP F} PBv } P++PPf F} P v } PP, } P+PP F} Pv} } P+PP F} PvH } Pt+PP F} PVv } P?SPP} P#FP>P } PF%=St P.PZP@} PFPoP } PF%=.t PPPvP } PFPP{ } Pi~t PY~t PI+PPF| P++PPfF} P v} PPP } PPP} PPP| !PP } "PP} #PrP} $PZP} %PBP} &P*P} 'PF~} + 6v6P;PC + FPvv^G@tS2 +Y FPv6 w G@tSl , ^GuGu+0^~ww7F^;GuGGGF ^O v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPxFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ CF F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|XF^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^G++vv!PP+kv+P PP+OvvPP}r+3+PPvvvvPPPE++PPPPPvP+P%++PPPPPvPP++PvvPvPvP PP++PPvvvvYPPPo+cvvPP+G>|>"~ PUv]PvPPPP2-P2PPPPFF^F?uF+PvvPPvpPPPF+w+FG?u+[+PPPPPv<PPFz+;v+P PPi^++PPvPvvPP:5FF F FFFvveKv >FF Ot^ FF vvn=FPvF~tF>} أg'G?tFDC[UWV+;&rPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Test 8 ok /dir//dir/..T3a/dir/T3bdir/T3c/dir/T3bdir/T3cdirT3b../T3a../dir/../dir/../dir/../dir/../dir/T3c../dir/../dir/../dir/../dir/../T3a../dir/../dir/../dir/../T3a../dir/../dir/../T3a../T3a../dir/../dir/../T3a../T3a/T3c/T3a/T3a/dir/T3b/dir/T3dT3bT3c../dir/T3aSubtest %d, error %d errno=%d Bx$0BRdp .=LdqError 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : Stack overflow 0(8F 9(܋@ã(PSQP F 4PAFLmF~d|>bt6b=P 6b FPiu*PFPf QPP tt߸P+ b6`vP6(d + `Mt P +] `,&t P,t Pe % `,Ft P],t PM~t P< + `t P + `.}t P.t P | `.F@t P.t P~t Pn . Fb " FFFZ FfPy =v*FPfPh P- t Pt P ~t P~t P~t P~Zt P6dF;dt Ps t Pt P~t P|~t Pk~t PZ~Zt PIdF;dt P0( t Pt P ~t !P~t "P~t #P~Zt $P6dF;dt %P t )Pt *P~t +P~t ,Pn~t -P]~Zt .PLdF;du /dP*+pzPfP9 +hƘ+iƘPfP +mPfP +WPPfGevPIP#c+#FPvv^G@tS28+FPv6&w&G@tS ^GuGu+0^~ww7}F^;GuGGGF^O nv=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPdPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuVF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|9F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7\F^GGF~t7~~ ^G;Ft~} ^O^Os^G++'+PPPPPvP+PG++PPPPvv%P+P%++PPPPPPP+PFH㋇FFHFFp~t~uF z0P+PF}FPSQRVWU܋Kۋ6nӏn]_^ZY[XL+;+FG?u_++PPvPvvPP:5FpF rF tFvFxFzvveKv >pFrF tvOt^ FF vvn=FnlPvF~tF>n} nأng'G?tFDC[UWV+;&NrnprvPlPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]Ë܋_/gG33q^F u@;Ntn u~vngO܉{Test 9 %d errors detected WARNING: The setjmp/longjmp of this machine restore register variables to the value they had at the time of the "setjmp" Aha, I just found one last error ok Error %d in test %d llBllStack overflow 0 :=܋@ãPSQPp  P F] ;Ful u+PP+P5  ;FuG u+PP+P h ;Fu" u+PP~+P C ;Fu u+PPY+P FQ %PVF~<|F FP F~|>*u P6* P x+Pb   s Ft FPo C+P^F*6^P +P @P n +P]Pf F}bPuP P,Pv @PsPxPxPqP}Pc PPU` PPGPP9PP+PPPPvr   FDFPvF6,PvU v4  +e P P P P P P P P P B + FPvv^G@tS2 + FPv6wG@tS  ^GuGu+0^~ww7] F^;GuGGGF ^O N v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPIPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuv6F~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|F^GtGuGt PFP^7~F^GA^GGH؊F^GG=|%Guww7<F^GGF~t7~~ ^G;Ft~} ^O^OS^G++vvPP5*+PFPvKFF^F?u^7FPv+PvvdždžFF?t?udž‰V;r$F9rH؋dž@+Љ‰^F?u;|dž`+Љ‰^F?t F9rݸe;|+J™鉆+PPv+PvP;P+P뎸FFFF+PFPv+PPvjP;P+P+u+PPPPPvP+Pa+U+PPPPPPP+PCw+7+PPPPPvPP"V++PPPPPPP+P9+vvPP'+AmNRP66.90%++PPvPvvPPF++FG?u+gv+P PPJ+PPPPPPP+P8F^F^++PPvPvvPP:5FF F FFFvveKv >FF Ot^ FF vvn=FPvF~tF>} أg'G?tFDC[UWV+;&rPPf^_] U싆 ]UFfȋFf ȋFf]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]t10at10bt10ct10dt10et10ft10gt10ht10it10jTest 10 t10at10bt10ct10dok %d errors Child execl didn't take. file=%s errno=%d Worse yet, EXIT didn't exit t10aCan't open t10a t10bt10ct10dt10et10ft10gt10ht10it10jt10bt10ct10dt10et10ft10gt10ht10it10jBStack overflow 0 ܋@ãPSQP+ +P7++PPPPPvP+P+FF F FFFvvT+v }>FF ~^ FF OuvvPFPvFu>| أV++FG?uD:[UWV+;&rPPf^_] U싆 ]Stack overflow 0n~<n܋@ãnPSQP P_F `F~ |> u P86 P(+P +6"vPP   X t/FP ~dt PP P .P PP} PPP]pP+PPm PP>PPzF=t P3v } PPP =t PcP PP} P0PPF=t Pv3 } PPP =t PPcPP} PkP } PSP& } P; =t P)T =t Pl =t P =t PFFFF PFPP2 =t P+P+ҸRPPm pP+PPPPPPPPP6 ( G tFP ~Kt6*F FFFFFPPP + FPvv^G@tS2 +g FPv6DwDG@tSz : ^GuGu+0^~ww7 F^;GuGGGF* ^O v=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFP PFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xu  F~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvv FFNj؋FFNj؊FV+Ҹ RPVF+FVRP FV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ QF F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|fF^GtGuGt PFP^7 F^GA^GGH؊F^GG=|%Guww7F^GGF~t7~~ ^G;Ft~} ^O^O^G++vvPP+y+PPvvvvAPPPW+KvvPPyn+/<PFPvKUFF^F?u^7FPv(+<PvvdždžFF?t?udž‰V;r$F9rH؋dž@+Љ‰^F?u;|dž`+Љ‰^F?t F9rݸ;|+J™鉆+PPv+PvP;P+P뎸FFFF+PFPv+PPvP;P+P++PPPPPvP+P++PPPPPPP+Pz+PPPPPP/P+PhF}(N+PPPPPPP+P<F}i($+PPPPPP/P+PFB++PPPPPvPP"+PPPPPPP+PFF(VF.0F *PP0Ft0.+vvPP+c>"|>""~ PUv]PvPPPP"j-P"jPP PP#FF^F?uF++PPPPPv.P+P++PPPPPvP+P++FG?u+gv+P PPJ+PPPPPPP+P8F^(F^++PPvPvvPP:5F(F *F ,F.F0F2vveKv >(F*F ,.Ot^ FF vvn=F&$PvF~tF>&} &أ"&g'G?tFDC[UWV+;&r&(*.$PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]v}springsummerTest 11 ok %d errors Error %d. errno = %d t1t2t11at11at11at11at1t1t1t2t2t2t11at11aarg0arg1arg2Can't exec t11a t11babcdefghijt11b$$B$$$.8(:L\hz -AUfuError 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeInvalid errno : Stack overflow 0 t3 ܋@ã PSQP P^7xt P P^wZt P P^w<t Pk P^wt PM P^7t P0 P^wt P~t PPFPP=t P~u~ t P&= u P= t P=u PX=t !P+P P} "Ph+P P} #PMdP8+i^?u^?u +^^;uFF+,v P0V+FPvv^G@tS2,+FPv6 u G@tS^GuGu+0^~ww7F^;GuGGGF^Ob+PPPPPP/P+PtF}| +7+PPPPPvP+PGW+PPPPPPP+P(F}1 +PPPPPP/P+PF +PPPPPPP+PF+vvPP+PPvPvvPPF dv=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPxPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuLF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|/F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7vF^GGF~t7~~ ^G;Ft~} ^O^Oi^G+FFF^?u+F;++PPvPvvPP+F F F " F$ F& F( vvT+v }> F F " $ ~^ FF OuvvPF  PvFu> |  أ2V++FG?uD:[UWV+;& r   $  PPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]t11aarg0arg1arg2springsummert1t2Error %d 2 2 B22 Stack overflow 0 v1 ܋@ã PSQP+7 P^7t P P^w}t P P^w_t !P P^wAt "Pp^t #P]~t $PMKP +^?u^?u +^^;uFF+Nv P0x+9FPvv^G@tS2N+FPv6  G@tS"^GuGu+0^~ww7F^;GuGGGF^O++PPPPPvP+P dv=Du =Ou$=Xu'=cu*v%P<vGP,L=9~-0nF܋F F܉F\G=0}d=9~\F 0‰FԃDFVF FPvvvUvFPxPFPvvFPDFV+뱃DFV}+҉FVF뜃DFV}+҉FVF{TDdTD뻃TDЃDFvFP(DFvPPFPvvv3 G=tt=%tFFFF G=-uFG=0uF0G=0|v=.u=du=ou=suq=uu=xuLF~u~u ^ 0G~ u~}VF؃FVF+FNjG |+~ uN+Ҹ RPvvFFNj؋FFNj؊FV+Ҹ RPVF+FVRPFV~u-VF%+ҍV׋ڈVFFV~u-VF%+ҍV׋ڈVFFVG~t<~t3FEDFƋ؀?u~u FƋ %FƋ؀? } FƋ؀0 FƋ؀7FN}~t FNj-GEFƋ؊^ F N}^ F F~~F ;F~FFFF~8NvF PoF;FFNtv^FPH^?uۃ~})~ 0u#v.P'FFvF PF9F|/F^GtGuGt PFP^7F^GA^GGH؊F^GG=|%Guww7vF^GGF~t7~~ ^G;Ft~} ^O^Oi^G+FFF^?u+F;++PPvPvvPP+FNF PF RFTFVFXvvT+v }>NFPF RT~^ FF OuvvPFLJPvFu>L|L LأHV++FG?uD:[UWV+;&6 rLNPT8 JPPf^_] U싆 ]UW+VF^ Ny ؃ׅy كSt؃_]UW+VF^ Ny ؃ׅyكӋt؃_]u؋+ʋ+UWV+u&GW݊*ɋ*ɊĊ*RPQ;r WWRP+_+ƃ^+X+y Mϋ_t͊ߊ+^_]t11babcdefghijError %d H H BHH  Stack overflow #include "stat.h" extern int errno; int errct; int testnr; extern long lseek(); #define NB 30L main() { int i; char let; printf("Test 0 "); for (i = 0; i < 4; i++) { test00(); test01(); } if (errct == 0) printf("ok\n"); else printf(" %d errors\n", errct); } char aa[100]; char b[4] = {0,1,2,3}, c[4] = {10,20,30,40}, d[4] = {6,7,8,9}; long t1; test00() { /* Test program for open(), close(), creat(), read(), write(), lseek(). */ int i, n, n1, n2; long t, time(), abuf[4]; struct stat s; testnr = 1; if ((n = creat("foop", 0777)) != 3) { printf("Creating a file returned file descriptor %d instead of 3\n",n); e(1); } if ((n1 = creat("foop", 0777)) != 4) e(2); if ((n2 = creat("/", 0777)) != -1) e(3); if (close(n) != 0) e(4); if ((n = open("foop", 0)) != 3) e(5); if ((n2 = open("nofile", 0)) != -1) e(6); if (close(n1) != 0) e(7); /* n is the only one open now. */ for (i = 0; i < 2; i++) { n1 = creat("File2", 0777); if (n1 != 4) {printf("creat yielded fd=%d, expected 4\n",n1); e(8);} if ((n2 = open("File2", 0)) != 5) e(9); if (close(n1) != 0) e(10); if (close(n2) != 0) e(11); } unlink("File2"); if (close(n) != 0) e(12); /* All files closed now.*/ for (i = 0; i < 2; i++) { t = 105L; if ((n = creat("foop", 0777)) != 3) e(13); if (close(n) != 0) e(14); if ((n = open("foop", 2)) != 3) e(15); /* read/write tests */ if (write(n, b, 4) != 4) e(16); if (read(n, aa, 4) != 0) e(17); if (lseek(n, 0L, 0) != 0L) e(18); if (read(n, aa, 4) != 4) e(19); if (aa[0] != 0 || aa[1] != 1 || aa[2] != 2 || aa[3] != 3) e(20); if (lseek(n, 0L, 0) != 0L) e(21); if (lseek(n, 2L, 1) != 2L) e(22); if (read(n, aa, 4) != 2) e(23); if (aa[0] != 2 || aa[1] != 3 || aa[2] != 2 || aa[3] != 3) e(24); if (lseek(n, 2L, 0) != 2L) e(25); clraa(); if (write(n, c, 4) != 4) e(26); if (lseek(n, 0L, 0) != 0L) e(27); if (read(n, aa, 10) != 6) e(28); if (aa[0] != 0 || aa[1] != 1 || aa[2] != 10 || aa[3] != 20) e(29); if (lseek(n, 16L, 0) != 16L) e(30); if (lseek(n, 2040L, 2) != 2046L) e(31); if (read(n, aa, 10) != 0) e(32); if (lseek(n, 0L, 1) != 2046L) e(33); clraa(); if (write(n, c, 4) != 4) e(34); if (lseek(n, 0L, 1) != 2050L) e(35); if (lseek(n, 2040L, 0) != 2040L) e(36); clraa(); if (read(n, aa, 20) != 10) e(37); if (aa[0] != 0 || aa[5] != 0 || aa[6] != 10 || aa[9] != 40) e(38); if (lseek(n, 10239L, 0) != 10239L) e(39); if (write(n, d, 2) != 2) e(40); if (lseek(n, -2L, 2) != 10239L) e(41); if (read(n, aa, 2) != 2) e(42); if (aa[0] != 6 || aa[1] != 7) e(43); if (lseek(n, NB*1024L-2L, 0) != NB*1024L-2L) e(44); if (write(n, b, 4) != 4) e(45); if (lseek(n, 0L, 0) != 0L) e(46); if (lseek(n, -6L, 2) != 1024L*NB-4) e(47); clraa(); if (read(n, aa, 100) != 6) e(48); if (aa[0] != 0 || aa[1] != 0 || aa[3] != 1 || aa[4] != 2 || aa[5] != 3) e(49); if (lseek(n, 20000L, 0) != 20000L) e(50); if (write(n, c, 4) != 4) e(51); if (lseek(n, -4L, 1) != 20000L ) e(52); if (read(n, aa, 4) != 4) e(53); if (aa[0] != 10 || aa[1] != 20 || aa[2] != 30 || aa[3] != 40) e(54); if (close(n) != 0) e(55); if ((n1 = creat("foop", 0777)) != 3) e(56); if (close(n1) != 0) e(57); unlink("foop"); /* Test clock. */ /* This test messes up the clock value t = 20L; stime(&t); t = 0L; t = time(&t); if (t < 20L || t > 70L) e(59); t = 200L; if (stime(&t) < 0) e(60); t = 0L; if (time(&t) < 200L || time(&t) > 205L) e(61); n1 = creat("timefile", 0777); abuf[0] = 03003L; abuf[1] = 03003L; if (utime("timefile", abuf) < 0) e(62); if (stat("timefile", &s) < 0) e(63); if (s.st_atime != 03003) e(64); abuf[0] = 06226; abuf[1] = 06226; if (utime("timefile", abuf) < 0) e(65); if (stat("timefile", &s) < 0) e(66); if (s.st_ctime != 06226) e(67); if (unlink("timefile") < 0) e(68); if (close(n1) < 0) e(69); if (times(abuf) < 0) e(70); */ } } static clraa() { int i; for (i = 0; i < 100; i++) aa[i] = 0; } test01() { /* Test link, unlink, stat, fstat, dup, umask, * mknod. */ int i, j, n, n1, flag; char a[255], b[255]; struct stat s, s1; testnr = 2; for (i=0; i < 2; i++) { umask(0); if ((n = creat("T3", 0702)) < 0) e(1); if (link("T3", "newT3") < 0) e(2); if ((n1 = open("newT3", 2)) < 0) e(3); for (j = 0; j < 255; j++) a[j] = j; if (write(n, a, 255) != 255) e(4); if (read(n1, b, 255) != 255) e(5); flag = 0; for (j = 0; j < 255; j++) if (a[j] != b[j]) flag++; if (flag) e(6); if (unlink("T3") < 0) e(7); if (close(n) <0) e(8); if (close(n1) < 0) e(9); if ((n1 = open("newT3", 0)) < 0) e(10); if (read(n1, b, 255) != 255) e(11); flag = 0; for (j = 0; j < 255; j++) if (a[j] != b[j]) flag++; if (flag) e(12); /* Now check out stat, fstat. */ if (stat("newT3", &s) < 0) e(13); if (s.st_mode != 0100702) e(14); if (s.st_nlink != 1) e(15); if (s.st_size != 255L) e(16); if (fstat(n1, &s1) < 0) e(17); if (s.st_dev != s1.st_dev) e(18); if (s.st_ino != s1.st_ino) e(19); if (s.st_mode != s1.st_mode) e(20); if (s.st_nlink != s1.st_nlink) e(21); if (s.st_uid != s1.st_uid) e(22); if (s.st_gid != s1.st_gid) e(23); if (s.st_rdev != s1.st_rdev) e(24); if (s.st_size != s1.st_size) e(25); if (s.st_atime != s1.st_atime) e(26); if (close(n1) < 0) e(27); if (unlink("newT3") < 0)e (28); umask(040); if ((n=creat("T3a", 0777)) < 0) e(29); if (stat("T3a", &s) < 0) e(30); if (s.st_mode != 0100737) e(31); if (unlink("T3a") < 0) e(32); if (close(n1) < 0) e(33); /* dup */ if ((n=creat("T3b", 0777)) < 0) e(34); if (close(n) < 0) e(35); if ((n=open("T3b", 2)) < 0) e(36); if ( (n1=dup(n)) != n+1) e(37); if (write(n, a, 255) != 255) e(38); read(n1, b, 20); if (lseek(n, 0L, 0) != 0L) e(39); if ((j=read(n1, b, 1024)) != 255) e(40); if (unlink("T3b") < 0) e(41); if (close(n) < 0) e(42); if (close(n1) < 0) e(43); } } e(n) int n; { printf("Subtest %d, error %d errno=%d ", testnr, n, errno); perror(""); errct++; } #include "signal.h" int glov, gct; extern int errno; int errct; extern long lseek(); char initstack[2048]; main() { int i; printf("Test 1 "); for (i = 0; i < 15; i++) { test10(); test11(); } if (errct == 0) printf("ok\n"); else printf(" %d errors\n", errct); exit(0); } test10() { int i, n, pid; n = 4; for (i = 0; i < n; i++) { if ( (pid=fork()) ) { if (pid < 0) { printf("\nTest 1 fork failed\n"); exit(1);} parent(); } else child(i); } } parent() { int n; n = getpid(); wait(&n); } child(i) int i; { int n; n = getpid(); exit(i); } test11() { int i, k; for (i = 0; i < 4; i++) { glov = 0; if ( (k=fork())) { if (k < 0){printf("Test 1 fork failed\n"); exit(1);} parent1(k); } else child1(k); } } parent1(childpid) int childpid; { int func(), n; for (n = 0; n < 5000; n++) ; while (kill(childpid, 2) < 0) /* null statement */ ; wait(&n); } func() { glov++; gct++; } child1(k) int k; { signal(2, func); while (glov == 0) ; exit(gct); } e(n) int n; { printf("\nError %d errno=%d ", n, errno); perror(""); errct++; } extern errno; int kk=0; char buf[2048]; main() { int i; printf("Test 2 "); for (i = 0; i<19; i++) { test20(); } printf("ok\n"); exit(0); } test20() { /* Test pipes */ int fd[2]; int n, i, j, ij, q=0, nn, m=0, k; if (pipe(fd) <0) {printf("pipe error. errno= %d\n", errno); exit(0);} i = fork(); if (i <0) { printf("fork failed\n"); exit(0);} if (i != 0) { /* Parent code */ close(fd[0]); for (i=0; i<2048; i++) buf[i] = i & 0377; for (q=0; q<8; q++) { if(write(fd[1], buf, 2048)<0){ printf("write pipe err. errno=%d\n",errno); exit(0); } } close(fd[1]); wait(&q); if (q != 256*58) {printf("wrong exit code %d\n",q); exit(0);} } else { /* Child code */ close(fd[1]); for (q=0; q<32; q++) { n = read(fd[0], buf, 512); if (n!=512){printf("read yielded %d bytes, not 512\n",n); exit(0);} for (j=0; j> 8) & 0377; if ( i != (n&0377)) e(30); } else { i = getgid(); j = getegid(); k = (i + j + 7) & 0377; if (setgid(k) < 0) e(31); if (getgid() != k) e(32); if (getegid() != k) e(33); i = getuid(); j = geteuid(); k = (i + j + 1) & 0377; if (setuid(k) < 0) e(34); if (getuid() != k) e(35); if (geteuid() != k) e(36); i = getpid() & 0377 ; if (wait(&j) != -1) e(37); exit(i); } } func11() { e(38); } test57() { int n; signal(11, func11); signal(11, SIG_IGN); n = getpid(); kill (n, 11); signal(11, SIG_DFL); } funcalrm() { alarms++; } test58() { /* When a signal knocks a processes out of PIPE, it is supposed to * get EINTR as error status. Check that. */ int n, j, i, fd[2]; if (signal(8, func8) < 0) e(38); pipe(fd); if (n=fork()) { /* Parent must delay to give child a chance to pause. */ if (n < 0) ex(); sleep(3); if (kill(n, 8) < 0) e(39); if (wait(&n) < 0) e(40); if (signal(8, SIG_DFL) < 0) e(41); close(fd[0]); close(fd[1]); } else { j = read(fd[0], &n, 1); if (errno != EINTR) e(42); exit(0); } } ex() { printf("Test 5. fork failed. Errno=%d\n", errno); exit(1); } extern char *brk(), *sbrk(); extern int errno; int errct; main() { int i; printf("Test 6 "); for (i = 0; i < 70; i++) { test60(); } if (errct == 0) printf("ok\n"); else printf(" %d errors\n", errct); exit(0); } e(n) int n; { printf("\nError %d ", n); perror(""); } test60() { /* Test sbrk() and brk(). */ char *addr, *addr2, *addr3; int i, del, click, click2; addr = sbrk(0); addr = sbrk(0); /* force break to a click boundary */ for (i = 0; i < 10; i++) sbrk(7*i); for (i = 0; i < 10; i++) sbrk(-7*i); if (sbrk(0) != addr) e(1); sbrk(30); if (brk(addr) != 0) e(2); if (sbrk(0) != addr) e(3); del = 0; do { del++; brk(addr+del); addr2 = sbrk(0); } while (addr2 == addr); click = addr2 - addr; sbrk( (char*) -1); if (sbrk(0) != addr) e(4); brk(addr); if (sbrk(0) != addr) e(5); del = 0; do { del++; brk(addr-del); addr3 = sbrk(0); } while (addr3 == addr); click2 = addr - addr3; sbrk( (char*) 1); if (sbrk(0) != addr) e(6); brk(addr); if (sbrk(0) != addr) e(8); if (click != click2) e(9); brk(addr + 2*click); if (sbrk(0) != addr + 2*click) e(10); sbrk(3*click); if (sbrk(0) != addr + 5*click) e(11); sbrk(-5*click); if (sbrk(0) != addr) e(12); } #include "signal.h" extern int errno; int testnr; int errct; int zilch[5000]; main() { int i; printf("Test 7 "); for (i = 0; i < 150; i++) { test70(); } if (errct == 0) printf("ok\n"); else printf("%d errors\n", errct); } test70() { int i, err, pid; signal(SIGQUIT, SIG_IGN); err = 0; for (i=0; i<5000; i++) if (zilch[i] != 0) err++; if (err > 0) e(1); kill(getpid(), SIGQUIT); } e(n) int n; { printf("Subtest %d, error %d errno=%d ", testnr, n, errno); perror(""); errct++; } #include "stat.h" extern int errno; int testnr; extern long lseek(); main() { int i; printf("Test 8 "); for (i = 0; i < 4; i++) { test80(); } printf("ok\n"); } test80() { /* Test mknod, chdir, chmod, chown, access. */ int i, j; struct stat s; testnr = 0; for (j=0; j < 2; j++) { umask(0); if (chdir("/") < 0) e(1); if (mknod("dir", 040700, 0) < 0) e(2); if (link("/", "/dir/..") < 0) e(3); if ( mknod("T3a", 0777, 0) < 0) e(4); if (mknod("/dir/T3b", 0777, 0) < 0) e(5); if (mknod("dir/T3c", 0777, 0) < 0) e(6); if ((i=open("/dir/T3b",0)) < 0) e(7); if (close(i) < 0) e(8); if ((i=open("dir/T3c", 0)) < 0) e(9); if (close(i) < 0) e(10); if (chdir("dir") < 0) e(11); if ((i=open("T3b",0)) < 0) e(12); if (close(i) < 0) e(13); if ((i=open("../T3a", 0)) < 0) e(14); if (close(i) < 0 ) e(15); if ((i=open("../dir/../dir/../dir/../dir/../dir/T3c", 0)) < 0) e(16); if (close(i) < 0) e(17); if (chmod("../dir/../dir/../dir/../dir/../T3a", 0123) < 0) e(18); if (stat("../dir/../dir/../dir/../T3a", &s) < 0) e(19); if((s.st_mode & 077777) != 0123) e(20); if (chmod("../dir/../dir/../T3a", 0456) < 0) e(21); if (stat("../T3a", &s) < 0) e(22); if((s.st_mode & 077777) != 0456) e(23); if (chown("../dir/../dir/../T3a", 20,30) < 0) e(24); if (stat("../T3a", &s) < 0) e(25); if(s.st_uid != 20) e(26); if(s.st_gid != 30) e(27); if ((i=open("/T3c", 0)) >= 0) e(28); if ((i=open("/T3a", 0)) < 0) e(29); if (close(i) < 0) e(30); if (access("/T3a", 4) < 0) e(31); if (access("/dir/T3b", 4) < 0) e(32); if (access("/dir/T3d", 4) >= 0) e(33); if (unlink("T3b") < 0) e(34); if (unlink("T3c") < 0) e(35); if (unlink("..") < 0) e(36); if (chdir("/") < 0) e(37); if (unlink("dir") < 0) e(38); if (unlink("/T3a") < 0) e(39); } } e(n) int n; { printf("Subtest %d, error %d errno=%d ", testnr, n, errno); perror(""); } /* Test setjmp with register variables. Author: Ceriel Jacobs */ # include "setjmp.h" # include "stdio.h" # include "signal.h" int whichtest; int nerrors; char *tmpa; main() { jmp_buf envm; register int i; int j; printf("Test 9 "); for (j = 0; j <100; j++) { test1(); test2(); test3(); test4(); test5(); test6(); } if (nerrors) { printf("%d errors detected\n", nerrors); exit(nerrors); } i = 1; if (setjmp(envm) == 0) { i = 2; longjmp(envm, 1); } else { if (i == 2) { /* correct */ } else if (i == 1) { printf("WARNING: The setjmp/longjmp of this machine restore register variables\n\ to the value they had at the time of the \"setjmp\"\n"); } else { printf("Aha, I just found one last error\n"); return 1; } } printf("ok\n"); } e(n) { nerrors++; fprintf(stderr,"Error %d in test %d\n",n,whichtest); } test1() { register p; whichtest = 1; p = 200; garbage(); if (p != 200) e(1); } test2() { register p,q; whichtest = 2; p = 200; q = 300; garbage(); if (p != 200) e(1); if (q != 300) e(2); } test3() { register p,q,r; whichtest = 3; p = 200; q = 300; r = 400; garbage(); if (p != 200) e(1); if (q != 300) e(2); if (r != 400) e(3); } char buf[512]; test4() { register char *p; whichtest = 4; p = &buf[100]; garbage(); if (p != &buf[100]) e(1); } test5() { register char *p,*q; whichtest = 5; p = &buf[100]; q = &buf[200]; garbage(); if (p != &buf[100]) e(1); if (q != &buf[200]) e(2); } test6() { register char *p,*q,*r; whichtest = 6; p = &buf[100]; q = &buf[200]; r = &buf[300]; garbage(); if (p != &buf[100]) e(1); if (q != &buf[200]) e(2); if (r != &buf[300]) e(3); } jmp_buf env; /* return address of local variable. This way we can check that the stack is not polluted. */ char * addr() { char a; return &a; } garbage() { register i,j,k; register char *p,*q,*r; char *a; int t; p = &buf[300]; q = &buf[400]; r = &buf[500]; i = 10; j = 20; k = 30; switch(setjmp(env)) { case 0: a = addr(); longjmp(env,1); break; case 1: if (i != 10) e(11); if (j != 20) e(12); if (k != 30) e(13); if (p != &buf[300]) e(14); if (q != &buf[400]) e(15); if (r != &buf[500]) e(16); tmpa = addr(); if (a != tmpa) e(17); level1(); break; case 2: if (i != 10) e(21); if (j != 20) e(22); if (k != 30) e(23); if (p != &buf[300]) e(24); if (q != &buf[400]) e(25); if (r != &buf[500]) e(26); tmpa = addr(); if (a != tmpa) e(27); level2(); break; case 3: if (i != 10) e(31); if (j != 20) e(32); if (k != 30) e(33); if (p != &buf[300]) e(34); if (q != &buf[400]) e(35); if (r != &buf[500]) e(36); tmpa = addr(); if (a != tmpa) e(37); hard(); case 4: if (i != 10) e(41); if (j != 20) e(42); if (k != 30) e(43); if (p != &buf[300]) e(44); if (q != &buf[400]) e(45); if (r != &buf[500]) e(46); tmpa = addr(); if (a != tmpa) e(47); return; break; default: e(100); } e(200); } level1() { register char *p; register i; i = 1000; p = &buf[10]; i = 200; p = &buf[20]; longjmp(env,2); } level2() { register char *p; register i; i = 0200; p = &buf[2]; *p = i; dolev(); } dolev() { register char *p; register i; i = 010; p = &buf[3]; *p = i; longjmp(env,3); } catch() { longjmp(env,4); } hard() { register char *p; signal(SIGHUP,catch); for(p = buf;p <= &buf[511]; p++) *p = 025; kill(getpid(),SIGHUP); } char *name[] = {"t10a","t10b","t10c","t10d","t10e","t10f","t10g","t10h","t10i","t10j"}; extern int errno; int errct; long prog[300]; int psize; main() { int i, n, pid; printf("Test 10 "); pid = getpid(); /* Create files t10b ... t10h */ mkfiles(); if (getpid() == pid) if (fork() == 0) {execl("t10a", (char *) 0); exit(0);} if (getpid() == pid) if (fork() == 0) {execl("t10b", (char *) 0); exit(0);} if (getpid() == pid) if (fork() == 0) {execl("t10c", (char *) 0); exit(0);} if (getpid() == pid) if (fork() == 0) {execl("t10d", (char *) 0); exit(0);} for (i = 0; i < 60; i++) { spawn( rand()&07); } for (i = 0; i < 4; i++) wait(&n); if (errct == 0) printf("ok\n"); else printf(" %d errors\n", errct); rmfiles(); exit(0); } spawn(n) int n; { int pid, k; if (pid =fork()) { wait(&n); /* wait for some child (any one) */ } else { k = execl(name[n], (char *) 0); errct++; printf("Child execl didn't take. file=%s errno=%d\n", name[n], errno); rmfiles(); exit(0); printf("Worse yet, EXIT didn't exit\n"); } } mkfiles() { int fd; fd = open("t10a",0); if (fd < 0) {printf("Can't open t10a\n"); exit(1);} psize = read(fd, prog, 300*4); cr_file("t10b", 1600); cr_file("t10c", 1400); cr_file("t10d", 2300); cr_file("t10e", 3100); cr_file("t10f", 2400); cr_file("t10g", 1700); cr_file("t10h", 1500); cr_file("t10i", 4000); cr_file("t10j", 2250); close(fd); } cr_file(name, size) char *name; int size; { int fd; prog[6] = (long) size; fd = creat(name, 0755); write(fd, prog, psize); close(fd); } rmfiles() { unlink("t10b"); unlink("t10c"); unlink("t10d"); unlink("t10e"); unlink("t10f"); unlink("t10g"); unlink("t10h"); unlink("t10i"); unlink("t10j"); } main() { exit(0); } char *envp[3] = {"spring", "summer", 0}; extern errno; int errct; main() { int i; printf("Test 11 "); for (i = 0; i<9; i++) { test110(); test111(); } if (errct == 0) printf("ok\n"); else printf(" %d errors\n", errct); exit(0); } e(n) int n; { printf("\nError %d. errno = %d ",n, errno); perror(""); errct++; } test110() { /* Test exec */ int n, fd, fd1, i; char aa[4]; if (fork()) { wait(&n); if (n != 25600) e(1); unlink("t1"); unlink("t2"); } else { if (chown("t11a", 10, 20) < 0) e(2); chmod("t11a", 0666); /* The following call should fail because the mode has no X bits on. * If a bug lets it unexpectedly succeed, the child will print an * error message since the arguments are wrong. */ execl("t11a", (char *) 0, envp); /* should fail -- no X bits on */ /* Control should come here after the failed execl(). */ chmod("t11a", 06555); if ( (fd = creat("t1", 0600)) != 3) e(3); if (close(fd) < 0) e(4); if (open("t1", 2) != 3) e(5); if (chown("t1", 10, 99) < 0) e(6); if ( (fd = creat("t2", 0060)) != 4) e(7); if (close(fd) < 0) e(8); if (open("t2", 2) != 4) e(9); if (chown("t2", 99, 20) < 0) e(10); if (setgid(6) < 0) e(11); if (setuid(5) < 0) e(12); if (getuid() != 5) e(13); if (geteuid() != 5) e(14); if (getgid() != 6) e(15); if (getegid() != 6) e(16); aa[0] = 3; aa[1] = 5; aa[2] = 7; aa[3] = 9; if (write(3, aa, 4) != 4) e(17); lseek(3, 2L, 0); execle("t11a", "t11a", "arg0", "arg1", "arg2", (char *) 0, envp); e(18); printf("Can't exec t11a\n"); exit(3); } } test111() { int n; char *argv[5]; if (fork()) { wait(&n); if (n != (75<<8)) e(20); } else { /* Child tests execv. */ argv[0] = "t11b"; argv[1] = "abc"; argv[2] = "defghi"; argv[3] = "j"; argv[4] = 0; execv("t11b", argv); e(19); } } main(argc, argv, envp) int argc; char *argv[], *envp[]; { /* See if arguments passed ok. */ char aa[4]; if (diff(argv[0], "t11a")) e(21); if (diff(argv[1], "arg0")) e(22); if (diff(argv[2], "arg1")) e(23); if (diff(argv[3], "arg2")) e(24); if (diff(envp[0], "spring")) e(25); if (diff(envp[1], "summer")) e(26); if (argc != 4) e(27); /* Now see if the files are ok. */ if (read(3, aa, 1000) != 2) e(28); if (aa[0] != 7 || aa[1] != 9) e(29); if (getuid() == 10) e(30); if (geteuid() != 10) e(31); if (getgid() == 20) e(32); if (getegid() != 20) e(33); if (open("t1", 0) < 0) e(34); if (open("t2", 0) < 0) e(35); exit(100); } diff(s1, s2) char *s1, *s2; { while (1) { if (*s1 == 0 && *s2 == 0) return(0); if (*s1 != *s2) return(1); s1++; s2++; } } e(n) int n; { printf("Error %d\n", n); } main(argc, argv) int argc; char *argv[]; { /* See if arguments passed ok. */ if (diff(argv[0], "t11b")) e(31); if (diff(argv[1], "abc")) e(32); if (diff(argv[2], "defghi")) e(33); if (diff(argv[3], "j")) e(34); if (argv[4] != 0) e(35); if (argc != 4) e(36); exit(75); } diff(s1, s2) char *s1, *s2; { while (1) { if (*s1 == 0 && *s2 == 0) return(0); if (*s1 != *s2) return(1); s1++; s2++; } } e(n) int n; { printf("Error %d\n", n); } test0 test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 echo All tests completed. ;...<makefile# To make 'test0', type: make f=test0 # To make 'test1', type: make f=test1 # To make 'test2', type: make f=test2 # Get the idea? l=/usr/lib CFLAGS = -I/usr/include -F file: $l/libc.a $f.s @asld -o $f $l/crtso.s $f.s $l/libc.a $l/end.s =...>makefile# To make 'test0', type: make f=test0 # To make 'test1', type: make f=test1 # To make 'test2', type: make f=test2 # Get the idea? CFLAGS = -O -I../include h=../h l=../lib file: $l/libc.a $f.o @ld -s -o $f $l/crtso.o $f.o $l/libc.a $l/end.o ?...@READ_MEAman_pagesThe book went to press before the software, so last-minute changes are noted here. In particular, after the book went to press, the software was ported to the PC/AT and various PC clones, which necessitated some minor patches here and there. 1. GENERAL There were a number of minor changes made to the code after the book was printed, as mentioned above. As a result, line X of file Y in the book may actually appear at X+3, or X-5, etc. on the disk version. 2. HARD DISK MINIX supports the use of the standard IBM hard disks. To find out if your hard disk is IBM compatible, give the command: dd if=/dev/hd0 of=/dev/null count=1000 if this runs to the end without errors, the driver embedded in your MINIX binary is appropriate for your controller and drive. If it gives errors, try powering up the system again, and doing a file system check of any hard disk partition from the initial menu. This action sometimes helps (especially on 8 MHz ATs), because fsck uses the BIOS to read the disk, thus forcing a controlling initialization. If this fails too, you can rebuild the MINIX kernel trying xt_wini.c, or at_wini.c as kernel/wini.c until you find one that works. You MUST copy one of xt_wini.c or at_wini.c to wini.c. If none of them works, then your disk controller is not IBM compatible. You will have to study these drivers and then write your own. To use a hard disk with MINIX, you need a MINIX partition. You may also have MS-DOS, PC-IX, XENIX, or other partitions as well if you like. If you have a version of FDISK that is able to make several partitions, use it. If not, use the MINIX fdisk program (on /user in the PC diskettes). Once you have a partition available for MINIX (the type does not matter as MINIX does not check), make a file system by booting MINIX from floppy the usual way and run mkfs. If, for example, you have chosen partition 2, which has, say, 40 cylinders (i.e., 40 x 68 = 2720 sectors or 1360 1K blocks), type: mkfs /dev/hd2 1360 to make an empty file system. However, for partition 1 use 1 block less because block 0 is not available (it contains the MS-DOS partition table). In other words, a 40 cylinder partition 1 has 1359 blocks but a 40 cylinder partition 2 or higher has 1360 blocks. Then mount the file system by typing: /etc/mount /dev/hd2 /user Next, make whatever directories you like, typically bin, lib, and others, and copy files to the hard disk. With the /usr floppy in drive 0, the command cp /usr/bin/* /user/bin will copy all the binaries from /usr/bin to the hard disk, for example. Finally, edit /etc/rc to have the hard disk mounted when the system is booted. A line such as /etc/mount /dev/hd2 /usr can be used as a replacement for the mount command initially in /etc/rc. After editing /etc/rc, mount the root file system diskette and copy it to the diskette; otherwise the changes will be lost when the system is rebooted. (There is nothing special about the root file system except its size; it can be mounted and written on like any other file system.) After these steps have been taken, the system can be booted from floppy in the usual way, and the root file system also read in from floppy. The hard disk will automatically be mounted by the /etc/rc. The root device remains on the RAM disk, and the boot process still goes via floppy (for compatibility and to prevent disaster in the event that something goes wrong with the hard disk file system). Hard disk file systems can be checked using fsck by typing 'h' when the initial menu is display. The special file /dev/hd0 refers to the whole disk, without regard to partitions, whereas /dev/hd1 ... /dev/hd4 refer to partitions 1 to 4. If you have a second hard disk, you can make /dev/hd5 ... /dev/hd9 with mknod (major device 3, minor device 5 ... 9) for the second drive, with hd5 for the whole drive, hd6 for partition 1, etc. Fsck also uses this convention. The MINIX program mkfs writes a file system on whatever partition you tell it to. If you tell it to use partition 2, it does. Consequently, a typing error here can result in erasing all your files. (In MS-DOS typing del *.c instead of del *.o will remove all the sources instead of all the object files.) Therefore, it is strongly recommended that you back up your entire hard disk before installing MINIX. Better safe than sorry. Many hard disks are used on IBM PCs, XTs, and ATs. Each one needs a different driver. The files xt_wini.c and at_wini.c are drivers for the standard IBM XT and AT disks respectively. Their drivers are totally different. When generating a new system, you must copy the appropriate driver to the file wini.c (in the kernel directory) depending on whether you have a PC or XT (use xt_wini.c) or an AT (use at_wini.c). You MUST choose one of these drivers even if you have no hard disk at all. 3. PC/AT The distribution for the PC/AT differs from that for the PC in minor ways. For example, there is no /user diskette. All the files that would normally be on /user fit on /usr. Furthermore, the number and organization of the source diskettes is different, but the same programs are available. Source diskette 1 has been arranged so that it can be mounted and you can change to the kernel, mm, or fs directory, and just type make to compile. Two additional special files are present in /dev: /dev/at0 and /dev/at1. These should be used to access 1.2M diskettes. To access 360K diskettes on the PC/AT, use /dev/fd0 and /dev/fd1. Special files are used by commands such as mount, mkfs, and df, among others. For example, to copy part of a 1.2M diskette, type dd if=/dev/at0 of=file count=100. The difference between /dev/at0 and /dev/fd0 is that in MINIX, special files have sizes to prevent access beyond the end. For /dev/fd0 the size is 360K. For /dev/at0 it is 1.2M. 4. USING MS-DOS AS A DEVELOPMENT SYSTEM The conversion of MINIX to make it possible to use MS-DOS as the development system was done by Paul Ogilvie. It was done in order to to provide some assistance to people who wish to modify MINIX but are unable to use MINIX or UNIX for that purpose. MS-DOS definitely should be regarded as the method of last resort, only used if there is no other alternative. The assembly code files and batch files provided have all been tested with the Computer Innovations C86 compiler, release 2.4, and specific versions of the linker etc. The use of any other compiler or configuration is virtually guaranteed not to work the first time because every MS-DOS C compiler is different, their libraries are different, etc. MS-DOS users must approach this project with the expectation that minor problems will arise and small patches to the code may be needed to work around bugs and deficiencies that abound with MS-DOS compilers. When problems appear with files that are different for MS-DOS and MINIX, check the MINIX version, since these have been tested much more thoroughly than the MS-DOS versions. 5. BUGS in MS-DOS Some machines and/or versions of MS-DOS have a bug when doing absolute diskio, as used by mkfs and build. This bug will manifest itself by creating an unbootable disk, saying a file-system is bad, or sometimes the program will just hang. The primary remedy if your machine suffers from this bug is to first format the disk. A permanent remedy is to change the module "diskio.asm" to use bios I/O calls instead of using the DOS interrupts 25 and 26 (see fsck1.asm). Disadvantage of the latter is that you cannot extend these programs anymore to work on a hard disk (e.g. making a MINIX filesystem on a hard disk). Though the cause is not clear, it is assumed that these DOS system calls don't know if they      should read/write an 8 sector per track diskette or a 9 sector per track diskette. Formatting the disk will make clear to DOS that they should do 9 sectors per track. MINIX does not support 8 sectors per track at all. 6. BATCH FILES in MS-DOS The batch jobs are all made for a system with a hard disk. Depending on your floppy configuration you can modify them to ask for the necessary diskettes. When linking, the jobs expect a directory \lib\c86 where they can find the DOS-library for C86 (the C86s2s library for small model, DOS-2, software floating point). In any event, all MS-DOS users should carefully inspect all the batch files before using them. In DOS version 2.x, the 'echo'-command behaves somewhat different than in DOS version 3.x. The difference is is how to echo a new line to the screen. With Dos-2 you can do this by appending three spaces to the command, e.g. 'echo ' and with Dos-3 you can do this by the command 'echo/'. Unfortunately both things aren't documented and are not compatible and will just say "ECHO is on" (or off). Appart from clobbering your screen nothing is wrong. The batch files on this disk are for DOS version 3. 7. MS-DOS ASSEMBLER The Microsoft masm manual is not very clear about when you must use group-directives. The files included in this distribution work, but in general, be careful. 8. STATIC DECLARATIONS The MINIX C compiler puts static variables in the data segment, not the bss segment. This increases the size of the a.out file on the disk. Thus it is better to avoid declaring large arrays as static. Futhermore, because the assembler reads all the .s files at once, the use of static to make it possible to re-use the same name in two files does not work. All global names must be unique. Thus putting static x; in two files will not work. 9. MAKING MINIX ON PC/AT The book says that you should put each directory (kernel, mm, fs, etc.) on a separate diskette. With the 1.2M diskettes, you can keep kernel, mm and fs on the same diskette, provided that you remove all the irrelevant files (such as library sources), and avoid unnecessary files. Hard disk too. When making MINIX on a PC/AT with one floppy disk drive, you will have to put the image file on the same diskette as build. The trick is then to get it onto the boot diskette, starting at block 0. The only way is first to build a new root file system containing an almost empty RAM disk of about 200K. Construct a proto file for mkfs containing in bin: sh, cp, sync, and getlf, as well as etc with mount, umount, passwd, rc, ttys, and message. The dev directory should contain the usual files. An empty usr directory is also needed. Once you have the image file in tools and the new root file system, proceed as follow. 1. Shut down the system. 2. Reboot MINIX, using the almost empty 200K file system. 3. Mount the diskette containing tools on /usr. 4. Copy image to /. 5. Unmount the tools diskette. 6. Insert a blank diskette. 7. Copy /image to /dev/at0. This diskette is your new boot diskette. 10. MOVING MINIX SOURCES TO NON-MINIX SYSTEMS The source disks are distributed as MINIX file systems, ready to mount. To read them under MS-DOS or PC-IX they must first be converted. To move the MINIX sources to some other system on a computer with only one floppy disk drive, first remove as many files as possible from the RAM disk, and copy the files to be moved to the RAM disk. Then insert a diskette and copy the files to the diskette. One possibility is using doswrite. Another is to make a shar archive and write it directly on /dev/fd0. This can then be copied byte for byte to another system and unpacked with the shell. Alternatively, ar.c can first be copied to a diskette all by itself to get it to another machine, where it can be compiled. Subsequent files can be transferred in ar format. On a computer with two disk drives, both the MINIX and "foreign" file system can be present at once. 11. EDITING LARGE PROGRAMS WITH MINED Mined has a limit on the size of programs it can edit. To edit larger ones, they must be broken up with split, edited separately and recombined later. If a file is too large, mined will issue an error message and exit. 12. MKNOD MINIX differs from UNIX in that block special files (and even some character special files, such as /dev/kmem) can have sizes. A 360K floppy disk special file, such as /dev/fd0 can have size 360K. Unfortunately, the mknod system call (and mknod program) have no way to express the size, so it uses size 0, which is equal to infinity. When you read past the end of a block special file WITH a size, the file system returns zero bytes. When you go off the end of a device WITHOUT a size, some drivers return end-of-file (e.g., hard disk, RAM disk), but others (e.g., floppy disk) return an I/O error code. Thus if you make a new block special file for 2/0 and 2/1 (floppy disk) with mknod (i.e., no size) the command cp /dev/fd0 /dev/fd1 will terminate with an error on block 360 (but it will copy the disk perfectly). The only way to make a special file with a size is by making a file system with mkfs. 13. NONEXISTENT DEVICES If you try to open /dev/fd1 on a system with only one floppy disk drive, the system may hang. To avoid this problem, the first time you log in, go to the /dev directory, and rename special files that you do not have to something unusual. For example, if you do not have a hard disk, rename hd0 to HARD_DISK_0, hd1 to HARD_DISK_1, etc. Similarly with one one floppy disk, rename fd1 to FLOPPY_DISK_1 to prevent it being typed by accident. You can also remove them, but due to the mknod problem described above, you can not get them back easily, so it is best just to get them out of the way in case you ever need them again later. 14. PRINTER In order to accommodate buffered and unbuffered printers, the printer driver uses a combination of delay loops and interrupts. The net result is that the driver consumes a fair number of CPU cyles when running. If you expect to do a lot of printing, you might want to consider rewriting the printer interrupt handler, pr_char, in assembly code. 15. DISK SPACE The /usr disk as distributed is entirely full. If you have two floppy disk drives, be sure to mount /user on drive 1 and move your working directory there. If you have only 1 floppy disk drive, remove some files from /usr/bin to make more space. 16. RUNNING /USER TESTS Before running the tests in /user/test, remove the files in /user/commands to create some free space on the disk. 17. COMMAND LINE LENGTH The maximum initial stack size is 1K. Calls to EXEC which require a larger stack will fail. Thus if you try to do ls -l * in a large directory, the shell may expand the * so that the command line exceeds 1K and the EXEC will fail, resulting in the message "Cannot execute ls". 18. ARCHIVES IN DISTRIBUTION There wasn't enough space on some of the distribution diskettes, so it it was necessary to combine several files in archives to save space. These archives end with suffix ".a" and should be unpacked into the individual files before using them. Look in the tools directory and its subdirectories. 20. RECOMPILING FSCK If for some reason you don't like the tools/fsck binary and want to recompile it, make sure you have plenty of free space for the compiler's temporary files. On a floppy disk system, this may mean putting fsck on an almost empty diskette before compiling it. When the disk is full, the quality of the compiler's error messages deteriorates rapidly. If you are compiling fsck and getting strange results, check for disk space. 21. NEWS GROUP If you have access to USENET, you may be interested in knowing that there is a news group, comp.os.minix devoted to discussions of MINIX. This is one of the largest news groups, with well over 10,000 readers. If you have access to the Arpanet or Bitnet, the USENET news group is gatewayed there. Contact info-minix-request@udel.edu to join. 22. SYSTEM CRASHES The IBM PC does not have any hardware for checking for stack overflow. The user must allocate the amount of stack for each program with chmem or use the compiler default (64K - program - data size). Some programs in the distribution have been set to a smaller value, and may, in rare instances with certain arguments, hang. If the system ever gets into a situation where it echoes keystrokes, but ignores DEL and CTRL-\ and appears otherwise to be hung up, hit F1 to see what is going on. If some process is running and there is no way to interrupt it, hit F9. This key is equivalent to the super-useThis file contains the man pages for those programs not listed in the book. In the PC version of the distribution, they are in /user/bin. In the AT version they are in /usr/bin. --------------------------------------------------------------------------- Command: cal - print a calendar Syntax: cal [month] year Flags: (none) Example: cal 3 1987 # print March 1987 Cal prints a calendar for a month or year. The year can be between 1 and 9999. Note that the year 87 is not a synonym for 1987, but is itself a valid year about 19 centuries ago. The calendar produced is the one used by England and her colonies. Try Sept. 1752, Feb 1900, and Feb 2000. If you don't understand what is going on, look up "Calendar, Gregorian" in a good encyclopedia. Command: cpdir - copy a directory and its subdirectories Syntax: cpdir [-v] srcdir destdir Flags: -v Verbose; cpdir tells what it is doing Example: cpdir dir1 dir2 # creat dir2 and copy dir1's files into it Cpdir creates the target directory, goes into it, and copies all the files in the source directory to it. When it is done, the target directory contains the same files as the source directory. Subdirectories are copied Recursively. Links and special files are ignored. Command: diff - print differences between two files Syntax: diff file1 file2 Flags: (none) Example: diff file1 file2 # print differences between 2 files Diff compares two files and generates a list of lines telling how the two files differ. Lines may not be longer than 128 characters. Command: du - print disk usage Syntax: du [-s] dir Flags: -s Summary only Example: du dir # list disk space used by files in dir Du examines a directory and prints the amount of space occupied by the files in that directory and its subdirectories. Command: expr - evaluate experession Syntax: expr arg ... Flags: (none) Example: x=`expr $x+1` # add 1 to shell variable x Expr computes the value of its argument and writes the result on standard output. The valid operators, in order of increasing precedence, are listed below. Operators grouped by {...} have the same precedence. Operators: |, &, {<, <=, ==, !=, >=, >}, {+, -}, *. Note that the V7 ":" operator is missing. Parentheses are permitted. Command: find - find files meeting a given condition Syntax: find directory expression Flags: (none) Examples: find / -name a.out -print # print all a.out paths find /usr/ast ! -newer f -ok rm {} \; # ask before removing find /usr -size +20 -exec mv {} /big \; # move files > 20 blks find / \( -name a.out -o -name `*.o` \) -exec rm {}\; Find descends the file tree starting at the given directory checking each file in that directory and its subdirectories against a predicate. If the predicate is true, an action is taken. The predicates may be connected by -a (Boolean and), -o (Boolean or) and ! (Boolean negation). Each predicate is true under the conditions specified below. The integer n may also be +n to mean any value greater than n, -n to mean any value less than n, or just n for exactly n. -name s true if current filename is s (include shell wild cards) -size n true if file size is n blocks -inum n true if the current file's i-node number is n -mtime n true if modification time relative to today (in days) is n -links n true if the number of links to the file is n -newer f true if the file is newer than f -perm n true if the file's permission bits = n (n is in octal) -user u true if the uid = u (a numerical value, not a login name) -grogp g true if the gid = g (a numerical value, not a group name) -type x where x is bcdfug (block, char, dir, regular, setuid, setgid) Following the expression can be one of the following, telling what to do when a file is found: -print print the file name on standard output -exec execute a MINIX command, {} stands for the file name -ok prompts before executing the command Command: more - pager Syntax: more file ... Flags: (none) Example: more file # display file on the screen More is an alternative to mined as a pager, for people used to the 4.x BSD pager. This version only implements three commands: - display next page - display next line q - exit more Command: fdisk - partition a hard disk Syntax: fdisk file Flags: (none) Example: fdisk /dev/hd1 When fdisk starts up, it reads in the partition table and displays it. It then presents a menu to allow the user to modify partitions, store the partition table on a file, or load it from a file. Partitions can be marked as DOS or non-DOS, and active or not. MINIX doesn't care what kind of a partition it uses. Using fdisk is self-explanatory. However, be aware that repartitioning a disk may cause information on it to be lost. Command: fix - generate new file from old one and diff listing Syntax: fix oldfile difflist >newfile Flags: (none) Example: fix old difflist >new # generate new from old and diffs Fix accepts a diff listing produced by diff and reconstructs the new file. It is common for people to take a file, modify it, and then send the diff listing between the old and new files to other people. Using fix, the old file, and the diff listing, it is possible to creat the new file. For example: diff oldfile newfile >difflist fix oldfile difflist >new2 will generate a file new2 that is identical to newfile. Command: printenv - print out the current environment Syntax: printenv Flags: (none) Example: printenv # print the environment Printenv prints out the current environment strings, one per line. Command: readfs - read a MINIX file system Syntax: readfs [-il] block_special [dir] Flags: -i Give information about the file, but do not extract files -l List the files extracted on standard output Example: readfs -l /dev/fd0 Readfs reads a floppy disk containing a MINIX file system. It can extract all the files from it, give a listing of them, or both. The files extracted can be put in a user-specified directory (default: current directory). If subdirectories are needed, they will be created automatically. Command: test - test for a condition Syntax: test expr Flags: (none) Example: test -r file # see if file is readable Test checks to see if files exist, are readable, etc. and returns an exit status of zero if true and nonzero if false. The legal operators are -r file true if the file is readable -w file true if the file is writable -f file true if the file is not a directory -d file true if the file is a directory -s file true if the file exists and has a size > 0 -t fd true if file descriptor fd (default 1) is a terminal -z s true if the string s has zero length -n s true if the string s has nonzero length s1 = s2 true if the strings s1 and s2 are identical s1 != s2 true if the strings s1 and s2 are different m -eq m true if the integers m and n are numerically equal The operators -gt, -ge, -ne, -le, -lt may be used as well These operands may be combined with -a (Boolean and), -o (Boolean or), ! (negation). The priority of -a is higher than that of -o. Parentheses are permitted, but must be escaped to keep the shell from trying to interpret them. Command: uuencode - encode a binary file to ASCII for mailing Syntax: uuencode [input] output Flags: (none) Example: uuencode infile outfile # encode infile Uuencode takes an input file, typically a binary file, and converts it to pure ASCII by encoding 3 bytes (24 bits) as 4 bytes in ASCII. Only 64 different characters are used, all of them valid ASCII characters. Command: uudecode - decode a binary file encoded with uuencode Syntax: uudecode file Flags: (none) Example: uudecode encodedfile # re-create the original file Uudecode takes an input file, typically a uuencoded binary file, and converts it back to the original file. The decoded file is given the name that the original file had. The name information is part of the encoded file. r typing: kill -1 9. The result of F9 is that every process in the system is killed, including update and all the shells. Although drastic, F9 will dehang the system instantly. Log in again and then type /etc/update & to restart update. 251 Sep 1 09:00 makefile test/PCIX: total 1 -rw-r--r-- 1 bin 254 Sep 1 09:00 makefile E2d--75511