
    =Og                        	 d dl Z d dlZd dlZ e j        de j                  Z e j        d          Z e j        d          Zd Z	ej
        ej        ej        ej        ej        ej        dZ G d d          Zdad	 ZdS )
    Nz'(?i)^\s*([a-z_]\w*(?:\.[a-z_]\w*)*)(.*)z^\s*\((.*)\)\s*$z%^\s*(<=|>=|<|>|!=|==)\s*([^\s,]+)\s*$c                     	 t                               |           }|st          d| z            |                                \  }}|t          j                            |          fS )Nz"bad package restriction syntax: %r)re_splitComparisonmatch
ValueErrorgroups	distutilsversionStrictVersion)predrescompverStrs       3/usr/lib64/python3.11/distutils/versionpredicate.pysplitUpr      sf     
"
"4
(
(C F=DEEE::<<LD&)#11&99::    )<z<=z==>z>=z!=c                   "    e Zd Z	 d Zd Zd ZdS )VersionPredicatec                 .   	 |                                 }|st          d          t                              |          }|st          d|z            |                                \  | _        }|                                 }|rt                              |          }|st          d|z            |                                d         }d |                    d          D             | _        | j        st          d|z            d S g | _        d S )Nzempty package restrictionzbad package name in %rzexpected parenthesized list: %rr   c                 ,    g | ]}t          |          S  )r   ).0aPreds     r   
<listcomp>z-VersionPredicate.__init__.<locals>.<listcomp>t   s    DDDEDDDr   ,zempty parenthesized list in %r)	stripr   re_validPackager   r   namere_parensplitr   )selfversionPredicateStrr   parenstrs        r   __init__zVersionPredicate.__init__`   s*   	 27799" 	:8999%%&9:: 	M58KKLLL <<>>	5 
	NN5))E L !BU!JKKK,,..#CDDSYYs^^DDDDI9 8 !A#6"7 8 8 88 8 DIIIr   c                     | j         r4d | j         D             }| j        dz   d                    |          z   dz   S | j        S )Nc                 >    g | ]\  }}|d z   t          |          z   S ) )r%   )r   condvers      r   r   z,VersionPredicate.__str__.<locals>.<listcomp>}   s+    DDDYT34#:C(DDDr   z (z, ))r   r   join)r"   seqs     r   __str__zVersionPredicate.__str__{   sJ    9 	DD$)DDDC9t#diinn4s::9r   c                 T    	 | j         D ]\  }}t          |         ||          s dS dS )NFT)r   compmap)r"   r	   r*   r+   s       r   satisfied_byzVersionPredicate.satisfied_by   sE    	  	 	ID#4=#.. uutr   N)__name__
__module____qualname__r&   r/   r2   r   r   r   r   r      sG        >@  6      r   r   c                 r   	 t           t          j        dt          j                  a |                                 } t                               |           }|st          d| z            |                    d          pd }|rt          j	        
                    |          }|                    d          |fS )Nz=([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(?:\s*\(\s*([^)\s]+)\s*\))?$z"illegal provides specification: %r      )_provision_rxrecompileASCIIr   r   r   groupr   r	   r
   )valuemr+   s      r   split_provisionr@      s    	 
LH  KKMMEE""A G=EFFF
''!**
C
 3--c22771::s?r   )r:   distutils.versionr   operatorr;   r<   r   r    r   r   ltleeqgtgener1   r   r9   r@   r   r   r   <module>rI      s    				      "*GH  2:)**RZ HII 	; 	; 	; 8;hk8;hkC Ck k k k k k k k\     r   