+
    ™h©jk(  ã                   óè  a € R t"0 t ^ RI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 R R ltR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R lt ! R R4      tR R ltR R lt R R lt!R# )é    )ÚTuple)Ú
exceptions)ÚffiÚlib)Úensurec                óF   € V ^8„  d   QhR\         \        \        3,          /# )é   Úreturn)r   Úbytes)Úformats   "ÚT/var/www/html/bestweb/venv/lib/python3.14/site-packages/nacl/bindings/crypto_sign.pyÚ__annotate__r       s   € ÷ ñ œU¤5¬% <Õ0ñ ó    c                 ó`  € \         P                  ! R\        4      p \         P                  ! R\        4      p\        P
                  ! W4      p\        V^ 8H  R\        P                  R7       \         P                  ! V \        4      R,          \         P                  ! V\        4      R,          3# )zi
Returns a randomly generated public key and secret key.

:rtype: (bytes(public_key), bytes(secret_key))
úunsigned char[]úUnexpected library error©ÚraisingºNNN)
r   ÚnewÚcrypto_sign_PUBLICKEYBYTESÚcrypto_sign_SECRETKEYBYTESr   Úcrypto_sign_keypairr   ÚexcÚRuntimeErrorÚbuffer)ÚpkÚskÚrcs      r   r   r       sƒ   € ô 
�ŠÐ"Ô$>Ó	?€BÜ	�ŠÐ"Ô$>Ó	?€Bä	×	 Ò	  Ó	(€BÜ
ˆ2�‰7Ð.¼×8HÑ8HÕIô 	�
Š
�2Ô1Ó2°1Õ5Ü�
Š
�2Ô1Ó2°1Õ5ðð r   c                óR   € V ^8„  d   QhR\         R\        \         \         3,          /# )r	   Úseedr
   )r   r   )r   s   "r   r   r   2   s#   € ÷ ñ ¤5ð ¬U´5¼%°<Õ-@ñ r   c                ó¶  € \        V 4      \        8w  d   \        P                  ! R4      h\        P
                  ! R\        4      p\        P
                  ! R\        4      p\        P                  ! WV 4      p\        V^ 8H  R\        P                  R7       \        P                  ! V\        4      R,          \        P                  ! V\        4      R,          3# )z�
Computes and returns the public key and secret key using the seed ``seed``.

:param seed: bytes
:rtype: (bytes(public_key), bytes(secret_key))
zInvalid seedr   r   r   r   )ÚlenÚcrypto_sign_SEEDBYTESr   Ú
ValueErrorr   r   r   r   r   Úcrypto_sign_seed_keypairr   r   r   )r!   r   r   r   s   &   r   r&   r&   2   s¡   € ô ˆ4ƒyÔ)Ô)Ü�nŠn˜^Ó,Ð,ä	�ŠÐ"Ô$>Ó	?€BÜ	�ŠÐ"Ô$>Ó	?€Bä	×	%Ò	% b¨dÓ	3€BÜ
ˆ2�‰7Ð.¼×8HÑ8HÕIô 	�
Š
�2Ô1Ó2°1Õ5Ü�
Š
�2Ô1Ó2°1Õ5ðð r   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )r	   Úmessager   r
   ©r   )r   s   "r   r   r   H   s!   € ÷ 0ñ 0œð 0¤Eð 0¬eñ 0r   c                óN  € \         P                  ! R\        V 4      \        ,           4      p\         P                  ! R4      p\        P
                  ! W#V \        V 4      V4      p\        V^ 8H  R\        P                  R7       \         P                  ! W#^ ,          4      R,          # )z‘
Signs the message ``message`` using the secret key ``sk`` and returns the
signed message.

:param message: bytes
:param sk: bytes
:rtype: bytes
r   úunsigned long long *r   r   r   )
r   r   r#   Úcrypto_sign_BYTESr   Úcrypto_signr   r   r   r   )r(   r   ÚsignedÚ
signed_lenr   s   &&   r   r-   r-   H   su   € ô �WŠWÐ&¬¨G«Ô7HÕ(HÓI€FÜ—’Ð/Ó0€Jä	�Š˜¨W´c¸'³lÀBÓ	G€BÜ
ˆ2�‰7Ð.¼×8HÑ8HÕIä�:Š:�f¨�mÓ,¨QÕ/Ð/r   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )r	   r.   r   r
   r)   )r   s   "r   r   r   Z   s!   € ÷ 2ñ 2œUð 2¬ð 2´%ñ 2r   c                ó0  € \         P                  ! R\        V 4      4      p\         P                  ! R4      p\        P                  ! W#V \        V 4      V4      ^ 8w  d   \
        P                  ! R4      h\         P                  ! W#^ ,          4      R,          # )z¬
