+
    PV-j¤1  ã                   ó®  € ^ RI t ^ RIt^ RIt^ RIt^ RIHtHt ^ RIHtH	t	 ^ RI
Ht ^RIHt ^RIHt ^RIHt ^RIHt ^R	IHt ]'       d   ^ R
IHt M ^ R
IHt Rt ! R R]4      tR R lt ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t  ! R R]4      t! ! R R]4      t" ! R R]"4      t# ! R R]"4      t$R#   ] d    ]t Lxi ; i) é    N)ÚABCÚabstractmethod)ÚTYPE_CHECKINGÚAny)ÚURL)ÚAbstractAccessLogger)ÚPathLike©ÚApplication)ÚAccessLogger©ÚServer)Ú
SSLContextÚBaseSiteÚTCPSiteÚUnixSiteÚNamedPipeSiteÚSockSiteÚ
BaseRunnerÚ	AppRunnerÚServerRunnerÚGracefulExitc                   ó   € ] tR t^%t^tRtR# )r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚcodeÚ__static_attributes__r   ó    Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/aiohttp/web_runner.pyr   r   %   s   † Ø„Dr!   c                ó   € V ^8„  d   QhRR/# ©é   ÚreturnNr   )Úformats   "r"   Ú__annotate__r(   )   s   € ÷ ñ ˜dñ r!   c                  ó   € \        4       h©N)r   r   r!   r"   Ú_raise_graceful_exitr+   )   s
   € Ü
‹.Ðr!   c                   óš   a € ] tR t^-t o RtRRRRR^€/V 3R lR llt]]V 3R lR	 l4       4       t]V 3R
 lR l4       t	V 3R lR lt
RtV tR# )r   Úshutdown_timeoutç      N@Ússl_contextNÚbacklogc          
      óB   <€ V ^8„  d   QhRRRS[ RS[R,          RS[RR/# )r%   Úrunnerr   r-   r/   Nr0   r&   )Úfloatr   Úint)r'   Ú__classdict__s   "€r"   r(   ÚBaseSite.__annotate__0   sB   ø€ ÷ ;ñ ;àð;ñ  ð	;ñ
   $Õ&ð;ñ ð;ð 
ñ;r!   c               óÂ   € VP                   f   \        R4      hVR8w  d&   Rp\        P                  ! V\        ^R7       W!n        Wn        W0n        W@n        R V n	        R # )Nz(Call runner.setup() before making a siter.   z,shutdown_timeout should be set on BaseRunner)Ú
stacklevel)
ÚserverÚRuntimeErrorÚwarningsÚwarnÚDeprecationWarningÚ_shutdown_timeoutÚ_runnerÚ_ssl_contextÚ_backlogÚ_server)Úselfr2   r-   r/   r0   Úmsgs   &&$$$ r"   Ú__init__ÚBaseSite.__init__0   sU   € ð �=‰=Ò ÜÐIÓJÐJØ˜tÔ#Ø@ˆCÜ�MŠM˜#Ô1¸aÕ@Ø'7Ô$ØŒØ'ÔØŒØ6:ˆŽr!   c                ó    <€ V ^8„  d   QhRS[ /# ©r%   r&   ©Ústr)r'   r5   s   "€r"   r(   r6   E   s   ø€ ÷ ñ ‘cñ r!   c                ó   € R # r*   r   ©rC   s   &r"   ÚnameÚBaseSite.nameC   s   € ñ 	r!   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   r6   I   s   ø€ ÷ %ñ %˜Tñ %r!   c              ƒ  óD   "  € V P                   P                  V 4       R # 5ir*   )r?   Ú	_reg_siterL   s   &r"   ÚstartÚBaseSite.startH   s   é € à�‰×Ñ˜tÖ$ùs   ‚ c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   r6   L   s   ø€ ÷ 'ñ '˜Dñ 'r!   c              ƒ  óÊ   "  € V P                   P                  V 4       V P                  e   V P                  P                  4        V P                   P	                  V 4       R # 5ir*   )r?   Ú_check_siterB   ÚcloseÚ_unreg_siterL   s   &r"   ÚstopÚBaseSite.stopL   sC   é € Ø�‰× Ñ  Ô&Ø�<‰<Ò#Ø�L‰L×ÑÔ à�‰× Ñ  Ö&ùs   ‚A!A#)rA   r?   rB   r@   )r?   r@   rA   rB   )r   r   r   r   Ú	__slots__rE   Úpropertyr   rM   rR   rY   r    Ú__classdictcell__©r5   s   @r"   r   r   -   sl   ø‡ € ØB€Ið;ð #'ð	;ð
 *.ð;ð ÷;ò ;ð& Ø÷ó ó ðð ÷%ó ð%÷'ö 'r!   c                   ó®   a a€ ] tR t^Tt oRtRRRRRR^€RRRR/V3R lV 3R	 llllt]V3R
 lR l4       t]V3R lR l4       tV3R lV 3R llt	Rt
