
ݲk^c           @` s  d  d l  m Z m Z m Z 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 Z d  d l m Z m Z m Z m Z m Z m Z m Z m Z d  d l Z d  d l Z d  d	 l m Z d  d l Z d
 d l m Z m Z d
 d l  m! Z! m" Z" d
 d l# m$ Z$ d
 d l% m& Z& m' Z' m( Z( d
 d l) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ d
 d l0 m1 Z1 d
 d l2 m3 Z3 m4 Z4 m5 Z5 e e6  Z7 d e8 f d     YZ9 d   Z: d   Z; d   Z< d   Z= d   Z> d e9 f d     YZ? d e9 f d     YZ@ d e9 f d     YZA d e9 f d      YZB d! e9 f d"     YZC d# e9 f d$     YZD i e? d% 6e? d& 6e? d' 6e? d( 6e? d) 6e@ d* 6e@ d+ 6eA d, 6eB d- 6eC d. 6eD d/ 6ZE eF d0  ZG e6 d1 k re jH eG    n  d S(2   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literals(   t   OrderedDict(   t   ENOENT(   t   glob(   t   chain(   t	   getLoggerN(   t   abspatht   basenamet   dirnamet
   expandusert
   expandvarst   isdirt   joint   exists(   t   dedenti   (   t   CONDA_PACKAGE_ROOTt
   CondaError(   t   concatvt   drop(   t   Utf8NamedTemporaryFile(   t   ROOT_ENV_NAMEt   contextt   locate_prefix_by_name(   t   FILESYSTEM_ENCODINGt   PY2t	   iteritemst   on_wint   string_typest	   text_type(   t   paths_equal(   t   PREFIX_STATE_FILEt   PACKAGE_ENV_VARS_DIRt   CONDA_ENV_VARS_UNSET_VARt
   _Activatorc           B` s|  e  Z d  Z d  Z d  Z d  Z d  Z d  Z d  Z	 d  Z
 d  Z d  Z d  Z d  d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d  d  Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" e# d  Z$ d  d  Z% d  d  Z& d  d  Z' d   Z( d   Z) d   Z* d   Z+ d   Z, d   Z- d   Z. RS(!   c         C` sD   | |  _  t r. d   t t j  D |  _ n t j j   |  _ d  S(   Nc         S` s+   i  |  ]! \ } } t  |  t  |   q S(    (   t   ensure_fs_path_encoding(   t   .0t   kt   v(    (    s-   lib/python2.7/site-packages/conda/activate.pys
   <dictcomp>I   s   	(   t   _raw_argumentsR   R   t   ost   environt   copy(   t   selft	   arguments(    (    s-   lib/python2.7/site-packages/conda/activate.pyt   __init__E   s
    	c         C` sc  | } d | k s" | d d k	 r( t n t } g  } g  } d d l m } |   } x^ t j j   D]M \ } }	 |	 d k s | r | j |  qc |	 r |  j	 |	  n |	 | | <qc Wd d l m } |   }
 x^ | j   D]P \ } }	 | d k r q q |	 d k r| j | j
    q |	 |
 | j
   <q W| | 7} | t |
 j   | j     }
 |
 | f S(   u)  
        :param kwargs: environment variables to export. The `conda_exe_vars` meta
                       variables are also exported by default. If you do not want
                       this to happen then pass:
                           conda_exe_vars=None
                       .. if you pass and set any other variable to None, then it
                       emits it to the dict with a value of None.

        :return: A OrderedDict of env vars to export ordered the same way as kwargs.
                 And a list of env vars to unset.
        u   conda_exe_varsi    (   R   N(   t   Nonet   Falset   Truet   collectionsR   R   t   conda_exe_vars_dictt   itemst   appendt   path_conversiont   upperR   (   R-   t   odargst   kwargst   conda_exe_vars_Nonet   conda_exe_unset_varst
   unset_varsR   t   conda_exe_vars_exportR'   R(   t   export_vars(    (    s-   lib/python2.7/site-packages/conda/activate.pyt   get_export_unset_varsO   s,    	#	
!c         K` sq   |  j  d t |   \ } } | d  k	 rN t t | j   | j     } n  | d  k	 rg | | 7} n  | | f S(   NR9   (   R@   R   R0   R   R5   (   R-   R?   R=   R:   t   new_export_varst   new_unset_vars(    (    s-   lib/python2.7/site-packages/conda/activate.pyt   add_export_unset_varsw   s    $c         K` s   |  j  d t |   \ } } d  } } | ro |  j j g  | j   D] \ } } |  j | | f ^ qD  } n  | r |  j j g  | D] } |  j | ^ q  } n  | p d | p d f S(   NR9   u    (   R@   R   R0   t   command_joinR   R5   t   export_var_tmplt   unset_var_tmpl(   R-   R:   R?   R=   t   script_export_varst   script_unset_varsR'   R(   (    (    s-   lib/python2.7/site-packages/conda/activate.pyt   get_scripts_export_unset_vars   s    
	8	&c         C` s   t  | d  } | d  k r+ |  j j |  S| rr t d d | d t   } | j |  j j |   Wd  QX| j St    d  S(   Nu    u   w+t   suffixt   delete(   u    (	   R   R0   RD   R   R   R1   t   writet   namet   NotImplementedError(   R-   t   commandst   extt   tf(    (    s-   lib/python2.7/site-packages/conda/activate.pyt	   _finalize   s    c         C` sL   |  j  r |  j |  j  } n |  j |  j  } |  j |  j |  |  j  S(   N(   t   stackt   build_stackt   env_name_or_prefixt   build_activateRR   t   _yield_commandst   tempfile_extension(   R-   t   builder_result(    (    s-   lib/python2.7/site-packages/conda/activate.pyt   activate   s    	c         C` s"   |  j  |  j |  j    |  j  S(   N(   RR   RW   t   build_deactivateRX   (   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyt
   deactivate   s    c         C` s"   |  j  |  j |  j    |  j  S(   N(   RR   RW   t   build_reactivateRX   (   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyt
   reactivate   s    c         C` s   g  } | j  |  j    t |  j   } | j  | j    Wd  QX| d  k rY t j s_ | ro | j  d  n  |  j   } | d  k	 r | j  |  n  d j	 |  S(   Nu   conda activate base
u   
(
   R6   t   _hook_preamblet   opent   hook_source_patht   readR0   R   t   auto_activate_baset   _hook_postambleR   (   R-   Rc   t   buildert   fsrct	   postamble(    (    s-   lib/python2.7/site-packages/conda/activate.pyt   hook   s    c         C` s#   |  j  |  j  t |  |  j    S(   N(   t   _parse_and_set_argsR)   t   getattrt   command(   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyt   execute   s    c         C` sR   d d l  m } d d l m } m } d j t | |    t | t     S(   u   
        Returns a list of possible subcommands that are valid
        immediately following `conda` at the command line.
        This method is generally only used by tab-completion.
        i   (   t   find_commands(   t   generate_parsert   find_builtin_commandsu   
(	   t   cli.find_commandsRm   t   cli.conda_argparseRn   Ro   R   t   sortedt   tupleR2   (   R-   Rm   Rn   Ro   (    (    s-   lib/python2.7/site-packages/conda/activate.pyRO      s
    	c         C` s   t     d  S(   N(   RN   (   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR_      s    c         C` s   d  S(   N(   R0   (   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyRd      s    c         ` sZ  | d  k r+ d d l m } | d   n  | d   t t d |   } d  t  f d   | D  } t |  t |  k } t   f d	   | D  }   s d d l m } | d
   n | r5d d l m } m } m	 } i |   d 6|   d 6| d  d 6| d  d 6| d  d 6}	 |	    n/   d k rdd d l m } | d     n    j
 d  s  d k ry | j d  }
 Wn t k
 rt t _ qX| |
 =t t _ n    d k rt j ot j t j k |  _ y | j d  } Wn t k
 rd } n Xy | j d  } Wn t k
 rEd } n X| d k r| d k rd d l m } | d     n  | d k rt |  _ | | =n  | d k rt |  _ | | =n  t |  d k rd d l m } |   d t |  d   n  | r| d pd |  _ n/ | rMd d l m } | d   | f   n    |  _ d  S(   Ni   (   t   ArgumentErroru?   'activate', 'deactivate', or 'reactivate' command must be giveni    u   -hu   --helpu   /?c         3` s!   |  ] } |   k r | Vq d  S(   N(    (   R&   t   arg(   t
   help_flags(    s-   lib/python2.7/site-packages/conda/activate.pys	   <genexpr>   s    c         3` s'   |  ] } | r |   k r | Vq d  S(   N(    (   R&   Ru   (   Rk   (    s-   lib/python2.7/site-packages/conda/activate.pys	   <genexpr>   s    uS   'activate', 'deactivate', 'hook', 'commands', or 'reactivate' command must be given(   t   ActivateHelpt   DeactivateHelpt   GenericHelpu   activateu
   deactivateu   hooku   commandsu
   reactivateu   invalid command '%s'u   --devu   --stackiu
   --no-stacku.   cannot specify both --stack and --no-stack to u)    does not accept more than one argument:
u   
u   baseu0   %s does not accept arguments
remainder_args: %s
(   u   -hu   --helpu   /?(   u   activateu
   deactivateu
   reactivateu   hooku   commands(   R0   t
   exceptionsRt   Rs   R   t   lent   listRw   Rx   Ry   t   endswitht   indext
   ValueErrorR1   R   t   devR2   t
   auto_stackt   shlvlRS   t   strRU   Rk   (   R-   R.   Rt   t   non_help_argst   help_requestedt   remainder_argsRw   Rx   Ry   t   help_classest   dev_idxt	   stack_idxt   no_stack_idx(    (   Rk   Rv   s-   lib/python2.7/site-packages/conda/activate.pyRi      sx    




	
	
c         c` s6  x> t  t | j d i     D] \ } } |  j | | f Vq Wx& | j d d  D] } |  j | VqT Wx& | j d d  D] } |  j | Vq} Wx8 t | j d i    D] \ } } |  j | | f Vq Wx8 t | j d i    D] \ } } |  j | | f Vq Wx& | j d d	  D] } |  j | VqWd  S(
   Nu   export_pathu   deactivate_scriptsu
   unset_varsu   set_varsu   export_varsu   activate_scripts(    (    (    (   Rr   R   t   getRE   t   run_script_tmplRF   t   set_var_tmpl(   R-   t	   cmds_dictt   keyt   valuet   script(    (    s-   lib/python2.7/site-packages/conda/activate.pyRW     s    +%%c         C` s   |  j  | t  S(   N(   t   _build_activate_stackR1   (   R-   RU   (    (    s-   lib/python2.7/site-packages/conda/activate.pyRV   ,  s    c         C` s   |  j  | t  S(   N(   R   R2   (   R-   RU   (    (    s-   lib/python2.7/site-packages/conda/activate.pyRT   /  s    c         C` s  t  j d |  rU t |  } t t | d   s d d l m } | |   q n* | t d f k rs t j	 } n t
 |  } t |  j j d d  j   p d  } | d } |  j j d	  } | | k r | d k r |  j   S|  j |  } |  j |  }	 |  j | |	  }
 |  j |  } g  | j   D] \ } } | t k r0| ^ q0} g  | D] } | j |  ^ q[g  | j   D]! } | t j j   k r| ^ q} x4 | D], } d
 | | f } t j j |  | | <qW| rt d d t j t d d j |  d t j n  g  } | d k r|  j |  j |   } t d | f d | f d | f d |	 f d |
 f f  } x$ | j   D] \ } } | | | <qW|  j d |  \ } } d } n|  j j d | d  | k r|  j    S| r|  j |  j |   } d } t d | f d | f d | f d |	 f d |
 f f  } x$ | j   D] \ } } | | | <qZW|  j d |  \ } } | | d | <d | d | <n |  j |  j! | |   } |  j" |  } t d | f d | f d | f d |	 f d |
 f f  } x$ | j   D] \ } } | | | <qW|  j d |  \ } } | | d | <i  } t j# r}|  j$ | |
  n  |  j% |  i | d 6| d 6| d 6| d 6| d 6S(    Nu   \\|/u
   conda-metai   (   t   EnvironmentLocationNotFoundu   rootu   CONDA_SHLVLu    i    u   CONDA_PREFIXu   __CONDA_SHLVL_%s_%su=   WARNING: overwriting environment variables set in the machinet   fileu   overwriting variable %su    u   pathu   conda_prefixu   conda_shlvlu   conda_default_envu   conda_prompt_modifierR9   u   CONDA_PREFIX_%su   CONDA_PREFIX_%du   trueu   CONDA_STACKED_%du
   unset_varsu   set_varsu   export_varsu   deactivate_scriptsu   activate_scripts(    (    (&   t   ret   searcht   expandR   R   Rz   R   R   R   t   root_prefixR   t   intR+   R   t   stripR]   t   _get_activate_scriptst   _default_envt   _prompt_modifiert   _get_environment_env_varsR5   R#   t   popt   keysR*   t   printt   syst   stderrt   pathsep_joint   _add_prefix_to_pathR   R@   R[   t   _replace_prefix_in_patht   _get_deactivate_scriptst	   changeps1t   _update_promptt   _build_activate_shell_custom(   R-   RU   RS   t   prefixR   t   old_conda_shlvlt   new_conda_shlvlt   old_conda_prefixt   activate_scriptst   conda_default_envt   conda_prompt_modifiert   conda_environment_env_varsR'   R(   t   unset_env_varst   _t   clobbering_env_varst   cvart   save_varR=   t   new_patht   env_vars_to_exportR?   t   deactivate_scriptst   set_vars(    (    s-   lib/python2.7/site-packages/conda/activate.pyR   2  s    '

 !#					 
									c         C` s'  t  |  _ |  j j d  } t |  j j d d  j   p< d  } | sU | d k  r i d d 6t   d 6t   d 6d d	 6d d
 6S|  j |  } |  j |  } | d } i  } | d k r |  j	 |  j
 |   } |  j d t d d | f d d f   \ } }	 d }
 d } i | d 6} n`| d k s2t  |  j j d |  } |  j |  } |  j | |  }
 |  j |  } d | |  j k } d } d | g }	 | r|  j	 |  j
 |   } |	 j d |  n |  j	 |  j | |   } t d | f d | f d | f d |
 f f  } x$ | j   D] \ } } | | | <q(W|  j d |  \ } } |	 | 7}	 i | d 6} |  j |  } t j r|  j | |
  n  xZ | j   D]L } |	 j |  d | | f } | t j j   k rt j | | | <qqWi |	 d 6| d 6| d 6| d 6| d	 6| d
 6S(   Nu   CONDA_PREFIXu   CONDA_SHLVLu    i    i   u
   unset_varsu   set_varsu   export_varsu   deactivate_scriptsu   activate_scriptsR9   u   conda_prefixu   conda_shlvlu   conda_default_envu   conda_prompt_modifieru   PATHu   CONDA_PREFIX_%du   CONDA_STACKED_%du   __CONDA_SHLVL_%s_%su   export_path(    (    (    (   u   conda_prefixN(   u   conda_default_envN(   u   conda_prompt_modifierN(    (   R2   t   _deactivateR+   R   R   R   R   R   R   R   t   _remove_prefix_from_pathR@   R0   t   AssertionErrorR   R   R6   R   R5   R   R   R   R   R   R*   (   R-   R   R   R   t   old_conda_environment_env_varsR   R   R   R?   R=   R   R   t   export_patht
   new_prefixR   t   new_conda_environment_env_varst   old_prefix_stackedR   R'   R(   t   unset_vars2t   env_varR   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR[     s|    	'


				
	c         C` s  t  |  _ |  j j d  } t |  j j d d  j   p< d  } | sU | d k  r i d d 6t   d 6t   d 6d d	 6d d
 6S|  j j d |  j |   } |  j |  j	 | |   } i  } |  j
 | |  } t j r |  j | |  n  d } t d | f d | f d |  j
 | |  f g  } |  j |  }	 x@ |	 j   D]2 \ }
 } | t k rl| |
 f } qD| | |
 <qDWi | d 6| d 6| d 6|  j |  d	 6|  j |  d
 6S(   Nu   CONDA_PREFIXu   CONDA_SHLVLu    i    i   u
   unset_varsu   set_varsu   export_varsu   deactivate_scriptsu   activate_scriptsu   CONDA_DEFAULT_ENVu   PATHu   CONDA_PROMPT_MODIFIER(    (    (    (    (   R2   t   _reactivateR+   R   R   R   R   R   R   R   R   R   R   R   R   R5   R#   R   R   (   R-   t   conda_prefixt   conda_shlvlR   R   R   R   t   env_vars_to_unsetR   R   R'   R(   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR]     s@    	'

			c         C` s  i d d 6d d 6} |  j  j d t j | k r< | t j n d  } | j t j  } t |  j t j	   } d } xI | t
 |  k  r | t
 |  k  r t | | | |  r | d 7} qx W| | } |  j |  j j t j	 d	 d
 f   } t | d |  r| d } n  | S(   Nu   /usr/bin:/bin:/usr/sbin:/sbinu   darwinuc   C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\u   win32u   PATHu   /usr/bini    i   u   Libraryu   bin(   R+   R   R   t   platformt   splitR*   t   pathsepRs   t   _get_path_dirsR   R{   R    R7   t   sepR   (   R-   t   clean_pathst   patht
   path_splitt   prefix_dirst   start_indext   library_bin_dir(    (    s-   lib/python2.7/site-packages/conda/activate.pyt   _get_starting_path_list  s$    

	
!c         c` s   t  r | j d  V|  j j | d d d f  V|  j j | d d d f  V|  j j | d d f  V|  j j | d f  V|  j j | d f  Vn |  j j | d f  Vd  S(   Nu   \u   Libraryu	   mingw-w64u   binu   usru   Scripts(   R   t   rstripR   R   (   R-   R   t   extra_library_bin(    (    s-   lib/python2.7/site-packages/conda/activate.pyR   4  s    c         C` s   |  j  |  } | d  k r9 t |  j  |  j     } n t |  j  |   } t |  j j d d  j   po d  } | r t d   | D  r |  j  t	 t
 j d   } | j d |  n  t |  j  |  j |    | d d +t |  S(   Nu   CONDA_SHLVLu    i    c         s` s   |  ] } | j  d   Vq d S(   u   condabinN(   R}   (   R&   t   p(    (    s-   lib/python2.7/site-packages/conda/activate.pys	   <genexpr>K  s    u   condabin(   R7   R0   R|   R   R   R+   R   R   t   anyR   R   R   t   insertR   Rs   (   R-   R   t   starting_path_dirst	   path_listR   t   condabin_dir(    (    s-   lib/python2.7/site-packages/conda/activate.pyR   ?  s    '%c         C` s   |  j  | d  |  S(   N(   R   R0   (   R-   R   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR   R  s    c         C` s  |  j  |  } |  j  |  } | d  k rH t |  j  |  j     } n t |  j  |   } d   } | d  k	 rt |  j |   } | | | d  } | d  k r d } qt |  d } d  }	 xb |	 d  k r)| d k r)| | | |  }	 |	 d  k rt j d j	 | |   n  | d } q W|  j  |  j
 j t j d d f   }
 | |	 d |
 k rr|	 d 7}	 n  | | |	 d 5n d } | d  k	 rt |  j |   | | | +n  t |  S(   Nc         S` s4   x- t  |   D] \ } } t | |  r | Sq Wd  S(   N(   t	   enumerateR    R0   (   t   pathst	   test_patht   qR   (    (    s-   lib/python2.7/site-packages/conda/activate.pyt   index_of_path]  s    i    i   iu   Did not find path entry {}u   Libraryu   bin(   R7   R0   R|   R   Rs   R   R{   t   logt   infot   formatR   R   R   R   (   R-   t
   old_prefixR   R   R   R   R   t	   first_idxt   prefix_dirs_idxt   last_idxR   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR   U  s6    		!c         C` s   d  S(   N(    (   R-   R?   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR     s    c         C` s   d  S(   N(    (   R-   R   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR     s    c         C` s<   t  | t j  r d St t |   d k r8 t |  S| S(   Nu   baseu   envs(   R    R   R   R
   R   (   R-   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR     s    c      
   C` s'  t  j rg  } g  } t |  j j d d  j    } x t d | d  D] } | | k r} |  j |  j j d d   } n- |  j |  j j d j |  d  j    } t	 |  j j d j |  d  j    } | j
 |  | s | d d	 !} n  | j
 |  qJ Wt |  d
 t  }	 t |  d t  }
 |	 r| d d	 !} | d d	 !} t	 |  j j d j |  d  j    } | r| r| j
 | d	  qn> |
 rn5 t |  d t  } | s| d d	 !} n  | j
 |  d j | d  d  d	   } t  j j d | d | d | d t |   Sd Sd  S(   Nu   CONDA_SHLVLu   0i   u   CONDA_PREFIXu    u   CONDA_PREFIX_{}u   CONDA_STACKED_{}i    iu   _deactivateu   _reactivateu   stacku   ,t   default_envt   stacked_envR   RM   (   R   R   R   R+   R   R   t   rangeR   R   t   boolR6   Rj   R1   R   t
   env_promptR
   (   R-   R   R   t	   env_stackt   prompt_stackt	   old_shlvlt   it   env_it	   stacked_iR\   R^   t   stackedRS   t   conda_stacked_env(    (    s-   lib/python2.7/site-packages/conda/activate.pyR     sF    	!!'**c      
   C` s2   |  j  t t t | d d d d |  j     S(   Nu   etcu   condau
   activate.du   *(   R7   Rr   R   R   t   script_extension(   R-   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR     s    c      
   C` s8   |  j  t t t | d d d d |  j   d t  S(   Nu   etcu   condau   deactivate.du   *t   reverse(   R7   Rr   R   R   R   R2   (   R-   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR     s    c      
   C` sj  t  | t  } t  | t  } t   } t |  r xc t t j |   D]I } t t  | |  d  ) } | j	 t
 j | j   d t  Wd  QXqI Wn  t |  rft | d   } t
 j | j   d t } | j d i   } g  | j   D] }	 |	 | j   k r |	 ^ q }
 x8 |
 D]0 } t d d t j t d | d t j qW| j	 |  Wd  QXn  | S(   Nu   rt   object_pairs_hooku   env_varsub   WARNING: duplicate env vars detected. Vars from the environment will overwrite those from packagesR   u   variable %s duplicated(   R   R!   R"   R   R   Rr   R*   t   listdirR`   t   updatet   jsont   loadsRb   R   R   R   R   R   (   R-   R   t   env_vars_filet   pkg_env_var_dirt   env_varst   pkg_env_var_filet   ft   prefix_statet   prefix_state_env_varst   evt   dup_varst   dup(    (    s-   lib/python2.7/site-packages/conda/activate.pyR     s$    	/1	
N(/   t   __name__t
   __module__R0   R   R   R7   R   RX   RD   RF   RE   R   R   Ra   R/   R@   RC   RI   RR   RZ   R\   R^   Rh   Rl   RO   R_   Rd   Ri   RW   RV   RT   R   R[   R]   R   R1   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s-   lib/python2.7/site-packages/conda/activate.pyR$       sV   
	(												J				c	T	)	"*				.		c         C` s   t  t t |     S(   N(   R	   R   R   (   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR     s    c         C` s*   y |  j  d  SWn t k
 r% |  SXd  S(   Nu   utf-8(   t   encodet   AttributeError(   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyt   ensure_binary  s    c         C` s*   y |  j  t  SWn t k
 r% |  SXd  S(   N(   t   decodeR   R  (   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR%     s    c         C` sK  t  s t |   S|  d  k r  d  Sd d l m } m } m } d d l m } d d l	 m
 } | d  } | r t j j t |  d  n d } | d 7} t |  t  } | r |  n d	 t j j |   }	 t |	 d
  r |	 j d  }	 n  y( | | |  d | d | d | }
 Wng t k
 r|} | j t k r:  n  d   } t |	  }	 t j d | |	  j d d  j d  } n X|
 j d |	  \ } } |
 j } | d k s| rd | | | f } t | d t j  | | | |   n  t | d  r| j! d  } n  | j"   } | r-| j# d  p0d } | rA| d St$ |  S(   Ni    (   t   CalledProcessErrort   PIPEt   Popen(   t   shlex_split_unicodei   (   t   whichu   bashu   cygpathu    --path -f -u   %su   encodeu   utf-8t   stdint   stdoutR   c         S` sD   |  j  d  j d d  j d d  j d d  } d | j d  S(   Ni   u   \u   /u   :u    u   //(   t   groupt   replaceR   (   t
   found_patht   found(    (    s-   lib/python2.7/site-packages/conda/activate.pyt   _translation  s    3u/   ([a-zA-Z]:[\/\\\\]+(?:[^:*?\"<>|;]+[\/\\\\]*)*)u   ;/u   :/u   ;t   inputu$   
  stdout: %s
  stderr: %s
  rc: %s
R   u   decodeu   :(    (%   R   t   path_identityR0   t
   subprocessR  R  R  t   conda._vendor.auxlib.compatR  t   common.pathR  R*   R   R   R   t
   isinstanceR   R   t   hasattrR
  t   EnvironmentErrort   errnoR   R%   R   t   subR  R   t   communicatet
   returncodeR   R   R   R  R   R   Rs   (   R   R  R  R  R  R  t   bashRk   t   single_patht   joinedR   t   eR  R  R   t   rct   messaget   final(    (    s-   lib/python2.7/site-packages/conda/activate.pyt   native_path_to_unix  sJ    
'
"(			c         C` sG   t  |  t  r t j j |   S|  d  k r/ d  St d   |  D  Sd  S(   Nc         s` s!   |  ] } t  j j |  Vq d  S(   N(   R*   R   t   normpath(   R&   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pys	   <genexpr>.  s    (   R  R   R*   R   R.  R0   Rs   (   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR  (  s
    t   PosixActivatorc           B` s&   e  Z d d   Z d   Z d   Z RS(   c         C` s   d j  |  _ d |  _ t |  _ d |  _ d  |  _ d |  _ d |  _	 d |  _
 d |  _ d |  _ t  t d	 d
 d d  |  _ t t |   j |  d  S(   Nu   :u   /u   .shu   
u   unset %su   export %s='%s'u   %s='%s'u   . "%s"u   shellu   etcu	   profile.du   conda.sh(   R   R   R   R-  R7   R   R0   RX   RD   RF   RE   R   R   R   Ra   t   superR/  R/   (   R-   R.   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR/   3  s    									c         C` s   |  j  j d d  } d | k r% d  S|  j  j d  } | r^ t j t j |  d |  } n  | j d d  } | j i | | d 6 d  S(   Nu   PS1u    u   POWERLINE_COMMANDu   CONDA_PROMPT_MODIFIERu   'u   '"'"'(   R+   R   R   R#  t   escapeR  R   (   R-   R   R   t   ps1t   current_prompt_modifier(    (    s-   lib/python2.7/site-packages/conda/activate.pyR   D  s    !	c         C` s   d } x t  j j   D] \ } } | d  k rR | t |  j | d f  d 7} q | d k r | t |  j | |  j |  f  d 7} q | t |  j | | f  d 7} q W| S(   Nu    u   
u
   PYTHONPATHu	   CONDA_EXE(   u
   PYTHONPATHu	   CONDA_EXE(   R   R4   R5   R0   R   RE   R7   (   R-   t   resultR   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR_   T  s    $!%N(   R  R	  R0   R/   R   R_   (    (    (    s-   lib/python2.7/site-packages/conda/activate.pyR/  1  s   	t   CshActivatorc           B` s&   e  Z d d   Z d   Z d   Z RS(   c         C` s   d j  |  _ d |  _ t |  _ d |  _ d  |  _ d |  _ d |  _	 d |  _
 d |  _ d |  _ t  t d	 d
 d d  |  _ t t |   j |  d  S(   Nu   :u   /u   .cshu   ;
u   unsetenv %su   setenv %s "%s"u   set %s='%s'u   source "%s"u   shellu   etcu	   profile.du	   conda.csh(   R   R   R   R-  R7   R   R0   RX   RD   RF   RE   R   R   R   Ra   R0  R5  R/   (   R-   R.   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR/   g  s    									c         C` sj   |  j  j d d  } |  j  j d  } | rN t j t j |  d |  } n  | j i | | d 6 d  S(   Nu   promptu    u   CONDA_PROMPT_MODIFIER(   R+   R   R   R#  R1  R   (   R-   R   R   t   promptR3  (    (    s-   lib/python2.7/site-packages/conda/activate.pyR   x  s    !	c         C` sJ   t  r& d t j t j t j t j f Sd t j t j t j t j f Sd  S(   Nu   setenv CONDA_EXE `cygpath %s`
setenv _CONDA_ROOT `cygpath %s`
setenv _CONDA_EXE `cygpath %s`
setenv CONDA_PYTHON_EXE `cygpath %s`ua   setenv CONDA_EXE "%s"
setenv _CONDA_ROOT "%s"
setenv _CONDA_EXE "%s"
setenv CONDA_PYTHON_EXE "%s"(   R   R   t	   conda_exeR   R   t
   executable(   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR_     s    N(   R  R	  R0   R/   R   R_   (    (    (    s-   lib/python2.7/site-packages/conda/activate.pyR5  e  s   		t   XonshActivatorc           B` s,   e  Z e d     Z d d  Z d   Z RS(   c         C` sl   t  s t |   St |  t  r/ |  j d d  S|  d  k r? d  St g  |  D] } | j d d  ^ qI  Sd  S(   Nu   \u   /(   R   R  R  R   R  R0   Rs   (   R   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR7     s    
c         C` s   t  r d j n d j |  _ d |  _ d  |  _ d |  _ d |  _ d |  _ d |  _	 d d  l
 } | j   d k r d	 |  _ d
 |  _ n d |  _ d |  _ t t d d  |  _ t t |   j |  d  S(   Nu   ;u   :u   /u   
u   del $%su
   $%s = '%s'i    u   Windowsu   .batu   source-cmd "%s"u   .shu   source-bash "%s"u   shellu	   conda.xsh(   R   R   R   R   R0   RX   RD   RF   RE   R   R   t   systemR   R   R   Ra   R0  R9  R/   (   R-   R.   R   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR/     s    									c         C` s   d |  j  t j  S(   Nu   $CONDA_EXE = "%s"(   R7   R   R7  (   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR_     s    N(   R  R	  t   staticmethodR7   R0   R/   R_   (    (    (    s-   lib/python2.7/site-packages/conda/activate.pyR9    s   t   CmdExeActivatorc           B` s   e  Z d d   Z RS(   c         C` s   d j  |  _ d |  _ t |  _ d |  _ d |  _ d |  _ d |  _ d |  _	 d |  _
 d |  _ d  |  _ t t |   j |  d  S(   Nu   ;u   \u   .batu   
u   @SET %s=u   @SET "%s=%s"u
   @CALL "%s"(   R   R   R   R  R7   R   RX   RD   RF   RE   R   R   R0   Ra   R0  R<  R/   (   R-   R.   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR/     s    										N(   R  R	  R0   R/   (    (    (    s-   lib/python2.7/site-packages/conda/activate.pyR<    s   t   FishActivatorc           B` s   e  Z d d   Z d   Z RS(   c         C` s   d j  |  _ d |  _ t |  _ d |  _ d  |  _ d |  _ d |  _	 d |  _
 d |  _ d |  _ t  t d	 d
 d d d  |  _ t t |   j |  d  S(   Nu   " "u   /u   .fishu   ;
u	   set -e %su   set -gx %s "%s"u   set -g %s "%s"u   source "%s"u   shellu   etcu   fishu   conf.du
   conda.fish(   R   R   R   R-  R7   R   R0   RX   RD   RF   RE   R   R   R   Ra   R0  R=  R/   (   R-   R.   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR/     s    									c         C` sJ   t  r& d t j t j t j t j f Sd t j t j t j t j f Sd  S(   Nu   set -gx CONDA_EXE (cygpath "%s")
set _CONDA_ROOT (cygpath "%s")
set _CONDA_EXE (cygpath "%s")
set -gx CONDA_PYTHON_EXE (cygpath "%s")u]   set -gx CONDA_EXE "%s"
set _CONDA_ROOT "%s"
set _CONDA_EXE "%s"
set -gx CONDA_PYTHON_EXE "%s"(   R   R   R7  R   R   R8  (   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR_     s
    N(   R  R	  R0   R/   R_   (    (    (    s-   lib/python2.7/site-packages/conda/activate.pyR=    s   t   PowerShellActivatorc           B` s&   e  Z d d   Z d   Z d   Z RS(   c         C` s   t  r d j n d j |  _ t  r' d n d |  _ t |  _ d |  _ d  |  _ d |  _	 d |  _
 d |  _ d |  _ d	 |  _ t t d
 d d  |  _ t t |   j |  d  S(   Nu   ;u   :u   \u   /u   .ps1u   
u   Remove-Item Env:/%su   $Env:%s = "%s"u   . "%s"u   shellu   condabinu   conda-hook.ps1(   R   R   R   R   R  R7   R   R0   RX   RD   RF   RE   R   R   R   Ra   R0  R>  R/   (   R-   R.   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR/     s    								c      
   C` sW   t  j r= t d j d t j d t t  d t j	 d t    St d j d t    Sd  S(   Nu-                  $Env:PYTHONPATH = "{python_path}"
                $Env:CONDA_EXE = "{sys_exe}"
                $Env:_CE_M = "-m"
                $Env:_CE_CONDA = "conda"
                $Env:_CONDA_ROOT = "{python_path}{s}conda"
                $Env:_CONDA_EXE = "{context.conda_exe}"
                t   st   python_patht   sys_exeR   u                   $Env:CONDA_EXE = "{context.conda_exe}"
                $Env:_CE_M = ""
                $Env:_CE_CONDA = ""
                $Env:_CONDA_ROOT = "{context.conda_prefix}"
                $Env:_CONDA_EXE = "{context.conda_exe}"
                (
   R   R   R   R   R*   R   R   R   R   R8  (   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyR_   
  s    	c         C` s   t  j r d Sd  S(   Nu   Add-CondaEnvironmentToPrompt(   R   R   R0   (   R-   (    (    s-   lib/python2.7/site-packages/conda/activate.pyRd     s    	N(   R  R	  R0   R/   R_   Rd   (    (    (    s-   lib/python2.7/site-packages/conda/activate.pyR>    s   	u   posixu   ashu   bashu   dashu   zshu   cshu   tcshu   xonshu   cmd.exeu   fishu
   powershellc         C` s,  d d l  m } t j   |   |  p- t j }  t |   d k sH t  |  d j d  sa t  |  d j	 d d d  } |  d } y t
 | } Wn! t k
 r t d |   n X| |  } y t | j   d d d	 SWnE t k
 r'} t | t  r!t t |  d
 t j | j S  n Xd  S(   Ni   (   t   init_std_stream_encodingi   u   shell.u    i   u   %s is not a supported shell.t   endi    R   (   t   common.compatRB  R   R/   R   t   argvR{   R   t
   startswithR  t   activator_mapt   KeyErrorR   R   Rl   t	   ExceptionR  R   R   t   return_code(   RE  RB  t   shellt   activator_argst   activator_clst	   activatorR)  (    (    s-   lib/python2.7/site-packages/conda/activate.pyt   main4  s*    

u   __main__(I   t
   __future__R    R   R   R   R3   R   R"  R   R   t	   itertoolsR   t   loggingR   R*   t   os.pathR	   R
   R   R   R   R   R   R   R   R   t   textwrapR   R   t    R   R   t   _vendor.toolzR   R   t   _vendor.auxlib.compatR   t   base.contextR   R   R   RD  R   R   R   R   R   R   R  R    t   base.constantsR!   R"   R#   R  R   t   objectR$   R   R  R%   R-  R  R/  R5  R9  R<  R=  R>  RG  R0   RO  t   exit(    (    (    s-   lib/python2.7/site-packages/conda/activate.pyt   <module>   s`   ":.  					6		4,)#.