Verifies the signature of the signed message ``signed`` using the public
key ``pk`` and returns the unsigned message.

:param signed: bytes
:param pk: bytes
:rtype: bytes
r   r+   úSignature was forged or corruptr   )r   r   r#   r   Úcrypto_sign_openr   ÚBadSignatureErrorr   )r.   r   r(   Úmessage_lens   &&  r   r3   r3   Z   sv   € ô �gŠgÐ'¬¨V«Ó5€GÜ—'’'Ð0Ó1€Kô 	×Ò˜W°6¼3¸v»;ÈÓKØô	ô ×#Ò#Ð$EÓFÐFä�:Š:�g¨1�~Ó.¨qÕ1Ð1r   c                ó0   € V ^8„  d   QhR\         R\         /# )r	   Úpublic_key_bytesr
   r)   )r   s   "r   r   r   o   ó   € ÷ Añ A¼5ð AÄUñ Ar   c                ó4  € \        V 4      \        8w  d   \        P                  ! R4      h\        p\
        P                  ! RV4      p\        P                  ! W 4      p\        V^ 8H  R\        P                  R7       \
        P                  ! W!4      R,          # )z÷
Converts a public Ed25519 key (encoded as bytes ``public_key_bytes``) to
a public Curve25519 key as bytes.

Raises a ValueError if ``public_key_bytes`` is not of length
``crypto_sign_PUBLICKEYBYTES``

:param public_key_bytes: bytes
:rtype: bytes
zInvalid curve public keyr   r   r   r   )r#   r   r   r%   Úcrypto_sign_curve25519_BYTESr   r   r   Ú$crypto_sign_ed25519_pk_to_curve25519r   r   r   )r7   Úcurve_public_key_lenÚcurve_public_keyr   s   &   r   r;   r;   o   ó}   € ô ÐÓÔ :Ô:Ü�nŠnÐ7Ó8Ð8ä7ÐÜ—w’wÐ0Ð2FÓGÐä	×	1Ò	1Øó
€Bô ˆ2�‰7Ð.¼×8HÑ8HÕIä�:Š:Ð&Ó=¸aÕ@Ð@r   c                ó0   € V ^8„  d   QhR\         R\         /# ©r	   Úsecret_key_bytesr
   r)   )r   s   "r   r   r   ˆ   r8   r   c                ó4  € \        V 4      \        8w  d   \        P                  ! R4      h\        p\
        P                  ! RV4      p\        P                  ! W 4      p\        V^ 8H  R\        P                  R7       \
        P                  ! W!4      R,          # )zö
Converts a secret Ed25519 key (encoded as bytes ``secret_key_bytes``) to
a secret Curve25519 key as bytes.

Raises a ValueError if ``secret_key_bytes``is not of length
``crypto_sign_SECRETKEYBYTES``

:param secret_key_bytes: bytes
:rtype: bytes
zInvalid curve secret keyr   r   r   r   )r#   r   r   r%   r:   r   r   r   Ú$crypto_sign_ed25519_sk_to_curve25519r   r   r   )rA   Úcurve_secret_key_lenÚcurve_secret_keyr   s   &   r   rC   rC   ˆ   r>   r   c                ó0   € V ^8„  d   QhR\         R\         /# r@   r)   )r   s   "r   r   r   ¡   s   € ÷ 4ñ 4´5ð 4¼Uñ 4r   c                óh   € \        V 4      \        8w  d   \        P                  ! R4      hV \        R # )zí
Extract the public Ed25519 key from a secret Ed25519 key (encoded
as bytes ``secret_key_bytes``).

Raises a ValueError if ``secret_key_bytes``is not of length
``crypto_sign_SECRETKEYBYTES``

