ó
    9—ÍfÓ/  ã                   ó^  • S SK r S SKrS SKrS SKJr  S SKJrJrJrJ	r	J
r
JrJr  S SKJr  S SKJr   S SKJr  S SKJrJr  S SKJrJr  \R6                  " \5      r " S	 S
\	5      r " S S\	5      rS\ S\\RB                     S\
\RB                     4S jr"S\RB                  S\\    S\\ \ 4   S\\   4S jr#S\RB                  S\4S jr$S\RB                  S\S\4S jr%S\RB                  S\S\4S jr&S\RB                  S\S\S\\\    \\    4   4S jr' S*S\RB                  S\S\S\\ \\   4   S\\ \\   4   S\
\\ \(4      S\\\ \\   4   \\ \\   4   4   4S  jjr)S!\\   S\\   4S" jr*S#\S\\\    \\ \ 4   \ 4   4S$ jr+S%\ S&\\    S'\S#\S(\S\4S) jr,g! \ a    S SKr GNsf = f)+é    N)ÚPath)Ú
CollectionÚDictÚListÚ
NamedTupleÚOptionalÚSetÚTuple)ÚRequirement)Úcanonicalize_name)Úmetadata)ÚMAN_SECTIONSÚWINDOWS)Ú	PipxErrorÚrun_subprocessc                   ób   • \ rS rSr% \\R                     \S'   \\	\	4   \S'   \
\S'   \
\S'   Srg)ÚVenvInspectInformationé   ÚdistributionsÚenvÚbin_pathÚman_path© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   ÚDistributionÚ__annotations__r   Ústrr   Ú__static_attributes__r   ó    Ú3/usr/lib/python3/dist-packages/pipx/venv_inspect.pyr   r      s+   ‡ Ø˜h×3Ñ3Ñ4Ó4Ø	ˆc�3ˆh‰ÓØƒNØ†Nr"   r   c                   ó¾   • \ rS rSr% \\   \S'   \\   \S'   \\   \S'   \\\\   4   \S'   \\   \S'   \\   \S'   \\   \S'   \\\\   4   \S	'   \\S
'   \\S'   Sr	g)ÚVenvMetadataé   ÚappsÚ	app_pathsÚapps_of_dependenciesÚapp_paths_of_dependenciesÚ	man_pagesÚ	man_pathsÚman_pages_of_dependenciesÚman_paths_of_dependenciesÚpackage_versionÚpython_versionr   N)
r   r   r   r   r   r    r   r   r   r!   r   r"   r#   r%   r%      so   ‡ Ø
ˆs‰)ƒOØ�D‰zÓØ˜s™)Ó#Ø# C¨¨d© OÑ4Ó4Ø�C‰yÓØ�D‰zÓØ# C™yÓ(Ø# C¨¨d© OÑ4Ó4ØÓØÖr"   r%   Úpackager   Úreturnc                 óh   • U H,  n[        UR                  S   5      [        U 5      :X  d  M*  Us  $    g)z6Find matching distribution in the canonicalized sense.ÚnameN)r   r   )r1   r   Údists      r#   Úget_distr6   )   s2   € ãˆÜ˜TŸ]™]¨6Ñ2Ó3Ô7HÈÓ7QÕQØŠKñ ð r"   r5   Úextrasr   c                 óx  • UR                  5       nU(       d  UR                  S5        / n[        [        U R                  =(       d    / 5       Hh  nUR
                  (       d  UR                  U5        M'  U H;  nXcS'   UR
                  R                  U5      (       d  M)  UR                  U5          Mf     Mj     U$ )NÚ Úextra)ÚcopyÚaddÚmapr   ÚrequiresÚmarkerÚappendÚevaluate)r5   r7   r   Úeval_envÚdependenciesÚreqr:   s          r#   Úget_package_dependenciesrE   1   s�   € Ø�x‰x‹z€HæØ�
