
    =Og[                        	 d dl Z d dlZd dlZd dlmZ d dlZ ej        ed           dgZ	d Z
d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          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          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          Z* ed#g          Z+ ed$g          Z, ed%g          Z- ed&g          Z. ed'g          Z/ ed(g          Z0 ed)g          Z1 ed*g          Z2 ed+g          Z3 ed,g          Z4 edg          Z5 ed-g          Z6 ed.g          Z7 ed/g          Z8 ed0g          Z9 ed1g          Z: ed2g          Z; ed3g          Z< ed4g          Z= ed5g          Z> ed6g          Z? ed7g          Z@ ed8g          ZA ed9g          ZB ed:g          ZC ed;g          ZD ed<g          ZE ed=g          ZF ed>g          ZG ed?g          ZH ed@g          ZI edAg          ZJ edBg          ZK edCg          ZL edDg          ZM edEg          ZN edFg          ZO edGg          ZP edHg          ZQ edIg          ZR edg          ZS ed g          ZT eUedJ          rejV        ZWnejX        ZW G dK d          ZYdL ZZedMk    r eZ             dS dS )N    N)	monotonic)      )removeTelnet                                                         r                  	   
         r                                                          !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   0   1            PollSelectorc                       e Zd Z	 ddej        fdZdej        fdZd Zd Zd Z	d Z
d	 Zd
 Zd ZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZddZd Zd Z dS ) r   Nr   c                     	 t           | _        || _        || _        || _        d | _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d | _        ||                     |||           d S d S )N    r   )
DEBUGLEVEL
debuglevelhostporttimeoutsockrawqirawqcookedqeofiacseqsbsbdataqoption_callbackopenselfrP   rQ   rR   s       "/usr/lib64/python3.11/telnetlib.py__init__zTelnet.__init__   s    	 %				
#IIdD'***** rM   c                     	 d| _         |st          }|| _        || _        || _        t          j        d| ||           t          j        ||f|          | _	        d S )Nr   ztelnetlib.Telnet.open)
rW   TELNET_PORTrP   rQ   rR   sysauditsocketcreate_connectionrS   r]   s       r_   r\   zTelnet.open   se    	  	D			)4t<<<,dD\7CC			rM   c                 0    	 |                                   d S Ncloser^   s    r_   __del__zTelnet.__del__   s    1

rM   c                     	 | j         dk    rIt          d| j        d| j        dd           |rt          ||z             d S t          |           d S d S )Nr   zTelnet(,z): )end)rO   printrP   rQ   )r^   msgargss      r_   rr   z
Telnet.msg   ss    	 ?QEdiii;EEEE cDj!!!!!c




 rM   c                     	 || _         d S rh   )rO   )r^   rO   s     r_   set_debuglevelzTelnet.set_debuglevel  s    	
 %rM   c                 ~    	 | j         }d | _         d| _        d| _        d| _        |r|                                 d S d S )NTrM   r   )rS   rW   rX   rY   rj   )r^   rS   s     r_   rj   zTelnet.close
  sK    #y	 	JJLLLLL	 	rM   c                     	 | j         S rh   )rS   rk   s    r_   
get_socketzTelnet.get_socket  s    7yrM   c                 6    	 | j                                         S rh   )rS   filenork   s    r_   rz   zTelnet.fileno  s    Gy!!!rM   c                     	 t           |v r(|                    t           t           t           z             }t          j        d| |           |                     d|           | j                            |           d S )Nztelnetlib.Telnet.writezsend %r)IACreplacerc   rd   rr   rS   sendall)r^   buffers     r_   writezTelnet.write  sn    	 &==^^CS11F	*D&999F###	&!!!!!rM   c                 z   	 t          |          }|                                  | j                            |          }|dk    r*||z   }| j        d |         }| j        |d          | _        |S |t	                      |z   }t                      5 }|                    | t          j                   | j	        s|
                    |          rt          dt          | j                  |z
            }|                                  |                                  | j                            ||          }|dk    r6||z   }| j        d |         }| j        |d          | _        |cd d d            S ||t	                      z
  }|dk     rn| j	        d d d            n# 1 swxY w Y   |                                 S Nr   )lenprocess_rawqrV   find_time_TelnetSelectorregister	selectors
