grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|jÖZã@sL ddlZddlZddlZddlmZdgZdZdZe dgƒZ e dgƒZ e dgƒZ e dgƒZ e d gƒZe dgƒZe d gƒZe d gƒZe d gƒZe d gƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZe dgƒZ e dgƒZ!e dgƒZ"e dgƒZ#e dgƒZ$e dgƒZ%e dgƒZ&e d gƒZ'e d!gƒZ(e d"gƒZ)e d#gƒZ*e d$gƒZ+e d%gƒZ,e d&gƒZ-e d'gƒZ.e d(gƒZ/e d)gƒZ0e d*gƒZ1e dgƒZ2e d+gƒZ3e d,gƒZ4e d-gƒZ5e d.gƒZ6e d/gƒZ7e d0gƒZ8e d1gƒZ9e d2gƒZ:e d3gƒZ;e d4gƒZe d7gƒZ?e d8gƒZ@e d9gƒZAe d:gƒZBe d;gƒZCe dgƒZFe d?gƒZGe d@gƒZHe dAgƒZIe dBgƒZJe dCgƒZKe dDgƒZLe dEgƒZMe dFgƒZNe dGgƒZOe dgƒZPe dgƒZQeRedHƒ�rŒejSZTnejUZTGdId„dƒZVdJdK„ZWeXdLk�r¤eWƒdSdS)MéN)Ú monotonicÚTelnetééÿéþéýéüéûéðéñéòéóéôéõéöé÷éøéùéúééééééééé é é é é éééééééééééééééééé é!é"é#é$é%é&é'é(é)é*é+é,é-é.é/é0é1éŠé‹éŒÚ PollSelectorc@seZdZ ddejfdd„Zdejfdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z d;dd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd;d5d6„Zd7d8„Zd9d:„Z dS) | ¡|js| ¡r| ¡| ¡|js| ¡s | ¡Srb)rxrSÚ sock_availr�r‚rer[r[r\Úread_very_eagerdsþzTelnet.read_very_eagercCsJ | ¡|js!|js!| ¡r!| ¡| ¡|js!|js!| ¡s| ¡Srb)rxrRrSrŽr�r‚rer[r[r\Ú read_eagerrsþzTelnet.read_eagercCs | ¡| ¡Srb)rxr‚rer[r[r\Ú read_lazy€szTelnet.read_lazycCs* |j}d|_|s|jr|jstdƒ‚|S)NrIztelnet connection closed)rRrSrPÚEOFErrorr‹r[r[r\r‚‹s zTelnet.read_very_lazycCs |j}d|_|SrŠ)rVr‹r[r[r\Ú read_sb_data˜szTelnet.read_sb_datacCrlrb)rW)rZÚcallbackr[r[r\Úset_option_negotiation_callback¤rpz&Telnet.set_option_negotiation_callbackcCs> ddg}z÷|jrû| ¡}|js1|tkrq|dkrq|tkr)||j|||j<q|j|7_nÇt|jƒdkrŽ|ttt t fvrH|j|7_qd|_|tkrZ||j|||j<nž|t kred|_d|_ n|t krxd|_|j |d|_ d|d<|jr„| |j|t¡nt| dt|ƒ¡njt|jƒdkrø|jdd…}d|_|}|ttfvrÍ| d|tkr°dp±d t|ƒ¡|jrÂ| |j||¡n6|j tt |¡n+|t t fvrø| d|t krÜd pÝd t|ƒ¡|jrî| |j||¡n |j tt|¡|js Wnt�y d|_d|_Ynw|j|d|_|j |d|_ dS) NrIórrzIAC %d not recognizedrz IAC %s %dÚDOÚDONTÚWILLÚWONT)rPÚ rawq_getcharrTÚtheNULLrqrUrwr—r˜r™ršÚSBrVÚSErWrOÚNOOPTrjÚordrsr’rR)rZr†ÚcÚcmdÚoptr[r[r\rx¨st ÿ ÿÉ€8ýzTelnet.process_rawqcCs\ |js | ¡|jr t‚|j|j|jd…}|jd|_|jt|jƒkr,d|_d|_|S)NrrIr)rPr�rSr’rQrw)rZr¡r[r[r\r›ðs zTelnet.rawq_getcharcCsN |jt|jƒkrd|_d|_|j d¡}| d|¡| |_|j||_dS)NrIré2zrecv %r)rQrwrPrOZrecvrjrSr‹r[r[r\r�s  zTelnet.fill_rawqcCsH tƒ�}| |tj¡t| d¡ƒWdƒS1swYdSrv)r{r|r}r~Úboolr)rZrˆr[r[r\rŽs  $þzTelnet.sock_availc Cs tjdkr | ¡dStƒ�k}| |tj¡| tjtj¡ | ¡D]T\}}|j |urZz|  ¡}Wnt yHt dƒYWdƒdSw|rYtj  | d¡¡tj  ¡q$|j tjurxtj ¡ d¡}|ssWdƒdS| |¡q$q 1s}wYdS)NZwin32Tú(*** Connection closed by remote host ***Úascii)r_ÚplatformÚ mt_interactr{r|r}r~ÚstdinrZfileobjr�r’riÚstdoutruÚdecodeÚflushÚreadlineÚencode)rZrˆÚkeyZeventsÚtextÚliner[r[r\Úinteracts<    õ  € î €ñüzTelnet.interactcCs> ddl}| |jd¡ tj ¡}|sdS| | d¡¡q )Nrr[rr§)Ú_threadÚstart_new_threadÚlistenerr_rªr®rur¯)rZr´r²r[r[r\r©3s üzTelnet.mt_interactcCsR z| ¡}WntytdƒYdSw|r#tj | d¡¡ntj ¡q)Nrr¦r§)r�r’rir_r«rur¬r­)rZÚdatar[r[r\r¶=s  þ ÷zTelnet.listenerc Csb d}|dd…}tt|ƒƒ}|D]}t||dƒs)|s ddl}| ||¡||<q|dur3tƒ|}tƒ�c}| |tj ¡|j s’|  ¡|D]-}||  |j ¡}|rt| ¡} |j d| …} |j | d…|_ ||| fWdƒSqG|dur‹| |¡} |tƒ}| s‹|dkrŠnq>| ¡|j rAWdƒn1sœwY| ¡} | s¬|j r¬t‚dd| fS)NÚsearchréÿÿÿÿ)ÚrangerwÚhasattrÚreÚcompilerzr{r|r}r~rSrxr¸rRrhrr�r‚r’) rZÚlistrNr¼Úindicesr…r‡rˆÚmÚer±Zreadyr[r[r\ÚexpectJsN   €  ö  ï€þ  z Telnet.expectcCs|Srbr[rer[r[r\Ú __enter__‚szTelnet.__enter__cCs | ¡dSrbrc)rZÚtypeÚvalueÚ tracebackr[r[r\Ú__exit__…s zTelnet.__exit__rb)!Ú__name__Ú __module__Ú __qualname__raZ_GLOBAL_DEFAULT_TIMEOUTr]rXrfrjrmrdrnrorur‰rŒr�r�r�r‘r‚r“r•rxr›r�rŽr³r©r¶rÂrÃrÇr[r[r[r\r�s@5 ÿ  %    H 8 cCs d}tjdd…r'tjddkr'|d}tjd=tjdd…r'tjddksd}tjdd…r5tjd}d}tjdd…rYtjd}zt|ƒ}WntyXt |d¡}Ynwtƒ�}| |¡|j||dd�|  ¡WdƒdS1sywYdS) Nrrz-dZ localhostrZtcpgà?)rN) r_ÚargvÚintÚ ValueErrorraZ getservbynamerrmrXr³)rKrLrMZportstrZtnr[r[r\Útest‰s,þ    ÿ  "ýrÎÚ__main__)Yr_rar}ÚtimerrzÚ__all__rJr^Úbytesrqr˜r—ršr™rœržZNOPZDMZBRKZIPZAOZAYTZECZELZGAr�ZBINARYZECHOZRCPZSGAZNAMSZSTATUSZTMZRCTEZNAOLZNAOPZNAOCRDZNAOHTSZNAOHTDZNAOFFDZNAOVTSZNAOVTDZNAOLFDZXASCIIZLOGOUTZBMZDETZSUPDUPZ SUPDUPOUTPUTZSNDLOCZTTYPEZEORZTUIDZOUTMRKZTTYLOCZ VT3270REGIMEZX3PADZNAWSZTSPEEDZLFLOWZLINEMODEZXDISPLOCZ OLD_ENVIRONZAUTHENTICATIONZENCRYPTZ NEW_ENVIRONZTN3270EZXAUTHÚCHARSETZRSPZCOM_PORT_OPTIONZSUPPRESS_LOCAL_ECHOZTLSZKERMITZSEND_URLZ FORWARD_XZ PRAGMA_LOGONZ SSPI_LOGONZPRAGMA_HEARTBEATZEXOPLrŸr»rHr{ZSelectSelectorrrÎrÈr[r[r[r\Ús¶#                                                                            ÿ