
     hT	                           G d  d          Z dS )c                   (    e Zd ZdZi fdZd Zd ZdS )VaryingStringz;Represents a string with varying character representations.c                    || _         d| _        d| _        g | _        | j         D ]}||v rm| j                            ||                    d ||         D             }| xj        t          |          z  c_        | xj        t          |          z  c_        s| j                            |f           | xj        dz  c_        | xj        dz  c_        dS )z
        Args:
            string (str): String to generate variants of.
            char_mappings (dict): Maps characters to substitute characters.
            c                 ,    g | ]}t          |          S  )len).0cs     [/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/better_profanity/varying_string.py
<listcomp>z*VaryingString.__init__.<locals>.<listcomp>   s    7771A777       N)	_original_min_len_max_len_char_combosappendminmax)selfstringchar_mapcharlenss        r   __init__zVaryingString.__init__   s      
  N 		# 		#Dx!(($88877777T*T*!(($111""		# 		#r   c                     | j         S )N)r   )r   s    r   __str__zVaryingString.__str__"   s
    ~r   c                    | |u rdS |j         t          k    rt          |j         t          k    rt	          |          }|| j        k     s|| j        k    rdS |g}| j        D ]w}g }|D ]X}|s|                    |           t	          |          }|D ]-}|d |         |k    r|	                    ||d                     .Yt	          |          dk    r dS |}x|D ]}t	          |          dk    r dS dS dS )NTFr   )
	__class__r   NotImplementedErrorstrr   r   r   r   extendr   )	r   other	len_othersliceschars
new_slicesr   len_charsls	            r   __eq__zVaryingString.__eq__%   sH   5==4_--%%_##E

I4=((I,E,Eu WF* $ $
! = =D 2"))&111"4yyH$ = =ixi=D00&--bm<<<= z??a'' 55#    r77a<<44  55r   N)__name__
__module____qualname____doc__r   r   r*   r   r   r   r   r      sO        EE(* # # # #6      r   r   N)r   r   r   r   <module>r/      s7   ? ? ? ? ? ? ? ? ? ?r   