ruạṛ
a �u:j� � @ s� d Z ddlmZ ddlZddlZddlZddlmZmZ ddl m Z mZmZ e rdddl mZmZmZ g d�Zd:d d dd�d d�Zd;d d dd�dd�Zd d dd�dd�Zedddd�dd��Zedddd�dd��Zddd d�d!d�Zd"d#� Zeddd$d�d%d&��Zeddd'd�d(d&��Zddd)d�d*d&�Zedd$d+�d,d-��Zedd'd+�d.d-��Zdd)d+�d/d-�Ze�d0�Ze�d1�Zdd d2�d3d4�Zdd d5�d6d7�Zd8d9� ZdS )<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�StrPath)�glob�iglob�escapeFr �boolzlist[AnyStr])�pathname� recursive�returnc C s t t| |d��S )ay 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 )�listr )r r � r �B/opt/bart/bart_venv/lib/python3.9/site-packages/setuptools/glob.pyr s r zIterator[AnyStr]c C s* t | |�}|r&t| �r&t|�}|r&J �|S )a� 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�_isrecursive�next)r r �it�sr r r r % s r c c s� t j�| �\}}|r t|�r tnt}t| �sZ|rDt j�| �rV| V nt j�|�rV| V d S |sr|||�E d H d S || kr�t|�r�t ||�}n|g}t|�s�t }|D ]$}|||�D ]}t j�||�V q�q�d S �N)�os�path�splitr �glob2�glob1� has_magic�lexists�isdirr �glob0�join)r r �dirname�basename�glob_in_dir�dirs�namer r r r 7 s( r r �strz list[str])r% �patternr c C s d S r r �r% r+ r r r r [ s r r �byteszlist[bytes]c C s d S r r r, r r r r ] s r zstr | byteszlist[str] | list[bytes]c C sT | s"t |t�rtj�d�} ntj} zt�| �}W n tyF g Y S 0 t�||�S �N�ASCII) � isinstancer- r �curdir�encode�listdir�OSError�fnmatch�filter)r% r+ �namesr r r r _ s c C s8 |st j�| �r4|gS nt j�t j�| |��r4|gS g S r )r r r"