
    tZh                         	 d dl Zd dlZ	 d dlmZ dZddlm	Z	 ddl
mZmZ g dZej                  j                  d	e      d
        Z G d dej"                        Zej                  j'                  edk(  d      d        Zg dZej                  j                  de      d        Zg dZej                  j                  de      d        Zy# e$ r d dlZY w xY w# e$ r 	 d dlmZ dZn# e$ r dZY nw xY wY w xY w)    N)mpzTF   )	shake_256)bytes_to_intint_to_bytes))    bigr   )r   little   )    r	   r   )    r
   r   zbytes_in,endian,int_outc                 *    t        | |      }||k(  sJ y N)r   )bytes_inendianint_outouts       k/var/www/html/wine-match-dev/backend/winematch-backend/venv/lib/python3.12/site-packages/ecdsa/test_sha3.pytest_bytes_to_intr      s    
x
(C'>>r   c                       e Zd Zd Zd Zy)TestBytesToIntc                 p    | j                  t              5  t        dd       d d d        y # 1 sw Y   y xY w)Nr   middle)assertRaises
ValueErrorr   selfs    r   test_bytes_to_int_wrong_endianz-TestBytesToInt.test_bytes_to_int_wrong_endian%   s/    z* 	,(+	, 	, 	,s   ,5c                 r    | j                  t              5  t        dd       d d d        y # 1 sw Y   y xY w)Nr   r   )	byteorder)r   r   r   r   s    r   test_int_to_bytes_wrong_endianz-TestBytesToInt.test_int_to_bytes_wrong_endian)   s/    z* 	0h/	0 	0 	0s   -6N)__name__
__module____qualname__r   r!    r   r   r   r   $   s    ,0r   r   zrequires gmpy or gmpy2)reasonc                  6    t        t        d            dk(  sJ y )Nr      )r   r   r%   r   r   test_int_to_bytes_with_gmpyr)   .   s    A7***r   ))r   Nr	   r   )r   r   r	   r   )r   Nr	   r(   )r   Nr
   r   )r      r
   s      )r   r*   r	   s      zint_in,length,endian,bytes_outc                 ,    t        | ||      }||k(  sJ y r   )r   )int_inlengthr   	bytes_outr   s        r   test_int_to_bytesr/   =   s    
vvv
.C)r   ))s   Message.    s    x73rO9CNrv.4L%O,:)r   r0   s    F+#;?t>$?Rb'dnv/)   messager0   s    ص-CnQZd&f
FQu)r1      s   ص-CnQ)r1   @   s@   ص-CnQZd&f
FQu0ֺ*Feb%&>e:Fl})s   AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr0   s    ~03d Z03PAzmsg,olen,ohashc                 <    t        | |      }|t        |      k(  sJ y r   )r   	bytearray)msgolenohashr   s       r   test_shake_256r9   l   s!    
C
C)E""""r   )	unittest2unittestImportErrorpytestgmpy2r   GMPYgmpy_sha3r   _compatr   r   B2I_VECTORSmarkparametrizer   TestCaser   skipifr)   I2B_VECTORSr/   SHAKE_256_VECTORSr9   r%   r   r   <module>rJ      s9    
D  / 2K@ A
0X&& 0 DEM*BC+ D+ 9;G H
& R )+<=# >#U     sF   C C 	CCC=$C-,C=-C74C=6C77C=<C=