Ë é¢ëØÇmã ób—UddlZddlZddlZddlZddlmZmZmZmZm Z m Z m Z ddl m Z mZmZmZmZmZddlmZddlmZmZddlmZgd¢ZeeegefZGd „d e«Z Gd „d e«Z!Gd „de«Z"dedefd„Z# d*de eee efde edefd„Z$d„d„ejJejLejNejPejRejTdœZ+eeefe,d<dedededefd„Z-dedede edffd „Z.d!ed"eeefdefd#„Z/d$d%defd&„Z0deeeffd'„Z1Gd(„d)«Z2y)+éN)ÚAnyÚCallableÚDictÚListÚOptionalÚTupleÚUnioné)Ú MarkerAtomÚ MarkerListÚOpÚValueÚVariableÚ parse_marker)ÚParserSyntaxError)ÚInvalidSpecifierÚ Specifier©Úcanonicalize_name)Ú InvalidMarkerÚUndefinedComparisonÚUndefinedEnvironmentNameÚMarkerÚdefault_environmentcó—eZdZdZy)rzE An invalid marker was found, users should refer to PEP 508. N©Ú__name__Ú __module__Ú __qualname__Ú__doc__©óú6/usr/lib/python3.12/site-packages/packaging/markers.pyrr"ó„òr"rcó—eZdZdZy)rzP An invalid operation was attempted on a value that doesn't support it. Nrr!r"r#rr(r$r"rcó—eZdZdZy)rz\ A name was attempted to be used that does not exist inside of the environment. Nrr!r"r#rr.s„òr"rÚresultsÚreturncóL—t|dt«r�|d\}}}t|t«r0|jdk(r!t |j«}t |«}n?t|t«r/|jdk(r t |j«}t |«}|||f|d<|S)z! Normalize extra values. rÚextra)Ú isinstanceÚtuplerÚvaluerr)r'ÚlhsÚopÚrhsÚnormalized_extras r#Ú_normalize_extra_valuesr25s“€ô�'˜!‘*œeÔ$ؘq‘z‰ ˆˆR�Ü �cœ8Ô $¨¯©°gÒ)=Ü0°·±Ó;Ð ÜÐ(Ó)‰CÜ ˜œXÔ &¨3¯9©9¸Ò+?Ü0°·±Ó;Ð ÜÐ(Ó)ˆCؘ"˜c�\ˆ�‰ Ø €Nr"ÚmarkerÚfirstcóÔ—t|tttf«sJ‚t|t«r5t |«dk(r't|dttf«rt |d«St|t«r3d„|D«}|rdj |«Sddj |«zdzSt|t«r-dj |D�cgc]}|j«‘Œc}«S|Scc}w)Nr rc3ó6K—|]}t|d¬«–—Œy­w)F)r4N)Ú_format_marker)Ú.0Úms r#Ú z!_format_marker..Wsèø€Ð@¹°A” ¨×/Ð/¹ùs‚Ú Ú(Ú))r+Úlistr,ÚstrÚlenr7ÚjoinÚ serialize)r3r4Úinnerr9s r#r7r7EsÉ€ô �fœt¤U¬CÐ0Ô 1Ð1Ð 1ô �6œ4Ô Ü �‹K˜1Ò Ü �v˜a‘y¤4¬ -Ô 0ä˜f Q™iÓ(Ð(ä�&œ$ÔÙ@¹Ó@ˆÙ Ø—8‘8˜E“?Ð "à˜Ÿ™ %›Ñ(¨3Ñ.Ð .Ü �FœEÔ "Ø�x‰x±Ó7±¨1˜Ÿ™�°Ñ7Ó8Ð8àˆ ùò8sÃC%có —||vS©Nr!©r.r0s r#ÚrGcs€˜3 #™:r"có —||vSrEr!rFs r#rGrGds€˜s¨#™~r")Úinznot inÚ=Ú>Ú _operatorsr.r/r0c ó"— tdj|j«|g««}|j|d¬«S#t$rYnwxYwt j |j««}|€td|›d|›d|›d�«‚|||«S)NÚT)Ú prereleasesz Undefined z on z and Ú.)rrArBÚcontainsrrLÚgetr)r.r/r0ÚspecÚopers r#Ú_eval_oprUns•€ð4ܘŸ™ "§,¡,£.°#Ð!6Ó7Ó8ˆð�}‰}˜S¨dˆ}Ó3Ð3øô ò Ù ð úô *Ÿ~™~¨b¯l©l«nÓ=€DØ €|Ü! J¨r¨f°D¸¸¸uÀSÀGÈ1Ð"MÓNÐNá ��S‹>Ðs‚*?¿ A Á A ÚvaluesÚkey.có4—|dk(rtd„|D««S|S)Nr*c3ó2K—|]}t|«–—Œy­wrEr)r8Úvs r#r:z_normalize..ƒsèø€Ð:±6¨aÔ& q×)±6ùó‚)r,)rWrVs r#Ú _normalizer\}s#€ð  ˆg‚~ÜÑ:±6Ó:Ó:Ð:ð €Mr"ÚmarkersÚ environmentcó0—gg}|D]ý}t|tttf«sJ‚t|t«r|dj t ||««ŒOt|t«r‚|\}}}t|t «r|j}||}|j} n|j}|j}||} t|| |¬«\}} |dj t||| ««Œá|dvsJ‚|dk(sŒí|j g«Œÿtd„|D««S)Néÿÿÿÿ)rW)ÚandÚorrbc3ó2K—|]}t|«–—Œy­wrE)Úall)r8Úitems r#r:z$_evaluate_markers..¤sèø€Ð,¡V˜TŒs�4�y¡Vùr[) r+r>r,r?ÚappendÚ_evaluate_markersrr-r\rUÚany) r]r^Úgroupsr3r.r/r0Úenvironment_keyÚ lhs_valueÚ rhs_values r#rgrg‰s€Ø "˜t€FãˆÜ˜&¤4¬´Ð"4Ô5Ð5Ð5ä �fœdÔ #Ø �2‰J× Ñ Ô/°¸ ÓDÕ EÜ ˜¤Ô &Ø!‰LˆC��Sä˜#œxÔ(Ø"%§)¡)�Ø'¨Ñ8� ØŸI™I‘ àŸI™I� Ø"%§)¡)�Ø'¨Ñ8� ä#-¨i¸ÈÔ#XÑ ˆI�yØ �2‰J× Ñ œh y°"°iÓ@Õ Aà˜]Ñ*Ð *Ð*ؘ‹~Ø— ‘ ˜bÕ!ð-ô0 Ñ,¡VÓ,Ó ,Ð,r"Úinfozsys._version_infocó†—dj|«}|j}|dk7r||dt|j«zz }|S)Nz{0.major}.{0.minor}.{0.micro}Úfinalr)ÚformatÚ releaselevelr?Úserial)rmÚversionÚkinds r#Úformat_full_versionru§sE€Ø-×4Ñ4°TÓ:€GØ × Ñ €DØ ˆw‚Ø�4˜‘7œS §¡Ó-Ñ-Ñ-ˆØ €Nr"cóð—ttjj«}tjj}||t jt j«t j«t j«t j«t j«t j«djt j«dd«tj dœ S)NrPé) Úimplementation_nameÚimplementation_versionÚos_nameÚplatform_machineÚplatform_releaseÚplatform_systemÚplatform_versionÚpython_full_versionÚplatform_python_implementationÚpython_versionÚ sys_platform)ruÚsysÚimplementationrsÚnameÚosÚplatformÚmachineÚreleaseÚsystemr�Úpython_implementationrAÚpython_version_tuple)Úiverrxs r#rr¯sª€Ü œs×1Ñ1×9Ñ9Ó :€DÜ×,Ñ,×1Ñ1Ðà2Ø"&Ü—7‘7Ü$×,Ñ,Ó.Ü$×,Ñ,Ó.Ü#Ÿ?™?Ó,Ü$×,Ñ,Ó.Ü'×6Ñ6Ó8Ü*2×*HÑ*HÓ*JØŸ(™(¤8×#@Ñ#@Ó#BÀ2ÀAÐ#FÓGÜŸ ™ ñ ð r"cór—eZdZdeddfd„Zdefd„Zdefd„Zdefd„Zde de fd „Z d d e e eefde fd „Zy) rr3r(Ncó„— tt|««|_y#t$r}t t |««|‚d}~wwxYwrE)r2Ú _parse_markerÚ_markersrrr?)Úselfr3Úes r#Ú__init__zMarker.__init__Âs;€ð /Ü3´MÀ&Ó4IÓJˆD�Møô"!ò /ܤ A£Ó'¨QÐ .ûð /ús‚œ ?¥:º?có,—t|j«SrE)r7r‘©r’s r#Ú__str__zMarker.__str__Ûs€Ü˜dŸm™mÓ,Ð,r"có—d|›d�S)Nz r!r–s r#Ú__repr__zMarker.__repr__Þs€Ø˜4˜& Ð$Ð$r"cóV—t|jjt|«f«SrE)ÚhashÚ __class__rr?r–s r#Ú__hash__zMarker.__hash__ás €Ü�T—^‘^×,Ñ,¬c°$«iÐ8Ó9Ð9r"Úothercó\—t|t«stSt|«t|«k(SrE)r+rÚNotImplementedr?)r’ržs r#Ú__eq__z Marker.__eq__äs%€Ü˜%¤Ô(Ü!Ð !ä�4‹yœC ›JÑ&Ð&r"r^có†—t«}d|d<|�|j|«|d€d|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*)rÚupdatergr‘)r’r^Úcurrent_environments r#ÚevaluatezMarker.evaluateêsV€ô2Ó3ÐØ')ИGÑ$Ø Ð "Ø × &Ñ & {Ô 3ð# 7Ñ+Ð3Ø/1Ð# GÑ,ä  §¡Ð0CÓDÐDr"rE)rrrr?r”r—r™Úintr�rÚboolr¡rrr¥r!r"r#rrÁso„ð/˜sð/ tó/ð2-˜ó-ð%˜#ó%ð:˜#ó:ð'˜Cð' Dó'ñ E H¨T°#°s°(©^Ñ$<ðEÈôEr"r)T)3Úoperatorr†r‡rƒÚtypingrrrrrrr Ú_parserr r r rrrr�Ú _tokenizerrÚ specifiersrrÚutilsrÚ__all__r?r§ÚOperatorÚ ValueErrorrrrr2r7ÚltÚleÚeqÚneÚgeÚgtrLÚ__annotations__rUr\rgrurrr!r"r#Úr¸sžðô Û ÛÛ ßD×DÑD÷÷õ*ß3Ý$ò €ð �S˜#�J Ð$Ñ %€ô�Jôô ˜*ôô ˜zôð  Sð ¨Só ð"HLñØ �$�s‘)˜Z¨Ð,Ñ -ðØ6>¸t±nðàóñ< &Ù-Ø �‰Ø �+‰+Ø �+‰+Ø �+‰+Ø �+‰+Ø �‰ñ #€ ˆD��h�Ñ ó ð �#ð ˜2ð  Cð ¨Dó ð ˜ð  #ð ¨%°°S°©/ó ð-˜zð-¸¸SÀ#¸X¹ð-È4ó-ð<Ð1ð°cóð˜T # s (™^ó÷$;Eò;Er"