???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................
].                 @   s  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z m Z d d g Z Gd d   d e	  Z
 Gd d   d e	  Z d d d d d d	 d
  Z d d d d d d d  Z e d d  Z Gd d   d e  Z d d d  Z d d d d d  Z e d d  Z d d   Z d d d d  Z e d k r|e e  j  d k  rae d d e  j n e  j d  =e e  j d   d S)    N)	read_codeget_importer
run_modulerun_pathc               @   s4   e  Z d  Z d d   Z d d   Z d d   Z d S)_TempModulec             C   s(   | |  _  t j |  |  _ g  |  _ d  S)N)mod_nametypes
ModuleTypemodule_saved_module)selfr    r   */opt/alt/python35/lib64/python3.5/runpy.py__init__   s    	z_TempModule.__init__c             C   sM   |  j  } y |  j j t j |  Wn t k
 r8 Yn X|  j t j | <|  S)N)r   r   appendsysmodulesKeyErrorr
   )r   r   r   r   r   	__enter__   s    	z_TempModule.__enter__c             G   s=   |  j  r# |  j  d t j |  j <n t j |  j =g  |  _  d  S)Nr   )r   r   r   r   )r   argsr   r   r   __exit__'   s    	z_TempModule.__exit__N)__name__
__module____qualname__r   r   r   r   r   r   r   r      s   	r   c               @   s4   e  Z d  Z d d   Z d d   Z d d   Z d S)_ModifiedArgv0c             C   s    | |  _  t   |  _ |  _ d  S)N)valueobject_saved_value	_sentinel)r   r   r   r   r   r   /   s    	z_ModifiedArgv0.__init__c             C   sB   |  j  |  j k	 r t d   t j d |  _  |  j t j d <d  S)NzAlready preserving saved valuer   )r   r   RuntimeErrorr   argvr   )r   r   r   r   r   3   s    z_ModifiedArgv0.__enter__c             G   s    |  j  |  _ |  j t j d <d  S)Nr   )r   r   r   r   r    )r   r   r   r   r   r   9   s    z_ModifiedArgv0.__exit__N)r   r   r   r   r   r   r   r   r   r   r   .   s   r   c       
      C   s   | d  k	 r | j  |  | d  k r: d  } | } d  }	 n0 | j } | j } | j }	 | d  k rj | j } | j  d | d | d |	 d d  d | d | d |  t |  |  | S)Nr   __file__
__cached____doc__
__loader____package____spec__)updateloaderorigincachedparentexec)
codeZrun_globalsinit_globalsr   mod_specpkg_namescript_namer(   fnamer*   r   r   r   	_run_code>   s(    					r3   c       	      C   sw   | d  k r | n | j  } t |  C } t |  - | j j } t |  | | | | | |  Wd  QRXWd  QRX| j   S)N)r)   r   r   r
   __dict__r3   copy)	r-   r.   r   r/   r0   r1   r2   temp_modulemod_globalsr   r   r   _run_module_codeX   s    r8   c          ;   C   s  |  j  d  r | d   |  j d  \ } } } | ry t |  Wn] t k
 r } z= | j d  k s | j | k r | j  | j d  r   WYd  d  } ~ Xn Xt j j |   } | d  k	 rt | d  rd d l	 m
 } d j d |  d |  } | t |   y t j j |   } Wn^ t t t t f k
 r}	 z2 d	 } | | j |  t |	  j |	   |	  WYd  d  }	 ~	 Xn X| d  k r| d
 |    | j d  k	 rE|  d k s|  j d  r| d   y |  d }
 t |
 |  SWnQ | k
 rD} z1 |  t j k r  | d d | |  f   WYd  d  } ~ Xn X| j } | d  k rj| d |    y | j |   } Wn: t k
 r} z | t |   |  WYd  d  } ~ Xn X| d  k r| d |    |  | | f S)N.z#Relative module names not supported__path__r   )warnz{mod_name!r} found in sys.modules after import of package {pkg_name!r}, but prior to execution of {mod_name!r}; this may result in unpredictable behaviourr   r0   z:Error while finding module specification for {!r} ({}: {})zNo module named %s__main__z	.__main__z%Cannot use package as __main__ modulez%s; %r is a package and cannot zbe directly executedz0%r is a namespace package and cannot be executedzNo code object available for %s)
startswith
rpartition
__import__ImportErrornamer   r   gethasattrwarningsr;   formatRuntimeWarning	importlibutil	find_specAttributeError	TypeError
ValueErrortyper   submodule_search_locationsendswith_get_module_detailsr(   get_code)r   errorr0   _eZexistingr;   msgspecexZpkg_main_namer(   r-   r   r   r   rP   f   sZ    	:
'	
(rP   c               @   s   e  Z d  Z d S)_ErrorN)r   r   r   r   r   r   r   rX      s   rX   Tc             C   s   yF | s |  d k r0 t  |  t  \ }  } } n t t  \ }  } } WnE t k
 r } z% d t j | f } t j |  WYd  d  } ~ Xn Xt j d j } | r | j t j	 d <t
 | | d  d |  S)Nr<   z%s: %sr   )rP   rX   _get_main_module_detailsr   
executableexitr   r4   r)   r    r3   )r   Z
alter_argvr/   r-   excrU   Zmain_globalsr   r   r   _run_module_as_main   s     r]   Fc             C   sZ   t  |   \ }  } } | d  k r' |  } | r@ t | | | |  St | i  | | |  Sd  S)N)rP   r8   r3   )r   r.   run_nameZ	alter_sysr/   r-   r   r   r   r      s    c             C   s   d } t  j | } t  j | =zo y t |  SWnZ t k
 r } z: | t |  k ru |  d | t  j d f  |    WYd  d  } ~ Xn XWd  | t  j | <Xd  S)Nr<   zcan't find %r module in %rr   )r   r   rP   r@   strpath)rR   Z	main_nameZ
saved_mainr\   r   r   r   rY      s    
rY   c             C   sl   t  | d   } t |  } Wd  QRX| d  k rb t  | d   } t | j   | d  } Wd  QRX| | f S)Nrbr,   )openr   compileread)r^   r2   fr-   r   r   r   _get_code_from_file   s    rf   c              C   sb  | d  k r d } | j  d  d } t |   } d } t |  j d k rg t |  j d k rg d } t | t d    s | r t | |   \ } } t | | | d | d	 | St j	 j
 d |   zk t   \ } }	 } t |  F }
 t |   0 |
 j j } t | | | | |	 |  j   SWd  QRXWd  QRXWd  y t j	 j |   Wn t k
 r\Yn XXd  S)
Nz
<run_path>r9   r   FZimpZNullImporterTr0   r1   )r>   r   rM   r   r   
isinstancerf   r8   r   r`   insertrY   r   r   r
   r4   r3   r5   removerL   )Z	path_namer.   r^   r0   ZimporterZis_NullImporterr-   r2   r   r/   r6   r7   r   r   r   r      s0    
%r<      z!No module specified for executionfile)r   Zimportlib.machineryrG   importlib.utilr   Zpkgutilr   r   __all__r   r   r   r3   r8   r@   rP   	ExceptionrX   r]   r   rY   rf   r   r   lenr    printstderrr   r   r   r   <module>   s4   :
1
