509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
ó
uWS`c        	   @   s[  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 Z	 d d l
 Z
 d d l Z y d d l Z e j Z Wn  e k
 rÅ e Z e j Z n Xd d d d d d d	 d
 d g	 Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ e Z d d >d Z d d >d Z d d >d Z d Z d Z d Z d Z e j e ƒ Z d Z d Z d Z  d Z! d Z" d Z# d Z$ d Z% d Z& d Z' d Z( d Z) e j e( ƒ Z* d Z+ d Z, d Z- d Z. d Z/ d Z0 d Z1 d Z2 d Z3 d Z4 d Z5 d Z6 d  Z7 d! Z8 d" Z9 d# Z: d Z; d$ Z< d% Z= d& Z> d' Z? e j e> ƒ Z@ d ZA d ZB d ZC d ZD d ZE d ZF d ZG d ZH d ZI d ZJ d ZK d ZL d( ZM d) ZN e j eM ƒ ZO d* ZP d+ ZQ e j eP ƒ ZR d ZS d ZT d ZU d ZV d ZW d ZX d ZY d ZZ d Z[ d Z\ d, Z] e j^ d- ƒ Z_ d. „  Z` d/ „  Za d0 „  Zb d1 „  Zc d2 „  Zd d ee f d3 „  ƒ  YZf d4 f  d5 „  ƒ  YZg i d6 d 6d7 d 6d8 d 6d8 d 6d8 d 6d8 d 6d9 d 6d: d 6d; d 6d< d 6d9 d 6d= d  6d> d" 6d? d% 6d@ dA 6dB dC 6dD dE 6Zh dF e	 ji f dG „  ƒ  YZj d	 ee f dH „  ƒ  YZk d
 ek f dI „  ƒ  YZl e dJ „ Zm en dK k rWem ƒ  n  d S(L   s   
Read and write ZIP files.
iÿÿÿÿNt
   BadZipfilet   errort
   ZIP_STOREDt   ZIP_DEFLATEDt
   is_zipfilet   ZipInfot   ZipFilet	   PyZipFilet   LargeZipFilec           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR       s   c           B   s   e  Z d  Z RS(   su   
    Raised when writing a zipfile, the zipfile requires ZIP64 extensions
    and those extensions are disabled.
    (   R	   R
   t   __doc__(    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR      s   i   i   i   i    i   s   <4s4H2LHs   PKi   i   i   i   i   i   i	   s   <4s4B4HL2L5H2Ls   PKi
   i   i   i   i   i   i   i   s   <4s2B4HL2L2Hs   PKs   <4sLQLs   PKs
   <4sQ2H2L4Qs   PKiPKs   <HHc   
      C   sÂ   t  j } t } g  } d } } x‰ | d t |  ƒ k rª | |  | | d !ƒ \ } } | d | }	 | | k r¡ | | k r’ | j |  | | !ƒ n  |	 } t } n  |	 } q" W| sµ |  Sd j | ƒ S(   Ni    i   t    (   t   _EXTRA_FIELD_STRUCTt   unpackt   Falset   lent   appendt   Truet   join(
   t   extrat   xidsR   t   modifiedt   buffert   startt   it   xidt   xlent   j(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _strip_extraŠ   s     	
	
c         C   s,   y t  |  ƒ r t SWn t k
 r' n Xt S(   N(   t   _EndRecDataR   t   IOErrorR   (   t   fp(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _check_zipfile�   s    c         C   sg   t  } yI t |  d ƒ r* t d |  ƒ } n$ t |  d ƒ � } t | ƒ } Wd QXWn t k
 rb n X| S(   sˆ   Quickly see if a file is a ZIP file by checking the magic number.

    The filename argument may be a file or file-like object too.
    t   readR    t   rbN(   R   t   hasattrR!   t   openR   (   t   filenamet   resultR    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR   ¥   s    c      
   C   sn  y |  j  | t d ƒ Wn t k
 r, | SX|  j t ƒ } t | ƒ t k rR | St j t | ƒ \ } } } } | t k r€ | S| d k s˜ | d k r§ t	 d ƒ ‚ n  |  j  | t t
 d ƒ |  j t
 ƒ } t | ƒ t
 k rä | St j t | ƒ \
 } } }	 }
 } } } } } } | t k r$| S| | t <| | t <| | t <| | t <| | t <| | t <| | t <| S(   sM   
    Read the ZIP64 end-of-archive records and use that to update endrec
    i   i    i   s3   zipfiles that span multiple disks are not supported(   t   seekt   sizeEndCentDir64LocatorR   R"   R   t   structR   t   structEndArchive64Locatort   stringEndArchive64LocatorR    t   sizeEndCentDir64t   structEndArchive64t   stringEndArchive64t   _ECD_SIGNATUREt   _ECD_DISK_NUMBERt   _ECD_DISK_STARTt   _ECD_ENTRIES_THIS_DISKt   _ECD_ENTRIES_TOTALt	   _ECD_SIZEt   _ECD_OFFSET(   t   fpint   offsett   endrect   datat   sigt   disknot   relofft   diskst   szt   create_versiont   read_versiont   disk_numt   disk_dirt   dircountt	   dircount2t   dirsizet	   diroffset(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _EndRecData64µ   s6    0






c   	      C   s¾  |  j  d d ƒ |  j ƒ  } y |  j  t d ƒ Wn t k
 rE d	 SX|  j ƒ  } t | ƒ t k rÔ | d d !t k rÔ | d d k rÔ t j	 t
 | ƒ } t | ƒ } | j d ƒ | j | t ƒ t |  t | ƒ St | d
 t d ƒ } |  j  | d ƒ |  j ƒ  } | j t ƒ } | d k rº| | | t !} t | ƒ t k rId	 St t j	 t
 | ƒ ƒ } | t } | | t | t | !} | j | ƒ | j | | ƒ t |  | | | | ƒ Sd	 S(   sÔ   Return data from the "End of Central Directory" record, or None.

    The data is a list of the nine items in the ZIP "End of central dir"
    record followed by a tenth item, the file seek offset of this record.i    i   i   iþÿÿÿs     R   i   i   Ni   (   R(   t   tellt   sizeEndCentDirR   t   NoneR"   R   t   stringEndArchiveR*   R   t   structEndArchivet   listR   RH   t   maxt   rfindt   _ECD_COMMENT_SIZE(	   R7   t   filesizeR:   R9   t   maxCommentStartR   t   recDatat   commentSizet   comment(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR   à   s>    
c           B   sJ   e  Z d  Z d Z d d d „ Z d d „ Z d „  Z d „  Z d „  Z	 RS(    s>   Class with attributes describing each file in the ZIP archive.t   orig_filenameR&   t	   date_timet   compress_typeRV   R   t   create_systemR@   t   extract_versiont   reservedt	   flag_bitst   volumet   internal_attrt   external_attrt   header_offsett   CRCt   compress_sizet	   file_sizet	   _raw_timet   NoNamei¼  i   i    c         C   s#  | |  _  | j t d ƒ ƒ } | d k r: | d | !} n  t j d k rp t j | k rp | j t j d ƒ } n  | |  _ | |  _ | d d k  r¡ t d ƒ ‚ n  t	 |  _
 d |  _ d |  _ t j d k r× d |  _ n	 d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d  S(	   Ni    t   /i¼  s+   ZIP does not support timestamps before 1980R   t   win32i   i   (   RW   t   findt   chrt   ost   sept   replaceR&   RX   t
   ValueErrorR   RY   RV   R   t   syst   platformRZ   R@   R[   R\   R]   R^   R_   R`   (   t   selfR&   RX   t	   null_byte(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   __init__6  s.    													c         C   sÅ  |  j  } | d d d >| d d >B| d B} | d d >| d	 d >B| d d B} |  j d
 @rs d } } } n |  j } |  j } |  j } |  j } | d k r¾ | t k p¸ | t k } n  | rù d }	 | t j	 |	 d t j
 |	 ƒ d	 | | ƒ } n  | t k s| t k r_| s&t d ƒ ‚ n  d } d } t d |  j ƒ |  _ t d |  j ƒ |  _ n  |  j ƒ  \ }
 } t j	 t t |  j |  j | |  j | | | | | t |
 ƒ t | ƒ ƒ } | |
 | S(   s'   Return the per-file header as a string.i    i¼  i	   i   i   i   i   i   i   i   s   <HHQQs'   Filesize would require ZIP64 extensionsIÿÿÿÿ    i-   N(   RX   R]   Rb   Rc   Rd   R   RK   t   ZIP64_LIMITR*   t   packt   calcsizeR   RO   R[   R@   t   _encodeFilenameFlagst   structFileHeadert   stringFileHeaderR\   RY   R   (   Rq   t   zip64t   dtt   dosdatet   dostimeRb   Rc   Rd   R   t   fmtR&   R]   t   header(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt
   FileHeader`  s:    	&&				#c         C   st   t  |  j t ƒ r` y |  j j d ƒ |  j f SWqp t k
 r\ |  j j d ƒ |  j d Bf SXn |  j |  j f Sd  S(   Nt   asciis   utf-8i   (   t
   isinstanceR&   t   unicodet   encodeR]   t   UnicodeEncodeError(   Rq   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRw   ‡  s    !c         C   s(   |  j  d @r |  j j d ƒ S|  j Sd  S(   Ni   s   utf-8(   R]   R&   t   decode(   Rq   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _decodeFilename�  s    c         C   sƒ  |  j  } t j } xjt | ƒ d k r~| d | d  ƒ \ } } | d k rm| d k rq | d | d d !ƒ } no | d k r– | d | d d	 !ƒ } nJ | d
 k r» | d | d d !ƒ } n% | d k rÐ d } n t d | f ‚ d } |  j d k r| | |  _ | d 7} n  |  j d k r8| | |  _ | d 7} n  |  j d k rm|  j } | | |  _ | d 7} qmn  | | d } q Wd  S(   Ni   s   <HHi   i   s   <QQQi   i   s   <QQi   i   s   <Qi   i    s   Corrupt extra field %sl   ÿÿÿÿ l   ÿÿ (    (   l   ÿÿÿÿ l   ÿÿ (   R   R*   R   R   t   RuntimeErrorRd   Rc   Ra   (   Rq   R   R   t   tpt   lnt   countst   idxt   old(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _decodeExtra–  s4    				(   RW   R&   RX   RY   RV   R   RZ   R@   R[   R\   R]   R^   R_   R`   Ra   Rb   Rc   Rd   Re   (   i¼  i   i   i    i    i    N(
   R	   R
   R   t	   __slots__Rs   RK   R€   Rw   R‡   RŽ   (    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR     s2                     *'			t   _ZipDecrypterc           B   sD   e  Z d  Z d „  Z e ƒ  Z d „  Z d „  Z d „  Z d „  Z RS(   s  Class to handle decryption of files stored within a ZIP archive.

    ZIP supports a password-based form of encryption. Even though known
    plaintext attacks have been found against it, it is still useful
    to be able to get data out of such a file.

    Usage:
        zd = _ZipDecrypter(mypwd)
        plain_char = zd(cypher_char)
        plain_text = map(zd, cypher_text)
    c          C   s‚   d }  d g d } xh t  d ƒ D]Z } | } xA t  d ƒ D]3 } | d @r^ | d ?d @|  A} q9 | d ?d @} q9 W| | | <q  W| S(   sâ   Generate a CRC-32 table.

        ZIP encryption uses the CRC32 one-byte primitive for scrambling some
        internal keys. We noticed that a direct implementation is faster than
        relying on binascii.crc32().
        I ƒ¸í    i    i   i   i   iÿÿÿ(   t   range(   t   polyt   tableR   t   crcR   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _GenerateCRCTableÈ  s    
c         C   s%   | d ?d @|  j  | t | ƒ Ad @AS(   s(   Compute the CRC32 primitive on one byte.i   iÿÿÿ iÿ   (   t   crctablet   ord(   Rq   t   chR”   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _crc32Ü  s    c         C   s=   d |  _  d |  _ d |  _ x | D] } |  j | ƒ q" Wd  S(   NixV4i‰gE#i�xV4(   t   key0t   key1t   key2t   _UpdateKeys(   Rq   t   pwdt   p(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRs   à  s
    			c         C   sx   |  j  | |  j ƒ |  _ |  j |  j d @d @|  _ |  j d d d @|  _ |  j  t |  j d ?d @ƒ |  j ƒ |  _ d  S(   Niÿ   Iÿÿÿÿ    i„i   i   (   R™   Rš   R›   Rj   Rœ   (   Rq   t   c(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR�   ç  s    c         C   sP   t  | ƒ } |  j d B} | | | d Ad ?d @A} t | ƒ } |  j | ƒ | S(   s   Decrypt a single character.i   i   i   iÿ   (   R—   Rœ   Rj   R�   (   Rq   R    t   k(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   __call__í  s    (	   R	   R
   R   R•   R–   R™   Rs   R�   R¢   (    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR�   »  s   					t   storet   shrinkt   reducet   implodet   tokenizet   deflatet	   deflate64t   bzip2t   lzmat   terset   lz77i   t   wavpackia   t   ppmdib   t
   ZipExtFilec           B   s„   e  Z d  Z d d >Z d Z e j d ƒ Z d e	 d „ Z
 d d „ Z d d „ Z d	 „  Z d d
 „ Z d „  Z d „  Z d „  Z RS(   sZ   File-like object for reading an archive member.
       Is returned by ZipFile.open().
    i   i   i   s*   ^(?P<chunk>[^\r\n]+)|(?P<newline>\n|\r\n?)c         C   sf  | |  _  | |  _ | |  _ | j |  _ | j |  _ | j |  _ |  j t k rc t	 j
 d ƒ |  _ n\ |  j t k r¿ t j |  j ƒ } | r¦ t d |  j | f ƒ ‚ q¿ t d |  j f ƒ ‚ n  d |  _ d |  _ d |  _ d | k |  _ d  |  _ |  j d  k	 r|  j d 8_ n  | |  _ | j |  _ t | d ƒ rY| j |  _ t d ƒ d	 @|  _ n	 d  |  _ d  S(
   Niñÿÿÿs   compression type %d (%s)s   compression type %dR   i    t   Ui   Rb   Iÿÿÿÿ    (   t   _fileobjt
   _decryptert   _close_fileobjRY   t   _compress_typeRc   t   _compress_sizet   _compress_leftR   t   zlibt   decompressobjt   _decompressorR   t   compressor_namest   gett   NotImplementedErrort   _unconsumedt   _readbuffert   _offsett
   _universalRK   t   newlinest   modeR&   t   nameR$   Rb   t   _expected_crct   crc32t   _running_crc(   Rq   t   fileobjRÃ   t   zipinfot	   decryptert   close_fileobjt   descr(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRs     s4    								iÿÿÿÿc         C   s£  |  j  ra | d k  ra |  j j d |  j ƒ d } | d k ra |  j |  j | !} | |  _ | Sn  |  j  s} t j j |  | ƒ Sd } x| d k  s¤ t | ƒ | k  rž|  j d ƒ } | d k rÃ | S|  j	 j
 | ƒ } | j d ƒ } | d k	 rJ|  j d k rg  |  _ n  | |  j k r-|  j j | ƒ n  |  j t | ƒ 7_ | d S| j d ƒ } | d k r|| | t | ƒ  } n  |  j t | ƒ 7_ | | 7} q† W| S(	   sr   Read and return a line from the stream.

        If limit is specified, at most limit bytes will be read.
        i    s   
i   R   i   t   newlinet   chunkN(   RÁ   R¿   Ri   RÀ   t   iot   BufferedIOBaset   readlineR   t   peekt   PATTERNt   searcht   groupRK   RÂ   R   (   Rq   t   limitR   t   linet	   readaheadt   matchRÍ   RÎ   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRÑ   B  s8    		!
c         C   s“   | t  |  j ƒ |  j k r{ |  j | ƒ } t  | ƒ |  j k rc | |  j |  j |  _ d |  _ q{ |  j t  | ƒ 8_ n  |  j |  j |  j d !S(   s6   Returns buffered bytes without advancing the position.i    i   (   R   R¿   RÀ   R"   (   Rq   t   nRÎ   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRÒ   t  s    c         C   s   t  S(   N(   R   (   Rq   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   readable�  s    c         C   sœ   d } | d k r d } n  xz t r— | d k  rB |  j | ƒ } n2 | t | ƒ k rp |  j | t | ƒ ƒ } n | St | ƒ d k rŠ | S| | 7} q Wd S(   s�   Read and return up to n bytes.
        If the argument is omitted, None, or negative, data is read and returned until EOF is reached..
        R   iÿÿÿÿi    N(   RK   R   t   read1R   (   Rq   RÚ   t   bufR:   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR"   „  s    		c         C   s^   |  j  d  k r d  St | |  j ƒ d @|  _ | rZ |  j |  j  k rZ t d |  j ƒ ‚ n  d  S(   NIÿÿÿÿ    s   Bad CRC-32 for file %r(   RÅ   RK   RÆ   RÇ   R    RÄ   (   Rq   t   newdatat   eof(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _update_crc–  s
    c         C   sg  | d k  s | d k r$ |  j } n  t |  j ƒ |  j } |  j d k rW| | t |  j ƒ k rW| | t |  j ƒ } t | |  j ƒ } t	 | |  j ƒ } |  j
 j | ƒ } |  j t | ƒ 8_ | r÷ |  j d k	 r÷ d j t |  j | ƒ ƒ } n  |  j t k rE|  j | d |  j d k ƒ|  j |  j | |  _ d |  _ qW|  j | 7_ n  t |  j ƒ d k r4| | k r4|  j t k r4|  j j |  j t | | |  j ƒ ƒ } |  j j |  _ t |  j ƒ d k oß|  j d k } | rþ| |  j j ƒ  7} n  |  j | d | ƒ|  j |  j | |  _ d |  _ n  |  j |  j |  j | !} |  j t | ƒ 7_ | S(   s7   Read up to n bytes with at most one read() system call.i    R   Rß   N(   RK   t   MAX_NR   R¿   RÀ   R·   R¾   RO   t   MIN_READ_SIZEt   minR²   R"   R³   R   t   mapRµ   R   Rà   R   Rº   t
   decompresst   unconsumed_tailt   flush(   Rq   RÚ   t   len_readbuffert   nbytesR:   Rß   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRÜ      s>    (!	$c         C   s8   z |  j  r |  j j ƒ  n  Wd  t t |  ƒ j ƒ  Xd  S(   N(   R´   R²   t   closet   superR°   (   Rq   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRê   Ô  s    	i   N(   R	   R
   R   Rá   Râ   t   ret   compileRÓ   RK   R   Rs   RÑ   RÒ   RÛ   R"   Rà   RÜ   Rê   (    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR°     s   
'2		
	4c           B   s  e  Z d  Z d Z d e e d „ Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z e d „  ƒ Z e j d „  ƒ Z d d „ Z d d d „ Z d d d „ Z d d d d „ Z d „  Z d „  Z d d d „ Z d d „ Z d „  Z d „  Z RS(   sd   Class with methods to open, read, write, close, list zip files.

    z = ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)

    file: Either the path to the file, or a file-like object.
          If it is a path, the file will be opened and closed by ZipFile.
    mode: The mode can be either read "r", write "w" or append "a".
    compression: ZIP_STORED (no compression) or ZIP_DEFLATED (requires zlib).
    allowZip64: if True ZipFile will create files with ZIP64 extensions when
                needed, otherwise it will raise an exception when this would
                be necessary.

    t   rc         C   s\  | d k r t  d ƒ ‚ n  | t k r* n* | t k rK t sT t  d ‚ qT n	 t  d ‚ | |  _ t |  _ d |  _ i  |  _ g  |  _	 | |  _
 | j d d	 ƒ d |  _ } d |  _ d	 |  _ t | t ƒ rXd |  _ | |  _ i d
 d 6d d 6d d 6} y t | | | ƒ |  _ Wqt k
 rT| d k rNd } } t | | | ƒ |  _ qU‚  qXn' d |  _ | |  _ t | d d ƒ |  _ y¤ | d k r›|  j ƒ  n‡ | d k r³t |  _ no | d k ry$ |  j ƒ  |  j j |  j d ƒ Wq"t k
 r|  j j d d ƒ t |  _ q"Xn t  d ƒ ‚ Wn2 |  j } d |  _ |  j sQ| j ƒ  n  ‚  n Xd S(   s>   Open the ZIP file with mode read "r", write "w" or append "a".Rî   t   wt   as(   ZipFile() requires mode "r", "w", or "a"s.   Compression requires the (missing) zlib modules(   That compression method is not supportedi    t   bR   R#   t   wbs   r+bi   RÄ   i   s   Mode must be "r", "w" or "a"N(   Rî   Rï   Rð   (   Rˆ   R   R   R¸   t   _allowZip64R   t
   _didModifyt   debugt
   NameToInfot   filelistt   compressionRm   RÃ   RK   Rž   t   _commentR‚   t
   basestringt   _filePassedR&   R%   R    R   t   getattrt   _RealGetContentsR   R(   t	   start_dirR    Rê   (   Rq   t   fileRÃ   Rø   t
   allowZip64t   keyt   modeDictR    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRs   í  sf    											

		
			c         C   s   |  S(   N(    (   Rq   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt	   __enter__4  s    c         C   s   |  j  ƒ  d  S(   N(   Rê   (   Rq   t   typet   valuet	   traceback(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   __exit__7  s    c         C   sH  |  j  } y t | ƒ } Wn t k
 r8 t d ƒ ‚ n X| sK t d ‚ n  |  j d k rb | GHn  | t } | t } | t |  _ | t	 | | } | t
 t k r¶ | t t 8} n  |  j d k rã | | } d G| G| G| GHn  | | |  _ | j |  j d ƒ | j | ƒ } t j | ƒ } d } x| | k  rC| j t ƒ }	 t |	 ƒ t k rft d ƒ ‚ n  t j t |	 ƒ }	 |	 t t k r—t d ƒ ‚ n  |  j d k r®|	 GHn  | j |	 t ƒ }
 t |
 ƒ } | j |	 t ƒ | _ | j |	 t ƒ | _ |	 t  | _! |	 d d !\ | _" | _# | _$ | _% | _& | _' } } | _( | _) | _* |	 d	 d
 !\ | _+ | _, | _- | | _. | d ?d | d ?d	 @| d @| d ?| d ?d @| d @d f | _/ | j0 ƒ  | j! | | _! | j1 ƒ  | _2 |  j3 j4 | ƒ | |  j5 | j2 <| t |	 t |	 t |	 t } |  j d k r*d G| GHq*q*Wd S(   s/   Read in the table of contents for the ZIP file.s   File is not a zip filei   i   s   given, inferred, offseti    s   Truncated central directorys&   Bad magic number for central directoryi   i   i   i	   i¼  i   i   i   i?   t   totalN(6   R    R   R   R    Rõ   R5   R6   t   _ECD_COMMENTRù   t   _ECD_LOCATIONR0   R/   R-   R)   Rþ   R(   R"   t	   cStringIOt   StringIOt   sizeCentralDirR   R*   R   t   structCentralDirt   _CD_SIGNATUREt   stringCentralDirt   _CD_FILENAME_LENGTHR   t   _CD_EXTRA_FIELD_LENGTHR   t   _CD_COMMENT_LENGTHRV   t   _CD_LOCAL_HEADER_OFFSETRa   R@   RZ   R[   R\   R]   RY   Rb   Rc   Rd   R^   R_   R`   Re   RX   RŽ   R‡   R&   R÷   R   Rö   (   Rq   R    R9   t   size_cdt	   offset_cdt   concatt   inferredR:   R  t   centdirR&   t   xt   tt   d(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRý   :  sd    	


I	&
"c         C   s.   g  } x! |  j  D] } | j | j ƒ q W| S(   s+   Return a list of file names in the archive.(   R÷   R   R&   (   Rq   t   lR:   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   namelist  s    c         C   s   |  j  S(   sJ   Return a list of class ZipInfo instances for files in the
        archive.(   R÷   (   Rq   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   infolist†  s    c         C   sJ   d d	 GHx: |  j  D]/ } d | j d  } d | j | | j f GHq Wd S(
   s+   Print a table of contents for the zip file.s   %-46s %19s %12ss	   File Names   Modified    t   Sizes   %d-%02d-%02d %02d:%02d:%02di   s   %-46s %s %12dN(   s	   File Names   Modified    R   (   R÷   RX   R&   Rd   (   Rq   t   zinfot   date(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   printdir‹  s    	c         C   sn   d } xa |  j  D]V } y8 |  j | j d ƒ � } x | j | ƒ rF q4 WWd QXWq t k
 re | j SXq Wd S(   s%   Read all the files and check the CRC.i   i   Rî   Ni   (   R÷   R%   R&   R"   R    (   Rq   t
   chunk_sizeR!  t   f(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   testzip’  s    c         C   s5   |  j  j | ƒ } | d k r1 t d | ƒ ‚ n  | S(   s,   Return the instance of ZipInfo given 'name'.s(   There is no item named %r in the archiveN(   Rö   R¼   RK   t   KeyError(   Rq   RÄ   t   info(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   getinfoŸ  s
    c         C   s   | |  _  d S(   s)   Set default password for encrypted files.N(   Rž   (   Rq   Rž   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   setpassword¨  s    c         C   s   |  j  S(   s.   The comment text associated with the ZIP file.(   Rù   (   Rq   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRV   ¬  s    c         C   sX   t  | ƒ t k rB d d  l } | j d t d d ƒ| t  } n  | |  _ t |  _ d  S(   Niÿÿÿÿs3   Archive comment is too long; truncating to %d bytest
   stackleveli   (   R   t   ZIP_MAX_COMMENTt   warningst   warnRù   R   Rô   (   Rq   RV   R-  (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRV   ±  s    		c         C   s   |  j  | d | ƒ j ƒ  S(   s)   Return file bytes (as a string) for name.Rî   (   R%   R"   (   Rq   RÄ   Rž   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR"   ¼  s    c         C   sd  | d k r t  d ‚ n  |  j s- t  d ‚ n  |  j rH |  j } t } n t |  j d ƒ } t } yàt | t ƒ r{ | } n |  j	 | ƒ } | j
 | j d ƒ | j t ƒ } t | ƒ t k rÍ t d ƒ ‚ n  t j t | ƒ } | t t k rþ t d	 ƒ ‚ n  | j | t ƒ } | t r/| j | t ƒ n  | | j k rWt d
 | j | f ‚ n  | j d @}	 d }
 |	 r&| s‚|  j } n  | s˜t  d | ‚ n  t | ƒ }
 | j d ƒ } t |
 | d d !ƒ } | j d @rê| j d ?d @} n | j d ?d @} t | d ƒ | k r&t  d | ƒ ‚ q&n  t  | | | |
 d | ƒSWn | rY| j! ƒ  n  ‚  n Xd S(   s#   Return file-like object for 'name'.Rî   R±   t   rUs&   open() requires mode "r", "U", or "rU"s3   Attempt to read ZIP archive that was already closedR#   i    s   Truncated file headers    Bad magic number for file headers3   File name in directory "%s" and header "%s" differ.i   s6   File %s is encrypted, password required for extractioni   i   iÿ   i   i   s   Bad password for fileRË   N(   Rî   R±   R/  ("   Rˆ   R    Rû   R   R%   R&   R   R‚   R   R)  R(   Ra   R"   t   sizeFileHeaderR   R    R*   R   Rx   t   _FH_SIGNATURERy   t   _FH_FILENAME_LENGTHt   _FH_EXTRA_FIELD_LENGTHRW   R]   RK   Rž   R�   Rä   Re   Rb   R—   R°   Rê   (   Rq   RÄ   RÃ   Rž   t   zef_filet   should_closeR!  t   fheadert   fnamet   is_encryptedt   zdt   bytest   ht
   check_byte(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR%   À  sd    						

c         C   sO   t  | t ƒ s! |  j | ƒ } n  | d k r< t j ƒ  } n  |  j | | | ƒ S(   s#  Extract a member from the archive to the current working directory,
           using its full name. Its file information is extracted as accurately
           as possible. `member' may be a filename or a ZipInfo object. You can
           specify a different directory using `path'.
        N(   R‚   R   R)  RK   Rk   t   getcwdt   _extract_member(   Rq   t   membert   pathRž   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   extract  s
    c         C   sC   | d k r |  j ƒ  } n  x! | D] } |  j | | | ƒ q" Wd S(   sõ   Extract all members from the archive to the current working
           directory. `path' specifies a different directory to extract to.
           `members' is optional and must be a subset of the list returned
           by namelist().
        N(   RK   R  RA  (   Rq   R@  t   membersRž   RÉ   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt
   extractall  s    c   
      C   s  | j  j d t j j ƒ } t j j rH | j t j j t j j ƒ } n  t j j | ƒ d } t j j j d „  | j t j j ƒ Dƒ ƒ } t j j d k r2d } t	 | t
 ƒ rÆ d „  | Dƒ } n t j | d t | ƒ ƒ } | j | ƒ } d „  | j t j j ƒ Dƒ } t j j j d	 „  | Dƒ ƒ } n  t j j | | ƒ } t j j | ƒ } t j j | ƒ } | r”t j j | ƒ r”t j | ƒ n  | j  d
 d k rÍt j j | ƒ sÉt j | ƒ n  | S|  j | d | ƒ�/ } t | d ƒ � }	 t j | |	 ƒ Wd QXWd QX| S(   sb   Extract the ZipInfo object 'member' to a physical
           file on the path targetpath.
        Rg   i   c         s   s6   |  ], } | d  t  j j t  j j f k r | Vq d S(   R   N(   Rk   R@  t   curdirt   pardir(   t   .0R  (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pys	   <genexpr>6  s    s   \s   :<>|"?*c         S   s%   i  |  ] } t  d  ƒ t  | ƒ “ q S(   t   _(   R—   (   RF  R    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pys
   <dictcomp><  s   	 RG  c         s   s   |  ] } | j  d  ƒ Vq d S(   t   .N(   t   rstrip(   RF  R  (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pys	   <genexpr>A  s    c         s   s   |  ] } | r | Vq d  S(   N(    (   RF  R  (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pys	   <genexpr>B  s    iÿÿÿÿRž   Rò   N(   R&   Rm   Rk   R@  Rl   t   altsept
   splitdriveR   t   splitR‚   Rƒ   t   stringt	   maketransR   t	   translatet   normpatht   dirnamet   existst   makedirst   isdirt   mkdirR%   Rÿ   t   shutilt   copyfileobj(
   Rq   R?  t
   targetpathRž   t   arcnamet   illegalR“   t	   upperdirst   sourcet   target(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR>  )  s4    !."c         C   s+  | j  |  j k r; d d l } | j d | j  d d ƒn  |  j d k rV t d ‚ n  |  j sk t d	 ‚ n  | j t k r� t	 r� t d
 ‚ n  | j t
 t f k r® t d ‚ n  |  j s'd } t |  j ƒ t k rÛ d } n0 | j t k ró d } n | j t k rd } n  | r't | d ƒ ‚ q'n  d S(   s6   Check for errors before writing a file to the archive.iÿÿÿÿNs   Duplicate name: %rR+  i   Rï   Rð   s    write() requires mode "w" or "a"s4   Attempt to write ZIP archive that was already closeds.   Compression requires the (missing) zlib modules(   That compression method is not supporteds   Files countt   Filesizes   Zipfile sizes    would require ZIP64 extensions(   Rï   Rð   (   R&   Rö   R-  R.  RÃ   Rˆ   R    RY   R   R¸   R   Ró   RK   R   R÷   t   ZIP_FILECOUNT_LIMITRd   Rt   Ra   R   (   Rq   R!  R-  t   requires_zip64(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   _writecheckW  s2    								c         C   s  |  j  s t d ƒ ‚ n  t j | ƒ } t j | j ƒ } t j | j ƒ } | d d !} | d	 k rm | } n  t j
 j t j
 j | ƒ d ƒ } x* | d t j t j f k r» | d } q’ W| rÏ | d 7} n  t | | ƒ } | d d @d >| _ | rt | _ n$ | d	 k r |  j | _ n	 | | _ | j | _ d | _ |  j  j ƒ  | _ |  j | ƒ t |  _ | rÓd | _ d | _ d | _ | j d O_ |  j j | ƒ | |  j  | j! <|  j  j" | j# t$ ƒ ƒ d	 St% | d
 ƒ �
}	 d | _ }
 d | _ } |  j& o| j d t' k } |  j  j" | j# | ƒ ƒ | j t( k rat) j* t) j+ t) j, d ƒ } n d	 } d } xx |	 j- d ƒ } | s‰Pn  | t. | ƒ } t/ | |
 ƒ d @}
 | rÔ| j0 | ƒ } | t. | ƒ } n  |  j  j" | ƒ qpWWd	 QX| r,| j1 ƒ  } | t. | ƒ } |  j  j" | ƒ | | _ n	 | | _ |
 | _ | | _ | r�|  j& r�| t' k rrt d ƒ ‚ n  | t' k r�t d ƒ ‚ q�n  |  j  j ƒ  } |  j  j2 | j d ƒ |  j  j" | j# | ƒ ƒ |  j  j2 | d ƒ |  j j | ƒ | |  j  | j! <d	 S(   sL   Put the bytes from filename into the archive under the name
        arcname.s7   Attempt to write to ZIP archive that was already closedi    i   i   Rg   iÿÿ  l    i   NR#   gÍÌÌÌÌÌð?iñÿÿÿi   i   Iÿÿÿÿ    s*   File size has increased during compressings-   Compressed size larger than uncompressed sizei    (3   R    Rˆ   Rk   t   statt   S_ISDIRt   st_modet   timet	   localtimet   st_mtimeRK   R@  RP  RK  Rl   RJ  R   R`   R   RY   Rø   t   st_sizeRd   R]   RI   Ra   Ra  R   Rô   Rc   Rb   R÷   R   Rö   R&   t   writeR€   R   R%   Ró   Rt   R   R¸   t   compressobjt   Z_DEFAULT_COMPRESSIONt   DEFLATEDR"   R   RÆ   t   compressRç   R(   (   Rq   R&   RY  RY   t   stRT  t   mtimeRX   R!  R    Rb   Rc   Rz   t   cmprRd   RÝ   t   position(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRi  s  s–    		"										c         C   sE  t  | t ƒ s} t d | d t j t j ƒ  ƒ d  ƒ } |  j | _ | j d d k rq d | _ | j d O_ qƒ d | _ n | } |  j s› t	 d	 ƒ ‚ n  | d k	 r³ | | _ n  t | ƒ | _ |  j j ƒ  | _ |  j | ƒ t |  _ t | ƒ d
 @| _ | j t k rRt j t j t j d ƒ } | j | ƒ | j ƒ  } t | ƒ | _ n | j | _ | j t k py| j t k } | r›|  j r›t d ƒ ‚ n  |  j j | j  | ƒ ƒ |  j j | ƒ | j! d @r| rÝd n d } |  j j t" j# | t$ | j | j | j ƒ ƒ n  |  j j ƒ  |  j% j& | ƒ | |  j' | j <d S(   s¬   Write a file into the archive.  The contents is the string
        'bytes'.  'zinfo_or_arcname' is either a ZipInfo instance or
        the name of the file in the archive.R&   RX   i   iÿÿÿÿRg   iýA  i   i€  s7   Attempt to write to ZIP archive that was already closedIÿÿÿÿ    iñÿÿÿs'   Filesize would require ZIP64 extensionsi   s   <LLQQs   <LLLLNi  ýAi  €((   R‚   R   Re  Rf  Rø   RY   R&   R`   R    Rˆ   RK   R   Rd   RI   Ra   Ra  R   Rô   RÆ   Rb   R   R¸   Rj  Rk  Rl  Rm  Rç   Rc   Rt   Ró   R   Ri  R€   R]   R*   Ru   t   _DD_SIGNATURER÷   R   Rö   (   Rq   t   zinfo_or_arcnameR:  RY   R!  t   coRz   R~   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   writestrÏ  sL    			c         C   s   |  j  ƒ  d S(   s2   Call the "close()" method in case the user forgot.N(   Rê   (   Rq   (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   __del__  s    c         C   sÝ  |  j  d k r d Szš|  j d k r¬|  j r¬|  j  j ƒ  } xÜ|  j D]Ñ} | j } | d d d >| d d >B| d	 B} | d
 d >| d d >B| d d	 B} g  } | j t k sÆ | j	 t k rõ | j
 | j ƒ | j
 | j	 ƒ d } d } n | j } | j	 } | j t k r/| j
 | j ƒ d }	 n	 | j }	 | j }
 | r±t |
 d ƒ }
 t j d d t | ƒ d d t | ƒ | Œ |
 }
 t d | j ƒ } t d | j ƒ } n | j } | j } y… | j ƒ  \ } } t j t t | | j | | j | | j | | | j | | t | ƒ t |
 ƒ t | j ƒ d | j | j |	 ƒ } WnŠ t k
 rÔt j  t t | | j | | j | j! | j | | | j | | t | j" ƒ t |
 ƒ t | j ƒ d | j | j |	 f IJ‚  n X|  j  j# | ƒ |  j  j# | ƒ |  j  j# |
 ƒ |  j  j# | j ƒ qG W|  j  j ƒ  } t |  j ƒ } | | } | } d } | t$ k red } n* | t k rzd } n | t k r�d } n  | rI|  j% s±t& | d ƒ ‚ n  t j t' t( d d d d d | | | | ƒ } |  j  j# | ƒ t j t) t* d | d ƒ } |  j  j# | ƒ t+ | d ƒ } t+ | d ƒ } t+ | d ƒ } n  t j t, t- d d | | | | t |  j. ƒ ƒ	 } |  j  j# | ƒ |  j  j# |  j. ƒ |  j  j/ ƒ  n  Wd |  j  } d |  _  |  j0 sØ| j1 ƒ  n  Xd S(   sJ   Close the file, and for mode "w" and "a" write the ending
        records.NRï   Rð   i    i¼  i	   i   i   i   i   i   i   Iÿÿÿÿ    l   ÿÿ s   <HHt   Qi   i-   s   Files counts   Central directory offsets   Central directory sizes    would require ZIP64 extensionsi,   iÿÿ  (   Rï   Rð   (   i   (2   R    RK   RÃ   Rô   RI   R÷   RX   Rd   Rt   Rc   R   Ra   R   R   R*   Ru   R   RO   R[   R@   Rw   R  R  RZ   R\   RY   Rb   RV   R_   R`   t   DeprecationWarningRo   t   stderrR]   R&   Ri  R_  Ró   R   R.   R/   R+   R,   Rã   RM   RL   Rù   Rç   Rû   Rê   (   Rq   t   pos1R!  R{   R|   R}   R   Rd   Rc   Ra   t
   extra_dataR[   R@   R&   R]   R  t   pos2t   centDirCountt   centDirSizet   centDirOffsetR`  t   zip64endrect   zip64locrecR9   R    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRê     sº    	&&									
!	
							N(   R	   R
   R   RK   R    R   R   Rs   R  R  Rý   R  R  R#  R&  R)  R*  t   propertyRV   t   setterR"   R%   RA  RC  R>  Ra  Ri  Ru  Rv  Rê   (    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR   Ü  s0   G			E							O	.	\3	c           B   s#   e  Z d  Z d d „ Z d „  Z RS(   sD   Class to create ZIP archives with Python library files and packages.R   c         C   sà  t  j j | ƒ \ } } t  j j | ƒ r|t  j j | d ƒ } t  j j | ƒ rÊ| rj d | | f } n | } |  j r� d G| Gd G| GHn  |  j | d d !| ƒ \ } } |  j rÁ d G| GHn  |  j | | ƒ t  j	 | ƒ } | j
 d ƒ x‰| D]Ï }	 t  j j | |	 ƒ }
 t  j j |	 ƒ \ } } t  j j |
 ƒ rpt  j j t  j j |
 d ƒ ƒ rÃ|  j |
 | ƒ qÃqô | d k rô |  j |
 d d !| ƒ \ } } |  j r°d G| GHn  |  j | | ƒ qô qô WqÜ|  j rßd	 G| GHn  xú t  j	 | ƒ D]† }	 t  j j | |	 ƒ }
 t  j j |	 ƒ \ } } | d k rï|  j |
 d d !| ƒ \ } } |  j rbd G| GHn  |  j | | ƒ qïqïWn` | d d k r˜t d
 ‚ n  |  j | d d !| ƒ \ } } |  j rÌd G| GHn  |  j | | ƒ d S(   s,  Add all files from "pathname" to the ZIP archive.

        If pathname is a package directory, search the directory and
        all package subdirectories recursively for all *.py and enter
        the modules into the archive.  If pathname is a plain
        directory, listdir *.py and enter all modules.  Else, pathname
        must be a Python *.py file and the module will be put into the
        archive.  Added modules are always module.pyo or module.pyc.
        This method will compile the module.py into module.pyc if
        necessary.
        s   __init__.pys   %s/%ss   Adding package int   asi    iýÿÿÿt   Addings   .pys   Adding files from directorys.   Files added with writepy() must end with ".py"s   Adding fileN(   Rk   R@  RL  RT  R   t   isfileRõ   t   _get_codenameRi  t   listdirt   removet   splitextt   writepyRˆ   (   Rq   t   pathnamet   basenamet   dirRÄ   t   initnameR7  RY  t   dirlistR&   R@  t   roott   ext(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR‹  z  sZ    		!					c   
      C   s8  | d } | d } | d } t  j j | ƒ r] t  j | ƒ j t  j | ƒ j k r] | } n¢ t  j j | ƒ s” t  j | ƒ j t  j | ƒ j k  rù d d l } |  j rµ d G| GHn  y | j | | d t	 ƒ Wn | j
 k
 rï } | j GHn X| } n | } t  j j | ƒ d }	 | r.d | |	 f }	 n  | |	 f S(	   s   Return (filename, archivename) for the path.

        Given a module name path, return the correct file path and
        archive name, compiling if necessary.  For example, given
        /python/lib/string, return (/python/lib/string.pyc, string).
        s   .pys   .pycs   .pyoiÿÿÿÿNt	   Compilingi   s   %s/%s(   Rk   R@  R†  Rb  Rg  t
   py_compileRõ   Rí   RK   R   t   PyCompileErrort   msgRL  (
   Rq   RŒ  R�  t   file_pyt   file_pyct   file_pyoR7  R”  t   errt   archivename(    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR‡  »  s*    


$	$		(   R	   R
   R   R‹  R‡  (    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyR   w  s   Ac      	      s™  d d  l  } | j d ƒ } |  d  k r7 t j d }  n  |  sN |  d d k rc | GHt j d ƒ n  |  d d k rÃ t |  ƒ d	 k rš | GHt j d ƒ n  t |  d d
 ƒ � } | j ƒ  Wd  QXnÒ|  d d k rAt |  ƒ d	 k rú | GHt j d ƒ n  t |  d d
 ƒ � } | j	 ƒ  } Wd  QX| r9d j
 | ƒ GHn  d GHnT|  d d k r¨t |  ƒ d k rx| GHt j d ƒ n  t |  d d
 ƒ � } | j |  d	 ƒ Wd  QXní |  d d k r•t |  ƒ d k  rß| GHt j d ƒ n  ‡  f d †  ‰  t |  d d d t ƒ�‰ } x |  d	 D]s } t j j | ƒ } | sTt j j t j j | ƒ ƒ } n  | d t j t j f k rxd } n  ˆ  | | | ƒ qWWd  QXn  d  S(   NiÿÿÿÿsE          Usage:
            zipfile.py -l zipfile.zip        # Show listing of a zipfile
            zipfile.py -t zipfile.zip        # Test if a zipfile is valid
            zipfile.py -e zipfile.zip target # Extract zipfile into target dir
            zipfile.py -c zipfile.zip src ... # Create zipfile from sources
        i   i    s   -ls   -cs   -es   -ti   Rî   s.   The following enclosed file is corrupted: {!r}s   Done testingi   c            s¢   t  j j | ƒ r( |  j | | t ƒ nv t  j j | ƒ rž | rS |  j | | ƒ n  xH t  j | ƒ D]4 } ˆ  |  t  j j | | ƒ t  j j | | ƒ ƒ qc Wn  d  S(   N(   Rk   R@  R†  Ri  R   RT  Rˆ  R   (   t   zfR@  t   zippatht   nm(   t   addToZip(    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyRŸ    s    Rï   R   R   (   s   -ls   -cs   -es   -t(   t   textwrapt   dedentRK   Ro   t   argvt   exitR   R   R#  R&  t   formatRC  R   Rk   R@  R�  RQ  RD  RE  (   t   argsR   t   USAGERœ  t   badfileR@  R�  (    (   RŸ  s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   mainÚ  sT    	!	t   __main__(o   R   R*   Rk   Re  Ro   RV  t   binasciiR  Rb  RÏ   Rì   RM  R¸   RÆ   t   ImportErrorRK   t   __all__t	   ExceptionR    R   R   Rt   R_  R,  R   R   RM   RL   Rv   RJ   R0   R1   R2   R3   R4   R5   R6   RQ   R	  R
  R  R  R  R  t   _CD_CREATE_VERSIONt   _CD_CREATE_SYSTEMt   _CD_EXTRACT_VERSIONt   _CD_EXTRACT_SYSTEMt   _CD_FLAG_BITSt   _CD_COMPRESS_TYPEt   _CD_TIMEt   _CD_DATEt   _CD_CRCt   _CD_COMPRESSED_SIZEt   _CD_UNCOMPRESSED_SIZER  R  R  t   _CD_DISK_NUMBER_STARTt   _CD_INTERNAL_FILE_ATTRIBUTESt   _CD_EXTERNAL_FILE_ATTRIBUTESR  Rx   Ry   R0  R1  t   _FH_EXTRACT_VERSIONt   _FH_EXTRACT_SYSTEMt   _FH_GENERAL_PURPOSE_FLAG_BITSt   _FH_COMPRESSION_METHODt   _FH_LAST_MOD_TIMEt   _FH_LAST_MOD_DATEt   _FH_CRCt   _FH_COMPRESSED_SIZEt   _FH_UNCOMPRESSED_SIZER2  R3  R+   R,   R)   R.   R/   R-   t   _CD64_SIGNATUREt   _CD64_DIRECTORY_RECSIZEt   _CD64_CREATE_VERSIONt   _CD64_EXTRACT_VERSIONt   _CD64_DISK_NUMBERt   _CD64_DISK_NUMBER_STARTt   _CD64_NUMBER_ENTRIES_THIS_DISKt   _CD64_NUMBER_ENTRIES_TOTALt   _CD64_DIRECTORY_SIZEt   _CD64_OFFSET_START_CENTDIRRr  t   StructR   R   R!   R   RH   R   t   objectR   R�   R»   RÐ   R°   R   R   R¨  R	   (    (    (    s,   /opt/alt/python27/lib64/python2.7/zipfile.pyt   <module>   sô   <$				+	=ž<
Ðÿ ÿ �cB