:param secret_key_bytes: bytes
:rtype: bytes
úInvalid secret keyN©r#   r   r   r%   r$   ©rA   s   &r   Úcrypto_sign_ed25519_sk_to_pkrK   ¡   s2   € ô ÐÓÔ :Ô:Ü�nŠnÐ1Ó2Ð2àÔ1Ð2Ð3Ð3r   c                ó0   € V ^8„  d   QhR\         R\         /# r@   r)   )r   s   "r   r   r   ²   s   € ÷ 4ñ 4´Uð 4¼uñ 4r   c                óh   € \        V 4      \        8w  d   \        P                  ! R4      hV R\         # )zß
Extract the seed from a secret Ed25519 key (encoded
as bytes ``secret_key_bytes``).

Raises a ValueError if ``secret_key_bytes``is not of length
``crypto_sign_SECRETKEYBYTES``

:param secret_key_bytes: bytes
:rtype: bytes
rH   NrI   rJ   s   &r   Úcrypto_sign_ed25519_sk_to_seedrN   ²   s2   € ô ÐÓÔ :Ô:Ü�nŠnÐ1Ó2Ð2àÐ2Ô2Ð3Ð3r   c                   ó<   a € ] tR t^Ãt o RtR.tV 3R lR ltRtV tR# )Úcrypto_sign_ed25519ph_statezG
State object wrapping the sha-512 state used in ed25519ph computation
Ústatec                ó   <€ V ^8„  d   QhRR/# )r	   r
   N© )r   Ú__classdict__s   "€r   r   Ú(crypto_sign_ed25519ph_state.__annotate__Ê   s   ø€ ÷ Nñ N˜$ñ Nr   c                óÄ   € \         P                  ! R \        4      V n        \        P
                  ! V P                  4      p\        V^ 8H  R\        P                  R7       R# )r   r   r   N)	r   r   Ú crypto_sign_ed25519ph_STATEBYTESrQ   r   Úcrypto_sign_ed25519ph_initr   r   r   )Úselfr   s   & r   Ú__init__Ú$crypto_sign_ed25519ph_state.__init__Ê   sE   € ÜŸGšGØÔ?ó
ˆŒ
ô ×+Ò+¨D¯J©JÓ7ˆäˆr�Q‰wÐ2¼C×<LÑ<L×Mr   )rQ   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__rZ   Ú__static_attributes__Ú__classdictcell__)rT   s   @r   rP   rP   Ã   s   ø‡ € ñð �	€I÷Nö Nr   rP   c                ó4   € V ^8„  d   QhR\         R\        RR/# )r	   ÚedphÚpmsgr
   N©rP   r   )r   s   "r   r   r   Ô   s)   € ÷ Jñ JÜ
%ðJÜ-2ðJà	ñJ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 hash state wrapped in edph

:param edph: the ed25519ph state being updated
:type edph: crypto_sign_ed25519ph_state
:param pmsg: the partial message
:type pmsg: bytes
:rtype: None
ú/edph parameter must be a ed25519ph_state objectr   z%pmsg parameter must be a bytes objectr   N)r   Ú
isinstancerP   r   Ú	TypeErrorr   r   Úcrypto_sign_ed25519ph_updaterQ   r#   r   )re   rf   r   s   && r   rl   rl   Ô   st   € ô Ü�4Ô4Ó5Ø9Ü—‘õô
 Ü�4œÓØ/Ü—‘õô
 
×	)Ò	)¨$¯*©*°d¼CÀ»IÓ	F€BÜ
ˆ2�‰7Ð.¼×8HÑ8H×Ir   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r	   re   r   r
   rg   )r   s   "r   r   r   î   s$   € ÷ &7ñ &7Ü
%ð&7Ü+0ð&7ä
ñ&7r   c                óB  € \        \        V \        4      R\        P                  R7       \        \        V\
        4      R\        P                  R7       \        \        V4      \        8H  RP                  \        4      \        P                  R7       \        P                  ! R\        4      p\        P                  ! V P                  V\        P                  V4      p\        V^ 8H  R\        P                   R7       \        P"                  ! V\        4      R,          # )a/  
Create a signature for the data hashed in edph
using the secret key sk

:param edph: the ed25519ph state for the data
             being signed
