Your IP : 3.145.88.155


Current Path : /opt/alt/python33/lib64/python3.3/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/__pycache__/tarfile.cpython-33.pyo

�
��f [c@s*dZdZdZdZdZdZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZyddlZddlZWnek
r�eZZYnXeefZyeef7ZWnek
r�YnXdd	d
dgZddlmZd
ZdZedZdZdZ dZ!dZ"dZ#dZ$d
Z%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0d Z1d!Z2dZ3d"Z4d#Z5e4Z6e$e%e&e'e*e+e,e(e)e-e.e/fZ7e$e%e,e/fZ8e-e.e/fZ9d$d%d&d'd(d)d*d+fZ:d$d%d*d+hZ;ie<d,6e<d-6e<d'6e=d(6e=d)6e=d&6Z>d.Z?d/Z@d0ZAd1ZBd2ZCd3ZDd4ZEd5ZFdZGd6ZHd7ZId8ZJd9ZKd:ZLd;ZMd<ZNd#ZOd"ZPejQd=d>fkr�d?ZRnejS�ZRd@dA�ZTdBdC�ZUdDdE�ZVd;e6dFdG�ZWdHdI�ZXedJdK�ZYdLdM�ZZdNdO�Z[GdPd�de\�Z]GdQdR�dRe]�Z^GdSdT�dTe]�Z_GdUdV�dVe]�Z`GdWdX�dXe]�ZaGdYdZ�dZe]�ZbGd[d\�d\eb�ZcGd]d^�d^eb�ZdGd_d`�d`eb�ZeGdadb�dbeb�ZfGdcdd�ddeb�ZgGdedf�df�ZhGdgdh�dh�ZiGdidj�djej�ZkGdkdl�dlej�ZlGdmdn�dnejm�ZnGdod	�d	ej�ZoGdpd�dej�ZpGdqdr�dr�Zqdsd
�ZreZsepjZdS(tu,Read from and write to tar format archives.
u0.9.0u"Lars Gustäbel (lars@gustaebel.de)u5$Date: 2011-02-25 17:42:01 +0200 (Fri, 25 Feb 2011) $u?$Id: tarfile.py 88586 2011-02-25 15:42:01Z marc-andre.lemburg $u4Gustavo Niemeyer, Niels Gustäbel, Richard Townsend.iNuTarFileuTarInfou
is_tarfileuTarError(uopensiisustar  sustar00idi�s0s1s2s3s4s5s6s7sLsKsSsxsgsXiiupathulinkpathusizeumtimeuuidugiduunameugnameuatimeuctimei�i�i`i@i iiiii�i@i iiiuntuceuutf-8cCs2|j||�}|d|�|t|�tS(u8Convert a string to a null-terminated bytes object.
    N(uencodeulenuNUL(usulengthuencodinguerrors((u,/opt/alt/python33/lib64/python3.3/tarfile.pyustn�sustncCs>|jd�}|dkr.|d|�}n|j||�S(u8Convert a null-terminated bytes object to a string.
    siNi����(ufindudecode(usuencodinguerrorsup((u,/opt/alt/python33/lib64/python3.3/tarfile.pyunts�suntscCs�|ddkr�d}x:tt|�d�D]"}|dK}|||d7}q-W|ddkr�dt|�d|}q�nFy%tt|dd�p�d	d�}Wntk
r�td
��YnX|S(u/Convert a number field to a python number.
    ii�i�iiiuasciiustrictu0uinvalid header(i�i�(urangeulenuintuntsu
ValueErroruInvalidHeaderError(usunui((u,/opt/alt/python33/lib64/python3.3/tarfile.pyunti�s
%
unticCsd|kod|dknrHtd|d|fd�t}n�|tkr�d|d|ko|d|dknr�|dkr�tdg�}ntdg�}d||}xEt|d�D]$}|jd|d@�|dL}q�Wntd	��|S(
u/Convert a python number to a number field.
    iiiu%0*ouasciiii�i�uoverflow in number field(ubytesuNULu
GNU_FORMATu	bytearrayurangeuinsertu
ValueError(unudigitsuformatusui((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuitn�s$$9uitncCsBdttjd|��}dttjd|��}||fS(u�Calculate the checksum for a member's header by summing up all
       characters except for the chksum field which is treated as if
       it was filled with spaces. According to the GNU tar sources,
       some tars (Sun and NeXT) calculate chksum with signed char,
       which will be different if there are chars in the buffer with
       the high bit set. So we calculate two checksums, unsigned and
       signed.
    iu
148B8x356Bu
148b8x356b(usumustructuunpack_from(ubufuunsigned_chksumu
signed_chksum((u,/opt/alt/python33/lib64/python3.3/tarfile.pyucalc_chksums�s	ucalc_chksumscCs�|dkrdS|dkr0tj||�dSd}t||�\}}xQt|�D]C}|j|�}t|�|kr�td��n|j|�qXW|dkr�|j|�}t|�|kr�td��n|j|�ndS(ujCopy length bytes from fileobj src to fileobj dst.
       If length is None, copy the entire content.
    iNiiuend of file reachedi@(	uNoneushutilucopyfileobjudivmodurangeureadulenuIOErroruwrite(usrcudstulengthuBUFSIZEublocksu	remainderububuf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyucopyfileobj�s$ucopyfileobjcCs,ddl}|jdtd�tj|�S(u/Deprecated in this location; use stat.filemode.iNu$deprecated in favor of stat.filemodei(uwarningsuwarnuDeprecationWarningustatufilemode(umodeuwarnings((u,/opt/alt/python33/lib64/python3.3/tarfile.pyufilemodes	
ufilemodecCsSttjdd�}|dk	r?|j|d�j|�}nt|dd�dS(Nuencodingubackslashreplaceuendu (ugetattrusysustdoutuNoneuencodeudecodeuprint(usuencoding((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_safe_printsu_safe_printcBs|EeZdZdZdS(uTarErroruBase exception.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuTarError#scBs|EeZdZdZdS(uExtractErroru%General exception for extract errors.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuExtractError&suExtractErrorcBs|EeZdZdZdS(u	ReadErroru&Exception for unreadable tar archives.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu	ReadError)su	ReadErrorcBs|EeZdZdZdS(uCompressionErroru.Exception for unavailable compression methods.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuCompressionError,suCompressionErrorcBs|EeZdZdZdS(uStreamErroru=Exception for unsupported operations on stream-like TarFiles.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuStreamError/suStreamErrorcBs|EeZdZdZdS(uHeaderErroru!Base exception for header errors.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuHeaderError2suHeaderErrorcBs|EeZdZdZdS(uEmptyHeaderErroruException for empty headers.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuEmptyHeaderError5suEmptyHeaderErrorcBs|EeZdZdZdS(uTruncatedHeaderErroru Exception for truncated headers.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuTruncatedHeaderError8suTruncatedHeaderErrorcBs|EeZdZdZdS(uEOFHeaderErroru"Exception for end of file headers.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuEOFHeaderError;suEOFHeaderErrorcBs|EeZdZdZdS(uInvalidHeaderErroruException for invalid headers.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuInvalidHeaderError>suInvalidHeaderErrorcBs|EeZdZdZdS(uSubsequentHeaderErroru3Exception for missing and invalid extended headers.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuSubsequentHeaderErrorAsuSubsequentHeaderErrorcBsJ|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
S(u
_LowLevelFileu�Low-level file object. Supports reading and writing.
       It is used instead of a regular file object for streaming
       access.
    cCsgitjd6tjtjBtjBd6|}ttd�rK|tjO}ntj||d�|_dS(NuruwuO_BINARYi�(	uosuO_RDONLYuO_WRONLYuO_CREATuO_TRUNCuhasattruO_BINARYuopenufd(uselfunameumode((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__init__Ns
u_LowLevelFile.__init__cCstj|j�dS(N(uosucloseufd(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyucloseWsu_LowLevelFile.closecCstj|j|�S(N(uosureadufd(uselfusize((u,/opt/alt/python33/lib64/python3.3/tarfile.pyureadZsu_LowLevelFile.readcCstj|j|�dS(N(uosuwriteufd(uselfus((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuwrite]su_LowLevelFile.writeN(u__name__u
__module__u__qualname__u__doc__u__init__ucloseureaduwrite(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
_LowLevelFileHs
	u
_LowLevelFilecBs�|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zddd�Zddd�Zdd�Zdd�ZdS(u_Streamu�Class that serves as an adapter between TarFile and
       a stream-like object.  The stream-like object only
       needs to have a read() or write() method and is accessed
       blockwise.  Use of gzip or bzip2 compression is possible.
       A stream-like object could be for example: sys.stdin,
       sys.stdout, a socket, a tape device etc.

       _Stream is intended to be used only internally.
    c	Cs�d|_|dkr0t||�}d|_n|dkrWt|�}|j�}n|p`d|_||_||_	||_
||_d|_d|_
d|_y�|dkr2yddl}Wntk
r�td��YnX||_|jd�|_|dkr%|j�|j|_qR|j�n |d	kr�yddl}Wntk
rntd
��YnX|dkr�d|_|j�|_t|_qR|j�|_n�|dkr3yddl}Wntk
r�td��YnX|dkr!d|_|j�|_|j |_qR|j!�|_n|d
krRtd|��nWn-|jsr|j
j"�nd|_�YnXdS(u$Construct a _Stream object.
        u*usiugzNuzlib module is not availableurubz2ubz2 module is not availableuxzulzma module is not availableutaruunknown compression type %rTF(#uTrueu_extfileobjuNoneu
_LowLevelFileuFalseu_StreamProxyugetcomptypeunameumodeucomptypeufileobjubufsizeubufuposucloseduzlibuImportErroruCompressionErrorucrc32ucrcu
_init_read_gzuerroru	exceptionu_init_write_gzubz2udbufuBZ2DecompressorucmpuIOErroru
BZ2CompressorulzmauLZMADecompressoru	LZMAErroruLZMACompressoruclose(	uselfunameumodeucomptypeufileobjubufsizeuzlibubz2ulzma((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__init__ksl								
	


	
			u_Stream.__init__cCs*t|d�r&|jr&|j�ndS(Nuclosed(uhasattrucloseduclose(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__del__�su_Stream.__del__cCs�|jjd|jj|jj|jjd�|_tjdtt	j	���}|j
d|d�|jjd�r�|jdd�|_n|j
|jj
d	d
�t�dS(u6Initialize for writing with gzip compression.
        i	iu<Ls�s�u.gzNiu
iso-8859-1ureplacei����(uzlibucompressobjuDEFLATEDu	MAX_WBITSu
DEF_MEM_LEVELucmpustructupackuintutimeu_Stream__writeunameuendswithuencodeuNUL(uselfu	timestamp((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_init_write_gz�s
	u_Stream._init_write_gzcCsw|jdkr-|jj||j�|_n|jt|�7_|jdkrf|jj|�}n|j|�dS(u&Write string s to the stream.
        ugzutarN(	ucomptypeuzlibucrc32ucrcuposulenucmpucompressu_Stream__write(uselfus((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuwrite�su
_Stream.writecCsk|j|7_xUt|j�|jkrf|jj|jd|j��|j|jd�|_qWdS(u]Write string s to the stream if a whole new block
           is ready to be written.
        N(ubufulenubufsizeufileobjuwrite(uselfus((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__write�s u_Stream.__writecCs�|jr
dS|jdkrF|jdkrF|j|jj�7_n|jdkr�|jr�|jj|j�d|_|jdkr�|jjtj	d|j
d@��|jjtj	d|jd@��q�n|js�|jj
�nd|_dS(	u[Close the _Stream object. No operation should be
           done on it afterwards.
        Nuwutarsugzu<Ll��T(uclosedumodeucomptypeubufucmpuflushufileobjuwriteustructupackucrcuposu_extfileobjucloseuTrue(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuclose�s		#)	u
_Stream.closecCse|jj|jj�|_d|_|jd�dkrItd��n|jd�dkrmtd��nt|jd��}|jd�|d	@r�t|jd��d
t|jd��}|j	|�n|d@rx,|jd�}|s|t
kr�Pq�q�n|d@rGx,|jd�}|s=|t
krPqqn|d@ra|jd�nd
S(u:Initialize for reading a gzip compressed fileobj.
        sis�unot a gzip fileisuunsupported compression methodiiiiiN(uzlibu
decompressobju	MAX_WBITSucmpudbufu
_Stream__readu	ReadErroruCompressionErroruordureaduNUL(uselfuflaguxlenus((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
_init_read_gz�s.	

,




u_Stream._init_read_gzcCs|jS(u3Return the stream's file pointer position.
        (upos(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyutellsu_Stream.tellicCs|||jdkrit||j|j�\}}x$t|�D]}|j|j�q?W|j|�ntd��|jS(uXSet the stream's file pointer to pos. Negative seeking
           is forbidden.
        iu seeking backwards is not allowed(uposudivmodubufsizeurangeureaduStreamError(uselfuposublocksu	remainderui((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuseeksu_Stream.seekcCs{|dkrSg}x,|j|j�}|s1Pn|j|�qdj|�}n|j|�}|jt|�7_|S(u�Return the next size number of bytes from the stream.
           If size is not defined, return all bytes of the stream
           up to EOF.
        uN(uNoneu_readubufsizeuappendujoinuposulen(uselfusizeutubuf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuread#su_Stream.readcCs�|jdkr|j|�St|j�}x�||kr�|j|j�}|sVPny|jj|�}Wn!|jk
r�td��YnX|j|7_|t|�7}q.W|jd|�}|j|d�|_|S(u+Return size bytes from the stream.
        utaruinvalid compressed dataN(	ucomptypeu
_Stream__readulenudbufubufsizeucmpu
decompressu	exceptionu	ReadError(uselfusizeucubuf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_read5s 
u
_Stream._readcCs�t|j�}xN||kr_|jj|j�}|s=Pn|j|7_|t|�7}qW|jd|�}|j|d�|_|S(usReturn size bytes from stream. If internal buffer is empty,
           read another block from the stream.
        N(ulenubufufileobjureadubufsize(uselfusizeucubuf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__readJsu_Stream.__readN(u__name__u
__module__u__qualname__u__doc__u__init__u__del__u_init_write_gzuwriteu_Stream__writeucloseu
_init_read_gzutelluseekuNoneureadu_readu
_Stream__read(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_Stream`s	F
	
u_StreamcBsJ|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
S(u_StreamProxyusSmall proxy class that enables transparent compression
       detection for the Stream interface (mode 'r|*').
    cCs"||_|jjt�|_dS(N(ufileobjureadu	BLOCKSIZEubuf(uselfufileobj((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__init___s	u_StreamProxy.__init__cCs|jj|_|jS(N(ufileobjureadubuf(uselfusize((u,/opt/alt/python33/lib64/python3.3/tarfile.pyureadcsu_StreamProxy.readcCsj|jjd�rdS|jdd�dkrL|jdd�dkrLd	S|jjd�rbdSd
SdS(Ns�ugziisBZhii
s1AY&SYubz2s]�s�7zXZuxzutar(s]�s�7zXZ(ubufu
startswith(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyugetcomptypegs2u_StreamProxy.getcomptypecCs|jj�dS(N(ufileobjuclose(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyucloseqsu_StreamProxy.closeN(u__name__u
__module__u__qualname__u__doc__u__init__ureadugetcomptypeuclose(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_StreamProxyZs

u_StreamProxycBs�|EeZdZdZddd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
ejdd�Z
ddd�Zdd�Zdd�ZdS(u_FileInFileuA thin wrapper around an existing file object that
       provides a part of its data as an individual file
       object.
    cCs,||_||_||_d|_t|dd�|_d|_|dkr`d|fg}nd|_	g|_
d}|j}xs|D]k\}}||kr�|j
jd||df�n|j
jd||||f�||7}||}q�W||jkr(|j
jd||jdf�ndS(NiunameFT(
ufileobjuoffsetusizeupositionugetattruNoneunameuFalseuclosedu	map_indexumapuappenduTrue(uselfufileobjuoffsetusizeu	blockinfoulastposurealpos((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__init__~s(								 
u_FileInFile.__init__cCsdS(N((uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuflush�su_FileInFile.flushcCsdS(NT(uTrue(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyureadable�su_FileInFile.readablecCsdS(NF(uFalse(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuwritable�su_FileInFile.writablecCs
|jj�S(N(ufileobjuseekable(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuseekable�su_FileInFile.seekablecCs|jS(u*Return the current file position.
        (uposition(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyutell�su_FileInFile.tellcCs�|tjkr0tt|d�|j�|_n�|tjkr�|dkrgt|j|d�|_q�t|j||j�|_nC|tjkr�tt|j||j�d�|_ntd��|jS(u(Seek to a position in the file.
        iuInvalid argument(	uiouSEEK_SETuminumaxusizeupositionuSEEK_CURuSEEK_ENDu
ValueError(uselfupositionuwhence((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuseek�s!(u_FileInFile.seekcCsD|dkr|j|j}nt||j|j�}d}x�|dkr?xu|j|j\}}}}||jko�|knr�PqP|jd7_|jt|j�krPd|_qPqPt|||j�}|r|jj||j|�||jj	|�7}n|t
|7}||8}|j|7_qAW|S(u!Read data from the file.
        siiN(uNoneusizeupositionuminumapu	map_indexulenufileobjuseekureaduNUL(uselfusizeubufudataustartustopuoffsetulength((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuread�s(
u_FileInFile.readcCs5|jt|��}||dt|��<t|�S(N(ureadulen(uselfububuf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyureadinto�su_FileInFile.readintocCs
d|_dS(NT(uTrueuclosed(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuclose�su_FileInFile.closeN(u__name__u
__module__u__qualname__u__doc__uNoneu__init__uflushureadableuwritableuseekableutelluiouSEEK_SETuseekureadureadintouclose(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_FileInFilexsu_FileInFilecs&|EeZdZ�fdd�Z�S(uExFileObjectcs5t|j|j|j|j�}t�j|�dS(N(u_FileInFileufileobjuoffset_datausizeusparseusuperu__init__(uselfutarfileutarinfoufileobj(u	__class__(u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__init__�suExFileObject.__init__(u__name__u
__module__u__qualname__u__init__(u
__locals__((u	__class__u,/opt/alt/python33/lib64/python3.3/tarfile.pyuExFileObject�suExFileObjectcBsT|EeZdZdZdiZddd�Zdd�Zdd�Zeee�Z	dd�Z
dd �Zee
e�Zd!d"�Z
d#d$�Zeed%d&d'�Zd(d)�Zd*d+�Zd,d-�Zed.d/��Zd0d1�Zed2d3��Zed4d5��Zed6d7��Zed8d9��Zed:d;��Zed<d=��Zd>d?�Zd@dA�Z dBdC�Z!dDdE�Z"dFdG�Z#dHdI�Z$dJdK�Z%dLdM�Z&dNdO�Z'dPdQ�Z(dRdS�Z)dTdU�Z*dVdW�Z+dXdY�Z,dZd[�Z-d\d]�Z.d^d_�Z/d`da�Z0dbdc�Z1ddde�Z2dfdg�Z3dhS(juTarInfouInformational class which holds the details about an
       archive member given by a tar header block.
       TarInfo objects are returned by TarFile.getmember(),
       TarFile.getmembers() and TarFile.gettarinfo() and are
       usually created internally.
    unameumodeuuidugidusizeumtimeuchksumutypeulinknameuunameugnameudevmajorudevminoruoffsetuoffset_dataupax_headersusparseutarfileu_sparse_structsu_link_targetucCs�||_d|_d|_d|_d|_d|_d|_t|_d|_	d|_
d|_d|_d|_
d|_d|_d|_i|_dS(uXConstruct a TarInfo object. name is the optional name
           of the member.
        i�iuN(unameumodeuuidugidusizeumtimeuchksumuREGTYPEutypeulinknameuunameugnameudevmajorudevminoruoffsetuoffset_datauNoneusparseupax_headers(uselfuname((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__init__�s"																uTarInfo.__init__cCs|jS(N(uname(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_getpathsuTarInfo._getpathcCs
||_dS(N(uname(uselfuname((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_setpathsuTarInfo._setpathcCs|jS(N(ulinkname(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_getlinkpathsuTarInfo._getlinkpathcCs
||_dS(N(ulinkname(uselfulinkname((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_setlinkpathsuTarInfo._setlinkpathcCs d|jj|jt|�fS(Nu<%s %r at %#x>(u	__class__u__name__unameuid(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__repr__suTarInfo.__repr__cCs�i
|jd6|jd@d6|jd6|jd6|jd6|jd6|jd6|jd	6|jd
6|j	d6|j
d6|jd
6|jd6}|d	t
kr�|djd�r�|dd7<n|S(u9Return the TarInfo's attributes as a dictionary.
        unamei�umodeuuidugidusizeumtimeuchksumutypeulinknameuunameugnameudevmajorudevminoru/(unameumodeuuidugidusizeumtimeuchksumutypeulinknameuunameugnameudevmajorudevminoruDIRTYPEuendswith(uselfuinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuget_infos"











$uTarInfo.get_infousurrogateescapecCsv|j�}|tkr+|j|||�S|tkrJ|j|||�S|tkrf|j||�Std��dS(u<Return a tar header as a string of 512 byte blocks.
        uinvalid formatN(uget_infouUSTAR_FORMATucreate_ustar_headeru
GNU_FORMATucreate_gnu_headeru
PAX_FORMATucreate_pax_headeru
ValueError(uselfuformatuencodinguerrorsuinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyutobuf7su
TarInfo.tobufcCst|d<t|d�tkr/td��nt|d�tkri|j|d�\|d<|d<n|j|t||�S(u3Return the object as a ustar header block.
        umagiculinknameulinkname is too longunameuprefix(uPOSIX_MAGICulenuLENGTH_LINKu
ValueErroruLENGTH_NAMEu_posix_split_nameu_create_headeruUSTAR_FORMAT(uselfuinfouencodinguerrors((u,/opt/alt/python33/lib64/python3.3/tarfile.pyucreate_ustar_headerEs
$uTarInfo.create_ustar_headercCs�t|d<d}t|d�tkrI||j|dt||�7}nt|d�tkr�||j|dt||�7}n||j|t||�S(u:Return the object as a GNU header block sequence.
        umagicsulinknameuname(	u	GNU_MAGICulenuLENGTH_LINKu_create_gnu_long_headeruGNUTYPE_LONGLINKuLENGTH_NAMEuGNUTYPE_LONGNAMEu_create_headeru
GNU_FORMAT(uselfuinfouencodinguerrorsubuf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyucreate_gnu_headerRs
##uTarInfo.create_gnu_headerc
Cs�t|d<|jj�}x�ddtfddtfddfD]�\}}}||kr_q>ny||jd	d
�Wn#tk
r�||||<w>YnXt||�|kr>||||<q>q>Wx�dD]�\}}||kr�d||<q�n||}d|ko d|dkns5t|t	�r�t
|�||<d||<q�q�W|rt|j|t|�}	nd}	|	|j
|td	d�S(u�Return the object as a ustar header block. If it cannot be
           represented this way, prepend a pax extended header sequence
           with supplement information.
        umagicunameupathulinknameulinkpathuunamei ugnameuasciiustrictuuidiugidusizeiumtimeiisureplace(uunameuunamei (ugnameugnamei (uuidi(ugidi(usizei(umtimei((uuidi(ugidi(usizei(umtimei(uPOSIX_MAGICupax_headersucopyuLENGTH_NAMEuLENGTH_LINKuencodeuUnicodeEncodeErrorulenu
isinstanceufloatustru_create_pax_generic_headeruXHDTYPEu_create_headeruUSTAR_FORMAT(
uselfuinfouencodingupax_headersunameuhnameulengthudigitsuvalubuf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyucreate_pax_header`s4



4uTarInfo.create_pax_headercCs|j|td�S(uAReturn the object as a pax global header block sequence.
        uutf-8(u_create_pax_generic_headeruXGLTYPE(uclsupax_headers((u,/opt/alt/python33/lib64/python3.3/tarfile.pyucreate_pax_global_header�su TarInfo.create_pax_global_headercCs�|dtd�}x*|r@|ddkr@|dd�}qW|t|�d�}|dd�}|s�t|�tkr�td��n||fS(uUSplit a name longer than 100 chars into a prefix
           and a name part.
        Niu/uname is too longi����i����i����(u
LENGTH_PREFIXulenuLENGTH_NAMEu
ValueError(uselfunameuprefix((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_posix_split_name�suTarInfo._posix_split_namecCs�t|jdd�d||�t|jdd�d@d|�t|jdd�d|�t|jd	d�d|�t|jd
d�d|�t|jdd�d|�d
|jdt�t|jdd�d||�|jdt�t|jdd�d||�t|jdd�d||�t|jdd�d|�t|jdd�d|�t|jdd�d||�g}tjdtdj|��}t	|td��d}|dd�t
d|d�|d d�}|S(!u�Return a header block. info is a dictionary with file
           information, format must be one of the *_FORMAT constants.
        unameuidumodeii�iuuidugidusizeiumtimes        utypeulinknameumagicuunamei ugnameudevmajorudevminoruprefixi�u%dssNilu%06ouasciiiei����i����(ustnugetuitnuREGTYPEuPOSIX_MAGICustructupacku	BLOCKSIZEujoinucalc_chksumsubytes(uinfouformatuencodinguerrorsupartsubufuchksum((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_create_header�s&$/uTarInfo._create_headercCs@tt|�t�\}}|dkr<|t|t7}n|S(udReturn the string payload filled with zero bytes
           up to the next 512 byte border.
        i(udivmodulenu	BLOCKSIZEuNUL(upayloadublocksu	remainder((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_create_payload�suTarInfo._create_payloadcCsm|j||�t}i}d|d<||d<t|�|d<t|d<|j|t||�|j|�S(uTReturn a GNUTYPE_LONGNAME or GNUTYPE_LONGLINK sequence
           for name.
        u
././@LongLinkunameutypeusizeumagic(uencodeuNULulenu	GNU_MAGICu_create_headeruUSTAR_FORMATu_create_payload(uclsunameutypeuencodinguerrorsuinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_create_gnu_long_header�s


uTarInfo._create_gnu_long_headercCs�d}xJ|j�D]<\}}y|jdd�Wqtk
rNd}PYqXqWd}|rl|d7}nx�|j�D]�\}}|jd�}|r�|j|d�}n|jd�}t|�t|�d}d}	}
x/|tt|
��}	|	|
krPn|	}
q�|tt|
�d�d	|d
|d7}qyWi}d|d
<||d<t|�|d<t|d<|j	|t
dd�|j|�S(u�Return a POSIX.1-2008 extended or global header sequence
           that contains a list of keyword, value pairs. The values
           must be strings.
        uutf-8ustrictss21 hdrcharset=BINARY
usurrogateescapeiiuasciis s=s
u././@PaxHeaderunameutypeusizeumagicureplaceFT(uFalseuitemsuencodeuUnicodeEncodeErroruTrueulenustrubytesuPOSIX_MAGICu_create_headeruUSTAR_FORMATu_create_payload(uclsupax_headersutypeuencodingubinaryukeyworduvalueurecordsulunupuinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_create_pax_generic_header�s<



	1


u"TarInfo._create_pax_generic_headerc
Csft|�dkr!td��nt|�tkrBtd��n|jt�tkrftd��nt|dd��}|t|�kr�t	d��n|�}t
|dd�||�|_t|dd	��|_t|d	d
��|_
t|d
d��|_t|dd��|_t|dd��|_||_|dd
�|_t
|d
d�||�|_t
|dd�||�|_t
|dd�||�|_t|dd��|_t|dd��|_t
|dd�||�}|jtkr6|jjd�r6t|_n|jtkrd}g}x�td�D]u}	y<t|||d��}
t||d|d��}Wntk
r�PYnX|j|
|f�|d7}q^Wt|d�}t|dd��}
|||
f|_ n|j!�r6|jj"d�|_n|rb|jt#krb|d|j|_n|S(uAConstruct a TarInfo object from a 512 byte bytes object.
        iuempty headerutruncated headeruend of file headeri�i�ubad checksumidiliti|i�i�ii	i)iIiQiYi�u/i�iiii�i�i�($ulenuEmptyHeaderErroru	BLOCKSIZEuTruncatedHeaderErrorucountuNULuEOFHeaderErroruntiucalc_chksumsuInvalidHeaderErroruntsunameumodeuuidugidusizeumtimeuchksumutypeulinknameuunameugnameudevmajorudevminoruAREGTYPEuendswithuDIRTYPEuGNUTYPE_SPARSEurangeu
ValueErroruappenduboolu_sparse_structsuisdirurstripu	GNU_TYPES(uclsubufuencodinguerrorsuchksumuobjuprefixuposustructsuiuoffsetunumbytesu
isextendeduorigsize((u,/opt/alt/python33/lib64/python3.3/tarfile.pyufrombufsZ		!"
uTarInfo.frombufcCsP|jjt�}|j||j|j�}|jj�t|_|j|�S(uOReturn the next TarInfo object from TarFile object
           tarfile.
        (	ufileobjureadu	BLOCKSIZEufrombufuencodinguerrorsutelluoffsetu_proc_member(uclsutarfileubufuobj((u,/opt/alt/python33/lib64/python3.3/tarfile.pyufromtarfileOsuTarInfo.fromtarfilecCst|jttfkr"|j|�S|jtkr>|j|�S|jtttfkrc|j	|�S|j
|�SdS(uYChoose the right processing method depending on
           the type and call it.
        N(utypeuGNUTYPE_LONGNAMEuGNUTYPE_LONGLINKu
_proc_gnulonguGNUTYPE_SPARSEu_proc_sparseuXHDTYPEuXGLTYPEuSOLARIS_XHDTYPEu	_proc_paxu
_proc_builtin(uselfutarfile((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_proc_memberds


uTarInfo._proc_membercCsx|jj�|_|j}|j�s6|jtkrO||j|j�7}n||_|j	|j
|j|j�|S(ufProcess a builtin type or an unknown type which
           will be treated as a regular file.
        (
ufileobjutelluoffset_datauisregutypeuSUPPORTED_TYPESu_blockusizeuoffsetu_apply_pax_infoupax_headersuencodinguerrors(uselfutarfileuoffset((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
_proc_builtinqs		uTarInfo._proc_builtincCs�|jj|j|j��}y|j|�}Wntk
rQtd��YnX|j|_|jt	kr�t
||j|j�|_
n-|jtkr�t
||j|j�|_n|S(uSProcess the blocks that hold a GNU longname
           or longlink member.
        u missing or bad subsequent header(ufileobjureadu_blockusizeufromtarfileuHeaderErroruSubsequentHeaderErroruoffsetutypeuGNUTYPE_LONGNAMEuntsuencodinguerrorsunameuGNUTYPE_LONGLINKulinkname(uselfutarfileubufunext((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
_proc_gnulong�s
uTarInfo._proc_gnulongc

Cs&|j\}}}|`x�|r�|jjt�}d}x�td�D]�}y<t|||d��}t||d|d��}	Wntk
r�PYnX|r�|	r�|j||	f�n|d7}qFWt|d�}qW||_	|jj
�|_|j|j|j
�|_||_
|S(u8Process a GNU sparse header plus extra headers.
        iiiii�(u_sparse_structsufileobjureadu	BLOCKSIZEurangeuntiu
ValueErroruappenduboolusparseutelluoffset_datau_blockusizeuoffset(
uselfutarfileustructsu
isextendeduorigsizeubufuposuiuoffsetunumbytes((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_proc_sparse�s(	"
		uTarInfo._proc_sparsec
Cs�|jj|j|j��}|jtkr9|j}n|jj�}tj	d|�}|dk	r�|jd�jd�|d<n|j
d�}|dkr�|j}nd}tjd�}d}x�|j||�}|s�Pn|j�\}	}
t|	�}	||jd�d|jd�|	d�}|j|
dd|j�}
|
tkrz|j|||j|j�}n|j|dd|j�}|||
<||	7}q�y|j|�}Wntk
r�td	��YnXd
|kr�|j||�nbd|kr!|j|||�n@|j
d�d
kra|j
d�dkra|j|||�n|jttfkr�|j ||j|j�|j!|_!d|kr�|j"}
|j#�s�|jt$kr�|
|j|j�7}
n|
|_!q�n|S(uVProcess an extended or global header as described in
           POSIX.1-2008.
        s\d+ hdrcharset=([^\n]+)\niuutf-8u
hdrcharsetuBINARYs(\d+) ([^=]+)=iiu missing or bad subsequent headeruGNU.sparse.mapuGNU.sparse.sizeuGNU.sparse.majoru1uGNU.sparse.minoru0usizeN(%ufileobjureadu_blockusizeutypeuXGLTYPEupax_headersucopyureusearchuNoneugroupudecodeugetuencodingucompileumatchugroupsuintuendustartu_decode_pax_fielduerrorsuPAX_NAME_FIELDSufromtarfileuHeaderErroruSubsequentHeaderErroru_proc_gnusparse_01u_proc_gnusparse_00u_proc_gnusparse_10uXHDTYPEuSOLARIS_XHDTYPEu_apply_pax_infouoffsetuoffset_datauisreguSUPPORTED_TYPES(uselfutarfileubufupax_headersumatchu
hdrcharsetuencodinguregexuposulengthukeyworduvalueunextuoffset((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu	_proc_pax�s`.	


*	uTarInfo._proc_paxcCs�g}x6tjd|�D]"}|jt|jd���qWg}x6tjd|�D]"}|jt|jd���qXWtt||��|_dS(u?Process a GNU tar extended sparse header, version 0.0.
        s\d+ GNU.sparse.offset=(\d+)\nis\d+ GNU.sparse.numbytes=(\d+)\nN(ureufinditeruappenduintugroupulistuzipusparse(uselfunextupax_headersubufuoffsetsumatchunumbytes((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_proc_gnusparse_00s  uTarInfo._proc_gnusparse_00cCsVdd�|djd�D�}tt|ddd�|ddd���|_dS(u?Process a GNU tar extended sparse header, version 0.1.
        cSsg|]}t|��qS((uint(u.0ux((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
<listcomp>(s	u.TarInfo._proc_gnusparse_01.<locals>.<listcomp>uGNU.sparse.mapu,Nii(usplitulistuzipusparse(uselfunextupax_headersusparse((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_proc_gnusparse_01%s uTarInfo._proc_gnusparse_01cCs�d}g}|jjt�}|jdd�\}}t|�}xjt|�|dkr�d|kr�||jjt�7}n|jdd�\}}|jt|��qEW|jj�|_	t
t|ddd�|ddd���|_dS(u?Process a GNU tar extended sparse header, version 1.0.
        s
iiN(
uNoneufileobjureadu	BLOCKSIZEusplituintulenuappendutelluoffset_dataulistuzipusparse(uselfunextupax_headersutarfileufieldsusparseubufunumber((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_proc_gnusparse_10+suTarInfo._proc_gnusparse_10c
Csx�|j�D]�\}}|dkr8t|d|�q
|dkr]t|dt|��q
|dkr�t|dt|��q
|tkr
|tkr�yt||�}Wq�tk
r�d}Yq�Xn|dkr�|jd�}nt|||�q
q
W|j�|_dS(	uoReplace fields with supplemental information from a previous
           pax extended or global header.
        uGNU.sparse.nameupathuGNU.sparse.sizeusizeuGNU.sparse.realsizeiu/N(	uitemsusetattruintu
PAX_FIELDSuPAX_NUMBER_FIELDSu
ValueErrorurstripucopyupax_headers(uselfupax_headersuencodinguerrorsukeyworduvalue((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_apply_pax_info;s"
uTarInfo._apply_pax_infocCs=y|j|d�SWn"tk
r8|j||�SYnXdS(u1Decode a single field from a pax record.
        ustrictN(udecodeuUnicodeDecodeError(uselfuvalueuencodingufallback_encodingufallback_errors((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_decode_pax_fieldRs
uTarInfo._decode_pax_fieldcCs0t|t�\}}|r(|d7}n|tS(u_Round up a byte count by BLOCKSIZE and return it,
           e.g. _block(834) => 1024.
        i(udivmodu	BLOCKSIZE(uselfucountublocksu	remainder((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_blockZs
uTarInfo._blockcCs
|jtkS(N(utypeu
REGULAR_TYPES(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuisregcsu
TarInfo.isregcCs
|j�S(N(uisreg(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuisfileesuTarInfo.isfilecCs
|jtkS(N(utypeuDIRTYPE(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuisdirgsu
TarInfo.isdircCs
|jtkS(N(utypeuSYMTYPE(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuissymisu
TarInfo.issymcCs
|jtkS(N(utypeuLNKTYPE(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuislnkksu
TarInfo.islnkcCs
|jtkS(N(utypeuCHRTYPE(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuischrmsu
TarInfo.ischrcCs
|jtkS(N(utypeuBLKTYPE(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuisblkosu
TarInfo.isblkcCs
|jtkS(N(utypeuFIFOTYPE(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuisfifoqsuTarInfo.isfifocCs
|jdk	S(N(usparseuNone(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuissparsessuTarInfo.issparsecCs|jtttfkS(N(utypeuCHRTYPEuBLKTYPEuFIFOTYPE(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuisdevusu
TarInfo.isdevN(unameumodeuuidugidusizeumtimeuchksumutypeulinknameuunameugnameudevmajorudevminoruoffsetuoffset_dataupax_headersusparseutarfileu_sparse_structsu_link_target(4u__name__u
__module__u__qualname__u__doc__u	__slots__u__init__u_getpathu_setpathupropertyupathu_getlinkpathu_setlinkpathulinkpathu__repr__uget_infouDEFAULT_FORMATuENCODINGutobufucreate_ustar_headerucreate_gnu_headerucreate_pax_headeruclassmethoducreate_pax_global_headeru_posix_split_nameustaticmethodu_create_headeru_create_payloadu_create_gnu_long_headeru_create_pax_generic_headerufrombufufromtarfileu_proc_memberu
_proc_builtinu
_proc_gnulongu_proc_sparseu	_proc_paxu_proc_gnusparse_00u_proc_gnusparse_01u_proc_gnusparse_10u_apply_pax_infou_decode_pax_fieldu_blockuisreguisfileuisdiruissymuislnkuischruisblkuisfifouissparseuisdev(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuTarInfo�s`
1
3?
f	cBs�|EeZdZdZdZd[Zd[ZdZe	Z
eZdZZeZeZdZddZdZdZdZdZdZddZdZdZdd�ZedZddZedd	��ZeddZd
d��ZeddZdd
d��ZeddZddd��ZeddZdZdd��Zidd6dd6dd6dd6Zdd�Zdd�Zdd �Zd!d"�ZdZdZdZd#d$�Z d\d%d&�Z"d'dZdZd\dZd(d)�Z#dZd*d+�Z$d,dZd-d.�Z%d/d\d0d1�Z&d2d3�Z'd\d4d5�Z(d6d7�Z)d8d9�Z*d:d;�Z+d<d=�Z,d>d?�Z-d@dA�Z.dBdC�Z/dDdE�Z0dFdG�Z1dHdI�Z2dZd[dJdK�Z3dLdM�Z4dZdNdO�Z5dPdQ�Z6dRdS�Z7dTdU�Z8dVdW�Z9dXdY�Z:dZS(]uTarFileu=The TarFile Class provides an interface to tar archives.
    iiurusurrogateescapec
Cs�idd6dd6dd6}
||
kr6td��n||_|
||_|s�|jdkr�tjj|�r�d|_d|_nt||j�}d|_nN|d
kr�t
|d�r�|j}nt
|d	�r�|j|_nd
|_|r
tjj
|�nd
|_||_|d
k	r7||_n|d
k	rO||_n|d
k	rg||_n|d
k	r||_n|d
k	r�||_n|	|_|
d
k	r�|jtkr�|
|_n	i|_|d
k	r�||_n|d
k	r||_nd|_g|_d|_|jj�|_i|_yE|jdkrcd
|_|j �|_n|jdkrx�|jj!|j�y&|jj"|�}|jj#|�Wqut$k
r�|jj!|j�PYqut%k
r}zt&t'|���WYd
d
}~XquXqun|jdkrzd
|_|jrz|jj(|jj)��}|jj*|�|jt+|�7_qznWn-|js�|jj,�nd
|_�YnXd
S(u�Open an (uncompressed) tar archive `name'. `mode' is either 'r' to
           read from an existing archive, 'a' to append data to an existing
           file or 'w' to create a new file overwriting an existing one. `mode'
           defaults to 'r'.
           If `fileobj' is given, it is used for reading or writing data. If it
           can be determined, `mode' is overridden by `fileobj's mode.
           `fileobj' is not closed, when TarFile is closed.
        urburur+buauwbuwumode must be 'r', 'a' or 'w'unameumodeNuawFT(-u
ValueErrorumodeu_modeuosupathuexistsu	bltn_openuFalseu_extfileobjuNoneuhasattrunameuTrueuabspathufileobjuformatutarinfoudereferenceuignore_zerosuencodinguerrorsu
PAX_FORMATupax_headersudebugu
errorleveluclosedumembersu_loadedutelluoffsetuinodesufirstmemberunextuseekufromtarfileuappenduEOFHeaderErroruHeaderErroru	ReadErrorustrucreate_pax_global_headerucopyuwriteulenuclose(uselfunameumodeufileobjuformatutarinfoudereferenceuignore_zerosuencodinguerrorsupax_headersudebugu
errorlevelumodesueubuf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__init__�s�	
"		!								
+				uTarFile.__init__c
KsG|r|rtd��n|dkr�x�|jD]�}t||j|�}|dk	rj|j�}ny||d||�SWq3ttfk
r�}	z$|dk	r�|j|�nw3WYdd}	~	Xq3Xq3Wtd��nVd|krh|jdd�\}
}|
pd}
|pd}||jkrEt||j|�}ntd	|��|||
||�Sd
|kr|jd
d�\}
}|
p�d}
|p�d}|
dkr�td��nt	||
|||�}y|||
||�}Wn|j
��YnXd|_|S|dkr7|j
||||�Std��dS(u�Open a tar archive for reading, writing or appending. Return
           an appropriate TarFile class.

           mode:
           'r' or 'r:*' open for reading with transparent compression
           'r:'         open for reading exclusively uncompressed
           'r:gz'       open for reading with gzip compression
           'r:bz2'      open for reading with bzip2 compression
           'r:xz'       open for reading with lzma compression
           'a' or 'a:'  open for appending, creating the file if necessary
           'w' or 'w:'  open for writing without compression
           'w:gz'       open for writing with gzip compression
           'w:bz2'      open for writing with bzip2 compression
           'w:xz'       open for writing with lzma compression

           'r|*'        open a stream of tar blocks with transparent compression
           'r|'         open an uncompressed stream of tar blocks for reading
           'r|gz'       open a gzip compressed stream of tar blocks
           'r|bz2'      open a bzip2 compressed stream of tar blocks
           'r|xz'       open an lzma compressed stream of tar blocks
           'w|'         open an uncompressed stream for writing
           'w|gz'       open a gzip compressed stream for writing
           'w|bz2'      open a bzip2 compressed stream for writing
           'w|xz'       open an lzma compressed stream for writing
        unothing to openurur:*Nu%file could not be opened successfullyu:iutaruunknown compression type %ru|uwumode must be 'r' or 'w'uauundiscernible mode(urur:*(uruwF(uauw(u
ValueErroru	OPEN_METHugetattruNoneutellu	ReadErroruCompressionErroruseekusplitu_StreamucloseuFalseu_extfileobjutaropen(
uclsunameumodeufileobjubufsizeukwargsucomptypeufuncu	saved_posueufilemodeustreamut((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuopen�sN
	uTarFile.opencKs.|dkrtd��n|||||�S(uCOpen uncompressed tar archive name for reading or writing.
        uruauwumode must be 'r', 'a' or 'w'(uruauw(u
ValueError(uclsunameumodeufileobjukwargs((u,/opt/alt/python33/lib64/python3.3/tarfile.pyutaropenOsuTarFile.taropeni	cKs2|d	krtd��nyddl}|jWn$ttfk
rXtd��YnXy |j||d||�}Wn<tk
r�|dk	r�|dkr�td��n�YnXy|j	||||�}WnNtk
r|j
�|dkr	td��n�Yn|j
��YnXd
|_|S(ukOpen gzip compressed tar archive name for reading or writing.
           Appending is not allowed.
        uruwumode must be 'r' or 'w'iNugzip module is not availableubunot a gzip file(uruwF(
u
ValueErrorugzipuGzipFileuImportErroruAttributeErroruCompressionErroruOSErroruNoneu	ReadErrorutaropenucloseuFalseu_extfileobj(uclsunameumodeufileobju
compresslevelukwargsugziput((u,/opt/alt/python33/lib64/python3.3/tarfile.pyugzopenWs2 



	uTarFile.gzopencKs�|d	krtd��nyddl}Wntk
rKtd��YnX|j|p[||d|�}y|j||||�}WnTttfk
r�|j�|dkr�t	d��n�Yn|j��YnXd
|_|S(ulOpen bzip2 compressed tar archive name for reading or writing.
           Appending is not allowed.
        uruwumode must be 'r' or 'w'.iNubz2 module is not availableu
compresslevelunot a bzip2 file(uruwF(u
ValueErrorubz2uImportErroruCompressionErroruBZ2FileutaropenuIOErroruEOFErrorucloseu	ReadErroruFalseu_extfileobj(uclsunameumodeufileobju
compresslevelukwargsubz2ut((u,/opt/alt/python33/lib64/python3.3/tarfile.pyubz2openys(
	

	uTarFile.bz2opencKs�|d	krtd��nyddl}Wntk
rKtd��YnX|j|p[||d|�}y|j||||�}WnW|jtfk
r�|j�|dkr�t	d��n�Yn|j��YnXd
|_|S(ukOpen lzma compressed tar archive name for reading or writing.
           Appending is not allowed.
        uruwumode must be 'r' or 'w'iNulzma module is not availableupresetunot an lzma file(uruwF(u
ValueErrorulzmauImportErroruCompressionErroruLZMAFileutaropenu	LZMAErroruEOFErrorucloseu	ReadErroruFalseu_extfileobj(uclsunameumodeufileobjupresetukwargsulzmaut((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuxzopen�s&


	uTarFile.xzopenutaropenutarugzopenugzubz2openubz2uxzopenuxzcCs�|jr
dS|jdkr�|jjttd�|jtd7_t|jt�\}}|dkr�|jjtt|�q�n|j	s�|jj
�nd|_dS(ulClose the TarFile. In write-mode, two finishing zero blocks are
           appended to the archive.
        NuawiiT(uclosedumodeufileobjuwriteuNULu	BLOCKSIZEuoffsetudivmodu
RECORDSIZEu_extfileobjucloseuTrue(uselfublocksu	remainder((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuclose�s		u
TarFile.closecCs2|j|�}|dkr.td|��n|S(uReturn a TarInfo object for member `name'. If `name' can not be
           found in the archive, KeyError is raised. If a member occurs more
           than once in the archive, its last occurrence is assumed to be the
           most up-to-date version.
        ufilename %r not foundN(u
_getmemberuNoneuKeyError(uselfunameutarinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu	getmember�suTarFile.getmembercCs'|j�|js |j�n|jS(u�Return the members of the archive as a list of TarInfo objects. The
           list has the same order as the members in the archive.
        (u_checku_loadedu_loadumembers(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
getmembers�s
	
uTarFile.getmemberscCsdd�|j�D�S(u�Return the members of the archive as a list of their names. It has
           the same order as the list returned by getmembers().
        cSsg|]}|j�qS((uname(u.0utarinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
<listcomp>�s	u$TarFile.getnames.<locals>.<listcomp>(u
getmembers(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyugetnames�suTarFile.getnamescCs^|jd�|d	k	r%|j}n|d	kr:|}ntjj|�\}}|jtjd�}|jd�}|j	�}||_
|d	kr�ttd�r�|jr�tj
|�}q�tj|�}ntj|j��}d}|j}tj|�r�|j|jf}	|jrj|jdkrj|	|jkrj||j|	krjt}
|j|	}qt}
|	dr||j|	<qn�tj|�r�t}
nstj|�r�t}
n[tj|�r�t}
tj|�}n4tj |�r�t!}
ntj"|�rt#}
nd	S||_||_$|j%|_&|j'|_(|
tkr]|j)|_*n	d|_*|j+|_,|
|_-||_.t/r�yt/j0|j&�d|_1Wq�t2k
r�Yq�Xnt3r�yt3j4|j(�d|_5Wq�t2k
r�Yq�Xn|
t!t#fkrZttd�rZttd�rZtj6|j7�|_8tj9|j7�|_:qZn|S(
uOCreate a TarInfo object for either the file `name' or the file
           object `fileobj' (using os.fstat on its file descriptor). You can
           modify some of the TarInfo's attributes before you add it using
           addfile(). If given, `arcname' specifies an alternative name for the
           file in the archive.
        uawu/ulstatuiiumajoruminorN(;u_checkuNoneunameuosupathu
splitdriveureplaceusepulstriputarinfoutarfileuhasattrudereferenceulstatustatufstatufilenoust_modeuS_ISREGust_inoust_devust_nlinkuinodesuLNKTYPEuREGTYPEuS_ISDIRuDIRTYPEuS_ISFIFOuFIFOTYPEuS_ISLNKuSYMTYPEureadlinkuS_ISCHRuCHRTYPEuS_ISBLKuBLKTYPEumodeust_uiduuidust_gidugidust_sizeusizeust_mtimeumtimeutypeulinknameupwdugetpwuiduunameuKeyErrorugrpugetgrgidugnameumajorust_rdevudevmajoruminorudevminor(uselfunameuarcnameufileobjudrvutarinfoustatresulinknameustmduinodeutype((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
gettarinfo�s~
			"
									

uTarFile.gettarinfoc	CsK|j�x:|D]2}|r�ttj|j��td|jpH|j|jpW|jf�|j	�sw|j
�r�tdd|j|jf�ntd|j
�tdtj|j�dd��nt|j|j�r�dnd	�|r<|j�rtd
|j�n|j�r<td|j�q<nt�qWdS(u�Print a table of contents to sys.stdout. If `verbose' is False, only
           the names of the members are printed. If it is True, an `ls -l'-like
           output is produced.
        u%s/%su%10su%d,%du%10du%d-%02d-%02d %02d:%02d:%02dNiu/uu-> ulink to (u_checku_safe_printustatufilemodeumodeuunameuuidugnameugiduischruisblkudevmajorudevminorusizeutimeu	localtimeumtimeunameuisdiruissymulinknameuislnkuprint(uselfuverboseutarinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyulistNs&

!#uTarFile.listufilterc	Cs�|jd�|dkr"|}n|dk	rtddl}|jdtd�||�rt|jdd|�dSn|jdk	r�tjj	|�|jkr�|jdd|�dS|jd|�|j
||�}|dkr�|jdd	|�dS|dk	r;||�}|dkr;|jdd|�dSn|j�rrt|d
��}|j
||�WdQXn�|j�r�|j
|�|r�xTtj|�D]@}|jtjj||�tjj||�||d|�q�Wq�n
|j
|�dS(u~Add the file `name' to the archive. `name' may be any type of file
           (directory, fifo, symbolic link, etc.). If given, `arcname'
           specifies an alternative name for the file in the archive.
           Directories are added recursively by default. This can be avoided by
           setting `recursive' to False. `exclude' is a function that should
           return True for each filename to be excluded. `filter' is a function
           that expects a TarInfo object argument and returns the changed
           TarInfo object, if it returns None the TarInfo object will be
           excluded from the archive.
        uawiNuuse the filter argument insteadiutarfile: Excluded %rutarfile: Skipped %riutarfile: Unsupported type %rurbufilter(u_checkuNoneuwarningsuwarnuDeprecationWarningu_dbgunameuosupathuabspathu
gettarinfouisregu	bltn_openuaddfileuisdirulistdiruaddujoin(	uselfunameuarcnameu	recursiveuexcludeufilteruwarningsutarinfouf((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuaddksB
		
*
*uTarFile.addcCs�|jd�tj|�}|j|j|j|j�}|jj|�|jt	|�7_|dk	r�t||j|j�t
|jt�\}}|dkr�|jjtt|�|d7}n|j|t7_n|jj|�dS(u]Add the TarInfo object `tarinfo' to the archive. If `fileobj' is
           given, tarinfo.size bytes are read from it and added to the archive.
           You can create TarInfo objects using gettarinfo().
           On Windows platforms, `fileobj' should always be opened with mode
           'rb' to avoid irritation about the file size.
        uawiiN(u_checkucopyutobufuformatuencodinguerrorsufileobjuwriteuoffsetulenuNoneucopyfileobjusizeudivmodu	BLOCKSIZEuNULumembersuappend(uselfutarinfoufileobjubufublocksu	remainder((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuaddfile�s

uTarFile.addfileu.cCsOg}|dkr|}nx_|D]W}|j�r\|j|�tj|�}d|_n|j||d|j��q"W|jddd��|j�x�|D]�}tj	j
||j�}y4|j||�|j
||�|j||�Wq�tk
rF}z.|jdkr �n|jdd|�WYdd}~Xq�Xq�WdS(	uMExtract all members from the archive to the current working
           directory and set owner, modification time and permissions on
           directories afterwards. `path' specifies a different directory
           to extract to. `members' is optional and must be a subset of the
           list returned by getmembers().
        i�u	set_attrsukeycSs|jS(N(uname(ua((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu<lambda>�su$TarFile.extractall.<locals>.<lambda>iutarfile: %sN(uNoneuisdiruappenducopyumodeuextractusortureverseuosupathujoinunameuchownuutimeuchmoduExtractErroru
errorlevelu_dbg(uselfupathumembersudirectoriesutarinfoudirpathue((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
extractall�s*	

!

uTarFile.extractallucCsa|jd�t|t�r.|j|�}n|}|j�r^tjj||j�|_	ny,|j
|tjj||j�d|�Wn�tk
r}zc|j
dkr��nI|jdkr�|jdd|j�n |jdd|j|jf�WYdd}~XnNtk
r\}z.|j
dkr6�n|jdd|�WYdd}~XnXdS(uxExtract 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 TarInfo object. You can
           specify a different directory using `path'. File attributes (owner,
           mtime, mode) are set unless `set_attrs' is False.
        uru	set_attrsiiutarfile: %sutarfile: %s %rN(u_checku
isinstanceustru	getmemberuislnkuosupathujoinulinknameu_link_targetu_extract_memberunameuEnvironmentErroru
errorlevelufilenameuNoneu_dbgustrerroruExtractError(uselfumemberupathu	set_attrsutarinfoue((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuextract�s&
!2uTarFile.extractcCs�|jd�t|t�r.|j|�}n|}|j�sO|jtkr_|j||�S|j�sw|j	�r�t|j
t�r�td��q�|j
|j|��SndSdS(u�Extract a member from the archive as a file object. `member' may be
           a filename or a TarInfo object. If `member' is a regular file or a
           link, an io.BufferedReader object is returned. Otherwise, None is
           returned.
        uru'cannot extract (sym)link as file objectN(u_checku
isinstanceustru	getmemberuisregutypeuSUPPORTED_TYPESu
fileobjectuislnkuissymufileobju_StreamuStreamErroruextractfileu_find_link_targetuNone(uselfumemberutarinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuextractfiles
uTarFile.extractfilecCs�|jd�}|jdtj�}tjj|�}|r_tjj|�r_tj|�n|j�sw|j	�r�|j
dd|j|jf�n|j
d|j�|j
�r�|j||�n�|j�r�|j||�n�|j�r
|j||�n�|j�s"|j�r5|j||�n]|j�sM|j	�r`|j||�n2|jtkr�|j||�n|j||�|r�|j||�|j	�s�|j||�|j||�q�ndS(u\Extract the TarInfo object tarinfo to a physical
           file called targetpath.
        u/iu%s -> %sN(urstripureplaceuosusepupathudirnameuexistsumakedirsuislnkuissymu_dbgunameulinknameuisregumakefileuisdirumakediruisfifoumakefifouischruisblkumakedevumakelinkutypeuSUPPORTED_TYPESumakeunknownuchownuchmoduutime(uselfutarinfou
targetpathu	set_attrsu	upperdirs((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_extract_member*s4#uTarFile._extract_membercCs-ytj|d�Wntk
r(YnXdS(u,Make a directory called targetpath.
        i�N(uosumkdiruFileExistsError(uselfutarinfou
targetpath((u,/opt/alt/python33/lib64/python3.3/tarfile.pyumakedirZs
uTarFile.makedircCs�|j}|j|j�t|d��}}|jdk	rtxJ|jD])\}}|j|�t|||�qDWnt|||j�|j|j�|j�WdQXdS(u'Make a file called targetpath.
        uwbN(	ufileobjuseekuoffset_datau	bltn_openusparseuNoneucopyfileobjusizeutruncate(uselfutarinfou
targetpathusourceutargetuoffsetusize((u,/opt/alt/python33/lib64/python3.3/tarfile.pyumakefileds	
uTarFile.makefilecCs+|j||�|jdd|j�dS(uYMake a file from a TarInfo object with an unknown type
           at targetpath.
        iu9tarfile: Unknown file type %r, extracted as regular file.N(umakefileu_dbgutype(uselfutarinfou
targetpath((u,/opt/alt/python33/lib64/python3.3/tarfile.pyumakeunknownssuTarFile.makeunknowncCs/ttd�rtj|�ntd��dS(u'Make a fifo called targetpath.
        umkfifoufifo not supported by systemN(uhasattruosumkfifouExtractError(uselfutarinfou
targetpath((u,/opt/alt/python33/lib64/python3.3/tarfile.pyumakefifo{suTarFile.makefifocCs�ttd�s ttd�r/td��n|j}|j�rT|tjO}n
|tjO}tj||tj	|j
|j��dS(u<Make a character or block device called targetpath.
        umknodumakedevu'special devices not supported by systemN(uhasattruosuExtractErrorumodeuisblkustatuS_IFBLKuS_IFCHRumknodumakedevudevmajorudevminor(uselfutarinfou
targetpathumode((u,/opt/alt/python33/lib64/python3.3/tarfile.pyumakedev�s 	
uTarFile.makedevcCs�yj|j�r%tj|j|�nDtjj|j�rPtj|j|�n|j|j	|�|�WnPt
k
r�y|j|j	|�|�Wntk
r�td��YnXYnXdS(u�Make a (symbolic) link called targetpath. If it cannot be created
          (platform limitation), we try to make a copy of the referenced file
          instead of a link.
        u%unable to resolve link inside archiveN(
uissymuosusymlinkulinknameupathuexistsu_link_targetulinku_extract_memberu_find_link_targetusymlink_exceptionuKeyErroruExtractError(uselfutarinfou
targetpath((u,/opt/alt/python33/lib64/python3.3/tarfile.pyumakelink�s

uTarFile.makelinkc"Cs,tr(ttd�r(tj�dkr(ytj|j�d}Wntk
r^|j}YnXytj	|j
�d}Wntk
r�|j}YnXyZ|j�r�ttd�r�tj
|||�n%tjdkr�tj|||�nWq(tk
r$}ztd��WYdd}~Xq(XndS(u6Set owner of targetpath according to tarinfo.
        ugeteuidiiulchownuos2emxucould not change ownerN(upwduhasattruosugeteuidugrpugetgrnamugnameuKeyErrorugidugetpwnamuunameuuiduissymulchownusysuplatformuchownuEnvironmentErroruExtractError(uselfutarinfou
targetpathuguuue((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuchown�s '

u
TarFile.chowncCsattd�r]ytj||j�Wq]tk
rY}ztd��WYdd}~Xq]XndS(uASet file permissions of targetpath according to tarinfo.
        uchmoducould not change modeN(uhasattruosuchmodumodeuEnvironmentErroruExtractError(uselfutarinfou
targetpathue((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuchmod�s
u
TarFile.chmodcCskttd�sdSy tj||j|jf�Wn1tk
rf}ztd��WYdd}~XnXdS(uBSet modification time of targetpath according to tarinfo.
        uutimeNu"could not change modification time(uhasattruosuutimeumtimeuEnvironmentErroruExtractError(uselfutarinfou
targetpathue((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuutime�s u
TarFile.utimecCs'|jd�|jdk	r2|j}d|_|S|jj|j�d}x�y|jj|�}Wn�tk
r�}z@|j	r�|j
dd|j|f�|jt7_wNnWYdd}~Xn1tk
rI}zd|j	r|j
dd|j|f�|jt7_wNn$|jdkr7t
t|���nWYdd}~Xn�tk
rx|jdkrtt
d��nYntk
r�}z)|jdkr�t
t|���nWYdd}~Xn7tk
r�}zt
t|���WYdd}~XnXPqN|dk	r|jj|�n	d|_|S(u�Return the next member of the archive as a TarInfo object, when
           TarFile is opened for reading. Return None if there is no more
           available.
        uraiu0x%X: %sNiu
empty fileT(u_checkufirstmemberuNoneufileobjuseekuoffsetutarinfoufromtarfileuEOFHeaderErroruignore_zerosu_dbgu	BLOCKSIZEuInvalidHeaderErroru	ReadErrorustruEmptyHeaderErroruTruncatedHeaderErroruSubsequentHeaderErrorumembersuappenduTrueu_loaded(uselfumutarinfoue((u,/opt/alt/python33/lib64/python3.3/tarfile.pyunext�sF
				'
'%	uTarFile.nextcCs�|j�}|dk	r4|d|j|��}n|rOtjj|�}nxKt|�D]=}|r�tjj|j�}n	|j}||kr\|Sq\WdS(u}Find an archive member by name from bottom to top.
           If tarinfo is given, it is used as the starting point.
        N(u
getmembersuNoneuindexuosupathunormpathureverseduname(uselfunameutarinfou	normalizeumembersumemberumember_name((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
_getmember	s	uTarFile._getmembercCs/x|j�}|dkrPqqd|_dS(uWRead through the entire archive file and look for readable
           members.
        NT(unextuNoneuTrueu_loaded(uselfutarinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_load	s
u
TarFile._loadcCsW|jr"td|jj��n|dk	rS|j|krStd|j��ndS(unCheck if TarFile is still open, and if the operation's mode
           corresponds to TarFile's mode.
        u%s is closedubad operation for mode %rN(ucloseduIOErroru	__class__u__name__uNoneumode(uselfumode((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_check%	s	uTarFile._checkcCs�|j�rEdjtdtjj|j�|jf��}d}n|j}|}|j	|d|dd�}|dkr�td|��n|S(uZFind the target member of a symlink or hardlink member in the
           archive.
        u/utarinfou	normalizeulinkname %r not foundNT(uissymujoinufilteruNoneuosupathudirnameunameulinknameu
_getmemberuTrueuKeyError(uselfutarinfoulinknameulimitumember((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_find_link_target.	s0		uTarFile._find_link_targetcCs$|jrt|j�St|�SdS(u$Provide an iterator object.
        N(u_loadeduiterumembersuTarIter(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__iter__A	s	
uTarFile.__iter__cCs)||jkr%t|dtj�ndS(u.Write debugging output to sys.stderr.
        ufileN(udebuguprintusysustderr(uselfulevelumsg((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu_dbgI	suTarFile._dbgcCs|j�|S(N(u_check(uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu	__enter__O	s
uTarFile.__enter__cCs?|dkr|j�n"|js2|jj�nd|_dS(NT(uNoneucloseu_extfileobjufileobjuTrueuclosed(uselfutypeuvalueu	traceback((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__exit__S	s

	uTarFile.__exit__NFT(;u__name__u
__module__u__qualname__u__doc__udebuguFalseudereferenceuignore_zerosu
errorleveluDEFAULT_FORMATuformatuENCODINGuencodinguNoneuerrorsuTarInfoutarinfouExFileObjectu
fileobjectu__init__uclassmethodu
RECORDSIZEuopenutaropenugzopenubz2openuxzopenu	OPEN_METHucloseu	getmemberu
getmembersugetnamesu
gettarinfouTrueulistuadduaddfileu
extractalluextractuextractfileu_extract_memberumakedirumakefileumakeunknownumakefifoumakedevumakelinkuchownuchmoduutimeunextu
_getmemberu_loadu_checku_find_link_targetu__iter__u_dbgu	__enter__u__exit__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuTarFileystjO!

b=&#0
	1
	cBs>|EeZdZdZdd�Zdd�Zdd�ZdS(	uTarIteruMIterator Class.

       for tarinfo in TarFile(...):
           suite...
    cCs||_d|_dS(u$Construct a TarIter object.
        iN(utarfileuindex(uselfutarfile((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__init__e	s	uTarIter.__init__cCs|S(u Return iterator object.
        ((uself((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__iter__j	suTarIter.__iter__cCs�|jdkr3|jjdk	r3|jj�}np|jt|jj�krd|jj|j}n?|jjs�|jj�}|s�d|j_t	�q�nt	�|jd7_|S(u�Return the next item using TarFile's next() method.
           When all members have been read, set TarFile as _loaded.
        iiNT(
uindexutarfileufirstmemberuNoneunextulenumembersu_loadeduTrueu
StopIteration(uselfutarinfo((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu__next__n	s!uTarIter.__next__N(u__name__u
__module__u__qualname__u__doc__u__init__u__iter__u__next__(u
__locals__((u,/opt/alt/python33/lib64/python3.3/tarfile.pyuTarIter^	suTarItercCs;yt|�}|j�dSWntk
r6dSYnXdS(ufReturn True if name points to a tar archive that we
       are able to handle, else return False.
    NTF(uopenucloseuTrueuTarErroruFalse(unameut((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu
is_tarfile�	s

(tu__doc__uversionu
__author__u__date__u	__cvsid__u__credits__usysuosuioushutilustatutimeustructucopyureugrpupwduImportErroruNoneuAttributeErroruNotImplementedErrorusymlink_exceptionuWindowsErroru	NameErroru__all__ubuiltinsuopenu_openuNULu	BLOCKSIZEu
RECORDSIZEu	GNU_MAGICuPOSIX_MAGICuLENGTH_NAMEuLENGTH_LINKu
LENGTH_PREFIXuREGTYPEuAREGTYPEuLNKTYPEuSYMTYPEuCHRTYPEuBLKTYPEuDIRTYPEuFIFOTYPEuCONTTYPEuGNUTYPE_LONGNAMEuGNUTYPE_LONGLINKuGNUTYPE_SPARSEuXHDTYPEuXGLTYPEuSOLARIS_XHDTYPEuUSTAR_FORMATu
GNU_FORMATu
PAX_FORMATuDEFAULT_FORMATuSUPPORTED_TYPESu
REGULAR_TYPESu	GNU_TYPESu
PAX_FIELDSuPAX_NAME_FIELDSufloatuintuPAX_NUMBER_FIELDSuS_IFLNKuS_IFREGuS_IFBLKuS_IFDIRuS_IFCHRuS_IFIFOuTSUIDuTSGIDuTSVTXuTUREADuTUWRITEuTUEXECuTGREADuTGWRITEuTGEXECuTOREADuTOWRITEuTOEXECunameuENCODINGugetfilesystemencodingustnuntsuntiuitnucalc_chksumsucopyfileobjufilemodeu_safe_printu	ExceptionuTarErroruExtractErroru	ReadErroruCompressionErroruStreamErroruHeaderErroruEmptyHeaderErroruTruncatedHeaderErroruEOFHeaderErroruInvalidHeaderErroruSubsequentHeaderErroru
_LowLevelFileu_Streamuobjectu_StreamProxyu_FileInFileuBufferedReaderuExFileObjectuTarInfouTarFileuTarIteru
is_tarfileu	bltn_open(((u,/opt/alt/python33/lib64/python3.3/tarfile.pyu<module>s�


					
	
�e�������)

?>