o
    ÓèFh  ã                   @   sH   d dl Z d dlZd dlmZ dd„ Zdd„ ZG dd„ deƒZg d	¢ZdS )
é    N)ÚCommonChecksumc                 C   s   t ƒ }| |_| |¡ |jS )aY  Update an existing CRC checksum with new chunk of data.

    Args
        crc (int): An existing CRC check sum.
        chunk (Union[bytes, List[int], Tuple[int]]): A new chunk of data.
            Intended to be a byte string or similar.

    Returns
        int: New CRC checksum computed by extending existing CRC
        with ``chunk``.
    )ÚChecksumÚ_crcÚupdate)ÚcrcÚchunkÚc© r	   úM/var/www/html/loop/nvenv/lib/python3.10/site-packages/google_crc32c/python.pyÚextend   s   
r   c                 C   s   t ƒ }| | ¡ |jS )züCompute a CRC checksum for a chunk of data.

    Args
        chunk (Union[bytes, List[int], Tuple[int]]): A new chunk of data.
            Intended to be a byte string or similar.

    Returns
        int: New CRC checksum computed for ``chunk``.
    )r   r   r   )r   r   r	   r	   r
   Úvalue'   s   

r   c                   @   s"   e Zd ZdZddd„Zdd„ ZdS )	r   zÈHashlib-alike helper for CRC32C operations.

    Args:
        initial_value (Optional[bytes]): the initial chunk of data from
            which the CRC32C checksum is computed.  Defaults to b''.
    ó    c                 C   s    d| _ |dkr|  |¡ d S d S )Nr   r   )r   r   )ÚselfÚinitial_valuer	   r	   r
   Ú__init__>   s   ÿzChecksum.__init__c                 C   sv   t |ƒtjks|jdkrt d|¡}n|}| jdA | _|D ]}t|| jA d@  }|| jd? d@ A | _q| jdA | _dS )z®Update the checksum with a new chunk of data.

        Args:
            chunk (Optional[bytes]): a chunk of data used to extend
                the CRC32C checksum.
        é   ÚBl   ÿÿ éÿ   é   N)ÚtypeÚarrayÚitemsizer   Ú_TABLE)r   ÚdataÚbufferÚbÚ
table_polyr	   r	   r
   r   C   s   zChecksum.updateN)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r	   r	   r	   r
   r   6   s    
r   (   r   l   ×d l   ÷pvB iôóPl   5 iñ5ièç¡&l   ëd”) l   ÏX² iÌÛ²xi8(âkl   ;+3 iÐÏCMl   ÓLP~ l   '?ñX i$<^ioÇ^l   lDjD l   ˜7Ëb i›4l   pPˆ/ isÓ¯%i‡ ÿ6l   „#)	 l    5 i£ìhiWï¼{l   Tl® i¿]l   ¼í^ l   HxLx iKûMNiÞŽ½ l   Ý¬% l   )~ i*}í3l   ÁNN iÂšLi6il   5jïh l   VÉT iUXiæ¦_Kl   å%hr iAþml   B+? l   ù1Š iú²®~i±Iã0l   ²J l   F9°# iEº³#l   ®^ón i­]iY®Bl   Z-RH l   ~tt i}’QHi‰a[l   ŠbÕR ia† }l   b– l   –v79 i•uðni¼{Al   ¿!f l   Km€@ iHî+Rl   £
Ã i 	ŠtiTúÚgl   Wyb+ l   sED ipÆÉ9i„5™*l   ‡6å1 ilÒ8l   oQ¦| l   ›"Z i˜!hiÓÚ%Ql   ÐYœF l   $*=` i')uBl   ÌM~- iÏÎÔdi;=„wl   8>ß l   ù7 i—)iëòÇ:l   èqX ifl    \ l   ôeºz i÷æ6ib“Æal   aZ' l   •cû i–`–rl   }¸L i~‡7TiŠtgGl   ‰wj l   ­K?V i®HtiZ»$
l   Y8žp i²\…,l   ±_Ý= l   E,| iF¯Õ?iT˜ql   Wç l   ú$F! iù§Èbl   Cl i@iDiå³9Wl   æ0¤J l   Â‚v iÁ�*	i5|zl   6#P iÝ›Û<l   Þ` l   *kÁ; i)h‹/l   x;ì i{¸�pi�KÍcl   ŒHM# ig¬lEl   d/n l   �\¯H i“_<Vi·c/l   ´`‰t l   @(R iC�l   ¨tk i«wÞ=i_„Ž.l   \Ê9 l   |Q% iÃ`iàŒ“sl   ãð ik2Ul   h³N l   ÿh iü˜bFiØ¤ql   Û'4T l   /T•r i,W!l   Ç3Ö? iÄ°€-i0CÐ>l   3@w l   ¦5—D i¥6 PiQÅpCl   RF6b i¹"Ñel   º!u/ l   NRÔ	 iMÑ�viií’(l   jnò5 l   žS i�Â;l   vz^ iuùci�
3l   ‚	±x l   Ér*d iÊñ~@i>.Sl   =‹B iÖå�ul   ÕfÈ l   !i) i"ßfi*Ì8l   )O l   ñZî3 iòÙœ+l   =­~ i>=iîÍml   íNX l   Ä& iÇ¥æ1i3V¶"l   0U»! iÛ±l   Ø2øl l   ,AYJ i/BGi~TIl   }v l   üÞP iÿ�Zl   i� ij¥|iã™õol   à<; l   «a§' i¨b¸!i\‘è2l   _ i´vIl   ·uEL l   Cäj i@…id¹
Yl   g:ÂV l   “Icp i�JZJl   {. = ix­ûliŒ^«l   �]� l   (aF i+[iíØl   î[À` i?ª$l   <ƒ- l   òO" iñÌú7iÕðéil   Ös7 l   " ¥ i!¹zl   Êgæ\ iÉä\i=HOl   >Gz l   uoÜf ivìi‚Ul   �}@ ijøô4l   i{> l   �Ÿ+ iž¤'iº7·yl   ¹4¹ l   MG1 iNÄçjl   ¥ [| i¦#FLiRÐ_l   QSúZ )r   ÚstructÚgoogle_crc32c._checksumr   r   r   r   r   r	   r	   r	   r
   Ú<module>   s    