HEX
Server: Apache/2.4.65 (Unix) OpenSSL/1.1.1k
System: Linux vps109042.inmotionhosting.com 4.18.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
User: cisa (1010)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //opt/imh-python/lib/python3.9/email/__pycache__/utils.cpython-39.opt-2.pyc
a

c�h�3�@sLgd�ZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	m
Z
ddl	mZmZmZddlmZdZd	Zd	Zd
ZdZe�d�Ze�d
�Zdd�Zdd�Zd4dd�Zdd�Zdd�Zd5dd�Z d6dd�Z!d7dd�Z"d d!�Z#d"d#�Z$d$d%�Z%d&d'�Z&d8d(d)�Z'e�d*ej(�Z)d+d,�Z*d9d/d0�Z+d:d2d3�Z,dS);)�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[\\"]cCs(z|��WdSty"YdS0dS)NFT)�encode�UnicodeEncodeError)�s�r�,/opt/imh-python/lib/python3.9/email/utils.py�_has_surrogates3s
rcCs|�dd�}|�dd�S)N�utf-8�surrogateescape�replace)r�decode)�stringZoriginal_bytesrrr�	_sanitize@sr"rcCs�|\}}|�d�|r�z|�d�Wn:ty^t|t�rDt|�}|�|�}d||fYS0d}t�|�rrd}t�	d|�}d||||fS|S)N�asciiz%s <%s>r�"z\\\g<0>z%s%s%s <%s>)
rr�
isinstance�strrZ
header_encode�
specialsre�search�	escapesre�sub)Zpair�charset�name�addressZencoded_nameZquotesrrrrLs 




rcCs"t�dd�|D��}t|�}|jS)Ncss|]}t|�VqdS)N�r&)�.0�vrrr�	<genexpr>p�zgetaddresses.<locals>.<genexpr>)�
COMMASPACE�join�_AddressList�addresslist)Zfieldvalues�all�arrrrnsrc	CsHdgd�|d|dgd�|dd|d|d|d	|d
|fS)Nz"%s, %02d %s %04d %02d:%02d:%02d %s)ZMonZTueZWedZThuZFriZSatZSun��)ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDec�r���r)�	timetuple�zonerrr�_format_timetuple_and_zoneus
��rAFcCsR|durt��}|s|r,tj�|tjj�}ntj�|�}|rH|��}d}t||�S)NF)�time�datetimeZ
fromtimestamp�timezone�utcZutcfromtimestamp�
astimezoner)�timeval�	localtime�usegmt�dtrrrr~srcCsV|��}|r2|jdus$|jtjjkr,td��d}n|jdurBd}n
|�d�}t||�S)Nz%usegmt option requires a UTC datetimeZGMTz-0000z%z)r?�tzinforCrDrE�
ValueError�strftimerA)rJrI�nowr@rrrr�s

rcCs^tt��d�}t��}t�d�}|dur0d}nd|}|durHt��}d|||||f}|S)N�d�@r�.z<%d.%d.%d%s@%s>)�intrB�os�getpid�random�getrandbits�socket�getfqdn)Zidstring�domainrG�pid�randintZmsgidrrrr	�s

r	cCsNt|��^}}|dur(tj|dd��Stj|dd�dt�tj|d��i�S)Nr9rK��seconds)rrCrD�	timedelta)�dataZdtuple�tzrrrr�s�rcCst|�j}|sdS|dS)N)rrr)r5r6)�addrZaddrsrrrr�s
rcCs`t|�dkr\|�d�r<|�d�r<|dd��dd��dd�S|�d�r\|�d�r\|dd�S|S)	Nr;r$���z\\�\z\"�<�>)�len�
startswith�endswithrr.rrrr�srcCs&|�td�}t|�dkr"dd|fS|S)Nr:)�split�TICKrf)r�partsrrrr�s
rcCsDtjj|d|pdd�}|dur*|dur*|S|dur6d}d|||fS)Nrr#)�safe�encodingz%s'%s'%s)�urllib�parser)rr+�languagerrrr�srz&^(?P<name>\w+)\*((?P<num>[0-9]+)\*?)?$c
Cs@|dg}i}|dd�D]x\}}|�d�}t|�}t�|�}|r||�dd�\}}|durbt|�}|�|g��|||f�q|�|dt|�f�q|�r<|�	�D]�\}}g}d}	|�
�|D],\}}
}|r�tjj|
dd	�}
d
}	|�|
�q�tt
�|��}|	�r(t|�\}}}|�|||d|ff�q�|�|d|f�q�|S)Nrr;�*r,�numz"%s"Fzlatin-1)rmT)rhr�rfc2231_continuation�match�grouprR�
setdefault�appendr�items�sortrnro�EMPTYSTRINGr4r)
�params�
new_paramsZrfc2231_paramsr,�value�encoded�morrZ
continuationsZextendedrr+rprrrrs8


rr�us-asciicCslt|t�rt|�dkrt|�S|\}}}|dur4|}t|d�}zt|||�WStyft|�YS0dS)Nr<zraw-unicode-escape)r%�tuplerfr�bytesr&�LookupError)r}�errorsZfallback_charsetr+rp�textZrawbytesrrrr1s

rrbc	Cs|durtj�tjj���S|jdur.|��S|��dd�|f}t�|�}t�	|�}z tj
|jd�}t�||j�}Wn~t
y�|tjt�|�dd��}tjo�|jdk}|r�tjntj}|tj
|d�kr�t�|tj|�}n
t�|�}Yn0|j|d�S)Nrbr\r9r)rK)rCrNrDrErFrKr?rB�mktimerHr^�	tm_gmtoff�tm_zone�AttributeError�gmtime�daylight�tm_isdst�altzone�tznamer)	rJZisdstZtmr]ZlocaltmZdeltar`�dstZgmtoffrrrrHKs$


rH)r)NFF)F)NN)NN)rr�)Nrb)-�__all__rS�rerBrUrWrC�urllib.parsernZemail._parseaddrrrr5r
rr
rZ
email.charsetrr3rzZUEMPTYSTRINGZCRLFrj�compiler'r)rr"rrrArrr	rrrrr�ASCIIrsrrrHrrrr�<module>sP



"	



�0