�
L�gO1 � �� � d Z ddlZddlZddlmZmZmZ ddlmZ ddl m
Z
dZ dZ G d � d
e
� � Z G d� de
� � Z ej d
e� � G d� de� � Z ej de� � dS )z�
This module implements Git's wildmatch pattern matching which itself is derived
from Rsync's wildmatch. Git uses wildmatch for its ".gitignore" files.
� N)�AnyStr�Optional�Tuple� )�util)�RegexPattern�latin1�ps_dc � � e Zd ZdZdS )�GitWildMatchPatternErrorzW
The :class:`GitWildMatchPatternError` indicates an invalid git wild match
pattern.
N)�__name__�
__module__�__qualname__�__doc__� � �n/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/pathspec/patterns/gitwildmatch.pyr r s � � � � � �� � �r r c � � e Zd ZdZdZededeee ee f fd�� � Z
ededefd�� � Z
ededefd�� � Zd S )
�GitWildMatchPatternzX
The :class:`GitWildMatchPattern` class represents a compiled Git wildmatch
pattern.
r �pattern�returnc �X � t |t � � rt }nJt |t � � r"t }|� t � � }nt d|�d�� � �|}|� d� � r|� � � }n|� � � }|� d� � rd}d}�n@|dk rd}d}�n4|�r-|� d� � r
d}|d d� }nd
}d}|�
d� � }|d }t t |� � d z
dd� � D ]$} || d z
}
|| }|
d
k r |d
k r|| = �%t |� � dk r|d d
k r|d sdt � d�}|d s|d= nRt |� � d k st |� � dk r+|d s#|d d
k r|� dd
� � n |st d|��� � �|d st |� � d k rd
|d<