ELF                      @       H         @ 8  @ & $       @       @       @                                                        	      	                                                                                    p      p             Rtd                                            Ptd   X      X      X      L       L              Qtd                                                                              8       8                       Android %            GNU ]^x{8oZ&v                        :                      A                                                                                                         R                                                           c                             0      oz?`lsu|q	   	                                                                    _RNvNtCsZFmoY9pI8X_9rand_core5impls19fill_via_u32_chunks memcpy __stack_chk_fail _RNvNtCsZFmoY9pI8X_9rand_core5impls19fill_via_u64_chunks rust_metadata_rand_core_b95c7eadca46c25 __cxa_finalize __cxa_atexit __register_atfork libc.so LIBC librand_core.dylib.so     APS2                                                                                                                 ;L      p  d                       ,    @    T             zR | @           D`XP

`X D   D   \        D`XP

`X D                                                                         x              |                 {g_WOC hBZ;I@?  w@30 s t~     T    i(		J	 T	  Ti	)  T )	@ T@~ 	 q  s H@@	A TOEWD_CgB{A_e  {g_WOC hCZ;I@?  w@30 s t}I     T    i(		J	 T	  Ti	) ! T )	@ T@} 	 +  s H@@	A TOEWD_CgB{A_    8    _@    _  ` 6    c6       {  @b      @   @   @   @   @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        	                                                      o            o          o           o                               x                                         8                                 
             o    H             p                                 o          o    $      o                                                   @	      @	      @	      @	      @	             ~             (/`~
 b&53?0A(~x'!zJ}V)AWJ".J%]1*N.tPj6,"4ߟ|oмf??p`|(ҥH~ܦvP58P$@	'P%QQ3dU̢ VtٱUbV]2f$F]¨k5M2D}qdϸ	¢uQ4Ҝ\:an!#C=0%B@B|ZlG\Az+!ʐsjhRh0                    (/` P/ c
P@+3$ًLo6$n?ƍme
@ @ H 0;6D1r# >?*k^{y׶p<̎kkyӫ@ܾSгxicHދXyUu j*Ӣ䕒VKؐdMQ7A^Ґ^1"Пqȴb{T''*BMm9pg8}pR#QߋW*A#E^l[=Pb3,sL<iH=ȗK#+JDlJI*S^*<0HqTDh
Z`Q.XEC2"VY	P{)kʼZ,,ʊRT+֘	lUNPLt1D
IApaVL>0tQ !@i~sޮڅFc                      (/`a 
@K0 nl=HJYA!+8بY0xgLSCۛݽ)# jD7X$ τL,:j2?XT
-|fDb//dBmi0҉)#e࿘|M Ք"&H0/}k21zxK(ѱ1Ok#>!~#wG<|(mw>hoNV'{G=wg<9jEkt.]#kf~hc3:>>ýN
$Cz<+'"*{ɦ{-b9jVwmuKpU,8úU&t.?:7{**}ZXcٻX%cu/=	$Tu}A뒎>yq<,~%~H>	(mA6Jd=Iznzߚ"tx\:Ke}G{LY}fnl^s{sP{nԩNrUq{UORO4~LB٥HU0X3 ߻|HSP7nX(W||G!>ϩ汴o2F>ـ;xtcr1M=S{5}֥ЫK^]R v;Y̜JYBJf	)%AW{@ܲa҄=Pp'K1@N8INN8vR'Q8>T=Ό$(MF\#t&b@<~
?Z:Ϣ%6Ek%D| N+K|%zu?STԻ$//_˔I!+RE\4zЃ"u՗)IX0ʵߐ"~s-V{`+x{v)OϘW\<(y;&Ɋ*
%TnQGOVB|AX)q<RG)ъuZ$ZP"|wU`')(\c[	Dm+C6<G=G(b_קAD[ >PJ]k~AQn
^1P ٯ>>6Wy^eGUq{_8*4/ρ[%|D_{^
-twj\ˈmɔxӌ |%D[J&p~Q:+-=#8yK^) j>O|"jPih6f]i~Oϱj~x3i?WT}.Ћu{-G P l%YPHd$*G6	nO@X('RoTQ\<.*&QQVC.q$<|/Jo[d؛Iskϛ\J\r*4D@#Ң43}@YtEI~_PM4&$SRޏD
ёթ~כS9pD)SEQ|DxSBUW+LU1є{&,=UAKJ+/iXUqCpUx	]/BC-x1){ľ<P'Aa LuR1=9/|iSٗS[@ؗL'|)c`b`ZQsЛC;b (ytRo>.MjAR|Ud7ceI1

GQ; -JrB"fDD"	D$I
 e4p=fFހUs˩j929;Z:༼yu!7}g6az%ߖr)?PnH&;>f ~P	1#<|J|t͖9z*4On4FR#& BҁɑfJ|jKJ?6mD@_2N7N)Fp	hgnnc]7PqO:y g:.O2.Os7nr%}-%M
2?m\H3."'5LD7 Y# iX``=58qP[r2[r D.75;*d$zM̿niv.2ɗz:.SHG	6]_2rvx}a]mih\.E^F(~V7Qit><d_! 8q#$@7Eag̈́bJG36nVUGmfLXͮo3^*jhz|W,cGU,McT&v'¤#:56JfsH,Auxq[,8)gkҎ\VYس7c`\S=ac67^1u'QA`]mwJ!]؁
/
iE1_#oJN㔠˛C(;ŎT*]XYAivL%_@A&d/^LcEFc}83>b`4}g\.[O3*45YAW|s#>J
ooBpXu@.&Cz.{puoj줠6"NЃj89X(tK;(l(6,8fΌ_^ߠ|($i!tXjЯi%Wv'ͽc|M3R}⺷1Adl0"pA},*83}&46p1`	'XҕV5fn!ߗ54]58A#,Wv]vD;LOm^K y)3|Krd o2n?o<L&=2yl	H4	uc(~^/:)~(U2L§YBcìoZIfV
鴚48R$SHI:V뭞8ٱh"JBobż+wB%Zى,|QL(8^_QJ!+?rCNb+	)]zSٕ:5:(_c]R	&<ambx^Ҵ32u-=K-WT;T%o]	*Wr)z$<                                                        p             (/`p   (lpt(0@(8 !`Tw.[ŝcN+.SofD|`ƪ+ĝcӕs*_@`3rM" ȗ̲mt       *             (/`)K j`,<18=٤o'lxf,3m(]
u">^,ʼrD)OFAY}_~Q:C/pi{;9兂2mZs7ibe,Kei/8Ë7°(6A(RQpt兔qAgUT 'Õ:,y	r%,u&V;+k鰮Q0L_Q2Qo(p-2mіǢ,@kt0/|bms,[ԭ.}

Nam4_f̎n43'DC}9N@|xQ42kLj&S8s8RI5A\u]u-4k{g'Ng1.}->AÜ~իGn(^A	{
Dy
`t3@&*$Ѩ,C'z$I2U7]!(-4 =*z"\ .p2:$y@N2q38s-5Q뺮|]Bc`< 25~;&8T*uǌJ|Kv#_%&f?Hv	yZ9N¶SWzh0|S742io3s[x|<k̞jb'KQGLOQ|8*u߷h8,1yMTm[F$]gվ I!tŋګaXwAϸGPR6H$ЏN=͏~ސHޓ]*YO⥊%Ic=
F~/tU^6ihԲ1U^ٶ-0~Xktߜ5oh#7PdM'5}r]ו8FqSUQo&B8hsn95"V"S)KDLVp94zHD` D*|;,U:]WNb6!
mjR$2J?}#m,ؘ砢WMA#d8C +9j2]Qk~eTAw}?-SdDDDD
qb(b"C!B"2L#;H*WuiimM]R8>	(8*e|aߧ.:Qyi^ea8?mnxKwL2 $*-V*UA*.;+:zkCជQ|5TnkY&=:ZvS_MړBy9	X&fAjOˤKw?ȳYa|	R^'!BH`{w"TQ^d !kF*Hk60ˑN#)9ݓ#2Xn}ɥ3SD`O"ЈPc+TT8Ų)Tl-)qAVA+V7/T7w+NvSf@Q Lr 5Q)
ܰREl+K<eP&YoAZh\ux6f\6@~YX¢U93*[PLSa(mE}컠Rd3]Nrz=~@,ȓʯ#!= ik_<?ó5-[]+ZW_&8oY6ôZ7chM˰	h6.,|U |@14$3HEo@4ya%;`xLIݨJDE(NYl׬IS/yUJLhFx^!0T8VfV	fbasxC(6Wí5`/"}B-zi|O1owXNutKH?Us?k!s;f,*#|=U5s}@W΅.ma$4Ep{R
aa3':evM4yWv@Yx536f':pC ʗhlaK w	\ ĉv}82BgK2|	ڣ-Q81&x wxOQ(V_/l[yBnH@֞-Yai4/m2nA>uJg5_OEW&ѳL=)}*2seҊ=Iqw҇|S}66ɓ`myntإi,\ٖ(qCߟzPm+v=='ȬZx运X2~tdSH-E}0sljÆ$N0˧/-6rustc version 1.93.1-dev (01f6ddf75 2026-02-11) (Android Rust Toolchain version 14933020-linux-x86) Android (14863223, +pgo, +bolt, +lto, +mlgo, based on r584948b) clang version 22.0.1 (https://android.googlesource.com/toolchain/llvm-project 2d65e4108033380e6fe8e08b1f1826cd2bfb0c99)  Linker: LLD 22.0.1 (/mnt/disks/build-disk/src/googleplex-android/llvm-r584948-release/out/llvm-project/llvm 2d65e4108033380e6fe8e08b1f1826cd2bfb0c99)                     (/` 'I6"CB#fK2}wK?ij|BFZAv n~[++Wizmu q  oFz8sIs~hrU(r)T{urd(rd|bY擙\O"=qex2
K"=.'D`v) DxPWo}Ic/Hc6,Z>l׮ӗ6rW*h#9]"YT;mWh_Vf*WQ<IYmoUϿo?31[c*@(H]@aqb$4B;'Q=ȶSh6:6k!SQ:E3u v]Mѷ97vW?jZt7:ĊF 5HC{kL)AcPbA2~,ǱN32\w9d${)X2 ۞mZdYjӨV}"_ۑm/}`pMKP2&?\0$(IBDäD!$"Q$QP L8-`be1psd5?հ]!i'(*grWןߋ7`a`vѺ N*i$Ƞ!WHKctz|"eXW3:?V}uUiFǦR|DF-irust   
     rust   
     [rustc 1.93.1-dev (01f6ddf75 2026-02-11) (Android Rust Toolchain version 14933020-linux-x86)*˝N   \hRꋔ Y   i@|W
   ӥLBٿ   	|pȲΦxJ    $l3< P!97,    	hashbrownpp|S\M    
std_detect;!QRX    rustc_demanglec.0"g    cfg_ifSLU   {"tĪg=/   	getrandom<ڏ-<:bA   b'S4-K?   	84U[i                  Deserialize\ <  serde<   	SerializeL ,%#%$p $p  G$/$.  $$                 BlockRngCore   Results  generate  CryptoBlockRng   R      reset  generate_and_set   next_u32  next_u64  	  
fill_bytes # # Seed # 	from_seed # seed_from_u64 # from_rng ( impl RngCore # try_from_rng * S , . . 1 1 1 1 1 7 7 7 7 < < < < < A < C 	E   impls G G next_u64_via_u32 I G fill_bytes_via_next K K KKG 
Observable P Bytes P to_le_bytes G S
 T S
 GW
 X W
 G fill_via_chunks [ [	 G fill_via_u32_chunks G fill_via_u64_chunks G next_u32_via_fill ` ` G next_u64_via_fill c c  	 f read_u32_into f read_u64_into   os i iii m io source iq raw_os_error is s try_next_u32 s try_next_u64 s try_fill_bytes i     RngCore | | |         	CryptoRng     
TryRngCore      
unwrap_err  
unwrap_mut  read_adapter         TryCryptoRng            'r   re  'b          SeedableRng     pcg32   MUL  INC      from_os_rng  try_from_os_rng   RngReadAdapter  'a   inner  	  read 	  
   BlockRng   results   
   
BlockRng64     	half_used    i OsRng 
 ii ii i	> i OsError 
  i
i ii ii i   	UnwrapErr 
        >                    	UnwrapMut 
                                 " "( * 0 004 5 6 9 : ; ;A C I K K[ [^ ^_ _` c g gh hn nnp u v w w} ~                                             P|                    L}q1  `  |                            aL_w `  |      P  P             )     `         i        wOi       `         `         |   !     `               E
5\ ! ! ! ! ! !! b!  |!  ! `               jܸ    # # ## b#  |               jܸ   8#  #                +kGxjo   8# `$       .       7    # < , E    SW                m o s  x     `# |/   P`  	b	&   	          " ' ( 8 @ `&   	        X'   	        !  2 : ($     
        $   	      $      H     S    ] (   (  	 (                 (> ( )      )       d)  a  )    T)  ķ)  F     T)     	        	   `    )C  ,)  ]   { +4)  d )  )     *  
 ܙ*   d*         (  *  4*  (
   ? D*  *   ]      q      }  
   +  )  ,*  , O 
+d* 
  *1  *  
 \*        (      +  )  ,*  ,  +<*  U *  *    )  4*  ]   _  D*  *      *      (     ٳܳ ݳ ޳    ߳          i=2*          O'"}  \)   * ,(   ``  `] ` buf]        9ֹ`  )  ]]  ]] ]] ] 
