
    )h                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	m
Z
mZmZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dl m!Z! d dl"m#Z# d dl$m%Z%  ejL                  e'      Z(de)de	ddfdZ*d"dZ+de
e)e)f   fdZ,de)dee   fdZ-de)dee)   fdZ.de
e)e)f   ddfdZ/d"dZ0deddfdZ1dede)fdZ2 G d  d!e      Z3y)#    N)Values)
ModuleType)AnyDictListOptional)where)parse)
cmdoptions)Command)make_target_python)SUCCESS)Configuration)get_environment)open_text_resource)
indent_log)get_pip_versionnamevaluereturnc                 2    t         j                  d| |       y )Nz%s: %s)loggerinfo)r   r   s     O/var/www/html/venv/lib/python3.12/site-packages/pip/_internal/commands/debug.py
show_valuer      s    
KK$&    c                      t         j                  d       t        j                  j                  } t               5  t        d|        d d d        y # 1 sw Y   y xY w)Nzsys.implementation:r   )r   r   sysimplementationr   r   r   )implementation_names    r   show_sys_implementationr!      sF    
KK%&,,11	 06./0 0 0s   AAc                      t        dd      5 } | j                         D cg c]*  }d|v s|j                         j                  dd      d   , }}d d d        t	        d D              S c c}w # 1 sw Y    xY w)Nzpip._vendorz
vendor.txt==    r   c              3   @   K   | ]  }|j                  d d        yw)r#   r%   N)split).0lines     r   	<genexpr>z(create_vendor_txt_map.<locals>.<genexpr>.   s     6

4#6s   )r   	readlinesstripr'   dict)fr)   liness      r   create_vendor_txt_mapr0   %   s{    	M<	8 
A 78kkm
.2tt|DJJLsA&q)
 

 6666

 
s!   A0	A+%A+A0+A00A9module_namec                    | j                         j                  dd      } | dk(  rd} 	 t        d|  t               t	               d       t        t        j                  |       S # t        $ r | dk(  rt        j                  d	k  rY y  w xY w)
N-_
setuptoolspkg_resourceszpip._vendor.r   )level
truststore)   
   )lowerreplace
__import__globalslocalsgetattrpip_vendorImportErrorr   version_info)r1   s    r   get_module_from_module_namerE   1   s    ##%--c37Kl"%\+/FHANs{{K00  ,&3+;+;g+Es   ;A% %!B
B
c                    t        |       }t        |dd       }|rk|si|j                  J t        t        j
                  j                  |j                        g      }|j                  |       }|rt        |j                        }|S )N__version__)
rE   r@   __file__r   ospathdirnameget_distributionstrversion)r1   modulerN   envdists        r   get_vendor_version_from_modulerR   C   ss    (5FfmT2Gg***rwwv?@A##K0$,,'GNr   vendor_txt_versionsc                     | j                         D ]N  \  }}d}t        |      }|sd}|}nt        |      t        |      k7  rd| d}t        j	                  d|||       P y)z{Log the actual version and print extra info if there is
    a conflict or if the actual version could not be imported.
     zM (Unable to locate actual module version, using vendor.txt specified version)z2 (CONFLICT: vendor.txt suggests version should be )z%s==%s%sN)itemsrR   parse_versionr   r   )rS   r1   expected_versionextra_messageactual_versions        r   show_actual_vendor_versionsr\   R   s     *=)B)B)D L%%7D1  .N>*m<L.MM'(+  	J^]KLr   c                      t         j                  d       t               } t               5  t	        |        d d d        y # 1 sw Y   y xY w)Nzvendored library versions:)r   r   r0   r   r\   )rS   s    r   show_vendor_versionsr^   g   s;    
