�
L�g � � � d Z ddlmZmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
ddlmZ ddlmZmZ ddlmZ edd �
� � Z G d� d e
� � ZdS )
zV
This module provides :class:`.GitIgnoreSpec` which replicates
*.gitignore* behavior.
� )
�AnyStr�Callable�Iterable�Optional�Tuple�Type�TypeVar�Union�cast�overload� )�PathSpec)�Pattern)�GitWildMatchPattern� _DIR_MARK)�_is_iterable�Self�
GitIgnoreSpec)�boundc
�� � � e Zd ZdZdedef� fd�Zeede e
deee
egef f dee de
fd�� � � � Zee dde e
dee deee
egef d f de
fd
�� � � � Ze dde e
dee deee
egef d f de
f� fd�
� � Zedeeeef d
edeee ee f fd�� � Z� xZS )r zu
The :class:`GitIgnoreSpec` class extends :class:`pathspec.pathspec.PathSpec` to
replicate *.gitignore* behavior.
�other�returnc � �� t |t � � r!t � � � |� � S t |t � � rdS t
S )z�
Tests the equality of this gitignore-spec with *other* (:class:`GitIgnoreSpec`)
by comparing their :attr:`~pathspec.pattern.Pattern`
attributes. A non-:class:`GitIgnoreSpec` will not compare equal.
F)�
isinstancer �super�__eq__r �NotImplemented)�selfr � __class__s ��b/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/pathspec/gitignore.pyr zGitIgnoreSpec.__eq__) sJ �� � ��}�%�%� �
�'�'�.�.��
�
���%��"�"� �
�%�
�� �cls�pattern_factory�linesc � � d S �N� )r"