+
    i  c                  st    ^ RI Ht ^ RIt^ RIHt ^ RIHtHt ^ RIH	t	H
t
 ^ RIHt R R lt ! R	 R
]4      tR# )i    )annotationsN)utils)AlreadyFinalized
InvalidKey)constant_timehashes)KeyDerivationFunctionc                    V ^8  d   QhRRRR/# )   nintreturnbytes Zformat   "Q/usr/lib64/python3.14/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py__annotate__r      s     1 1S 1U 1    c                s(    V P                  ^RR7      # )i   Zbig)lengthZ	byteorder)Zto_bytes)r	   s   &r   _int_to_u32ber      s    ::Q%:00r   c                  s>    ] tR t^tR	R R lltR R ltR R ltRtR# )
X963KDFNc               s(    V ^8  d   QhRRRRRRRR/# )	r   	algorithmzhashes.HashAlgorithmr   r
   
sharedinfozbytes | Nonebackendz
typing.Anyr   r   r   r   r   X963KDF.__annotate__   s2      '  !	
 r   c                	s    VP                   R,          pW%8  d   \        RV R24      hVe   \        P                  ! RV4       Wn        W n        W0n        RV n        R# )r   zCannot derive keys larger than z bits.Nr   Fl    )Zdigest_sizeZ
ValueErrorr   Z_check_bytes
_algorithm_length_sharedinfo_used)selfr   r   r   r   Zmax_lens   &&&&& r   __init__ZX963KDF.__init__   s\     ''95>wivNOO!|Z8#%
r   c               r   )r   key_materialzutils.Bufferr   r   r   r   r   r   r   r   &   s     0 0< 0E 0r   c                	sH   V P                   '       d   \        hR V n         \        P                  ! RV4       R.p^ p^pV P                  V8  d   \
        P                  ! V P                  4      pVP                  V4       VP                  \        V4      4       V P                  e   VP                  V P                  4       VP                  VP                  4       4       V\        VR,          4      ,          pV^,          pK  RP                  V4      RV P                   # )Tr    r   Ni)r   r   r   Z_check_bytesliker   r   ZHashr   Zupdater   r   ZappendZfinalizeZlenZjoin)r   r    ZoutputZoutlenZcounterZhs   &&    r   deriveZX963KDF.derive&   s    :::""
~|<llV#DOO,AHH\"HH]7+,+))*MM!**,'c&*o%FqLGxx$,,//r   c               s$    V ^8  d   QhRRRRRR/# )r   r    r   expected_keyr   ZNoner   r   r   r   r   r   ;   s!      5  $ r   c                	sj    \         P                  ! V P                  V4      V4      '       g   \        hR # N)r   Zbytes_eqr!   r   )r   r    r"   s   &&&r   verifyZX963KDF.verify;   s*    %%dkk,&?NN Or   )r   r   r   r   r#   )Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r!   r$   Z__static_attributes__r   r   r   r   r      s    $0* r   r   )Z
__future__r    ZtypingZcryptographyr   Zcryptography.exceptionsr   r   Zcryptography.hazmat.primitivesr   r   Z"cryptography.hazmat.primitives.kdfr   r   r   r   r   r   <module>r%      s+   
 #   @ @ D1*# *r   