£Á°è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>
a
    XC?h3                     @   sT  d dl Z d dl T d dlZd dlZd dlZd dlZd dlmZmZ zd dlZW n e	yb   dZY n0 e
eddZe
eddZe
eddZg d	Zeee  ed
edd  ededd  ededd  ededd  dZdZdd Zej dri Zded< ded< ded< ded< d ed!< d"ed#< d$ed%< d&ed'< d(ed)< d*ed+< d,ed-< d.ed/< d0ed1< d2ed3< d4ed5< d6ed7< d8ed9< d:ed;< d<ed=< d>ed?< d@edA< dBedC< dDedE< dFedG< dHedI< dJedK< dLedM< dNedO< dPedQ< dRedS< dTedU< dVedW< dXedY< dZed[< d\ed]< d^ed_< d`eda< dbedc< ddede< dfedg< dhedi< djedk< dledm< dnedo< dpedq< dreds< dtedu< dvedw< dxedy< dzed{< d|ed}< d~ed< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< edԡ G ddք deZG dd؄ de jZdddڄZee jdۃrfd dl Z ddd݄Z!edݡ ee jdރrd dl Z dddZ"ed ee jdrdd Z#ed e$e%d fddZ&ee drde%d fddZ'ne&Z'ed de'_(eehZ)G dd dej*Z+dddZ,e- Z.e.dfddZ/dd Z0e$ddddddZ1dddZ2dS )    N)*)IntEnumIntFlagEBADF	   EAGAIN   EWOULDBLOCK)fromfdgetfqdncreate_connectioncreate_serverhas_dualstack_ipv6AddressFamily
SocketKindr   c                 C   s   |   o| dS )NZAF_isupper
startswithC r   +/opt/alt/python39/lib64/python3.9/socket.py<lambda>N       r   r   c                 C   s   |   o| dS )NZSOCK_r   r   r   r   r   r   S   r   ZMsgFlagc                 C   s   |   o| dS )NZMSG_r   r   r   r   r   r   X   r   ZAddressInfoc                 C   s   |   o| dS )NZAI_r   r   r   r   r   r   ]   r   z	127.0.0.1z::1c                 C   s&   z
|| W S  t y    |  Y S 0 d S N)
ValueError)valueZ
enum_klassr   r   r   _intenum_converterc   s    
r   winz)Specified event object handle is invalid.   zInsufficient memory available.   z#One or more parameters are invalid.W   zOverlapped operation aborted.i  z2Overlapped I/O event object not in signaled state.i  z)Overlapped operation will complete later.i  zThe operation was interrupted.i'  zA bad file handle was passed.i'  zPermission denied.i'  z!A fault occurred on the network??i'  z#An invalid operation was attempted.i&'  zToo many open files.i('  z The socket operation would blocki3'  z,A blocking operation is already in progress.i4'  zOperation already in progress.i5'  zSocket operation on nonsocket.i6'  zDestination address required.i7'  zMessage too long.i8'  zProtocol wrong type for socket.i9'  zBad protocol option.i:'  zProtocol not supported.i;'  zSocket type not supported.i<'  zOperation not supported.i='  zProtocol family not supported.i>'  z0Address family not supported by protocol family.i?'  zThe network address is in use.i@'  z Cannot assign requested address.iA'  zNetwork is down.iB'  zNetwork is unreachable.iC'  z$Network dropped connection on reset.iD'  z!Software caused connection abort.iE'  zThe connection has been reset.iF'  zNo buffer space available.iG'  zSocket is already connected.iH'  zSocket is not connected.iI'  zThe network has been shut down.iJ'  zToo many references.iK'  zThe operation timed out.iL'  zConnection refused.iM'  zCannot translate name.iN'  zThe name is too long.iO'  zThe host is down.iP'  zThe host is unreachable.iQ'  zDirectory not empty.iR'  zToo many processes.iS'  zUser quota exceeded.iT'  zDisk quota exceeded.iU'  zStale file handle reference.iV'  zItem is remote.iW'  z!Network subsystem is unavailable.ik'  z!Winsock.dll version out of range.il'  z(Successful WSAStartup not yet performed.im'  zGraceful shutdown in progress.iu'  z*No more results from WSALookupServiceNext.iv'  zCall has been canceled.iw'  z Procedure call table is invalid.ix'  zService provider is invalid.iy'  z&Service provider failed to initialize.iz'  zSystem call failure.i{'  zService not found.i|'  zClass type not found.i}'  i~'  zCall was canceled.i'  zDatabase query was refused.i'  zHost not found.i*  z Nonauthoritative host not found.i*  zThis is a nonrecoverable error.i*  z*Valid name, no data record requested type.i*  zQoS receivers.i*  zQoS senders.i*  zNo QoS senders.i*  zQoS no receivers.i +  zQoS request confirmed.i+  zQoS admission error.i+  zQoS policy failure.i+  zQoS bad style.i+  zQoS bad object.i+  zQoS traffic control error.i+  zQoS generic error.i+  zQoS service type error.i+  zQoS flowspec error.i	+  zInvalid QoS provider buffer.i
+  zInvalid QoS filter style.i+  i+  zIncorrect QoS filter count.i+  zInvalid QoS object length.i+  zIncorrect QoS flow count.i+  zUnrecognized QoS object.i+  zInvalid QoS policy object.i+  zInvalid QoS flow descriptor.i+  z'Invalid QoS provider-specific flowspec.i+  z)Invalid QoS provider-specific filterspec.i+  z&Invalid QoS shape discard mode object.i+  z Invalid QoS shaping rate object.i+  z!Reserved policy QoS element type.i+  errorTabc                   @   s   e Zd ZdS )_GiveupOnSendfileN)__name__
__module____qualname__r   r   r   r   r#      r   r#   c                       s&  e Zd Zg dZd6ddZdd Zdd	 Zd
d Zdd Zdd Z	dd Z
d7ddddddZeedrtd8ddZn
d9ddZd:ddZdd Zd;dd Zd!d" Zejfd#d$Zd%d& Z fd'd(Ze fd)d*Ze fd+d,Zejd-krd.d/ Zd0d1 Znd2d/ Zd3d1 Zd4e_d5e_  ZS )<socket)__weakref___io_refs_closedNc                 C   sP   |d u r,|dkrt }|dkr t}|dkr,d}tj| |||| d| _d| _d S )Nr+   r   F)AF_INETSOCK_STREAM_socketr'   __init__r)   r*   )selffamilytypeprotofilenor   r   r   r/      s    zsocket.__init__c                 C   s   | S r   r   r0   r   r   r   	__enter__   s    zsocket.__enter__c                 G   s   | j s|   d S r   )r*   close)r0   argsr   r   r   __exit__   s    zsocket.__exit__c                 C   s   t | dd}d| jj| jj|r"dnd|  | j| j| jf }|sz |  }|r^|dt	| 7 }W n t
yr   Y n0 z |  }|r|dt	| 7 }W n t
y   Y n0 |d7 }|S )	Nr*   Fz,<%s.%s%s fd=%i, family=%s, type=%s, proto=%iz	 [closed] z
, laddr=%sz
, raddr=%s>)getattr	__class__r%   r&   r4   r1   r2   r3   getsocknamestrerrorgetpeername)r0   closedsZladdrZraddrr   r   r   __repr__   s4    
zsocket.__repr__c                 C   s   t d| jjdd S )Nzcannot pickle z object)	TypeErrorr=   r$   r5   r   r   r   __getstate__  s    zsocket.__getstate__c                 C   s6   t |  }| j| j| j| j|d}||   |S )Nr4   )dupr4   r=   r1   r2   r3   
settimeout
gettimeout)r0   fdsockr   r   r   rH     s    z
socket.dupc                 C   sF   |   \}}t| j| j| j|d}t d u r>|  r>|d ||fS )NrG   T)Z_acceptr'   r1   r2   r3   ZgetdefaulttimeoutrJ   setblocking)r0   rK   addrrL   r   r   r   accept  s
    
