§
    ÈtºfK  ã                   óV  — d Z ddlmZ ddlmZ ddlmZmZm	Z
 ddlmZ ddlmZmZ ddlmZ  G d„ d	¦  «        Z G d
„ d¦  «        Z ee
j        ¦  «         G d„ dej        ¦  «        ¦   «         Z G d„ dej        ej        ¦  «        Z G d„ d¦  «        Z G d„ dej        ¦  «        ZdS )z9
insults/SSH integration support.

@author: Jp Calderone
é    )ÚDict)Úimplementer)ÚavatarÚerrorÚ
interfaces)Úinsults)ÚfactoryÚsession)Ú
componentsc                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_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                 ó:   — | j                              |¦  «         d S ©N)Ú__dict__Úupdate)ÚselfÚkws     úX/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/conch/manhole_ssh.pyÚ__init__z_Glue.__init__   s   € ØŒ×Ò˜RÑ Ô Ð Ð Ð ó    c                 ó.   — t          | j        d|¦  «        ‚)Nzhas no attribute)ÚAttributeErrorÚname)r   r   s     r   Ú__getattr__z_Glue.__getattr__    s   € Ý˜TœYÐ(:¸DÑAÔAÐAr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r      sA   € € € € € ðð ð!ð !ð !ðBð Bð Bð Bð Br   r   c                   ó   — e Zd Zd„ ZdS )ÚTerminalSessionTransportc                 óp  ‡ ‡‡— |‰ _         ‰‰ _        |‰ _        ‰ j         j        Š‰ j                              t          ‰ j        j        ˆˆfd„d¬¦  «        ¦  «         ˆ fd„}‰ j                             t          ‰ j         j        |d¬¦  «        ¦  «         ‰ j        j         	                    ||¦  «         d S )Nc                  ó8   •— ‰ j                              ‰¦  «        S r   )ÚconnÚ	sendClose)r   ÚprotoSessions   €€r   ú<lambda>z3TerminalSessionTransport.__init__.<locals>.<lambda>/   s   ø€  v¤{×'<Ò'<¸\Ñ'JÔ'J€ r   zSSH Proto Transport)ÚwriteÚloseConnectionr   c                  ó:   •— ‰ j                              ¦   «          d S r   )Úprotor)   ©r   s   €r   r)   z9TerminalSessionTransport.__init__.<locals>.loseConnection4   s   ø€ ØŒJ×%Ò%Ñ'Ô'Ð'Ð'Ð'r   zChained Proto Transport)
r+   r   ÚchainedProtocolr
   ÚmakeConnectionr   ÚdataReceivedr(   ÚterminalProtocolÚterminalSize)r   r+   r-   r   ÚwidthÚheightr)   r&   s   `  `   @r   r   z!TerminalSessionTransport.__init__%   sæ   øøø€ ØˆŒ
ØˆŒØ.ˆÔà”zÔ)ˆàŒ
×!Ò!ÝØÔ*Ô7ØJÐJÐJÐJÐJØ*ðñ ô ñ	
ô 	
ð 	
ð	(ð 	(ð 	(ð 	(ð 	(ð 	Ô×+Ò+ÝØ”jÔ&Ø-Ø.ðñ ô ñ	
ô 	
ð 	
ð 	ÔÔ-×:Ò:¸5À&ÑIÔIÐIÐIÐIr   N©r   r   r   r   r   r   r   r!   r!   $   s(   € € € € € ð Jð  Jð  Jð  Jð  Jr   r!   c                   óD   — e Zd ZeZej        Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ ZdS )ÚTerminalSessionc                 ó4   — |d d…         \  | _         | _        d S )Né   )r3   r2   )r   ÚtermÚ
windowSizeÚattrss       r   ÚgetPtyzTerminalSession.getPtyM   s   € Ø",¨R¨a¨R¤.ÑˆŒ�T”Z�Z�Zr   c                 óž   — |                       ||                      ¦   «         t          j        | j        ¦  «        | j        | j        ¦  «         d S r   )ÚtransportFactoryÚchainedProtocolFactoryÚiconchÚ
IConchUserÚoriginalr2   r3   )r   r+   s     r   Ú	openShellzTerminalSession.openShellP   sP   € Ø×ÒØØ×'Ò'Ñ)Ô)ÝÔ˜dœmÑ,Ô,ØŒJØŒKñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó*   — t          j        d¦  «        ‚)NzCannot execute commands)ÚeconchÚ
ConchError)r   r+   Úcmds      r   ÚexecCommandzTerminalSession.execCommandY   s   € ÝÔÐ 9Ñ:Ô:Ð:r   c                 ó    — t          d¦  «        ‚)Nz,Unimplemented: TerminalSession.windowChanged©ÚNotImplementedError)r   ÚnewWindowSizes     r   ÚwindowChangedzTerminalSession.windowChanged\   s   € å!Ð"PÑQÔQÐQr   c                 ó    — t          d¦  «        ‚)Nz*Unimplemented: TerminalSession.eofReceivedrJ   r,   s    r   ÚeofReceivedzTerminalSession.eofReceived`   s   € å!Ð"NÑOÔOÐOr   c                 ó   — d S r   r   r,   s    r   ÚclosedzTerminalSession.closedd   s   € àˆr   N)r   r   r   r!   r>   r   ÚServerProtocolr?   r<   rC   rH   rM   rO   rQ   r   r   r   r6   r6   H   sƒ   € € € € € à/ÐØ$Ô3Ðð1ð 1ð 1ð
ð 
ð 
ð;ð ;ð ;ðRð Rð RðPð Pð Pðð ð ð ð r   r6   c                   ó   — e Zd Zd„ ZdS )ÚTerminalUserc                 ó¬   — t           j                             | |¦  «         t          j                             | ¦  «         t
          j        | j        d<   d S )Ns   session)r   ÚAdapterr   r   Ú	ConchUserr
   Ú