VtV ;t# )r   Nr-   r.   r/   r0   Úreuse_addressÚ
reuse_portc                ó’   <€ V ^8„  d   QhRRRS[ R,          RS[R,          RS[RS[R,          RS[R	S[R,          R
S[R,          RR/	# )r%   r2   r   ÚhostNÚportr-   r/   r0   r`   ra   r&   )rJ   r4   r3   r   Úbool)r'   r5   s   "€r"   r(   ÚTCPSite.__annotate__W   sz   ø€ ÷ &ñ &àð&ñ �D�jð&ñ �D�jð	&ñ  ð&ñ   $Õ&ð&ñ ð&ñ ˜d•{ð&ñ ˜4•Kð&ð 
ñ&r!   c               ó    <€ \         S	V `  VVVVR 7       W n        Vf   V P                  '       d   RMRpW0n        RV n        Wpn        W€n        R# )©r-   r/   r0   Niû   i�  )ÚsuperrE   Ú_hostr@   Ú_portÚ_bound_portÚ_reuse_addressÚ_reuse_port)
rC   r2   rc   rd   r-   r/   r0   r`   ra   Ú	__class__s
   &&&&$$$$$€r"   rE   ÚTCPSite.__init__W   sZ   ø€ ô 	‰ÑØØ-Ø#Øð	 	ô 	
ð Œ
ØŠ<Ø×,×,Ð,‘4°$ˆDØŒ
Ø'+ˆÔØ+ÔØ%Ör!   c                ó    <€ V ^8„  d   QhRS[ /# rH   )r4   )r'   r5   s   "€r"   r(   rf   r   s   ø€ ÷ ñ ‘cñ r!   c                óN   € V P                   e   V P                   # V P                  # )aV  The port the server is listening on.

If the server hasn't been started yet, this returns the requested port
(which might be 0 for a dynamic port).
After the server starts, it returns the actual bound port. This is
especially useful when port=0 was requested, as it allows retrieving the
dynamically assigned port after the site has started.
)rl   rk   rL   s   &r"   rd   ÚTCPSite.portq   s&   € ð ×ÑÒ'Ø×#Ñ#Ð#Ø�z‰zÐr!   c                ó    <€ V ^8„  d   QhRS[ /# rH   rI   )r'   r5   s   "€r"   r(   rf   €   s   ø€ ÷ Hñ H‘cñ Hr!   c                óÄ   € V P                   '       d   R MRpV P                  '       g   RMV P                  p\        \        P                  ! WV P
                  R7      4      # )ÚhttpsÚhttpz0.0.0.0©Úschemerc   rd   )r@   rj   rJ   r   Úbuildrd   )rC   ry   rc   s   &  r"   rM   ÚTCPSite.name   sA   € à ×-×-Ð-‘°6ˆØ $§
§
 
‰y°·
±
ˆÜ”3—9’9 F¸D¿I¹IÔFÓGÐGr!   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   rf   …   s   ø€ ÷ *ñ *˜Tñ *r!   c           
   ƒ  ó4  <"  € \         SV `  4       G R j  x€L
  \        P                  ! 4       pV P                  P
                  pVf   Q hVP                  VV P                  V P                  V P                  V P                  V P                  V P                  R7      G R j  x€L
 V n        V P                  P                  '       d:   V P                  P                  ^ ,          P                  4       ^,          V n        R # V P                  V n        R #  Lþ Ls5i)N)Ússlr0   r`   ra   )ri   rR   ÚasyncioÚget_event_loopr?   r9   Úcreate_serverrj   rk   r@   rA   rm   rn   rB   ÚsocketsÚgetsocknamerl   ©rC   Úloopr9   ro   s   &  €r"   rR   ÚTCPSite.start…   sÚ   øé € Ü‰g‰m‹o×ÐÜ×%Ò%Ó'ˆØ—‘×$Ñ$ˆØÒ!Ð!Ð!Ø!×/Ñ/ØØ�J‰JØ�J‰JØ×!Ñ!Ø—M‘MØ×-Ñ-Ø×'Ñ'ð 0ó 
÷ 
ˆŒð �<‰<××ÐØ#Ÿ|™|×3Ñ3°AÕ6×BÑBÓDÀQÕGˆDÖà#Ÿz™zˆDÖñ! 	ñ
ùs)   ƒD•D–BDÂ"DÂ#$DÃADÄD)rl   rj   rk   rm   rn   rB   )rj   rk   rl   rm   rn   )NN)r   r   r   r   r[   rE   r\   rd   rM   rR   r    r]   Ú__classcell__©ro   r5   s   @@r"   r   r   T   s   ù‡ € ØR€Iñ&ð #'ð&ð *.ð&ð ð&ð &*ð&ð #'÷&ö &ð4 ÷ó ðð ÷Hó ðH÷
*÷ *ó *r!   c                   ó†   a a€ ] tR t^™t oRtRRRRR^€/V3R lV 3R lllt]V3R lR	 l4       tV3R
 lV 3R lltRt	Vt
V ;t# )r   r-   r.   r/   Nr0   c                óH   <€ V ^8„  d   QhRRRS[ RS[RS[R,          RS[RR/# )	r%   r2   r   Úpathr-   r/   Nr0   r&   )r	   r3   r   r4   )r'   r5   s   "€r"   r(   ÚUnixSite.__annotate__œ   sL   ø€ ÷ ñ àðñ ðñ
  ðñ   $Õ&ðñ ðð 
ñr!   c               ó:   <€ \         SV `  VVVVR 7       W n        R# )rh   N)ri   rE   Ú_path)rC   r2   r‹   r-   r/   r0   ro   s   &&&$$$€r"   rE   ÚUnixSite.__init__œ   s*   ø€ ô 	‰ÑØØ-Ø#Øð	 	ô 	
ð Ž
r!   c                ó    <€ V ^8„  d   QhRS[ /# rH   rI   )r'   r5   s   "€r"   r(   rŒ   ®   s   ø€ ÷ 0ñ 0‘cñ 0r!   c                óR   € V P                   '       d   R MRpV RV P                   R2# )rv   rw   ú://unix:Ú:)r@   rŽ   )rC   ry   s   & r"   rM   ÚUnixSite.name­   s+   € à ×-×-Ð-‘°6ˆØ�˜ $§*¡* ¨QÐ/Ð/r!   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   rŒ   ²   s   ø€ ÷ 

ñ 

˜Tñ 

r!   c              ƒ  ó&  <"  € \         SV `  4       G R j  x€L
  \        P                  ! 4       pV P                  P
                  pVf   Q hVP                  VV P                  V P                  V P                  R7      G R j  x€L
 V n
        R #  Lw L5i)N)r~   r0   )ri   rR   r   r€   r?   r9   Úcreate_unix_serverrŽ   r@   rA   rB   r„   s   &  €r"   rR   ÚUnixSite.start²   s~   øé € Ü‰g‰m‹o×ÐÜ×%Ò%Ó'ˆØ—‘×$Ñ$ˆØÒ!Ð!Ð!Ø!×4Ñ4ØØ�J‰JØ×!Ñ!Ø—M‘Mð	 5ó 
÷ 
ˆŽñ	 	ñ
ùs"   ƒB•B–A+BÂBÂBÂB©rŽ   rB   ©rŽ   ©r   r   r   r   r[   rE   r\   rM   rR   r    r]   r‡   rˆ   s   @@r"   r   r   ™   sU   ù‡ € Ø€Iðð
 #'ðð *.ðð ÷õ ð" ÷0ó ð0÷

÷ 

ó 

r!   c                   ó~   a a€ ] tR t^¿t oR
tRR/V3R lV 3R lllt]V3R lR l4       tV3R lV 3R lltR	t	Vt
V ;t# )r   r-   r.   c                ó.   <€ V ^8„  d   QhRRRS[ RS[RR/# )r%   r2   r   r‹   r-   r&   N)rJ   r3   )r'   r5   s   "€r"   r(   ÚNamedPipeSite.__annotate__Â   s-   ø€ ÷ ñ Ø"ðÙ*-ðÙDIðà	ñr!   c               ó´   <€ \         P                  ! 4       p\        V\         P                  4      '       g   \	        R 4      h\
        SV `  WR7       W n        R# )z9Named Pipes only available in proactor loop under windows)r-   N)r   r€   Ú
isinstanceÚProactorEventLoopr:   ri   rE   rŽ   )rC   r2   r‹   r-   r…   ro   s   &&&$ €r"   rE   ÚNamedPipeSite.__init__Â   sT   ø€ ô ×%Ò%Ó'ˆÜØ”'×+Ñ+÷
ò 
ô ØKóð ô 	‰Ñ˜ÐÔCØŽ
r!   c                ó    <€ V ^8„  d   QhRS[ /# rH   rI   )r'   r5   s   "€r"   r(   rž   Ð   ó   ø€ ÷ ñ ‘cñ r!   c                ó   € V P                   # r*   rš   rL   s   &r"   rM   ÚNamedPipeSite.nameÏ   ó   € à�z‰zÐr!   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   rž   Ó   s   ø€ ÷ "ñ "˜Tñ "r!   c              ƒ  ó  <"  € \         SV `  4       G R j  x€L
  \        P                  ! 4       pV P                  P
                  pVf   Q hVP                  W P                  4      G R j  x€L
 pV^ ,          V n        R #  Lh L5ir*   )	ri   rR   r   r€   r?   r9   Ústart_serving_piperŽ   rB   )rC   r…   r9   rB   ro   s   &   €r"   rR   ÚNamedPipeSite.startÓ   sq   øé € Ü‰g‰m‹o×ÐÜ×%Ò%Ó'ˆØ—‘×$Ñ$ˆØÒ!Ð!Ð!Ø×/Ñ/Ø—J‘Jó
÷ 
ˆð ˜q•zˆŽñ 	ñ
ùs"   ƒB•A>–ABÁ)B Á*BÂ Br™   rš   r›   rˆ   s   @@r"   r   r   ¿   s?   ù‡ € Ø€IðØLP÷õ ð ÷ó ð÷"÷ "ó "r!   c                   ó†   a a€ ] tR t^Þt oRtRRRRR^€/V3R lV 3R lllt]V3R lR	 l4       tV3R
 lV 3R lltRt	Vt
V ;t# )r   r-   r.   r/   Nr0   c                ó\   <€ V ^8„  d   QhRRRS[ P                   RS[RS[R,          RS[RR/# )	r%   r2   r   Úsockr-   r/   Nr0   r&   )Úsocketr3   r   r4   )r'   r5   s   "€r"   r(   ÚSockSite.__annotate__á   sP   ø€ ÷ ñ àðñ �m‰mðñ
  ðñ   $Õ&ðñ ðð 
ñr!   c               ó~  <€ \         S
V `  VVVVR 7       W n        V P                  '       d   RMRp\	        \
        R4      '       d7   VP                  \
        P                  8X  d   V RVP                  4        R2pM:VP                  4       R,          w  r‰\        \        P                  ! WhV	R7      4      pWpn        R# )	rh   rv   rw   ÚAF_UNIXr’   r“   :Nr%   Nrx   N)ri   rE   Ú_sockr@   Úhasattrr¯   Úfamilyr²   rƒ   rJ   r   rz   Ú_name)rC   r2   r®   r-   r/   r0   ry   rM   rc   rd   ro   s   &&&$$$    €r"   rE   ÚSockSite.__init__á   s£   ø€ ô 	‰ÑØØ-Ø#Øð	 	ô 	
ð Œ
Ø ×-×-Ð-‘°6ˆÜ”6˜9×%Ò%¨$¯+©+¼¿¹Ô*GØ�X˜X d×&6Ñ&6Ó&8Ð%9¸Ð;‰Dà×)Ñ)Ó+¨BÕ/‰JˆDÜ”s—y’y¨ÀÔEÓFˆDØŽ
r!   c                ó    <€ V ^8„  d   QhRS[ /# rH   rI   )r'   r5   s   "€r"   r(   r°   ú   r¤   r!   c                ó   € V P                   # r*   )r¶   rL   s   &r"   rM   ÚSockSite.nameù   r§   r!   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   r°   ý   s   ø€ ÷ 
ñ 
˜Tñ 
r!   c              ƒ  ó$  <"  € \         SV `  4       G R j  x€L
  \        P                  ! 4       pV P                  P
                  pVf   Q hVP                  W P                  V P                  V P                  R7      G R j  x€L
 V n
        R #  Lv L5i)N)r®   r~   r0   )ri   rR   r   r€   r?   r9   r�   r³   r@   rA   rB   r„   s   &  €r"   rR   ÚSockSite.startý   sy   øé € Ü‰g‰m‹o×ÐÜ×%Ò%Ó'ˆØ—‘×$Ñ$ˆØÒ!Ð!Ð!Ø!×/Ñ/ØŸ™¨×):Ñ):ÀDÇMÁMð 0ó 
÷ 
ˆŽñ	 	ñ
ùs"   ƒB•B–A*BÂ BÂBÂB)r¶   rB   r³   )r³   r¶   r›   rˆ   s   @@r"   r   r   Þ   sU   ù‡ € Ø"€Iðð
 #'ðð *.ðð ÷õ ð0 ÷ó ð÷
÷ 
ó 
r!   c                   óD  a € ] tR tRt o R tRRRR/V 3R lR ll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t
]V 3R lR l4       tV 3R lR lt]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )!r   i  Úhandle_signalsFr-   r.   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# )r%   r¿   r-   Úkwargsr&   N)re   r3   r   )r'   r5   s   "€r"   r(   ÚBaseRunner.__annotate__
  s5   ø€ ÷ 2ñ 2ñ ð2ñ  ð	2ñ
 ð2ð 
