+
    ™h©j”"  ã                   óH  a € R t'0 t ^ RIHtHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ]	P                  ! 4       t] ^ k ]	P                  ! 4       t] ^k ]	P                   ! 4       t] ^k ]	P$                  ! 4       t] ^k ]	P(                  ! 4       t] ^k ]	P,                  ! 4       t] ^k ]	P0                  ! 4       t] ^k ]	P4                  ! 4       t] ^k ]	P8                  ! 4       t] ^k RtRtR R lt ]R	R	R	3R
 R llt!]! RRR7      t" ! R R4      t#R	R	R	]3R R llt$R R lt%R R lt&R# )é    )ÚNoReturnÚTypeVar)Ú
exceptions)ÚffiÚlib)Úensurez!{0} length greater than {1} bytesz{0} greater than {1}c          
      óL   € V ^8„  d   QhR\         R\        R\        R\        RR/# )é   Údigest_sizeÚkeyÚsaltÚpersonÚreturnN)ÚintÚbytes)Úformats   "Ú[/var/www/html/bestweb/venv/lib/python3.14/site-packages/nacl/bindings/crypto_generichash.pyÚ__annotate__r   )   s4   € ÷ 2ñ 2Üð2Ü ð2Ü(-ð2Ü7<ð2à	ñ2ó    c                ód  € \        \        V\        4      R\        P                  R7       \        \        V\        4      R\        P                  R7       \        \        V\        4      R\        P                  R7       \        \        V \
        4      R\        P                  R7       \        V \        8*  \        P                  R\        4      \        P                  R7       \        \        V4      \        8*  \        P                  R\        4      \        P                  R7       \        \        V4      \        8*  \        P                  R\        4      \        P                  R7       \        \        V4      \        8*  \        P                  R	\        4      \        P                  R7       R
# )zCheck hash parameterszKey must be a bytes sequence©ÚraisingzSalt must be a bytes sequencezPerson must be a bytes sequencez%Digest size must be an integer numberÚDigest_sizeÚKeyÚSaltÚPersonN)r   Ú
isinstancer   ÚexcÚ	TypeErrorr   Úcrypto_generichash_BYTES_MAXÚ_TOOBIGr   Ú
ValueErrorÚlenÚcrypto_generichash_KEYBYTES_MAXÚ	_OVERLONGÚcrypto_generichash_SALTBYTESÚ crypto_generichash_PERSONALBYTES)r   r   r   r   s   &&&&r   Ú_checkparamsr(   )   s0  € ô Ü�3œÓØ&Ü—‘õô Ü�4œÓØ'Ü—‘õô Ü�6œ5Ó!Ø)Ü—‘õô Ü�;¤Ó$Ø/Ü—‘õô ØÔ3Ñ3Ü�‰�}Ô&BÓCÜ—‘õô ÜˆC‹Ô3Ñ3Ü×Ñ˜Ô ?Ó@Ü—‘õô ÜˆD‹	Ô1Ñ1Ü×Ñ˜Ô!=Ó>Ü—‘õô ÜˆF‹Ô7Ñ7Ü×Ñ˜Ô#CÓDÜ—‘÷r   r   c                ó`   € V ^8„  d   QhR\         R\        R\         R\         R\         R\         /# )r
   Údatar   r   r   r   r   )r   r   )r   s   "r   r   r   ^   sD   € ÷ 5.ñ 5.Ü
ð5.äð5.ô 
ð5.ô ð	5.ô
 ð5.ô ñ5.r   c           
     óZ  € \        WW44       \        \        V \        4      R\        P
                  R7       \        P                  ! RV4      p\        P                  ! R\        4      p\        P                  ! R\        4      p\        P                  ! Wc\        V4      4       \        P                  ! Wt\        V4      4       \        P                  ! WQV \        V 4      V\        V4      Wg4      p\        V^ 8H  R\        P                  R7       \        P                  ! WQ4      R,          # )a  One shot hash interface

:param data: the input data to the hash function
:type data: bytes
:param digest_size: must be at most
                    :py:data:`.crypto_generichash_BYTES_MAX`;
                    the default digest size is
                    :py:data:`.crypto_generichash_BYTES`
:type digest_size: int
:param key: must be at most
            :py:data:`.crypto_generichash_KEYBYTES_MAX` long
:type key: bytes
:param salt: must be at most
             :py:data:`.crypto_generichash_SALTBYTES` long;
             will be zero-padded if needed
:type salt: bytes
:param person: must be at most
               :py:data:`.crypto_generichash_PERSONALBYTES` long:
               will be zero-padded if needed
