+
     h  c                  s   R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
HtHt ]
'       d   ^ RIHtHtHt . R&OtR'R R lltR'R R	 lltR
 R lt]R R l4       t]R R l4       tR R ltR t]R R l4       t]R R l4       tR R lt]R R l4       t]R R l4       tR R lt]P2                  ! R4      t]P2                  ! R 4      tR! R" ltR# R$ ltR% tR# )(z
Filename globbing utility. Mostly a copy of `glob` from Python 3.5.

Changes include:
 * `yield from` and PEP3102 `*` removed.
 * Hidden files are not ignored.
)annotationsN)IterableIterator)TYPE_CHECKINGAnyStroverload)	BytesPathStrOrBytesPathStrPathc               $    V ^8  d   QhRRRRRR/# )   pathnamer   	recursiveboolreturnzlist[AnyStr] Zformat   "4/usr/lib/python3.14/site-packages/setuptools/glob.py__annotate__r      s!     6 66 6d 6| 6    c                s,    \        \        WR7      4      # )a]  Return a list of paths matching a pathname pattern.

The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns.

If recursive is true, the pattern '**' will match any files and
zero or more directories and subdirectories.
)r   )Zlistiglob)r   r      &&r   globr      s     h455r   c               r	   r
   r   r   r   r   r   zIterator[AnyStr]r   r   r   r   r   r   %   s"      F t 8H r   c                sx    \        W4      pV'       d'   \        V 4      '       d   \        V4      pV'       d   Q hV# )ap  Return an iterator which yields the paths matching a pathname pattern.

The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns.

If recursive is true, the pattern '**' will match any files and
zero or more directories and subdirectories.
)_iglob_isrecursiveZnext)r   r   Zitss   &&  r   r   r   %   s0     
	$B\(++HuIr   c               r	   r   r   r   r   r   r   r   7   s"     . .V . .1A .r   c              #  s  "   \         P                  P                  V 4      w  r#V'       d   \        V4      '       d   \        M\
        p\        V 4      '       g_   V'       d,   \         P                  P                  V 4      '       d   V x  R # \         P                  P                  V4      '       d   V x  R # V'       g   V! W#4       R j  xL
  R # W 8w  d   \        V4      '       d   \        W!4      pMV.p\        V4      '       g   \        pV F3  pV! W#4       F$  p\         P                  P                  W&4      x  K&  	  K5  	  R #  L~5iN)ospathZsplitr   glob2glob1	has_magiclexistsisdirr   glob0join)r   r   dirnamebasenameZglob_in_dirZdirsZnames   &&     r   r   r   7   s     h/G$h)?)?%UKXwwx((
 	 ww}}W%%w111 y11!'!;yX2D'',,w-- 3  	2s+   AE"$E*E2E EE
A?Ec               r	   )r
   r&   r   patternstrr   z	list[str]r   r   r   r   r   r   \   s     ; ;7 ;S ;Y ;r   c                    R # r   r   r&   r(   r   r   r    r    [   s    8;r   c               r	   )r
   r&   r   r(   bytesr   zlist[bytes]r   r   r   r   r   r   ^   s     A A9 Au A Ar   c                r*   r   r   r+   r   r   r    r    ]   s    >Ar   c               r	   )r
   r&   r   r(   str | bytesr   zlist[str] | list[bytes]r   r   r   r   r   r   _   s"     * *> *K *<S *r   c                s   V '       gG   \        V\        4      '       d!   \        P                  P	                  R 4      p M\        P                  p  \        P
                  ! V 4      p\        P                  ! Y!4      #   \         d    . u # i ; i)ASCII)	
isinstancer,   r   curdirencodelistdirOSErrorfnmatchZfilter)r&   r(   namess   && r   r    r    _   si    gu%%ii&&w/GiiG

7# >>%))  	s   A< <BBc                s    V'       g,   \         P                  P                  V 4      '       d   V.#  . # \         P                  P                  \         P                  P	                  W4      4      '       d   V.# . # r   )r   r   r#   r"   r%   )r&   r'   r   r   r$   r$   m   s]     77==!!: "
 I 77??277<<:;;:Ir   c               r	   )r
   r&   r   r(   r)   r   Iterator[str]r   r   r   r   r   r   ~   s     ? ?7 ?S ?] ?r   c                r*   r   r   r+   r   r   r   r   }   s    <?r   c               r	   )r
   r&   r   r(   r,   r   Iterator[bytes]r   r   r   r   r   r      s     E E9 Eu E Er   c                r*   r   r   r+   r   r   r   r      s    BEr   c               r	   )r
   r&   r   r(   r-   r   Iterator[str | bytes]r   r   r   r   r   r      s"     " "> "K "<Q "r   c              #  st   "   \        V4      '       g   Q hVR ,          x  \        V 4       Rj  xL
  R#  L5i):Ni    NN)r   	_rlistdirr+   r   r   r   r      s.         
"+!!!s   -868c                    V ^8  d   QhRRRR/# )r
   r&   r   r   r6   r   r   r   r   r   r      s     5 5w 5= 5r   c                r*   r   r   r&      &r   r9   r9      s    25r   c               r:   )r
   r&   r   r   r7   r   r   r   r   r   r      s     9 9y 9_ 9r   c                r*   r   r   r;   r<   r   r9   r9      s    69r   c               r:   )r
   r&   r   r   r8   r   r   r   r   r   r      s     % %~ %*? %r   c              #  s  "   V '       gG   \        V \        4      '       d!   \        P                  P	                  R 4      p M\        P                  p  \        P
                  ! V 4      pT Fc  pTx  T '       d    \        P                  P                  Y4      MTp\        T4       F$  p\        P                  P                  Y$4      x  K&  	  Ke  	  R#   \         d     R# i ; i5i)r.   N)
r/   r,   r   r0   r1   r2   r3   r   r%   r9   )r&   r5   Zxr   Zys   &    r   r9   r9      s     gu%%ii&&w/GiiG

7# +2rww||G'4A'',,q$$ !	   s+   AC%C (A+C%C"C%!C""C%z([*?[])s   ([*?[])c               r:   )r
   r   r-   r   r   r   r   r   r   r   r      s     1 1 1 1r   c                s    \        V \        4      '       d   \        P                  V 4      R J# \        P                  V 4      R J# r   )r/   r,   magic_check_bytesZsearchmagic_check)r   r<   r   r!   r!      s;    !U ''*$66!!!$D00r   c               r:   )r
   r(   r-   r   r   r   r   r   r   r   r      s      + $ r   c                sB    \        V \        4      '       d   V R 8H  # V R8H  # )s   **z**)r/   r,   )r(   r<   r   r   r      s$    '5!!%$r   c                s    \         P                  P                  V 4      w  r\        V \        4      '       d   \
        P                  RV 4      p W,           # \        P                  RV 4      p W,           # )zEscape all special characters.s   [\1]z[\1])r   r   Z
splitdriver/   r,   r=   Zsubr>   )r   Zdrives   & r   escaper?      s_     gg((2OE(E""$((8<  ??7H5r   )r   r   r?   )F)Z__doc__Z
__future__r    r4   r   ZreZcollections.abcr   r   Ztypingr   r   r   Z	_typeshedr   r   r   Z__all__r   r   r   r    r$   r   r9   Zcompiler>   r=   r!   r   r?   r   r   r   <module>r@      s    #  	 	 . 2 2<<
%6$.H 
 ; 
 ;	 A 
 A*	  
 ? 
 ?	 E 
 E" 
 5 
 5	 9 
 9%$ jj#JJz* 1	r   