U
    ÿÌ-ez)  ã                   @  sn  U d dl mZ d dlmZmZ d dlmZmZ d dlmZ	 d dlm
Z d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ  d dlmZ! d dl"mZ# d dl"mZ$ d d	l"mZ% d d
l"mZ& d dl"mZ' d dl"mZ( d dl)mZ* d d	l)mZ+ d d
l)mZ, d dl)mZ- d dl.mZ/ d d	l.mZ0 d d
l.mZ1 d dl.mZ2 d dl3mZ4 d dl3mZ5 d d	l3mZ6 d d
l3mZ7 d dl3mZ8 d dl3mZ9 d dl:mZ; d dl:mZ< d d	l:mZ= d d
l:mZ> d dl:mZ? d dl:mZ@ d dlAmZB d d	lAmZC d d
lAmZD d dlAmZE d dlFmZG d d	lFmZH d d
lFmZI d dlFmZJ d dlKmZL d d	lKmZM d d
lKmZN d dlKmZO g ZPeeBe	ƒ eeEeƒ eeCeƒ eeDeƒ ePddddg7 ZPeeLe	ƒ eeOeƒ eeMeƒ eeNeƒ ePddddg7 ZPeeGe	ƒ eeJeƒ eeHeƒ eeIeƒ ePddddg7 ZPee*eƒ ee-eƒ ee+eƒ ee,eƒ ePddddg7 ZPee/eƒ ee2eƒ ee0eƒ ee1eƒ ePddd d!g7 ZPeee	ƒ eeeƒ eeeƒ eeeƒ ePd"d#d$d%g7 ZPdQd'd(d)œd*d+„ZQdRd'd(d)œd,d-„ZRdSd'd(d)œd.d/„ZSdTd'd(d)œd0d1„ZTd2eQiZUd3eVd4< d2eRiZWd3eVd5< d2eSiZXd3eVd6< d2eTiZYd3eVd7< ee;eUƒ ee@eWƒ ee=eXƒ ee>eYƒ ePd8d9d:d;d<d=g7 ZPee4e	ƒ ee9eƒ ee6eƒ ee7eƒ ePd>d?d@dAdBdCg7 ZPee#e	ƒ ee(eƒ ee%eƒ ee&eƒ ePdDdEdFdGdHdIg7 ZPeee	ƒ ee!eƒ eeeƒ eeeƒ ePdJdKdLdMdNdOg7 ZPdPS )Ué    )Úannotations)ÚAnyÚCallable)Ú
ScorerFlagÚadd_scorer_attrs)Údefault_distance_attribute)Ú%default_normalized_distance_attribute)Ú'default_normalized_similarity_attribute)Údefault_similarity_attribute)Údistance)Únormalized_distance)Únormalized_similarity)Ú
similarity)Úeditops)ÚopcodesÚosa_distanceÚosa_normalized_distanceÚosa_normalized_similarityÚosa_similarityÚprefix_distanceÚprefix_normalized_distanceÚprefix_normalized_similarityÚprefix_similarityÚpostfix_distanceÚpostfix_normalized_distanceÚpostfix_normalized_similarityÚpostfix_similarityÚjaro_distanceÚjaro_normalized_distanceÚjaro_normalized_similarityÚjaro_similarityÚjaro_winkler_distanceÚ jaro_winkler_normalized_distanceÚ"jaro_winkler_normalized_similarityÚjaro_winkler_similarityÚdamerau_levenshtein_distanceÚ'damerau_levenshtein_normalized_distanceÚ)damerau_levenshtein_normalized_similarityÚdamerau_levenshtein_similarity©é   r*   r*   ztuple[int, int, int] | Nonezdict[str, Any])ÚweightsÚreturnc                 C  s4   t j}| d ks| d | d kr(|t jO }dd|dœS ©Nr   r*   l   ÿÿÿÿ ©Zoptimal_scoreZworst_scoreÚflags©r   Z
RESULT_I64Ú	SYMMETRIC©r+   r/   © r3   ú^/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/rapidfuzz/distance/metrics_py.pyÚ&_get_scorer_flags_levenshtein_distanceÆ   s    
ýr5   c                 C  s4   t j}| d ks| d | d kr(|t jO }dd|dœS r-   r0   r2   r3   r3   r4   Ú(_get_scorer_flags_levenshtein_similarityÒ   s    
ýr6   c                 C  s4   t j}| d ks| d | d kr(|t jO }dd|dœS ©Nr   r*   r.   ©r   Z
RESULT_F64r1   r2   r3   r3   r4   Ú1_get_scorer_flags_levenshtein_normalized_distanceÞ   s    
r9   c                 C  s4   t j}| d ks| d | d kr(|t jO }dd|dœS r7   r8   r2   r3   r3   r4   Ú3_get_scorer_flags_levenshtein_normalized_similarityè   s    
r:   Zget_scorer_flagsz(dict[str, Callable[..., dict[str, Any]]]Úlevenshtein_dist_attrÚlevenshtein_sim_attrÚlevenshtein_norm_dist_attrÚlevenshtein_norm_sim_attrÚlevenshtein_distanceÚlevenshtein_normalized_distanceÚ!levenshtein_normalized_similarityÚlevenshtein_similarityÚlevenshtein_editopsÚlevenshtein_opcodesÚlcs_seq_distanceÚlcs_seq_normalized_distanceÚlcs_seq_normalized_similarityÚlcs_seq_similarityÚlcs_seq_editopsÚlcs_seq_opcodesÚindel_distanceÚindel_normalized_distanceÚindel_normalized_similarityÚindel_similarityÚindel_editopsÚindel_opcodesÚhamming_distanceÚhamming_normalized_distanceÚhamming_normalized_similarityÚhamming_similarityÚhamming_editopsÚhamming_opcodesN)r)   )r)   )r)   )r)   )ZÚ
__future__r   Útypingr   r   Zrapidfuzz._utilsr   r   r   Z	dist_attrr   Znorm_dist_attrr	   Znorm_sim_attrr
   Zsim_attrZ(rapidfuzz.distance.DamerauLevenshtein_pyr   r%   r   r&   r   r'   r   r(   Zrapidfuzz.distance.Hamming_pyrQ   r   rU   rR   rS   r   rV   rT   Zrapidfuzz.distance.Indel_pyrK   rO   rL   rM   rP   rN   Zrapidfuzz.distance.Jaro_pyr   r   r   r    Z!rapidfuzz.distance.JaroWinkler_pyr!   r"   r#   r$   Zrapidfuzz.distance.LCSseq_pyrE   rI   rF   rG   rJ   rH   Z!rapidfuzz.distance.Levenshtein_pyr?   rC   r@   rA   rD   rB   Zrapidfuzz.distance.OSA_pyr   r   r   r   Zrapidfuzz.distance.Postfix_pyr   r   r   r   Zrapidfuzz.distance.Prefix_pyr   r   r   r   Ú__all__r5   r6   r9   r:   r;   Ú__annotations__r<   r=   r>   r3   r3   r3   r4   Ú<module>   sl   



ü



ü



ü



ü



ü



ü ÿ ÿ ÿ ÿ ÿ ÿ



ú




ú




ú




ú