Ë
    äØjj3'  ã                   ój  — d dl Zd dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZ d dlmZmZmZ d dlmZ d d	lmZm Z  d d
l!m"Z"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* g d¢Z+ ejX                  e-«      Z.dZ/ G d„ de«      Z0 G d„ d«      Z1 G d„ de%«      Z2 G d„ de'«      Z3y)é    N)Ú
CollectionÚIterableÚIteratorÚListÚMappingÚ
NamedTupleÚOptional)Úpkg_resources)ÚRequirement)ÚNormalizedNameÚcanonicalize_name)Úparse)ÚInvalidWheelÚNoneMetadataErrorÚUnsupportedWheel)Úegg_link_path_from_location)Údisplay_pathÚnormalize_path)Úparse_wheelÚread_wheel_metadata_fileé   )ÚBaseDistributionÚBaseEntryPointÚBaseEnvironmentÚDistributionVersionÚInfoPathÚWheel)ÚNAMEÚDistributionÚEnvironmentr
   c                   ó,   — e Zd ZU eed<   eed<   eed<   y)Ú
EntryPointÚnameÚvalueÚgroupN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__© ó    úf/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.pyr"   r"   "   s   … Ø
ƒIØƒJØ„Jr,   r"   c                   óž   — e Zd ZdZdeeef   deddfd„Zdedefd„Z	dedefd	„Z
dedee   fd
„Zdedefd„Zdedee   fd„Zdededdfd„Zy)ÚInMemoryMetadataz”IMetadataProvider that reads metadata files from a dictionary.

    This also maps metadata decoding exceptions to our internal exception type.
    ÚmetadataÚ
wheel_nameÚreturnNc                 ó    — || _         || _        y ©N)Ú	_metadataÚ_wheel_name)Úselfr0   r1   s      r-   Ú__init__zInMemoryMetadata.__init__.   s   € Ø!ˆŒØ%ˆÕr,   r#   c                 ó   — || j                   v S r4   )r5   ©r7   r#   s     r-   Úhas_metadatazInMemoryMetadata.has_metadata2   s   € Ø�t—~‘~Ð%Ð%r,   c           
      óž   — 	 | j                   |   j                  «       S # t        $ r$}t        d| j                  › d|› d|› d�«      ‚d }~ww xY w)NzError decoding metadata for z: z in z file)r5   ÚdecodeÚUnicodeDecodeErrorr   r6   )r7   r#   Úes      r-   Úget_metadatazInMemoryMetadata.get_metadata5   s[   € ð	Ø—>‘> $Ñ'×.Ñ.Ó0Ð0øÜ!ò 	ä"Ø.¨t×/?Ñ/?Ð.@ÀÀ1À#ÀTÈ$ÈÈuÐUóð ûð	ús   ‚ Ÿ	A¨AÁAc                 óJ   — t        j                  | j                  |«      «      S r4   )r
   Úyield_linesr@   r:   s     r-   Úget_metadata_linesz#InMemoryMetadata.get_metadata_lines>   s   € Ü×(Ñ(¨×):Ñ):¸4Ó)@ÓAÐAr,   c                  ó   — y©NFr+   r:   s     r-   Úmetadata_isdirzInMemoryMetadata.metadata_isdirA   s   € Ør,   c                 ó   — g S r4   r+   r:   s     r-   Úmetadata_listdirz!InMemoryMetadata.metadata_listdirD   s   € Øˆ	r,   Úscript_nameÚ	namespacec                  ó   — y r4   r+   )r7   rI   rJ   s      r-   Ú
