a0bi"hSrSSKrSSKrSSKrSSKJr SSKJr SSKJ r SSK J r J r SSK Jr SS KJrJr SS KJr SS KJr SS KJr SS KJr SrS\S\4SjrS\S\S\ \4SjrS\S\S\ \4SjrS\S\S\ \ \4SjrS\S\ \4Sjr Sr!Sr"Sr#Sr$Sr%S\S\S\S\4S jr&S!r'g)"z Handling of Core Metadata for Python packages (including reading and writing). See: https://packaging.python.org/en/latest/specifications/core-metadata/ N)message_from_file)Message)NamedTemporaryFile)OptionalList) rfc822_escape)_normalization_reqs)Marker) Requirement)Version)SetuptoolsDeprecationWarningcH[USS5nUc[S5nXlU$)Nmetadata_version2.1)getattrrr)selfmvs ڒ/builddir/build/BUILDROOT/alt-python313-setuptools-69.0.2-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/setuptools/_core_metadata.pyget_metadata_versionrs* )4 0B z U^ " Icontentreturnc UR5n[U5S:XaUSR5$SRUSR5[R "SRUSS5545$)zFReverse RFC-822 escaping by removing leading whitespaces from content.r r N) splitlineslenlstripjointextwrapdedent)rliness rrfc822_unescaper$sc    E 5zQQx  99eAhoo'599M)NO PPrmsgfieldcXnUS:XagU$)zRead Message header field.UNKNOWNNr%r&values r_read_field_from_msgr,'s JE  Lrc8[X5nUcU$[U5$)z4Read Message header field and apply rfc822_unescape.)r,r$r*s r_read_field_unescaped_from_msgr./s!  ,E } 5 !!rc8URUS5nU/:XagU$)z9Read Message header field and return all results as list.N)get_all)r%r&valuess r_read_list_from_msgr27s! [[ %F | Mrc^UR5R5nUS:XdU(dgU$)Nr() get_payloadstrip)r%r+s r_read_payload_from_msgr6?s) OO  # # %E  Lrc[U5n[US5Ul[US5Ul[US5Ul[US5Ul[US5UlSUl[US5Ul SUl [US5Ul [US 5Ul [US 5Ul[US 5UlURc)UR[S 5:a[!U5Ul[US5UlS U;a [US 5R#S5Ul['US5Ul['US5UlUR[S5:Xa4['US5Ul['US5Ul['US5UlOSUlSUlSUl['US5Ulg)z-Reads the metadata values from a file object.zmetadata-versionnameversionsummaryauthorNz author-emailz home-pagez download-urllicense descriptionrkeywords,platform classifierz1.1requiresprovides obsoletesz license-file)rrrr,r8r9r=r; maintainer author_emailmaintainer_emailurl download_urlr.r<long_descriptionr6splitr>r2 platforms classifiersrBrCrD license_files)rfiler%s r read_pkg_filerPFs D !C#C(:$;)>'%.)P 6s ;+C;DS,S*=CCCH (j9DN*3 =D .+C< +C< ,S+>  ,S.ADrcSU;a;Sn[R"SU5 UR5RS5SnU$)z> Quick and dirty validation for Summary pypa/setuptools#1390. rzBnewlines are not allowed in `summary` and will break in the futurezInvalid config.r)remitr5rK)valr%s r single_linerTosD s{S$))*;SAiik%a( JrcSn[RRUS5n[SSUSS9nURnUR U5 SSS5 [ R"[R"U5R5n[R"X%[ R-[ R-5 [R"X#5 U(a<[RRU5(a[R"U5 ggg!,(df  N=f!U(a<[RRU5(a[R"U5 fff=f)z.Write the PKG-INFO file into the release tree.zPKG-INFOwzutf-8F)encodingdirdeleteN)ospathr rr8write_pkg_filestatS_IMODElstatst_modechmodS_IRGRPS_IROTHreplaceexistsremove)rbase_dirtempfinalf permissionss rwrite_pkg_inform}s D GGLL: .E  g8E RVW66D    "Sll288D>#9#9:  T\\1DLL@A 4 BGGNN4(( IIdO)4S R BGGNN4(( IIdO)4s$ D-DB D- D*&D--AE2cT^UR5nU4SjnU"S[U55 U"SUR55 U"SUR55 UR 5nU(aU"S[ U55 SnUHupg[ XS5nUcMU"Xh5 M UR5n U (aU"S[U 55 URR5Hn U"S S U -5 M S RUR55n U (a U"S U 5 UR5=(d /n U H n U"S U 5 M URTSUR55 URTSUR!55 URTSUR#55 URTSUR%55 ['US5(aU"SUR(5 UR*(aU"SUR*5 URTSUR,=(d /5 [/UT5 UR15nU(a=TR3SU-5 UR5S5(dTR3S5 ggg)z0Write the PKG-INFO format data to a file object.c8>TRU<SU<S35 g)Nz: r)write)keyr+rOs r write_field#write_pkg_file..write_fields e,-rzMetadata-VersionNamerSummary))z Home-pagerH)z Download-URLrI)Authorr;)z Author-emailrF) MaintainerrE)zMaintainer-emailrGNLicensez Project-URLz%s, %sr?KeywordsPlatform ClassifierRequiresProvides Obsoletespython_requireszRequires-PythonzDescription-Content-Typez License-Filez %sr)rstrget_name get_versionget_descriptionrTr get_licenser project_urlsitemsr get_keywords get_platforms _write_listget_classifiers get_requires get_provides get_obsoleteshasattrrlong_description_content_typerN_write_requirementsget_long_descriptionrpendswith)rrOr9rrr:optional_fieldsr&attrattr_valr< project_urlr>rLr@rJs ` rr]r]sO'')G."CL1 ( 4++-.""$GI{734O' 4t,    ('  GI}W56((..0 M8k#9:1xx))+,HJ)""$*IJ) T<)=)=)?@ T:t'8'8':;T:t'8'8':;T;(:(:(<=t&''%t';';< )).0R0RST>4+=+=+CDd#002 6,,-((.. JJt /rc[R"UR5HnURSUS35 M 0nURR 5HupEUR S5upgnUR5n[R"U5n U (a [XX5 [R"U5H2n[X)UR55n URSU S35 M4 M U$)NzRequires-Dist: r:) r parseinstall_requiresrpextras_requirer partitionr5r safe_extra_write_provides_extra parse_strings_include_extra) rrOreqprocessed_extrasaugmented_extrareqs unsafe_extra_ conditionextrars rrrs{{4001 _SE,-2!%!4!4!:!:!<%4%>%>s%C" #))+ )),7  !$% N&&t,Cs9??+<=A JJ2. /-"= rrrrc[U5nUR(aSURS3OSU(aSUS3OSU(aSU<3OS4n[SRSU555UlU$)N()z extra ==  and c36# UHo(dM Uv M g7f)Nr)).0xs r !_include_extra..s"9eq11es  )r markerr r )rrrrpartss rrrsjCA88!AHH:Q%!I;a4!&)E9D E gll"9e"99:AH Hrc URU5nXC:Xa$[R"SSU<SU<SU<S3SS9 gX1U'URSUS 35 g) Nz8Ambiguity during "extra" normalization for dependencies.z rz/ normalize to the same value: zW In future versions, setuptools might halt the build process. z!https://peps.python.org/pep-0685/)see_urlzProvides-Extra: r)getrrRrp)rOrsafeunsafepreviouss rrrsr##D)H$)) F LfZ(   8 "( %dV2./r)(__doc__r[r^r!emailr email.messagertempfilertypingrrdistutils.utilrrVr r extern.packaging.markersr extern.packaging.requirementsr extern.packaging.versionrwarningsrrrr$r,r.r2r6rPrTrmr]rrrr)rrrs  #!'!(#,6-2QSQSQgchsm""" "WSXd3i5HHSM&BR &BJ(  C C K 0r