§
    *‚Kg%  ã                   óÀ   — d 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j        ¦  «        Zd„ Z	dS )a   Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:

* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
  first three bytes.

* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
  bytes will be skipped.
é    NÚstrictc                 óp   — t           j        t          j        | |¦  «        d         z   t          | ¦  «        fS ©Nr   )ÚcodecsÚBOM_UTF8Úutf_8_encodeÚlen)ÚinputÚerrorss     ú*/usr/lib/python3.11/encodings/utf_8_sig.pyÚencoder      s1   € ÝŒO�fÔ1°%¸Ñ@Ô@ÀÔCÑCÝ�‰JŒJðð ó    c                 óŽ   — d}| d d…         t           j        k    r| dd …         } d}t          j        | |d¦  «        \  }}|||z   fS )Nr   é   T)r   r   Úutf_8_decode)r
   r   ÚprefixÚoutputÚconsumeds        r   Údecoder      sV   € Ø€FØˆRˆaˆR„y•F”OÒ#Ð#Ø�a�b�b”	ˆØˆÝÔ,¨U°F¸DÑAÔAÑ€VˆXØ�H˜V‘OÐ$Ð$r   c                   ó0   — e Zd Zd	d„Zd
d„Zd„ Zd„ Zd„ ZdS )ÚIncrementalEncoderr   c                 óT   — t           j                             | |¦  «         d| _        d S ©Né   )r   r   Ú__init__Úfirst©Úselfr   s     r   r   zIncrementalEncoder.__init__   s&   € ÝÔ!×*Ò*¨4°Ñ8Ô8Ð8ØˆŒ
ˆ
ˆ
r   Fc                 ó¸   — | j         r4d| _         t          j        t          j        || j        ¦  «        d         z   S t          j        || j        ¦  «        d         S r   )r   r   r   r   r   )r   r
   Úfinals      r   r   zIncrementalEncoder.encode   sU   € ØŒ:ð 	>ØˆDŒJÝ”?ÝÔ& u¨d¬kÑ:Ô:¸1Ô=ñ>ð >õ Ô& u¨d¬kÑ:Ô:¸1Ô=Ð=r   c                 óR   — t           j                             | ¦  «         d| _        d S r   )r   r   Úresetr   ©r   s    r   r"   zIncrementalEncoder.reset'   s$   € ÝÔ!×'Ò'¨Ñ-Ô-Ð-ØˆŒ
ˆ
ˆ
r   c                 ó   — | j         S ©N©r   r#   s    r   ÚgetstatezIncrementalEncoder.getstate+   s
   € ØŒzÐr   c                 ó   — || _         d S r%   r&   ©r   Ústates     r   ÚsetstatezIncrementalEncoder.setstate.   s   € ØˆŒ
ˆ
ˆ
r   N©r   )F)Ú__name__Ú
__module__Ú__qualname__r   r   r"   r'   r+   © r   r   r   r      si   € € € € € ðð ð ð ð>ð >ð >ð >ðð ð ðð ð ðð ð ð ð r   r   c                   ó.   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ ZdS )	ÚIncrementalDecoderr   c                 óT   — t           j                             | |¦  «         d| _        d S r   )r   ÚBufferedIncrementalDecoderr   r   r   s     r   r   zIncrementalDecoder.__init__2   s&   € ÝÔ)×2Ò2°4¸Ñ@Ô@Ð@ØˆŒ
ˆ
ˆ
r   c                 óB  — | j         rƒt          |¦  «        dk     r)t          j                             |¦  «        rdS d| _         nGd| _         |d d…         t          j        k    r(t          j        |dd …         ||¦  «        \  }}||dz   fS t          j        |||¦  «        S )Nr   ©Ú r   r   )r   r	   r   r   Ú
startswithr   )r   r
   r   r    r   r   s         r   Ú_buffer_decodez!IncrementalDecoder._buffer_decode6   s¦   € ØŒ:ð 	0Ý�5‰zŒz˜AŠ~ˆ~Ý”?×-Ò-¨eÑ4Ô4ð #ð #˜7à!"�D”J�Jà�”
