
    iZ                     .    S SK Jr  SSKJr  SSKJr  S rg)    )is_bytes   )	KMAC_Hash)	cSHAKE256c            	         U R                  SS5      n[        U5      (       d  [        S5      e[        U5      S:  a  [	        S5      eU R                  SS5      nU R                  SS5      nUS	:  a  [	        S
5      eU R                  SS5      nU (       a  [        S[        U 5      -   5      e[        X!X4S[        S5      $ )ay  Create a new KMAC256 object.

Args:
    key (bytes/bytearray/memoryview):
        The key to use to compute the MAC.
        It must be at least 256 bits long (32 bytes).
    data (bytes/bytearray/memoryview):
        Optional. The very first chunk of the message to authenticate.
        It is equivalent to an early call to :meth:`KMAC_Hash.update`.
    mac_len (integer):
        Optional. The size of the authentication tag, in bytes.
        Default is 64. Minimum is 8.
    custom (bytes/bytearray/memoryview):
        Optional. A customization byte string (``S`` in SP 800-185).

Returns:
    A :class:`KMAC_Hash` hash object
keyNzYou must pass a key to KMAC256    z1The key must be at least 256 bits long (32 bytes)datamac_len@      z!'mac_len' must be 8 bytes or morecustom    zUnknown parameters: 20   )popr   	TypeErrorlen
ValueErrorstrr   r   )kwargsr   r
   r   r   s        N/var/www/html/trading/venv/lib/python3.13/site-packages/Crypto/Hash/KMAC256.pynewr   %   s    ( **UD
!CC==899
3x"}LMM::fd#DjjB'G{<==ZZ#&F.V<==Ty#FFr   N)Crypto.Util.py3compatr   KMAC128r    r   r    r   r   <module>r      s   > +  %Gr   