:type person: bytes
:return: digest_size long digest
:rtype: bytes
ú#Input data must be a bytes sequencer   úunsigned char[]úunsigned char []úUnexpected failureºNNN)r(   r   r   r   r   r   r   Únewr&   r'   Úmemmover#   r   Ú(crypto_generichash_blake2b_salt_personalÚRuntimeErrorÚbuffer)	r*   r   r   r   r   ÚdigestÚ_saltÚ_personÚrcs	   &&&&&    r   Ú!generichash_blake2b_salt_personalr:   ^   sÙ   € ô> � 4Ô0ä
Ü�4œÓØ-Ü—‘õô �WŠWÐ&¨Ó4€Fô �GŠGÐ&Ô(DÓE€EÜ�gŠgÐ(Ô*JÓK€Gä‡K‚K�œS ›YÔ'Ü‡K‚K�¤ V£Ô-ä	×	5Ò	5Ø˜T¤3 t£9¨c´3°s³8¸Uó
€Bô ˆ2�‰7Ð(´#×2BÑ2BÕCä�:Š:�fÓ*¨1Õ-Ð-r   Ú_Blake2StateÚBlake2State)Úboundc                   ób   a € ] tR t^™t o RtRR.tV 3R lR ltV 3R lR ltV 3R lR	 ltR
t	V t
R# )r<   zF
Python-level wrapper for the crypto_generichash_blake2b state buffer
Ú	_statebufr   c                ó    <€ V ^8„  d   QhRS[ /# )r
   r   )r   )r   Ú__classdict__s   "€r   r   ÚBlake2State.__annotate__    s   ø€ ÷ 'ñ '¡Cñ 'r   c                óR   € \         P                  ! R \        4      V n        Wn        R# )r-   N)r   r1   Úcrypto_generichash_STATEBYTESr?   r   )Úselfr   s   &&r   Ú__init__ÚBlake2State.__init__    s    € ÜŸšØÔ<ó
ˆŒð 'Ör   c                ó    <€ V ^8„  d   QhRS[ /# )r
   r   )r   )r   rA   s   "€r   r   rB   ¦   s   ø€ ÷ 
ñ 
™Hñ 
r   c                ó^   € \        RP                  V P                  P                  4      4      h)zK
Raise the same exception as hashlib's blake implementation
on copy.copy()
zcan't pickle {} objects)r   r   Ú	__class__Ú__name__)rE   s   &r   Ú
__reduce__ÚBlake2State.__reduce__¦   s)   € ô
 Ø%×,Ñ,¨T¯^©^×-DÑ-DÓEó
ð 	
r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r
   rE   r   )r;   )r   rA   s   "€r   r   rB   ¯   s   ø€ ÷ ñ ‘<ð ¡Lñ r   c                óœ   € V P                  V P                  4      p\        P                  ! VP                  V P                  \
        4       V# )N)rJ   r   r   r2   r?   rD   )rE   Ú_sts   & r   ÚcopyÚBlake2State.copy¯   s9   € Ø�n‰n˜T×-Ñ-Ó.ˆÜ�ŠØ�M‰M˜4Ÿ>™>Ô+Hô	
ð ˆ
r   )r?   r   N)rK   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__rF   rL   rQ   Ú__static_attributes__Ú__classdictcell__)rA   s   @r   r<   r<   ™   s4   ø‡ € ñð ˜mÐ,€I÷'ð '÷
ð 
÷ö r   c          
      óT   € V ^8„  d   QhR\         R\         R\         R\        R\        /# )r
   r   r   r   r   r   )r   r   r<   )r   s   "r   r   r   ·   s:   € ÷ -ñ -Ü	ð-ä
ð-ô ð-ô ð	-ô
 ñ-r   c                ó¸  € \        W0W4       \        V4      p\        P                  ! R\        4      p\        P                  ! R\
        4      p\        P                  ! WQ\        V4      4       \        P                  ! Wb\        V4      4       \        P                  ! VP                  V \        V 4      W5V4      p\        V^ 8H  R\        P                  R7       V# )að  
Create a new initialized blake2b hash state

:param key: must be at most
            :py:data:`.crypto_generichash_KEYBYTES_MAX` long
:type key: bytes
:param salt: must be at most
             :py:data:`.crypto_generichash_SALTBYTES` long;
             will be zero-padded if needed
:type salt: bytes
:param person: must be at most
               :py:data:`.crypto_generichash_PERSONALBYTES` long:
               will be zero-padded if needed
:type person: bytes
:param digest_size: must be at most
                    :py:data:`.crypto_generichash_BYTES_MAX`;
                    the default digest size is
                    :py:data:`.crypto_generichash_BYTES`
:type digest_size: int
:return: a initialized :py:class:`.Blake2State`
:rtype: object
r.   r/   r   )r(   r<   r   r1   r&   r'   r2   r#   r   Ú-crypto_generichash_blake2b_init_salt_personalr?   r   r   r4   )r   r   r   r   Ústater7   r8   r9   s   &&&&    r   Úgenerichash_blake2b_initr^   ·   s£   € ô: � 4Ô0ä˜Ó$€Eô �GŠGÐ&Ô(DÓE€EÜ�gŠgÐ(Ô*JÓK€Gä‡K‚K�œS ›YÔ'Ü‡K‚K�¤ V£Ô-ä	×	:Ò	:Ø�‰˜œc #›h¨¸Gó
€Bô ˆ2�‰7Ð(´#×2BÑ2BÕCà€Lr   c                ó4   € V ^8„  d   QhR\         R\        RR/# )r
   r]   r*   r   N©r<   r   )r   s   "r   r   r   ç   s&   € ÷ Dñ D¤kð D¼ð DÀ4ñ Dr   c                óB  € \        \        V \        4      R\        P                  R7       \        \        V\
        4      R\        P                  R7       \        P                  ! V P                  V\        V4      4      p\        V^ 8H  R\        P                  R7       R# )zâUpdate the blake2b hash state