Ø˜˜!˜”9¥¤Ò/Ð/åÔ*¨5°°°¬9°f¸eÑDÔDñ '�V˜Xà" H¨Q¡JÐ/Ð/ÝÔ" 5¨&°%Ñ8Ô8Ð8r   c                 óR   — t           j                             | ¦  «         d| _        d S r   )r   r4   r"   r   r#   s    r   r"   zIncrementalDecoder.resetG   s$   € ÝÔ)×/Ò/°Ñ5Ô5Ð5ØˆŒ
ˆ
ˆ
r   c                 ó^   — t           j                             | ¦  «        }|d         | j        fS r   )r   r4   r'   r   r)   s     r   r'   zIncrementalDecoder.getstateK   s)   € ÝÔ1×:Ò:¸4Ñ@Ô@ˆà�a”˜$œ*Ð%Ð%r   c                 ó`   — t           j                             | |¦  «         |d         | _        d S r   )r   r4   r+   r   r)   s     r   r+   zIncrementalDecoder.setstateP   s*   € åÔ)×2Ò2°4¸Ñ?Ô?Ð?Ø˜1”XˆŒ
ˆ
ˆ
r   Nr,   )r-   r.   r/   r   r9   r"   r'   r+   r0   r   r   r2   r2   1   sd   € € € € € ðð ð ð ð9ð 9ð 9ð"ð ð ð&ð &ð &ð
ð ð ð ð r   r2   c                   ó   — e Zd Zd„ Zdd„ZdS )ÚStreamWriterc                 ól   — t           j                             | ¦  «         	 | `d S # t          $ r Y d S w xY wr%   )r   r>   r"   r   ÚAttributeErrorr#   s    r   r"   zStreamWriter.resetV   óI   € ÝÔ×!Ò! $Ñ'Ô'Ð'ð	Ø���øÝð 	ð 	ð 	ØˆDˆDð	øøøó   ¡% ¥
3²3r   c                 óD   — t           j        | _        t          ||¦  «        S r%   )r   r   r   )r   r
   r   s      r   r   zStreamWriter.encode]   s   € ÝÔ)ˆŒÝ�e˜VÑ$Ô$Ð$r   Nr,   )r-   r.   r/   r"   r   r0   r   r   r>   r>   U   s7   € € € € € ðð ð ð%ð %ð %ð %ð %ð %r   r>   c                   ó   — e Zd Zd„ Zdd„ZdS )ÚStreamReaderc                 ól   — t           j                             | ¦  «         	 | `d S # t          $ r Y d S w xY wr%   )r   rE   r"   r   r@   r#   s    r   r"   zStreamReader.resetb   rA   rB   r   c                 óX  — t          |¦  «        dk     r"t          j                             |¦  «        rdS nP|d d…         t          j        k    r8t          j        | _        t          j        |dd …         |¦  «        \  }}||dz   fS t          j        | _        t          j        ||¦  «        S )Nr   r6   )r	   r   r   r8   r   r   )r   r
   r   r   r   s        r   r   zStreamReader.decodei   s¡   € Ýˆu‰:Œ:˜Š>ˆ>ÝŒ×)Ò)¨%Ñ0Ô0ð ð �wðð �2�A�2ŒY�&œ/Ò)Ð)Ý Ô-ˆDŒKÝ!'Ô!4°U¸1¸2¸2´Y¸vÑ!FÔ!FÑˆV�XØ˜H Q™JÐ'Ð'åÔ)ˆŒÝÔ" 5¨&Ñ1Ô1Ð1r   Nr,   )r-   r.   r/   r"   r   r0   r   r   rE   rE   a   s7   € € € € € ðð ð ð2ð 2ð 2ð 2ð 2ð 2r   rE   c            	      ót   — t          j        dt          t          t          t
          t          t          ¬¦  «        S )Nz	utf-8-sig)Únamer   r   ÚincrementalencoderÚincrementaldecoderÚstreamreaderÚstreamwriter)r   Ú	CodecInfor   r   r   r2   rE   r>   r0   r   r   ÚgetregentryrO   y   s1   € ÝÔØÝÝÝ-Ý-Ý!Ý!ðñ ô ð r   r,   )
Ú__doc__r   r   r   r   r4   r2   r>   rE   rO   r0   r   r   ú<module>rQ      s  ððð ð €€€ðð ð ð ð%ð %ð %ð %ðð ð ð ð ˜Ô2ñ ô ð ð."ð "ð "ð "ð "˜Ô:ñ "ô "ð "ðH
%ð 
%ð 
%ð 
%ð 
%�6Ô&ñ 
%ô 
%ð 
%ð2ð 2ð 2ð 2ð 2�6Ô&ñ 2ô 2ð 2ð0	ð 	ð 	ð 	ð 	r   