
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,a�(  ã                   @   sÊ   d dl Z d dlZd dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ ddd	d
ddddgZe  d¡ZeG dd
„ d
eƒƒZeƒ Ze`ejdd�Zejdd�Zejddd�Zejdd�ZdS )é    N)ÚPolicyÚCompat32Úcompat32Ú_extend_docstrings)Ú_has_surrogates)ÚHeaderRegistry)Úraw_data_manager)ÚEmailMessager   r   r   ÚEmailPolicyÚdefaultÚstrictÚSMTPÚHTTPz\n|\rc                       sl   e Zd ZeZdZdZeƒ Ze	Z
‡ fdd„Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zddd„Z‡  ZS )r
   FÚlongc                    s*   d|krt  | dtƒ ¡ tƒ jf |Ž d S )NÚheader_factory)ÚobjectÚ__setattr__r   ÚsuperÚ__init__)ÚselfÚkw©Ú	__class__© ú1/opt/alt/python38/lib64/python3.8/email/policy.pyr   ]   s    zEmailPolicy.__init__c                 C   s   | j | jS ©N)r   Z	max_count)r   Únamer   r   r   Úheader_max_countd   s    zEmailPolicy.header_max_countc                 C   s>   |d   dd¡\}}| d¡d |dd … ¡ }|| d¡fS )Nr   ú:é   z 	Ú ú
)ÚsplitÚlstripÚjoinÚrstrip)r   Zsourcelinesr   Úvaluer   r   r   Úheader_source_parsev   s    	zEmailPolicy.header_source_parsec                 C   sV   t |dƒr$|j ¡ | ¡ kr$||fS t|tƒrFt| ¡ ƒdkrFtdƒ‚||  ||¡fS )Nr   r   zDHeader values may not contain linefeed or carriage return characters)	Úhasattrr   ÚlowerÚ
isinstanceÚstrÚlenÚ
splitlinesÚ
ValueErrorr   ©r   r   r&   r   r   r   Úheader_store_parseƒ   s
    
zEmailPolicy.header_store_parsec                 C   s*   t |dƒr|S d t |¡¡}|  ||¡S )Nr   r    )r(   r$   Úlinesep_splitterr"   r   r/   r   r   r   Úheader_fetch_parse–   s    	
zEmailPolicy.header_fetch_parsec                 C   s   | j ||dd�S )NT©Úrefold_binary)Ú_foldr/   r   r   r   Úfold¥   s    zEmailPolicy.foldc                 C   s0   | j ||| jdkd�}| jr dnd}| |d¡S )NZ7bitr3   Úutf8ÚasciiÚsurrogateescape)r5   Zcte_typer7   Úencode)r   r   r&   ZfoldedÚcharsetr   r   r   Úfold_binaryº   s    zEmailPolicy.fold_binaryc                    sÆ   t |dƒr|j| d�S | jr"| jntj‰ | ¡ }| jdkp€| jdko€|rdt|d ƒt|ƒ d ˆ kp€t‡ fdd„|d	d … D ƒƒ}|s’|r¬t	|ƒr¬|  
|d
 |¡¡j| d�S |d | j |¡ | j S )Nr   )ZpolicyÚallr   r   é   c                 3   s   | ]}t |ƒˆ kV  qd S r   )r,   )Ú.0Úx©Úmaxlenr   r   Ú	<genexpr>Ô   s     z$EmailPolicy._fold.<locals>.<genexpr>r   r    z: )r(   r6   Úmax_line_lengthÚsysÚmaxsizer-   Úrefold_sourcer,   Úanyr   r   r$   Úlinesep)r   r   r&   r4   ÚlinesZrefoldr   rA   r   r5   Ì   s    


 ýzEmailPolicy._fold)F)Ú__name__Ú
__module__Ú__qualname__r	   Zmessage_factoryr7   rG   r   r   r   Zcontent_managerr   r   r'   r0   r2   r6   r<   r5   Ú__classcell__r   r   r   r   r
      s   =T)Zraise_on_defectr!   )rI   )rI   rD   )r7   )ÚrerE   Zemail._policybaser   r   r   r   Zemail.utilsr   Zemail.headerregistryr   Zemail.contentmanagerr   Zemail.messager	   Ú__all__Úcompiler1   r
   r   r   Zcloner   r   r   ZSMTPUTF8r   r   r   r   Ú<module>   s2   ø
 @