zsocket.acceptr)encodingerrorsnewlinec                C   s   t |h dkstd|f d|v }d|v p2| }d|v }d}	|rL|	d7 }	|rX|	d7 }	t| |	}
|  jd7  _|d u r|d}|d	k rtj}|d	kr|std
|
S |r|rt|
|
|}n|rt|
|}nt|
|}|r|S t	||||}||_
|S )N>   rP   wbz&invalid mode %r (only r, w, b allowed)rT   rP   rU   r:      r+   r   z!unbuffered streams must be binary)setr   SocketIOr)   ioDEFAULT_BUFFER_SIZEBufferedRWPairBufferedReaderBufferedWriterTextIOWrappermode)r0   r_   	bufferingrQ   rR   rS   ZwritingZreadingZbinaryZrawmoderawbuffertextr   r   r   makefile.  s<    
zsocket.makefilesendfiler   c              
   C   s  |  ||| |  }z| }W n2 ttjfyT } zt|W Y d }~n
d }~0 0 zt|j}W n, t	y } zt|W Y d }~n
d }~0 0 |sdS t
|p|d}|  }	|	dkrtdttdrt }
nt }
|
|tj d}|
j}tj} z|	r||	std|r6|| }|dkr6qz|||||}W nb tyn   |	sd|  Y q Y n\ t	y } z$|dkrt||d W Y d }~n(d }~0 0 |dkrq||7 }||7 }q |W |dkrt|dr|| S n"|dkrt|dr|| 0 d S )Nr   i   @&non-blocking sockets are not supportedPollSelectorz	timed outseek)_check_sendfile_paramsr4   AttributeErrorrY   UnsupportedOperationr#   osfstatst_sizeOSErrorminrJ   r   hasattr	selectorsrg   ZSelectSelectorregisterZEVENT_WRITEZselectre   r.   timeoutBlockingIOErrorrh   )r0   fileoffsetcountZsocknor4   errZfsize	blocksizert   Zselector
total_sentZselector_selectZos_sendfilesentr   r   r   _sendfile_use_sendfileZ  sh    







 zsocket._sendfile_use_sendfilec                 C   s   t dd S )Nz,os.sendfile() not available on this platform)r#   r0   rv   rw   rx   r   r   r   r}     s    c           
   
   C   s   |  ||| |  dkr"td|r0|| |r>t|dnd}d}|j}| j}z|rpt|| |}|dkrpqt||}|sqz||}	W n ty   Y qY q0 ||	7 }|	t	|k r||	d  }qqTqqT|W |dkrt
