+
    DfjK                     X   R t ^ RIHt ^ RIHt ^ RIHtHtH	t
 ^ RIHt ^ RIHtHt ^ RIHt  ! R R4      t ! R	 R
4      t]! ]
P(                  4       ! R R]P*                  4      4       t ! R R]P.                  ]P*                  4      t ! R R4      t ! R R]P4                  4      tR# )z9
insults/SSH integration support.

@author: Jp Calderone
)Dict)implementer)avatarerror
interfaces)insults)factorysession)
componentsc                   0   a  ] tR t^t o RtR tR tRtV tR# )_Gluez
A feeble class for making one attribute look like another.

This should be replaced with a real class at some point, probably.
Try not to write new code that uses it.
c                <    V P                   P                  V4       R # N)__dict__update)selfkws   &,;/usr/lib/python3/dist-packages/twisted/conch/manhole_ssh.py__init___Glue.__init__   s    R     c                0    \        V P                  R V4      h)zhas no attribute)AttributeErrorname)r   r   s   &&r   __getattr___Glue.__getattr__    s    TYY(:DAAr    N)	__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s     !B Br   r   c                   &   a  ] tR t^$t o R tRtV tR# )TerminalSessionTransportc                  a aa VS n         SS n        VS n        S P                   P                  oS P                   P	                  \        S P                  P                  VV3R  lRR7      4       V 3R lpS P                  P	                  \        S P                   P                  VRR7      4       S P                  P                  P                  WE4       R# )c                  :   < S P                   P                  S4      # r   )conn	sendClose)r   protoSessions   r   <lambda>3TerminalSessionTransport.__init__.<locals>.<lambda>/   s    v{{'<'<\'Jr   zSSH Proto Transport)writeloseConnectionr   c                  <   < S P                   P                  4        R # r   )protor0   r   s   r   r0   9TerminalSessionTransport.__init__.<locals>.loseConnection4   s    JJ%%'r   zChained Proto TransportN)
r2   r   chainedProtocolr	   makeConnectionr   dataReceivedr/   terminalProtocolterminalSize)r   r2   r5   r   widthheightr0   r,   s   f&&f&& @r   r   !TerminalSessionTransport.__init__%   s    
.zz))

!!**77J*	
	( 	++jj&&-.	
 	--::5Ir   )r   r5   r2   Nr   r   r   r    r   r"   r#   r$   s   @r   r'   r'   $   s      J  Jr   r'   c                   `   a  ] tR t^Ht o ]t]P                  tR t	R t
R tR tR tR tRtV tR# )	TerminalSessionc                2    VR ,          w  V n         V n        R# ):N   NNr;   r:   )r   term
windowSizeattrss   &&&&r   getPtyTerminalSession.getPtyM   s    ",R.TZr   c                    V P                  VV P                  4       \        P                  ! V P                  4      V P
                  V P                  4       R # r   )transportFactorychainedProtocolFactoryiconch
IConchUseroriginalr:   r;   )r   r2   s   &&r   	openShellTerminalSession.openShellP   s?    '')dmm,JJKK	
r   c                .    \         P                  ! R 4      h)zCannot execute commands)econch
ConchError)r   r2   cmds   &&&r   execCommandTerminalSession.execCommandY   s     9::r   c                    \        R 4      h)z,Unimplemented: TerminalSession.windowChangedNotImplementedError)r   newWindowSizes   &&r   windowChangedTerminalSession.windowChanged\   s    !"PQQr   c                    \        R 4      h)z*Unimplemented: TerminalSession.eofReceivedrW   r3   s   &r   eofReceivedTerminalSession.eofReceived`   s    !"NOOr   c                    R # r   r   r3   s   &r   closedTerminalSession.closedd   s    r   rB   N)r   r   r   r    r'   rI   r   ServerProtocolrJ   rF   rN   rT   rZ   r]   r`   r"   r#   r$   s   @r   r?   r?   H   s<     /$331
;RP r   r?   c                   &   a  ] tR t^it o R tRtV tR# )TerminalUserc                    \         P                  P                  W4       \        P                  P                  V 4       \
        P                  V P                  R &   R# )s   sessionN)r
   Adapterr   r   	ConchUserr	   
SSHSessionchannelLookup)r   rM   avatarIds   &&&r   r   TerminalUser.__init__j   s@    ##D3!!$')0););:&r   r   Nr=   r$   s   @r   rd   rd   i   s     < <r   rd   c                   Z   a  ] tR t^pt o ]t]t]t	]
P                  tR tRR ltR tRtV tR# )TerminalRealmc                8   \         P                  ! 4       pV P                  W!4      pV P                  V4      pV P                  Vn        V P
                  Vn        VP                  \        P                  V4       VP                  \        P                  V4       V# r   )
r
   ComponentizeduserFactorysessionFactoryrI   rJ   setComponentrK   rL   ISession)r   rj   compusersesss   &&   r   
_getAvatarTerminalRealm._getAvatarw   s{    '')/""4( $ 5 5&*&A&A#&++T2&//40r   Nc                    Ve	   Wn         R # R # r   rI   )r   rI   s   &&r   r   TerminalRealm.__init__   s    '$4! (r   c                    V F<  pV\         P                  J g   K  \         P                  V P                  V4      R  3u # 	  \        4       h)c                      R # r   r   r   r   r   r-   -TerminalRealm.requestAvatar.<locals>.<lambda>   s    dr   )rK   rL   rw   rX   )r   rj   mindr   is   &&&* r   requestAvatarTerminalRealm.requestAvatar   sA    AF%%%))4??8+DlSS  "##r   rz   r   )r   r   r   r    rd   rp   r?   rq   r'   rI   r   rb   rJ   rw   r   r   r"   r#   r$   s   @r   rm   rm   p   s5     K$N/$335$ $r   rm   c                   :   a  ] tR t^t o / t/ tR tV 3R ltRtV t	R# )ConchFactoryc                    Wn         R # r   portal)r   r   s   &&r   r   ConchFactory.__init__   s    r   c                ^   < V ^8  d   Qh/ S[ S[S[3,          ;R&   S[ S[S[3,          ;R&   # )rA   
publicKeysprivateKeys)r   bytes)formatr%   s   "r   __annotate__ConchFactory.__annotate__   s-     UE\"' eUl#( r   r   N)
r   r   r   r    r   r   r   __annotate_func__r"   r#   r$   s   @r   r   r      s     %'J&(K	  r   r   N)r!   typingr   zope.interfacer   twisted.conchr   r   rQ   r   rK   twisted.conch.insultsr   twisted.conch.sshr   r	   twisted.pythonr
   r   r'   rs   rf   r?   rg   rd   rm   
SSHFactoryr   r   r   r   <module>r      s   
  & G G ) . %B B!J !JH V__j((  @<6##Z%7%7 <$ $>7%% r   