Ë Ý!;0�.ãó„—ddlmZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z ddl mZmZmZmZmZmZmZmZddlmZddlmZddlmZdd lmZmZmZm Z m!Z!m"Z"m#Z#m$Z$dd l%m&Z&m'Z'er dd l(m)Z)dd lm*Z*d Z+ee,e,e,e,e,e,fZ-Gd„de«Z.Gd„d«Z/Gd„d«Z0Gd„de«Z1Gd„de«Z2y)é)Ú annotationsN)Úcached_property)ÚStringIO)Ú TYPE_CHECKINGÚAnyÚCallableÚIterableÚ NamedTupleÚSequenceÚTupleÚcast)Ú __version__)Ú BuilderConfig)ÚBuilderInterface)Úformat_file_hashÚget_known_python_major_versionsÚget_reproducible_timestampÚnormalize_archive_pathÚnormalize_file_permissionsÚnormalize_inclusion_mapÚ replace_fileÚset_zip_info_mode)ÚDEFAULT_METADATA_VERSIONÚget_core_metadata_constructors)Ú TracebackType)Ú IncludedFilez0.3có6—eZdZUded<ded<ded<ded<y)ÚFileSelectionOptionsú list[str]ÚincludeÚexcludeÚpackagesÚ only_includeN)Ú__name__Ú __module__Ú __qualname__Ú__annotations__©óú=/usr/lib/python3.12/site-packages/hatchling/builders/wheel.pyrr(s…Ø ÓØ ÓØÓØÔr)rcóD—eZdZdd„Zdd„Zd d„Zd d„Z d d„Zy) Ú RecordFilecór—t«|_tj|jddd¬«|_y)NÚ,Ú"Ú )Ú delimiterÚ quotecharÚlineterminator)rÚ_RecordFile__file_objÚcsvÚwriterÚ_RecordFile__writer©Úselfs r*Ú__init__zRecordFile.__init__0s&€Ü"›*ˆŒÜŸ ™  4§?¡?¸cÈSÐaeÔfˆ� r)có:—|jj|«y©N)r7Úwriterow)r9Úrecords r*ÚwritezRecordFile.write4s€Ø � ‰ ×јvÕ&r)có6—|jj«Sr<)r4Úgetvaluer8s r*Ú constructzRecordFile.construct7s€Ø�‰×'Ñ'Ó)Ð)r)có—|Sr<r(r8s r*Ú __enter__zRecordFile.__enter__:ó€Øˆ r)có8—|jj«yr<)r4Úclose©r9Úexc_typeÚ exc_valueÚ tracebacks r*Ú__exit__zRecordFile.__exit__=s€ð �‰×ÑÕr)N)ÚreturnÚNone)r>z Iterable[Any]rMrN©rMÚstr)rMr,©rIztype[BaseException] | NonerJzBaseException | NonerKzTracebackType | NonerMrN)r$r%r&r:r?rBrDrLr(r)r*r,r,/s<„ógó'ó*óð Ø2ð Ø?Sð Ø`tð à ô r)r,cón—eZdZd d„Zed d„«Zd d„Zdd„Zdd„Zdd„Z dd„Z dd„Z dd „Z y )Ú WheelArchivecóv—|›d�|_|›d�|_d|_||_|jr|j «|_nd|_t j d¬«\}|_tj|d«|_ tj|jdtj¬«|_y) z< https://peps.python.org/pep-0427/#abstract z .dist-infoz.dataNú.whl)Úsuffixzw+bÚw)Ú compression)Úmetadata_directoryÚshared_data_directoryÚ time_tupleÚ reproducibleÚget_reproducible_time_tupleÚtempfileÚmkstempÚpathÚosÚfdopenÚfdÚzipfileÚZipFileÚ ZIP_DEFLATEDÚzf)r9Ú project_idr\Úraw_fds r*r:zWheelArchive.__init__Ds˜€ð&0 L° Ð";ˆÔØ(2 |°5Ð%9ˆÔ"Ø-1ˆŒà(ˆÔØ × Ò Ø"×>Ñ>Ó@ˆD�Oà"ˆDŒOä$×,Ñ,°FÔ;ш�” Ü—)‘)˜F EÓ*ˆŒÜ—/‘/ $§'¡'¨3¼Gב>Ó#ˆÜ �-×$Ñ$ dÔ +¨w¸¿¹¿ ¹ ÀXÈsÔ8SÐW_ØØŸ ™  UÓ+�ÙØà—‘ Ô&Ø—‘˜uÔ%ð ð÷ 9T× +ô' x§¡Ó'8Ó9ˆ Ø ¨  }Ð5´s¸9×;LÑ;LÓ7MÐMÐM÷9TÐ8Sú× +Ð +ús$Ä1GÅ9G ÆGÇ G ÇGÇG!cóZ—|j›dt|«›�}|j||«S)NÚ/)rYrÚ write_file)r9r‹Úcontentss r*Úwrite_metadatazWheelArchive.write_metadata{s1€Ø×2Ñ2Ð3°1Ô5KÈMÓ5ZÐ4[Ð\ˆ Ø�‰˜}¨hÓ7Ð7r)cód—|j›d|j›�|_|j|«S)Nz/data/)rZrzr”)r9Ú shared_files r*Úadd_shared_filezWheelArchive.add_shared_files2€Ø+/×+EÑ+EÐ*FÀfÈ[×MjÑMjÐLkÐ(lˆ Ô%Ø�}‰}˜[Ó)Ð)r)cód—|j›d|j›�|_|j|«S)Nz/extra_metadata/)rYrzr”)r9Úextra_metadata_files r*Úadd_extra_metadata_filez$WheelArchive.add_extra_metadata_fileƒs:€à×&Ñ&Ð'Ð'7Ð8K×8]Ñ8]Ð7^Ð _ð Ô-ð�}‰}Ð0Ó1Ð1r)cóŽ—t|t«s|jd«}|jxsd}t j ||«}t |«tj|«}t|j««}|jj||tj¬«|d|›�tt|««fS)Nzutf-8)iäér¡rrr)r‚ry)Ú isinstanceÚbytesÚencoder[rdr|rrƒr„rrˆrgÚwritestrrfrPÚlen)r9r‹r˜r[r�r�r“s r*r—zWheelArchive.write_file‰sœ€Ü˜(¤EÔ*Ø—‘ wÓ/ˆHà—_‘_Ò=Ð(=ˆ Ü—?‘? =°*Ó=ˆÜ˜(Ô#ä—>‘> (Ó+ˆÜ& x§¡Ó'8Ó9ˆ Ø �‰×ј 8¼7×;OÑ;OÐÔPà ¨  }Ð5´s¼3¸x»=Ó7IÐIÐIr)có—|Sr<r(r8s r*rDzWheelArchive.__enter__—rEr)cól—|jj«|jj«yr<)rgrGrcrHs r*rLzWheelArchive.__exit__šs€ð �‰� ‰ ŒØ �‰� ‰ �r)N)rhrPr\ÚboolrMrN)rMr})rŠrrMútuple[str, str, str])r‹rPr˜z str | bytesrMrª)r›rrMrª)ržrrMrª)rMrSrQ) r$r%r&r:Ú staticmethodr]r”r™rœrŸr—rDrLr(r)r*rSrSCsc„óRð$òBóðBó Nó<8ó*ó2ó JóðØ2ðØ?SðØ`tðà ôr)rScó‡—eZdZdˆfd„ Zedd„«Zdd„Zdd„Zdd„Zdd„Z e dd„«Z e dd„«Z e dd „«Z e dd „«Ze dd „«Zedd „«Zej$d vr edd„«ZˆxZSedd„«ZˆxZS)ÚWheelBuilderConfigcój•—t‰|�|i|¤Žd|_d|_d|_d|_d|_yr<)Úsuperr:Ú._WheelBuilderConfig__core_metadata_constructorÚ _WheelBuilderConfig__shared_dataÚ#_WheelBuilderConfig__extra_metadataÚ"_WheelBuilderConfig__strict_namingÚ%_WheelBuilderConfig__macos_max_compat)r9ÚargsÚkwargsÚ __class__s €r*r:zWheelBuilderConfig.__init__¢s=ø€Ü ‰Ñ˜$Ð) &Ò)àFJˆÔ(Ø48ˆÔØ7;ˆÔØ,0ˆÔØ/3ˆÕr)c ó¸—|jjd|jjdg««}|jjd|jjdg««}|jjd|jjdg««}|jjd|jjdg««}|s|s|rt||||«S|jj |jj jj«|jj |jj jj«fD�]}tjjtjj|j|d««r-|j|j|«}tg||gg«cStjjtjj|jd|d««rN|jtjj|jd«|«}tg|d|›�gg«cS|›d�}tjjtjj|j|««rtg|g|g«cSd d lm}|tjj|jd |d««} t#| «d k(s�Œµtjj%| d |j«} | j'tj(«d } tg|| gg«cS|j*s|j,€|j/«r|j1«tg|gg«Sd } t3| «‚)Nr r!r"z only-includez __init__.pyÚsrczsrc/ú.pyr)ÚglobÚ*éaUnable to determine which files to ship inside the wheel using the following heuristics: https://hatch.pypa.io/latest/plugins/builder/wheel/#default-file-selection At least one file selection option must be defined in the `tool.hatch.build.targets.wheel` table, see: https://hatch.pypa.io/latest/config/build/ As an example, if you intend to ship a directory named `foo` that resides within a `src` directory located at the root of your project, you can define the following: [tool.hatch.build.targets.wheel] packages = ["src/foo"])Ú target_configÚgetÚ build_configrÚbuilderÚnormalize_file_name_componentÚmetadataÚcoreÚraw_nameÚnamerar`ÚisfileÚjoinÚrootÚget_raw_fs_path_namer»r¦ÚrelpathÚsplitÚsepÚbypass_selectionÚbuild_artifact_specÚget_force_includeÚset_exclude_allÚ ValueError) r9r r!r"r#Ú project_nameÚnormalized_project_nameÚ module_filer»Úpossible_namespace_packagesr‹Ú namespaceÚmessages r*Údefault_file_selection_optionsz1WheelBuilderConfig.default_file_selection_options«s€à×$Ñ$×(Ñ(¨°D×4EÑ4E×4IÑ4IÈ)ÐUWÓ4XÓYˆØ×$Ñ$×(Ñ(¨°D×4EÑ4E×4IÑ4IÈ)ÐUWÓ4XÓYˆØ×%Ñ%×)Ñ)¨*°d×6GÑ6G×6KÑ6KÈJÐXZÓ6[Ó\ˆØ×)Ñ)×-Ñ-¨n¸d×>OÑ>O×>SÑ>SÐTbÐdfÓ>gÓhˆ á ‘h¡,Ü'¨°¸(ÀLÓQÐ Qð �L‰L× 6Ñ 6°t·|±|×7LÑ7L×7QÑ7Q×7ZÑ7ZÓ [Ø �L‰L× 6Ñ 6°t·|±|×7LÑ7L×7QÑ7Q×7VÑ7VÓ Wô ˆLô�w‰w�~‰~œbŸg™gŸl™l¨4¯9©9°lÀMÓRÔSØ*.×*CÑ*CÀDÇIÁIÈ|Ó*\Ð'Ü+¨B°Ð:QÐ9RÐTVÓWÒWä�w‰w�~‰~œbŸg™gŸl™l¨4¯9©9°e¸\È=ÓYÔZØ*.×*CÑ*CÄBÇGÁGÇLÁLÐQU×QZÑQZÐ\aÓDbÐdpÓ*qÐ'Ü+¨B°¸DÐAXÐ@YÐ:ZÐ9[Ð]_Ó`Ò`à)˜N¨#Ð.ˆKÜ�w‰w�~‰~œbŸg™gŸl™l¨4¯9©9°kÓBÔCÜ+¨B°¸¸k¸]ÓKÒKå !á*.¬r¯w©w¯|©|¸D¿I¹IÀsÈLÐZgÓ/hÓ*iÐ 'ÜÐ.Ó/°1Ô4Ü "§¡§¡Ð0KÈAÑ0NÐPT×PYÑPYÓ Z� Ø)×/Ñ/´·±Ó7¸Ñ:� Ü+¨B°¸)¸ÀbÓIÒIð- ð0 × Ò  D×$<Ñ$<Ð$HÈD×LbÑLbÔLdØ × Ñ Ô "Ü'¨¨G°R¸Ó<Ð <ð %ð ô˜Ó!Ð!r)có.—|jjSr<)rÙr r8s r*Údefault_includez"WheelBuilderConfig.default_includeÜó€Ø×2Ñ2×:Ñ:Ð:r)có.—|jjSr<)rÙr!r8s r*Údefault_excludez"WheelBuilderConfig.default_excludeßrÜr)có.—|jjSr<)rÙr"r8s r*Údefault_packagesz#WheelBuilderConfig.default_packagesâs€Ø×2Ñ2×;Ñ;Ð;r)có.—|jjSr<)rÙr#r8s r*Údefault_only_includez'WheelBuilderConfig.default_only_includeås€Ø×2Ñ2×?Ñ?Ð?r)c óh—|j€›|jjdt«}t |t «sd|j ›d�}t|«‚t«}||vr8d|›d|j ›ddjt|««›�}t|«‚|||_|jS)Nzcore-metadata-versionú Field `tool.hatch.build.targets.z(.core-metadata-version` must be a stringzUnknown metadata version `z&` for field `tool.hatch.build.targets.z$.core-metadata-version`. Available: z, ) r°r¾r¿rr¢rPÚ plugin_nameÚ TypeErrorrrÈÚsortedrÒ)r9Úcore_metadata_versionrØÚ constructorss r*Úcore_metadata_constructorz,WheelBuilderConfig.core_metadata_constructorèsÌ€à × +Ñ +Ð 3Ø$(×$6Ñ$6×$:Ñ$:Ð;RÔTlÓ$mÐ !ÜÐ3´SÔ9Ø<¸T×=MÑ=MÐÚwin32ÚdarwincóŒ—|j«}tj|«}|D]}|j«|k(sŒ|cS|Sr<)ÚcasefoldraÚlistdir)Ú directoryrÆÚ normalizedÚentriesÚentrys r*rÊz'WheelBuilderConfig.get_raw_fs_path_namejs@€àŸ™›ˆJÜ—j‘j Ó+ˆGÛ �Ø—>‘>Ó# zÓ1Ø ’Lð!ðˆKr)có—|Sr<r()rrÆs r*rÊz'WheelBuilderConfig.get_raw_fs_path_namevs€àˆKr))rµrr¶rrMrN)rMr©rMr)rMzCallable[..., str])rMúdict[str, str])rMr©)rrPrÆrPrMrP)r$r%r&r:rrÙrÛrÞràrâÚpropertyrêrór÷rùrûrÎÚsysÚplatformr«rÊÚ __classcell__)r·s@r*r­r­¡sáø„õ4ðò."óð."ó`;ó;ó<ó@ðò0óð0ð(ò"óð"ðBò%óð%ðBò$óð$ð"ò 'óð 'ðò óð ð ‡|�|Ð*Ñ*à ò ó ô ð ò ó ô r)r­có*—eZdZdZdZdd„Zdd„Z dd„Zdd„Zdd„Z dd„Z dd „Z dd „Z dd „Z d dd „Zed!d „«Zdd„Z d d"d„Zdd„Zd!d„Zd#d„Zd#d„Zd#d„Zd$d„Zd%d„Zed#d„«Zed&d„«Zy)'Ú WheelBuilderz1 Build a binary distribution (.whl file) Úwheelcó4—|j|jdœS)N)ÚstandardÚeditable)Úbuild_standardÚbuild_editabler8s r*Úget_version_apizWheelBuilder.get_version_api‚s€Ø ×/Ñ/¸T×=PÑ=PÑQÐQr)có—dgS)Nrr(r8s r*Úget_default_versionsz!WheelBuilder.get_default_versions…s €Øˆ|Ðr)có—tj|«D]G}|jd«sŒtjtjj ||««ŒIy)NrU)rarÚendswithÚremover`rÈ)r9rÚversionsÚfilenames r*ÚcleanzWheelBuilder.cleanˆs@€ô Ÿ ™  9Ö-ˆHØ× Ñ  Õ(Ü— ‘ œ"Ÿ'™'Ÿ,™, y°(Ó;Õ<ñ.r)c óÔ—d|vr,|dr|j«|d<n|j«|d<t|j|jj ¬«5}t «5}|j«D]$}|j|«}|j|«Œ&|j||||d«|j|j›d�ddf«|jd|j««ddd«ddd«tjj!||j›d|d›d �«}t#j|«|S#1swYŒ\xYw#1swYŒ`xYw) NÚtagÚ infer_tag©r\Ú dependenciesú/RECORDÚÚRECORDÚ-rU)Úget_best_matching_tagÚget_default_tagrSÚartifact_project_idÚconfigr\r,Úrecurse_included_filesr”r?Ú write_datarYr™rBrar`rÈr)r9rÚ build_dataÚarchiveÚrecordsrŠr>Útargets r*rzWheelBuilder.build_standard‘sB€Ø ˜ Ñ "ؘ+Ò&Ø$(×$>Ñ$>Ó$@� ˜5Ò!à$(×$8Ñ$8Ó$:� ˜5Ñ!ä Ø × $Ñ $°4·;±;×3KÑ3Kõ à ”j”l gØ!%×!<Ñ!<Ö!>� Ø ×)Ñ)¨-Ó8�Ø— ‘ ˜fÕ%ð"?ð �O‰O˜G W¨j¸*À^Ñ:TÔ Uà �M‰M˜g×8Ñ8Ð9¸ÐAÀ2ÀrÐJÔ KØ × "Ñ " 8¨W×->Ñ->Ó-@Ô A÷#÷ ô—‘—‘˜i¨D×,DÑ,DÐ+EÀQÀzÐRWÑGXÐFYÐY]Ð)^Ó_ˆä�W—\‘\ 6Ô*؈ ÷#�lú÷ ð ús%Á EÁ'BEÃ7EÅE ÅEÅE'c óz—|jjr|j|fi|¤ŽS|j|fi|¤ŽSr<)r*Ú dev_mode_dirsÚbuild_editable_explicitÚbuild_editable_detection)r9rr-s r*rzWheelBuilder.build_editable©s?€Ø �;‰;× $Ò $Ø/�4×/Ñ/° ÑH¸ZÑHÐ Hà,ˆt×,Ñ,¨YÑE¸*ÑEÐEr)c ó˜—ddlm}|j«|d<t|j|j j ¬«5}t«5}i}|j«D�]P}|jjd«sŒ |j}|j} |jtj«} t!| «dk(rNtjj#|j$|«|tjj'|«d<Œ³| d} | |k(r.tjj#|j$| «|| <Œë| jtj«d} tjj#|j$|d|j)| «›| ›�«|| <�ŒS||j,j.j0|j$«}|j j2r+|j5«D]\}}|j7||«ŒnC|j9«D]0}|j;tjj=|««Œ2t?|jA««D]Q\}}|}|jd«r|jCd «sd |›�}|jE||«}|jG|«ŒS|jI|jK|««D]$}|jM|«}|jG|«Œ&tO|d «}|jQ«D](}|}|d k(r |d tR›�z }n |jU|«Œ*|jW||||«|jG|jX›d �ddf«|j[d|j]««ddd«ddd«tjj#||j›d|d›d�«}t_j|«|S#t*$rd} t+| «d‚wxYw#1swYŒwxYw#1swYŒ{xYw)Nr)ÚEditableProjectrr!rºr½z±Dev mode installations are unsupported when any path rewrite in the `sources` option changes a prefix rather than removes it, see: https://github.com/pfmoore/editables/issues/20ú.pthÚ_r"Ú editablesz~=r#r$r%r&rU)0r9r6r(rSr)r*r\r,Úrecurse_selected_project_filesr`rr‹rzrÌrarÍr¦rÈrÉÚsplitextÚindexrÒrÃrÄrÆÚdev_mode_exactròÚmapÚvaluesÚ add_to_pathÚdirnamerçÚfilesÚ startswithr—r?Úrecurse_forced_filesÚget_forced_inclusion_mapr”Úlistr"ÚEDITABLES_MINIMUM_VERSIONÚappendr,rYr™rBr)r9rr-r6r.r/Úexposed_packagesrŠr‹rzÚ path_partsÚ root_moduleÚdistribution_modulerØÚeditable_projectÚmoduleÚ raw_filenameÚcontentrr>Úextra_dependenciesÚraw_dependencyÚ dependencyr0s r*r4z%WheelBuilder.build_editable_detection¯s߀Ý-à ×0Ñ0Ó2ˆ �5Ñä Ø × $Ñ $°4·;±;×3KÑ3Kõ à ”j”l gØ!Ð Ø!%×!DÑ!D×!F� Ø$×)Ñ)×2Ñ2°5Ô9Øà -× ;Ñ ;� Ø$1×$CÑ$CÐ!Ø*×0Ñ0´·±Ó8� ô�z“? aÒ'ÜKMÏ7É7Ï<É<ÐX\×XaÑXaÐcpÓKqÐ$¤R§W¡W×%5Ñ%5°mÓ%DÀQÑ%GÑHØð)¨™m� Ø$¨ Ò5Ü46·G±G·L±LÀÇÁÈKÓ4XÐ$ [Ò1à*;×*AÑ*AÄ"Ç&Á&Ó*IÈ!Ñ*LÐ'ð <Ü@BÇÁÇ Á Ø ŸI™IØ,Ð-T¨m×.AÑ.AÐBSÓ.TÐUÐVÐWjÐVkÐlóAÐ(Ð)<Ó=ð)"Gñ@ /¨t¯}©}×/AÑ/A×/FÑ/FÈÏ É ÓRÐ à�{‰{×)Ò)Ø-=×-CÑ-CÖ-EÑ)�F˜MØ$×(Ñ(¨°Õ?ñ.Fð&6×%<Ñ%<Ö%>�MØ$×0Ñ0´·±·±ÀÓ1OÕPð&?ô*0Ð0@×0FÑ0FÓ0HÖ)IÑ%� ˜gØ'�Ø×$Ñ$ VÔ,°X×5HÑ5HÈÔ5MØ!" 8 *˜~�Hà ×+Ñ+¨H°gÓ>�Ø— ‘ ˜fÕ%ð *Jð"&×!:Ñ!:¸4×;XÑ;XÐYcÓ;dÖ!e� Ø ×)Ñ)¨-Ó8�Ø— ‘ ˜fÕ%ð"fô"& j°Ñ&@Ó!AÐ Ø"2×"?Ñ"?Ö"A�Ø+� Ø Ò,Ø BÔ'@Ð&AÐ"BÑB‘Jàà"×)Ñ)¨*Õ5ð#Bð �O‰O˜G W¨jÐ:LÔ Mà �M‰M˜g×8Ñ8Ð9¸ÐAÀ2ÀrÐJÔ KØ × "Ñ " 8¨W×->Ñ->Ó-@Ô A÷I#÷ ôP—‘—‘˜i¨D×,DÑ,DÐ+EÀQÀzÐRWÑGXÐFYÐY]Ð)^Ó_ˆä�W—\‘\ 6Ô*؈ øô_&ò<ðMð ô )¨Ó1°tÐ;ð <ú÷5#�lú÷ ð ús?Á QÁD P4Å1APÆ4H P4Î>QÐP1 Ð1P4Ð4P= Ð9QÑQ c óÔ‡—‰j«|d<t‰j‰jj¬«5}t «5}t ˆfd„‰jjD««}|jd‰jjjjdd«›d�dj|««}|j|«‰j‰j!|««D]$}|j#|«}|j|«Œ&‰j%||||d«|j|j&›d �d d f«|j)d |j+««ddd«ddd«t,j.j|‰j›d|d›d �«}t1j.|«|S#1swYŒ\xYw#1swYŒ`xYw) Nrr!c3ó¬•K—|]K}tjjtjj‰j|««–—ŒMy­wr<)rar`ÚnormpathrÈrÉ)Ú.0Úrelative_directoryr9s €r*Ú z7WheelBuilder.build_editable_explicit..s=øèø€ð!á*CÐ&ô—‘× Ñ ¤§¡§¡¨d¯i©iÐ9KÓ!L×MÙ*CùsƒAAr8r&r7r0r"r#r$r%rU)r(rSr)r*r\r,rçr2r—rÃrÄrÆÚreplacerÈr?rDrEr”r,rYr™rBrar`r) r9rr-r.r/Ú directoriesr>rŠr0s ` r*r3z$WheelBuilder.build_editable_explicits¦ø€Ø ×0Ñ0Ó2ˆ �5Ñä Ø × $Ñ $°4·;±;×3KÑ3Kõ à ”j”l gÜ ó!à*.¯+©+×*CÒ*Có!óˆKð ×'Ñ'¨!¨D¯M©M×,>Ñ,>×,CÑ,C×,KÑ,KÈCÐQTÓ,UÐ+VÐVZÐ([Ð]a×]fÑ]fÐgrÓ]sÓtˆFØ �M‰M˜&Ô !à!%×!:Ñ!:¸4×;XÑ;XÐYcÓ;dÖ!e� Ø ×)Ñ)¨-Ó8�Ø— ‘ ˜fÕ%ð"fð �O‰O˜G W¨j¸*À^Ñ:TÔ Uà �M‰M˜g×8Ñ8Ð9¸ÐAÀ2ÀrÐJÔ KØ × "Ñ " 8¨W×->Ñ->Ó-@Ô A÷!#÷ ô(—‘—‘˜i¨D×,DÑ,DÐ+EÀQÀzÐRWÑGXÐFYÐY]Ð)^Ó_ˆä�W—\‘\ 6Ô*؈ ÷+#�lú÷ ð ús%Á GÁ D,GÅ7GÇG ÇGÇG'cóR—|j||«|j||||¬«y©N©rQ)Úadd_shared_datar™©r9r.r/r-rQs r*r,zWheelBuilder.write_datas.€ð ×јW gÔ.ð ×јG W¨jÐM_ÐÕ`r)cóœ—|j|jj«D]$}|j|«}|j |«Œ&yr<)Úrecurse_explicit_filesr*rórœr?)r9r.r/r›r>s r*r_zWheelBuilder.add_shared_data%s>€Ø×6Ñ6°t·{±{×7NÑ7NÖOˆKØ×,Ñ,¨[Ó9ˆFØ �M‰M˜&Õ !ñPr)cóÀ—|j|||¬«|j|||«|j||«|j||«|j |||«yr])Úwrite_project_metadataÚwrite_archive_metadataÚwrite_entry_points_fileÚ add_licensesÚadd_extra_metadatar`s r*r™zWheelBuilder.write_metadata*sf€ð ×#Ñ# G¨WÐI[Ð#Ô\ð ×#Ñ# G¨W°jÔAð ×$Ñ$ W¨gÔ6ð ×ј' 7Ô+ð ×Ñ ¨°*Õ=r)c óÞ—ddlm}dt›d|drdnd›d�}tt t ||d «««D] }|d |›d�z }Œ |j d |«}|j|«y) Nr)Ú parse_tagz(Wheel-Version: 1.0 Generator: hatchling z Root-Is-Purelib: Ú pure_pythonÚtrueÚfalser0rzTag: ÚWHEEL)Úpackaging.tagsrjrrçr>rPr™r?)r.r/r-rjrÃrr>s r*rez#WheelBuilder.write_archive_metadataCs…€å,ðä!�]ð#Ø& }Ò5‘&¸7ÐCðDðˆô œ#œc¡9¨Z¸Ñ->Ó#?Ó@ÖAˆCØ ˜% ˜u B˜Ñ '‰HðBð×'Ñ'¨°Ó:ˆØ� ‰ �fÕr)cóp—|j«}|r$|jd|«}|j|«yy)Nzentry_points.txt)Úconstruct_entry_points_filer™r?)r9r.r/Úentry_points_filer>s r*rfz$WheelBuilder.write_entry_points_fileSs9€Ø ×<Ñ<Ó>ÐÙ Ø×+Ñ+Ð,>Ð@QÓRˆFØ �M‰M˜&Õ !ð r)có”—|jd|jj|j|¬««}|j |«y)NÚMETADATAr^)r™r*rêrÃr?)r9r.r/rQr>s r*rdz#WheelBuilder.write_project_metadataYs@€ð×'Ñ'Ø ˜Ÿ ™ ×=Ñ=¸d¿m¹mÐ`rÐ=Ósó ˆð � ‰ �fÕr)có†—|jjjD]’}tjj tjj |j|««}t|d«5}|jd|›�|j««}|j|«ddd«Œ”y#1swYŒŸxYw)Nrxz licenses/) rÃrÄÚ license_filesrar`rVrÈrÉr…r™r†r?)r9r.r/r‹Ú license_fileÚfr>s r*rgzWheelBuilder.add_licensesas‰€Ø!Ÿ]™]×/Ñ/×=Ô=ˆMÜŸ7™7×+Ñ+¬B¯G©G¯L©L¸¿¹ÀMÓ,RÓSˆLÜ�l DÔ)¨QØ ×/Ñ/°)¸M¸?Ð0KÈQÏVÉVËXÓV�Ø— ‘ ˜fÔ%÷*Ð)ñ>ç)Ð)ús Á75B7Â7C có—t|jj«}|jt |d|j ««|j |«D]$}|j|«}|j|«Œ&y)Nr÷) rðr*r÷r‡rrÉrbrŸr?)r9r.r/r-r÷ržr>s r*rhzWheelBuilder.add_extra_metadatahsm€Ü˜dŸk™k×8Ñ8Ó9ˆØ×ÑÔ5°jÐAQÑ6RÐTX×T]ÑT]Ó^Ô_à#'×#>Ñ#>¸~Ö#NÐ Ø×4Ñ4Ð5HÓIˆFØ �M‰M˜&Õ !ñ$Or)cóþ—|jj}d}|jr2|dz }|jj«D]\}}||›d|›d�z }Œ|jr2|dz }|jj«D]\}}||›d|›d�z }Œ|j rN|j j«D]1\}}|d|›d�z }|j«D]\}}||›d|›d�z }ŒŒ3|j «S)Nr$z [console_scripts] z = r0z [gui_scripts] z [z] )rÃrÄÚscriptsròÚ gui_scriptsÚ entry_pointsÚlstrip)r9Ú core_metadataÚ metadata_filerÆÚ object_refÚgroupr}s r*rqz(WheelBuilder.construct_entry_points_fileps)€ØŸ ™ ×*Ñ*ˆ ؈ à × Ò Ø Ð4Ñ 4ˆMØ$1×$9Ñ$9×$?Ñ$?Ö$AÑ ��jØ D 6¨¨Z¨L¸Ð!;Ñ;‘ ð%Bð × $Ò $Ø Ð0Ñ 0ˆMØ$1×$=Ñ$=×$CÑ$CÖ$EÑ ��jØ D 6¨¨Z¨L¸Ð!;Ñ;‘ ð%Fð × %Ò %Ø'4×'AÑ'A×'GÑ'GÖ'IÑ#��|Ø 3 u g¨SÐ!1Ñ1� Ø(4×(:Ñ(:Ö(<Ñ$�D˜*Ø!¨ v¨S°° ¸BÐ%?Ñ?‘Mñ)=ð(Jð ×#Ñ#Ó%Ð%r)có—g}t«D]\}td«D]L}|jjjj |›d|›�«sŒ8|j d|›�«Œ\Œ^dj|«›d�S)NédÚ.Úpyz -none-any)rÚrangerÃrÄÚpython_constraintÚcontainsrHrÈ)r9Úsupported_python_versionsÚ major_versionÚ minor_versions r*r(zWheelBuilder.get_default_tag†s�€Ø$&Ð!Ü<Ö>ˆMÜ!& s¦� Ø—=‘=×%Ñ%×7Ñ7×@Ñ@ÀMÀ?ÐRSÐTaÐSbÐAcÕdØ-×4Ñ4°r¸-¸Ð5IÔJÙñ",ð?ð —(‘(Ð4Ó5Ð6°iÐ@Ð@r)cóú—ddl}ddlm}t|««}|j|j |j g}tjjdd«}|j dk(rÿ|rx|jdddk\rfddl}ddl }|jd|«}|rJ|d} |j«d} t|«d d hk(rd n|d} | d| j| «›| ›�|d<|j j"roddl }|d} |j%d | «} | rR| j'd «} t)t+t,| j/d«««dk\r| j1| dd «|d<dj3|«S)Nr)Úsys_tagsÚ ARCHFLAGSr$rþr¡)ééz -arch (\S+)Úx86_64Úarm64Ú universal2zmacosx_(\d+_\d+)r½r8)é rÚ10_16r&)r rorŽÚnextÚ interpreterÚabir raÚenvironr¿Ú version_infoÚreÚfindallÚmac_verÚsetÚrfindr*rûÚsearchr‚Útupler>ÚintrÌrZrÈ)r9r rŽrÚ tag_partsÚ archflagsr rœÚarchsÚplatÚ current_archÚnew_archÚ sdk_matchÚsdk_version_parts r*r'z"WheelBuilder.get_best_matching_tag�s\€Ûå+ä‘8“:ӈؗ_‘_ c§g¡g¨s¯|©|Ð<ˆ ä—J‘J—N‘N ;°Ó3ˆ Ø �<‰<˜8Ò #Ù˜S×-Ñ-¨b¨qÐ1°VÒ;ÛÛàŸ ™  >°9Ó=�ÙØ$ Q™<�DØ#+×#3Ñ#3Ó#5°aÑ#8�LÜ/2°5«z¸hÈÐ=PÒ/P™|ÐV[Ð\]ÑV^�HØ&*Ð+D¨D¯J©J°|Ó,DÐ&EÐ%FÀxÀjÐ#Q�I˜a‘Là�{‰{×+Ò+Ûà  ‘|�ØŸI™IÐ&9¸4Ó@� ÙØ'0§¡°qÓ'9Ð$ÜœS¤Ð&6×&<Ñ&<¸SÓ&AÓBÓCÀwÒNØ'+§|¡|Ð4DÀgÈqÓ'Q˜  !™ à�x‰x˜ Ó"Ð"r)có—ddgiidœS)NFT)r rkr"Úforce_include_editabler÷r(r8s r*Úget_default_build_dataz#WheelBuilder.get_default_build_data±s€àØØØ&(Ø ñ  ð r)cór—|ds|jj«St|d|j«S)Nr­)r*rÐrrÉ)r9r-s r*rEz%WheelBuilder.get_forced_inclusion_mapºs5€ØÐ2Ò3Ø—;‘;×0Ñ0Ó2Ð 2ä& zÐ2JÑ'KÈTÏYÉYÓWÐWr)cóÖ—|jjr |jS|j|jj j «›d|jj›�S)Nr&)r*rùrhrÂrÃrÄrÅÚversionr8s r*r)z WheelBuilder.artifact_project_idÀs_€ð�{‰{×(Ò(ð �O‰Oð ð×6Ñ6°t·}±}×7IÑ7I×7RÑ7RÓSÐTÐTUÐVZ×VcÑVc×VkÑVkÐUlÐmð r)có—tSr<)r­)Úclss r*Úget_config_classzWheelBuilder.get_config_classÈs€ä!Ð!r)N)rMzdict[str, Callable]r)rrPrrrMrN)rrPr-rrMrP) r.rSr/r,r-údict[str, Any]rQú Sequence[str]rMrN)r.rSr/r,rMrN)r()r.rSr/r,r-rµrMrN)r.rSr/r,rQr¶rMrNrO)rMrµ)r-rµrMr)rMztype[WheelBuilderConfig])r$r%r&Ú__doc__Ú PLUGIN_NAMErrrrrr4r3r,r_r™r«rerfrdrgrhrqr(r'r®rEr r)Ú classmethodr´r(r)r*rr{sV„ñð€KóRóð=àð=ðð=ð ó =óó0Fó Pódð8aØ#ðaØ.8ðaØFTðaØjwðaà óaó"ð-/ð >àð>ðð>ð#ð >ð *ð >ð ó >ð2ò óð ó"ð_aðØ#ðØ.8ðØN[ðà óó&ó"ó&ó,Aó#óB óXð ò óð ðò"óñ"r)r)3Ú __future__rr5rƒrar{r r^rdÚ functoolsrÚiorÚtypingrrrr r r r r Úhatchling.__about__rÚhatchling.builders.configrÚ#hatchling.builders.plugin.interfacerÚhatchling.builders.utilsrrrrrrrrÚhatchling.metadata.specrrÚtypesrrrGr£r}rr,rSr­rr(r)r*ÚrÄs³ðÝ"ã ÛÛ Û Û ÛÛÝ%Ýß\×\Ó\å+Ý3Ý@÷ ÷ ó ÷]áÝ#å@ð"Ðà �3˜˜S # s¨CÐ/Ñ 0€ ô˜:ô÷ ñ ÷([ñ[ô|W˜ôWôtO"Ð#õO"r)