ó
    Ö›‘hò  ã                   ó˜   • S r SSKrSSKJr  SSKJr  SSKJrJr  SSK	J
r
Jr  SSKJrJr  SS	KJr  SS
KJrJrJr  SSKJr   " S S5      rg)ú
Run a Twisted application.
é    N)ÚSequence)Ú_exitWithSignal)ÚIReactorCoreÚ_ISupportsExitSignalCapturing)ÚOptionsÚ
UsageErroré   )Ú
ExitStatusÚexit)ÚRunner)ÚApplicationÚIServiceÚIServiceMakeré   )ÚTwistOptionsc                   óÒ   • \ rS rSrSr\S\\   S\4S j5       r	\S\
S\S\4S j5       r\S	\S
\SS4S j5       r\S\SS4S j5       r\\R&                  4S\\   SS4S jj5       rSrg)ÚTwisté   r   ÚargvÚreturnc                 ó´   • [        5       n UR                  U SS 5        U$ ! [         a+  n[        [        R
                  SU SU 35         SnAU$ SnAff = f)z`
Parse command line options.

@param argv: Command line arguments.
@return: The parsed options.
r   NzError: z

)r   ÚparseOptionsr	   r   r   ÚEX_USAGE)r   ÚoptionsÚes      ÚdC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/application/twist/_twist.pyr   ÚTwist.options   se   € ô “.ˆð	BØ× Ñ   a b Ô*ð ˆøô ó 	BÜ”×$Ñ$¨°¨s°$°w°iÐ&@×AÐAàˆûð	Bús   Œ" ¢
A¬ AÁAÚpluginr   c                 ó†   • U R                  U5      n[        U R                  5      nUR                  U5        [	        U5      $ )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ˆØ× Ñ  Ô-ä˜Ó$Ð$ó    Úreactorr$   Nc                 ó^   • UR                  5         U R                  SSUR                  5        g)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   r,   ÚTwist.startService;   s*   € ð 	×ÑÔð 	×%Ñ% h°
¸G×<OÑ<OÕPr'   ÚtwistOptionsc                 óÜ   • [        U S   U S   U S   U S   S9nUR                  5         U S   n[        R                  " U5      (       a$  UR                  b  [        UR                  5        ggg)zm
Run the application service.

@param twistOptions: Command line options to convert to runner
    arguments.
r(   ÚlogLevelÚlogFileÚfileLogObserverFactory)r(   ÚdefaultLogLevelr3   r4   N)r   Úrunr   Ú
providedByÚ_exitSignalr   )r0   Úrunnerr(   s      r   r6   Ú	Twist.runH   sy   € ô Ø  Ñ+Ø(¨Ñ4Ø  Ñ+Ø#/Ð0HÑ#Iñ	
ˆð 	�
‰
ŒØ˜yÑ)ˆÜ(×3Ò3°G×<Ñ<Ø×"Ñ"Ñ.Ü × 3Ñ 3Õ4ð /ð =r'   c                 óä   • U R                  U5      nUS   nUR                  nUc   eU R                  UR                  U   UR                  S9nU R                  X55        U R                  U5        g)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Ú
subOptionsr,   r6   )Úclsr   r   r(   r<   r$   s         r   ÚmainÚ
Twist.main\   sy   € ð —+‘+˜dÓ#ˆà˜)Ñ$ˆð ×'Ñ'ˆ
ØÑ%Ð%Ð%Ø—+‘+Ø—?‘? :Ñ.Ø×&Ñ&ð ð 
ˆð
 	×Ñ˜Ô*Ø�‰�Õr'   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ústaticmethodr   Ústrr   r   r   r   r   r$   r   r,   r6   ÚclassmethodÚsysr   r@   Ú__static_attributes__rB   r'   r   r   r      sÓ   † ñð ð�h˜s‘mð ¨ó ó ðð  ð%˜ð %°ð %¸Hó %ó ð%ð ð
Q˜lð 
Q°Xð 
QÀ$ó 
Qó ð
Qð ð5˜,ð 5¨4ó 5ó ð5ð& Ø(+¯©ñ ˜ ™ð °Tô ó ór'   r   )rG   rK   Útypingr   Útwisted.application.appr   Útwisted.internet.interfacesr   r   Útwisted.python.usager   r	   Úrunner._exitr   r   Úrunner._runnerr   r$   r   r   r   Ú_optionsr   r   rB   r'   r   Ú<module>rT      s6   ðñ
ó Ý å 3ß Sß 4ß +Ý #ß :Ñ :Ý "÷]ò ]r'   