EVENT_READrW   selectmax	fill_rawqread_very_lazy)r^   matchrR   nibufdeadlineselectors           r_   
read_untilzTelnet.read_until)  s   	 JJLe$$66!A,rr"C<+DLJww(H 	(dI$8999h ??7++ 	#As4<00233ANN$$$%%'''))%33AAvvaC"l2A2.'+|ABB'7"	 	 	 	 	 	 	 	 &&0G{{ h 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	" ""$$$s   CF1!FF"%F"c                     	 |                                   | j        s/|                                  |                                   | j        /| j        }d| _        |S NrM   )r   rW   r   rV   r^   r   s     r_   read_allzTelnet.read_allN  sd    E( 	 NN ( 	  l
rM   c                     	 |                                   | j        s=| j        s6|                                  |                                   | j        s| j        6| j        }d| _        |S r   )r   rV   rW   r   r   s     r_   	read_somezTelnet.read_someX  sz    	 	, 	 tx 	 NN , 	 tx 	  l
rM   c                    	 |                                   | j        sW|                                 rC|                                  |                                   | j        s|                                 C|                                 S rh   )r   rW   
sock_availr   r   rk   s    r_   read_very_eagerzTelnet.read_very_eagerg  s    	 	( 	 t00 	 NN ( 	 t00 	  ""$$$rM   c                 ,   	 |                                   | j        se| j        s^|                                 rJ|                                  |                                   | j        s| j        s|                                 J|                                 S rh   )r   rV   rW   r   r   r   rk   s    r_   
read_eagerzTelnet.read_eageru  s    	 	, 	 tx 	 DOO4E4E 	 NN , 	 tx 	 DOO4E4E 	  ""$$$rM   c                 T    	 |                                   |                                 S rh   )r   r   rk   s    r_   	read_lazyzTelnet.read_lazy  s-    	 	""$$$rM   c                 b    	 | j         }d| _         |s| j        r| j        st          d          |S )NrM   ztelnet connection closed)rV   rW   rT   EOFErrorr   s     r_   r   zTelnet.read_very_lazy  sE    	 l 	7tx 	7	 	75666
rM   c                 $    	 | j         }d| _         |S r   )rZ   r   s     r_   read_sb_datazTelnet.read_sb_data  s    	 l
rM   c                     	 || _         d S rh   )r[   )r^   callbacks     r_   set_option_negotiation_callbackz&Telnet.set_option_negotiation_callback  s    W'rM   c                 <   	 ddg}	 | j         r|                                 }| j        sI|t          k    r/|dk    r6|t          k    r|| j                 |z   || j        <   Z| xj        |z  c_        nXt          | j                  dk    r|t          t          t          t          fv r| xj        |z  c_        d| _        |t          k    r|| j                 |z   || j        <   n|t          k    rd| _        d| _        n,|t          k    r!d| _        | j        |d         z   | _        d|d<   | j        r#|                     | j        |t                      nw|                     dt%          |          z             nPt          | j                  dk    r7| j        dd         }d| _        |}|t          t          fv r|                     d|t          k    rdpd	t%          |                     | j        r|                     | j        ||           n| j                            t          t          z   |z              n|t          t          fv r|                     d|t          k    rd
pdt%          |                     | j        r|                     | j        ||           n*| j                            t          t          z   |z              | j         n# t(          $ r d| _        d| _        Y nw xY w| j        |d         z   | _        | j        |d         z   | _        d S )NrM      r   r   zIAC %d not recognizedr   z	IAC %s %dDODONTWILLWONT)rT   rawq_getcharrX   theNULLr|   rY   r   r   r   r   r   SBrZ   SEr[   rS   NOOPTrr   ordr~   r   rV   )r^   r   ccmdopts        r_   r   zTelnet.process_rawq  s3   	 Cj;	) 7@%%''{ 5@G|| G|| Cxx'*47|a'7DG q(%%**RtT222q( "%DKCxx'*47|a'7DG77&'DG+.DLL"WW&'DG+/<#a&+@DL%(CF/ G !00AuEEEE
 !HH%<s1vv%EFFFF%%**+ac*C"%DKCr4j((2I.$8&#c((D D D/ @ 00CEEEE I--cDj3.>????t,,4K2F<fc#hhH H H/ @ 00CEEEE I--cDj3.>???o ) 7@p  	 	 	DKDGGG	 |c!f,|c!f,s   KK K/.K/c                    	 | j         s"|                                  | j        rt          | j         | j        | j        dz            }| j        dz   | _        | j        t          | j                   k    rd| _         d| _        |S )Nr   rM   r   )rT   r   rW   r   rU   r   )r^   r   s     r_   r   zTelnet.rawq_getchar  s    	 y 	NNx IdjA-.Z!^