run_scriptzInMemoryMetadata.run_scriptG   s   € Ør,   )r&   r'   r(   Ú__doc__r   r)   Úbytesr8   Úboolr;   r@   r   rC   rF   r   rH   rL   r+   r,   r-   r/   r/   (   s®   „ ñð
& ¨¨e¨Ñ!4ð &À#ð &È$ó &ð& ð &¨ó &ð ð ¨ó ðB sð B¨x¸©}ó Bð 3ð ¨4ó ð Sð ¨T°#©Yó ð cð °cð ¸dô r,   r/   c            	       óØ  — e Zd Zdej                  ddfd„Zededefd„«       Z	ede
ded	edefd
„«       Zedededefd„«       Zedee   fd„«       Zedee   fd„«       Zedee   fd„«       Zedefd„«       Zedefd„«       Zedefd„«       Zdedefd„Zdee   fd„Zdedefd„Zdee   fd„Z de!jD                  jF                  fd„Z$dde%e   dee&   fd„Z'dee   fd„Z(dedefd„Z)y) r   Údistr2   Nc                 ó   — || _         y r4   )Ú_dist©r7   rQ   s     r-   r8   zDistribution.__init__L   s	   € Øˆ�
r,   Ú	directoryc                 ó  — |j                  t        j                  «      }t        j                  j	                  |«      \  }}t        j                  ||«      }|j                  d«      r3t
        j                  }t        j                  j                  |«      d   }nW|j                  d«      sJ ‚t
        j                  }t        j                  j                  |«      d   j	                  d«      d   } ||||¬«      } | |«      S )Nz	.egg-infor   z
.dist-infoú-)Úproject_namer0   )ÚrstripÚosÚsepÚpathÚsplitr
   ÚPathMetadataÚendswithr   ÚsplitextÚDistInfoDistribution)	ÚclsrU   Údist_dirÚbase_dirÚdist_dir_namer0   Údist_clsÚ	dist_namerQ   s	            r-   Úfrom_directoryzDistribution.from_directoryO   sÕ   € à×#Ñ#¤B§F¡FÓ+ˆô #%§'¡'§-¡-°Ó"9Ñˆ�-Ü ×-Ñ-¨h¸ÓAˆð ×Ñ˜[Ô)Ü$×1Ñ1ˆHÜŸ™×(Ñ(¨Ó7¸Ñ:‰Ià×$Ñ$ \Ô2Ð2Ð2Ü$×9Ñ9ˆHÜŸ™×(Ñ(¨Ó7¸Ñ:×@Ñ@ÀÓEÀaÑHˆIá˜¨yÀ8ÔLˆÙ�4‹yÐr,   Úmetadata_contentsÚfilenamerX   c                 ó^   — d|i}t        j                  |t        ||«      |¬«      } | |«      S )NÚMETADATA©Úlocationr0   rX   )r
   ra   r/   )rb   ri   rj   rX   Úmetadata_dictrQ   s         r-   Úfrom_metadata_file_contentsz(Distribution.from_metadata_file_contentsc   s?   € ð Ð)ð
ˆô ×1Ñ1ØÜ% m°XÓ>Ø%ô
ˆñ
 �4‹yÐr,   Úwheelr#   c           	      ó,  — 	 |j                  «       5 }t        ||«      \  }}|j                  «       D �ci c]6  }|j                  |› d�«      r |j	                  dd«      d   t        ||«      “Œ8 }}d d d «       t        j                  |j                  t        |j                  «      |¬«      }	 | |	«      S c c}w # 1 sw Y   ŒLxY w# t        j                  $ r}t        |j                  |«      |‚d }~wt        $ r}t        |› d|› �«      ‚d }~ww xY w)Nú/r   éÿÿÿÿz has an invalid wheel, rm   )Ú
as_zipfiler   ÚnamelistÚ
startswithr]   r   ÚzipfileÚ
BadZipFiler   rn   r   r
   ra   r/   )
rb   rq   r#   ÚzfÚinfo_dirÚ_r\   ro   r?   rQ   s
             r-   Ú
