ó
	QZUc           @   sß   d  d l  m Z m Z m Z m Z m Z d  d l Z d  d l Z e j 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(   iÿÿÿÿ(   t   encodet   decodet   alabelt   ulabelt	   IDNAErrorNu   [.ã€‚ï¼Žï½¡]t   Codecc           B   s    e  Z d  d „ Z d  d „ Z RS(   t   strictc         C   sD   | d k r$ t  d j | ƒ ƒ ‚ n  | s. d St | ƒ t | ƒ f S(   NR   s    Unsupported error handling "{0}"t    i    (   R   i    (   R   t   formatR    t   len(   t   selft   datat   errors(    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyR    	   s
    c         C   sD   | d k r$ t  d j | ƒ ƒ ‚ n  | s. d St | ƒ t | ƒ f S(   NR   s    Unsupported error handling "{0}"u    i    (   u    i    (   R   R   R   R	   (   R
   R   R   (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyR      s
    (   t   __name__t
   __module__R    R   (    (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyR      s   
t   IncrementalEncoderc           B   s   e  Z d  „  Z RS(   c   	      C   s  | d k r$ t  d j | ƒ ƒ ‚ n  | s. d	 St j | ƒ } d } | r… | d sc d } | d =q… | s… | d =| r‚ d } q‚ q… n  g  } d } xD | D]< } | j t | ƒ ƒ | rÄ | d 7} n  | t | ƒ 7} q˜ Wd j | ƒ | } | t | ƒ 7} | | f S(
   NR   s    Unsupported error handling "{0}"R   i    u    iÿÿÿÿt   .i   (   R   i    (   R   R   t   _unicode_dots_ret   splitt   appendR   R	   t   join(	   R
   R   R   t   finalt   labelst   trailing_dott   resultt   sizet   label(    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyt   _buffer_encode   s0    

(   R   R   R   (    (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyR      s   t   IncrementalDecoderc           B   s   e  Z d  „  Z RS(   c   	      C   s?  | d k r$ t  d j | ƒ ƒ ‚ n  | s. d
 St | t ƒ rO t j | ƒ } n( t | ƒ } t | d ƒ | j d ƒ } d } | r¿ | d s d } | d =q¿ | s¿ | d =| r¼ d } q¼ q¿ n  g  } d } xD | D]< } | j t | ƒ ƒ | rþ | d	 7} n  | t	 | ƒ 7} qÒ Wd j
 | ƒ | } | t	 | ƒ 7} | | f S(   NR   s    Unsupported error handling "{0}"u    i    t   asciiR   iÿÿÿÿu   .i   (   u    i    (   R   R   t
   isinstancet   unicodeR   R   t   strR   R   R	   R   (	   R
   R   R   R   R   R   R   R   R   (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyt   _buffer_decode?   s8    

(   R   R   R!   (    (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyR   >   s   t   StreamWriterc           B   s   e  Z RS(    (   R   R   (    (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyR"   g   s   t   StreamReaderc           B   s   e  Z RS(    (   R   R   (    (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyR#   j   s   c           C   s@   t  j d d d t ƒ  j d t ƒ  j d t d t d t d t ƒ S(	   Nt   namet   idnaR    R   t   incrementalencodert   incrementaldecodert   streamwritert   streamreader(	   t   codecst	   CodecInfoR   R    R   R   R   R"   R#   (    (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyt   getregentrym   s    	(   t	   idna.coreR    R   R   R   R   R*   t   ret   compileR   R   t   BufferedIncrementalEncoderR   t   BufferedIncrementalDecoderR   R"   R#   R,   (    (    (    s.   /usr/lib/python2.7/dist-packages/idna/codec.pyt   <module>   s   (!)