Ë
    äØjj  ã                   ó  — d dl Z d dlmZ d dl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mZ d dlmZ  e j,                  e«      Z G d	„ d
e«      Z G d„ de«      Zdee   deeddf   fd„Zdee   dededefd„Zy)é    N)ÚValues)Ú	GeneratorÚIterableÚIteratorÚListÚ
NamedTupleÚOptional)Úcanonicalize_name)ÚCommand)ÚERRORÚSUCCESS)ÚBaseDistributionÚget_default_environment)Úwrite_outputc                   ó:   — e Zd ZdZdZdZd
d„Zdedee	   de
fd	„Zy)ÚShowCommandzx
    Show information about one or more installed packages.

    The output is in RFC-compliant mail header format.
    z$
      %prog [options] <package> ...TÚreturnNc                 ó’   — | j                   j                  dddddd¬«       | j                  j                  d| j                   «       y )	Nz-fz--filesÚfilesÚ
store_trueFz7Show the full list of installed files for each package.)ÚdestÚactionÚdefaultÚhelpr   )Úcmd_optsÚ
add_optionÚparserÚinsert_option_group)Úselfs    ú]/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_internal/commands/show.pyÚadd_optionszShowCommand.add_options   sE   € Ø�‰× Ñ ØØØØØØJð 	!ô 	
ð 	�‰×'Ñ'¨¨4¯=©=Õ9ó    ÚoptionsÚargsc                 ó²   — |st         j                  d«       t        S |}t        |«      }t	        ||j
                  |j                  ¬«      st        S t        S )Nz.ERROR: Please provide a package name or names.)Ú
list_filesÚverbose)ÚloggerÚwarningr   Úsearch_packages_infoÚprint_resultsr   r'   r   )r   r#   r$   ÚqueryÚresultss        r    ÚrunzShowCommand.run&   sI   € ÙÜ�N‰NÐKÔLÜˆLØˆä& uÓ-ˆÜØ §¡°w·±õ
ô ˆLÜˆr"   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚusageÚignore_require_venvr!   r   r   ÚstrÚintr.   © r"   r    r   r      s7   „ ñð'€EàÐó
:ð˜6ð ¨¨c©ð °sô r"   r   c                   óè   — e Zd ZU eed<   eed<   eed<   ee   ed<   ee   ed<   ee   ed<   eed<   eed<   ee   ed	<   eed
<   eed<   ee   ed<   eed<   eed<   eed<   ee   ed<   eee      ed<   y)Ú_PackageInfoÚnameÚversionÚlocationÚeditable_project_locationÚrequiresÚrequired_byÚ	installerÚmetadata_versionÚclassifiersÚsummaryÚhomepageÚproject_urlsÚauthorÚauthor_emailÚlicenseÚentry_pointsr   N)r/   r0   r1   r5   Ú__annotations__r	   r   r7   r"   r    r9   r9   4   s�   … Ø
ƒIØƒLØƒMØ'¨™}Ó,Ø�3‰iÓØ�c‘ÓØƒNØÓØ�c‘ÓØƒLØƒMØ�s‘)ÓØƒKØÓØƒLØ�s‘)ÓØ�D˜‘IÑÔr"   r9   r,   r   c           
   #   ó8  ‡K  — t        «       }|j                  «       D �ci c]  }|j                  |“Œ c}Š| D �cg c]  }t        |«      ‘Œ }}t	        t        | |«      D ��cg c]  \  }}|‰vsŒ|‘Œ c}}«      }|r%t        j                  ddj                  |«      «       dt        dt        t           fˆfd„}|D �]¥  }	 ‰|   }t	        d„ |j                  «       D «       t        j                  ¬«      }	t	         ||«      t        j                  ¬«      }
	 |j                  d«      }|j!                  d	¬