from_wheelzDistribution.from_wheelt   s  € ð	HØ×!Ñ!Ó#ð  rÜ)¨"¨dÓ3‘�˜!ð !#§¡£ö!àØ—‘¨(¨°1 ~Ô6ð —J‘J˜s AÓ& rÑ*Ô,DÀRÈÓ,NÑNð!�ð !÷ô ×1Ñ1Ø—^‘^Ü% m°U·^±^ÓDØô
ˆñ
 �4‹yÐùò!÷ð ûô ×!Ñ!ò 	<Ü˜uŸ~™~¨tÓ4¸!Ð;ûÜò 	HÜ" d VÐ+BÀ1À#Ð#FÓGÐGûð	HúsK   ‚C ’"B<´;B7Á/B<Á1C Â7B<Â<CÃC ÃDÃC2Ã2DÃ>DÄDc                 ó.   — | j                   j                  S r4   )rS   rn   ©r7   s    r-   rn   zDistribution.location‰   ó   € à�z‰z×"Ñ"Ð"r,   c                 ó’   — t        | j                  «      }|r|}t        |«      S | j                  r| j                  }t        |«      S y r4   )r   Úraw_namern   r   )r7   Úegg_linkrn   s      r-   Úinstalled_locationzDistribution.installed_location�   sI   € ä.¨t¯}©}Ó=ˆÙØˆHô
 ˜hÓ'Ð'ð	 �]Š]Ø—}‘}ˆHô ˜hÓ'Ð'ð r,   c                 ó.   — | j                   j                  S r4   )rS   Úegg_infor   s    r-   Úinfo_locationzDistribution.info_location˜   r€   r,   c                 ót   — 	 t        | j                  j                  j                  «      S # t        $ r Y yw xY wrE   )rO   rS   Ú	_providerr\   ÚAttributeErrorr   s    r-   Úinstalled_by_distutilsz#Distribution.installed_by_distutilsœ   s4   € ð
	Ü˜Ÿ
™
×,Ñ,×1Ñ1Ó2Ð2øÜò 	Ùð	ús   ‚(+ «	7¶7c                 ó@   — t        | j                  j                  «      S r4   )r   rS   rX   r   s    r-   Úcanonical_namezDistribution.canonical_name¦   s   € ä  §¡×!8Ñ!8Ó9Ð9r,   c                 ó@   — t        | j                  j                  «      S r4   )Úparse_versionrS   Úversionr   s    r-   r�   zDistribution.versionª   s   € ä˜TŸZ™Z×/Ñ/Ó0Ð0r,   r\   c                 óJ   — | j                   j                  t        |«      «      S r4   )rS   r;   r)   )r7   r\   s     r-   Úis_filezDistribution.is_file®   s   € Ø�z‰z×&Ñ&¤s¨4£yÓ1Ð1r,   c              #   óV   K  — | j                   j                  d«      E d {  –—†  y 7 Œ­w)NÚscripts)rS   rH   r   s    r-   Úiter_distutils_script_namesz(Distribution.iter_distutils_script_names±   s   è ø€ Ø—:‘:×.Ñ.¨yÓ9×9Ò9ús   ‚)¡'¢)c                 óº   — t        |«      }| j                  j                  |«      st        |«      ‚| j                  j	                  |«      }|€t        | |«      ‚|S r4   )r)   rS   r;   ÚFileNotFoundErrorr@   r   )r7   r\   r#   Úcontents       r-   Ú	read_textzDistribution.read_text´   sS   € Ü�4‹yˆØ�z‰z×&Ñ& tÔ,Ü# DÓ)Ð)Ø—*‘*×)Ñ)¨$Ó/ˆØˆ?Ü# D¨$Ó/Ð/Øˆr,   c              #   ó0  K  — | j                   j                  «       j                  «       D ]g  \  }}|j                  «       D ]O  \  }}t        |«      j	                  d«      \  }}}t        |j                  «       |j                  «       |¬«      –— ŒQ Œi y ­w)Nú=)r#   r$   r%   )rS   Úget_entry_mapÚitemsr)   Ú	partitionr"   Ústrip)r7   r%   Úentriesr#   Úentry_pointr|   r$   s          r-   Úiter_entry_pointszDistribution.iter_entry_points½   sƒ   è ø€ Ø"Ÿj™j×6Ñ6Ó8×>Ñ>Ó@ò 	V‰NˆE�7Ø%,§]¡]£_ò VÑ!��kÜ!$ [Ó!1×!;Ñ!;¸CÓ!@‘��a˜Ü  d§j¡j£l¸%¿+¹+»-ÈuÔUÓUñVñ	Vùs   ‚BBc                 ó²  — t        | j                  t        j                  «      rd}nd}	 | j	                  |«      }t        j                  j                  «       }|j                  |«       |j                  «       S # t
        $ rR | j                  rt        | j                  «      }nt        | j                  «      }t        j                  d|«       d}Y Œ™w xY w)z�
        :raises NoneMetadataError: if the distribution reports `has_metadata()`
            True but `get_metadata()` returns None.
        rl   zPKG-INFOzNo metadata found in %sÚ )Ú
