a
    hbòf%%  ã                	   @   sŽ  d dl mZmZmZ d dlZd dlZd dlZd dlZd dlm	Z	m
Z
mZmZ d dlmZmZmZmZ d dlmZ ddlmZ ddlmZ dd	lmZmZ erÐd d
lmZmZmZmZmZm Z m!Z! ee"e"ge#f Z$g d¢Z%G dd„ de&ƒZ'G dd„ de&ƒZ(G dd„ de&ƒZ)G dd„ de*ƒZ+G dd„ de+ƒZ,G dd„ de+ƒZ-G dd„ de+ƒZ.edƒedƒB edƒB edƒB edƒB edƒB ed ƒB ed!ƒB ed"ƒB ed#ƒB ed$ƒB ed%ƒB ed&ƒB ed'ƒB ed(ƒB ed)ƒB ed*ƒB ed+ƒB Z/d$d#dd ddd,œZ0e/ 1d-d.„ ¡ ed/ƒed0ƒB ed1ƒB ed2ƒB ed3ƒB ed4ƒB ed5ƒB ed6ƒB Z2e2ed7ƒB ed8ƒB Z3e3 1d9d.„ ¡ ed:ƒed;ƒB Z4e4 1d<d.„ ¡ ed=ƒed>ƒB Z5e/e4B Z6ee6e3 e6 ƒZ7e7 1d?d.„ ¡ ed@ƒ 8¡ Z9edAƒ 8¡ Z:eƒ Z;e7ee9e; e: ƒB Z<e;e<ee5e; ƒ >  ee; e Z=dBdC„ Z>dXdEdF„Z?dGd.„ dHd.„ ej@ejAejBejCejDejEdIœZFdJdK„ ZGG dLdM„ dMe*ƒZHeHƒ ZIdNdO„ ZJdPdQ„ ZKdRdS„ ZLdTdU„ ZMG dVdW„ dWe*ƒZNdS )Yé    )Úabsolute_importÚdivisionÚprint_functionN)ÚParseExceptionÚParseResultsÚstringStartÚ	stringEnd)Ú
ZeroOrMoreÚGroupÚForwardÚQuotedString)ÚLiteralé   )Ústring_types)ÚTYPE_CHECKING)Ú	SpecifierÚInvalidSpecifier)ÚAnyÚCallableÚDictÚListÚOptionalÚTupleÚUnion)ÚInvalidMarkerÚUndefinedComparisonÚUndefinedEnvironmentNameÚMarkerÚdefault_environmentc                   @   s   e Zd ZdZdS )r   zE
    An invalid marker was found, users should refer to PEP 508.
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r$   r$   úa/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.pyr   "   s   r   c                   @   s   e Zd ZdZdS )r   zP
    An invalid operation was attempted on a value that doesn't support it.
    Nr   r$   r$   r$   r%   r   (   s   r   c                   @   s   e Zd ZdZdS )r   z\
    A name was attempted to be used that does not exist inside of the
    environment.
    Nr   r$   r$   r$   r%   r   .   s   r   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚNodec                 C   s
   || _ d S ©N)Úvalue)Úselfr(   r$   r$   r%   Ú__init__6   s    zNode.__init__c                 C   s
   t | jƒS r'   )Ústrr(   ©r)   r$   r$   r%   Ú__str__:   s    zNode.__str__c                 C   s   d  | jjt| ƒ¡S )Nz<{0}({1!r})>)ÚformatÚ	__class__r    r+   r,   r$   r$   r%   Ú__repr__>   s    zNode.__repr__c                 C   s   t ‚d S r'   )ÚNotImplementedErrorr,   r$   r$   r%   Ú	serializeB   s    zNode.serializeN)r    r!   r"   r*   r-   r0   r2   r$   r$   r$   r%   r&   5   s   r&   c                   @   s   e Zd Zdd„ ZdS )ÚVariablec                 C   s   t | ƒS r'   ©r+   r,   r$   r$   r%   r2   H   s    zVariable.serializeN©r    r!   r"   r2   r$   r$   r$   r%   r3   G   s   r3   c                   @   s   e Zd Zdd„ ZdS )ÚValuec                 C   s
   d  | ¡S )Nz"{0}")r.   r,   r$   r$   r%   r2   N   s    zValue.serializeNr5   r$   r$   r$   r%   r6   M   s   r6   c                   @   s   e Zd Zdd„ ZdS )ÚOpc                 C   s   t | ƒS r'   r4   r,   r$   r$   r%   r2   T   s    zOp.serializeNr5   r$   r$   r$   r%   r7   S   s   r7   Úimplementation_versionÚplatform_python_implementationÚimplementation_nameÚpython_full_versionÚplatform_releaseÚplatform_versionÚplatform_machineÚplatform_systemÚpython_versionÚsys_platformÚos_nameúos.nameúsys.platformúplatform.versionúplatform.machineúplatform.python_implementationÚpython_implementationÚextra)rC   rD   rE   rF   rG   rH   c                 C   s   t t |d |d ¡ƒS ©Nr   )r3   ÚALIASESÚget©ÚsÚlÚtr$   r$   r%   Ú<lambda>u   ó    rQ   z===ú==ú>=ú<=ú!=z~=ú>ú<únot inÚinc                 C   s   t |d ƒS rJ   )r7   rM   r$   r$   r%   rQ   |   rR   ú'ú"c                 C   s   t |d ƒS rJ   )r6   rM   r$   r$   r%   rQ      rR   ÚandÚorc                 C   s   t |d ƒS rJ   )ÚtuplerM   r$   r$   r%   rQ   †   rR   ú(ú)c                 C   s    t | tƒrdd„ | D ƒS | S d S )Nc                 S   s   g | ]}t |ƒ‘qS r$   )Ú_coerce_parse_result)Ú.0Úir$   r$   r%   Ú
