Your IP : 13.59.83.202
�
^
bc @ s d Z d d l Z d � Z d � Z d � Z d � Z d � Z d Z d � Z d
� Z d � Z
d � Z d
� Z d � Z
d � Z d e j f d � � YZ d e j f d � � YZ d e j f d � � YZ d e e j f d � � YZ d e e j f d � � YZ d � Z d S( sX Codec for the Punicode encoding, as specified in RFC 3492
Written by Martin v. L�wis.
i����Nc C s{ g } i } x: | D]2 } t | � d k r; | j | � q d | | <q W| j � } | j � d j | � j d � | f S( s 3.1 Basic code point segregationi� i t t ascii( t ordt appendt keyst sortt joint encode( t strt baset extendedt c( ( s7 /opt/alt/python27/lib64/python2.7/encodings/punycode.pyt segregate s
c C s: d } x- | D]% } t | � | k r
| d 7} q
q
W| S( s@ Return the length of str, considering only characters below max.i i ( R ( R t maxt resR ( ( s7 /opt/alt/python27/lib64/python2.7/encodings/punycode.pyt
selective_len s
c C sn t | � } x[ | d 7} | | k r) d S| | } | | k rM | d | f S| | k r | d 7} q q Wd S( s Return a pair (index, pos), indicating the next occurrence of
char in str. index is the position of the character considering
only ordinals up to and including char, and pos is the position in
the full string. index/pos is the starting position in the full
string.i i����N( i����i����( t len( R t chart indext post lR ( ( s7 /opt/alt/python27/lib64/python2.7/encodings/punycode.pyt selective_find s
c C s� d } g } d } x� | D]� } d } } t | � } t | | � } | d | | }
xZ t | | | | � \ } } | d k r� Pn |
| | 7}
| j |
d � | } d }
qY W| } q W| S( s 3.2 Insertion unsort codingi� i����i i ( R R R R ( R R
t oldchart resultt oldindexR R R R t curlent delta( ( s7 /opt/alt/python27/lib64/python2.7/encodings/punycode.pyt insertion_unsort2 s$
c C s6 d | d | } | d k r"