_i bUddlZddlZddlZddlZddlmZmZmZmZm Z m Z m Z ddl m Z mZmZmZmZmZddlmZddlmZmZddlmZgdZeeegefZGd d eZ Gd d eZ!Gd deZ"dedefdZ# d*de eee efde edefdZ$ddejJejLejNejPejRejTdZ+eeefe,d<dedededefdZ-dedede edffd Z.d!ed"eeefdefd#Z/d$d%defd&Z0deeeffd'Z1Gd(d)Z2y)+N)AnyCallableDictListOptionalTupleUnion) MarkerAtom MarkerListOpValueVariable parse_marker)ParserSyntaxError)InvalidSpecifier Specifiercanonicalize_name) InvalidMarkerUndefinedComparisonUndefinedEnvironmentNameMarkerdefault_environmentceZdZdZy)rzE An invalid marker was found, users should refer to PEP 508. N__name__ __module__ __qualname____doc__/builddir/build/BUILDROOT/alt-python312-setuptools-69.0.2-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/setuptools/_vendor/packaging/markers.pyrr"r"rceZdZdZy)rzP An invalid operation was attempted on a value that doesn't support it. Nrr!r"r#rr(r$r"rceZdZdZy)rz\ A name was attempted to be used that does not exist inside of the environment. Nrr!r"r#rr.sr"rresultsreturncLt|dtr|d\}}}t|tr0|jdk(r!t |j}t |}n?t|tr/|jdk(r t |j}t |}|||f|d<|S)z! Normalize extra values. rextra) isinstancetuplervaluerr)r'lhsoprhsnormalized_extras r#_normalize_extra_valuesr25s'!*e$qz R c8 $g)=0; ()C X &399+?0; ()C"c\ Nr"markerfirstct|tttfsJt|tr5t |dk(r't|dttfrt |dSt|tr3d|D}|rdj |Sddj |zdzSt|tr-dj |Dcgc]}|jc}S|Scc}w)Nr rc36K|]}t|dyw)F)r4N)_format_marker).0ms r# z!_format_marker..Ws@A//s ())r+listr,strlenr7join serialize)r3r4innerr9s r#r7r7Es ftUC0 11 1 64 K1  vay4- 0fQi((&$@@ 88E? "%(3. . FE "xx71788 8sC%c ||vSNr!r.r0s r#rGcs3#:r"c ||vSrEr!rFs r#rGrGdss#~r")inznot in=> _operatorsr.r/r0c " tdj|j|g}|j|dS#t$rYnwxYwt j |j}|td|d|d|d|||S)NT) prereleasesz Undefined z on z and .)rrArBcontainsrrLgetr)r.r/r0specopers r#_eval_oprUns4",,.#!678}}Sd}33    *~~blln=D |!JrfDuSG1"MNN S>s*? A  A valueskey.c4|dk(rtd|DS|S)Nr*c32K|]}t|ywrEr)r8vs r#r:z_normalize..s:6a&q)6)r,)rWrVs r# _normalizer\}s#  g~:6::: Mr"markers environmentc0gg}|D]}t|tttfsJt|tr|dj t ||Ot|tr|\}}}t|t r|j}||}|j} n|j}|j}||} t|| |\}} |dj t||| |dvsJ|dk(s|j gtd|DS)N)rW)andorrbc32K|]}t|ywrE)all)r8items r#r:z$_evaluate_markers..s,VTs4yVr[) r+r>r,r?append_evaluate_markersrr-r\rUany) r]r^groupsr3r.r/r0environment_key lhs_value rhs_values r#rgrgs "tF&4"4555 fd # 2J  / D E  &!LCS#x("%))'8 II II "%))'8 #-i#X Iy 2J  hy"i@ A]* **~ b!-0 ,V, ,,r"infozsys._version_infocdj|}|j}|dk7r||dt|jzz }|S)Nz{0.major}.{0.minor}.{0.micro}finalr)format releaselevelr?serial)rmversionkinds r#format_full_versionrusE-44T:G   D w47S--- Nr"cttjj}tjj}||t jt jt jt jt jt jt jdjt jddtj d S)NrP) implementation_nameimplementation_versionos_nameplatform_machineplatform_releaseplatform_systemplatform_versionpython_full_versionplatform_python_implementationpython_version sys_platform)rusysimplementationrsnameosplatformmachinereleasesystemrpython_implementationrApython_version_tuple)iverrxs r#rrs s1199 :D,,112"&77$,,.$,,.#??,$,,.'668*2*H*H*J((8#@#@#B2A#FG   r"creZdZdeddfdZdefdZdefdZdefdZde de fd Z d d e e eefde fd Zy) rr3r(Nc tt||_y#t$r}t t ||d}~wwxYwrE)r2 _parse_marker_markersrrr?)selfr3es r#__init__zMarker.__init__s; /3M&4IJDM"! /A'Q . /s ?:?c,t|jSrE)r7rrs r#__str__zMarker.__str__sdmm,,r"cd|dS)Nz r!rs r#__repr__zMarker.__repr__s4&$$r"cVt|jjt|fSrE)hash __class__rr?rs r#__hash__zMarker.__hash__s T^^,,c$i899r"otherc\t|tstSt|t|k(SrE)r+rNotImplementedr?)rrs r#__eq__z Marker.__eq__s%%(! !4yCJ&&r"r^ct}d|d<||j||dd|d<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. rNr*)rupdatergr)rr^current_environments r#evaluatezMarker.evaluatesV23')G$  "  & &{ 3#7+3/1#G, 0CDDr"rE)rrrr?rrrintrrboolrrrrr!r"r#rrso/s/t/2--%#%:#:'C'D' EHT#s(^$<EEr"r)T)3operatorrrrtypingrrrrrrr _parserr r r rrrr _tokenizerr specifiersrrutilsr__all__r?rOperator ValueErrorrrrr2r7ltleeqnegegtrL__annotations__rUr\rgrurrr!r"r#rs   DDD*3$  S#J$ %J * z S S "HL $s)Z, -6>tn< &-  ++ ++ ++ ++  # Dh   # 2 C D   # %S/ -z-S#X-4-<1cT#s(^$;E;Er"