+
    üÐj�  ã                   ól   € R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ]! 4       tRt ! R R4      tR	# )
zd
Cross-platform process-related functionality used by different
L{IReactorProcess} implementations.
)ÚOptional)ÚLogger)ÚgetWarningMethod)ÚFailure)ÚqualzUSince Twisted 8.2, IProcessProtocol.processExited is required.  %s must implement it.c                   óT   a € ] tR t^t o RtRt^ tRtR tR t	R t
R tV 3R ltRtV tR# )ÚBaseProcessNc                ó   € Wn         R # )N)Úproto)ÚselfÚprotocols   &&Ú?/usr/lib/python3/dist-packages/twisted/internet/_baseprocess.pyÚ__init__ÚBaseProcess.__init__   s   € ØŽ
ó    c                ól  € \        4       p\        V P                  R V4      pW2J dC   \        4       ! \        \        V P                  P                  4      3,          \        ^ R7       R# \        P                  R4      ;_uu_ 4        V! \        V4      4       RRR4       R#   + '       g   i     R# ; i)ÚprocessExited)Ú
stacklevelzwhile calling processExited:N)ÚobjectÚgetattrr
   r   Ú_missingProcessExitedr   Ú	__class__ÚDeprecationWarningÚ_logÚfailuresHandledr   )r   ÚreasonÚdefaultr   s   &&  r   Ú_callProcessExitedÚBaseProcess._callProcessExited"   s|   € Ü“(ˆÜ §
¡
¨O¸WÓEˆØÓ#ÜÔÜ%¬¨d¯j©j×.BÑ.BÓ)CÐ(EÕEÜ"Ø÷ô ×%Ñ%Ð&D×EÕEÙœg f›oÔ.÷ F×E×EÒEús   ÂB"Â"B3	c                ó²   € Wn         V ;P                  ^,          un        RV n        V P                  V P	                  V4      4       V P                  4        R# )z+
This is called when the child terminates.
N)ÚstatusÚlostProcessÚpidr   Ú
_getReasonÚmaybeCallProcessEnded)r   r    s   &&r   ÚprocessEndedÚBaseProcess.processEnded/   sD   € ð ŒØ×Ò˜AÕÕØˆŒØ×Ñ §¡°Ó 7Ô8Ø×"Ñ"Ö$r   c                ó*  € V P                   eq   V P                  V P                  4      pV P                   pRV n         \        P	                  R4      ;_uu_ 4        VP                  \        V4      4       RRR4       R# R#   + '       g   i     R# ; i)z4
Call processEnded on protocol after final cleanup.
Nzwhile calling processEnded:)r
   r#   r    r   r   r%   r   )r   r   r
   s   &  r   r$   Ú!BaseProcess.maybeCallProcessEnded9   so   € ð �:‰:Ò!Ø—_‘_ T§[¡[Ó1ˆFØ—J‘JˆEØˆDŒJÜ×%Ñ%Ð&C×DÕDØ×"Ñ"¤7¨6£?Ô3÷ EÑDñ	 "÷ E×DÐDús   ÁBÂB	c                óR   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   # )é   r"   r    )r   Úint)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚBaseProcess.__annotate__   s#   ø‡ ‚ Ù	‘#�Ññ á‘S�MÑ ò r   )r"   r
   r    )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   r    r!   r
   r   r   r%   r$   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r-   s   @r   r   r      s5   ø‡ € Ø€CØ €FØ€KØ€Eòò/ò%ò	4÷A ƒ r   r   N)Ú__doc__Útypingr   Útwisted.loggerr   Útwisted.python.deprecater   Útwisted.python.failurer   Útwisted.python.reflectr   r   r   r   © r   r   Ú<module>r>      s6   ðñ
õ
 å !Ý 5Ý *Ý 'áƒx€ð*ð ÷)4ó )4r   