£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    YI~dX                 @   s   d dgZ ddlZddlmZ ddlmZ ddlmZ ddlm	Z	 e
dZe
d	Ze
d
Ze
d	Ze
dZdZdZe ZG dd deZG dd  d ZG dd deZdS )
FeedParserBytesFeedParser    N)errors)compat32)deque)StringIOz
\r\n|\r|\nz(\r\n|\r|\n)z(\r\n|\r|\n)\Zz%^(From |[\041-\071\073-\176]*:|[\t ]) 
c               @   s\   e Z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
dd Zdd ZdS )BufferedSubFilec             C   s$   t dd| _t | _g | _d| _d S )Nr   )newlineF)r   _partialr   _lines	_eofstack_closed)self r   5/opt/alt/python37/lib64/python3.7/email/feedparser.py__init__5   s    zBufferedSubFile.__init__c             C   s   | j | d S )N)r   append)r   Zpredr   r   r   push_eof_matcher@   s    z BufferedSubFile.push_eof_matcherc             C   s
   | j  S )N)r   pop)r   r   r   r   pop_eof_matcherC   s    zBufferedSubFile.pop_eof_matcherc             C   s<   | j d | | j   | j d | j   d| _d S )Nr   T)r   seek	pushlines	readlinestruncater   )r   r   r   r   closeF   s
    
zBufferedSubFile.closec             C   sN   | j s| jrdS tS | j  }x*t| jD ]}||r*| j | dS q*W |S )Nr   )r   r   NeedMoreDatapopleftreversedr   
appendleft)r   lineZateofr   r   r   readlineN   s    
zBufferedSubFile.readlinec             C   s   | j | d S )N)r   r    )r   r!   r   r   r   
unreadline`   s    zBufferedSubFile.unreadlinec             C   sx   | j | d|kr d|kr d S | j d | j  }| j d | j   |d dsj| j |  | | d S )Nr	   r   )r   writer   r   r   endswithr   r   )r   datapartsr   r   r   pushe   s    

zBufferedSubFile.pushc             C   s   | j | d S )N)r   extend)r   linesr   r   r   r   z   s    zBufferedSubFile.pushlinesc             C   s   | S )Nr   )r   r   r   r   __iter__}   s    zBufferedSubFile.__iter__c             C   s   |   }|dkrt|S )Nr   )r"   StopIteration)r   r!   r   r   r   __next__   s    zBufferedSubFile.__next__N)__name__
__module____qualname__r   r   r   r   r"   r#   r*   r   r-   r/   r   r   r   r   r
   -   s   r
   c               @   s\   e Zd Zde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dS )r   N)policyc            C   s   || _ d| _|d kr<|jd kr2ddlm} || _qn|j| _n2|| _y|| j d W n tk
rl   d| _Y nX t | _g | _	| 
 j| _d | _d | _d| _d S )NFr   )Message)r3   T)r3   _old_style_factoryZmessage_factoryZemail.messager4   _factory	TypeErrorr
   _input	_msgstack	_parsegenr/   _parse_cur_last_headersonly)r   r6   r3   r4   r   r   r   r      s$    

zFeedParser.__init__c             C   s
   d| _ d S )NT)r>   )r   r   r   r   _set_headersonly   s    zFeedParser._set_headersonlyc             C   s   | j | |   d S )N)r8   r*   _call_parse)r   r(   r   r   r   feed   s    zFeedParser.feedc             C   s&   y|    W n tk
r    Y nX d S )N)r;   r.   )r   r   r   r   r@      s    zFeedParser._call_parsec             C   sH   | j   |   |  }| dkrD| sDt }| j	|| |S )N	multipart)
r8   r   r@   _pop_messageget_content_maintypeZis_multipartr   Z!MultipartInvariantViolationDefectr3   handle_defect)r   rootdefectr   r   r   r      s    
zFeedParser.closec             C   sn   | j r|  }n| j| jd}| jr<| j dkr<|d | jrR| jd | | j| || _|| _	d S )N)r3   zmultipart/digestzmessage/rfc822r%   )
r5   r6   r3   r<   get_content_typeZset_default_typer9   Zattachr   r=   )r   msgr   r   r   _new_message   s    

zFeedParser._new_messagec             C   s(   | j  }| j r| j d | _nd | _|S )Nr%   )r9   r   r<   )r   retvalr   r   r   rC      s
    
zFeedParser._pop_messagec             c   s:  |    g }xb| jD ]X}|tkr(tV  qt|sbt|s`t }| j	| j
| | j| P || qW | | | jrg }x2| j }|tkrtV  q|dkrP || qW | j
t| d S | j
 dkrx| jtj x$|  D ]}|tkrtV  qP qW |  }| j  x&| j }|tkrFtV  q(P q(W x&| j }|tkrntV  qPP qPW |dkrP | j| qW d S | j
 dkrx(|  D ]}|tkrtV  qP qW |   d S | j
 dkr| j
 }|d krbt }| j	| j
