
    Rh                        d Z ddlZddlZddZdd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 Z
y)zPython 'hex_codec' Codec - 2-digit hex content transfer encoding.

This codec de/encodes from bytes to bytes.

Written by Marc-Andre Lemburg (mal@lemburg.com).
    Nc                 P    |dk(  sJ t        j                  |       t        |       fS Nstrict)binasciib2a_hexleninputerrorss     */usr/lib/python3.12/encodings/hex_codec.py
hex_encoder      *    XU#SZ00    c                 P    |dk(  sJ t        j                  |       t        |       fS r   )r   a2b_hexr   r	   s     r   
hex_decoder      r   r   c                       e Zd ZddZddZy)Codecc                     t        ||      S N)r   selfr
   r   s      r   encodezCodec.encode       %((r   c                     t        ||      S r   )r   r   s      r   decodezCodec.decode   r   r   Nr   )__name__
__module____qualname__r   r    r   r   r   r      s    ))r   r   c                       e Zd ZddZy)IncrementalEncoderc                 N    | j                   dk(  sJ t        j                  |      S r   )r   r   r   r   r
   finals      r   r   zIncrementalEncoder.encode   %    {{h&&&&&r   NF)r   r   r    r   r!   r   r   r#   r#          'r   r#   c                       e Zd ZddZy)IncrementalDecoderc                 N    | j                   dk(  sJ t        j                  |      S r   )r   r   r   r%   s      r   r   zIncrementalDecoder.decode!   r'   r   Nr(   )r   r   r    r   r!   r   r   r+   r+       r)   r   r+   c                       e Zd ZeZy)StreamWriterNr   r   r    bytescharbuffertyper!   r   r   r.   r.   %       Nr   r.   c                       e Zd ZeZy)StreamReaderNr/   r!   r   r   r4   r4   (   r2   r   r4   c            
      l    t        j                  dt        t        t        t
        t        t        d      S )NhexF)namer   r   incrementalencoderincrementaldecoderstreamwriterstreamreader_is_text_encoding)codecs	CodecInfor   r   r#   r+   r.   r4   r!   r   r   getregentryr?   -   s-    --!!	 	r   r   )__doc__r=   r   r   r   r   r#   r+   r.   r4   r?   r!   r   r   <module>rA      s}     11)FLL )'22 '
'22 '
5&-- 5&-- 

r   