ñ2r!   c               óF   € Wn         W0n        R V n        . V n        W n        R # r*   ©Ú_handle_signalsÚ_kwargsrB   Ú_sitesr>   )rC   r¿   r-   rÁ   s   &$$,r"   rE   ÚBaseRunner.__init__
  s#   € ð  .ÔØŒØ&*ˆŒØ&(ˆŒØ!1Ör!   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r$   r   )r'   r5   s   "€r"   r(   rÂ     s   ø€ ÷ ñ ™ �ñ r!   c                ó   € V P                   # r*   )rB   rL   s   &r"   r9   ÚBaseRunner.server  s   € à�|‰|Ðr!   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rH   )Úlistr   )r'   r5   s   "€r"   r(   rÂ     s   ø€ ÷ 	ñ 	™4¡�9ñ 	r!   c                óÈ   € . pV P                    FO  pVP                  pVf   K  VP                  pVf   K'  V F"  pVP                  VP	                  4       4       K$  	  KQ  	  V# r*   )rÇ   rB   r‚   Úappendrƒ   )rC   ÚretÚsiter9   r‚   r®   s   &     r"   Ú	addressesÚBaseRunner.addresses  sY   € àˆØ—K”KˆDØ—\‘\ˆFØÔ!Ø Ÿ.™.�ØÔ&Û '˜ØŸ
