
    5>qj                    ^   d dl m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
 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m Z  d dl!m"Z" d dl#m$Z$  ejJ                  e&      Z'ddZ(ddZ)ddZ*ddZ+d dZ,d!dZ-ddZ.d"dZ/d#dZ0 G d de      Z1y)$    )annotationsN)Values)
ModuleType)Any)where)parse)
cmdoptions)Command)make_target_python)SUCCESS)Configuration)get_environment)get_locale_encodingopen_text_resource)
indent_log)get_pip_versionc                2    t         j                  d| |       y )Nz%s: %s)loggerinfo)namevalues     [/opt/rentech/trading_bot/.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_mapr.   &   s{    	M<	8 
A 78kkm
.2tt|DJJLsA&q)
 

 6666

 
s!   A0	A+%A+A0+A00A9c                    | j                         j                  dd      } | dk(  rd} t        d|  t               t	               d       t        t        j                  |       S )N-_
setuptoolspkg_resourceszpip._vendor.r   )level)lowerreplace
__import__globalslocalsgetattrpip_vendor)module_names    r   get_module_from_module_namer>   2   sT    ##%--c37Kl"%k]+WYJ3;;,,r   c                   t        |       }t        |dd       }|rk|si|j                  J t        t        j
                  j                  |j                        g      }|j                  |       }|rt        |j                        }|S )N__version__)
r>   r:   __file__r   ospathdirnameget_distributionstrversion)r=   modulerG   envdists        r   get_vendor_version_from_modulerK   =   ss    (5FfmT2Gg***rwwv?@A##K0$,,'GNr   c                    | 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)itemsrK   parse_versionr   r   )vendor_txt_versionsr=   expected_versionextra_messageactual_versions        r   show_actual_vendor_versionsrU   L   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   r.   r   rU   )rQ   s    r   show_vendor_versionsrW   a   s;    
KK,-/1	 9#$789 9 9s	   ?Ac                   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)N
   rM   z
 (target: rN   zCompatible tags: r#   TFz...
[First z) tags shown. Pass --verbose to show all.])	r   get_sorted_tagsformat_givenlenr   r   verboser   rF   )	options	tag_limittarget_pythontagsformatted_targetsuffixmsgtags_limitedtags	            r   	show_tagsrg   i   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#c           
        | j                         D ch c]!  \  }}|D ]  }|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, )rO   r%   removejoin)configr1   r^   keylevelslevels_that_override_globalr4   global_overriding_levels           r   ca_bundle_inforu      s    5;\\^WWzq'wWciiQ"W"WFW"B!U.I%I  #6h99V X
s   &B
	B
B
c                  (    e Zd ZdZdZdZddZddZy)	DebugCommandz$
    Display debug information.
    z
      %prog <options>Tc                    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   c                @   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                      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-                t/        |       t0        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.getencodingzsys.platformz'cert' config valueREQUESTS_CA_BUNDLECURL_CA_BUNDLEzpip._vendor.certifi.where()zpip._vendor.DEBUNDLED)r   warningr   r   r   rG   
executablegetdefaultencodinggetfilesystemencodingr   platformr   ru   r{   rp   rB   environgetr   r;   r<   	DEBUNDLEDrW   rg   r   )r~   r^   argss      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   NreturnNone)r^   r   r   z	list[str]r   int)__name__
__module____qualname____doc__usageignore_require_venvr   r    r   r   rw   rw      s    E"
r   rw   )r   rF   r   r   r   r   r   )r   dict[str, str])r=   rF   r   zModuleType | None)r=   rF   r   z
str | None)rQ   r   r   r   )r^   r   r   r   )rp   r   r   rF   )2
__future__r   loggingrB   r   optparser   typesr   typingr   pip._vendorr;   pip._vendor.certifir   pip._vendor.packaging.versionr   rP   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   r   pip._internal.utils.loggingr   pip._internal.utils.miscr   	getLoggerr   r   r   r   r.   r>   rK   rU   rW   rg   ru   rw   r   r   r   <module>r      s    "  	 
     % @ ( 2 ; 2 5 2 N 2 4			8	$'0	7-L*9<"+7 +r   