isinstancerS   r
   ra   r™   r—   rn   r   ÚreprÚloggerÚwarningÚemailÚparserÚ
FeedParserÚfeedÚclose)r7   Úmetadata_namer0   Údisplaying_pathÚfeed_parsers        r-   Ú_metadata_implzDistribution._metadata_implÃ   s®   € ô
 �d—j‘j¤-×"DÑ"DÔEØ&‰Mà&ˆMð	Ø—~‘~ mÓ4ˆHô —l‘l×-Ñ-Ó/ˆØ×Ñ˜Ô"Ø× Ñ Ó"Ð"øô !ò 	Ø�}Š}Ü".¨t¯}©}Ó"=‘ä"& t§}¡}Ó"5�Ü�N‰NÐ4°oÔFØŠHð	ús   «A; Á;ACÃCÚextrasc                 óª   — |r7t        d„ |D «       «      }|j                  | j                  j                  «      }| j                  j	                  |«      S )Nc              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr4   )r
   Ú
safe_extra)Ú.0r?   s     r-   ú	<genexpr>z1Distribution.iter_dependencies.<locals>.<genexpr>Û   s   è ø€ ÒK¸qœ}×7Ñ7¸×:ÑKùs   ‚!)Ú	frozensetÚintersectionrS   r²   Úrequires)r7   r²   s     r-   Úiter_dependencieszDistribution.iter_dependenciesÙ   sD   € ÙÜÑKÀFÔKÓKˆFØ×(Ñ(¨¯©×):Ñ):Ó;ˆFØ�z‰z×"Ñ" 6Ó*Ð*r,   c                 ó.   — | j                   j                  S r4   )rS   r²   r   s    r-   Úiter_provided_extrasz!Distribution.iter_provided_extrasß   s   € Ø�z‰z× Ñ Ð r,   Úextrac                 óX   — t        j                  |«      | j                  j                  v S r4   )r
   rµ   rS   r²   )r7   r¾   s     r-   Úis_extra_providedzDistribution.is_extra_providedâ   s"   € Ü×'Ñ'¨Ó.°$·*±*×2CÑ2CÐCÐCr,   )r+   )*r&   r'   r(   r
   r   r8   Úclassmethodr)   r   rh   rN   rp   r   r}   Úpropertyr	   rn   r„   r‡   rO   r‹   r   r�   r   r�   r   r’   r   r•   r™   r   r   r¢   r©   ÚmessageÚMessager±   r   r   r»   r½   rÀ   r+   r,   r-   r   r   K   sò  „ ð˜]×7Ñ7ð ¸Dó ð ð sð Ð/?ò ó ðð& ðà ðð ðð ð	ð
 
