grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]ÿiã@sddlZddlTddlZddlZddlZddlZddlmZyddlZWnek r€dZYnXe eddƒZ e eddƒZ e eddƒZ d d d d d gZ e jejeƒƒejd edd„ƒejd edd„ƒdZdZdd„ZeZejjƒjdƒróiZdedd=„Z"n"e#e!dd?d=„Z"e jd=ƒd@e"_$e e hZ%GdAdB„dBej&ƒZ'dCdDd „Z(e)ƒZ*e*ddEd „Z+dddddFdG„Z,dS)HéN)Ú*)ÚIntEnumÚEBADFé ÚEAGAINé Ú EWOULDBLOCKÚfromfdÚgetfqdnÚcreate_connectionÚ AddressFamilyÚ SocketKindcCs|jƒo|jdƒS)NZAF_)ÚisupperÚ startswith)ÚC©rú+/opt/alt/python35/lib64/python3.5/socket.pyÚLsrcCs|jƒo|jdƒS)NZSOCK_)rr)rrrrrQsz 127.0.0.1z::1c Cs+y||ƒSWntk r&|SYnXdS)N)Ú ValueError)ÚvalueÚ enum_klassrrrÚ_intenum_converterWs rÚwinzThe operation was interrupted.i'zA bad file handle was passed.i'zPermission denied.i'z!A fault occurred on the network??i'z#An invalid operation was attempted.i&'z The socket operation would blocki3'z,A blocking operation is already in progress.i4'zThe network address is in use.i@'zThe connection has been reset.iF'zThe network has been shut down.iJ'zThe operation timed out.iL'zConnection refused.iM'zThe name is too long.iO'zThe host is down.iP'zThe host is unreachable.iQ'ÚerrorTabc@seZdZdS)Ú_GiveupOnSendfileN)Ú__name__Ú __module__Ú __qualname__rrrrrxs rc sÉeZdZdddgZeedddd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dddddddddd„Z eedƒrÃdddd„Zndddd„Zdddd„Zd d!„Zddd"d#„Zd$d%„Zejd&d'„Zd(d)„Z‡fd*d+†Ze‡fd,d-†ƒZe‡fd.d/†ƒZejd0kr›d1d2„Zd3d4„Znd5d2„Zd6d4„Zd7e_ d8e_ ‡S)9ÚsocketÚ __weakref__Ú_io_refsÚ_closedrNcCs2tjj|||||ƒd|_d|_dS)NrF)Ú_socketrÚ__init__r r!)ÚselfÚfamilyÚtypeÚprotoÚfilenorrrr#�s zsocket.__init__cCs|S)Nr)r$rrrÚ __enter__Šszsocket.__enter__cGs|js|jƒdS)N)r!Úclose)r$ÚargsrrrÚ__exit__�s zsocket.__exit__cCsêt|ddƒ}d|jj|jj|r3dnd|jƒ|j|j|jf}|sÜy*|jƒ}|r‡|dt |ƒ7}Wnt k rœYnXy*|j ƒ}|rÆ|dt |ƒ7}Wnt k rÛYnX|d7}|S) Nr!Fz,<%s.%s%s fd=%i, family=%s, type=%s, proto=%iz [closed]Úz , laddr=%sz , raddr=%sú>) ÚgetattrÚ __class__rrr(r%r&r'Ú getsocknameÚstrÚerrorÚ getpeername)r$ÚclosedÚsÚladdrÚraddrrrrÚ__repr__‘s0         zsocket.__repr__cCstdƒ‚dS)NzCannot serialize socket object)Ú TypeError)r$rrrÚ __getstate__®szsocket.__getstate__cCsMt|jƒƒ}|j|j|j|jd|ƒ}|j|jƒƒ|S)Nr()Údupr(r0r%r&r'Ú settimeoutÚ gettimeout)r$ÚfdÚsockrrrr<±s$z socket.dupcCs|jƒ\}}|jtƒjddƒ@}t|j||jd|ƒ}tƒdkru|jƒru|j dƒ||fS)NÚ SOCK_NONBLOCKrr(T) Ú_acceptr&ÚglobalsÚgetrr%r'Úgetdefaulttimeoutr>Ú setblocking)r$r?Úaddrr&r@rrrÚaccept¼s  z socket.acceptÚrÚencodingÚerrorsÚnewlinec Csft|ƒdddhks.td|fƒ‚d|k}d|kpJ| }d|k}d} |ro| d7} |r| d7} t|| ƒ} |jd7_|dkr¯d }|dkrÄtj}|dkræ|sâtdƒ‚| S|r |r tj| | |ƒ} n-|r%tj| |ƒ} ntj| |ƒ} |rA| Stj | |||ƒ} || _ | S) NrIÚwÚbz&invalid mode %r (only r, w, b allowed)r-érz!unbuffered streams must be binaryéÿÿÿÿ) ÚsetrÚSocketIOr ÚioÚDEFAULT_BUFFER_SIZEÚBufferedRWPairÚBufferedReaderÚBufferedWriterÚ TextIOWrapperÚmode) r$rYÚ bufferingrJrKrLÚwritingÚreadingÚbinaryÚrawmodeÚrawÚbufferÚtextrrrÚmakefileÐs<           zsocket.makefileÚsendfilec2Csm|j|||ƒ|jƒ}y|jƒ}Wn:ttjfk rk}zt|ƒ‚WYdd}~XnXytj|ƒj}Wn1t k rµ}zt|ƒ‚WYdd}~XnX|sÀdS|sÌ|n|}|j ƒ} | dkröt dƒ‚t t dƒrt jƒ} n t jƒ} | j|t jƒd} | j} tj} zòxç| rs| | ƒ rstjdƒ‚|r�|| }|dkr�Py| ||||ƒ}Wngtk rÍ| sÆ| ƒwQYqQt k r}z&| dkr÷t|ƒ‚|d‚WYdd}~XqQX|dkr P||7}| |7} qQW| SWd| dkrht |dƒrh|j|ƒXdS)Nrz&non-blocking sockets are not supportedÚ PollSelectorz timed outÚseek)Ú_check_sendfile_paramsr(ÚAttributeErrorrSÚUnsupportedOperationrÚosÚfstatÚst_sizeÚOSErrorr>rÚhasattrÚ selectorsrdÚSelectSelectorÚregisterÚ EVENT_WRITEÚselectrcr"ÚtimeoutÚBlockingIOErrorre)r$ÚfileÚoffsetÚcountÚsocknor(ÚerrÚfsizeÚ blocksizersÚselectorÚ total_sentÚselector_selectÚ os_sendfileÚsentrrrÚ_sendfile_use_sendfileüs`              zsocket._sendfile_use_sendfilecCstdƒ‚dS)Nz,os.sendfile() not available on this platform)r)r$rurvrwrrrr�=sc CsX|j|||ƒ|jƒdkr1tdƒ‚|rD|j|ƒ|rYt|dƒnd}d}|j}|j}z­x¢|r£t|||ƒ}|dkr£Pt||ƒƒ}|s¼Px\y||ƒ} Wntk ræw¿Yq¿X|| 7}| t |ƒkr|| d…}q¿Pq¿Wq}W|SWd|dkrSt |dƒrS|j||ƒXdS)Nrz&non-blocking sockets are not supportedi re) rfr>rreÚminÚreadÚsendÚ memoryviewrtÚlenrm) r$rurvrwr{r}Ú file_readÚ sock_sendÚdatar€rrrÚ_sendfile_use_sendAs<        zsocket._sendfile_use_sendcCs’dt|ddƒkr$tdƒ‚|jt@s=tdƒ‚|dk rŽt|tƒsmtdj|ƒƒ‚|dkrŽtdj|ƒƒ‚dS)NrNrYz$file should be opened in binary modez+only SOCK_STREAM type sockets are supportedz+count must be a positive integer (got {!r})r)r/rr&Ú SOCK_STREAMÚ isinstanceÚintr:Úformat)r$rurvrwrrrrfes     zsocket._check_sendfile_paramsc CsCy|j|||ƒSWn%tk r>|j|||ƒSYnXdS)N)r�rrŠ)r$rurvrwrrrrcrs zsocket.sendfilecCs5|jdkr|jd8_|jr1|jƒdS)NrrO)r r!r*)r$rrrÚ_decref_socketios‰s zsocket._decref_socketioscCs|j|ƒdS)N)r*)r$Ú_ssrrrÚ _real_close�szsocket._real_closecCs&d|_|jdkr"|jƒdS)NTr)r!r r‘)r$rrrr*“s z socket.closecsd|_tƒjƒS)NT)r!ÚsuperÚdetach)r$)r0rrr“™s z socket.detachcsttƒjtƒS)N)rr’r%r )r$)r0rrr%£sz socket.familycsttƒjtƒS)N)rr’r&r )r$)r0rrr&©sz socket.typeÚntcCstj|jƒƒS)N)riZget_handle_inheritabler()r$rrrÚget_inheritable°szsocket.get_inheritablecCstj|jƒ|ƒdS)N)riZset_handle_inheritabler()r$Ú inheritablerrrÚset_inheritable²szsocket.set_inheritablecCstj|jƒƒS)N)rir•r()r$rrrr•µscCstj|jƒ|ƒdS)N)rir—r()r$r–rrrr—·sz&Get the inheritable flag of the socketz&Set the inheritable flag of the socket)!rrrÚ __slots__ÚAF_INETr‹r#r)r,r9r;r<rHrbrmrir�rŠrfrcr�r"rr‘r*r“Úpropertyr%r&Únamer•r—Ú__doc__rr)r0rr{s:       )A$        rcCst|ƒ}t||||ƒS)N)r<r)r?r%r&r'Únfdrrrr ¼s ÚsharecCstddd|ƒS)Nr)r)ÚinforrrÚ fromshareÆsr Ú socketpairc CsŒ|dkr1y t}Wntk r0t}YnXtj|||ƒ\}}t||||jƒƒ}t||||jƒƒ}||fS)N)ÚAF_UNIXÚ NameErrorr™r"r¡rr“)r%r&r'ÚarNrrrr¡Ñs    c CsY|tkrt}n!|tkr*t}n tdƒ‚|tkrNtdƒ‚|dkrftdƒ‚t|||ƒ}zÉ|j|dfƒ|jƒ|j ƒdd…\}}t|||ƒ}yb|j dƒy|j ||fƒWnt t fk rYnX|j dƒ|jƒ\}} Wn|jƒ‚YnXWd|jƒX||fS)Nz?Only AF_INET and AF_INET6 socket address families are supportedz)Only SOCK_STREAM socket type is supportedrzOnly protocol zero is supportedéFT)r™Ú _LOCALHOSTÚAF_INET6Ú _LOCALHOST_V6rr‹rÚbindÚlistenr1rFÚconnectrtÚInterruptedErrorrHr*) r%r&r'ÚhostZlsockrGÚportZcsockZssockÚ_rrrr¡æs8               a8socketpair([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. csšeZdZdd„Zdd„Zdd„Zdd„Zd d „Z‡fd d †Zd d„Z e dd„ƒZ e dd„ƒZ dd„Z ‡S)rRcCs|d krtd|ƒ‚tjj|ƒ||_d|krK|d7}||_d|k|_d|k|_d |_dS) NrIrMÚrwÚrbÚwbÚrwbzinvalid mode: %rrNF)rIrMr°r±r²r³) rrSÚ RawIOBaser#Ú_sockÚ_modeÚ_readingÚ_writingÚ_timeout_occurred)r$r@rYrrrr#&s     zSocketIO.__init__cCs§|jƒ|jƒ|jr)tdƒ‚xwy|jj|ƒSWq,tk r`d|_‚Yq,tk rž}z|jdt kr‰dS‚WYdd}~Xq,Xq,WdS)Nz!cannot read from timed out objectTr) Ú _checkClosedÚ_checkReadabler¹rlrµÚ recv_intorsr3r+Ú_blocking_errnos)r$rNÚerrrÚreadinto2s      zSocketIO.readintocCsn|jƒ|jƒy|jj|ƒSWn?tk ri}z|jdtkrTdS‚WYdd}~XnXdS)Nr)rºÚ_checkWritablerµr„r3r+r½)r$rNr¾rrrÚwriteIs  zSocketIO.writecCs|jrtdƒ‚|jS)NzI/O operation on closed socket.)r5rr·)r$rrrÚreadableYs  zSocketIO.readablecCs|jrtdƒ‚|jS)NzI/O operation on closed socket.)r5rr¸)r$rrrÚwritable`s  zSocketIO.writablecs"|jrtdƒ‚tƒjƒS)NzI/O operation on closed socket.)r5rr’Úseekable)r$)r0rrrÄgs  zSocketIO.seekablecCs|jƒ|jjƒS)N)rºrµr()r$rrrr(ns zSocketIO.filenocCs|js|jƒSdSdS)NrOrP)r5r()r$rrrr›ts  z SocketIO.namecCs|jS)N)r¶)r$rrrrY{sz SocketIO.modecCs7|jr dStjj|ƒ|jjƒd|_dS)N)r5rSr´r*rµr�)r$rrrr*s   zSocketIO.close)rrrr#r¿rÁrÂrÃrÄr(ršr›rYr*rr)r0rrRs      rRr-c CsŽ|jƒ}| s|dkr(tƒ}yt|ƒ\}}}Wntk rUYn5X|jd|ƒx!|D]}d|krmPqmW|}|S)Nz0.0.0.0rÚ.)ÚstripÚ gethostnameÚ gethostbyaddrr3Úinsert)r›ÚhostnameÚaliasesÚipaddrsrrrr Šs     cCs |\}}d}xÏt||dtƒD]¸}|\}}} } } d} ySt||| ƒ} |tk rw| j|ƒ|rŠ| j|ƒ| j| ƒ| SWq(tk rß} z!| }| dk rÍ| jƒWYdd} ~ Xq(Xq(W|dk rù|‚n tdƒ‚dS)Nrz!getaddrinfo returns an empty list) Ú getaddrinfor‹rÚ_GLOBAL_DEFAULT_TIMEOUTr=r©r«r3r*)ÚaddressrsÚsource_addressr­r®ryÚresÚafÚsocktyper'Ú canonnameÚsar@r¯rrrr ¦s(      !  c Csvg}xitj||||||ƒD]I}|\}} }} } |jt|tƒt| tƒ|| | fƒq%W|S)N)r"rÍÚappendrr r ) r­r®r%r&r'ÚflagsÚaddrlistrÑrÒrÓrÔrÕrrrrÍÌs% rÍ)-r"riÚsysrSrnÚenumrÚerrnoÚ ImportErrorr/rrrÚ__all__ÚextendÚ_get_exports_listÚ_convertrr¦r¨rrÚ _realsocketÚplatformÚlowerrrrÖÚ Exceptionrr rmr r‹r¡r™rœr½r´rRr ÚobjectrÎr rÍrrrrÚ1s|  0                       ÿB   $   u %