
    *d                         d dl Z d dlZd dlmZ d dlZd dlmZ d dlm	Z	  e j
        de           Zd ZddZdd	efd
ZdS )    Nversion)ChannelPriority)contextzconda.c                       t          d          S )N
libmambapyr        Alib/python3.11/site-packages/conda_libmamba_solver/mamba_utils.pymamba_versionr      s    <   r
   c                    |$t           j        t          j        t          j        fv }t          |           }|rct          d |                                 D                       }t          t          |                                                     j	        j
        }|                                 D ]}|r$|j	        j
        |k    r|dz  }|j	        j
        }|}nd}|rd}n|}|dz  }t           j        dk    r9t           j        s-t                              d|j	        |j	        j        ||           |j                            ||           | S )zl
    This function was part of load_channels originally.
    We just split it to reuse it a bit better.
    Nc                 &    h | ]}|j         j        S r	   )channelcanonical_name).0infos     r   	<setcomp>z)set_channel_priorities.<locals>.<setcomp>&   s    SSSDDL7SSSr
      r   z(Channel: %s, platform: %s, prio: %s : %s)r   channel_priorityr   STRICTFLEXIBLElenvaluesnextiterr   r   	verbosityjsonlogdebugsubdirreposet_priority)indexhas_prioritysubprio_indexchannel_priocurrent_channelr   prioritysubprioritys           r   set_channel_prioritiesr*      sW   
 /"$4
 

 JJM LSSELLNNSSSTTtELLNN3344<K 6 6 	|*o==!"&,"=#HHH 	 KK'KQM!!',!II:#   		x5555Lr
   Fuse_mamba_experimentalc           	         t          j                    }t          j        |_        t          j        |_        t          j        r9t          j                     dt          _        dt          _        | rdt          _        t          j        |_        |	                    t          j                   t          j        |_        d|_
        t          j        |_        d|_        t          j        |_        t          j        |_        t          j        |_        dt           j        v r[	 t%          t           j        d                   }||_        n3# t(          $ r& t           j        d         }t)          d| d          w xY wddt+           t          j                            d                              |_        i }t          j        D ]N}t          j        |         j        dvr3 t          j        |                             d          |          ||<   O||_        i }t          j        D ]X}|d	vrRg ||<   t          j        |         D ]:}||                              |                    d                               ;Y||_        fd
t          j        D             |_        t          j        du rd|_        nt          j        durt          j        |_        t          j        |_        t          j        |_        t          j         |_         t          j!        |_!        t          j"        |_"        t%          tG          t          j$                            |_%        t          j&        |_'        t          j(        |_)        t          j*        |_*        t          j+        |_+        t          j,        tZ          j.        u rt           j-        j/        |_,        n]t          j,        tZ          j0        u rt           j-        j1        |_,        n.t          j,        tZ          j2        u rt           j-        j3        |_,        t          j4        |_4        d|_5        |S )NTFMAMBA_EXTRACT_THREADSzGInvalid conversion of env variable 'MAMBA_EXTRACT_THREADS' from value ''c                     |                      dd          d         }|r1|                    |          r|                     dd          d         S |S )N/r   r   )rsplitendswith)urlnametmps      r   get_base_urlz&init_api_context.<locals>.get_base_urlh   sT    jja  # 	-||D!! -zz#q))!,,
r
   with_credentials)localdefaults)r:   r9   c                 N    g | ]!} |                     d                     "S )Tr7   )r3   )r   xr6   s     r   
<listcomp>z$init_api_context.<locals>.<listcomp>   s>          78QUUDU1122     r
   z<false>N)6apiContextr   r   dry_runcancel_json_output
always_yesquietr   set_verbosityofflinelocal_repodata_ttluse_index_cachechannelsr    platformosenvironintextract_threads
ValueErrorstrchannel_aliasr3   custom_channelsr   custom_multichannelsappenddefault_channels
ssl_verifytarget_prefixroot_prefixconda_prefix	pkgs_dirs	envs_dirsroundremote_connect_timeout_secsconnect_timeout_secsremote_max_retriesmax_retriesremote_backoff_factorretry_backoffadd_pip_as_python_dependencyuse_only_tar_bz2r   r   r   kStrictr   	kFlexibleDISABLED	kDisabled
user_agentuse_lockfiles)	r+   api_ctxmax_threadsvadditional_custom_channelseladditional_custom_multichannelscr6   s	           @r   init_api_contextrr   H   s   kmmG<GLoGO| !   !! 	! GL)G'+,,,MGMGO!(!;G"G +G'G~G"*,,	bj)@ABBK&1G## 	 	 	
23A^Z[^^^  	     W-B-F-FX\-F-]-] ^ ^__G!#%  "2&5=RRR-9\'+///FF. .&r* 9G&(#*  ***24+B/1"5  /3:: L!=!=>>    $CG        <C<T     G U""&		4	'	'$/#1G!-G"/G)G)G#&uW-P'Q'Q#R#RG !4G#9G+2+OG(&7G?#999#&#6#>  		!_%=	=	=#&#6#@  		!_%=	=	=#&#6#@  +G!GNs   &E 0E5r>   )F)loggingrK   importlib.metadatar   r   r?   conda.base.constantsr   conda.base.contextr   	getLogger__name__r   r   r*   boolrr   r	   r
   r   <module>rz      s     				 & & & & & &     0 0 0 0 0 0 & & & & & &g+++,,! ! !- - - -`Y YT Y Y Y Y Y Yr
   