™
 4×#3Ñ#3Ó#5Ö6ó !(ñ  ð ˆ
r!   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rH   )Úsetr   )r'   r5   s   "€r"   r(   rÂ   (  s   ø€ ÷  ñ  ‘s™8•}ñ  r!   c                ó,   € \        V P                  4      # r*   )rÕ   rÇ   rL   s   &r"   ÚsitesÚBaseRunner.sites'  s   € ä�4—;‘;ÓÐr!   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   rÂ   +  s   ø€ ÷ 1ñ 1˜Tñ 1r!   c              ƒ  óN  "  € \         P                  ! 4       pV P                  '       dJ    VP                  \        P
                  \        4       VP                  \        P                  \        4       V P                  4       G R j  x€L
 V n
        R #   \         d     L,i ; i L5ir*   )r   r€   rÅ   Úadd_signal_handlerÚsignalÚSIGINTr+   ÚSIGTERMÚNotImplementedErrorÚ_make_serverrB   ©rC   r…   s   & r"   ÚsetupÚBaseRunner.setup+  s|   é € Ü×%Ò%Ó'ˆà××ÐðØ×'Ñ'¬¯©Ô7KÔLØ×'Ñ'¬¯©Ô8LÔMð
 "×.Ñ.Ó0×0ˆŽøô	 'ô áðúñ 1ùs5   ‚(B%«AB Á3B%ÂB#ÂB%ÂB ÂB%ÂB Â B%c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   rÂ   9  s   ø€ ÷ Gñ G ñ Gr!   c              ƒ  ó   "  € R# 5i)z8Call any shutdown hooks to help server close gracefully.Nr   rL   s   &r"   ÚshutdownÚBaseRunner.shutdown8  s   é ‚ ùó   ‚c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   rÂ   <  s   ø€ ÷ ñ ˜tñ r!   c              ƒ  óÜ  "  € \        V P                  4       F  pVP                  4       G R j  x€L
  K  	  V P                  '       d~   \        P
                  ! ^ 4      G R j  x€L
  V P                  P                  4        V P                  4       G R j  x€L
  V P                  P                  V P                  4      G R j  x€L
  V P                  4       G R j  x€L
  R V n        V P                  '       dW   \        P                  ! 4       p VP                  \        P                  4       VP                  \        P                  4       R # R #  EL! Lï L¿ L” L~  \          d     R # i ; i5ir*   )rÍ   rÇ   rY   rB   r   ÚsleepÚpre_shutdownræ   r>   Ú_cleanup_serverrÅ   Úget_running_loopÚremove_signal_handlerrÜ   rÝ   rÞ   rß   )rC   rÑ   r…   s   &  r"   ÚcleanupÚBaseRunner.cleanup<  s  é € ô
 ˜Ÿ™Ö%ˆDØ—)‘)“+×Òñ &ð �<�<ˆ<ô —-’- Ó"×"Ð"Ø�L‰L×%Ñ%Ô'Ø—-‘-“/×!Ð!Ø—,‘,×'Ñ'¨×(>Ñ(>Ó?×?Ð?Ø×"Ñ"Ó$×$Ð$àˆŒØ××ÐÜ×+Ò+Ó-ˆDðØ×*Ñ*¬6¯=©=Ô9Ø×*Ñ*¬6¯>©>Ö:ñ	  ò ñ
 #á!Ù?Ù$øô 'ô âðüs‡   ‚,E,®E¯E,Á	E,Á"EÁ#1E,ÂEÂ,E,ÃEÃE,ÃEÃE,Ã7E,Ä>E ÅE,ÅE,ÅE,ÅE,ÅE,ÅE)Å%E,Å(E)Å)E,c                ó    <€ V ^8„  d   QhRS[ /# rH   r   )r'   r5   s   "€r"   r(   rÂ   X  s   ø€ ÷ ñ ¡Fñ r!   c              ƒ  ó   "  € R # 5ir*   r   rL   s   &r"   rà   ÚBaseRunner._make_serverW  ó   é € áùrè   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   rÂ   \  ó   ø€ ÷ ñ  tñ r!   c              ƒ  ó   "  € R # 5ir*   r   rL   s   &r"   rí   ÚBaseRunner._cleanup_server[  rõ   rè   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r%   rÑ   r&   N©r   )r'   r5   s   "€r"   r(   rÂ   _  s   ø€ ÷ !ñ !™hð !¨4ñ !r!   c                ó~   € WP                   9   d   \        R V RV  24      hV P                   P                  V4       R# )úSite z! is already registered in runner N)rÇ   r:   rÏ   ©rC   rÑ   s   &&r"   rQ   ÚBaseRunner._reg_site_  s7   € Ø—;‘;ÔÜ  t fÐ,MÈdÈVÐTÓUÐUØ�‰×Ñ˜4Ö r!   c                ó$   <€ V ^8„  d   QhRS[ RR/# rû   rü   )r'   r5   s   "€r"   r(   rÂ   d  s   ø€ ÷ Rñ R¡ð R¨Tñ Rr!   c                óH   € WP                   9  d   \        R V RV  24      hR# ©rþ   z is not registered in runner N)rÇ   r:   rÿ   s   &&r"   rV   ÚBaseRunner._check_sited  s*   € Ø—{‘{Ô"Ü  t fÐ,IÈ$ÈÐPÓQÐQñ #r!   c                ó$   <€ V ^8„  d   QhRS[ RR/# rû   rü   )r'   r5   s   "€r"   r(   rÂ   h  s   ø€ ÷ !ñ !¡ð !¨Tñ !r!   c                ó~   € WP                   9  d   \        R V RV  24      hV P                   P                  V4       R# r  )rÇ   r:   Úremoverÿ   s   &&r"   rX   ÚBaseRunner._unreg_siteh  s7   € Ø—{‘{Ô"Ü  t fÐ,IÈ$ÈÐPÓQÐQØ�‰×Ñ˜4Ö r!   )rÅ   rÆ   rB   r>   rÇ   NrÄ   )r   r   r   r   r[   rE   r\   r9   rÒ   r×   râ   r   ræ   rð   rà   rí   rQ   rV   rX   r    r]   r^   s   @r"   r   r     sÖ   ø‡ € ØX€Ið2ð  %ð2ð #'÷	2ò 2ð ÷ó ðð ÷	ó ð	ð ÷ ó ð ÷1ð 1ð ÷Gó ðG÷ð ð6 ÷ó ðð ÷ó ð÷!ð !÷