‰
�2ŒØ€LÜ”; §¡× 3°Ö4ˆØ�z�zØ×Ñ Ö$ã�Ø$)˜Ñ!Ø—:‘:×&Ñ& x×0Ó0Ø ×'Ñ'¨Ô,Úó	  ñ	 5ð Ðr"   r   c                 ó†  • [        5       nSS1nU R                   H¢  nUR                  U;  a  M  XR                  -  R	                  5       (       a  UR                  UR                  5        [        (       d  M^  XR                  S-   -  R	                  5       (       d  M„  UR                  UR                  S-   5        M¤     U$ )NÚconsole_scriptsÚgui_scriptsz.exe)ÚsetÚentry_pointsÚgroupr4   Úexistsr<   r   )r5   r   Ú	app_namesÚsectionsÚeps        r#   Úget_apps_from_entry_pointsrP   D   s”   € Ü“€IØ! =Ð1€Hà×ÔˆØ�8‰8˜8Ó#ÙØ—w‘wÑ×&Ñ&×(Ñ(Ø�M‰M˜"Ÿ'™'Ô"ßŒ7˜§G¡G¨fÑ$4Ñ5×=Ñ=×?Ó?à�M‰M˜"Ÿ'™' FÑ*Ö+ñ  ð Ðr"   r   c                 ó®  • [        5       n[        5       nU R                  =(       d    /  GH  n[        U5      R                  S   S:w  a  M"  [        [	        U R                  U5      5      5      n UR                  R                  U5      (       a  UR                  UR                  5        UR                  R                  [        ;   at  UR                  R                  R                  U5      (       aG  UR                  [	        [        UR                  R                  5      UR                  -  5      5        GM  GM  GM     X44$ ! [         a     GM)  f = f)Nr   z..)rI   Úfilesr   Úpartsr    Úlocate_fileÚparentÚsamefiler<   r4   r   ÚFileNotFoundError)r5   r   r   rM   Ú	man_namesÚpathÚdist_file_paths          r#   Úget_resources_from_dist_filesr[   S   s  € Ü“€IÜ“€Ið —
‘
× ˜bÓ ˆô �‹:×Ñ˜AÑ $Ó&Ùäœc $×"2Ñ"2°4Ó"8Ó9Ó:ˆð	Ø×$Ñ$×-Ñ-¨h×7Ñ7Ø—‘˜dŸi™iÔ(Ø×$Ñ$×)Ñ)¬\Ó9¸n×>SÑ>S×>ZÑ>Z×>cÑ>cÐdl×>mÑ>mØ—‘œc¤$ ~×'<Ñ'<×'AÑ'AÓ"BÀTÇYÁYÑ"NÓO×Pò ?nÒ9ñ !ð ÐÐøô !ó 	Ûð	ús   Á0CEÅ
EÅEc                 óà  • [        5       n[        5       nU R                  S5      =(       d    SnUR                  5        GH  nUR                  S5      S   n[	        [        U R                  U5      5      5      R                  5       n UR                  R                  U5      (       a  UR                  UR                  5        UR                  R                  [        ;   at  UR                  R                  R                  U5      (       aG  UR                  [        [	        UR                  R                  5      UR                  -  5      5        GM  GM  GM     X44$ ! [         a     GM-  f = f)Nzinstalled-files.txtr9   Ú,r   )rI   Ú	read_textÚ
splitlinesÚsplitr   r    rT   ÚresolverU   rV   r<   r4   r   rW   )	r5   r   r   rM   rX   Ú
inst_filesÚlineÚentryÚinst_file_paths	            r#   Úget_resources_from_inst_filesrf   i   s   € Ü“€IÜ“€Ià—‘Ð 5Ó6×<¸"€JØ×%Ñ%×'ˆØ—
‘
˜3“ Ñ"ˆÜœc $×"2Ñ"2°5Ó"9Ó:Ó;×CÑCÓEˆð	Ø×$Ñ$×-Ñ-¨h×7Ñ7Ø—‘˜n×1Ñ1Ô2Ø×$Ñ$×)Ñ)¬\Ó9¸n×>SÑ>S×>ZÑ>Z×>cÑ>cÐdl×>mÑ>mØ—‘œc¤$ ~×'<Ñ'<×'AÑ'AÓ"BÀ^×EXÑEXÑ"XÓY×Zò ?nÒ9ñ (ð ÐÐøô !ó 	Ûð	ús   Â	CEÅ
E-Å,E-c                 óº   • [        5       n[        5       n[        X5      n[        XU5      u  pg[        XU5      u  p‰XV-  U-  nXy-  n[	        U5      [	        U5      4$ ©N)rI   rP   r[   rf   Úsorted)
r5   r   r   rM   rX   Úapp_names_epÚapp_names_dfÚman_names_dfÚapp_names_ifÚman_names_ifs
             r#   Úget_resourcesro   {   sb   € Ü“€IÜ“€IÜ-¨dÓ=€LÜ!>¸tÈxÓ!XÑ€LÜ!>¸tÈxÓ!XÑ€LØÑ+¨lÑ:€IØÑ+€IÜ�)Óœf YÓ/Ð/Ð/r"   Úpackage_reqÚvenv_inspect_infor*   r.   Údep_visitedc           	      ód  • Uc  [        UR                  5      S0n[        XR                  UR                  5      nU Hä  n[        UR                  5      nX…;   a  M  [        UR                  UR                  5      n	U	c  [        SUR                  < S35      e[        X’R                  UR                  5      u  p«U
(       a!  U
 Vs/ s H  oÂR                  U-  PM     snX8'   U(       a!  U Vs/ s H  oÂR                  U-  PM     snXH'   SXX'   [        U	UUUUU5      u  p4Mæ     X44$ s  snf s  snf )NTú)Pipx Internal Error: cannot find package ú
 metadata.)r   r4   rE   r7   r   r6   r   r   ro   r   r   Ú_dfs_package_resources)r5   rp   rq   r*   r.   rr   rC   Údep_reqÚdep_nameÚdep_distrM   rX   r4   s                r#   rv   rv   †   s=  € ð Ñä(¨×)9Ñ)9Ó:¸DÐAˆä+¨D×2DÑ2DÐFW×F[ÑF[Ó\€LÛˆÜ$ W§\¡\Ó2ˆØÓ"áä˜GŸL™LÐ*;×*IÑ*IÓJˆØÑÜÐGÈÏÉÑGWÐWaÐbÓcÐcÜ,¨X×7QÑ7QÐSd×SmÑSmÓnÑˆ	ÞÙajÓ2kÒajÐY]×3MÑ3MÐPTÔ3TÑajÑ2kÐ%Ñ/ÞÙajÓ2kÒajÐY]×3MÑ3MÐPTÔ3TÑajÑ2kÐ%Ñ/à $ˆÑÜ?UØØØØ%Ø%Øó@
Ñ<Ð!Ñ#<ñ!  ð0 %Ð?Ð?ùò 3lùâ2ks   ÃD(Ã.D-r(   c                 óD  • U R                  5       nU  H‰  nUR                  UR                  S-   -  nUR                  5       (       a  UR	                  U5        UR                  UR                  S-   -  nUR                  5       (       d  Mx  UR	                  U5        M‹     U$ )Nz
-script.pyz.exe.manifest)r;   rU   ÚstemrL   r@   )r(   Úapp_paths_outputÚapp_pathÚwin_app_paths       r#   Ú_windows_extra_app_pathsr   ®   s‹   € ð
 !—~‘~Ó'ÐÛˆØ—‘¨(¯-©-¸,Ñ*FÑGˆØ×Ñ× Ñ Ø×#Ñ# LÔ1Ø—‘¨(¯-©-¸/Ñ*IÑJˆØ×Ñ× Ó Ø×#Ñ# LÖ1ñ ð Ðr"   Úvenv_python_pathc                 ó¨   • [         R                  " S5      n[        R                  " [	        U SU/SSS9R
                  5      nUS   US   SUS	    34$ )
NaP  
        import json
        import os
        import platform
        import sys

        impl_ver = sys.implementation.version
        implementation_version = "{0.major}.{0.minor}.{0.micro}".format(impl_ver)
        if impl_ver.releaselevel != "final":
            implementation_version = "{}{}{}".format(
                implementation_version,
                impl_ver.releaselevel[0],
                impl_ver.serial,
            )

        sys_path = sys.path
        try:
            sys_path.remove("")
        except ValueError:
            pass

        print(
            json.dumps(
                {
                    "sys_path": sys_path,
                    "python_version": "{0.major}.{0.minor}.{0.micro}".format(sys.version_info),
                    "environment": {
                        "implementation_name": sys.implementation.name,
                        "implementation_version": implementation_version,
                        "os_name": os.name,
                        "platform_machine": platform.machine(),
                        "platform_release": platform.release(),
                        "platform_system": platform.system(),
                        "platform_version": platform.version(),
                        "python_full_version": platform.python_version(),
                        "platform_python_implementation": platform.python_implementation(),
                        "python_version": ".".join(platform.python_version_tuple()[:2]),
                        "sys_platform": sys.platform,
                    },
                }
            )
        )
        z-cFz<fetch_info_in_venv commands>)Úcapture_stderrÚlog_cmd_strÚsys_pathÚenvironmentzPython r0   )ÚtextwrapÚdedentÚjsonÚloadsr   Ústdout)r€   Úcommand_strÚ	venv_infos      r#   Úfetch_info_in_venvr�   ¾   sr   € Ü—/’/ð*	ó,€KôZ —
’
ÜØ˜t [Ð1Ø Ø7ñ	
÷ ‰&ó€Ið 	�*ÑØ�-Ñ Ø
�)Ð,Ñ-Ð.Ð/ðð r"   Úroot_package_nameÚroot_package_extrasÚvenv_bin_pathÚvenv_man_pathc                 óx  • 0 n/ n0 n/ n[        U 5      n	Xl        [        U5      u  p«n[        [        R
                  " U
S95      n[        UUUUS9n[        U	R                  UR
                  5      nUc  [        SU	R                  < S35      e[        UU	UUU5      u  pW[        XòU5      u  nnU Vs/ s H  nUU-  PM
     nnU Vs/ s H  nUU-  PM
     nn[        (       a  [        U5      nU HC  nXeU    Vs/ s H  nUR                  PM     sn-  n[        (       d  M2  [        UU   5      UU'   ME     U HO  nUUU    Vs/ s H8  n[        [        UR                   R                  5      UR                  -  5      PM:     sn-  nMQ     [#        UUUUUUUUUR$                  US9
$ s  snf s  snf s  snf s  snf )N)rY   )r   r   r   r   rt   ru   )
r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   )r   r7   r�   Útupler   r   r   r6   r4   r   rv   ro   r   r   r    r   rU   r%   Úversion)rŽ   r�   r�   r€   r‘   r*   r)   r.   r-   Úroot_reqÚvenv_sys_pathÚvenv_envÚvenv_python_versionr   rq   Ú	root_distr'   r+   Úappr(   Úman_pager,   ÚdepÚdep_paths                           r#   Úinspect_venvrž   ú   s÷  € ð 8:ÐØ&(ÐØ79ÐØ+-ÐäÐ,Ó-€HØ)„Oä5GÐHXÓ5YÑ2€]Ð1ô œ(×0Ò0°mÑDÓE€Mä.ØØØØ#ñ	Ðô ˜Ÿ™Ð(9×(GÑ(GÓH€IØÑÜÐCÀHÇMÁMÑCTÐT^Ð_Ó`Ð`Ü;QØØØØ!Ø!ó<Ñ8Ðô $ I¸mÓL�O€Dˆ)Ù04Ó5²¨� Ô$±€IÐ5Ù:CÓDº)¨h� Ô)¹)€IÐDß‚wÜ,¨YÓ7ˆ	ã(ˆØÐY\Ò?]Ó ^Ò?]°8 §¤Ñ?]Ñ ^Ñ^ÐßŒ7Ü-EÐF_Ð`cÑFdÓ-eÐ% cÓ*ñ )ó )ˆØ!ØLeÐfiÒLjó&
ÚLjÀŒC”�X—_‘_×)Ñ)Ó*¨X¯]©]Ñ:Ö;ÑLjñ&
ñ 	
Ò!ñ )ô
 ØØØ1Ø";ØØØ";Ø";Ø!×)Ñ)Ø*ñð ùò 6ùÚDùò
 !_ùò&
s   Â2F(ÃF-Ã:F2Å?F7rh   )-rˆ   Úloggingr†   Úpathlibr   Útypingr   r   r   r   r   r	   r
   Úpackaging.requirementsr   Úpackaging.utilsr   Ú	importlibr   ÚImportErrorÚimportlib_metadataÚpipx.constantsr   r   Ú	pipx.utilr   r   Ú	getLoggerr   Úloggerr   r%   r    r   r6   rE   rP   r[   rf   ro   Úboolrv   r   r�   rž   r   r"   r#   Ú<module>r¬      s¯  ðÛ Û Û Ý ß K× KÑ Kå .Ý -ð*Ý"÷ 1ß /à	×	Ò	˜8Ó	$€ô˜Zô ô
�:ô 
ð�cð ¨*°X×5JÑ5JÑ*Kð ÐPXÐYa×YnÑYnÑPoô ð 8×#8Ñ#8ð À#ÀcÁ(ð ÐQUÐVYÐ[^ÐV^ÑQ_ð ÐdhÐitÑduô ð& X×%:Ñ%:ð Àdô ð ¨×(=Ñ(=ð  Èð  ÐY]ô  ð, ¨×(=Ñ(=ð  Èð  ÐY]ô  ð$0˜×-Ñ-ð 0¸ð 0Èð 0ÐRWÐX\Ð]`ÑXaÐcgÐhkÑclÐXlÑRmô 0ð" .2ñ%@Ø
×
Ñ
ð%@àð%@ð .ð%@ð  $ C¨¨d© OÑ4ð	%@ð
  $ C¨¨d© OÑ4ð%@ð ˜$˜s D˜y™/Ñ*ð%@ð ˆ4��T˜$‘Z�Ñ  $ s¨D°©J Ñ"7Ð7Ñ8õ%@ðP¨¨T©
ð °t¸D±zô ð 9¨ð 9°%¸¸S¹	À4ÈÈSÈÁ>ÐSVÐ8VÑ2Wô 9ðxEØðEà˜S™ðEð ðEð ð	Eð
 ðEð õEøð] ó *Þ)ð*ús   ²F Æ
F,Æ+F,