3 \ �@s~ddlZddlZddlZejdej�Zejd�Zejd�Zdd�Z ej ej ej ej ejejd�ZGdd �d �Zdad d �ZdS) �Nz'(?i)^\s*([a-z_]\w*(?:\.[a-z_]\w*)*)(.*)z^\s*\((.*)\)\s*$z%^\s*(<=|>=|<|>|!=|==)\s*([^\s,]+)\s*$cCs6tj|�}|std|��|j�\}}|tjj|�fS)Nz"bad package restriction syntax: %r)�re_splitComparison�match� ValueError�groups� distutils�version� StrictVersion)�pred�res�compZverStr�r �2/usr/lib64/python3.6/distutils/versionpredicate.py�splitUps    r)�z>=z!=c@s$eZdZdd�Zdd�Zdd�ZdS)�VersionPredicatecCs�|j�}|std��tj|�}|s.td|��|j�\|_}|j�}|r�tj|�}|sbtd|��|j�d}dd�|jd�D�|_|js�td|��ng|_dS) Nzempty package restrictionzbad package name in %rzexpected parenthesized list: %rrcSsg|] }t|��qSr )r)�.0ZaPredr r r � tsz-VersionPredicate.__init__..�,zempty parenthesized list in %r) �stripr�re_validPackagerr�name�re_paren�splitr )�selfZversionPredicateStrrZparen�strr r r �__init__`s$      zVersionPredicate.__init__cCs8|jr.dd�|jD�}|jddj|�dS|jSdS)NcSs g|]\}}|dt|��qS)� )r)r�cond�verr r r r}sz,VersionPredicate.__str__..z (z, �))r r�join)r�seqr r r �__str__{szVersionPredicate.__str__cCs*x$|jD]\}}t|||�sdSqWdS)NFT)r �compmap)rrrrr r r � satisfied_by�szVersionPredicate.satisfied_byN)�__name__� __module__� __qualname__rr#r%r r r r rsArcCsdtdkrtjdtj�a|j�}tj|�}|s8td|��|jd�pDd}|rVtj j |�}|jd�|fS)Nz=([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(?:\s*\(\s*([^)\s]+)\s*\))?$z"illegal provides specification: %r��) � _provision_rx�re�compile�ASCIIrrr�grouprrr)�value�mrr r r �split_provision�s    r2)r,Zdistutils.versionr�operatorr-r.rrrr�lt�le�eq�gt�ge�ner$rr+r2r r r r �s   n