!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe+MEncryption methods.Not encrypted.Traditional PKWARE encryption.Unknown algorithm.Compression methods.Better of deflate or store.Stored (uncompressed).Shrunk. Reduced with factor 1 Reduced with factor 2 Reduced with factor 3 Reduced with factor 4  Imploded. Deflated. Deflate64.PKWARE imploding.!Compressed using BZIP2 algorithm. LZMA (EFS)!Compressed using IBM TERSE (new).IBM LZ77 z Architecture (PFS).WavPack compressed data.PPMd version I, Rev 1.libzip error codes. No error.&Multi-disk zip archives not supported.Renaming temporary file failed.Closing zip archive failed. Seek error. Read error. Write error. CRC error. "Containing zip archive was closed.! No such file."File already exists.#Can't open file.$!Failure to create temporary file.% Zlib error.& Malloc error.'Entry has been changed.(!Compression method not supported.)Premature EOF.*Invalid argument.+Not a zip archive.,Internal error.-Zip archive inconsistent..Can't remove file./Entry has been deleted.0 Encryption method not supported.1Read-only archive.2No password provided.3Wrong password provided.4libzip archive global flags6:Flags for accessing files in the archive. Please consult libzip documentation about their use.7Ignore case on name lookup.8Ignore directory component.9Read the compressed data.:'Read the original data, ignore changes.;Force recompression of data.<-Read encrypted data (implies FileCOMPRESSED).= Guess string encoding (default).>Get unmodified string.?Follow specification strictly.@In local header.AIn central directory.BString is UTF-8 encoded.CString is CP437 encoded.D2When adding files: if file name exists, overwrite.EFlags for opening an archive.F'Create an archive if it does not exist.G$Error if the archive already exists.H1Check archive's consistency and error on failure.I.If archive exists, ignore its current content.J2File statistics expressed in native Haskell types.VHHandler of data source for new files in the zip archive. Constructors:  sourceBuffer,  sourceFile,  sourceZip,  sourcePure.W+Handler of an open file in the zip archive.XHandler of the open zip file.YConvert marshalled stat record.b  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZXWVJKLMNOPQRSTUYEFGHI6789:;<=>?@ABCD45 !"#$%&'()*+,-./0123 Z  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ KLMNOPQRSTUVWXYZSafe[ Wrapper to catch library errors.[[[Safe7\:Wrapper for a user-provided pure function to be used with }). Data size should be known in advance (_3). The function should support reading by chunks (a).^Initial state of the source._Total size of the data.`,Modification time (current time if Nothing).a!Read a chunk of the data, return JustR the size of data read, the data themselves and the new state of the source, or Nothing on error.b<Monadic computation to read from open archive entries. See  and .c,Monadic computation with a zip archive. See d.d8Top-level wrapper for operations with an open archive. d> opens and closes the file automatically. On error it throws .eBTop-level wrapper for operations with an open encrypted archive. e> opens and closes the file automatically. On error it throws .f)Get the number of entries in the archive.g1Get name of an entry in the archive by its index.h;Locate an entry (get its index) in the archive by its name.i@Get names of all entries (files and directories) in the archive.j"Get size of a file in the archive.k-Get size of a file in the archive (by index).l,Get information about a file in the archive.m7Get information about a file in the archive (by index).nDelete file from the archive.o<Delete file (referenced by position index) from the archive.pRename file in the archive.q:Rename file (referenced by position index) in the archive.rAdd a file to the archive.tAdd a directory to the archive.uAdd a directory to the archive.vReplace a file in the archive.w1Set compression method for a file in the archive.x1Set compression method for a file in the archive.y=Replace a file in the archive (referenced by position index).z2Create a data source. Note: input is converted to [Word8] internally.{!Create a data source from a file.|4Create a data source from a file in the zip archive.}Create a data source from a \. Note: input of [a] is converted to [Word8] internally.~Get zip archive comment.Set zip archive comment.Remove zip archive comment.&Get comment for a file in the archive.EGet comment for a file in the archive (referenced by position index).&Set comment for a file in the archive.ESet comment for a file in the archive (referenced by position index).)Remove comment for a file in the archive.HRemove comment for a file in the archive (referenced by position index).&Undo changes to a file in the archive.EUndo changes to a file in the archive (referenced by position index).]Undo global changes to zip archive (revert changes to the archive comment and global flags)."Undo all changes in a zip archive.3Wrapper for operations with a file in the archive. $ is normally called from within an c action (see also d).  can be replaced with ! to read an entire file at once.\Wrapper for operations with a file in the archive. File is referenced by index (position). $ is normally called from within an c action (see also d).  can be replaced with  to read an entire file at once. Read at most n bytes from the file.Skip nA bytes from the open file. Note: this is not faster than reading.Read entire file contents.Read entire file. Shortcut for  from within c monad.?Read entire file (referenced by position index). Shortcut for  from within c monad.Get archive handler. Throw * if the archive is closed.Get and throw a - if condition fails. Otherwise work normally.Get and throw a  if condition fails. See also .;\]^_`abcd$Checks for consistency or existence.Filename of the zip archive.Action to do with the archive.e$Checks for consistency or existence.Encryption password.Filename of the zip archive.Action to don with the archive.f:A can be used to return the original unchanged number of entries.g:= flag can be used to return the original unchanged filename.(Position index of a file in the archive. Name of the file in the archive.hFilename lookup mode. 74: ignore case distinctions (only for ASCII). 82: ignore directory part of the file name. >[: compare against unmodified names as it is in the ZIP archive. =: (default) guess encoding of the name in the ZIP archive and convert it to UTF-8, if necessary. ?: follow the ZIP specification and expect CP-437 encoded names in the ZIP archive (except if they are explicitly marked as UTF-8). Convert it to UTF-8 before comparing. Name of the file in the archive. position index if found.i: flag is accepted.jFilename lookup mode, : can be used. Name of the file in the archive. File size.k: is accepted.(Position index of a file in the archive. File size.lFilename lookup mode, : can be used. Name of the file in the archive.Infomation about the file.m: can be used.(Position index of a file in the archive.Information about the file.nFilename lookup mode (see h). Filename.o(Position index of a file in the archive.pFilename lookup mode (see h). Old name. New name.q(Position index of a file in the archive. New name.Name encoding flags. =): guess encoding of the name (default). B: interpret name as UTF-8. C: interpret name as CP-437.rName of the file to create.(Source where file data is obtained from.Position index of the new file.sCan be a combination of D) and/or one of filename encoding flags: = (default), B, C.Name of the file to create.(Source where file data is obtained from.Position index of the new file.t Directory's name in the archive.*Position index of the new directory entry.uBCan be one of filename encoding flags: 'FileENC_GUESS (default), B, C. Directory's name in the archive.*Position index of the new directory entry.vFilename lookup mode (see h).File to replace.0Source where the new file data is obtained from.wFilename lookup mode (see h). Filename.NCompression method. As of libzip 0.11, the following methods are supported: , , .x(Position index of a file in the archive.NCompression method. As of libzip 0.11, the following methods are supported: , , .y(Position index of a file in the archive./Source where the new file data is obtained fromz{ File to open.&Offset from the beginning of the file. The number of bytes to read. If 0 or -1!, the read till the end of file.|: and ; can be used.Source archive./Position index of a file in the source archive.&Offset from the beginning of the file. The number of bytes to read. If 0 or -1", then read till the end of file.}~Can be a combination of : and/or one of = (default), ? (CP-437).Comment message.Filename lookup mode (see h).FilenameComment lookup flags. :-: return the original unchanged comment. >1: return the unmodified commment as it is. =n: (default) guess the encoding of the comment and convert it to UTF-8, if necessary. ?: follow the ZIP specification for file names and extend it to file comments, expect them to be encoded in CP-437. Convert it to UTF-8.Position index of the file.Filename lookup mode (see h). Filename.New file comment.(Position index of a file in the archive.New file comment.Comment encoding flags. =,: guess encoding of the comment (default). B: interpret comment as UTF-8. C: interpret comment as CP-437.Filename lookup mode (see h). Filename.(Position index of a file in the archive.Filename lookup mode (see h). Filename.(Position index of a file in the archive.Filename lookup mode, 9 and : can be used.Name of the file in the arhive.Action with the file.9 and : can be used.(Position index of a file in the archive.Action with the file.The number of bytes to read. Bytes read.Contents of the file.  !"#$%&'()*+,-./01236789:;<=>?@ABCDEFGHIJKLMNOPQRSTU[\]^_`abcdefghijklmnopqrstuvwxyz{|}~cbJKLMNOPQRSTUdefghijklmnopqrstuvywxz{|\]^_`a}~EFGHI6789:;<=>?@ABCD  !"#$%&'()*+,-./0123[6\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPQRSTUVWXYZ[\]^_`aabcdefghijklmnopqrstuvwxyz{|}~DvDkMVhAeu35v5XhRmML69Codec.Archive.LibZipCodec.Archive.LibZip.TypesCodec.Archive.LibZip.Errorstrans_GZTjP9K5WFq01xC9BAGQpFControl.Monad.Trans.ClassliftZipEncryptionMethod EncryptNONEEncryptTRAD_PKWAREEncryptUNKNOWN ZipCompMethod CompDEFAULT CompSTORE CompSHRINK CompREDUCE_1 CompREDUCE_2 CompREDUCE_3 CompREDUCE_4 CompIMPLODE CompDEFLATE CompDEFLATE64CompPKWARE_IMPLODE CompBZIP2CompLZMA CompTERSECompLZ77 CompWAVPACKCompPPMDZipErrorErrOK ErrMULTIDISK ErrRENAMEErrCLOSEErrSEEKErrREADErrWRITEErrCRC ErrZIPCLOSEDErrNOENT ErrEXISTSErrOPEN ErrTMPOPENErrZLIB ErrMEMORY ErrCHANGEDErrCOMPNOTSUPPErrEOFErrINVALErrNOZIP ErrINTERNAL ErrINCONS ErrREMOVE ErrDELETEDErrENCRNOTSUPP ErrRDONLY ErrNOPASSWDErrWRONGPASSWD ArchiveFlag ArchiveRDONLYFileFlag FileNOCASE FileNODIRFileCOMPRESSED FileUNCHANGEDFileRECOMPRESS FileENCRYPTED FileENC_GUESS FileENC_RAWFileENC_STRICT FileLOCAL FileCENTRAL FileENC_UTF_8 FileENC_CP437 FileOVERWRITEOpenFlag CreateFlagExclFlag CheckConsFlag TruncateFlagZipStatzs'validzs'namezs'indexzs'size zs'comp_sizezs'mtimezs'crczs'comp_methodzs'encryption_methodzs'flags ZipSourceZipFileZip toZipStatcombine catchZipError PureSourcesrcStatesrcSizesrcMTimereadSrcEntryArchive withArchivewithEncryptedArchivenumFilesfileName nameLocate fileNamesfileSize fileSizeIxfileStat fileStatIx deleteFile deleteFileIx renameFile renameFileIxaddFileaddFileWithFlags addDirectoryaddDirectoryWithFlags replaceFilesetFileCompressionsetFileCompressionIx replaceFileIx sourceBuffer sourceFile sourceZip sourcePure getComment setComment removeCommentgetFileCommentgetFileCommentIxsetFileCommentsetFileCommentIxremoveFileCommentremoveFileCommentIx unchangeFileunchangeFileIxunchangeArchive unchangeAllfromFile fromFileIx readBytes skipBytes readContents fileContentsfileContentsIxgetZip$fEnumZipEncryptionMethod$fEnumZipCompMethod$fShowZipError$fExceptionZipError$fEnumZipError$fEnumArchiveFlag$fEnumFileFlag$fEnumOpenFlag errFromCInt get_errorget_file_errordoIfdoIf'withOpenArchivebaseGHC.BaseJust runPureSource