<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
2anO                 @   s   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ddgZd\Z	Z
ZZZd\ZZdddZdd ZG dd dZG dd dejZG dd dejZdddZdd Zdd Zedkre  dS )    NGzipFileopencompress
decompress               rb	   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|jdd}t| tttjfr|t| ||}n,t| dst| d	rtd ||| }nt	d
d|krt
j||||S |S d S )NtbzInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary mode readwritez1filename must be a str or bytes object, or a file)
ValueErrorreplace
isinstancestrbytesosPathLiker   hasattr	TypeErrorioTextIOWrapper)filenamemodecompresslevelencodingerrorsnewlineZgz_modeZbinary_file r#   )/opt/alt/python36/lib64/python3.6/gzip.pyr      s$    c             C   s   | j tjd| d S )Nz<L)r   structpack)outputvaluer#   r#   r$   write32u@   s    r)   c               @   s8   e Zd ZdddZdd ZdddZdd	 Zd
d ZdS )_PaddedFile    c             C   s    || _ t|| _|| _d| _d S )Nr   )_bufferlen_lengthfile_read)selffprependr#   r#   r$   __init__J   s    
z_PaddedFile.__init__c             C   s~   | j d kr| jj|S | j | | jkrJ| j }|  j |7  _ | j|| j  S | j }d | _ | j|d  | jj|| j |  S d S )N)r0   r/   r   r.   r,   )r1   sizer   r#   r#   r$   r   P   s    
z_PaddedFile.readc             C   s>   | j d kr|| _n|  j t|8  _ d S t| j| _d| _ d S )Nr   )r0   r,   r-   r.   )r1   r3   r#   r#   r$   r3   ]   s    
z_PaddedFile.prependc             C   s   d | _ d | _| jj|S )N)r0   r,   r/   seek)r1   Zoffr#   r#   r$   r6   f   s    z_PaddedFile.seekc             C   s   dS )NTr#   )r1   r#   r#   r$   seekablek   s    z_PaddedFile.seekableN)r+   )r+   )__name__
__module____qualname__r4   r   r3   r6   r7   r#   r#   r#   r$   r*   E   s
   

	r*   c               @   s   e Zd ZdZd,ddZedd Zedd Zd	d
 Zdd Z	dd Z
dd Zd.ddZd0ddZdd Zedd Zdd ZejfddZdd Zd d! Zd"d# Zd$d% Zd&d' Zejfd(d)Zd2d*d+ZdS )3r   Nr   c             C   s2  |r"d|ksd|kr"t dj||r6d|kr6|d7 }|d krTtj||pJd }| _|d kr|t|dd}t|ttfsd}n
t	j
|}|d krt|dd}|jd	rt| _t|}tj|| _|| _nN|jdrt| _| j| tj|tjtj tjd| _|| _nt dj||| _| jtkr.| j  d S )Nr   UzInvalid mode: {!r}r   r   namer   r   rwaxr   )r>   r?   r@   )r   formatbuiltinsr   	myfileobjgetattrr   r   r   r   fspath
startswithREADr   _GzipReaderr   BufferedReaderr,   r<   WRITE_init_writezlibZcompressobjZDEFLATED	MAX_WBITSZDEF_MEM_LEVELr   _write_mtimefileobj_write_gzip_header)r1   r   r   r   rO   mtimerawr#   r#   r$   r4   {   s>    #


zGzipFile.__init__c             C   sB   dd l }|jdtd | jtkr<| jdd  dkr<| jd S | jS )Nr   zuse the name attributer      z.gz)warningswarnDeprecationWarningr   rJ   r<   )r1   rU   r#   r#   r$   r      s
    
zGzipFile.filenamec             C   s
   | j jjS )N)r,   rR   _last_mtime)r1   r#   r#   r$   rQ      s    zGzipFile.mtimec             C   s.   t | j}d|dd  d tt|  d S )Nz<gzip r    >)reprrO   hexid)r1   sr#   r#   r$   __repr__   s    
zGzipFile.__repr__c             C   s.   || _ tjd| _d| _g | _d| _d| _d S )Nr+   r   )r<   rL   crc32crcr5   Zwritebufbufsizeoffset)r1   r   r#   r#   r$   rK      s    zGzipFile._init_writec             C   s   | j jd | j jd y<tjj| j}t|ts<|jd}|j	drR|d d }W n t
k
rl   d}Y nX d}|rzt}| j jt|jd | j}|d krtj }t| j t| | j jd | j jd	 |r| j j|d
  d S )Ns      zlatin-1s   .gzrS   r+   r             rT   )rO   r   r   pathbasenamer<   r   r   encodeendswithUnicodeEncodeErrorFNAMEchrrN   timer)   int)r1   ZfnameflagsrQ   r#   r#   r$   rP      s,    



