+
    i  c                   s    R t . ROt^ RIt^ RIHt ^ RIHt ]! 4       t]P                  t	]P                  t
R t^ tR	R ltR	R ltR	R ltR# )
zGenerate cryptographically strong pseudo-random numbers suitable for
managing secrets such as account authentication, tokens, and similar.

See PEP 506 for more information.
https://peps.python.org/pep-0506/

N)compare_digest)SystemRandomc                sP    V ^ 8:  d   \        R4      h\        P                  V 4      # )z(Return a random int in the range [0, n).zUpper bound must be positive.)Z
ValueError_sysrandZ
_randbelow)Zexclusive_upper_bound   & /usr/lib64/python3.14/secrets.py	randbelowr      s(    !899455    c                s@    V f   \         p \        P                  V 4      # )zReturn a random byte string containing *nbytes* bytes.

If *nbytes* is ``None`` or not supplied, a reasonable
default is used.

>>> token_bytes(16)  #doctest:+SKIP
b'\xebr\x17D*t\xae\xd4\xe3S\xb6\xe2\xebP1\x8b'

)DEFAULT_ENTROPYr   Z	randbytesnbytesr   r   token_bytesr
   !   s     ~ f%%r   c                s4    \        V 4      P                  4       # )a
  Return a random text string, in hexadecimal.

The string has *nbytes* random bytes, each byte converted to two
hex digits.  If *nbytes* is ``None`` or not supplied, a reasonable
default is used.

>>> token_hex(16)  #doctest:+SKIP
'f9bf78b9a18ce6d46a0cd2b0b86df9da'

)r
   Zhexr   r   r   	token_hexr   /   s     v""$$r   c                s    \        V 4      p\        P                  ! V4      P                  R4      P	                  R4      # )zReturn a random URL-safe text string, in Base64 encoding.

The string has *nbytes* random bytes.  If *nbytes* is ``None``
or not supplied, a reasonable default is used.

>>> token_urlsafe(16)  #doctest:+SKIP
'Drmhze6EPcv0fN_81Bj-nA'

s   =Zascii)r
   base64Zurlsafe_b64encodeZrstripZdecode)r	   Ztoks   & r   token_urlsafer   <   s5     f
C##C(//5<<WEEr   )choicer   randbitsr   r
   r   r   r    )N)Z__doc__Z__all__r   Zhmacr    Zrandomr   r   Zgetrandbitsr   r   r   r   r
   r   r   ) r   r   <module>r      sS      >	6 &%Fr   