�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 �i�g�#�@s�ddlZddlZddlZddlmZejd�ZdZdZdd�Z dd �Z d d �Z Gd 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}x(|D] }tj|�rq |jtj|��q Wdj|�}tjd|�}xr|D]j}tj|�s�tj|�s�tj |�s�tj |�s�tj |�s�tj |�s�tj |�s�tj|�s�tj|�rJtd|��qJWdd�|D�}t|��rtdd�|D��r�td��|d  p�|d  �rtd ��|S) N�ZNFKCzInvalid character %rcSsg|]}tj|��qS�)� stringprepZ in_table_d1)�.0�xrr�&/usr/lib64/python3.6/encodings/idna.py� )sznameprep..css|]}tj|�VqdS)N)rZ in_table_d2)rrrrr� 1sznameprep..zViolation of BIDI requirement 2r�zViolation of BIDI requirement 3�����)rZ in_table_b1�appendZ map_table_b2�join� unicodedataZ normalizeZ in_table_c12Z in_table_c22Z in_table_c3Z in_table_c4Z in_table_c5Z in_table_c6Z in_table_c7Z in_table_c8Z in_table_c9� UnicodeError�any)�labelZnewlabel�cZRandALrrr�namepreps2               rcCs�y|jd�}Wntk r"Yn*Xdt|�ko:dknrD|Std��t|�}y|jd�}Wntk rvYn*Xdt|�ko�dknr�|Std��|jt�r�td��|jd�}t|}dt|�ko�dknr�|Std��dS)N�asciir�@zlabel empty or too longzLabel starts with ACE prefix�punycode)�encoder�lenr� startswith� sace_prefix� ace_prefix)rrrr�ToASCII<�s,  rcCs�t|t�rd}n,y|jd�}d}Wntk r:d}YnX|stt|�}y|jd�}Wntk rrtd��YnX|jt�s�t|d�S|tt�d�}|j d�}t |�}t|d�j �t|d�kr�td||��|S)NTrFzInvalid character in IDN labelrzIDNA does not round-trip) � isinstance�bytesrrrrr�strr�decoder�lower)rZ pure_asciiZlabel1�resultZlabel2rrr� ToUnicodegs*       r$c@s eZdZddd�Zddd�ZdS) �Codec�strictc Cs|dkrtd|��|sd Sy|jd�}Wntk r>YnjX|jd�}x8|dd �D](}dt|�kordknsXtd ��qXWt|d �dkr�td ��|t|�fSt�}tj|�}|r�|d r�d}|d=nd}x(|D] }|r�|jd�|jt|��q�Wt ||�t|�fS)Nr&zunsupported error handling �rr�.r rzlabel 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|��|sd St|t�s.t|�}t|kr^y|jd�t|�fStk 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 ) rrrrr!r�UnicodeDecodeErrorr*r r$r)r.r/r0r1r2r#rrrrr!�s(    z Codec.decodeN)r&)r&)�__name__� __module__� __qualname__rr!rrrrr%�s %r%c@seZdZdd�ZdS)�IncrementalEncoderc Cs�|dkrtd|��|sdStj|�}d}|rT|dsBd}|d =n|sT|d =|rTd}t�}d}x<|D]4}|r~|jd�|d7}|jt|��|t|�7}qdW||7}|t|�7}t|�|fS) Nr&zunsupported error handling r'rr r()r'rr r r )rr,r*r+r-rrr) r.r/r0�finalr1r2r#�sizerrrr�_buffer_encode�s2     z!IncrementalEncoder._buffer_encodeN)r5r6r7r;rrrrr8�sr8c@seZdZdd�ZdS)�IncrementalDecoderc Cs�|dkrtd|��|sdSt|t�r2tj|�}nt|d�}|jd�}d}|rt|d sbd}|d =n|st|d =|rtd}g}d}x2|D]*}|jt|��|r�|d7}|t|�7}q�Wdj|�|}|t|�7}||fS) Nr&zUnsupported error handling rrrr3r )rrr r r ) rrr r,r*r r$rr) r.r/r0r9r1r2r#r:rrrr�_buffer_decode�s6       z!IncrementalDecoder._buffer_decodeN)r5r6r7r=rrrrr<��sr<�c@s eZdZdS)� StreamWriterN)r5r6r7rrrrr>"sr>c@s eZdZdS)� StreamReaderN)r5r6r7rrrrr?%sr?c Cs tjdt�jt�jttttd�S)NZidna)�namerr!�incrementalencoder�incrementaldecoder� streamwriter� streamreader) �codecs� CodecInfor%rr!r8r<�r>r?rrrr� getregentry*srG)r�rerErr�compiler,rrrrr$r%�BufferedIncrementalEncoderr8�BufferedIncrementalDecoderr<�r>r?rGrrrr�s  .+)H#'