+
    DfjA	                         R t ^ RIHt ^ RIHt  ! R R]P
                  4      t ! R R]4      t ! R R]P                  4      t	 ! R	 R
]4      t
 ! R R]P                  4      tR# )z
A simple port forwarder.
)protocol)logc                   :   a  ] tR t^t o RtRtR tR tR tRt	V t
R# )ProxyTNc                    Wn         R # Npeer)selfr	   s   &&?/usr/lib/python3/dist-packages/twisted/protocols/portforward.pysetPeerProxy.setPeer   s    	    c                    V P                   e.   V P                   P                  P                  4        R V n         R # V P                  '       d   \        P
                  ! RV 24       R # R # )NzUnable to connect to peer: )r	   	transportloseConnectionnoisyr   msg)r
   reasons   &&r   connectionLostProxy.connectionLost   sK    99 II..0DIZZZGG1&:; r   c                P    V P                   P                  P                  V4       R # r   )r	   r   write)r
   datas   &&r   dataReceivedProxy.dataReceived   s    		!!$'r   r   )__name__
__module____qualname____firstlineno__r   r	   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s#     ED<( (r   r   c                   &   a  ] tR t^ t o R tRtV tR# )ProxyClientc                D   V P                   P                  V 4       V P                  P                  V P                   P                  R 4       V P                   P                  P                  V P                  R 4       V P                   P                  P	                  4        R# )TN)r	   r   r   registerProducerresumeProducing)r
   s   &r   connectionMadeProxyClient.connectionMade!   sj    		$ 	''		(;(;TB		,,T^^TB 			++-r    N)r   r   r   r   r)   r    r!   r"   s   @r   r%   r%       s     . .r   r%   c                   6   a  ] tR t^/t o ]tR tR tR tRt	V t
R# )ProxyClientFactoryc                    Wn         R # r   server)r
   r0   s   &&r   	setServerProxyClientFactory.setServer2   s    r   c                    \         P                  P                  ! V .VO5/ VB pVP                  V P                  4       V# r   )r   ClientFactorybuildProtocolr   r0   )r
   argskwprots   &*, r   r5    ProxyClientFactory.buildProtocol5   s7    %%33DF4F2FT[[!r   c                N    V P                   P                  P                  4        R # r   )r0   r   r   )r
   	connectorr   s   &&&r   clientConnectionFailed)ProxyClientFactory.clientConnectionFailed:   s    ,,.r   r/   N)r   r   r   r   r%   r   r1   r5   r<   r    r!   r"   s   @r   r-   r-   /   s     H
/ /r   r-   c                   .   a  ] tR t^>t o ]tRtR tRtV t	R# )ProxyServerNc                :   V P                   P                  4        V P                  4       pVP                  V 4       V P                  f   ^ RIHp W n        V P                  P                  V P                  P                  V P                  P                  V4       R # )Nreactor)
r   pauseProducingclientProtocolFactoryr1   rB   twisted.internet
connectTCPfactoryhostport)r
   clientrB   s   &  r   r)   ProxyServer.connectionMadeB   sl     	%%'++-<<0"L 1 14<<3D3DfMr   rA   )
r   r   r   r   r-   rD   rB   r)   r    r!   r"   s   @r   r?   r?   >   s     .GN Nr   r?   c                   .   a  ] tR t^Qt o Rt]tR tRtV t	R# )ProxyFactoryz
Factory for port forwarder.
c                    Wn         W n        R # r   rH   rI   )r
   rH   rI   s   &&&r   __init__ProxyFactory.__init__X   s    		r   rO   N)
r   r   r   r   __doc__r?   r   rP   r    r!   r"   s   @r   rM   rM   Q   s      H r   rM   N)rR   rE   r   twisted.pythonr   Protocolr   r%   r4   r-   r?   FactoryrM   r+   r   r   <module>rV      sb   
 & (H (&.% ./// /N% N&	8## 	r   