o
    á%ƒhc	  ã                	   @   s¦   d dl Z d dlZd dlmZmZ dedefdd„Zdedefdd	„Zdedefd
d„Z	ddeeee f de	de	defdd„Z
	ddeeef de	defdd„ZdS )é    N)ÚPatternÚUnionÚpatternÚreturnc                 C   s¦   d}| j dkr	d}| j ttjƒ@ dkr|d7 }| j ttjƒ@ dkr%|d7 }| j ttjƒ@ dkr3|d7 }| j ttjƒttjƒB ttjƒB ttjƒB  @ dksQJ dƒ‚|S )NÚ r   ÚiÚsÚmzPUnexpected re.Pattern flag, only MULTILINE, IGNORECASE and DOTALL are supported.)ÚflagsÚintÚreÚ
IGNORECASEÚDOTALLÚ	MULTILINEÚUNICODE)r   r
   © r   úO/var/www/html/myenv/lib/python3.10/site-packages/playwright/_impl/_str_utils.pyÚescape_regex_flags   s"   
(ÿþýr   Útextc                 C   s   t  dd| ¡S )Nz[.*+?^>${}()|[\]\\]z\$&)r   Úsub©r   r   r   r   Úescape_for_regex&   s   r   c                 C   s(   dt  dd| j¡ dd¡ d t| ƒ S )Nú/z(^|[^\\])(\\\\)*(["\'`])z\1\2\\\3z>>z\>\>)r   r   r   Úreplacer   r   r   r   r   Úescape_regex_for_selector*   s   ÿÿüûÿr   ÚexactÚcase_sensitivec                 C   s*   t | tƒr	t| ƒS t | ¡|rd S d S )Nr   r   )Ú
isinstancer   r   ÚjsonÚdumps)r   r   r   r   r   r   Úescape_for_text_selector6   s   
r    Úvaluec                 C   s<   t | tƒr	t| ƒS d|  dd¡ dd¡ d |rd S d S )Nú"ú\z\\z\"r   r   )r   r   r   r   )r!   r   r   r   r   Úescape_for_attribute_selector>   s   
ÿþýÿýÿr$   )NN)N)r   r   Útypingr   r   Ústrr   r   r   Úboolr    r$   r   r   r   r   Ú<module>   s0   ÿÿÿÿ
þ	ÿ
ÿÿþ