3 \á ã @ sÖ d dl Z dd„ Zdd„ Zdd„ Zdd „ Zd d„ ZdZd d„ Zdd„ Zdd„ Z dd„ Z dd„ Zdd„ Zdd„ Z G dd„ de jƒZG dd„ de jƒZG dd „ d e jƒZG d!d"„ d"ee jƒZG d#d$„ d$ee jƒZd%d&„ ZdS )'é Nc C sT t ƒ }tƒ }x2| D ]*}t|ƒdk r2|jt|ƒƒ q|j|ƒ qW t|ƒ}t|ƒ|fS )Né€ )Ú bytearrayÚsetÚordÚappendÚaddÚsortedÚbytes)ÚstrÚbaseÚextendedÚc© r ú*/usr/lib64/python3.6/encodings/punycode.pyÚ segregate s r c C s* d}x | D ]}t |ƒ|k r |d7 }q W |S )Nr é )r )r ÚmaxÚresr r r r Ú selective_len s r c C sR t | ƒ}xD|d7 }||krdS | | }||kr:|d |fS ||k r |d7 }q W d S )Nr éÿÿÿÿr )r r )Úlen)r ÚcharÚindexÚposÚlr r r r Úselective_find s r c C s� d}g }d}x~|D ]v}d }}t |ƒ}t| |ƒ} | d || } xBt| |||ƒ\}}|dkr^P | || 7 } |j| d ƒ |}d} qBW |}qW |S )Nr r r r r r )r r r r )r r ZoldcharÚresultZoldindexr r r r ZcurlenÚdeltar r r Úinsertion_unsort0 s$ r c C s, d| d | }|dk rdS |dkr(dS |S )Né$ r é r )ÚjÚbiasr r r r ÚTF s r# s$ abcdefghijklmnopqrstuvwxyz0123456789c C sr t ƒ }d}xbt||ƒ}| |k r4|jt| ƒ t|ƒS |jt|| | d| ƒ | | d| } |d7 }qW d S )Nr r r )r r# r Údigitsr )ÚNr" r r! Útr r r Úgenerate_generalized_integerN s r' c C s\ |r| d } n| d } | | | 7 } d}x| dkrB| d } |d7 }q(W |d| | d }|S )Ni¼ é r iÇ é# r é&