<!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>
3
2aI6                 @   sz  d ddddddddd	d
ddddgZ ddlZddlZddl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 ddl	mZ ddl	mZmZmZ ddlmZ dZdZdZdZdZejdZejdZdd Zdd Zd7d!dZd"d Zejd#ejej B Z!d$d% Z"d8d'dZ#d9d(dZ$d:d)dZ%d*d Z&d+d
 Z'd,d Z(d-d Z)d;d.dZ*ejd/ej+Z,d0d Z-d<d3d Z.d>d5d6Z/dS )?collapse_rfc2231_valuedecode_paramsdecode_rfc2231encode_rfc2231
formataddr
formatdateformat_datetimegetaddresses
make_msgid	mktime_tz	parseaddr	parsedateparsedate_tzparsedate_to_datetimeunquote    N)quote)AddressList)r
   )r   r   _parsedate_tz)Charsetz,  z
'z[][\\()<>@,:;".]z[\\"]c             C   s&   y| j   dS  tk
r    dS X d S )NFT)encodeUnicodeEncodeError)s r   */opt/alt/python36/lib64/python3.6/utils.py_has_surrogates3   s
    r   c             C   s   | j dd}|jddS )Nzutf-8surrogateescapereplace)r   decode)stringZoriginal_bytesr   r   r   	_sanitize@   s    r!   utf-8c             C   s   | \}}|j d |ry|j d W n8 tk
r\   t|trFt|}|j|}d||f S X d}tj|rpd}tj	d|}d||||f S |S )Nasciiz%s <%s>r   "z\\\g<0>z%s%s%s <%s>)
r   r   
isinstancestrr   Zheader_encode
specialsresearch	escapesresub)ZpaircharsetnameZaddressZencoded_nameZquotesr   r   r   r   L   s     



c             C   s   t j| }t|}|jS )N)
COMMASPACEjoin_AddressListaddresslist)Zfieldvaluesallar   r   r   r   n   s    
a_  
  =\?                   # literal =?
  (?P<charset>[^?]*?)   # non-greedy up to the next ? is the charset
  \?                    # literal ?
  (?P<encoding>[qb])    # either a "q" or a "b", case insensitive
  \?                    # literal ?
  (?P<atom>.*?)         # non-greedy up to the next ?= is the atom
  \?=                   # literal ?=
  c             C   sf   ddddddddg| d	  | d
 ddddddddddddg| d d  | d | d | d | d |f S )Nz"%s, %02d %s %04d %02d:%02d:%02d %sZMonZTueZWedZThuZFriZSatZSun      ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDec   r            r   )	timetuplezoner   r   r   _format_timetuple_and_zone   s    r;   Fc             C   sR   | d krt j  } |s|r,tjj| tjj}ntjj| }|rH|j }d}t||S )NF)timedatetimeZfromtimestamptimezoneutcZutcfromtimestamp
astimezoner   )timeval	localtimeusegmtdtr   r   r   r      s    c             C   sV   | j  }|r2| jd ks$| jtjjkr,tdd}n| jd krBd}n
| jd}t||S )Nz%usegmt option requires a UTC datetimeZGMTz-0000z%z)r9   tzinfor=   r>   r?   
ValueErrorZstrftimer;   )rD   rC   nowr:   r   r   r   r      s    

c             C   s^   t tj d }tj }tjd}| d kr0d} nd|  } |d krHtj }d|||| |f }|S )Nd   @   r   .z<%d.%d.%d%s@%s>)intr<   osgetpidrandomZgetrandbitssocketZgetfqdn)ZidstringdomainrA   pidZrandintZmsgidr   r   r   r	      s    

c             C   sN   t | ^ }}|d kr(tj|d d  S tj|d d dtjtj|diS )Nr3   rE   )seconds)r   r=   r>   	timedelta)dataZdtupletzr   r   r   r      s
    c             C   s   t | j}|sdS |d S )Nr   r   )r   r   )r/   r0   )ZaddrZaddrsr   r   r   r      s    
c             C   s`   t | dkr\| jdr<| jdr<| dd jddjddS | jdr\| jdr\| dd	 S | S )
Nr5   r$   z\\\z\"<>rY   )len
startswithendswithr   )r&   r   r   r   r      s    c             C   s&   | j td}t|dkr"d d | fS |S )Nr4   )splitTICKrZ   )r   partsr   r   r   r      s    
c             C   sD   t jj| d|pdd} |d kr*|d kr*| S |d kr6d}d||| f S )Nr   r#   )Zsafeencodingz%s'%s'%s)urllibparser   )r   r+   languager   r   r   r      s    z&^(?P<name>\w+)\*((?P<num>[0-9]+)\*?)?$c             C   sx  | d d  } g }i }| j d\}}|j||f x| r| j d\}}|jdrTd}nd}t|}tj|}|r|jdd\}}|d k	rt|}|j|g j|||f q2|j|dt	| f q2W |rtx|j
 D ]\}}g }d}	|j  x6|D ].\}}
}|rtjj|
dd	}
d}	|j|
 qW t	tj|}|	r^t|\}}}|j|||d| ff q|j|d| f qW |S )
Nr   *TFr,   numz"%s"zlatin-1)r`   )popappendr\   r   rfc2231_continuationmatchgrouprK   
setdefaultr   itemssortra   rb   EMPTYSTRINGr.   r   )paramsZ
new_paramsZrfc2231_paramsr,   valueZencodedmore   ZcontinuationsZextendedr   r+   rc   r   r   r   r     sD    

r   us-asciic             C   sj   t | t st| dkr t| S | \}}}|d kr6|}t|d}yt|||S  tk
rd   t|S X d S )Nr6   zraw-unicode-escape)r%   tuplerZ   r   bytesr&   LookupError)rp   errorsZfallback_charsetr+   rc   textZrawbytesr   r   r   r   E  s    

r5   c       	      C   s  | d krt j jt jjj S | jd k	r.| j S | j d d |f }tj|}tj	|}y t j
|jd}t j||j}W n tk
r   | t j tj|d d   }tjo|jdk}|rtjntj }|t j
|dkrt j|tj| }n
t j|}Y nX | j|dS )Nr5   )rR   r3   r   )rE   rY   )r=   rG   r>   r?   r@   rE   r9   r<   ZmktimerB   rS   Z	tm_gmtoffZtm_zoneAttributeErrorZgmtimeZdaylightZtm_isdstZaltzoneZtznamer   )	rD   ZisdstZtmrR   ZlocaltmZdeltarU   dstZgmtoffr   r   r   rB   _  s$    


rB   )r"   )NFF)F)NN)NN)r   rr   rY   )NrY   )0__all__rL   rer<   rN   rO   r=   Zurllib.parsera   Zemail._parseaddrr   r   r/   r
   r   r   r   Zemail.charsetr   r-   rn   ZUEMPTYSTRINGZCRLFr^   compiler'   r)   r   r!   r   r   VERBOSE
IGNORECASEZecrer;   r   r   r	   r   r   r   r   r   ASCIIrh   r   r   rB   r   r   r   r   <module>   sl   


"	



8 
