ó
    Û°›jì  ã                  ó¦  • S SK Jr  S SKrS SKrS SKJr  S SKJr  / SQr	 " S S\R                  S9r " S	 S
\R                  S9r\R                  R                  r\R                  \5        \R                  R                   r " S S\R                  S9r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\\5      r " S% S&\\5      r " S' S(\5      r " S) S*\5      r  " S+ S,\5      r! " S- S.\5      r"g)/é    )ÚannotationsN)Úopenssl)ÚBuffer)ÚMD5ÚSHA1ÚSHA3_224ÚSHA3_256ÚSHA3_384ÚSHA3_512ÚSHA224ÚSHA256ÚSHA384ÚSHA512Ú
SHA512_224Ú
SHA512_256ÚSHAKE128ÚSHAKE256ÚSM3ÚBLAKE2bÚBLAKE2sÚExtendableOutputFunctionÚHashÚHashAlgorithmÚHashContextÚXOFHashc                  óª   • \ rS rSr\\R                  SS j5       5       r\\R                  SS j5       5       r\\R                  S	S j5       5       r	Sr
g)
r   é'   c                ó   • g)z8
A string naming this algorithm (e.g. "sha256", "md5").
N© ©Úselfs    Úb/home/mande/repo/quber/.venv/lib/python3.13/site-packages/cryptography/hazmat/primitives/hashes.pyÚnameÚHashAlgorithm.name(   ó   � ó    c                ó   • g)z,
The size of the resulting digest in bytes.
Nr   r    s    r"   Údigest_sizeÚHashAlgorithm.digest_size/   r%   r&   c                ó   • g)zx
The internal block size of the hash function, or None if the hash
function does not use blocks internally (e.g. SHA3).
Nr   r    s    r"   Ú
block_sizeÚHashAlgorithm.block_size6   r%   r&   r   N)ÚreturnÚstr©r-   Úint)r-   z
int | None)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚpropertyÚabcÚabstractmethodr#   r(   r+   Ú__static_attributes__r   r&   r"   r   r   '   sf   † ØØ×Ñóó ó ðð
 Ø×Ñóó ó ðð
 Ø×Ñóó ó ór&   r   )Ú	metaclassc                  ó¾   • \ rS rSr\\R                  SS j5       5       r\R                  S	S j5       r\R                  S