òó ðð  ð˜uð ¨Cð Ð4Dò ó ðð( ð#˜( 3™-ò #ó ð#ð ð( H¨S¡Mò (ó ð(ð ð#˜x¨™}ò #ó ð#ð ð¨ò ó ðð ð: ò :ó ð:ð ð1Ð,ò 1ó ð1ð2˜Hð 2¨ó 2ð:¨X°c©]ó :ð˜hð ¨3ó ðV 8¨NÑ#;ó Vð# §¡× 5Ñ 5ó #ñ,+¨
°3©ð +ÀÈ+ÑAVó +ð! h¨s¡mó !ðD sð D¨tô Dr,   r   c                   óª   — e Zd Zdej                  ddfd„Zedefd„«       Zede	e
e      defd„«       Zdee   fd„Zd	ede	e   fd
„Zd	ede	e   fd„Zy)r    Úwsr2   Nc                 ó   — || _         y r4   )Ú_ws)r7   rÆ   s     r-   r8   zEnvironment.__init__ç   s	   € Øˆ�r,   c                 ó.   —  | t         j                  «      S r4   )r
   Úworking_set)rb   s    r-   ÚdefaultzEnvironment.defaultê   s   € á”=×,Ñ,Ó-Ð-r,   Úpathsc                 ó8   —  | t        j                  |«      «      S r4   )r
   Ú
WorkingSet)rb   rÌ   s     r-   Ú
from_pathszEnvironment.from_pathsî   s   € á”=×+Ñ+¨EÓ2Ó3Ð3r,   c              #   óH   K  — | j                   D ]  }t        |«      –— Œ y ­wr4   )rÈ   r   rT   s     r-   Ú_iter_distributionszEnvironment._iter_distributionsò   s$   è ø€ Ø—H‘Hò 	%ˆDÜ˜tÓ$Ó$ñ	%ùs   ‚ "r#   c                 ój   — t        |«      }| j                  «       D ]  }|j                  |k(  sŒ|c S  y)zÛFind a distribution matching the ``name`` in the environment.

        This searches from *all* distributions available in the environment, to
        match the behavior of ``pkg_resources.get_distribution()``.
        N)r   Úiter_all_distributionsr�   )r7   r#   r�   rQ   s       r-   Ú_search_distributionz Environment._search_distributionö   s>   € ô +¨4Ó0ˆØ×/Ñ/Ó1ò 	ˆDØ×"Ñ" nÓ4Ø’ð	ð r,   c                 ó¸   — | j                  |«      }|r|S 	 | j                  j                  |«       | j                  |«      S # t        j                  $ r Y y w xY wr4   )rÔ   rÈ   Úrequirer
   ÚDistributionNotFound)r7   r#   rQ   s      r-   Úget_distributionzEnvironment.get_distribution  s`   € à×(Ñ(¨Ó.ˆÙØˆKð	ð �H‰H×Ñ˜TÔ"ð ×(Ñ(¨Ó.Ð.øô ×1Ñ1ò 	Ùð	ús   —A ÁAÁA)r&   r'   r(   r
   rÎ   r8   rÁ   r   rË   r	   r   r)   rÏ   r   r   rÑ   rÔ   rØ   r+   r,   r-   r    r    æ   s¥   „ ð˜=×3Ñ3ð ¸ó ð ð.˜ò .ó ð.ð ð4˜x¨¨S©	Ñ2ð 4°ò 4ó ð4ð% XÐ.>Ñ%?ó %ð
¨ð 
°Ð:JÑ1Kó 
ð/ Sð /¨XÐ6FÑ-Gô /r,   r    )4Úemail.messager©   Úemail.parserÚloggingrZ   rx   Útypingr   r   r   r   r   r   r	   Úpip._vendorr
   Ú"pip._vendor.packaging.requirementsr   Úpip._vendor.packaging.utilsr   r   Úpip._vendor.packaging.versionr   r�   Úpip._internal.exceptionsr   r   r   Úpip._internal.utils.egg_linkr   Úpip._internal.utils.miscr   r   Úpip._internal.utils.wheelr   r   Úbaser   r   r   r   r   r   Ú__all__Ú	getLoggerr&   r§   r   r"   r/   r   r    r+   r,   r-   ú<module>rè      s•   ðÛ Û Û Û 	Û ß V× VÑ Vå %Ý :ß IÝ @ç VÑ VÝ Dß Aß K÷÷ ò 2€à	ˆ×	Ñ	˜8Ó	$€à€ô�ô ÷ ñ  ôFXDÐ#ô XDôv0/�/õ 0/r,   