«      }|j%                  «       }|€d}nt	        |«      }|j&                  }t)        d%i d|j*                  “dt        |j,                  «      “d|j.                  xs d“d|j0                  “d|	“d|
“d|j2                  “d|j4                  xs d“d|j7                  dg «      “d|j9                  dd«      “d|j9                  dd«      “d|j7                  dg «      “d|j9                  dd«      “d|j9                  d d«      “d!|j9                  d"d«      “d#|“d$|“Ž–— �Œ¨ yc c}w c c}w c c}}w # t        $ r Y �ŒÆw xY w# t"        $ r g }Y �ŒYw xY w­w)&zî
    Gather details from installed distributions. Print distribution name,
    version, location, and installed files. Installed files requires a
    pip generated 'installed-files.txt' in the distributions '.egg-info'
    directory.
    zPackage(s) not found: %sú, Úcurrent_distr   c                 ó8   •‡ — ˆ fd„‰j                  «       D «       S )Nc              3   óÈ   •K  — | ]T  }‰j                   |j                  «       D �ch c]  }t        |j                  «      ’Œ c}v r|j                  d    xs d–— ŒV yc c}w ­w)ÚNameÚUNKNOWNN)Úcanonical_nameÚiter_dependenciesr
   r:   Úmetadata)Ú.0ÚdistÚdrM   s      €r    ú	<genexpr>zHsearch_packages_info.<locals>._get_requiring_packages.<locals>.<genexpr>Z   s`   øè ø€ ò 
àØ×*Ñ*Ø37×3IÑ3IÓ3KÖL¨aÔ! !§&¡&Õ)ÒLñMð �M‰M˜&Ñ!Ò. YÓ.ñ
ùò Mùs   ƒ"A"¥AÁ!A")Úvalues)rM   Ú	installeds   `€r    Ú_get_requiring_packagesz5search_packages_info.<locals>._get_requiring_packagesY   s   ù€ ó
à!×(Ñ(Ó*ô
ð 	
r"   c              3   ó4   K  — | ]  }|j                   –— Œ y ­w)N)r:   )rU   Úreqs     r    rX   z'search_packages_info.<locals>.<genexpr>g   s   è ø€ ÒH¨˜3Ÿ8�8ÑHùs   ‚)Úkeyzentry_points.txtF)ÚkeependsNr:   r;   r<   Ú r=   r>   r?   r@   rA   rB   Ú
ClassifierrC   ÚSummaryrD   z	Home-pagerE   zProject-URLrF   ÚAuthorrG   zAuthor-emailrH   ÚLicenserI   r   r7   )r   Úiter_all_distributionsrR   r
   ÚsortedÚzipr(   r)   Újoinr   r   r5   ÚKeyErrorrS   ÚlowerÚ	read_textÚ
splitlinesÚFileNotFoundErrorÚiter_declared_entriesrT   r9   Úraw_namer;   r<   r=   r@   rA   Úget_allÚget)r,   ÚenvrV   r:   Úquery_namesÚpkgÚmissingr[   Ú
query_namer>   r?   Úentry_points_textrI   Ú
files_iterr   rT   rZ   s                   @r    r*   r*   H   s¿  øè ø€ ô "Ó
#€Cà7:×7QÑ7QÓ7SÖT¨t�×$Ñ$ dÑ*ÒT€IØ7<Ö=¨tÔ$ TÕ*Ð=€KÐ=ÜÜ" 5¨+Ó6×O‘)�$˜¸#ÀYÒ:NŠÓOó€Gñ Ü�‰Ð1°4·9±9¸WÓ3EÔFð
Ô.>ð 
Ä8ÌCÁ=õ 
ð "ó )
ˆ
ð	Ø˜ZÑ(ˆDô ÑH¨t×/EÑ/EÓ/GÔHÌcÏiÉiÔXˆÜÑ4°TÓ:ÄÇ	Á	ÔJˆð	Ø $§¡Ð/AÓ BÐØ,×7Ñ7ÀÐ7ÓGˆLð ×/Ñ/Ó1ˆ
ØÐØ)-‰Eä˜:Ó&ˆEà—=‘=ˆäò 
Ø—’ð
ä˜Ÿ™Ô%ð
ð —]‘]Ò( bøð
ð '+×&DÒ&Dð	
ñ
 ð
ñ $ð
ð —n’nð
ð "×2Ñ2Ò8°bøð
ð !×(Ñ(¨°rÔ:ð
ð —L‘L ¨BÔ/ð
ð —\‘\ +¨rÔ2ð
ð "×)Ñ)¨-¸Ô<ð
ð —<‘< ¨"Ô-ð
ð "Ÿ™ n°bÔ9ð
ð —L‘L ¨BÔ/ð
ñ  &ð!
ñ" ð#
ô 	
ñ/)
ùò! UùÚ=ùãOøô  ò 	Úð	ûô !ò 	Ø‹Lð	üsw   ƒJ I(´J»I-ÁJÁ#I2
Á0I2
Á4AJÃI8ÃAJÄ#JÄ=D;JÉ8	JÊJÊJÊJÊJÊJÊJÊJÚdistributionsr&   r'   c                 óž  — d}t        | «      D �];  \  }}d}|dkD  rt        d«       t        d|j                  «       t        d|j                  «       t        d|j                  «       t        d|j
                  «       t        d	|j                  «       t        d
|j                  «       t        d|j                  «       t        d|j                  «       |j                  �t        d|j                  «       t        ddj                  |j                  «      «       t        ddj                  |j                  «      «       |r²t        d|j                  «       t        d|j                  «       t        d«       |j                   D ]  }t        d|«       Œ t        d«       |j"                  D ]  }t        d|j%                  «       «       Œ t        d«       |j&                  D ]  }t        d|«       Œ |s�Œít        d«       |j(                  €t        d«       �Œ|j(                  D ]  }	t        d|	j%                  «       «       Œ �Œ> |S )zC
    Print the information from installed distributions found.
    FTr   z---zName: %szVersion: %szSummary: %szHome-page: %sz
Author: %szAuthor-email: %szLicense: %szLocation: %szEditable project location: %szRequires: %srL   zRequired-by: %szMetadata-Version: %szInstaller: %szClassifiers:z  %szEntry-points:zProject-URLs:zFiles:z+Cannot locate RECORD or installed-files.txt)Ú	enumerater   r:   r;   rC   rD   rF   rG   rH   r<   r=   rh   r>   r?   rA   r@   rB   rI   ÚstriprE   r   )
ry   r&   r'   Úresults_printedÚirV   Ú
classifierÚentryÚproject_urlÚlines
             r    r+   r+   �   sâ  € ð €OÜ˜]Ó+ó &7‰ˆˆ4ØˆØˆqŠ5Ü˜Ôä�Z §¡Ô+Ü�] D§L¡LÔ1Ü�] D§L¡LÔ1Ü�_ d§m¡mÔ4Ü�\ 4§;¡;Ô/ÜÐ'¨×):Ñ):Ô;Ü�] D§L¡LÔ1Ü�^ T§]¡]Ô3Ø×)Ñ)Ð5ÜØ/°×1OÑ1Oôô 	�^ T§Y¡Y¨t¯}©}Ó%=Ô>ÜÐ&¨¯	©	°$×2BÑ2BÓ(CÔDáÜÐ/°×1FÑ1FÔGÜ˜¨$¯.©.Ô9Ü˜Ô(Ø"×.Ñ.ò 1�
Ü˜V ZÕ0ð1ä˜Ô)Ø×*Ñ*ò 4�Ü˜V U§[¡[£]Õ3ð4ä˜Ô)Ø#×0Ñ0ò 2�Ü˜V [Õ1ð2ãÜ˜Ô"Ø�z‰zÐ!ÜÐJÖKà ŸJ™Jò 7�DÜ  ¨¯©«Õ6ò7ðK&7ðN Ðr"   )ÚloggingÚoptparser   Útypingr   r   r   r   r   r	   Úpip._vendor.packaging.utilsr
   Úpip._internal.cli.base_commandr   Úpip._internal.cli.status_codesr   r   Úpip._internal.metadatar   r   Úpip._internal.utils.miscr   Ú	getLoggerr/   r(   r   r9   r5   r*   Úboolr+   r7   r"   r    ú<module>r�      s    ðÛ Ý ß L× Lå 9å 2ß 9ß LÝ 1à	ˆ×	Ñ	˜8Ó	$€ô"�'ô "ôJ�:ô ð(B
  S¡	ð B
¨i¸ÀdÈDÐ8PÑ.Qó B
ðJ0Ø˜LÑ)ð0àð0ð ð0ð 
ô	0r"   