
    ,hh$                        S SK r S SKr\R                  r\" \R                  5      rS SKr\" S \" S5       5       5      r\" S \" S5       5       5      rSr " S S5      rS
S jrS	 rg! \ a    SrSrS SK	J
r   NUf = f)    N)_compare_digestc              #   *   #    U  H	  oS -  v   M     g7f)\   N .0xs     -/opt/python-3.13.8/usr/lib/python3.13/hmac.py	<genexpr>r           0Zd(Z      c              #   *   #    U  H	  oS -  v   M     g7f)6   Nr   r   s     r
   r   r      r   r   c                   `    \ rS rSrSrSrSS jrS rS r\	S 5       r
S	 rS
 rS rS rS rSrg)HMAC   @   )_hmac_inner_outer
block_sizedigest_sizeNc                    [        U[        [        45      (       d!  [        S[	        U5      R
                  -  5      eU(       d  [        S5      e[        (       a/  [        U[        [        45      (       a   U R                  XU5        g U R                  XU5        g ! [        R                   a    U R                  XU5         g f = f)Nz,key: expected bytes or bytearray, but got %rz&Missing required argument 'digestmod'.)
isinstancebytes	bytearray	TypeErrortype__name___hashopensslstr	_functype
_init_hmacUnsupportedDigestmodError	_init_oldselfkeymsg	digestmods       r
   __init__HMAC.__init__&   s     #y122JTRUYM_M__``DEE<Jy3	2BCC4)4 NN3Y/  99 4s34s   6B &CCc                     [         R                  " XUS9U l        U R                  R                  U l        U R                  R                  U l        g )N)r+   )r!   hmac_newr   r   r   r'   s       r
   r$   HMAC._init_hmacB   s9    !**3yI
::11**//    c                   ^ [        T5      (       a  TnO&[        T[        5      (       a	  S	U4S jjnOS	U4S jjnS U l        U" 5       U l        U" 5       U l        U R
                  R                  U l        [        U R
                  S5      (       aS  U R
                  R                  nUS:  a6  [        R                  " SXPR                  4-  [        S5        U R                  nO5[        R                  " SU R                  -  [        S5        U R                  n[        U5      U:  a  U" U5      R                  5       nXPl        UR                  US5      nU R                  R!                  UR#                  [$        5      5        U R
                  R!                  UR#                  [&        5      5        Ub  U R!                  U5        g g )
Nc                 2   > [         R                  " TU 5      $ N_hashlibnewdr+   s    r
   <lambda> HMAC._init_old.<locals>.<lambda>K   s    Y(Br1   c                 &   > TR                  U 5      $ r4   r7   r8   s    r
   r:   r;   M   s    	a(8r1   r      z:block_size of %d seems too small; using our default of %d.   z<No block_size attribute on given digest object; Assuming %d.    r1   )callabler   r"   r   r   r   r   hasattrr   	_warningswarn	blocksizeRuntimeWarninglendigestljustupdate	translatetrans_5Ctrans_36)r(   r)   r*   r+   digest_consrF   s      `  r
   r&   HMAC._init_oldG   s]   I#K	3''BK8K
!m!m;;224;;--..I2~  03<nn2M N-q2 !NN	NN *-1^^=)1. Is8ic"))+C $ii	5)3==233==23?KK r1   c                     U R                   (       a  U R                   R                  $ SU R                  R                   3$ )Nzhmac-)r   namer   )r(   s    r
   rR   	HMAC.namen   s/    ::::??"4;;++,--r1   c                 d    U R                   =(       d    U R                  nUR                  U5        g r4   )r   r   rK   )r(   r*   insts      r
   rK   HMAC.updateu   s     zz(T[[Cr1   c                 |   U R                   R                  U R                   5      nU R                  Ul        U R                  (       a/  U R                  R	                  5       Ul        S =Ul        Ul        U$ S Ul        U R
                  R	                  5       Ul        U R                  R	                  5       Ul        U$ r4   )	__class____new__r   r   copyr   r   )r(   others     r
   rZ   	HMAC.copyz   s     &&t~~6 ,,::**//+EK*..EL5<
  EK;;++-EL;;++-ELr1   c                     U R                   (       a  U R                   $ U R                  R                  5       nUR                  U R                  R                  5       5        U$ r4   )r   r   rZ   rK   r   rI   r(   hs     r
   _currentHMAC._current   sE    
 ::::  "AHHT[['')*Hr1   c                 B    U R                  5       nUR                  5       $ r4   )r`   rI   r^   s     r
   rI   HMAC.digest   s     MMOxxzr1   c                 B    U R                  5       nUR                  5       $ r4   )r`   	hexdigestr^   s     r
   re   HMAC.hexdigest   s     MMO{{}r1   N )r    
__module____qualname____firstlineno__rF   	__slots__r,   r$   r&   propertyrR   rK   rZ   r`   rI   re   __static_attributes__r   r1   r
   r   r      sM    
 II080
%N . .
"
r1   r   c                     [        XU5      $ r4   )r   )r)   r*   r+   s      r
   r7   r7      s    " )$$r1   c                   ^ [         b3  [        T[        [        45      (       a   [         R                  " XT5      $ [        T5      (       a  TnO&[        T[        5      (       a	  SU4S jjnOSU4S jjnU" 5       nU" 5       n[        USS5      n[        U 5      U:  a  U" U 5      R                  5       n U SU[        U 5      -
  -  -   n UR                  U R                  [        5      5        UR                  U R                  [        5      5        UR                  U5        UR                  UR                  5       5        UR                  5       $ ! [         R
                   a     GN,f = f)Nc                 2   > [         R                  " TU 5      $ r4   r5   r9   rI   s    r
   r:   digest.<locals>.<lambda>   s    HLL$;r1   c                 &   > TR                  U 5      $ r4   r=   rr   s    r
   r:   rs      s    FJJqMr1   r   r   r@   rA   )r!   r   r"   r#   hmac_digestr%   rB   getattrrH   rI   rK   rL   rN   rM   )r)   r*   rI   rO   innerouterrF   s     `    r
   rI   rI      s    JvY7G$H$H	++Cf== 	FC	 	 ;1MEME|R0I
3x)#%%'
9s3x/0
0C	LLx()	LLx()	LL	LL <<>) 55 		s   E E)(E)rg   )warningsrD   r6   r!   compare_digestr   openssl_sha256r#   ImportError	_operatorr   hashlibr   rangerM   rN   r   r   r7   rI   r   r1   r
   <module>r      s    2# "00N\001I 0U3Z000U3Z00 J JX%( e  <LI;<s   A+ +A>=A>