<listcomp>•   rR   z(_coerce_parse_result.<locals>.<listcomp>)Ú
isinstancer   )Úresultsr$   r$   r%   rb   ’   s    
rb   Tc                 C   s¨   t | tttfƒsJ ‚t | tƒrHt| ƒdkrHt | d ttfƒrHt| d ƒS t | tƒr‚dd„ | D ƒ}|rnd |¡S dd |¡ d S n"t | tƒr d dd	„ | D ƒ¡S | S d S )
Nr   r   c                 s   s   | ]}t |d d�V  qdS )F)ÚfirstN)Ú_format_marker©rc   Úmr$   r$   r%   Ú	<genexpr>«   rR   z!_format_marker.<locals>.<genexpr>ú r`   ra   c                 S   s   g | ]}|  ¡ ‘qS r$   )r2   rj   r$   r$   r%   re   ±   rR   z"_format_marker.<locals>.<listcomp>)rf   Úlistr_   r   Úlenri   Újoin)Úmarkerrh   Úinnerr$   r$   r%   ri   š   s     ÿ
þý


ri   c                 C   s   | |v S r'   r$   ©ÚlhsÚrhsr$   r$   r%   rQ   ·   rR   c                 C   s   | |vS r'   r$   rs   r$   r$   r%   rQ   ¸   rR   )rZ   rY   rX   rU   rS   rV   rT   rW   c                 C   sj   zt d | ¡ |g¡ƒ}W n ty,   Y n0 | | ¡S t | ¡ ¡}|d u r`td || |¡ƒ‚|| |ƒS )NÚ z#Undefined {0!r} on {1!r} and {2!r}.)	r   rp   r2   r   ÚcontainsÚ
_operatorsrL   r   r.   )rt   Úopru   ÚspecÚoperr$   r$   r%   Ú_eval_opÂ   s    
ÿr|   c                   @   s   e Zd ZdS )Ú	UndefinedN)r    r!   r"   r$   r$   r$   r%   r}   Ô   s   r}   c                 C   s(   |   |t¡}t|tƒr$td |¡ƒ‚|S )Nz/{0!r} does not exist in evaluation environment.)rL   Ú
_undefinedrf   r}   r   r.   )ÚenvironmentÚnamer(   r$   r$   r%   Ú_get_envÛ   s    
ÿr�   c           	      C   sÐ   g g}| D ]²}t |tttfƒs"J ‚t |tƒrB|d  t||ƒ¡ q
t |tƒrž|\}}}t |tƒrtt||jƒ}|j}n|j}t||jƒ}|d  t	|||ƒ¡ q
|dv sªJ ‚|dkr
| g ¡ q
t
dd„ |D ƒƒS )Néÿÿÿÿ)r]   r^   r^   c                 s   s   | ]}t |ƒV  qd S r'   )Úall)rc   Úitemr$   r$   r%   rl      rR   z$_evaluate_markers.<locals>.<genexpr>)rf   rn   r_   r   ÚappendÚ_evaluate_markersr3   r�   r(   r|   Úany)	Úmarkersr   Úgroupsrq   rt   ry   ru   Ú	lhs_valueÚ	rhs_valuer$   r$   r%   r†   ç   s"    