|dr|||  S n&|dkrt
|dr|||  0 d S )Nr   rf   i    rh   )ri   rJ   r   rh   rp   readsend
memoryviewru   lenrq   )
r0   rv   rw   rx   rz   r{   Z	file_readZ	sock_senddatar|   r   r   r   _sendfile_use_send  sB    

 zsocket._sendfile_use_sendc                 C   sd   dt |ddvrtd| jt@ s*td|d ur`t|tsJtd||dkr`td|d S )NrU   r_   z$file should be opened in binary modez+only SOCK_STREAM type sockets are supportedz+count must be a positive integer (got {!r})r   )r<   r   r2   r-   
isinstanceintrE   formatr~   r   r   r   ri     s    

zsocket._check_sendfile_paramsc                 C   s6   z|  |||W S  ty0   | ||| Y S 0 d S r   )r}   r#   r   r~   r   r   r   re     s    zsocket.sendfilec                 C   s*   | j dkr|  j d8  _ | jr&|   d S )Nr   rV   )r)   r*   r7   r5   r   r   r   _decref_socketios  s    
zsocket._decref_socketiosc                 C   s   | |  d S r   )r7   )r0   Z_ssr   r   r   _real_close  s    zsocket._real_closec                 C   s   d| _ | jdkr|   d S )NTr   )r*   r)   r   r5   r   r   r   r7     s    
zsocket.closec                    s   d| _ t  S )NT)r*   superdetachr5   r=   r   r   r     s    zsocket.detachc                    s   t t jtS r   )r   r   r1   r   r5   r   r   r   r1     s    zsocket.familyc                    s   t t jtS r   )r   r   r2   r   r5   r   r   r   r2     s    zsocket.typentc                 C   s   t |  S r   )rl   Zget_handle_inheritabler4   r5   r   r   r   get_inheritable  s    zsocket.get_inheritablec                 C   s   t |  | d S r   )rl   Zset_handle_inheritabler4   r0   Zinheritabler   r   r   set_inheritable  s    zsocket.set_inheritablec                 C   s   t |  S r   )rl   r   r4   r5   r   r   r   r     s    c                 C   s   t |  | d S r   )rl   r   r4   r   r   r   r   r     s    z&Get the inheritable flag of the socketz&Set the inheritable flag of the socket)r+   r+   r+   N)rP   N)r   N)r   N)r   N)r   N) r$   r%   r&   	__slots__r/   r6   r9   rD   rF   rH   rO   rd   rq   rl   r}   r   ri   re   r   r.   r'   r   r7   r   propertyr1   r2   namer   r   __doc____classcell__r   r   r   r   r'      s@   
*
A

