Ë
    n¨¸h4   ã                   óf  — U d dl mZ d dlmZmZ d dlmZ  eej                  «      Z
 ej                  «       Zeed<    ej                  «       Zeed<   d Zd Ze
r" ej&                  «       Z ej(                  «       Zdedefd„Zded	edefd
„Zdedefd„Zdedefd„Zded	edefd„Zded	edefd„Zy)é    )Ú
exceptions)ÚffiÚlib)ÚensureÚcrypto_scalarmult_BYTESÚcrypto_scalarmult_SCALARBYTESÚnÚreturnc                 óÚ   — t        j                  dt        «      }t        j                  || «      }t        |dk(  dt        j                  ¬«       t        j                  |t        «      dd S )zŽ
    Computes and returns the scalar product of a standard group element and an
    integer ``n``.

    :param n: bytes
    :rtype: bytes
    úunsigned char[]r   úUnexpected library error©ÚraisingN)
r   Únewr   r   Úcrypto_scalarmult_baser   ÚexcÚRuntimeErrorÚbufferr   ©r	   ÚqÚrcs      úq/var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/nacl/bindings/crypto_scalarmult.pyr   r   $   sV   € ô 	‰Ð!Ô#:Ó;€Aä	×	#Ñ	# A qÓ	)€BÜ
ˆ2‰7Ð.¼×8HÑ8HÕIä:‰:aÔ6Ó7¹Ð:Ð:ó    Úpc                 óÜ   — t        j                  dt        «      }t        j                  || |«      }t        |dk(  dt        j                  ¬«       t        j                  |t        «      dd S )z¡
    Computes and returns the scalar product of the given group element and an
    integer ``n``.

    :param p: bytes
    :param n: bytes
    :rtype: bytes
    r   r   r   r   N)
r   r   r   r   Úcrypto_scalarmultr   r   r   r   r   ©r	   r   r   r   s       r   r   r   4   sX   € ô 	‰Ð!Ô#:Ó;€Aä	×	Ñ	˜q ! QÓ	'€BÜ
ˆ2‰7Ð.¼×8HÑ8HÕIä:‰:aÔ6Ó7¹Ð:Ð:r   c                 ó´  — t        t        dt        j                  ¬«       t        t	        | t
        «      xr t        | «      t        k(  dj                  d«      t        j                  ¬«       t        j                  dt        «      }t        j                  || «      }t        |dk(  dt        j                  ¬«       t        j                   |t        «      dd S )	a  
    Computes and returns the scalar product of a standard group element and an
    integer ``n`` on the edwards25519 curve.

    :param n: a :py:data:`.crypto_scalarmult_ed25519_SCALARBYTES` long bytes
              sequence representing a scalar
    :type n: bytes
    :return: a point on the edwards25519 curve, represented as a
             :py:data:`.crypto_scalarmult_ed25519_BYTES` long bytes sequence
    :rtype: bytes
    :raises nacl.exceptions.UnavailableError: If called when using a
        minimal build of libsodium.
    úNot available in minimal buildr   ú&Input must be a {} long bytes sequenceÚ%crypto_scalarmult_ed25519_SCALARBYTESr   r   r   N)r   Úhas_crypto_scalarmult_ed25519r   ÚUnavailableErrorÚ
isinstanceÚbytesÚlenr!   ÚformatÚ	TypeErrorr   r   Úcrypto_scalarmult_ed25519_BYTESr   Úcrypto_scalarmult_ed25519_baser   r   r   s      r   r*   r*   E   s¯   € ô Ü%Ø(Ü×$Ñ$õô Ü1”eÓò 	<Ü‹FÔ;Ñ;Ø0×7Ñ7Ø3ó	
ô —‘õô 	‰Ð!Ô#BÓC€Aä	×	+Ñ	+¨A¨qÓ	1€BÜ
ˆ2‰7Ð.¼×8HÑ8HÕIä:‰:aÔ8Ó9¹!Ð<Ð<r   c                 ó´  — t        t        dt        j                  ¬«       t        t	        | t
        «      xr t        | «      t        k(  dj                  d«      t        j                  ¬«       t        j                  dt        «      }t        j                  || «      }t        |dk(  dt        j                  ¬«       t        j                   |t        «      dd S )	a:  
    Computes and returns the scalar product of a standard group element and an
    integer ``n`` on the edwards25519 curve. The integer ``n`` is not clamped.

    :param n: a :py:data:`.crypto_scalarmult_ed25519_SCALARBYTES` long bytes
              sequence representing a scalar
    :type n: bytes
    :return: a point on the edwards25519 curve, represented as a
             :py:data:`.crypto_scalarmult_ed25519_BYTES` long bytes sequence
    :rtype: bytes
    :raises nacl.exceptions.UnavailableError: If called when using a
        minimal build of libsodium.
    r   r   r    r!   r   r   r   N)r   r"   r   r#   r$   r%   r&   r!   r'   r(   r   r   r)   r   Ú&crypto_scalarmult_ed25519_base_noclampr   r   r   s      r   r,   r,   j   s¯   € ô Ü%Ø(Ü×$Ñ$õô Ü1”eÓò 	<Ü‹FÔ;Ñ;Ø0×7Ñ7Ø3ó	
