.›~UNZ532X-VMS-VAX-VAXC-OBJ.BCKUNZ532X-VMS-VAX-VAXC-OBJ.BCK?BACKUP [...]*.* [-]UNZ532X-VMS-VAX-VAXC-OBJ.BCK/SAVE/LOG/DELETE SPIELER U/pG֛V6.1 _LINAC::  _$2$DUC0: V6.1 ~  4*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]00BINARY.VMS;1+,50. /U 4M -580@123KPWO 563ɛ73ɛ89GUHJAFirst information about the binary distribution of VMS UnZip 5.32A-----------------------------------------------------------------+This archive comes in different variations:, "unz532x-vms--{obj|exe}.exe", and& "unz532x-vms--obj.bck",G where is "axp", "vax-decc", or "vax-vaxc", depending on0 the environment used for creating the binaries.> ...-obj.exe denotes object library distributions that require" a link step on the local machine.E ...-exe.exe denotes "ready-to-run" executable distributions, that doI not require additional work. The caveat of these executable distributionG is that they do not run on VMS versions that are older than the systemE used for building the executables (typical error message: "shareable library mismatch").E ...-obj.bck are uncompressed VMS backup saveset distributions of theE object libraries. They are much larger than the self-extracting ZipE archives and are only supplied for people with (old) versions of VMSG where the supplied SFX archives do not work. Therefore, if you alreadyF have an old version of UnZip for VMS (5.0p1, better: 5.2), the betterF choice is to fetch the Zip SFX archive and extract it manually, using the older VMS UnZip program.E Note that backup savesets are 32256-bytes-fixed-length-record files;F when tranfered via binary FTP, the resulting file's record format isI usually 512-bytes-fixed-length. Before extracting them with BACKUP, theH record size of the saveset has to be restored to 32256 bytes (best doneI with the public domain "FILE" utility, available from DECUS; or found onF ftp.wku.edu.). The contents of these saveset are identically to the$ corresponding ...-obj.exe archives.:Contents of the "vms" executables self extracting archivesfor UnZip 5.32:%a) common files (documentation etc.): 00binary.vms this fileF readme.vms general VMS info about using UnZip and zipfiles9 readme what UnZip is; general information9 copying copyrights and distribution policy< where pointer to Zip/UnZip support archivesF makesfx.com command file to create self-extracting archives? unzip.doc UnZip manual page, human-readable formatB unzipsfx.doc UnZipSFX manual page, human-readable formatA zipinfo.doc ZipInfo manual page, human-readable format< 3rdparty.bug known bugs in PK[UN]ZIP, WinZip, etc.G unzip.hlp UnZip help module, for default command interfaceF unzip_cli.hlp UnZip help module, for VMSCLI command interface7 unzipsfx.hlp UnZipSFX pre-formatted help page b) object library distributions:= link_unz.com command procedure for the linking step@ vms/unzip.opt auxiliary files required for linking step vms/unzipsfx.opt ...J unzip._olb object libraries for UnZip and UnZipSFX< unzipsfx._olb (both command interfaces)L unzipcli._olb additional object libraries for UnZip andH unzsfxcli._olb UnZipSFX, VMSCLI (DCL like) interfacec) executable distributions:B unzip.exe UnZip executable, default command interfaceD unzipsfx.exe UnZipSFX executable, default command interaceA unzip_cli.exe UnZip executable, VMSCLI command interfaceG (To save space, unzipsfx_cli.exe has been omitted from the executableC distributions. The command interface of the SFX stubs is of minorF importance, anyway, since it cannot be used without first defining aE "foreign command" to run the SFX archive. In most cases, it is muchB easier to use "$run .exe" at the command prompt.)H The binary files "*.<...>_olb" and "*.exe" have been stored in the ZipI archives with VMS attributes saved! If you extract them using a non-VMS, port of UnZip, you may get unusable files.DIf you decided to fetch the object library distribution, you have toFlink the executables on your local site. This requires runtime supportCfor the C runtime library to be installed, which may not be present*on older VAX VMS systems (prior to VMS 6).LTo create the executables, just invoke the "link_unz.com" command procedure.MThis will generate all executables (both unzip with UNIX-style command syntaxBand with VMSCLI command interface), but note that the executable's#extension is "._exe"!GIn case your system is a VAX and your current working directory carriesFboth the DEC C and the VAX C object distributions, you have to specifyDeither "VAXC" or "DECC" to tell link_unz.com which binaries you want to build.HAdditionally, link_unz.com defines foreign commands for the newly linked;executables, so you can test them without any further work.BIn order to use the default (UNIX-like) command interface, you can8proceed straight ahead after unpacking the distribution.EIf you rather prefer to use the VMSCLI interface, you have to specifyIthe option "VMSCLI" (or just "CLI") to the command starting link_unz.com.EThe executables (object libraries) in this archive have been compiled#with the following options enabled: * [decription support])The environment used for compilation was:7a) On Alpha AXP : OpenVMS(AXP) 6.2; DEC C V 5.6-0033b1) On VAX : OpenVMS(VAX) 6.1; DEC C V 4.03b2) alternatively VAX C V 3.2One final note:LThe binary files of the distribution have been archived with "saving all VMSLattributes" enabled. Please do not repack the binary part of the archives on5a non-VMS system, to prevent corruption of the files."23 October 1997, Christian Spieler4*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]3RDPARTY.BUG;1+,50. /U 4O `-580@123KPWO 56xL7xL89GUHJ&Known, current PKZIP bugs/limitations:%-------------------------------------M - PKUNZIP 2.04g is reported to corrupt some files when compressing them withL the -ex option; when tested, the files fail the CRC check, and comparisonK with the original file shows bogus data (6K in one case) embedded in theF middle. PKWARE apparently characterized this as a "known problem."J - PKUNZIP 2.04g considers volume labels valid only if originated on a FATL file system, but other OSes and file systems (e.g., Amiga and OS/2 HPFS)  support volume labels, too.H - PKUNZIP 2.04g can restore volume labels created by Zip 2.x but not by% PKZIP 2.04g (OS/2 DOS box only??).L - PKUNZIP 2.04g gives an error message for stored directory entries createdM under other OSes (although it creates the directory anyway), and PKZIP -vtK does not report the directory attribute bit as being set, even if it is.L - PKZIP 2.04g mangles unknown extra fields (especially OS/2 extended attri-N butes) when adding new files to an existing zipfile [example: Walnut Creek4 Hobbes March 1995 CD-ROM, FILE_ID.DIZ additions].N - PKUNZIP 2.04g is unable to detect or deal with prepended junk in a zipfile,1 reporting CRC errors in valid compressed data.O - PKUNZIP 2.04g (registered version) incorrectly updates/freshens the AV extraO field in authenticated archives. The resultant extra block length and total' extra field length are inconsistent.L - [Windows version 2.01] Win95 long filenames (VFAT) are stored OK, but the4 file system is always listed as ordinary DOS FAT.I - [Windows version 2.50] NT long filenames (NTFS) are stored OK, but the4 file system is always listed as ordinary DOS FAT.K - PKZIP 2.04 for DOS encrypts using the OEM code page for 8-bit passwords,I while PKZIP 2.50 for Windows uses Latin-1 (ISO 8859-1). This means anN archive encrypted with an 8-bit password with one of the two PKZIP versions. cannot be decrypted with the other version.M - PKUNZIP 2.04g is reported to have problems with archives created on and/or. copied from Iomega ZIP drives (irony, eh?).'Known, current WinZip bugs/limitations:&--------------------------------------H - [16-bit version 6.1a] NT short filenames (FAT) are stored OK, but the( file system is always listed as NTFS.I - WinZip doesn't allow 8-bit passwords, which means it cannot decrypt anG archive created with an 8-bit password (by PKZIP or Info-ZIP's Zip).Possibly current PKZIP bugs:---------------------------L - PKZIP (2.04g?) can silently ignore read errors on network drives, storingJ the correct CRC and compressed length but an incorrect and inconsistent uncompressed length.H - PKZIP (2.04g?), when deleting files from within a zipfile on a NovellG drive, sometimes only zeros out the data while failing to shrink the zipfile.Other limitations:-----------------K - PKZIP 1.x and 2.x encryption has been cracked (known-plaintext approach;1 see http://www.cryptography.com/ for details).;[many other bugs in PKZIP 1.0, 1.1, 1.93a, 2.04c and 2.04e]0*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]COPYING.;1+,5:./U 4N-580@123KPWO56 a7 a89GUHJ.J__________________________________________________________________________G This is the Info-ZIP file COPYING (for UnZip), last updated 5 Oct 97.J__________________________________________________________________________C There are currently six explicit copyrights on portions of UnZipG code (at least, of which Info-ZIP is aware): the original Sam SmithE copyright on unzip 2.0, upon which Info-ZIP's UnZip 3.0 was based;H Igor Mandrichenko's copyright on his routines in vms.c; Greg Roelofs'I copyright on zipinfo.c and the new version of unshrink.c; Mike White'sB copyright on the Windows DLL code (windll/*); Steve P. Miller'sF copyright on the Pocket UnZip GUI (wince/*); and Norbert Pueschel'sE copyright on the Amiga time.lib code. In addition, Mark Adler hasF placed inflate.h, inflate.c, explode.c and funzip.c into the publicH domain; i.e., these files may be used without any restrictions beyondF those of simple courtesy (credit where it's due). All of these areH discussed immediately below. The remaining code is covered by an im-G plicit copyright under US law. Frequently Asked Questions regardingC (re)distribution of Zip and UnZip are near the end of this file.B There are no known patents on any of the code in UnZip. UnisysG claims a patent on LZW encoding and on LZW decoding _in an apparatusI that performs LZW encoding_, but the patent appears to exempt a stand-I alone decoder (as in UnZip's unshrink.c). Unisys has publicly claimedG otherwise, but the issue has never been tested in court. Since thisF point is unclear, unshrinking is not enabled by default. It is theF responsibility of the user to make his or her peace with Unisys andF its licensing requirements. (unshrink.c may be removed from future releases altogether.)J__________________________________________________________________________C The original unzip source code has been extensively modified andC almost entirely rewritten (changes include random zipfile accessE rather than sequential; replacement of unimplode() with explode();E replacement of old unshrink() with new (unrelated) unshrink(); re-B placement of output routines; addition of inflate(), wildcards,D filename-mapping, text translation, ...; etc.). As far as we canA tell, the only remaining code that is substantially similar toC Mr. Smith's is that in the file unreduce.c, which now by defaultC is NOT compiled. The following copyright applies to unreduce.c:; * Copyright 1989 Samuel H. Smith; All rights reserved *A * Do not distribute modified versions without my permission.H * Do not remove or alter this notice or any other copyright notice.K * If you use this in your own program you must distribute source code.6 * Do not use any of this in a commercial product.J Regarding the first stipulation, Mr. Smith was tracked down in southernI California some years back [Samuel H. Smith, The Tool Shop; as of mid-J May 1994, (213) 851-9969 (voice), (213) 887-2127(?) (subscription BBS), 71150.2731@compuserve.com]:F "He says that he thought that whoever contacted him understood thatF he has no objection to the Info-ZIP group's inclusion of his code.I His primary concern is that it remain freely distributable, he said."F Despite the fact that our "normal" code has been entirely rewrittenF and by default no longer contains any of Mr. Smith's code, Info-ZIPH remains indebted and grateful to him. We hope he finds our contribu-" tions as useful as we have his.F Note that the third and fourth stipulations still apply to any com-G pany that wishes to incorporate the unreduce code into its products;F if you wish to do so, you must contact Mr. Smith directly regarding licensing.D The following copyright applies to most of the VMS code in vms.c,0 distributed with UnZip version 4.2 and later:, * Copyright (c) 1992 Igor Mandrichenko.E * Permission is granted to any individual or institution to use,F * copy, or redistribute this software so long as all of the orig-B * inal files are included unmodified, that it is not sold for: * profit, and that this copyright notice is retained.D The following copyright applies to the new version of unshrink.c,0 distributed with UnZip version 5.2 and later:' * Copyright (c) 1994 Greg Roelofs.D * Permission is granted to any individual/institution/corporateD * entity to use, copy, redistribute or modify this software forE * any purpose whatsoever, subject to the conditions noted in theD * Frequently Asked Questions section below, plus one additionalF * condition: namely, that my name not be removed from the sourceD * code. (Other names may, of course, be added as modificationsD * are made.) Corporate legal staff (like at IBM :-) ) who haveE * problems understanding this can contact me through Zip-Bugs...F The following copyright applies to the Windows DLL code (windll/*),0 distributed with UnZip version 5.2 and later:% * Copyright (c) 1996 Mike White.E * Permission is granted to any individual or institution to use,I * copy, or redistribute this software so long as all of the originalH * files are included, that it is not sold for profit, and that this$ * copyright notice is retained.G The following copyright applies to the Windows CE GUI port, ``Pocket9 UnZip,'' distributed with UnZip version 5.3 and later:C * All the source files for Pocket UnZip, except for componentsF * written by the Info-ZIP group, are copyrighted 1997 by Steve P.D * Miller. The product "Pocket UnZip" itself is property of theF * author and cannot be altered in any way without written consent * from Steve P. Miller.M The following copyright applies to the Amiga time code (amiga/time_lib.c),1 distributed with UnZip version 5.32 and later:6 * This source is copyrighted by Norbert Pueschel,* * .B * From 'clockdaemon.readme' (available from Aminet, includingC * ftp://ftp.wustl.edu/pub/aminet/util/time/clockdaemon.lha):G * "The original SAS/C functions gmtime, localtime, mktime and timeI * do not work correctly. The supplied link library time.lib contains' * replacement functions for them."F * Permission is granted to the Info-ZIP group to redistribute theL * time.lib source. The use of time.lib functions in own, noncommericalJ * programs is permitted. It is only required to add the timezone.docH * to such a distribution. Using the time.lib library in commericalC * software (including shareware) is only permitted after prior" * consultation of the author.D The remaining code was written by many people associated with theF Info-ZIP group, with large contributions from (but not limited to):C Greg Roelofs (overall program logic, ZipInfo, unshrink, filenameE mapping/portability, etc.), Mark Adler (inflate, explode, funzip),E Kai Uwe Rommel (OS/2), John Bush and Paul Kienitz (Amiga), AntoineH Verheijen (Macintosh), Hunter Goatley (more VMS), Mike White (WindowsH DLLs), Christian Spieler (overall logic, optimization, VMS, etc.) andG others. See the file CONTRIBS in the source distribution for a muchD more complete list of contributors. As noted above, Mark Adler'sE inflate.[ch], explode.c and funzip.c are in the public domain, andD everything that isn't otherwise accounted for is implicitly copy-G righted by Info-ZIP. In other words, use it with our blessings, but# it's still our code. Thank you!J--------------------------------------------------------------------------? Frequently Asked Questions about distributing Zip and UnZip:@ Q. Can I distribute Zip and UnZip sources and/or executables?D A. You may redistribute the latest official distributions withoutB any modification, and without even asking us for permission.E (Note that an "executable distribution" includes documentation,_B even if it's in a separate zipfile; plain executables do NOTE count.) You can charge for the cost of the media (CDROM, disk-_B ettes, etc.), the compilation (e.g., of a software archive),B and a small copying fee. Distributed archives should followC the naming conventions used in the `WHERE' file. If you wanth; to distribute modified versions, please contact us atcA Zip-Bugs@lists.wku.edu first. You must not distribute betai4 versions without explicit permission to do so.H Q. Can I use the executables (or DLLs) of Zip and UnZip to distribute my software?B A. Yes, so long as it is clear that Zip and UnZip are not beingD sold, that the source code is freely available, and that thereE are no extra or hidden charges resulting from its use by or in-eC clusion with the commercial product. Here is an example of ae suitable notice:A NOTE: is packaged on this CD using Info-ZIP'smB compression utility. The installation program uses UnZipB to read zip files from the CD. Info-ZIP's software (Zip,A UnZip and related utilities) is free and can be obtaineda? as source code or executables from Internet/WWW sites, 6 including http://www.cdrom.com/pub/infozip/ .F If the distribution is being done with UnZipSFX instead of a DLLH or stand-alone copy of UnZip (i.e., as one or more self-extractingE archives), no notice is required as long as the normal UnZipSFX" banner has not been removed.A Q. Can I use the source code of Zip and UnZip in my commercialm application?F A. Yes, so long as you include in your product an acknowledgment; aH pointer to the original, free compression sources; and a statementI making it clear that there are no extra or hidden charges resultingcI from the use of our compression code in your product (see below foreK an example). The acknowledgment should appear in at least one piece nH of human-readable documentation (e.g., a README file or man page),G although additionally putting it in the executable(s) is OK, too.fK In other words, you are allowed to sell only your own work, not ours,rG and we'd like a little credit. (Note the additional restrictionsrI above on the code in unreduce.c, unshrink.c, vms.c, time_lib.c, andH everything in the wince and windll subdirectories.) Contact us atG Zip-Bugs@lists.wku.edu if you have special requirements. We also*J like to hear when our code is being used, but we don't require that.I incorporates compression code from the Info-ZIP group. I There are no extra charges or costs due to the use of this code,sG and the original compression sources are freely available fromiN http://www.cdrom.com/pub/infozip/ or ftp://ftp.cdrom.com/pub/infozip/ on the Internet.aH If you only need compression capability, not full zipfile support,G you might want to look at zlib instead; it has fewer restrictions F on commercial use. See http://www.cdrom.com/pub/infozip/zlib/ .J__________________________________________________________________________ain freely distributable, he said."F Despite the fact that our "normal" code has been entirely rewrittenF and by default no longer contains any of Mr. Smith's code, Info-ZIPH remains indebted and grateful to him.4*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]LINK_UNZ.COM;1+,7,./U 4O *-580123KPWO56L7L89GUHJ$ ! LINK_UNZ.COM$ !5$ ! Command procedure to (re)link the VMS versions of$ ! UnZip/ZipInfo and UnZipSFX$ !$$ ! last updated: 11 September 1997$ !$ ! Command args:9$ ! - select compiler environment: "VAXC", "DECC", "GNUC"<$ ! - select installation of CLI interface version of unzip:$ ! "VMSCLI" or "CLI";$ ! - force installation of UNIX interface version of unzip?$ ! (override LOCAL_UNZIP environment): "NOVMSCLI" or "NOCLI"$ !$ !$ on error then goto error$ on control_y then goto error$ OLD_VERIFY = f$verify(0)$!$ say := write sys$outputO$!##################### Read settings from environment ########################$!$ if f$type(LOCAL_UNZIP).eqs.""$ then$ local_unzip = ""0$ else ! Trim blanks and append comma if missing+$ local_unzip = f$edit(local_unzip, "TRIM")F$ if f$extract(f$length(local_unzip)-1, 1, local_unzip).nes."," then -! local_unzip = local_unzip + ","$ endifL$! Check for the presence of "VMSCLI" in local_unzip. If yes, we will defineG$! the foreign command for "unzip" to use the executable containing the$! CLI interface.*$ pos_cli = f$locate("VMSCLI",local_unzip))$ len_local_unzip = f$length(local_unzip)$ if pos_cli.ne.len_local_unzip$ then$ CLI_IS_DEFAULT = 1L$ ! Remove "VMSCLI" macro from local_unzip. The UnZip executable including7$ ! the CLI interface is now created unconditionally.8$ local_unzip = f$extract(0, pos_cli, local_unzip) + -A$ f$extract(pos_cli+7, len_local_unzip-(pos_cli+7), local_unzip)$ else$ CLI_IS_DEFAULT = 0$ endif$ delete/symbol/local pos_cli%$ delete/symbol/local len_local_unzipI$!##################### Customizing section #############################$!$ unzx_unx = "unzip"$ unzx_cli = "unzip_cli"$ unzsfx_unx = "unzipsfx"$ unzsfx_cli = "unzipsfx_cli"$!$ MAY_USE_DECC = 1$ MAY_USE_GNUC = 0$!@$! Process command line parameters requesting optional features: $ arg_cnt = 1 $ argloop:#$ current_arg_name = "P''arg_cnt'"1$ curr_arg = f$edit('current_arg_name',"UPCASE")-$ IF curr_arg .eqs. "" THEN GOTO argloop_out$ IF curr_arg .eqs. "VAXC"$ THEN MAY_USE_DECC = 0$ MAY_USE_GNUC = 0$ ENDIF$ IF curr_arg .eqs. "DECC"$ THEN MAY_USE_DECC = 1$ MAY_USE_GNUC = 0$ ENDIF$ IF curr_arg .eqs. "GNUC"$ THEN MAY_USE_DECC = 0$ MAY_USE_GNUC = 1$ ENDIF;$ IF (curr_arg .eqs. "VMSCLI") .or. (curr_arg .eqs. "CLI")$ THEN$ CLI_IS_DEFAULT = 1$ ENDIF?$ IF (curr_arg .eqs. "NOVMSCLI") .or. (curr_arg .eqs. "NOCLI")$ THEN$ CLI_IS_DEFAULT = 0$ ENDIF$ arg_cnt = arg_cnt + 1$ GOTO argloop$ argloop_out:$!$ if CLI_IS_DEFAULT$ then$ UNZEXEC = unzx_cli$ else$ UNZEXEC = unzx_unx$ endif$!I$!#######################################################################$!:$ ! Find out current disk, directory, compiler and options$ !$ my_name = f$env("procedure")$ workdir = f$env("default")E$ here = f$parse(workdir,,,"device") + f$parse(workdir,,,"directory")$$ axp = f$getsyi("HW_MODEL").ge.1024$ if axp$ then $ ! Alpha AXP$ ARCH_NAME == "Alpha"$ ARCH_PREF = "AXP_"$ HAVE_DECC_VAX = 0$ USE_DECC_VAX = 0:$ IF (f$search("SYS$DISK:[]UNZIP.''ARCH_PREF'OLB").eqs."")$ THEN7$ say "Cannot find any AXP object library for UnZip."E$ say " You must keep all binary files of the object distribution"&$ say " in the current directory !"$ goto error$ ENDIF$ if MAY_USE_GNUC:$ then say "GNU C has not yet been ported to OpenVMS AXP."/$ say "You must use DEC C to build UnZip."$ goto error$ endif$ ARCH_CC_P = ARCH_PREF $ opts = """$ say "Linking on AXP using DEC C"$ else$ ! VAX$ ARCH_NAME == "VAX"$ ARCH_PREF = "VAX_"3$ ! check which object libraries are present:$ HAVE_DECC_VAX = -< (f$search("SYS$DISK:[]UNZIP.''ARCH_PREF'DECC_OLB").nes."")$ HAVE_VAXC_VAX = -< (f$search("SYS$DISK:[]UNZIP.''ARCH_PREF'VAXC_OLB").nes."")$ HAVE_GNUC_VAX = -< (f$search("SYS$DISK:[]UNZIP.''ARCH_PREF'GNUC_OLB").nes."")I$ IF .not.HAVE_DECC_VAX .and. .not.HAVE_VAXC_VAX .and. .not.HAVE_GNUC_VAX$ THEN7$ say "Cannot find any VAX object library for UnZip."E$ say " You must keep all binary files of the object distribution"&$ say " in the current directory !"$ goto error$ ENDIF%$ IF HAVE_DECC_VAX .AND. MAY_USE_DECC$ THEN$! We use DECC:$ USE_DECC_VAX = 1#$ ARCH_CC_P = "''ARCH_PREF'DECC_" $ opts = ""$$ say "Linking on VAX using DEC C"$ ELSE$! We use VAXC (or GNU C):$ USE_DECC_VAX = 00$ opts = ",SYS$DISK:[.VMS]VAXCSHR.OPT/OPTIONS"A$ if HAVE_GNUC_VAX .and. (.not.HAVE_VAXC_VAX .or. MAY_USE_GNUC)$ then"$ ARCH_CC_P = "''ARCH_PREF'GNUC_"2$ opts = ",GNU_CC:[000000]GCCLIB.OLB/LIB ''opts'"#$ say "Linking on VAX using GNU C"$ else"$ ARCH_CC_P = "''ARCH_PREF'VAXC_"#$ say "Linking on VAX using VAX C" $ endif$ ENDIF$ endif$ LFLAGS = "/notrace"C$ if (opts .nes. "") .and. (f$search("[.vms]vaxcshr.opt") .eqs. "")$ then create [.vms]vaxcshr.opt#$ open/append tmp [.vms]vaxcshr.opt)$ write tmp "SYS$SHARE:VAXCRTL.EXE/SHARE" $ close tmp$ endif:$ tmp = f$verify(1) ! Turn echo on to see what's happening$ !.$ link'LFLAGS'/exe='unzx_unx'.'ARCH_CC_P'exe -) unzip.'ARCH_CC_P'olb;/incl=(unzip)/lib - 'opts', [.VMS]unzip.opt/opt$ !.$ link'LFLAGS'/exe='unzx_cli'.'ARCH_CC_P'exe -- unzipcli.'ARCH_CC_P'olb;/incl=(unzip)/lib, - unzip.'ARCH_CC_P'olb;/lib - 'opts', [.VMS]unzip.opt/opt$ !0$ link'LFLAGS'/exe='unzsfx_unx'.'ARCH_CC_P'exe -* unzipsfx.'ARCH_CC_P'olb;/lib/incl=unzip - 'opts', [.VMS]unzipsfx.opt/opt$ !0$ link'LFLAGS'/exe='unzsfx_cli'.'ARCH_CC_P'exe -+ unzsxcli.'ARCH_CC_P'olb;/lib/incl=unzip, - unzipsfx.'ARCH_CC_P'olb;/lib - 'opts', [.VMS]unzipsfx.opt/opt$ !M$ ! Next line: put similar lines (full pathname for unzip.'ARCH_CC_P'exe) inE$ ! login.com. Remember to include the leading "$" before disk name.$ !1$ unzip == "$''here'''UNZEXEC'.''ARCH_CC_P'exe"8$ zipinfo == "$''here'''UNZEXEC'.''ARCH_CC_P'exe ""-Z"""$ !$error:$ tmp = f$verify(OLD_VERIFY)$ exit3*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]MAKESFX.COM;1+,5(./U 4L-580@123KPWO56v,7v,89GUHJ$!J$! MAKESFX.COM: command-procedure to create self-extracting ZIP archives>$! usage: @MAKESFX foo (foo.zip -> foo.exe)$!$! Martin P.J. Zinser 940804$!$!L$! For this to work a symbol unzipsfx has to be defined which contains the K$! location of the unzip stub (e.g., unzipsfx:== device:[dir]unzipsfx.exe)$!J$! The zipfile given in p1 will be concatenated with unzipsfx and given aJ$! filename extension of .exe. The default file extension for p1 is .zip$!J$! Use at your own risk, there is no guarantee here. If it doesn't work,=$! blame me (m.zinser@gsi.de), not the people from Info-ZIP.$!$!$ inf = "''p1'"%$ usfx = f$parse("''unzipsfx'") - ";"K$ file = f$parse("''inf'",,,"DEVICE") + f$parse("''inf'",,,"DIRECTORY") + - f$parse("''inf'",,,"NAME") 8$ finf = "''file'" +f$parse("''inf'",".ZIP",,"TYPE") + - f$parse("''inf'",,,"VERSION")$!J$! [GRR 940810: what is the point of 'name'? example? commented out...]C$! $ name = f$extract(12,2,f$time()) + f$extract(15,2,f$time()) + -8$! f$extract(18,2,f$time()) + f$extract(21,1,f$time())$!$ copy 'usfx','finf' 'file'.exe$ exit/*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]README.;1+,53./U 4N-580@123KPWO56إ˛7إ˛89GUHJ{+~UNZ532X-VMS-VAX-VAXC-OBJ.BCK5358/[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]README.;1N EThis is the README file for the 3 November 1997 public release of theGInfo-ZIP group's portable UnZip zipfile-extraction program (and related utilities).Hunzip532.zip portable UnZip, version 5.32, source code distribution:unzip532.tar.Z same as above, but compress'd tar format6unzip532.tar.gz same as above, but gzip'd tar formatJ__________________________________________________________________________HBEFORE YOU ASK: UnZip, its companion utility Zip, and related utilitiesHand support files can be found in many places; read the file "WHERE" forGfurther details. To contact the authors with suggestions, bug reports,Gor fixes, continue reading this file (README) and, if this is part of aIsource distribution, the file "ZipPorts" in the proginfo directory. AlsoHin source distributions: read "BUGS" for a list of known bugs, non-bugsIand possible future bugs; INSTALL for instructions on how to build UnZip;Dand "Contents" for a commented listing of all the distributed files.J__________________________________________________________________________ GENERAL INFO ------------KUnZip is an extraction utility for archives compressed in .zip format (alsoHcalled "zipfiles"). Although highly compatible both with PKWARE's PKZIPIand PKUNZIP utilities for MS-DOS and with Info-ZIP's own Zip program, ourEprimary objectives have been portability and non-MSDOS functionality.IThis version of UnZip has been ported to a stupendous array of hardware--Kfrom micros to supercomputers--and operating systems: Unix (many flavors),KVMS, OS/2 (including DLL version), Windows NT and Windows 95 (including DLLHversion), Windows CE (GUI version), Windows 3.x (including DLL version),JMS-DOS, AmigaDOS, Atari TOS, Acorn RISC OS, BeOS, Macintosh (GUI version),MSMS/QDOS, MVS, VM/CMS, FlexOS, Tandem NSK, Human68k (mostly), AOS/VS (partly)Iand TOPS-20 (partly). UnZip features not found in PKUNZIP include sourceJcode; default extraction of directory trees (with a switch to defeat this,Krather than the reverse); system-specific extended file attributes; and, ofIcourse, the ability to run under most of your favorite operating systems.Plus, it's free. :-)IFor source distributions, see the main Contents file for a list of what'sGincluded, and read INSTALL for instructions on compiling (including OS-Jspecific comments). The individual operating systems' Contents files (forIexample, vms/Contents) may list important compilation info in addition toKexplaining what files are what, so be sure to read them. Some of the portsHhave their own, special README files, so be sure to look for those, too.KSee unzip.1 or unzip.doc for usage (or the corresponding UnZipSFX, ZipInfo,JfUnZip and ZipGrep docs). For VMS, unzip_def.rnh or unzip_cli.help may beEcompiled into unzip.hlp and installed as a normal VMS help entry; seevms/descrip.mms.CHANGES AND NEW FEATURES------------------------IThe 5.32 release adds two new ports and a fix for at least one relatively serious bug: - new FlexOS port - new Tandem NSK portC - new Visual BASIC support (compatibility with the Windows DLLs)B - new -T option (set zipfile timestamp) for virtually all portsL - fix for timestamps beyond 2038 (e.g., 2097; crashed under DOS/Win95/NT)D - fix for undetected "dangling" symbolic links (i.e., no pointee)M - fix for VMS indexed-file extraction problem (stored with Zip 2.0 or 2.1)& - further performance optimizationsKThe 5.31 release included nothing but small bug-fixes and typo corrections,4with the exception of some minor performance tweaks.JThe 5.3 release added still more ports and more cross-platform portability features: - new BeOS port - new SMS/QDOS port" - new Windows CE graphical port) - VM/CMS port fully updated and tested& - MVS port fully updated and testedJ - updated Windows DLL port, with WiZ GUI spun off to a separate packageL - full Universal Time (UTC or GMT) support for trans-timezone consistencyN - cross-platform support for 8-bit characters (ISO Latin-1, OEM code pages)/ - support for NT security descriptors (ACLs)B - support for overwriting OS/2 directory EAs if -o option given* - updated Solaris/SVR4 package facilityJWhat is (still!) not added is multi-part archive support (a.k.a. "disketteHspanning") and a unified and more powerful DLL interface. These are theJtwo highest priorities for the 6.x releases. Work on the former is almostKcertain to have commenced by the time you read this. This time  we mean it!You betcha. :-)KAlthough the DLLs are still basically a mess, the Windows DLLs (16- and 32-Lbit) now have some documentation and a small example application. Note thatKthey should now be compatible with C/C++, Visual BASIC and Delphi. Weirder1languages (FoxBase, etc.) are probably Right Out.NFinally, note that support for unshrinking has now been turned OFF by default,Kalthough the source code is still available (as with unreducing). This wasIdone for legal reasons, not technical ones, and no, we're not any happier=about it than you are. :-( See the COPYING file for details.INTERNET RESOURCES------------------LInfo-ZIP's web site is at http://www.cdrom.com/pub/infozip/ and contains theImost up-to-date information about coming releases, links to binaries, andHcommon problems. (See http://www.cdrom.com/pub/infozip/FAQ.html for theLlatter.) Files may also be retrieved via ftp://ftp.cdrom.com/pub/infozip/ .;Thanks to Walnut Creek CD-ROM for hosting our primary site. DISTRIBUTION ------------LIf you have a question regarding redistribution of Info-ZIP software, eitherIas is, as packaging for a commercial product, or as an integral part of aLcommercial product, please read the Frequently Asked Questions (FAQ) sectionof the included COPYING file.KInsofar as C compilers are rare on some platforms and the authors only haveKdirect access to a subset of the supported systems, others may wish to pro-Lvide ready-to-run executables for new systems. In general there is no prob-Jlem with this; we require only that such distributions include this READMEIfile, the WHERE file, the COPYING file (contains copyright/redistributionGinformation), and the appropriate documentation files (unzip.doc and/orKunzip.1 for UnZip, etc.). If the local system provides a way to make self-Gextracting archives in which both the executables and text files can beMstored together, that's best (in particular, use UnZipSFX if at all possible,Heven if it's a few kilobytes bigger than the alternatives); otherwise weIsuggest a bare UnZip executable and a separate zipfile containing the re-Hmaining text and binary files. If another archiving method is in commonJuse on the target system (for example, Zoo or LHa), that may also be used.(BUGS AND NEW PORTS: CONTACTING INFO-ZIP(----------------------------------------FAll bug reports and patches (context diffs only, please!) should go toDZip-Bugs@lists.wku.edu, which is the e-mail address for the Info-ZIPGauthors. (Note that a few rare systems require the Zip-Bugs part to beEcapitalized as shown; most systems work OK with lowercase "zip-bugs,"Ghowever.) DO NOT MAIL US LARGE BINARIES--EVER. If you need to send usHa problem archive that happens to be large (> 20K), contact us first for instructions.E"Dumb questions" that aren't adequately answered in the documentationFshould also be directed to Zip-Bugs rather than to a global forum suchGas Usenet. (Kindly make certain that your question *isn't* an swered byGthe documentation, however--a great deal of effort has gone into makingit clear and complete.)HSuggestions for new features can be discussed on Info-ZIP@lists.wku.edu,Ia mailing list for Info-ZIP beta testers and interested parties; you needKto subscribe first, however (see below). We make no promises to act on allJsuggestions or even all patches, but if it is something that is manifestlyEuseful, sending the required patches to Zip-Bugs directly (as per theJinstructions in the ZipPorts file) is likely to produce a quicker responseKthan asking us to do it--the authors are always ridiculously short on time.rE(Please do NOT send patches or encoded zipfiles to the Info-ZIP list.sJPlease DO read the ZipPorts file before sending any large patch. It would-be difficult to over-emphasize this point...)bJIf you are considering a port, not only should you read the ZipPorts file,Hbut also please check in with Zip-Bugs BEFORE getting started, since theKcode is constantly being updated behind the scenes. (For example, VxWorks,rKVMOS and Netware ports were once claimed to be under construction, althoughsLwe have yet to see any up-to-date patches.) We will arrange to send you theLlatest sources. The alternative is the possibility that your hard work willJbe tucked away in a subdirectory and mostly ignored, or completely ignoredKif someone else has already done the port (and you'd be surprised how oftenithis has happened).eBETA TESTING: JOINING INFO-ZIPh-------------------------------_KIf you'd like to keep up to date with our UnZip (and companion Zip utility)NKdevelopment, join the ranks of beta testers, add your own thoughts and con-zGtributions, or simply lurk, send a two-line mail message containing thetIcommands HELP and LIST (on separate lines in the body of the message, notZLon the subject line) to mxserver@lists.wku.edu. You'll receive two messagesIlisting the various Info-ZIP mailing-list formats that are available (andfIalso various unrelated lists) and instructions on how to subscribe to onemIor more of them (courtesy of Hunter Goatley). As of 1997, subscribing to55the announcements list required a command of the formi( SUBSCRIBE Info-ZIP-announce "Joe Isuzu"JThe discussion list is called Info-ZIP; it can be set for either normal ordigest-style delivery.I-- Greg Roelofs (sometimes known as Cave Newt), principal UnZip developeru. guy, with inspiration from David Kirschbaumfault extraction of directory trees (with a switch to defeat this,2*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]README.VMS;1+,5-. /U 4N -580@123KPWO 562C 72C 89GUHJ4VMS README for UnZip 5.3 and later, 25 February 19974----------------------------------------------------LNotes about using UnZip and zipfiles under VMS (see INSTALL for instructionson compiling):? - Install UnZip as foreign symbol by adding this to login.com:' $ unzip == "$disk:[dir]unzip.exe"0 $ zipinfo == "$disk:[dir]unzip.exe ""-Z"""J where "disk" and "dir" are location of UnZip executable; the "$" beforeI the disk name is important. Some people, including the author, preferK a short alias such as "ii" instead of "zipinfo"; edit to taste. (All ofM the quotes around the -Z are necessary, but don't ask us to explain it...)I - Optionally install UnZipSFX for use with the MAKESFX.COM command file:+ $ unzipsfx :== disk:[dir]unzipsfx.exeJ Thereafter an archive "foo.zip" may be converted to "foo.exe" simply byL typing "@makesfx foo" (assuming MAKESFX.COM is in the current directory).4 Note that there is *no* leading "$" in this case.J - After proper installation, the default version of UnZip is invoked justK as in Unix or MS-DOS: "unzip -opts archive files". The hyphen ('-') isK the switch character, not the slash ('/') as in native VMS commands. AnI alternative is available if VMSCLI is defined during compilation; thisL version does provide a native VMS-style command interface (e.g., /ZIPINFOJ instead of -Z). Both versions accept the command "unzip -v", which canJ be used to check whether VMSCLI was defined or not; but an even simplerL method is to type "unzip" and look at the help screen. Note that optionsK placed in an environment variable (UNZIP_OPTS) must be of the short, hy-6 phenated form regardless of how UnZip was compiled.J - The VMS C runtime library translates all command-line text to lowercaseH unless it is quoted, making some options and/or filenames not work as intended. For example: unzip -V zipfile vms/README;* is translated to unzip -v zipfile vms/readme;*G which may not match the contents of the zipfile and definitely won'tE extract the file with its version number as intended. This can beF avoided by use of the -C option (/CASE_INSENSITIVE) or by enclosing! the uppercase stuff in quotes:" unzip "-V" zipfile "vms/README;*"G Note that quoting the whole line probably won't work, since it would8 be interpreted as a single argument by the C library.I - Wildcards that refer to files internal to the archive behave like UnixH wildcards, not VMS ones (assuming UnZip was not compiled with VMSWILDJ defined). This is both a matter of consistency (see above) and power--G full Unix regular expressions are supported, so that one can specifyH "all .c and .h files that start with a, b, c or d and do not have a 2L before the dot" as "[a-d]*[^2].[ch]". Of course, "*.[ch]" is a much moreH common wildcard specification, but the power is there if you need it.K Note that "*" matches zipfile directory separators ('/'), too. If UnZipL *was* compiled with VMSWILD defined (do "unzip -v" to check), the single-I character wildcard is "%" rather than "?", and character sets (ranges)? are delimited with () instead of [] (for example, "*.(ch)").J - Wildcards that refer to zipfiles (i.e., external VMS files) behave likeI normal VMS wildcards regardless of whether VMSWILD was defined or not.J Ranges are not supported. Thus "unzip *font-%.zip" is about as much as/ one can do for specifying wildcard zipfiles.L - Created files get whatever permissions were stored in the archive (mappedG to VMS and/or masked with your default permissions, depending on theJ originating operating system), but created directories additionally in-M herit the (possibly more restrictive) permissions of the parent directory.K And obviously things won't work if you don't have permission to write to the extraction directory.I - When transferring files, particularly via Kermit, pay attention to theH settings! In particular, zipfiles must be transferred in some binaryJ mode, which is NOT Kermit's default mode, and this mode must usually beL set on BOTH sides of the transfer (e.g., both VAX and PC). See the notes below for details.=From Info-ZIP Digest (Wed, 6 Nov 1991), Volume 91, Issue 290: Date: Tue, 5 Nov 91 15:31 CDT* From: Hugh Schmidt @ ****************************************************@ *** VMS ZIP and PKZIP compatibility using KERMIT ***@ ****************************************************H Many use Procomm's kermit to transfer zipped files between PC and VMSH VAX. The following VMS kermit settings make VMS Zip/UnZip compatible& with PC Zip/UnZip or PKZIP/PKUNZIP:K VMS kermit Procomm kermitN ------------------- --------------------N Uploading PC zipfile to VMS: set file type fixed set file type binaryN Downloading VMS zipfile to PC: set file type block set file type binaryH "Block I/O lets you bypass the VMS RMS record-processing capabilitiesH entirely", (Guide to VMS file applications, Section 8.5). The kermit guys must have known this!1*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP.DOC;1+,5(.]/U 4A][2-580@123KPWO^563˛73˛89GUHJ$AUNZIP(1L) UNZIP(1L)NAMEA unzip - list, test and extract compressed files in a ZIP archiveSYNOPSISA unzip [-Z] [-cflptuvz[abjnoqsCLMVX$]] file[.zip]2 [file(s) ...] [-x xfile(s) ...] [-d exdir] DESCRIPTIONA unzip will list, test, or extract files from a ZIPA archive, commonly found on MS-DOS systems. The defaultA behavior (with no options) is to extract into the currentA directory (and subdirectories below it) all files from theA specified ZIP archive. A companion program, zip(1L), cre-A ates ZIP archives; both programs are compatible withA archives created by PKWARE's PKZIP and PKUNZIP for MS-DOS,A but in many cases the program options or default behaviors differ. ARGUMENTS file[.zip]A Path of the ZIP archive(s). If the file specifica-A tion is a wildcard, each matching file is processedA in an order determined by the operating system (orA file system). Only the filename can be a wildcard;A the path itself cannot. Wildcard expressions areA similar to Unix egrep(1) (regular) expressions and may contain:? * matches a sequence of 0 or more characters0 ? matches exactly 1 characterA [...] matches any single character found insideA the brackets; ranges are specified by aA beginning character, a hyphen, and an endingA character. If an exclamation point or aA caret (`!' or `^') follows the left bracket,A then the range of characters within theA brackets is complemented (that is, anythingA except the characters inside the brackets is) considered a match).A (Be sure to quote any character that might other-A wise be interpreted or modified by the operatingA system, particularly under Unix and VMS.) If noA matches are found, the specification is assumed toA be a literal filename; and if that also fails, theA suffix .zip is appended. Note that self-extractingA ZIP files are supported, as with any other ZIPA archive; just specify the .exe suffix (if any) explicitly.AInfo-ZIP 3 November 1997 (v5.32) 1AUNZIP(1L) UNZIP(1L) [file(s)]A An optional list of archive members to be pro-A cessed, separated by spaces. (VMS versions com-A piled with VMSCLI defined must delimit files withA commas instead. See -v in OPTIONS below.) RegularA expressions (wildcards) may be used to match multi-A ple members; see above. Again, be sure to quoteA expressions that would otherwise be expanded or/ modified by the operating system. [-x xfile(s)]A An optional list of archive members to be excludedA from processing. Since wildcard characters matchA directory separators (`/'), this option may be usedA to exclude any files that are in subdirectories.A For example, ``unzip foo *.[ch] -x */*'' wouldA extract all C source files in the main directory,A but none in any subdirectories. Without the -xA option, all C source files in all directories4 within the zipfile would be extracted. [-d exdir]A An optional directory to which to extract files.A By default, all files and subdirectories are recre-A ated in the current directory; the -d option allowsA extraction in an arbitrary directory (always assum-A ing one has permission to write to the directory).A This option need not appear at the end of the com-A mand line; it is also accepted before the zipfileA specification (with the normal options), immedi-A ately after the zipfile specification, or betweenA the file(s) and the -x option. The option andA directory may be concatenated without any whiteA space between them, but note that this may causeA normal shell behavior to be suppressed. In partic-A ular, ``-d ~'' (tilde) is expanded by Unix C shellsA into the name of the user's home directory, butA ``-d~'' is treated as a literal subdirectory ``~''' of the current directory.OPTIONSA Note that, in order to support obsolescent hardware,A unzip's usage screen is limited to 22 or 23 lines andA should therefore be considered only a reminder of theA basic unzip syntax rather than an exhaustive list of all4 possible flags. The exhaustive list follows:A -Z zipinfo(1L) mode. If the first option on the com-A mand line is -Z, the remaining options are taken toA be zipinfo(1L) options. See the appropriate manual6 page for a description of these options.A -A [OS/2, Unix DLL] print extended help for the DLL's* programming interface (API).AInfo-ZIP 3 November 1997 (v5.32) 2AUNZIP(1L) UNZIP(1L)A -c extract files to stdout/screen (``CRT''). ThisA option is similar to the -p option except that theA name of each file is printed as it is extracted,A the -a option is allowed, and ASCII-EBCDIC conver-A sion is automatically performed if appropriate.A This option is not listed in the unzip usage screen.A -f freshen existing files, i.e., extract only thoseA files that already exist on disk and that are newerA than the disk copies. By default unzip queriesA before overwriting, but the -o option may be usedA to suppress the queries. Note that under manyA operating systems, the TZ (timezone) environmentA variable must be set correctly in order for -f andA -u to work properly (under Unix the variable isA usually set automatically). The reasons for thisA are somewhat subtle but have to do with the differ-A ences between DOS-format file times (always localA time) and Unix-format times (always in GMT/UTC) andA the necessity to compare the two. A typical TZA value is ``PST8PDT'' (US Pacific time with auto-A matic adjustment for Daylight Savings Time or ``summer time'').A -l list archive files (short format). The names,A uncompressed file sizes and modification dates andA times of the specified files are printed, alongA with totals for all files specified. If UnZip wasA compiled with OS2_EAS defined, the -l option alsoA lists columns for the sizes of stored OS/2 extendedA attributes (EAs) and OS/2 access control listsA (ACLs). In addition, the zipfile comment and indi-A vidual file comments (if any) are displayed. If aA file was archived from a single-case file systemA (for example, the old MS-DOS FAT file system) andA the -L option was given, the filename is converted < to lowercase and is prefixed with a caret (^).A -p extract files to pipe (stdout). Nothing but thezA file data is sent to stdout, and the files areiA always extracted in binary format, just as they arez& stored (no conversions).A -t test archive files. This option extracts each A specified file in memory and compares the CRCtA (cyclic redundancy check, an enhanced checksum) offA the expanded file with the original file's stored  CRC value.A -T [most OSes] set the timestamp on the archive(s) toiA that of the newest file in each one. This corre-iA sponds to zip's -go option except that it can beeA used on wildcard zipfiles (e.g., ``unzip -T AInfo-ZIP 3 November 1997 (v5.32) 3dAUNZIP(1L)  UNZIP(1L)i+ \*.zip'') and is much faster. A -u update existing files and create new ones ifhA needed. This option performs the same function asiA the -f option, extracting (with query) files thataA are newer than those with the same name on disk,cA and in addition it extracts those files that do not A already exist on disk. See -f above for informa- 4 tion on setting the timezone properly.A -v be verbose or print diagnostic version info. ThisnA option has evolved and now behaves as both antA option and a modifier. As an option it has twobA purposes: when a zipfile is specified with nohA other options, -v lists archive files verbosely,aA adding to the basic -l info the compression method,cA compressed size, compression ratio and 32-bit CRC. A When no zipfile is specified (that is, the complete A command is simply ``unzip -v''), a diagnostic A screen is printed. In addition to the normal A header with release date and version, unzip lists A the home Info-ZIP ftp site and where to find a list A of other ftp and non-ftp sites; the target operat- A ing system for which it was compiled, as well as A (possibly) the hardware on which it was compiled, A the compiler and version used, and the compilation A date; any special compilation options that might A affect the program's operation (see also DECRYPTION A below); and any options stored in environment vari-aA ables that might do the same (see ENVIRONMENTVA OPTIONS below). As a modifier it works in conjunc-dA tion with other options (e.g., -t) to produce morewA verbose or debugging output; this is not yet fullys9 implemented but will be in future releases.s/ -z display only the archive comment. MODIFIERSiA -a convert text files. Ordinarily all files are A extracted exactly as they are stored (as ``binary'' A files). The -a option causes files identified by A zip as text files (those with the `t' label in zip- A info listings, rather than `b') to be automatically A extracted as such, converting line endings, end-of- A file characters and the character set itself as A necessary. (For example, Unix files use line feeds A (LFs) for end-of-line (EOL) and have no end-of-file A (EOF) marker; Macintoshes use carriage returns A (CRs) for EOLs; and most PC operating systems use A CR+LF for EOLs and control-Z for EOF. In addition, A IBM mainframes and the Michigan Terminal System use A EBCDIC rather than the more common ASCII character A set, and NT supports Unicode.) Note that zip's A identification of text files is by no means AInfo-ZIP 3 November 1997 (v5.32) 4 AUNZIP(1L) UNZIP(1L) A perfect; some ``text'' files may actually be binary A and vice versa. unzip therefore prints ``[text]'' A or ``[binary]'' as a visual check for each file it A extracts when using the -a option. The -aa option A forces all files to be extracted as text, regard- - less of the supposed file type.CA -b [non-VMS] treat all files as binary (no text con-,6 versions). This is a shortcut for ---a.A -b [VMS] auto-convert binary files (see -a above) toNA fixed-length, 512-byte record format. Doubling theeA option (-bb) forces all files to be extracted inn this format.A -B [Unix only, and only if compiled with UNIXBACKUPaA defined] save a backup copy of each overwrittenhA file with a tilde appended (e.g., the old copy ofhA ``foo'' is renamed to ``foo~''). This is similarmA to the default behavior of emacs(1) in many loca-  tions.A -C match filenames case-insensitively. unzip's phi- A losophy is ``you get what you ask for'' (this is A also responsible for the -L/-U change; see the rel-vA evant options below). Because some file systems A are fully case-sensitive (notably those under the A Unix operating system) and because both ZIP A archives and unzip itself are portable across plat- A forms, unzip's default behavior is to match both A wildcard and literal filenames case-sensitively. A That is, specifying ``makefile'' on the commandpA line will only match ``makefile'' in the archive,A not ``Makefile'' or ``MAKEFILE'' (and similarly forsA wildcard specifications). Since this does not cor-eA respond to the behavior of many other operat-eA ing/file systems (for example, OS/2 HPFS, whicheA preserves mixed case but is not sensitive to it),nA the -C option may be used to force all filenamenA matches to be case-insensitive. In the examplenA above, all three files would then match ``make-iA file'' (or ``make*'', or similar). The -C optioniA affects files in both the normal file list and ther) excluded-file list (xlist).fA -j junk paths. The archive's directory structure is A@&~UNZ532X-VMS-VAX-VAXC-OBJ.BCK5(581[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP.DOC;1A]&z not recreated; all files are deposited in theeA extraction directory (by default, the current one). A -L convert to lowercase any filename originating on angA uppercase-only operating system or file system.-A (This was unzip's default behavior in releases A prior to 5.11; the new default behavior is identi- A cal to the old behavior with the -U option, which AInfo-ZIP 3 November 1997 (v5.32) 5 AUNZIP(1L) UNZIP(1L) A is now obsolete and will be removed in a future A release.) Depending on the archiver, files A archived under single-case file systems (VMS, old A MS-DOS FAT, etc.) may be stored as all-uppercase A names; this can be ugly or inconvenient when A extracting to a case-preserving file system such as A OS/2 HPFS or a case-sensitive one such as under A Unix. By default unzip lists and extracts suchrA filenames exactly as they're stored (exceptingeA truncation, conversion of unsupported characters,aA etc.); this option causes the names of all filesrA from certain systems to be converted to lowercase.oA -M pipe all output through an internal pager similardA to the Unixmore(1) command. At the end of ahA screenful of output, unzip pauses with aiA ``--More--'' prompt; the next screenful may besA viewed by pressing the Enter (Return) key or thetA space bar. unzip can be terminated by pressing thenA ``q'' key and, on some systems, the Enter/ReturndA key. Unlike Unix more(1), there is no forward- A searching or editing capability. Also, unzip A doesn't notice if long lines wrap at the edge of A the screen, effectively resulting in the printing A of two or more lines and the likelihood that sometA text will scroll off the top of the screen beforetA being viewed. On some systems the number of avail- A able lines on the screen is not detected, in whicht8 case unzip assumes the height is 24 lines.A -n never overwrite existing files. If a file alreadyeA exists, skip the extraction of that file withoutiA prompting. By default unzip queries before A extracting any file that already exists; the user.A may choose to overwrite only the current file,zA overwrite all files, skip extraction of the currenttA file, skip extraction of all existing files, orl& rename the current file.A -N [Amiga] extract file comments as Amiga filenotes. A File comments are created with the -c option of A zip(1L), or with the -N option of the Amiga port of : zip(1L), which stores filenotes as comments.A -o overwrite existing files without prompting. This A is a dangerous option, so use it with care. (It is A often used with -f, however, and is the only way to 2 overwrite directory EAs under OS/2.) -P passwordA use password to decrypt encrypted zipfile entries A (if any). THIS IS INSECURE! Many multi-user oper- A ating systems provide ways for any user to see the AInfo-ZIP 3 November 1997 (v5.32) 6 AUNZIP(1L) UNZIP(1L) A current command line of any other user; even onPA stand-alone systems there is always the threat ofiA over-the-shoulder peeking. Storing the plaintexteA password as part of a command line in an automatedmA script is even worse. Whenever possible, use the A non-echoing, interactive prompt to enter passwords.xA (And where security is truly important, use strongxA encryption such as Pretty Good Privacy instead ofhA the relatively weak encryption provided by standard ! zipfile utilities.)zA -q perform operations quietly (-qq = even quieter).lA Ordinarily unzip prints the names of the files it'sfA extracting or testing, the extraction methods, anyaA file or zipfile comments that may be stored in thedA archive, and possibly a summary when finished withlA each archive. The -q[q] options suppress then8 printing of some or all of these messages.A -s [OS/2, NT, MS-DOS] convert spaces in filenames to A underscores. Since all PC operating systems allowSA spaces in filenames, unzip by default extracts A filenames with spaces intact (e.g.,tA ``EA DATA. SF''). This can be awkward, however,nA since MS-DOS in particular does not gracefully sup- A port spaces in filenames. Conversion of spaces to A underscores can eliminate the awkwardness in somet cases.A -U (obsolete; to be removed in a future release) leave A filenames uppercase if created under MS-DOS, VMS, ! etc. See -L above.oA -V retain (VMS) file version numbers. VMS files canaA be stored with a version number, in the formateA file.ext;##. By default the ``;##'' version num-cA bers are stripped, but this option allows them to A be retained. (On file systems that limit filenames A to particularly short lengths, the version numbers A may be truncated or stripped regardless of this  option.)A -X [VMS, Unix, OS/2, NT] restore owner/protection infoA (UICs) under VMS, or user and group info (UID/GID)A under Unix, or access control lists (ACLs) underA certain network-enabled versions of OS/2 (WarpA Server with IBM LAN Server/Requester 3.0 to 5.0;A Warp Connect with IBM Peer 1.0), or security ACLsiA under Windows NT. In most cases this will require A special system privileges, and doubling the optionUA (-XX) under NT instructs unzip to use privilegeseA for extraction; but under Unix, for example, a useroA who belongs to several groups can restore files A owned by any of those groups, as long as the user AInfo-ZIP 3 November 1997 (v5.32) 7 AUNZIP(1L) UNZIP(1L) A IDs match his or her own. Note that ordinary fileoA attributes are always restored--this option applies A only to optional, extra ownership info available onnA some operating systems. [NT's access control listsiA do not appear to be especially compatible with A OS/2's, so no attempt is made at cross-platformOA portability of access privileges. It is not clearsA under what conditions this would ever be usefulr anyway.]A -$ [MS-DOS, OS/2, NT] restore the volume label if the A extraction medium is removable (e.g., a diskette). A Doubling the option (-$$) allows fixed media (hard A disks) to be labelled as well. By default, volume ! labels are ignored.ENVIRONMENT OPTIONStA unzip's default behavior may be modified via optionscA placed in an environment variable. This can be done withiA any option, but it is probably most useful with the -a,rA -L, -C, -q, -o, or -n modifiers: make unzip auto-convertcA text files by default, make it convert filenames from A uppercase systems to lowercase, make it match names case- A insensitively, make it quieter, or make it always over-tA write or never overwrite files as it extracts them. For A example, to make unzip act as quietly as possible, only A reporting errors, one would use one of the following com- mands: 7 UNZIP=-qq; export UNZIP Unix Bourne shell.2 setenv UNZIP -qq Unix C shell4 set UNZIP=-qq OS/2 or MS-DOS@ define UNZIP_OPTS "-qq" VMS (quotes for lowercase)A Environment options are, in effect, considered to be just A like any other command-line options, except that they areuA effectively the first options on the command line. To A override an environment option, one may use the ``minussA operator'' to remove it. For instance, to override one ofe< the quiet-flags in the example above, use the command+ unzip --q[other options] zipfilecA The first hyphen is the normal switch character, and the A second is a minus sign, acting on the q option. Thus theoA effect here is to cancel one quantum of quietness. To)A cancel both quiet flags, two (or more) minuses may bep used: unzip -t--q zipfile unzip ---qt zipfileA (the two are equivalent). This may seem awkward or con-uA fusing, but it is reasonably intuitive: just ignore theeAInfo-ZIP 3 November 1997 (v5.32) 8hAUNZIP(1L) UNZIP(1L)iA first hyphen and go from there. It is also consistentl) with the behavior of Unix nice(1). A As suggested by the examples above, the default variabletA names are UNZIP_OPTS for VMS (where the symbol used tolA install unzip as a foreign command would otherwise be con-oA fused with the environment variable), and UNZIP for all A other operating systems. For compatibility with zip(1L), A UNZIPOPT is also accepted (don't ask). If both UNZIP andsA UNZIPOPT are defined, however, UNZIP takes precedence. A unzip's diagnostic option (-v with no zipfile name) can beoA used to check the values of all four possible unzip andt% zipinfo environment variables. A The timezone variable (TZ) should be set according to the A local timezone in order for the -f and -u to operate cor- A rectly. See the description of -f above for details. A This variable may also be necessary in order for times- A tamps on extracted files to be set correctly. Under Win-eA dows 95/NT unzip should know the correct timezone even iftA TZ is unset, assuming the timezone is correctly set in thep Control Panel.o DECRYPTIONA Encrypted archives are fully supported by Info-ZIP soft-vA ware, but due to United States export restrictions, thesA encryption and decryption sources are not packaged withfA the regular unzip and zip distributions. Since the cryptvA sources were written by Europeans, however, they are A freely available at sites throughout the world; see the A file ``WHERE'' in any Info-ZIP source or binary distribu- 9 tion for locations both inside and outside the US.A Because of the separate distribution, not all compiledA versions of unzip support decryption. To check a versionA for crypt support, either attempt to test or extract anPA encrypted archive, or else check unzip's diagnostic screeniA (see the -v option above) for ``[decryption]'' as one ofe' the special compilation options.mA As noted above, the -P option may be used to supply aeA password on the command line, but at a cost in security.oA The preferred decryption method is simply to extract nor-lA mally; if a zipfile member is encrypted, unzip will promptoA for the password without echoing what is typed. unzipiA continues to use the same password as long as it appears A to be valid, by testing a 12-byte header on each file. A The correct password will always check out against the A header, but there is a 1-in-256 chance that an incorrect A password will as well. (This is a security feature of the A PKWARE zipfile format; it helps prevent brute-force A attacks that might otherwise gain a large speed advantage A by testing only the header.) In the case that an incor- A rect password is given but it passes the header test AInfo-ZIP 3 November 1997 (v5.32) 9 AUNZIP(1L) UNZIP(1L)iA anyway, either an incorrect CRC will be generated for theAA extracted data or else unzip will fail during the extrac-cA tion because the ``decrypted'' bytes do not constitute at$ valid compressed data stream.A If the first password fails the header check on some file, A unzip will prompt for another password, and so on untilmA all files are extracted. If a password is not known,eA entering a null password (that is, just a carriage returnoA or ``Enter'') is taken as a signal to skip all furtheraA prompting. Only unencrypted files in the archive(s) willaA thereafter be extracted. (In fact, that's not quite true;mA older versions of zip(1L) and zipcloak(1L) allowed nulltA passwords, so unzip checks each encrypted file to see ifeA the null password works. This may result in ``false posi-r6 tives'' and extraction errors, as noted above.)A Archives encrypted with 8-bit passwords (for example,SA passwords with accented European characters) may not beVA portable across systems and/or other archivers. This A problem stems from the use of multiple encoding methodsoA for such characters, including Latin-1 (ISO 8859-1) and A OEM code page 850. DOS PKZIP 2.04g uses the OEM codewA page; Windows PKZIP 2.50 uses Latin-1 (and is thereforesA incompatible with DOS PKZIP); Info-ZIP uses the OEM codemA page on DOS, OS/2 and Win3.x ports but Latin-1 everywhere A else; and Nico Mak's WinZip 6.x does not allow 8-bit pass-nA words at all. UnZip 5.3 attempts to use the default char- A acter set first (e.g., Latin-1), followed by the alternateoA one (e.g., OEM code page) to test passwords. On EBCDICvA systems, if both of these fail, EBCDIC encoding will be A tested as a last resort. (Since there are no knowntA archivers that encrypt using EBCDIC encoding, EBCDIC istA not tested on non-EBCDIC systems.) ISO character encod- 1 ings other than Latin-1 are not supported. EXAMPLESA To use unzip to extract all members of the archive let- A ters.zip into the current directory and subdirectories2: below it, creating any subdirectories as necessary: unzip lettersA To extract all members of letters.zip into the currents directory only: unzip -j letters A To test letters.zip, printing only a summary message indi- / cating whether the archive is OK or not:  unzip -tq lettersA To test all zipfiles in the current directory, printing)AInfo-ZIP 3 November 1997 (v5.32) 10aAUNZIP(1L) UNZIP(1L)o only the summaries: unzip -tq \*.zipoA (The backslash before the asterisk is only required if thetA shell expands wildcards, as in Unix; double quotes couldnA have been used instead, as in the source examplesaA below.) To extract to standard output all members of let- A ters.zip whose names end in .tex, auto-converting to the A local end-of-line convention and piping the output intor more(1):x* unzip -ca letters \*.tex | moreA To extract the binary file paper1.dvi to standard outputo) and pipe it to a printing program: / unzip -p articles paper1.dvi | dvips A To extract all FORTRAN and C source files--*.f, *.c, *.h,e- and Makefile--into the /tmp directory:o6 unzip source.zip "*.[fch]" Makefile -d /tmpA (the double quotes are necessary only in Unix and only ifdA globbing is turned on). To extract all FORTRAN and CtA source files, regardless of case (e.g., both *.c and *.C,o8 and any makefile, Makefile, MAKEFILE or similar):9 unzip -C source.zip "*.[fch]" makefile -d /tmpFA To extract any such files but convert any uppercase MS-DOSlA or VMS names to lowercase and convert the line-endings offA all of the files to the local standard (without respect tod2 any files that might be marked ``binary''):< unzip -aaCL source.zip "*.[fch]" makefile -d /tmpA To extract only newer versions of the files already in the(A current directory, without querying (NOTE: be careful ofpA unzipping in one timezone a zipfile created ineA another--ZIP archives other than those created by Zip 2.1rA or later contain no timezone information, and a ``newer''v= file from an eastern timezone may, in fact, be older):  unzip -fo sourcesA To extract newer versions of the files already in the cur-sA rent directory and to create any files not already there ) (same caveat as previous example):d unzip -uo sourcesA To display a diagnostic screen showing which unzip anduAInfo-ZIP 3 November 1997 (v5.32) 11 AUNZIP(1L) UNZIP(1L)tA zipinfo options are stored in environment variables,sA whether decryption support was compiled in, the compiler + with which unzip was compiled, etc.: unzip -viA In the last five examples, assume that UNZIP or UNZIP_OPTSh3 is set to -q. To do a singly quiet listing:n unzip -l file.zip$ To do a doubly quiet listing: unzip -ql file.ziplA (Note that the ``.zip'' is generally not necessary.) Toc do a standard listing:- unzip --ql file.zip orl unzip -l-q file.zip ors@ unzip -l--q file.zip (extra minuses don't hurt)TIPSA The current maintainer, being a lazy sort, finds it very A useful to define a pair of aliases: tt for ``unzip -tq'' A and ii for ``unzip -Z'' (or ``zipinfo''). One may then A simply type ``tt zipfile'' to test an archive, somethingSA that is worth making a habit of doing. With luck unzipiA will report ``No errors detected in compressed data ofpA zipfile.zip,'' after which one may breathe a sigh ofb relief.A The maintainer also finds it useful to set the UNZIP envi-wA ronment variable to ``-aL'' and is tempted to add ``-C''b7 as well. His ZIPINFO variable is set to ``-z''.n DIAGNOSTICSSA The exit status (or error level) approximates the exitiA codes defined by PKWARE and takes on the following values,s except under VMS:< 0 normal; no errors or warnings detected.A 1 one or more warning errors were encountered,vA but processing completed successfully any-lA way. This includes zipfiles where one or A more files was skipped due to unsupportedaA compression method or encryption with ans& unknown password.A 2 a generic error in the zipfile format was A detected. Processing may have completedsAInfo-ZIP 3 November 1997 (v5.32) 12lAUNZIP(1L) UNZIP(1L)pA successfully anyway; some broken zipfilestA created by other archivers have simple work-a arounds.aA 3 a severe error in the zipfile format wasrA detected. Processing probably failed imme-  diately. A 4 unzip was unable to allocate memory for oneiA or more buffers during program initializa-  tion.A 5 unzip was unable to allocate memory or A unable to obtain a tty to read the decryp-b& tion password(s).A 6 unzip was unable to allocate memory duringe+ decompression to disk.tA 7 unzip was unable to allocate memory duringd- in-memory decompression.u) 8 [currently not used] ; 9 the specified zipfiles were not found. A 10 invalid options were specified on the com-a mand line.'2 11 no matching files were found.A 50 the disk is (or was) full during extraction. A 51 the end of the ZIP archive was encounteredo! prematurely.cA 80 the user aborted unzip prematurely with con-t( trol-C (or similar)A 81 testing or extraction of one or more filestA failed due to unsupported compression meth- 3 ods or unsupported decryption. A 82 no files were found due to bad decryptionoA password(s). (If even one file is success-mA fully processed, however, the exit status isr 1.)A VMS interprets standard Unix (or PC) return values as A other, scarier-looking things, so unzip instead maps themaA into VMS-style status codes. The current mapping is as A follows: 1 (success) for normal exit, 0x7fff0001 foraA warning errors, and (0x7fff000? + 16*nor- A mal_unzip_exit_status) for all other errors, where the `?' AInfo-ZIP 3 November 1997 (v5.32) 13bAUNZIP(1L) UNZIP(1L).A is 2 (error) for unzip values 2, 9-11 and 80-82, and 4dA (fatal error) for the remaining ones (3-8, 50, 51). IneA addition, there is a compilation option to expand upongA this behavior: defining RETURN_CODES results in a human-c; readable explanation of what the error status means.dBUGSA Multi-part archives are not yet supported, except in con-eA junction with zip. (All parts must be concatenatedtA together in order, and then ``zip -F'' must be performedA on the concatenated archive in order to ``fix'' it.) Thisl> will definitely be corrected in the next major release.A Archives read from standard input are not yet supported,uA except with funzip (and then only the first member of thet! archive can be extracted).A Archives encrypted with 8-bit passwords (e.g., passwordsA with accented European characters) may not be portableaA across systems and/or other archivers. See the discussionL in DECRYPTION above.eA unzip's -M (``more'') option is overly simplistic in itseA handling of screen output; as noted above, it fails tosA detect the wrapping of long lines and may thereby causedA lines at the top of the screen to be scrolled off beforetA being read. unzip should detect and treat each occurrence A of line-wrap as one additional line printed. ThiseA requires knowledge of the screen's width as well as itsuA height. In addition, unzip should detect the true screen  geometry on all systems.A Dates, times and permissions of stored directories are noti" restored except under Unix.A [MS-DOS] When extracting or testing files from an archivedA on a defective floppy diskette, if the ``Fail'' option is A chosen from DOS's ``Abort, Retry, Fail?'' message, olderrA versions of unzip may hang the system, requiring a reboot.oA This problem appears to be fixed, but control-C (or con-s8 trol-Break) can still be used to terminate unzip.A Under DEC Ultrix, unzip would sometimes fail on long zip-hA files (bad CRC, not always reproducible). This was appar-tA ently due either to a hardware bug (cache memory) or antA operating system bug (improper handling of page faults?).rA Since Ultrix has been abandoned in favor of Digital Unixa1 (OSF/1), this may not be an issue anymore.]A [Unix] Unix special files such as FIFO buffers (namedlA pipes), block devices and character devices are notTA restored even if they are somehow represented in the zip-iA file, nor are hard-linked files relinked. Basically thecA only file types restored by unzip are regular files,,AInfo-ZIP 3 November 1997 (v5.32) 14,AUNZIP(1L) UNZIP(1L)e- directories and symbolic (soft) links. A [OS/2] Extended attributes for existing directories are A only updated if the -o (``overwrite all'') option issA given. This is a limitation of the operating system;nA because directories only have a creation time associated A with them, unzip has no way to determine whether theIA stored attributes are newer or older than those on disk.rA In practice this may mean a two-pass approach is required:cA first unpack the archive normally (with or without fresh- A ening/updating existing files), then overwrite just ther5 directory entries (e.g., ``unzip -o foo */'').tA [VMS] When extracting to another directory, only theuA [.foo] syntax is accepted for the -d option; the simpletA Unix foo syntax is silently ignored (as is the less commona VMS foo.dir syntax).zA [VMS] When the file being extracted already exists,oA unzip's query only allows skipping, overwriting or renam-)A ing; there should additionally be a choice for creating aiA new version of the file. In fact, the ``overwrite''iA choice does create a new version; the old version is nota overwritten or deleted.SEE ALSOA funzip(1L), zip(1L), zipcloak(1L), zipgrep(1L), zip-i* info(1L), zipnote(1L), zipsplit(1L)URLrA The Info-ZIP home page is currently atp* http://www.cdrom.com/pub/infozip/ .AUTHORS A The primary Info-ZIP authors (current semi-active membersNA of the Zip-Bugs workgroup) are: Greg ``Cave Newt''dA Roelofs (UnZip); Onno van der Linden (Zip); Jean-loupnA Gailly (compression); Mark Adler (decompression, fUnZip);xA Christian Spieler (VMS, MS-DOS, Windows 95, NT, sharedoA code, general Zip and UnZip integration and optimization);nA Mike White (Windows GUI, Windows DLLs); Kai Uwe RommeloA (OS/2); Paul Kienitz (Amiga, Windows 95); Chris HerborthpA (BeOS, QNX, Atari); Jonathan Hudson (SMS/QDOS); Sergio A Monesi (Acorn RISC OS); Harald Denker (Atari, MVS); John A Bush (Solaris, Amiga); Hunter Goatley (VMS); Steve Salis-rA bury (Windows 95, NT); Steve Miller (Windows CE GUI),oA Johnny Lee (MS-DOS, Windows 95, NT); and Dave Smith (Tan-eA dem NSK). The author of the original unzip code uponaA which Info-ZIP's was based is Samuel H. Smith; Carl Mas- A cott did the first Unix port; and David P. Kirschbaum A organized and led Info-ZIP in its early days with KeithmA Petersen hosting the original mailing list at WSMR-Sim-rA Tel20. The full list of contributors to UnZip has grown A quite large; please refer to the CONTRIBS file in the AInfo-ZIP 3 November 1997 (v5.32) 15 AUNZIP(1L) UNZIP(1L) A UnZip source distribution for a relatively complete ver-a sion.VERSIONS) v1.2 15 Mar 89 Samuel H. Smithz) v2.0 9 Sep 89 Samuel H. Smith2 v2.x fall 1989 many Usenet contributors6 v3.0 1 May 90 Info-ZIP (DPK, consolidator)6 v3.1 15 Aug 90 Info-ZIP (DPK, consolidator)4 v4.0 1 Dec 90 Info-ZIP (GRR, maintainer)" v4.1 12 May 91 Info-ZIP; v4.2 20 Mar 92 Info-ZIP (Zip-Bugs subgroup, GRR)i; v5.0 21 Aug 92 Info-ZIP (Zip-Bugs subgroup, GRR)o; v5.01 15 Jan 93 Info-ZIP (Zip-Bugs subgroup, GRR)n; v5.1 7 Feb 94 Info-ZIP (Zip-Bugs subgroup, GRR)f; v5.11 2 Aug 94 Info-ZIP (Zip-Bugs subgroup, GRR) ; v5.12 28 Aug 94 Info-ZIP (Zip-Bugs subgroup, GRR) ; v5.2 30 Apr 96 Info-ZIP (Zip-Bugs subgroup, GRR) ; v5.3 22 Apr 97 Info-ZIP (Zip-Bugs subgroup, GRR); v5.31 31 May 97 Info-ZIP (Zip-Bugs subgroup, GRR)e; v5.32 3 Nov 97 Info-ZIP (Zip-Bugs subgroup, GRR) AInfo-ZIP 3 November 1997 (v5.32) 16oe or more filestA failed due to unsupported compression meth- 3 ods or unsupported decryption. A 82 no files were found due to bad decryptionoA password(s). (If even one file is success-mA fully processed, however, the exit status isr 1.)A VMS interprets standard Unix (or PC) return values as A other, sc1*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP.HLP;1+,56./U 4N-580@123KPWO56zϛ7zϛ89GUHJt)~UNZ532X-VMS-VAX-VAXC-OBJ.BCK56581[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP.HLP;1N(1 UNZIPH UnZip is used to extract files compressed and packaged by Zip (see% HELP ZIP for information on ZIP).H For a brief help on Zip and Unzip, run each without specifying anyH parameters on the command line, or specify the -h flag (but not in UnZip's Zipinfo mode).H UNZIP will list, test, or extract from a ZIP archive. ZIP archivesH are commonly found on MS-DOS systems; a VMS version of ZIP can also be found here.H Archive member extraction is implied by the absence of the -c, -p,H -t, -l, -v or -z options. All archive members are processed unlessH a filespec is provided to specify a subset of the archive members. Format:N UNZIP [-cfhlptuvxz[ajnoqCLMVX]] file[.zip] [list] [-x xlist] [-d out_dir] 2 Parameters file[.zip]H File specification for the ZIP archive(s) with optional wildcards.H UnZip will perform actions specified for every zipfile matching theH specification. Default file specification is SYS$DISK:[].ZIP. NoteH that self-extracting ZIP files are supported; just specify the .EXE suffix yourself.[list]H An optional list of archive members to be processed; if no list isH given, all archive members are processed. Expressions may be usedH to match multiple members. Expressions should be enclosed inH double-quotes to prevent interpretation by DCL. Multiple filenamesH should be separated by blanks. Each file specification is similar/ to a Unix egrep expression and may contain:; * matches a sequence of 0 or more characters, ? matches exactly 1 characterH [...] matches any single character found inside the brackets;? ranges are specified by a beginning character,D a hyphen, and an ending character. If a '!' or '^'I immediately follows the left bracket, then any character3 not in the given range is matched. [-x xlist]H An optional list of archive members to be excluded from processing.> The xlist overrides any files included in the normal list. [-d out_dir]H Optional directory specification to be used as target root directoryH for files to be extracted. Directory should be specified in; "[.foo]" format rather than "foo.dir" or "foo/" format. 2 OptionsH The default action of UnZip is to extract all zipfile entries. The4 following options and modifiers can be provided: -Z ZipInfo mode2 -c extract files to SYS$OUTPUT (terminal)B -f freshen existing files (replace if newer); create none3 -h show brief help screen and exit quietly- -l list archive files (short format)B -p extract files to SYS$OUTPUT; no informational messages -t test archive files< -u update existing files; create new ones if needed/ -v list archive files (verbose format), -z display only the archive comment MODIFIERS? -a extract text files in standard VMS text file format% -aa extract all files as textN -b auto-extract only binary files in VMS fixed 512-byte record formatK -bb extract all files as binary in VMS fixed 512-byte record formatE -j junk paths (don't recreate archive's directory structure)8 -n never overwrite existing files; don't prompt3 -o OK to overwrite files without prompting< -q perform operations quietly (-qq => even quieter). -C match filenames case-insensitivelyJ -L convert filenames to lowercase if created under DOS, VMS, etc.< -M feed screen output through built-in "more" pagerN -P supply decryption password on the command line (insecure!)- -V retain (VMS) file version numbersB -X restore owner/protection info (may require privileges)H Note that uppercase options (-C, -L, -M, -P, -V and -X) must be& specified in quotes. For example: unzip "-VX" -a zipfileH The output conversion options -b and -a may be combined to performH binary conversions on binary files and text conversion on textH files. But note: For compatibility with implementation on otherH systems, -b cancels any -a option; to get the intended result, -aH must be specified AFTER -b. And, in combination, "text" recognitionH takes precedence; this means that -bb has the same effect as -b, and2 -aa overrides binary conversion for ALL files.H Please note that using the "-P" option is higly insecure,H the plaintext password may be seen by others. For this reason (andH because of lack of space), the "-P" option is not- advertised on UnZip's online help screen. 2 Exit_CodesH On VMS, UnZip's UNIX style exit values are mapped into proper VMS status codes:> 1 (success) normal exit,3 (0x7fff0000 + 16*UnZip_errnum) -W- warnings8 (0x7fff0002 + 16*UnZip_errnum) -E- normal errors7 (0x7fff0004 + 16*UnZip_errnum) -F- fatal errorsH The UnZip error level (or exit code) approximates the exit codes8 defined by PKWARE and takes on the following values:& VMS UnZip Type of error severity errcode@ - 0 normal; no errors or warnings detected.E W 1 one or more warning errors were encountered,E but processing completed successfully any-E way. This includes zipfiles where one orE more files was skipped due to unsupportedE compression method or encryption with an* unknown password.E E 2 a generic error in the zipfile format wasE detected. Processing may have completedE successfully anyway; some broken zipfilesE created by other archivers have simple work-! arounds.E F 3 a severe error in the zipfile format wasE detected. Processing probably failed imme-! diately.E F 4 unzip was unable to allocate memory for oneE or more buffers during program initializa- tion.E F 5 unzip was unable to allocate memory orE unable to obtain a tty to read the decryp-* tion password(s).E F 6 unzip was unable to allocate memory during/ decompression to disk.E F 7 unzip was unable to allocate memory during1 in-memory decompression.- F 8 [currently not used]? E 9 the specified zipfiles were not found.E E 10 invalid options were specified on the com-# mand line.6 E 11 no matching files were found.E F 50 the disk is (or was) full during extraction.E F 51 the end of the ZIP archive was encountered% prematurely.E E 80 the user aborted unzip prematurely with con-, trol-C (or similar)E E 81 no files were found due to unsupported com-E pression methods or unsupported decryption.E (If even one additional file is successfullyC processed, however, the exit status is 1.)E E 82 no files were found due to bad decryptionE password(s). This is also the exit statusE if no files were found due to a combinationE of unsupported compression and bad pass-E words. As in the previous case, however, asE single successful file will result in ani3 exit status of 1 instead.)aH In addition, there is a compilation option to expand upon thisH behavior: An executable compiled with the option RETURN_CODESH defined displays a human-readable explanation of what the error status means.o2 Logical_NamesrH UnZip allows to modify its default behaviour by specifying optionH defaults via the UNZIP_OPTS logical name. For example, theH following will cause UnZip to restore owner/protection information; and perform all operations at quiet-level 1 by default:l define UNZIP_OPTS "-qX"iH Note that the quotation marks here are required to preserveH lowercase options (opposite of the command-line behavior). ToH negate a default option on the command line, add one or more minusH signs before the option letter, in addition to the leading switch character `-': unzip --ql zipfile or unzip -l-q zipfileH At present it is not possible to decrement an option below: zero--that is, more than a few minuses have no effect.H UNZIP_OPTS may be defined as a symbol rather than a logical name,? but if both are defined, the logical name takes precedence. 2 Authors H Info-ZIP; currently maintained by Greg Roelofs. VMS supportH maintained by Christian Spieler and Hunter Goatley. Originally+ based on a program by Samuel H. Smith.t= VMS on-line help ported from UNZIP.DOC by Hunter Goatley.rter found inside the brackets;? ranges are specified by a beginning character,D a hyphen, and an ending character. If a '!' or '^'I immediately follows the left bracket, then any character3 not in the given range is matched. [-x xlist]H An:*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP.VAX_VAXC_OLB;1+,A7O.b/U 4bc-580H123 KPWOc5(6  CHECKDIR CHECK_FORMATCHECK_FOR_NEWER CLOSE_OUTFILE3CRC329DECRYPT9 DECRYPT_BYTE'DEFER_LEFTOVER_INPUTDOS_TO_UNIX_TIME' DO_STRINGDO_WILDECHO?ENVARGSCEXPLODEVEXTRACT_OR_TEST_FILESFIND_VMS_ATTRSFLUSHVFNFILTERFNPRINT6FREE_CRC_TABLEFREE_G_BUFFERSGETP GET_CDIR_ENT6 GET_CRC_TABLEGET_TIME_STAMP GLOBALSCTOR'HANDLER HUFT_BUILD3CRC326CRCTAB9CRYPT?ENVARGSCEXPLODEVEXTRACT'FILEIOGLOBALSINFLATELISTMATCHPROCESSTTYIOUNREDUCEHUNSHRINKUNZIPVMSZIPINFOUNZIP9 UPDATE_KEYSUSAGE'UZPINPUT'UZPMESSAGEPRNT' UZPMOREPAUSE' UZPPASSWORDUZ_END_CENTRALUZ_OPTSVERSIONZGETCHZIPINFOZI_END_CENTRALZI_OPTS' ZSTRNICMPD HUFT_BUILDMAKELONG UNDEFER_INPUT ZSTRNICMPO'MAKEWORDMAPATTRMAPNAMEMATCHV MEMEXTRACTVMEMFLUSH'OPEN_INPUT_FILE OPEN_OUTFILEPROCESS_CDIR_FILE_HDRPROCESS_LOCAL_FILE_HDRPROCESS_ZIPFILESRATIO'READBUF'READBYTE RETURN_VMS SCREENLINES STAMP_FILE'STR2OEM' UNDEFER_INPUT HUFT_FREEINFLATE INFLATE_CODES INFLATE_FREE9 INIT_KEYSISWILD LIST_FILESMAIN'MAKELONG  !"#$%&'()*'-~UNZ532X-VMS-VAX-VAXC-OBJ.BCKA7O58:[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP.VAX_VAXC_OLB;1b|*+,-./01241tEԛV1.02CRC32V1.013-NOV-1997 23:59VAX C V3.2-044ZR CRC32 crc32  C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM GET_CRC_TABLE <CRC32$CODE$DATASTDIN5STDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDPGEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITHr,P<^ЬSЬRP GET_CRC_TABLȄSެ Ue1TSTʏTSQD`QSTSTʏTSQD`QSTSTʏTSQD`QSTSTʏTSQD`QSTSTʏTSQD`QSTSTʏTSQD`QSTSTʏTSQD`QSTSTʏTSQD`QSee1=լ TSTʏTSQD`QS׬ ͏SPww of -c, -l, -p, -t, -u and -v options invalid Pcaution: both -n and -o specified; ignoring -o Pvms.cP unzip "-V" foo "Bar" => must quote uppercase options and filenames in VMS 'P"-X" restore owner/protection infoJP "-M" pipe through "more" pager P* or % (e.g., "*font-%.zip")PZipInfo %d.%d%d%s of %s, by Greg Roelofs and the 7141ԛV1.0i3CRCTABV1.013-NOV-1997 23:59 VAX C V3.2-044R CRCTABmake_crc_tableZ\ get_crc_tablegfree_crc_table 2*G. C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$8RMS_XABTRMMALLOCFREE \| GET_CRC_TABLE FREE_CRC_TABLE$CODE$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGbFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITHP<^<~MALLOCPUTeSTRQ RR\͏ \PPRPPRQRcSTUP|^VfQ<~MALLOCPU@TSTRQ RR\͏ \PPRPPRQRcSTUfP^\l lFREElwwhod not supported)UPLZW_CLEAN (PKZIP/Zip 1.x unshrinking method not supported)PTIMESTAMPP [decryption, version %d.%d%s of %s] P22 April 1997PUnZip %d.%d%d%s of %s, by Info-ZIP. For more details see: unzip -v. PUnZip %d.%d%d%s of %s, by Info-ZIP. Maintained by Greg Roelofs. Send bug reports to the authors:1ԛV1.0.2CRYPTV1.013-NOV-1997 23:59VAX C V3.2-044P^PˏQQQ\Q\\\ˏ\P ^R PʏPS Q@cQ ˏ QQ ŏ QQQ PPʏPSQ@cQЬP^RЏxV4 ЏgE# ЏxV41PT TPʏPS Q@cQ ˏ QQ ŏ QQQ PPʏPSQ@cQ;֬1sP^R\DEFER_LEFTOVER_INPUT\lS PREADBYTEPSSTЭ\TL  UNDEFER_INPUT\բxcԢxբ<@SQ~MALLOCPPP~STRNCPYFREE߭ϭPPPQ~MALLOCPPQ~߭bE\lPSSFREEPS \lԭ߭!PPSխP^SݬOPT<ESTRLENPPMALLOCPRPRSTR2OEMPݬPTRFREETP ^RЬTЏxV4 ЏgE# ЏxV4d1dU UPʏPS Q@cQ ˏ QQ ŏ QQQ PPʏPSQ@cQTd1v ݬ߭MEMCPYWTdSˏVVVPVPPPʏPPSddU UPʏPS Q@cQ ˏ QQ ŏ QQQ PPʏPSQ@cQT WNYA C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM INIT_KEYS UPDATE_KEYS DECRYPT_BYTESTR2OEMREADBYTEDEFER_LEFTOVER_INPUT UNDEFER_INPUTMEMCPYSTRLENSTRNCPYMALLOCFREE DECRYPT_BYTE 0 UPDATE_KEYS  INIT_KEYS DECRYPT'$CODE$DATASTDIN!STDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITHTPʏPS Q@cQ ˏ QQ ŏ QQQ PPʏPSQ@cQUVPVP1HPwwS”ì”PPPhVSc1@1yԛV1.0|4ENVARGSV1.013-NOV-1997 23:59VAX C V3.2-044Penvargs: cannot get memory for argumentsP^Tݬ GETENVPUeRRRBdUePPP@dUe,ݬGETENVPUeRRRBdUePPP@dUeUSTRLENPPMALLOCPSPERROR RETURN_VMSUSSTRCPYSRVVbP PPP@dRbP PPP@dbQ$QPPP@dPRbQ QPPP@dQVWWRRxR~MALLOCAPVSFREEPERROR RETURN_VMSVXVPVЬUeRebScP$ˏPQAdPScP ˏPQAdPcPRENVARGSenvargs count_argsjPmem_err c+ C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABBPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM RETURN_VMSSTRLENSTRCPYPERRORMALLOCFREEGETENV ENVARGSl$CODE*$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSGV ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITH!ˏPQAdScP ˏPQAdPެPWװScRcbװfXW ^RSPSP!PPP@b֬P PPP@b됼Q#QPPP@b֬Q QPPP@bQSPP^PERROR RETURN_VMSwwfPb9ScVERSIONŴfPb9ScfPb9ScTUfPb9ScTŐfPb9ScTŚfPb9ScT#fPb9ScD1VԛV1.04EXPLODEV1.013-NOV-1997 23:59VAX C V3.2-044P  !"#$%&'()*+,-./0123456789:;<=>?@A  !"#$%&'()*+,-./0123456789:;<=>?@AB~PAAAAAAAAA A  A  A  A  A E AA     P^RP`U PREADBYTEPUUWTP`U PREADBYTEPUUSˏSVVˏSPPPPSTSPPPQTPTV@aSWTSSSPP4^UY|S(ެоVPZYPPRRVZV~YV~RYRZYQYZPZ@ARYY0Ԯ(Yծ,1Cծ 1+YFLUSHńRSTTRńLRRTRŌPPP4^UY|S(ެоVPZYPPRRVZV~YV~RYRZYQYZPZ@ARYY0Ԯ(Yծ,1Cծ 1+YFLUSHńRSTTRńLRRTRŌPPP,^VY|S ެ оUPZYPPRRUZU~YU~RYRZYQYZPZ@ARYY(Ԯ Yծ$1Cծ1YFLUSHƄRTSSRƄLRRSRƌPPP,^VY|S O оUPZYPPRRUZU~YU~RYRZYQYZPZ@ARYY(Ԯ Yծ$1Cծ1YFLUSHƄRTSSRƄLRRSRƌPPP^TRĄ\\@ PPPP<@\\1 <~KPSSP߭߭|~<~<~ HUFT_BUILDPSS ݭ HUFT_FREESP@~PSSP߭߭€@~ HUFT_BUILDPSS ݭ HUFT_FREEݭ HUFTR_FREESP@~ϩPSSP<@\\i߭߭@~ HUFT_BUILDPS'S ݭ HUFT_FREEݭ HUFT_FREEݭ HUFT_FREESPݭݭݭݭݭݭPSgP߭߭€@~ HUFT_BUILDPS'S ݭ HUFT_FREEݭ HUFT_FREEݭ HUFT_FREESPݭݭݭݭݭݭ PSݭ HUFT_FREE\lݭlݭl10P@~ϛPSSP߭߭b@~ HUFT_BUILDPSS ݭ HUFT_FREESP@~PPSSP<@\\X߭߭@~S HUFT_BUILDPSS ݭ HUFT_FREEݭ HUFT_FREESPݭݭݭݭ϶PSV߭߭€@~ HUFT_BUILDPSS ݭ HUFT_FREEݭ HUFT_FREESPݭݭݭݭ"PSݭ0REXPLODEget_tree explode_lit8@ explode_lit4 explode_nolit8explode_nolit4Texplode5  T ?U C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM HUFT_BUILD HUFT_FREEFLUSHREADBYTEMEMSETMEMCPY TEXPLODE$CODE$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITH$ HUFT_FREEݭ HUFT_FREESPww^Tݬ GETENVPUeRRRBdUePPP@dUe,ݬGETENVPUeRRRBdUePPP@dUeUSTRLENPPMALLOCPSPERROR RETURN_VMSUSSTRCPYSRVVbP PPP@dRbP PPP@dbQ$QPPP@dPRbQ QPPP@dQVWWRRxR~MALLOCW1LԛV1.0V4EXTRACTV1.013-NOV-1997 23:59VAX C V3.2-044P skipping: %-22s need %s compat. v%u.%u (can do v%u.%u) 

