§
    qŠtjÏ  ã                   ó2  — d Z ddlZddlZddlZddlmZ d„ Zej        dk     rTddlZd„ Z	d„ Z
ej        dk     sej        d	k     s ej        ¦   «         d
k    r
d„ Zd„ Zd„ Zn	d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Znd„ Z
d„ Z	d„ Zd„ Zd„ Zej        Zd„ Zdd„Zd„ ZdS )zD
Common functions for providing cross-python version compatibility.
é    N)Úinteger_typesc                 ó^   — | |         }t          |t          ¦  «        r|S t          |¦  «        S )z1Take index'th byte from string, return as integer)Ú
isinstancer   Úord)ÚstringÚindexÚvals      úK/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/ecdsa/_compat.pyÚstr_idx_as_intr   
   s-   € à
�Œ-€CÝ�#•}Ñ%Ô%ð Øˆ
Ýˆs‰8Œ8€Oó    )é   r   c                 ó    — t          | ¦  «        S )ú#Cast the input into array of bytes.)Úbuffer©Úbuffer_objects    r
   Únormalise_bytesr      s   € õ �mÑ$Ô$Ð$r   c                 ó   — | S ©N© )Úrets    r
   Úhmac_compatr      ó   € Øˆ
r   )é   é   )r   r   é   ÚJavac                 ó.   — t          j        dd| ¦  «        S )ú,Removes all whitespace from passed in stringú\s+Ú )ÚreÚsub©Útexts    r
   Úremove_whitespacer&   #   s   € å”6˜& " dÑ+Ô+Ð+r   c                 ó    — t          | ¦  «        S r   )Ústr©r	   s    r
   Úcompat26_strr*   '   s   € Ý�s‘8”8ˆOr   c                 óP   — | dk    rdS t          t          | ¦  «        ¦  «        dz
  S )Nr   r   )ÚlenÚbinr)   s    r
   Ú
bit_lengthr.   *   s'   € Ø�aŠxˆxØ�qÝ•s˜3‘x”x‘=”= 1Ñ$Ð$r   c                 óF   — t          j        dd| t           j        ¬¦  «        S ©r   r    r!   )Úflags©r"   r#   ÚUNICODEr$   s    r
   r&   r&   1   s   € å”6˜& " dµ"´*Ð=Ñ=Ô=Ð=r   c                 ó   — | S r   r   r)   s    r
   r*   r*   5   s   € ØˆJr   c                 ó*   — |                       ¦   «         S ©z8Return number of bits necessary to represent an integer.©r.   r)   s    r
   r.   r.   8   s   € à—>’>Ñ#Ô#Ð#r   c                 óD   — t          j        t          | ¦  «        ¦  «        S r   )ÚbinasciiÚb2a_hexr*   r)   s    r
   r:   r:   <   s   € ÝÔ¥¨SÑ 1Ô 1Ñ2Ô2Ð2r   c                 óŽ   — 	 t          t          j        | ¦  «        ¦  «        S # t          $ r}t	          d|z  ¦  «        ‚d }~ww xY w)Núbase16 error: %s©Ú	bytearrayr9   Úa2b_hexÚ	ExceptionÚ
ValueError©r	   Úes     r
   r?   r?   ?   sS   € ð	5Ý�XÔ-¨cÑ2Ô2Ñ3Ô3Ð3øÝð 	5ð 	5ð 	5ÝÐ/°!Ñ3Ñ4Ô4Ð4øøøøð	5øøøs   ‚ # £
