
    sit4                    
   S r SSKJr  SSKrSSKrSSKrSSKJrJr  SSKJr	  SSK
Jr  SSKJr  SSKJr  S	S
KJr  S	SKJr  S	SKJrJrJr  S	SKJr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#  SSK$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7  SSK8J9r:  SSK;J9r<  SSK=J9r>  SSK?J9r@  SSKAJ9rB  SSKCJ9rD  SSKEJ9rF  SSKGJ9rH  SSKIJ9rJ  SSKKJ9rL  SSKMJ9rN  SSKOJ9rP  SSKQJ9rR  SSKSJ9rT  SSKUJ9rV  SSKWJ9rX  SSKYJ9rZ  SSK[J9r\  SSK]J9r^  SSK_J9r`  \" \a5      rb\R                  " SS5      rd\R                  " SS5      re1 Skrf S$S jrgS$S jrhS%S jriS rj " S S\	5      r " S S\R                  5      rlS  rmS! rnS" roS&S# jrpg)'z%Conda command line interface parsers.    )annotationsN)SUPPRESSRawDescriptionHelpFormatter)ArgumentParser)import_module)	getLogger)Popen   )__version__)dals)contextsys_rc_pathuser_rc_path)
isiterableon_win)NULL)
deprecated   )ExtendConstActionNullCountAction)find_commandsfind_executable)add_output_and_prompt_optionsadd_parser_channels add_parser_create_install_updateadd_parser_default_packagesadd_parser_helpadd_parser_jsonadd_parser_knownadd_parser_networking"add_parser_package_install_optionsadd_parser_platformadd_parser_prefixadd_parser_prefix_to_groupadd_parser_pruneadd_parser_pscheckadd_parser_show_channel_urlsadd_parser_solveradd_parser_solver_modeadd_parser_update_modifiersadd_parser_verbose)configure_parser%z%%>   envruninfoinitlistcleanconfigcreateexportremoverenamesearchupdatecompareinstallnoticespackageupgradeactivatecommands	uninstall
deactivater   c                     [        SSS0U D6n[        U5        UR                  SS[        [        S9  UR                  SS[        SS9  U$ )	NdescriptionzSconda is a tool for managing and deploying applications, environments and packages.z--json
store_true)actiondefaulthelpz--no-pluginsz2Disable all plugins that are not built into conda. )r   r+   add_argumentr   r   )kwargs
pre_parsers     8lib/python3.13/site-packages/conda/cli/conda_argparse.pygenerate_pre_parserrO   e   sr     & J z"	   A	       c            	     N   [        S0 U D6nUR                  SSSS[         3SS9  UR                  SSS	S
[        SS9n[        U5        [        U5        [        U5        [        U5        [        U5        [        U5        [        U5        [        U5        [        U5        [        U5        [        U5        [!        U5        [#        U5        [%        U5        ['        U5        [)        U5        [+        US/S9  [-        U5        [/        U5        [1        U5        [3        US/S9  U$ )Nz-Vz	--versionversionzconda z'Show the conda version number and exit.)rG   rR   rI   COMMANDrA   z=The following built-in and plugins subcommands are available.cmdT)metavartitlerE   destrG   requiredrB   )aliasesr?   rJ   )rO   rK   r   add_subparsers_GreedySubParsersActionconfigure_parser_activateconfigure_parser_cleanconfigure_parser_commandsconfigure_parser_compareconfigure_parser_configconfigure_parser_createconfigure_parser_deactivateconfigure_parser_envconfigure_parser_exportconfigure_parser_infoconfigure_parser_initconfigure_parser_installconfigure_parser_listconfigure_parser_noticesconfigure_parser_packageconfigure_parser_pluginsconfigure_parser_removeconfigure_parser_renameconfigure_parser_runconfigure_parser_searchconfigure_parser_update)rL   parsersub_parserss      rN   generate_parserrs   }   s    *6*F
&6   ''S& ( K k*;'k*[)K(K(,%K(+&+&[)+&[)[)[)K+?K(%K(K)=MrP   c                0   [        U SS5      =n(       ap  [        R                  R                  UR                  5        UR                  [        U SU 5      5      n[        R                  R                  UR                  5        U$ [        U SS5      =n(       aa  [        R                  " SSSSS	9  [        S
U 35      nU(       d  SSK
Jn  U" U5      e[        U/U R                  Q[        R                  5      $ U R                   R#                  SS5      u  px[%        U5      n	UR'                  S5      S   R)                  SS5      n
[        R                  R                  U
5        [        X5      " X5      n[        R                  R                  U
5        U$ )zt
Serves as the primary entry point for commands referred to in this file and for
all registered plugin subcommands.
_plugin_subcommandN_args_executablez23.3z26.3z)Loading conda subcommands via executableszUse the plugin system instead.)topicaddendumzconda-r
   )CommandNotFoundError.r   main_ )getattrr   plugin_managerinvoke_pre_commandsnamerG   invoke_post_commandsr   rx   r   
exceptionsrz   _execrv   osenvironfuncrsplitr   splitreplace)argsrq   plugin_subcommandresultr   
executablerz   module_name	func_namemodulecommands              rN   do_callr      se    $D*>EEE 	223D3I3IJ"))'$*FG334E4J4JK2 M1 }d3	3	3=5		
 %vdV_5
9&t,,j.4::.

;; "&!1!1#q!9{+##C(,44WbA227;+D933G<MrP   c                v    [        U R                  R                  S   R                  R	                  5       5      $ Nr   )tuple_subparsers_group_actionschoiceskeys)rq   s    rN   find_builtin_commandsr      s/     ##2215==BBDEErP   c                  P   ^  \ rS rSrSS.U 4S jjrU 4S jrSS.U 4S jjrS	rU =r$ )
r      T)add_helpc               |   > UR                  S[        5        [        TU ]  " USS0UD6  U(       a  [	        U 5        g g )Nformatter_classr   F)
setdefaultr   super__init__r   )selfr   r   rL   	__class__s       rN   r   ArgumentParser.__init__   s<    +-HI$99&9D! rP   c                Z  > [        U[        5      (       aP  [        UR                  [        5      (       a1  [        [	        UR                  R                  5       5      5      Ul        UR                  b)  [        U5      (       a  U H  n[        TU ]!  X5        M     g [        TU ]!  X5        g N)	
isinstancer[   r   dictsorteditemsr   r   _check_value)r   rG   valueelementr   s       rN   r   ArgumentParser._check_value   s    f566:NND<
 <
 "&)=)=)?"@AFN>>%*U*;*; $V5 ! G /rP   N)override_argsc                  > [         TU ]  " U0 UD6nU=(       d    0 R                  5        H5  u  pVU[        Ld  M  [	        XE[        5      [        L d  M)  [        XEU5        M7     U$ r   )r   
parse_argsr   r   r   setattr)r   r   r   rL   parsed_argsr   r   r   s          rN   r   ArgumentParser.parse_args   sY    g($9&9)/R668KDD W[%E%M51 9 rP   rJ   )	__name__
__module____qualname____firstlineno__r   r   r   __static_attributes____classcell__r   s   @rN   r   r      s$    '+ " "0 /3  rP   c                  6   ^  \ rS rSrSrSU 4S jjrS rSrU =r$ )r[      zA custom subparser action to conditionally act as a greedy consumer.

This is a workaround since argparse.REMAINDER does not work as expected,
see https://github.com/python/cpython/issues/61252.
c                  > [         TU ]  XX45        U R                  US      n[        USS5      (       aF   [        U[        R
                  5      n[        U[        R
                  5        [        U5      Ul	        g g ! [         a    Sn N f = f)Nr   greedyFrJ   )
r   __call___name_parser_mapr   argparse_UNRECOGNIZED_ARGS_ATTRdelattrAttributeErrorr   rv   )r   rq   	namespacevaluesoption_stringunknownr   s         rN   r    _GreedySubParsersAction.__call__   s    FB&&vay1 68U++!)X-M-MN	8#C#CD
 $GnIO , " s   4A= =BBc                ,    [        U R                  S S9$ )zDSort actions for subcommands to appear alphabetically in help blurb.c                    U R                   $ r   )rW   )rG   s    rN   <lambda>9_GreedySubParsersAction._get_subactions.<locals>.<lambda>  s    rP   )key)r   _choices_actions)r   s    rN   _get_subactions'_GreedySubParsersAction._get_subactions  s    d++1KLLrP   rJ   r   )	r   r   r   r   __doc__r   r   r   r   r   s   @rN   r[   r[      s    -"M MrP   r[   c                <    [         (       a  [        O[        " X5      $ r   )r   	_exec_win
_exec_unixexecutable_argsenv_varss     rN   r   r     s    IZ/KKrP   c                   [        XS9n UR                  5         [        R
                  " UR                  5        g ! [         a    UR                  5          N=f = f! [        R
                  " UR                  5        f = f)N)r.   )r	   communicateKeyboardInterruptwaitsysexit
returncode)r   r   ps      rN   r   r     sY    o,A	 	  	 	s!   < AA AA "A>c                8    [         R                  " U S   X5        g r   )r   execvper   s     rN   r   r      s    JJq!?=rP   c                   [         R                  R                  5       nUR                  5        H  u  p#U[        ;   a$  [
        R                  [        SU S35      5        M3  U R                  UUR                  UR                  SS9nUR                  (       a  UR                  U5         [        U5        OSUl        UR                  US9  M     [         R                   (       a  g[#        [%        5       5      R'                  U5      S1-
  nU Ha  nU[        ;   a$  [
        R                  [        S	U S35      5        M1  U R                  US
U S3S
U S3SS9nSUl        UR                  US9  Mc     g! [        R                   a     Nf = f)z
For each of the provided plugin-based subcommands, we'll create
a new subparser for an improved help printout and calling the
:meth:`~conda.plugins.types.CondaSubcommand.configure_parser`
with the newly created subcommand specific argument parser.
z!
                    The plugin 'z' is trying to override the built-in command
                    with the same name, which is not allowed.

                    Please uninstall the plugin to stop seeing this error message.
                    F)rE   rI   r   T)ru   Nr.   z*
                    The (legacy) plugin 'zSee `conda z	 --help`.)rw   )r   r   get_subcommandsr   BUILTIN_COMMANDSlogerrorr   
add_parsersummaryr,   r   r   ArgumentErrorr   set_defaults
no_pluginssetr   
difference)rr   plugin_subcommandsr   r   rq   legacys         rN   rk   rk   $  s    !//??A#5#;#;#= ##II!!% '	 '')11"**	 ( 
 --..v6' !FM 	/@AM $>P  !,,-?@E7JF ##II**. 0	 ''%dV95tfI.	 ( 
 -5 # )) s   +E55FF)returnr   )r   zargparse.Namespacerq   r   )r   None)qr   
__future__r   r   r   r   r   r   r   ArgumentParserBase	importlibr   loggingr   
subprocessr	   r~   r   
auxlib.ishr   base.contextr   r   r   common.compatr   r   common.constantsr   deprecationsr   actionsr   r   r   r   helpersr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   
main_cleanr,   r]   main_commandsr^   main_comparer_   main_configr`   main_createra   main_envrc   main_exportrd   	main_infore   	main_initrf   main_installrg   	main_listrh   main_mock_activater\   main_mock_deactivaterb   main_noticesri   main_packagerj   main_removerl   main_renamerm   main_runrn   main_searchro   main_updaterp   r   r   r   escaped_user_rc_pathescaped_sys_rc_pathr   rO   rs   r   r   _SubParsersActionr[   r   r   r   rk   rJ   rP   rN   <module>r     s-   , "  	 
 : #     = = . # % 7 9     * C H F D D > D @ @ F @ M Q F F D D > D D#++C6 !))#t4  0 S0*Z%PF' :Mh88 M:L>Q.rP   