
    9h
                     &    S SK r  " S S5      rS rg)    Nc                   (    \ rS rSrSr\S 5       rSrg)DefaultPartitioner   zDefault partitioner.

Hashes key to partition using murmur2 hashing (from java client)
If key is None, selects partition randomly from available,
or from all partitions if none are currently available
c                     Uc3  U(       a  [         R                  " U5      $ [         R                  " U5      $ [        U5      nUS-  nU[        U5      -  nX$   $ )a  
Get the partition corresponding to key
:param key: partitioning key
:param all_partitions: list of all partitions sorted by partition ID
:param available: list of available partitions in no particular order
:return: one of the values from all_partitions or available
i)randomchoicemurmur2len)clskeyall_partitions	availableidxs        YC:\Suresh\moveshuttle\MDcreated\moveengine\venv\Lib\site-packages\aiokafka/partitioner.py__call__DefaultPartitioner.__call__   sU     ;}}Y//==00clzs>""""     N)__name__
__module____qualname____firstlineno____doc__classmethodr   __static_attributes__r   r   r   r   r      s     # #r   r   c                 R   [        U 5      nSnSnSnX!-  nUS-  n[        U5       Ht  nUS-  nXS-      S-  XS-      S-  S-  -   XS	-      S-  S
-  -   XS-      S-  S-  -   n	U	S-  n	X-  n	U	S-  n	XS-  U-	  -  n	U	S-  n	X-  n	U	S-  n	XS-  nUS-  nXY-  nUS-  nMv     US-  n
U
S:  a  XPUS-  S	-      S-  S
-  -  nUS-  nU
S	:  a  XPUS-  S-      S-  S-  -  nUS-  nU
S:  a  XPUS-     S-  -  nUS-  nXS-  nUS-  nXUS-  S-	  -  nUS-  nXS-  nUS-  nXUS-  S-	  -  nUS-  nU$ )zPure-python Murmur2 implementation.

Based on java client, see org.apache.kafka.common.utils.Utils.murmur2

Args:
    data (bytes): opaque bytes

Returns: MurmurHash2 of data
l   2. i[   r   r                     l    l              )r
   range)datalengthseedmrhlength4ii4kextra_bytess              r   r	   r	   !   s    YFD 	A
A 	AkG7^Uq&\D !Vt#)+!Vt#*, !Vt#*, 	
 	
Z		Z	+o!##	Z		Z		Z		Z' , 1*Ka	FRK1$%,33	Za	FRK1$%,22	Za	&2+%%	Z		Zk/b	  AOAFAOAk/b	  AOAHr   )r   r   r	   r   r   r   <module>r3      s    # #:?r   