:TY''DIDJrM   c                     	 | j         t          | j                  k    rd| _        d| _         | j                            d          }|                     d|           | | _        | j        |z   | _        d S )NrM   r   2   zrecv %r)rU   r   rT   rS   recvrr   rW   r   s     r_   r   zTelnet.fill_rawq  so    	 :TY''DIDJ innR  C   GIO			rM   c                     	 t                      5 }|                    | t          j                   t	          |                    d                    cd d d            S # 1 swxY w Y   d S r   )r   r   r   r   boolr   )r^   r   s     r_   r   zTelnet.sock_avail  s    ; 	,(dI$8999**++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s   AAA#&A#c                 h   	 t           j        dk    r|                                  d S t                      5 }|                    | t
          j                   |                    t           j        t
          j                   	 |                                D ]\  }}|j	        | u r	 | 
                                }n,# t          $ r t          d           Y  d d d            d S w xY w|rPt           j                            |                    d                     t           j                                         |j	        t           j        u rVt           j                                                            d          }|s d d d            d S |                     |           %# 1 swxY w Y   d S )Nwin32T(*** Connection closed by remote host ***ascii)rc   platformmt_interactr   r   r   r   stdinr   fileobjr   r   rq   stdoutr   decodeflushreadlineencode)r^   r   keyeventstextlines         r_   interactzTelnet.interact  s   G<7""F 	)(dI$8999ci)=>>>)#+??#4#4 ) )KC{d**##'??#4#4DD' # # #!"LMMM"F	) 	) 	) 	) 	) 	) 	) 	)#   /J,,T[[-A-ABBBJ,,...	11"y1133::7CC# #"%	) 	) 	) 	) 	) 	) 	) 	)& 