ô —‘õô 	‰Ð!Ô#BÓC€Aä	×	3Ñ	3°A°qÓ	9€BÜ
ˆ2‰7Ð.¼×8HÑ8HÕIä:‰:aÔ8Ó9¹!Ð<Ð<r   c                 óP  — t        t        dt        j                  ¬«       t        t	        | t
        «      xr t        | «      t        k(  dj                  d«      t        j                  ¬«       t        t	        |t
        «      xr t        |«      t        k(  dj                  d«      t        j                  ¬«       t        j                  dt        «      }t        j                  || |«      }t        |dk(  dt        j                  ¬«       t        j                   |t        «      d	d	 S )
aq  
    Computes and returns the scalar product of a *clamped* integer ``n``
    and the given group element on the edwards25519 curve.
    The scalar is clamped, as done in the public key generation case,
    by setting to zero the bits in position [0, 1, 2, 255] and setting
    to one the bit in position 254.

    :param n: a :py:data:`.crypto_scalarmult_ed25519_SCALARBYTES` long bytes
              sequence representing a scalar
    :type n: bytes
    :param p: a :py:data:`.crypto_scalarmult_ed25519_BYTES` long bytes sequence
              representing a point on the edwards25519 curve
    :type p: bytes
    :return: a point on the edwards25519 curve, represented as a
             :py:data:`.crypto_scalarmult_ed25519_BYTES` long bytes sequence
    :rtype: bytes
    :raises nacl.exceptions.UnavailableError: If called when using a
        minimal build of libsodium.
    r   r   r    r!   r)   r   r   r   N)r   r"   r   r#   r$   r%   r&   r!   r'   r(   r)   r   r   r   Úcrypto_scalarmult_ed25519r   r   r   s       r   r.   r.      sî   € ô( Ü%Ø(Ü×$Ñ$õô Ü1”eÓò 	<Ü‹FÔ;Ñ;Ø0×7Ñ7Ø3ó	
ô —‘õô Ü1”eÓÒJ¤ Q£Ô+JÑ!JØ0×7Ñ7Ø-ó	
ô —‘õô 	‰Ð!Ô#BÓC€Aä	×	&Ñ	& q¨!¨QÓ	/€BÜ
ˆ2‰7Ð.¼×8HÑ8HÕIä:‰:aÔ8Ó9¹!Ð<Ð<r   c                 óP  — t        t        dt        j                  ¬«       t        t	        | t
        «      xr t        | «      t        k(  dj                  d«      t        j                  ¬«       t        t	        |t
        «      xr t        |«      t        k(  dj                  d«      t        j                  ¬«       t        j                  dt        «      }t        j                  || |«      }t        |dk(  dt        j                  ¬«       t        j                   |t        «      d	d	 S )
aÝ  
    Computes and returns the scalar product of an integer ``n``
    and the given group element on the edwards25519 curve. The integer
    ``n`` is not clamped.

    :param n: a :py:data:`.crypto_scalarmult_ed25519_SCALARBYTES` long bytes
              sequence representing a scalar
    :type n: bytes
    :param p: a :py:data:`.crypto_scalarmult_ed25519_BYTES` long bytes sequence
              representing a point on the edwards25519 curve
    :type p: bytes
    :return: a point on the edwards25519 curve, represented as a
             :py:data:`.crypto_scalarmult_ed25519_BYTES` long bytes sequence
    :rtype: bytes
    :raises nacl.exceptions.UnavailableError: If called when using a
        minimal build of libsodium.
    r   r   r    r!   r)   r   r   r   N)r   r"   r   r#   r$   r%   r&   r!   r'   r(   r)   r   r   r   Ú!crypto_scalarmult_ed25519_noclampr   r   r   s       r   r0   r0   Â   sî   € ô$ Ü%Ø(Ü×$Ñ$õô Ü1”eÓò 	<Ü‹FÔ;Ñ;Ø0×7Ñ7Ø3ó	
ô —‘õô Ü1”eÓÒJ¤ Q£Ô+JÑ!JØ0×7Ñ7Ø-ó	
ô —‘õô 	‰Ð!Ô#BÓC€Aä	×	.Ñ	.¨q°!°QÓ	7€BÜ
ˆ2‰7Ð.¼×8HÑ8HÕIä:‰:aÔ8Ó9¹!Ð<Ð<r   N)Únaclr   r   Únacl._sodiumr   r   Únacl.exceptionsr   ÚboolÚ$PYNACL_HAS_CRYPTO_SCALARMULT_ED25519r"   Úcrypto_scalarmult_bytesr   ÚintÚ__annotations__Úcrypto_scalarmult_scalarbytesr   r)   r!   Úcrypto_scalarmult_ed25519_bytesÚ%crypto_scalarmult_ed25519_scalarbytesr%   r   r   r*   r,   r.   r0   © r   r   ú<module>r=      s  ðö  #ß !Ý "ñ !% S×%MÑ%MÓ NÐ à:˜s×:Ñ:Ó<Ð ˜Ó <Ø%F S×%FÑ%FÓ%HÐ ˜sÓ Hà"#Ð Ø()Ð %á Ø&I c×&IÑ&IÓ&KÐ#à1ˆ×1Ñ1Ó3ð *ð
;˜eð ;¨ó ;ð ;˜ð ; 5ð ;¨Uó ;ð""= eð "=°ó "=ðJ"=¨eð "=¸ó "=ðJ0= ð 0=¨5ð 0=°Uó 0=ðf.=¨ð .=°5ð .=¸Uô .=r   