U
    ÿÌ-e½  ã                   @  s„   d dl mZ d dlmZ d dlmZmZ dddœdd„Zddddœd	d
„Zddddœdd„Zddddœdd„Z	ddddœdd„Z
dS )é    )Úannotations)Úarray)ÚHashableÚSequencezSequence[Hashable])ÚsÚreturnc                 C  s¼   t | tƒrdd„ | D ƒS t | tƒr&| S t | tƒrL| jdkrHdd„ | D ƒS | S | d krX| S g }| D ]V}t |tƒrŠt|ƒdkrŠ| t|ƒ¡ q`t |tƒr¨|dkr¨| d¡ q`| t	|ƒ¡ q`|S )Nc                 S  s   g | ]}t |ƒ‘qS © ©Úord©Ú.0Úxr   r   úU/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/rapidfuzz/_common_py.pyÚ
<listcomp>   s     z!conv_sequence.<locals>.<listcomp>Úuc                 S  s   g | ]}t |ƒ‘qS r   r	   r   r   r   r   r      s     é   éÿÿÿÿ)
Ú
isinstanceÚstrÚbytesr   ÚtypecodeÚlenÚappendr
   ÚintÚhash)r   ÚresÚelemr   r   r   Úconv_sequence
   s$    



r   )Ús1Ús2r   c                 C  sH   t | tƒrt |tƒr| |fS t | tƒr8t |tƒr8| |fS t| ƒt|ƒfS ©N)r   r   r   r   )r   r   r   r   r   Úconv_sequences&   s
    r!   r   c                 C  s0   d}t | |ƒD ]\}}||kr" q,|d7 }q|S ©Nr   r   )Úzip)r   r   Ú
prefix_lenÚch1Úch2r   r   r   Úcommon_prefix0   s    
r'   c                 C  s8   d}t t| ƒt|ƒƒD ]\}}||kr* q4|d7 }q|S r"   )r#   Úreversed)r   r   Ú
suffix_lenr%   r&   r   r   r   Úcommon_suffix;   s    
r*   z
(int, int)c                 C  s,   t | |ƒ}t| |d … ||d … ƒ}||fS r    )r'   r*   )r   r   r$   r)   r   r   r   Úcommon_affixF   s    
r+   N)Ú
__future__r   r   Útypingr   r   r   r!   r'   r*   r+   r   r   r   r   Ú<module>   s   
