�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` 3 \N�@s�dddgZddlZddlZddlZddlZddlmZddlmZm Z ddl m Z dZ d Z ejd �Zejd ej�ZGd d�d�ZGd d�de�ZdZGdd�de�Zeeejd��ZdeZejZdS)� Generator�DecodedGenerator�BytesGenerator�N)�deepcopy)�StringIO�BytesIO)�_has_surrogates�_� z \r\n|\r|\nz^From c@s�eZdZd&dd�dd�Zdd�Zd'dd �Zd d �Zd d �Zdd�Zdd�Z dd�Z dd�Z dd�Z dd�Z e Zdd�Zdd�Zdd�Zd d!�Zed(d"d#��Zed$d%��ZdS))rN)�policycCs6|dkr|dkrdn|j}||_||_||_||_dS)NT)� mangle_from_�_fp� _mangle_from_� maxheaderlenr )�self�outfpr rr �r�'/usr/lib64/python3.6/email/generator.py�__init__$s zGenerator.__init__cCs|jj|�dS)N)r �write)r�srrrrDszGenerator.writeFc Cs�|jdkr|jn|j}|dk r*|j|d�}|jdk rB|j|jd�}|j|_|j|j�|_d|_|j|j�|_|j}|j}zL||_||_|r�|j �}|s�dt j t j ��}|j ||j�|j |�Wd||_||_XdS)N)�linesep)�max_line_length�z From nobody )r �clonerr�_NL�_encode� _encoded_NLZ_EMPTY�_encoded_EMPTYZ get_unixfrom�timeZctimer�_write)r�msg�unixfromrr Zold_gen_policyZold_msg_policyZufromrrr�flattenHs,  zGenerator.flattencCs|j||jd|jd�S)N)r )� __class__rr )r�fprrrryszGenerator.clonecCst�S)N)r)rrrr� _new_buffer�szGenerator._new_buffercCs|S)Nr)rrrrrr�szGenerator._encodecCsX|sdStj|�}x*|dd�D]}|j|�|j|j�q W|drT|j|d�dS)N������r(r()�NLCRE�splitrr)r�lines�linerrr� _write_lines�s  zGenerator._write_linesc Cs�|j}z"d|_|j�|_}|j|�Wd||_|j}|`X|rht|�}|jd|d�|jd|d�t|dd�}|dkr�|j|�n||�|jj|j ��dS)Nzcontent-transfer-encodingrz content-typer'�_write_headers) r � _munge_cter&� _dispatchrZreplace_header�getattrr.r�getvalue)rr!ZoldfpZsfpZ munge_cte�methrrrr �s"   zGenerator._writecCst|j�}|j�}tj||f�jdd�}t|d|d�}|dkrh|jdd�}t|d|d�}|dkrh|j}||�dS)N�-r Z_handle_)�get_content_maintype�get_content_subtype� UNDERSCORE�join�replacer1� _writeBody)rr!�main�subZspecificr3Zgenericrrrr0�s zGenerator._dispatchcCs:x(|j�D]\}}|j|jj||��q W|j|j�dS)N)� raw_itemsrr Zfoldr)rr!�h�vrrrr.�szGenerator._write_headerscCs�|j�}|dkrdSt|t�s.tdt|���t|j�r~|jd�}|dk r~t|�}|d=|j ||�|j�}|d|df|_ |j r�t j d|�}|j|�dS)Nzstring payload expected: %s�charsetzcontent-transfer-encodingz content-typez>From )� get_payload� isinstance�str� TypeError�typer�_payloadZ get_paramrZ set_payloadr/r�fcrer<�r-)rr!�payloadr@rrr� _handle_text�s"      zGenerator._handle_textc Cs�g}|j�}|dkrg}n(t|t�r2|j|�dSt|t�sB|g}x>|D]6}|j�}|j|�}|j|d|jd�|j |j ��qHW|j �}|s�|j j |�}|j|�}|j|�|jdk r�|jr�tjd|j�} n|j} |j| �|j|j�|jd||j�|�r|jj|jd��x4|D],} |j|jd||j�|jj| ��qW|j|jd|d|j�|jdk �r�|j�r�tjd|j�} n|j} |j| �dS)NF)r"rz>From z--r)rArBrCr�listr&rr#r�appendr2Z get_boundaryrr8�_make_boundaryZ set_boundary�preamblerrGr<�r-r �pop�epilogue) rr!ZmsgtextsZsubparts�partr�g�boundaryZalltextrMZ body_partrOrrr�_handle_multipart�sJ             zGenerator._handle_multipartc Cs0|j}|jdd�|_z|j|�Wd||_XdS)Nr)r)r rrS)rr!�prrr�_handle_multipart_signed8s z"Generator._handle_multipart_signedcCs�g}x�|j�D]t}|j�}|j|�}|j|d|jd�|j�}|j|j�}|rx|d|jkrx|j |jj |dd���q|j |�qW|j j |jj |��dS)NF)r"rr'r(r() rAr&rr#rr2r*rrrKr8r r)rr!ZblocksrPrrQ�textr+rrr�_handle_message_delivery_statusCs  z)Generator._handle_message_delivery_statuscCs^|j�}|j|�}|j}t|t�rD|j|jd�d|jd�|j�}n |j |�}|j j |�dS)NrF)r"r) r&rrFrBrJr#rArr2rr r)rr!rrQrHrrr�_handle_messageXs    zGenerator._handle_messagecCsztjtj�}d t|d}|dkr(|S|}d}xD|jdtj|�dtj�}|j |�sZP|dt |�}|d7}q2W|S) N�=�z==rz^--z(--)?$�.r'z===============) �randomZ randrange�sys�maxsize�_fmt� _compile_re�re�escape� MULTILINE�searchrC)�clsrV�tokenrR�bZcounterZcrerrrrLqs   zGenerator._make_boundarycCs tj||�S)N)ra�compile)rer�flagsrrrr`�szGenerator._compile_re)NN)FN)N)�__name__� __module__� __qualname__rrr#rr&rr-r r0r.rIr:rSrUrWrX� classmethodrLr`rrrrrs(  1# :  csLeZdZdd�Zdd�Zdd�Zdd�Z�fd d �ZeZe d d ��Z �Z S) rcCs|jj|jdd��dS)N�ascii�surrogateescape)r r�encode)rrrrrr�szBytesGenerator.writecCst�S)N)r)rrrrr&�szBytesGenerator._new_buffercCs |jd�S)Nrn)rp)rrrrrr�szBytesGenerator._encodecCs<�x*|j�D]\}}|jj|jj||��q W|j|j�dS)N)r=r rr Z fold_binaryr)rr!r>r?rrrr.�szBytesGenerator._write_headerscs^|jdkrdSt|j�rJ|jjdk rJ|jrFrom ) rFrr Zcte_typerrGr<�r-�superrrI)rr!)r$rrrI�s zBytesGenerator._handle_textcCstj|jd�|�S)Nrn)rarhrp)rerrirrrr`�szBytesGenerator._compile_re) rjrkrlrr&rr.rIr:rmr`� __classcell__rr)r$rr�s  zD[Non-text (%(type)s) part of message omitted, filename %(filename)s]c@s$eZdZddd�dd�Zdd�ZdS)rN)r cCs.tj|||||d�|dkr$t|_n||_dS)N)r )rr�_FMTr_)rrr rZfmtr rrrr�s  zDecodedGenerator.__init__c Cs�x�|j�D]v}|j�}|dkr4t|jdd�|d�q |dkr>q t|j|j�|j�|j�|jd�|jdd�|jd d �d �|d�q WdS) NrVF)�decode)�fileZ multipartz [no filename]zContent-Descriptionz[no description]zContent-Transfer-Encodingz [no encoding])rE�maintype�subtype�filenameZ description�encoding) �walkr5�printrAr_Zget_content_typer6� get_filename�get)rr!rPrvrrrr0�s  zDecodedGenerator._dispatch)NNN)rjrkrlrr0rrrrr�sr'z%%0%dd)�__all__rar]rr\�copyr�iorrZ email.utilsrr7�NLrhr)rcrGrrrsr�len�reprr^Z_widthr_rLrrrr�s(    p3;