509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \‚&  ã            
   @   s`  d ddddddddd	g
Z d
dlZd
dlmZmZmZ dZdZdZdd„ e	dƒD ƒZ
e
dd… Ze
dd… Zx,dejdƒ ejdƒ D ]Zeeƒee< q„W deedƒ< xdD ]Zeeƒee< qªW dd„ Zdd„ Zdd„ Zdd„ Zd+dd„Zd d	„ Zd!d„ Zd,d#d„Zedd… Zxd$D ]Zeeƒee< �qW d%efd&d„Zefd'd„ZeZeZd(d)„ Zd*d„ ZdS )-Úbody_decodeÚbody_encodeÚbody_lengthÚdecodeÚdecodestringÚheader_decodeÚheader_encodeÚheader_lengthÚquoteÚunquoteé    N)Úascii_lettersÚdigitsÚ	hexdigitsz
Ú
Ú c             C   s   g | ]}d | ‘qS )z=%02X© )Ú.0Úcr   r   ú(/usr/lib64/python3.6/email/quoprimime.pyú
<listcomp>7   s    r   é   s   -!*+/ÚasciiÚ_ú s_    !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	c             C   s   t | ƒt|  kS )N)ÚchrÚ_QUOPRI_HEADER_MAP)Úoctetr   r   r   Úheader_checkJ   s    r   c             C   s   t | ƒt|  kS )N)r   Ú_QUOPRI_BODY_MAP)r   r   r   r   Ú
body_checkO   s    r   c             C   s   t dd„ | D ƒƒS )Nc             s   s   | ]}t t| ƒV  qd S )N)Úlenr   )r   r   r   r   r   ú	<genexpr>^   s    z header_length.<locals>.<genexpr>)Úsum)Ú	bytearrayr   r   r   r   T   s    
c             C   s   t dd„ | D ƒƒS )Nc             s   s   | ]}t t| ƒV  qd S )N)r    r   )r   r   r   r   r   r!   h   s    zbody_length.<locals>.<genexpr>)r"   )r#   r   r   r   r   a   s    c             C   sf   t |tƒst|ƒ}| s&| j|jƒ ƒ n<t| d ƒt|ƒ |krT| d  || 7  < n| j|jƒ ƒ d S )Né   éÿÿÿÿr%   )Ú
isinstanceÚstrr   ÚappendÚlstripr    )ÚLÚsÚmaxlenZextrar   r   r   Ú_max_appendk   s    
r-   c             C   s   t t| dd… dƒƒS )Nr$   é   é   )r   Úint)r+   r   r   r   r
   v   s    c             C   s   t t| ƒ S )N)Ú_QUOPRI_MAPÚord)r   r   r   r   r	   {   s    ú
iso-8859-1c             C   s$   | sdS | j dƒjtƒ}d||f S )Nr   Úlatin1z=?%s?q?%s?=)r   Ú	translater   )Zheader_bytesÚcharsetÚencodedr   r   r   r      s    s   
éL   c             C   sŒ  |dk rt dƒ‚| s| S | jtƒ} d| }|d }g }|j}�x,| jƒ D �]}d}t|ƒd | }	x„||	kræ|| }
||
d  dkr¢||||
d … ƒ |
d }qd||
d  dkrÌ||||
… ƒ |
d }qd||||
… d ƒ |
}qdW |oö|d
 dk�rX||	 }|dk�rt|d ƒ}n(|dk�r2|d | }n|t|d ƒ }|||d… | ƒ qH|||d … ƒ qHW | d tk�r‚|d	ƒ |j|ƒS )Né   zmaxlinelen must be at least 4ú=r$   r   é   z 	r.   r   r%   r%   r%   r%   r%   r%   )	Ú
ValueErrorr5   Ú_QUOPRI_BODY_ENCODE_MAPr(   Ú
splitlinesr    r	   ÚCRLFÚjoin)ZbodyZ
maxlinelenÚeolZ
soft_breakZmaxlinelen1Zencoded_bodyr(   ÚlineÚstartZ	laststartÚstopZroomÚqr   r   r   r   ˜   sD    





c             C   s   | s| S d}xè| j ƒ D ]Ü}|jƒ }|s0||7 }qd}t|ƒ}x´||k rð|| }|dkrh||7 }|d7 }nv|d |kr€|d7 }q>n^|d |k rÎ||d  tkrÎ||d  tkrÎ|t|||d … ƒ7 }|d7 }n||7 }|d7 }||kr>||7 }q>W qW | d dk�r|j|ƒ�r|d d	… }|S )
Nr   r   r:   r$   r;   r.   z
r%   r%   )r>   Úrstripr    r   r
   Úendswith)r7   rA   ZdecodedrB   ÚiÚnr   r   r   r   r   ç   s8    

,
c             C   s   | j dƒ}t|ƒS )Nr   )Úgroupr
   )Úmatchr+   r   r   r   Ú_unquote_match  s    
rL   c             C   s    | j ddƒ} tjdt| tjd�S )Nr   r   z=[a-fA-F0-9]{2})Úflags)ÚreplaceÚreÚsubrL   ÚASCII)r+   r   r   r   r   #  s    )r   )r3   ) Ú__all__rO   Ústringr   r   r   r?   ÚNLZEMPTYSTRINGÚranger1   r   r   Úencoder   r   r2   r   r   r   r   r-   r
   r	   r   r=   r   r   r   r   rL   r   r   r   r   r   Ú<module>   sN   




O0