�
��^i} � �� � d Z ddlZddlZddlZddlZddlmZ ddlmZm Z ddl
mZ dgZ
ej d� � Zd � Zd
� Z G d� de� � Zd
� Z e� � Z[ e� � Zdd�ZdS )zG
Parser for the environment markers micro-language defined in PEP 508.
� N� )�string_types)�in_venv�parse_marker)�NormalizedVersion� interpretz<((\d+(\.\d+)*\w*)|\'(\d+(\.\d+)*\w*)\'|\"(\d+(\.\d+)*\w*)\")c �H � t | t � � r| sdS | d dv S )NFr �'")�
isinstancer )�os ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/distlib/markers.py�_is_literalr s. � ��a��&�&� �a� ��u��Q�4�5�=�� c �� � g }t � | � � D ]<}|� t |� � � d � � � � �=t |� � S )Nr )�_VERSION_PATTERN�finditer�append�NV�groups�set)�s�result�ms r
�
_get_versionsr ! sY � �
�F�
�
&�
&�q�
)�
)� )� )���
�
�b������A��'�'�(�(�(�(��v�;�;�r c
�N � e Zd ZdZd� d� d� d� d� d� d� d � d
� d� d� d
� d�Zd� ZdS )� Evaluatorz;
This class is used to evaluate marker expessions.
c � � | |k S �N� ��x�ys r