has_fields]        PoQs    1 1 1  1  1  + `  * h +   (    (   -   *  + N  2 V              
 +%*+ , -; p-j2+z ,2+ , /W      l,    ,  ,  (   -  l-        - 4-  - * D-  -  H     l-       -{    
         .   .    .      ,    ,      \,    $,   (  (   2  *  (    0      results_emptyF    u  4N - 38      T0        (  0      07     ( ,0   * ,0         ,        ܈2   d2         (  2  42  - / D2  2   M      1(    (   2    2      1Q     0 1    L1  (   2  *          D  - 3      3#   3   d3         (  3  43  - / D3  3   M      b        s    4   4   L4  	   	   4   
    (  4%  D4   	 J
 5 ܚ4  n   3,  	 U  5+  ' 4  	 4    (     4      3     0 3   8 L3   ( ,3    v ( u  2 Z * }    0    (    V     Z       - 3 :% ;      5)   T5         ( 5   d5         (  5  45  (
 9 D5  5   W                 5      č6  6     $6 6            ( 6  O  U   5^    6   6   d6  	   	    (  # 46  =	 - D6  6  	 T6   
    ( 6!           
       	    
  3       
 6   |6     (6           (  )	     (,          ( T  (  (  7      5    6[      5   8 L5    Z ( Y ( I  =  1 * T  0  B { * {  ( @ ( 6   = (     n     ,6        = p >? =      d9       (  9 49  = / D9  9  ܉9      T9      ( |9  <9  	   9           (  $	 	    '          ( J    	 ( a        r   |9  
   (9           (  )	
     (,          ( T  ( 
 ( D:       :&  d:       (  : 4:  = / D:  :  N  
      `y   !     = ( 0B(     :    9   d:               ē; ;  >  $; ;           ( 	;  D;       ;"  d;       (  ; 4;  = / 
D;  ;  N  
  ;            (  q F     ;    :   <  <  d<       (  #4<  = - D<  <   << 	 	    <           (              	            iw     <  <   ĸ< <  >  $< <           ( <  <  <  d<       (  #4<  = - D<  =  S      _ !            (     	!               (              =  =  L= "  "   =         l=    "    = "  7  =   m    =       7    7    8   9   ;   <P   wL  <)    <#   # 7   8 L7   F D7   ( 9  B  * A  ( ,9    (  B  B  F  ' G   B  * "   f  0 E P  G   B  *    ;  { B { * { (      0    <   B  *  (               read_u64$ D F 	-          x     y     small)w    Q     
 = Bx => Fh >y = F7 = > =y      /8   L8        8           (  * 	     '          ( P     ( `%o  
 (      -`o      /8    .-. h       	exhausted         ,sN	(= -. %. ]. <8  
      % 	  
  8 
 Ի8   	 8        M 8 	 8  <8    ,           (    )	    ,           ( L             8  8/           8   8    8 	 
        ,          (    >	    ,          (   ! 7    8m    _do  !( I.  gT8       u   7  P n  B <7   ( ,7   B L T  (  B &       ( '   .          	r     v      data$8     -_o    _o    -.    -.    QI  
  QW    j  Tf      d>   >     ,           (  >   >  D>        T>      )       :   >  >)  T>       ( > 	 d>       (  > 4>  = /
 D>  >  M 	  
  z   	      > 	   ă? ?  >  $? ?            ( ?  J	 P  >f   ?  ?L  d?      (  ? 4@  (= 9 D@  @  T@      (   ų. ].             +   d?      ( L?     ( @  @     (    	     (  	 4  (  ( @         	       
 *    ( 0A     z  A    A     ڢ6.ڢ. g  U.  ]. ].  9 . 9.       դ4. -. 
    ! ' }.      &.       ..  
=      j p . Ӥ6.        D@       }.	" .
  

         
      6.
. a U.  ]. ].!  6 Ц.
  ç9.
 "      8.# -.$ 
 $    !% '& m. %  $  &. &  %    .. # 

e &  "  k& q% Ǩ.$ >.   #  # &	"  |?   [ ?$  @     " =    =    ?    gϘϘ  ј         D!@(t@  . h. . g. q. Y. gefd@  .	 heD	.
 
. ge
. q.  '0 =   8 L=   e $=  (     (  (    g ( f ( V  B ; * ^  0   (  ( ((   B R  =  <  ( s h 	 ( J B  B    z( x q ( =. =  +j ( b . b .  
 n
 ( =.
e +
j (
 e . e .  J      destP      read_len(     consumed_u32
     	filled_u8        f (   %.f (   -.     new_len$    .    5.    	.    C    E    M.	    -.	f (   %.
f (   -.
    k  "  .  $  5.    	.  "    %    &    peh	 = B	 > ^# fN B B B a B]. n]. n n a n].      B    
 dB    $B  , B   s  } 4  }          -   
               
         & & 4   B    B     & BT    M    V   $B      $B   Q  ( s(  2 * (    seed@     o    5s      o 4} - 3      C    
 C    $C  , C!   s  } 4  }          -   
               
         & & 4   C    C     ' BU    M    V   $C    $C   K  ( s(  2 * (   q<     o    5s      s 4} - 3      D    
 \D   D  3 ܡD   s  } 4  }          -   
               
         & & 4   D    D     ( CW    M    V   $D   w C   T  ( s(  2 * (    rng?     o    5s      w 4} - 3      E    
 |E    E  3 tE     %  	   U   2  8  E    E     D      z  5   
ٳ{              - GBl	 s  } 4  }  
  
      -
 	  
    	          
         & & 4 	 M   
ٳ {          * Dy      Y{    G ~~fM  nV  ٳܳ ݳ ޳    ߳          i=2*{ E   z D  ٳܳ ݳ ޳    ߳          i=2*{ 6   -  n ] {  ( s(  2 * (   x     %     op , ~  t    @    o    5s      z~2 4} - 3      O   	      (   ! ( , 4 `O   	      ( xO   	        XP   	        ! ) , 4 (N     
         N   	        N      Q     \    f (   *  (        *           (N *   )      R       dR  + R , 
+dR  R  A     TS  	   
      	  
 +  RE  ,S  , , +4S 	 T ̉S  S  	   S   S   dS         (  S  4S  - / DS  S   M      a      m     +  R  ,S  , , 
+dS   S1  S   \S        (      +  R  ,S  , , +<S  U S  T   |T               +  R  ,T  , , 	+\T  T T#  T    R  4T  / Y  DT  T      T     0 R     / \R   ߄ ,R   0 R  1  1 " 1  1 b 1  1  +   *  + E  2 M  ( M  2 2 * U +   2  + R     \               +o*+) , - 32+ ,Z2+! ,+ , /d      lV    V  V  4   W  lW        W 4W  - * DW  W  H     lW       V    
      ,W         X   X    X     3 V    V      lV    $V   (  (   2  *  (    0     5@    h  4H - 38      TZ        (  Z     4 Z7     ( ,Z   ߄ ,Z         -        ܉\   d\         (  \  4\  - / D\  \   M      [(    (   \   \      ,       \     5 [q     0 [    L[  (   2  *          D  - 3      ^#   ܋^   d^         (  ^  4^  - / D^  ^   M      b        s    ^   ^   L^  	   	   ^   
    (  ^%  D^  :	 E
 0 ܻ^  i   ],  	 ;, 5+,  $ ^  	 ^    (    ^      ,       _     6 ]     0 ]    L]   ( ,]     (   2 l *     0  < # <    P     T       - 3 :1 ;      T`         ( `   t`               ( `   `$           	     	+     ( B  H  `$  ,`        ` 	 d`       (  ` 4`  (
 9
 D`  `  W 	  
     	      ` 	  La      a      (  a% Da  : E 0 ܓa  a  ta   ( ,           ( La    ,           ( b     ,       `   	     b  b  tb            ( b  b   b            (    $	  '           (  J    ( a tc         c        c  c  tc            ( c  c%     (    	     (  5  (  ( Q c'  c  c  dc       (  #4c   . 	Dc  c  T     `        q	     
              @       (  	            d  c.      d  d    d     9 _    `    b     `    L_  ( L`  (  (     B    M ( L ( A  Ƙ  * * M  0  <  <   ( ,b (     B     ( d   c B >     Ҡ  *  (       &             shift    =   p( :n h      	d)   Td         ( d   dd         (  d  4d   0 Dd  d   N      {           d     Le        e   	    (  e%  De  : E	 0 ܗe  e   te    ( ,           (  d            e   e  
 de         (  # 4e   .
 De  f   Tf       ( e!     
             	      3      
  f  
 |f     (f           (  )	     (,          ( T  (  ( f     ,       f     : d    e{      d    Ld     (  (   Ҡ  *   0  < @ < . Ҡ  *   ( i ( _   f B %   {     ,e         1 :       dg   g     ,           ( g     ,       g   g  Dg        Tg      )       :   g  h)  Th       ( ܟh 	 dh       (  h 4h   0
 Dh  h  N 	  
  {   	      h 	  Lh      h      (  h% Dh  : E 0 h  h  ti   ( ,           (  h   	     i  iL  di      (  i 4i  (Ƙ : Di  j  Tj      ( 9* 9* z' w'     '        '   di      ( Li     ( j  Ժj     (    	     (  
 4  (  ( j         	        *    ( 5k       k    k     v'r' a l'  i' f'  ' d' a'       ]' Y' `'    x'  '! Y'       W' !       T'  
Ƙ  !    '! '  T' Q'     i' 9* 9* Dj       N'	$ L'
" S'
 "       e'
"     K'
G' a D'  A' >'#  q' <'
" 9'
 $      5'% 1'& 8' &    P'' W'( 1' '  & e -' (  '    *' % 
e (  $  '( '' ('& %'   %  >'% H(	$  v|i   [ i$  j  	   ; f    g    i   + gftj  & h9*& & g)& & & gefdj  &	 he)	&
 
& ge(
& &  )0 g    Lg   h $g  (    > ( > ( 3    (  (   Ҡ  *   0 V <  < |  ( D ( ;i   Ҡ 1  Ƙ  <  (  h  (  B g B '   O,( M, F+ ( & Ƙ  * *  &  &  d*
 @*
 ( &
j )
j )
 e & e &  J     jO     j     consumed_u64Q    jL    ,    ,f (   &f (   &    k'    &    &    	&    '     '  !  &	    &	f (   &
f (   &
    k(  $  &  &  &    	&  $  7(  '  9(  (    n Y  : ڭ8 d b. 6- 4- ah- & n& n, n, aE, n&      l    
 dl  o $l  & l      4  
          -   
 7              
                   l    l     ? lT       3 	   $l   r $l   P  ( (  2 * (   q<     P    5a      o 4o -; 3_      m    
 m  s $m  & m!      4            -   
               
                   m    m     @ lU       3    $m    $m   Q  ( (  2 * (   q<         50      s 4> -
 3.      n    
 \n w n  ' ܛn      4            -   
               
                   n    n     A mW       3    $n   y m   Q  ( (  2 * ( _  x<         5      w 4 - 3      o    
 |o  z o  ' to     y&  	   v&   ,  2  o    o     & t&    { j&   
ٳ{      g&  d&      a& ^&	    4  "  

  
     
	 -
 2	 	 
 O   	          
                 +'	 g&   
ٳ {    d&  m&    C ny    b&  Y{ 3 ]& Z& ' '  3'  ٳܳ ݳ ޳    ߳          i=2*{ o    n      &  p( _( { ( (  (  2 * (   x]     &    % ,  (    <)    ~    5       zs/) 4  -q  3       t	   
 D	  }  	 T	 -%     	  t	  
D	  	 T	 -%     	 L	     	       M l	       	  	    I    	]   	6  '   ̙	 '  	     <    	  8   	      x5     Q9    Q3    Q(    Q(       `          | T $            9             (  [   $   
d qe D          ( |      h     h  , t	  
D  ~  	 T V	!	  	 	 e(         	 4          e   -
- re %- -
 4 _ : $      T      ,               (  *   , t  
D   T 2  	    ,      , eg*      Q˝!       ,           (  -    ,                (  *  	 , t  
D   
T j	!  	  e(          ,      ,"  "     '  '   ,           (  ''             T    4. -. 
    0 !   e  0  
e  !    . 6.      . 
   '#    I   3.. a,           (U΂. Eڂ.,  ((        ].  X 	!   m.    . 
    ,  ((          -       t$ p% w % "  0 (  %  0! $ 
e  (    m% j   $  $ g# m"   "   |    d` a,           (] Z,  ((        W&   U'  P  f' N# U #   ,  ((          y#     v    K #        [    c  c  V	l!  l V!  9V	!V	!  iV	!- qe d  l ^  WR  Kf\* (e           -11E>8((         + geg!*N. he9*. hee՘.!  (.63 geeM3 Y3 # qe j	l!  l j!  9j	!j	!  ij	!< (e(         + ge
 he9* he  63 geWM3 Y3   qe  )0   <   h $   	 ( 	  	  h 	hh e	      0         (  a   =      0 !           R R  0 !         	  Y e        4  C      '  V  4  :x`     je      leftD     lu
     rq
     chunki
     nL    M	    j    !V	!  	  !V!  	  !V	!	  	  M-
     src-
    W    R    M    -f*    -g* (   ,    , (   %. (   -.    %.             AUuNk( (,           ( ](   -.    k=.    !Ӛ!     rhsٚ! ,           ( 5    5 ,           ( 	6    4  !  4  !          !j	!    !j!    !j	!         (   ,  "  , (    (     "   (,           ( (     "  k         ,           ( 5  "  5 ,           ( 	6    4   (  4!  (  _"    Z"  $  O  n*  W n} . E  n]. na
 a
  n ny
 a
 #               (    8         (    8         (    4         (    4   	        V K   w    r  lh  b  \   $                                      (    8   	        Z K   	    	  		  	  \   $                             %` ,
    ! ( D   qe $  $  
< }- 
  ]^     W% !   %" 
 "  ! !  ,%  
 !   "  ˚%"  M^ !    
    ( T 4/  0 1 3 7 $9 Al2b' /             OBI! yl2b( 0     Il4b)	 !    	 	 	 	       $	\  R! - l I	     	  	4  ! Qe  D 	 =G = G   ,           (  @=G  "! 	 t	 	   	           (  *		    	 '          ( P	    ( d	 	        		        	0	    ( 	   
   	 	 	         /	 -   
 @    
 	    J P  H     Q  I  	    G^  ^ e^  $%    ! ! J        ^  D     ^  i  .^  
i  !     ,  PhantomData         kti@!  = D K $         aea Eͤͤ  Zip Ф aD Ѥ bD ҤD Ӥ	D        /b  ChunksExactMut  vi i  
chunk_sizei  _markeri        lA]R)H eii  Iter ii i 
end_or_leni ii        SUK" !ʀ a a k 4
  
    ,# % & ' y$  ŉa#a Eʀ
 %a$ 0 	 ( d' j& p% v# 
  a&ma Eʀ0Lh ]! 0 0 00   %a, 0%a, a.    ]    U              92g(,    ʱ˱̱    ͱα Ne   ϱб Match        RAb ! % Q & Y ,                92g  	Arguments  template] ]        r\[^6  )     m2  ɦ *    )c""- +# ( ,' ('" -   # ( yc"" ( -  	  	c""- o*  w(   	-y 	   $ ( -y #   $ y$ 1
  %  #  ]!y ' 
(   	  9
  &  '  ( *   * 	#   2 *   7	   	     I		   	    1!U+ 1 	 0 ( Al5b*2 
* 2  1 	l5b           (  .*2   	l5b*2  ,) $ *2 $!- 3  1 ,          ( l8>b* 	 3   l4	b)  	l;Cb)4 l;<b) 7 	 0  5/ m%1; 67 M2 ; 	 /  u%1< g3 < 	 7  %1 4  ;  <  ǜ%1< 
1;  )4   	l<b)4  ,) $ )4 Ql>b)8 (%4= m%4> 
4 > 	 /  $4 =  > ,          ( %4> =%4 8 
 !   =  %4= l>b)   8  	l>b)8  S)  ղ%6?:m%6@ 7 @ 	 /  M'J8 ? 	 /  ˊ%6@ 尊%6 9  ?  6? l@b)  
   9  9 7 3 1 0 /        $I K L  I   j # J  h 2 K  ( A L           kti@e I K L T   J  ,	 	               (  *	  	 
.<B M<C I<D P< D   0> H  D  0@ C 
e  H    F<D C<   C  [<C @<A  UAQ J I F #w <B  ,<   <F < F     R<N a,           (K HF 3E   1=G  ,<   B=G *<A <B < B    E< A   B   W<A     	     79 >7 E3 L1 S0 Z/  L 
   [ B                      _K,  !̓ G- q!4 ^ i !^ ^ ^ V% 
!ő^% !5^}% E%`I !^I !L !E^˯
J !E^Y` LD  L̀D ` Kʀ Va Dʀ!`M,] Jʀ]`y K; y 
    2 S(2   c6"!  E2 Va Dʀ]y` LH e`$ L=`$a$ Dʀ0`$l0b  ! l2b' 'l2b( 'l4b) '.U) !1l5b'@U+ !0e1U+и!*  l8b'*F-  9$F-[.  4.* !l8,b'R%) !_'1 !E%1 1 !E%1%) !1l>b'14 !E%4%) ! Yl@b'd6 !E%6'CJ6 !e%6C^ m e +	 ge, : he9*:; he;<  <63< ge!<M3> >Y3? >	 qe1  Mi t      h $  ( $  ̀   4 M ʀ G  ( T    ( DB <               92g x ʀ     (     0 6   p         ' ! ! ( _ B g (  B   ( ^  ^  U^ E E  mW%   (        n    =2  2 2  2 2 ( " 0 `$  l2b'  Ql2b( ( l4b)  z'( l8b'  '  l;b' '  ' i'  l@b' )l@b' 1 1 4 4  	6 6  #<( <  $< $< @$<( #<  w&=  4>j 
 h 
 ( 
  
   Z     j         j         zipped(     
num_chunks#  	   byte_len"    ]    j$  J  	    --    -^    	            W%    %%         OBI  !  %}%ަ  !   addr%I    %I    ?    %J     -J    M`        %`    -`    a    a    %M]    -y  
   lowers  	   upperr  #   left_valA
   %   	right_valI   &  	!  ,     -2   %  -2   &  !  +  !  ,  )c""  +  )c""  ,  -a#  
  %`$    `$ ,  -`% ,  %a&     init%a& , 0 a& ,  Il0b'    (  /  )  0  	*  1  %.U+  0  %U,  0  !!-  1  !- ,          ( 0  3  -%1  5  -%1  6  2  /  	3  7  %%4  /  -%4 ,          ( G5  /  -%6  :  d7  /  %'J8  @  %^9 j I  9h J  ,9( K  @9 L  ,:    ,: (   7"; (   4";    1"< (,           ( V"<(   !<    k!<    !=    != ,           ( 5>    5> ,           ( 	6>    4?  H  4@  H  #A  J  #A  C   ! (Z !   !   + n  _ p!      %F n  n+ ad+ .      $      h                   $\  ) l E       4  p D   x/t/  l/ i/  /                ] >   0   ) qe+  	0   8  \  h O   G    Ơ @   I ! C   j        !&    &       D 0      <,  4,   ,    e(         D,          h  ,T,   , G , , -       j
!   	   - -   -    ` +   ,Q   j
!  , j
!  j
!j!  j
)!  ,  < ,  I  0  h ,  8     x8     0     bytes)j
!    )j
!    Q	j!                      (    4<.  4.   .    e(         D.          h  Ĺ.T.  . C . . .       V
!   	   . .   .    c -   .Q   V
!  . V
!  V
!V!  V
)!  .  < .  E  0  h (  4     x8     0    )V
!    )V
!    Q	V!       x               (    8  L        l  L                   (    8 	  '          (   ^     (                	  t 
 ӡ- 
  Z%     ]Z%    j $	 $	    b $	  
      $	 e<^ !     !       <^ <.^ 
 
i       ,          kti@      d qe           ( | d  k   	# 	 ;, ,+,  $   !! Eͤͤ  ФD ѤD ҤD Ӥ	D        /bii  IterMut ii ii ii        =tC-   ChunksExact i i i        ~Y)2 e
 ! !	 	0# A' 
      ama E %a 
0   ,          ,      -   ŶG* S* US*! 	" }- U- 
         -  ((          F   A 	      
 J  Q     	   A  k  	   x   $ - m-  %- "   -    "  MU   "   -  -- !    E-  
   !  - - `" g! T*# 2 #     -2  
ٳ ֙֙ י TryFromSliceError ؙ$        oTd    #  # T* EG*$ 	%  %       $   %  -  
ٳ    $  V% \$ G* D) !      ")  &
%  	    4       o  B   %-   ,                         92g  U" \! # EĆ2   ,           ٳܳ ݳ ޳    ߳          i=2* n#  $ % 5   
ٳ  ,  % $$  ) #( 
# )  &  # (  ) +  @#m Y , 	++-( V'  5   g '      E  U-  qT 3	^ i g4^ 4^ ;^ Y% =4^ =54^	 =	k ;^ E<^i E<^9  Kğ 4 D1- J*A  J La D JR T Fo* ' e(        RS* ' e(        ~- pe(        - 9- U- peE-ZU e(        e- e5U2 R2  Y K}   Y U! !J! !   $  $$  $ *0      i    5 ( 5 ( ) ( ) B 9  @
  '    
  	               92g O	  [	      	      ٳܳ ݳ ޳    ߳          i=2* 5	           OBI 4^  U;^ zj = b 1	 	 	  	( 	     - -  ]   %  ! !+ !   !  ->      dstF     	    
    
    M-    -4^    	4^    >    @    Y%    	         OBI= j   
 j                   t  
  q    n  
  l    j    w  	  Ma    %R    -F*    -S*    --         me9    --    %U     Q     %݅2     err2 ,  
  #      b
  $    ,  %!    1
"    # ,  V$    R%    QN&    KM;^    nG B1 ;?  B]4^ &1  n܆2+	          L        l  L                   (    8 	  '          (   ^     (            	    	  t	 
              6	 6	     6	  
      6	  t3     p3         
 
i       ,          kti@     	 d	  		          ( |	 X  _   # 	 ;, 
,+,  $   33 Eͤͤ  ФD ѤD ҤD Ӥ	D        /bii  ii ii ii        =tC- 
 3 3	 	j4 B	' 
      :8 E 6 
d   ,  	        ,	      	- 	 	 5 3 1! 8" 0 - 4     K   ,  ((          o   B
 	   
  	 
 :  A     	   B	  [  	   h   $ + (  % "   "    "     "      !      
   !    n" u! #  #     	  
ٳ    #  J#  $ %  %       $   %    
ٳ    $  % $  D	) !      ) 
 %  	   
 	4      
     b    ,                         92g  " ! #    ,           ٳܳ ݳ ޳    ߳          i=2* "#  $ %    
ٳ  ,  % $ z ) #( # )  &  # (  ) +  # , 	++( '     h '      	E    qT	  i     Ƙ. Ƙ.	 Ƙ.	- >. - -  Kį	 - D-- J--  J  D  T	  ' e(        |y ' e(        u pe(        p k g pec` e(        \D- eYV RQ N Y I F C Y >! !;! !&   $  $$  $ *0          
 ( 
 ( 
 ( 
 B 
    	'  E
  H	                  92g M  Y            ٳܳ ݳ ޳    ߳          i=2* 8           OBI 8  6  Ƙ  A	    (      7 4     1  .! !+ !  !  -/     4     		    	    	    &    #    	!    ]    _        *	         OBIƘ    *
    *    *    *    *    *  
  *    *  
  *    *    *  	                       2    L             ^)          ,    #      g  $    ,  !    0"    # ,  j!$    f!%    Qb!&        n  ;   #A  n+	                (            !     +           (  `  , +&  .         E    / P  с X  0 _   h     u                      8                   (              "   '      3     =   F     P           	                  %r  M      Y     +  (  a  , +&   3   	         Y    / d   l  0 s +                       +'                 %6H	    		 	 		       t p7M    W 	       %H  	 	 M 6H	  -6H 	        ?  	  M 6H 
 e@                    H   Iz   0 6LH 	Mzw	H 	M-6H 	M-6Hq8  6H   x             z M  U6H M 
  ]6H M 
 N  
                  -6H    -6H    %wH  	      0    0  
  t                        0       %     /         4          l  ` 7   4        n b    /    ,  0                 K         %m    ,                92g            p q   Gm  "   *   ,   <        -m    `         4           d   0  t        r N                  92gM \    $          x            " "  '        %  	   U   2  8         D      -   
        U   
ٳ               -   
ٳ        ō    u h   "@   5 N   Y   I u  = єє	   = ٳܳ ݳ ޳    ߳          i=2*     L ٳܳ ݳ ޳    ߳          i=2* w   -              %     , є     g      є          % %  (          	      ,  2         M 
        
           
ٳ        	           
ٳ            v h   $@   6 4   Y є(   = єє   = ٳܳ ݳ ޳    ߳          i=2*     L ٳܳ ݳ ޳    ߳          i=2* L     ~                , є     B      є          
 | 3  $ (     	      &                  
           
ٳ0             ,       ٳܳ ݳ ޳    ߳          i=2*0       w      Y0 єB   = єє   =     L  h $ ٳܳ ݳ ޳    ߳          i=2*0 "              j          , є  , 0     Q  єs         1 L1 ! $1 \1   ܩ1 D1  } ! L  T1   1     1I     1  ! L1 ˣ         :   ƣ        2 L2  $2 \2   ܆2 D2  ~ˣ A  T2   2     1I     1   L1          5           2 L2  $2 \2   2  T2  ˣ B 3 |2   3     2Z    0 2   L2  h 2  0 l     #     (     S         |H    
         I     Hi                   E
5\ |H   $H        \        |J    
         J     IO                   jܸ  I   LI        a        K    
         K     J                   +kGxjo  ĒK   LK        ]        |O   
 DO  $O TO O    
ٳ             O   O     NZ    ٳܳ ݳ ޳    ߳          i=2* N  < LN                  |P   
 DP  $P TP P    
ٳ     P   P     OZ    ٳܳ ݳ ޳    ߳          i=2* O  < LO                    Q TQ  $Q Q |Q   Q     P|    ٳܳ ݳ ޳    ߳          i=2*0 P  < LP  h P  0                       (Z  	                ,     +  (Y   , 	+" e  / Y  	    Y     U    / `  !  j  0 q +   *    *               +       (Z       $ 8Y    
      Y    Y     6    ! A  p     O  ĳ      (Z  	         ! ) , 4 (Y    
      Y    Y     6    ! A  Ͳ I    *    `     j  )         Y     Y       0   Ͳ    %     /        (Z  	                  3 8  L Q   Y Z  	    Y     HY        Ͳ   Ͳ  *  *    4     A     K        (Z          b 2  Y  B    Z     "    0 -  Ͳ 5  ʸ @  * ~   P     ]     g        [  4[         $ d[   4 t[ [  D[    %  	   U     & 0 !0       5 5     6    +  55 , 	++5 <6  6 8           [   [     ZL   `3  Y	 Z3 W3  	 [  ! L[ ٳܳ ݳ ޳    ߳          i=2*  <    -  1 7+ K7   W7       /    B9     1      X+7 7      [  4[         $ d\   4 t\ \  D\    t  	   q      2 2     ]8 d8     q8    +  \8X8 , 	++S8 8  8 x:           \   \     [L   5  Y 5 5  	 [  ϼ L[ ٳܳ ݳ ޳    ߳          i=2*  <    f  3 ~9+ 9  9       t1    ;     24      D+: 9      \  4\         $ t\   4 \ \ ]  D]   	   	         4 4     : : 	    :   	 +  :: , 	++: ;  :  	   ]   ]     \\   8  Y0 8 8  
0 \  ϼ L\  h \ ٳܳ ݳ ޳    ߳          i=2*0  <      C6 ;+ <  <            3    
> , 0 6       R+s< R<      h_  	        # #      /     +  (^   , 	+" h  / ^  	    ^     U    / `                 jܸ #    0  +                       ++          ^     ^       0       %     /        h_         -" 
            5é" 
             宩"m" ## s P  . ɩ" 
       ^     H^   Y"    ##  	  )   1   9      #    -" -"            2    3            h _    ED 
             D%D b# N -D ]D D      ^       ^   VD  c #  0 )   1   <     0   -D  h     u     &    -D            4b        b    
   #      c     bo     b   db  
        9        c  4c          dd  # - td Dd    3  	   0     S H< O<     #  "B )B     6B    +  !BB , 	++B jB  JB =D           d   d     cL   ?  Y ? ?  	 c   Lc ٳܳ ݳ ޳    ߳          i=2*   d   ,  = DC+ tC   C       =;    kE     =      ?+C C      d  4d          dd  # - td Dd      	         > >     wD ~D     D    +  vDrD , 	++mD D  D F           d   e     dL   A  Y A A  	 d   Ld ٳܳ ݳ ޳    ߳          i=2*   d     @ E+ E  E       =    G     L@      5+F E      e  4e          te  # - e e De   	   	         @ A     F F 	    F   	 +  FF , 	++F G  F  	   e   e     e\   %D  Y0 D D  
0 e   Le  h e ٳܳ ݳ ޳    ߳          i=2*0   m     NB G+ H  H            ?    J , 0 B       C+~H ]H      D   ɑ ɑ     ( D $ 	     l4 e 8 D   !  R          (  L      CY  HC 5`    !  " =^ e^      j      }^ 
     ( -	 U-	 
	      	       1	  
  	 .  2 4 ێ- V#!! -   ,   -L-QX V#!"    - ,   oTv - / 0 l1 	 1         M / 0 1    1 Q / 0       M 0 & . /  / lÐ3 	 3   ͐   ;   M Ð 2 3  ֐3  j!!#j! . !j!2 	j!4 9  $ 	      |   3  %   	     -	 +-	   -	- qe %- - 	ݏ- 21-	  
    -	 -	 ^ N^      j        ͸2
 !     h 
 "    h Ӹ2 
      %^ 
   "  m^      ^ ]^  
h   !  ָ2 ^  
 " ! ! ( / , 	    h ݒ ޒ 	$  % ) + #  #   ,   -L-QX     # ,   oTv # 4 $     & ' (  (  $       M  ' (  $  (  & '       M '  % &  & *  *  $    ;   M  ) *  *   % ) +  	 %-	  
     	        j           " %! , 3 : C $< 	> ?  <   j $ =  h 3 >  ( B ?   < 	> ? t U!- ,  =  }!-   , !-           (  >   k  	 +  + ) % $            jj 	 'j 0j
 j   C    	k&  	 4  4  2 .      l5 k' 5     0k+: 0k+ :  , ,           (  0k+:   l*7 l*8 l* 8 5  0, ;  8  0. 7 
e  ;  ,  l*8 l*   7  l*7 m*6 5   j/j = 'j 0j j   Xm*bm a,           (m, m,  ((        m9  Xm m+:  m*  m+: m*6 m* 6  , ,  ((          m*6     `     0        	  B    n J	 E` N 	 ^ m e	- qe%^2 Rhm eM               92gh jX^}ȸ2
 
l m eM%Ӹ2
>^       w K Vn!  Vn!  jq!  9q  lOq  aqjq  |qn m e p qe͒# !D- peT    0           9q   Oq$  aq$jq$  |q$Ip (e(         +' gep'p( he9*(p) hep)p*  p*63* gel*M3, ,Y3- ,p qeғ0  @ $  L΋    h     o  Z  f  h .	 0 ǒ)  *	   3	   3	  T     0 Γ4          T                 92g h (  j M^  	( 	 	j 
 

 A h !
 h )
   ,  T  ~ }     ( &   N     K X  H  k'  m*  l* l* Xm*  0k+  4,j 	 h 	 ( $	  -	   Hm     q    	^    	      	    =  l    Mĸ`        M-	     mid-	    %2
    Ʒ2
     Q h !  Qh "   self__v%^    -^  !   rest%^  "  ,    !  $   
xorshifted-  %   rot  )  Q  +  !V!    V! ,   -L-QX !V!  #  V! ,   oTv !j!  %  	j!  )  <v  +  Mv  +  ^v  +  k j <  kh =  k( >  k ?  Kt  	  _t    -!-  =  ~        ݂  .    2  Q   4  q!    m! ,   -L-QX i"  -  e" ,   oTv a#  .  ^#  2  <v$  4  Mv%  4  ^v&  4  t'    t' ( ,  ,(  5  ,( ( ,  t) ( ,  t)  5  u* (,           ( u*( ,  xu*  5  ku*  ,  u+  ,  u+ ,           ( 5,  5  5, ,           ( 	6,  ,  4-  ;  4.  ;  Kt/  =  _t/  7  
                  ;  nL T n@ 2  j n!  nw nm aXm j      ێ)  A  ,ێ  	       T    ,   -L-QX   X     ,   oTv S  Ҏ2      j         u r p	 w 	   o      M   	    n	    m      M k i    f d k    c   ;   M a 
   _  ]X  N
 J  k
   	                                9q   Oq  aqjq  |q  <֌     >  }  =       A  ?  >              	    ݂	    	  
  Q         ,   -L-QX      ,   oTv       
  <v    Mv	    ^v
    "                          (    4  -L-QX    6364136223846793005  oTv    11634580027462260723D        $џ 	     lџ4֟  / D֟ ݟ  TƟ  w  T Ɵ $ 	      |  -            ޞ   p     $  y   3  0  h    !     x6     qk    q  s C        
D        F" ! $ 	     l4  / D   St   M 죢 
  % 
 	   U
  	   ,  	 ˢ   
ٳ                      Ϸ     5 
  
ٳ     շ  
͗ٳܳ ݳ ޳    ߳          i=2*0      
 F G   i ޚ 	      
   
ٳ       `      b i
  - ΢ $ޢ	 	 	     |΢ 	 * ;       y       "  
   Z0
 ! ˷$  ZB 呻	 	$R
 m	 ٳܳ ݳ ޳    ߳          i=2* С      ͗З ї} җ    ӗ ԗi՗         zKx$1ޚ0 3  1 h   8  ޚ a      -  \ޚ K  	  
x     q         , 0 %ƶ     , 0     E	    
    R    k  X  < a      Щ    Щ    ( ,   	   ʩ      M  !  	       %"# I     I"# I 
 $
 "$ z    z z    0  z  
 0     z $ !$               ``  `] `0]        9ֹ`    /  $  	             OBI0    ``  `] `0]        9ֹ`    /   p 
 
       ,          kti@0  	 $  $  
    
  	 $
    
  K _       Rz,   	I# b 	    Ŭ
 

  	,     e(                  OBIe 
 

  	 	          OBI L
  
       
 

  $@#$# U    $         Ӫ   Ԫ        t   1        t$ _  $ R $l 01$  ` (        (        k   $ ٳܳ ݳ ޳    ߳          i=2* `   <             (            ܭ  +   Placeholder _  	formatter_  	_lifetime_     Count_        IQvY    W  	$   z 
 1
    res     W    )    @    Q!$                     OBI    	Ұ    ƅE
 ,      %
  	  W          
D   Į Į    J  $ 	     l4  / D   R|  E n }	 
 - 	 	   *	  	   ,   <   
ٳ         ¯              
    	 "	  
ٳ   
  	  
͗ٳܳ ݳ ޳    ߳          i=2*0    	 
 	 J K    i  
         
ٳ       O      6
 =	  - $ 	      |  -                 
  6   Z0  	  Z	  
 
 
 լ   e ͗З ї} җ    ӗ ԗi՗         zKx$10    h x        z        
   
q"    5    ^ , 0 d         , 0 g	  
  
               f  :      Lɴ  ɴ  ɴ  Tɴ          tԴ  *   Դ w 	 
 
 ,U 	 	   )U	     ,      U 
    U U U  
 
   /U    #M           +L  0Խ, ýf U U CU   ,           ٳܳ ݳ ޳    ߳          i=2*0ٽ d 
 k 	 ޵      Lߵ    L  	      l    
ٳ (ٽ           V  
ٳ0ٽ    V  
  	     Y    ٽ V
 ]
  
ٳٽ     T
  
͗ٳܳ ݳ ޳    ߳          i=2*ٽ0    Q
 ?  \  Mߵ    i  D     ٽ A   
ٳ(ٽ        	         p   v  ɴ     zW  Y0ٽý tW qW   Z0ٽ    Z(ٽٽD   ٽ ٳܳ ݳ ޳    ߳          i=2*(ٽ 존                 +kGxjo # L  h  ͗З ї} җ    ӗ ԗi՗         zKx$10 [ ƾ X  V   ) (      X  Zٽ YԽ  Z ٽ ~ m ٽ        0         + , 0 FX    CX , ý /Z , 0 Z  
  d    a	 , 0 4
    ^    `    [       n 	[ýZ      )(  O͵      O( (O̵ 
 	 
 z    z z     z 
 
 0     z      `        /    	   ~ 	 
    
   ,   
   
    	  	    
   	O /        	,     e(          }   	   N  
       J Q  '= ' ,   % 	'  
   P  HH  H3         ,   (H*HH NotFound    HH PermissionDenied   HH ConnectionRefused   HH ConnectionReset   HH HostUnreachable   HH NetworkUnreachable   HH ConnectionAborted   HH NotConnected   HH 	AddrInUse   HH AddrNotAvailable	   HH NetworkDown
   HH 
BrokenPipe   HH AlreadyExists   HH 
WouldBlock   HH NotADirectory   HH IsADirectory   HH DirectoryNotEmpty   HH ReadOnlyFilesystem   HH FilesystemLoop   HH StaleNetworkFileHandle   HH InvalidInput   HH InvalidData   HH TimedOut   HH 	WriteZero   HH StorageFull   HH NotSeekable   HH QuotaExceeded   HH FileTooLarge   HI ResourceBusy   II ExecutableFileBusy   II Deadlock   II CrossesDevices   II TooManyLinks    II InvalidFilename!   II ArgumentListTooLong"   II Interrupted#   II Unsupported$   II UnexpectedEof%   II OutOfMemory&   II 
InProgress'   II Other(   II Uncategorized)       dj7jf ̘ 'q  6   ݵ        ޵     
n   V   ]  r _ j o R il 0e a ` (        (         г5G    ٽ  ý      'U  P  N  ܭ G E   Y  % !     ; z 	                Qq        ǒ    ֒         OBI        ƅp ,      m    -G	    L          쳷  	    d + , +l· ܵ F      & 4ѷ / l  Dѷ ط  ޷   ߷     y    /     ,  0  1  1    $     '     X  + /      f    
        f       )f      5f   >f    Ff        Uf    
        lf       zf      f   f    f        Z#    
              )    ! 4   ;    B       P    
       i       v    !               ^0    
   #            +     7   ?    F       T    
   #     o       |                                                                      Gfi|              ]     DerefMutD     <     z,     {      {  #   Random number generation traits    L I This crate is mainly of interest to crates publishing implementations of  M J [`RngCore`]. Other users are encouraged to use the [`rand`] crate instead  5 2 which re-exports the main traits and error types.    Q N [`RngCore`] is the core trait implemented by algorithmic pseudo-random number  2 / generators and external random-number sources.    O L [`SeedableRng`] is an extension trait for construction from fixed seeds and  #   other random number generators.    P M The [`impls`] and [`le`] sub-modules include a few small functions to assist  "  implementation of [`RngCore`].    "  [`rand`]: https://docs.rs/rand
  8 l     7 9https://www.rust-lang.org/logos/rust-logo-128x128-blk.png ; $	  8 	   	  7 %https://www.rust-lang.org/favicon.ico 	' $	  8 l	   	  7 #https://rust-random.github.io/rand/ 	% 

  8 $

  8 $


  8 ,


  8 unused_variables 
 $
  8 $


  8 warnings D

<       Gfi|~            ~  ]    v     u     zt     {      {ll  7  4 The `BlockRngCore` trait and implementation helpers     M  J The [`BlockRngCore`] trait exists to assist in the implementation of RNGs  L  I which generate a block of data in a cache instead of returning generated     values directly.     A  > Usage of this trait is optional, but provides two advantages:  J  G implementations only need to concern themselves with generation of the  P  M block, not the various [`RngCore`] methods (especially [`fill_bytes`], where  A  > the optimal implementations are not trivial), and this allows  N  K `ReseedingRng` (see [`rand`](https://docs.rs/rand) crate) perform periodic  %  " reseeding with very low overhead.     l  
 # Example     l  
 ```no_run  *  ' use rand_core::{RngCore, SeedableRng};  3  0 use rand_core::block::{BlockRngCore, BlockRng};        struct MyRngCore;  	   	%  " impl BlockRngCore for MyRngCore {  İ	       type Item = u32;  	!       type Results = [u32; 16];  	   	=  :     fn generate(&mut self, results: &mut Self::Results) {  
           unimplemented!()  L
       }  ,
   }  
   
$  ! impl SeedableRng for MyRngCore {         type Seed = [u8; 32];  0  -     fn from_seed(seed: Self::Seed) -> Self {     L   ,      >  ; // optionally, also implement CryptoBlockRng for MyRngCore        // Final RNG.  :  7 let mut rng = BlockRng::<MyRngCore>::seed_from_u64(0);  0  - println!("First value: {}", rng.next_u32());  <   ```     0  - [`BlockRngCore`]: crate::block::BlockRngCore  '  $ [`fill_bytes`]: RngCore::fill_bytes  ,     |   [   L      
<   |   \      T         ]    q4 fhWYIK:<L /    N  K A trait for RNGs which do not generate random numbers individually, but in   E  B blocks (typically `[u32; N]`). This technique is commonly used by   .  + cryptographic RNGs to improve performance.       =  : See the [module][crate::block] documentation for details.  d                                          T  ς       B    
ׂ           <  B 2 $    L    %  " Results element type, e.g. `u32`.$            A    H  E Results type. This is the 'block' an RNG implementing `BlockRngCore`   ?  < generates, which will usually be an array like `[u32; 16]`.<            4    $  ! Generate a new block of results.D                                0        $ < &    I  F A marker trait used to indicate that an [`RngCore`] implementation is   ,  ) supposed to be cryptographically secure.       0  - See [`CryptoRng`] docs for more information.  t                  )      d             '  3 ) (=                       (      d(    ` T(  `  -/         (6 (                                  ``  `] `0]        9ֹ`    /     (    $( /*!                    +  d+           ,"    +=  : Create a new `BlockRng` from an existing RNG implementing   +;  8 `BlockRngCore`. Results will be generated on first use.,                               ~o0    .)  & Get the index into the result buffer.   .    .I  F If this is equal to or larger than the size of the result buffer then   /H  E the buffer is "empty" and `generate()` must be called to produce new   d/  	 results.,0                            (     0    $0 1    0*  ' Reset the number of available results.   1E  B This will force a new set of results to be generated on next use.,1                           0     1    $1 30    2G  D Generate a new set of results immediately, setting the index to the   2   given value.3                           (0     3   >$3 49                       T4  4  4  "  }  ~   "      !         5 D5                                5    $5 7 D7                                7     $7 7                     <closure_kind> !    <closure_signature> !    <upvars> !    !      !F     = ( 0=) T=                               e0     =    "$= j3A?          $     $     A  dA      \A %&'(*           *  (  &  ' HJ         LA $A       #     # rB& LB                           #     #  &q8B# lB                         #     #  'qb:C+ DC                           w  # )   ) C  #   w dD     |w <D  (wx4<#%         DE dD                           z  # +    + E  #   z D     z TD  *zx?$&         EL          -     -     TF      tE  E  E  	         Q?          /     /     Q  dQ  TQ 0 ` 0  "         R6 R                                  ``  `] `0]        9ֹ`    /  .   R  .  0$R 	ET#          2     2     T  dT 3456          V$    U= ˋ   U; V                         1     1 GZ    X)    X    XI ؍   YH    dY ,Z                            (  1   Z  1  4$Z [    Z*    [E ,[                           0  1   [  1  5$[ ]0    \G ͑   ] ]                           (0  1   ]  1  6$] XJ_;          8     8        T_  ĥ_  _ 9:;  }  ~   9  :  ; !         _ D_                             7   _  7  9$_ d Dd                             7   d  7  :$d f) Tf                               e0  7   g  7  ;$g jZkA          =     =     k  dk  \k >?@AC           @  A  ?  C AC         Lk $k       <     < rl& Ll                           <     <  ?q_l# ll                         <     <  @q`m+ Dm                           w  < B   B m  < dm  <n  Awxb         nE dn                           z  < D    D n  < n  Tn  Czxe         oN          F     F     To  to  o  o  	         l  : 7 Helper functions for implementing `RngCore` functions.    N K For cross-platform reproducibility, these functions all use Little Endian:  M J least-significant part first. For example, `next_u64_via_u32` takes `u32`  H E values `x, y`, then outputs `(y << 32) | x`. To implement `next_u32`  O L from `next_u64` in little-endian order, one should use `next_u64() as u32`.    L I Byte-swapping (like the std `to_le` functions) is only needed to convert  E B to/from byte sequences, and since its purpose is reproducibility,  D A non-reproducible sources (e.g. `OsRng`) need not bother with it.  ,     IKP[^_`c<  | G  Ht@   = : Implement `next_u64` via `next_u32`, little-endian order.                               J     J           | < Ixh "         M   	N K Implement `fill_bytes` via `next_u64` and `next_u32`, little-endian order.   
   
O L The fastest way to fill a slice is usually to work as long as possible with   K H integers. That is why this method mostly uses `next_u64`, and only when   G D there are 4 or less bytes remaining at the end of the slice it uses     `next_u32` once.                               e0    L     L     ϴ< Kx:rjCr!#                 (        (        (!  T        P     P    s    $ P           (  4 )QRQR      Q ,   e \  ź  R ,      P    P $\                         P    P  R$              TV  Q  R V T,      S      S         (#\                         Q  S      S  V x              XZ  Q  R Z T,      W      W         (#\                         Q  W      W  Z yZ|                                ei    \     \      !     P! T [!Ύj׎(*         l                  [ѕ ]    ]    ]    ]   [ $N   N K Implement `fill_bytes` by reading chunks from the output buffer of a block   t  based RNG.      6 3 The return values are `(consumed_u32, filled_u8)`.      I F `src` is not modified; it is taken as a `&mut` reference for backward   < 9 compatibility with previous versions that did change it.      O L `filled_u8` is the number of filled bytes in `dest`, which may be less than     the length of `dest`.   P M `consumed_u32` is the number of words consumed from `src`, which is the same   "  as `filled_u8 / 4` rounded up.      l      (from `IsaacRng`)       l  
 ```ignore    / , fn fill_bytes(&mut self, dest: &mut [u8]) {          let mut read_len = 0;    % "     while read_len < dest.len() {   !- *         if self.index >= self.rsl.len() {   !              self.isaac();   l! 
         }   !   "+ (         let (consumed_u32, filled_u8) =   "G D             impls::fill_via_u32_chunks(&mut self.rsl[self.index..],   "B ?                                        &mut dest[read_len..]);   #   #' $         self.index += consumed_u32;   #"          read_len += filled_u8;   L$   ,$   <$  0.9.3 use BlockRng instead $=$                             =   ei      $   ^ $j$%*N   %N   t&   &   &6 3 The return values are `(consumed_u64, filled_u8)`.   &   &I   '<   '   'O   (   (P M `consumed_u64` is the number of words consumed from `src`, which is the same   )"  as `filled_u8 / 8` rounded up.   )   )- * See `fill_via_u32_chunks` for an example.  use BlockRng64 instead *?*                             Ƙ   ei      *   _ *j$*+A   +? < Implement `next_u32` via `fill_bytes`, little-endian order.,                               a     a  ,  , ϴ<, `x         , `     ` (-A   -? < Implement `next_u64` via `fill_bytes`, little-endian order.-                               d     d  .  - ϴ<- cxޝ         . c     c (T    Little-Endian utilities    K H Little-Endian order has been chosen for internal usage; this makes some    useful functions available.       gh1   9 6 Reads unsigned 32 bit integers from `src` into `dst`.      d 	 # Panics      @ = If `dst` has insufficient space (`4*dst.len() < src.len()`). R|l                          e    =0         g 1   9 6 Reads unsigned 64 bit integers from `src` into `dst`.      d      @ = If `dst` has insufficient space (`8*dst.len() < src.len()`). R|l                          e    Ƙ0         h \Z4  8 <     7 os_rng D ԭ       d   i  kT   i  l!(*#               n ` n D                                 ``  `] `0]        9ֹ`    /  m     m  n $j"  8 <     7 ,                p  p >4                                          92g          o     o  p $d               r (   B ? Extract the raw OS error code (if this error came from the OS)      M J This method is identical to [`std::io::Error::raw_os_error()`][1], except   J G that it works in `no_std` contexts. If this method returns `None`, the   H E error value can still be formatted via the `Display` implementation.      O L [1]: https://doc.rust-lang.org/std/io/struct.Error.html#method.raw_os_errord                         q      q  r               tuvw         u  w  v T,      s      s  6d                          ٳܳ ݳ ޳    ߳          i=2*    s     s  u $6d                          ٳܳ ݳ ޳    ߳          i=2*  s     s  v $Ht                              eٳܳ ݳ ޳    ߳          i=2*0  s     s  w $jXܫ               AAAA'   + ( Implementation-level interface for RNGs      E B This trait encapsulates the low-level functionality common to all   G D generators, and is the "back end", to be implemented by generators.   9 6 End users should normally use the [`rand::Rng`] trait   M J which is automatically implemented for every type implementing `RngCore`.      M J Three different methods for generating random data are provided since the   O L optimal implementation of each is dependent on the type of generator. There   E B is no required relationship between the output of each; e.g. many   N K implementations of [`fill_bytes`] consume a whole number of `u32` or `u64`   L I values and drop any remaining unused bytes. The same can happen with the   K H [`next_u32`] and [`next_u64`] methods, implementations may discard some     random bits for efficiency.      N K Implementers should produce bits uniformly. Pathological RNGs (e.g. always   P M returning the same value, or never setting certain bits) can break rejection   I F sampling used by random distributions, and also break other RNGs when   / , seeding them via [`SeedableRng::from_rng`].      L I Algorithmic generators implementing [`SeedableRng`] should normally have   O L *portable, reproducible* output, i.e. fix Endianness when converting values   L I to avoid platform differences, and avoid making any changes which affect   K H output (except by communicating that the release has breaking changes).      E B Typically an RNG will implement only one of the methods available   B ? in this trait directly, then use the helper functions from the   4 1 [`impls`] module to implement the other methods.      F C Note that implementors of [`RngCore`] also automatically implement   C @ the [`TryRngCore`] trait with the `Error` associated type being     equal to [`Infallible`].      : 7 It is recommended that implementations also implement:      N K - `Debug` with a custom implementation which *does not* print any internal   K H   state (at least, [`CryptoRng`]s should not risk leaking state through   |    `Debug`).   I F - `Serialize` and `Deserialize` (from Serde), preferably making Serde   7 4   support optional at the crate level in PRNG libs.     - `Clone`, if possible.   M J - *never* implement `Copy` (accidental copies may cause repeated values).   K H - *do not* implement `Default` for pseudorandom generators, but instead   G D   implement [`SeedableRng`], to guide users towards proper seeding.   A >   External / hardware RNGs can choose to implement `Default`.    M J - `Eq` and `PartialEq` could be implemented, but are probably not useful.   !   l!   !   !D A A simple example, obviously not generating very *random* output:   !   <!   !  #![allow(dead_code)]   "$ ! use rand_core::{RngCore, impls};   "   "  struct CountingRng(u64);   "   ""  impl RngCore for CountingRng {   "' $     fn next_u32(&mut self) -> u32 {   #"          self.next_u64() as u32   L#   #   #' $     fn next_u64(&mut self) -> u64 {   #          self.0 += 1;   $          self.0   L$   $   $2 /     fn fill_bytes(&mut self, dst: &mut [u8]) {   $1 .         impls::fill_bytes_via_next(self, dst)   L%   ,%   <%   %   %B ? [`rand::Rng`]: https://docs.rs/rand/latest/rand/trait.Rng.html   %'   &#   [`next_u32`]: RngCore::next_u32   &#   [`next_u64`]: RngCore::next_u64   &- * [`Infallible`]: core::convert::Infallible  <'        |     |    '	 |            }~}~      }  ~ )   '!  Return the next random `u32`.   '   'H E RNGs must implement at least one method from this trait directly. In   (K H the case this method is not implemented directly, it can be implemented   (G D using `self.next_u64() as u32` or via [`impls::next_u32_via_fill`].D)                             |  ) |  }$)+   )!  Return the next random `u64`.   *   *H׆   *K   +H E via [`impls::next_u64_via_u32`] or via [`impls::next_u64_via_fill`].D+                             |  , |  ~$,0)   ,!  Fill `dest` with random data.   ,   ,H׆   -K   -' $ via [`impls::fill_bytes_via_next`].   .   .? < This method should guarantee that `dest` is entirely filled   .6 3 with new data, and may panic if this is impossible   /B ? (e.g. reading past the end of a file that is being used as the   /  source of randomness).T0                               e0  |  0 |  $000=                   0   ! D0    |ˣ <0!  }  ~        CE         1D1                          !     1   !$11D1                          !     1   !$12(T2                           !   e0     2   !$2C?   3C @ A marker trait over [`RngCore`] for securely unpredictable RNGs   3   3L I This marker trait indicates that the implementing generator is intended,   4K H when correctly seeded and protected from side-channel attacks such as a   4O L leaking of state, to be a cryptographically secure generator. This trait is   5K H provided as a tool to aid review of cryptographic code, but does not by   6@ = itself guarantee suitability for cryptographic applications.   6   6L I Implementors of `CryptoRng` automatically implement the [`TryCryptoRng`]   T7  trait.   7   7H E Implementors of `CryptoRng` should only implement [`Default`] if the   8N K `default()` instances are themselves secure generators: for example if the   8O L implementing type is a stateless interface over a secure external generator   9N K (like [`OsRng`]) or if the `default()` instance uses a strong, fresh seed.   9   9P M Formally, a CSPRNG (Cryptographically Secure Pseudo-Random Number Generator)   :N K should satisfy an additional property over other generators: assuming that   ;K H the generator has been appropriately seeded and has unknown state, then   ;5 2 given the first *k* bits of an algorithm's output   <K H sequence, it should not be possible using polynomial-time algorithms to   <I F predict the next bit with probability significantly greater than 50%.   =   =O L An optional property of CSPRNGs is backtracking resistance: if the CSPRNG's   =M J state is revealed, it will not be computationally-feasible to reconstruct   >F C prior output values. This property is not required by `CryptoRng`.  L?                 ?    | <?            ( ͡ 4 ͡* ?<                   ? ʐD?    ˣ L?! !         D   ?1 . A potentially fallible variant of [`RngCore`]   @   @I F This trait is a generalization of [`RngCore`] to support potentially-   @3 0 fallible IO-based generators such as [`OsRng`].   A   AN K All implementations of [`RngCore`] automatically support this `TryRngCore`   AL I trait, using [`Infallible`][core::convert::Infallible] as the associated   B  `Error` type.   B   BN K An implementation of this trait may be made compatible with code requiring   CM J an [`RngCore`] through [`TryRngCore::unwrap_err`]. The resulting RNG will   C> ; panic in case the underlying fallible RNG yields an error.  TD                 D                     E&   ` TE   ` dE )                    E%   D2 / The type returned in the event of a RNG error.,E           E7   E!dE                           ٳܳ ݳ ޳    ߳          i=2*    E   $EF7   F!dF                           ٳܳ ݳ ޳    ߳          i=2*    F   $FGH   F* ' Fill `dest` entirely with random data.tG                               eٳܳ ݳ ޳    ߳          i=2*0    G   $GGHE   G, ) Wrap RNG with the [`UnwrapErr`] wrapper.TH                                 ,H 	I/   I, ) Wrap RNG with the [`UnwrapMut`] wrapper.TI                                          jܸ         I   $IJU   J3 0 Convert an [`RngCore`] to a [`RngReadAdapter`].JJJ  8 <J   J  7 ,J JdJ                                          +kGxjo         K  ,K $KM*                   M ϴ<M              79         TN,N            N6dN                          ۼ     N   $NO6dO                               O   $OPGtP                              e     P   $PW"   QF C A marker trait over [`TryRngCore`] for securely unpredictable RNGs   Q   QF C This trait is like [`CryptoRng`] but for the trait [`TryRngCore`].   R   RL   SK   SO   TK   T@   U   UK H Implementors of `TryCryptoRng` should only implement [`Default`] if the   VN   VO   WNҙ  dX                 W%     TX            ) λ 5 λ* X.                   X     LX          Z,                   Z     TZ!  }  ~        46         ZDZ                          !     [   $[[D[                          !     [   $[\(T\                           !   e0     \   $\]0                   ]     d]!          _1                         # _    # T_# _!         bI   _   Reborrow with a new lifetime   `   `K H Rust allows references like `&T` or `&mut T` to be "reborrowed" through   `P M coercion: essentially, the pointer is copied under a new, shorter, lifetime.   aI F Until rfcs#1403 lands, reborrows on user types require a method call.b                       #               jܸ  #              b    #  $bbc9        8               c Tc#  }  ~        -/         cDc                          #     c      8#$cdDd                          #     d      8#$de(Te                           #   e0     e      8#$eRe=        8               e    # de#          k   f< 9 A random number generator that can be explicitly seeded.   f   fE   gG D pseudo-random number generators (PRNGs, or algorithmic generators).   h   hM J A generator implementing `SeedableRng` will usually be deterministic, but   hN K beware that portability and reproducibility of results **is not implied**.   iO L Refer to documentation of the generator, noting that generators named after   iI F a specific algorithm are usually tested for reproducibility against a   jK H reference vector, while `SmallRng` and `StdRng` specifically opt out of   k  reproducibility guarantees.   k   k"  \k                 ,k                  x7    ,x    <x   e \x   e \x O D : -                    x6   kK H Seed type, which is restricted to types mutably-dereferenceable as `u8`   l1 . arrays (we recommend `[u8; N]` for some `N`).   l   mK H It is recommended to seed PRNGs with a seed of at least circa 100 bits,   mL I which means an array of `[u8; 12]` or greater to avoid picking RNGs with   n"  partially overlapping periods.   n   nJ G For cryptographic RNG's a seed of 256 bits is recommended, `[u8; 32]`.   o   o   o: 7 # Implementing `SeedableRng` for RNGs with large seeds   o   oL I Note that [`Default`] is not implemented for large arrays `[u8; N]` with   pJ G `N` > 32. To be able to implement the traits required by `SeedableRng`   qD A for RNGs with such large seeds, the newtype pattern can be used:   q   <q   q  use rand_core::SeedableRng;   r   ģr  const N: usize = 64;   r  #[derive(Clone)]   r& # pub struct MyRngSeed(pub [u8; N]);   ̄s  # #[allow(dead_code)]   s   pub struct MyRng(MyRngSeed);   s   s   impl Default for MyRngSeed {   s#       fn default() -> MyRngSeed {   t          MyRngSeed([0; N])   Lt   ,t   t   t$ ! impl AsRef<[u8]> for MyRngSeed {   u#       fn as_ref(&self) -> &[u8] {   u          &self.0   Lu   ,u   u   u$ ! impl AsMut<[u8]> for MyRngSeed {   v+ (     fn as_mut(&mut self) -> &mut [u8] {   v          &mut self.0   Lv   ,v   v   v   impl SeedableRng for MyRng {   w      type Seed = MyRngSeed;   w   w0 -     fn from_seed(seed: MyRngSeed) -> MyRng {   x          MyRng(seed)   Lx   ,x   <x$x           '   x+ ( Create a new PRNG using the given seed.   y   yH E PRNG implementations are allowed to assume that bits in the seed are   zH E well distributed. That means usually that the number of one and zero   zM J bits are roughly equal, and values like 0, 1 and (size - 1) are unlikely.   {H E Note that many non-cryptographic PRNGs will show poor quality output   {K H if this is not adhered to. If you wish to seed from simple numbers, use   |  `seed_from_u64` instead.   |   |K H All PRNG implementations should be reproducible unless otherwise noted:   }H E given a fixed `seed`, the same sequence of output should be produced   ~L I on all runs, library versions and architectures (e.g. check endianness).   ~K H Any "value-breaking" changes to the generator should require bumping at   < 9 least the minor version and documentation of the change.      C @ It is not required that this function yield the same state as a   L I reference implementation of the PRNG given equivalent seed; if necessary   > ; another constructor replicating behaviour from a reference   ˁ   implementation can be added.      J G PRNG implementations should make sure `from_seed` never panics. In the   ǂH E case that some special values (like an all zero seed) are not viable   I F seeds it is preferable to map these to alternative constant value(s),   K H for example `0xBAD5EEDu32` or `0x0DDB1A5E5BAD5EEDu64` ("odd biases? bad   L I seed"). This is assuming only a small number of values must be rejected.L                              q$(   ) & Create a new PRNG using a `u64` seed.   ޅ   J G This is a convenience-wrapper around `from_seed` to allow construction   L I of any `SeedableRng` from a simple `u64` value. It is designed such that   H E low Hamming Weight numbers like 0 and 1 can be used and should still   ӇD A result in good, independent seeds to the PRNG which is returned.      L I This **is not suitable for cryptography**, as should be clear given that   #   the input size is only 64 bits.      H E Implementations for PRNGs *may* provide their own implementations of   K H this function, but the default implementation should be good enough for   J G all purposes. *Changing* the implementation of this function should be   ' $ considered a value-breaking change.l                                ,ҋ$,                                 Ɍ    pی        (t             t             ޞ+   6 3 Create a new PRNG seeded from an infallible `Rng`.      L I This may be useful when needing to rapidly seed many PRNGs from a master   ̕L I PRNG, and to allow forking of PRNGs. It may be considered deterministic.      J G The master PRNG should be at least as high quality as the child PRNGs.   D A When seeding non-cryptographic child PRNGs, we recommend using a   G D different algorithm for the master PRNG (ideally a CSPRNG) to avoid   G D correlations between the child PRNGs. If this is not possible (e.g.   ՘J G forking using small non-crypto PRNGs) ensure that your PRNG has a good   I F mixing function on the output or consider use of a hash function with     `from_seed`.      J G Note that seeding `XorShiftRng` from another `XorShiftRng` provides an   ޚF C extreme example of what can go wrong: the new PRNG will be a clone     of the parent.      țJ G PRNG implementations are allowed to assume that a good RNG is provided   J G for seeding, and that it is cryptographically secure when appropriate.   G D As of `rand` 0.7 / `rand_core` 0.5, implementations overriding this   E B method should ensure the implementation satisfies reproducibility   . + (in prior versions this was not required).      "D                            w        d < wxB!#         E   ? < Create a new PRNG seeded from a potentially fallible `Rng`.   Π   ֠F C See [`from_rng`][SeedableRng::from_rng] docs for more information.d                            #ٞ       š    #  T #x!#         ħ   ? < Creates a new instance of the RNG seeded via [`getrandom`].      K H This method is the recommended way to construct non-deterministic PRNGs   & # since it is convenient and secure.      Q N Note that this method may panic on (extremely unlikely) [`getrandom`] errors.   F C If it's not desirable, use the [`try_from_os_rng`] method instead.      J G In case the overhead of using [`getrandom`] to seed *many* PRNGs is an   9 6 issue, one may prefer to seed from a local PRNG, e.g.   % " `from_rng(rand::rng()).unwrap()`.      d      P M If [`getrandom`] is unable to provide secure entropy this method will panic.      , ) [`getrandom`]: https://docs.rs/getrandom   Ψ5 2 [`try_from_os_rng`]: SeedableRng::try_from_os_rng  8 <     7 D Ԉ\                                6   ڪQ N Creates a new instance of the RNG seeded via [`getrandom`] without unwrapping   #   potential [`getrandom`] errors.   ث   J   9   * ' `from_rng(&mut rand::rng()).unwrap()`.      ,׭ڭ  8 <ۭ     7 D խ|                        լ       5   ƯZ W Adapter that enables reading through a [`io::Read`](std::io::Read) from a [`RngCore`].      t  # Examples      l   ư  # use std::{io, io::Read};     # use std::fs::File;   ) & # use rand_core::{OsRng, TryRngCore};      l i io::copy(&mut OsRng.read_adapter().take(100), &mut File::create("/tmp/random.bytes").unwrap()).unwrap();   <  8 <     7 ,   tĲ                       ײ Tڲ  #                 +kGxjo   #    +kGxjo     Ӳnp         c,              #D  8 <     7 ,         8                T$            C$                           $   e           8#$0v,                  ѕ                 ýF  8 <     7 ,         8                T$ `           B                             $    ``  `] `0]        9ֹ`    /           8#$ǝ&$    F  C A wrapper type implementing [`RngCore`] for some type implementing   P  M [`BlockRngCore`] with `u32` array buffer; i.e. this can be used to implement   /  , a full RNG from just a `generate` function.       M  J The `core` field may be accessed directly but the results buffer may not.   4  1 PRNG implementations can simply use a type alias   G  D (`pub type MyRng = BlockRng<MyRngCore>;`) but might prefer to use a   L  I wrapper type (`pub struct MyRng(BlockRng<MyRngCore>);`); the latter must   J  G re-implement `RngCore` but hides the implementation details and allows   0  - extra functionality to be defined on the RNG   4  1 (e.g. `impl MyRng { fn set_stream(...){...} }`).       O  L `BlockRng` has heavily optimized implementations of the [`RngCore`] methods   6  3 reading values from the results buffer, as well as   H  E calling [`BlockRngCore::generate`] directly on the output array when   H  E [`fill_bytes`] is called on a large array. These methods also handle   >  ; the bookkeeping of when to generate a new batch of values.       O  L No whole generated `u32` values are thrown away and all values are consumed   G  D in-order. [`next_u32`] simply takes the next available `u32` value.   D  A [`next_u64`] is implemented by combining two `u32` values, least    M  J significant first. [`fill_bytes`] consume a whole number of `u32` values,    W  T converting each `u32` to a byte slice in little-endian order. If the requested byte   !@  = length is not a multiple of 4, some bytes will be discarded.   !    "N  K See also [`BlockRng64`] which uses `u64` array buffers. Currently there is   "-  * no direct support for other buffer types.   "    #G  D For easy initialization `BlockRng` also implements [`SeedableRng`].   #    ##    ## ݄   $'  D&                   &  d&     L}q1    (*         & <&            (d& ,&            (\'    'E  B The *core* part of the RNG, implementing the `generate` function.$'             @ @                  %    @ 2   ( @   Y\         @@                                $    ,$ O/    FF    FP  M [`BlockRngCore`] with `u64` array buffer; i.e. this can be used to implement   G/ Ú   G    GP  M This is similar to [`BlockRng`], but specialized for algorithms that operate   H   on `u64` values.   H    HO  L No whole generated `u64` values are thrown away and all values are consumed   IG  D in-order. [`next_u64`] simply takes the next available `u64` value.   IO  L [`next_u32`] is however a bit special: half of a `u64` is consumed, leaving   JM  J the other half in the buffer. If the next function called is [`next_u32`]   KG  D then the other half is then consumed, however both [`next_u64`] and   KL  I [`fill_bytes`] discard the rest of any half-consumed `u64`s when called.   L    LS  P [`fill_bytes`] consumes a whole number of `u64` values. If the requested length   M9  6 is not a multiple of 8, some bytes will be discarded.   M    M#    M# ݄   N'  TO                   O  dO     aL_w    *,         O <O            (dO ,O            (|O LO             \P    PE $P             A A                   A  A   14         AA                                N    ,N    ? < An interface over the operating-system's random data source      P M This is a zero-sized struct. It can be freely constructed with just `OsRng`.      E B The implementation is provided by the [getrandom] crate. Refer to   * ' [getrandom] documentation for details.      N K This struct is available as `rand_core::OsRng` and as `rand::rngs::OsRng`.   D A In both cases, this requires the crate feature `os_rng` or `std`   : 7 (enabled by default in `rand` but not in `rand_core`).      !  # Blocking and error handling      M J It is possible that when used during early boot the first call to `OsRng`   I F will block until the system's RNG is initialised. It is also possible   H E (though highly unlikely) for `OsRng` to fail on some platforms, most   	+ ( likely due to system mis-configuration.   	   	K H After the first successful call, it is highly unlikely that failures or   
M J significant delays will occur (although performance should be expected to   $ ! be much slower than a user-space   _ \ [PRNG](https://rust-random.github.io/book/guide-gen.html#pseudo-random-number-generators)).        # Usage example   <   ' $ use rand_core::{TryRngCore, OsRng};        let mut key = [0u8; 16];   , ) OsRng.try_fill_bytes(&mut key).unwrap();   3 0 let random_u64 = OsRng.try_next_u64().unwrap();   <      3 0 [getrandom]: https://crates.io/crates/getrandom 	,                 )     m4                              ?????  8 ?  ? ?              ? ?                ??                                     ,                { {              `  {{                                ``  `] `0]        9ֹ`    /          ,{" "                ""                                 	     Error type of [`OsRng`] 
<                  wOi         	@                 i                 єi            FFFFF  8 F  F F               F F                 FF                                       ,                                 `                                   ``  `] `0]        9ֹ`    /          ,                                                                               L                    8                               0              XM J Wrapper around [`TryRngCore`] implementation which implements [`RngCore`]   Y% " by panicking on potential errors. LZ                   Z TZ!    E
5\     ! `                       !           vx         ,Z            i i                   i ! `           ii                            !    ``  `] `0]        9ֹ`    /     Y   ,YiW W                      W !            WW                       !                              !                                      ! !     Y   ,Y Y                   W    @ c! qt                                  !              8                             ! 0     Y   YA A !                  !          A A !                     A !            AA                           !    !       Y   LYA  "                    b  ! b                                      !    ʸ0        Y    ʸ    bʸ  ʸ$Y         Ͽ   ]M   ^% L^                       ^ T^  #  l_#    jܸ        ## n                       #              #^                       #                        `#  # `  03                                     #    ``  `] `0]        9ֹ`    /     ^      #,^  $                     @   #  M#   lo           8                             # 0     ^      #^  %                     B A# UX           %                        ##  #   8;                                    #    #       ^      #L^\ \ &                        b# \ # b  /2         \\                           #    0         ^     \   b \    #$^\\\         !, ,̰,) ,L) ,f,,ʬ, ,7 ,,,= ,,o,ۦ,R ,LR ,,(,,,,#,g ,,, ,,,,,,%,,*,܎,,,,Պ,,r,,,o,G,,,,r,q,o,0,o,n,>n,2,b,]a,i`,G,_,],\,\,3\,P,,Y,X,dX,\,c,T,T,T,e,f,X>,!8,6,,k-,,ٶ,+,,,7",,,,3,9,{,<,C,I,,,,,,,i,0,
,	,	,,,t,z,,},0,6,3,9,1q~ impls::next_u64_via_fill    impls::next_u32_via_fill  std::io     https://docs.rs/rand   core::convert   ` impls::next_u64_via_u32                   RngCore::next_u64      SeedableRng::try_from_os_rng                   RngCore::next_u32   ~ https://docs.rs/getrandom        core::convert::Infallible      }     	      SeedableRng::from_rng   rand      	   /https://docs.rs/rand/latest/rand/trait.Rng.html          	    G	                	   	rand::Rng          std::io::Read 	    f   
Infallible  TryRngCore::unwrap_err  io  io::Read      |   RngCore::fill_bytes   impls::fill_bytes_via_next                  K                    c          I9 crate::block     
          crate::block::BlockRngCore      
             
           ~   |       BlockRngCore::generate    }                                    std::io::Error   "https://crates.io/crates/getrandom  PRNG       2https://doc.rust-lang.org/std/io/struct.Error.html  1https://rust-random.github.io/book/guide-gen.html    std::io::Error::raw_os_error()                                   |    J    JKJJK  J    JKJJK |    J    JKJJK  BlockRng    core    
result_len  
  index    5assertion failed: index < self.results.as_ref().len()  5  
BlockRng64  
  	half_used  	           ,assertion failed: src.len() >= 4 * dst.len()  ,  +called `Result::unwrap()` on an `Err` value  +  ,assertion failed: src.len() >= 8 * dst.len()  ,  OsRng    OsError             	UnwrapErr  	  	UnwrapMut  	  from_os_rng failed:      RNG error:      ReadAdapter  ƄʆֆƇ                                                                                                                                                                                                                                                                                 %lǕWk'}j3	@CFC8?75{jf1=0ّW<BX	E??*&_	W;._ϒۙC0Ӫj!U%AEIS;GqH=
k6@swBFu(:<ux> ?[=ěۑh	7gZ!ѱMCdИ,߿FPdC4F5k*3Rp pټ/*(+su#Pn阱_{	[MʴA렛:|6/k$W2&6KMMbҺ>D<ݡл:BۃuftaMpBm X9@uۙvˢK,-,%}/;8ISțϙ8A#pwLSz@;iY17'D`z+ң#w
*)!@jW۲TݥӜz5 F樢ŷS1q%\ IpNPIּ>]Qժ*KxzWGS;$,IԌvq_g?'._ОPGXY
H
PUQzc>g县;i; +9Ua!󬪕-Je*enZEGKl܈bW9hG$aZIe)o+YZѯf{*(h']Vu!{VeXRTg1k_.n*7W}'f0Nd!@hg63(Tv8W̿OvT./e(QB8CV~#;D AcO@: HkiSK*DKxF"V;*~8bHvߔ6$܆_vΑ *AgҢ9&/~R_nnxFKv~4N3e+.mB3o|}Өp	
iDCϙhqؿƲfn&UCfX]YԋVi.0>˰t"qgdؽi&%;B(	Ofl5TS#0k)mM7Ϊj鷑Lly(<CM9\t?d(r!>Tz`+/j:L~4r,H\"ҽԞZHZ1`.A ť߇ZǮXppR@3<x=
s FD	N	gۯJRDm.ftImx~~Z40RBO15t vOXz=ML*YZQY+Y_WZ#,^cTлa֞Qox{I~=L7|i@šݲSY}7O}^oX%~et`l߂/zƒE	5;_Y^V="֯Ve8qA9M{MsU96L5wj.-8q~zk,E@3erfTr(K#օd#$ g{=*	Y=<6ץ3h4LmED6.di y$(8ESa͡nJ_sgu&G>m~ofk|j>hGӬUfFыؘ5
+M}o܁"}q;K9LswD9.Im^[&_K6_)}Ω^'6Lڭ#E
5\
Oq_eW'b~,F	(ȵ >q	x%
q1N:8I&Q]Up<-7ǹȥ@l݃.*MOרSF>8ڴ}h2{8&Z284(ilD52"qƈ!rrIh%_mH0* D<}E'ba2lKj#LX 	T}D[{GIuE;+TܵU`_aA3mN`0RSYMR-R:qőU=0:ƐDb ˞6vuY{Ίt.fNVƓ!{Y;umpv6LOP_;[:c/Nޏܡs1^-''՜-]'BHJW]=Cj;Ûg+J̼RLؚsNW(:':޴/8]^]l/.|
e+!2lc{˗4:2%a!C[oGd2Jn9v,o3Oow	1L?HmAH5ʰmwSJ4ۯ|n]}(`VwsNpWZd碥'זa!S
8HAE^{܅\ig_mHG`qZ5|Dxu.otYAjS*/ŧ'3guײwtMh+fO]6}c1ƞ7k̪iNR7;|*IRv$Å:ߍS!tJ[,Jⅅ>؜k!;}7}vd`*Ї48%PAefWwZ<]Ƥ' q{5A7򊟅wt6T!n>͋AmM%%N[Mo3f~tiL	8
,P})24;OXP-'ۏ\w&(xMO(@DDzD3ӟ=rTWUoXʢ0/pa>IĞ,%!7)P.	` %2^-R<gBn4hL^2	2e@/Yrڸ%-Rpi&*6|}mYS?:/>`.j?"5}=jm81 py}^(E+6C?ϴWr3,ҫlTC/xs}gR<* L{j3xf!z_4                                                                                @ @                                                                                                                                                                                                                                                                                                                            \                                                                                                                                                                                                                                                                                                                                                                                                                                                                    c                                                                                 @ =A                                                                                                                                                                                                                                                                                                                            \                                                                                                                                                                                                                                                                                    )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      @                *D                                                                                                                                                                                                                                                                                                             \                                                                                                                                                                                                                                                                 k                                                                             m                                                                                                          :                                                                            @                6D                                                                                                                                                                                                                                                                                                             \                                                                                                                                                                                                                                                                 w                                                                             y                                                                                                          @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   6                               >                                                                                                                                                                                                                                                                                                                            Y                                                                                                                                                                      l                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           2                               .7                                    E? ^A A iB C H D       D q E      E F G H  I       I [ J  J Q K  K      H L l L  L  M       M      B N       N       N  O      P eP Q zQ  Q      j R  R ' S  S       T ; T  T  T      g U       U      L
V      #Y      Y                     @ \  \  ] _ ]  ]       ]  ^ 5 ^      j ^  ^      e _ "_ ie g           _h           >i j /k Tl                 l  m m % n  n n  p , q P q  r  r t s                Ns   
          z    V         _   D G          7  ^    $                 J                         H      7           y         V 3   _                 "      g U	            }        Q    &        !           R        (      f             n  !      o    < \   @ l        S  w    D d   H i    4                    i  %              -              N                     c                         @             z            |                      X             O  6                               >                                    @                B D                                                                                                                                                                                                                                                                X                                         \                                                                                                          i           l                                                                                                                                                                                                                                                                                                                             F                                                                            @                B D D           E                          I                          L                                          N      N           O                          @R                     S                                         : V                                                   \           w]                #^                                                                                                          l      n      n      q                      s                                                                                                                                                                 ,                     z                     D       T                                                                  e                2                           }                                M                          P           8               X  y      ]                         `        e        %                      M           m                             0           
       h           E                                                                                 4                + 










&%%%6                  >                     x@AKBBC      D      aFGzHAI      JqJ   gK      LLLL!M   M               O      4PP1QQ      RR=S      TQTTT   }U         X   Y   [            F\\&]   ]   ]   9^   ^^      egg      h      ijkl            $m   ;n   p   0qfqrr            XX7      /       ):      ;tך:!            `#                        '      ܮ!v   й      "            h         2   2         j      O               $U                     k<         ~            B                              x   >                        *                  m         d 2t7z7}77777 ?&?+?/?3?7?;?A?ZAAdBCCDDDlEEEFGHIIIWJJLKK7LDLgLLMMM0N=NNNNNOOOaPPuQQYRfRR"SSTT6TTTUUbUUU;VHVYYYY\\\,\;\\][]]]]^1^V^e^^T_a__dezg:hGhZhi'i:ii*kPlllll	mm nnnp(qKqqrpsssssv׈RѐސZ|?Bٗ&3Yʝם9Fǟԟ06C,2tERYƹ
UbOgn{>K O#Ub\k8l7Y=iOt?aEf1Yf"y*<KtQ`=wy@FU7=L!(/5;AGNTZagmsz%,28>DKQW]djpv}#+19AGMSY_ekqw}   w7   7   77>$?   -?1?5?9???t@AGBBC   DD   EKFGdH+I   II[J   QK   9LHLlLLMMM2N   N   NN   OPPQQ   [RjRR'S   TT;TTTWUgUU   =VXYiYYv[\         B\\]   ]   ]   5^   j^^V_   dgg<h   hi   ijkl   ll   m   %n   p   ,qPqrr      ssBB!   
z܈   Ӑ˔w|$   (7^$   ̝   ;J   ɟ   48{0   y   Gخj
_   ˹Wlp}   @Q      ..   Wf   _n;               lS                     V8   [i   |   -      ?p      w   Tc:            CIX   :@O%,28>DKQW^djpw~")/5;AHNTZagmsz
 (.6>DJPV\bhntz6                  >                     y@ALBBCJD   DsE   bFG{HBII   JrJ   hKK   MLLL"M   M   DN   N   OO   5PP2QQQ   RR>SS   TRTTT   ~U   U   X   Y   [            H\\(]a]]   ]^;^   ^^      egg      h      ijkl         l%m n<nnpp1qgqrrvs         YY8   0!   *;ș   <uؚ;"   ޝ   a$   ۟         9   (    ݮ"x   ҹ      #         i   h   3   3Y      l   PBcG&WJkOpl=      ,      C         $      y   ?       G            +            n      e                                                                                                                                                                                                                                                                                          e$g                                             @A`BBDiDDSEEEFGHuIIIEJJKKKALaLLLaMMM:NcNNNNOOOSPPcQQRcRRSSST0TwTT0U_UUUVEV      YY[\\'\6\f\]H]s]]]]^O^`^^_^__MecghDhShh$i3i   k:l            lmnnnpqEqqrZss         ڂ{bÈ6Aېg*$0QBԝCgџ	   @   f[ԣ)O B#_A   xHkUHz%_0he&Tu%YEl.\}-a!_6cM'vHE%]o   5u   V   _      R   I                                             @AXBBCVDDGEEExFGHiIII9JJJKK;LYLLLHMMM4NPNNNNOOOKPPWQQ	R]RRStSS
T(ToTTUYUUUV?V      YY[\\!\0\T\\@]m]]]]^G^Z^^_X_w_CeYgh>hKhhi+i   
k0l            lmnnnpp=qqrNss         ȂoU)-ՐZԙ*Hr.Ν=Z˟   :   ENǣI9޹ ȿY8   rBt]@?eYxb\NoS<c Vw[|J!]8!hB0zWM   ,S   H   Q      L   C                                                      B   D   WEE   FGHyII   IJJ!KK
L   eLLLM   N   N   N   OO   WPPgQQ>R   RSSS   4T{TTDU   U   8V         Y   [   \)\8\      L]u]]]]!^S^b^^>_   _Oeeg,h   Whi   7i   k<l            lmnnnpqIqqr^ss               gȈ;   ΐ         l/)ʗ   V   ǝ      lğ   *         x   `٣B         Gù   B   F      0      pg   M   7   N    j+Vw*[Lq3^2c#q   	K   k      {   .      f   C            :      [      d      2      )                                                                                                B                D           nF G H NI            J ~J      tK                L L .M      M                          O           AP P >Q Q           R R JS                ^T T T      U                          Y      [                               4]                 ]                 ^ ^            e / g g           h                 j  l                          1 m      H n       p           s q & r  r                          e e D           <                                6 G                  G                          m  0                                           4                       .                              /                            u                 ?                                                                       \                                    2                                                x  I                                            O                                                           K                                                7                               z                q                                                       B         D      oFGHOI      !JJ   uK         LL0M   M               O      BPP?QQ      RRKS         _TTT   U               Y   [                  5]         ]         ^^      e/gg      h         jl               1m   Hn   p      sq&rr               ffE      =                7H         H               nϞ1                        Ϣ6            /               0                  w                                                                            2                        x                        P                                                            9                  |         t                                                      B         D      OFGhH/I      J_JJUK         pLLM   M               N      "PPQQ      nRR+S         ?TTT   kU               mY   z[                  ]         ]         n^^   e_dgg      h         jk               m   )n   p      Tqrr               FF%      ~               ϔ{(         bŚ(               N                        }            od                                 V                                                   q   =               o                           Y               l            0            s                  f                                                   [         R                                                                                    #                -        6                @                          J      S                                          '  1      ;        E              O          [                  e            o                      {                                                                  Z                        \                            y                                              O      Y    d      q                                                               D      E               I               CL            M   <N   N   N      O               eR            T            aU   U   GV         Y   \                                             `_            Fh      &i                                                                                                   ݐ                           2                  ֝   E            ӟ      B                     Q                              a            z      J                                 a               j                                                                                       e            )         J               _                                             T         K                                                                            q  ? !        ! ) '-          K7 9 :    <                LB       F |G G H       J P 6T          ] _ ra    Ac                f    h                               x          Py z    ͘                         0                        ~       b q L                                 ~                         W            ' 9 8                R  &                            @                          	   >   w                  T$      -                                              @             *       w        /         D                  z    /            )       -                    o                           J0                                               "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              \/                                       /                                                                              0                                                                                                                                                                                                                                       5x Ix ]x                qx          <y                                x                                                                                                                                                                                                                                  ?	S	y	                                                                  o        =         ! ) %- I7          9 : <    @                F       zG G H J       P 4T ]          _ pa ?c    f                h    3x                               :y          z ˘                  v          . (                    |    `       o J                                 | U                           %          7 6 '                 $                            >                 =	         <      uR                  $-      	/                                              JB             u           B    [/                       x        /            +              m                                 P       0                                                          
                                                                   p        >          ! ) &- J7          9 : <    @                F       {G G H J       P 5T ]          _ qa @c    f                h    4x                               ;y          z ̘                  w          / )                    }    a       p K                                 } V                           &          8 7 (                 %                            ?                 >	         =      vS                  $-      
/                                              KB             v           C    /                       y        I0            ,              n                                 Q       0                            !                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 J                                                                                                                                                                                                                                                                                                                                                            Bx Vx jx                ~x          Iy                                                                                                                                                                                                                                                                  L	`		                                                                                                                                                                                                                                       Fx Zx nx                x          My                                                                                                                                                                                                                                                                  P	d		                                                                                          B                ^E           F G H {I           PJ J      K                L L M      )N                          O           ZP P nQ Q           R S S                T T NU      U                          Y      [                               T]                ^                ^ E_           Se ig 3h           i                k @l                          m      n      p           q r bs                                       o  C                          u 8 2                                                 t                          %                 m                       P                       N      O                                                  }                                                                                                  0           /                                 8           7                                                                                                                                                                          i                r                                                                                             @         D                                                                                                                                                                                    \                                                                                                                                                         [                                             ]                                                               *6                  >                     r@         CHD      qE               I               K                        BN   N      O               Q            S                        U   X                        @\      _]         ^                                          i      l         l   m   n   p            ts                                                      ƙ                  ܝ               ٟ            7                                                                        f      ,            W                                 @a   E            Hi   Mn      6               *                        "               8            E                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]                              u                     E                        .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Q                              i                     9                        "                                                                  s                                                                              
#+26=DKWnry#'.29@DKRY`gkry!%):FX\cgnry}&:NW[_cgnr#+3CGO`hpx'+37AIS]aiqy	)	>	H	P	]	a	i	u	z	~														



&
.
:
?
C
G
O
S
W
_
c
j
x
}




















!%-19AEMQYaemu}
&.6:>BFJNRVZ^bfjnrvz~
"',16;@EJOTY^chmrw|!&+05:?DI                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              `                              x                     H                        0                                                                                                                                                                                                @@UA         D      EEEE      II   I      LLL L   %L               N      OOOO      CRGRKR      SSSS   S                                       \\   y]   }]   %^   )^                                                          m   n   n   
qqqq               	                  ;<=>?@      
                $(               .                  b٧ڧ            ۧ   ܧ   ݧާ                  4                                                      R                  {   _                              '                  O      o                  2            j      G                                                      6         -                                                                                                              0           0  0 0 0            0  0      0                0 0 0       1                          1           1  1 1 	1            1  1 1                1 1 1      1                           1      1                                                   1                1 1           1 1  1            1                1 !1                          /1      11      31           51 71 91                                                   ; 1 ; 1 ;1                                         <1 >1 @1                B1 C1 D1                          N 1 N 1 N1                          V1                X 1 X 1 X1                          Z1 \1                ^ 1      ^1      _1 `1                               a1                d1                                    0                                         1                     $1           &1      (1                          )1           +1           - 1      -1                               E1           G1           H1                     J1                     L 1           L1                                              P1                R1                               T 1                T1                                                                                                                                                                                                                                                                                                                      `$                               $                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       >                                                                                                                                                                                                                                         \+\:\               ]         d^                        Yh      9i                                                                                                                                                                                                                                 Ź                                             VA         BDD      E               I               *L                        N   N      O               OR            S                        :V                              \      ]         -^                                                               m   n   n   q            s         
                     А   A                                    ɝ   ,            Ɵ   /                        D   ߧ                                                   9                                                      W               X   d               `   e   ,               T      t               7      
   o      L                                                ;         2  ^     _         %  E    (       $  D       '       >      +   #H C  N H     )    =     *   "     0     M    <   !  B  }  G     5      	        A      &  F         , ,                         	< 0 core_intrinsics  %lǕ5yB   3,   
 panic_internals generic_assert_internals  %lǕJ}LjH 
 }
 fmt_helpers_for_derive``  %lǕ+o<F    ,      %lǕE:`   # 


  %lǕCR%2 e 

``  %lǕؒY<O  $ , fmt_internals fmt_arguments_from_str      %lǕ4f  &     %lǕAx $Y uq
 derive_clone_copy  %lǕ M    ,      %lǕ+#G Ǻ	  h ,       %lǕJ")  u=D
bb  %lǕBw9 5 O"
  %lǕ>ziu k }Vj

  %lǕ"   $crate::const_format_args '$"# ֕ 

  %lǕeك6}  Y ,       %lǕt]8lI 	 $

``  %lǕ/Ui8  P- ,       %lǕfi#[   M ,      %lǕx5m  $  m   %lǕYZYVĦ 
$ j

  %lǕE   U ,      %lǕ7Y}Ca 
R ef"
 	derive_eq  %lǕxn=d>   ߵ ,      %lǕ3L   ],  


  %lǕg݆u ( |

  %lǕjpOJ=  
  %lǕnM*  ^%    %lǕcj>3o  K

  %lǕI]BBu c P

  %lǕХL  $crate::panic::panic_2021 "% #
US   %lǕ0  	 ,       %lǕbly 	$ 

  %lǕh^  8  ,       %lǕ{\9hO>   , ,      %lǕXWu 
w 

  %lǕSćԓj-  = ,

      %lǕt֨  N     %lǕVn 
K H
  %lǕiy||-  xT ,       %lǕMoKQ   # ?


  %lǕ>bM <Y 
  %lǕgfS   ! ,      %lǕ	mf  , ;   %lǕdNŭ'  k

  %lǕ2)b
  Y;    %lǕFRwa e 	

``  %lǕB  std::format     hint_must_use liballoc_internals   %lǕ۵z r 
bb  %lǕK;M7   ,       %lǕNQu 	 

  %lǕ:=[[  $crate::__export::format_args '( Ň 

 %lǕ{vR      ) )% (   %  ts  %lǕ_ qMFˮ   vM   ׮      /   f<nE# Ϯ~U'ۮ   J   8      j               zQ                                          rI      ӮRY+߮Nb                  @                                    3                                                                                                                                                Ů                        ]                                                                                                                                    fVj8   3      V|,,>uӷ)aߴñʸA_ea            r                                    8qȳ	;.e÷   Q      1yOUݹQFӶb+ϴal6u(                                          в      V(#Z4ODHT                                           bW9hG_   )P.y  1^-'!              NR7;Q  6              ,F	(   5
+M   Ӫ   
O   X 	T}  g+J̼&  %;B   5|DF  V~s               otYAH  Wk'                                       #օd   gu   5 FG   v$ÅS                          KxF"V;y   Tлͷ   284  qƈ!  -R  ڭ#E   ߔ6$܆{   `*Z  2&6,   q_eW'b   :':)  M%%N[f  f{*(e                           -,%9   ./q   /8*  }'f0Nl   i.0   ʢ0u  6ץ3h   1 p  5\   @hg63n   17'?   AH56                                                  H=
   Һ>.   g{=   ȥ@l   %PA\  ͋Ame  ۙC0   D`@                                                   \ IpJ   ,IԌQ   nxFKv   tIm   MC   3mN`  |*IRR              >]QL   s}gR<  OרSF   +T  Uf   ]Vug                           XY
HT   Y+Y_W                                                   ^[&_               uftaMp3   $a`   AcO@u   *~8bHvz   /pa>v  t.fN  "qgd   rrIh%_  .di    {jf1   ~zk,E   Lly               6T!n>d  gBn4h}  p p!               Wrя  
s FD                           v6   OvTp   mpv  uײwtMK  /zƒ                                                   3Oow	4  xu.G                          ʴ'   D6   ݃.   mYS杅                                      X%~־   ?d   e(QB8Cr   '6L   ,Pj              q   0:ƐDb  ⅅ>؜kW  =0ّ   	E??	   }Ω^   lTC              Ƥ_              h'f                                       IĞw  ' `  o   (:<u   C8?   ȵ    mH0  Nޏܡs   15t v   su#Pn$   [,JV              x~~   k̪iP                                      N   >˰t   j#L              n]}(`V9  pi&*                          ŷH               ?:              8&Z   !@jD                           ߿F   etÿ   UoXt              (+#   #;D t   ="֯Ve   Gq   ߇ZǮ   e@/  * LՔ  6/*   r,H   fk|   렛:|)   sN;  _v|   dИ,   ._ОPGS   gҢ9~   ӜzF   |   Ʋfn   75   \w&(o  &UCfX   jSI  Yrڸ  %-R  rfT   iDC   W<BX   R_n   a֞Q   ۑh   j鷘   )   1   
    ˞6  \iC  5}𪃉                          -Je[                                       ._ϒ   }j3	   OXz               9Ua!󬪕Z   ^-R<|  Zd   'BHJ#              JRDm   ;iX                                       Α *A}   D</   .f               * D<  ;[:c/  iL	8
i  A(   ,8   1N:   9@uۙ5   {Y;u  *&_	W;
               &/~   =jm8  vuY{Ί              S1q%I   #wB   
PUU   a   |}                                      c>g县W   o   RBO   W]=C$  VƓ!  j;%  />  z+ңA   	7g   ES   d!m   }o܁"}   זa!S
?  ` %2{              8I&Q   }E'	  '>  
*)C   *e\   ; +Y   v,o3  j.-8   '՜-]"  }/;8:   Z40   */ŧ'3gJ  L^2	2~  ~4N3e+   @3e   5k               .n*7Wk   (Tv8Wo   <-7ǹ   8@  z@;iY>   wZ<]^  *	Y=<   5A7b  x> ?[=   7|i@šݻ   8A#p<   ,%!7x  PdC4F   wD9.   E	5   @CF   BFu                           S!tJU  ˢK7   wLS=   j:L~4   sU96L5w   h+fO]6L  xMO(p                          WGS;$P   W۲TE   l5Tה   0RSYMR  :qőU=  sNW((  rTWs  ԞZHZ               9\t                           阱_{	%   J_s   %a!C0  b
  Z#,^cö   z_4              (	Ofē   vq_g?'R   Tg1k_j   j>hGӬ   efW]   HkiSw   `l߂   4LmE   a2lK  )o+Yc   }Өp	
   8q   (r!>   k6@sw   ]^]l/+  GIuE;  [oGd1  2Jn92  *KxzO   R@3<x=   Tz   A9M{M   2lc{˗.  }7O}^o   7}vdY  >8ڴ   f~th  }k  L*YZQ˴   `.j?"  +6C?ώ  ]Up   K6_   IS;   ټ/*"   k$W+   Kl܈^   y$(8   >q	x%   r(K   `+/   (il    	N	gۯ   D[{  w:  7N  !;}X  /xڒ  Mo3g  y}^(  ZIeb   pWZ<  ISțϙ;   &G>m~   xf!  mwSJ7                                      d碥=                 O  a͡n   Z!ѱ   nZEG]   1L?Hm5  *M   ~   HAEA                                      Xpp   }c1ƞM  ܵU              ox{I               G`qZE  j   ؽi&   KMMb-   ~=L   4:2/              NPIּK               4ۯ|8  
q   SY˼   XRi   :v   6LOP_  .A ťԥ   .m   #$    g_mHD  !{Veh                           k)mM      q{a  ϙh   Im   Fыؘ   \"ҽĢ   =M   [M&   K*Dx   ]YԋV   OXm  qؿ   *3R    DzD3ӟ=r  RLؚ'  ^{܅B  P-'ۏn  3,ҫÐ  {j3  )24;l              7Ϊ               Bm X4               :Bۃ2   !U%AE   1`   S#0   %lǕ    (<CMሚ   л0   ժM   QzV   D52"  q;K9Ls   ;_Y^V   .|
e,  :ߍT  B3   +!-  Ї48[  wtc  @Dq  	z  E  `_aA  }h2{                                       |xH&o>^!"R{s:sBfGhqCXBnob'TRa8.deV6qD 8?t]0)zLBmd$+I8  ;W'G/b"
]48h"}}qIIhaBNk!&HN15H{I`sHX:b
kT;i?_+z-t{a,oB2GYj$>VI;F#QJy7n,pO*!r(?[|]\A2I=Jh6
 nIWQILE?SEp*	_	_aQ`)Y>\\fdetXt3B25+f\aCgEbn8z#sOj}FAXnk)|-:^Rpab/V+)zIx,J~xQj\=M&`72Zd`eg8/keDtOz|Wbum	I%w}p@[#6cBv{O$-L1&^>e)N/jS$K&Z?4sLbHCOAc|AkMaaU,Y"sDN=^9+2FX:"" =|xH&o>^!  ?./external/rust/android-crates-io/crates/rand_core/src/block.rs   $L"P첮                 2ECAA$8NMBKQBO&+4&">
%1
?;11(#:%OF/>*MDG)9J-1*GQ0N5HMK15P7II?PHENXAO.H$$(?j'JO@=%'?)$B@)31$
.NM#/J2L76/<$7&
7$24</ 23!&/?&9
0&;*,^(#
B-&**2$L,PGQ0QPHPNHMT:$$(?2IJOB=''?)1&B@+31$
.NM#/J2 L76/ >$>239$
4*/7$73
7 0 &;7 ,^(#
D-&**2$L,R<'%">#F
$13
)F%%@BA@A@@BA'!>#O
&13
+V%%@BA@A@&(@BA ?Yj<*p    ?./external/rust/android-crates-io/crates/rand_core/src/impls.rs  -g.Ʀa6J4                 992ECAA$;ONIPMFE>CA''OPLHP/;#;+;+$%)* * 5M]*<02#U&$B*D3
O7J=PQ#0&.,HC(#
>QO7J=PQ#.@Q@D@D$% !B< !BB  A*$" !B< !BN  A* +zDĶ]S'v    =./external/rust/android-crates-io/crates/rand_core/src/lib.rs  gkѬpf>                 24ECAA$$MN6R3P$Q##Q@:(=' ,FH:NNPFOML OQJ0MPMLFC5GD;OLJ8NLHBNE%#(#
(
32
C($$.&MPL#&MPM#&MP,D;G. $$$$/*DMLPLAMIOPOQOL6LJPNG @2J4OMON?7+&<&</M1+
168;
'MWF-,==NGGMLPLALOPO&2N&<,/$'$'/,4N&&A4%PUN4
<$'$'/,A=FHNOPJL #P6PQ'O?QOI$+%%("
)(
)0
%#5
<0MMRMP!PMQPAHQC%OMNPQ,.OQMIQ(MPO,/I/23M3@ AE,2
.:!7
)B
;QQOILLONOKOOLJ3'2.'DKL.,"DP+VKO>*U1:(?
V(O>/1=.))[*m8GJ7]II/!+!5'2"
I%4D
5*JJ29:,
 5(
(
1
"%];L
=30!
')a;N
=50!
'%8?>
B71
''8C@
D71
'&4EE!T!
('!(' èXXj-]_    <./external/rust/android-crates-io/crates/rand_core/src/le.rs  Caa3Z/iݔ                 @2ECAA$L :A
4)B>:A
4)B>I%$$9$$%,,9, P-oU[    <./external/rust/android-crates-io/crates/rand_core/src/os.rs  v3}                 s2ECAA$F'@QF+OE;"NJI,LN%`(-44'-&&K;%E+GROMT/=*=*O/++1 NRRɲ%  |X aarch64-linux-androidlf3ohV 	rand_core   %lǕ            	    9       
     
j    		     `                                                   j j             IIF        rust-end-file            PQ            	 L      	      *      $      %  	    )  !        	         `              (/ ` \        	 ,08	      
  2Y@>J
0/       y              (/ y} D8IfL,y&#c\>Qu2fȿx,Hj={K a>i                                                   !                    $                    '                      *                      -                      0                      3                      6      0              9                    <                    ?                      B                    P                  ]                    `      	              c     	             u      	              x      	              {      	              ~      0	                                                                                                       D                                                                                     	                   !                                                                                  "                                                                             ~                    	                	                	                0	                                                         F                                                                                                            V                                                                                 .note.android.ident .note.gnu.build-id .dynsym .gnu.version .gnu.version_r .gnu.hash .hash .dynstr .rela.dyn .relr.dyn .rela.plt .eh_frame_hdr .eh_frame .text .plt .data.rel.ro .fini_array .dynamic .got.plt .relro_padding .debug_loc .debug_abbrev .debug_info .debug_aranges .debug_ranges .debug_str .comment .debug_line .rustc .debug_loclists .debug_rnglists .debug_str_offsets .debug_addr .debug_line_str .symtab .shstrtab .strtab  rand_core.b95c7eadca46c25-cgu.0 $x $x $d $d $d $d $d $d $d $d $d crtbegin_so.c __on_dlclose $x $x __on_dlclose_late $x $x $x $x $d $d $d $d $d $d $d $d $d $d $d $d $d $d abitag $d $d __FRAME_END__ $d $d _RNvNtCsZFmoY9pI8X_9rand_core5impls19fill_via_u32_chunks memcpy __stack_chk_fail _RNvNtCsZFmoY9pI8X_9rand_core5impls19fill_via_u64_chunks rust_metadata_rand_core_b95c7eadca46c25 __dso_handle __cxa_finalize __emutls_unregister_key __atexit_handler_wrapper atexit __cxa_atexit pthread_atfork __register_atfork _DYNAMIC                                                                                                                                                                                        (             8      8                                 0   o                                               =   o       $      $                                   L   o       H      H      (                             V             p      p      P                            \                                                      d     `                                                n    o                                                x      B                   x                                        X      X      L                                                                                                              t                                          @	      @	      p                                                                                                                                                                       p                                                    @                                                       8                                                        e                                                  -                                                        .      Y                                                  !      @                                                  !                                    !     0              "      	                            ,     0               ,                                  5                    -                                   A                     0                                  H                                                        X                          #                              h                     +     P                              {                    {     V                                   0                   p                                                  H     @      %   0                                                                                             9     	                             