o
    þðc-  ã                   @   s8   d Z ddlmZ dededdfdd„Zdefd	d
„ZdS )z*
PRNG management routines, thin wrappers.
é    )ÚlibÚbufferÚentropyÚreturnNc                 C   s:   t | tƒs	tdƒ‚t |tƒstdƒ‚t | t| ƒ|¡ dS )aò  
    Mix bytes from *string* into the PRNG state.

    The *entropy* argument is (the lower bound of) an estimate of how much
    randomness is contained in *string*, measured in bytes.

    For more information, see e.g. :rfc:`1750`.

    This function is only relevant if you are forking Python processes and
    need to reseed the CSPRNG after fork.

    :param buffer: Buffer with random data.
    :param entropy: The entropy (in bytes) measurement of the buffer.

    :return: :obj:`None`
    zbuffer must be a byte stringzentropy must be an integerN)Ú
isinstanceÚbytesÚ	TypeErrorÚintÚ_libÚRAND_addÚlen)r   r   © r   ú9/opt/certbot/lib/python3.10/site-packages/OpenSSL/rand.pyÚadd   s
   

r   c                   C   s   t  ¡ S )z}
    Check whether the PRNG has been seeded with enough data.

    :return: 1 if the PRNG is seeded enough, 0 otherwise.
    )r
   ÚRAND_statusr   r   r   r   Ústatus"   s   r   )Ú__doc__ÚOpenSSL._utilr   r
   r   r	   r   r   r   r   r   r   Ú<module>   s    