U f^ @sddlZddlZddlmZmZmZddlmZmZm Z m Z m Z e dZ GdddejZGdd d ejZGd d d ejZGd d d eejZGdddeejZeeejdddZeedS)N)AnyOptionalTuple) IDNAErroralabeldecodeencodeulabelu [.。.。]c@sDeZdZdeeeeefdddZd eeeeefdddZdS) Codecstrict)dataerrorsreturncCs.|dkrtd||sdSt|t|fS)Nr Unsupported error handling "{}"r)rformatr lenselfr rr;/opt/alt/python38/lib/python3.8/site-packages/idna/codec.pyr s z Codec.encodecCs.|dkrtd||sdSt|t|fS)Nr rr)rrrrrrrrrs z Codec.decodeN)r )r ) __name__ __module__ __qualname__strrbytesintr rrrrrr s r c@s(eZdZeeeeeefdddZdS)IncrementalEncoderr rfinalrc Cs|dkrtd||sdSt|}d}|rV|dsDd}|d=n|sV|d=|rVd}g}d}|D]*}|t||r|d7}|t|7}qbd||} |t|7}| |fS) Nr rrr.rr)rr_unicode_dots_resplitappendrrjoin) rr rr#labels trailing_dotresultsizelabelZ result_bytesrrr_buffer_encodes0  z!IncrementalEncoder._buffer_encodeN) rrrrboolrrr r/rrrrr!sr!c@s(eZdZeeeeeefdddZdS)IncrementalDecoderr"c Cs|dkrtd||sdSt|ts2t|d}t|}d}|rj|dsXd}|d=n|sj|d=|rjd}g}d}|D]*}|t||r|d 7}|t|7}qvd ||} |t|7}| |fS) Nr rrasciirr$.rr) rr isinstancerr&r'r(r rr)) rr rr#r*r+r,r-r.Z result_strrrr_buffer_decodeAs4    z!IncrementalDecoder._buffer_decodeN) rrrrrr0rr r5rrrrr1@sr1c@s eZdZdS) StreamWriterNrrrrrrrr6dsr6c@s eZdZdS) StreamReaderNr7rrrrr8hsr8)namerc Cs,|dkr dStj|tjtjttttdS)NZidna2008)r9r rincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInfor r rr!r1r6r8)r9rrrsearch_functionlsr@)r>retypingrrrcorerrrr r compiler&r BufferedIncrementalEncoderr!BufferedIncrementalDecoderr1r6r8rr?r@registerrrrrs "$