Rð R÷!ö !r!   c                   ó„   a a€ ] tR tRt oRtRtRR/V3R lV 3R llltV3R lR ltV3R	 lR
 ltV3R lR lt	Rt
VtV ;t# )r   in  zLow-level web server runnerr¿   Fc                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# )r%   Ú
web_serverr¿   rÁ   r&   N)r   re   r   )r'   r5   s   "€r"   r(   ÚServerRunner.__annotate__s  s-   ø€ ÷ &ñ &Ù ð&Ù59ð&ÙMPð&à	ñ&r!   c               ó8   <€ \         SV `  ! RR V/VB  Wn        R# )r¿   Nr   )ri   rE   Ú_web_server)rC   r  r¿   rÁ   ro   s   &&$,€r"   rE   ÚServerRunner.__init__s  s    ø€ ô 	‰ÒÑA¨ÐA¸&ÒAØ%Ör!   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   r  y  s   ø€ ÷ ñ  ñ r!   c              ƒ  ó   "  € R # 5ir*   r   rL   s   &r"   ræ   ÚServerRunner.shutdowny  ó   é € Ùùrè   c                ó    <€ V ^8„  d   QhRS[ /# rH   r   )r'   r5   s   "€r"   r(   r  |  s   ø€ ÷  ñ  ¡Fñ  r!   c              ƒ  ó"   "  € V P                   # 5ir*   ©r  rL   s   &r"   rà   ÚServerRunner._make_server|  s   é € Ø×ÑÐùs   ‚c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   r    r÷   r!   c              ƒ  ó   "  € R # 5ir*   r   rL   s   &r"   rí   ÚServerRunner._cleanup_server  r  rè   r  )r   r   r   r   Ú__doc__r[   rE   ræ   rà   rí   r    r]   r‡   rˆ   s   @@r"   r   r   n  sB   ù‡ € Ù%à €Ið&Ø<A÷&õ &÷ð ÷ ð  ÷÷ ð r!   c                   ó¤   a a€ ] tR tRt oRtRtRRR]/V3R lV 3R lllt]V3R lR	 l4       t	V3R
 lR lt
V3R lR ltV3R lR ltRtVtV ;t# )r   iƒ  zWeb Application runnerr¿   FÚaccess_log_classc          
      óF   <€ V ^8„  d   QhRS[ RS[RS[S[,          RS[RR/# )r%   Úappr¿   r  rÁ   r&   N)r   re   Útyper   r   )r'   r5   s   "€r"   r(   ÚAppRunner.__annotate__ˆ  sC   ø€ ÷ ñ áðñ ð	ñ
 Ñ3Õ4ðñ ðð 
ñr!   c               óž   <€ \         SV `  ! RR V/VB  \        V\        4      '       g   \	        RV: 24      hW0P
                  R&   Wn        R# )r¿   z;The first argument should be web.Application instance, got r  Nr   )ri   rE   r    r   Ú	TypeErrorrÆ   Ú_app)rC   r  r¿   r  rÁ   ro   s   &&$$,€r"   rE   ÚAppRunner.__init__ˆ  sR   ø€ ô 	‰ÒÑA¨ÐA¸&ÒAÜ˜#œ{×+Ò+ÜØMÈcÉWÐUóð ð ,<�‰Ð'Ñ(ØŽ	r!   c                ó    <€ V ^8„  d   QhRS[ /# rH   r
   )r'   r5   s   "€r"   r(   r!  ™  s   ø€ ÷ ñ ‘[ñ r!   c                ó   € V P                   # r*   ©r$  rL   s   &r"   r  ÚAppRunner.app˜  s   € à�y‰yÐr!   c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   r!  œ  s   ø€ ÷ #ñ # ñ #r!   c              ƒ  óV   "  € V P                   P                  4       G R j  x€L
  R #  L5ir*   )r$  ræ   rL   s   &r"   ræ   ÚAppRunner.shutdownœ  s   é € Ø�i‰i× Ñ Ó"×"Ô"ùó   ‚) '¡)c                ó    <€ V ^8„  d   QhRS[ /# rH   r   )r'   r5   s   "€r"   r(   r!  Ÿ  s   ø€ ÷ Bñ B¡Fñ Br!   c              ƒ  ó~  "  € \         P                  ! 4       pV P                  P                  V4       V P                  P                  P                  4        V P                  P                  4       G R j  x€L
  V P                  P                  4        V P                  P                  ! RRV/V P                  B #  LF5i)Nr…   r   )	r   r€   r$  Ú	_set_loopÚ
on_startupÚfreezeÚstartupÚ_make_handlerrÆ   rá   s   & r"   rà   ÚAppRunner._make_serverŸ  s‡   é € Ü×%Ò%Ó'ˆØ�	‰	×Ñ˜DÔ!Ø�	‰	×Ñ×#Ñ#Ô%Ø�i‰i×ÑÓ!×!Ð!Ø�	‰	×ÑÔà�y‰y×&Ò&ÑA¨DÐA°D·L±LÑAÐAñ 	"ùs   ‚A2B=Á4B;Á5AB=c                ó   <€ V ^8„  d   QhRR/# r$   r   )r'   r5   s   "€r"   r(   r!  ¨  s   ø€ ÷ "ñ " tñ "r!   c              ƒ  óV   "  € V P                   P                  4       G R j  x€L
  R #  L5ir*   )r$  rð   rL   s   &r"   rí   ÚAppRunner._cleanup_server¨  s   é € Ø�i‰i×ÑÓ!×!Ô!ùr-  r(  )r   r   r   r   r  r[   r   rE   r\   r  ræ   rà   rí   r    r]   r‡   rˆ   s   @@r"   r   r   ƒ  se   ù‡ € Ù à€Iðð  %ð	ð
 8D÷õ ð  ÷ó ð÷#ð #÷Bð B÷"÷ "ð "r!   )	r   r   r   r   r   r   r   r   r   )%r   rÜ   r¯   r;   Úabcr   r   Útypingr   r   Úyarlr   r   Útypedefsr	   Úweb_appr   Úweb_logr   r  r   r~   r   ÚImportErrorÚobjectÚ__all__Ú
SystemExitr   r+   r   r   r   r   r   r   r   r   r   r!   r"   Ú<module>rC     sÏ   ðÛ Û Û Û ß #ß %å å %Ý Ý  Ý !Ý çÞðÝ"ð
€ô�:ô õô$'ˆsô $'ôNB*ˆhô B*ôJ#
ˆxô #
ôL"�Hô "ô>&
ˆxô &
ôRd!�ô d!ôN�:ô ô*&"�
ö &"øð] ô ØŠ
ðús   ÁC Ã	CÃC