S j5       r	\R                  SS j5       r
Srg)r   é?   c                ó   • g)z4
A HashAlgorithm that will be used by this context.
Nr   r    s    r"   Ú	algorithmÚHashContext.algorithm@   r%   r&   c                ó   • g)z0
Processes the provided bytes through the hash.
Nr   )r!   Údatas     r"   ÚupdateÚHashContext.updateG   r%   r&   c                ó   • g)zB
Finalizes the hash context and returns the hash digest as bytes.
Nr   r    s    r"   ÚfinalizeÚHashContext.finalizeM   r%   r&   c                ó   • g)z=
Return a HashContext that is a copy of the current context.
Nr   r    s    r"   ÚcopyÚHashContext.copyS   r%   r&   r   N)r-   r   )r@   r   r-   ÚNone)r-   Úbytes)r-   r   )r1   r2   r3   r4   r5   r6   r7   r=   rA   rD   rG   r8   r   r&   r"   r   r   ?   sp   † ØØ×Ñóó ó ðð
 	×Ñóó ðð
 	×Ñóó ðð
 	×Ñóó ór&   r   c                  ó   • \ rS rSrSrSrg)r   é`   z/
An interface for extendable output functions.
r   N)r1   r2   r3   r4   Ú__doc__r8   r   r&   r"   r   r   `   s   † ôr&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   éf   Úsha1é   é@   c                ó:   • [        U[        5      (       d  [        $ g©NT)Ú
isinstancer   ÚNotImplemented©r!   Úothers     r"   Ú__eq__ÚSHA1.__eq__k   s   € Ü˜%¤×&Ñ&Ü!Ð!àr&   r   N©rX   Úobjectr-   Úbool©	r1   r2   r3   r4   r#   r(   r+   rY   r8   r   r&   r"   r   r   f   s   † Ø€DØ€KØ€J÷r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   ér   z
sha512-224é   é€   c                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   ÚSHA512_224.__eq__w   ó   € Ü˜%¤×,Ñ,Ü!Ð!àr&   r   Nr[   r^   r   r&   r"   r   r   r   ó   † Ø€DØ€KØ€J÷r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   é~   z
sha512-256é    rb   c                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   ÚSHA512_256.__eq__ƒ   re   r&   r   Nr[   r^   r   r&   r"   r   r   ~   rf   r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   éŠ   Úsha224ra   rR   c                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   ÚSHA224.__eq__�   ó   € Ü˜%¤×(Ñ(Ü!Ð!àr&   r   Nr[   r^   r   r&   r"   r   r   Š   ó   † Ø€DØ€KØ€J÷r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   é–   Úsha256ri   rR   c                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   ÚSHA256.__eq__›   rq   r&   r   Nr[   r^   r   r&   r"   r   r   –   rr   r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   é¢   Úsha384é0   rb   c                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   ÚSHA384.__eq__§   rq   r&   r   Nr[   r^   r   r&   r"   r   r   ¢   ó   † Ø€DØ€KØ€J÷r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   é®   Úsha512rR   rb   c                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   ÚSHA512.__eq__³   rq   r&   r   Nr[   r^   r   r&   r"   r   r   ®   r~   r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)r   éº   zsha3-224ra   Nc                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   ÚSHA3_224.__eq__¿   ó   € Ü˜%¤×*Ñ*Ü!Ð!àr&   r   r[   r^   r   r&   r"   r   r   º   ó   † Ø€DØ€KØ€J÷r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)r	   éÆ   zsha3-256ri   Nc                ó:   • [        U[        5      (       d  [        $ grT   )rU   r	   rV   rW   s     r"   rY   ÚSHA3_256.__eq__Ë   rˆ   r&   r   r[   r^   r   r&   r"   r	   r	   Æ   r‰   r&   r	   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)r
   éÒ   zsha3-384r{   Nc                ó:   • [        U[        5      (       d  [        $ grT   )rU   r
   rV   rW   s     r"   rY   ÚSHA3_384.__eq__×   rˆ   r&   r   r[   r^   r   r&   r"   r
   r
   Ò   r‰   r&   r
   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)r   éÞ   zsha3-512rR   Nc                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   ÚSHA3_512.__eq__ã   rˆ   r&   r   r[   r^   r   r&   r"   r   r   Þ   r‰   r&   r   c                  óT   • \ rS rSrSrSrS	S jrS
S jr\SS j5       r	\
S 5       rSrg)r   éê   Úshake128Nc                ór   • [        U[        5      (       d  [        S5      eUS:  a  [        S5      eXl        g ©Nzdigest_size must be an integeré   z&digest_size must be a positive integer©rU   r0   Ú	TypeErrorÚ
ValueErrorÚ_digest_size©r!   r(   s     r"   Ú__init__ÚSHAKE128.__init__î   ó4   € Ü˜+¤s×+Ñ+ÜÐ<Ó=Ð=à˜‹?ÜÐEÓFÐFà'Õr&   c                ój   • [        U[        5      (       d  [        $ U R                  UR                  :H  $ ©N)rU   r   rV   rŸ   rW   s     r"   rY   ÚSHAKE128.__eq__÷   ó,   € Ü˜%¤×*Ñ*Ü!Ð!à× Ñ  E×$6Ñ$6Ñ6Ð6r&   c                ó   • U R                   $ r¥   ©rŸ   r    s    r"   r(   ÚSHAKE128.digest_sizeý   ó   € à× Ñ Ð r&   c                ó.   • U " [         R                  5      $ r¥   ©ÚsysÚmaxsize©Úclss    r"   ÚxofÚSHAKE128.xof  ó   € á”3—;‘;ÓÐr&   r©   ©r(   r0   r[   r/   ©r1   r2   r3   r4   r#   r+   r¡   rY   r5   r(   Úclassmethodr²   r8   r   r&   r"   r   r   ê   ó>   † Ø€DØ€Jô(ô7ð ó!ó ð!ð ñ ó ó r&   r   c                  óT   • \ rS rSrSrSrS	S jrS
S jr\SS j5       r	\
S 5       rSrg)r   i  Úshake256Nc                ór   • [        U[        5      (       d  [        S5      eUS:  a  [        S5      eXl        g rš   rœ   r    s     r"   r¡   ÚSHAKE256.__init__
  r£   r&   c                ój   • [        U[        5      (       d  [        $ U R                  UR                  :H  $ r¥   )rU   r   rV   rŸ   rW   s     r"   rY   ÚSHAKE256.__eq__  r§   r&   c                ó   • U R                   $ r¥   r©   r    s    r"   r(   ÚSHAKE256.digest_size  r«   r&   c                ó.   • U " [         R                  5      $ r¥   r­   r°   s    r"   r²   ÚSHAKE256.xof  r´   r&   r©   rµ   r[   r/   r¶   r   r&   r"   r   r     r¸   r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   i"  Úmd5é   rR   c                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   Ú
MD5.__eq__'  ó   € Ü˜%¤×%Ñ%Ü!Ð!àr&   r   Nr[   r^   r   r&   r"   r   r   "  ó   † Ø€DØ€KØ€J÷r&   r   c                  óL   • \ rS rSrSrSrSrSrSS jrSS jr	\
SS j5       rS	rg
)r   i.  Úblake2brR   r›   rb   c                ó2   • US:w  a  [        S5      eXl        g )NrR   zDigest size must be 64©rž   rŸ   r    s     r"   r¡   ÚBLAKE2b.__init__4  ó   € Ø˜"ÓÜÐ5Ó6Ð6à'Õr&   c                ój   • [        U[        5      (       d  [        $ U R                  UR                  :H  $ r¥   )rU   r   rV   rŸ   rW   s     r"   rY   ÚBLAKE2b.__eq__:  ó,   € Ü˜%¤×)Ñ)Ü!Ð!à× Ñ  E×$6Ñ$6Ñ6Ð6r&   c                ó   • U R                   $ r¥   r©   r    s    r"   r(   ÚBLAKE2b.digest_size@  r«   r&   r©   Nrµ   r[   r/   )r1   r2   r3   r4   r#   Ú_max_digest_sizeÚ_min_digest_sizer+   r¡   rY   r5   r(   r8   r   r&   r"   r   r   .  s6   † Ø€DØÐØÐØ€Jô(ô7ð ó!ó ó!r&   r   c                  óL   • \ rS rSrSrSrSrSrSS jrSS jr	\
SS j5       rS	rg
)r   iE  Úblake2srR   ri   r›   c                ó2   • US:w  a  [        S5      eXl        g )Nri   zDigest size must be 32rÍ   r    s     r"   r¡   ÚBLAKE2s.__init__K  rÏ   r&   c                ój   • [        U[        5      (       d  [        $ U R                  UR                  :H  $ r¥   )rU   r   rV   rŸ   rW   s     r"   rY   ÚBLAKE2s.__eq__Q  rÒ   r&   c                ó   • U R                   $ r¥   r©   r    s    r"   r(   ÚBLAKE2s.digest_sizeW  r«   r&   r©   Nrµ   r[   r/   )r1   r2   r3   r4   r#   r+   rÕ   rÖ   r¡   rY   r5   r(   r8   r   r&   r"   r   r   E  s6   † Ø€DØ€JØÐØÐô(ô7ð ó!ó ó!r&   r   c                  ó*   • \ rS rSrSrSrSrSS jrSrg)	r   i\  Úsm3ri   rR   c                ó:   • [        U[        5      (       d  [        $ grT   )rU   r   rV   rW   s     r"   rY   Ú
SM3.__eq__a  rÈ   r&   r   Nr[   r^   r   r&   r"   r   r   \  rÉ   r&   r   )#Ú
__future__r   r6   r®   Ú"cryptography.hazmat.bindings._rustr   Úrust_opensslÚcryptography.utilsr   Ú__all__ÚABCMetar   r   Úhashesr   Úregisterr   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r&   r"   Ú<module>rë      sQ  ðõ
 #ã 
Û 
å FÝ %ò€ô4˜cŸk™kò ô0˜CŸK™Kò ð6 ×Ñ×Ñ€Ø × Ñ �TÔ à
×
Ñ
×
%Ñ
%€ô¨¯©ò ô	ˆ=ô 	ô	�ô 	ô	�ô 	ô	ˆ]ô 	ô	ˆ]ô 	ô	ˆ]ô 	ô	ˆ]ô 	ô	ˆ}ô 	ô	ˆ}ô 	ô	ˆ}ô 	ô	ˆ}ô 	ô ˆ}Ð6ô  ô8 ˆ}Ð6ô  ô8	ˆ-ô 	ô!ˆmô !ô.!ˆmô !ô.	ˆ-õ 	r&   