$


r'   c                 C   s   t | }t||||S r   )rH   r'   )rK   r1   r2   r3   Znfdr   r   r   r
     s    r
   sendmsgc              	   C   s    |  |tjtjtd|fgS Ni)r   r.   
SOL_SOCKET
SCM_RIGHTSarray)rL   Zbuffersfdsflagsaddressr   r   r   send_fds&  s    
r   recvmsgc                 C   s   t  d}| |t||j \}}}}|D ]B\}}	}
|tjkr.|	tjkr.||
d t|
t|
|j    q.|t	|||fS r   )
r   r   r.   ZCMSG_LENitemsizer   r   Z	frombytesr   list)rL   bufsizeZmaxfdsr   r   msgZancdatarN   Z
cmsg_levelZ	cmsg_typeZ	cmsg_datar   r   r   recv_fds2  s    

r   Zsharec                 C   s   t ddd| S Nr   )r'   )infor   r   r   	fromshareF  s    r   c           
   	   C   s\  | t krt}n| tkrt}ntd|tkr4td|dkrDtdt| ||}z||df |  |	 d d \}}t| ||}zN|
d z|||f W n ttfy   Y n0 |
d | \}}	W n   |   Y n0 W |  n
|  0 z0|	 | ks*|	 | kr2tdW n   |  |   Y n0 ||fS )	Nz?Only AF_INET and AF_INET6 socket address families are supportedz)Only SOCK_STREAM socket type is supportedr   zOnly protocol zero is supported   FTzUnexpected peer connection)r,   
_LOCALHOSTAF_INET6_LOCALHOST_V6r   r-   r'   bindlistenr>   rM   connectru   InterruptedErrorrO   r7   rA   ConnectionError)
r1   r2   r3   hostZlsockrN   portZcsockZssock_r   r   r   _fallback_socketpairR  sL    


r   
socketpairc                 C   sf   | d u r(zt } W n ty&   t} Y n0 t| ||\}}t| ||| }t| ||| }||fS r   )ZAF_UNIX	NameErrorr,   r.   r   r'   r   )r1   r2   r3   arU   r   r   r   r     s    
a8  socketpair([family[, type[, proto]]]) -> (socket object, socket object)
Create a pair of socket objects from the sockets returned by the platform
socketpair() function.
The arguments are the same as for socket() except the default family is AF_UNIX
if defined on the platform; otherwise, the default is AF_INET.
c                       sl   e Zd Zdd Zdd Zdd Zdd Zd	d
 Z fddZdd Z	e
dd Ze
dd Zdd Z  ZS )rX   c                 C   sZ   |dvrt d| tj|  || _d|vr6|d7 }|| _d|v | _d|v | _d| _d S )N)rP   rT   ZrwrbwbZrwbzinvalid mode: %rrU   rP   rT   F)	r   rY   	RawIOBaser/   _sock_mode_reading_writing_timeout_occurred)r0   rL   r_   r   r   r   r/     s    

zSocketIO.__init__c              
   C   s   |    |   | jrtdz| j|W S  tyF   d| _ Y q ty } z*|jd t	v rpW Y d }~d S  W Y d }~qd }~0 0 qd S )Nz!cannot read from timed out objectTr   )
