o
    NDi	                     @   s~   d dl Z dd Zdd Zdd ZedZe d	 Zed	 Zd
e Zdd Z	dd Z
z	d dlmZ W dS  ey>   e
ZY dS w )    Nc                 C   sb   t | }|d }|d }|r#tdd|  | td| | | |fS t td| | | |fS )N   <qqb)lenstructunpack_fromtuple)datalnblockstail r   J/var/www/Datamplify/venv/lib/python3.10/site-packages/cassandra/murmur3.pybody_and_tail   s   *r   c                 C   s(   d| d }| |> | d| ? |@ B }|S )N      @   r   )xrmaskrotatedr   r   r   rotl64   s   r   c                 C   sD   | | d? d@ N } | d9 } | | d? d@ N } | d9 } | | d? d@ N } | S )N!   il   Z_?z l   Sl5gu& r   )kr   r   r   fmix   s   r   l    r   r   c                 C   s*   t |   kr
tksn | t t t } | S )N)	INT64_MIN	INT64_MAXINT64_OVF_OFFSETINT64_OVF_DIV)r   r   r   r   truncate_int64(   s   r    c                 C   s  d }}d}d}t | \}}}tdt|dD ]L}|| }	||d  }
|	|9 }	t|	d}	|	|9 }	||	N }t|d}||7 }|d d	 }|
|9 }
t|
d
}
|
|9 }
||
N }t|d}||7 }|d d }qd }	}
t|}|dkrt|d ddD ]}|
|| |d d > N }
qx|
|9 }
t|
d
}
|
|9 }
||
N }|rttd|d ddD ]}|	|| |d > N }	q|	|9 }	t|	d}	|	|9 }	||	N }||N }||N }||7 }||7 }t|}t|}||7 }t|S )Nr   l+,{]A l   N5g r   r            i)Rr   iZI8      )r   ranger   r   minr   r    )r
   h1h2c1c2bodyr   	total_lenik1k2len_tailr   r   r   _murmur3.   sZ   





r3   )murmur3)r   r   r   r   intr   r   r   r   r    r3   cassandra.cmurmur3r4   ImportErrorr   r   r   r   <module>   s    

A