| g }x.| jD ]$}|tkr<tV  q$|| q$W | j
t| d S t| j
dd dkrt }| j	| j
| d| }t d	t!| d
 }	d}
g }d}d}x| j }|tkrtV  q|dkrP |	|}|r|"dr d}|"d}P |
r|rn|d }t#$|}|r`|d t%|"d  |d< t|| j
_&d}
| j| qxB| j }|tkrtV  q|	|}|s| j| P qW | j|	j x(|  D ]}|tkrtV  qP qW | j' dkrf| j'j(}|dkr*d | j'_(n:|d k	rt#$|}|rt%|"d}|d |  | j'_(nD| j'j)}t*|trt#$|}|r|d t%|"d  }|| j'_)| j  |   | j
| _'n
|| qW |
rBt+ }| j	| j
| | j
t| g }x$| jD ]}|tkrtV  qqW t|| j
_(d S |sdt, }| j	| j
| d S |rrdg}ng }x.| jD ]$}|tkrtV  q~|| q~W |r|d }t-|}|r|t%|"dd  |d< t|| j
_(d S g }x.| jD ]$}|tkrtV  q|| qW | j
t| d S )Nr   zmessage/delivery-statusmessagerB   zcontent-transfer-encoding8bit)Z7bitrM   Zbinaryz--z(?P<sep>z4)(?P<end>--)?(?P<ws>[ \t]*)(?P<linesep>\r\n|\r|\n)?$TFendlinesepr%   r   ).rJ   r8   r   headerREmatchNLCREr   Z MissingHeaderBodySeparatorDefectr3   rE   r<   r#   r   _parse_headersr>   r"   Zset_payloadEMPTYSTRINGjoinrH   r   r:   rC   r   rD   Zget_boundaryZNoBoundaryInMultipartDefectstrgetlowerZ-InvalidMultipartContentTransferEncodingDefectrecompileescapegroup	NLCRE_eolsearchlenpreambler=   epilogueZ_payload
isinstanceZStartBoundaryNotFoundDefectZCloseBoundaryNotFoundDefect	NLCRE_bol)r   Zheadersr!   rG   r,   rK   rI   boundaryZ	separatorZ
boundaryreZcapturing_preambler`   rO   Zclose_boundary_seenmoZlastlineZeolmora   rN   Zpayload	firstlineZbolmor   r   r   r:      sf   




































zFeedParser._parsegenc       	      C   s\  d}g }x2t |D ]$\}}|d dkrV|sJt|}| j| j| q|| q|rx| jj| j|  dg  }}|	dr|dkrt
|}|r|d t|d  }| j| qn:|t|d kr| j| d S t|}| jj| q|d}|dkr(td}| jj| q|d | }|g}qW |rX| jj| j|  d S )Nr   r   z 	zFrom    :zMissing header name.)	enumerater   Z#FirstHeaderLineIsContinuationDefectr3   rE   r<   r   Zset_rawZheader_source_parse
startswithr]   r^   r_   r\   Zset_unixfromr8   r#   ZMisplacedEnvelopeHeaderDefectZdefectsfindZInvalidHeaderDefect)	r   r,   Z
lastheaderZ	lastvaluelinenor!   rG   re   ir   r   r   rS     sF    









zFeedParser._parse_headers)N)r0   r1   r2   r   r   r?   rA   r@   r   rJ   rC   r:   rS   r   r   r   r   r      s    ~c                   s   e Zd Z fddZ  ZS )r   c                s   t  |dd d S )Nasciisurrogateescape)superrA   decode)r   r(   )	__class__r   r   rA     s    zBytesFeedParser.feed)r0   r1   r2   rA   __classcell__r   r   )rr   r   r     s   )__all__rY   Zemailr   Zemail._policybaser   collectionsr   ior   rZ   rR   rc   r]   ZNLCRE_crackrP   rT   NLobjectr   r
   r   r   r   r   r   r   <module>   s&   




[   