<!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>

]M                 @   s  d  d d g 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 d l
 m Z d Z d	 Z e j d
  Z e j d e j  Z Gd d    d   Z Gd d   d e  Z d Z Gd d   d e  Z e e e j d   Z d e Z e j Z d S)	GeneratorDecodedGeneratorBytesGenerator    N)deepcopy)StringIOBytesIO)_has_surrogates_
z
\r\n|\r|\nz^From c               @   s  e  Z d  Z d d d d d d Z d d   Z d d d d	  Z d
 d   Z d d   Z d d   Z d d   Z	 d d   Z
 d d   Z d d   Z d d   Z e Z d d   Z d d   Z d d   Z d  d!   Z e d d" d#   Z e d$ d%    Z d S)&r   Npolicyc            C   sO   | d  k r' | d  k r d n | j  } | |  _ | |  _ | |  _ | |  _ d  S)NT)mangle_from__fp_mangle_from_maxheaderlenr   )selfoutfpr   r   r    r   ./opt/alt/python35/lib64/python3.5/generator.py__init__$   s    			zGenerator.__init__c             C   s   |  j  j |  d  S)N)r   write)r   sr   r   r   r   D   s    zGenerator.writeFc             C   s6  |  j  d  k r | j  n |  j  } | d  k	 r? | j d |  } |  j d  k	 rc | j d |  j  } | j |  _ |  j |  j  |  _ d |  _ |  j |  j  |  _ |  j  } | j  } zh | |  _  | | _  | r| j	   } | s d t
 j t
 j
    } |  j | |  j  |  j |  Wd  | |  _  | | _  Xd  S)Nlinesepmax_line_length zFrom nobody )r   cloner   r   _NL_encode_encoded_NLZ_EMPTY_encoded_EMPTYZget_unixfromtimectimer   _write)r   msgunixfromr   r   Zold_gen_policyZold_msg_policyZufromr   r   r   flattenH   s,    !						zGenerator.flattenc             C   s   |  j  | |  j d  d |  j S)Nr   )	__class__r   r   )r   fpr   r   r   r   y   s    	zGenerator.clonec             C   s   t    S)N)r   )r   r   r   r   _new_buffer   s    zGenerator._new_bufferc             C   s   | S)Nr   )r   r   r   r   r   r      s    zGenerator._encodec             C   sp   | s
 d  St  j |  } x5 | d  d  D]# } |  j |  |  j |  j  q* W| d rl |  j | d  d  S)N   r)   r)   )NLCREsplitr   r   )r   linesliner   r   r   _write_lines   s    