zGzipFile._write_gzip_headerc             C   s   | j   | jtkr&dd l}t|jd| jd kr8tdt|t	rLt
|}nt|}|j}|dkr| jj| jj| |  j|7  _tj|| j| _|  j|7  _|S )Nr   z$write() on read-only GzipFile objectz!write() on closed GzipFile object)_check_not_closedr   rJ   errnoOSErrorEBADFrO   r   r   r   r-   
memoryviewnbytesr   r   r5   rL   ra   rb   rd   )r1   datart   Zlengthr#   r#   r$   r      s     



zGzipFile.writer   c             C   s2   | j   | jtkr&dd l}t|jd| jj|S )Nr   z$read() on write-only GzipFile object)rs   r   rG   rt   ru   rv   r,   r   )r1   r5   rt   r#   r#   r$   r     s
    
zGzipFile.readc             C   s@   | j   | jtkr&dd l}t|jd|dk r4tj}| jj	|S )Nr   z%read1() on write-only GzipFile object)
rs   r   rG   rt   ru   rv   r   DEFAULT_BUFFER_SIZEr,   read1)r1   r5   rt   r#   r#   r$   r{     s    
zGzipFile.read1c             C   s2   | j   | jtkr&dd l}t|jd| jj|S )Nr   z$peek() on write-only GzipFile object)rs   r   rG   rt   ru   rv   r,   peek)r1   nrt   r#   r#   r$   r|   #  s
    
zGzipFile.peekc             C   s
   | j d kS )N)rO   )r1   r#   r#   r$   closed*  s    zGzipFile.closedc             C   s   | j }|d krd S d | _ zP| jtkrR|j| jj  t|| j t|| jd@  n| jt	krf| j
j  W d | j}|rd | _|j  X d S )Nl    )rO   r   rJ   r   r   flushr)   rb   r5   rG   r,   closerC   )r1   rO   rC   r#   r#   r$   r   .  s    

zGzipFile.closec             C   s4   | j   | jtkr0| jj| jj| | jj  d S )N)rs   r   rJ   rO   r   r   r   )r1   Z	zlib_moder#   r#   r$   r   A  s    
zGzipFile.flushc             C   s
   | j j S )N)rO   fileno)r1   r#   r#   r$   r   H  s    zGzipFile.filenoc             C   s"   | j tkrtd| jjd d S )NzCan't rewind in write moder   )r   rG   ru   r,   r6   )r1   r#   r#   r$   rewindP  s    
zGzipFile.rewindc             C   s
   | j tkS )N)r   rG   )r1   r#   r#   r$   readableW  s    zGzipFile.readablec             C   s
   | j tkS )N)r   rJ   )r1   r#   r#   r$   writableZ  s    zGzipFile.writablec             C   s   dS )NTr#   )r1   r#   r#   r$   r7   ]  s    zGzipFile.seekablec             C   s   | j tkr|tjkr2|tjkr*| j| }ntd|| jk rDtd|| j }dd }xt|d D ]}| j	| qdW | j	d|d   n | j t
kr| j  | jj||S | jS )NzSeek from end not supportedzNegative seek in write moderh   i   )r   rJ   r   SEEK_SETSEEK_CURrd   r   ru   ranger   rG   rs   r,   r6   )r1   rd   whencecountchunkir#   r#   r$   r6   `  s     





zGzipFile.seekc             C   s   | j   | jj|S )N)rs   r,   readline)r1   r5   r#   r#   r$   r   t  s    zGzipFile.readline)NNr   NNr[   )r[   r[   )r[   r[   )r[   )r8   r9   r:   rC   r4   propertyr   rQ   r`   rK   rP   r   r   r{   r|   r~   r   rL   ZZ_SYNC_FLUSHr   r   r   r   r   r7   r   r   r6   r   r#   r#   r#   r$   r   n   s,    
H

