§
    ÌtºfÝ  ã                   ó(  — d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dlm	Z	  ej
        de j        v oe j        d          d¦  «         ej
        ej                             d¦  «         d¦  «         G d„ d	ej        ¦  «        ¦   «         ¦   «         ZdS )
é    N)ÚutilsÚpublic)ÚutilÚ&AUTOBAHN_CI_ENABLE_RNG_DEPLETION_TESTSz\entropy depletion tests not enabled (env var AUTOBAHN_CI_ENABLE_RNG_DEPLETION_TESTS not set)Úlinuxz/entropy depletion tests only available on Linuxc                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestEntropyc                 ó¬  — i }t          dd¦  «        5 }t          d¦  «        D �]š}t          d¦  «        D �]}t          j        ¦   «          t	          j        ¦   «         }t          j        ¦   «         }t          j        d¦  «        }t          j        dd¦  «        }t          j        dd¦  «        }	t          j	        t          d¦  «        ¦  «        }
t          j        t          j        j        ¦  «        }t          j        d	d	¦  «        }t          j        ¦   «         }t          j        ¦   «         }t          j        ¦   «         }�Œ|                     d¦  «        }t          d
d¦  «        5 }t)          |                     ¦   «         ¦  «        dz  }||vrd||<   ||xx         dz  cc<   d d d ¦  «         n# 1 swxY w Y   �Œœ	 d d d ¦  «         n# 1 swxY w Y   t+          |                     ¦   «         ¦  «        }t/          d¦  «         |D ]+}t/          d                     |||         ¦  «        ¦  «         Œ,|                      |d         dk    ¦  «         d S )Nz/dev/urandomÚrbéè  éd   é    r   l          é
   é   ú%/proc/sys/kernel/random/entropy_availÚré   ú 
system entropy depletion stats:ú{}: {})ÚopenÚrangeÚrandomÚseedÚuuidÚuuid4ÚgetrandbitsÚrandintÚnormalvariateÚchoicer   r   ÚBoxÚ
NONCE_SIZEr   Úgenerate_tokenÚidÚridÚnewidÚreadÚintÚsortedÚkeysÚprintÚformatÚ
assertTrue)ÚselfÚresÚrngÚiÚjÚv1Úv2Úv3Úv4Úv5Úv6Úv7Úv8Úv9Úv10Úv11ÚdÚentÚeaÚskeysÚks                        úU/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/autobahn/test/test_rng.pyÚtest_non_depletingzTestEntropy.test_non_depleting*   s„  € Øˆå�. $Ñ'Ô'ð "	!¨3Ý˜4‘[”[ð !!ñ !!�Ý˜s™œð 'ñ '�Aõ ”K‘M”M�Mõ œ™œ�Bõ  œ™œ�BÝÔ+¨BÑ/Ô/�BÝœ¨Ð+;Ñ<Ô<�BÝÔ-¨b°#Ñ6Ô6�BÝœ¥u¨S¡z¤zÑ2Ô2�Bõ œ¥f¤jÔ&;Ñ<Ô<�Bõ Ô,¨Q°Ñ2Ô2�BÝœ™œ�BÝœ(™*œ*�CÝœ*™,œ,�C‘Cð —H’H˜T‘N”N�õ ÐAÀ3ÑGÔGð !È3Ý˜SŸXšX™ZœZ™œ¨CÑ/�BØ �}�}Ø"#˜˜B™Ø˜�G�G”G˜q‘L�G�G‘Gð	!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ùð;!!ð"	!ð "	!ð "	!ñ "	!ô "	!ð "	!ð "	!ð "	!ð "	!ð "	!ð "	!øøøð "	!ð "	!ð "	!ð "	!õH �s—x’x‘z”zÑ"Ô"ˆåÐ1Ñ2Ô2Ð2Øð 	.ð 	.ˆAÝ�(—/’/ ! S¨¤VÑ,Ô,Ñ-Ô-Ð-Ð-à�Š˜˜aœ 1šÑ%Ô%Ð%Ð%Ð%s6   “EGÅ(>F2Æ&GÆ2F6Æ6GÆ9F6Æ:GÇGÇGc                 ón  — i }t          dd¦  «        5 }t          d¦  «        D ]|}|                     d¦  «        }t          dd¦  «        5 }t          |                     ¦   «         ¦  «        dz  }||vrd||<   ||xx         d	z  cc<   d d d ¦  «         n# 1 swxY w Y   Œ}	 d d d ¦  «         n# 1 swxY w Y   t	          |                     ¦   «         ¦  «        }t          d
¦  «         |D ]+}t          d                     |||         ¦  «        ¦  «         Œ,|                      |d         dk    ¦  «         d S )Nz/dev/randomr   i'  r   r   r   r   r   r   r   r   )	r   r   r&   r'   r(   r)   r*   r+   r,   )	r-   r.   r/   r0   r=   r>   r?   r@   rA   s	            rB   Útest_depletingzTestEntropy.test_depletingY   s±  € Øˆå�- Ñ&Ô&ð 	!¨#Ý˜5‘\”\ð 
!ð 
!�ð —H’H˜T‘N”N�õ ÐAÀ3ÑGÔGð !È3Ý˜SŸXšX™ZœZ™œ¨CÑ/�BØ �}�}Ø"#˜˜B™Ø˜�G�G”G˜q‘L�G�G‘Gð	!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !øð
!ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!õ �s—x’x‘z”zÑ"Ô"ˆåÐ1Ñ2Ô2Ð2Øð 	.ð 	.ˆAÝ�(—/’/ ! S¨¤VÑ,Ô,Ñ-Ô-Ð-Ð-à�Š˜˜aœ AšÑ&Ô&Ð&Ð&Ð&s5   “7B-Á
>BÂB-ÂBÂB-ÂBÂB-Â-B1Â4B1N)Ú__name__Ú
__module__Ú__qualname__rC   rE   © ó    rB   r	   r	   &   s3   € € € € € ð-&ð -&ð -&ð^'ð 'ð 'ð 'ð 'rJ   r	   )ÚosÚsysÚunittestr   r   Únaclr   r   Úautobahnr   ÚskipIfÚenvironÚplatformÚ
startswithÚTestCaser	   rI   rJ   rB   ú<module>rU      s  ðð6 
€	€	€	Ø 
€
€
€
Ø €€€à €€€Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ð €„Ð>À"Ä*ÐLð  FÐQSÔQ[ð  ]Eô  RFð  Gð  Igñ  hô  hØ€„�S”\×,Ò,¨WÑ5Ô5Ð5Ð7hÑiÔiðG'ð G'ð G'ð G'ð G'�(Ô#ñ G'ô G'ñ jÔiñ hô  hðG'ð G'ð G'rJ   