KK,-/1	 9#$789 9 9s	   ?Aoptionsc                    d}t        |       }|j                         }|j                         }d}|rd| d}dt        |       | }t        j                  |       | j                  dk  rt        |      |kD  rd}|d | }nd}t               5  |D ]   }t        j                  t        |             " |rd	| d
}t        j                  |       d d d        y # 1 sw Y   y xY w)Nr:   rU   z
 (target: rV   zCompatible tags: r%   TFz...
[First z) tags shown. Pass --verbose to show all.])	r   get_sorted_tagsformat_givenlenr   r   verboser   rM   )	r_   	tag_limittarget_pythontagsformatted_targetsuffixmsgtags_limitedtags	            r   	show_tagsrm   o   s    I&w/M((*D %113F./q1c$i[
1C
KKs4y94JY	  	"CKKC!	"  +TUCKK  s   ACC#configc                 
   | j                         D ch c]  \  }}|j                  dd      d    }}}|syg d}|D cg c]	  }||v s| }}|syd|v r|j                  d       dj                  |      S c c}}w c c}w )N.r%   r   zNot specified)installwheeldownloadglobalz, )rW   r'   removejoin)rn   keyr4   levelslevels_that_override_globalr7   global_overriding_levels          r   ca_bundle_infor{      s    17@vsAciiQ"@F@"B!U.I%I  #6h99V A
s   A:	B B c                   :    e Zd ZdZdZdZd
dZdedee	   de
fd	Zy)DebugCommandz$
    Display debug information.
    z
      %prog <options>Tr   Nc                     t        j                  | j                         | j                  j	                  d| j                         | j                  j
                  j                          y )Nr   )r   add_target_python_optionscmd_optsparserinsert_option_grouprn   load)selfs    r   add_optionszDebugCommand.add_options   sB    ,,T]];''4==9!r   r_   argsc                 T   t         j                  d       t        dt                      t        dt        j
                         t        dt        j                         t        dt	        j                                t        dt	        j                                t        dt        j                                t        dt        j                         t                t        d	t        | j                  j                               t        d
t         j"                  j%                  d
             t        dt         j"                  j%                  d             t        dt'                      t        dt(        j*                  j,                         t/                t1        |       t2        S )NzThis command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.zpip versionzsys.versionzsys.executablezsys.getdefaultencodingzsys.getfilesystemencodingzlocale.getpreferredencodingzsys.platformz'cert' config valueREQUESTS_CA_BUNDLECURL_CA_BUNDLEzpip._vendor.certifi.where()zpip._vendor.DEBUNDLED)r   warningr   r   r   rN   
executablegetdefaultencodinggetfilesystemencodinglocalegetpreferredencodingplatformr!   r{   r   rn   rI   environgetr	   rA   rB   	DEBUNDLEDr^   rm   r   )r   r_   r   s      r   runzDebugCommand.run   s   %	
 	=/"34=#++.#S^^4+S-C-C-EF.0I0I0KL)'')	
 	>3<<0!(.9K9K*LM'8L)MN#RZZ^^4D%EF0%':*CKK,A,AB'r   r   N)__name__
__module____qualname____doc__usageignore_require_venvr   r   r   rM   intr    r   r   r}   r}      s7    E"
6 c s r   r}   r   )4r   loggingrI   r   optparser   typesr   typingr   r   r   r   pip._vendorrA   pip._vendor.certifir	   pip._vendor.packaging.versionr
   rX   pip._internal.clir   pip._internal.cli.base_commandr   pip._internal.cli.cmdoptionsr   pip._internal.cli.status_codesr   pip._internal.configurationr   pip._internal.metadatar   pip._internal.utils.compatr   pip._internal.utils.loggingr   pip._internal.utils.miscr   	getLoggerr   r   rM   r   r!   r0   rE   rR   r\   r^   rm   r{   r}   r   r   r   <module>r      s
     	 
   , ,  % @ ( 2 ; 2 5 2 9 2 4			8	$'S ' ' '0	7tCH~ 	7S Xj5I $  LT#s(^ L L*9v $ <= S "+7 +r   