Your IP : 3.137.186.26


Current Path : /opt/alt/python35/lib64/python3.5/encodings/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/encodings/__pycache__/idna.cpython-35.opt-2.pyc



���]�#�@sddlZddlZddlZddlmZejd�ZdZdZdd�Z	dd	�Z
d
d�ZGdd
�d
ej�ZGdd�dej
�ZGdd�dej�ZGdd�deej�ZGdd�deej�Zdd�ZdS)�N)�	ucd_3_2_0u[.。.。]sxn--zxn--cCs}g}x6|D].}tj|�r%q
|jtj|��q
Wdj|�}tjd|�}x�|D]�}tj|�s�tj|�s�tj	|�s�tj
|�s�tj|�s�tj|�s�tj
|�s�tj|�s�tj|�rgtd|��qgWdd�|D�}x[|D]S}|r"tdd�|D��rStd��|d	si|dr"td��q"W|S)
N�ZNFKCzInvalid character %rcSsg|]}tj|��qS�)�
stringprepZin_table_d1)�.0�xrr�)/opt/alt/python35/lib64/python3.5/idna.py�
<listcomp>)s	znameprep.<locals>.<listcomp>css|]}tj|�VqdS)N)rZin_table_d2)rrrrr�	<genexpr>2sznameprep.<locals>.<genexpr>zViolation of BIDI requirement 2r�zViolation of BIDI requirement 3���)rZin_table_b1�appendZmap_table_b2�join�unicodedata�	normalizeZin_table_c12Zin_table_c22Zin_table_c3Zin_table_c4Zin_table_c5Zin_table_c6Zin_table_c7Zin_table_c8Zin_table_c9�UnicodeError�any)�labelZnewlabel�cZRandALrrr�namepreps4


rcCs*y|jd�}Wntk
r'Yn3Xdt|�koEdknrN|Std��t|�}y|jd�}Wntk
r�Yn3Xdt|�ko�dknr�|Std��|jt�r�td��|jd�}t|}dt|�kodknr|Std��dS)N�asciir�@zlabel empty or too longzLabel starts with ACE prefix�punycode)�encoder�lenr�
startswith�sace_prefix�
ace_prefix)rrrr�ToASCII>s,
"
"
"rcCst|t�rd}n4y|jd�}d}Wntk
rKd}YnX|s�t|�}y|jd�}Wntk
r�td��YnX|jt�s�t|d�S|tt�d�}|j	d�}t
|�}t|d�j�t|d�krtd||��|S)NTrFzInvalid character in IDN labelrzIDNA does not round-trip)�
isinstance�bytesrrrrr�strr�decoder�lower)rZ
pure_asciiZlabel1�resultZlabel2rrr�	ToUnicodeis*	



$r%c@s.eZdZddd�Zddd�ZdS)�Codec�strictcCsh|dkrtd|��|s&dSy|jd�}Wntk
rMYn�X|jd�}xF|dd�D]4}dt|�ko�dknsntd	��qnWt|d
�dkr�td
��|t|�fSt�}tj|�}|r|drd}|d=nd}x4|D],}|r7|jd�|jt|��qWt	||�t|�fS)Nr'zunsupported error handling �rr�.rrzlabel empty or too longzlabel too long)r(rrrrr)
rr�UnicodeEncodeError�splitr�	bytearray�dots�extendrr )�self�input�errorsr$�labelsr�trailing_dotrrrr�s4
"	


zCodec.encodecCs|dkrtd|��|s&d	St|t�sAt|�}t|kry|jd�t|�fSWntk
r~YnX|jd�}|r�t|d
�dkr�d}|d=nd}g}x!|D]}|jt	|��q�Wdj
|�|t|�fS)Nr'zUnsupported error handling rrrr)r�.)rrrr)rrr rr"r�UnicodeDecodeErrorr+r
r%r)r/r0r1r2r3r$rrrrr"�s(


zCodec.decodeN)�__name__�
__module__�__qualname__rr"rrrrr&�s%r&c@seZdZdd�ZdS)�IncrementalEncoderc	Cs�|dkrtd|��|s&dStj|�}d}|rt|ds[d}|d	=n|st|d
=|rtd}t�}d}xN|D]F}|r�|jd�|d7}|jt|��|t|�7}q�W||7}|t|�7}t|�|fS)Nr'zunsupported error handling r(rrr))r(rrrr)rr-r+r,r.rrr )	r/r0r1�finalr2r3r$�sizerrrr�_buffer_encode�s2

	



z!IncrementalEncoder._buffer_encodeN)r6r7r8r<rrrrr9�sr9c@seZdZdd�ZdS)�IncrementalDecoderc	Cs!|dkrtd|��|s&dSt|t�rGtj|�}nt|d�}|jd�}d}|r�|d	s�d}|d
=n|s�|d=|r�d}g}d}xA|D]9}|jt|��|r�|d7}|t|�7}q�Wdj|�|}|t|�7}||fS)Nr'zUnsupported error handling rrrr4r)rrrrr)	rrr!r-r+r
r%rr)	r/r0r1r:r2r3r$r;rrrr�_buffer_decode�s6



z!IncrementalDecoder._buffer_decodeN)r6r7r8r>rrrrr=�sr=c@seZdZdS)�StreamWriterN)r6r7r8rrrrr?$sr?c@seZdZdS)�StreamReaderN)r6r7r8rrrrr@'sr@cCs@tjdddt�jdt�jdtdtdtdt�S)	N�nameZidnarr"�incrementalencoder�incrementaldecoder�streamwriter�streamreader)	�codecs�	CodecInfor&rr"r9r=r?r@rrrr�getregentry,s	rH)r�rerFrr�compiler-rrrrr%r&�BufferedIncrementalEncoderr9�BufferedIncrementalDecoderr=r?r@rHrrrr�<module>s$0+)H#'

?>