
    Ձj	              	          d Z ddlZ G d dej                        Z G d dej                        Z G d dej                        Z G d	 d
eej
                        Z G d deej                        Zdj                  d  ed      D              Z	 ej                  e	      Z G d de      Z G d de      Z G d de      Z ej                  d e       j                    e       j"                  eeee      Z G d de      Z G d de      Z G d de      Z ej                  d e       j                    e       j"                  eeee      Zy)z

    webencodings.custom
    ~~~~~~~~~~~~~~~~~~~

    An implementation of custom "replacement" and "x-user-defined" encodings.

    :copyright: Copyright 2012 by Simon Sapin
    :license: BSD, see LICENSE for details.

    Nc                   $    e Zd ZdZdZddZddZy)CodecNc                 D    t        j                  ||| j                        S N)codecscharmap_encodeencoding_tableselfinputerrorss      :/tmp/pip-target-jldlmaw8/lib/python/webencodings/custom.pyencodezCodec.encode       $$UFD4G4GHH    c                 D    t        j                  ||| j                        S r   )r   charmap_decodedecoding_tabler
   s      r   decodezCodec.decode   r   r   )strict)__name__
__module____qualname__r	   r   r   r    r   r   r   r      s    NNIIr   r   c                       e Zd ZdZddZy)IncrementalEncoderNc                 ^    t        j                  || j                  | j                        d   S Nr   )r   r   r   r	   r   r   finals      r   r   zIncrementalEncoder.encode   &    $$UDKK9L9LMaPPr   F)r   r   r   r	   r   r   r   r   r   r          NQr   r   c                       e Zd ZdZddZy)IncrementalDecoderNc                 ^    t        j                  || j                  | j                        d   S r   )r   r   r   r   r   s      r   r   zIncrementalDecoder.decode&   r!   r   r"   )r   r   r   r   r   r   r   r   r%   r%   #   r#   r   r%   c                       e Zd Zy)StreamWriterNr   r   r   r   r   r   r(   r(   *       r   r(   c                       e Zd Zy)StreamReaderNr)   r   r   r   r,   r,   .   r*   r   r,    c              #   F   K   | ]  }t        |d k  r|n|dz           yw)   i   N)chr).0cs     r   	<genexpr>r3   4   s!     TAcq3w!AJ?Ts   !   c                       e Zd ZeZeZy)	UserCodecN)r   r   r   user_decoding_tabler   user_encoding_tabler	   r   r   r   r6   r6   7   s    (N(Nr   r6   c                       e Zd ZeZy)UserIncrementalEncoderN)r   r   r   r8   r	   r   r   r   r:   r:   ;       (Nr   r:   c                       e Zd ZeZy)UserIncrementalDecoderN)r   r   r   r7   r   r   r   r   r=   r=   >   r;   r   r=   zx-user-defined)namer   r   incrementalencoderincrementaldecoderstreamreaderstreamwriterc                       e Zd ZdxZZy)ReplacementCodecr-   N)r   r   r   r   r	   r   r   r   rD   rD   N   s    &((N^r   rD   c                       e Zd ZdZy)ReplacementIncrementalEncoderr-   N)r   r   r   r	   r   r   r   rF   rF   Q       Nr   rF   c                       e Zd ZdZy)ReplacementIncrementalDecoderr-   N)r   r   r   r   r   r   r   rI   rI   T   rG   r   rI   replacement)__doc__r   r   r   r%   r(   r,   joinranger7   charmap_buildr8   r6   r:   r=   	CodecInfor   r   user_codec_inforD   rF   rI   replacement_codec_infor   r   r   <module>rR      sa  
 IFLL IQ22 QQ22 Q	5&-- 		5&-- 	 ggTsTT *f**+>? ) ))/ ))/ ) #&""	;;--)u )$6 $6  *))	$$$$44 r   