o
    ˷e                     @   s   d dl mZmZmZmZmZ ddlZddlZedZ	G dd dej
Z
G dd dejZG d	d
 d
ejZG dd de
ejZG dd de
ejZdd ZdS )   )encodedecodealabelulabel	IDNAError    Nu   [.。．｡]c                   @   s    e Zd ZdddZdddZdS )Codecstrictc                 C   .   |dkrt d||sdS t|t|fS Nr	    Unsupported error handling "{0}" r   )r   formatr   lenselfdataerrors r   A/var/www/ideatree/venv/lib/python3.10/site-packages/idna/codec.pyr   	   
   zCodec.encodec                 C   r
   r   )r   r   r   r   r   r   r   r   r      r   zCodec.decodeN)r	   )__name__
__module____qualname__r   r   r   r   r   r   r      s    

r   c                   @      e Zd Zdd ZdS )IncrementalEncoderc           	      C   s   |dkrt d||sdS t|}d}|r+|d s"d}|d= n	|s+|d= |r+d}g }d}|D ]}|t| |r@|d7 }|t|7 }q1d|| }|t|7 }||fS )	Nr	   r   r   r   .r   r   )r   r   _unicode_dots_resplitappendr   r   join	r   r   r   finallabelstrailing_dotresultsizelabelr   r   r   _buffer_encode   s0   
z!IncrementalEncoder._buffer_encodeN)r   r   r   r*   r   r   r   r   r          r   c                   @   r   )IncrementalDecoderc           	      C   s   |dkrt d||sdS t|trt|}nt|}t|d |d}d}|r?|d s6d}|d= n	|s?|d= |r?d}g }d}|D ]}|t| |rT|d	7 }|t	|7 }qEd
|| }|t	|7 }||fS )
Nr	   r   r   asciir   r   r   r   r   )r   r   
isinstanceunicoder   r    strr!   r   r   r"   r#   r   r   r   _buffer_decode?   s8   


z!IncrementalDecoder._buffer_decodeN)r   r   r   r1   r   r   r   r   r,   >   r+   r,   c                   @      e Zd ZdS )StreamWriterNr   r   r   r   r   r   r   r3   g       r3   c                   @   r2   )StreamReaderNr4   r   r   r   r   r6   j   r5   r6   c                	   C   s    t jdt jt jttttdS )Nidna)namer   r   incrementalencoderincrementaldecoderstreamwriterstreamreader)	codecs	CodecInfor   r   r   r   r,   r3   r6   r   r   r   r   getregentrym   s   r?   )corer   r   r   r   r   r=   recompiler   r   BufferedIncrementalEncoderr   BufferedIncrementalDecoderr,   r3   r6   r?   r   r   r   r   <module>   s    
!)