???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3

  \2              $   @   s   d ddddddddd	d
dddddddddddddddddddddd d!d"d#g$Z d$d%lZd$d%lZd$d%lZd$d&lT d$d'lmZmZ d$d%lZd$Zd(Z	d)Z
G d*d dejZd0d%d1d%d%d%d%d%d,d-d Zed2d%d%fd.d!Zed%d%fd/d"Zd%S )3Z
CHECK_NONEZCHECK_CRC32ZCHECK_CRC64ZCHECK_SHA256ZCHECK_ID_MAXZCHECK_UNKNOWNZFILTER_LZMA1ZFILTER_LZMA2ZFILTER_DELTAZ
FILTER_X86ZFILTER_IA64Z
FILTER_ARMZFILTER_ARMTHUMBZFILTER_POWERPCZFILTER_SPARCFORMAT_AUTO	FORMAT_XZZFORMAT_ALONEZ
FORMAT_RAWZMF_HC3ZMF_HC4ZMF_BT2ZMF_BT3ZMF_BT4Z	MODE_FASTZMODE_NORMALZPRESET_DEFAULTZPRESET_EXTREMELZMACompressorLZMADecompressorLZMAFile	LZMAErroropencompress
decompressZis_check_supported    N)*)_encode_filter_properties_decode_filter_properties      c               @   s   e Zd Zd!dd"dddddZdd Zed	d
 Zdd Zdd Zdd Z	dd Z
d$ddZd&ddZd(ddZd*ddZdd ZejfddZdd  ZdS )+r   Nrr   )formatcheckpresetfiltersc      	      C   s&  d | _ d| _t| _|dkrL|dkr*td|d k	r:td|d krFt}t}n@|dkr~|d kr`t}t}t	||||d| _
d| _ntdj|t|tttjfrd|kr|d7 }tj||| _ d| _|| _n*t|dst|dr|| _ || _ntd| jtkr"tj| j tt||d}tj|| _d S )NFr   rbr   zACannot specify an integrity check when opening a file for readingzICannot specify a preset compression level when opening a file for readingwwbaabxxb)r   r   r   r   r
   zInvalid mode: {!r}bTreadwritez6filename must be a str, bytes, file or PathLike object)Ztrailing_errorr   r   )r   r   )r   r   r   r   r   r   )_fp_closefp_MODE_CLOSED_mode
ValueErrorr   
_MODE_READr   _MODE_WRITEr   _compressor_posr   
isinstancestrbytesosPathLikebuiltinsr   hasattr	TypeError_compressionZDecompressReaderr   r   ioBufferedReader_buffer)	selffilenamemoder   r   r   r   Z	mode_coderaw r9   /usr/lib64/python3.6/lzma.py__init__1   sB    ,
zLZMAFile.__init__c             C   s   | j tkrd S zB| j tkr,| jj  d | _n"| j tkrN| jj| jj	  d | _W d z| j
rd| jj  W d d | _d| _
t| _ X X d S )NF)r#   r"   r%   r4   closer&   r    r   r'   flushr!   )r5   r9   r9   r:   r<      s    




zLZMAFile.closec             C   s
   | j tkS )N)r#   r"   )r5   r9   r9   r:   closed   s    zLZMAFile.closedc             C   s   | j   | jj S )N)_check_not_closedr    fileno)r5   r9   r9   r:   r@      s    zLZMAFile.filenoc             C   s   | j  o| jj S )N)readabler4   seekable)r5   r9   r9   r:   rB      s    zLZMAFile.seekablec             C   s   | j   | jtkS )N)r?   r#   r%   )r5   r9   r9   r:   rA      s    zLZMAFile.readablec             C   s   | j   | jtkS )N)r?   r#   r&   )r5   r9   r9   r:   writable   s    zLZMAFile.writablec             C   s   | j   | jj|S )N)_check_can_readr4   peek)r5   sizer9   r9   r:   rE      s    zLZMAFile.peekc             C   s   | j   | jj|S )N)rD   r4   r   )r5   rF   r9   r9   r:   r      s    zLZMAFile.readc             C   s"   | j   |dk rtj}| jj|S )Nr
   )rD   r2   DEFAULT_BUFFER_SIZEr4   read1)r5   rF   r9   r9   r:   rH      s    zLZMAFile.read1c             C   s   | j   | jj|S )N)rD   r4   readline)r5   rF   r9   r9   r:   rI      s    zLZMAFile.readlinec             C   s:   | j   | jj|}| jj| |  jt|7  _t|S )N)Z_check_can_writer'   r   r    r   r(   len)r5   dataZ
compressedr9   r9   r:   r      s
    zLZMAFile.writec             C   s   | j   | jj||S )N)Z_check_can_seekr4   seek)r5   offsetwhencer9   r9   r:   rL      s    zLZMAFile.seekc             C   s"   | j   | jtkr| jj S | jS )N)r?   r#   r%   r4   tellr(   )r5   r9   r9   r:   rO      s    

zLZMAFile.tell)Nr   r   r   )r   r   )r   r   )r   r   )r   )__name__
__module____qualname__r;   r<   propertyr>   r@   rB   rA   rC   rE   r   rH   rI   r   r2   SEEK_SETrL   rO   r9   r9   r9   r:   r   &   s   T

	


r   )r   r   r   r   encodingerrorsnewlinec            C   s   d|kr d|krPt d|f n0|d k	r0t d|d k	r@t d|d k	rPt d|jdd}	t| |	||||d}
d|krtj|
|||S |
S d S )	Ntr   zInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary mode )r   r   r   r   )r$   replacer   r2   TextIOWrapper)r6   r7   r   r   r   r   rU   rV   rW   Zlz_modeZbinary_filer9   r9   r:   r     s    

c             C   s    t ||||}|j| |j  S )N)r   r   r=   )rK   r   r   r   r   compr9   r9   r:   r   6  s    c             C   sr   g }xbt |||}y|j| }W n tk
r>   |r8P n Y nX |j| |jsXtd|j} | sP qW dj|S )NzACompressed data ended before the end-of-stream marker was reached    )r   r	   r   appendeofZunused_datajoin)rK   r   Zmemlimitr   ZresultsZdecompresr9   r9   r:   r	   B  s     
)r   r   r   )__all__r.   r2   r,   Z_lzmar   r   r1   r"   r%   r&   Z
BaseStreamr   r   r   r   r   r	   r9   r9   r9   r:   <module>   s0   

 b-