£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

fyu  c               @   s  d  d d d g Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 Z	 d d l
 Z
 d d l Z d d l Z d d l m Z m Z m Z d d l m Z m Z m Z m Z d d l m Z y, d d l Z d d	 l m Z m Z m Z Wn- e k
 rKe j d
 k rA  n  d Z Yn Xd Z d Z  e j!   Z" d Z# d g Z$ e% e d  rd Z# e$ d g 7Z$ n  e j d
 k rd Z# e$ d g 7Z$ n  e  d d  Z& d d   Z' d d   Z( d d   Z) d d   Z* Gd d   d  Z+ e r.Gd d   d e+  Z, n  Gd d   d e+  Z- Gd  d   d e.  Z/ d d d! d   Z0 e j d
 k rdH d" d  Z2 n dH d# d  Z2 Gd$ d%   d% e.  Z3 d& d'   Z4 e j d
 k rGd( d)   d) e.  Z5 d* d+   Z6 n  d, Z7 d- Z8 d. Z9 d/ Z: d0 d1   Z; d2 d3   Z< Gd4 d5   d5 e.  Z= d6 d7   Z> d8 d9   Z? Gd: d;   d; e/  Z@ d< d=   ZA e j d
 k rd> d?   ZB e jC e jD h ZE d d@ d  ZF n9 e% e dA  rdB dC   ZG n dD dC   ZG d dE d  ZF e j d
 k rHdF dG lH mI ZI e jJ e j eI jK  e jJ e- eI jL  e jJ e, eI jM  nR y dF dG lH mI ZI Wn e k
 rpYn* Xe jJ e j eI jK  e jJ e- eI jL  d S(I   u   Clientu   Listeneru   Pipeu   waiti    N(   u   current_processu   AuthenticationErroru   BufferTooShort(   u   get_temp_diru   Finalizeu	   sub_debugu   debug(   u   ForkingPickler(   u   WAIT_OBJECT_0u   WAIT_TIMEOUTu   INFINITEu   win32i    g      4@u   AF_INETu   AF_UNIXu   AF_PIPEc             C   s   t  j    |  S(   N(   u   time(   u   timeout(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _init_timeout:   s    u   _init_timeoutc             C   s   t  j    |  k S(   N(   u   time(   u   t(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _check_timeout=   s    u   _check_timeoutc             C   sw   |  d k r d S|  d k r5 t  j d d d t    S|  d k rg t  j d d	 t j   t t  f  St d
   d S(   u?   
    Return an arbitrary free address for the given family
    u   AF_INETu	   localhosti    u   AF_UNIXu   prefixu	   listener-u   diru   AF_PIPEu   \\.\pipe\pyc-%d-%d-u   unrecognized familyN(   u	   localhosti    (   u   tempfileu   mktempu   get_temp_diru   osu   getpidu   nextu   _mmap_counteru
   ValueError(   u   family(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   arbitrary_addressD   s    u   arbitrary_addressc             C   sr   t  j d k r. |  d k r. t d |    n  t  j d k rn |  d k rn t t |   sn t d |    qn n  d S(   uD   
    Checks if the family is valid for the current environment.
    u   win32u   AF_PIPEu   Family %s is not recognized.u   AF_UNIXN(   u   sysu   platformu
   ValueErroru   hasattru   socket(   u   family(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _validate_familyR   s
    u   _validate_familyc             C   se   t  |   t k r d St  |   t k r; |  j d  r; d St  |   t k rQ d St d |    d S(   u]   
    Return the types of the address

    This can be 'AF_INET', 'AF_UNIX', or 'AF_PIPE'
    u   AF_INETu   \\u   AF_PIPEu   AF_UNIXu   address type of %r unrecognizedN(   u   typeu   tupleu   stru
   startswithu
   ValueError(   u   address(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   address_type^   s    !u   address_typec             B   s%  |  Ee  Z d  Z d) Z d* d* d d  Z d d   Z d d   Z d d   Z	 d	 d
   Z
 d d   Z e d d    Z e d d    Z e d d    Z d d   Z d d   Z d d) d d  Z d d   Z d) d d  Z d d d  Z d  d!   Z d" d# d$  Z d% d&   Z d' d(   Z d) S(+   u   _ConnectionBasec             C   sc   | j    } | d k  r' t d   n  | rD | rD t d   n  | |  _ | |  _ | |  _ d  S(   Ni    u   invalid handleu6   at least one of `readable` and `writable` must be True(   u	   __index__u
   ValueErroru   _handleu	   _readableu	   _writable(   u   selfu   handleu   readableu   writable(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__t   s    		u   _ConnectionBase.__init__c             C   s    |  j  d  k	 r |  j   n  d  S(   N(   u   _handleu   Noneu   _close(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __del__   s    u   _ConnectionBase.__del__c             C   s"   |  j  d  k r t d   n  d  S(   Nu   handle is closed(   u   _handleu   Noneu   IOError(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _check_closed   s    u   _ConnectionBase._check_closedc             C   s   |  j  s t d   n  d  S(   Nu   connection is write-only(   u	   _readableu   IOError(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _check_readable   s    	u   _ConnectionBase._check_readablec             C   s   |  j  s t d   n  d  S(   Nu   connection is read-only(   u	   _writableu   IOError(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _check_writable   s    	u   _ConnectionBase._check_writablec             C   s/   |  j  r d |  _ n
 |  j   t d   d  S(   Nu   bad message lengthF(   u	   _writableu   Falseu	   _readableu   closeu   IOError(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _bad_message_length   s    	
u#   _ConnectionBase._bad_message_lengthc             C   s   |  j  d k S(   u    True if the connection is closedN(   u   _handleu   None(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   closed   s    u   _ConnectionBase.closedc             C   s   |  j  S(   u"   True if the connection is readable(   u	   _readable(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   readable   s    u   _ConnectionBase.readablec             C   s   |  j  S(   u"   True if the connection is writable(   u	   _writable(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   writable   s    u   _ConnectionBase.writablec             C   s   |  j    |  j S(   u+   File descriptor or handle of the connection(   u   _check_closedu   _handle(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   fileno   s    
u   _ConnectionBase.filenoc             C   s1   |  j  d k	 r- z |  j   Wd d |  _  Xn  d S(   u   Close the connectionN(   u   _handleu   Noneu   _close(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   close   s    u   _ConnectionBase.closei    c             C   s   |  j    |  j   t |  } | j d k rD t t |   } n  t |  } | d k  rk t d   n  | | k  r t d   n  | d k r | | } n: | d k  r t d   n | | | k r t d   n  |  j | | | |   d S(   u,   Send the bytes data from a bytes-like objecti   i    u   offset is negativeu   buffer length < offsetu   size is negativeu   buffer length < offset + sizeN(	   u   _check_closedu   _check_writableu
   memoryviewu   itemsizeu   bytesu   lenu
   ValueErroru   Noneu   _send_bytes(   u   selfu   bufu   offsetu   sizeu   mu   n(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   send_bytes   s"    

u   _ConnectionBase.send_bytesc             C   sP   |  j    |  j   t j   } t | t j  j |  |  j | j	    d S(   u   Send a (picklable) objectN(
   u   _check_closedu   _check_writableu   iou   BytesIOu   ForkingPickleru   pickleu   HIGHEST_PROTOCOLu   dumpu   _send_bytesu	   getbuffer(   u   selfu   obju   buf(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   send   s
    

u   _ConnectionBase.sendc             C   sm   |  j    |  j   | d k	 r; | d k  r; t d   n  |  j |  } | d k rc |  j   n  | j   S(   u7   
        Receive bytes data as a bytes object.
        i    u   negative maxlengthN(   u   _check_closedu   _check_readableu   Noneu
   ValueErroru   _recv_bytesu   _bad_message_lengthu   getvalue(   u   selfu	   maxlengthu   buf(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   recv_bytes   s    

u   _ConnectionBase.recv_bytesc             C   s   |  j    |  j   t |   } | j } | t |  } | d k  rW t d   n | | k rr t d   n  |  j   } | j   } | | | k  r t | j	     n  | j
 d  | j | | | | | |   | SWd QXd S(   ur   
        Receive bytes data into a writeable buffer-like object.
        Return the number of bytes read.
        i    u   negative offsetu   offset too largeN(   u   _check_closedu   _check_readableu
   memoryviewu   itemsizeu   lenu
   ValueErroru   _recv_bytesu   tellu   BufferTooShortu   getvalueu   seeku   readinto(   u   selfu   bufu   offsetu   mu   itemsizeu   bytesizeu   resultu   size(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   recv_bytes_into   s"    

	u   _ConnectionBase.recv_bytes_intoc             C   s3   |  j    |  j   |  j   } t j | j    S(   u   Receive a (picklable) object(   u   _check_closedu   _check_readableu   _recv_bytesu   pickleu   loadsu	   getbuffer(   u   selfu   buf(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   recv   s    

u   _ConnectionBase.recvg        c             C   s!   |  j    |  j   |  j |  S(   u/   Whether there is any input available to be read(   u   _check_closedu   _check_readableu   _poll(   u   selfu   timeout(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   poll   s    

u   _ConnectionBase.pollc             C   s   |  S(   N(    (   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu	   __enter__  s    u   _ConnectionBase.__enter__c             C   s   |  j    d  S(   N(   u   close(   u   selfu   exc_typeu	   exc_valueu   exc_tb(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __exit__  s    u   _ConnectionBase.__exit__NT(   u   __name__u
   __module__u   __qualname__u   Noneu   _handleu   Trueu   __init__u   __del__u   _check_closedu   _check_readableu   _check_writableu   _bad_message_lengthu   propertyu   closedu   readableu   writableu   filenou   closeu
   send_bytesu   sendu
   recv_bytesu   recv_bytes_intou   recvu   pollu	   __enter__u   __exit__(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _ConnectionBaseq   s(   u   _ConnectionBasec             B   se   |  Ee  Z d  Z d Z d Z e j d d  Z d d   Z	 d d d  Z d d	   Z d
 d   Z d S(   u   PipeConnectionu   
        Connection class based on a Windows named pipe.
        Overlapped I/O is used, so the handles must have been created
        with FILE_FLAG_OVERLAPPED.
        c             C   s   | |  j   d  S(   N(   u   _handle(   u   selfu   _CloseHandle(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _close  s    u   PipeConnection._closec             C   s   t  j |  j | d d \ } } z_ yC | t  j k rf t  j | j g d t  } | t	 k sf t
  n  Wn | j     Yn XWd  | j d  \ } } X| d k s t
  | t |  k s t
  d  S(   Nu
   overlappedi    TF(   u   _winapiu	   WriteFileu   _handleu   Trueu   ERROR_IO_PENDINGu   WaitForMultipleObjectsu   eventu   Falseu   INFINITEu   WAIT_OBJECT_0u   AssertionErroru   cancelu   GetOverlappedResultu   len(   u   selfu   bufu   ovu   erru   waitresu   nwritten(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _send_bytes  s    !
u   PipeConnection._send_bytesc       	      C   s~  |  j  r d |  _  t j   S| d  k r. d n t | d  } y t j |  j | d d \ } } z_ yC | t j
 k r t j | j g d t  } | t k s t  n  Wn | j     Yn XWd  | j d  \ } } | d k rt j   } | j | j    | S| t j k r&|  j | |  SXWnC t k
 rm} z# | j t j k rXt  n   WYd  d  } ~ Xn Xt d   d  S(   Ni   u
   overlappedi    u.   shouldn't get here; expected KeyboardInterruptFT(   u   _got_empty_messageu   Falseu   iou   BytesIOu   Noneu   minu   _winapiu   ReadFileu   _handleu   Trueu   ERROR_IO_PENDINGu   WaitForMultipleObjectsu   eventu   INFINITEu   WAIT_OBJECT_0u   AssertionErroru   cancelu   GetOverlappedResultu   writeu	   getbufferu   ERROR_MORE_DATAu   _get_more_datau   IOErroru   winerroru   ERROR_BROKEN_PIPEu   EOFErroru   RuntimeError(	   u   selfu   maxsizeu   bsizeu   ovu   erru   waitresu   nreadu   fu   e(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _recv_bytes'  s6    		
!
	u   PipeConnection._recv_bytesc             C   s?   |  j  s% t j |  j  d d k r) d St t |  g |   S(   Ni    T(   u   _got_empty_messageu   _winapiu   PeekNamedPipeu   _handleu   Trueu   boolu   wait(   u   selfu   timeout(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _pollG  s    	u   PipeConnection._pollc             C   s   | j    } t j   } | j |  t j |  j  d } | d k sM t  | d  k	 r| t	 |  | | k r| |  j
   n  t j |  j | d d \ } } | j d  \ } } | d k s t  | | k s t  | j | j     | S(   Ni   i    u
   overlappedT(   u	   getbufferu   iou   BytesIOu   writeu   _winapiu   PeekNamedPipeu   _handleu   AssertionErroru   Noneu   lenu   _bad_message_lengthu   ReadFileu   Trueu   GetOverlappedResult(   u   selfu   ovu   maxsizeu   bufu   fu   leftu   erru   rbytes(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _get_more_dataM  s    "!u   PipeConnection._get_more_dataNF(   u   __name__u
   __module__u   __qualname__u   __doc__u   Falseu   _got_empty_messageu   _winapiu   CloseHandleu   _closeu   _send_bytesu   Noneu   _recv_bytesu   _pollu   _get_more_data(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   PipeConnection  s    u   PipeConnectionc             B   s   |  Ee  Z d  Z d Z e rC e j d d  Z e j Z	 e j
 Z n$ e j d d  Z e j Z	 e j Z e	 d d  Z e d d  Z d	 d
   Z d d d  Z d d   Z d S(   u
   Connectionuo   
    Connection class based on an arbitrary file descriptor (Unix only), or
    a socket handle (Windows).
    c             C   s   | |  j   d  S(   N(   u   _handle(   u   selfu   _close(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _closed  s    u   Connection._closec             C   s   | |  j   d  S(   N(   u   _handle(   u   selfu   _close(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _closei  s    c             C   sn   t  |  } x[ y | |  j |  } Wn t k
 r< w Yn X| | 8} | d k rW Pn  | | d   } q d  S(   Ni    (   u   lenu   _handleu   InterruptedError(   u   selfu   bufu   writeu	   remainingu   n(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _sendn  s    
u   Connection._sendc             C   s   t  j   } |  j } | } x | d k r y | | |  } Wn t k
 rT w Yn Xt |  } | d k r | | k r t  q t d   n  | j |  | | 8} q W| S(   Ni    u   got end of file during message(   u   iou   BytesIOu   _handleu   InterruptedErroru   lenu   EOFErroru   IOErroru   write(   u   selfu   sizeu   readu   bufu   handleu	   remainingu   chunku   n(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _recvz  s     		u   Connection._recvc             C   s   t  |  } t j d |  } | d k r9 | | g } n% | d k rU | | g } n	 | g } x | D] } |  j |  qe Wd  S(   Nu   !ii @  i    (   u   lenu   structu   packu   _send(   u   selfu   bufu   nu   headeru   chunksu   chunk(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _send_bytes  s    	u   Connection._send_bytesc             C   sS   |  j  d  } t j d | j    \ } | d  k	 rF | | k rF d  S|  j  |  S(   Ni   u   !i(   u   _recvu   structu   unpacku   getvalueu   None(   u   selfu   maxsizeu   bufu   size(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _recv_bytes  s
    u   Connection._recv_bytesc             C   s   t  |  g |  } t |  S(   N(   u   waitu   bool(   u   selfu   timeoutu   r(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _poll  s    u   Connection._pollN(   u   __name__u
   __module__u   __qualname__u   __doc__u   _winapiu   _multiprocessingu   closesocketu   _closeu   sendu   _writeu   recvu   _readu   osu   closeu   writeu   readu   _sendu   _recvu   _send_bytesu   Noneu   _recv_bytesu   _poll(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   Connection]  s   			u
   Connectionc             B   s   |  Ee  Z d  Z d Z d d d d d d  Z d d   Z d d   Z e d	 d
    Z	 e d d
    Z
 d d   Z d d   Z d S(   u   Listeneru   
    Returns a listener object.

    This is a wrapper for a bound socket which is 'listening' for
    connections, or for a Windows named pipe.
    i   c             C   s   | p | r t  |  p t } | p- t |  } t |  | d k r[ t | |  |  _ n t | | |  |  _ | d  k	 r t | t	  r t
 d   n  | |  _ d  S(   Nu   AF_PIPEu   authkey should be a byte string(   u   address_typeu   default_familyu   arbitrary_addressu   _validate_familyu   PipeListeneru	   _listeneru   SocketListeneru   Noneu
   isinstanceu   bytesu	   TypeErroru   _authkey(   u   selfu   addressu   familyu   backlogu   authkey(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__  s    
u   Listener.__init__c             C   s]   |  j  d k r t d   n  |  j  j   } |  j rY t | |  j  t | |  j  n  | S(   uz   
        Accept a connection on the bound socket or named pipe of `self`.

        Returns a `Connection` object.
        u   listener is closedN(   u	   _listeneru   Noneu   IOErroru   acceptu   _authkeyu   deliver_challengeu   answer_challenge(   u   selfu   c(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   accept  s    	u   Listener.acceptc             C   s,   |  j  d k	 r( |  j  j   d |  _  n  d S(   uA   
        Close the bound socket or named pipe of `self`.
        N(   u	   _listeneru   Noneu   close(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   close  s    u   Listener.closec             C   s
   |  j  j S(   N(   u	   _listeneru   _address(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   <lambda>  s    u   Listener.<lambda>c             C   s
   |  j  j S(   N(   u	   _listeneru   _last_accepted(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   <lambda>  s    c             C   s   |  S(   N(    (   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu	   __enter__  s    u   Listener.__enter__c             C   s   |  j    d  S(   N(   u   close(   u   selfu   exc_typeu	   exc_valueu   exc_tb(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __exit__  s    u   Listener.__exit__N(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   acceptu   closeu   propertyu   addressu   last_acceptedu	   __enter__u   __exit__(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   Listener  s   c             C   s   | p t  |   } t |  | d k r7 t |   } n t |   } | d k	 rn t | t  rn t d   n  | d k	 r t | |  t	 | |  n  | S(   u=   
    Returns a connection to the address of a `Listener`
    u   AF_PIPEu   authkey should be a byte stringN(
   u   address_typeu   _validate_familyu
   PipeClientu   SocketClientu   Noneu
   isinstanceu   bytesu	   TypeErroru   answer_challengeu   deliver_challenge(   u   addressu   familyu   authkeyu   c(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   Client  s    
c             C   s   |  rY t  j   \ } } | j d  | j d  t | j    } t | j    } n6 t j   \ } } t | d d } t | d d } | | f S(   uL   
        Returns pair of connection objects at either end of a pipe
        u   writableu   readableTF(	   u   socketu
   socketpairu   setblockingu   Trueu
   Connectionu   detachu   osu   pipeu   False(   u   duplexu   s1u   s2u   c1u   c2u   fd1u   fd2(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   Pipe  s    c          	   C   sS  t  d  } |  r; t j } t j t j B} t t } } n t j } t j } d t } } t j | | t j Bt j	 Bt j
 t j Bt j Bd | | t j t j  } t j | | d t j t j t j t j  } t j | t j d d  t j | d d } | j d  \ }	 }
 |
 d k s%t  t | d |  } t | d |  } | | f S(	   uL   
        Returns pair of connection objects at either end of a pipe
        u   AF_PIPEi    i   u
   overlappedu   writableu   readableNT(   u   arbitrary_addressu   _winapiu   PIPE_ACCESS_DUPLEXu   GENERIC_READu   GENERIC_WRITEu   BUFSIZEu   PIPE_ACCESS_INBOUNDu   CreateNamedPipeu   FILE_FLAG_OVERLAPPEDu   FILE_FLAG_FIRST_PIPE_INSTANCEu   PIPE_TYPE_MESSAGEu   PIPE_READMODE_MESSAGEu	   PIPE_WAITu   NMPWAIT_WAIT_FOREVERu   NULLu
   CreateFileu   OPEN_EXISTINGu   SetNamedPipeHandleStateu   Noneu   ConnectNamedPipeu   Trueu   GetOverlappedResultu   AssertionErroru   PipeConnection(   u   duplexu   addressu   openmodeu   accessu   obsizeu   ibsizeu   h1u   h2u
   overlappedu   _u   erru   c1u   c2(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   Pipe  s2    			c             B   sA   |  Ee  Z d  Z d Z d d d  Z d d   Z d d   Z d	 S(
   u   SocketListeneruO   
    Representation of a socket which is bound to an address and listening
    i   c             C   s  t  j  t t  |   |  _ yt t j d k rL |  j j t  j t  j d  n  |  j j d  |  j j
 |  |  j j |  |  j j   |  _ Wn" t k
 r |  j j     Yn X| |  _ d  |  _ | d k r t |  t j d | f d d |  _ n	 d  |  _ d  S(   Nu   posixi   u   AF_UNIXu   argsu   exitpriorityi    T(   u   socketu   getattru   _socketu   osu   nameu
   setsockoptu
   SOL_SOCKETu   SO_REUSEADDRu   setblockingu   Trueu   bindu   listenu   getsocknameu   _addressu   OSErroru   closeu   _familyu   Noneu   _last_acceptedu   Finalizeu   unlinku   _unlink(   u   selfu   addressu   familyu   backlog(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__?  s$    		$u   SocketListener.__init__c             C   sU   x5 y |  j  j   \ } |  _ Wn t k
 r3 Yq XPq | j d  t | j    S(   NT(   u   _socketu   acceptu   _last_acceptedu   InterruptedErroru   setblockingu   Trueu
   Connectionu   detach(   u   selfu   s(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   acceptW  s    u   SocketListener.acceptc             C   s-   |  j  j   |  j d  k	 r) |  j   n  d  S(   N(   u   _socketu   closeu   _unlinku   None(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   closeb  s    u   SocketListener.closeN(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u   acceptu   close(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   SocketListener;  s   u   SocketListenerc          	   C   s[   t  |   } t j t t |   1 } | j d  | j |   t | j    SWd QXd S(   uO   
    Return a connection object connected to the socket given by `address`
    NT(   u   address_typeu   socketu   getattru   setblockingu   Trueu   connectu
   Connectionu   detach(   u   addressu   familyu   s(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   SocketClienth  s
    u   SocketClientc             B   sV   |  Ee  Z d  Z d Z d
 d d  Z d d d  Z d d   Z e	 d d	    Z
 d
 S(   u   PipeListeneru0   
        Representation of a named pipe
        c             C   sk   | |  _  |  j d d  g |  _ d  |  _ t d |  j   t |  t j	 d |  j |  j  f d d |  _
 d  S(   Nu   firstu    listener created with address=%ru   argsu   exitpriorityi    T(   u   _addressu   _new_handleu   Trueu   _handle_queueu   Noneu   _last_acceptedu	   sub_debugu   Finalizeu   PipeListeneru   _finalize_pipe_listeneru   close(   u   selfu   addressu   backlog(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__|  s    		u   PipeListener.__init__c          	   C   se   t  j t  j B} | r& | t  j O} n  t  j |  j | t  j t  j Bt  j Bt  j	 t
 t
 t  j t  j  S(   N(   u   _winapiu   PIPE_ACCESS_DUPLEXu   FILE_FLAG_OVERLAPPEDu   FILE_FLAG_FIRST_PIPE_INSTANCEu   CreateNamedPipeu   _addressu   PIPE_TYPE_MESSAGEu   PIPE_READMODE_MESSAGEu	   PIPE_WAITu   PIPE_UNLIMITED_INSTANCESu   BUFSIZEu   NMPWAIT_WAIT_FOREVERu   NULL(   u   selfu   firstu   flags(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _new_handle  s    	u   PipeListener._new_handlec             C   s   |  j  j |  j    |  j  j d  } y t j | d d } Wn= t k
 r } z | j t j	 k rn   n  WYd  d  } ~ Xnt XzH y t j
 | j g d t  } Wn" | j   t j |    Yn XWd  | j d  \ } } | d k s t  Xt |  S(   Ni    u
   overlappedTF(   u   _handle_queueu   appendu   _new_handleu   popu   _winapiu   ConnectNamedPipeu   Trueu   OSErroru   winerroru   ERROR_NO_DATAu   WaitForMultipleObjectsu   eventu   Falseu   INFINITEu   cancelu   CloseHandleu   GetOverlappedResultu   AssertionErroru   PipeConnection(   u   selfu   handleu   ovu   eu   resu   _u   err(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   accept  s"    
u   PipeListener.acceptc             C   s/   t  d |  x |  D] } t j |  q Wd  S(   Nu    closing listener with address=%r(   u	   sub_debugu   _winapiu   CloseHandle(   u   queueu   addressu   handle(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _finalize_pipe_listener  s    u$   PipeListener._finalize_pipe_listenerNF(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   Falseu   _new_handleu   acceptu   staticmethodu   _finalize_pipe_listener(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   PipeListenerx  s
   u   PipeListenerc             C   s   t    } x yK t j |  d  t j |  t j t j Bd t j t j t j t j  } WnR t	 k
 r } z2 | j
 t j t j f k s t |  r   n  WYd d } ~ Xq XPq   t j | t j d d  t |  S(   uU   
        Return a connection object connected to the pipe given by `address`
        i  i    N(   u   _init_timeoutu   _winapiu   WaitNamedPipeu
   CreateFileu   GENERIC_READu   GENERIC_WRITEu   NULLu   OPEN_EXISTINGu   FILE_FLAG_OVERLAPPEDu   WindowsErroru   winerroru   ERROR_SEM_TIMEOUTu   ERROR_PIPE_BUSYu   _check_timeoutu   SetNamedPipeHandleStateu   PIPE_READMODE_MESSAGEu   Noneu   PipeConnection(   u   addressu   tu   hu   e(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   PipeClient  s"    	u
   PipeClienti   s   #CHALLENGE#s	   #WELCOME#s	   #FAILURE#c             C   s   d d  l  } t | t  s! t  t j t  } |  j t |  | j	 | |  j
   } |  j d  } | | k r |  j t  n |  j t  t d   d  S(   Ni    i   u   digest received was wrong(   u   hmacu
   isinstanceu   bytesu   AssertionErroru   osu   urandomu   MESSAGE_LENGTHu
   send_bytesu	   CHALLENGEu   newu   digestu
   recv_bytesu   WELCOMEu   FAILUREu   AuthenticationError(   u
   connectionu   authkeyu   hmacu   messageu   digestu   response(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   deliver_challenge  s    u   deliver_challengec             C   s   d d  l  } t | t  s! t  |  j d  } | d  t t   t k s\ t d |   | t t  d   } | j | |  j   } |  j	 |  |  j d  } | t
 k r t d   n  d  S(   Ni    i   u   message = %ru   digest sent was rejected(   u   hmacu
   isinstanceu   bytesu   AssertionErroru
   recv_bytesu   lenu	   CHALLENGEu   newu   digestu
   send_bytesu   WELCOMEu   AuthenticationError(   u
   connectionu   authkeyu   hmacu   messageu   digestu   response(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   answer_challenge  s    ,u   answer_challengec             B   s8   |  Ee  Z d  Z d d   Z d d   Z d d   Z d S(   u   ConnectionWrapperc             C   sO   | |  _  | |  _ | |  _ x- d D]% } t | |  } t |  | |  q" Wd  S(   Nu   filenou   closeu   pollu
   recv_bytesu
   send_bytes(   u   filenou   closeu   pollu
   recv_bytesu
   send_bytes(   u   _connu   _dumpsu   _loadsu   getattru   setattr(   u   selfu   connu   dumpsu   loadsu   attru   obj(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__  s    			u   ConnectionWrapper.__init__c             C   s#   |  j  |  } |  j j |  d  S(   N(   u   _dumpsu   _connu
   send_bytes(   u   selfu   obju   s(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   send  s    u   ConnectionWrapper.sendc             C   s   |  j  j   } |  j |  S(   N(   u   _connu
   recv_bytesu   _loads(   u   selfu   s(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   recv  s    u   ConnectionWrapper.recvN(   u   __name__u
   __module__u   __qualname__u   __init__u   sendu   recv(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   ConnectionWrapper  s   u   ConnectionWrapperc             C   s%   t  j |  f d  d  d  d  j d  S(   Ni   u   utf-8(   u	   xmlrpclibu   dumpsu   Noneu   encode(   u   obj(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   _xml_dumps  s    u
   _xml_dumpsc             C   s%   t  j |  j d   \ \ } } | S(   Nu   utf-8(   u	   xmlrpclibu   loadsu   decode(   u   su   obju   method(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   _xml_loads  s    !u
   _xml_loadsc             B   s    |  Ee  Z d  Z d d   Z d S(   u   XmlListenerc             C   s.   d d  l  j a t j |   } t | t t  S(   Ni    (   u   xmlrpc.clientu   clientu	   xmlrpclibu   Listeneru   acceptu   ConnectionWrapperu
   _xml_dumpsu
   _xml_loads(   u   selfu   obj(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   accept	  s    u   XmlListener.acceptN(   u   __name__u
   __module__u   __qualname__u   accept(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   XmlListener  s   u   XmlListenerc              O   s(   d d  l  j a t t |  |   t t  S(   Ni    (   u   xmlrpc.clientu   clientu	   xmlrpclibu   ConnectionWrapperu   Clientu
   _xml_dumpsu
   _xml_loads(   u   argsu   kwds(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu	   XmlClient  s    u	   XmlClientc             C   s   t  |   } g  } x | r t j | d |  } | t k r@ Pnr t | k oa t t |  k  n rs | t 8} n? t | k o t t |  k  n r | t 8} n t d   | j	 | |  | | d d   } d } q W| S(   Nu   Should not get herei   i    F(
   u   listu   _winapiu   WaitForMultipleObjectsu   Falseu   WAIT_TIMEOUTu   WAIT_OBJECT_0u   lenu   WAIT_ABANDONED_0u   RuntimeErroru   append(   u   handlesu   timeoutu   Lu   readyu   res(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _exhaustive_wait  s    	&&
u   _exhaustive_waitc       
          s  | d k r t } n) | d k  r* d } n t | d d  } t |   }  i   g  } t     t   } zx |  D] } y t | d  } Wn" t k
 r |  | j   <Yqr Xy" t j	 |   d d  \ } } Wn@ t k
 r} z  | j } | t k r  n  WYd d } ~ Xn X| t j k rA| j |  |  | j <qr   j |  d } qr Wt  j   |  } Wd x | D] } | j   qxWx | D] } y | j d  \ }	 } Wn@ t k
 r} z  | j } | t k r  n  WYd d } ~ Xn X| t j k r | j }   j |  | d k rKt | d  rHd | _ qHqKqqWX  j  f d d   | D    f d	 d
   |  D S(   u   
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        i    i  g      ?u   filenoNu   _got_empty_messagec             3   s   |  ] }   | Vq d  S(   N(    (   u   .0u   h(   u   waithandle_to_obj(    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu	   <genexpr>r  s    u   wait.<locals>.<genexpr>c                s"   g  |  ] } |   k r |  q S(    (    (   u   .0u   o(   u   ready_objects(    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   <listcomp>s  s   	 u   wait.<locals>.<listcomp>T(   u   Noneu   INFINITEu   intu   listu   setu   getattru   AttributeErroru	   __index__u   _winapiu   ReadFileu   Trueu   OSErroru   winerroru   _ready_errorsu   ERROR_IO_PENDINGu   appendu   eventu   addu   _exhaustive_waitu   keysu   cancelu   GetOverlappedResultu   ERROR_OPERATION_ABORTEDu   hasattru   _got_empty_messageu   update(
   u   object_listu   timeoutu   ov_listu   ready_handlesu   ou   filenou   ovu   erru   eu   _(    (   u   ready_objectsu   waithandle_to_obju?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   wait0  sZ    				"	
	 u   pollc             C   s   | d  k	 r t | d  } n  i  } t j   } xM |  D]E } | j | t j  t | d  rs | | | j   <q8 | | | <q8 Wg  } xN | j |  D]= \ } } | t j @r t	 d |   n  | j
 | |  q W| S(   Ni  u   filenou   invalid file descriptor %i(   u   Noneu   intu   selectu   pollu   registeru   POLLINu   hasattru   filenou   POLLNVALu
   ValueErroru   append(   u   fdsu   timeoutu   fd_mapu   pollsteru   fdu   lsu   event(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _pollx  s    u   _pollc             C   s   t  j  |  g  g  |  d S(   Ni    (   u   select(   u   fdsu   timeout(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _poll  s    c             C   s   | d k	 r8 | d k r% t |  d  St j   | } n  xs y t |  |  SWn= t k
 r } z | j t j k ry   n  WYd d } ~ Xn X| d k	 r; | t j   } q; q; d S(   u   
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        i    N(   u   Noneu   _pollu   timeu   OSErroru   errnou   EINTR(   u   object_listu   timeoutu   deadlineu   e(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   wait  s    i   (   u	   reductionT(N   u   __all__u   iou   osu   sysu   pickleu   selectu   socketu   structu   errnou   timeu   tempfileu	   itertoolsu   _multiprocessingu   multiprocessingu   current_processu   AuthenticationErroru   BufferTooShortu   multiprocessing.utilu   get_temp_diru   Finalizeu	   sub_debugu   debugu   multiprocessing.forkingu   ForkingPickleru   _winapiu   WAIT_OBJECT_0u   WAIT_TIMEOUTu   INFINITEu   ImportErroru   platformu   Noneu   BUFSIZEu   CONNECTION_TIMEOUTu   countu   _mmap_counteru   default_familyu   familiesu   hasattru   _init_timeoutu   _check_timeoutu   arbitrary_addressu   _validate_familyu   address_typeu   _ConnectionBaseu   PipeConnectionu
   Connectionu   objectu   Listeneru   Clientu   Trueu   Pipeu   SocketListeneru   SocketClientu   PipeListeneru
   PipeClientu   MESSAGE_LENGTHu	   CHALLENGEu   WELCOMEu   FAILUREu   deliver_challengeu   answer_challengeu   ConnectionWrapperu
   _xml_dumpsu
   _xml_loadsu   XmlListeneru	   XmlClientu   _exhaustive_waitu   ERROR_BROKEN_PIPEu   ERROR_NETNAME_DELETEDu   _ready_errorsu   waitu   _pollu    u	   reductionu   registeru   reduce_socketu   reduce_connectionu   reduce_pipe_connection(    (    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   <module>
   s   " 	PS7*-8	G