
     hE                     P    d Z ddlmZ ddlmZ ddZddZddZd	 Zdd
Z	ddZ
dS )zText Utilities.    )SequenceMatcher)version_info_t c                 F    d                     fd| D                       S )z2Escape string for use within a regular expression.r   c              3   f   K   | ]+}|                                 s|v r|n|d k    rdnd|z   V  ,dS ) z\000\N)isalnum).0cwhites     L/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/kombu/utils/text.py	<genexpr>zescape_regex.<locals>.<genexpr>   sc         		 ?qEzz11$%KKTAX         )join)pr   s    `r   escape_regexr   
   sA     77         r   333333?c              #   r   K   |D ]1}t          d| |                                          }||k    r||fV  2dS )zLFuzzy match: iteratively.

    Yields:
        Tuple: of ratio and key.
    N)r   ratio)needlehaystack	min_ratiokeyr   s        r   fmatch_iterr      sZ         fc2288::I* r   c                 ~    	 t          t          | ||          d          d         d         S # t          $ r Y dS w xY w)z'Fuzzy match - Find best match (scalar).T)reverser      N)sortedr   
IndexError)r   r   r   s      r   fmatch_bestr!       sc    )44d
 
 

 	    s   +. 
<<c                 `   t          |                     d           }t          |j        t                    r't          |j        |j        gt          |dd          R  }|j	        sI|j
        rBd|j
        v r9t          t          |dd                   |j
                            d          z    }|S )z-Convert version string to version info tuple..   N-r      )_unpack_versionsplit
isinstancemicrostrr   majorminor_splitmicroserialreleaselevellist)svs     r   version_string_as_tupler4   +   s     	&A!'3 C17AGBk1QRR5.ABBB8 F F3!.+@+@D1Q3LL1>+?+?+D+DDEHr   c                 \    t          t          |           t          |          |||          S )N)r   int)r,   r-   r*   r0   r/   s        r   r'   r'   8   s$    #e**c%jj%vNNNr   c                     t          |           D ]\  }}|                                s nt          | pd          ||fS t          | d |                   | |d          |fS )Nr   )	enumerateisdigitr6   )r*   r0   r/   indexchars        r   r.   r.   =   su     '' 5 5t||~~ 	E	 5:Af44uVeV}uUVV}f44r   N)r   )r   )r   r   r   r   )r   r   )__doc__difflibr   kombur   r   r   r!   r4   r'   r.    r   r   <module>r@      s      $ # # # # #               
 
 
 
   
 
 
O O O O
5 5 5 5 5 5r   