c                   sZ   e Zd Z fddZdd Zdd Zdd Zdd
dZdd Zdd Z	 fddZ
  ZS )rH   c                s,   t  jt|tjtj d d| _d | _d S )N)ZwbitsT)superr4   r*   rL   ZdecompressobjrM   _new_memberrX   )r1   fp)	__class__r#   r$   r4   z  s    z_GzipReader.__init__c             C   s   t jd| _d| _d S )Nr+   r   )rL   ra   _crc_stream_size)r1   r#   r#   r$   
_init_read  s    z_GzipReader._init_readc             C   sJ   | j j|}x8t||k rD| j j|t| }|s:td||7 }qW |S )NzACompressed file ended before the end-of-stream marker was reached)_fpr   r-   EOFError)r1   r}   ry   r   r#   r#   r$   _read_exact  s    z_GzipReader._read_exactc             C   s   | j jd}|dkrdS |dkr,td| tjd| jd\}}| _|dkrVtd|t@ r|tjd	| jd\}| j| |t@ rx | j jd
}| s|dkrP qW |t	@ rx | j jd
}| s|dkrP qW |t
@ r| jd dS )Nr   r+   Fs   zNot a gzipped file (%r)z<BBIxxr	   zUnknown compression methodz<Hr   rh   T)r   r   ru   r%   unpackr   rX   FEXTRArn   FCOMMENTFHCRC)r1   magicmethodflagZ	extra_lenr_   r#   r#   r$   _read_gzip_header  s0    

z_GzipReader._read_gzip_headerr   c             C   s   |dk r| j  S |sdS x| jjr@| j  d| _| jf | j| _| jrh| j  | j sb| j	| _
dS d| _| jjtj}| jj||}| jjdkr| jj| jj n| jjdkr| jj| jj |dkrP |dkrtdqW | j| |  j	t|7  _	|S )Nr   r+   TFzACompressed file ended before the end-of-stream marker was reached)readallZ_decompressoreof	_read_eofr   Z_decomp_factoryZ_decomp_argsr   r   Z_posZ_sizer   r   r   rz   r   Zunconsumed_tailr3   Zunused_datar   _add_read_datar-   )r1   r5   bufZ
uncompressr#   r#   r$   r     s:    

z_GzipReader.readc             C   s$   t j|| j| _| jt| | _d S )N)rL   ra   r   r   r-   )r1   ry   r#   r#   r$   r     s    z_GzipReader._add_read_datac             C   s   t jd| jd\}}|| jkr<tdt|t| jf n|| jd@ krRtdd}x|dkrn| jjd}qXW |r| jj	| d S )Nz<IIr	   zCRC check failed %s != %sl    z!Incorrect length of data producedrh   r   )
r%   r   r   r   ru   r]   r   r   r   r3   )r1   ra   Zisizecr#   r#   r$   r     s    


z_GzipReader._read_eofc                s   t  j  d| _d S )NT)r   _rewindr   )r1   )r   r#   r$   r     s    
z_GzipReader._rewindr[   )r[   )r8   r9   r:   r4   r   r   r   r   r   r   r   __classcell__r#   r#   )r   r$   rH   y  s   !
3rH   c          	   C   s4   t j }t|d|d}|j|  W d Q R X |j S )Nwb)rO   r   r   )r   BytesIOr   r   getvalue)ry   r   r   r2   r#   r#   r$   r     s    c          	   C   s$   t tj| d
}|j S Q R X d S )N)rO   )r   r   r   r   )ry   r2   r#   r#   r$   r     s    c              C   s>  t jdd  } | o| d dk}|r.| dd  } | s8dg}  x| D ]}|r|dkrltddt jjd}t jj}q|dd  d	krtd
t| q@t|d}t	j|d d d}n>|dkrt jj}tddt jjd}nt	j|d}t|d	 d}x |j
d}| sP |j| qW |t jjk	r"|j  |t jjk	r@|j  q@W d S )Nr   r   z-d-r   r   )r   r   rO   rS   z.gzzfilename doesn't end in .gz:r   i   rT   rT   )sysargvr   stdinbufferstdoutprintr\   r   rB   r   r   r   )argsr   argr2   gr   r#   r#   r$   _test  s<    


r   __main__)r   r   r   r	   r
   )r   r   )r   r   NNN)r   )r%   r   rp   r   rL   rB   r   Z_compression__all__ZFTEXTr   r   rn   r   rG   rJ   r   r)   r*   Z
BaseStreamr   ZDecompressReaderrH   r   r   r   r8   r#   r#   r#   r$   <module>   s*     
+)   
	&