
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,a1  ã                   @   s    d dddddgZ dZddlmZ dd	lZdd	lZdd	lZdd	lZdd
l	m
Z
 ddlmZmZ dZdZdZeƒ ZG dd „ d ejƒZddd„Zddd„Zdd„ Zd	S )ÚBZ2FileÚBZ2CompressorÚBZ2DecompressorÚopenÚcompressÚ
decompressz%Nadeem Vawda <nadeem.vawda@gmail.com>é    )r   N)ÚRLock)r   r   é   é   c                   @   s°   e Zd Zdedf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„ Zd+dd„Zd,dd„Zdd „ Zd!d"„ Zejfd#d$„Zd%d&„ Zd'S )-r   Úré	   c                 C   sT  t ƒ | _d | _d| _t| _|tk	r2tjdt	dd� d|  krFdksPn t
dƒ‚|dkrbd	}t}nb|d
kr~d}t}t|ƒ| _nF|dkršd}t}t|ƒ| _n*|dkr¶d}t}t|ƒ| _nt
d|f ƒ‚t|tttjfƒrðt||ƒ| _d| _|| _n.t|dƒ�st|dƒ�r|| _|| _ntdƒ‚| jtk�rJtj| jttd�}t |¡| _nd| _d S )NFzGUse of 'buffering' argument is deprecated and ignored since Python 3.0.é   )Ú
stacklevelr	   r   z%compresslevel must be between 1 and 9)Ú r   Úrbr   )ÚwÚwbr   )ÚxÚxbr   )ÚaÚabr   úInvalid mode: %rTÚreadÚwritez6filename must be a str, bytes, file or PathLike object)Ztrailing_errorr   )r   Ú_lockÚ_fpÚ_closefpÚ_MODE_CLOSEDÚ_modeÚ	_sentinelÚwarningsÚwarnÚDeprecationWarningÚ
ValueErrorÚ
_MODE_READÚ_MODE_WRITEr   Ú_compressorÚ
isinstanceÚstrÚbytesÚosÚPathLikeÚ_builtin_openÚhasattrÚ	TypeErrorÚ_compressionZDecompressReaderr   ÚOSErrorÚioÚBufferedReaderÚ_bufferÚ_pos)ÚselfÚfilenameÚmodeÚ	bufferingÚcompresslevelZ	mode_codeÚraw© r;   ú(/opt/alt/python38/lib64/python3.8/bz2.pyÚ__init__)   sT    ý ÿzBZ2File.__init__c                 C   sž   | j �Ž | jtkr W 5 Q R £ d S z<| jtkr8| j ¡  n"| jtkrZ| j 	| j
 ¡ ¡ d | _
W 5 z| jrp| j ¡  W 5 d | _d| _t| _d | _X X W 5 Q R X d S )NF)r   r   r   r   r   r3   Úcloser$   r%   r   r&   Úflush©r5   r;   r;   r<   r>   p   s     



zBZ2File.closec                 C   s
   | j tkS ©N)r   r   r@   r;   r;   r<   Úclosed‰   s    zBZ2File.closedc                 C   s   |   ¡  | j ¡ S rA   )Ú_check_not_closedr   Úfilenor@   r;   r;   r<   rD   Ž   s    zBZ2File.filenoc                 C   s   |   ¡ o| j ¡ S rA   )Úreadabler3   Úseekabler@   r;   r;   r<   rF   “   s    zBZ2File.seekablec                 C   s   |   ¡  | jtkS rA   )rC   r   r$   r@   r;   r;   r<   rE   —   s    zBZ2File.readablec                 C   s   |   ¡  | jtkS rA   )rC   r   r%   r@   r;   r;   r<   Úwritableœ   s    zBZ2File.writabler   c              
   C   s2   | j �" |  ¡  | j |¡W  5 Q R £ S Q R X d S rA   )r   Ú_check_can_readr3   Úpeek)r5   Únr;   r;   r<   rI   ¡   s    zBZ2File.peekéÿÿÿÿc              
   C   s2   | j �" |  ¡  | j |¡W  5 Q R £ S Q R X d S rA   )r   rH   r3   r   ©r5   Úsizer;   r;   r<   r   ®   s    zBZ2File.readc              
   C   s@   | j �0 |  ¡  |dk rtj}| j |¡W  5 Q R £ S Q R X d S )Nr   )r   rH   r1   ÚDEFAULT_BUFFER_SIZEr3   Úread1rL   r;   r;   r<   rO   ¸   s
    zBZ2File.read1c              
   C   s2   | j �" |  ¡  | j |¡W  5 Q R £ S Q R X d S rA   )r   rH   r3   Úreadinto)r5   Úbr;   r;   r<   rP   Å   s    zBZ2File.readintoc              
   C   sV   t |tƒs$t|dƒstdƒ‚| ¡ }| j�" |  ¡  | j |¡W  5 Q R £ S Q R X d S ©NÚ	__index__zInteger argument expected)	r'   Úintr-   r.   rS   r   rH   r3   ÚreadlinerL   r;   r;   r<   rU   Î   s    