:param state: a initialized Blake2bState object as returned from
                 :py:func:`.crypto_generichash_blake2b_init`
:type state: :py:class:`.Blake2State`
:param data:
:type data: bytes
ú"State must be a Blake2State objectr   r,   r/   N)r   r   r<   r   r   r   r   Ú!crypto_generichash_blake2b_updater?   r#   r4   )r]   r*   r9   s   && r   Úgenerichash_blake2b_updaterd   ç   sx   € ô Ü�5œ+Ó&Ø,Ü—‘õô Ü�4œÓØ-Ü—‘õô 
×	.Ò	.Ø�‰˜œs 4›yó
€Bô ˆ2�‰7Ð(´#×2BÑ2B×Cr   c                ó0   € V ^8„  d   QhR\         R\        /# )r
   r]   r   r`   )r   s   "r   r   r     s   € ÷ 5ñ 5¤[ð 5´Uñ 5r   c                ón  € \        \        V \        4      R\        P                  R7       \
        P                  ! R\        4      p\        P                  ! V P                  WP                  4      p\        V^ 8H  R\        P                  R7       \
        P                  ! WP                  4      R,          # )a"  Finalize the blake2b hash state and return the digest.

:param state: a initialized Blake2bState object as returned from
                 :py:func:`.crypto_generichash_blake2b_init`
:type state: :py:class:`.Blake2State`
:return: the blake2 digest of the passed-in data stream
:rtype: bytes
rb   r   r-   r/   r0   )r   r   r<   r   r   r   r1   r    r   Ú crypto_generichash_blake2b_finalr?   r   r4   r5   )r]   Ú_digestr9   s   &  r   Úgenerichash_blake2b_finalri     s†   € ô Ü�5œ+Ó&Ø,Ü—‘õô �gŠgÐ'Ô)EÓF€GÜ	×	-Ò	-Ø�‰˜×"3Ñ"3ó
€Bô ˆ2�‰7Ð(´#×2BÑ2BÕCÜ�:Š:�g×0Ñ0Ó1°!Õ4Ð4r   c                ó€  € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R	&   # )
r
   Úcrypto_generichash_BYTESÚcrypto_generichash_BYTES_MINr    Úcrypto_generichash_KEYBYTESÚcrypto_generichash_KEYBYTES_MINr$   r&   r'   rD   )Ú__conditional_annotations__r   )r   s   "r   r   r      s¼   € × $Ñ $÷ GÒ Fœ#Ñ Fñ %÷ OÒ NœcÑ Nñ %÷ OÒ NœcÑ Nñ %÷ MÒ LœSÑ Lñ %÷ò ¤ñ ñ %÷ò ¤ñ ñ %÷" OÒ NœcÑ Nñ# %÷$ò ¤#ñ ñ% %÷* IÒ HœsÑ Hò+ %r   N)(ro   Útypingr   r   Únaclr   r   Únacl._sodiumr   r   Únacl.exceptionsr   Ú crypto_generichash_blake2b_bytesrk   Ú$crypto_generichash_blake2b_bytes_minrl   Ú$crypto_generichash_blake2b_bytes_maxr    Ú#crypto_generichash_blake2b_keybytesrm   Ú'crypto_generichash_blake2b_keybytes_minrn   Ú'crypto_generichash_blake2b_keybytes_maxr$   Ú$crypto_generichash_blake2b_saltbytesr&   Ú(crypto_generichash_blake2b_personalbytesr'   Úcrypto_generichash_statebytesrD   r%   r!   r(   r:   r;   r<   r^   rd   ri   r   )ro   s   @r   Ú<module>r}      s(  øð÷ %Ô $å "ß !Ý "ð !$× DÒ DÓ FÐ Ó FØ$'×$LÒ$LÓ$NÐ Ó NØ$'×$LÒ$LÓ$NÐ Ó NØ#&×#JÒ#JÓ#LÐ Ó Là×/Ò/Ó1ð  ó ð ×/Ò/Ó1ð  ó ð %(×$LÒ$LÓ$NÐ Ó Nà×0Ò0Ó2ð !ó ð &)×%FÒ%FÓ%HÐ Ó Hà/€	Ø
 €õ2ðn 0ØØØ÷5.ñp �~¨]Ô;€÷ñ ð> ØØØ/÷	-õ`D÷85r   