B
    2*\                 @   s   d dl Z d dlZd dlmZ dddZddd	ZG d
d de jZG dd de jZG dd de jZG dd dee j	Z	G dd dee j
Z
dd ZdS )    N)BytesIOstrict<data>  c       	      C   st   t | }t  }|j}|j}|d|d@ |f d |d}x|rZ|t| |d}q>W |d | t| fS )Nzbegin %o %s
i  ascii-   s    
end
)r   readwriteencodebinasciiZb2a_uugetvaluelen)	inputerrorsfilenamemodeinfileoutfiler   r	   chunk r   =C:\ALexclude\prg\programme\Python37\Lib\encodings\uu_codec.py	uu_encode   s    r   c       
   
   C   s   t | }t  }|j}|j}x(| }|s.td|d d dkrP qW x| }|rX|dkrZP yt|}W nR tjk
r } z2|d d d@ d d d	 }	t|d |	 }W d d }~X Y nX || qFW |std
| t| fS )Nz"Missing "begin" line in input data   s   begins   end
r       ?         zTruncated input data)	r   readliner	   
ValueErrorr   Za2b_uuErrorr   r   )
r   r   r   r   r   r	   sdatavnbytesr   r   r   	uu_decode!   s.    $r$   c               @   s    e Zd ZdddZdddZdS )	Codecr   c             C   s
   t ||S )N)r   )selfr   r   r   r   r   r
   C   s    zCodec.encodec             C   s
   t ||S )N)r$   )r&   r   r   r   r   r   decodeF   s    zCodec.decodeN)r   )r   )__name__
__module____qualname__r
   r'   r   r   r   r   r%   B   s   
r%   c               @   s   e Zd ZdddZdS )IncrementalEncoderFc             C   s   t || jd S )Nr   )r   r   )r&   r   finalr   r   r   r
   J   s    zIncrementalEncoder.encodeN)F)r(   r)   r*   r
   r   r   r   r   r+   I   s   r+   c               @   s   e Zd ZdddZdS )IncrementalDecoderFc             C   s   t || jd S )Nr   )r$   r   )r&   r   r,   r   r   r   r'   N   s    zIncrementalDecoder.decodeN)F)r(   r)   r*   r'   r   r   r   r   r-   M   s   r-   c               @   s   e Zd ZeZdS )StreamWriterN)r(   r)   r*   bytescharbuffertyper   r   r   r   r.   Q   s   r.   c               @   s   e Zd ZeZdS )StreamReaderN)r(   r)   r*   r/   r0   r   r   r   r   r1   T   s   r1   c            
   C   s   t jdttttttddS )NuuF)namer
   r'   incrementalencoderincrementaldecoderstreamreaderstreamwriter_is_text_encoding)codecs	CodecInfor   r$   r+   r-   r1   r.   r   r   r   r   getregentryY   s    r;   )r   r   r   )r   )r9   r   ior   r   r$   r%   r+   r-   r.   r1   r;   r   r   r   r   <module>
   s   

!