zBZ2File.readlinec              
   C   sV   t |tƒs$t|dƒstdƒ‚| ¡ }| j�" |  ¡  | j |¡W  5 Q R £ S Q R X d S rR   )	r'   rT   r-   r.   rS   r   rH   r3   Ú	readlinesrL   r;   r;   r<   rV   Ý   s    

zBZ2File.readlinesc              
   C   sX   | j �H |  ¡  | j |¡}| j |¡ |  jt|ƒ7  _t|ƒW  5 Q R £ S Q R X d S rA   )r   Z_check_can_writer&   r   r   r   r4   Úlen)r5   ÚdataZ
compressedr;   r;   r<   r   ì   s    zBZ2File.writec              
   C   s,   | j � tj | |¡W  5 Q R £ S Q R X d S rA   )r   r/   Ú
BaseStreamÚ
writelines)r5   Úseqr;   r;   r<   rZ   ú   s    zBZ2File.writelinesc              
   C   s4   | j �$ |  ¡  | j ||¡W  5 Q R £ S Q R X d S rA   )r   Z_check_can_seekr3   Úseek)r5   ÚoffsetÚwhencer;   r;   r<   r\     s    zBZ2File.seekc              
   C   sL   | j �< |  ¡  | jtkr0| j ¡ W  5 Q R £ S | jW  5 Q R £ S Q R X d S rA   )r   rC   r   r$   r3   Útellr4   r@   r;   r;   r<   r_     s
    
zBZ2File.tellN)r   )rK   )rK   )rK   )rK   )Ú__name__Ú
__module__Ú__qualname__r   r=   r>   ÚpropertyrB   rD   rF   rE   rG   rI   r   rO   rP   rU   rV   r   rZ   r1   ÚSEEK_SETr\   r_   r;   r;   r;   r<   r      s$   G




	

r   r   c                 C   sŠ   d|kr d|krPt d|f ƒ‚n0|d k	r0t dƒ‚|d k	r@t dƒ‚|d k	rPt dƒ‚| dd¡}t| ||d�}d|kr‚t ||||¡S |S d S )	NÚtrQ   r   z0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary moder   )r9   )r#   Úreplacer   r1   ÚTextIOWrapper)r6   r7   r9   ÚencodingÚerrorsÚnewlineZbz_modeZbinary_filer;   r;   r<   r   !  s    c                 C   s   t |ƒ}| | ¡| ¡  S rA   )r   r   r?   )rX   r9   Úcompr;   r;   r<   r   J  s    c                 C   sh   g }| r^t ƒ }z| | ¡}W n  tk
r<   |r6Y q^n‚ Y nX | |¡ |jsVtdƒ‚|j} qd |¡S )NzACompressed data ended before the end-of-stream marker was reachedó    )r   r   r0   ÚappendÚeofr#   Zunused_dataÚjoin)rX   ZresultsZdecompÚresr;   r;   r<   r   U  s    
)r   r   NNN)r   )Ú__all__Ú
__author__Úbuiltinsr   r,   r1   r*   r    r/   Z	threadingr   Z_bz2r   r   r   r$   r%   Úobjectr   rY   r   r   r   r;   r;   r;   r<   Ú<module>   s4     ÿ        ÿ
)
