+
    üÐjò  ã                   óš   € R t ^ RIt^ RIHt ^ RIHt ^ RIHtHt ^ RI	H
t
Ht ^RIHtHt ^RIHt ^RIHtHtHt ^R	IHt  ! R
 R4      tR# )ú
Run a Twisted application.
N)ÚSequence)Ú_exitWithSignal)ÚIReactorCoreÚ_ISupportsExitSignalCapturing)ÚOptionsÚ
UsageError)Ú
ExitStatusÚexit)ÚRunner)ÚApplicationÚIServiceÚIServiceMaker©ÚTwistOptionsc                   óÊ   a € ] tR t^t o Rt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR	 l4       t	]
]P                  3V 3R
 lR ll4       tRtV tR# )ÚTwistr   c                ó6   <€ V ^8„  d   QhRS[ S[,          RS[/# )é   ÚargvÚreturn)r   Ústrr   )ÚformatÚ__classdict__s   "€ÚB/usr/lib/python3/dist-packages/twisted/application/twist/_twist.pyÚ__annotate__ÚTwist.__annotate__   s   ø€ ÷ ñ ‘h™s•mð ©ñ ó    c                ó¾   € \        4       p VP                  V R,          4       V#   \         d,   p\        \        P
                  RT RT 24        Rp?T# Rp?ii ; i)z`
Parse command line options.

@param argv: Command line arguments.
@return: The parsed options.
:é   NNzError: z

N)r   ÚparseOptionsr   r
   r	   ÚEX_USAGE)r   ÚoptionsÚes   &  r   r"   ÚTwist.options   sc   € ô “.ˆð	BØ× Ñ   b¥Ô*ð ˆøô ô 	BÜ”×$Ñ$¨°¨s°$°w°iÐ&@×AÐAàˆûð	Bús   Œ& ¦A± AÁAc                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r   Úpluginr"   r   )r   r   r   )r   r   s   "€r   r   r   ,   s"   ø€ ÷ %ñ %™ð %±ð %¹Hñ %r   c                ó†   € V P                  V4      p\        V P                  4      pVP                  V4       \	        V4      # )zÚ
Create the application service.

@param plugin: The name of the plugin that implements the service
    application to run.
@param options: Options to pass to the application.
@return: The created application service.
)ÚmakeServicer   ÚtapnameÚsetServiceParentr   )r&   r"   ÚserviceÚapplications   &&  r   r+   ÚTwist.service+   s;   € ð ×$Ñ$ WÓ-ˆÜ! &§.¡.Ó1ˆØ× Ñ  Ô-ä˜Ó$Ð$r   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   Úreactorr+   r   N)r   r   )r   r   s   "€r   r   r   <   s'   ø€ ÷ 
Qñ 
Q™lð 
Q±Xð 
QÀ$ñ 
Qr   c                ó`   € VP                  4        V P                  RRVP                  4       R# )z†
Start the application service.

@param reactor: The reactor to run the service with.
@param service: The application service to run.
ÚbeforeÚshutdownN)ÚstartServiceÚaddSystemEventTriggerÚstopService)r/   r+   s   &&r   r3   ÚTwist.startService;   s*   € ð 	×ÑÔð 	×%Ñ% h°
¸G×<OÑ<OÖPr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   ÚtwistOptionsr   Nr   )r   r   s   "€r   r   r   I   s   ø€ ÷ 5ñ 5™,ð 5¨4ñ 5r   c                ó  € \        V R,          V R,          V R,          V R,          R7      pVP                  4        V R,          p\        P                  ! V4      '       d(   VP                  e   \        VP                  4       R# R# R# )zm
Run the application service.

@param twistOptions: Command line options to convert to runner
    arguments.
r/   ÚlogLevelÚlogFileÚfileLogObserverFactory)r/   ÚdefaultLogLevelr;   r<   N)r   Úrunr   Ú
providedByÚ_exitSignalr   )r8   Úrunnerr/   s   &  r   r>   Ú	Twist.runH   sy   € ô Ø  Õ+Ø(¨Õ4Ø  Õ+Ø#/Ð0HÕ#Iô	
ˆð 	�
‰
ŒØ˜yÕ)ˆÜ(×3Ò3°G×<Ò<Ø×"Ñ"Ò.Ü × 3Ñ 3Ö4ñ /ñ =r   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )r   r   r   N)r   r   )r   r   s   "€r   r   r   ]   s   ø€ ÷ ñ ™¡�ð °Tñ r   c                óþ   € V P                  V4      pVR,          pVP                  pVf   Q hV P                  VP                  V,          VP                  R7      pV P                  W54       V P                  V4       R# )zœ
Executable entry point for L{Twist}.
Processes options and run a twisted reactor with a service.

@param argv: Command line arguments.
@type argv: L{list}
r/   N)r&   r"   )r"   Ú
subCommandr+   ÚpluginsÚ
subOptionsr3   r>   )Úclsr   r"   r/   rE   r+   s   &&    r   ÚmainÚ
Twist.main\   sy   € ð —+‘+˜dÓ#ˆà˜)Õ$ˆð ×'Ñ'ˆ
ØÒ%Ð%Ð%Ø—+‘+Ø—?‘? :Õ.Ø×&Ñ&ð ó 
ˆð
 	×Ñ˜Ô*Ø�‰�Ör   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ústaticmethodr"   r+   r3   r>   ÚclassmethodÚsysr   rI   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s|   ø‡ € ñð ÷ó ðð  ÷%ó ð%ð ÷
Qó ð
Qð ÷5ó ð5ð& Ø(+¯©÷ ñ ó ör   r   )rP   rS   Útypingr   Útwisted.application.appr   Útwisted.internet.interfacesr   r   Útwisted.python.usager   r   Úrunner._exitr	   r
   Úrunner._runnerr   r+   r   r   r   Ú_optionsr   r   rK   r   r   Ú<module>r]      s6   ðñ
ó Ý å 3ß Sß 4ß +Ý #ß :Ñ :Ý "÷]ó ]r   