
    xnhM#                    2   U d dl mZ d dlmZmZ d dlmZmZmZ	m
ZmZmZ d dlmZmZmZmZ d dlmZmZmZmZmZ mZ! d dl"mZ#mZ$mZ%mZ&mZ'mZ( d dl)mZ*mZ+mZ,mZ- d dl.mZ/mZ0mZ1mZ2 d dl3mZ4mZ5mZ6mZ7mZ8mZ9 d dl:mZ;mZ<mZ=mZ>mZ?mZ@ d dlAmZBmZCmZDmZE d dlFmZGmZHmZImZJ d dlKmZLmZMmZNmZO g ZP eeBe	        eeEe        eeCe        eeDe       ePg dz  ZP eeLe	        eeOe        eeMe        eeNe       ePg dz  ZP eeGe	        eeJe        eeHe        eeIe       ePg dz  ZP ee*e        ee-e        ee+e        ee,e       ePg d	z  ZP ee/e        ee2e        ee0e        ee1e       ePg d
z  ZP eee	        eee        eee        eee       ePg dz  ZPdddZQdddZR	 d	 	 	 ddZS	 d	 	 	 ddZTdeQiZUdeVd<   deRiZWdeVd<   deSiZXdeVd<   deTiZYdeVd<    ee;eU        ee@eW        ee=eX        ee>eY       ePg dz  ZP ee4e	        ee9e        ee6e        ee7e       ePg dz  ZP ee#e	        ee(e        ee%e        ee&e       ePg dz  ZP eee	        ee!e        eee        eee       ePg dz  ZPy)    )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)r   editopsr   r   opcodesr   )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_similarityc                n    t         j                  }| | d   | d   k(  r|t         j                  z  }dd|dS Nr      l    optimal_scoreworst_scoreflagsr   RESULT_SIZE_T	SYMMETRICweightsr0   s     ^/var/www/html/profi_bot/bot/venv/lib/python3.12/site-packages/rapidfuzz/distance/metrics_py.py&_get_scorer_flags_levenshtein_distancer7      sF    $$E'!*
2%%%       c                n    t         j                  }| | d   | d   k(  r|t         j                  z  }dd|dS r+   r1   r4   s     r6   (_get_scorer_flags_levenshtein_similarityr:      sF    $$E'!*
2%%% # r8   c                n    t         j                  }| | d   | d   k(  r|t         j                  z  }dd|dS Nr   r,   r-   r   
RESULT_F64r3   r4   s     r6   1_get_scorer_flags_levenshtein_normalized_distancer?      @     !!E'!*
2%%%q5AAr8   c                n    t         j                  }| | d   | d   k(  r|t         j                  z  }dd|dS r<   r=   r4   s     r6   3_get_scorer_flags_levenshtein_normalized_similarityrB      r@   r8   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,   )r5   ztuple[int, int, int] | Nonereturnzdict[str, Any])Z
__future__r   typingr   r   rapidfuzz._utilsr   r   r   	dist_attrr	   norm_dist_attrr
   norm_sim_attrr   sim_attr(rapidfuzz.distance.DamerauLevenshtein_pyr   r&   r   r'   r   r(   r   r)   rapidfuzz.distance.Hamming_pyrZ   r   r^   r[   r\   r   r_   r]   rapidfuzz.distance.Indel_pyrT   rX   rU   rV   rY   rW   rapidfuzz.distance.Jaro_pyr   r   r    r!   !rapidfuzz.distance.JaroWinkler_pyr"   r#   r$   r%   rapidfuzz.distance.LCSseq_pyrN   rR   rO   rP   rS   rQ   !rapidfuzz.distance.Levenshtein_pyrH   rL   rI   rJ   rM   rK   rapidfuzz.distance.OSA_pyr   r   r   r   rapidfuzz.distance.Postfix_pyr   r   r   r   rapidfuzz.distance.Prefix_pyr   r   r   r   __all__r7   r:   r?   rB   rD   __annotations__rE   rF   rG    r8   r6   <module>ru      s   #               y )  * (. 9 *M :    ) , "H - +^ < -} =    !9 - #X . ,n = . >     / - 0 )> : +] ;    & 7 (- 8 1> B 3] C    -y 9 / : 8. I :M J   		 ,5B(BB ,5B(BB >C ?  @B >  IH D  KG C  %'< = ')= > 02L M 24M N    !9 - #X . ,n = . >     + !8 , *N ; ,m <    !9 - #X . ,n = . >   r8   