A­?¿Ac                 óÆ   — | sdS |dk    rt          t          | ¦  «        d¦  «        S |dk    r&t          t          | ddd…         ¦  «        d¦  «        S t          d¦  «        ‚)zConvert bytes to an int.r   Úbigé   ÚlittleNéÿÿÿÿz(Only 'big' and 'little' endian supported)Úintr:   rA   )r	   Ú	byteorders     r
   Úbytes_to_intrK   E   sl   € àð 	Ø�1Ø˜ÒÐÝ•w˜s‘|”| RÑ(Ô(Ð(Ø˜Ò Ð Ý•w˜s 4 4 R 4œyÑ)Ô)¨2Ñ.Ô.Ð.ÝÐCÑDÔDÐDr   rE   c           
      ó*  ‡ — |€t          ‰ ¦  «        }|dk    r:t          ˆ fd„t          t          d|dz  d¦  «        ¦  «        D ¦   «         ¦  «        S |dk    r-t          ˆ fd„t          d|dz  d¦  «        D ¦   «         ¦  «        S t	          d¦  «        ‚)	z Return number converted to bytesNrE   c              3   ó(   •K  — | ]}‰|z	  d z  V — ŒdS ©éÿ   Nr   ©Ú.0Úir	   s     €r
   ú	<genexpr>zint_to_bytes.<locals>.<genexpr>T   ó=   øè è € ð ð Ø&'�˜‘˜TÑ!ðð ð ð ð ð r   r   é   rG   c              3   ó(   •K  — | ]}‰|z	  d z  V — ŒdS rN   r   rP   s     €r
   rS   zint_to_bytes.<locals>.<genexpr>X   rT   r   z'Only 'big' or 'little' endian supported)Úbyte_lengthr>   ÚreversedÚrangerA   ©r	   ÚlengthrJ   s   `  r
   Úint_to_bytesr\   O   sÖ   ø€ àˆ>Ý  Ñ%Ô%ˆFØ˜ÒÐÝð ð ð ð Ý+3µE¸!¸VÀa¹ZÈÑ4KÔ4KÑ+LÔ+Lðñ ô ñ ô ð ð ˜Ò Ð Ýð ð ð ð Ý+0°°F¸Q±JÀÑ+BÔ+Bðñ ô ñ ô ð õ ÐBÑCÔCÐCr   c                 ó   — | S r   r   )Údatas    r
   r   r   _   s   € Øˆr   c                 óF   — t          | ¦  «                             d¦  «        S )r   ÚB)Ú
memoryviewÚcastr   s    r
   r   r   b   s   € å˜-Ñ(Ô(×-Ò-¨cÑ2Ô2Ð2r   c                 ó   — | S r   r   r)   s    r
   r*   r*   f   r   r   c                 óF   — t          j        dd| t           j        ¬¦  «        S r0   r2   r$   s    r
   r&   r&   i   s   € åŒv�f˜b $­b¬jÐ9Ñ9Ô9Ð9r   c                 óª   — 	 t          t          j        t          | d¦  «        ¦  «        ¦  «        S # t          $ r}t	          d|z  ¦  «        ‚d }~ww xY w)NÚasciir<   r=   rB   s     r
   r?   r?   m   s]   € ð	5Ý�XÔ-­i¸¸WÑ.EÔ.EÑFÔFÑGÔGÐGøÝð 	5ð 	5ð 	5ÝÐ/°!Ñ3Ñ4Ô4Ð4øøøøð	5øøøs   ‚.1 ±
A»AÁAc                 ó*   — |                       ¦   «         S r6   r7   r)   s    r
   r.   r.   y   s   € à�~Š~ÑÔÐr   c                 ó´   — |€t          | ¦  «        }t          | t          ¦  «        st          | ¦  «        } t          |                      ||¬¦  «        ¦  «        S )zConvert integer to bytes.N)r[   rJ   )rW   r   rI   r>   Úto_bytesrZ   s      r
   r\   r\   }   sO   € àˆ>Ý  Ñ%Ô%ˆFå˜#�sÑ#Ô#ð 	Ý�c‘(”(ˆCÝ˜Ÿš¨V¸y˜ÑIÔIÑJÔJÐJr   c                 ó0   — t          | ¦  «        }|dz   dz  S )z9Return number of bytes necessary to represent an integer.r   rU   r7   )r	   r[   s     r
   rW   rW   ‡   s   € å˜‰_Œ_€FØ�Q‰J˜1ÑÐr   )NrE   )Ú__doc__Úsysr"   r9   Úsixr   r   Úversion_infoÚplatformr   r   Úsystemr&   r*   r.   r:   r?   rK   r\   rI   Ú
from_bytesrW   r   r   r
   ú<module>rr      sø  ððð ð €
€
€
Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð ðð ð ð Ô�fÒÐØ€O€O€Oð%ð %ð %ð
ð ð ð 	Ô˜6Ò!Ð!ØÔ˜iÒ'Ð'Øˆ8Œ?ÑÔ Ò&Ð&ð	,ð 	,ð 	,ð	ð 	ð 	ð	%ð 	%ð 	%ð 	%ð	>ð 	>ð 	>ð	ð 	ð 	ð	$ð 	$ð 	$ð3ð 3ð 3ð5ð 5ð 5ðEð Eð EðDð Dð Dð Dð Dð ð ð ð3ð 3ð 3ðð ð ð:ð :ð :ð5ð 5ð 5ð ”>€Lð ð  ð  ðKð Kð Kð Kðð ð ð ð r   