r†   c                 C   s2   d  | ¡}| j}|dkr.||d t| jƒ 7 }|S )Nz{0.major}.{0.minor}.{0.micro}Úfinalr   )r.   Úreleaselevelr+   Úserial)ÚinfoÚversionÚkindr$   r$   r%   Úformat_full_version  s
    
r’   c                  C   sr   t tdƒr ttjjƒ} tjj}nd} d}|| tjt ¡ t 	¡ t 
¡ t ¡ t ¡ t ¡ d t ¡ d d… ¡tjdœS )NÚimplementationÚ0rv   Ú.é   )r:   r8   rB   r>   r<   r?   r=   r;   r9   r@   rA   )ÚhasattrÚsysr’   r“   r�   r€   ÚosÚplatformÚmachineÚreleaseÚsystemr@   rH   rp   Úpython_version_tuple)Úiverr:   r$   r$   r%   r     s"    

õr   c                   @   s.   e Zd Zdd„ Zdd„ Zdd„ Zd
dd	„ZdS )r   c              
   C   sb   zt t |¡ƒ| _W nH ty\ } z0d |||j|jd … ¡}t|ƒ‚W Y d }~n
d }~0 0 d S )Nz+Invalid marker: {0!r}, parse error at {1!r}é   )rb   ÚMARKERÚparseStringÚ_markersr   r.   Úlocr   )r)   rq   ÚeZerr_strr$   r$   r%   r*   (  s    ÿzMarker.__init__c                 C   s
   t | jƒS r'   )ri   r£   r,   r$   r$   r%   r-   2  s    zMarker.__str__c                 C   s   d  t| ƒ¡S )Nz<Marker({0!r})>)r.   r+   r,   r$   r$   r%   r0   6  s    zMarker.__repr__Nc                 C   s$   t ƒ }|dur| |¡ t| j|ƒS )a$  Evaluate a marker.

        Return the boolean from evaluating the given marker against the
        environment. environment is an optional argument to override all or
        part of the determined environment.

        The environment is determined from the current Python process.
        N)r   Úupdater†   r£   )r)   r   Úcurrent_environmentr$   r$   r%   Úevaluate:  s    

zMarker.evaluate)N)r    r!   r"   r*   r-   r0   r¨   r$   r$   r$   r%   r   '  s   
r   )T)OÚ
__future__r   r   r   Úoperatorr™   rš   r˜   Zsetuptools.extern.pyparsingr   r   r   r   r	   r
   r   r   r   ÚLZ_compatr   Z_typingr   Ú
specifiersr   r   Útypingr   r   r   r   r   r   r   r+   ÚboolÚOperatorÚ__all__Ú
ValueErrorr   r   r   Úobjectr&   r3   r6   r7   ÚVARIABLErK   ÚsetParseActionÚVERSION_CMPÚ	MARKER_OPÚMARKER_VALUEÚBOOLOPÚ
MARKER_VARÚMARKER_ITEMÚsuppressÚLPARENÚRPARENÚMARKER_EXPRÚMARKER_ATOMr¡   rb   ri   ÚltÚleÚeqÚneÚgeÚgtrx   r|   r}   r~   r�   r†   r’   r   r   r$   r$   r$   r%   Ú<module>   sÈ   $	ÿþýüûúùø	÷
öõôóòñðïÿú>ÿ
ø	