f[ ddlZddlZddlZddlmZddlZejeddgZ dZ dZ e dgZ e dgZe d gZe d gZe d gZe dgZe d gZe d gZe dgZe dgZe dgZe dgZe dgZe dgZe dgZe dgZe dgZe dgZe dgZe dgZ e dgZ!e dgZ"e dgZ#e dgZ$e dgZ%e dgZ&e dgZ'e d gZ(e d!gZ)e d"gZ*e d#gZ+e d$gZ,e d%gZ-e d&gZ.e d'gZ/e d(gZ0e d)gZ1e d*gZ2e d+gZ3e d,gZ4e dgZ5e d-gZ6e d.gZ7e d/gZ8e d0gZ9e d1gZ:e d2gZ;e d3gZ<e d4gZ=e d5gZ>e d6gZ?e d7gZ@e d8gZAe d9gZBe d:gZCe d;gZDe dgZGe d?gZHe d@gZIe dAgZJe dBgZKe dCgZLe dDgZMe dEgZNe dFgZOe dGgZPe dHgZQe dIgZRe dgZSe dgZTeUedJrejVZWnejXZWGdKdZYdLZZedMkr eZdSdS)NN) monotonic) )removeTelnetr r !"#$%&'()*+,-./01 PollSelectorceZdZ ddejfdZdejfdZdZdZdZ dZ d Z d Z d Z dd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZddZdZdZ dS) rNrc t|_||_||_||_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ |||||dSdS)Nr) DEBUGLEVEL debuglevelhostporttimeoutsockrawqirawqcookedqeofiacseqsbsbdataqoption_callbackopenselfrPrQrRs 0/opt/alt/python311/lib64/python3.11/telnetlib.py__init__zTelnet.__init__s %         #   IIdD' * * * * *  rMc d|_|st}||_||_||_t jd|||tj||f||_ dS)Nrztelnetlib.Telnet.open) rW TELNET_PORTrPrQrRsysauditsocketcreate_connectionrSr]s r_r\z Telnet.opense  D    )4t<<<,dD\7CC rMc0 |dSNcloser^s r___del__zTelnet.__del__s1 rMc |jdkrItd|jd|jdd|rt||zdSt|dSdS)NrzTelnet(,z): )end)rOprintrPrQ)r^msgargss r_rrz Telnet.msgss ?Q   Ediii; E E E E cDj!!!!!c  rMc ||_dSrh)rO)r^rOs r_set_debuglevelzTelnet.set_debuglevels %rMc~ |j}d|_d|_d|_d|_|r|dSdS)NTrMr)rSrWrXrYrj)r^rSs r_rjz Telnet.close sK#y     JJLLLLL  rMc |jSrh)rSrks r_ get_socketzTelnet.get_sockets 7yrMc6 |jSrh)rSfilenorks r_rzz Telnet.filenosGy!!!rMc t|vr(|tttz}tjd|||d||j|dS)Nztelnetlib.Telnet.writezsend %r)IACreplacercrdrrrSsendall)r^buffers r_writez Telnet.writesn &==^^CS11F *D&999 F### &!!!!!rMcz t|}||j|}|dkr*||z}|jd|}|j|d|_|S|t |z}t 5}||tj|j s| |rtdt|j|z }| ||j||}|dkr6||z}|jd|}|j|d|_|cdddS||t z }|dkrn|j dddn #1swxYwY| SNr)len process_rawqrVfind_time_TelnetSelectorregister selectors EVENT_READrWselectmax fill_rawqread_very_lazy)r^matchrRnibufdeadlineselectors r_ read_untilzTelnet.read_until)s  JJ  L  e $ $ 66!A,rr"C<+DLJ  ww(H    (   dI$8 9 9 9h ??7++ #As4<00233ANN$$$%%''' ))%33AAvvaC"l2A2.'+|ABB'7 "        &&0G{{h                """$$$sCF1!FF"%F"c ||js/|||j/|j}d|_|SNrM)rrWrrVr^rs r_read_allzTelnet.read_allNsdE ( NN         ( l  rMc ||js=|js6|||js|j6|j}d|_|Sr)rrVrWrrs r_ read_somezTelnet.read_someXsz , tx NN         , tx l  rMc ||jsW|rC|||js|C|Srh)rrW sock_availrrrks r_read_very_eagerzTelnet.read_very_eagergs  ( t00 NN         ( t00 ""$$$rMc, ||jse|js^|rJ|||js|js|J|Srh)rrVrWrrrrks r_ read_eagerzTelnet.read_eagerus  , tx DOO4E4E NN         , tx DOO4E4E ""$$$rMcT ||Srh)rrrks r_ read_lazyzTelnet.read_lazys-  ""$$$rMcb |j}d|_|s|jr|jstd|S)NrMztelnet connection closed)rVrWrTEOFErrorrs r_rzTelnet.read_very_lazysE l  7tx 7  7566 6 rMc$ |j}d|_|Sr)rZrs r_ read_sb_datazTelnet.read_sb_datas l  rMc ||_dSrh)r[)r^callbacks r_set_option_negotiation_callbackz&Telnet.set_option_negotiation_callbacksW'rMc< ddg} |jr|}|jsI|tkr/|dkr6|tkr||j|z||j<Z|xj|z c_nXt |jdkr|ttttfvr|xj|z c_d|_|tkr||j|z||j<n|tkrd|_d|_ n,|tkr!d|_|j |dz|_ d|d<|jr#||j|t nw|dt%|znPt |jdkr7|jdd}d|_|}|ttfvr|d|tkrdpd t%||jr||j||n|jttz|zn|ttfvr|d|tkrd pd t%||jr||j||n*|jttz|z|jn#t($rd|_d|_YnwxYw|j|dz|_|j |dz|_ dS) NrMrrzIAC %d not recognizedrz IAC %s %dDODONTWILLWONT)rT rawq_getcharrXtheNULLr|rYrrrrrSBrZSEr[rSNOOPTrrordr~rrV)r^rccmdopts r_rzTelnet.process_rawqs3 Cj; )7 @%%''{5@G|| G|| Cxx'*47|a'7DG   q( %%**RtT222 q(  "%DKCxx'*47|a'7DG 77&'DG+.DLL"WW&'DG+/<#a&+@DL%(CF/G!00AuEEEE !HH%????t ,,4K2F???o)7 @p   DKDGGG |c!f, |c!f, sK KK/.K/c |js"||jrt|j|j|jdz}|jdz|_|jt |jkrd|_d|_|S)NrrMr)rTrrWrrUr)r^rs r_rzTelnet.rawq_getchars y  NN   x  IdjA- .Z!^ :TY ' 'DIDJrMc |jt|jkrd|_d|_|jd}|d|| |_|j|z|_dS)NrMr2zrecv %r)rUrrTrSrecvrrrWrs r_rzTelnet.fill_rawqso :TY ' 'DIDJinnR   C   GIO rMc t5}||tjt |dcdddS#1swxYwYdSr)rrrrboolr)r^rs r_rzTelnet.sock_avails;    ,(   dI$8 9 9 9**++ , , , , , , , , , , , , , , , , , ,sAAA#&A#ch tjdkr|dSt5}||t j|tjt j |D] \}}|j |ur | }n,#t$rtdYddddSwxYw|rPtj |dtj |j tjurVtjd}|sddddS||%#1swxYwYdS)Nwin32T(*** Connection closed by remote host ***ascii)rcplatform mt_interactrrrrstdinrfileobjrrrqstdoutrdecodeflushreadlineencode)r^rkeyeventstextlines r_interactzTelnet.interactsG <7 " "       F    )(   dI$8 9 9 9   ci)= > > > )#+??#4#4))KC{d**##'??#4#4DD'###!"LMMM"F ) ) ) ) ) ) ) )# /J,,T[[-A-ABBBJ,,... 11"y1133::7CC##"% ) ) ) ) ) ) ) )& 4((( )  ) ) ) ) ) ) ) ) ) )s=A/F'&B;:F';C$F'#C$$BF'F''F+.F+c ddl}||jd tj}|sdS||dK)Nrrr)_threadstart_new_threadlistenerrcrrrr)r^rrs r_rzTelnet.mt_interact5sn2  333 -9%%''D  JJt{{7++ , , ,  -rMc |}n #t$rtdYdSwxYw|r3tj|dntj)Nrrr)rrrqrcrrrr)r^datas r_rzTelnet.listener?sL # ((   @AAA  #   W!5!56666   """ #s 66c d}|dd}tt|}|D]<}t||ds$|sddl}|||||<=|t |z}t 5}||tj |j s| |D]n}|| |j }|rJ|} |j d| } |j | d|_ ||| fccdddSo|0||} |t z }| s|dkrn||j dddn #1swxYwY|} | s|j rt$dd| fS)Nsearchr)rangerhasattrrecompilerrrrrrWrrrVrprrrr) r^listrRrindicesrrrmerreadys r_expectz Telnet.expectLsK *AAAwD "" . .A47H-- .$9999**T!W--Q  ww(H    !(   dI$8 9 9 9h !!!### ,,AQt|44A,EEGG#|BQB/'+|ABB'7 !1d|++ ! ! ! ! ! ! ! ! , &$OOG44E&0G %"Q;;!$   #h ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !(""$$  ND$s BF6AFFFc|Srhrrks r_ __enter__zTelnet.__enter__s rMc.|dSrhri)r^typevalue tracebacks r___exit__zTelnet.__exit__s rMrh)!__name__ __module__ __qualname__re_GLOBAL_DEFAULT_TIMEOUTr`r\rlrrrurjrxrzrrrrrrrrrrrrrrrrrrrrrrMr_rrs3j!q7++++0 )GDDDD"   %%%""" " " "#%#%#%#%J    % % % % % % % % %      (((E-E-E-N$$$$",,, )))4--- # # #6 6 6 6 prMc d}tjddrRtjddkr<|dz}tjd=tjddrtjddkAE  EE__main__)[rcrertimerrwarnings _deprecatedr__all__rNrbbytesr|rrrrrrNOPDMBRKIPAOAYTECELGArBINARYECHORCPSGANAMSSTATUSTMRCTENAOLNAOPNAOCRDNAOHTSNAOHTDNAOFFDNAOVTSNAOVTDNAOLFDXASCIILOGOUTBMDETSUPDUP SUPDUPOUTPUTSNDLOCTTYPEEORTUIDOUTMRKTTYLOC VT3270REGIMEX3PADNAWSTSPEEDLFLOWLINEMODEXDISPLOC OLD_ENVIRONAUTHENTICATIONENCRYPT NEW_ENVIRONTN3270EXAUTHCHARSETRSPCOM_PORT_OPTIONSUPPRESS_LOCAL_ECHOTLSKERMITSEND_URL FORWARD_X PRAGMA_LOGON SSPI_LOGONPRAGMA_HEARTBEATEXOPLrrrJrSelectSelectorrrrrMr_r@s?F ######Xg.... *   ucU|| ucU|| ucU|| ucU|| ucU|| %** eSEll eSEll eSEll eSEll eSEll eSEll eSEll eSEll eSEll eSEll eSEll s uaSzz eQCjj eQCjj uaSzz s UA3ZZ uaSzz uaSzz uaSzz t t t t t t t t t UB4[[ eRDkk tubT{{ t rd  eRDkk ubT{{ t tubT{{  rd  ubT{{ t rd  5";; 5";;eRDkk t %++eRDkk %++ rd  %++ eRDkk%++eRDkk eRDkk t 5";; E2$KK ucU|| UC5\\ 5#<< se  qc   79n%%/,OO.Oxxxxxxxxv6 zDFFFFFrM