4((()		) 	) 	) 	) 	) 	) 	) 	) 	) 	)s=   A/F'&B;:F';C$F'#C$$BF'F''F+.F+c                     	 dd l }|                    | j        d           	 t          j                                        }|sd S |                     |                    d                     K)Nr    r   r   )_threadstart_new_threadlistenerrc   r   r   r   r   )r^   r   r   s      r_   r   zTelnet.mt_interact5  sn    2  333	-9%%''D JJt{{7++,,,		-rM   c                    	 	 	 |                                  }n # t          $ r t          d           Y d S w xY w|r3t          j                            |                    d                     nt          j                                         )Nr   r   r   )r   r   rq   rc   r   r   r   r   )r^   datas     r_   r   zTelnet.listener?  s    L		#((   @AAA  #
  W!5!56666
  """		#s    66c                    	 d }|d d          }t          t          |                    }|D ]<}t          ||         d          s$|sdd l}|                    ||                   ||<   =|t                      |z   }t                      5 }|                    | t          j	                   | j
        s|                                  |D ]n}||                             | j                  }|rJ|                                }	| j        d |	         }
| j        |	d          | _        |||
fc cd d d            S o|0|                    |          }|t                      z
  }|s|dk     rn|                                  | j
        d d d            n# 1 swxY w Y   |                                 }
|
s| j
        rt$          dd |
fS )Nsearchr   )ranger   hasattrrecompiler   r   r   r   r   rW   r   r   rV   rp   r   r   r   r   )r^   listrR   r   indicesr   r   r   mer   readys               r_   expectzTelnet.expectL  sK   	* AAAwD		"" 	. 	.A47H-- .$9999**T!W--Qww(H 	!(dI$8999h !!!###  , ,AQt|44A ,EEGG#|BQB/'+|ABB'7 !1d|++	! 	! 	! 	! 	! 	! 	! 	!,
 &$OOG44E&0G  %"Q;;!$   # h !	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!( ""$$ 	 	ND$s   
BF6AFFFc                     | S rh   r   rk   s    r_   	__enter__zTelnet.__enter__  s    rM   c                 .    |                                   d S rh   ri   )r^   typevalue	tracebacks       r_   __exit__zTelnet.__exit__  s    

rM   rh   )!__name__
__module____qualname__re   _GLOBAL_DEFAULT_TIMEOUTr`   r\   rl   rr   ru   rj   rx   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rM   r_   r   r      s       3j !q7+ + + +0  )G D D D D"    % % %    " " "" " "#% #% #% #%J    % % %% % %	% 	% 	%  
 
 
( ( (E- E- E-N  $$ $ $", , ,) ) )4- - -# # #6  6  6  6 p      rM   c                     	 d} t           j        dd          rRt           j        d         dk    r<| dz   } t           j        d= t           j        dd          rt           j        d         dk    <d}t           j        dd          rt           j        d         }d}t           j        dd          rHt           j        d         }	 t          |          }n%# t          $ r t	          j        |d          }Y nw xY wt                      5 }|                    |            |                    ||d           |	                                 d d d            d S # 1 swxY w Y   d S )	Nr   r   z-d	localhostr   tcpg      ?)rR   )
rc   argvint
ValueErrorre   getservbynamer   ru   r\   r   )rO   rP   rQ   portstrtns        r_   testr     s    J
(122, 38A;$..\
HQK (122, 38A;$.. D
x| x{D
x| 8(1+	8w<<DD 	8 	8 	8'77DDD	8	 R
*%%%
dC(((
                 s%   ;C C-,C->AEEE__main__)[rc   re   r   timer   r   warnings_deprecatedr   __all__rN   rb   bytesr|   r   r   r   r   r   r   NOPDMBRKIPAOAYTECELGAr   BINARYECHORCPSGANAMSSTATUSTMRCTENAOLNAOPNAOCRDNAOHTSNAOHTDNAOFFDNAOVTSNAOVTDNAOLFDXASCIILOGOUTBMDETSUPDUPSUPDUPOUTPUTSNDLOCTTYPEEORTUIDOUTMRKTTYLOCVT3270REGIMEX3PADNAWSTSPEEDLFLOWLINEMODEXDISPLOCOLD_ENVIRONAUTHENTICATIONENCRYPTNEW_ENVIRONTN3270EXAUTHCHARSETRSPCOM_PORT_OPTIONSUPPRESS_LOCAL_ECHOTLSKERMITSEND_URL	FORWARD_XPRAGMA_LOGON
SSPI_LOGONPRAGMA_HEARTBEATEXOPLr   r   rJ   r   SelectSelectorr   r   r   rM   r_   <module>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	tubT{{	trdeRDkkubT{{	t	tubT{{rdubT{{	trd5";;5";;eRDkkt
%++eRDkk
 %++rd
%++eRDkk%++eRDkk eRDkk	t5";;E2$KK	ucU||UC5\\
5#<< seqc


 79n%% /,OO.Ox x x x x x x xv  6 zDFFFFF rM   