<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
ž
¨ÿfŽ"  c               @   sa  d  d d g Z  d d l Z d d l Z d d l Z d d l Z d d l m Z y e j j e j	 ƒ  ƒ Z
 Wn e k
 r… d Z
 Yn Xd d „  Z d d „  Z d d	 „  Z Gd
 d  „  d  e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z e ƒ  a [ i  Z xS e e j j ƒ  ƒ D]< \ Z Z e d d … d k rd e k re e e <qqWe ƒ  Z d S(   u   Processu   current_processu   active_childreni    N(   u   WeakSetc               C   s   t  S(   u@   
    Return process object representing the current process
    (   u   _current_process(    (    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   current_process#   s    c               C   s   t  ƒ  t t j ƒ S(   uN   
    Return list of process objects corresponding to live child processes
    (   u   _cleanupu   listu   _current_processu	   _children(    (    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   active_children)   s    c              C   sF   x? t  t j ƒ D]. }  |  j j ƒ  d  k	 r t j j |  ƒ q q Wd  S(   N(   u   listu   _current_processu	   _childrenu   _popenu   pollu   Noneu   discard(   u   p(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   _cleanup4   s    u   _cleanupc          	   B   sI  |  Ee  Z d  Z d Z d" Z d d" d" d" d" f  i  d d „Z d d „  Z d d „  Z d	 d
 „  Z	 d" d d „ Z
 d d „  Z e d d „  ƒ Z e j d d „  ƒ Z e d d „  ƒ Z e j d d „  ƒ Z e d d „  ƒ Z e j d d „  ƒ Z e d d „  ƒ Z e d d „  ƒ Z e Z e d d „  ƒ Z d d „  Z d  d! „  Z d" S(#   u   Processu€   
    Process objects represent activity that is run in a separate process

    The class is analagous to `threading.Thread`
    u   daemonc            C   sÿ   | d  k s t d ƒ ‚ t t j ƒ } t j | f |  _ t j |  _ | d  k	 r^ | |  _ n t j |  _ t j |  _ t	 j
 ƒ  |  _ d  |  _ | |  _ t | ƒ |  _ t | ƒ |  _ | pè t |  ƒ j d d j d d „  |  j Dƒ ƒ |  _ t j |  ƒ d  S(   Nu#   group argument must be None for nowu   -u   :c             s   s   |  ] } t  | ƒ Vq d  S(   N(   u   str(   u   .0u   i(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu	   <genexpr>W   s    u#   Process.__init__.<locals>.<genexpr>(   u   Noneu   AssertionErroru   nextu   _current_processu   _counteru	   _identityu   _authkeyu	   _daemonicu   _tempdiru   osu   getpidu   _parent_pidu   _popenu   _targetu   tupleu   _argsu   dictu   _kwargsu   typeu   __name__u   joinu   _nameu	   _danglingu   add(   u   selfu   groupu   targetu   nameu   argsu   kwargsu   daemonu   count(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   __init__F   s     		#u   Process.__init__c             C   s&   |  j  r" |  j  |  j |  j Ž  n  d S(   uQ   
        Method to be run in sub-process; can be overridden in sub-class
        N(   u   _targetu   _argsu   _kwargs(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   runZ   s    	u   Process.runc             C   s¶   |  j  d k s t d ƒ ‚ |  j t j ƒ  k s< t d ƒ ‚ t j sR t d ƒ ‚ t ƒ  |  j	 d k	 rt |  j	 } n d d l
 m } | |  ƒ |  _  |  j  j |  _ t j j |  ƒ d S(   u%   
        Start child process
        u   cannot start a process twiceu:   can only start a process object created by current processu3   daemonic processes are not allowed to have childreni   (   u   PopenN(   u   _popenu   Noneu   AssertionErroru   _parent_pidu   osu   getpidu   _current_processu	   _daemonicu   _cleanupu   _Popenu   forkingu   Popenu   sentinelu	   _sentinelu	   _childrenu   add(   u   selfu   Popen(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   starta   s    		u   Process.startc             C   s   |  j  j ƒ  d S(   uT   
        Terminate process; sends SIGTERM signal or uses TerminateProcess()
        N(   u   _popenu	   terminate(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu	   terminates   s    u   Process.terminatec             C   sq   |  j  t j ƒ  k s! t d ƒ ‚ |  j d k	 s< t d ƒ ‚ |  j j | ƒ } | d k	 rm t j j	 |  ƒ n  d S(   u5   
        Wait until child process terminates
        u   can only join a child processu   can only join a started processN(
   u   _parent_pidu   osu   getpidu   AssertionErroru   _popenu   Noneu   waitu   _current_processu	   _childrenu   discard(   u   selfu   timeoutu   res(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   joiny   s
    !u   Process.joinc             C   sa   |  t  k r d S|  j t j ƒ  k s1 t d ƒ ‚ |  j d k rD d S|  j j	 ƒ  |  j j
 d k S(   u1   
        Return whether process is alive
        u   can only test a child processTNF(   u   _current_processu   Trueu   _parent_pidu   osu   getpidu   AssertionErroru   _popenu   Noneu   Falseu   pollu
   returncode(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   is_aliveƒ   s    !u   Process.is_alivec             C   s   |  j  S(   N(   u   _name(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   name   s    u   Process.namec             C   s(   t  | t ƒ s t d ƒ ‚ | |  _ d  S(   Nu   name must be a string(   u
   isinstanceu   stru   AssertionErroru   _name(   u   selfu   name(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   name“   s    c             C   s   |  j  S(   u4   
        Return whether process is a daemon
        (   u	   _daemonic(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   daemon˜   s    u   Process.daemonc             C   s(   |  j  d k s t d ƒ ‚ | |  _ d S(   u1   
        Set whether process is a daemon
        u   process has already startedN(   u   _popenu   Noneu   AssertionErroru	   _daemonic(   u   selfu   daemonic(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   daemonŸ   s    c             C   s   |  j  S(   N(   u   _authkey(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   authkey§   s    u   Process.authkeyc             C   s   t  | ƒ |  _ d S(   u2   
        Set authorization key of process
        N(   u   AuthenticationStringu   _authkey(   u   selfu   authkey(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   authkey«   s    c             C   s#   |  j  d k r |  j  S|  j  j ƒ  S(   uM   
        Return exit code of process or `None` if it has yet to stop
        N(   u   _popenu   Noneu   poll(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   exitcode²   s    u   Process.exitcodec             C   s-   |  t  k r t j ƒ  S|  j o( |  j j Sd S(   uU   
        Return identifier (PID) of process or `None` if it has yet to start
        N(   u   _current_processu   osu   getpidu   _popenu   pid(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   ident»   s    
u   Process.identc             C   s0   y |  j  SWn t k
 r+ t d ƒ ‚ Yn Xd S(   u{   
        Return a file descriptor (Unix) or handle (Windows) suitable for
        waiting for process termination.
        u   process not startedN(   u	   _sentinelu   AttributeErroru
   ValueError(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   sentinelÇ   s    u   Process.sentinelc             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	 k r² | d k r™ d } q² d t
 j | | ƒ } n  d t |  ƒ j |  j | |  j rÙ d pÜ d	 f S(
   Nu   startedu   unknownu   initiali    u   stoppedu   stopped[%s]u   <%s(%s, %s%s)>u    daemonu    (   u   _current_processu   _parent_pidu   osu   getpidu   _popenu   Noneu   pollu   exitcodeu   typeu   intu   _exitcode_to_nameu   getu   __name__u   _nameu	   _daemonic(   u   selfu   status(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   __repr__Ò   s    				u   Process.__repr__c          (   C   s×  d d l  m } z”yÏ t ƒ  |  _ t j d ƒ |  _ t j d  k	 r„ y# t j j
 ƒ  t t j ƒ t _ Wq„ t t f k
 r€ Yq„ Xn  t } |  a z | j j ƒ  | j ƒ  Wd  ~ X| j d ƒ z |  j ƒ  d } Wd  | j ƒ  XWn¾ t k
 rh} zd | j s	d } nM t | j d t ƒ r/| j d } n' t j j t | j d ƒ d ƒ d } WYd  d  } ~ Xn; d } d d  l } t j j d |  j ƒ | j  ƒ  Yn XWd  | j d | ƒ t j! j" ƒ  t j j" ƒ  X| S(   Ni   (   u   utilu    child process calling self.run()i    u   
u   Process %s:
u    process exiting with exitcode %d(#   u    u   utilu   setu	   _childrenu	   itertoolsu   countu   _counteru   sysu   stdinu   Noneu   closeu   openu   osu   devnullu   OSErroru
   ValueErroru   _current_processu   _finalizer_registryu   clearu   _run_after_forkersu   infou   runu   _exit_functionu
   SystemExitu   argsu
   isinstanceu   intu   stderru   writeu   stru	   tracebacku   nameu	   print_excu   stdoutu   flush(   u   selfu   utilu   old_processu   exitcodeu   eu	   traceback(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu
   _bootstrapê   sJ    

		!u   Process._bootstrapN(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   _Popenu   __init__u   runu   startu	   terminateu   joinu   is_aliveu   propertyu   nameu   setteru   daemonu   authkeyu   exitcodeu   identu   pidu   sentinelu   __repr__u
   _bootstrap(   u
   __locals__(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   Process>   s*   
	
c             B   s    |  Ee  Z d  Z d d „  Z d S(   u   AuthenticationStringc             C   s>   d d l  m } | j ƒ  s+ t d ƒ ‚ n  t t |  ƒ f f S(   Ni   (   u   PopenuJ   Pickling an AuthenticationString object is disallowed for security reasons(   u   forkingu   Popenu   thread_is_spawningu	   TypeErroru   AuthenticationStringu   bytes(   u   selfu   Popen(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu
   __reduce__  s
    u   AuthenticationString.__reduce__N(   u   __name__u
   __module__u   __qualname__u
   __reduce__(   u
   __locals__(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   AuthenticationString  s   u   AuthenticationStringc             B   s    |  Ee  Z d  Z d d „  Z d S(   u   _MainProcessc             C   sp   f  |  _  d |  _ d |  _ d  |  _ d  |  _ t j d ƒ |  _	 t
 ƒ  |  _ t t j d ƒ ƒ |  _ d  |  _ d  S(   Nu   MainProcessi   i    F(   u	   _identityu   Falseu	   _daemonicu   _nameu   Noneu   _parent_pidu   _popenu	   itertoolsu   countu   _counteru   setu	   _childrenu   AuthenticationStringu   osu   urandomu   _authkeyu   _tempdir(   u   self(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   __init__.  s    					u   _MainProcess.__init__N(   u   __name__u
   __module__u   __qualname__u   __init__(   u
   __locals__(    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   _MainProcess,  s   u   _MainProcessi   u   SIGu   _(   u   __all__u   osu   sysu   signalu	   itertoolsu   _weakrefsetu   WeakSetu   pathu   abspathu   getcwdu   ORIGINAL_DIRu   OSErroru   Noneu   current_processu   active_childrenu   _cleanupu   objectu   Processu   bytesu   AuthenticationStringu   _MainProcessu   _current_processu   _exitcode_to_nameu   listu   __dict__u   itemsu   nameu   signumu	   _dangling(    (    (    u<   /opt/alt/python33/lib64/python3.3/multiprocessing/process.pyu   <module>
   s,   
à	""