
    wi9                        d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d d	lmZ  G d
 de          Z G d de          Z G d de          Z G d de          ZddZddZdS )     )annotations)	Generator)Iterable)
NamedTuple)Protocol)MappingNode)Node)
ScalarNode)SequenceNodec                      e Zd ZddZdS )_Matchernr	   returnGenerator[Node]c                    d S N selfr   s     g/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/pre_commit/yaml_rewrite.pymatchz_Matcher.match   s          Nr   r	   r   r   __name__
__module____qualname__r   r   r   r   r   r      s        444444r   r   c                  "    e Zd ZU ded<   d	dZdS )

MappingKeystrkr   r	   r   r   c              #  z   K   t          |t                    r!|j        D ]\  }}|j        | j        k    r|V  d S d S r   
isinstancer   valuer!   )r   r   r!   _s       r   r   zMappingKey.match   Z      a%% 	  17df$$GGG	 	 r   Nr   r   r   r   __annotations__r   r   r   r   r   r      3         
FFF     r   r   c                  "    e Zd ZU ded<   d	dZdS )
MappingValuer    r!   r   r	   r   r   c              #  z   K   t          |t                    r!|j        D ]\  }}|j        | j        k    r|V  d S d S r   r#   )r   r   r!   vs       r   r   zMappingValue.match   r'   r   Nr   r(   r   r   r   r,   r,      r*   r   r,   c                      e Zd ZddZdS )SequenceItemr   r	   r   r   c              #  R   K   t          |t                    r|j        E d {V  d S d S r   )r$   r   r%   r   s     r   r   zSequenceItem.match'   sB      a&& 	w	 	r   Nr   r   r   r   r   r0   r0   &   s(             r   r0   genIterable[Node]mr   c                     fd| D             S )Nc              3  L   K   | ]}                     |          D ]}|V  d S r   )r   ).0srcr   r4   s      r   	<genexpr>z_match.<locals>.<genexpr>-   s:      33#aggcll33A3333333r   r   )r2   r4   s    `r   _matchr:   ,   s    33333333r   r   r	   matchertuple[_Matcher, ...]Generator[ScalarNode]c                J    | f}|D ]}t          ||          }d |D             S )Nc              3  D   K   | ]}t          |t                    |V  d S r   )r$   r
   )r7   r   s     r   r9   zmatch.<locals>.<genexpr>4   s1      88!jJ778A888888r   )r:   )r   r;   r2   r4   s       r   r   r   0   s;    $C  S!nn88s8888r   N)r2   r3   r4   r   r   r3   )r   r	   r;   r<   r   r=   )
__future__r   collections.abcr   r   typingr   r   
yaml.nodesr   r	   r
   r   r   r   r,   r0   r:   r   r   r   r   <module>rD      s   " " " " " " % % % % % % $ $ $ $ $ $             " " " " " "       ! ! ! ! ! ! # # # # # #5 5 5 5 5x 5 5 5           :       :   4 4 4 49 9 9 9 9 9r   