Ë
    hKêj/  ã                   ór   — d 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y)zÕ
This module provides the simple backend for :class:`~pathspec.pathspec.PathSpec`.

WARNING: The *pathspec._backends.simple* package is not part of the public API.
Its contents and structure are likely to change.
é    )ÚSequence)ÚOptional)Ú_Backend)ÚPattern)Úoverride)Úcheck_match_fileé   )Úenumerate_patternsc            	       ór   — e Zd ZdZdddœdee   dee   dee   ddfd„Ze	d	e
deee   ee   f   fd
„«       Zy)ÚSimplePsBackendz’
	The :class:`SimplePsBackend` class is the default (or simple) implementation
	used by :class:`~pathspec.pathspec.PathSpec` for matching files.
	N)Ú	no_filterÚ
no_reverseÚpatternsr   r   Úreturnc                ó@   — | | _         	 t        || | ¬«      | _        y)a  
		Initialize the :class:`SimplePsBackend` instance.

		*patterns* (:class:`Sequence` of :class:`.Pattern`) contains the compiled
		patterns.

		*no_filter* (:class:`bool`) is whether to keep no-op patterns (:data:`True`),
		or remove them (:data:`False`).

		*no_reverse* (:class:`bool`) is whether to keep the pattern order
		(:data:`True`), or reverse the order (:data:`True`).
		)ÚfilterÚreverseN)Ú_is_reversedr
   Ú	_patterns)Úselfr   r   r   s       úg/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/pathspec/_backends/simple/pathspec.pyÚ__init__zSimplePsBackend.__init__    s2   € ð( !+˜N€$Ôðô /AØ˜	�M¨z¨>ô/€$„.ðó    Úfilec                 óD   — t        | j                  || j                  «      S )a  
		Check the file against the patterns.

		*file* (:class:`str`) is the normalized file path to check.

		Returns a :class:`tuple` containing whether to include *file* (:class:`bool`
		or :data:`None`), and the index of the last matched pattern (:class:`int` or
		:data:`None`).
		)r   r   r   )r   r   s     r   Ú
match_filezSimplePsBackend.match_fileA   s   € ô 
˜$Ÿ.™.¨$°×0AÑ0AÓ	BÐBr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Úboolr   r   ÚstrÚtupleÚintr   © r   r   r   r      s€   „ ñð #Ø#òà�WÑðð �d‰^ð	ð
 �t‰nðð óðB ð
C˜Cð 
C E¨(°4©.¸(À3¹-Ð*GÑ$Hò 
Có ñ
Cr   r   N)r    Úcollections.abcr   Útypingr   Úpathspec.backendr   Úpathspec.patternr   Úpathspec._typingr   Úpathspec.utilr   Ú_utilsr
   r   r%   r   r   ú<module>r-      s;   ðñõõõõ
õõõô2C�hõ 2Cr   