SSHSessionÚchannelLookup)r   rB   ÚavatarIds      r   r   zTerminalUser.__init__j   sH   € ÝÔ×#Ò# D¨(Ñ3Ô3Ð3ÝÔ×!Ò! $Ñ'Ô'Ð'Ý)0Ô);ˆÔ˜:Ñ&Ð&Ð&r   Nr4   r   r   r   rT   rT   i   s#   € € € € € ð<ð <ð <ð <ð <r   rT   c                   ó<   — e Zd ZeZeZeZe	j
        Zd„ Zdd„Zd„ ZdS )ÚTerminalRealmc                 ó2  — t          j        ¦   «         }|                      ||¦  «        }|                      |¦  «        }| j        |_        | j        |_        |                     t          j        |¦  «         |                     t          j	        |¦  «         |S r   )
r   ÚComponentizedÚuserFactoryÚsessionFactoryr>   r?   ÚsetComponentr@   rA   ÚISession)r   rZ   ÚcompÚuserÚsesss        r   Ú
_getAvatarzTerminalRealm._getAvatarw   s„   € ÝÔ'Ñ)Ô)ˆØ×Ò  hÑ/Ô/ˆØ×"Ò" 4Ñ(Ô(ˆà $Ô 5ˆÔØ&*Ô&AˆÔ#à×Ò�&Ô+¨TÑ2Ô2Ð2Ø×Ò�&œ/¨4Ñ0Ô0Ð0àˆr   Nc                 ó   — |�	|| _         d S d S r   )r>   )r   r>   s     r   r   zTerminalRealm.__init__„   s   € ØÐ'Ø$4ˆDÔ!Ð!Ð!ð (Ð'r   c                 óŽ   — |D ]5}|t           j        u r%t           j        |                      |¦  «        d„ fc S Œ6t          ¦   «         ‚)Nc                  ó   — d S r   r   r   r   r   r'   z-TerminalRealm.requestAvatar.<locals>.<lambda>‹   s   € Èd€ r   )r@   rA   rf   rK   )r   rZ   Úmindr   Úis        r   ÚrequestAvatarzTerminalRealm.requestAvatarˆ   sV   € Øð 	Tð 	TˆAØ•FÔ%Ð%Ð%ÝÔ)¨4¯?ª?¸8Ñ+DÔ+DÀlÀlÐSÐSÐSÐSð &å!Ñ#Ô#Ð#r   r   )r   r   r   rT   r_   r6   r`   r!   r>   r   rR   r?   rf   r   rl   r   r   r   r\   r\   p   s_   € € € € € Ø€KØ$€Nà/ÐØ$Ô3Ððð ð ð5ð 5ð 5ð 5ð$ð $ð $ð $ð $r   r\   c                   óR   — e Zd ZU i Zeeef         ed<   i Zeeef         ed<   d„ ZdS )ÚConchFactoryÚ
publicKeysÚprivateKeysc                 ó   — || _         d S r   )Úportal)r   rr   s     r   r   zConchFactory.__init__“   s   € ØˆŒˆˆr   N)	r   r   r   ro   r   ÚbytesÚ__annotations__rp   r   r   r   r   rn   rn   �   sW   € € € € € € Ø%'€J��U˜E�\Ô"Ð'Ð'Ñ'Ø&(€K��e˜U�lÔ#Ð(Ð(Ñ(ðð ð ð ð r   rn   N)r   Útypingr   Úzope.interfacer   Útwisted.conchr   r   rE   r   r@   Útwisted.conch.insultsr   Útwisted.conch.sshr	   r
   Útwisted.pythonr   r   r!   rb   rV   r6   rW   rT   r\   Ú
SSHFactoryrn   r   r   r   ú<module>r|      sÈ  ðð
ð ð Ð Ð Ð Ð Ð à &Ð &Ð &Ð &Ð &Ð &à GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ )Ð )Ð )Ð )Ð )Ð )Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø %Ð %Ð %Ð %Ð %Ð %ðBð Bð Bð Bð Bñ Bô Bð Bð!Jð !Jð !Jð !Jð !Jñ !Jô !Jð !JðH €ˆVŒ_ÑÔðð ð ð ð �jÔ(ñ ô ñ Ôðð@<ð <ð <ð <ð <�6Ô# ZÔ%7ñ <ô <ð <ð$ð $ð $ð $ð $ñ $ô $ð $ð>ð ð ð ð �7Ô%ñ ô ð ð ð r   