zGenerator._write_linesc             C   s   |  j  } z- d  |  _ |  j   |  _  } |  j |  Wd  | |  _  |  j } |  ` X| r t |  } | j d | d  | j d | d  t | d d   } | d  k r |  j |  n
 | |   |  j  j | j	    d  S)Nzcontent-transfer-encodingr   zcontent-typer(   _write_headers)
r   
_munge_cter'   	_dispatchr   Zreplace_headergetattrr/   r   getvalue)r   r"   ZoldfpZsfpZ	munge_ctemethr   r   r   r!      s"    				
zGenerator._writec             C   s   | j    } | j   } t j | | f  j d d  } t |  d | d   } | d  k r | j d d  } t |  d | d   } | d  k r |  j } | |  d  S)N-r	   Z_handle_)get_content_maintypeget_content_subtype
UNDERSCOREjoinreplacer2   
_writeBody)r   r"   mainsubZspecificr4   Zgenericr   r   r   r1      s    !	zGenerator._dispatchc             C   sM   x6 | j    D]( \ } } |  j |  j j | |   q W|  j |  j  d  S)N)	raw_itemsr   r   Zfoldr   )r   r"   hvr   r   r   r/      s     zGenerator._write_headersc             C   s   | j    } | d  k r d  St | t  sA t d t |    t | j  r | j d  } | d  k	 r t |  } | d =| j	 | |  | j    } | d | d f |  _
 |  j r t j d |  } |  j |  d  S)Nzstring payload expected: %scharsetzcontent-transfer-encodingzcontent-typez>From )get_payload
isinstancestr	TypeErrortyper   _payloadZ	get_paramr   Zset_payloadr0   r   fcrer=   r.   )r   r"   payloadrA   r   r   r   _handle_text   s"    	zGenerator._handle_textc             C   s4  g  } | j    } | d  k r' g  } n8 t | t  rG |  j |  d  St | t  s_ | g } xX | D]P } |  j   } |  j |  } | j | d d d |  j | j	 | j
    qf W| j   } | s |  j j |  } |  j |  } | j |  | j d  k	 rP|  j r*t j d | j  }	 n	 | j }	 |  j |	  |  j |  j  |  j d | |  j  | r|  j j | j d   x= | D]5 }
 |  j |  j d | |  j  |  j j |
  qW|  j |  j d | d |  j  | j d  k	 r0|  j rt j d | j  } n	 | j } |  j |  d  S)Nr#   Fr   z>From z--r   )rB   rC   rD   r   listr'   r   r$   r   appendr3   Zget_boundaryr   r9   _make_boundaryZset_boundarypreambler   rH   r=   r.   r   popepilogue)r   r"   ZmsgtextsZsubpartspartr   gboundaryZalltextrN   Z	body_partrP   r   r   r   _handle_multipart   sJ    				#		zGenerator._handle_multipartc             C   s@   |  j  } | j d d  |  _  z |  j |  Wd  | |  _  Xd  S)Nr   r   )r   r   rT   )r   r"   pr   r   r   _handle_multipart_signed8  s
    	z"Generator._handle_multipart_signedc             C   s   g  } x | j    D] } |  j   } |  j |  } | j | d d d |  j | j   } | j |  j  } | r | d |  j k r | j	 |  j j
 | d  d    q | j	 |  q W|  j j |  j j
 |   d  S)Nr#   Fr   r(   r)   r)   )rB   r'   r   r$   r   r3   r+   r   r   rL   r9   r   r   )r   r"   ZblocksrQ   r   rR   textr,   r   r   r   _handle_message_delivery_statusC  s    &z)Generator._handle_message_delivery_statusc             C   s   |  j    } |  j |  } | j } t | t  rg | j | j d  d d d |  j | j   } n |  j	 |  } |  j
 j |  d  S)Nr   r#   Fr   )r'   r   rG   rC   rK   r$   rB   r   r3   r   r   r   )r   r"   r   rR   rI   r   r   r   _handle_messageX  s    
	%zGenerator._handle_messagec             C   s   t  j t j  } d	 t | d } | d  k r4 | S| } d } xX |  j d t j |  d t j  } | j	 |  sy P| d t
 |  } | d 7} qC W| S)
N=   z==r   z^--z(--)?$.r(   z===============)random	randrangesysmaxsize_fmt_compile_rereescape	MULTILINEsearchrD   )clsrW   tokenrS   bZcounterZcrer   r   r   rM   q  s    &zGenerator._make_boundaryc             C   s   t  j | |  S)N)rc   compile)rg   r   flagsr   r   r   rb     s    zGenerator._compile_re)__name__
__module____qualname__r   r   r$   r   r'   r   r.   r!   r1   r/   rJ   r;   rT   rV   rX   rY   classmethodrM   rb   r   r   r   r   r      s(   
	1#
:c                   sj   e  Z d  Z d d   Z d d   Z d d   Z d d   Z   f d	 d
   Z e Z e	 d d    Z
   S)r   c             C   s    |  j  j | j d d   d  S)Nasciisurrogateescape)r   r   encode)r   r   r   r   r   r     s    zBytesGenerator.writec             C   s   t    S)N)r   )r   r   r   r   r'     s    zBytesGenerator._new_bufferc             C   s   | j  d  S)Nrp   )rr   )r   r   r   r   r   r     s    zBytesGenerator._encodec             C   sP   x9 | j    D]+ \ } } |  j j |  j j | |   q W|  j |  j  d  S)N)r>   r   r   r   Zfold_binaryr   )r   r"   r?   r@   r   r   r   r/     s    #zBytesGenerator._write_headersc                s   | j  d  k r d  St | j   ri |  j j d k ri |  j rV t j d | j   | _  |  j | j   n t t	 |   j
 |  d  S)NZ7bitz>From )rG   r   r   Zcte_typer   rH   r=   r.   superr   rJ   )r   r"   )r%   r   r   rJ     s    "	zBytesGenerator._handle_textc             C   s   t  j | j d  |  S)Nrp   )rc   rj   rr   )rg   r   rk   r   r   r   rb     s    zBytesGenerator._compile_re)rl   rm   rn   r   r'   r   r/   rJ   r;   ro   rb   r   r   )r%   r   r     s   zD[Non-text (%(type)s) part of message omitted, filename %(filename)s]c               @   s1   e  Z d  Z d d d d d  Z d d   Z d S)r   NN   c             C   s;   t  j |  | | |  | d  k r. t |  _ n	 | |  _ d  S)N)r   r   _FMTra   )r   r   r   r   fmtr   r   r   r     s    zDecodedGenerator.__init__c             C   s   x | j    D] } | j   } | d k rJ t | j d d  d |  q | d k rY q t |  j d | j   d | j   d | j   d	 | j d
  d | j d d  d | j d d  i d |  q Wd  S)NrW   decodeFfileZ	multipartrF   maintypesubtypefilenamez[no filename]descriptionzContent-Descriptionz[no description]encodingzContent-Transfer-Encodingz[no encoding])	walkr6   printrB   ra   Zget_content_typer7   get_filenameget)r   r"   rQ   ry   r   r   r   r1     s     	zDecodedGenerator._dispatch)rl   rm   rn   r   r1   r   r   r   r   r     s   r(   z%%0%dd)__all__rc   r_   r   r]   copyr   ior   r   Zemail.utilsr   r8   NLrj   r*   re   rH   r   r   ru   r   lenreprr`   _widthra   rM   r   r   r   r   <module>   s&    o39
