
    c fy                        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 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%  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)
indent_log)get_pip_versionnamevaluereturnc                 2    t         j                  d| |       y )Nz%s: %s)loggerinfo)r   r   s     V/var/www/html/py/new-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         j                  j                  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   )	importlib	resources	open_text	readlinesstripr&   dict)fr(   liness      r   create_vendor_txt_mapr2   %   s    				&	&}l	C 
q 78kkm
.2tt|DJJLsA&q)
 

 6666

 
s!   B	A?%A?#B?BB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)r3   s    r   get_module_from_module_namerG   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__)
rG   rB   __file__r   ospathdirnameget_distributionstrversion)r3   modulerP   envdists        r   get_vendor_version_from_modulerT   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)itemsrT   parse_versionr   r   )rU   r3   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   r2   r   r^   )rU   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<   rW   z
 (target: rX   zCompatible tags: r$   TFz...
[First z) tags shown. Pass --verbose to show all.])	r   get_sorted_tagsformat_givenlenr   r   verboser   rO   )	ra   	tag_limittarget_pythontagsformatted_targetsuffixmsgtags_limitedtags	            r   	show_tagsro   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, )rY   r&   removejoin)rp   keyr6   levelslevels_that_override_globalr9   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_grouprp   load)selfs    r   add_optionszDebugCommand.add_options   sB    ,,T]];''4==9!r   ra   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   rP   
executablegetdefaultencodinggetfilesystemencodinglocalegetpreferredencodingplatformr    r}   r   rp   rK   environgetr	   rC   rD   	DEBUNDLEDr`   ro   r   )r   ra   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   rO   intr    r   r   r   r      s7    E"
6 c s r   r   r   )4importlib.resourcesr*   r   loggingrK   r   optparser   typesr   typingr   r   r   r   pip._vendorrC   pip._vendor.certifir	   pip._vendor.packaging.versionr
   rZ   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.loggingr   pip._internal.utils.miscr   	getLoggerr   r   rO   r   r    r2   rG   rT   r^   r`   ro   r}   r   r   r   r   <module>r      s
      	 
   , ,  % @ ( 2 ; 2 5 2 2 4			8	$'S ' ' '0	7tCH~ 	7S Xj5I $  LT#s(^ L L*9v $ <= S "+7 +r   