+\hUddlZddlZddlZddlZddlZddlmZmZGddZeZ eee d< ejZ defdZded edefd Zy#e $rdZ YwxYw) N)AnyOptionalceZdZddeefdZdeddfdZdeddfdZddZde fd Z de fd Z de fd Z d e d e de fdZ y) EntropyPoolNseedc^d|_d|_d|_tj|_t j|_d|_ td|jz|_ |2|j|d|_ tj|_yd|_ d|_y)NrTF) pool_indexdigest next_byte threadingLocklockhashlibsha1hashhash_len bytearraypool_stirseededosgetpidseed_pid)selfrs N/root/niggaflix-v3/playground/venv/lib/python3.12/site-packages/dns/entropy.py__init__zEntropyPool.__init__ s+/ NN$ LLN  edmm34   JJt DKIIKDMDKDMentropyreturnc|D]]}|j|jk(rd|_|dz}|j|jxx|zcc<|xjdz c__y)Nr)r rr)rr cbs rrzEntropyPool._stir0sW !A$--/"#DA IIdoo &! + & OOq O  !rch|j5|j|dddy#1swYyxYwN)rr)rr s rstirzEntropyPool.stir8s* YY JJw    s(1c|jr!|jtjk7rZ tjd}d|_tj|_d|_ t}|j|yy#t $rs t ddd5}|jd}dddn #1swYnxYwn:#t $r.ttjj}YnwxYwYwxYw)Nz /dev/urandomrbrT)rrrrurandom Exceptionopenreadstrtimeencoder rr)rrrs r _maybe_seedzEntropyPool._maybe_seed<s{{dmmryy{: 5zz"~DKIIKDMDKT?D JJt ; 55ndA6*! vvbz*** 5tyy{+224D5  5sMB D C B;2 C;C CD4C?<D>C??DDc|j5|j|j|j|jk(rx|j j t|jt|j j|_|j|jd|_|j|j}|xjdz c_ddd|S#1swYSxYw)Nrr$) rr5r r rrupdatebytesrrr)rvalues rrandom_8zEntropyPool.random_8Ls YY    {{"dnn &E   tyy!12' (8(8(:;  4;;'!"KK/E NNa N    s CC33C=cJ|jdz|jzS)N)r:rs r random_16zEntropyPool.random_16Xs}}$t}}66rcJ|jdz|jzS)N)r>r=s r random_32zEntropyPool.random_32[s ~~%'$..*:::rfirstlastc||z dz}|dkDr td|dkDr|j}d}n"|dkDr|j}d}n|j}d}|||z|dzzzS) Nr$lztoo bigr@lr<ir#) ValueErrorrAr>r:)rrBrCsizerandmaxs rrandom_betweenzEntropyPool.random_between^sue|a * Y' ' %<>>DC CZ>>DC==DCtdf}q111rr()r!N)__name__ __module__ __qualname__rr8rrr)r5intr:r>rArIrrrrs{ Xe_ !U!t! E d  # 737;3; 2C 2s 2s 2rr system_randomr!cbttjddStjS)Nrr@)rO randrangerr>rNrrr>r>ws( &&q%00~~rrBrCclttj||dzStj||S)Nr$)rOrQrrI)rBrCs rbetweenrS~s2 &&udQh77""5$//r)rrrandomrr2typingrrrr__annotations__ SystemRandomrOr.rMr>rSrNrrrXs$  Q2Q2h}}'F'')M  3 030c0c0MsAA$#A$