+
    i                        ^ RI Ht ^ RIHtHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt R R	 ltR
tR R ltRR R lltR R ltR# )    )annotations)contextnodes)register_module_extender)_extract_single_nodeparse)
PY311_PLUS)inference_tip)AstroidManagerc                   V ^8  d   QhRR/# )   returnznodes.Module )formats   "8/usr/lib/python3/dist-packages/astroid/brain/brain_re.py__annotate__r      s     	 	| 	    c                 B    \         '       d   R p MRp \        RV  R24      # )z import re._compiler as _compilerzimport sre_compile as _compilerz
    a  
    NOFLAG = 0
    ASCII = _compiler.SRE_FLAG_ASCII
    IGNORECASE = _compiler.SRE_FLAG_IGNORECASE
    LOCALE = _compiler.SRE_FLAG_LOCALE
    UNICODE = _compiler.SRE_FLAG_UNICODE
    MULTILINE = _compiler.SRE_FLAG_MULTILINE
    DOTALL = _compiler.SRE_FLAG_DOTALL
    VERBOSE = _compiler.SRE_FLAG_VERBOSE
    TEMPLATE = _compiler.SRE_FLAG_TEMPLATE
    DEBUG = _compiler.SRE_FLAG_DEBUG
    A = ASCII
    I = IGNORECASE
    L = LOCALE
    U = UNICODE
    M = MULTILINE
    S = DOTALL
    X = VERBOSE
    T = TEMPLATE
    )r	   r   )import_compilers    r   _re_transformr      s5     z<;   	 	r   z?
@classmethod
def __class_getitem__(cls, item):
    return cls
c                    V ^8  d   QhRRRR/# )r   node
nodes.Callr   boolr   )r   s   "r   r   r   5   s      z d r   c                b   V P                  4       P                  R8H  ;'       Ed    \        V P                  \        P
                  4      ;'       d    V P                  P                  R8H  ;'       d    \        V P                  \        P                  4      ;'       d    \        V P                  P                  4      ^8H  ;'       dh    \        V P                  P                  ^ ,          \        P                  4      ;'       d+    V P                  P                  ^ ,          P                  R9   # )zCheck for re.Pattern or re.Match call in stdlib.

Match these patterns from stdlib/re.py
```py
Pattern = type(...)
Match = type(...)
```
retype>   MatchPattern)rootname
isinstancefuncr   NameparentAssignlentargets
AssignName)r   s   &r   _looks_like_pattern_or_matchr*   5   s     			D  	@ 	@tyy%**-	@ 	@IINNf$	@ 	@ t{{ELL1	@ 	@ ##$)		@ 	@
 t{{**1-u/?/?@	@ 	@ KK"''+??r   Nc                    V ^8  d   QhRRRR/# )r   r   r   ctxzcontext.InferenceContext | Noner   )r   s   "r   r   r   I   s      j /N r   c           	     >   \         P                  ! V P                  P                  ^ ,          P                  V P
                  V P                  V P                  V P                  V P                  R7      p\        \        4      pV.VP                  R&   \        V.4      # )zNInfer re.Pattern and re.Match as classes.

For PY39+ add `__class_getitem__`.
)r!   lineno
col_offsetr%   
end_linenoend_col_offset__class_getitem__)r   ClassDefr%   r(   r!   r.   r/   r0   r1   r   CLASS_GETITEM_TEMPLATElocalsiter)r   r,   	class_deffunc_to_adds   &&  r   infer_pattern_matchr9   I   s|    
 [[  #(({{??{{??**I ''=>K-8MI()r   c                    V ^8  d   QhRRRR/# )r   managerr   r   Noner   )r   s   "r   r   r   [   s      n  r   c                    \        V R \        4       V P                  \        P                  \        \        4      \        4       R# )r   N)r   r   register_transformr   Callr
   r9   r*   )r;   s   &r   registerr@   [   s.    WdM:

M"568Tr   )N)
__future__r   astroidr   r   astroid.brain.helpersr   astroid.builderr   r   astroid.constr	   astroid.inference_tipr
   astroid.managerr   r   r4   r*   r9   r@   r   r   r   <module>rH      s8   
 # " : 7 $ / *	> ($r   