hyb
2025-11-10 e0a856b5072c5a09f3f6de6da85abf90e00ee704
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Ë
@ñúhÊ.ãó —dZddlmZddlZddlZddlZddlmZddlm    Z    ddl
m Z ddl m Z ddlmZdd    lmZmZdd
lmZd d lmZmZd d lmZd dlmZddlmZd„ZdAd„ZdBd„Z dBd„Z!dCd„Z"dDd„Z#d„Z$d„Z%d„Z&d„Z'd„Z(dEd„Z)d„Z*d„Z+dFd„Z,d„Z-id d “d!d"“d#d$“d%d&“d'd(“d)d*“d+d,“d-d-“d.d.“d/d0“d1d2“d3d3“d4d5“d6d6“d7d8“d9d:“d;d;“d<d=d>d?d%d@œ¥Z.y)Gz›
Handling of Core Metadata for Python packages (including reading and writing).
 
See: https://packaging.python.org/en/latest/specifications/core-metadata/
é)Ú annotationsN)Úmessage_from_file)ÚMessage)ÚNamedTemporaryFile)ÚMarker)Ú Requirement)Úcanonicalize_nameÚcanonicalize_version)ÚVersioné)Ú_normalizationÚ_reqs)Ú    is_static)ÚSetuptoolsDeprecationWarning)Ú rfc822_escapecóH—t|dd«}|€td«}||_|S)NÚmetadata_versionz2.4)Úgetattrr r)ÚselfÚmvs  úLH:\Change_password\venv_build\Lib\site-packages\setuptools/_core_metadata.pyÚget_metadata_versionrs,€Ü    Ð)¨4Ó    0€BØ    €zÜ U‹^ˆØ "ˆÔØ €Ióc
óö—|j«}t|«dk(r|dj«Sdj|dj«t    j
dj|dd««f«S)zFReverse RFC-822 escaping by removing leading whitespaces from content.r rú
N)Ú
splitlinesÚlenÚlstripÚjoinÚtextwrapÚdedent)ÚcontentÚliness  rÚrfc822_unescaper$$sc€à × Ñ Ó  €EÜ
ˆ5ƒzQ‚ؐQ‰x‰Ó Ð Ø 9‰9e˜A‘h—o‘oÓ'¬¯©¸¿¹À5ÈÈÀ9Ó9MÓ)NÐOÓ PÐPrcó—||}|dk(ry|S)zRead Message header field.ÚUNKNOWNN©©ÚmsgÚfieldÚvalues   rÚ_read_field_from_msgr,,s€à ‰J€EØ     ÒØØ €Lrcó8—t||«}|€|St|«S)z4Read Message header field and apply rfc822_unescape.)r,r$r(s   rÚ_read_field_unescaped_from_msgr.4s#€ä    eÓ ,€EØ €}؈ Ü ˜5Ó !Ð!rcó6—|j|d«}|gk(ry|S)z9Read Message header field and return all results as list.N)Úget_all)r)r*Úvaluess   rÚ_read_list_from_msgr2<s!€à [‰[˜ Ó %€FØ ‚|ØØ €Mrcód—t|j««j«}|dk(s|sy|S)Nr&)ÚstrÚ get_payloadÚstrip)r)r+s  rÚ_read_payload_from_msgr7Ds.€Ü —‘Ó!Ó "× (Ñ (Ó *€EØ     Ò¡ØØ €Lrcóª—t|«}t|d«|_t|d«|_t|d«|_t|d«|_t|d«|_d|_t|d«|_    d|_
t|d«|_ t|d    «|_ t|d
«|_t|d «|_t|d «|_|j €(|jtd «k\rt#|«|_t|d«|_d|vr t|d«j%d«|_t)|d«|_t)|d«|_|jtd«k(r4t)|d«|_t)|d«|_t)|d«|_nd|_d|_d|_t)|d«|_y)z-Reads the metadata values from a file object.zmetadata-versionÚnameÚversionÚsummaryÚauthorNú author-emailú    home-pageú download-urlÚlicenseúlicense-expressionÚ descriptionz2.1Úkeywordsú,ÚplatformÚ
classifierz1.1ÚrequiresÚprovidesÚ    obsoletesú license-file)rr rr,r9r:rBr<Ú
maintainerÚ author_emailÚmaintainer_emailÚurlÚ download_urlr.r@Úlicense_expressionÚlong_descriptionr7ÚsplitrCr2Ú    platformsÚ classifiersrGrHrIÚ license_files)rÚfiler)s   rÚ read_pkg_filerWKs™€ä
˜DÓ
!€Cä# CÐ(:Ñ$;Ó<€DÔÜ$ S¨&Ó1€D„IÜ'¨¨YÓ7€D„LÜ+¨C°Ó;€DÔä& s¨HÓ5€D„KØ€D„OÜ,¨S°.ÓA€DÔØ €DÔÜ# C¨Ó5€D„HÜ,¨S°.ÓA€DÔÜ1°#°yÓA€D„LÜ<¸SÐBVÓW€DÔä:¸3À ÓN€DÔØ ×ÑÐ$¨×)>Ñ)>Ä'È%Ã.Ò)PÜ 6°sÓ ;ˆÔÜ+¨C°Ó;€DÔàSÑÜ,¨S°*Ó=×CÑCÀCÓHˆŒ ä(¨¨jÓ9€D„NÜ*¨3° Ó=€DÔð ×Ѥ¨£Ò.Ü+¨C°Ó<ˆŒ Ü+¨C°Ó<ˆŒ Ü,¨S°+Ó>ˆàˆŒ ؈Œ ؈Œä,¨S°.ÓA€DÕrcó‚—d|vr:d}tjd|«|j«jd«d}|S)zF
    Quick and dirty validation for Summary pypa/setuptools#1390.
    rzBnewlines are not allowed in `summary` and will break in the futurezInvalid config.r)rÚemitr6rR)Úvalr)s  rÚ single_liner[usD€ð ˆs{ðSˆÜ$×)Ñ)Ð*;¸SÔAài‰i‹k×Ñ Ó% aÑ(ˆØ €Jrcó¶—d}tjj|d«}    tdd|d¬«5}|j}|j |«ddd«t jtj|«j«}tj||t jzt jz«tj||«|r6tjj|«rtj|«yyy#1swYŒÂxYw#|r6tjj|«rtj|«wwwxYw)z.Write the PKG-INFO file into the release tree.ÚzPKG-INFOÚwzutf-8F)ÚencodingÚdirÚdeleteN)ÚosÚpathrrr9Úwrite_pkg_fileÚstatÚS_IMODEÚlstatÚst_modeÚchmodÚS_IRGRPÚS_IROTHÚreplaceÚexistsÚremove)rÚbase_dirÚtempÚfinalÚfÚ permissionss      rÚwrite_pkg_infortƒsö€à €DÜ G‰GL‰L˜ :Ó .€Eð ô  ¨g¸8ÈEÔ Rð    #ÐVWØ—6‘6ˆDØ × Ñ  Ô "÷    #ô—l‘l¤2§8¡8¨D£>×#9Ñ#9Ó:ˆ Ü
