+
    7›j¥  ã                  ó|   € ^ RI Ht ^ RIt^ RIHt ^ RIHtHtHtH	t	 ^ RI
Ht ^ RIHtHt ^ RIHt  ! R R	]4      tR# )
é    )ÚannotationsN)Úutils)ÚAlreadyFinalizedÚ
InvalidKeyÚUnsupportedAlgorithmÚ_Reasons)Úopenssl)Úconstant_timeÚhashes)ÚKeyDerivationFunctionc                  ó>   € ] tR t^tR	R R lltR R ltR R ltRtR# )
Ú
PBKDF2HMACNc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
é   Ú	algorithmzhashes.HashAlgorithmÚlengthÚintÚsaltÚbytesÚ
iterationsÚbackendz
typing.Any© )Úformats   "ÚK/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.pyÚ__annotate__ÚPBKDF2HMAC.__annotate__   s<   € ÷ &ñ &à'ð&ð ð&ð ð	&ð
 ð&ð ñ&ó    c                	óú   € ^ RI Hp VP                  V4      '       g(   \        VP                   R2\
        P                  4      hRV n        Wn        W n	        \        P                  ! RV4       W0n        W@n        R# )r   )r   z is not supported for PBKDF2.Fr   N)Ú,cryptography.hazmat.backends.openssl.backendr   Úpbkdf2_hmac_supportedr   Únamer   ÚUNSUPPORTED_HASHÚ_usedÚ
_algorithmÚ_lengthr   Ú_check_bytesÚ_saltÚ_iterations)Úselfr   r   r   r   r   Úossls   &&&&&& r   Ú__init__ÚPBKDF2HMAC.__init__   sn   € õ	
ð ×)Ñ)¨)×4Ò4Ü&Ø—>‘>Ð"Ð"?Ð@Ü×)Ñ)óð ð ˆŒ
Ø#ŒØŒÜ×Ò˜6 4Ô(ØŒ
Ø%Ör   c               ó    € V ^8„  d   QhRRRR/# )r   Úkey_materialzutils.BufferÚreturnr   r   )r   s   "r   r   r   .   s   € ÷ 
ñ 
 <ð 
°Eñ 
r   c                	óà   € V P                   '       d   \        R 4      hRV n         \        P                  P	                  VV P
                  V P                  V P                  V P                  4      # )z'PBKDF2 instances can only be used once.T)	r#   r   Úrust_opensslÚkdfÚderive_pbkdf2_hmacr$   r'   r(   r%   )r)   r.   s   &&r   ÚderiveÚPBKDF2HMAC.derive.   sX   € Ø�:�:ˆ:Ü"Ð#LÓMÐMØˆŒ
ä×Ñ×2Ñ2ØØ�O‰OØ�J‰JØ×ÑØ�L‰Ló
ð 	
r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r.   r   Úexpected_keyr/   ÚNoner   )r   s   "r   r   r   ;   s!   € ÷ 3ñ 3 5ð 3¸ð 3À$ñ 3r   c                	óv   € V P                  V4      p\        P                  ! W24      '       g   \        R 4      hR# )zKeys do not match.N)r4   r
   Úbytes_eqr   )r)   r.   r7   Úderived_keys   &&& r   ÚverifyÚPBKDF2HMAC.verify;   s3   € Ø—k‘k ,Ó/ˆÜ×%Ò% k×@Ò@ÜÐ1Ó2Ð2ñ Ar   )r$   r(   r%   r'   r#   )N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r+   r4   r<   Ú__static_attributes__r   r   r   r   r      s   † ÷&õ0
÷3ñ 3r   r   )Ú
__future__r   ÚtypingÚcryptographyr   Úcryptography.exceptionsr   r   r   r   Ú"cryptography.hazmat.bindings._rustr	   r1   Úcryptography.hazmat.primitivesr
   r   Ú"cryptography.hazmat.primitives.kdfr   r   r   r   r   Ú<module>rJ      s3   ðõ
 #ã å ÷ó õ Gß @Ý Dô)3Ð&ö )3r   