:type edph: crypto_sign_ed25519ph_state
:param sk: the ed25519 secret key (secret and public part)
:type sk: bytes
:return: ed25519ph signature
:rtype: bytes
ri   r   z+secret key parameter must be a bytes objectz secret key must be {} bytes longr   r   r   )r   rj   rP   r   rk   r   r#   r   r   r   r   r,   r   Ú"crypto_sign_ed25519ph_final_createrQ   ÚNULLr   r   )re   r   Ú	signaturer   s   &&  r   ro   ro   î   sÕ   € ô Ü�4Ô4Ó5Ø9Ü—‘õô
 Ü�2”uÓØ5Ü—‘õô
 ÜˆB‹Ô-Ñ-Ø	+×3Ñ3Ü&ó	
ô —‘õô —’Ð)Ô+<Ó=€IÜ	×	/Ò	/Ø�
‰
�IœsŸx™x¨ó
€Bô ˆ2�‰7Ð.¼×8HÑ8HÕIä�:Š:�iÔ!2Ó3°AÕ6Ð6r   c                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )r	   re   rq   r   r
   )rP   r   Úbool)r   s   "r   r   r     s,   € ÷ 0ñ 0Ü
%ð0Ü27ð0Ü=Bð0ä	ñ0r   c                óz  € \        \        V \        4      R\        P                  R7       \        \        V\
        4      R\        P                  R7       \        \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\
        4      R\        P                  R7       \        \        V4      \        8H  RP                  \        4      \        P                  R7       \        P                  ! V P                  W4      pV^ 8w  d   \        P                  ! R4      hR# )	aª  
Verify a prehashed signature using the public key pk

:param edph: the ed25519ph state for the data
             being verified
:type edph: crypto_sign_ed25519ph_state
:param signature: the signature being verified
:type signature: bytes
:param pk: the ed25519 public part of the signing key
:type pk: bytes
:return: True if the signature is valid
:rtype: boolean
:raises exc.BadSignatureError: if the signature is not valid
ri   r   z*signature parameter must be a bytes objectzsignature must be {} bytes longz+public key parameter must be a bytes objectz public key must be {} bytes longr2   T)r   rj   rP   r   rk   r   r#   r,   r   r   r   Ú"crypto_sign_ed25519ph_final_verifyrQ   r4   )re   rq   r   r   s   &&& r   ru   ru     sï   € ô" Ü�4Ô4Ó5Ø9Ü—‘õô
 Ü�9œeÓ$Ø4Ü—‘õô
 ÜˆI‹Ô+Ñ+Ø	*×2Ñ2Ô3DÓEÜ—‘õô
 Ü�2”uÓØ5Ü—‘õô
 ÜˆB‹Ô-Ñ-Ø	+×3Ñ3Ü&ó	
ô —‘õô 
×	/Ò	/°·
±
¸IÓ	J€BØ	ˆQ„wÜ×#Ò#Ð$EÓFÐFár   c                ó  € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   # )r	   r,   r$   r   r   r:   rW   )Ú__conditional_annotations__Úint)r   s   "r   r   r      sy   € × Ñ ÷ 1Ò 0”3Ñ 0ñ ÷ CÒ B”sÑ Bñ ÷ CÒ BœCÑ Bñ ÷ CÒ BœCÑ Bñ ÷ DÒ CœcÑ Cñ ÷ OÒ N¤#Ñ Nò r   N)#rw   Útypingr   Únaclr   r   Únacl._sodiumr   r   Únacl.exceptionsr   Úcrypto_sign_bytesr,   Úcrypto_sign_secretkeybytesr$   Úcrypto_sign_publickeybytesr   r   Úcrypto_box_secretkeybytesr:   Ú crypto_sign_ed25519ph_statebytesrW   r   r&   r-   r3   r;   rC   rK   rN   rP   rl   ro   ru   r   )rw   s   @r   Ú<module>r‚      sÑ   øð÷ Ò å "ß !Ý "ð ×.Ò.Ó0Ð Ó 0à ×;Ò;Ó=ÀÕBÐ Ó BØ"%×"@Ò"@Ó"BÐ Ó BØ"%×"@Ò"@Ó"BÐ Ó Bà$'×$AÒ$AÓ$CÐ Ó Cà(+×(LÒ(LÓ(NÐ  Ó Nõõ$õ,0õ$2õ*Aõ2Aõ24õ"4÷"Nñ Nõ"Jõ4&7÷R0r   