_checkClosed_checkReadabler   ro   r   Z	recv_intort   r@   r8   _blocking_errnosr0   rU   er   r   r   readinto  s    zSocketIO.readintoc              
   C   sf   |    |   z| j|W S  ty` } z*|jd tv rJW Y d }~d S  W Y d }~n
d }~0 0 d S r   )r   _checkWritabler   r   r@   r8   r   r   r   r   r   write  s    zSocketIO.writec                 C   s   | j rtd| jS NzI/O operation on closed socket.)rB   r   r   r5   r   r   r   readable  s    zSocketIO.readablec                 C   s   | j rtd| jS r   )rB   r   r   r5   r   r   r   writable  s    zSocketIO.writablec                    s   | j rtdt  S r   )rB   r   r   seekabler5   r   r   r   r     s    zSocketIO.seekablec                 C   s   |    | j S r   )r   r   r4   r5   r   r   r   r4     s    zSocketIO.filenoc                 C   s   | j s|  S dS d S )Nr+   )rB   r4   r5   r   r   r   r      s    zSocketIO.namec                 C   s   | j S r   )r   r5   r   r   r   r_     s    zSocketIO.modec                 C   s*   | j r
d S tj|  | j  d | _d S r   )rB   rY   r   r7   r   r   r5   r   r   r   r7     s
    
zSocketIO.close)r$   r%   r&   r/   r   r   r   r   r   r4   r   r   r_   r7   r   r   r   r   r   rX     s   

rX   r:   c                 C   sj   |   } | r| dkrt } zt| \}}}W n ty>   Y n(0 |d| |D ]} d| v rP qfqP|} | S )Nz0.0.0.0r   .)stripZgethostnameZgethostbyaddrr@   insert)r   ZhostnamealiasesZipaddrsr   r   r   r     s    
r   c                 C   s   | \}}d }t ||dtD ]}|\}}}	}
}d }zDt|||	}|turP|| |r^|| || d }|W   S  ty } z |}|d ur|  W Y d }~qd }~0 0 q|d urz|W d }qd }0 ntdd S )Nr   z!getaddrinfo returns an empty list)	getaddrinfor-   r'   _GLOBAL_DEFAULT_TIMEOUTrI   r   r   r@   r7   )r   rt   Zsource_addressr   r   ry   resafsocktyper3   	canonnamesarL   r   r   r   r   r   3  s.    



 r   c                  C   sv   t rttdrttdsdS z@ttt"} | ttd W d    W dS 1 sP0    Y  W n t	yp   Y dS 0 d S )NIPPROTO_IPV6IPV6_V6ONLYFr   T)
has_ipv6rq   r.   r'   r   r-   
setsockoptr   r   r@   )rL   r   r   r   r   `  s    &r   F)r1   backlog
reuse_portdualstack_ipv6c             
   C   sl  |rt tdstd|r8t s(td|tkr8tdt|t}ztjdvrt tdrz|	t
td W n ty~   Y n0 |r|	t
td tr|tkr|r|	ttd n"t td	rt td
r|	ttd z||  W nB ty$ } z(d|j| f }t|j|d W Y d }~n
d }~0 0 |d u r:|  n
|| |W S  tyf   |   Y n0 d S )NSO_REUSEPORTz+SO_REUSEPORT not supported on this platformz-dualstack_ipv6 not supported on this platformz'dualstack_ipv6 requires AF_INET6 family)r   cygwinSO_REUSEADDRrV   r   r   r   z+%s (while attempting to bind on address %r))rq   r.   r   r   r   r'   r-   rl   r   r   r   r   r@   r   r   r   r   r   strerrorerrnor   r7   )r   r1   r   r   r   rL   ry   r   r   r   r   r   p  sN    



$


r   c                 C   sP   g }t | |||||D ]2}|\}}	}}
}|t|tt|	t||
|f q|S r   )r.   r   appendr   r   r   )r   r   r1   r2   r3   r   Zaddrlistr   r   r   r   r   r   r   r   r     s    r   )r   )r   N)r   )r:   )r   r   r   r   )3r.   rl   sysrY   rr   enumr   r   r   ImportErrorr<   r   r   r	   __all__extend_get_exports_list	_convert_r$   r   r   r   platformlowerr   r"   r   	Exceptionr#   r'   r
   rq   r   r   r   r   r,   r-   r   r   r   r   r   rX   r   objectr   r   r   r   r   r   r   r   r   <module>3   sN   

  F
	




6
u

-E