£Á°è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>

Re                 @   s,  d  d l  Z  d  d l m Z d  d l Z d  d l Z y d  d l m Z Wn" e k
 rl d  d l m Z Yn Xd d d g Z Gd d   d e	  Z
 e j d k r d d   Z n d d   Z d d d d d  Z d d d d d  Z d d   Z d d   Z d d   a d d d  Z d d d  Z d S)    N)partial)	monotonic)timeNoWayToWaitForSocketErrorwait_for_readwait_for_writec               @   s   e  Z d  Z d S)r   N)__name__
__module____qualname__ r   r   /builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/urllib3/util/wait.pyr      s         c             C   s
   |  |  S)Nr   )fntimeoutr   r   r   _retry_on_intr*   s    r   c             C   s   | d  k r t  d  } n t   | } x y |  |  SWq+ t t j f k
 r } z[ | j d t j k rs   n: | t   } | d k  r d } | t  d  k r d  } w+ WYd  d  } ~ Xq+ Xq+ Wd  S)Ninfr   )floatr   OSErrorselecterrorargserrnoZEINTR)r   r   deadlineer   r   r   r   0   s    Fc       
      C   s   | r | r t  d   g  } g  } | r9 | j |   | rL | j |   t t j | | |  } t | |  \ } } }	 t | p | p |	  S)Nz2must specify at least one of read=True, write=True)RuntimeErrorappendr   r   r   bool)
sockreadwriter   rcheckwcheckr   rreadywreadyxreadyr   r   r   select_wait_for_socketG   s    r&   c                s   | r | r t  d   d } | r3 | t j O} | rF | t j O} t j       j |  |    f d d   } t t | |   S)Nz2must specify at least one of read=True, write=Truer   c                s#   |  d  k	 r |  d 9}    j  |   S)Ni  )poll)t)poll_objr   r   do_pollf   s    
z%poll_wait_for_socket.<locals>.do_poll)r   r   POLLINPOLLOUTr'   registerr   r   )r   r   r    r   maskr*   r   )r)   r   poll_wait_for_socketZ   s    r/   c              O   s   t  d   d  S)Nzno select-equivalent available)r   )r   kwargsr   r   r   null_wait_for_socketn   s    r1   c              C   sG   y  t  j   }  t |  j d  Wn t t f k
 r> d SYn Xd Sd  S)Nr   FT)r   r'   r   AttributeErrorr   )r)   r   r   r   _have_working_pollr   s    	r3   c              O   s=   t    r t a n t t d  r* t a n t a t |  |   S)Nr   )r3   r/   wait_for_sockethasattrr   r&   r1   )r   r0   r   r   r   r4      s    			r4   c             C   s   t  |  d d d | S)z Waits for reading to be available on a given socket.
    Returns True if the socket is readable, or False if the timeout expired.
    r   Tr   )r4   )r   r   r   r   r   r      s    c             C   s   t  |  d d d | S)z Waits for writing to be available on a given socket.
    Returns True if the socket is readable, or False if the timeout expired.
    r    Tr   )r4   )r   r   r   r   r   r      s    )r   r   )r   	functoolsr   r   sysr   r   ImportError__all__	Exceptionr   version_infor   r&   r/   r1   r3   r4   r   r   r   r   r   r   <module>   s&   