PVMSBPPK\EP[empty] NP[text] WP[binary]`PtestgPextractqP sPexplod|P PerrorPwarningP P [P]P PerrorPwarning C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMFNFILTER MEMEXTRACTDECRYPT CLOSE_OUTFILEMAPNAMEMAPATTRCRC32MATCHINFLATEEXPLODEFNFIL]TER MEMEXTRACTMAKELONGMAKEWORD DO_STRINGCHECK_FOR_NEWERFLUSHREADBYTEREADBUFDEFER_LEFTOVER_INPUTP P.PinflatP P%-22s P OK P P%-22s P%-22s P P%-22s P P OK Pp^YRT<ԭW|Z2Ԯ4§Fxբd%xd~MALLOCPZSբd PCjSSdբh#xh~MALLOCP[Sբh CkSShF1 SPRINTFXLSEEK,READ(READBUF$STRNCMP ^PROCESS_LOCAL_FILE_HDR DO_STRINGFNFILTER8FREESTRCHR MAPNAMECHECK_FOR_NEWERFGETSPSTRLENLDECRYPTԮHF1ѮH@1 DO_STRINGUMATCHSPFH\L§˜READBUFP 3WF1P4˜STRNCMPP]<~ݮL SPRINTFPb9\l<~SPRINTFPb9\lWF1&PROCESS_CDIR_FILE_HDRP PWF1ߩ*\@\~HPĩhPb9\l1:S12W1*W1$PP\ PLP?Pբ=13բ41բ8%բ41բLխ1բ8խ1~\@\~DPhPb9\l \P,hPb9\lNWW\\A1\PPAz P~?PPn1Pn  P1F?P8Ԣ41P~hPb9\l<~\PPdP\L ׭Э\Lխ16P4Ԣ81$P~$hPb9\l1G\1PS1SVբDբ@EբDբ@;<~\@\~DPĽhPb9\l1SWSW<~\@\~DPđhPb9\lAPP/PWPWZ ZFREE[ [FREEWP֮@Ѯ@H1ݭ8P< ~4ЭЭ֭赮F1cZRUբdBEj5SEcSPRINTFPb9e\lW WUUdZFREE[OUբh?PEk0<~”SEcSPRINTFPb9\lUUh[FREE˜READBUFP3W9˜STRNCMPPW<~ SPRINTFPb9Sc<~SPRINTFPb9ScWW֮<բD1<XX<Ѣ@1rWBW ީ,UPީ+UUCSPRINTFPb9Sc1PЭV.mSPRINTFPb9Sc~Pբl7<2SXS.@SPRINTFPb9ScfBPV ީ7UPީ5UUVnSPRINTFPb9Sc<2U8Uީ:VPީ8VVUĢSPRINTFPb9Sc<UpUީ=Vީ;VVUSPRINTFPb9Sc8բ@2W.խ)mSPRINTFPb9Scծ<W<2S QWBP W:P<UѮ\@\~FNFILTERPdSPRINTFPb9\lPZSS1բDբ@1բDբ@1<~QZP \\\P\QPQP{\PPQQ~QSP \ \P Q{\PQPQߥB\@\~FNFILTERPdSPRINTFPb9\lP<^\\\\ h\\1բDբ@1բDբ@1<^SS O<~<^\L\@\~FNFILTERPߤsSPRINTFPb9\lC<~S\@\~FNFILTERPߤ<SPRINTFPb9\lPMAPATTR~2P^USVޥEYޥN[ޥWnZ|գDRգ@{ߥfߥeR@R~FNFILTERPߥ`ƃSPRINTFPc9\l1Pգ  OPEN_OUTFILEP2P OPEN_OUTFILEP2PDEFER_LEFTOj~UNZ532X-VMS-VAX-VAXC-OBJ.BCKA7O58:[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP.VAX_VAXC_OLB;1b.B|hiVER_INPUTR>ScbRST< """<SʏSxRRS$L|~$|~~ SYS$QIOWPSS2SSSȱ SYS$DASSGNPipliy}uiuuq P^VWZXY\1TOLOWERSPSPRINTFPg9RbhFFLUSHh ߭FGET{SPDRRRBjR3~cPo#~cPv~cPn1xRRRBj~TOLOWERPP\\PPnP1^?P[s(` CC$RMS_NAM񭒞4R4R(4 SYS$CREATEP[[84RԢ(4R44RBP4R4 SYS$CREATEP[[P^[ZX'Ԯ4|<|D|TծPS>RcbSRTm|~$|~2 SYS$QIOWPSS2SSS( SYS$DASSGNPЬRDSR߭ LOCALTIME`ݠݠl~РRB ǚSPRINTFS SYS$BINTIMDLMEMCPYЏ T>S>RcbSRTm|~$|~6  SYS$CONNECT SYS$CLOSE SYS$BINTIM SYS$ASSIGNCHECKDIRCRC32 MEMEXTRACT ZSTRNICMPSTAT LOCALTIMETIMEMEMCPYSTRLENSTRRCHRSTRCMPSTRNCPYSTRCPYTOLOWERFFLUSHSPRINTFFGETSEXITMALLOCFREEUMASKUMASKMKDIR | CHECK_FORMAT OPEN_OUTFILE FIND_VMS_ATTRS ( FLUSH p CLOSE_OUTFILE @"DOS_TO_UNIX_TIME x# STAMP_FILESYS$QIOWPSS2SSS5 SYS$DASSGNP SYS$DASSGNPP3 PPP^TRSԭ|~߭߬LIB$SYS_GETMSGP-ݬݬSSPRINTFPb9P`PЭP@ݬjSPRINTFPb9P`|^Vx ݬSTRCMPP1ݬSTRCPYx (P CC$RMS_FAB  STRLENؐP |     (` CC$RMS_NAM !      SYS$PARSEPPx   SYS$SEARCHP2ݬSTRCPYP  SYS$SEARCHP x P RBP<^SRzT 1   SYS$SETDFPROTPFˏU  ˏ  ˏ  ˏ  1PUMASKP PUMASK  ˏ \x L   \ʏ\xL   \ʏ\xL  x    \ \ \ \Ь PP)P1P?PTTˏT\x L PT\ʏ\xL \\PT\ʏ\xL \\PUTȏU\UaPT\ˏ\T\xTP P P P/ UT TxTPTPxT\\Px T\\PPU\UPP^[UWTVZ|X1ԛV1.04GLOBALSV1.013-NOV-1997 23:59VAX C V3.2-044cRGLOBALS globalsCtor a  C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMMEMSET UZPPASSWORD UZPMOREPAUSEUZPINPUTUZPMESSAGEPRNT  GLOBALSCTOR$CODE$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITH$CHAR_STRING_CONSTANTSZP* PP^T SRP Pctx=stmP  P[%s] %s password: PEnter password: .Ppassword incorrect--reenter: LPbus errorVPsegmentation violationmP[ %s ] P^R|~OPENP2<~ALS 8ԛ SPIELER INFLATE4@ԛ SPIELER LIST ԛ SPIELER MATCH T ԛ SPIELER PROCESSʃԛ SPIELER TTYIO!ԛ SPIELER UNREDUCE!4ԛ SPIELER UNSHRINK i ԛ SPIELER ZIPINFOP]ԛ SPIELER VMS1ԛV1.04INFLATEV1.013-NOV-1997 23:59VAX C V3.2-044PP      #+3;CScsPPcc !1Aa  0@` P P(incomplete l-tree) P(incomplete d-tree) P ^V1T5S-XЬ U case %s conversion) P%7lu %-7s%7lu %4s %02u-%02u-%02u %02u:%02u %08lx %c8P ------ ------ --- ------- %7lu %7lu %4s %u file%s P%7lu %02u-%02u-%02u %02u:%02u %cP ------ ------- %7lu %u file%s "PNXFS'PStored/PShrunk7PReduce1?PReduce2GPReduce3OPReduce4WPImplode_PTokengPDefl:#oPEnhDeflwPImplDCLPUnk:###P%s %s P%03u PsPsP P^S[ZԮRѣPRRԮ|ѣ@pգ(6RBBSPRINTFPc9Rb6RBBSPRINTFPc9RbԮ<RѮR1zU DO_STRING MATCHYSPRINTF,ØREADBUFP3P4ØSTRNCMPPW<~ݮ  SPRINTFPc9Rb<~SPRINTFPc9RbPPROCESS_CDIR_FILE_HDRPLf0<~ÐRLbSPRINTFPc9Rb\\dVFREEWP\գh@PLg0<~ÔRLbSPRINTFPc9PIELER UNREDUCE!&M|ϛ SPIELER UNSHRINK  |ϛ SPIELER ZIPINFOa|ϛ SPIELER VMS HDMӛ SPIELER EXTRACTyMӛ SPIELER VMS]۔ԛ SPIELER UNZIP_ԛ SPIELER CRC32!ԛ SPIELER CRCTABԛ SPIELER CRYPT Tԛ SPIELER ENVARGS t+yԛ SPIELER EXPLODE T6[ԛ SPIELER EXTRACTFԛ SPIELER FILEIO tiԛ SPIELER GLOBRb\\hWFREE<RZ ZZP^XUVԮмR~R/R+R~~SPRINTFPe9Rb~Se9RbQR>ScbRST< """<SʏSxRRS$L|~$|~~ SYS$QIOWPSS2SSSȱ SYS$DASSGNPipliy}uiuuq P^VWZXY\1TOLOWERSPSPRINTFPg9RbhFFLUSHh ߭FGETSPDRRRBjR3~cPo#~cPv~cPn1xRRRBj~TOLOWERPP\\PPnP1^?P[s(` CC$RMS_NAM񭒞4R4R(4 SYS$CREATEP[[84RԢ(4R44RBP4R4 SYS$CREATEP[[P^[ZX'Ԯ4|<|D|TծPS>RcbSRTm|~$|~2 SYS$QIOWPSS2SSS( SYS$DASSGNPЬRDSR߭ LOCALTIME`ݠݠl~РRB ǚSPRINTFS SYS$BINTIMDLMEMCPYЏ T>S>RcbSRTm|~$|~6  SYS$CONNECT SYS$CLOSE SYS$BINTIM SYS$ASSIGNCHECKDIRCRC32 MEMEXTRACT ZSTRNICMPSTAT LOCALTIMETIMEMEMCPYSTRLENSTRRCHRSTRCMPSTRNCPYSTRCPYTOLOWERFFLUSHSPRINTFFGETSEXITMALLOCFREEUMASKUMASKMKDIR | CHECK_FORMAT OPEN_OUTFILE FIND_VMS_ATTRS ( FLUSH p CLOSE_OUTFILE @"DOS_TO_UNIX_TIME x# STAMP_FILESYS$QIOWPSS2SSS5 SYS$DASSGNP SYS$DASSGNPP3 PPP^TRSԭ|~߭߬LIB$SYS_GETMSGP-ݬݬSSPRINTFPb9P`PЭP@ݬjSPRINTFPb9P`|^Vx ݬSTRCMPP1ݬSTRCPYx (P CC$RMS_FAB  STRLENؐP |     (` CC$RMS_NAM !      SYS$PARSEPPx   SYS$SEARCHP2ݬSTRCPYP  SYS$SEARCHP x P RBP<^SRzT 1   SYS$SETDFPROTPFˏ  ˏ  ˏ  ˏ  1PUMASKP PUMASK  ˏ \x L   \ʏ\xL   \ʏ\xL  x    \ \ \ \ЬPP)P1P?PTTˏT\x L PT\ʏ\xL \\PT\ʏ\xL \\PUTȏU\UaPT\ˏ\T\xTP P P P/ UT TxTPTPxT\\Px T\\PPU\UPP^[UWTVZ|X' CHECKDIRPSSTRCPYSPSեSSp CHECKDIRP  PP`Sե /STRRCHRPTT TPTR1 PXRX1RPP *P1P?PcCHECKDIRPYYYPSZV1_zP _flush_qio _flush_varlenhfind_eolg _flush_streamQ$ WriteBuffer WriteRecordp close_outfile1 _close_rms  _close_qioh!mkgmtime@"dos_to_unix_time#uxtime2vmstimehx# stamp_file]%vms_msg&do_wild/'mapattr))mapname,checPSP"d/Ted._/Y..TOPSZ_CPV_fSV;0_*PˏRQAgPAg R$R-R_R1cV9VP`RʏRBgPP`RʏRBg`_fեTfZ.jSTRLENP@/[tCHECKDIRCHECKDIR 3ե@)uSPRINTFPe9RbMPP-ˆSPRINTFPe9RbPCHECKDIRCHECKDIRYP ^XWZVˏY1ذԭܴԭ䴭||         | ЬݬSTRLENP must quote uppercase options and filenames in VMS 'P"-X" restore owner/protection infoJP "-M" pipe through "more" pager P* or % (e.g., "*font-%.zip")PZipInfo %d.%d%d%s of %s, by Greg Roelofs and the  fine folks at Info-ZIP. List name, date/time, attribute, size, compression method, etc., about files in list (excluding those in xlist) contained in the specified .zip archive(s). "file[.zip]" may be a wildcard name containing %s. usage: zipinfo [-12smlvChMtTz] file[.zip] [list...] [-x xlist...] or: unzip %s-Z%s [-12smlvChMtTz] file[.zip] [list...] [-x xlist...] _P main listing-format options: -s short Unix "ls -l" format (def.) -1 filenames ONLY, one per line   -m medium Unix "ls -l" format -2 just filenames but allow -h/-t/-z -l long Unix "ls -l" format -v verbose, multi-page format Pmiscellaneous options: -h print header line -t print totals for listed files or for all -z print zipfile comment %c-T%c print file times in sortable decimal format %c-C%c be case-insensitive %s -x exclude filenames that follow from listing P "-M" page output through built-in "more" PUn Zip special compilation options: P %s P UnZip and ZipInfo environment options: P%16s: %s P[none]PCOPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)UPLZW_CLEAN (PKZIP/Zip 1.x unshrinking method not supported)PTIMESTAMPP [decryption, version %d.%d%s of %s] P22 April 1997PUnZip %d.%d%d%s of %s, by Info-ZIP. For more details see: unzip -v. PUnZip %d.%d%d%s of %s, by Info-ZIP. Maintained by Greg Roelofs. Send bug reports to the authors at Zip-Bugs@lists.wku.edu; see README for details. ePLatest sources and executables are at ftp://ftp.cdrom.com/pub/infozip/ , as of above date; see http://www.cdrom.com/pub/infozip/UnZip.html for other sites.  PUsage: unzip %s[-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] Default action is to extract files in list, except those in xlist, to exdir; file[.zip] may be a wildcard. %s  P"-Z" => ZipInfo mode (`unzip "-Z"' for usage). P=> define foreign command symbol in LOGIN.COM: $ unzip :== $dev:[dir]unzip.exe A P -p extract files to pipe, no messages -l list files (short format) -f freshen existing files, create none -t test compressed archive data -u update files, create if necessary -z display archive comment -x exclude files that follow (in xlist) -d extract files into exdir %s r Pmodifiers: -q quiet mode (-qq => quieter) -n never overwrite existing files -a auto-convert any text files -o overwrite files WITHOUT prompting -aa treat ALL files as text -j junk paths (do not make directories) -v be verbose/print version info %c-C%c match filenames case-insensitively %c-L%c make (some) names lowercase %-42s %c-V%c retain VMS version numbers %s! PExamples (see unzip.doc for more info): unzip data1 -x joe => extract all files except joe from zipfile data1.zip %s unzip -fo foo %-6s => quietly replace existing %s if archive file newer PiiP-ZP-d P-x P%d P"P"P Remember that non-lowercase filespecs must be quoted in VMS (e.g., "Makefile"). jP[-Z] P^ C$MAIN_ARGS GLOBALSCTORݬݬUNZIPP RETURN_VMSP^W ZRUHANDLERTTSIGNALScTcT cT cSѬSS`]~ݼSTRRCHRPTмTPTT ZSTRNICMPP.gT ZSTRNICMPPѬBߧЬSݣSTRNCMPP+bߥ!ߥ߬߬ENVARGS߬߬ZI_OPTSPS'Pb e߬߬ENVARGS߬߬UZ_OPTSPSլSSPЬScЬdԢhլ1VYTԢlЬTSc1Pբ1ߧcSTRNCMPP1cTPSPPXVcSPPdV C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMCHECKDIRVERSIONENVARGS GLOBALSCTOR RETURN_VMS ZSTRNICMPHANDLERZI_OPTSPROCESS_ZIPFILESUSAGEUZ_OPTSUNZIPISATTYSIGNALSTRRCHRSTRNCMPSTRCMPSPRINTFGETENV MAIN ,UNZIPPY c”SPPhT6SccT)<~ߥRSPRINTFPb9P` PբtPբPPpTCHECKDIRP&<~ߥ,SPRINTFPb9P`X1գSìPPPdjPljԢdjPYSߧ cSTRCMPP@YS jԢdVcSPPdVS”ì”PPPhVSc1lPROCESS_ZIPFILES^RU|YTмVмWVX1KW-1?SPRINTF[gPPQPSaV1V-11VC1VPPC7P1q ?PT1fPTTPPQQQT1H֢1APTTPPQQQT1$բ֢Ԣ1PTԢ T1 1TԢT11T)<~RSPRINTFPb9P` Pբ*<~ŕSPRINTFPb9P` PSYidX6XWgYi-R<~ߥRSPRINTFPb9P` P<~ߥRSPRINTFPb9P` Pc1Sc1Sc1P1T ԢLԢT1L1USAGET Ԣ T1P 1TTPPPQQQPT1֢P1PTԢ(T1(1TԢ,T1{,1tTԢ4T1g41`TT8PPQQQ8T1D֢81=PT Ԣ @PPQQQ@T1 @1T*<~SPRINTFPb9P` Pբ<1XWggP`-T<~SPRINTFPb9P` P<~SPRINTFPb9P` Pc1KSc1BPSc16PTT@PPQQQ@T1֢@1PTԢDT1D1TԢHT1H1TԢLT1L1T (T1PԢ(1PTTPPPQQQPT1բP֢P1P1TԢTT1TyPuPTTXPPQQQXTYP֢XRPTT\PPQQQ\T5P֢\.P<~ kPb9P`ZZV1X W-1բ բDբ բLբDբL բ.բ4)<~USPRINTFPb9ScZѢѢբ8.բ4)<~ŢSPRINTFPb9ScԢ8բ,ISATTYPԢ,XSXSZ1XWѢP1X1Ѣ@-<~ SPRINTFPb9Sc1uTSPRINTFVfPb9ScefPb9ScVERSIONŴfPb9ScfPb9ScTUfPb9ScTŐfPb9ScTŚfPb9ScT#fPb9ScSPRINTFPb9SceGETENVP`TPTTeSPRINTFPb9Scߥ GETENVP`TPTTߥ SPRINTFPb9ScߥGETENVP`TPTTߥSPRINTFPb9Scߥ!GETENVP`TPTTߥ!SPRINTFPb9ScPբ`Z ZZUSAGEբ բDբP բ\բHԢttբHբtSբSSpYCHECKDIRP&<~ߥ,SPRINTFPb9ScXWP^TRSЬWPPPPVb1VߤߤÖߤóSPRINTFU ePb9P`V_ePb9P`VÉ""""ÅePb9PR UNZIP main, ,unzipuz_opts  usage s 1$ 5    &7!G UZ_OPTS USAGE C$MAIN_ARGS$CODE $DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG" MASK_BITSFNAMESOEM2ISOF CENTSIGMSGI ENDSIGMSG<SEEKMSG$FILENAMENOTMATCHED-EXCLFILENAMENOTMATCHED REPORTMSG# COMPILEDWITH VERSIONDATEZIPNFOGUNZIPUSAGELINE1p$CHAR_STRING_CONSTANTSr`VߤePb9P`1 PVߤiSPRINTFUePb9P`V ߤj ePb9P`WV ePb9P`V&A SPRINTFUePb9P`VJ""'""""r  ePb9P`V! ePb9P`լ PP|PL`\t(t,pww|~0 SYS$QIOPQPQ2P<~;T RPRRSPRINTFPc9\lTRPRRZM<~R@R~FNFILTERPoSPRINTFPc9\l UNDEFER_INPUTPգD CLOSE_OUTFILEVJ?PPO X~jSPRINTFPb9P`1PSPRINTFPb9P`1PšSPRINTFPb9P`1PˏTPP'SPRINTFPb9P`[PxTP ~UNZ532X-VMS-VAX-VAXC-OBJ.BCKA7O58:[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP.VAX_VAXC_OLB;1b|"# *     *    $ E        *  %      UNDEFER_INPUT OPEN_OUTFILEPROCESS_LOCAL_FILE_HDRPROCESS_CDIR_FILE_HDRREADLSEEKMEMCPYSTRLENSTRCHRSTRNCMPSPRINTFFGETSMALLOCFREE EXTRACT_OR_TEST_FILES " MEMEXTRACT |$ MEMFLUSH $ FNFILTER%$CODEh&$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITH)TRUNCEAS5 TRUNCNTSD$CHAR_STRING_CONSTANTSݬCRC32PZ@բD<V4<~ZP.SPRINTFPb9P`VVP ^RѬ2PЬSSݬMEMCPYSSSP ^ЬSЬRc&PcPP ^P@PPcݔbЬP#PAj PfPOwwPPy P P P0H PtV P"6TwwaPT\ˏ\T\xTP P P P/ UT TxTPTPxT\\Px T\\PPU\UPP^[UWTVZ|X(1BԛV1.03FILEIOV1.013-NOV-1997 23:59PVAX C V3.2-044P??'".^%So??YϾ󨷵ǎԐѥ噞ᅠƄФ P׃Ѫ++++--+-+++---+i++_̯յݯ=Perror: cannot open zipfile [ %s ] $Perror: zipfile read error @Pwarning: filename too long--truncat)ing. jPwarning: extra field too long (%d). Ignoring... P%s: write error (disk full?). Continue? (y/n/^C) Perror: z C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMREADBUFDEFER_LEFTOVER_INPUTGETPZGETCHECHO UPDATE_KEYS DECRYPT_BYTE SCREENLINES RETURN_VMSFNFILTERWRITEOPEN*READLSEEKISATTYMEMCPYSTRLENTOLOWERFFLUSHFPUTCSPRINTFipfile probably corrupt (%s) P--More--(%lu)P--- Press `Q' to quit, or any other key to continue --->P Pctx=stmP  P[%s] %s password: PEnter password: .Ppassword incorrect--reenter: LPbus errorVPsegmentation violationmP[ %s ] P^R|~OPENP2<~+SPRINTFPb9\lPPP^\ ̄I#Ī̄MI^\̄1̄̄̄M̄ĪĪ^TVЬRRWR1Pg< ~READPRWP#<~ߦ$STRLENPߦ$d9P`P PRPRUPUUSSݬMEMCPYSSSSR1NWPP|^TVPĄĄP,1< ~READP P2<~ߦ$STRLENPߦ$d9RbECHO RETURN_VMS Ą4ĄĄĄMĄIĄ PIĄRARSR\RU\(PcR DECRYPT_BYTEP\\Rcc~ UPDATE_KEYSSU\U\RP^YUЬRRWR XRTЬRբDiV PV%լ  ЬRլ RR  ֬ cЬSWV FPUTCVFFLUS-H3գD.ISATTYP!ISATTYPi FPUTCiFFLUSHЬRЬRR SCREENLINESP0բ,1TTX1dRR 1ЬRQPТ0RRRPRQPQP{RPPQQPWTSSSWfR ~WRITEPRPRSPPVFFLUSHЬRTWRATTX1aWT Ь T1TWfR ~WRITEPRSRTSSSPVFFLUSHUЬRբDLISATTYP?ISATTYP2ݬ WйR ~WRITEPRSR SSSPiFFLUSHЬPRSR SS.PP^ P|^TUVЬP ߤeFPRINTFЬPݬeFPRINTFeFFLUSH 6PZGETCHPSSPP ,P 'P "PqPQPZGETCHPS>eFPRINTFeFFLUSHSRˏRP@R~TOLOWERPQPRQQq  RETURN_VMSЬP2|^SVЬTd6d<~MALLOCPUݬݬߣ USPRINTFURPޣR PdUޣ.Rݬݬ RGETPPRU UFREERV VVP^TRS/ECHOѬ 2DbRbjPS޼TCdlVYRxR4V RVR[ZZ,PZR(jBg4ZZ,YRxRZ[RRZRPZ[ZZ[RˀRZRZ[xVRRRRR[RЮ0SRCp(P׮0Ю0RB$VxVRRRRR[RЮ0SRCpЮR׮R1YYY 1:о$SծѮ SSPP ^ЬRRТSRFREESRPnwwe to get password P skipping: %-22s incorrect password P%d file%s skipped because of incorrect password. P (may instead be incorrect password) @PNo errors detected in compressed data of %s. nPNo errors detected in %s for the %d file%s tested. P%d file%s ski9߭READBUFP3PMAKEWORDTdPdPdPdPMAKELONGPMAKELONGPdP€P^RSTNբ\ GբHBբ@=<~ DO_STRINGP)<~HSPRINTFPb9\lTTP^R GET_CDIR_ENTPPY\\ YQPQQ\բ(D\ЬPPPF?P\z/\Ь\\ \ \\ \ \ P0^R*߭:READBUFP3PXYZ[֞MAKEWORDScP\cP^cP`cPbޞMAKELONGTdPddPhdPlcPpcPrcPRPROCESSprocess_zipfilesfree_G_buffers do_seekable?  find_ecrecuz_end_centralo8process_cdir_file_hdr get_cdir_entprocess_local_file_hdr ;f *         <     1  pGET_TIME_STAMP LIST_FILESZIPINFOZI_END_CENTRAL GET_CDIR_ENTUZ_END_CENTRALFREE_G_BUFFERSSTATREADLSEEKCLOSESTRLENSTRNCMPSTRNCPYSTRCPYSPRINTFMALLOC=FREE PROCESS_ZIPFILES FREE_G_BUFFERS UZ_END_CENTRAL 8PROCESS_CDIR_FILE_HDR  GET_CDIR_ENT PROCESS_LOCAL_FILE_HDR$CODEn$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITHZIPNFO}$CHAR_STRING_CONSTANTStcPvcPxdPzP~P ^R߭READBUFP3P>?MAKEWORDTdP@dPBdPDdPFMAKELONGScPHcPLcPPdPTdPVL„Pˆ<@\\3\ЬH\ЬLЬ„\Ь PЬ ˆPP.7.7.7777..7777.7.wwսխ P֮H2F ѮH@1;?e9RbGPT?<\RxRRʏRRS6S. S&SS'S7S@S<,~S<TTiPe9RbTRR 1!1R&113RSD11RFK11RAL1SRIM11рRVS11!RUT11RBe11gRJ11E<(PP1 <PP HSTSW$PSiPe9RbԼ1<(PP1W$PơiPe9RbԼ1P<(ZZ1W~$<(PP12TfRbFgRRf TgRR1fPST SRS/Bf)fRSR~ TgRR1fPST SRS/Bf0fRSR~ TT1TfSSSfiPe9Rb1g<(SS1ZW8P1GT TRSR17TSCgPPeCg TRBg~ TRBg~ TRBg~ TRBg~TRBg~TRBg~TDg~e~W~9 iPe9RbeCg1<(PP1RRSfSSW(PƠiPe9RbRR1nԼ1hՀP<(PP1Z~~~g~iPeG9Rb1)P<(PP1SzSP{ PQPP S~ iPe9Rb1P<(PPKRRP@g~xRP@DiRdDOiPe9Rb1P<(R1R&ƐiPe9ɅRb(&#uiPe9Rb&[&0P<[P@g~ƖiPe9P`[[&e9Rb<(PPW<*RPRPP*W:Y6ƀPPAGE<P>=P CPYYZ_UNZIP=PC>PMPZIPFILE>PM?PUPINFILE?PU@P\Punzip @P\cPunzi7piP-PlP-doP-xrPZipInfo %d.%d%d%s %s, by Newtware and the fine folks at Info-ZIP. List name, date/time, attribute, size, compression method, etc., about files in list (excluding those in xlist) contained in the specified .zip archive(s). "file[.zip]" may be a wildcard name containing * or % (e.g., "*font-%.zip"). P3 November 1997P usage: zipinfo file[.zip] [list] [/EXCL=(xlist)] [/DIR=exdir] /options or: unzip /ZIPINFO file[.zip] [list] [/EXCL=(xlist)] [/DIR=exdi8r] /options main listing-format options: /SHORT short "ls -l" format (def.) /ONE_LINE just filenames, one/line /MEDIUM medium Unix "ls -l" format /VERBOSE verbose, multi-page format /LONG long Unix "ls -l" format 5Pmiscellaneous options: /HEADER print header line /TOTALS totals for listed files or for all /COMMENT print zipfile comment /TIMES times in sortable decimal format /[NO]CASE_INSENSITIVE match filenames case-insensitively /[NO]9PAGE page output through built-in "more" /EXCLUDE=(file-spec1,etc.) exclude file-specs from listing P Type unzip "-Z" for Unix style flags Remember that non-lowercase filespecs must be quoted in VMS (e.g., "Makefile").  P3 November 1997PUsage: unzip file[.zip] [list] [/EXCL=(xlist)] [/DIR=exdir] /options /modifiers Default action is to extract files in list, except those in xlist, to exdir; file[.zip] may be a wildcard. %s PType "unzip /ZIPINFO" for ZipInfo-mode usage:.PMajor options include (type unzip -h for Unix style flags): /[NO]TEST, /LIST, /[NO]SCREEN, /PIPE, /[NO]FRESHEN, /[NO]UPDATE, /[NO]COMMENT, /DIRECTORY=directory-spec, /EXCLUDE=(file-spec1,etc.) Modifiers include: /BRIEF, /FULL, /[NO]TEXT[=NONE|AUTO|ALL], /[NO]BINARY[=NONE|AUTO|ALL], /[NO]OVERWRITE, /[NO]JUNK, /QUIET, /QUIET[=SUPER], /[NO]PAGE, /[NO]CASE_INSENSITIVE, /[NO]LOWERCASE, /[NO]VERSION, /[NO]RESTORE PExamples (see unzip.doc or "HELP UNZIP" for more info): ;unzip edit1 /EXCL=joe.jou /CASE_INSENSITIVE => extract all files except joe.jou (or JOE.JOU, or any combination of case) from zipfile edit1.zip unzip zip201 "Makefile.VMS" vms C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM VMS_UNZIP_CLD CLI$GET_VALUE CLI$PRESENT CLI$DCL_PARSESTR$FIND_FIRST_SUBSTRING STR$ K5-58/[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]README"8"A]b$]) QiC] {G3c_hЩ4-i[򇷤Rm:Yl]h/9'iWdzFԹ~^{?J\<ULR F8j$r6)\냂G4Q/[+tO|⌋iU49Wkxz?FMi #49CEg w?gZ<؃JdDwj IFdj|i;D]B'iIi\ʭ2G,/ vVZ^9;()??.<N46qf/}F8pxoMp ?"c!J5w]Y%j9(htz!X-wze 6hSIe: B ź2Gu AwQ(ӗgc[IN<<]*93yX CzY4k vgd.> 9qT%c[іRɭI͘"e*?P~)M!ZR?icS@``^(A•FN4Ҧ U@&_A'f,e~EZWyR+%T U$)QqSB=,S쬦jZ vyv"P 31\"F]սվ+r{NIuY.\U䗤0_HΪkˊ'MfB vp_193 jў u5CT TrdZngT=/4.BoD_CA: = [(hgHG_17mH6| /&Z"юz1 |+CFM/ZyҀ&68%f  |a>%1~akmWJCr[Ҋ. mWV$zZh.Q1nOdTgR9Y}[΁= bcGoiKib/ 4DxqִPH2'lzqy 4W δY!ErL6r&Cײggabՠ.bQ̛LblNX|8cS{B_pS-U0طCfFrD((5Wם)π{Op9}U9e]|r JlHlac$)s p3n 0}*dm_r'Eou˨5Zo{.LZʽ b'(Zlހ۝. fw첋w#sc1~mqI╆;L;9#IU^] }@xdK2%6x#0˾,2LP蹙^#Ҁ\}/.Rh&4UH8e6o8)p`ǚqQ HAUZ:NNnVʅ<PGDgXrAT~/4=dV1֋wrّNM2O?b{xD_&-fOkEg,kw0-?+Ce\ɊQ7ZCM= Of{GcF]WmZ Z-\׸Q Untx(Q_G=w' x!JAպTq)Sd2WH/B n(jN6yYnW" )JP^,=dMqUUEBQC2ox1e4^@|yQ/p!o4-ޖ>zO gi?$H7_V߇W#3}ʋr '^po-~]3!g{&d E$f`2YDxَJTϿp 9ȜRtj]dppr\ _IEH֘K]!,cҬP7Bc9;G.YMOEOw134nµ)+N.EnP}9P ? |+c6 >jgrTP ʟ r)dq8a)lβ_kTxӪ`/w07' 1&Ht(5Y"8*prs"d/96b3k;k75Pr+4կp&?n &  ~ikrxkn^cLU;Az@ps}$ӭoI}(2;2xLݭmoiAlb7h/M; hqT1/<6u;m_d9^).Ly&o_eK/ n ::fs?E@j0.Alnh}_+??k8 ik9]͡]Z|UP8b0ρoc[Fe"֛ফlzόbj"#Żu|]!IZL+\[j EH0EG.UgC)xOH2fr7*n҉14#Pᒩ\dgj(+NAZsic3po6bUaRGKwK(RZU=SqE]"tv?1~.6s!YPQ<IQ<:;RT7^Ys8)`*&o0:3b ۗZ㶁]lyTC)*j2*S0յK#`6yATA"⛟u$9D`5OJ=[I+ugUkL58$XK[`{d@5ͩ:"V8:Ô_RvڙŢB/",k^`DAHv t9j{:sjh$- p?8F7]wq 59Iy0`1m*cg{lJ+-i\̧BѶǧ&@d BZ#Loˬ ?5r3}|L=n W u66IU`P/d!&:$w>;{%'/'O‘ql`򨒨'?|S@;q֎q%ZAnᵲąN+qJA64b&(dA&svp{uc` lF{P)I`G.WHaBK׉kT9=ҥK;ȖkȧAIjmRgd'\olzo&?. l\~>qYIB].gbS3yMť`mXfT6Wt9+X 5)|(k=mܑ= vPTޗ.DO}$l`yE! +F ?oJGW]Av &J4ںC%%СIN۷؄مpis&eygWOVl7 =2esX{N؈Gkp9A*%Y$ۄ6LL GV8y]>ML]fRq]ڟG YL*ClK!O/e="9rg5k1tF/~>Ӵ5&I 8.Auwԙ{  +?Lbr}u' bxo( P׼vyYu&p,$҈OE՞6ǸY/uj$i%AN@mh@3|,9b9Uɢ&Z[Gg&{mdb_C[(#FIO?o⹨x+Jw[ZE6~6j+B=A>d bb! +3kR SXF4nw/3R3:$0ǣ8L N(sΫ r3"h9Q˹lm2\{W$LN_Ht'5m!J  ":Z(,t?9:+vu-Gf}1G DwoNFX, WLnQv1lRoRs,D9yxOz0I lv*( ,t)3>40UH dh҄zhk/N-٤4Mxٴ&3|!=7C\BzU,qEBKmgAsjS ֓8GA;q-Qq_[c|F'|XO ?qQS 54>8v6* jȵ&JόG C| X`8+eQm޻E؞YowMkMYOވ;@4M6$JG_ g؎!8COJ%f"ow+`09CGpkԆ%͂Ī43֫=ZJ@vKxD>ҸFDƩx,%JC:Y "LЫ/t"vbm1\GN"ڀ±d'ّ<>>Dem뾉F_g_Oir:Y$E}; c Uޘg~.s-[Q#!gڿEk[!\=n &4Bxxk٢WlN}/@2mUՆV "x r,2֨# Et}*fRQO yR@_,_T#}aX[Y8QKW9PBNr5S!ǮGm[Ž. n HL՟^$ETSጏ 8$ʺɹv^+((?cE+&UJ,E?yΓ :dIXܠU]V ^8"M]3}ȱHRcE;1@#|g#̕nE LckG;5=?`GdA$$:&L"v2g9s |x@w ldٺ**cΙ ]i }El,b0"yML$ּ|ȭ@=2zR郿8Z niVCiDHޮ&JVǔRnLVãBY46 +(׎ s͵xtC'M67wI?atͯgak`S9L80~kQN6+, -. ;謣n!ÿy$y.=z$%Lzb` ZN@s8(Y=m$S&0M/IR8<ČUw g:a,4qTZi׮"Aoq/r&pQ f V?#՗$5?5ڿOʉeA\Z±r=ڳ/ՠM 1&>~[#OIw]yaruްVUyhSF-1D)%(dl4"nUHxF-pmL?NWjlfzOPp&ϋbQuIGbcۈ͍M%A3?| V8xWMHX8IQco*4i1nrK f/HpAƜk\{].8#*gz2f"AذBj_QX(bǍFZYvD~]o3݂ҟ]Z8oXeVxДqHth;  {hz6; 55ؔ~|v🌒+DWJ%SWT/f ZEjOcov"f|4Ԉ,'tWO /eG hwpZ(0 \ ӈU'ǘ67%"~ xOk{c-qRNz.:}ΧC#(g;Y4(p?K{eBT efEխ:ߜs2`JfFT{ |?bS⒪D$ 2X1,v iT[?HiSSLYDoMut&|m?"qsȤ"jCY zߖ^ajceCҧlld@wMm,(je# +N Xf< [(cמ"J8zBcٿ-*Aеvdw Z|cנa[7ŝ*}#a<"7B?"u v%7722v_nzruYv<`O]T9M*mށݻV]W̼z:_^E~c 6{!n9hGgtrHT?[WfUA,Ōrw1eM͋FTY/\CilU]Np"꼲5Kו,6'F<9fA6-/Zt+'wBj8Cf]a]W8: Sg~ҊR;y%e/6s\g}-DbJQuƌkp9}ۍ"`>+ߵ1nemnsyO&l߆N>Z0oe95gHƍ);MMbZa(- =R̨oWv@6D4|'İ4j6SR1!汃]rHvb[T}2wg75lhu݉Ż\[V2Vs#haE&%4Ò*#6Xi-7pJz/b<5gx`A/wVbd1+ gn/cq ~_>ZFA=}m2&A $hW̌YK^RS-D4vD''!J[W q%m7RGVX OT7 .20?F.2~tးO|}%ΠG4Ӿx នM/'Eb/B!Qy3-s& (+djg|O*U<_u3+@hm1e̪=6:񍦣򋱐tAp1TXeV fg$N46;\[2H:B[ w UTK'HQ.F$u _Sʇ7 -o.DVo74C(3Pف ].˥"R9%Ze>*C۶B9*71ΐq/|LcPKC\(+hBNJ| s㊺yL~ߛLL.u+73h-$3ݍ Bσ9Er N$xSwչ\a&mt2QW0m:7b\*g)\M}` nU{ny:G5 T 2V7C;9H v~{fy\r*QϟX.o PI|:$kX|ðX!TNřVЛG^&xA"Wɛ;AS0=QR~_0d-/AȬoPf o zD ]hTv}gIXSf:<9Iap=u4K}̲ќO?&Q_`~}] GO{Y`r.QfQ̷4f & Տ_E/h7?Dp 5qvt.YfG Cw&:|Tӭ rwP˖[vjjt^^܄J^'tz}4κm稄8ѕ:}GӘJmr8 ҺUUχ3] j 'F̶וe?Uc1yO$YLN\3/~ l_gXٵuܾ=Key caE)L+TE5LFnټ > -H5/,W#L}􌧋EBqLjUYp݇D:4iNc:n1~$deR+8WSF 믶(a|$$_5rD(.?NyNw">Ġ %M*}/::T{mܿ읏O?Ŋf]J[jG wǭ 4m@G`H4{t;z`;զnfR\6$hl ³k9 nE(7DĭN3Bjֻz \/[x]p^f:~/C/4#p_᧯=A ҲGCX*n|6"~`,~:p5zave'5Z.2MQ?&q dsd$tgb-sN*;/~#"%*+nFH%%L-fM+XK<:lۙwEl[\"?+0av5-R'[|M) ]._O`<4T Ng}m=7(fvDE\_1Kt(7pBYvӻ}(HmW6u )n@j pպ$ڃF-yr-4 `bQ ƯY# V}2|?ʼ0\s]XQ hV)I,P$4ٴUJZ{vVwWEm:@[dg/ 71"j';_6?~ʼnbf mY'1E'PZ vl!])C1x_NҷbA>$ѓ,oBzp2S& d+8W{`Q+C7b+i<!:{F A5d"dcTv Q*}#C^(&xbyȎ_ҿϲ|fOPB":\ox7fȅ^lkZG ^v<^4tx>a/ yƦG qC-r%zڴ|Q*/¹pi[îSaY,LtXf|&TsYG V5jxkzGє"qSzlƵ_{,Vɟ8y5l>ۤ*=lUidz"2.7E-oӏh6e?-`gW]b6NQ./\."R<Sɋ2<:9Q-Covt& l h/d_, ||v0pD>~>=OGW ~v"h"k(*7.mw/Rh+d~4d:".3jYhW.s6M܍:Jpx<./S/Uoa!q\ݛtmd0z  H-;#X01nx UqJ1ևꀛR_%v0"3s"| #Vz78S |5x0i05:_UgXx'[4zU0M]Wb>YOb˳cVUP=> IWϭ&csy"U<5P8vdr^dROoZ3 s}fK͓啬"be+L*t*.[3X 1:pls΋4}%)lA.$n4JʵbJ> fS;aonL qBfvATE1r /%_A qWm@tՈ_sp=Na<L+ &cTOۀ[0Yڀ@yb@x?3e! )ŋ9qYbK|]HH/x#Yt#I*U {9R29~̈Rv ̛U!2n$K~q֝ǰP"dU!F8 ~ng2ӶReF\ iAEV'pMUD SF8) 㗞kؠUAډ9lCD9$lH CQXFw:&< L4Ig:ksrA hrjXPskÎ6&]G6ٲ I{t66䳍QɌlwE)m5Ȑt5ɧc8Nv厡$a8"i,-V7M;OHpF8e }x!^J!;$TzD܄=47h)6a*йL2qw2N,WIKQe>=1H9gm}Xdv)U@Eb‰6!J׎_xe><0}w- "eqArH4 mFERBPMS y8GpNp>@ 'P$7%͉wMϛ-sVE\@JӚ0-z © 9S7U +ݾ򗧟]unm׿҆HhFYRegg8=0(!7&Hw׎X} Pʬ?H;І6z"[s~zq%z#e`I2͊J7oH"Q2I ĦT"m璆b${נMSpIp_h9V=D,mřж?H3@+Y#;dtOYAa4fpR<dq :j`Z࠶5!-E]rvWf -ܝ~IZdя~/],Q)-~i_JiGkRjU;mQsJ_+;X  5bw~Jw!ꩠ?LHgS$jv^rY@bWz5z.=hHi}2dR@`g,#W' ._Tڕ Jq|&\FzZXjYWb3^YW{.ȄS)wmǪ~ƵSrvwY@u5P>48/ݿ. 9,g..ޏ ,G[,pw ".p4[':TtHJ&k#̐HL &AM .#p&CW>U[S};b7iٻ6DEPV)٣xalMVhݼ%* v6[+?;/n z$/F35jjJI DD0o:DSRxh:IXaҶsƖ3htZ;J]f:۾ e% cmx̙#f:6y,Ig]-OgZ7džuZzW"DU3 sxDIDU,+E$Q?S^@81Z2ӻ3sN#oSN R(ni4 00k,{]C4U \Bf_@>8$bg?~#IG=z"G@2NU'9^+F 5 / 5w sƒOd}LٖX{o'6д{_ѹWn=Al8`y3 yHiAs{&/ LU.0m$l 8%I]dAmюkoJEV@.VRCzsdi/Q\}b2۴{T~:zUEjݩk1̈qtS|խseYR7W=]a{e/~RsYV;Ђ6S=72оf[+':Hъv-_H7QYȈD?`z=Rv[*GuTM>P~sv )!) qX io3(IJgXwoY~J/дt [?C~BB9 ^Qh氷Y qa nyoqsUfIt e6bnۑLbIp\)Yh֬ )~7(AfN fmRj<4e1"*'^8E%i!UM~sVvY4F{OG2 Ѩwʚ:<4n8rj?W{ˊV[.F@a)X^A6qA}KW\t`)$[zz9zS0@=L׈J=`s[n\)aڱk=a纚A)+#&Q%vvh&ǶrEF$239_bLdAǂѷ) ѩa&1rfyqCg~LɼtJ%l8s 3[tP=Hmm9B#_j'=1'zOcKxn{4#]BsrC;.{Ǣu\*kI栍2qRl; vvO%u2Ěfd3 |~Bi˄g^쨐)+P t؂`e~[.{xԣu_DYO"ּ+G`,cbu;KSx~fn`> }]#.Y *:>0+xie|p%~6*#:Ze#8+W"*G q6;rRXswmUaJw7 -p/1 `=_ ~GM8~PReh\fM"'M}AH6e-xFO5DOUm9N@Vk;$ L>pKtLc4jg\tn5-Lm:&~YHE#A&R(\XFǏy%R*^ui).FsF )6?])Yp)eYBEAeۼK){~0'j5 ~1N04=y~5x4xO wS<(z ܛ7 ¡- PF;'yTҿ%g8/PsR 1 Slh>`>E/pefjV!-N1\=pOؤ- SX|وJﶽX'Oz!R}6\ŘE A _I`Z , ~K' 5Y4eEYVXHQp&h,X'іʖfZ-}ܣx7 Qbn}UFW*Y)Otx͝O2q|t=oՎr^& (wX x7N!  VÜ){\8'F`*|k1jt\7m|I[|2\ <gK 7IoN| Hv :^e{Z,@= {:_1ZQ{G}@&\<3+gB;zwJ2ѫLZCBJ~ՙ|Ih/MɎ;Kg`"E4U˳&se Q<o >q8rWP"cH<6P~ҶG1,e|#zZ1QMnӆ%{urx`po?ID٦P^,u̒0! saND pHƌ_1v9';K&B? y1L ]h(ዃwziRw Z}WP|l8?@3k5 %S̎"TQz,w.&Q1k1)R{ O$IGD62-HGY:W;`yxҪ )itM=gd۝ܔ{. )niH\|'HZR?_`w|,m AK1[w:%`6i ^2%|?掜'6TCnf:zELұmO E $$\񃷪Ǭb=Ǎ0 @2Ǐ3"e` {eYd ! \'d,:}0XnQ@-<  yX6 .Ip1t$"sSO]t ;j^"=t:_*8hvc[e{W$j2H];Kr;6ƧW> ljBZZ&D8& 1ض G㠤 Oh#2iޙ kz3z̫&Яrq.oM+cv%WԠ2-+y'$@L*:Vr$rdFX.> jm#j:o0uMN?7 d-L5O} =6`'E@=/3 tqmw?Ijw׃QXР1{w'4}z6t)>{iJfDI ,/o{NhiDmFwg+ ɜ2<1kN/GQr8޻ރJÏi~0\`cs H unZ_6%v /VqKT'}oXx.-f:,V:UNFx-bh+Y?:V/[eE+ $~$QA|+ Aƴ&є$G:뼳ZgQE΃nZmס=C"}aPPҴͦ Ӳiȫ-.>Zz OW6B#A}xW]M;Al^@\Ъ% Wh KK0A~`QV-Xq+D8-Ĉ^rHמ;wIU}(5ɡ6G\%ퟡ|bb>,{<TIi]PBo 7PF2][復o Â:[9]~witM\8e)𙣤j6i<"`ڗTMe,!c𾚓ɤ/z2M'08K^Vo mfwɴ"RwjU7k5CN$[ű h_ %MPUZq(Kn.v EZ*  ;GC۾C[R{c8<,El_$zJdgJ06w> H:yYRWQ %ܭl)[(B&BrǪg~=ոoZZۚo"0`I6bLz`6KPSlc[Wm"z{!TPݝ+"K7]ʑI/h]JBa X'Wk椈A<- =}i[E~TqPhQ]7ÔMDX]Ӻ3 b<.aAUA MUos R_b(-bTBYS8a/Aڒb< ܆astQ2H~T>NI )Ilic[/k#i3ʐ ᰋI> _÷d'b|Fvޡrj!ă]I1l'T]#ISMFFCy [3">#oAqN;[LxR>jYR,glܭV=pG Q{=5M! dvJwI#3#k=I GVbS_> p./003#TYb>hkR ,Ƒp*ߕ<|wcBdBU w$ iSՕd [ zi0ʢP@;h%4 tĹvńs> =`$lr]-*a;l=L4o6ݕ-Y\dySc7'0W[d*I$M lC@!t/[3Nn3ОK#@ۛטvW!t$m25!l"0/)8ʆ9)n>RmKj4 ,Ĝ~U A[eVˢ,_/u_" 謶(ܫdVT{pX:Mkgk-57g2xFPW5Zª?nfj93.MFҰJ4ɏ B(6 @R5es 60 VH;q^>!j3(݅FB$%jNWǸΙDbT[,!M+f- ;p7/n)@,_Agff#/䂅v=wZh=បH pOqFC ,iY|#? Z~ތĎCcf&mOtʈbǼ {&Ǽ$`Y Jk}D֏\GX:8ˁYpCMj>bsGH!mdՙ|X.r``cpX)ˠƵ?}JzL2&~?㰊{ݶB\&Ŵ}틸DqI[ ݲ#pKhƍqA*V֪XDU LC$YCHh/ݿear uF0(ukKo89yOQ7 1m,CQanzCn3xgk!r_وj)Rbv用6kwꠢÃÁn8±fY?5Yr]i_MHkj48s؞R9!45fPw\+oUjSҋWYI,a_/1vz4Z KB +`Q()ߌ; aw6*9JxGnP D̖ P'JnW 81n1X˱?89S\eݠHNVgRt3, ]lxۂs=[1j+&1vc VśǑ&dt޺ 2nNM" w6z,)Ol/ e(tUbWσ .y4ir֌-V|`AlCrw%Y(9S ȬX4Hx!V"9нkm-& I3xZf _bab= r̍Yv^;ʟc@yB( d$f,x]/>Zla,Sc+D?jKxSe4UJnG0Mƺ0\7 >^F G +~ko9|ޮC1JpU9o' ĎFyE%ܽd(Z-wk'LjӀۃ河hus1ZwMKJ ,~ Btq/LcW#l-^3O_>~+HC aG H4fICv >Te@,[S/sm-71J祑tl86q^[l4_tZ_EQiLwF)r| " N-/>kS|&x9|sS73w^*Ֆq;&A Zxx@07-X"}>:\fHȞʹBM=~"Cl#Pii-ZeAvׂšJ:?h Q+oڒ3 Q,;S7fߦνoy@+@6 =08 ܹ}:K͋\rlj;>QwG)Ҁ& qU JPs\&Iv1>FiU3CfʰΊY,\z]**ՙ@UQV(䨀r_O_zZxx^ >vz2(0\.:s^ljdޙHc-R)K A[(ͧlKid,ef*FhtUN]b eLbT@|+3y/C*Ftt Hb5յ_8)Bȯ>}aژ3s[XKLgk:%me՞eR(zą] o("-w@)ȓHVvkjHX#xјA@lO9kHc+LI_A=dCm,o 5:kA VG QlS78(66F6WgA+ ,gS=&kc+x>1=USa|.TGxYT2L-{ zͰXjQx 06X2̦&v0Wx&>ZBsN3pKNÜ}`GC % Ol]v%<.;՗W. <:`'芭E% )1jqVA؊!C{ ^矄}iA]>dGwY3UWsڬ:vB%D?x*2`杴|!7`&F^VZ)XÄfd,ҾBHppt^$.ϼvs+vdh~խȊHG}DJ;C\f>XY'rnA-9[VM+[i[RA;>1˲_ ܽdDJX_u *C"REJbm %qQ͗j9y meO#_v#;fXwə@Kkj6̰\Wrr/mp1\:j%]ি[#jL.5RN ci!G1p;tȖ)@*;,'W *oZ߮=˥m~ _Kd@x^2_K\k ,(U Wџ%lW1:Eޮx{uLoʀ@Ш=Nur >< k}BiF^LL~@'Ŕ9R!89c=;h!rVv@ S:Wc ki6|;VQֿ B77!9 еgrq[ܴlL*i||x ׊ӂA(#9 E/FblԨ_Ud'#y}y,K^Xe2-8?u=?$ ]C?lѸupṮTP^ T?9(e6(=F{ݵT< oUsʫ#`zڒ);YM?k%h}G̀.5Ɯ6 !pj&؍ˢxxhW!4yb| fSӓb2=IfP`qv<UCʼ͗y.)U]q0ipArT9%5\wT*ԵBˎV#)(zy6qu3&mW=1X>9»_FB-gID*Z]=y`:4PDD4+Yŭ|U*at08Ybz ^j: 4J';LV";72W3 F2>Eًm7_{*6.A5 lޢĮԇ|m?d=K̢ǀ5M8Enٽ%g5:OuYiiN3sDʣưVYFPLL.\?QN!/߯_|$k0жp#as80~RaQq`gN-P:gd° r6n65;b8Z,!A5٣BKbRc^>i42B0iC ]]pw$IU3I2^t/hqQRey4<^Dfa1-E3Z?'yuY{gֳI,P\O/KU!:̐sVF|C"Vq]qB@Qecl756WL| U$wQ͠d`+:ߝWSn1l N3YgeJ9XW?m1ŝ< v9V1s8[m. 1 eJM-Pp۶2'hgpC8ͻ\z,(n>azڈ_`;&<*o~k n6הbr:!ЉDŽբAF~8b|q0A~LPThҵ7O&42o/+"+LM]/A+:LnMIxr$q߿^Rum: ߆'wR&g2‘<"YȄc0ł[H+ʛONyY@\(ޞIS)H(9O pk^?V I S楉I%44E'Fo'1B~exE yQQD Nd倉l NYyzm-})Nt|Z0E{ѻr>@}譞=x=ɮ#̎HBQE名kV_h'8J/a%9`epz oU6i 1'D"Bp7K#vR 56bNsHܔjy%U&ԇ ~h5`@=՛]MqSS/= e%ޛ~Hk6O6 A`F^%P/WYPa~VLzR|ZXb|[l;y[򵴺sZ"|S3n!גּNVR3QM C[Au!r9>|Ȕ r;2% l?7Z*-Z1QwA]h AD$?K}bD:z\w>!?Nk.X ݒK5ʢY9_%w5d1Ep{6(5֝o𸅧-W P=mpI}%MH)[?v_7xi5./B9it"TUVU}ZX3ȾȘF{9fmyg$2jjfO𴝏 CMFH!Fn[ap` M# m3= ExBL`! u\2nYZ?(]eχlp Xڗ8ҹyִNt5*; "ܾ8P(= FV&(6hZbDwSNN?NlRji;s++}|lyG, Զ~Y zѝi]7q?hg&t N]:{4xE^M$L9\fЃɁ\{4 @HBf 60N8/N~<,/$R5{LF R亁eE+Pq'_i=?=GFV~Q񱣕3n; i܊rR>rrw(-Rɧ4N;'9O{LVzI]DdRV)Gts>0tcx{71k&a2\XcTsYs~0c2L޸IRFRЃf t$P}%5@NaW쥞Dm0=oY PPFhnNΘG6rXuL'Vus8eS\?لӹ~͐d%!.U \}\ͲˣI)AN`$P .㩊@$oIBt$s(YzsJ@1E=4\T W \#n+*2|=$t- Y:w GTTy^b{^/6}Z1-"c,']^O*#3н H@^A:'1e^ zh?ufi!n .8v*)y+A)ViFgd~D}[ O0F\>Cx€텑vR 2Do![aeR8&x3(_ya|h@5#+dN -̸CKdPm.ih4}".)Z ݞUy yOrj4V[]NO5UjMB“]|dkHstNn[͏#5AJ45=#Iڠ_(dKJe<files in both the normal file list and ther) excluded-file list (xlist).fA -j junk paths. The archive's directory structure is A@ * ~UNZ532X-VMS-VAX-VAXC-OBJ.BCKT7858=[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIPCLI.VAX_VAXC_OLB;1{A|;<CONCATLIB$SIG_TO_RET LIB$GET_INPUTLIB$GET_FOREIGN LIB$ESTABLISHUSAGESTRLENSTRNCPYSTRCPYSPRINTFREALLOC /*.[ch] => extract VMS Makefile and *.c and *.h files; must quote uppercase names if /CASE_INSENS not used unzip foo /DIR=tmp:[.test] /JUNK /TEXT /OVER => extract all files to temp. directory without paths, auto-converting text files and overwriting P|^V==ό PRP}LIB$GET_FOREIGN3--bR&ePRRbePRRb CLI$PRESENTUePRR3--aR&ePRRaePRRa CLI$PRESENTPRR-Rc CLI$PRESENTPRR CLI$GET_VALUEPR CLI$PRESENTUePRR-Rf ePRPh!ePRR-Rj#ePRP%ePvPl& CLI$PRESENTPRRnRo, CLI$PRESENTPRR?, CLI$GET_VALUEPR+ CLI$PRESENTUePRRp'ePRPq(ePRRq) CLI$PRESENTUePRR-Rt"ePRR-RL-ePRR-RU.ePRR-Ru/ePRR-RV0ePRR-RX1ePRR-Rz CLI$PRESENTUePRR-RC<ePRR-RM2ePRˏRSUS@UPPTSSWCЭTSSѭ2ЭSݭݭREALLOCPS SFREE<$PDSTRCPY CLI$PRESENTPRPy> CLI$GET_VALUEPRЭT must quote uppercase options and filenames in VMS 'P"-X" restore owner/protection infoJP "-M" pipe through "more" pager P* or % (e.g., "*font-%.zip")PZipInfo %d.%d%d%s of %s, by Greg Roelofs and the Tfine folks at Info-ZIP. List name, date/time, attribute, size, compression method, etc., about files in list (excluding those in xlist) contained in the specified .zip archive(s). "file[.zip]" may be a wildcard name containing %s. usage: zipinfo [-12smlvChMtTz] file[.zip] [list...] [-x xlist...] or: unzip %s-Z%s [-12smlvChMtTz] file[.zip] [list...] [-x xlist...] _P main listing-format options: -s short Unix "ls -l" format (def.) -1 filenames ONLY, one per line U -m medium Unix "ls -l" format -2 just filenames but allow -h/-t/-z -l long Unix "ls -l" format -v verbose, multi-page format Pmiscellaneous options: -h print header line -t print totals for listed files or for all -z print zipfile comment %c-T%c print file times in sortable decimal format %c-C%c be case-insensitive %s -x exclude filenames that follow from listing P "-M" page output through built-in "more" PUnVZip special compilation options: P %s P UnZip and ZipInfo environment options: P%16s: %s P[none]PCOPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)UPLZW_CLEAN (PKZIP/Zip 1.x unshrinking method not supported)PTIMESTAMPPVMSCLIP [decryption, version %d.%d%s of %s] P22 April 1997PUnZip %d.%d%d%s of %s, by Info-ZIP. For more details see: unzip -v. PUnZip %d.%d%d%s of %s, by Info-ZIP. Maintained by Greg Roelofs. Send bug reports toW the authors at Zip-Bugs@lists.wku.edu; see README for details. lPLatest sources and executables are at ftp://ftp.cdrom.com/pub/infozip/ , as of above date; see http://www.cdrom.com/pub/infozip/UnZip.html for other sites.  PUsage: unzip %s[-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] Default action is to extract files in list, except those in xlist, to exdir; file[.zip] may be a wildcard. %s  P"-Z" => ZipInfo mode (`unzip "-Z"' for usage). P=> define foreign cXommand symbol in LOGIN.COM: $ unzip :== $dev:[dir]unzip.exe H P -p extract files to pipe, no messages -l list files (short format) -f freshen existing files, create none -t test compressed archive data -u update files, create if necessary -z display archive comment -x exclude files that follow (in xlist) -d extract files into exdir %s y Pmodifiers: -q quiet mode (-qq => quieter) -n never overwrite existing files -aY auto-convert any text files -o overwrite files WITHOUT prompting -aa treat ALL files as text -j junk paths (do not make directories) -v be verbose/print version info % C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMCHECKDIRVERSIONENVARGS GLOBALSCTOR VMSCLI_USAGEVMS_UNZIP_CMDLINE RETURN_VMSZ ZSTRNICMPHANDLERZI_OPTSPROCESS_ZIPFILESUZ_OPTSUNZIPISATTYSIGNALSTRRCHRSTRNCMPSTRCMPSPRINTFTc-C%c match filenames case-insensitively %c-L%c make (some) names lowercase %-42s %c-V%c retain VMS version numbers %s( PExamples (see unzip.doc for more info): unzip data1 -x joe => extract all files except joe from zipfile data1.zip %s unzip -fo foo %-6s => quietly replace existing %s if archive file newer PiiP-ZP-d P-x [P%d P"P"P Remember that non-lowercase filespecs must be quoted in VMS (e.g., "Makefile"). jP[-Z] P^ C$MAIN_ARGS GLOBALSCTORݬݬUNZIPP RETURN_VMSP^W ZRUHANDLERTTSIGNALScTcT cT cSѬSS`߬߬VMS_UNZIP_CMDLINEPSPSP]~ݼSTRRCHRPT мTPTT ZSTRNICMPP.gT ZSTRNICMPPѬBߧЬSݣSTRNCMPP+bߥ!ߥ߬߬ENVARGS߬߬ZI_OP\TSPS'Pbߥ e߬߬ENVARGS߬߬UZ_OPTSPSլSSPЬScЬdԢhլ1VYTԢlЬTSc1Pբ1ߧcSTRNCMPP1cTPSPPXVcSPPdVPY c”SPPhT6SccT)<~ߥRSPRINTFPb9P` PբtPբPPpTCHECKDIRP&<~ߥ,SPRINTFPb9P`X1գSìPPPdjPljԢdjPYSߧ cSTRCMPP@YS jԢdVcSPP]dVS”ì”PPPhVSc1lPROCESS_ZIPFILES^RU|YTмVмWVX1KW-1?SPRINTF[gPPQPSaV1V-11VC1VPPC7P1q?PT1fPTTPPQQQT1H֢1APTTPPQQQT1$բ֢Ԣ1PTԢ T1 1TԢT11T)<~ߥRSPRINTFPb9P` Pբ*<~ŕSPRINTFPb9P` PSYidX6XWgYi-R<~ߥRSPRINTFP^b9P` P<~ߥRSPRINTFPb9P` Pc1Sc1Sc1P1T ԢLԢT1L1 VMSCLI_USAGET Ԣ T1P 1TTPPPQQQPT1֢P1PTԢ(T1(1TԢ,T1{,1tTԢ4T1g41`TT8PPQQQ8T1D֢81=PT Ԣ @PPQQQ@T1 @1T*<~SPRINTFPb9P` Pբ<1XWggP`-T<~SPRINTFPb9P_` P<~SPRINTFPb9P` Pc1KSc1BPSc16PTT@PPQQQ@T1֢@1PTԢDT1D1TԢHT1H1TԢLT1L1T (T1PԢ(1PTTPPPQQQPT1բP֢P1P1TԢTT1TyPuPTTXPPQQQXԀTYP֢XRPTT\PPQQQ\T5P֢\.P<~ kPb9P`ZZV1X W-1բ բDբ բLբDբL բ.բ4)<~USPRINTFPb9S`cZѢѢբ8.բ4)<~ŢSPRINTFPb9ScԢ8բ,ISATTYPԢ,XSXSZ1XWѢP1X1Ѣ@-<~ SPRINTFPb9Sc1TSPRINTFVfPb9SclfPb9ScVERSIONŴfPb9ScfPb9ScTUfPb9ScTŐfPşb9ScTŚfPb9ScTašfPb9ScT#fPb9ScSPRINTFPb9SceGETENVP`TPTTeSPRINTFPb9Scߥ GETENVP`TPTTߥ SPRINTFPb9ScߥGETENVP`TPTTߥSPRINTFPb9Scߥ!GETENVP`TPTTߥ!SPRINTFPb9ScPբ`Z ZZ VMSCLI_USAGEբ բDբP բ\բHԢtbtբHբtSբSSpYCHECKDIRP&<~ߥ,SPRINTFPb9ScXWP^TRSЬWPPPPVb1VߤߤÖߤóSPRINTFU ePb9P`V_ePb9P`VÉ""""ÅePb9P`VߤePb9P`1 PVߤiSPRINTFUePb9P`V ߤj ePb9P`WV ePb9P`V&H SPRINTFUecPb9P`VJ""'""""y  ePb9P`V( ePb9P`լ PPPL`\tR UNZIP main, ,unzip uz_opts  usage s 1$  x@    &( !Ge1ɑMӛ02-007@VMS_UNZIP_CMDLINE02-00712-NOV-1997 23:47VAX C V3.2-044PPTEXTPP PTEXT.AUTOPPPTEXT.ALLPP PTEXT.NONEPP"PBINARYP"P )PBINARY.AUTOP)P 5PBINARY.ALLP5P @PBINARY.NONEP@PLPCASE_INSENSITIVEPLP]PSCREENP]P dPDIRECTORYPdPnPFRESHENPfn PvPHELP Pv!P{PJUNK!P{"P PLOWERCASE"P#PPLIST#P$PPBRIEF$P%PPFULL%P&P POVERWRITE&P'PPQUIET'P(P PQUIET.SUPER(P)PPTEST)P*PPTYPE*P+PPPIPE+P,PPPASSWORD,P-P PUPPERCASE-P.PPUPDATE.P/PPVERSION/P0PPRESTOREg0P1PPCOMMENT1P2PPEXCLUDE2P3PPZIPINFO3P4PPSHORT4P5P PMEDIUM5P 6PPLONG6P7PPVERBOSE7P8P!PHEADER8P!9P(PTOTALS9P(:P/PTIMES:P/;P5PONE_LINE;P5<P>PPAGE<P>=P CPYYZ_UNZIP=PC>PMPZIPFILE>PM?PUPINFILE?PU@P\Punzip @P\cPunzihpiP-PlP-doP-xrPZipInfo %d.%d%d%s %s, by Newtware and the fine folks at Info-ZIP. List name, date/time, attribute, size, compression method, etc., about files in list (excluding those in xlist) contained in the specified .zip archive(s). "file[.zip]" may be a wildcard name containing * or % (e.g., "*font-%.zip"). P3 November 1997P usage: zipinfo file[.zip] [list] [/EXCL=(xlist)] [/DIR=exdir] /options or: unzip /ZIPINFO file[.zip] [list] [/EXCL=(xlist)] [/DIR=exdiir] /options main listing-format options: /SHORT short "ls -l" format (def.) /ONE_LINE just filenames, one/line /MEDIUM medium Unix "ls -l" format /VERBOSE verbose, multi-page format /LONG long Unix "ls -l" format 5Pmiscellaneous options: /HEADER print header line /TOTALS totals for listed files or for all /COMMENT print zipfile comment /TIMES times in sortable decimal format /[NO]CASE_INSENSITIVE match filenames case-insensitively /[NO]jPAGE page output through built-in "more" /EXCLUDE=(file-spec1,etc.) exclude file-specs from listing P Type unzip "-Z" for Unix style flags Remember that non-lowercase filespecs must be quoted in VMS (e.g., "Makefile").  P3 November 1997PUsage: unzip file[.zip] [list] [/EXCL=(xlist)] [/DIR=exdir] /options /modifiers Default action is to extract files in list, except those in xlist, to exdir; file[.zip] may be a wildcard. %s PType "unzip /ZIPINFO" for ZipInfo-mode usagek.PMajor options include (type unzip -h for Unix style flags): /[NO]TEST, /LIST, /[NO]SCREEN, /PIPE, /[NO]FRESHEN, /[NO]UPDATE, /[NO]COMMENT, /DIRECTORY=directory-spec, /EXCLUDE=(file-spec1,etc.) Modifiers include: /BRIEF, /FULL, /[NO]TEXT[=NONE|AUTO|ALL], /[NO]BINARY[=NONE|AUTO|ALL], /[NO]OVERWRITE, /[NO]JUNK, /QUIET, /QUIET[=SUPER], /[NO]PAGE, /[NO]CASE_INSENSITIVE, /[NO]LOWERCASE, /[NO]VERSION, /[NO]RESTORE PExamples (see unzip.doc or "HELP UNZIP" for more info): lunzip edit1 /EXCL=joe.jou /CASE_INSENSITIVE => extract all files except joe.jou (or JOE.JOU, or any combination of case) from zipfile edit1.zip unzip zip201 "Makefile.VMS" vms C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM VMS_UNZIP_CLD CLI$GET_VALUE CLI$PRESENT CLI$DCL_PARSESTR$FIND_FIRST_SUBSTRING STR$mCONCATLIB$SIG_TO_RET LIB$GET_INPUTLIB$GET_FOREIGN LIB$ESTABLISHUSAGESTRLENSTRNCPYSTRCPYSPRINTFREALLOC/*.[ch] => extract VMS Makefile and *.c and *.h files; must quote uppercase names if /CASE_INSENS not used unzip foo /DIR=tmp:[.test] /JUNK /TEXT /OVER => extract all files to temp. directory without paths, auto-converting text files and overwriting P|^Vn=ό PRP}LIB$GET_FOREIGN CLI$PRESENTPRPy> CLI$GET_VALUEPRЭT [-cfptuz[ajnoqsCLV$]]& [file(s) ... [-x xfile(s) ...]] DESCRIPTIONA unzipsfx is a modified version of unzip(1L) designed to beA prepended to existing ZIP archives in order to form self-A extracting archives. Instead of taking its first non-flagA argument to be the zipfile(s) to be extracted, unzipsfxA seeks itself under the name by which it was invoked andA tests or extracts the contents of the appended archive.A Because the executable stub adds bulk to the archive (theA whole purpose of which is to be as small as possible), aA number of the less-vital capabilities in regular unzipA have been removed. Among these are the usage (or help)A screen, the listing and diagnostic functions (-l and -v),A the ability to decompress older compression formats (theA ``reduce,'' ``shrink'' and ``implode'' methods), and theA ability to extract to a directory other than the currentA one. Decryption is supported as a compile-time option butA should be avoided unless the attached archive contains encrypted files.A Note that self-extracting archives made with unzipsfx areA no more (or less) portable across different operating sys-A tems than is the unzip executable itself. In general aA self-extracting archive made on a particular Unix system,A for example, will only self-extract under the same flavorA of Unix. Regular unzip may still be used to extract theA embedded archive as with any normal zipfile, although itA will generate a harmless warning about extra bytes at theA beginning of the zipfile. Despite this, however, theA self-extracting archive is technically not a valid ZIPA archive, and PKUNZIP may be unable to test or extract it.A This limitation is due to the simplistic manner in whichA the archive is created; the internal directory structureA is not updated to reflect the extra bytes prepended to the original zipfile. ARGUMENTS [file(s)]A An optional list of archive members to be pro-A cessed. Regular expressions (wildcards) similar toA those in Unix egrep(1) may be used to match multi-8 ple members. These wildcards may contain:? * matches a sequence of 0 or more characters0 ? matches exactly 1 characterAInfo-ZIP 3 November 1997 (v5.32) 1AUNZIPSFX(1L) UNZIPSFX(1L)A [...] matches any single character found insideA the brackets; ranges are specified by aA beginning character, a hyphen, and an endingA character. If an exclamation point or aA caret (`!' or `^') follows the left bracket,A then the range of characters within theA brackets is complemented (that is, anythingA except the characters inside the brackets is) considered a match).A (Be sure to quote any character that might other-A wise be interpreted or modified by the operating7 system, particularly under Unix and VMS.) [-x xfile(s)]A An optional list of archive members to be excludedA from processing. Since wildcard characters matchA directory separators (`/'), this option may be usedA to exclude any files that are in subdirectories.A For example, ``foosfx *.[ch] -x */*'' would extractA all C source files in the main directory, but noneA in any subdirectories. Without the -x option, allA C source files in all directories within the zip-& file would be extracted.A If unzipsfx is compiled with SFX_EXDIR defined, the fol-% lowing option is also enabled: [-d exdir]A An optional directory to which to extract files.A By default, all files and subdirectories are recre-A ated in the current directory; the -d option allowsA extraction in an arbitrary directory (always assum-A ing one has permission to write to the directory).A The option and directory may be concatenated with-A out any white space between them, but note thatA this may cause normal shell behavior to be sup-A pressed. In particular, ``-d ~'' (tilde) isA expanded by Unix C shells into the name of theA user's home directory, but ``-d~'' is treated as aA literal subdirectory ``~'' of the current direc- tory.OPTIONSA unzipsfx supports the following unzip(1L) options: -c andA -p (extract to standard output/screen), -f and -u (freshenA and update existing files upon extraction), -t (testA archive) and -z (print archive comment). All normal list-A ing options (-l, -v and -Z) have been removed, but theA testing option (-t) may be used as a ``poor man's'' list-A ing. Alternatively, those creating self-extractingA archives may wish to include a short listing in the zip- file comment.AInfo-ZIP 3 November 1997 (v5.32) 2AUNZIPSFX(1L) UNZIPSFX(1L)A See unzip(1L) for a more complete description of these options. MODIFIERSA unzipsfx currently supports all unzip(1L) modifiers: -aA (convert text files), -n (never overwrite), -o (overwriteA without prompting), -q (operate quietly), -C (match namesA case-insenstively), -L (convert uppercase-OS names to low-A ercase), -j (junk paths) and -V (retain version numbers);A plus the following operating-system specific options: -XA (restore VMS owner/protection info), -s (convert spaces inA filenames to underscores [DOS, OS/2, NT]) and -$ (restore, volume label [DOS, OS/2, NT, Amiga]).A (Support for regular ASCII text-conversion may be removedA in future versions, since it is simple enough for theA archive's creator to ensure that text files have theA appropriate format for the local OS. EBCDIC conversionA will of course continue to be supported since the zipfile3 format implies ASCII storage of text files.)A See unzip(1L) for a more complete description of these modifiers.ENVIRONMENT OPTIONSA unzipsfx uses the same environment variables as unzip(1L)A does, although this is likely to be an issue only for theA person creating and testing the self-extracting archive.! See unzip(1L) for details. DECRYPTIONA Decryption is supported exactly as in unzip(1L); that is,A interactively with a non-echoing prompt for the pass-A word(s). See unzip(1L) for details. Once again, noteA that if the archive has no encrypted files there is noA reason to use a version of unzipsfx with decryption sup-7 port; that only adds to the size of the archive.EXAMPLESA To create a self-extracting archive letters from a regularA zipfile letters.zip and change the new archive's permis-/ sions to be world-executable under Unix:- cat unzipsfx letters.zip > letters chmod 755 letters zip -A lettersA To create the same archive under MS-DOS, OS/2 or NT (noteL> the use of the /b [binary] option to the copy command):7 copy /b unzipsfx.exe+letters.zip letters.exe  zip -A letters.exe- Under VMS:AInfo-ZIP 3 November 1997 (v5.32) 3fAUNZIPSFX(1L) UNZIPSFX(1L)d4 copy unzipsfx.exe,letters.zip letters.exe< letters == "$currentdisk:[currentdir]letters.exe" zip -A letters.exefA (The VMS append command may also be used. The second com-eA mand installs the new program as a ``foreign command''nA capable of taking arguments. The third line assumes thatsA Zip is already installed as a foreign command.) Unders AmigaDOS:/ MakeSFX letters letters.zip UnZipSFXlA (MakeSFX is included with the UnZip source distributioneA and with Amiga binary distributions. ``zip -A'' doesn'tgA work on Amiga self-extracting archives.) To test (ord7 list) the newly created self-extracting archive:i letters -thA To test letters quietly, printing only a summary messaget3 indicating whether the archive is OK or not:  letters -tqqA To extract the complete contents into the current direc- A tory, recreating all files and subdirectories as neces-s sary: letters: To extract all *.txt files (in Unix quote the `*'): letters *.txt4 To extract everything except the *.txt files: letters -x *.txt A To extract only the README file to standard output (the  screen):  letters -c README) To print only the zipfile comment:e letters -zo LIMITATIONSlA The principle and fundamental limitation of unzipsfx iseA that it is not portable across architectures or operatingwA systems, and therefore neither are the resulting archives.vA For some architectures there is limited portability, how-x= ever (e.g., between some flavors of Intel-based Unix).nAInfo-ZIP 3 November 1997 (v5.32) 4rAUNZIPSFX(1L) UNZIPSFX(1L)dA Another problem with the current implementation is thatA any archive with ``junk'' prepended to the beginning tech-A nically is no longer a zipfile (unless zip(1) is used toA adjust the zipfile offsets appropriately, as noted above).A unzip(1) takes note of the prepended bytes and ignores A them since some file-transfer protocols, notably MacBi- A nary, are also known to prepend junk. But PKWARE'sNA archiver suite may not be able to deal with the modified 5 archive unless its offsets have been adjusted. A unzipsfx has no knowledge of the user's PATH, so in gen- A eral an archive must either be in the current directory A when it is invoked, or else a full or relative path must A be given. If a user attempts to extract the archive from A a directory in the PATH other than the current one, A unzipsfx will print a warning to the effect, ``can't find A myself.'' This is always true under Unix and may be true A in some cases under MS-DOS, depending on the compiler used A (Microsoft C fully qualifies the program name, but other A compilers may not). Under OS/2 and NT there are operat-eA ing-system calls available that provide the full pathrA name, so the archive may be invoked from anywhere in theoA user's path. The situation is not known for AmigaDOS,m Atari TOS, MacOS, etc.cA As noted above, a number of the normal unzip(1L) functionsoA have been removed in order to make unzipsfx smaller:uA usage and diagnostic info, listing functions and extrac- A tion to other directories. Also, only stored and deflatedtA files are supported. The latter limitation is mainly rel-x7 evant to those who create SFX archives, however.eA VMS users must know how to set up self-extracting archives A as foreign commands in order to use any of unzipsfx's A options. This is not necessary for simple extraction, but A the command to do so then becomes, e.g., ``run letters'' . (to continue the examples given above).A unzipsfx on the Amiga requires the use of a special pro-nA gram, MakeSFX, in order to create working self-extractingsA archives; simple concatenation does not work. (For tech-eA nically oriented users, the attached archive is defined asdA a ``debug hunk.'') There may be compatibility problemso= between the ROM levels of older Amigas and newer ones.t? All current bugs in unzip(1L) exist in unzipsfx as well. DIAGNOSTICS A unzipsfx's exit status (error level) is identical to that 4 of unzip(1L); see the corresponding man page.SEE ALSOA funzip(1L), unzip(1L), zip(1L), zipcloak(1L), zipgrep(1L),- zipinfo(1L), zipnote(1L), zipsplit(1L)fAInfo-ZIP 3 November 1997 (v5.32) 5aAUNZIPSFX(1L) UNZIPSFX(1L)eURLiA The Info-ZIP home page is currently atr* http://www.cdrom.com/pub/infozip/ .AUTHORSpA Greg Roelofs was responsible for the basic modificationsgA to UnZip necessary to create UnZipSFX. See unzip(1L) for A the current list of Zip-Bugs authors, or the file CONTRIBSeA in the UnZip source distribution for the full list ofo Info-ZIP contributors.3AInfo-ZIP 3 November 1997 (v5.32) 6 UNZIPSFX(1L)A See unzip(1L) for a more complete description of these options. MODIFIERSA unz4*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIPSFX.HLP;1+,7P./U 4A-580@123KPWO56ṇ7ṇ89GUHJ( 1 UNZIPSFXA unzipsfx - self-extracting stub for prepending to ZIP archivesA [-cfptuz[ajnoqsCLV$]]$ [file(s) ...] [-x xfile(s) ...]= unzipsfx is a modified version of unzip designed to beA prepended to existing ZIP archives in order to form self-A extracting archives. Instead of taking its first non-flagA argument to be the zipfile(s) to be extracted, unzipsfxA seeks itself under the name by which it was invoked andA tests or extracts the contents of the appended archive.A Because the executable stub adds bulk to the archive (theA whole purpose of which is to be as small as possible), aA number of the regular version's less-vital capabilities haveA been removed. Among these are the usage (or help) screen,A the listing and diagnostic functions (-l and -v), the abil-A ity to decompress older compression formats (the ``reduce,''A ``shrink'' and ``implode'' methods), and the ability toA extract to a directory other than the current one. Decryp-A tion is supported as a compile-time option but should beA avoided unless the attached archive contains encrypted files.A Note that self-extracting archives made with unzipsfx are noA more (or less) portable across different operating systemsA than is the unzip executable itself. In general a self-A extracting archive made on a particular Unix system, forA example, will only self-extract under the same flavor ofA Unix. Regular unzip may still be used to extract the embed-A ded archive as with any normal zipfile, although it willA generate a harmless warning about extra bytes at the begin- ning of the zipfile. [file(s)]A An optional list of archive members to be processed.A Regular expressions (wildcards) similar to those inA Unix egrep(1) may be used to match multiple members.& These wildcards may contain:9 * matches a sequence of 0 or more characters* ? matches exactly 1 character [...]A matches any single character found inside theA brackets; ranges are specified by a beginningA character, a hyphen, and an ending character. IfA an exclamation point or a caret (`!' or `^') fol-A lows the left bracket, then the range of charac-A ters within the brackets is complemented (that is,A anything except the characters inside the brackets& is considered a match).A (Be sure to quote any character which might otherwiseA be interpreted or modified by the operating system,+ particularly under Unix and VMS.) [-x xfile(s)]A An optional list of archive members to be excluded fromA processing. Since wildcard characters match directoryA separators (`/'), this option may be used to excludeA any files which are in subdirectories. For example,A ``unzip foo *.[ch] -x */*'' would extract all C sourceA files in the main directory, but none in any subdirec-A tories. Without the -x option, all C source files in@ all directories within the zipfile would be extracted. 2 Options= unzipsfx supports the following unzip options: -c andA -p (extract to standard output/screen), -f and -u (freshenA and update existing files upon extraction), -t (testA archive) and -z (print archive comment). All normal listingA options (-l, -v and -Z) have been removed, but the testingA option (-t) may be used as a ``poor man's'' listing. Alter-A natively, those creating self-extracting archives may wish7 to include a short listing in the zipfile comment.= See unzip for a more complete description of these options. MODIFIERS= unzipsfx currently supports all unzip modifiers: -aA (convert text files), -n (never overwrite), -o (overwriteA without prompting), -q (operate quietly), -C (match namesA case-insenstively), -L (convert uppercase-OS names to lower-A case), -j (junk paths) and -V (retain version numbers); plusA the following operating-system specific options: -XA (restore VMS owner/protection info), -s (convert spaces inA filenames to underscores [DOS, OS/2, NT]) and -$ (restore* volume label [DOS, OS/2, NT, Amiga]).A (Support for regular ASCII text-conversion may be removed inA future versions, since it is simple enough for the archive'sA creator to ensure that text files have the appropriate for-A mat for the local OS. EBCDIC conversion will of course con-A tinue to be supported since the zipfile format implies ASCII storage of text files.)= See unzip for a more complete description of these modifiers.2 Environment_options= unzipsfx uses the same environment variables as unzipA does, although this is likely to be an issue only for theA person creating and testing the self-extracting archive. See unzip for details. 2 Decryption= Decryption is supported exactly as in unzip; that is,A interactively with a non-echoing prompt for the password(s).= See unzip for details. Once again, note that if theA archive has no encrypted files there is no reason to use aA version of unzipsfx with decryption support; that only adds to the size of the archive. 2 ExamplesA To create a self-extracting archive letters from a regularA zipfile letters.zip and change the new archive's permissions' to be world-executable under Unix:+ cat unzipsfx letters.zip > letters chmod 755 lettersA To create the same archive under MS-DOS, OS/2 or NT (note< the use of the /b [binary] option to the copy command):5 copy /b unzipsfx.exe+letters.zip letters.exe Under VMS:2 copy unzipsfx.exe,letters.zip letters.exe: letters == "$currentdisk:[currentdir]letters.exe"A (The VMS append command may also be used. The second com-A mand installs the new program as a ``foreign command'' capa-A ble of taking arguments.) To test (or list) the newly% created self-extracting archive: letters -tA To test letters quietly, printing only a summary message1 indicating whether the archive is OK or not: letters -tqA To extract the complete contents into the current directory,: recreating all files and subdirectories as necessary: lettersA To extract only the README file to standard output (the screen): letters -c README' To print only the zipfile comment: letters -z 2 LimitationsA The principle and fundamental limitation of unzipsfx is thatA it is not portable across architectures or operating sys-A tems, and therefore neither are the resulting archives. ForA some architectures there is limited portability, however6 (e.g., between some flavors of Intel-based Unix).A unzipsfx has no knowledge of the user's PATH, so in generalA an archive must either be in the current directory when itA is invoked, or else a full or relative path must be given.A If a user attempts to extract the archive from a directoryA in the PATH other than the current one, unzipsfx will printA a warning to the effect, ``can't find myself.'' This isA always true under Unix and may be true in some cases underA MS-DOS, depending on the compiler used (Microsoft C fullyA qualifies the program name, but other compilers may not).A Under OS/2 and NT there are operating-system calls availabletA which provide the full path name, so the archive may be A invoked from anywhere in the user's path. The situation iss) not known for Atari TOS, MacOS, etc.s= As noted above, a number of the normal unzip functionsoA have been removed in order to make unzipsfx smaller: usagerA and diagnostic info, listing functions and extraction to A other directories. Also, only stored and deflated files are A supported. The latter limitation is mainly relevant tox, those who create SFX archives, however.A VMS users must know how to set up self-extracting archivesA as foreign commands in order to use any of unzipsfx'sA options. This is not necessary for simple extraction, butA the command to do so then becomes, e.g., ``run letters'' (to( continue the examples given above).A unzipsfx is not supported on the Amiga because of the wayfA the loader works; the entire archive contents would be,A loaded into memory by default. It may be possible to workhA around this by defining the attached archive to be a ``debug A hunk,'' but compatibility problems between the ROM levels ofiA older Amigas and newer ones are likely to cause problemsc regardless.9 All current bugs in unzip exist in unzipsfx as well. 2 DiagnosticsnA unzipsfx's exit status (error level) is identical to that ofa- unzip; see the corresponding help entry. 2 See_also- funzip, unzip, zip, zipcloak, zipgrep,a zipinfo, zipnote, zipsplit 2 AuthorseA Greg Roelofs was responsible for the basic modifications toe= UnZip necessary to create UnZipSFX. See unzip for thetA current list of zip-bugs authors, or the file CONTRIBS infA the UnZip source distribution for the full list of Info-ZIPr contributors. processed.A Regular expressions (wildcards) similar to those inA =*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIPSFX.VAX_VAXC_OLB;1+,B7v./U 4-580H123 KPWO56ESTRLENPPMALLOCPRPRSTR2OEMPݬPTRFREETP ^RЬTЏxV4 ЏgE# ЏxV4d1dU UPʏPS Q@cQ ˏ QQ ŏ QQQ PPʏPSQ@cQTd1v ݬ߭MEMCPYWTdSˏVVVPVPPPʏPPSddU UPʏPS Q@cQ ˏ QQ ŏ QQQ PPʏPSQ@cQT WNYP (attemptingC to re-compensate) _P skipping: %-22s %svolume label Preplace %s? [y]es, [n]o, [A]ll, [N]one, [r]ename: P NULL (assuming [N]one) Pnew name: Perror: invalid response [%c] PAt least one %serror was detected in %s. #PCaution: zero files tested in %s. GP skipping: %-22s unable to get password sP skipping: %-22s incorrect password P%d file%s skipped because of incorrect password. P (may instead be incorrect password) PNo errors detecDted in compressed data of %s. $PNo errors detected in %s for the %d file%s tested. XP%d file%s skipped because of unsupported compression or encoding. P error: %s%s %s P error: %s%s Pnot enough memory to Pinvalid compressed data to PinflatePwarning: %s is probably truncated P%s: unknown compression method >P bad CRC %08lx (should be %08lx) P compressed EA data missing (%d bytes)%sP compressed WinNT security data missing (%d bytes)%saEP error: unsupported extra-field compression type (%u)--skipping Perror [%s]: bad extra-field CRC %08lx (should be %08lx) PcentralF C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMFNFILTERDECRYPT CLOSE_OUTFILEMAPNAMEMAPATTRCRC32MATCHINFLATEFNFILTERMAKELONGMAKEWORD DO_STRINGFCHECK_FOR_NEWERFLUSHREADBYTEREADBUFDEFER_LEFTOVER_INPUT UNDEFER_INPUT OPEN_OUTFILE4PcentralPlseekPEOFPEOFPlocal$Plocal,Pwarning-5Ps8Ps;Ps>PVMSBPPKEP[empty] NP[text] WP[binary]`PtestgPextractqP sPinflat|P ~P%-22s P OK P Pt^YRT<ԭX|Z2Ԯ4§Fxբd#xd~MALLOCPZSբd CjSSdբh#xh~MALLOCP[Sբh CkSShF1 GSPRINTFWLSEEK,READ(READBUF$STRNCMP PROCESS_LOCAL_FILE_HDR DO_STRINGFNFILTER8FREE MAPNAMECHECK_FOR_NEWERFGETSPSTRLENLDECRYPTԮHF1ѮH@1 DO_STRINGUMATCHSPFH\L§˜READBUFP 3XF1P4˜STRNCMPP]<~ݮL SPRINTFPb9\l<~SPRINTFPb9\lXF1&PROCESS_CDIR_FILE_HDRP PXF1gPb9\l#4#VzVP{ PQPPSSVU PX1PV8<~gPb9\lX1PU{U8P< ~4P0<~UߩݮHĴgPb9\lX1>SS%PJ1MӛV1.00VMSV1.012-NOV-1997 23:48VAX C V3.2-044P error: cannot open zipfile [ %s ] (access denied?). =P Error: zipfile is in variable-length record format. Please run "bilf l %s" to convert the zipfile to stream-LF record format. (BILF is available at various VMS archives.) PJANPPFEBPPMARP PAPRP  PMAYP PJUNPer~UNZ532X-VMS-VAX-VAXC-OBJ.BCKB7v58=[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIPSFX.VAX_VAXC_OLB;12|JKPJULPPAUGPPSEPP!POCTP!%PNOVP%)PDECP)P-P%02u-%3s-%04u %02u:%02u:%02u.00MP[ Cannot create output file %s ] pPCan't create output file: %s P[ File %s has illegal record format to put to screen ] P[ Cannot create output file %s ] P[ Cannot allocate space for %s ]  PCan't create output file: %s P@P P&P,P[ File %sL has illegal record format to put to screen ] dPcreate_qio_output: sys$parse failed. Pcreate_qio_output: sys$assign failed. P[ Create file QIO failed. ] P%s exists: [o]verwrite, new [v]ersion or [n]o extract? (uppercase response [O,V,N] = do same for all files): ?PIMBPVFABGPVALLLPVKEYQPVFHCVPVDAT[PVRDT`PVPROePVMSVjP[ Warning: Unknown block signature %s ] P[Warning: CRC error, discarding PKWARE extra field] P[ WriteQIO: sys$synMch found I/O failure ] P[ WriteQIO: sys$qio failed ] P[ Record too long (%u bytes) ] 1P[ Warning, incomplete record of length %u ] ^P[ Warning: Record too long (%u) ] P[ Warning: Record too long (%u) ] P[ WriteBuffer: sys$wait failed ] P[ WriteBuffer: sys$write failed ] P P[ WriteRecord: sys$wait failed ] P[ WriteRecord: sys$put failed ] 2P[ _close_rms: sys$wait failed ] TP[ _close_qio: sys$synch found I/O failure ] P[ Deaccess QIO faileNd ] P%s[ VMS status = %d ] P%s[ %s ] ,P  LPP creating: %s Pmapname: conversion of %s  C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMCHECKDIR SYS$SETDFPROTFIND_VMS_ATTRSLIB$SYS_GETMSG SYS$WRITESYS$WAIT SYS$SYNCHSYS$QIOWSYS$QIOSYS$PUOT SYS$PARSESYS$OPEN SYS$NUMTIM SYS$EXTEND SYS$DASSGN SYS$CREATE SYS$CONNECT SYS$CLOSEfailed dP dPdPsys$disk:[]Psys$disk:[]P#= p=ףP PSYS$OUTPUTPP|^V\(P CC$RMS_FABSTRLENPSYS$OPENP+fSPRINTFPl9RbPR SYS$CLOSERR,ߦ=SPRINTFPl9RbPP^\FIND_VMS_ATTRSPPPP P?PK5g P^\ipliy}uiuu^YWVR>ScbRST< """<SʏSxRRS$L|~$|~~ SYS$QIOWPSS2SSSȱ_ SYS$DASSGNPipliy}uiuuq P^VWZXY\1TOLOWERSPSPRINTFPg9RbhFFLUSHh ߭FGXETSPDRRRBjR3~cPo#~cPv~cPn1xRRRBj~TOLOWERPP\\PPnP1^?P[s(` CC$RMS_NAM󭒞4R4R(4 SYS$CREATEP[[84RԢ(4R44RBP4R4 SYS$CREATEP[[P^[ZX'Ԯ4|<|D|TծPP Pctx=stmP  P[%s] %s password: PEnter password: .Ppassword incorrect--reenter: LPbus errorVPsegmentation violationmP[ %s ] P^R|~OPENP2<~e1Z1ԛV1.04INFLATEV1.013-NOV-1997 23:59VAX C V3.2-044PP      #+3;CScsPPcc !1Aa  0@` P P(incomplete l-tree) P(incomplete d-tree) Pf ^V1T5S-XЬ UDbRbjPS޼TCdlVYRxR4V RVR[ZZ,PZR(jBg4ZZt1@2ԛV1.02MATCHV1.014-NOV-1997 00:00VAX C V3.2-044P^ݬ ݬݬQPQQP^ZЬR֬bTRSRSSPT?!ЬRbݬ RRݬPRRRPT*3RP Pݬ ݬݬPTTP֬PT[1RPЬUVeRR! R^VVXUXЬWSg,SSgRR\S PR]Wg՚gRR]PTЬUeRSR-SSYUW1 [TOLOWERVYRR\Y1YЬP`RuR-pT1Pk(ЬRbSˏSRBj S~fPQSQQSSSUЬQQRbRR-tTTPaPPTaRTR]SS ˏTP@j T~R MATCH match recmatch iswildA @d"   C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPROv CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMTOLOWER MATCH ISWILDI$CODE$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGbFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITHgfPRTRRQTQQU XRݬ ~W~PRRPTPTPYT֬ѬW1 Xݬ ~W~PRPRRPT\ЬR֬bTPլ )TUˏURBjU~TOLOWERPSPUSSUTUլ ,ЬRbTˏTRBjT~TOLOWERPSTSSTTUTݬ ֬ݬݬ&PRRRPP^4PЬP`QQ\P` PPQ%Q*P֬PRwwSPx\SSSR\\ˏRWRR\\GPScU PREADBYTEPUUSSPx\SSSR\\RSʏSWSPRR\WSWS1READBYTEU\DPPx16ԛV1.0S4PROCESSV1.014-NOV-1997 00:03VAX C V3.2-044Perror: cannot allocate unzip buffers 'Punzipsfx: cannot find myself! [%s] LPerror [%s]: missing %ld bytes in zipfile (attempting to process anyway) Perror [%s]: NULL central directory offset (attempting to process anyway) Pwarning [%s]: zipfile is empty Perror [%s]: start of central directory not found; zipfile corrupt. %sOP End-of-ceyntral-directory signature not found. P caution: zipfile comment truncated PPP P%sEmpty zipfile. P  C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM GET_CDIR_ENTUZ_END_CENTRALFREE_G_BUFFERSCHECKDIR GET_CRC_TABLEFREE_CRC_TABLEISWILD CHECK_FORMAT INFLATE_FREEEXTRACT_OzR_TEST_FILESMAKELONGMAKEWORD DO_STRINGREADBUFOPEN_INPUT_FILE GET_CDIR_ENT P[%s] P|^TRUV< ~MALLOCP<~MALLOCPP(<~eSPRINTFPb9\lP +P/P9P4K0K:K5d/\\~STRCPYScߤ4\\~cߤ9\\~cGP?PL VPVP (ߥ'SPRINTFPb9\l INFLATE_FREECHECKDIR{ FREE_CRC_TABLEFREE FREE PFREEVP^\ INFLATE_FREECHECKDIR FREE_CRC_TABLEFREE FREE FREEP^VYZRWSISWILDP7STATP <PʏPQP@QQSSLQ QQP CHECK_FORMATPPOPEN_INPUT_FILE|P P GET_CRC_TABLEPPPPPS PЏSSPX[TIբ\Bբ@=<~ DO_STRINGP)<~ǀSPRINTFPb9P`TTXXCLOSE֬XPբ\bCLOSEXPSb <PS€|##T3<~T~ߧLSPRINTFPb9P`XTTPH@<~ǘSPRINTFPb9P`##X€11b8Ѣ$ ަSPަSSߦ }SPRINTFPb9P`,<~SPRINTFPb9P`CLOSEXXPPP#SzSP{ PQPPTTSUS-ijSPRINTFPb9P`PUUULSEEKP< ~READP3PTT%PPTPPT˜READBUFP4˜STRNCMPP1?##SzSP{ PQPPTTSUS-ijSPRINTFPb9P`PURU~LSEEKP< ~READP3PTT"PTPPT˜READBUFP4˜STRNCMPP?<~iSPRINTFPb9P`CLOSEPX#SzSP{ PQPPTTSUS-ijSPRINTFPb9P`PUUULSEEKP< ~READP3PTT%PPTPPTEXTRACT_OR_TEST_FILESPXPXCLOSEXPP^XRYTUU 1|~LSEEKREADP1|SS1XPScPPP19SSTRNCMPPPPT1P1PzUP{ PQPPWW1WU~LSEEKPWREADPW1WSSSScPPP-9SSTRNCMPPPPT+STRNCPY PWUWSSǏ SVUT1UV1STRNCMPSPLSEEK< ~READP 1OQaPPP)9QcPPPT+STRNCPYUTUV1"T^բ@b+<~ߨ SPRINTFPb9Sc<~OSPRINTFPb9ScPSS|߭READBUFP3PMAKEWORDTdPdPdPdPMAKELONGPMAKELONGPdP€P^RSTIբ\Bբ@=<~ DO_STRINGP)<~ÀSPRINTFPb9\lTTPP^R GET_CDIR_ENTPPY\\ YQPQQ\բ(D\ЬPP P?P\z/\Ь\\ \ \\ \ \ P0^R*߭READBUFP3PXYZ[֞MAKEWORDScP\cP^cP`cPbޞMAKELONGTdPddPhdPlcPpcPrcPtRPROCESSprocess_zipfilesfree_G_buffersH do_seekableH find_ecrec8 uz_end_centralj process_cdir_file_hdrt  get_cdir_ent|process_local_file_hdr f          #[!         &UZ_END_CENTRALFREE_G_BUFFERSSTATREADLSEEKCLOSESTRNCMPSTRNCPYSTRCPYSPRINTFMALLOCFREE |PROCESS_ZIPFILES FREE_G_BUFFERS 8 UZ_END_CENTRAL PROCESS_CDIR_FILE_HDR t  GET_CDIR_ENT |PROCESS_LOCAL_FILE_HDR$CODE$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG&$CHAR_STRING_CONSTANTSŸcPvcPxdPzP~P ^R߭READBUFP3P>?MAKEWORDTdP@dPBdPDdPFMAKELONGScPHcPLcPPdPTdPVL„Pˆ<@\\3\ЬH\ЬLЬ„\Ь PЬ ˆP P.7.7.7777..7777.7._wwWER MATCH ISWILDI$CODE$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGbFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITHgfPRTRRQTQQU XRݬ ~W~PRRPTPTPYT֬18ԛV1.02TTYIOV1.014-NOV-1997 00:01VAX C V3.2-044P PSYS$COMMANDP PrP(line too long--try again) P^R|~?b SYS$ASSIGNPPТP|~|~ߢ|~ߢ '2~ SYS$QIOWPPТP2 ТPТ Т$լ$$|~|~ߢ |~ߢ #2~ SYS$QIOWPPТP2 ТP2~ SYS$DASSGNPPТPP^ECHOެRbREAD PbREAD ECHOP ^XWߨ CTERMIDPFOPENPVPFFLUSHިYFPUTSFFLUSH[R TTYIO echo zgetchK getp .a   C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDTsC~UNZ532X-VMS-VAX-VAXC-OBJ.BCKB7v58=[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIPSFX.VAX_VAXC_OLB;1(| CC$RMS_XABSUM CC$RMS_XABTRMECHOSYS$QIOW SYS$DASSGN SYS$ASSIGNREADFFLUSHFPUTCFPUTSFGETCFCLOSEFOPENCTERMID ECHO ZGETCH GETP$CODE($DATASTDINSTDOUTSTDERR_CTYPE_ERRNOM VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDEXCLFILENAMENOTMATCHED REPORTMSG COMPILEDWITH+$CHAR_STRING_CONSTANTSECHOZFGETCUЬ TެSУigY gݬ gRVePQQ  QRT RPRQ@Q jg FPUTCgkިYRP@ ЬS@cVFCLOSESPww+P/P9P4K0K:K5d/\\~STRCPYScߤ4\\~cߤ9\\~cGP?PL VPVP (ߥ'SPRINTFPb9\l INFLATE_FREECHECKDIR1 4?ԛV1.00VMSV1.014-NOV-1997 00:03VAX C V3.2-044P error: cannot open zipfile [ %s ] (access denied?). =P Error: zipfile is in variable-length record format. Please run "bilf l %s" to convert the zipfile to stream-LF record format. (BILF is available at various VMS archives.) PJANPPFEBPPMARP PAPRP  PMAYP PJUNPPJULPPAUGPPSEPP!POCTP!%PNOVP%)PDECP)P-P%02u-%3s-%04u %02u:%02u:%02u.00MP[ Cannot create output file %s ] pPCan't create output file: %s P[ File %s has illegal record format to put to screen ] P[ Cannot create output file %s ] P[ Cannot allocate space for %s ]  PCan't create output file: %s P@P P&P,P[ File %s has illegal record format to put to screen ] dPcreate_qio_output: sys$parse failed. Pcreate_qio_output: sys$assign failed. P[ Create file QIO failed. ] P%s exists: [o]verwrite, new [v]ersion or [n]o extract? (uppercase response [O,V,N] = do same for all files): ?PIMBPVFABGPVALLLPVKEYQPVFHCVPVDAT[PVRDT`PVPROePVMSVjP[ Warning: Unknown block signature %s ] P[Warning: CRC error, discarding PKWARE extra field] P[ WriteQIO: sys$synch found I/O failure ] P[ WriteQIO: sys$qio failed ] P[ Record too long (%u bytes) ] 1P[ Warning, incomplete record of length %u ] ^P[ Warning: Record too long (%u) ] P[ Warning: Record too long (%u) ] P[ WriteBuffer: sys$wait failed ] P[ WriteBuffer: sys$write failed ] P P[ WriteRecord: sys$wait failed ] P[ WriteRecord: sys$put failed ] 2P[ _close_rms: sys$wait failed ] TP[ _close_qio: sys$synch found I/O failure ] P[ Deaccess QIO failed ] P%s[ VMS status = %d ] P%s[ %s ] ,P  LPP creating: %s Pmapname: conversion of %s  C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMCHECKDIR SYS$SETDFPROTFIND_VMS_ATTRSLIB$SYS_GETMSG SYS$WRITESYS$WAIT SYS$SYNCHSYS$QIOWSYS$QIOSYS$PUT SYS$PARSESYS$OPEN SYS$NUMTIM SYS$EXTEND SYS$DASSGN SYS$CREATE SYS$CONNECT SYS$CLOSEfailed dP dPdPsys$disk:[]Psys$disk:[]P#= p=ףP PSYS$OUTPUTPP|^V\(P CC$RMS_FABSTRLENPSYS$OPENP+fSPRINTFPl9RbPR SYS$CLOSERR,ߦ=SPRINTFPl9RbPP^\FIND_VMS_ATTRSPPP P?PK5g P^\ipliy}uiuu^YWVR>ScbRST< """<SʏSxRRS$L|~$|~~ SYS$QIOWPSS2SSSȱ_ SYS$DASSGNPipliy}uiuuq P^VWZXY\1TOLOWERSPSPRINTFPg9RbhFFLUSHh ߭FGETSPDRRRBjR3~cPo#~cPv~cPn1xRRRBj~TOLOWERPP\\PPnP1^?P[s(` CC$RMS_NAM󭒞4R4R(4 SYS$CREATEP[[84RԢ(4R44RBP4R4 SYS$CREATEP[[P^[ZX'Ԯ4|<|D|TծPgPb9\l##4# Ю4##Э\z\P{ PQPPSS\\5SPRINTFPb9\lPѭPݭ8P< ~4P3PSS%P\S\\S˜,P0<~VߩݮHĴgPb9\lX1/˜,P4<~VݮHĴgPb9\lX1PPS+ߩ*\@\~HP_gPb9\l1:S12X1*X1$PP PLP&?Pբ=խ13բ41բ8%բ41բLխ1բ8խ1~\@\~DPăgPb9\l \P,ĶgPb9\lNXX\\A1\PPA P ?PPn1Pn $ P1?P8Ԣ41P~gPb9\l<~\PPP\L ׭Э\Lխ16P4Ԣ81$P~gPb9\l1G\1PS1SVբDբ@EբDբ@;<~\@\~DPsgPb9\l1SXSX<~\@\~DPGgPb9\lAPP/PXPXZ ZFREE[ [FREEXP֮@Ѯ@H1=ݭ8P< ~4ЭЭ֭赮F1ZRUբdBEj5SEcSPRINTFPb9\lX XUUdZFREE[OUբh?PEk0<~”SEcSPRINTFPb9\lUUh[FREE֮<բD1<WW<Ѣ@1pX@Xީ,Uީ+UUSPRINTFPb9Sc1PЭV.#SPRINTFPb9Sc~Pբl7<2SWS.SPRINTFPb9ScBPV ީ7UPީ5UUV$SPRINTFPb9Sc<2U8Uީ:VPީ8VVUXSPRINTFPb9Sc<UpUީ=Vީ;VVUěSPRINTFPb9Sc8բ@2X.խ)#SPRINTFPb9Scծ<X<2S QXBP X:P<UѮ\@\~FNFILTERPeSPRINTFPb9\lPZSS1բDբ@1բDբ@1<~QZP \\\P\QPQP{\PPQQ~QSP \ \P Q{\PQPQߤB\@\~FNFILTERPeSPRINTFPb9\lP<^\_\ZբDբ@MբDբ@C<~\\@\~FNFILTERPߥ<SPRINTFPb9\lPMAPATTR~P^URVޥEYޥN[ޥWnZ|բDRբ@{ߥfߥeS@S~FNFILTERPߥ`SPRINTFPb9\l1Pբ  OPEN_OUTFILEP2P OPEN_OUTFILEP2PDEFER_LEFTOVER_INPUTSPRINTFPb9\l\&<~SPRINTFPb9\lZ]բD+բ@RŅSPRINTFPb9\l-բ@'Z#ŊSPRINTFPb9\l UNDEFER_INPUTZP^RUXYVЬ SSMAKEWORDPWS~MAKELONGPZS„„ЬЬ *     *     E        Sx   PROCESS_LOCAL_FILE_HDRPROCESS_CDIR_FILE_HDRREADLSEEKMEMCPYSTRLENSTRNCMPSPRINTFFGETSMALLOCFREE EXTRACT_OR_TEST_FILES  MEMEXTRACT x MEMFLUSH  FNFILTER$CODE$DATASTDINSTDOUTSTDERR_CTYPE_ERRNO VAXC$ERRNOQG MASK_BITSFNAMESOEM2ISO CENTSIGMSG ENDSIGMSGSEEKMSGFILENAMENOTMATCHEDtEXCLFILENAMENOTMATCHED REPORTMSG)TRUNCEAS5 TRUNCNTSD$CHAR_STRING_CONSTANTS&PcPP ^P@PPcݔbЬPPAP  P0 Pt P"6ww$4R@$HR'էXԢ HS4RТ$4RH$,P(X CC$RMS_XABPROR4RТ$4R$8SYS$WAITPP28Rݢ S4 SYS$CLOSEωPP^TR< "|/ SYS$SYNCHPSP2SS STaL|~1V/ԛV1.0$3FILEIOV1.013-NOV-1997 23:59VAX C V3.2-044P??'".^%So??YϾ󨷵ǎԐѥ噞ᅠƄФ P׃Ѫ++++--+-+++---+i++_̯յݯ=Perror: cannot open zipfile [ %s ] $Perror: zipfile read error @Pwarning: filename too long--truncating. jPwarning: extra field too long (%d). Ignoring... P%s: write error (disk full?). Continue? (y/n/^C) Perror: z C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRMREADBUFDEFER_LEFTOVER_INPUTGETPZGETCHECHO UPDATE_KEYS DECRYPT_BYTE SCREENLINES RETURN_VMSFNFILTERWRITEOPENREADLSEEKISATTYMEMCPYSTRLENTOLOWERFFLUSHFPUTCSPRINTFipfile probably corrupt (%s) P--More--(%lu)P--- Press `Q' to quit, or any other key to continue --->P Pctx=stmP  P[%s] %s password: PEnter password: .Ppassword incorrect--reenter: LPbus errorVPsegmentation violationmP[ %s ] P^R|~OPENP2<~SPRINTFPb9\lPPP^\ ̄I#Ī̄MI^\̄1̄̄̄M̄ĪĪ^TVЬRRWR1Pg< ~READPRWP#<~ߦ$STRLENPߦ$d9P`P PRPRUPUUSSݬMEMCPYSSSSR1NWPP|^TVPĄĄP1< ~READP P2<~ߦ$STRLENPߦ$d9RbECHO RETURN_VMS Ą4ĄĄĄMĄIĄ PIĄRARSR\RU\(PcR DECRYPT_BYTEP\\Rcc~ UPDATE_KEYSSU\U\RP^YUЬRRWR XRTЬRբDiV PV%լ  ЬRլ RR  ֬ cЬSWV FPUTCVFFLUSH3գD.ISATTYP!ISATTYPi FPUTCiFFLUSHЬRЬR SCREENLINESP0բ,1TTX1dRR 1ЬRQPТ0RRRPRQPQP{RPPQQPWTSSSWfR ~WRITEPRPRSPPVFFLUSHЬRTWRATTX1aWT Ь T1TWfR ~WRITEPRSRTSSSPVFFLUSHUЬRբDLISATTYP?ISATTYP2ݬ WйR ~WRITEPRSR SSSPiFFLUSHЬPRSR SSPP^ P|^TUVЬP ߤeFPRINTFЬPݬeFPRINTFeFFLUSH 6PZGETCHPSSPP ,P 'P "PqPQPZGETCHPS>eFPRINTFeFFLUSHSRˏRP@R~TOLOWERPQPRQQq  RETURN_VMSЬP2|^SVЬTd6d<~MALLOCPUݬݬߣ USPRINTFURPޣR PdUޣ.Rݬݬ RGETPPRU UFREERV VVP^TRSECHOѬ 2P (attempting,YRxRZ[RRZRPZ[ZZ[RˀRZRZ[xVRRRRR[RЮ0SRCp(P׮0Ю0RB$VxVRRRRR[RЮ0SRCpЮR׮R1YYY 1:о$SծѮ SSPP ^ЬRRТSRFREESRPcwwt one %serror was detected in %s. #PCaution: zero files tested in %s. GP skipping: %-22s unable to get password sP skipping: %-22s incorrect password P%d file%s skipped because of incorrect password. P (may instead be incorrect password) PNo errors detecPj9Rb1p<RR 1cЮS<RR\V\VCRC32ѣP%˓ Pj9Rb\Ԯ\1PYVW Extract files to SYS$OUTPUT with no informational messages./QUIET /QUIET[=SUPER]F Perform operations quietly. The keyword SUPER can be specified to# make operations even more quiet./RESTORE /RESTORE /NORESTORE. Restore file owner and protection settings./SCREEN /SCREEN /NOSCREEN8 Extracts matching files to SYS$OUTPUT (the terminal)./TEST /TEST /NOTEST Test archive files./TEXT$ /TEXT[=KEYWORD] /NOTEXT (default)F Selects conversion to VMS standard text file format. The optional keywords recognized are:G AUTO Automatically extracts files marked as "text" (ratherL than "binary") in standard VMS text file format. (default)F ALL Extracts all files in standard VMS text file format." NONE Same as /NOTEXT.F A similar functionality is available for binary files, see qualifier /BINARY./UPDATE /UPDATE /NOUPDATE4 Update existing files; create new ones if needed./VERSION /VERSION /NOVERSION (default)# Retain VMS file version numbers. 2 AuthorsF Info-ZIP; currently maintained by Greg Roelofs. VMS supportF maintained by Igor Mandrichenko, Christian Spieler and Hunter? Goatley. Originally based on a program by Samuel H. Smith.< VMS on-line help ported from UNZIP.DOC by Hunter Goatley. 2 Exit_CodesF On VMS, UnZip's UNIX style exit values are mapped into proper VMS status codes:A 1 (success) normal exit,6 (0x7fff0000 + 16*UnZip_errnum) -W- warnings; (0x7fff0002 + 16*UnZip_errnum) -E- normal errors : (0x7fff0004 + 16*UnZip_errnum) -F- fatal errorsF The UnZip error level (or exit code) approximates the exit codes7 defined by PKWARE and takes on the following values:p) VMS UnZip Type of errorf severity errcodeC - 0 normal; no errors or warnings detected.oH W 1 one or more warning errors were encountered,H but processing completed successfully any-H way. This includes zipfiles where one orH more files was skipped due to unsupportedH compression method or encryption with an- unknown password. H E 2 a generic error in the zipfile format wasH detected. Processing may have completedH successfully anyway; some broken zipfilesH created by other archivers have simple work-$ arounds.H F 3 a severe error in the zipfile format wasH detected. Processing probably failed imme-$ diately.H F 4 unzip was unable to allocate memory for oneH or more buffers during program initializa-! tion.eH F 5 unzip was unable to allocate memory orH unable to obtain a tty to read the decryp-- tion password(s).sH F 6 unzip was unable to allocate memory during2 decompression to disk.H F 7 unzip was unable to allocate memory during4 in-memory decompression.0 F 8 [currently not used]B E 9 the specified zipfiles were not found.H E 10 invalid options were specified on the com-& mand line.9 E 11 no matching files were found.FH F 50 the disk is (or was) full during extraction.H F 51 the end of the ZIP archive was encountered( prematurely.H E 80 the user aborted unzip prematurely with con-/ trol-C (or similar) H E 81 no files were found due to unsupported com-H pression methods or unsupported decryption.H (If even one additional file is successfullyF processed, however, the exit status is 1.)H E 82 no files were found due to bad decryptionH password(s). This is also the exit statusH if no files were found due to a combinationH of unsupported compression and bad pass-H words. As in the previous case, however, aH single successful file will result in an6 exit status of 1 instead.)F In addition, there is a compilation option to expand upon thisF behavior: An executable compiled with the option RETURN_CODESF defined displays a human-readable explanation of what the error status means.2 UNIX_OptionsF The default action of UnZip is to extract all zipfile entries. The3 following options and modifiers can be provided: -Z ZipInfo mode4 -c extract files to SYS$OUTPUT (terminal)D -f freshen existing files (replace if newer); create none5 -h show brief help screen and exit quietlyr/ -l list archive files (short format)D -p extract files to SYS$OUTPUT; no informational messages -t test archive files> -u update existing files; create new ones if needed1 -v list archive files (verbose format)C. -z display only the archive comment MODIFIERSK -a auto-extract only text files in standard VMS text file format/' -aa extract all files as texttK -b auto-extract only binary files in VMS fixed 512 bytes records I -bb extract all files as binary VMS fixed 512 byte record filesNG -j junk paths (don't recreate archive's directory structure).: -n never overwrite existing files; don't prompt5 -o OK to overwrite files without prompting > -q perform operations quietly (-qq => even quieter)0 -C match filenames case-insensitivelyK -L convert filenames to lowercase if created on MSDOS, VMS, etc.,L -P supply decryption password on the command line (insecure!): -M page output through built-in "more" funcZ~UNZ532X-VMS-VAX-VAXC-OBJ.BCK6*585[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZIP_CLI.HLP;1OLB;1L$!tion/ -V retain (VMS) file version numbers D -X restore owner/protection info (may require privileges)F Note that uppercase options such as -C, -L, -M, -P, -V, -X and -Z- must be specified in quotes. For example:y! $ unzip "-VX" -a zipfilea2 UNZIP_OPTS_DefaultF UnZip allows to modify its default behaviour by specifying (UNIXF style) option defaults via the UNZIP_OPTS logical name. ForF example, the following will cause UnZip to match filenames withoutF regard to case, restore owner/protection information and perform. all operations at quiet-level 1 by default:# $ define UNZIP_OPTS "-qCX"eF Note that the quotation marks here are required to preserveF lowercase options (opposite of the command-line behavior). ToF negate a default option on the command line, add one or more minusF signs before the option letter, in addition to the leading switch character `-': $ unzip --ql zipfile  or  $ unzip -l-q zipfilenF At present it is not possible to decrement an option below9 zero--that is, more than a few minuses have no effect.pF UNZIP_OPTS may be defined as a symbol rather than a logical, but if) both are defined, the logical is used.i double-quotes whenever it, contains lowercase or special characters./PIPE /PIPE> Extract files to SYS$OUTPUT with no informational messages./QUIET /QUIET[=SUPER]F Perform ope=*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]UNZSXCLI.VAX_VAXC_OLB;1+,7.f/U 4fa-580H123 KPWOg56PPAGE;P><P CPYYZ_UNZIP<PC=PMPZIPFILE=PM>PUPINFILE>PU?P\Punzip ?P\cPunzi7piP-PlP-doP-xsP3 November 1997PValid main options are /TEST, /FRESHEN, /UPDATE, /PIPE, /SCREEN, /COMMENT%s. PModifying options are C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM VMS_UNZIP_CLD CLI$GET_VALUE CLI$PRESENT CLI$DCL_PARSESTR$FIND_FIRST_SUBSTRING STR$CONCATLIB$SIG_TO_RET LI8B$GET_INPUTLIB$GET_FOREIGN LIB$ESTABLISHUSAGESTRLENSTRNCPYSTRCPYSPRINTFREALLOC /TEXT, /BINARY, /JUNK, /[NO]OVERWRITE, /QUIET, /CASE_INSENSITIVE, /LOWERCASE, %s/VERSION, /RESTORE. cP/PAGE, P|^V<ό PRP}LIB$GET_FOREIGN CLI$PRESENTPRP$߭߭߭>PRPRPUtЭTѭ2ЭS&a7|ϛ SPIELER UNZIP&Y7|ϛ SPIELER VMS_UNZIP_CLD*#O;|ϛ SPIELER VMS_UNZIP_CMDLINE*sMӛ SPIELER VMS_UNZIP_CMDLINElJHԛ SPIELER UNZIP*"Mԛ SPIELER VMS_UNZIP_CMDLINE>1Y7|ϛ02-007+ VMS_UNZIP_CLD02-007 8-NOV-1997 03:08-VAX/VMS Command Definition Utility (V4-001) VMS_UNZIP_CLDX CLI$TABLESP X UNZI ,(Tl UNZIP4!)P1ZIPFILEZip file8a!(P2INFILEFiles to UnZip(BINARY$ TEXT(4?SCREEN(\ DIRECTORY(FRESHEN$HELP$JUNK$LIST$ BRIEF$8 FULL(`  OVERWRITE$ QUIET$ TEST$TYPE$PIPE(PASSWORD(@@ UPPERCASE(hUPDATE(VERSION(VERBOSE(RESTORE(COMMENT(a0EXCLUDE0`CASE_INSENSITIVE( LOWERCASE$PAGE( YYZ_UNZIP(ZIPINFO,`( A INFORMATION4\!)P1ZIPFILEZip file<a!(P2INFILEFiles to display(ZIPINFO(ONE_LINE$ SHORT(4MEDIUM$XLONG(VERBOSE(HEADER(COMMENT( TOTALS$B TIMES(aD EXCLUDE0t CASE_INSENSITIVE$ PAGE QUIET_MODIFIER$SUPER$CONVERT_KEYWORDS$$AUTO$HALL$NONE 0    4   $ $ $ @ L  wwD14GԛV1.02UNZIPV1.014-NOV-1997 00:03VAX C V3.2-044 P??P3 November 1997 Perror: expected central file header signature not found (file #%u). Perror [%s]: attempt to seek before beginning of zipfile %sPcaution: filename not matched: %s Pcaution: excluded filename not matched: %s P (please check that you have transferred or created the zipfile in the appropriate BINARYE mode--this includes ftp, Kermit, AND unzip'd zipfiles) Perror: must give decryption password with -P option 6Perror: -fn or any combination of -c, -l, -p, -t, -u and -v options invalid Pcaution: both -n and -o specified; ignoring -o PUnZipSFX %d.%d%d%s of %s, by Info-ZIP (Zip-Bugs@lists.wku.edu). PValid options are -tfupcz; modifiers are -abjnoqCL%sV%s. P-xPMPX. Quote uppercase optionsP^ C$MAIN_ARGS GLOBALSCTORݬݬUNZIPP RETURN_VMFSP|^U VRHANDLERTTSIGNALScTcT cT cм м߬߬VMS_UNZIP_CMDLINEPSPSPb߬߬UZ_OPTSլPЬdԢhլ_PЬPScGecSTRCMPP1ScSPPdfԢdS”âdPPhScԢllPROCESS_ZIPFILES^ZRXYTмUмVUW1V-1fPPQPSaU1U-11UC1UPPC7 P1 ?PT1PTTPPQQQT1֢1PTTPGPQQQT1բ֢Ԣ1PTԢ T1 1TԢT111T ԢLԢT1pL1d VMSCLI_USAGET Ԣ T1IP 1@TԢ(T13(1,TԢ,T1,1TԢ4T1 41TT8PPQQQ8T1֢81PT Ԣ @PPQQQ@T1 @1T(<~hSPRINTFPb9P` Pբ<1w CLI$PRESENTPRP$߭߭߭>PRPRPUtЭTѭ2ЭSMݭݭREALLOCPS SFREE<$PoDSTRCPY߭߭߭1ώPRPRPݭݭREALLOCP<$PTRխSBcTRRT~CALLOCPU<$PЭSRTPSBeSSTRLENPPSRRTDeTUP^ԭݬ CLI$PRESENTPRR1CЬTdЬS<ccMALLOCPd<$PмXݬ CLI$GET_VALUEPRR1WXYPPAGE;P><P CPYYZ_UNZIP<PC=PMPZIPFILE=PM>PUPINFILE>PU?P\Punzip ?P\cPunziVpiP-PlP-doP-xsP3 November 1997PValid main options are /TEST, /FRESHEN, /UPDATE, /PIPE, /SCREEN, /COMMENT%s. PModifying options are C$V_CTYPEDEFS CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM VMS_UNZIP_CLD CLI$GET_VALUE CLI$PRESENT CLI$DCL_PARSESTR$FIND_FIRST_SUBSTRING STR$CONCATLIB$SIG_TO_RET LIWB$GET_INPUTLIB$GET_FOREIGN LIB$ESTABLISHUSAGESTRLENSTRNCPYSTRCPYSPRINTFREALLOC /TEXT, /BINARY, /JUNK, /[NO]OVERWRITE, /QUIET, /CASE_INSENSITIVE, /LOWERCASE, %s/VERSION, /RESTORE. cP/PAGE, P|^V<ό PRP}LIB$GET_FOREIGN CLI$PRESENTPRP$߭߭߭>PRPRPUtЭTѭ2ЭS\ݭݭREALLOCPS SFREE<$PoDSTRCPY߭߭߭1ώPRPRPݭݭREALLOCP<$PTRխSBcTRRT~CALLOCPU<$PЭSRTPSBeSSTRLENPPSRRTDeTUP^ԭݬ CLI$PRESENTPRR1CЬTdЬS<ccMALLOCPd<$PмXݬ CLI$GET_VALUEPRR1WXYG֛7@>G֛89GUHJI UNZIP.OPT37 UNZIPSFX.OPT@7`5*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK.VMS]UNZIP.OPT;1+,37./U 4-710@123KPWO56ṇ7ṇ89GUHJIdent = "UnZip 5.32"8*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK.VMS]UNZIPSFX.OPT;1+,@7`./U 4-710@123KPWO56ṇ7ṇ89GUHJIdent = "UnZipSFX 5.32".*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]WHERE.;1+,5D.$/U 4P$"*-580@123KPWO%56ʿګ˛7ʿګ˛89GUHJ&J__________________________________________________________________________H This is the Info-ZIP file ``WHERE,'' last updated on 3 November 1997.J__________________________________________________________________________: The latest version of this file can be found online at:8 http://www.cdrom.com/pub/infozip/doc/WHEREG Note that some ftp sites may not yet have the latest versions of ZipF and UnZip when you read this. The latest versions always appear inG ftp://ftp.cdrom.com/pub/infozip/ (and subdirectories thereof) first,E except for encryption sources and binaries, which always appear in= ftp://ftp.icce.rug.nl/infozip/ (and subdirectories) first.D IF YOU FIND AN ERROR: please let us know! We don't have time toF check each and every site personally (or even collectively), so anyE number of the sites listed below may have moved or disappeared en-H tirely. E-mail to Zip-Bugs@lists.wku.edu and we'll update this file.J__________________________________________________________________________6Info-ZIP's home WWW site is listed on Yahoo and is at:$ http://www.cdrom.com/pub/infozip/JThe Zip and UnZip pages have links to most known mirror sites carrying ourJsource and/or binary distributions, and they generally are more up-to-date6and have better information than what you are reading:, http://www.cdrom.com/pub/infozip/Zip.html. http://www.cdrom.com/pub/infozip/UnZip.htmlMThe related zlib package by Info-ZIP's Jean-loup Gailly and Mark Adler is at:) http://www.cdrom.com/pub/infozip/zlib/DSource-code archives for Info-ZIP's portable Zip, UnZip, and related utilities:N zip22.zip Zip 2.2 (deflation; includes zipnote, zipsplit, zipcloak)1 zip22.tar.Z ditto, compress'd tar formatN zip11.zip Zip 1.1 (shrinking, implosion; compatible w. PKUNZIP 1.1)1 zip11.tar.Z ditto, compress'd tar formatO unzip532.zip UnZip 5.32 (all methods[*]; unzip/funzip/unzipsfx/zipgrep)1 unzip532.tar.Z ditto, compress'd tar formatN zcrypt27.zip encryption/decryption support for Zip 2.2x and UnZip 5.3x3 zcrypt10.zip encryption support for Zip 1.1O wiz40.zip WiZ 4.0, Windows 3.x/95/NT GUI front end for Info-ZIP DLLsL[*] Unreducing and unshrinking are not turned on by default but are included: in source form. See UnZip's INSTALL file for details.IExecutables archives (and related files) for Info-ZIP's software; not allKof these will be immediately available due to lack of access to appropriateGsystems on the part of Info-ZIP members. See the BBS section below for#special CompuServe (6.3) filenames:O zip22d.zip Windows 3.x (16-bit) DLL, header files, docs (no encrypt.)P zcr22d.zip Windows 3.x (16-bit) DLL, header files, docs (w/encryption)? zip22x.zip MSDOS executables and docs (no encryption)A zcr22x.zip MSDOS executables and docs (with encryption)K zip22x1.zip OS/2 1.x (16-bit) executables and docs (no encryption)M zcr22x1.zip OS/2 1.x (16-bit) executables and docs (with encryption)O zip22x2.zip OS/2 2/3/4.x (32-bit) executables and docs (no encryption)N zcr22x2.zip OS/2 2/3/4.x (32-bit) executables and docs (w/encryption)? zip22xA.zip Amiga executables and docs (no encryption)A zcr22xA.zip Amiga executables and docs (with encryption)> zip22xB.zip BeOS executables and docs (no encryption)@ zcr22xB.zip BeOS executables and docs (with encryption)? zip22xC.zip VM/CMS executable and docs (no encryption)A zcr22xC.zip VM/CMS executable and docs (with encryption)P zip22dN.zip WinNT/Win95 (Intel) DLL, header files, docs (no encryption)O zcr22dN.zip WinNT/Win95 (Intel) DLL, header files, docs (w/encryption)M zip22xN.zip WinNT/Win95 (Intel) executables and docs (no encryption)O zcr22xN.zip WinNT/Win95 (Intel) executables and docs (with encryption)K zip22xN-axp.zip WinNT (Alpha AXP) executables and docs (no encryption)M zcr22xN-axp.zip WinNT (Alpha AXP) executables and docs (with encryption)L zip22xN-mip.zip WinNT (MIPS R4000) executables and docs (no encryption)N zcr22xN-mip.zip WinNT (MIPS R4000) executables and docs (with encryption)I zip22xN-ppc.zip WinNT (PowerPC) executables and docs (no encryption)K zcr22xN-ppc.zip WinNT (PowerPC) executables and docs (with encryption)G zip22xR.zip Acorn RISC OS executables and docs (no encryption)I zcr22xR.zip Acorn RISC OS executables and docs (with encryption)C zip22xT.zip Atari TOS executables and docs (no encryption)E zcr22xT.zip Atari TOS executables and docs (with encryption)/ zip22-vms-axp-obj.zip (no encryption)I VMS (Alpha AXP) object libs, link procedure and docs/ zip22-vms-axp-exe.zip (no encryption)N VMS (Alpha AXP) executables for VMS 6.1 or later and docs/ zip22-vms-vax-decc-obj.zip (no encryption)O VMS (VAX) object libs (new DEC C), link procedure and docs/ zip22-vms-vax-decc-exe.zip (no encryption)M VMS (VAX) executables (DEC C) for VMS 6.1 or later; docs/ zip22-vms-vax-vaxc-obj.zip (no encryption)O VMS (VAX) object libs (old VAX C), link procedure and docs1 zcr22-vms-axp-obj.zip (with encryption)I VMS (Alpha AXP) object libs, link procedure and docs1 zcr22-vms-axp-exe.zip (with encryption)N VMS (Alpha AXP) executables for VMS 6.1 or later and docs1 zcr22-vms-vax-decc-obj.zip (with encryption)O VMS (VAX) object libs (new DEC C), link procedure and docs1 zcr22-vms-vax-decc-exe.zip (with encryption)M VMS (VAX) executables (DEC C) for VMS 6.1 or later; docs1 zcr22-vms-vax-vaxc-obj.zip (with encryption)O VMS (VAX) object libs (old VAX C), link procedure and docsA unz532d.zip Windows 3.x (16-bit) DLL, header files, docsO unz532x.exe MSDOS self-extracting executable (16-bit unzip, ..., docs)O unz532x3.exe MSDOS self-extracting executable (16-, 32-bit unzip, docs)K unz532x1.exe OS/2 1.x (16-bit) self-extracting executables and docsO unz532x2.exe OS/2 2/3/4.x (32-bit) self-extracting executables and docsN unz532d2.zip OS/2 2/3/4.x (32-bit) DLL, header file, demo exe and docs? unz532xA.ami Amiga self-extracting executables and docs< unz532xA.lha Amiga executables and docs, LHa archive> unz532xB.sfx BeOS self-extracting executables and docsB unz532xB.tar.gz BeOS executables and docs, gzip'd tar archiveG unz532xC.zip VM/CMS executable (MODULE and EXEC files) and docs/ unz532xF.zip FlexOS executable and docsG unz532dN.zip WinNT/Win95 (32-bit Intel) DLL, header files, docsK unz532xN.exe WinNT/Win95 self-extracting Intel executables and docsK unz532xN-axp.exe WinNT (Alpha AXP) self-extracting executables and docsL unz532xN-mip.exe WinNT (MIPS R4000) self-extracting executables and docsI unz532xN-ppc.exe WinNT (PowerPC) self-extracting executables and docsG unz532xR.exe Acorn RISC OS self-extracting executables and docs? unz532xR.spk Acorn RISC OS Spark'd executables and docsC unz532xT.tos Atari TOS self-extracting executables and docs1 unz532x-vms-axp-obj.bck VMS backup saveset,J contains UnZip (Alpha) obj libs, link procedure, docsN unz532x-vms-axp-obj.exe VMS (Alpha AXP) SFX archive (statically linked),J contains UnZip (Alpha) obj libs, link procedure, docsO unz532x-vms-axp-exe.exe VMS (Alpha AXP) SFX archive (dynamically linked),L contains UnZip (Alpha AXP, DEC C) executables and docs,F smaller than object archive, but requires VMS 6.15 unz532x-vms-vax-decc-obj.bck VMS backup saveset,N contains UnZip (new DEC C) obj libs, link procedure, docsL unz532x-vms-vax-decc-obj.exe VMS (VAX) SFX archive (statically linked),N contains UnZip (new DEC C) obj libs, link procedure, docsM unz532x-vms-vax-decc-exe.exe VMS (VAX) SFX archive (dynamically linked),:E contains UnZip (new DEC C) executables and docs, F smaller than object archive, but requires VMS 6.15 unz532x-vms-vax-vaxc-obj.bck VMS backup saveset,aN contains UnZip (old VAX C) obj libs, link procedure, docsL unz532x-vms-vax-vaxc-obj.exe VMS (VAX) SFX archive (statically linked),N contains UnZip (old VAX C) obj libs, link procedure, docsF unz532x.hqx Macintosh BinHex'd executables and docs for unzipM (unz532x.tar.{Z,gz} Unix exes/docs for Solaris 2.x, SCO Unix, Linux, etc.,sM depending on directory/location; generally only providedsK in cases where the OS does *not* ship with a bundled C_ compiler)I wiz40x.exe WiZ 4.0 16-bit (Win 3.x) app+docs (self-extracting),/E requires unz532d.zip & zcr22d.zip (Win 3.x DLLs)tM wiz40xN.exe WiZ 4.0 32-bit (WinNT/Win95) app+docs (self-extracting),gO requires unz532dN.zip & zcr22dN.zip (WinNT/95 32-bit DLLs)nI UnzpHist.zip complete changes-history of UnZip and its precursorsu4 ZipHist.zip complete changes-history of Zip5The latest from PK0x'~UNZ532X-VMS-VAX-VAXC-OBJ.BCK5D58.[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]WHERE.;1.VAX_VAXC_OLB;1P$~WARE (the guys who started it all):tI pkz204g.exe MS-DOS PKZIP/PKUNZIP 2.04g (self-extracting archive)o? pkz110eu.exe MS-DOS PKZIP/PKUNZIP 1.1 (self-extracting) > pkos2250.exe OS/2 PKZIP/PKUNZIP 2.50 (self-extracting)> pkz102-2.exe OS/2 PKZIP/PKUNZIP 1.02 (self-extracting)H pk250w16.exe Windows 16-bit PKZIP/PKUNZIP 2.50 (self-extracting)H pk250w32.exe Windows 32-bit PKZIP/PKUNZIP 2.50 (self-extracting)J pk250w_a.exe Windows NT/Alpha PKZIP/PKUNZIP 2.50 (self-extracting)L pk250w_p.exe Windows NT/PowerPC PKZIP/PKUNZIP 2.50 (self-extracting)5Third-party software that incorporates Info-ZIP code:cJ OS/2: Warp 3.0 BonusPak, FileJet, The UnZip Shell, zipmeister (PMZip), ZipFly(?)I Windows (NT, 95 and/or 3.x): Nico Mak WinZip, InnerMedia DynaZIP DLL,eD NewVision Zip[Shell] Pro, FlashPoint ZIP Navigator and Unzip95," Z (port of ZipInfo; z101.zip) MS-DOS: FileJetf Macintosh: ZipIt generic Unix: lzpip103.zip>Third-party software that uses (or can use) Info-ZIP software:H OS/2: Zip Control, ZiPMe, Workplace Shell UnZip (WUZ), Drop and Zip,H Archive Front End, Archive Manager, Archive Viewer, File Manager/2,L FileStar/2, ZTreeBold, PMZipper, simple zipshell, HyperView, XBBS-OS/2, LiveWirei Windows: WinCMDo MS-DOS: SHEZ archiver shelle NeXTStep 3.x: Opener<ftp/web sites for the US-exportable sources and executables:L NOTE: Look for the Info-ZIP file names given above (not PKWARE or third-L party stuff) in the following locations. Some sites like to use slightlyB different names, such as zip-2.2.tar.gz instead of zip22.tar.Z.O ftp://ftp.cdrom.com/pub/infozip/ [THE INFO-ZIP HOME SITE]aO ftp://ftp.uu.net/pub/archiving/zip/ [MIRRORS THE INFO-ZIP HOME SITE]pO ftp://ftp.simtel.net/pub/simtelnet/infozip/ [MIRRORS THE INFO-ZIP HOME SITE]pO ftp://sunsite.doc.ic.ac.uk/packages/zip/ [MIRRORS THE INFO-ZIP HOME SITE]O: ftp://unix.hensa.ac.uk/mirrors/uunet/pub/archiving/zip/L ftp://ftp.cmdl.noaa.gov/aerosol/doc/archiver/{all,dos,os2,mac,vax_alpha}/O ftp://garbo.uwasa.fi/pc/arcers/ [AND OTHER GARBO MIRRORS] O ftp://garbo.uwasa.fi/unix/arcers/ [AND OTHER GARBO MIRRORS] O ftp://ftp.elf.stuba.sk/pub/pc/pack/ [AND OTHER STUBA MIRRORS]u, ftp://ftp-os2.cdrom.com/pub/os2/archiver/' ftp://ftp-os2.nmsu.edu/os2/archiver/a@ ftp://ftp.informatik.tu-muenchen.de/pub/comp/os/os2/archiver/- ftp://sumex-aim.stanford.edu/info-mac/cmp/2O ftp://ftp.wustl.edu/pub/aminet/util/arc/ [AND OTHER AMINET MIRRORS]NO ftp://atari.archive.umich.edu/pub/Archivers/ [AND OTHER UMICH MIRRORS]p1 http://www.umich.edu/~archive/atari/Archivers/hO ftp://jake.educom.com.au/pub/infozip/acorn/ [Acorn RISC OS]pKftp/web sites for the encryption and decryption sources and/or executables:iK NOTE: Non-US users, please do NOT ftp from the US sites (US regulationsJ and all that). Likewise, US users, please do not ftp from the EuropeanE sites if it can be avoided (it's not illegal, but it is a waste of ' expensive trans-Atlantic bandwidth).a From the US:p8 ftp://ftp.wustl.edu/mirrors/garbo.uwasa.fi/arcers/ Outside the US:O ftp://ftp.icce.rug.nl/infozip/ [THE INFO-ZIP ENCRYPTION HOME SITE] ) ftp://ftp.elf.stuba.sk/pub/pc/pack/V% ftp://garbo.uwasa.fi/pc/arcers/o+ ftp://ftp.inria.fr/system/arch-compr/i5 ftp://ftp.leo.org/pub/comp/os/os2/leo/archiver/j/ (mail server at ftp-mailer@ftp.leo.org) / ftp://ftp.win.tue.nl/pub/compression/zip/ ; ftp://ftp.uni-erlangen.de/pub/pc/msdos/arc-utils/zip/ Jftp sites for VMS-format Zip and UnZip packages (sources, object files andNexecutables, no encryption/decryption--see also "Mail servers" section below):/ ftp.spc.edu [192.107.46.27] and ftp.wku.edu:  [.MACRO32]AAAREADME.TXTO [.MACRO32.SAVESETS]UNZIP.BCK or UNZIP.ZIP (if already have older version)n [.MACRO32.SAVESETS]ZIP.ZIPlTo find other ftp/web sites:I The "archie" ftp database utility can be used to find an ftp site near G you (although the command-line versions always seem to find old ver-G sions...the `FTPsearch' server at http://ftpsearch.ntnu.no/ftpsearch K --formerly `Archie 95'--is quite up-to-date, however). Or check a stan-vL dard WWW search engine like AltaVista (http://www.altavista.digital.com/)I or Yahoo (http://www.yahoo.com/). If you don't know how to use these,6J DON'T ASK US--read the web sites' help pages or check the Usenet groupsJ news.announce.newusers or news.answers or some such, or ask your system administrator.- UUCP sites: ! uunet!~/pub/archiving/zip/ ... +Bulletin boards (commercial and otherwise): Sources, MS-DOS executables:3H CompuServe IBMPRO forum, Library 10, Data Compression (unz532.zip,C sources; unz532.exe, self-extracting executables and docs) F CompuServe (ZiffNet) PBSUTIL forum and Public Brand Software BBS= [US, membership required; V.32 line, (317) 856-1490] I (unz532.zip, sources; unz532.exe, self-extracting exes and docs) I America Online OS/2 Forum, Free Uploading area; also Top Picks lib-EI rary, File/Disk Utilities library, and OS/2 1.x library (do key-; word search via ctrl-K: FILE SEARCH on "INFOZIP") E FidoNet node 1:124/2113, Lunatic Fringe [Richardson, Texas; BBSeH (214) 235-5288; sysop john.stewart@lunatic.com; complete mirror of Info-ZIP home site]xF FidoNet node 1:246/74, Metal Shoppe BBS [Windsor, Ontario; CLinkH node 911:6510/0; BBS (519) 256-0278; sysop rakey@cyberspace.net@ (Ray Akey); micro-based files but no Unix/VMS/NT stuff]E Drealm Conference System [London, UK; V.22bis, subscriber lines- to V.32bis, etc.; (+44) 81 568 2204]eI Compulink Information eXchange (CIX) [London, UK; BBS 14.4 and 28.8 H lines, (+44) 181 390-1244, -1255 and -9787; executables in "the5 filepool," sources in free_software/sources]vH Windows sources and executables (filenames, locations not yet final):> CompuServe ZENITH forum (wiz40a.zip, WiZ 16-bit version)> CompuServe CRAFTS forum (wiz40b.zip, WiZ 32-bit version) OS/2 executables:F CompuServe OS2USER forum (zip22.zip and unz532.exe, OS/2 16- and 32-bit exes and docs) Amiga executables:bG BIX in AMIGA files section (perform keyword search on "info-zip")CG [requires account; telnet bix.com, or "C BIX" via local Sprint : X.25 PAD, or dial direct in US at (617) 491-5410] Mail servers:wG To get the encryption sources by e-mail, send the following commandsM+ to ftp-mailer@informatik.tu-muenchen.de: 0 get /pub/comp/os/os2/archiver/zcrypt27.zip quitA To get the VMS Zip/UnZip package by e-mail, send the followingVB commands in the body of a mail message to fileserv@wku.edu (the$ "HELP" command is also accepted): SEND FILESERV_TOOLSe SEND UNZIP SEND ZIP8 To get Atari executables by e-mail, send a message toG atari@atari.archive.umich.edu for information about the mail server. J__________________________________________________________________________.tar.{Z,gz} Unix exes/docs for Solaris 2.x, SCO Unix, Linux, etc.,sM depending on directory/location; generally only providedsK in cases where the OS does *not* ship wit3*[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]ZIPINFO.DOC;1+,5;.3/U 4H31-580@123KPWO456`K˛7`K˛89GUHJ\AZIPINFO(1L) ZIPINFO(1L)NAME> zipinfo - list detailed information about a ZIP archiveSYNOPSISA zipinfo [-12smlvhMtTz] file[.zip] [file(s) ...] [-x xfile(s) ...]A unzip -Z [-12smlvhMtTz] file[.zip] [file(s) ...] [-x xfile(s) ...] DESCRIPTIONA zipinfo lists technical information about files in a ZIPA archive, most commonly found on MS-DOS systems. SuchA information includes file access permissions, encryptionA status, type of compression, version and operating systemA or file system of compressing program, and the like. TheA default behavior (with no options) is to list single-lineA entries for each file in the archive, with header andA trailer lines providing summary information for the entireA archive. The format is a cross between Unix ``ls -l'' andA ``unzip -v'' output. See DETAILED DESCRIPTION below.A Note that zipinfo is the same program as unzip (underA Unix, a link to it); on some systems, however, zipinfo= support may have been omitted when unzip was compiled. ARGUMENTS file[.zip]A Path of the ZIP archive(s). If the file specifica-A tion is a wildcard, each matching file is processedA in an order determined by the operating system (orA file system). Only the filename can be a wildcard;A the path itself cannot. Wildcard expressions areA similar to Unix egrep(1) (regular) expressions and may contain:? * matches a sequence of 0 or more characters0 ? matches exactly 1 characterA [...] matches any single character found insideA the brackets; ranges are specified by aA beginning character, a hyphen, and an endingA character. If an exclamation point or aA caret (`!' or `^') follows the left bracket,A then the range of characters within theA brackets is complemented (that is, anythingA except the characters inside the brackets is) considered a match).A (Be sure to quote any character that might other-A wise be interpreted or modified by the operatingA system, particularly under Unix and VMS.) If noA matches are found, the specification is assumed toA be a literal filename; and if that also fails, theAInfo-ZIP 3 November 1997 (v2.22) 1AZIPINFO(1L) ZIPINFO(1L)A suffix .zip is appended. Note that self-extractingA ZIP files are supported; just specify the .exe suf-& fix (if any) explicitly. [file(s)]A An optional list of archive members to be pro-A cessed. Regular expressions (wildcards) may beA used to match multiple members; see above. Again,A be sure to quote expressions that would otherwise> be expanded or modified by the operating system. [-x xfile(s)]A An optional list of archive members to be excluded from processing.OPTIONSA -1 list filenames only, one per line. This optionA excludes all others; headers, trailers and zipfileA comments are never printed. It is intended for use$ in Unix shell scripts.A -2 list filenames only, one per line, but allow head-A ers (-h), trailers (-t) and zipfile comments (-z),A as well. This option may be useful in cases where9 the stored filenames are particularly long.A -s list zipfile info in short Unix ``ls -l'' format.6 This is the default behavior; see below.A -m list zipfile info in medium Unix ``ls -l'' format.A Identical to the -s output, except that the com-A pression factor, expressed as a percentage, is also listed.A -l list zipfile info in long Unix ``ls -l'' format.A As with -m except that the compressed size (inA bytes) is printed instead of the compression ratio.A -v list zipfile information in verbose, multi-page format.A -h list header line. The archive name, actual size> (in bytes) and total number of files is printed.A -M pipe all output through an internal pager similarA to the Unix more(1) command. At the end of aA screenful of output, zipinfo pauses with aA ``--More--'' prompt; the next screenful may beA viewed by pressing the Enter (Return) key or theA space bar. zipinfo can be terminated by pressingA the ``q'' key and, on some systems, theA Enter/Return key. Unlike Unix more(1), there is noA forward-searching or editing capability. Also,A zipinfo doesn't notice if long lines wrap at theAInfo-ZIP 3 November 1997 (v2.22) 2AZIPINFO(1L) ZIPINFO(1L)A edge of the screen, effectively resulting in theA printing of two or more lines and the likelihoodA that some text will scroll off the top of theA screen before being viewed. On some systems theA number of available lines on the screen is notA detected, in which case zipinfo assumes the height is 24 lines.A -t list totals for files listed or for all files. TheA number of files listed, their uncompressed and com-A pressed total sizes, and their overall compressionA factor is printed; or, if only the totals line isA being printed, the values for the entire archiveA are given. Note that the total compressed (data)A size will never match the actual zipfile size,A since the latter includes all of the internal zip-> file headers in addition to the compressed data.A -T print the file dates and times in a sortable deci-A mal format (yymmdd.hhmmss). The default date for-A mat is a more standard, human-readable version with; abbreviated month names (see examples below).A -z include the archive comment (if any) in the list- ing.DETAILED DESCRIPTIONA zipinfo has a number of modes, and its behavior can beA rather difficult to fathom if one isn't familiar with UnixA ls(1) (or even if one is). The default behavior is to* list files in the following format:@ -rw-rws--- 1.9 unx 2802 t- defX 11-Aug-91 13:48 perms.2660A The last three fields are the modification date and timeA of the file, and its name. The case of the filename isA respected; thus files that come from MS-DOS PKZIP areA always capitalized. If the file was zipped with a storedA directory name, that is also displayed as part of the filename.A The second and third fields indicate that the file wasA zipped under Unix with version 1.9 of zip. Since it comesA from Unix, the file permissions at the beginning of theA line are printed in Unix format. The uncompressed file-7 size (2802 in this example) is the fourth field.A The fifth field consists of two characters, either ofIA which may take on several values. The first character mayAA be either `t' or `b', indicating that zip believes theA file to be text or binary, respectively; but if the filelA is encrypted, zipinfo notes this fact by capitalizing thevA character (`T' or `B'). The second character may alsoA take on four values, depending on whether there is anlAInfo-ZIP 3 November 1997 (v2.22) 3mAZIPINFO(1L) ZIPINFO(1L)cA extended local header and/or an ``extra field'' associatedsA with the file (fully explained in PKWare's APPNOTE.TXT,.A but basically analogous to pragmas in ANSI C--i.e., theyeA provide a standard way to include non-standard informationeA in the archive). If neither exists, the character will beeA a hyphen (`-'); if there is an extended local header but'A no extra field, `l'; if the reverse, `x'; and if bothbA exist, `X'. Thus the file in this example is (probably) a(A text file, is not encrypted, and has neither an extraiA field nor an extended local header associated with it.dA The example below, on the other hand, is an encrypted ' binary file with an extra field: @ RWD,R,R 0.9 vms 168 Bx shrk 9-Aug-91 19:15 perms.0644A Extra fields are used for various purposes (see discussion A of the -v option below) including the storage of VMS file A attributes, which is presumably the case here. Note that A the file attributes are listed in VMS format. Some other A possibilities for the host operating system (which is0A actually a misnomer--host file system is more correct)aA include OS/2 or NT with High Performance File SystemiA (HPFS), MS-DOS, OS/2 or NT with File Allocation Table A (FAT) file system, and Macintosh. These are denoted ase follows: G -rw-a-- 1.0 hpf 5358 Tl i4:3 4-Dec-91 11:33 longfilename.hpfs A -r--ahs 1.1 fat 4096 b- i4:2 14-Jul-91 12:58 EA DATA. SF @ --w------- 1.0 mac 17357 bx i8:2 4-May-92 04:02 unzip.macrA File attributes in the first two cases are indicated in a A Unix-like format, where the seven subfields indicate A whether the file: (1) is a directory, (2) is readablehA (always true), (3) is writable, (4) is executable (guesseddA on the basis of the extension--.exe, .com, .bat, .cmd anddA .btm files are assumed to be so), (5) has its archive biteA set, (6) is hidden, and (7) is a system file. Interpreta-nA tion of Macintosh file attributes is unreliable because(A some Macintosh archivers don't store any attributes in the  archive. A Finally, the sixth field indicates the compression methodfA and possible sub-method used. There are six methods knownhA at present: storing (no compression), reducing, shrink-eA ing, imploding, tokenizing (never publicly released), andpA deflating. In addition, there are four levels of reducingyA (1 through 4); four types of imploding (4K or 8K slidingaA dictionary, and 2 or 3 Shannon-Fano trees); and four lev-wA els of deflating (superfast, fast, normal, maximum com-.A pression). zipinfo represents these methods and their A sub-methods as follows: stor; re:1, re:2, etc.; shrk;> i4:2, i8:3, etc.; tokn; and defS, defF, defN, and defX.A The medium and long listings are almost identical to thelAInfo-ZIP 3 November 1997 (v2.22) 4AZIPINFO(1L) ZIPINFO(1L)sA short format except that they add information on thelA file's compression. The medium format lists the file'soA compression factor as a percentage indicating the amountn* of space that has been ``removed'':D -rw-rws--- 1.5 unx 2802 t- 81% defX 11-Aug-91 13:48 perms.2660A In this example, the file has been compressed by more thaniA a factor of five; the compressed data are only 19% of the A original size. The long format gives the compressedo% file's size in bytes, instead:H -rw-rws--- 1.5 unx 2802 t- 538 defX 11-Aug-91 13:48 perms.2660A Adding the -T option changes the file date and time tos decimal format:F -rw-rws--- 1.5 unx 2802 t- 538 defX 910811.134804 perms.2660A Note that because of limitations in the MS-DOS format used A to store file times, the seconds field is always roundedcA to the nearest even second. For Unix files this isrA expected to change in the next major releases of zip(1L)  and unzip. A In addition to individual file information, a default zip- ; file listing also includes header and trailer lines: * Archive: OS2.zip 5453 bytes 5 files> ,,rw, 1.0 hpf 730 b- i4:3 26-Jun-92 23:40 ContentsB ,,rw, 1.0 hpf 3710 b- i4:3 26-Jun-92 23:33 makefile.os2@ ,,rw, 1.0 hpf 8753 b- i8:3 26-Jun-92 15:29 os2unzip.c? ,,rw, 1.0 hpf 98 b- stor 21-Aug-91 15:34 unzip.defxA ,,rw, 1.0 hpf 95 b- stor 21-Aug-91 17:51 zipinfo.defgB 5 files, 13386 bytes uncompressed, 4951 bytes compressed: 63.0%A The header line gives the name of the archive, its total)A size, and the total number of files; the trailer gives the A number of files listed, their total uncompressed size, andtA their total compressed size (not including any of zip'seA internal overhead). If, however, one or more file(s) arelA provided, the header and trailer lines are not listed.eA This behavior is also similar to that of Unix's ``ls -l''; A it may be overridden by specifying the -h and -t optionszA explicitly. In such a case the listing format must also A be specified explicitly, since -h or -t (or both) in the A absence of other options implies that ONLY the header or A trailer line (or both) is listed. See the EXAMPLES sec- A tion below for a semi-intelligible translation of this  nonsense.A The verbose listing is mostly self-explanatory. It alsooA lists file comments and the zipfile comment, if any, and A the type and number of bytes in any stored extra fields.eAInfo-ZIP 3 November 1997 (v2.22) 5dAZIPINFO(1L) ZIPINFO(1L)aA Currently known types of extra fields include PKWARE'smA authentication (``AV'') info; OS/2 extended attributes; A VMS filesystem info, both PKWARE and Info-ZIP versions; A Macintosh resource forks; Acorn/Archimedes SparkFS info;nA and so on. (Note that in the case of OS/2 extendedNA attributes--perhaps the most common use of zipfile extraA fields--the size of the stored EAs as reported by zipinfoA may not match the number given by OS/2's dir command: OS/2A always reports the number of bytes required in 16-bit for-n? mat, whereas zipinfo always reports the 32-bit storage.) ENVIRONMENT OPTIONSdA Modifying zipinfo's default behavior via options placed insA an environment variable can be a bit complicated toeA explain, due to zipinfo's attempts to handle variousaA defaults in an intuitive, yet Unix-like, manner. (Try notdA to laugh.) Nevertheless, there is some underlying logic. A In brief, there are three ``priority levels'' of options:nA the default options; environment options, which can over- A ride or add to the defaults; and explicit options given bynA the user, which can override or add to either of thet above. A The default listing format, as noted above, correspondscA roughly to the "zipinfo -hst" command (except when indi-iA vidual zipfile members are specified). A user who preferszA the long-listing format (-l) can make use of the zipinfo'sy3 environment variable to change this default:s: ZIPINFO=-l; export ZIPINFO Unix Bourne shell5 setenv ZIPINFO -l Unix C shellf7 set ZIPINFO=-l OS/2 or MS-DOSoC define ZIPINFO_OPTS "-l" VMS (quotes for lowercase)IA If, in addition, the user dislikes the trailer line, zip- A info's concept of ``negative options'' may be used to A override the default inclusion of the line. This is A accomplished by preceding the undesired option with one or A more minuses: e.g., ``-l-t'' or ``--tl'', in this exam- A ple. The first hyphen is the regular switch character, A but the one before the `t' is a minus sign. The dual use A of hyphens may seem a little awkward, but it's reasonably A intuitive nonetheless: simply ignore the first hyphen and A go from there. It is also consistent with the behavior of the Unix command nice(1).A As suggested above, the default variable names are ZIP-tA INFO_OPTS for VMS (where the symbol used to install zip- A info as a foreign command would otherwise be confused with4A the environment variable), and ZIPINFO for all other oper-oA ating systems. For compatibility with zip(1L), ZIPINFOOPTlA is also accepted (don't ask). If both ZIPINFO and ZIPIN-aA FOOPT are defined, however, ZIPINFO takes precedence.eA unzip's diagnostic option (-v with no zipfile name) can beiAInfo-ZIP 3 November 1997 (v2.22) 6aAZIPINFO(1L) ZIPINFO(1L)A used to check the values of all four possible unzip and % zipinfo environment variables. EXAMPLESA To get a basic, short-format listing of the complete con-iA tents of a ZIP archive storage.zip, with both header and9A totals lines, use only the archive name as an argument to5 zipinfo:9 zipinfo storageA To produce a basic, long-format listing (not verbose),i1 including header and totals lines, use -l:c zipinfo -l storage A To list the complete contents of the archive withoutwA header and totals lines, either negate the -h and -tx7 options or else specify the contents explicitly:r zipinfo --h-t storage zipinfo storage \*hA (where the backslash is required only if the shell wouldoA otherwise expand the `*' wildcard, as in Unix when glob- A bing is turned on--double quotes around the asterisk would A have worked as well). To turn off the totals line by A default, use the environment variable (C shell is assumed here):: setenv ZIPINFO --tc zipinfo storageA To get the full, short-format listing of the first exampleiA again, given that the environment variable is set as inrA the previous example, it is necessary to specify the -snA option explicitly, since the -t option by itself impliesf2 that ONLY the footer line is to be printed: setenv ZIPINFO --te; zipinfo -t storage [only totals line]o7 zipinfo -st storage [full listing]:A The -s option, like -m and -l, includes headers and foot-nA ers by default, unless otherwise specified. Since the A environment variable specified no footers and that has a A higher precedence than the default behavior of -s, an A explicit -t option was necessary to produce the full list- A ing. Nothing was indicated about the header, however, sosA the -s option was sufficient. Note that both the -h andcA -t options, when used by themselves or with each other,%A override any default listing of member files; only theeA header and/or footer are printed. This behavior is usefuloA when zipinfo is used with a wildcard zipfilenAInfo-ZIP 3 November 1997 (v2.22) 7eAZIPINFO(1L) ZIPINFO(1L) A specification; the contents of all zipfiles are then sum-n% marized with a single command. A To list information on a single file within the archive,9 in medium format, specify the filename explicitly:m( zipinfo -m storage unshrink.cA The specification of any member file, as in this example,.A will override the default header and totals lines; onlynA the single line of information about the requested fileiA will be printed. This is intuitively what one wouldiA expect when requesting information about a single file.iA For multiple files, it is often useful to know the totalJA compressed and uncompressed size; in such cases -t may be9 specified explicitly:- zipinfo -mt storage "*.[ch]" Mak\*uA To get maximal information about the ZIP archive, use theeA verbose option. It is usually wise to pipe the outputeA into a filter such as Unix more(1) if the operating system. allows it:e$ zipinfo -v storage | moreA Finally, to see the most recently modified files in the A archive, use the -T option in conjunction with an external A sorting utility such as Unix sort(1) (and tail(1) as well,  in this example):5 zipinfo -T storage | sort -n +6 | tail -15 A The -n option to sort(1) tells it to sort numerically A rather than in ASCII order, and the +6 option tells it to A sort on the sixth field after the first one (i.e., the A seventh field). This assumes the default short-listing A format; if -m or -l is used, the proper sort(1) option A would be +7. The tail(1) command filters out all but the A last 15 lines of the listing. Future releases of zipinfo A may incorporate date/time and filename sorting as built-in  options. TIPSA The author finds it convenient to define an alias ii forsA zipinfo on systems that allow aliases (or, on other sys-tA tems, copy/rename the executable, create a link or create A a command file with the name ii). The ii usage parallels(A the common ll alias for long listings in Unix, and the A similarity between the outputs of the two commands was  intentional.'BUGSA As with unzip, zipinfo's -M (``more'') option is overly AInfo-ZIP 3 November 1997 (v2.22) 8nAZIPINFO(1L) ZIPINFO(1L)tA simplistic in its handling of screen output; as notednAGt~UNZ532X-VMS-VAX-VAXC-OBJ.BCK5;583[TEXMF.SOURCE.PROGS.INFO-ZIP.DIST.BCK]ZIPINFO.DOC;1VAXC_OLB;1H3m/ above, it fails to detect the wrapping of long lines andsA may thereby cause lines at the top of the screen to beOA scrolled off before being read. zipinfo should detect and A treat each occurrence of line-wrap as one additional linesA printed. This requires knowledge of the screen's width aspA well as its height. In addition, zipinfo should detecte/ the true screen geometry on all systems. A zipinfo's listing-format behavior is unnecessarily complex A and should be simplified. (This is not to say that it  will be.)SEE ALSOA ls(1), funzip(1L), unzip(1L), unzipsfx(1L), zip(1L), zip- + cloak(1L), zipnote(1L), zipsplit(1L)dURLoA The Info-ZIP home page is currently att* http://www.cdrom.com/pub/infozip/ .AUTHORA Greg ``Cave Newt'' Roelofs. ZipInfo contains pattern- A matching code by Mark Adler and fixes/improvements by manyoA others. Please refer to the CONTRIBS file in the UnZiph4 source distribution for a more complete list.AInfo-ZIP 3 November 1997 (v2.22) 9e of the zipinfo'sy3 environment variable to change this default:s: ZIPINFO=-l; export ZIPINFO Unix Bourne shell5 setenv ZIPINFO -l Unix C shellf7 set ZIPINFO=-l OS/2 or MS-DOSoC define ZIPINFO_OPTS "-l" VMS (quotes for lowercase)IA If, invI@ t{ a wampt}B;1ToQA# /d)h1*3go+~ % aJs~8zW,fɚ憶OSI`dO~'R ū,@R\[l !@%laQ$n.+=f BlH=mE?$c2 =YYr}cɅɆ,oׅ(ԯ +yݸh.Qҳskԍ];!D,?ю;܍4"P7$"52>*7K}6xwNEd[w)9Q4U֋ 㟭ħ0ax}Tt!zp ڨ 焞HDB[Bx=ԆfOIH;? )ETtP ?=d4SRQu-Hrd$n//[3Frd˧$,jDa)y8rбk&"&q][^U`ܒzHaۍ xawkza`0%RBj٨ugqc3c1&Ujx]&WS=ǂev F V)ynQ3`Y9#!{{zU(-7fA76Be!OYaeMZ!Um!*X]#ӱavjϊ"3h _1yo]i1S$=>i,cRT굇Db6A+*̨v.QQ$\@UUe9ZeVXUen#E,$̙b.I3`TNEl0Ǝx`3JXe4n~QFs|,;_ h<S xZRW>SCZp|0&1Mv{f{.^r9B E#.er?ZcAES}4Dch),)2GӞ e?#s u8N3 5bN]l֞QYc`G >q^#-<IĠo7u ZiMxhƆQ6JPPZl7%,}귦e_'<(sv"Z6 JE'r]pan *FVw]vlL4fFc U~f/!0(:rFOmr` c8O>3̩9eg߰s_uݬPb#RI7ߴk5 _8/ @d6NL0]e6qETR@1E_ DciG~E}5:ǕQ_g8(֒}yI\EeJM+mBEpk .y}eV(f+m 8b'L`.Rp:'EQGQl=R%R̙"kYKxKF /cϧaG?02OS "35^~`b=.Ŧ6lqگ:'oӎ1w֕Wz!'z%ф>pGnSBʇm\@(jNV"vxTB^L$#|h&p6bw UC'j|]HkCLmֿX-iH~ݶ;a۽c .4 䊲H\ m#8iA([1o|xxDf~IFM $Z=`QZ_䜗9.*~>'k=I%JAW=c#$tFsi z&kc"BiP{5 aSmBQ=)p#YZYLw^(Zy J{EVLG@TEY;vjC;&v6$BH'<9-rs ; y70s_)W 8P ` @!wmj%`QKVY ?t 5uCä!cp#:0*qMIlI6F^08M(Qt[=[c Z'XNk|j[O?c7iw#=$ ̑7%f%t~t`qhG 6 N)ZVۻcY?(nSo2\[c{§b˚`RXis_a4ybtmTʭ<~;ئGAcCbg\ۦ-!oZ}>vEm 1ufih=!O:Z/HF :zۅf I^tHZЮ{|EINaOHeOGc;b7EifD"`had+IӹAX2|{VWOTJRG7qئF {l4?RcÕE%PcBm*Jla?R8[8CUޚAv;\Ul; mxD)}%h],Nm0?~$W.XDtn jb}YQ1$c,;sҋ,'8ĉMY@Ҡ^Y ~*q4ěfA7lR*]cX_1,Z7>R Yw]^Z>ǑבE[;r8Y 0!hd-sGFTpbtHt2KSpʴk$MOU-7jOoD趇O籄_X%ga{#._CfU^]*C|?NzfC}Y>r HΈ Mަ M/pZJ`lF^C>~3M9>604C(Y4J8_c*YZk]t@/JI#SitC-:1 6!}GC}j]Krsך쓨%{10wqfՙNTV-wUXDWzxkt]6ns=N<O݅.'Nt ڦ<"$YVxu `QGFQE#齠ܩV11#PLȪ!}/ u5߄ 8Eڝʷ{^5c-Vs06Oپ䔛ckKr ^M;=<MK#4kZjr^Lsg@0kO<;'ג{) zӕxɗiM/B)֋lxj/ammCzтoLXet`"R1njY8{Q%ϊiHӜ{@caPN~8婱GU5WrbuB[+l1N~Ip%!++F_ri/$Y@(m8y6ܪ_܆7EYW+3%p0w͌(g=?< &a^Cfsǰ?|2۾+ &3~g'|XgN9H)Q7y2h)'/)<%5T"9k##֧.ޥH5zE6ܵ]T! caz9豜*|ŋU#Dq#~hc$9ob\nwvӰ<+KX+<8v e>8{ l2cG'LmF c5݌7a1`Dy=q9C[tkjEBnuNoD1!kyER"ʜZ\RQ |g>sMmk="vD1ւn鶚m ҥY%5ZrG^(ϯk52#^ԇ?B7֭`8cWGG.<v[V0j|N+=CY^/LKK7,0/Ƙ~:rRߞDsb+b0"Wu`;vTw~MqB/j-`&@Zz3[OPru1Qc񩣴2e%~h=|JΤ<+$#|[5\ȭgђܤl^ҠHd <)%+2{͛z{p;o(+Y؋X}v??1'$A<#DEk0)H VJ^XqA6.3'X˝j:2ꩈ^}OMkF,ET {6'9B}؃On^?=VL=Q{Z<9P.ַ7<֚X ZF00?L]n{w:F%TVvVs_zS/ܽ_Ȃ?̕biłEOu['_-Xl9 +*71`!/Y)FjJ :'̰aUA!<Ӊ:2𺶨 U \wo3lZ+ {eDbgk;zfQ8#]>'H]%/<)8m` $ KNeҧŃՍ7xy_QjA@er6cfq_SY-s\麢GL_A =2Ofظq aM?,]?6Vj/0[H ޒD\ċ7WZ«B2QlRTEW ſz:Xb4\@}{3O9CD,ķ.> vcb5$ Lr%T5FKA̢P btJ9k&Js8\NXۚ+aY2+>Xh@%>/Lnefh:csT Y6jB KF̎riٴ+u$zSGq7P.Ȝg0Br{s/3:Xs;߼lE}وYM:zEL[%<;^Wך"Tc 4].iB9%asB/ЮLzbryws2b#'ᩚ}^Kb1ڣe9=Wӟ/1ҫ+{gox(z㔓WMTJ={Et_%~t_ {|Scxmn&"bN֩@;M8/2(m@zFAhGUKdΟpKaٚ7I'c$4 ѷ%cSVuҫjeUCgI^. 41KX[BEw!th*J[KIj] (yRKhC}{濒zrKR9~(_%Λ)v:%tlu];SX<-ךJ4D 0".rZlk q : `X3K*BiZ&Z2 8RAT{YoixPl~5 Ӂä;.C(q cNcv5^&m+۠J@Q2T7"@I3`ʘzƤA;ߦ4^tuټ s![־)'}ȎiSSD6:/2wp<'#R. gnb_ 4=  w+Lt:x 5bw}kҰWWMTNyf#gؿ#ƷoTb<(PɈGVp f 5?е xἷ|ϊ$k77 vnA- 2`VEK枋;"A66 Hu,*PǮM< )PSj 8CN$pWqTAVS S2z["SiaDˎUT0b ,|aޮ:F.?y'.jEw/:I%ֶ~;q|d*x~_ 6)=b+$2# $JҘ.=cqY10lqyY.d3yڄvJl(HO%؜j:]/hg=؆[ KUf-~׮(Nf  }E"GeTcθPrMAHyKqR]&Zn\\ }W}ics!m a!B[l {Ql7zjͣhC[Mmup{>U>S>4y.>!\hq $>]SYrFeIXoePLѵꬖ/O/#ppn ݌橦_zi7>AM%D9Jr!g7΄Y9_8CP+D\p5Um-$$n-*I)U݊V2(1 %afʨ?){9)k?XLk1ǯo*(0y@yf{O`${qlX5U6Qڍcr pjhn|?tMZ۲~jکN>\*wա>!)dٵ.cOMҺKzj\r`YQqJ#*#9[^EJ^)hL4=|pŁ=ɭ2hNM_xL  cHǖ8GM~CpăYI~|P6  ܶ<~aW<Z[? *=.mUkQs9^S=]Xa=1}${VbLʏךx0b\ ) u~îiT"{a=c[Q rY7VRЍ6he.3""lٮ-+Pk.ei-ئ'-WX!lK#[NK}1P9ZV@w{#f"EtlsdسHS`+Ӑ]d*BM&vop3pw_ܟ57_0ާO d\r%:*Ʊ+nU4/ E"~!Q ؀ h$*G:$.#gRA n7neZ W8EO#P$ۆjf)W84ђi64A9. k]V8%BKccTwd gx0 wE0Lս՘&^tX tVjTH21kW_4DZZTj3w9Ȭ1laۈԜSb3ke_i_U2V[Nɐ* ?Zoh^n7Oiq-ESAG3kQ!ըك N=`C$a񠸴Æt5Ka^}u RbFjPD WFujՄ,|~q]ӧd!2D`*(L_E2#9 -Ur01!O{}:72y"|Ԡ}VV`C5Ä IZȞTKWtJzZ6O'7SF[8.nz>^W%Ǒ5D8WV Gӗ 2,^^@mNbݘ߿12juƌz"~C*r8šԂo_'C.KӲ10beNw͎)],sW\r?DWA劬)j­' JeHf'4u֐/.L tǝFQ = N9vI򾷉FKIVGs-3ZNŸ*#w2Zh{Q1&dmC yj347U5HbhU`TIW0B KlU;M oJ71hDPc+< ~ZrXPc2-Q:`Т`Ky-%cvC'@ѰS9(Ӑa>mjbeZx8vǢ;/;Y1vlhW,̜Qe3=N:w3)n5e EN * /*ncB(b)JFv-`LJqlPww9P^fVo 8'=`̧I\4M̟5b^ };Q(C0*~C-:1⬣6Y2GU[C*g%ܮk9=ńa#Ơ +ߦsaQ\3J&</.1K5ـ|2xDk(Xcs޸$;"0*.~ג L FKH3*F͸/G~';{+̅&D*\ٖEp=eo +i1!&ÄnuNI&AgZzdd4%LI`X}D+ֹ7CTeLD^QpqKb{2SX, WZMؗ烰 s}r"_QT6(8\Ɩp;uFYv$ѱ _-7䂔aD33Tt^vgĦo|IqB:}(< o,iohH>7! *ŏc#;1Po*.1w-<8;$|J,o:#r'')H th{s="3ih#'V_eG _pA8mc뵄DNogO7K-8!5*/B-x_c)9~nC TQ1)vv'msATHJ{<w61AHp ^ .-p+!fO:g{9m4v'5 `H })jjIT(d)(a f$ܑ/2NL[#^HH\5L@kg07R5MVU_03I_M Q7խf'<-F4@Z YRIv^HIQaN[F TZI:\Y6|uS>mA_ ,mp\LH n [+E󪒖@]۫_4_d 9VHb*1Ȅw`MCN\!f_/EyUg>nmD  _E_j${ Mw_T_7_MVzxLqWW'9~ I\IgW Eu'e( \EUbK  C*jH-'@=9S vtul2kl3`'3)hs XT NS>i9T_"!-"`#j+Pafښ<+r7B_G*u~M *飓 |W;axq2W C[+]~u* tNifJ|YZw37 } xvwԨ &Ӯ t voha@Oj:slP‹LC#-lFf@]ꔳJF%QG(` {S#ۊґ*#ZTϰ/$D B]@ NA~bcЉmO+ o ~aDkyr(8R@Zʅ!qi]q`V~W[oܤ@]7ҀK3|p =q)UbLº#WOQg0 ӗi֝޳"g!9jwnʁ~)3P q E QHTgL@cʅܷyNw`̎?R;޻C* m&_]#BCKrn˘ni 3az* GPxٟۨPxv w'1g-?s`XS`pf3iЎ$dX% z53E,|"8b}k =$Tgu#yx014<}PFzfnܝ _tmS3F^|evL_)~xӐMވ9>f3%XB;Y$*IcE0Ln|z~_o WʬqGKB:MhT46Ѓۉ_M]o /N@nvI"Gf(V#Ϸ̓/P$ML| -qöV{c" 1VE Q+4 4:TG6pm InzZxG§0>ϫ9X4c5MP#; 92eL@ox:. ɢq߃Zw_Dqç9[_5@( UѢ\{ױ_Y_a4WeDE72Io6m PƮ(AyF7bNj鸏  aq9Ь2c\~ZqkQ$6k߲#}g%q`K~En֯9gP?p6nzv)9Zဠcn 8 R)*N;ˈ+L/m0ڸrN7RpC^̸%/ pJWHXAuC] X܇؛>kazfۏ\Kdp,x %)Ca] OԽg8G8p l-[dCGo)VۀdjaW[v%.z[n-J?jM";.S.Dx?4Ϣ+(va !UtpC¦š Ɩ ~W@p$A i;i^=+9BlF/Im}`{{<yLݢ~nej|vF80KIϻvbralpNnzW4lY ~ P/͑aY6Y}r%K4 t$\zZ xt2*$QLB2 :{k) Apؔ8:ws7& w{=;^XY@aUr1]}.fR^s+FܠBG^J. AjUc̗-P^Z,\x{"hԾjq &V#C6d-^*f.c&'uъ Ϙ,`)3&vSGܪ5U%jj}H(N-tbѷaW!= ȃؒ [dvk4P`}R1>( Y˖ȝyY}#DzcO6=f‹2W*l5COSpkNo h6'<\ᒊRR)w}Av}+@TR>"NFIޱG 8q+t_nd.{Z;˚ۄ @]p~?ަ_-۱%5"hVeLJ*OSQPHrcalE8]oHA0͐%;'be$B=eAއ蛞?lQzn1jk"dV!CM" $ hB6ibht #tFuvQZE} 3Uq3+{ĺ&E{\i@-eVձo֑K2'`dI^1t!zχ귤&ӬrãHSKO ӗDs3 #>VTC~{w9pET{ ^Z/p[~I3kb^fmȥEGCNtڟr=F& u}hB^qZH =:*& fR !=Z|%7[ j{`[# c'lӷ[ouIiweH0%^@T|+ա>e9J䍬MBRw@֟\܇JC)@_3h7㈼IH E_H4o#I 7-]k%5*l{ gVymc|nq@%n0l*FH"H9 U'Ev޹>l+S[ms;Ĭs~W;LS1@bs ď o8xP 03_PDqN&P6Q:8* !(C[D[Aׯy7<y>X tFW ƋvVZK%WsM규6r ICˉ'dG8⒪G6AӮ$nqooF6=q{DwEוi 2(G%m$YSÙ.C-?~pmoꪫV{k56!^|{Ytu+a||@hBpNW*J #.(lt@'z ] _dvb9 E^ tģ r#T Nڢ携OZ4W\: AIt ,{~/B V `{*~AU̿ɦ4jzXzfHh݈ ZuH&e9ԵO2Ʃ}I7@:qjp{Ou۷/-"$ *2,+bFd^TFA5ԗL`Im#ah"S%WGŻ5RӡtcF(Cr`"rty2l<GfșCcVu@GSFhP̸@DG{8Ԃ0ܹx3ɼF Zt1D]]C啺[*\p [/=$:ii*9Ŝ_l[V=IHQI$6^L.E [k- n'%E2o~S>̘{oq!k^ A8EÍN!ކ ǖC`-쥫\( \ې. wVNmR8- Eޟ3a!șWBUqaɑNkprIΧ,=WI,/<د#b>\Y7*\@q -#rC!iNR;%r CxARz-2$ޤMo2kzuDL O{Dwk+Kz\Rq[lp-yP])Z*kO"{뷺?6 ="QE~|f,AP], ڃ3GىvWc0q|S J >z ط^1m,cƷ-: d5(H/#,?R*sD0+W+Hs=cԛ.^eaꊤ8,~ !"7"_(D+rc(18NFvnN\[֣.*,(< sIK@EY@KWMC/ӏ{dQӀʼXC@R]m5l eb'K"\kAs 2QZ4SnvXstT怪+fee3Cr&F@}7:Ñ??\ft̜luq/D5O| Xt0ϋi8-} d3Fe(`9Z[K]Az\4ߕd{ϯE])`)Whk| ¥k/m\SyoT>m1o6r9 k3˒4cn^0No8kVe%HVSޯ/NDHiUft^ P<>3Ԍ M7+bǏ:'1&͛(=:ۙn0Yus`w߭lZ4rtے73 >.5At.uHlklD܍:Ir! #&TVyOo%MY8?vpAweZ#aKDo)8k#l|gp~1`\#II] D/iYEfQ[.C#ZƙaXܷ]6&!/n_9o"#Tk ~gMt'D':3tHɘ|MȈ$6o$'\.6ܼZf"ehEI)h7wF?WVS&&'Ui7q-@L1En7q#>v/ua$6oMf|h)kO}0P`PXPS)mU<*Aׄp*DC4}'T.+#5)Eo !K@Y[]\57ߓmJ<&,yt,\+ Rt`8 &pYr'1&A~$+;%##&{f6va!>1  %{ mab qiu9r383Z_!N+j 8LBE!Tg 6nBnt%w9]kzTd5CĜ͙;Fu`L7q9UNjs ǔ-K[^>plcw.99 {&i. 8o#~nЌ$x97Щ"#3q$gF'lΒڶY˳.ϱUu m+A#Ib̰t3Xrhq,`{@-6'&dbTU_}'kN NJ5.ia1B* rO#ɤSp7<gsIH.8_OX%P92 o,a6c-1FdCŰsR2?eædcKs %. NY+E5d}|wSZD6I} `Kʈ]2Pg Him0,ed#z1a?_.^IGi`#>~w` )ڱti->[mB'TL*~jN+rW2#jݟNYרI~c+v9𘎟PoN20X,9쁜o@q,jӬ.{r[yWn .HhPrD*uċ`<7N>oCM^i]}th4.-w<jW:G|o? `7}p(KK'M=n+}%@-hsI5k; É ,=Vb'TܨӜrw$*>wu;c;i=xugdGoI߈=ynVj(sV!|[£=@ ` Ąx/494KL-;a aw0UoFHr*{dO/cx`#BP QZoUC`(nz[b*xy  C7BE##ys<="m{`h5=cb(omG( 2fgmWR ,Z2)̩ nɽO8m 09h;:rl3P> =Յc"Nr8DDW^ &j3 J\j'[x\:Y4ςl۔ ެdZ SȎ0̚!fć}$ֻ 7†53 3p-L_yYj4xT%6Aָ:C$_(1޷;ҫ鲍۴u*FKT*@E4sxUFuI356OѶ͕ʧ'X<<\\|XVL'e2m_ C_at}Nxnb {X,A^b{9,#.''`TG6!N \=j)TYU\J/$ 6F33[!ADLF8l,N4`0y n>ZXLNEocs,4*:ee53*!hq}} zw~ 2T'|d.@E{>+ #j@d/)a~/29OZ{C3&0}s,,M<#pSWv*h)E"&b YP.IG]FiaRc Bb ybvkгK%hRr+1֪Sr<9[ yyrSP>#Q=#l)OC cAaGZUrRG\dzyNY J=>0:bs ]Ox UPY8[*}΄j 7tjZ),E:tJS 1v}HrHV4q?e aLv*NY ';6mw`<(~r~\TlW`o{iDv20XF+^?{w@'7 N*l.Nu<ϲJHVfE84TE-cIedvueXCLb1 {l9= oKvÏ-j)>63pA2ѭCB^XB6 qYmmE4lQwCT}|:q9:*M +WH(jg]H;Jsr/6$lg"R)~/iV*@ MHTl6v tcj&_ao}^p ]^XCec Ev4}/-?W}n!d/a{u/QfBWR ATE(~mFGi.am{<]K3YY lgn4*?A\-;4k )wKt9qL.l' lK2\4yA7q`d֍^R]wAbT=7z<5DAG9~5OAC,l[CcFx$/RkiA_^%km Q_jBg97{Iz7lk:aұQe@̪~%?h,2I&'3|-=ؙ?C<:ȮagBquM^Nx2Z.!L=4crsRE$JL~`n&Lr<ştEy/W xu[+x/ea ~=3ldַ̄Pߠ_wxǑ؅.z vI=-Px8"ʚ9=) PäG3PLH:jyvurg`3)!9MʃN ܙ;q.~mڕ‡pۊu$&6%=6Ȳ'vcեnsLp(4fCdiEV*9"2Mw@Ň SS\mG_YN[\ٟq}nMlm0Jux zQ rY~#5o(:eRʼE4$ ɢ`<>(d. =q&3T#-|q/╂h;v23~xKXX]7gHaJoe&STZGzSSyٯWڭPD ܰ­i/틁.A(jzR8_?-okǡs 4 El TS/"g7GU5CnCýKyFO p[A\MeBJGj^{]LkJ)緖qQ.~d@^Ѕl򱆭YEQzJz\=0`GhgPgՃ1cW`g TnԱRf#)rFs RHWh"1d#]0͔ ,!G {p Q(nFwzL0UCJ" --6,ʣlt?R/ywWqjϽBᆟ\%ka.#dK!ߝv0_5Z{2Y8fOXC8F⛵F⇪? x9BI4K"};?3#:˹v60a/,rDQ0j/~RG;*X\L;ov !TpI xktʏ$"vi@ɉ[ԙ !: "՞3F@gkv$_NG=^zySuUA6b| gFq˞&^ t+Xv{A5NTH+?4%O z~FMl}oc4pIFV;Gu 6s},5ꤘ+ =U{.A#1O9P,BD]RܣIU@X/Z[lˬUV;"xT9^Sϵͽo "Wuc֊޺|C;,K_p*u"%w};ukR{2SOK%!cSc$6F@V 5E?,fG&@HٳןLV|9trߙjVmW0>^W91uӽ-;gdA dN.oKiSOXt܁/kڿ,/i,S=yz2Fk%#5Ce %. q{DQf(na&BR4NњW"Ux/%PM:U6[V=`_K}f=ri LG Bv@7Tzsꁤ{2]8l ˮ ;Faj\C!f+^m+VC+ QGss9ݬlDrdk6X[fwnte1b혊OjW@Е"b ( ^<[!WAwZ6Ah7WOco9(K^I]xh%%+ rKu❲X!$?|`KX"oԌ9{\$&|3S=Jf%?B뮐+|MኬϮ=YGx/aL uUfH9\ͫ:^eM T?T-+\^5ucFogwc;nr@|Y`ZgJNv?[Qo䒘PԳȺjic 8\k#Kʜ9nS_Sޥag;05g{U>vO\j65BqV@Ǯm}X@Bz]ƃ?duQ,kN53Z=žg_ [,YLsk WN9/x5t˰n51.i;ѯ_q|-7!06V(Ľ<vTH.+^Kb8=~ħv>M4_gѬ'7`b53QeW5Ѯ<L'%ńhiV'x <\#C;JLc3:sbHuu1"V D(=G[(ekԳEIpK;W(䛝8enW-xk~yj*˓UP$U֎')gtsp~ք u i}'wtkΏmXW{UuS7U`RVqP02c9Dpfs>\ozG9A;&utj$r4%O2mܹ`edDV>b{4o ?#9UJgbhOZTH؂JaHReM*9mm~Q49 mܯ*QGVyoܣ1NFe&A(1{*D^ %,k8/]&ٿx ? r|0ADM,m$9%zFT%arZvUG`殷 g"(ڏ_'ͬɘt#\5/n/ zƘ 05ɫD cBN>0 iDh5q'u)6 4E?LJaԣ0tbJ<YmZK"ÓԀ JS`xZ ǙpR!dgW` )8U4'R\h;Zf@Ls}EWgR h p>/^&Dޤr!gs\mbM0ƳX 'LMZrzx{Z o6ivݲMʝ LE `q6Gl߂Vv!tqh/gMI,phH 4 'I3@E:R c'H;v78wf3s5^xlx7v+=5ʲ\OI @Ͽ0`%2;lc%dwIz U`bDz"49)f(T/.O9 +a6wܵ00 @%"+mg2[tTe-#L䣤L|P3ƈ#ݭc V@D!xwTJp7h;Uĕ43j}{NZEn%;qY&_xaԻ*RDSrBpaSȮg-[?,g l`h5ū zH=jg3vyNfҎ2Gʂ}bЖ-U߾lևiwi^?3A:~oŒsdҌh]:dώڔ!!&GԿC,Gp=m8I4'dJh?ov;N1ڦE Zg8jXlZ`C ̪x ܃iw4Nopqolf=j.n}4Ɖk>+!mpNIԶ+ >i!P$ZA9WL=:}KI-~@pows;"YaM\.4" wNYADT,a0sy(/)um| ]'3.+=q)l||etox4ȡAIz.kJ;Su>/=5#{xS&*5AU/{*|z2(n -];&&O3ba` S4Զ~q=0Z0]X+0ME H7X&5+NP>2YP;dރ[Uz"ٝxb"ע_I8ޒ$:P?B`M/l9U1=߾'A*#ҘXD\a3dȗ8 D5Q>L**9m̈&[#9'}+-,4+8>/^bk!C *3OOg/k nFaܹI8vk DzicRFdr&ΆѨsɇ{C^S5W:' \TNg  )E oJ*<%)y*T۶ 6.csK4 u\>h[`d7*v\Q`Xw른.%SI_2/ÿqBX. 0HÀmwgxPq7@jg#*5ov\3ۖӪ֍M'"0YO;D4D̎{OQogK2FךrLc΢mqqMl*r {a.ng(pC~CšgR!Vbi||;qDVxgy^`3e氡HӲpI@s&+NfbXqSSj 9 mGvN@'wSq(UM,QH^T !a37zcjKJ_ZBX[$%mߕѧP ]f÷&hZ00:mx؀X' 5C+@y N"opQ\Y;@(@9jxx7B5B+xLyj:ں2GgFpƯbgzef^ǜu|s3=02vGyRH֓ L O4%fZ+<}5jkkW BDkt.L\&}JtbYVXu}Kys3>+ c޾[k|PAhWgLFЈ`XfHz\pN}vs+vEMQfEL+"H!^I̤)Rw khЛ2C:`Vc|Jq5kNHb_S'A0C H(6&aa:)|L.z.`RFk7Ku< @'A9ZBvIRHelddr8fbFqA Dù@i~h({-}х6{:_?s%ZA