� !A?h���� gd�ZddlZddlZddlmZddlmZe��ZejZ ej Z d�Z dZ d d�Z d d�Zd d �ZdS) )�choice� randbelow�randbits� SystemRandom� token_bytes� token_hex� token_urlsafe�compare_digest�N)r )rc�b� |dkrtd���t�|��S)Nr zUpper bound must be positive.)� ValueError�_sysrand� _randbelow)�exclusive_upper_bounds �4/opt/alt/python-internal/lib64/python3.11/secrets.pyrrs4��2���!�!��8�9�9�9� � � �4� 5� 5�5�� c�J� |�t}t�|��S�N)�DEFAULT_ENTROPYr � randbytes��nbytess rrr"s'����~� �� � � �f� %� %�%rc�l� tjt|�����d��S)N�ascii)�binascii�hexlifyr�decoders rrr0s0�� � � �K��/�/� 0� 0� 7� 7�� @� @�@rc�� t|��}tj|���d���d��S)N�=r)r�base64�urlsafe_b64encode�rstripr)r�toks rrr=sC��� �f� � �C� � #�C� (� (� /� /�� 5� 5� <� <�W� E� E�Err)�__all__r r�hmacr �randomrr � getrandbitsrrrrrrr�rr�r)s���� � � �� � � � ����������������� �<�>�>�� � �� ���6�6�6� �� &� &� &� &� A� A� A� A� F� F� F� F� F� Fr