HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/mercurial/__pycache__/minifileset.cpython-310.pyc
o

�]Lb$�@sLddlmZddlmZddlmZmZmZmZdd�Z	dd�Z
d	d
�ZdS)�)�absolute_import�)�_)�error�fileset�filesetlang�pycompatcCst�|td��}t�|�S)Nssize requires an expression)r�	getstringrr�sizematcher)�x�expr�r
�7/usr/lib/python3/dist-packages/mercurial/minifileset.py�_sizeps
rcs��s	t�td����d}|dkrt�d�S|dvrpt��dhtd��}|�d�rK|d	d��t���D]}|d
vrDt�td�|��q5�fdd
�S|�d�rc|dd��t	�����fdd
�}|Stjtd�|td�d��|dvr�dd��dd�D���fdd
�S|dkr�t�d��t�d	����fdd
�S|dkr��fdd
�S|dkr�dd
�dd
��fdd
�d �}t�
�d�}||vr�||St�||����|d!kr�t�d��t�d	����fd"d
�S|d#kr�tjtd$�td%�d��t�
d&�f��)'Nsmissing argumentrs
withstatusr>�string�symbol�kindpatspathsinvalid file patterns**�s*{}[]?/\sreserved character: %scs
|���S�N)�endswith��n�s)�extr
r�<lambda>(s
z_compile.<locals>.<lambda>spath:�cs*|���ot|��kp|��d�dkS)Nr�/)�
startswith�lenr)�p�plr
rr,s
 sunsupported file pattern: %ss#paths must be prefixed with "path:")�hint>�or�patternscSsg|]}t|��qSr
��_compile)�.0rr
r
r�
<listcomp>5�z_compile.<locals>.<listcomp>cst��fdd��D��S)Nc3s�|]}|���VqdSrr
)r&�frr
r�	<genexpr>6s�z-_compile.<locals>.<lambda>.<locals>.<genexpr>)�anyr)�funcsrrr6ssandcs�||�o	�||�Srr
r��func1�func2r
rr:r(snotcst�d�||�S)Nrr$r��treer
rr<r(sfunccS�dS)NTr
rr
r
rr?�cSr2)NFr
rr
r
rr@r3cst�d�|�S)Nr)rrr0r
rrAs)sallsnonessizesminuscs�||�o
�||�Srr
rr-r
rrLsslists can't use a list in this contextssee 'hg help "filesets.x or y"'sillegal tree: %r)r�
ParseErrorrr%r�
getpatternrr�bytestrr�	getsymbol�UnknownIdentifier�keys�ProgrammingError)r1�op�name�cr)�symbolsr
)rr.r/r,rr r1rr%sj�
�

�
��r%cCs&t�|�}t�|�}t�|�}t|�S)a�generate a function (path, size) -> bool from filter specification.

    "text" could contain the operators defined by the fileset language for
    common logic operations, and parenthesis for grouping.  The supported path
    tests are '**.extname' for file extension test, and '"path:dir/subdir"'
    for prefix test.  The ``size()`` predicate is borrowed from filesets to test
    file size.  The predicates ``all()`` and ``none()`` are also supported.

    '(**.php & size(">10MB")) | **.zip | (path:bin & !path:bin/README)' for
    example, will catch all php files whose size is greater than 10 MB, all
    files whose name ends with ".zip", and all files under "bin" in the repo
    root except for "bin/README".
    )r�parse�analyze�optimizer%)�textr1r
r
r�compileUs


rCN)�
__future__r�i18nr�rrrrrr%rCr
r
r
r�<module>s<