‰{¤T§\¡\Ñ1´D·L±LÑ@ÔAÜ

‰
4˜Ôá ”B—G‘G—N‘N 4Ô(Ü I‰IdOð)ˆ4÷    #ð    #ûñ ”B—G‘G—N‘N 4Ô(Ü I‰IdOð)ˆ4ús#¤D³DÁBDÄDÄDÄ:Ecóʇ—|j«}ˆfd„}|dt|««|d|j««|d|j««|j    «}|r|dt |««d}|D]\}}t ||d«}|€Œ|||«Œ |jx}    r
|d|    «n$|j«x}
r|d    t|
««|jj«D]\} } |d
| ›d | ›«Œd j|j««} | r    |d | «|j«xsg}|D] }|d|«Œ |j‰d|j!««|j‰d|j#««|j‰d|j%««|j‰d|j'««t)|d«r|d|j*«|j,r|d|j,«t/t0|j2xsg«}|j‰d|«t5|‰«t6j«D]*\}}t ||d«x}sŒt9|«rŒ"|d|«Œ,|j;«}|r8‰j=d|›«|j?d«s‰j=d«yyy)z0Write the PKG-INFO format data to a file object.có4•—‰j|›d|›d«y)Nz: r)Úwrite)Úkeyr+rVs  €rÚ write_fieldz#write_pkg_file.<locals>.write_fieldšsø€Ø 
‰
cU˜"˜U˜G 2Ð&Õ'rzMetadata-VersionÚNamer ÚSummary))z    Home-pagerN)z Download-URLrO)ÚAuthorr<)z Author-emailrL)Ú
MaintainerrK)zMaintainer-emailrMNzLicense-ExpressionÚLicensez Project-URLz, rDÚKeywordsÚPlatformÚ
ClassifierÚRequiresÚProvidesÚ    ObsoletesÚpython_requireszRequires-PythonzDescription-Content-Typez License-FileÚDynamicr) rr4Úget_nameÚ get_versionÚget_descriptionr[rrPÚ get_licenserÚ project_urlsÚitemsrÚ get_keywordsÚ get_platformsÚ _write_listÚget_classifiersÚ get_requiresÚ get_providesÚ get_obsoletesÚhasattrr…Úlong_description_content_typeÚmapÚ_safe_license_filerUÚ_write_requirementsÚ_POSSIBLE_DYNAMIC_FIELDSrÚget_long_descriptionrwÚendswith)rrVr:ryr;Úoptional_fieldsr*ÚattrÚattr_valrPr@ÚlabelrNrCrSrEÚsafe_license_filesrZrQs `                 rrdrd–sÝø€à×'Ñ'Ó)€Gô(ñÐ"¤C¨£LÔ1ِ˜Ÿ ™ ›Ô(ِ    ˜4×+Ñ+Ó-Ô.à×"Ñ"Ó$€GÙِIœ{¨7Ó3Ô4ð€Oð'ò)‰ ˆˆtܘ4  tÓ,ˆØ Ñ Ù ˜˜xÕ (ð)ð
"×4Ñ4Ð4ÐÐ4ÙÐ(Ð*<Õ=Ø×$Ñ$Ó&Р   &ˆР   &ِIœ}¨WÓ5Ô6à×'Ñ'×-Ñ-Ó/ò6‰
ˆˆsِM e W¨B¨s¨eÐ#4Õ5ð6ðx‰x˜×)Ñ)Ó+Ó,€HÙِJ Ô)à×"Ñ"Ó$Ò*¨€IØò*ˆÙJ Õ)ð*ð    ×ѐT˜<¨×)=Ñ)=Ó)?Ô@ð    ×ѐT˜: t×'8Ñ'8Ó':Ô;Ø×ѐT˜: t×'8Ñ'8Ó':Ô;Ø×ѐT˜;¨×(:Ñ(:Ó(<Ô=ôˆtÐ&Ô'ÙÐ% t×';Ñ';Ô<ð ×)Ò)ÙÐ.°×0RÑ0RÔSäÔ/°×1CÑ1CÒ1IÀrÓJÐØ×ѐT˜>Ð+=Ô>ܘ˜dÔ#ä/×5Ñ5Ó7ò*‰ ˆˆtܘ4  tÓ,Ð ,ˆCÑ ,´iÀµnÙ ˜     5Õ )ð*ð×0Ñ0Ó2ÐÙØ 
‰
RÐ(Ð)Ð*Ô+Ø×(Ñ(¨Ô.Ø J‰JtÕ ð/ðrcóè—tj|j«D]}|jd|›d«Œi}|jj «D]™\}}|j d«\}}}|j«}tj|«}    |    rt|||    |«tj|«D]2}t||    |j««}
|jd|
›d«Œ4Œ›|S)NzRequires-Dist: rú:) rÚparseÚinstall_requiresrwÚextras_requirerŒÚ    partitionr6r Ú
safe_extraÚ_write_provides_extraÚ parse_stringsÚ_include_extra) rrVÚreqÚprocessed_extrasÚaugmented_extraÚreqsÚ unsafe_extraÚ_Ú    conditionÚextraÚrs            rr˜r˜ásó€Ü{‰{˜4×0Ñ0Ó1ò.ˆØ 
‰
_ S E¨Ð,Õ-ð.ðÐØ!%×!4Ñ!4×!:Ñ!:Ó!<ò
0ш˜à%4×%>Ñ%>¸sÓ%CÑ"ˆ a˜Ø#×)Ñ)Ó+ˆ Ü×)Ñ)¨,Ó7ˆá Ü ! $Ð(8¸%ÀÔ NÜ×&Ñ& tÓ,ò    0ˆCܘs E¨9¯?©?Ó+<Ó=ˆAØ J‰J˜¨¨¨2Ð.Õ /ñ    0ð
0ð Ðrcóȗt|«}|jrd|j›dnd|rd|›dnd|rd|›ndf}tdjd„|D«««|_|S)Nú(ú)z    extra == ú and c3ó&K—|]    }|sŒ|–—Œ y­w©Nr')Ú.0Úxs  rú    <genexpr>z!_include_extra.<locals>.<genexpr>üsèø€Ò"9¨²q¤1Ñ"9ùs‚Š)rÚmarkerrr)r«r²r±r³Úpartss     rrªrªõsj€ÜCÓ€AàŸ8š8ˆ!ˆAH‰Hˆ:Q‰¨Ù%ˆ!ˆIˆ;aѨ4Ù!&ˆ)E9ѨDð €Eô
g—l‘lÑ"9¨eÔ"9Ó9Ó:€A„HØ €Hrc
óª—|j|«}||k(r#tjdd|›d|›d|›dd¬«y|||<|jd|›d    «y)
Nz8Ambiguity during "extra" normalization for dependencies.z
            r·z/ 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)ÚgetrrYrw)rVr¬ÚsafeÚunsafeÚpreviouss     rr¨r¨sw€Ø×#Ñ# DÓ)€Hؐ6ÒÜ$×)Ñ)Ø Fð Ø ˆL˜˜f˜Zð(ؐð ð ð
8ö    
ð"(Ð˜ÑØ 
‰
Ð% d V¨2Ð.Õ/rcóR—t|j«|j««Sr¹)Ú_distribution_fullnamer‡rˆ)rs rÚ get_fullnamerÇs€Ü ! $§-¡-£/°4×3CÑ3CÓ3EÓ FÐFrcón—djt|«jdd«t|d¬««S)aµ
    >>> _distribution_fullname('setup.tools', '1.0-2')
    'setup_tools-1.0.post2'
    >>> _distribution_fullname('setup-tools', '1.2post2')
    'setup_tools-1.2.post2'
    >>> _distribution_fullname('setup-tools', '1.0-r2')
    'setup_tools-1.0.post2'
    >>> _distribution_fullname('setup.tools', '1.0.post')
    'setup_tools-1.0.post0'
    >>> _distribution_fullname('setup.tools', '1.0+ubuntu-1')
    'setup_tools-1.0+ubuntu.1'
    z{}-{}ú-r°F)Ústrip_trailing_zero)Úformatr    rlr
)r9r:s  rrÆrÆs4€ð >‰>ܘ$Ó×'Ñ'¨¨SÓ1ܘW¸%Ô@ó ðrcóƗtjj|«jtjd«}d|vrtjj |«S|S)Nú/z../)rbrcÚnormpathrlÚsepÚbasename)rVÚ
normalizeds  rr—r—)sJ€ä—‘×!Ñ! $Ó'×/Ñ/´·±¸Ó<€JØ 
Ñ܏w‰w×Ñ 
Ó+Ð+Ø Ðrr<r=rLrFrTrBrQzdescription-content-typer•r?rOr>rNrCr@rJrUrArPrKzmaintainer-emailrMrIrErSz project-urlr‹rHr¥rGr¤r…)zprovides-extrarGz requires-distzrequires-pythonr;)r"r4Úreturnr4)r)rr*r4rÒú
str | None)r)rr*r4rÒzlist[str] | None)r)rrÒrÓ)r«r4r²r4r±r4rÒr)r9r4r:r4rÒr4)/Ú__doc__Ú
__future__rrbrer ÚemailrÚ email.messagerÚtempfilerÚpackaging.markersrÚpackaging.requirementsrÚpackaging.utilsr    r
Úpackaging.versionr r]r rÚ_staticrÚwarningsrÚdistutils.utilrrr$r,r.r2r7rWr[rtrdr˜rªr¨rÇrÆr—r™r'rrú<module>ràs{ðñõ #ã    Û ÛÝ#Ý!Ý'å$Ý.ßCÝ%ç#ÝÝ2å(òóQóó"óóò'BòT òò&HòVó( ò0ò$Góò&ð à ˆhð ðNð ð-ð     ð
Ð%ð  ð Р?ð  ðNð ðð ð
ð ðˆyð ðOð ð Ð.ð! ð",ð# ð$Ð*ð% ð&ð' ð* ð+ ð,>ð- ð.
ð/ ð2'ØØ'à(Øò= Ñr