From d7d36c876b128bb8971d6afc5a1673ea197d2cde Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Thu, 29 Sep 2011 22:40:35 +0200 Subject: [PATCH] Install gzip-1.2.4.tar.gz Signed-off-by: Erik Faye-Lund --- mingw/bin/gunzip.exe | Bin 0 -> 86413 bytes mingw/bin/gzexe | 151 +++++++++ mingw/bin/gzip.exe | Bin 0 -> 86413 bytes mingw/bin/zcat.exe | Bin 0 -> 86413 bytes mingw/bin/zcmp | 70 ++++ mingw/bin/zdiff | 70 ++++ mingw/bin/zforce | 42 +++ mingw/bin/zgrep | 67 ++++ mingw/bin/zmore | 52 +++ mingw/bin/znew | 146 ++++++++ mingw/info/gzip.info | 809 +++++++++++++++++++++++++++++++++++++++++++++ mingw/man/man1/gunzip.1 | 478 ++++++++++++++++++++++++++ mingw/man/man1/gzexe.1 | 43 +++ mingw/man/man1/gzip.1 | 478 ++++++++++++++++++++++++++ mingw/man/man1/zcat.1 | 478 ++++++++++++++++++++++++++ mingw/man/man1/zcmp.1 | 44 +++ mingw/man/man1/zdiff.1 | 44 +++ mingw/man/man1/zforce.1 | 20 ++ mingw/man/man1/zgrep.1 | 44 +++ mingw/man/man1/zmore.1 | 145 ++++++++ mingw/man/man1/znew.1 | 39 +++ src/gzip/gzip-1.2.4 | 1 + src/msys | 1 + src/openssl/openssl-0.9.8q | 1 + 24 files changed, 3223 insertions(+) create mode 100644 mingw/bin/gunzip.exe create mode 100644 mingw/bin/gzexe create mode 100644 mingw/bin/gzip.exe create mode 100644 mingw/bin/zcat.exe create mode 100644 mingw/bin/zcmp create mode 100644 mingw/bin/zdiff create mode 100644 mingw/bin/zforce create mode 100644 mingw/bin/zgrep create mode 100644 mingw/bin/zmore create mode 100644 mingw/bin/znew create mode 100644 mingw/info/gzip.info create mode 100644 mingw/man/man1/gunzip.1 create mode 100644 mingw/man/man1/gzexe.1 create mode 100644 mingw/man/man1/gzip.1 create mode 100644 mingw/man/man1/zcat.1 create mode 100644 mingw/man/man1/zcmp.1 create mode 100644 mingw/man/man1/zdiff.1 create mode 100644 mingw/man/man1/zforce.1 create mode 100644 mingw/man/man1/zgrep.1 create mode 100644 mingw/man/man1/zmore.1 create mode 100644 mingw/man/man1/znew.1 create mode 160000 src/gzip/gzip-1.2.4 create mode 160000 src/msys create mode 160000 src/openssl/openssl-0.9.8q diff --git a/mingw/bin/gunzip.exe b/mingw/bin/gunzip.exe new file mode 100644 index 0000000000000000000000000000000000000000..0c920d2fadb86ffe7846992dbc355fbcc0c7efee GIT binary patch literal 86413 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 XZdhfn%@^KT(oWG=enbwl=K0?M8LRH{ literal 0 HcwPel00001 diff --git a/mingw/bin/gzexe b/mingw/bin/gzexe new file mode 100644 index 00000000..9921c359 --- /dev/null +++ b/mingw/bin/gzexe @@ -0,0 +1,151 @@ +: +#!/bin/sh +# gzexe: compressor for Unix executables. +# Use this only for binaries that you do not use frequently. +# +# The compressed version is a shell script which decompresses itself after +# skipping $skip lines of shell commands. We try invoking the compressed +# executable with the original name (for programs looking at their name). +# We also try to retain the original file permissions on the compressed file. +# For safety reasons, gzexe will not create setuid or setgid shell scripts. + +# WARNING: the first line of this file must be either : or #!/bin/sh +# The : is required for some old versions of csh. +# On Ultrix, /bin/sh is too buggy, change the first line to: #!/bin/sh5 + +x=`basename $0` +if test $# = 0; then + echo compress executables. original file foo is renamed to foo~ + echo usage: ${x} [-d] files... + echo " -d decompress the executables" + exit 1 +fi + +tmp=gz$$ +trap "rm -f $tmp; exit 1" 1 2 3 5 10 13 15 + +decomp=0 +res=0 +test "$x" = "ungzexe" && decomp=1 +if test "x$1" = "x-d"; then + decomp=1 + shift +fi + +echo hi > zfoo1$$ +echo hi > zfoo2$$ +if test -z "`(${CPMOD-cpmod} zfoo1$$ zfoo2$$) 2>&1`"; then + cpmod=${CPMOD-cpmod} +fi +rm -f zfoo[12]$$ + +tail="" +IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" +for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/tail; then + tail="$dir/tail" + break + fi +done +IFS="$saveifs" +if test -z "$tail"; then + echo cannot find tail + exit 1 +fi + +for i do + if test ! -f "$i" ; then + echo ${x}: $i not a file + res=1 + continue + fi + if test $decomp -eq 0; then + if sed -e 1d -e 2q "$i" | grep "^skip=[0-9]*$" >/dev/null; then + echo "${x}: $i is already gzexe'd" + continue + fi + fi + if ls -l "$i" | grep '^...[sS]' > /dev/null; then + echo "${x}: $i has setuid permission, unchanged" + continue + fi + if ls -l "$i" | grep '^......[sS]' > /dev/null; then + echo "${x}: $i has setgid permission, unchanged" + continue + fi + case "`basename $i`" in + gzip | tail | chmod | ln | sleep | rm) + echo "${x}: $i would depend on itself"; continue ;; + esac + if test -z "$cpmod"; then + cp -p "$i" $tmp 2>/dev/null || cp "$i" $tmp + if test -w $tmp 2>/dev/null; then + writable=1 + else + writable=0 + chmod u+w $tmp 2>/dev/null + fi + fi + if test $decomp -eq 0; then + sed 1q $0 > $tmp + sed "s|^if tail|if $tail|" >> $tmp <<'EOF' +skip=18 +if tail +$skip $0 | "/mingw/bin"/gzip -cd > /tmp/gztmp$$; then + /bin/chmod 700 /tmp/gztmp$$ + prog="`echo $0 | /bin/sed 's|^.*/||'`" + if /bin/ln /tmp/gztmp$$ "/tmp/$prog" 2>/dev/null; then + trap '/bin/rm -f /tmp/gztmp$$ "/tmp/$prog"; exit $res' 0 + (/bin/sleep 5; /bin/rm -f /tmp/gztmp$$ "/tmp/$prog") 2>/dev/null & + /tmp/"$prog" ${1+"$@"}; res=$? + else + trap '/bin/rm -f /tmp/gztmp$$; exit $res' 0 + (/bin/sleep 5; /bin/rm -f /tmp/gztmp$$) 2>/dev/null & + /tmp/gztmp$$ ${1+"$@"}; res=$? + fi +else + echo Cannot decompress $0; exit 1 +fi; exit $res +EOF + "/mingw/bin"/gzip -cv9 "$i" >> $tmp || { + /bin/rm -f $tmp + echo ${x}: compression not possible for $i, file unchanged. + res=1 + continue + } + + else + # decompression + skip=18 + if sed -e 1d -e 2q "$i" | grep "^skip=[0-9]*$" >/dev/null; then + eval `sed -e 1d -e 2q "$i"` + fi + if tail +$skip "$i" | "/mingw/bin"/gzip -cd > $tmp; then + : + else + echo ${x}: $i probably not in gzexe format, file unchanged. + res=1 + continue + fi + fi + rm -f "$i~" + mv "$i" "$i~" || { + echo ${x}: cannot backup $i as $i~ + rm -f $tmp + res=1 + continue + } + mv $tmp "$i" || cp -p $tmp "$i" 2>/dev/null || cp $tmp "$i" || { + echo ${x}: cannot create $i + rm -f $tmp + res=1 + continue + } + rm -f $tmp + if test -n "$cpmod"; then + $cpmod "$i~" "$i" 2>/dev/null + elif test $writable -eq 0; then + chmod u-w $i 2>/dev/null + fi +done +exit $res diff --git a/mingw/bin/gzip.exe b/mingw/bin/gzip.exe new file mode 100644 index 0000000000000000000000000000000000000000..0c920d2fadb86ffe7846992dbc355fbcc0c7efee GIT binary patch literal 86413 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 XZdhfn%@^KT(oWG=enbwl=K0?M8LRH{ literal 0 HcwPel00001 diff --git a/mingw/bin/zcat.exe b/mingw/bin/zcat.exe new file mode 100644 index 0000000000000000000000000000000000000000..0c920d2fadb86ffe7846992dbc355fbcc0c7efee GIT binary patch literal 86413 zcwW4{3w#ts@;E-Tk7V;=7DzBa0#Sk*UV?(MglHgHL?MbwlvAPzxV}IUb^tvR5+~4a3zt89Y zTiDEWcXf4jRdsdsbF-dY&FMLgGr-sD<+yTA{iJh0|H+4Muff}Uaa$t(_vUhb`v2ZM z^Mx0eBrRI}>hp`AU6?fQ*;ih9)t)r>xunJ7D@iZDl9c)IV@V5No&VgZn3%|94aW>C z$4%#BxX->Te26>Aal?!p*UW|UQM_(E_Xhx|hOf@Z<@bT78NQn_SGxMHQ|ab8^{EmS zMuBfTc&Zo2C8@CZ$E<>wxqwfrk=ql-{XhSVvOl-n4$sE5oJtVZ)n5tqGl!coXVm;> z?a#t{d?csVJsQ662g9Xvb1FwIRsoZ4f{04Y0N+1%gG(PZcgYfbU&9lld;H`hz86(| z#2erdXM$%%FkCt}y7G>(>U$FX4I`OwbzI2Dth-~3h2H)~K@DzC4{&#lqqm!}zDZ$f zeZTAhZtOkuwhHl#R%Ol|>H+TVG4yr_l_Xs&_ec+L_uNHqC=+gm2GiTm;X-5nUw^XMzoc{VET>(zn#LSu;tw)6=Bmu4{T8%n zSw@-ykHt?_U}c?#WYmE%2iVMHgX_xgIZkTl?Qb|L?Y*=lZ~YE0d|0ClXmZ-wxtwYP zm$n8_*sGU4nD%>o*%F+(I?af&Po*WoL;L~|p&Z9tWp*fIwN}PUP{v=iByYXv{WNGR zm7e`tspUu<%LMp20Pnae6fOlKTs1Psxfj42fJGtBN`jfF;T-L#6bc{hO7_;f?^8oq z$~M9|9pIw@-aWJnuB)_5zk`%0NKv*TBbA-EY5aUlI+qO4oH?Cy{fNb#Gq}bTbDV25 zkmR(s6STD*keD}^wx=Uw4bAC@G+MDaE%$Ka3 zFw;pw^tIw2zt(*_@X8;Eeg^uiF}N{#Dl0AUHqu3k`Wl`R29nh|i{Z+&FB z(}8!ZN&ig10_3YV?%YKy=PK`n1ZB&ue*MIBU03?Mf$4J0?SPE^E6006vEPc}cwZRn zqw2S7A@E<0iG^A@_S(mwbSgnQuR>iP19g55Z(GdWLS-kaoYp7rJ zoJD+lYgD}QRD&(`L4){!Y)Xw3Gi>tIFbIc<7I=$pT zQ{z(~j2HXKQxj4jOb~m?=}D=RlY}*u!q!TUkqX&cqv}vBtC7+&fxn#HgmnFNHE53! zBal@aYL87urRal6Z&4D);Ag{Ffbk_Qpd^eTX@G3zuJ&nZtdy2c_y@>|$;UG&wX&F6 z`b-GAJ}K7p-SrZPN~(>0%12u=FwC3|41;I%WO&Mn8^52-vDwKcWMwAAkkF;dbR=RW z6e-mvtJ$A;91tvE)=d>-p^)9b2H0&V+{=F!{#Y&iu5x^}7+z8MSvu!2R^-D&&fT<` z+lGea(m&evKftm!O4pKB#>&=Bs9TEFi6t1J1W$iCYm=P4QOWGx9FTPOH=v8TPBsx< zpT|Bl5Z7jwwFMrZ$o<%N0V&F_yq26TdE;d3Cn=5jD~!%N>?yK!b4sI<vi?)at=$%Z7!F~Roqokn~? zsrzzA`;>0TJE6KVf>~RF+3+hbJ0_)>Np}ZH9sEkny$V}&*gRislGpONGry*~kgyZ?d;X$(?G`zWl@9UP&<%8Y`3 zky)E}qlZaOk&@0cYZIng8$E(kKg$068+925&dm^cZZjtu<(x)OvYgZ88H~t2L2Cn& zYI+;|*BXm6SFbGb=BM(~QTWS=O^&N#_`~8C9y2?pJk1yDi!!{0mEtAO2+TaHi;|6y zpVet~+l+P7L*4T8cwRb&tv%X|y+6sd+h#^R+icJiYsy?xx0`hzSR}CkT%5M(n8qs4xp#dnV)Le2yzY z5~OyMeKPjzXco6XV+d{%jUi3q1@s4~B_N;5k$yM&+fL($pQdvKPXRO)Z=~XT6~Bw6 zrBQLc!6_mb(Khs6&yKp&&Y~GkUiNmvd;inAR7c>Yk5z6$bpv6oPm&W!q(LY zS#{FHvgL^Qm zRBnA#ZbO9AE=Xwx&=gJ#V`(h_8CbYUE6=Z3Y%cfH051T5$^et06&3OCr-SI^qa)1~*Xdogw0si%<#BnHCCnbSJMz8NT;ys0{mP z6{$Majl2a2TmuOa9X}7ML$^yo4kd$g4)(iugpw-c zPt?&VOB@!GT@;<|khQfW0Q_CCCLwSQ#44Dq_RH>7|^m6>; zenunnjvlflso5%5`m)jZ*I%S(1!lbS#uQq@88dv{?F66tjPZ%+b~Qs+wfE*B zk}g*GkZeFO-~(IFp*oTz#MGV}<+$o#t-o5>&FXu8<#WM?^^9X?2#(JR{f?YH9EWON zProjIPK_`UYN>X5kh?JvJ=z8-ZR2N{car14^81}e3Q$edHjK*6ph(wA$?qKsj=ys> zEZKw!+aSTc4zqw#3+#8ulkv^OlXq6=u+yH1p##D@ujsn)_5;&pLjM@hG$NW+fX0*P zt9)!gvKN!*LGlJfqz$60lY9_*axaD(u}ox$?FphSvIcS`B5iG?ptYdj$OU=ad=L>E zw+8+K#U^dwo<^RD;8=q-gE6&EeHz*!3u=4Y3UDeYPrKK?SgJHp03p#BDb{A6uYYI- zM~;WlwR{#J+?sO=Y@)DLJQ;DU>NNN)IVUKb+Z=H`qLYdB5OYR_IPHV@mkQAW5N#|C z3HO9Mt@U1Y+5@{O*Ys6T=qy8BMzo)!LqS8LWotdo2*}wDvSDrhH|n$iWQs*@3|@ui z0r8@5HuYjqUwa1uwU&;SPxbE|I%h#z$*K1Gfrp&wXoQVhBheBXeu zh-#SAIPn*u^7Qs8%kpr(zGR{g$qi*rH2|3}&Q_&`W*cggjI|w8fFAb5E|r(gC28$l zaC}5EPf!DEDWHyD!l`X}Oj;95(&kCbzoyaFD;k&>y*&lWC?5uYJdxYS;rn>_BafqO zb?MkK;|x-W!v-Me{CDPaA^oAOrL^Sx#`teufEKHj27Q@{Ug8m!1DL=$oQ-cF`6CG6 zE}#7x=Bv;R^U}1`3y`-Qjf|69VxRw_&6#d^g)2ukR(u2`Z42kn1-QJ?X>8FfpRa%j zpXYQZ;*AAC1k%*{I`Ipw$NxcL{5TWJ9SuMwhzG3a_iAf&B|U};fW}uf>UK>PeB>u? zm`#$JR6j%VR%FM&^C0iNFif1_*BEMe;GPHRH?>t@=kFfnFb!KOPQ<%P^H8^wx~zG@ zxwm=rzgXSw9W~uM!hUihveYgBQzQ&L8cRdOyx1$(I9b8Ax)8s^9B;O^A zNY}q}Av9iRALz?v$P4Vj-2dvOsgvuYe`EeGz@xcAfI9(jHzowl|0t`WyHe+&cGYxu zMTCku&^xi?@_K~x#8k`<2+CoasiWd1<_6U!hH7KKw@$(!r%eg%^9{&-xx#We|NF3D zf}?<7)*+M`2LRHp`4+)}J%yAOPnM+c6CNkGYAdj0nhv`BG4=`lmO*9*QVB%#_bZ5F z4aBhZMex^s4^QHVmdBAIFRGsJT)F1A`@;7sAzb1pXk*KfPag1PJwjJOv6xc4rGH&YQv(FUFVU{HQ2gOBQeBTnfQ*(O9GpuWY@Ar z*N5kT8>02TJ0h1pYm(JuO&FHMfr$8=DW{Ep-SXKGkN%DuqM<7V{LsS0BcDw z)-@2^kO10bliK;bT+K}t?OI1BzU(V&3IOO0RM)Xb1j=;G9o$8X`e0b3pz(gFV7{1M*Y9SV+2-tTgX{V-2Pq+jaxUhZ*` zKdS@zAzYgLdH|RH6A{Fv(-1_M-j7hjE2-^1br}!wo4Ut~G)ejFVw$A<4M)?V?zgC( z_UC*R=%d*g@g5(|qk=}*L3D2pp}Tl_0NrW9bdRE7gKuopWfh70t;;YcIT0vvbCAT# zQRT6l%SQtiV1ZA+1`hK~&6!O5>B(qpx4wLzEekSnzX$i))$w3YuEDKp_grzd%QfgL zCt@7h+&7_ocecszu-JzL`UvgNr+2|ViLfaIt7>f@pN~|63o&lHp^F1?zT%^uWLa?G z-V>?4J2dY~S*}@kCFes|`BF|>Uhu@b{?@P!K7YiW>7*M}iHHBUSdqHIp;2VNmGh%UGn9IByl zikL4G)xbVG(A!-6Dm9d;;7yaumCOaXToWO`>kY_Ebi-5YNoK0(9|kD3XTm<@7DyK= zh#onv`6B4(1YYbd$0T5JV}vrp6sei_n0@H6_%^%h?B?&nT)z_5R(c}U_t)XQu+l!! zM_BJ*!k$IKPS^t)<|<=Q!(3ui;k`WPZ;tC<>3VddLfaR(=&-zmUNL= zz9bN9-9ilc)<>K|~mW z1aV!D!--^V@n%>6HT@R)+VN2++uiF29F>qMwLjo9+)w!@PCin({S$3wtwzm}#Yhby zLc>qfoa(}KNdxt->bPTOs28nF@=EQ!^0e06TWSwm8D9R6FQ{dI`USOYQbp=%p}fz( z2)4y@7yJ1R#>FoW-@pmXo_~4AbDxjJcl!oVBh~50)I=IU4b}!^|MFYt<+!D8A zOMC*l0nanOI*kaLdPu*~)I(b)+Cdt<-4NC{jQc9nPm!47t8NmKqv?a8B19Sui#RTT zbpHTw%OXF&1jnmitMytCgXxE7h8dRd~ zH8DX!CAgI&K##Fft}|egV7LH%4_XWCF9A9hp|18#_d``J3~B)a#{FH*83arTYan3* zRitkB)h_}j7*vYEt*zUA?TdhMrdAVZ?#MbU!(&wz@wqs!sz3W1^ z*o(9;0LG>^dA%DdRnvOQ4t$Yn3^;|0kV7=cuK`llgR^#uyl&S^M?nog)df-% zz#v*xBC_7m{Zd*MKnWX?KGVp+mmbKtKZJ}^M}UlBM210Im2nUB2l3;M4oY6-KIS}T(}_&k9o^JtyVH4q$8b&h<}ciNj&n;f+Emmuew zRGyoF16^*O>!!KLdLs1uMA8*3dyDOx8q_W6_l|btT#3tulDS8(ROef?te#Y^-#N#d%H?oi!eQuw({PdYxf6)zd`N(a06U-1(f&4 z8^8zvBhfIx3$dT zq+RO-5A;n1UduN^VHF#5CUe`kBn~G~KQ0)#5yxL(T?$67@xL`_Z?q?J`~2oi&L$fc z+h7=GV0%2qk(g#w%`g5#(fm8IYkVh*&io-m&38emP-Ev8c1Y{Zk-y8=|7b6Q)F9Cw}p`|Co$jj>cI z@(N@sPuME`83$o$(;;is8RHlyYai-e3C$lPltNCezgZ}|&JGuxz!V!>6M?n0v3Q5q zeyfTnrK6zZdLHOTKeT)cW&wli)OuMOm+IItsZ%Gs`41>tnewA*HZa%lL=*rTkHg{E z(o?8nspDqB-(|BNV%8QFE`#+>L;EyaFX zqDUCY-ifnrKT|RvRB}9&>~`vItONyTkcli!V>>@TO0Hl!hn0xupVTWTaF-him3cF-MMOtaJp zZ(WC2$)!hGv>jxPdg49xNk(kcs?KGAKSOM#b~2KbzZ}U8QK#QiwZ~DlPaDS^DmYEm zrU+%t-K0>y3d?ue*x0EyHb5ra(-=J*N5#JdA$54g;P&?oR^z8NqJ}&MkV}3{uto$S z!bNl`w}rDW^h>QIL@R%9pz-~GsfUpvrKb9qEU7+I@^oC04A~Q&04^;!S4sxhPSaAHD5?Ag9J{~Y1;R~4BS~f*%ry@KU-sSQ zzm_*cx==Q=QODv?dxf&tMiy6#G(x0-#kJ6DW@A{%7SzZNUJSEIy$qfRsUt!(z^l$l ze8P{@*r2_+=03)0&J~Z&71lsC>?Oz&WrkO}{^QbqUAEn6BvxUCGu2r9q!B|0xD3~B zz+qvlaieO!gsq8a$i~#LL{ws5A3=TQV|0?Dd=A9hoCfF~GYUEe0V46DZ3o7?{qa)A zAo0rQ5OpCSs;_v(<}}V}K}wxQyD&+s>>~f$3;wtH{`;a`blp=FmDAKUqX0aYxJP`kieYYn8PC2)^*f2rPZJA)00Ji6{97||qD}aw( zZL?fld=LB)`&JOJwW-(;HenUMFHM$nUFC#5wpg4Y}+_D{iS*%l6!9>9lKU1~o0*pVluZ zPna*>Yi&)+0s_2hOk zt4of5yYTkgAPBnc+R*pVfRFH75^f*?w0lwTz`g)p@;abq%+k z+wZc}Ego2q+lqaRy-z_JwVZt4s)ff$!)mEEI%E^7wVq|~6Ut`kz!deblqwC(+JLVI z3Qm$rRfn_eCMkCxCloE`QAmxdKJ8KUiF%aXs2(!-SlRVp+E#^Oa}pb;q>4?TT{S{s z3S>+b8*&pN^#dJRX{gc%*w-F}9^)a=<;K&I;P*UY$=M?snb_!w>jt_BK!q~nM^Ka+ zP1=Yl@5HFK5&JmV+K8Px#4d+e&$CizX)lD%(56fi>0X?B0qi7jAasNfn{cDF}N1s2y?&mbmMJ|remr>iyLV(;y! znq-M|Mb0`b8I#lSFLAwagdzdpcpwTt_&Hfp@EiIf?}m@vHK$V@`Jamdfb2%0Y-b;AQP5T!3-Epg=z4^$ zWm-FIuW~^<+>GrI6sbEoe?cUMQfwT7rA#bs#!|p1d=mgt6OkcHO!W)Txb?Wd%GzM$ zx>NjA6vu_KbUL%vvh2zV-p9D@ofmMTVvkLquz3F|8%tO;Md~z*tx|3!w|oMD$ktk+ z%>J$pjO7rUoGI>6X7DyPQ{017c|utwmUYa8m9K@t+xr=ooXXst?4B`!5owF&^I1K*1f}mC;(`bHC5|8zK=?f!)P6>}Ig*%5AVo6F=bW z{pC1BGnvtYCH$ez&>uR*Jz%+=(8QoePR(f%4?<_=nGS|muvXWIcCUAu}LnFoEE|=$2zDpy=f{@zMUtTG`L)CAo_5$Ly5>aXizM6eFFBT9v!17ruO_$BgODr zXk|+5dp0@JrZ>qsjW!lVY=og+aYFy1oEAtgj_yApt7VD4IICq6RJAC|#un>rY>|%L zGsR!*Yf!9YZ8T)CoF*v^DdL6SJcMdUWlmFzmgADi0Z<7L>*c$d*d*uH%PUPRw^9aW zNRMXLeW(Nv#IvksIj3I!b*#L^z{GkIbUD{b?$j)Dr_ACNXxP~6gD~Yds$6zCw6UE9 z*C#@h@SA6VK1KD6G{eAhYf(o=E77GS*X$<#OQGyZotz6ooc)0g6tyK6#1Hld6!%G; zMQmO%&E_o}h$UOZeR&a1>lV!Ei5@QQlY#1qWh{4#P}WDEvqkvl5k65>jC#%<3*-xB z)1!3yEJ*p1k3sc-eumg1IF=)KfE4S_;ns2`9|?xhx|G`pM(r<9fU?ZH4GV?A;}2+w zp})Eej@oNB#{p3QUQL7Hq~y{;(0=7X8;kvwP0IY0PG|E*zb-9o)FGmk{|lqZr~Nd`Ja?Nk!7Dya z&4i@7Z4QkW4DV4#A1+?m9USWfFFT(@FFO#jpo1gNyXt}t9JxPWUvFc&@>yVuUH=2r zl-u#`w;ec_y$D{(Yj^$gKNx=t-?9w2Q}+Mj^eoIQL;AC&RUJ8vVc69RTMhkf(u!3&P7IqSb?C(Npzy%Sr(_blGF#t^sR~dNDW{RVosm@+z^{$w z<5obh%A>b*faBZ&V=Jl7U^%vIx|D0;>{ERGv23NCMO*OHY2tDflXR+GFlV)#a0Lv9_s7Nb08CP)j@H)!+4ko1Smm=&(a+kkSt4;b_@^=|^@QF19oOX< zP=4A<|o>b4H>R5Q^9K3>npCg#*j;1~tk+=vqK=5U|mpj>7Xs zsm2?*OOBMUWZ?23u&8el@qYzqY?Lcc$l1-R498!E3S>8_0vry3?f9mqeT(*wM4;E$ zr)TuyO1p$ZXESGycD<~_$x)0ASDB3VSl@jJY&DgjzT$fK6>w9XMie1_oRk?qpfM+b zv(TQ=%_N;B?PU{7(Fc&DOVK$XJ9+S=<3Qd`%5Tu4pqjJRB0gi1<)C<#{|-9X1o6wd zx1NE-1j3+#9Aj!X4~Ve;4@UGu&xp+8msQ?ycD?FkIExL;ExE&k5&YOQfS4a{wv z8Dd~qJNK+QtTo{Xcr}OZP+5gfTM0tg2~DV_Uc91AGO2}aAIx)_Y7cAkc?1Z(yP2{W{$%tkCQg*z z&(VbP2Q;W?b`5Ps%cTwS@jefbdOq4Zr?HTP>@*f>!p1XLk>H$wPRyB@u3ga~XXA)W zW#fM71RwF${y%Q)NaaK9Jml*lVh+LS`X-HAz-0RPDFs7 z79NJ(+O-hi5PDh&xWg3&FrM2Tm3heo`4iZhhH^bty4Dad*AT7F3%PFhs;x;V#EWbK zDl~{{!Y)Ex*u`$ONn@9KTCI3?sD^`GvQ?cm^#pS7(4b;&(TZu?PX)E@?^e`2cB$<^ zPnfPG`wMG3&~tIOxxN7)Pm+JhEIb&+r;wWQkjJma$I&! zX|?PTl=o0W8V@$JDq9rE+{Wk;P^$qqRD+2{MLozr`RC+sbcG=dQX-Tc-A2Sz9qh0% z(gG!ObZZHwd3ql_Ws9IV{%bZ4qtt~W-+d)?HdvuE*r4w$ZYIt6Pa9Zu!X#{cY(T_* z_?uXD5&}ySA}%R2dk@0XcwGmImkk8~Jpp9sBC4xSn&E}7YKCxB#GZ)yv>DU%h8ta4 zFta{*Q`J4REqk;!;YY)JH+pk`(xmP8v!~-($QvAowTIw4^FTLzo)>`LFjg-$^Ce?X z;4JEmkZle@_I?k@23DQbODB02w;H=}bA_#m|H93F$E(f&OUJdqdqgK|t2zUGPCTWaoQL?67=J9Hjpgox_<#H3 z&rv*`0!{N^EMiGKi?JOM$H4pc^m1D3i45yLe5iZcrRyeftSe$5T1LHyhr|y7H(W)D zAdowG+7@0oj3?S#FyU29=&vQ<1T5ZP^&?5{zaXXoLT*2_D**b8ANsTkeOXFF>GAz5 z+d!1j>_|#=YIcKtDWfB+4Ze*=G5dpMc<6qjISHa&I}&gU+0Py0Kb?ff_^B-xCHU9Z z^Qi?6hBR+hgC~-X^H<6#aq2Pt=~&Vu3An0>q6Kfl!D$`+uzI|=Q9S?*3XpSLg*c``0d;X*b>nhahc`R2Q&w?b*`xX9G7a{ zM<+fPAQz(sqWf8IiNnpW6ulawuMFs7ZsA!#pjxyU29i2_9Y@;D|H$b2y9$n%m{<7Gc|M?!I<1f|$_ED&(xevBgnhnHR&BFrfzf`PY9(W94Z^$Q)Ms8*5;xjGzRIwXw_Eq z1K$!DkMAz`Ks2_^98qVI7PgpZwn^{;ow+UH!kc&*o2MKGMJ$e_H4dc&>|-$~K~2CR z7d@$>43cqE`G;F@p2#ee#m->awQ^Q046vc{m2@eH=dNzm?%S=}u7Ol-c9CRUXG#^# zi}%RZ+MA)mCdE(<6%@9bfVa{$v+!mSQg&^gD7gQur;*@1p>Q28S|Zd`9@Ok>;FEOL z3~aI-S~C6@5b%5m0T!`k*&aY5loj^D>fPL4)vTAZn)Q`8AEYvY z5VLrXJlO!6P*i||nFMNBaE+D{94R>I-zA-C132G|v%43$!YzVOxC7cR6utD9ki2C; zPb6EL<#dCMS&?{~yoQLkvFt|HUYyl((8a9v!^IXkJ62^)2Fq<`&R z;u79khKq$r_C8H;Ks|9KO7%N7}AYg0-q)K)0lLWB+x>r+};own&gY_^C^OCl>!LxzjZ9+URg1XfedYP5X4 zR1a-Hwzi}o!lvQY=2UCT;-T_<5C;9 zWpbRhV?bTXWOcIMo9Wmn)fgTUudvcN*Ku+u+LFCdOpvn@oLDeaHpz+WL@GJ%f-tle zNixSAGp=Lf+r-(!Y5BqvOB+5E>qcqfW=;&7B6apgtg`^jQi{M!!dR)AsRc6a#u1UH z_in+Lshkt_4~uPV*Lcja3n7<=F?z}h{k0}B(+(`FSV61@Pg&ZQ-aUMF=|-Wb#Ryn3 zOEr8<9Veyi@OJ$o$&We^3wmXj6`^kmt z5svM2w7?^sslod#*OncV9aK37k}v$G56;^;KGaH+*J35xj6FYc#A*$87D5tsPA%_Um5y$fZcja1seC zO~Skm#D%h*j?cA-kF6bn?^N6aq>C_&cHB;J2-S9&Dd`x}@DvdqgoftnNQS4o0FO#g zvAb2_p@^M+ezNR9MPsuJ z8eaSTvO>DDc0R^Ovh`E(xu;lp0r}xV!@Cx<=ykF(6Q0F?r`A$uW|xZgGm2s+#OE}y z+yq%c7V*k*gmEBB15cPFD%T*FF2HnR98av3OK1C8%Y$$zw3gcETErr}{W#rDf${9J ztYGDsqPC~5{H!#Suwb1Sm3#YUrj*|LHWGM{QSFG)^Am%0Ce zwgXbNxrl0OV-Dm4ZY&`{&+y?^^ZsTzE510IFH)$nu0;r0jJ3(JVT=NjV>DHg^m4d@ zZ!$IcMK1dDWl_eM+b9w)H$1$;; zQHXVnA*gb-SrEm|Q-@FmEx7Ss8;w<_gqQ?I6$=3CbI| zdW52pcEu98u@ZF$+Q~NP4Y7|YsKqWVz`rgyHysyB$PeFueJ3N+E43Sz<@9uyU(Z8` zb>`3^gaL*S*p`Q@=wK8DYR5Y$|F>jE%eIy3lwwrd{(dj|<`HQ|O2#`*lSpiXk@dqaIH(DHUs*6siV)*v)ZN_1)Rjp+^c9ikq*2a2oG*LN)0s9r2{#T>i!tR4&f zW@;mB>*F%&(hH9%ZatvFmjr@x67nbTI7yy-jc4a}r{N zE(NsANz^iNbwBhjf&N;vrujcZa?$~u{v6|P!P$VteG03RxQ8feRIH6EMa@2nKGZ0h zqdsX{ySx?~JZ&#f>I1YG2)iSYFe?xy-W5vJfMB8~AW=(4BT>!t!vYumj4Op#&lEYQ zk!Is_nsA~Mq3}G93Xw^dxry;wu#oZ+n%6OJq-w#jB(((<)M5|ZHAXEsx7pwuI5}SE zz-uhu#VY#NtXuuD5o#N8L1GLT1e|p$qow{#03_z0t>0ZO=vMP zjD*J~yV4-WlOgB0RKA~6`QEDX{R(n-pN9k-PQzSJycTP0MfSJi>-7tO^fGHKs6_?` zu3wFi6T7Au9aqH(ztr#97~VA>QzO-x>|e1X(n%h7xR}}T{TGxeUYfMymp#U6ewjUa zBs|oK;e8gcmDNe7+huEuk~!LhKP=EGoz_=f(5X`&v{yw}f>n?@bz-<{AasVF1iXyj zb-)F$y`@gx9!{t{M%QXQl+iWSN?Y=^=@%4<5%H*RGqpEGyy7&@*8(V$T{z~!-zFF* z=nc5 zmv}t4$%)O|((%5$MDlBQH-pL)$MR#22wM+Sc}#aD{4w29C;poe7;9{+_thn^8d#e8 zhHO{gy5FVh+wPF;TMZenp7)JKN#5{wr^*AtiyJdXbghj9-kTBpix7C2I15zR?AU96 zwcy(OwMpE{{)%C@V#vq;v0o5->)&g;#_BvbR~*cmYi4`e&f~&Hc8e^wRCR_`T^pS8 zHEVybtrJ?})z?SK8HTAW!{De~9x3bVxRL2h?=fqq`bPpb*O$XNuI-p-7;W_lfldm9 zPD1E)0KFZLwX;^XAL*Ex9KHQ{o6W{r+s;;9*Hv{6PPyc}5b8U07@>7NF+6DM9%>pJ z%&k))+`4r*=f98U>@X;H$ot;lA8PqY=DS1CeTOKT-$NA1Pj!)??lr3(#&P~%(YT7% z{XHC;HTsKFrv?)VUrl=OjasL)8j4s#Jp7TybM(7WbXNI}VQ6if0ha_B4yy20gn#Hg z?L0)_YPo2V!)Sh%w#|)0;&6+!Q1}cEhXQXu!ArKr;EYptv+s_mLn#EF4@6|K8f{NM z*=eoZ{{R4AgNLJU3ydD+ixvv?Jl&a>;kCBl4|Y`Jw4!*E3>pUbuioxo!=XcLU{~~E zEX=8Gi6dqgr-btJ0X&SD9WCF<2FTXNsW|tY+sM6+=|g}3R|=+wF+JXtk<&yw>C$kY z?{VxK#eM8hAgOl|scf+1G!*MI3M<8H4~fTRai5%xKU1Q_uA)N@4V*ni&S{uN)g)8+ST2i~yF{wy%%Pn4D=SFH>?R2mC}89$yyv;vNk{{Gh}qTWbJn<%JAYasWQo$jjX5`%V@hbrt@^!c9-oAGzI=bM*DU@sOR2& zSjPN37Lrp}FW`FkR!+NUkQO{PU;?|8QjK=ah&{7n0p@zU*H>QxYGcZ5O`wo)10qz#rKH`?|2P#=rnblW!qHbccE48x=J=GfhseIKK5DX}>eK4m|svSDqfp^mhu1AKdX3XgF;!sY# z=bUKNmO%o}4@&3arL;A)WhWE5Ol==fs0$6&JkW(6fsOvIq1fI`sn%$FWXSd+4L4PL z!7ux%ntPzSbiWX*E;yNwnjXh(Pv@lOIray;?)bc6hcWA5aEI~d|)Ac_O)Yg-e5&S_R|1lJE_q(#ipX@0U7C*V=(%^ z#$pg$x^~|(i%;PSst9g6`r;;REu9J2M{Pn~GrHE}*6rL)Jhc%%4V8=*zXr&JiS412 zzHMS<%KoYodX}}*(^u7M#qd2cYq+(NS$9ggJ2^Z|LkA+Kf{c6sjOa#jP&+6T3qCTCYxoz#1+m2z%nY8r|aTAFn;vzB{$sdLC#l?R)l+bUP0 z`?5Xk;CpQyDf?MgV^HE2_m|k@avE69K9zR`HCS_D>tnpOO|Yuj98oW9?Hf@qXEjPE z!Vk6&v2MY`Lb;WEZljdD&nu2fLqX=DUhlwG(yPtuEym+S%|)xwtW9Rw%|v;v`x=y9 z0398Uwsu*hJu& z7KO<<`_vsdSl+XKYoTNB5J?}z<@_E3dx;WU1z zZM&iYwK@l%hH*EZiT9i8x1r>!Gp30463mbxbr{8;9{&1sJ_HF7K%dKT*5Wdr$i5iCaJ3>uor*@Bv?!k(!8j^7a&TVr!r>MmIniZ$TLwFv)9h zAYMmh-s{@M2bvXCX9b{f!q7X`QE7%iG=Z|LCNP}$vV#RRm4JYK{qwsFUjllH^bch? zuC6=)zA0~Q25*##w^&>9-q&b=fe3Dzy_$EYVkpG|x8WbMmt>#!cd&JzRRUm2ynfwh zm_s^ikX#1K9?-WKV&k>wJmWT;RA(`__nGAD%@n#b3W%OSj7&K!8`e`z>JFZU5qE!5 z6HwZs+2P))&~B92(T)S+#guO{WI|*4D(|ZTFXC7l{cv44r@k+{0{vVcRcoBa5!xFS zDJNn!oYlZBYBI?{D-$9biM5{l*`1)8yv$?kB=1%*?1Q!1%h(HyCRApi+s;^g;rd(8!9rO%=whra$q-q0hN2*y|n3~flno>#l z_Pf=~wPH#B#cTRj(w=!T6+t_87hVCseH>zUU%}rA$hqQk>{1i471FlS8K~*&TYXD~ z+IT(iZY5SHlqJr=4gFOIPuUo~$}um%U(24nS7>`(%GYw*d^*T*@Qf`YjUYlf(l?MJ zr~t0zKu-x~L$3fFE__uL1(DMPWv3}Gd>g)b*3l#7BBPQwAnZYxEy9Rp1&==r8oB;s z0yG%FfmGKCkb-l#8o}1i!jx}Fo73kTJ z0LO{Ic1F8X*sj@Fo>wTWXYjv`HpN zTsV5u!Q*})cIe<~8ylVRfK;i2=%p8gve~(-G&CKKqxPf#s8reZSB3_#Cg zZ>d;YY#Xq>uo_#HCkA+nhgV~TvdXKqW_x@EUc$8he1@Y=ye4(vZP>VR$D>y=esmqi z(QI~0(SZ9?bDP9_Xd>CQ41Xl2`oY(Ya&D6+9^6*yoa%UP@+3<&Zt|;FR+zn(+-Bi7 zzXoo3qM@6k5dP3PxHozI3Y=66Ya`Vf`jY!CPO%+Y4pxKAz;+G5H3~hSkb3~SIWBlv z4Vjiu6GOZ~0l5TRt}xE>_f!k~aEp9z)+X#JJOhgpdKV>(nOtzv3j=Aq%`FKSI)E;& zmE+O@!v@SuEn*wm#5EflwtpQ&oQVro#NOFuByi8 zKC;-NDi5{#aQLeYWs<;oDtZq!V-gKnP=5r+8Ena4yN?4zfd|hLu|!mt9;6Yo^tOup zpP~#wkSxD6?rg_>nfBOeU@;EEI~gMIbWSP>X7G8Y;;(%doI-VGiGBr!cCGHzrIS8* zyTs7q=s`u187k!clMB40`2y=ybCG&`Zl3yjBko=9igHI|)w)`MZ=f;|yvmz=GwK_^ z_YbO;dC;?`W+xQ>^@nbb33l@N<6%@u>g`dFtY+j-jOWB_tWoXZi%o@l?KcS(doBCL z2v1*nu}7z4w0Mc|b(sr;9J2-rQzjP4boZ??``sTb$CnI%dgZpt_sV@)KbDF=dF3%! zjx9bf=eFu&5N>$PyQn>C=GjG|2gEsJ}X09XHDIR=3D z%6b+Sh!?$+phFH$W4>m3q%=gpi3^>^LQSEZ#&`X1Yy59-YZ>HhbFpsXNYU&xu7)Ty z%g}3>JtHO#7X>vAKVGZZ(;wPRAvz>gz3Dug`V$EVu>rAxnTY^q3l98&Eh!D-d2yZ` zhh=U+5-ipBp{Ya`U8wH*GjwkoFle!w^2Xst+t>m*$K**=BdhHvOE9nJXnF}ofP-tP z$%~OA^DQIAbNR3Hoc(kO;`LwLYkvaQ#tgq@b-ULz1l*8bBmAyv{8xgb$cU9AXq6!1 zhrJgRWk!PHurCf{L@{;@2t!40z?f9xBe*g~PK{N6J9;<-i>LCSEko2w0|;&~Ehe{H0&rdrr~K*==oCCEce77AC>PFKu`iz0^i^T&@A9KVLh z{N?;ed!&?`06;GzP#R_`4lk^w#hu@E{VlO!>R_+hxG|F8F@|>6^p7ETM#aO4c z0m}`(Hb`3nV!6#EL^-!P#fj4wIDw6masL+Rw`+!gJ@^MSFpJYZ98cwlQS_7V4NPpp zU(9U83QBcmc@Pu}y?L{zA9U58Pw=!wb_>f!IP!7O|FF*ipxIKIfhMFzX*EU3y@&I` zGVhzJ{$oSP`7gTr63GN=l7Jc>21pq6l2)lZ<^P9H*far$-r{|1R5EyySpIzwy^*xO zNqWNoKKA{LZmD+1lFq6WJ&&|x7W{zR7E^E`NEb|3c?ezaL1*C^14BQ#H~t!>P(eTa zfwI&2vbaLB*m?z2CA*`mDrzMT;S6O~lk~cQ7gu2Oh((%W3s@XdtF{NvJRiX+SXAb! zAE;D+k@4RK7kN1*pvaTgyNZ;v%=wlH_DHqpr=aL^TwQWMq6^6IX+Q=kHy)dCc7tq< zXLyWEo@9d7FUXHXGqZ{%PDf0ZCr7&@btsSo&OSU)(xl4$RrEqdU)gGQy-J&G)E^u3 zRqd6ac7OsIrjax|u&(JLbq&YMz3%iw`bClzAjLT$c@9SV>|*}6=|L(rmFH9wS8OiI zZb>guX}->`Bh}lkq5q^7h3lbVYEI~}!t!%lCW!a?sxp+WLJy>%AcTTPfC83QcasMlH+}+0_GdnRYjxsO=ekKAG55t4W+1OkSYQt_vaW zvnU^Vn#P3Hf${Lf!`}&>KHU|xixQy%j6v{EBcn|#tObd?>#oxxs&wvlTpdAhRIAKn zFv+nbG%NnTt10;2dLFn=9biB7bjQ!Tjv?P+8?bRhqB3A?nbZ5a%kye zS@s#W)WW;)s#5WUE%hDrTEs?WE8=AB+wy_F%eKGR?<{_}bJ#|UGY2cSe||+r{>R|udsGhchd$lE@FXrZ}OVuI1DJ04f3Og z5`1+W5Z!xglr6Vv@N^|d?Z@eKt4E5XlGWJzva8C@+c4c5yB?FKiC3YUuY4c6`S+K3 zy}x=Yr)Es0l(q+wK+V$S1P8u?0l(s@Q1B{0PRpOY;X`a}{{ll`$f>cd&Y@1P1S35X z&Jk@(`Ys*PJ+W#w`4NN6OI0R*700D>1=lcj@!1>{4SkT_b?auansFRBk2BV2E1qWUv#p;LRyp|1Dv89;JK!UEV8c&A#f(8t7 zyf0{?pw1UG7o3Ek!52)rTIGjKzxqXzJ+gq_QHI!1^M#Mn@Ue6R(g7jIf#stKMY_Ge z3W|P}CuViv2Np?b1|6(5Fl=W|c5$_4@BXXu3;PcTwBX#n2sn4s zmYWrTGhM@}*l+#6#Md7Q-wSBAAyONATaWZ3K1dkj9dp(72_$YG28r8{sW!HTAgHgj zu^kBzH|7A7@Q0+JF-W&-Pu!rZNJ*6A^FciAC@}dpc|BslvpSeaT}F-TLp_Q*mKv0r zK+%k%qbb^R#`OjTb!xED^)dx}slmOgAEzC0_T(hjqk6yMTonrYB88Pw#qA`Qw^x&N z@GlBaeluAU?6-OvGdj@w_P&Y0@*mX7I1c1Jtvnse4r_w@@AOA`6RU$T|MKZWO80cgt_NpTVH|Wi1t3 zUmN=qM$v2$dxx^zfmtj%A7eaUx<=@_*ynzOCZU4tKUikke+=F!&TN1tT<5zQBsj|? zbGm;Ei&c>BI&7G~$2zvkm>2R%wb3=MO5RtNx_Rg%*dGv=36Z->Zh)5Dp}T#$7OY}Y zt?8*6*Nc9%6b_b;AAd$5{wO&he@b9}D&?sfzrUf*r{E7!gAeBF z&?}k^ZPA_!E~!tK7EaQ_OdydwgtF>pL_Dt5Etr}gkwQ#=n{6UL1 zXkku!Mr+S^we%I*bG7zdqdg0?XTJ7au04yi=iBsD_mH_pF2q9u$)o#1r^zqWe0UV@ zCiG0@Z<0;4hWBd?{5Oa7Wl3S2tNtmcLU0w%XR;3p4bK7)8|9T ze-6HP?@i}s!uMVH?u73-_{M*k&drDKCivFF*Ys67Hx<4s;JXgKd*FKxzUF;5E@L*N z6~VV2zVZK?&OHNP{Gr$7@Z1Ss?(1|e^J_KE4$qzN{o!jB-`L|B9R6aW<(qVFB7E=r zrh7SoF!(d&_!H)nHTWqSypKOUe||bO^uudko%YphUxW5FYTq#J8?Jp#+BZV`Mrz+E z?HjFqW3(^cNs2d9;w7NC7ZJN;L8AdLEyWuu@n%l^;JF=N+JF1uL%zC@uRi2!2>BXA zzWBi_S@Dy;MSbFWS~&Or&&NmOjq&r49uE8&%-zSW!?H^jhc?7T1Xb6Y$W1!^z+|6JaCV@3A;Hp433V2?}>v;no#+&$P z-pt4IN&IL&ou3n0uCF{_Ibl>UtQpn~YlroV0zHg|l4AUM|1dgy*@$O*o!|aQ#C!c~ z7l!}l%1evJeLT-yvUdKT?kqamYh!uS>x10iHWwW}@Wzhi)EqM2{$%pptIGTQK=O?EYG~OxBK5qRc=1|kG()R!DlhKE7oxmM?B>$1`_VjzU zes}4WEjJIT{rvIw)^7hs_;^?OpUQQ&n~IFje0DgxF4-OR>02vay`%T^7iRq}@!6`h zk+!X?Cp9e%d+jK{GwHy)!_41aV2)2;8(g|I?BkZ*AKcYY?)qqN`0}yWIN_a55r2q( zx7UdsF)ytgnYPgM#|86$%g>&7`pP3OzdZNZ1qqF#pL0CK&As&RwP6c>{V_kV>WXRA z6ScyB>JD#yZic(8&)M<{c}3B-AC4z}Klg!=N8&E8IQaH+(;GTwJ^NYK*N>D=uyZ?0 zPLAHuFzMst4}Q0{F>PV({*4`14jp{S{bI%shhG^xrRe#;*O$*ZvSg$o^IwVjyPlaI z`PaQGV!ogFnsLToC+Ti8o1-e;Op4w+wDg51K6kvD6wzSY_Cd?DU-!Cp?CE#+9!|OC z-TKX2Hht&3Ded!L6~t^Al{$M@+20pzuS}B4|Go9|-S0=A+^T>7z^8W0{okJb=duIq z<8D1_koq+(=@T{YRAK7;HTS->FlN(}FTD}q-iY7d_75)d(?5mhX8vAiJy2qL z>xE1Fpw8;B7jvGN+xFG-&*i^%_k#Xs!d`x5>A;50=HUm~lW!a`?|bn3=U+X(?b@{q z74KwJl->00JDcaYN)8>$`~Ch6wbhN|AH8(^;fv4j*#GN3o z(+5WW^Xh~8yXU-Nm{fCN&hhNy&u_Z$&MRYHuXu6F+n+!C)d0!1^TPwL4!!&23y-c{ z7QIh@f7Fg`{dBk7ajP-AB6a&0w@2;z>~~LY8E$y#^Vxs#epfx_oBC4uPlrb&{^QtF zo2%#l&#jl{om*G(k{J2>g}VO}7P0QWyL)*Y&xbGW`vmv@wf8OXaa`5icXlONmSkIg zBykdxOcEB8V|I7!*_mZ$RxeB=5)+)nq$W5Y214qO zx-?A!_&Wb<#RvCTK9hM+OJ*y#rNHLst zRc62bnEpG)XA-Y`>-Amn&Tp8PkNmLa(9fQm@tuKtD|)~Dx#+6+jhR3Af0qwFyK%kI z{rzFc!G%xt&pa1y- zU;e^Zn?L-y{!jhhv4xe(pZ&sztG@HKo45Ymz?U-Ly&*Q1{@n2m@l%njvv(c%E&Hu2 zzF2$ge?L_Bm8<{0@{SMwJkoTb{@^%a?FQv*BjhyiN4|Od&p1pYkxA~(eua_?Ii1uF;f_7hKAqQjIT^gh(SB zchs~Q&p2xHNW;iQ$+}vlSXMEY0H%hbPuEA>LLBgQGlh{FifUri)j`mVWf$}m#ZB6U zLXm1|Soxxhh*V%NSIl@JqZ3^8lw5lax%Ly}+C!v9AXv7GS-|wP3%R&U`^DmR3UV=* zFX#@Hd(%4>sUVPH8dgTl#0v@V8ebNkL29y)RPji~U0qdO1H@3NoGc*_6!Mf_#neLF zHEeN7Z!#}{L!IJiSY;O39|C_OC?utmf*wz)>4Kf(c^8lmB#%?eG@wI(yXFjV*qFM-0Y6AXd^A;3huZ<`#A?Vo z@aL><=D|v%c~+j9vNgnUQ+ClMX~&Jbjc{RDHxsaB4QV2=%$RVTqJ+Zlf`Vs8VkKdR~xB` ztefAilIaL7?tuRU01b`!%G5ot^rP^N1sH>KeC9#%R zE2Mz}G&VRlqck<7e|x{SWuSXwC+X+BsMYe6={#PSCfQXYSt)io>@=^yA=t95m@ zcXamktE8*__D*d}Z#Pi2E|v6d($;ou+S;p<&3&5&HmRh&f8*^c6}ssT>S#_epT{a4 zt0c$?a6ex2p~J)ztFeLUdb`<^+i3N^yU@QHnwdM6v@C61wtU6PRWu>P!fFkCRXD~? z4bDw9CZsX{3V2+u9SIWtNimvR)z0dbuGuci~o+pZ`?^52662sUe);3Hu39LLMttT6%=$D92fp1 zb<5F-WjE1Em;QNo(a>GuK&i1@s3Vg_$haY$uxudE__)ZA-bo-+6ShNtF>^^e4mT6X zVU7)x1e8u%k2l4^$*F|A_GafUG;X&*39%r$3vG3($xb&xB?HY{(ZL4Bw3Ev<@{Mh5F{S`9dU-2y3LufVsH8ffYe zCk=O5CC?6a?$-~{8Z#hPd1B4uC51I5l6H%Mq4QWvK5@|p+K@Ao+O;MGijs@WJJP-Knyk5Y*ghw++ zF~>z?X6W3{`qdb?sfr%LDh+lCM-i+Qq(STw8zV0EozTIBj`X}VFR=TX0T&o$m_rbU zmjfC{oagKm&4b(7ecF8r=9i$cP9IBa3Hn^z$M+lxiIhogS_M1_eFC0@?s6U!6Z+?> zcQD_F2BV;0rJ&D&UWMH+2g@5?tnb~TuGcN_2UFc#On|eiJ-jqPKO&D5Ckt7X zpy^C>`r;NSL;Hx2U>7`!ymbS{9){H^yC*v%s6gn=zTVH42?**XND#{%NVc zzFNHH)730EFPuQCpwuuJ3Ni{!oi3V-Xd1w+ZtWiE+O%arZSUQ#Zf)=DYwsP{ehcjl zU_GY~=`1ZHmp2XUCd3PcxaC42NHaM$cJ{69f=KOax_i0@wxb^Fx(9kY`}@^(oBGst zb#r^)K=;}$J?(w!<}H1jH}!Xdd-UtH*m7N_uxy%U4p=XxyO7ro^^5J0nJ{oGLdQFc zbpez`9ULhI-O41m%!MlUdfN1=n#$UW zy6B9^Ol4Mhco;YOLuV3iGG|q%lXxMMy!CC(gzzq#;Wz(k><&Kf5gxhJ_;B7JPmFN=>79^22Qr)u z-!)KgxooDWKBqhiQqlH zsg77|G5eoMCYxGgt+D3Cbjml$X^UZWkTx=ljioD>FHVkTa^R~?P8Qn7R1@`+Bq7b} zjW?>-uf^7y&CNnL1zH={QHPSUe(hRFQ)RK33&mYKcRk_*bJJ~5o$Bh_-iFnxZl@bH zjRR>c%FQ(W2~wf)L=Ag=sT}cCYD#E&Gyz9X_nNia*Kh3ZUEkE%)ilttaYj%2}nvlG8Y0IPr{BM2?oUioGkH1_=Mt)IA#sjohfOZ&Y#{;wzzpf-_e&Ju29tVF3 zaUeVi;foNy4&fYxmmpOCs*+swD?jc^I9~&y2g2%RrR4VL=<AMG{Z>36##1Sd|tx`420ZIG32OVro$WugvCfc$I z`5I^ghUU6`on6r$J0ag>SI}p2$+zL$bP~lhIR|G&)5Hf3q(;#UI|2PU_;r#D?`}nd z9w)-=RkS=KKB4$lSRaWe@DX5d1bX9Cn$2)#8-(;nlGsc`TeLlrq-NO>VH}A_I&Bsm z=zr^xG#JMryCUg)0lMO8V!~O`O_Fy;H-&sKc8_dB+06##wCiMF@UB^u0@arSi?=zwm+YM6>)KhGF^7pmKrUd5-m` zwInoDuCCbyEmMdm$lPhcyLq=j7KbPrf7T5(Y+v|>Kf0z+Eff?1p8#w-g1l=7HuY&e z-TecaM)pxkM}YF?@$Ymv)4cMp;B4z!l@1b#@&*hXQ>%9*3%28=^r0OInnaVE$~7(7 zfxN>@TXwJnX`S=HV{KH5NX4|Gg-tA-1b0a!GL63AqlT#!mHda!|I+hncJ33Dsw9X* zqSz6E-iaEyXA~;73Jo1Maxb1oZh*@q^6tTJ_98b_RA`B~qm#({+3o5I4X0~JBNl5K!71OGr3+QIC1F7xOM>Us3`;>!_W@=5a;ZwBwj()BHROX5VG&6u(rMvitR4!pC zZPM)|+-zay?ZBJZ5@>Ab1X?a*%5>o!Yzq84E7_eMQdK%BL@HNf9?$UF5GsMvq$qz2 zIX6>~fr8hwT&AJ@cEcP(m(QtZ*C|Ttrkhp@Y*388EK*`cn45I8r z6=x+7YZpCrh+-linT-YZ7C4*pX~5_rbG_tKdOBV--C#4PbSPM@{l%lKTASzb!oY)y zg71!TVFsv5r+{_aC)&s&!rI}>_)Qda8)3rTjuKr?g`=mt@G{Ovtjbm-;l4{(z{NI{ zIr^bLxO-Ls#x%-ygdp>k$y;~jUIpQ?BK{VzexVAJrXsu_MR=X3dml^pBX?hJ>BH1? zAHbxSf=M`~g_Cvw>B>WJ@>xjs90cXSy^!ctp9j*_Xp{y2hxR$&at40z{*?f&JaSb8 z0Im_&3ueI8wU@)6F-T6mj)H&vw?%e*wTfp)Be?>F)%cqx%7!1ooysVF)P5bRGW%{| z`W2j9Pi~+i)5ynOfGb5=sIBcA&^8W`Xn|Iliqa77<0uPJ8Kp9cU$!?)*xONVJRG4c zCrVg?4sjFb!LQ`Wr_k-mPn1hFBWv1p5i^P*bW(iT*?r^9POm3upa zEvSM^Lk3z<<^3I@7F4;9-4`vW@&R@oXhD^|jO4eV%KeNIY(bR=I=mM2_lamhl?OkK zoKhbk*g?3M=2dF9E~2gS8zwMVC~kF>Js}%Wc^dT|LBy!5pb3i0`5r@%T$P6AjP+X@ zZ=(%j2mGy8rf&dK;QB;0q?S6h^09U3WXkjy?^oA7qTpQGjBx)t`b4$HoDtVLnGx=4 zNB>CNeD=+60sh+`%50^fdTwpB`s(W0${eL0>cq%GQd@f)kf5rat3<17YggCaQmf2` zl0Sn)tMQ_H?#dc)!&$)C4fLwZJvt%NSak4DPOU`h^tlR6rxMetnc>~RbZRjj@Kw%2 zp=QJsmgG%!DkaRU3}DP^4P4awtle`N^K3=wo{J}Qt|Q%Z7enH6V?;2ao^7D#ykI;= z#3+~fKoM*MTSJ#u1TI1J`7!0~b>W0DjVs@xETKtmtKCiox~h^afuE~ul`W9Sf>wI< zmLM0jd9?~&Ky!z;5lp2g0CU}q1U0?>I>@mbdf55~{yXlCPTx@7{-KArN0UdQwU2d07J%9A zCuqofCo<$4XB%MxNHvo%oACWrhiUD13nNqHwtV3GIr#0LLX_Rrbrlt}s}(Yz-$P^J zyF2YOt7lh6)?iPZ&KKi>qm=`}d!4hR6|<|ND!-3Ii54Yrzk7DHa&}e4>}gT*=JEg6 zfqohxF5Px2%Fe6tcQ!pQRtr8{Iq5Rai@#TJUi^K00^a2`?ahL;p0Fi46!K2|xt*Tg zjz1|z#UG1N@h8uy`*`XKjX{q!5Db>Mf7ipo%ReMcO#J;Lc3zFY-&4Y3;u^3&W6@2x zHAH*Mn{hySoSouw|KC$W>Hjl??Uc0jA^7<;yL$qDz8Gd4fy;Xt2^Ww)5x(0Bms=_6 zo#a37fZ|SOLAYFD61{o+&pKjsG|t|y{LSmotSHHXy9D3*3LiHARftNWllTcXftwZ1 zLn)ttFdktP)-K^N{g6k|_=EnFK83#`@T^CP;ioZVg(Ywea=B>j+W}h zVxc@+2zx))KQ2Wtj9D=mPr*-!t^}i8C-dw~(l1GTy@WMxBf=W^p|9*4uR>TEo!mFH zl&xW&9uPc~iVOUA5H2&NTn3b1d-l=jXXRkAieRkkfX5C|niS?^OlHKwIrMC0kY^3> zJRG9D6DT!RK?<(4`0)@0TZEUV2@0l+-&dvTgFINrAC3e);eM277Pm8{d;}<4=LTaP z21?82K?=^h@9?$2cYNRsH?j1~&X<7aq!RKvxKh1X!lPJTU@kY_Ovrmf9WL3U9*3XK zAj+STeaQDg*uh1UmmMuxppm+W@D>dcLdsDQ z%hR2ugYtYZ%2q7%525=>VX+CYgzg@eQX%tjz1~HHUi`y_65Vim_x$3i>&#y%Y+W&~ zmu}OvH~SQx^lzGjo`4%>?C^OE%h9rIeKfx`)kfHJ1I}aS=o6Ib%Y*4$4L@f+UllfF zGNbM-;Qb#7iaUV~C$JBX#7D-N2IzQSJxIp9sB(meu3*Ys&f{&m+Jy@5+F;z%!B~HRlm$V`Gf25MNWlgA&wBL_9zTN9e_S2J`Wa9@d25jJ8$^!=W7WdX z;5EUN=flt05akB=dHHR@bYl1uvIf?C)@?za4)~cLvPLibY+U2DGA7u}Ns?`zJX(rT zT%VF)O!F#>#Y5ZT0MmQFQp(9m>Hx{EUPs8IdRi!TG7q=dQ6elxKU|Y)wjZMRZkWPiG#VlA zdq=4jEEb~w82UZMP^?SQVxOnQ1ifYM8v~wi{DqW~(DZ2{G&QV=+R9&G0-Gn-6c21_ z{_dT@9IOXQ)9s-a4JdbnC^rG+w!6IYp0Eoky+8)%h?1)%@p+p|)Jm_sBgJya*@^%q zg*=CXJowQY8T2T4tb`cfOa;-`1EoFfp>yTCGo|^(bVnOLeFfCmBzVaAb*pS=o?i#N z{3_+}^Gg-FEBj;~o?kyEo@cs-SyGmZ`4o1^o)%h6l3%xjAZMos?K23J%d(y|@Y^_` z_GE(=GlA#RAl^&)aiB3ckp2cZl+BpqvX)egu@aT3*WdnKMxT+M@_hU{=N4`Peiz z&E+3ntuDMysi+_&$EA3}NzW5@$voT>eoFkAfziAhas?rC$`&$9$@n7RTg zr_RBD20;$_{e)b61bgO(eG2bhkej|(vOvo7jUVRlc8An;G?m{ zbqY9^vaEWy;e8JU5I5DXW0; zEYx@T9Rp5Xl3VBX=@=TD9B+ukIcro&1 zgYwWX9({o>MV`7#vd;uEb9wTfJno1a7N<;kCb!R_i?Gjcd-7zGNt|6SsW^U68AylZ zW6hLWA9}{|PuO}sFm=298t|MKJVevjO!npnOH21jPj`GG6t3@t?)4$v!+^5x($X}Z z?t4Am^NwCj*-ZrOkqZg514|_5v^F=MK z$K7HfIQ98kAoHP%kok}&^S=_d+Dd?@ESV?w`A-DPpq9=rY4+uXOORi85AB=UfAGaT zkH^!=m*L|e_ldACZX?_&<7>-N6SJ# zE1{o|&<{%J1quCdS?DiF=%*y~LlXLZ68e#{&`(R~M#kA!}zEcB-(^urSRxP-n^LVu<#^cN-crzP~m68b|D`suRJ zpOMfXm(ce}=xZeOGi9Nllh98}=#NV1V-otgvd~|W(4Upik4WgB^wD`cxYBC})A3zM z2pn0yNx-<5PTI{DtzGQBoUj%z{s**`T#J@@grn2$4Jim4x0{7J8k8eojI^DWN|jwGPc?p&yXYP08|IQoc7=mZGmL3%y=Ke?ijy zl%)F^N%yw0(7PmbRnq-c34L73_pY+gDLDW zw^f#+XUjrACZX?>(6bWyxP+cB3w^(Yo|Vu$B=klJeWWb(9TIx0gkCS9AC>Zbye#y6 z5_(EPZ{mxR7hLO&y+zfcysDWP{r=&FSNoP>V9 zEc9^+eVc^dDxni8-(M*Uy;(x9me9|UQuH;F?&Ohj(05Dd0}^_(r2DTW^y;$Ew@K*D z5_+A4{wWE)zAW_P68e4#-IUNDkn(+gS?EV3^gR;#poDHp=xSN$Jrept37tsj`y|UZ zmW4iFLO)-M)%px6MSoSEyC@5NkA%KM(tV|*dyQoIm1UtnE}@T0=sP6zgoNH!7WzU7 z{Z+~G&y!O0tE7DIDhqv)gkB-(epW(XE}?HO3%yZ7CldM@3B6H5-&PiStAt)Bp}!!Z z_xR|1&iqjH!p~Fu`5*B-B``-M<^hBj3Xu*;uZeg{HJyluY0-jjX;Jhko~Jx7B%I=T z$}utpkN8Sr3j6#g=-!&YuwKg!L@vm);)L*@iJqsF>UBw;dCad{xI71?IssEJsS~8y zI9nF_K?!}gguYEeKO8AV&zFUML_*&$p_>x=OA`7>S?EV4^aB!lUP7;yEI(cr`XLE@ zkAyxbp?^`*eQ#Olk4os{68a7a{YeRZe_7}UB=ivpeLzA#D4`!L3;nQ!zE?s|N$6jf z&<~Y`{53JjxTPg8`f6KI>ui}xI zCaj@O`IOwZ*p*&fkLQiDSm_Ep6IcTed|&cuPafn6C+3aK`EhCGbe_~>d{HW=_%(O9 zoc@#7I%s?=DfV<*rFewwna19eMJ!x(f$dgXPnbN6=XZcdy@FYnQ9d(`Et^*9QN92a zF;~DSPh-j+MdRBp4TjLaiz)j&c9DL?CUj>!|H$94_2qd5D9>^`N4)*G_B|9#d0I80 z>m_o%*hW+QNuS`E13ag8dpwq{@oI`=X?!E8yB=Z7XCnm(xgfBJM2lHYbQXo~IB3762DZ43;&ulxIWs`4>bF`Pdv7gr!1xaSc%BdF2AX zUv@Ps;d(r{HWY4hvL_U)5n{a(!dhO-)*$0H9JUKs<_;-A2|H@VTSLNPeLy)7N@r)S z7?n`V59x)3?dU2AqVMKI$v`Op%KpV64+qMzkX4T$RzNSdzv7WlZTuAQC|=#7B@&c6 z;M<4pz)1M}*do?nO7eUgD5pYt{R2?MyGD%ibD-QxJbAQ~Y4VM#{QUYC;K_z!Rq@YX z7>~v`Bz!(()vJN$SO~qbj(yqTw{f_6;7Pxn;sVI_FgYB`<>eTQc(F{jh4ZP9*L4HW z;n$QvtbQtCn~>08+b$dn@g(ZRQ%)hXS;yYF@_R={yFMb0NwTKzS+TEuROcy;Wp#!KKCeAjq&d$ zXv%cgPpBnB>9ovXUpRWLFzypUUJBW#cZNSt!YFs~4c2|VY@o~!^&EE35O0f#Tz+r{ zt}_+1*g>G2@>`G;U9O2#ydFgV6z{MLpJy9(9tx%W6z~j&y{wavori}ZyDtb zP)>#@zv5WD=fJlDeZlv!lunm1Y4z&_lkLxXAXFzrXZml0GfMr;V9I!050th@Cb^XSX9n$q$89tH@jIgo0A-JdCH6x-qsu2i zUPJ^Xzl*LGwJ%iD?gI3a5icFKy()ieNLXV8c*J`kjB?*hcFOYj#?=Bj+Z|g!5)a#eP)9R(8#hs*K z_-k55=*k1MnhNzUUWZt(Dnazwv!E{#^0AwMveHinzu4zBzwaAMfajS|I=2Dke2B6U zDEmE%#y6I2_I;IaO?y6+7nxbXQ3)PJpok~e5jJ+nkMg$>XgauwypU?aJ_8S_gfgs(}y9};~_16cb0fIAtZbPC~YCiQ?u}IeIN(FK`B9t{R5?V z?GE1zw?354&t|cDm-Fx)m{0j7g>T$@JY=y~A=Y@vqiX8eijY2KK2SzNlpE{W%96r= z=+?yixu;0E)%)liC<-c|kkX^O-hU1f@%DFqCRE$Js~$BE=1vYMts%<~b1Yu7<>DjQ zo>%kxJWqjVw-WRO+-`V&Nal~$`(JZ2${zwnyi>|3e*%<)emZ>D2tdoSiOfTFrIU9=AGTZ;km{Hni z`}2N`(mxwlVfK52tZy?Ava>du{sdyVKzYfx2HR$uzhfrQ@8Pk0O&<$UG`= zo)`U;>Av9NJ59m!4DdYd^RR8N`P;l+UH}iS*x+mNh&y09`v7Zjv@WDB_m$=~h=p3B0(-XxEG}&=0qdVd< zUreA!c-MxNwmsHF0*%P8pb+cgJY7I95;vg2=BGSuP0LtC$Tz+brP%zit(7j1ft!Kg z7Igi%O=mIBmVORiZ#ArqB_vJTu-4nJ3$8NBB=}ASde3@+OT(!ty_D|2U$zAsXh*#% zwyb%1E3e=*T;ZEGjbbM~ZI@*aTl`9QVy#P?R}eaZrMWh=8Mc){$HkrHv6OV zVv}4nDL($z=;QG69z;#oGB`%nt0r1x4xDc+H*K$rKwshsv zW*jvnb<5F_LKm^pSvjKXS&4xW$Z7A2XDJXP~_eX z!dY}-U%I?6O8^%R(pb7lFc)+JMsdc}%D7pOFNMgEB0pt`L8lw?(k;Y!8G%kDbV_&{ zsITrgLIcLfMuT*-KAtweVA5tF0};TXtKZVyVBxH2m?BjwE?5sGfbP6V9GKYxn>Y|D zvK72M3G@_KkXft5cI=8tmk{C^e7Q9|gW{(bpm5_k<|`HjTt-n~Q=M77WL8h^!d1eB zr_*IO0m{ZbL%nORA@-fw)Ga%udiq?D&+(j*^a<#Uf%_ajSxCl~E^A(fb&wt}&`k_! zR^`q3s75`CH>G?DOX{cM9JeTi?kJ8N!K}MLRs%Nzkd}^CH zKbw)og29$NgRC(!+)2@+aid1)GU>ZCVQrV^v{Ov*rQVn@ydY44`MPZQ%gNLLbec)a zjf$2IPjOqO5zNzM7VAP$16a02^`u2YT=12^AP&@4*b&w&@CCY&B6BGNYZ}f(s~!A< z1v^h@mBUVHVKu;K#xRRC?ANlLYQf#?f)gesIVrE>CRSPjbcf1Gqw533UCb6u3$DMz zHlfwTVm2hWo=_9cUc|slrrH)(n_?eWZSuWYwcy^S6Shaemg-{KrqY(Kq#@*26Ys^v z+SrsqJs91Op0Y-%v$q4=q;RW4?Mz~9yQ<~OmMz7~9`|WTfxBYNzAe22-5Wc#&HbHQ zIyPy2ojse@`t2JO1dZ3}?3|C>_?4C}nr1$Z6&NS*5j0N9fy5f!0h_gy!Hq5<$z-wM z7(?j6qb}qwN)sE_(fbC&|fO#=g=eO4DZVz~U zCl>lPXuSG$cZUD~0y>&TBIgVx;VKTi ztS>-QSqC}Q4t~_`C(H&l_>4i%6rkjL7KVaqrLg<~0Sh*Cl@S8;gt{Epy3?c^SRx8T zI=z#N?*!L{O2iojOXYAH*unOc<^hT}V)_!drvhTJyGAh2IE9U}g?w5rp+WAk76^N{ zUL#g&VG$vZ1N9-JU|Sw7pL9p_tSy83g*kz^NoR`bC=?~}qTnv82(i&l6-~X1W?aCa ze8k1G!8TL0qg0X+n&EI@E#U;Sj%7A|G{G}F1kQ)VQP2c?pFagOwD1&L&i#s)0U~#;O{6gFfe?eQ)qm+X=ZRWnfc+ zqL8?}Fr$#c;)RZ9XS|$^XLQzsqRDt!Ow-^gIM50p5HwF2E2mpjeXtaY1UGQ9I&+PgnFBvcywgK&M(kkfH8=+ zv<3U+o>Q=jDd-obO`AJ9MD>af_J~Qa>%>Z%$Su!7@aYo28Em*M7=%le(Jtu7>n6zK zS4K%*6SBH@;vNFKC(F%^JyET|XH{uE%Lm4x?hY+#!3g{{AwC8HH%wsjBNg9ZKj?yu XZdhfn%@^KT(oWG=enbwl=K0?M8LRH{ literal 0 HcwPel00001 diff --git a/mingw/bin/zcmp b/mingw/bin/zcmp new file mode 100644 index 00000000..2ad82976 --- /dev/null +++ b/mingw/bin/zcmp @@ -0,0 +1,70 @@ +: +#!/bin/sh +# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh + +# Zcmp and zdiff are used to invoke the cmp or the diff pro- +# gram on compressed files. All options specified are passed +# directly to cmp or diff. If only 1 file is specified, then +# the files compared are file1 and an uncompressed file1.gz. +# If two files are specified, then they are uncompressed (if +# necessary) and fed to cmp or diff. The exit status from cmp +# or diff is preserved. + +PATH="/mingw/bin:$PATH"; export PATH +prog=`echo $0 | sed 's|.*/||'` +case "$prog" in + *cmp) comp=${CMP-cmp} ;; + *) comp=${DIFF-diff} ;; +esac + +OPTIONS= +FILES= +for ARG +do + case "$ARG" in + -*) OPTIONS="$OPTIONS $ARG";; + *) if test -f "$ARG"; then + FILES="$FILES $ARG" + else + echo "${prog}: $ARG not found or not a regular file" + exit 1 + fi ;; + esac +done +if test -z "$FILES"; then + echo "Usage: $prog [${comp}_options] file [file]" + exit 1 +fi +set $FILES +if test $# -eq 1; then + FILE=`echo "$1" | sed 's/[-.][zZtga]*$//'` + gzip -cd "$1" | $comp $OPTIONS - "$FILE" + STAT="$?" + +elif test $# -eq 2; then + case "$1" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + case "$2" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + F=`echo "$2" | sed 's|.*/||;s|[-.][zZtga]*||'` + gzip -cdfq "$2" > /tmp/"$F".$$ + gzip -cdfq "$1" | $comp $OPTIONS - /tmp/"$F".$$ + STAT="$?" + /bin/rm -f /tmp/"$F".$$;; + + *) gzip -cdfq "$1" | $comp $OPTIONS - "$2" + STAT="$?";; + esac;; + *) case "$2" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + gzip -cdfq "$2" | $comp $OPTIONS "$1" - + STAT="$?";; + *) $comp $OPTIONS "$1" "$2" + STAT="$?";; + esac;; + esac + exit "$STAT" +else + echo "Usage: $prog [${comp}_options] file [file]" + exit 1 +fi diff --git a/mingw/bin/zdiff b/mingw/bin/zdiff new file mode 100644 index 00000000..2ad82976 --- /dev/null +++ b/mingw/bin/zdiff @@ -0,0 +1,70 @@ +: +#!/bin/sh +# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh + +# Zcmp and zdiff are used to invoke the cmp or the diff pro- +# gram on compressed files. All options specified are passed +# directly to cmp or diff. If only 1 file is specified, then +# the files compared are file1 and an uncompressed file1.gz. +# If two files are specified, then they are uncompressed (if +# necessary) and fed to cmp or diff. The exit status from cmp +# or diff is preserved. + +PATH="/mingw/bin:$PATH"; export PATH +prog=`echo $0 | sed 's|.*/||'` +case "$prog" in + *cmp) comp=${CMP-cmp} ;; + *) comp=${DIFF-diff} ;; +esac + +OPTIONS= +FILES= +for ARG +do + case "$ARG" in + -*) OPTIONS="$OPTIONS $ARG";; + *) if test -f "$ARG"; then + FILES="$FILES $ARG" + else + echo "${prog}: $ARG not found or not a regular file" + exit 1 + fi ;; + esac +done +if test -z "$FILES"; then + echo "Usage: $prog [${comp}_options] file [file]" + exit 1 +fi +set $FILES +if test $# -eq 1; then + FILE=`echo "$1" | sed 's/[-.][zZtga]*$//'` + gzip -cd "$1" | $comp $OPTIONS - "$FILE" + STAT="$?" + +elif test $# -eq 2; then + case "$1" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + case "$2" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + F=`echo "$2" | sed 's|.*/||;s|[-.][zZtga]*||'` + gzip -cdfq "$2" > /tmp/"$F".$$ + gzip -cdfq "$1" | $comp $OPTIONS - /tmp/"$F".$$ + STAT="$?" + /bin/rm -f /tmp/"$F".$$;; + + *) gzip -cdfq "$1" | $comp $OPTIONS - "$2" + STAT="$?";; + esac;; + *) case "$2" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + gzip -cdfq "$2" | $comp $OPTIONS "$1" - + STAT="$?";; + *) $comp $OPTIONS "$1" "$2" + STAT="$?";; + esac;; + esac + exit "$STAT" +else + echo "Usage: $prog [${comp}_options] file [file]" + exit 1 +fi diff --git a/mingw/bin/zforce b/mingw/bin/zforce new file mode 100644 index 00000000..67008224 --- /dev/null +++ b/mingw/bin/zforce @@ -0,0 +1,42 @@ +: +#!/bin/sh +# zforce: force a gz extension on all gzip files so that gzip will not +# compress them twice. +# +# This can be useful for files with names truncated after a file transfer. +# 12345678901234 is renamed to 12345678901.gz + +PATH="/mingw/bin:$PATH"; export PATH +x=`basename $0` +if test $# = 0; then + echo "force a '.gz' extension on all gzip files" + echo usage: $x files... + exit 1 +fi + +res=0 +for i do + if test ! -f "$i" ; then + echo ${x}: $i not a file + res=1 + continue + fi + test `expr "$i" : '.*[.-]z$'` -eq 0 || continue + test `expr "$i" : '.*[.-]gz$'` -eq 0 || continue + test `expr "$i" : '.*[.]t[ag]z$'` -eq 0 || continue + + if gzip -l < "$i" 2>/dev/null | grep '^defl' > /dev/null; then + + if test `expr "$i" : '^............'` -eq 12; then + new=`expr "$i" : '\(.*\)...$`.gz + else + new="$i.gz" + fi + if mv "$i" "$new" 2>/dev/null; then + echo $i -- replaced with $new + continue + fi + res=1; echo ${x}: cannot rename $i to $new + fi +done +exit $res diff --git a/mingw/bin/zgrep b/mingw/bin/zgrep new file mode 100644 index 00000000..00e91454 --- /dev/null +++ b/mingw/bin/zgrep @@ -0,0 +1,67 @@ +: +#!/bin/sh + +# zgrep -- a wrapper around a grep program that decompresses files as needed +# Adapted from a version sent by Charles Levert + +PATH="/mingw/bin:$PATH"; export PATH + +prog=`echo $0 | sed 's|.*/||'` +case "$prog" in + *egrep) grep=${EGREP-egrep} ;; + *fgrep) grep=${FGREP-fgrep} ;; + *) grep=${GREP-grep} ;; +esac +pat="" +while test $# -ne 0; do + case "$1" in + -e | -f) opt="$opt $1"; shift; pat="$1" + if test "$grep" = grep; then # grep is buggy with -e on SVR4 + grep=egrep + fi;; + -*) opt="$opt $1";; + *) if test -z "$pat"; then + pat="$1" + else + break; + fi;; + esac + shift +done + +if test -z "$pat"; then + echo "grep through gzip files" + echo "usage: $prog [grep_options] pattern [files]" + exit 1 +fi + +list=0 +silent=0 +op=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'` +case "$op" in + *l*) list=1 +esac +case "$op" in + *h*) silent=1 +esac + +if test $# -eq 0; then + gzip -cdfq | $grep $opt "$pat" + exit $? +fi + +res=0 +for i do + if test $list -eq 1; then + gzip -cdfq "$i" | $grep $opt "$pat" > /dev/null && echo $i + r=$? + elif test $# -eq 1 -o $silent -eq 1; then + gzip -cdfq "$i" | $grep $opt "$pat" + r=$? + else + gzip -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${i}:|" + r=$? + fi + test "$r" -ne 0 && res="$r" +done +exit $res diff --git a/mingw/bin/zmore b/mingw/bin/zmore new file mode 100644 index 00000000..08ad3abe --- /dev/null +++ b/mingw/bin/zmore @@ -0,0 +1,52 @@ +: +#!/bin/sh + +PATH="/mingw/bin:$PATH"; export PATH +if test "`echo -n a`" = "-n a"; then + # looks like a SysV system: + n1=''; n2='\c' +else + n1='-n'; n2='' +fi +oldtty=`stty -g 2>/dev/null` +if stty -cbreak 2>/dev/null; then + cb='cbreak'; ncb='-cbreak' +else + # 'stty min 1' resets eof to ^a on both SunOS and SysV! + cb='min 1 -icanon'; ncb='icanon eof ^d' +fi +if test $? -eq 0 -a -n "$oldtty"; then + trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15 +else + trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15 +fi + +if test $# = 0; then + if test -t 0; then + echo usage: zmore files... + else + gzip -cdfq | eval ${PAGER-more} + fi +else + FIRST=1 + for FILE + do + if test $FIRST -eq 0; then + echo $n1 "--More--(Next file: $FILE)$n2" + stty $cb -echo 2>/dev/null + ANS=`dd bs=1 count=1 2>/dev/null` + stty $ncb echo 2>/dev/null + echo " " + if test "$ANS" = 'e' -o "$ANS" = 'q'; then + exit + fi + fi + if test "$ANS" != 's'; then + echo "------> $FILE <------" + gzip -cdfq "$FILE" | eval ${PAGER-more} + fi + if test -t; then + FIRST=0 + fi + done +fi diff --git a/mingw/bin/znew b/mingw/bin/znew new file mode 100644 index 00000000..96d68733 --- /dev/null +++ b/mingw/bin/znew @@ -0,0 +1,146 @@ +: +#!/bin/sh + +PATH="/mingw/bin:$PATH"; export PATH +check=0 +pipe=0 +opt= +files= +keep=0 +res=0 +old=0 +new=0 +block=1024 +# block is the disk block size (best guess, need not be exact) + +warn="(does not preserve modes and timestamp)" +tmp=/tmp/zfoo.$$ +echo hi > $tmp.1 +echo hi > $tmp.2 +if test -z "`(${CPMOD-cpmod} $tmp.1 $tmp.2) 2>&1`"; then + cpmod=${CPMOD-cpmod} + warn="" +fi + +if test -z "$cpmod" && ${TOUCH-touch} -r $tmp.1 $tmp.2 2>/dev/null; then + cpmod="${TOUCH-touch}" + cpmodarg="-r" + warn="(does not preserve file modes)" +fi + +# check if GZIP env. variable uses -S or --suffix +gzip -q $tmp.1 +ext=`echo $tmp.1* | sed "s|$tmp.1||"` +rm -f $tmp.[12]* +if test -z "$ext"; then + echo znew: error determining gzip extension + exit 1 +fi +if test "$ext" = ".Z"; then + echo znew: cannot use .Z as gzip extension. + exit 1 +fi + +for arg +do + case "$arg" in + -*) opt="$opt $arg"; shift;; + *) break;; + esac +done + +if test $# -eq 0; then + echo "recompress .Z files into $ext (gzip) files" + echo usage: `echo $0 | sed 's,^.*/,,'` "[-tv9KP]" file.Z... + echo " -t tests the new files before deleting originals" + echo " -v be verbose" + echo " -9 use the slowest compression method (optimal compression)" + echo " -K keep a .Z file when it is smaller than the $ext file" + echo " -P use pipes for the conversion $warn" + exit 1 +fi + +opt=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'` +case "$opt" in + *t*) check=1; opt=`echo "$opt" | sed 's/t//g'` +esac +case "$opt" in + *K*) keep=1; opt=`echo "$opt" | sed 's/K//g'` +esac +case "$opt" in + *P*) pipe=1; opt=`echo "$opt" | sed 's/P//g'` +esac +if test -n "$opt"; then + opt="-$opt" +fi + +for i do + n=`echo $i | sed 's/.Z$//'` + if test ! -f "$n.Z" ; then + echo $n.Z not found + res=1; continue + fi + test $keep -eq 1 && old=`wc -c < "$n.Z"` + if test $pipe -eq 1; then + if gzip -d < "$n.Z" | gzip $opt > "$n$ext"; then + # Copy file attributes from old file to new one, if possible. + test -n "$cpmod" && $cpmod $cpmodarg "$n.Z" "$n$ext" 2> /dev/null + else + echo error while recompressing $n.Z + res=1; continue + fi + else + if test $check -eq 1; then + if cp -p "$n.Z" "$n.$$" 2> /dev/null || cp "$n.Z" "$n.$$"; then + : + else + echo cannot backup "$n.Z" + res=1; continue + fi + fi + if gzip -d "$n.Z"; then + : + else + test $check -eq 1 && mv "$n.$$" "$n.Z" + echo error while uncompressing $n.Z + res=1; continue + fi + if gzip $opt "$n"; then + : + else + if test $check -eq 1; then + mv "$n.$$" "$n.Z" && rm -f "$n" + echo error while recompressing $n + else + # compress $n (might be dangerous if disk full) + echo error while recompressing $n, left uncompressed + fi + res=1; continue + fi + fi + test $keep -eq 1 && new=`wc -c < "$n$ext"` + if test $keep -eq 1 -a `expr \( $old + $block - 1 \) / $block` -lt \ + `expr \( $new + $block - 1 \) / $block`; then + if test $pipe -eq 1; then + rm -f "$n$ext" + elif test $check -eq 1; then + mv "$n.$$" "$n.Z" && rm -f "$n$ext" + else + gzip -d "$n$ext" && compress "$n" && rm -f "$n$ext" + fi + echo "$n.Z smaller than $n$ext -- unchanged" + + elif test $check -eq 1; then + if gzip -t "$n$ext" ; then + rm -f "$n.$$" "$n.Z" + else + test $pipe -eq 0 && mv "$n.$$" "$n.Z" + rm -f "$n$ext" + echo error while testing $n$ext, $n.Z unchanged + res=1; continue + fi + elif test $pipe -eq 1; then + rm -f "$n.Z" + fi +done +exit $res diff --git a/mingw/info/gzip.info b/mingw/info/gzip.info new file mode 100644 index 00000000..3ff69c78 --- /dev/null +++ b/mingw/info/gzip.info @@ -0,0 +1,809 @@ +Info file gzip.info, produced by Makeinfo, -*- Text -*- from input +file gzip.texi. + + This file documents the the GNU `gzip' command for compressing +files. + + Copyright (C) 1992-1993 Jean-loup Gailly + + Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + + Permission is granted to copy and distribute modified versions of +this manual under the conditions for verbatim copying, provided that +the entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + + Permission is granted to copy and distribute translations of this +manual into another language, under the above conditions for modified +versions, except that this permission notice may be stated in a +translation approved by the Foundation. + + +File: gzip.info, Node: Top, Up: (dir) + + This file documents the `gzip' command to compress files. + +* Menu: + +* Copying:: How you can copy and share `gzip'. +* Overview:: Preliminary information. +* Sample:: Sample output from `gzip'. +* Invoking gzip:: How to run `gzip'. +* Advanced usage:: Concatenated files. +* Environment:: The `GZIP' environment variable +* Tapes:: Using `gzip' on tapes. +* Problems:: Reporting bugs. +* Concept Index:: Index of concepts. + + +File: gzip.info, Node: Copying, Next: Overview, Up: Top + +GNU GENERAL PUBLIC LICENSE +************************** + + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble +======== + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, +and (2) offer you this license which gives you legal permission to +copy, distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, +we want its recipients to know that what they have is not the +original, so that any problems introduced by others will not reflect +on the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 1. This License applies to any program or other work which contains + a notice placed by the copyright holder saying it may be + distributed under the terms of this General Public License. The + "Program", below, refers to any such program or work, and a "work + based on the Program" means either the Program or any derivative + work under copyright law: that is to say, a work containing the + Program or a portion of it, either verbatim or with modifications + and/or translated into another language. (Hereinafter, + translation is included without limitation in the term + "modification".) Each licensee is addressed as "you". + + Activities other than copying, distribution and modification + are not covered by this License; they are outside its scope. The + act of running the Program is not restricted, and the output from + the Program is covered only if its contents constitute a work + based on the Program (independent of having been made by running + the Program). Whether that is true depends on what the Program + does. + + 2. You may copy and distribute verbatim copies of the Program's + source code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an + appropriate copyright notice and disclaimer of warranty; keep + intact all the notices that refer to this License and to the + absence of any warranty; and give any other recipients of the + Program a copy of this License along with the Program. + + You may charge a fee for the physical act of transferring a + copy, and you may at your option offer warranty protection in + exchange for a fee. + + 3. You may modify your copy or copies of the Program or any portion + of it, thus forming a work based on the Program, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + 1. You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any + change. + + 2. You must cause any work that you distribute or publish, that + in whole or in part contains or is derived from the Program + or any part thereof, to be licensed as a whole at no charge + to all third parties under the terms of this License. + + 3. If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or + display an announcement including an appropriate copyright + notice and a notice that there is no warranty (or else, + saying that you provide a warranty) and that users may + redistribute the program under these conditions, and telling + the user how to view a copy of this License. (Exception: if + the Program itself is interactive but does not normally + print such an announcement, your work based on the Program + is not required to print an announcement.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the + Program, and can be reasonably considered independent and + separate works in themselves, then this License, and its terms, + do not apply to those sections when you distribute them as + separate works. But when you distribute the same sections as + part of a whole which is a work based on the Program, the + distribution of the whole must be on the terms of this License, + whose permissions for other licensees extend to the entire whole, + and thus to each and every part regardless of who wrote it. + + Thus, it is not the intent of this section to claim rights or + contest your rights to work written entirely by you; rather, the + intent is to exercise the right to control the distribution of + derivative or collective works based on the Program. + + In addition, mere aggregation of another work not based on the + Program with the Program (or with a work based on the Program) on + a volume of a storage or distribution medium does not bring the + other work under the scope of this License. + + 4. You may copy and distribute the Program (or a work based on it, + under Section 2) in object code or executable form under the + terms of Sections 1 and 2 above provided that you also do one of + the following: + + 1. Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Sections 1 and 2 above on a medium customarily used for + software interchange; or, + + 2. Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than + your cost of physically performing source distribution, a + complete machine-readable copy of the corresponding source + code, to be distributed under the terms of Sections 1 and 2 + above on a medium customarily used for software interchange; + or, + + 3. Accompany it with the information you received as to the + offer to distribute corresponding source code. (This + alternative is allowed only for noncommercial distribution + and only if you received the program in object code or + executable form with such an offer, in accord with + Subsection b above.) + + The source code for a work means the preferred form of the + work for making modifications to it. For an executable work, + complete source code means all the source code for all modules it + contains, plus any associated interface definition files, plus + the scripts used to control compilation and installation of the + executable. However, as a special exception, the source code + distributed need not include anything that is normally + distributed (in either source or binary form) with the major + components (compiler, kernel, and so on) of the operating system + on which the executable runs, unless that component itself + accompanies the executable. + + If distribution of executable or object code is made by + offering access to copy from a designated place, then offering + equivalent access to copy the source code from the same place + counts as distribution of the source code, even though third + parties are not compelled to copy the source along with the + object code. + + 5. You may not copy, modify, sublicense, or distribute the Program + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense or distribute the Program is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 6. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify + or distribute the Program or its derivative works. These actions + are prohibited by law if you do not accept this License. + Therefore, by modifying or distributing the Program (or any work + based on the Program), you indicate your acceptance of this + License to do so, and all its terms and conditions for copying, + distributing or modifying the Program or works based on it. + + 7. Each time you redistribute the Program (or any work based on the + Program), the recipient automatically receives a license from the + original licensor to copy, distribute or modify the Program + subject to these terms and conditions. You may not impose any + further restrictions on the recipients' exercise of the rights + granted herein. You are not responsible for enforcing compliance + by third parties to this License. + + 8. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent + issues), conditions are imposed on you (whether by court order, + agreement or otherwise) that contradict the conditions of this + License, they do not excuse you from the conditions of this + License. If you cannot distribute so as to satisfy + simultaneously your obligations under this License and any other + pertinent obligations, then as a consequence you may not + distribute the Program at all. For example, if a patent license + would not permit royalty-free redistribution of the Program by + all those who receive copies directly or indirectly through you, + then the only way you could satisfy both it and this License + would be to refrain entirely from distribution of the Program. + + If any portion of this section is held invalid or + unenforceable under any particular circumstance, the balance of + the section is intended to apply and the section as a whole is + intended to apply in other circumstances. + + It is not the purpose of this section to induce you to + infringe any patents or other property right claims or to contest + validity of any such claims; this section has the sole purpose of + protecting the integrity of the free software distribution + system, which is implemented by public license practices. Many + people have made generous contributions to the wide range of + software distributed through that system in reliance on + consistent application of that system; it is up to the + author/donor to decide if he or she is willing to distribute + software through any other system and a licensee cannot impose + that choice. + + This section is intended to make thoroughly clear what is + believed to be a consequence of the rest of this License. + + 9. If the distribution and/or use of the Program is restricted in + certain countries either by patents or by copyrighted interfaces, + the original copyright holder who places the Program under this + License may add an explicit geographical distribution limitation + excluding those countries, so that distribution is permitted only + in or among countries not thus excluded. In such case, this + License incorporates the limitation as if written in the body of + this License. + + 10. The Free Software Foundation may publish revised and/or new + versions of the General Public License from time to time. Such + new versions will be similar in spirit to the present version, + but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies a version number of this License which applies + to it and "any later version", you have the option of following + the terms and conditions either of that version or of any later + version published by the Free Software Foundation. If the + Program does not specify a version number of this License, you + may choose any version ever published by the Free Software + Foundation. + + 11. If you wish to incorporate parts of the Program into other free + programs whose distribution conditions are different, write to + the author to ask for permission. For software which is + copyrighted by the Free Software Foundation, write to the Free + Software Foundation; we sometimes make exceptions for this. Our + decision will be guided by the two goals of preserving the free + status of all derivatives of our free software and of promoting + the sharing and reuse of software generally. + + NO WARRANTY + + 12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE + LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE + QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE + PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY + SERVICING, REPAIR OR CORRECTION. + + 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY + MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE + LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, + INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR + INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS + OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY + YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH + ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs +============================================= + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + ONE LINE TO GIVE THE PROGRAM'S NAME AND AN IDEA OF WHAT IT DOES. + Copyright (C) 19YY NAME OF AUTHOR + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + Also add information on how to contact you by electronic and paper +mail. + + If the program is interactive, make it output a short notice like +this when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details + type `show w'. This is free software, and you are welcome + to redistribute it under certain conditions; type `show c' + for details. + + The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and `show +c'; they could even be mouse-clicks or menu items--whatever suits your +program. + + You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright + interest in the program `Gnomovision' + (which makes passes at compilers) written + by James Hacker. + + SIGNATURE OF TY COON, 1 April 1989 + Ty Coon, President of Vice + + This General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use +the GNU Library General Public License instead of this License. + + +File: gzip.info, Node: Overview, Next: Sample, Prev: Copying, Up: Top + +Overview +******** + + `gzip' reduces the size of the named files using Lempel-Ziv coding +(LZ77). Whenever possible, each file is replaced by one with the +extension `.gz', while keeping the same ownership modes, access and +modification times. (The default extension is `-gz' for VMS, `z' for +MSDOS, OS/2 FAT and Atari.) If no files are specified or if a file +name is "-", the standard input is compressed to the standard output. +`gzip' will only attempt to compress regular files. In particular, it +will ignore symbolic links. + + If the new file name is too long for its file system, `gzip' +truncates it. `gzip' attempts to truncate only the parts of the file +name longer than 3 characters. (A part is delimited by dots.) If the +name consists of small parts only, the longest parts are truncated. +For example, if file names are limited to 14 characters, gzip.msdos.exe +is compressed to gzi.msd.exe.gz. Names are not truncated on systems +which do not have a limit on file name length. + + By default, `gzip' keeps the original file name and timestamp in +the compressed file. These are used when decompressing the file with +the `-N' option. This is useful when the compressed file name was +truncated or when the time stamp was not preserved after a file +transfer. + + Compressed files can be restored to their original form using `gzip +-d' or `gunzip' or `zcat'. If the original name saved in the +compressed file is not suitable for its file system, a new name is +constructed from the original one to make it legal. + + `gunzip' takes a list of files on its command line and replaces +each file whose name ends with `.gz', `.z', `.Z', `-gz', `-z' or `_z' +and which begins with the correct magic number with an uncompressed +file without the original extension. `gunzip' also recognizes the +special extensions `.tgz' and `.taz' as shorthands for `.tar.gz' and +`.tar.Z' respectively. When compressing, `gzip' uses the `.tgz' +extension if necessary instead of truncating a file with a `.tar' +extension. + + `gunzip' can currently decompress files created by `gzip', `zip', +`compress' or `pack'. The detection of the input format is automatic. +When using the first two formats, `gunzip' checks a 32 bit CRC (cyclic +redundancy check). For `pack', `gunzip' checks the uncompressed +length. The `compress' format was not designed to allow consistency +checks. However `gunzip' is sometimes able to detect a bad `.Z' file. +If you get an error when uncompressing a `.Z' file, do not assume that +the `.Z' file is correct simply because the standard `uncompress' does +not complain. This generally means that the standard `uncompress' +does not check its input, and happily generates garbage output. The +SCO `compress -H' format (`lzh' compression method) does not include a +CRC but also allows some consistency checks. + + Files created by `zip' can be uncompressed by `gzip' only if they +have a single member compressed with the 'deflation' method. This +feature is only intended to help conversion of `tar.zip' files to the +`tar.gz' format. To extract `zip' files with several members, use +`unzip' instead of `gunzip'. + + `zcat' is identical to `gunzip -c'. `zcat' uncompresses either a +list of files on the command line or its standard input and writes the +uncompressed data on standard output. `zcat' will uncompress files +that have the correct magic number whether they have a `.gz' suffix or +not. + + `gzip' uses the Lempel-Ziv algorithm used in `zip' and PKZIP. The +amount of compression obtained depends on the size of the input and +the distribution of common substrings. Typically, text such as source +code or English is reduced by 60-70%. Compression is generally much +better than that achieved by LZW (as used in `compress'), Huffman +coding (as used in `pack'), or adaptive Huffman coding (`compact'). + + Compression is always performed, even if the compressed file is +slightly larger than the original. The worst case expansion is a few +bytes for the `gzip' file header, plus 5 bytes every 32K block, or an +expansion ratio of 0.015% for large files. Note that the actual number +of used disk blocks almost never increases. `gzip' preserves the mode, +ownership and timestamps of files when compressing or decompressing. + + +File: gzip.info, Node: Sample, Next: Invoking gzip, Prev: Overview, Up: Top + +Sample Output +************* + + Here are some realistic examples of running `gzip'. + + This is the output of the command `gzip -h': + + gzip 1.2.4 (18 Aug 93) + usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] + -c --stdout write on standard output, keep original files unchanged + -d --decompress decompress + -f --force force overwrite of output file and compress links + -h --help give this help + -l --list list compressed file contents + -L --license display software license + -n --no-name do not save or restore the original name and time stamp + -N --name save or restore the original name and time stamp + -q --quiet suppress all warnings + -r --recursive operate recursively on directories + -S .suf --suffix .suf use suffix .suf on compressed files + -t --test test compressed file integrity + -v --verbose verbose mode + -V --version display version number + -1 --fast compress faster + -9 --best compress better + file... files to (de)compress. If none given, use standard input. + + This is the output of the command `gzip -v texinfo.tex': + + texinfo.tex: 71.6% -- replaced with texinfo.tex.gz + + The following command will find all `gzip' files in the current +directory and subdirectories, and extract them in place without +destroying the original: + + find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh + + +File: gzip.info, Node: Invoking gzip, Next: Advanced usage, Prev: Sample, Up: Top + +Invoking `gzip' +*************** + + The format for running the `gzip' program is: + + gzip OPTION ... + + `gzip' supports the following options: + +`--stdout' +`--to-stdout' +`-c' + Write output on standard output; keep original files unchanged. + If there are several input files, the output consists of a + sequence of independently compressed members. To obtain better + compression, concatenate all input files before compressing them. + +`--decompress' +`--uncompress' +`-d' + Decompress. + +`--force' +`-f' + Force compression or decompression even if the file has multiple + links or the corresponding file already exists, or if the + compressed data is read from or written to a terminal. If the + input data is not in a format recognized by `gzip', and if the + option --stdout is also given, copy the input data without change + to the standard ouput: let `zcat' behave as `cat'. If `-f' is not + given, and when not running in the background, `gzip' prompts to + verify whether an existing file should be overwritten. + +`--help' +`-h' + Print an informative help message describing the options then + quit. + +`--list' +`-l' + For each compressed file, list the following fields: + + compressed size: size of the compressed file + uncompressed size: size of the uncompressed file + ratio: compression ratio (0.0% if unknown) + uncompressed_name: name of the uncompressed file + + The uncompressed size is given as `-1' for files not in `gzip' + format, such as compressed `.Z' files. To get the uncompressed + size for such a file, you can use: + + zcat file.Z | wc -c + + In combination with the --verbose option, the following fields + are also displayed: + + method: compression method (deflate,compress,lzh,pack) + crc: the 32-bit CRC of the uncompressed data + date & time: time stamp for the uncompressed file + + The crc is given as ffffffff for a file not in gzip format. + + With --verbose, the size totals and compression ratio for all + files is also displayed, unless some sizes are unknown. With + --quiet, the title and totals lines are not displayed. + +`--license' +`-L' + Display the `gzip' license then quit. + +`--no-name' +`-n' + When compressing, do not save the original file name and time + stamp by default. (The original name is always saved if the name + had to be truncated.) When decompressing, do not restore the + original file name if present (remove only the `gzip' suffix from + the compressed file name) and do not restore the original time + stamp if present (copy it from the compressed file). This option + is the default when decompressing. + +`--name' +`-N' + When compressing, always save the original file name and time + stamp; this is the default. When decompressing, restore the + original file name and time stamp if present. This option is + useful on systems which have a limit on file name length or when + the time stamp has been lost after a file transfer. + +`--quiet' +`-q' + Suppress all warning messages. + +`--recursive' +`-r' + Travel the directory structure recursively. If any of the file + names specified on the command line are directories, `gzip' will + descend into the directory and compress all the files it finds + there (or decompress them in the case of `gunzip'). + +`--suffix SUF' +`-S SUF' + Use suffix `SUF' instead of `.gz'. Any suffix can be given, but + suffixes other than `.z' and `.gz' should be avoided to avoid + confusion when files are transferred to other systems. A null + suffix forces gunzip to try decompression on all given files + regardless of suffix, as in: + + gunzip -S "" * (*.* for MSDOS) + + Previous versions of gzip used the `.z' suffix. This was changed + to avoid a conflict with `pack'. + +`--test' +`-t' + Test. Check the compressed file integrity. + +`--verbose' +`-v' + Verbose. Display the name and percentage reduction for each file + compressed. + +`--version' +`-V' + Version. Display the version number and compilation options, then + quit. + +`--fast' +`--best' +`-N' + Regulate the speed of compression using the specified digit N, + where `-1' or `--fast' indicates the fastest compression method + (less compression) and `--best' or `-9' indicates the slowest + compression method (optimal compression). The default + compression level is `-6' (that is, biased towards high + compression at expense of speed). + + +File: gzip.info, Node: Advanced usage, Next: Environment, Prev: Invoking gzip, Up: Top + +Advanced usage +************** + + Multiple compressed files can be concatenated. In this case, +`gunzip' will extract all members at once. If one member is damaged, +other members might still be recovered after removal of the damaged +member. Better compression can be usually obtained if all members are +decompressed and then recompressed in a single step. + + This is an example of concatenating `gzip' files: + + gzip -c file1 > foo.gz + gzip -c file2 >> foo.gz + + Then + + gunzip -c foo + + is equivalent to + + cat file1 file2 + + In case of damage to one member of a `.gz' file, other members can +still be recovered (if the damaged member is removed). However, you +can get better compression by compressing all members at once: + + cat file1 file2 | gzip > foo.gz + + compresses better than + + gzip -c file1 file2 > foo.gz + + If you want to recompress concatenated files to get better +compression, do: + + zcat old.gz | gzip > new.gz + + If a compressed file consists of several members, the uncompressed +size and CRC reported by the `--list' option applies to the last member +only. If you need the uncompressed size for all members, you can use: + + zcat file.gz | wc -c + + If you wish to create a single archive file with multiple members so +that members can later be extracted independently, use an archiver such +as `tar' or `zip'. GNU `tar' supports the `-z' option to invoke `gzip' +transparently. `gzip' is designed as a complement to `tar', not as a +replacement. + + +File: gzip.info, Node: Environment, Next: Tapes, Prev: Advanced usage, Up: Top + +Environment +*********** + + The environment variable `GZIP' can hold a set of default options +for `gzip'. These options are interpreted first and can be +overwritten by explicit command line parameters. For example: + + for sh: GZIP="-8v --name"; export GZIP + for csh: setenv GZIP "-8v --name" + for MSDOS: set GZIP=-8v --name + + On Vax/VMS, the name of the environment variable is `GZIP_OPT', to +avoid a conflict with the symbol set for invocation of the program. + + +File: gzip.info, Node: Tapes, Next: Problems, Prev: Environment, Up: Top + +Using `gzip' on tapes +********************* + + When writing compressed data to a tape, it is generally necessary +to pad the output with zeroes up to a block boundary. When the data is +read and the whole block is passed to `gunzip' for decompression, +`gunzip' detects that there is extra trailing garbage after the +compressed data and emits a warning by default. You have to use the +`--quiet' option to suppress the warning. This option can be set in the +`GZIP' environment variable, as in: + + for sh: GZIP="-q" tar -xfz --block-compress /dev/rst0 + for csh: (setenv GZIP "-q"; tar -xfz --block-compress /dev/rst0) + + In the above example, `gzip' is invoked implicitly by the `-z' +option of GNU `tar'. Make sure that the same block size (`-b' option +of `tar') is used for reading and writing compressed data on tapes. +(This example assumes you are using the GNU version of `tar'.) + + +File: gzip.info, Node: Problems, Next: Concept Index, Prev: Tapes, Up: Top + +Reporting Bugs +************** + + If you find a bug in `gzip', please send electronic mail to +`jloup@chorus.fr' or, if this fails, to +`bug-gnu-utils@prep.ai.mit.edu'. Include the version number, which +you can find by running `gzip -V'. Also include in your message the +hardware and operating system, the compiler used to compile `gzip', a +description of the bug behavior, and the input to `gzip' that triggered +the bug. + + +File: gzip.info, Node: Concept Index, Prev: Problems, Up: Top + +Concept Index +************* + +* Menu: + +* Environment: Environment. +* bugs: Problems. +* concatenated files: Advanced usage. +* invoking: Invoking gzip. +* options: Invoking gzip. +* overview: Overview. +* sample: Sample. +* tapes: Tapes. + + + +Tag Table: +Node: Top864 +Node: Copying1344 +Node: Overview20602 +Node: Sample24911 +Node: Invoking gzip26528 +Node: Advanced usage31183 +Node: Environment32772 +Node: Tapes33340 +Node: Problems34317 +Node: Concept Index34822 + +End Tag Table diff --git a/mingw/man/man1/gunzip.1 b/mingw/man/man1/gunzip.1 new file mode 100644 index 00000000..6fa79862 --- /dev/null +++ b/mingw/man/man1/gunzip.1 @@ -0,0 +1,478 @@ +.PU +.TH GZIP 1 local +.SH NAME +gzip, gunzip, zcat \- compress or expand files +.SH SYNOPSIS +.ll +8 +.B gzip +.RB [ " \-acdfhlLnNrtvV19 " ] +.RB [ \-S\ suffix ] +[ +.I "name \&..." +] +.ll -8 +.br +.B gunzip +.RB [ " \-acfhlLnNrtvV " ] +.RB [ \-S\ suffix ] +[ +.I "name \&..." +] +.br +.B zcat +.RB [ " \-fhLV " ] +[ +.I "name \&..." +] +.SH DESCRIPTION +.I Gzip +reduces the size of the named files using Lempel-Ziv coding (LZ77). +Whenever possible, +each file is replaced by one with the extension +.B "\&.gz," +while keeping the same ownership modes, access and modification times. +(The default extension is +.B "\-gz" +for VMS, +.B "z" +for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) +If no files are specified, or if a file name is "-", the standard input is +compressed to the standard output. +.I Gzip +will only attempt to compress regular files. +In particular, it will ignore symbolic links. +.PP +If the compressed file name is too long for its file system, +.I gzip +truncates it. +.I Gzip +attempts to truncate only the parts of the file name longer than 3 characters. +(A part is delimited by dots.) If the name consists of small parts only, +the longest parts are truncated. For example, if file names are limited +to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. +Names are not truncated on systems which do not have a limit on file name +length. +.PP +By default, +.I gzip +keeps the original file name and timestamp in the compressed file. These +are used when decompressing the file with the +.B \-N +option. This is useful when the compressed file name was truncated or +when the time stamp was not preserved after a file transfer. +.PP +Compressed files can be restored to their original form using +.I gzip -d +or +.I gunzip +or +.I zcat. +If the original name saved in the compressed file is not suitable for its +file system, a new name is constructed from the original one to make it +legal. +.PP +.I gunzip +takes a list of files on its command line and replaces each +file whose name ends with .gz, -gz, .z, -z, _z or .Z +and which begins with the correct magic number with an uncompressed +file without the original extension. +.I gunzip +also recognizes the special extensions +.B "\&.tgz" +and +.B "\&.taz" +as shorthands for +.B "\&.tar.gz" +and +.B "\&.tar.Z" +respectively. +When compressing, +.I gzip +uses the +.B "\&.tgz" +extension if necessary instead of truncating a file with a +.B "\&.tar" +extension. +.PP +.I gunzip +can currently decompress files created by +.I gzip, zip, compress, compress -H +or +.I pack. +The detection of the input format is automatic. When using +the first two formats, +.I gunzip +checks a 32 bit CRC. For +.I pack, gunzip +checks the uncompressed length. The standard +.I compress +format was not designed to allow consistency checks. However +.I gunzip +is sometimes able to detect a bad .Z file. If you get an error +when uncompressing a .Z file, do not assume that the .Z file is +correct simply because the standard +.I uncompress +does not complain. This generally means that the standard +.I uncompress +does not check its input, and happily generates garbage output. +The SCO compress -H format (lzh compression method) does not include a CRC +but also allows some consistency checks. +.PP +Files created by +.I zip +can be uncompressed by gzip only if they have a single member compressed +with the 'deflation' method. This feature is only intended to help +conversion of tar.zip files to the tar.gz format. To extract zip files +with several members, use +.I unzip +instead of +.I gunzip. +.PP +.I zcat +is identical to +.I gunzip +.B \-c. +(On some systems, +.I zcat +may be installed as +.I gzcat +to preserve the original link to +.I compress.) +.I zcat +uncompresses either a list of files on the command line or its +standard input and writes the uncompressed data on standard output. +.I zcat +will uncompress files that have the correct magic number whether +they have a +.B "\&.gz" +suffix or not. +.PP +.I Gzip +uses the Lempel-Ziv algorithm used in +.I zip +and PKZIP. +The amount of compression obtained depends on the size of the +input and the distribution of common substrings. +Typically, text such as source code or English +is reduced by 60\-70%. +Compression is generally much better than that achieved by +LZW (as used in +.IR compress ), +Huffman coding (as used in +.IR pack ), +or adaptive Huffman coding +.RI ( compact ). +.PP +Compression is always performed, even if the compressed file is +slightly larger than the original. The worst case expansion is +a few bytes for the gzip file header, plus 5 bytes every 32K block, +or an expansion ratio of 0.015% for large files. Note that the actual +number of used disk blocks almost never increases. +.I gzip +preserves the mode, ownership and timestamps of files when compressing +or decompressing. + +.SH OPTIONS +.TP +.B \-a --ascii +Ascii text mode: convert end-of-lines using local conventions. This option +is supported only on some non-Unix systems. For MSDOS, CR LF is converted +to LF when compressing, and LF is converted to CR LF when decompressing. +.TP +.B \-c --stdout --to-stdout +Write output on standard output; keep original files unchanged. +If there are several input files, the output consists of a sequence of +independently compressed members. To obtain better compression, +concatenate all input files before compressing them. +.TP +.B \-d --decompress --uncompress +Decompress. +.TP +.B \-f --force +Force compression or decompression even if the file has multiple links +or the corresponding file already exists, or if the compressed data +is read from or written to a terminal. If the input data is not in +a format recognized by +.I gzip, +and if the option --stdout is also given, copy the input data without change +to the standard ouput: let +.I zcat +behave as +.I cat. +If +.B \-f +is not given, +and when not running in the background, +.I gzip +prompts to verify whether an existing file should be overwritten. +.TP +.B \-h --help +Display a help screen and quit. +.TP +.B \-l --list +For each compressed file, list the following fields: + + compressed size: size of the compressed file + uncompressed size: size of the uncompressed file + ratio: compression ratio (0.0% if unknown) + uncompressed_name: name of the uncompressed file + +The uncompressed size is given as -1 for files not in gzip format, +such as compressed .Z files. To get the uncompressed size for such a file, +you can use: + + zcat file.Z | wc -c + +In combination with the --verbose option, the following fields are also +displayed: + + method: compression method + crc: the 32-bit CRC of the uncompressed data + date & time: time stamp for the uncompressed file + +The compression methods currently supported are deflate, compress, lzh +(SCO compress -H) and pack. The crc is given as ffffffff for a file +not in gzip format. + +With --name, the uncompressed name, date and time are +those stored within the compress file if present. + +With --verbose, the size totals and compression ratio for all files +is also displayed, unless some sizes are unknown. With --quiet, +the title and totals lines are not displayed. +.TP +.B \-L --license +Display the +.I gzip +license and quit. +.TP +.B \-n --no-name +When compressing, do not save the original file name and time stamp by +default. (The original name is always saved if the name had to be +truncated.) When decompressing, do not restore the original file name +if present (remove only the +.I gzip +suffix from the compressed file name) and do not restore the original +time stamp if present (copy it from the compressed file). This option +is the default when decompressing. +.TP +.B \-N --name +When compressing, always save the original file name and time stamp; this +is the default. When decompressing, restore the original file name and +time stamp if present. This option is useful on systems which have +a limit on file name length or when the time stamp has been lost after +a file transfer. +.TP +.B \-q --quiet +Suppress all warnings. +.TP +.B \-r --recursive +Travel the directory structure recursively. If any of the file names +specified on the command line are directories, +.I gzip +will descend into the directory and compress all the files it finds there +(or decompress them in the case of +.I gunzip +). +.TP +.B \-S .suf --suffix .suf +Use suffix .suf instead of .gz. Any suffix can be given, but suffixes +other than .z and .gz should be avoided to avoid confusion when files +are transferred to other systems. A null suffix forces gunzip to try +decompression on all given files regardless of suffix, as in: + + gunzip -S "" * (*.* for MSDOS) + +Previous versions of gzip used +the .z suffix. This was changed to avoid a conflict with +.IR pack "(1)". +.TP +.B \-t --test +Test. Check the compressed file integrity. +.TP +.B \-v --verbose +Verbose. Display the name and percentage reduction for each file compressed +or decompressed. +.TP +.B \-V --version +Version. Display the version number and compilation options then quit. +.TP +.B \-# --fast --best +Regulate the speed of compression using the specified digit +.IR # , +where +.B \-1 +or +.B \-\-fast +indicates the fastest compression method (less compression) +and +.B \-9 +or +.B \-\-best +indicates the slowest compression method (best compression). +The default compression level is +.BR \-6 +(that is, biased towards high compression at expense of speed). +.SH "ADVANCED USAGE" +Multiple compressed files can be concatenated. In this case, +.I gunzip +will extract all members at once. For example: + + gzip -c file1 > foo.gz + gzip -c file2 >> foo.gz + +Then + gunzip -c foo + +is equivalent to + + cat file1 file2 + +In case of damage to one member of a .gz file, other members can +still be recovered (if the damaged member is removed). However, +you can get better compression by compressing all members at once: + + cat file1 file2 | gzip > foo.gz + +compresses better than + + gzip -c file1 file2 > foo.gz + +If you want to recompress concatenated files to get better compression, do: + + gzip -cd old.gz | gzip > new.gz + +If a compressed file consists of several members, the uncompressed +size and CRC reported by the --list option applies to the last member +only. If you need the uncompressed size for all members, you can use: + + gzip -cd file.gz | wc -c + +If you wish to create a single archive file with multiple members so +that members can later be extracted independently, use an archiver +such as tar or zip. GNU tar supports the -z option to invoke gzip +transparently. gzip is designed as a complement to tar, not as a +replacement. +.SH "ENVIRONMENT" +The environment variable +.B GZIP +can hold a set of default options for +.I gzip. +These options are interpreted first and can be overwritten by +explicit command line parameters. For example: + for sh: GZIP="-8v --name"; export GZIP + for csh: setenv GZIP "-8v --name" + for MSDOS: set GZIP=-8v --name + +On Vax/VMS, the name of the environment variable is GZIP_OPT, to +avoid a conflict with the symbol set for invocation of the program. +.SH "SEE ALSO" +znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1), +pack(1), compact(1) +.SH "DIAGNOSTICS" +Exit status is normally 0; +if an error occurs, exit status is 1. If a warning occurs, exit status is 2. +.PP +Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] +.in +8 +Invalid options were specified on the command line. +.in -8 +.IR file : +not in gzip format +.in +8 +The file specified to +.I gunzip +has not been compressed. +.in -8 +.IR file: +Corrupt input. Use zcat to recover some data. +.in +8 +The compressed file has been damaged. The data up to the point of failure +can be recovered using +.in +8 +zcat file > recover +.in -16 +.IR file : +compressed with +.I xx +bits, can only handle +.I yy +bits +.in +8 +.I File +was compressed (using LZW) by a program that could deal with +more +.I bits +than the decompress code on this machine. +Recompress the file with gzip, which compresses better and uses +less memory. +.in -8 +.IR file : +already has .gz suffix -- no change +.in +8 +The file is assumed to be already compressed. +Rename the file and try again. +.in -8 +.I file +already exists; do you wish to overwrite (y or n)? +.in +8 +Respond "y" if you want the output file to be replaced; "n" if not. +.in -8 +gunzip: corrupt input +.in +8 +A SIGSEGV violation was detected which usually means that the input file has +been corrupted. +.in -8 +.I "xx.x%" +.in +8 +Percentage of the input saved by compression. +(Relevant only for +.BR \-v +and +.BR \-l \.) +.in -8 +-- not a regular file or directory: ignored +.in +8 +When the input file is not a regular file or directory, +(e.g. a symbolic link, socket, FIFO, device file), it is +left unaltered. +.in -8 +-- has +.I xx +other links: unchanged +.in +8 +The input file has links; it is left unchanged. See +.IR ln "(1)" +for more information. Use the +.B \-f +flag to force compression of multiply-linked files. +.in -8 +.SH CAVEATS +When writing compressed data to a tape, it is generally necessary to +pad the output with zeroes up to a block boundary. When the data is +read and the whole block is passed to +.I gunzip +for decompression, +.I gunzip +detects that there is extra trailing garbage after the compressed data +and emits a warning by default. You have to use the --quiet option to +suppress the warning. This option can be set in the +.B GZIP +environment variable as in: + for sh: GZIP="-q" tar -xfz --block-compress /dev/rst0 + for csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0 + +In the above example, gzip is invoked implicitly by the -z option of +GNU tar. Make sure that the same block size (-b option of tar) is used +for reading and writing compressed data on tapes. (This example +assumes you are using the GNU version of tar.) +.SH BUGS +The --list option reports incorrect sizes if they exceed 2 gigabytes. +The --list option reports sizes as -1 and crc as ffffffff if the +compressed file is on a non seekable media. + +In some rare cases, the --best option gives worse compression than +the default compression level (-6). On some highly redundant files, +.I compress +compresses better than +.I gzip. diff --git a/mingw/man/man1/gzexe.1 b/mingw/man/man1/gzexe.1 new file mode 100644 index 00000000..8b62cd60 --- /dev/null +++ b/mingw/man/man1/gzexe.1 @@ -0,0 +1,43 @@ +.TH GZEXE 1 +.SH NAME +gzexe \- compress executable files in place +.SH SYNOPSIS +.B gzexe +[ name ... ] +.SH DESCRIPTION +The +.I gzexe +utility allows you to compress executables in place and have them +automatically uncompress and execute when you run them (at a penalty +in performance). For example if you execute ``gzexe /bin/cat'' it +will create the following two files: +.nf +.br + -r-xr-xr-x 1 root bin 9644 Feb 11 11:16 /bin/cat + -r-xr-xr-x 1 bin bin 24576 Nov 23 13:21 /bin/cat~ +.fi +/bin/cat~ is the original file and /bin/cat is the self-uncompressing +executable file. You can remove /bin/cat~ once you are sure that +/bin/cat works properly. +.PP +This utility is most useful on systems with very small disks. +.SH OPTIONS +.TP +.B \-d +Decompress the given executables instead of compressing them. +.SH "SEE ALSO" +gzip(1), znew(1), zmore(1), zcmp(1), zforce(1) +.SH CAVEATS +The compressed executable is a shell script. This may create some +security holes. In particular, the compressed executable relies +on the PATH environment variable to find +.I gzip +and some other utilities +.I (tail, chmod, ln, sleep). +.SH "BUGS" +.I gzexe +attempts to retain the original file attributes on the compressed executable, +but you may have to fix them manually in some cases, using +.I chmod +or +.I chown. diff --git a/mingw/man/man1/gzip.1 b/mingw/man/man1/gzip.1 new file mode 100644 index 00000000..6fa79862 --- /dev/null +++ b/mingw/man/man1/gzip.1 @@ -0,0 +1,478 @@ +.PU +.TH GZIP 1 local +.SH NAME +gzip, gunzip, zcat \- compress or expand files +.SH SYNOPSIS +.ll +8 +.B gzip +.RB [ " \-acdfhlLnNrtvV19 " ] +.RB [ \-S\ suffix ] +[ +.I "name \&..." +] +.ll -8 +.br +.B gunzip +.RB [ " \-acfhlLnNrtvV " ] +.RB [ \-S\ suffix ] +[ +.I "name \&..." +] +.br +.B zcat +.RB [ " \-fhLV " ] +[ +.I "name \&..." +] +.SH DESCRIPTION +.I Gzip +reduces the size of the named files using Lempel-Ziv coding (LZ77). +Whenever possible, +each file is replaced by one with the extension +.B "\&.gz," +while keeping the same ownership modes, access and modification times. +(The default extension is +.B "\-gz" +for VMS, +.B "z" +for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) +If no files are specified, or if a file name is "-", the standard input is +compressed to the standard output. +.I Gzip +will only attempt to compress regular files. +In particular, it will ignore symbolic links. +.PP +If the compressed file name is too long for its file system, +.I gzip +truncates it. +.I Gzip +attempts to truncate only the parts of the file name longer than 3 characters. +(A part is delimited by dots.) If the name consists of small parts only, +the longest parts are truncated. For example, if file names are limited +to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. +Names are not truncated on systems which do not have a limit on file name +length. +.PP +By default, +.I gzip +keeps the original file name and timestamp in the compressed file. These +are used when decompressing the file with the +.B \-N +option. This is useful when the compressed file name was truncated or +when the time stamp was not preserved after a file transfer. +.PP +Compressed files can be restored to their original form using +.I gzip -d +or +.I gunzip +or +.I zcat. +If the original name saved in the compressed file is not suitable for its +file system, a new name is constructed from the original one to make it +legal. +.PP +.I gunzip +takes a list of files on its command line and replaces each +file whose name ends with .gz, -gz, .z, -z, _z or .Z +and which begins with the correct magic number with an uncompressed +file without the original extension. +.I gunzip +also recognizes the special extensions +.B "\&.tgz" +and +.B "\&.taz" +as shorthands for +.B "\&.tar.gz" +and +.B "\&.tar.Z" +respectively. +When compressing, +.I gzip +uses the +.B "\&.tgz" +extension if necessary instead of truncating a file with a +.B "\&.tar" +extension. +.PP +.I gunzip +can currently decompress files created by +.I gzip, zip, compress, compress -H +or +.I pack. +The detection of the input format is automatic. When using +the first two formats, +.I gunzip +checks a 32 bit CRC. For +.I pack, gunzip +checks the uncompressed length. The standard +.I compress +format was not designed to allow consistency checks. However +.I gunzip +is sometimes able to detect a bad .Z file. If you get an error +when uncompressing a .Z file, do not assume that the .Z file is +correct simply because the standard +.I uncompress +does not complain. This generally means that the standard +.I uncompress +does not check its input, and happily generates garbage output. +The SCO compress -H format (lzh compression method) does not include a CRC +but also allows some consistency checks. +.PP +Files created by +.I zip +can be uncompressed by gzip only if they have a single member compressed +with the 'deflation' method. This feature is only intended to help +conversion of tar.zip files to the tar.gz format. To extract zip files +with several members, use +.I unzip +instead of +.I gunzip. +.PP +.I zcat +is identical to +.I gunzip +.B \-c. +(On some systems, +.I zcat +may be installed as +.I gzcat +to preserve the original link to +.I compress.) +.I zcat +uncompresses either a list of files on the command line or its +standard input and writes the uncompressed data on standard output. +.I zcat +will uncompress files that have the correct magic number whether +they have a +.B "\&.gz" +suffix or not. +.PP +.I Gzip +uses the Lempel-Ziv algorithm used in +.I zip +and PKZIP. +The amount of compression obtained depends on the size of the +input and the distribution of common substrings. +Typically, text such as source code or English +is reduced by 60\-70%. +Compression is generally much better than that achieved by +LZW (as used in +.IR compress ), +Huffman coding (as used in +.IR pack ), +or adaptive Huffman coding +.RI ( compact ). +.PP +Compression is always performed, even if the compressed file is +slightly larger than the original. The worst case expansion is +a few bytes for the gzip file header, plus 5 bytes every 32K block, +or an expansion ratio of 0.015% for large files. Note that the actual +number of used disk blocks almost never increases. +.I gzip +preserves the mode, ownership and timestamps of files when compressing +or decompressing. + +.SH OPTIONS +.TP +.B \-a --ascii +Ascii text mode: convert end-of-lines using local conventions. This option +is supported only on some non-Unix systems. For MSDOS, CR LF is converted +to LF when compressing, and LF is converted to CR LF when decompressing. +.TP +.B \-c --stdout --to-stdout +Write output on standard output; keep original files unchanged. +If there are several input files, the output consists of a sequence of +independently compressed members. To obtain better compression, +concatenate all input files before compressing them. +.TP +.B \-d --decompress --uncompress +Decompress. +.TP +.B \-f --force +Force compression or decompression even if the file has multiple links +or the corresponding file already exists, or if the compressed data +is read from or written to a terminal. If the input data is not in +a format recognized by +.I gzip, +and if the option --stdout is also given, copy the input data without change +to the standard ouput: let +.I zcat +behave as +.I cat. +If +.B \-f +is not given, +and when not running in the background, +.I gzip +prompts to verify whether an existing file should be overwritten. +.TP +.B \-h --help +Display a help screen and quit. +.TP +.B \-l --list +For each compressed file, list the following fields: + + compressed size: size of the compressed file + uncompressed size: size of the uncompressed file + ratio: compression ratio (0.0% if unknown) + uncompressed_name: name of the uncompressed file + +The uncompressed size is given as -1 for files not in gzip format, +such as compressed .Z files. To get the uncompressed size for such a file, +you can use: + + zcat file.Z | wc -c + +In combination with the --verbose option, the following fields are also +displayed: + + method: compression method + crc: the 32-bit CRC of the uncompressed data + date & time: time stamp for the uncompressed file + +The compression methods currently supported are deflate, compress, lzh +(SCO compress -H) and pack. The crc is given as ffffffff for a file +not in gzip format. + +With --name, the uncompressed name, date and time are +those stored within the compress file if present. + +With --verbose, the size totals and compression ratio for all files +is also displayed, unless some sizes are unknown. With --quiet, +the title and totals lines are not displayed. +.TP +.B \-L --license +Display the +.I gzip +license and quit. +.TP +.B \-n --no-name +When compressing, do not save the original file name and time stamp by +default. (The original name is always saved if the name had to be +truncated.) When decompressing, do not restore the original file name +if present (remove only the +.I gzip +suffix from the compressed file name) and do not restore the original +time stamp if present (copy it from the compressed file). This option +is the default when decompressing. +.TP +.B \-N --name +When compressing, always save the original file name and time stamp; this +is the default. When decompressing, restore the original file name and +time stamp if present. This option is useful on systems which have +a limit on file name length or when the time stamp has been lost after +a file transfer. +.TP +.B \-q --quiet +Suppress all warnings. +.TP +.B \-r --recursive +Travel the directory structure recursively. If any of the file names +specified on the command line are directories, +.I gzip +will descend into the directory and compress all the files it finds there +(or decompress them in the case of +.I gunzip +). +.TP +.B \-S .suf --suffix .suf +Use suffix .suf instead of .gz. Any suffix can be given, but suffixes +other than .z and .gz should be avoided to avoid confusion when files +are transferred to other systems. A null suffix forces gunzip to try +decompression on all given files regardless of suffix, as in: + + gunzip -S "" * (*.* for MSDOS) + +Previous versions of gzip used +the .z suffix. This was changed to avoid a conflict with +.IR pack "(1)". +.TP +.B \-t --test +Test. Check the compressed file integrity. +.TP +.B \-v --verbose +Verbose. Display the name and percentage reduction for each file compressed +or decompressed. +.TP +.B \-V --version +Version. Display the version number and compilation options then quit. +.TP +.B \-# --fast --best +Regulate the speed of compression using the specified digit +.IR # , +where +.B \-1 +or +.B \-\-fast +indicates the fastest compression method (less compression) +and +.B \-9 +or +.B \-\-best +indicates the slowest compression method (best compression). +The default compression level is +.BR \-6 +(that is, biased towards high compression at expense of speed). +.SH "ADVANCED USAGE" +Multiple compressed files can be concatenated. In this case, +.I gunzip +will extract all members at once. For example: + + gzip -c file1 > foo.gz + gzip -c file2 >> foo.gz + +Then + gunzip -c foo + +is equivalent to + + cat file1 file2 + +In case of damage to one member of a .gz file, other members can +still be recovered (if the damaged member is removed). However, +you can get better compression by compressing all members at once: + + cat file1 file2 | gzip > foo.gz + +compresses better than + + gzip -c file1 file2 > foo.gz + +If you want to recompress concatenated files to get better compression, do: + + gzip -cd old.gz | gzip > new.gz + +If a compressed file consists of several members, the uncompressed +size and CRC reported by the --list option applies to the last member +only. If you need the uncompressed size for all members, you can use: + + gzip -cd file.gz | wc -c + +If you wish to create a single archive file with multiple members so +that members can later be extracted independently, use an archiver +such as tar or zip. GNU tar supports the -z option to invoke gzip +transparently. gzip is designed as a complement to tar, not as a +replacement. +.SH "ENVIRONMENT" +The environment variable +.B GZIP +can hold a set of default options for +.I gzip. +These options are interpreted first and can be overwritten by +explicit command line parameters. For example: + for sh: GZIP="-8v --name"; export GZIP + for csh: setenv GZIP "-8v --name" + for MSDOS: set GZIP=-8v --name + +On Vax/VMS, the name of the environment variable is GZIP_OPT, to +avoid a conflict with the symbol set for invocation of the program. +.SH "SEE ALSO" +znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1), +pack(1), compact(1) +.SH "DIAGNOSTICS" +Exit status is normally 0; +if an error occurs, exit status is 1. If a warning occurs, exit status is 2. +.PP +Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] +.in +8 +Invalid options were specified on the command line. +.in -8 +.IR file : +not in gzip format +.in +8 +The file specified to +.I gunzip +has not been compressed. +.in -8 +.IR file: +Corrupt input. Use zcat to recover some data. +.in +8 +The compressed file has been damaged. The data up to the point of failure +can be recovered using +.in +8 +zcat file > recover +.in -16 +.IR file : +compressed with +.I xx +bits, can only handle +.I yy +bits +.in +8 +.I File +was compressed (using LZW) by a program that could deal with +more +.I bits +than the decompress code on this machine. +Recompress the file with gzip, which compresses better and uses +less memory. +.in -8 +.IR file : +already has .gz suffix -- no change +.in +8 +The file is assumed to be already compressed. +Rename the file and try again. +.in -8 +.I file +already exists; do you wish to overwrite (y or n)? +.in +8 +Respond "y" if you want the output file to be replaced; "n" if not. +.in -8 +gunzip: corrupt input +.in +8 +A SIGSEGV violation was detected which usually means that the input file has +been corrupted. +.in -8 +.I "xx.x%" +.in +8 +Percentage of the input saved by compression. +(Relevant only for +.BR \-v +and +.BR \-l \.) +.in -8 +-- not a regular file or directory: ignored +.in +8 +When the input file is not a regular file or directory, +(e.g. a symbolic link, socket, FIFO, device file), it is +left unaltered. +.in -8 +-- has +.I xx +other links: unchanged +.in +8 +The input file has links; it is left unchanged. See +.IR ln "(1)" +for more information. Use the +.B \-f +flag to force compression of multiply-linked files. +.in -8 +.SH CAVEATS +When writing compressed data to a tape, it is generally necessary to +pad the output with zeroes up to a block boundary. When the data is +read and the whole block is passed to +.I gunzip +for decompression, +.I gunzip +detects that there is extra trailing garbage after the compressed data +and emits a warning by default. You have to use the --quiet option to +suppress the warning. This option can be set in the +.B GZIP +environment variable as in: + for sh: GZIP="-q" tar -xfz --block-compress /dev/rst0 + for csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0 + +In the above example, gzip is invoked implicitly by the -z option of +GNU tar. Make sure that the same block size (-b option of tar) is used +for reading and writing compressed data on tapes. (This example +assumes you are using the GNU version of tar.) +.SH BUGS +The --list option reports incorrect sizes if they exceed 2 gigabytes. +The --list option reports sizes as -1 and crc as ffffffff if the +compressed file is on a non seekable media. + +In some rare cases, the --best option gives worse compression than +the default compression level (-6). On some highly redundant files, +.I compress +compresses better than +.I gzip. diff --git a/mingw/man/man1/zcat.1 b/mingw/man/man1/zcat.1 new file mode 100644 index 00000000..6fa79862 --- /dev/null +++ b/mingw/man/man1/zcat.1 @@ -0,0 +1,478 @@ +.PU +.TH GZIP 1 local +.SH NAME +gzip, gunzip, zcat \- compress or expand files +.SH SYNOPSIS +.ll +8 +.B gzip +.RB [ " \-acdfhlLnNrtvV19 " ] +.RB [ \-S\ suffix ] +[ +.I "name \&..." +] +.ll -8 +.br +.B gunzip +.RB [ " \-acfhlLnNrtvV " ] +.RB [ \-S\ suffix ] +[ +.I "name \&..." +] +.br +.B zcat +.RB [ " \-fhLV " ] +[ +.I "name \&..." +] +.SH DESCRIPTION +.I Gzip +reduces the size of the named files using Lempel-Ziv coding (LZ77). +Whenever possible, +each file is replaced by one with the extension +.B "\&.gz," +while keeping the same ownership modes, access and modification times. +(The default extension is +.B "\-gz" +for VMS, +.B "z" +for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) +If no files are specified, or if a file name is "-", the standard input is +compressed to the standard output. +.I Gzip +will only attempt to compress regular files. +In particular, it will ignore symbolic links. +.PP +If the compressed file name is too long for its file system, +.I gzip +truncates it. +.I Gzip +attempts to truncate only the parts of the file name longer than 3 characters. +(A part is delimited by dots.) If the name consists of small parts only, +the longest parts are truncated. For example, if file names are limited +to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. +Names are not truncated on systems which do not have a limit on file name +length. +.PP +By default, +.I gzip +keeps the original file name and timestamp in the compressed file. These +are used when decompressing the file with the +.B \-N +option. This is useful when the compressed file name was truncated or +when the time stamp was not preserved after a file transfer. +.PP +Compressed files can be restored to their original form using +.I gzip -d +or +.I gunzip +or +.I zcat. +If the original name saved in the compressed file is not suitable for its +file system, a new name is constructed from the original one to make it +legal. +.PP +.I gunzip +takes a list of files on its command line and replaces each +file whose name ends with .gz, -gz, .z, -z, _z or .Z +and which begins with the correct magic number with an uncompressed +file without the original extension. +.I gunzip +also recognizes the special extensions +.B "\&.tgz" +and +.B "\&.taz" +as shorthands for +.B "\&.tar.gz" +and +.B "\&.tar.Z" +respectively. +When compressing, +.I gzip +uses the +.B "\&.tgz" +extension if necessary instead of truncating a file with a +.B "\&.tar" +extension. +.PP +.I gunzip +can currently decompress files created by +.I gzip, zip, compress, compress -H +or +.I pack. +The detection of the input format is automatic. When using +the first two formats, +.I gunzip +checks a 32 bit CRC. For +.I pack, gunzip +checks the uncompressed length. The standard +.I compress +format was not designed to allow consistency checks. However +.I gunzip +is sometimes able to detect a bad .Z file. If you get an error +when uncompressing a .Z file, do not assume that the .Z file is +correct simply because the standard +.I uncompress +does not complain. This generally means that the standard +.I uncompress +does not check its input, and happily generates garbage output. +The SCO compress -H format (lzh compression method) does not include a CRC +but also allows some consistency checks. +.PP +Files created by +.I zip +can be uncompressed by gzip only if they have a single member compressed +with the 'deflation' method. This feature is only intended to help +conversion of tar.zip files to the tar.gz format. To extract zip files +with several members, use +.I unzip +instead of +.I gunzip. +.PP +.I zcat +is identical to +.I gunzip +.B \-c. +(On some systems, +.I zcat +may be installed as +.I gzcat +to preserve the original link to +.I compress.) +.I zcat +uncompresses either a list of files on the command line or its +standard input and writes the uncompressed data on standard output. +.I zcat +will uncompress files that have the correct magic number whether +they have a +.B "\&.gz" +suffix or not. +.PP +.I Gzip +uses the Lempel-Ziv algorithm used in +.I zip +and PKZIP. +The amount of compression obtained depends on the size of the +input and the distribution of common substrings. +Typically, text such as source code or English +is reduced by 60\-70%. +Compression is generally much better than that achieved by +LZW (as used in +.IR compress ), +Huffman coding (as used in +.IR pack ), +or adaptive Huffman coding +.RI ( compact ). +.PP +Compression is always performed, even if the compressed file is +slightly larger than the original. The worst case expansion is +a few bytes for the gzip file header, plus 5 bytes every 32K block, +or an expansion ratio of 0.015% for large files. Note that the actual +number of used disk blocks almost never increases. +.I gzip +preserves the mode, ownership and timestamps of files when compressing +or decompressing. + +.SH OPTIONS +.TP +.B \-a --ascii +Ascii text mode: convert end-of-lines using local conventions. This option +is supported only on some non-Unix systems. For MSDOS, CR LF is converted +to LF when compressing, and LF is converted to CR LF when decompressing. +.TP +.B \-c --stdout --to-stdout +Write output on standard output; keep original files unchanged. +If there are several input files, the output consists of a sequence of +independently compressed members. To obtain better compression, +concatenate all input files before compressing them. +.TP +.B \-d --decompress --uncompress +Decompress. +.TP +.B \-f --force +Force compression or decompression even if the file has multiple links +or the corresponding file already exists, or if the compressed data +is read from or written to a terminal. If the input data is not in +a format recognized by +.I gzip, +and if the option --stdout is also given, copy the input data without change +to the standard ouput: let +.I zcat +behave as +.I cat. +If +.B \-f +is not given, +and when not running in the background, +.I gzip +prompts to verify whether an existing file should be overwritten. +.TP +.B \-h --help +Display a help screen and quit. +.TP +.B \-l --list +For each compressed file, list the following fields: + + compressed size: size of the compressed file + uncompressed size: size of the uncompressed file + ratio: compression ratio (0.0% if unknown) + uncompressed_name: name of the uncompressed file + +The uncompressed size is given as -1 for files not in gzip format, +such as compressed .Z files. To get the uncompressed size for such a file, +you can use: + + zcat file.Z | wc -c + +In combination with the --verbose option, the following fields are also +displayed: + + method: compression method + crc: the 32-bit CRC of the uncompressed data + date & time: time stamp for the uncompressed file + +The compression methods currently supported are deflate, compress, lzh +(SCO compress -H) and pack. The crc is given as ffffffff for a file +not in gzip format. + +With --name, the uncompressed name, date and time are +those stored within the compress file if present. + +With --verbose, the size totals and compression ratio for all files +is also displayed, unless some sizes are unknown. With --quiet, +the title and totals lines are not displayed. +.TP +.B \-L --license +Display the +.I gzip +license and quit. +.TP +.B \-n --no-name +When compressing, do not save the original file name and time stamp by +default. (The original name is always saved if the name had to be +truncated.) When decompressing, do not restore the original file name +if present (remove only the +.I gzip +suffix from the compressed file name) and do not restore the original +time stamp if present (copy it from the compressed file). This option +is the default when decompressing. +.TP +.B \-N --name +When compressing, always save the original file name and time stamp; this +is the default. When decompressing, restore the original file name and +time stamp if present. This option is useful on systems which have +a limit on file name length or when the time stamp has been lost after +a file transfer. +.TP +.B \-q --quiet +Suppress all warnings. +.TP +.B \-r --recursive +Travel the directory structure recursively. If any of the file names +specified on the command line are directories, +.I gzip +will descend into the directory and compress all the files it finds there +(or decompress them in the case of +.I gunzip +). +.TP +.B \-S .suf --suffix .suf +Use suffix .suf instead of .gz. Any suffix can be given, but suffixes +other than .z and .gz should be avoided to avoid confusion when files +are transferred to other systems. A null suffix forces gunzip to try +decompression on all given files regardless of suffix, as in: + + gunzip -S "" * (*.* for MSDOS) + +Previous versions of gzip used +the .z suffix. This was changed to avoid a conflict with +.IR pack "(1)". +.TP +.B \-t --test +Test. Check the compressed file integrity. +.TP +.B \-v --verbose +Verbose. Display the name and percentage reduction for each file compressed +or decompressed. +.TP +.B \-V --version +Version. Display the version number and compilation options then quit. +.TP +.B \-# --fast --best +Regulate the speed of compression using the specified digit +.IR # , +where +.B \-1 +or +.B \-\-fast +indicates the fastest compression method (less compression) +and +.B \-9 +or +.B \-\-best +indicates the slowest compression method (best compression). +The default compression level is +.BR \-6 +(that is, biased towards high compression at expense of speed). +.SH "ADVANCED USAGE" +Multiple compressed files can be concatenated. In this case, +.I gunzip +will extract all members at once. For example: + + gzip -c file1 > foo.gz + gzip -c file2 >> foo.gz + +Then + gunzip -c foo + +is equivalent to + + cat file1 file2 + +In case of damage to one member of a .gz file, other members can +still be recovered (if the damaged member is removed). However, +you can get better compression by compressing all members at once: + + cat file1 file2 | gzip > foo.gz + +compresses better than + + gzip -c file1 file2 > foo.gz + +If you want to recompress concatenated files to get better compression, do: + + gzip -cd old.gz | gzip > new.gz + +If a compressed file consists of several members, the uncompressed +size and CRC reported by the --list option applies to the last member +only. If you need the uncompressed size for all members, you can use: + + gzip -cd file.gz | wc -c + +If you wish to create a single archive file with multiple members so +that members can later be extracted independently, use an archiver +such as tar or zip. GNU tar supports the -z option to invoke gzip +transparently. gzip is designed as a complement to tar, not as a +replacement. +.SH "ENVIRONMENT" +The environment variable +.B GZIP +can hold a set of default options for +.I gzip. +These options are interpreted first and can be overwritten by +explicit command line parameters. For example: + for sh: GZIP="-8v --name"; export GZIP + for csh: setenv GZIP "-8v --name" + for MSDOS: set GZIP=-8v --name + +On Vax/VMS, the name of the environment variable is GZIP_OPT, to +avoid a conflict with the symbol set for invocation of the program. +.SH "SEE ALSO" +znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1), +pack(1), compact(1) +.SH "DIAGNOSTICS" +Exit status is normally 0; +if an error occurs, exit status is 1. If a warning occurs, exit status is 2. +.PP +Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] +.in +8 +Invalid options were specified on the command line. +.in -8 +.IR file : +not in gzip format +.in +8 +The file specified to +.I gunzip +has not been compressed. +.in -8 +.IR file: +Corrupt input. Use zcat to recover some data. +.in +8 +The compressed file has been damaged. The data up to the point of failure +can be recovered using +.in +8 +zcat file > recover +.in -16 +.IR file : +compressed with +.I xx +bits, can only handle +.I yy +bits +.in +8 +.I File +was compressed (using LZW) by a program that could deal with +more +.I bits +than the decompress code on this machine. +Recompress the file with gzip, which compresses better and uses +less memory. +.in -8 +.IR file : +already has .gz suffix -- no change +.in +8 +The file is assumed to be already compressed. +Rename the file and try again. +.in -8 +.I file +already exists; do you wish to overwrite (y or n)? +.in +8 +Respond "y" if you want the output file to be replaced; "n" if not. +.in -8 +gunzip: corrupt input +.in +8 +A SIGSEGV violation was detected which usually means that the input file has +been corrupted. +.in -8 +.I "xx.x%" +.in +8 +Percentage of the input saved by compression. +(Relevant only for +.BR \-v +and +.BR \-l \.) +.in -8 +-- not a regular file or directory: ignored +.in +8 +When the input file is not a regular file or directory, +(e.g. a symbolic link, socket, FIFO, device file), it is +left unaltered. +.in -8 +-- has +.I xx +other links: unchanged +.in +8 +The input file has links; it is left unchanged. See +.IR ln "(1)" +for more information. Use the +.B \-f +flag to force compression of multiply-linked files. +.in -8 +.SH CAVEATS +When writing compressed data to a tape, it is generally necessary to +pad the output with zeroes up to a block boundary. When the data is +read and the whole block is passed to +.I gunzip +for decompression, +.I gunzip +detects that there is extra trailing garbage after the compressed data +and emits a warning by default. You have to use the --quiet option to +suppress the warning. This option can be set in the +.B GZIP +environment variable as in: + for sh: GZIP="-q" tar -xfz --block-compress /dev/rst0 + for csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0 + +In the above example, gzip is invoked implicitly by the -z option of +GNU tar. Make sure that the same block size (-b option of tar) is used +for reading and writing compressed data on tapes. (This example +assumes you are using the GNU version of tar.) +.SH BUGS +The --list option reports incorrect sizes if they exceed 2 gigabytes. +The --list option reports sizes as -1 and crc as ffffffff if the +compressed file is on a non seekable media. + +In some rare cases, the --best option gives worse compression than +the default compression level (-6). On some highly redundant files, +.I compress +compresses better than +.I gzip. diff --git a/mingw/man/man1/zcmp.1 b/mingw/man/man1/zcmp.1 new file mode 100644 index 00000000..ea3bf410 --- /dev/null +++ b/mingw/man/man1/zcmp.1 @@ -0,0 +1,44 @@ +.TH ZDIFF 1 +.SH NAME +zcmp, zdiff \- compare compressed files +.SH SYNOPSIS +.B zcmp +[ cmp_options ] file1 +[ file2 ] +.br +.B zdiff +[ diff_options ] file1 +[ file2 ] +.SH DESCRIPTION +.I Zcmp +and +.I zdiff +are used to invoke the +.I cmp +or the +.I diff +program on compressed files. All options specified are passed directly to +.I cmp +or +.IR diff "." +If only 1 file is specified, then the files compared are +.I file1 +and an uncompressed +.IR file1 ".gz." +If two files are specified, then they are uncompressed if necessary and fed to +.I cmp +or +.IR diff "." +The exit status from +.I cmp +or +.I diff +is preserved. +.SH "SEE ALSO" +cmp(1), diff(1), zmore(1), zgrep(1), znew(1), zforce(1), gzip(1), gzexe(1) +.SH BUGS +Messages from the +.I cmp +or +.I diff +programs refer to temporary filenames instead of those specified. diff --git a/mingw/man/man1/zdiff.1 b/mingw/man/man1/zdiff.1 new file mode 100644 index 00000000..ea3bf410 --- /dev/null +++ b/mingw/man/man1/zdiff.1 @@ -0,0 +1,44 @@ +.TH ZDIFF 1 +.SH NAME +zcmp, zdiff \- compare compressed files +.SH SYNOPSIS +.B zcmp +[ cmp_options ] file1 +[ file2 ] +.br +.B zdiff +[ diff_options ] file1 +[ file2 ] +.SH DESCRIPTION +.I Zcmp +and +.I zdiff +are used to invoke the +.I cmp +or the +.I diff +program on compressed files. All options specified are passed directly to +.I cmp +or +.IR diff "." +If only 1 file is specified, then the files compared are +.I file1 +and an uncompressed +.IR file1 ".gz." +If two files are specified, then they are uncompressed if necessary and fed to +.I cmp +or +.IR diff "." +The exit status from +.I cmp +or +.I diff +is preserved. +.SH "SEE ALSO" +cmp(1), diff(1), zmore(1), zgrep(1), znew(1), zforce(1), gzip(1), gzexe(1) +.SH BUGS +Messages from the +.I cmp +or +.I diff +programs refer to temporary filenames instead of those specified. diff --git a/mingw/man/man1/zforce.1 b/mingw/man/man1/zforce.1 new file mode 100644 index 00000000..37c6aba6 --- /dev/null +++ b/mingw/man/man1/zforce.1 @@ -0,0 +1,20 @@ +.TH ZFORCE 1 +.SH NAME +zforce \- force a '.gz' extension on all gzip files +.SH SYNOPSIS +.B zforce +[ name ... ] +.SH DESCRIPTION +.I zforce +forces a .gz extension on all +.I gzip +files so that +.I gzip +will not compress them twice. +This can be useful for files with names truncated after a file transfer. +On systems with a 14 char limitation on file names, the original name +is truncated to make room for the .gz suffix. For example, +12345678901234 is renamed to 12345678901.gz. A file name such as foo.tgz +is left intact. +.SH "SEE ALSO" +gzip(1), znew(1), zmore(1), zgrep(1), zdiff(1), gzexe(1) diff --git a/mingw/man/man1/zgrep.1 b/mingw/man/man1/zgrep.1 new file mode 100644 index 00000000..a52a88ab --- /dev/null +++ b/mingw/man/man1/zgrep.1 @@ -0,0 +1,44 @@ +.TH ZGREP 1 +.SH NAME +zgrep \- search possibly compressed files for a regular expression +.SH SYNOPSIS +.B zgrep +[ grep_options ] +.BI [\ -e\ ] " pattern" +.IR filename ".\|.\|." +.SH DESCRIPTION +.IR Zgrep +is used to invoke the +.I grep +on compress'ed or gzip'ed files. All options specified are passed directly to +.I grep. +If no file is specified, then the standard input is decompressed +if necessary and fed to grep. +Otherwise the given files are uncompressed if necessary and fed to +.I grep. +.PP +If +.I zgrep +is invoked as +.I zegrep +or +.I zfgrep +then +.I egrep +or +.I fgrep +is used instead of +.I grep. +If the GREP environment variable is set, +.I zgrep +uses it as the +.I grep +program to be invoked. For example: + + for sh: GREP=fgrep zgrep string files + for csh: (setenv GREP fgrep; zgrep string files) +.SH AUTHOR +Charles Levert (charles@comm.polymtl.ca) +.SH "SEE ALSO" +grep(1), egrep(1), fgrep(1), zdiff(1), zmore(1), znew(1), zforce(1), +gzip(1), gzexe(1) diff --git a/mingw/man/man1/zmore.1 b/mingw/man/man1/zmore.1 new file mode 100644 index 00000000..f7f1843d --- /dev/null +++ b/mingw/man/man1/zmore.1 @@ -0,0 +1,145 @@ +.TH ZMORE 1 +.SH NAME +zmore \- file perusal filter for crt viewing of compressed text +.SH SYNOPSIS +.B zmore +[ name ... ] +.SH DESCRIPTION +.I Zmore +is a filter which allows examination of compressed or plain text files +one screenful at a time on a soft-copy terminal. +.I zmore +works on files compressed with +.I compress, pack +or +.I gzip, +and also on uncompressed files. +If a file does not exist, +.I zmore +looks for a file of the same name with the addition of a .gz, .z or .Z suffix. +.PP +.I Zmore +normally pauses after each screenful, printing --More-- +at the bottom of the screen. +If the user then types a carriage return, one more line is displayed. +If the user hits a space, +another screenful is displayed. Other possibilities are enumerated later. +.PP +.I Zmore +looks in the file +.I /etc/termcap +to determine terminal characteristics, +and to determine the default window size. +On a terminal capable of displaying 24 lines, +the default window size is 22 lines. +To use a pager other than the default +.I more, +set environment variable PAGER to the name of the desired program, such as +.I less. +.PP +Other sequences which may be typed when +.I zmore +pauses, and their effects, are as follows (\fIi\fP is an optional integer +argument, defaulting to 1) : +.PP +.IP \fIi\|\fP +display +.I i +more lines, (or another screenful if no argument is given) +.PP +.IP ^D +display 11 more lines (a ``scroll''). +If +.I i +is given, then the scroll size is set to \fIi\|\fP. +.PP +.IP d +same as ^D (control-D) +.PP +.IP \fIi\|\fPz +same as typing a space except that \fIi\|\fP, if present, becomes the new +window size. Note that the window size reverts back to the default at the +end of the current file. +.PP +.IP \fIi\|\fPs +skip \fIi\|\fP lines and print a screenful of lines +.PP +.IP \fIi\|\fPf +skip \fIi\fP screenfuls and print a screenful of lines +.PP +.IP "q or Q" +quit reading the current file; go on to the next (if any) +.PP +.IP "e or q" +When the prompt --More--(Next file: +.IR file ) +is printed, this command causes zmore to exit. +.PP +.IP s +When the prompt --More--(Next file: +.IR file ) +is printed, this command causes zmore to skip the next file and continue. +.PP +.IP = +Display the current line number. +.PP +.IP \fIi\|\fP/expr +search for the \fIi\|\fP-th occurrence of the regular expression \fIexpr.\fP +If the pattern is not found, +.I zmore +goes on to the next file (if any). +Otherwise, a screenful is displayed, starting two lines before the place +where the expression was found. +The user's erase and kill characters may be used to edit the regular +expression. +Erasing back past the first column cancels the search command. +.PP +.IP \fIi\|\fPn +search for the \fIi\|\fP-th occurrence of the last regular expression entered. +.PP +.IP !command +invoke a shell with \fIcommand\|\fP. +The character `!' in "command" are replaced with the +previous shell command. The sequence "\\!" is replaced by "!". +.PP +.IP ":q or :Q" +quit reading the current file; go on to the next (if any) +(same as q or Q). +.PP +.IP . +(dot) repeat the previous command. +.PP +The commands take effect immediately, i.e., it is not necessary to +type a carriage return. +Up to the time when the command character itself is given, +the user may hit the line kill character to cancel the numerical +argument being formed. +In addition, the user may hit the erase character to redisplay the +--More-- message. +.PP +At any time when output is being sent to the terminal, the user can +hit the quit key (normally control\-\\). +.I Zmore +will stop sending output, and will display the usual --More-- +prompt. +The user may then enter one of the above commands in the normal manner. +Unfortunately, some output is lost when this is done, due to the +fact that any characters waiting in the terminal's output queue +are flushed when the quit signal occurs. +.PP +The terminal is set to +.I noecho +mode by this program so that the output can be continuous. +What you type will thus not show on your terminal, except for the / and ! +commands. +.PP +If the standard output is not a teletype, then +.I zmore +acts just like +.I zcat, +except that a header is printed before each file. +.SH FILES +.DT +/etc/termcap Terminal data base +.SH "SEE ALSO" +more(1), gzip(1), zdiff(1), zgrep(1), znew(1), zforce(1), gzexe(1) diff --git a/mingw/man/man1/znew.1 b/mingw/man/man1/znew.1 new file mode 100644 index 00000000..5cfb4724 --- /dev/null +++ b/mingw/man/man1/znew.1 @@ -0,0 +1,39 @@ +.TH ZNEW 1 +.SH NAME +znew \- recompress .Z files to .gz files +.SH SYNOPSIS +.B znew +[ -ftv9PK] [ name.Z ... ] +.SH DESCRIPTION +.I Znew +recompresses files from .Z (compress) format to .gz (gzip) format. +If you want to recompress a file already in gzip format, rename the file +to force a .Z extension then apply znew. +.SH OPTIONS +.TP +.B \-f +Force recompression from .Z to .gz format even if a .gz file already exists. +.TP +.B \-t +Tests the new files before deleting originals. +.TP +.B \-v +Verbose. Display the name and percentage reduction for each file compressed. +.TP +.B \-9 +Use the slowest compression method (optimal compression). +.TP +.B \-P +Use pipes for the conversion to reduce disk space usage. +.TP +.B \-K +Keep a .Z file when it is smaller than the .gz file +.SH "SEE ALSO" +gzip(1), zmore(1), zdiff(1), zgrep(1), zforce(1), gzexe(1), compress(1) +.SH BUGS +.I Znew +does not maintain the time stamp with the -P option if +.I cpmod(1) +is not available and +.I touch(1) +does not support the -r option. diff --git a/src/gzip/gzip-1.2.4 b/src/gzip/gzip-1.2.4 new file mode 160000 index 00000000..8e035b94 --- /dev/null +++ b/src/gzip/gzip-1.2.4 @@ -0,0 +1 @@ +Subproject commit 8e035b941f2573e807d52620f3cce830f8104599 diff --git a/src/msys b/src/msys new file mode 160000 index 00000000..d87b5272 --- /dev/null +++ b/src/msys @@ -0,0 +1 @@ +Subproject commit d87b527264a161372d82324a2fb085766ac58f03 diff --git a/src/openssl/openssl-0.9.8q b/src/openssl/openssl-0.9.8q new file mode 160000 index 00000000..1b15ce2a --- /dev/null +++ b/src/openssl/openssl-0.9.8q @@ -0,0 +1 @@ +Subproject commit 1b15ce2a557feff9493bcd009a2f78a19f59d1c8 -- 2.11.4.GIT