ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
V~gc           @   s2  d  d d g Z  d d l Z d d l Z d d l Z d d l Z y e j j e j    Z Wn e	 k
 rt d Z n Xd   Z d   Z d   Z d  e f d     YZ d	 e f d
     YZ d e f d     YZ e   a [ i  Z xG e j j   D]6 \ Z Z e d  d k r d e k r e e e <q q Wd S(   t   Processt   current_processt   active_childreniNc           C   s   t  S(   s@   
    Return process object representing the current process
    (   t   _current_process(    (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR   ;   s    c           C   s   t    t t j  S(   sN   
    Return list of process objects corresponding to live child processes
    (   t   _cleanupt   listR   t	   _children(    (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR   A   s    c          C   sF   x? t  t j  D]. }  |  j j   d  k	 r t j j |   q q Wd  S(   N(   R   R   R   t   _popent   pollt   Nonet   discard(   t   p(    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR   L   s    c           B   s   e  Z d  Z d Z d d d d i  d  Z d   Z d   Z d   Z d d  Z	 d   Z
 e d    Z e j d    Z e d	    Z e j d
    Z e d    Z e j d    Z e d    Z e d    Z e Z d   Z d   Z RS(   s   
    Process objects represent activity that is run in a separate process

    The class is analagous to `threading.Thread`
    c         C   s   t  j j   } t  j | f |  _ t  j |  _ t  j |  _ t  j |  _ t j   |  _	 d  |  _ | |  _ t |  |  _ t |  |  _ | p t |   j d d j d   |  j D  |  _ d  S(   Nt   -t   :c         s   s   |  ] } t  |  Vq d  S(   N(   t   str(   t   .0t   i(    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pys	   <genexpr>k   s    (   R   t   _countert   nextt	   _identityt   _authkeyt	   _daemonict   _tempdirt   ost   getpidt   _parent_pidR	   R   t   _targett   tuplet   _argst   dictt   _kwargst   typet   __name__t   joint   _name(   t   selft   groupt   targett   namet   argst   kwargst   count(    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   __init__^   s    		c         C   s&   |  j  r" |  j  |  j |  j   n  d S(   sQ   
        Method to be run in sub-process; can be overridden in sub-class
        N(   R   R   R   (   R#   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   runm   s    	c         C   sg   t    |  j d k	 r" |  j } n d d l m } | |   |  _ |  ` |  ` |  ` t	 j
 j |   d S(   s%   
        Start child process
        i   (   t   PopenN(   R   t   _PopenR	   t   forkingR,   R   R   R   R   R   R   t   add(   R#   R,   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   startt   s    	c         C   s   |  j  j   d S(   sT   
        Terminate process; sends SIGTERM signal or uses TerminateProcess()
        N(   R   t	   terminate(   R#   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR1      s    c         C   s5   |  j  j |  } | d k	 r1 t j j |   n  d S(   s5   
        Wait until child process terminates
        N(   R   t   waitR	   R   R   R
   (   R#   t   timeoutt   res(    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR!      s    c         C   sZ   |  t  k r t S|  j d k r# t S|  j j   } | d k rB t St  j j |   t Sd S(   s1   
        Return whether process is alive
        N(   R   t   TrueR   R	   t   FalseR   R   R
   (   R#   t
   returncode(    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   is_alive   s    c         C   s   |  j  S(   N(   R"   (   R#   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR&      s    c         C   s   | |  _  d  S(   N(   R"   (   R#   R&   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR&      s    c         C   s   |  j  S(   s4   
        Return whether process is a daemon
        (   R   (   R#   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   daemon   s    c         C   s   | |  _  d S(   s1   
        Set whether process is a daemon
        N(   R   (   R#   t   daemonic(    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR9      s    c         C   s   |  j  S(   N(   R   (   R#   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   authkey   s    c         C   s   t  |  |  _ d S(   s2   
        Set authorization key of process
        N(   t   AuthenticationStringR   (   R#   R;   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR;      s    c         C   s#   |  j  d k r |  j  S|  j  j   S(   sM   
        Return exit code of process or `None` if it has yet to stop
        N(   R   R	   R   (   R#   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   exitcode   s    c         C   s-   |  t  k r t j   S|  j o( |  j j Sd S(   sU   
        Return identifier (PID) of process or `None` if it has yet to start
        N(   R   R   R   R   t   pid(   R#   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   ident   s    
c         C   s   |  t  k r d } n] |  j t j   k r3 d } n? |  j d  k rK d } n' |  j j   d  k	 rl |  j } n d } t |  t	 t
 f k r | d k r d } q d t j | |  } n  d t |   j |  j | |  j r d p d	 f S(
   Nt   startedt   unknownt   initiali    t   stoppeds   stopped[%s]s   <%s(%s, %s%s)>s    daemont    (   R   R   R   R   R   R	   R   R=   R   t   intt   longt   _exitcode_to_namet   getR    R"   R   (   R#   t   status(    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   __repr__   s    				c         C   s  d d l  m } y t   |  _ t j d  |  _ y# t j j	   t
 t j  t _ Wn t t f k
 rm n X|  a | j j   | j   | j d  z |  j   d } Wd  | j   XWn t k
 rH} | j s d } qt | j d t t f  rt | j d  } qt j j t | j d  d  t j j   d } nG d } d d  l } t j j d |  j   t j j   | j!   n X| j d |  | S(	   Ni   (   t   utils    child process calling self.run()i    s   
is   Process %s:
s    process exiting with exitcode %d("   RD   RK   t   setR   t	   itertoolsR)   R   t   syst   stdint   closet   openR   t   devnullt   OSErrort
   ValueErrorR   t   _finalizer_registryt   cleart   _run_after_forkerst   infoR+   t   _exit_functiont
   SystemExitR'   t
   isinstanceRE   RF   t   stderrt   writeR   t   flusht	   tracebackR&   t	   print_exc(   R#   RK   R=   t   eR_   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt
   _bootstrap   sB    


		!	N(    (   R    t
   __module__t   __doc__R	   R-   R*   R+   R0   R1   R!   R8   t   propertyR&   t   setterR9   R;   R=   R?   R>   RJ   Rb   (    (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR    V   s&   			
		
	R<   c           B   s   e  Z d    Z RS(   c         C   s>   d d l  m } | j   s+ t d   n  t t |   f f S(   Ni   (   R,   sJ   Pickling an AuthenticationString object is disallowed for security reasons(   R.   R,   t   thread_is_spawningt	   TypeErrorR<   t   bytes(   R#   R,   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt
   __reduce__'  s
    (   R    Rc   Rj   (    (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR<   &  s   t   _MainProcessc           B   s   e  Z d    Z RS(   c         C   sp   d |  _  t |  _ d |  _ d  |  _ d  |  _ t j d  |  _	 t
   |  _ t t j d   |  _ d  |  _ d  S(   Nt   MainProcessi   i    (    (   R   R6   R   R"   R	   R   R   RM   R)   R   RL   R   R<   R   t   urandomR   R   (   R#   (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyR*   6  s    					(   R    Rc   R*   (    (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyRk   4  s   i   t   SIGt   _(   t   __all__R   RN   t   signalRM   t   patht   abspatht   getcwdt   ORIGINAL_DIRRS   R	   R   R   R   t   objectR    Ri   R<   Rk   R   RG   t   __dict__t   itemsR&   t   signum(    (    (    s<   /opt/alt/python27/lib64/python2.7/multiprocessing/process.pyt   <module>#   s(   
			
	