Ë
    Eü´j³K  ã            	       ó  — d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	m
Z
mZ d dlmZmZ d dlmZmZmZ d dlmZmZmZmZmZmZ d dlmZ d dlmZ dd	lmZ dd
l m!Z!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@ ddlAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI dZJer$ed   ZKee:e<f   ZLee0   ZMeeeNe0eOf         ZPeQd   ZRneZKeZLeZMee   ZPeQZR ed«      ZS ed«      ZT edeB¬«      ZUde/d eNd!   d"ee:gee<   f   fd#„ZV  ed$¬%«      eV«      ZW G d&„ de
eXe'e   z  ef   «      ZY G d'„ d(eZ«      Z[eeYged   f   eeYged   f   z  Z\ G d)„ d*ee\   «      Z]y)+é    N)ÚAsyncIteratorÚ	AwaitableÚCallableÚIterableÚIteratorÚMappingÚMutableMappingÚSequence)ÚAbstractAsyncContextManagerÚasynccontextmanager)Ú	lru_cacheÚpartialÚupdate_wrapper)ÚTYPE_CHECKINGÚAnyÚOptionalÚTypeVarÚcastÚoverload)ÚSignal)Ú
FrozenListé   )Úhdrs)ÚAbstractAccessLoggerÚAbstractMatchInfoÚAbstractRouterÚAbstractStreamWriter)ÚDEBUGÚAppKey)ÚRawRequestMessage)Ú
web_logger)ÚStreamReader)ÚHandlerÚ
Middleware)ÚNotAppKeyWarning)ÚAccessLogger)Ú_fix_request_current_app)ÚRequestHandler)ÚRequest)ÚStreamResponse)ÚAbstractRouteDef)ÚServer)ÚAbstractResourceÚAbstractRouteÚDomainÚ
MaskDomainÚMatchedSubAppResourceÚPrefixedSubAppResourceÚSystemRouteÚUrlDispatcher)ÚApplicationÚCleanupErrorr5   Ú_TÚ_UÚ	_Resource)ÚboundÚhandlerÚapps)r5   .Úreturnc                 óv   — |ddd…   D ]-  }|j                   D ]  \  }}t        t        || ¬«      | «      } Œ Œ/ | S )zApply middlewares to handler.Néÿÿÿÿ©r;   )Ú_middlewares_handlersr   r   )r;   r<   ÚappÚmÚ_s        úM/root/workspace/ytshorts/venv/lib/python3.12/site-packages/aiohttp/web_app.pyÚ_build_middlewaresrF   J   sR   € ð ‘D�b�D‰zò KˆØ×-Ñ-ò 	K‰DˆAˆqÜ$¤W¨Q¸Ô%@À'ÓJ‰Gñ	KðKð €Nó    i   )Úmaxsizec                   óP  ‡ — e Zd Z eg d¢«      Zedddddddœdej                  dedz  d	e	e
   d
eeef   dz  dedej                   dz  deddfd„Zded    ddfd„Zerdededdfˆ fd„Zdedefd„Zedee   defd„«       Zededefd„«       Zdeee   z  defd„ZdWd„Zedee   deddfd„«       Zedededdfd„«       Zdeee   z  deddfd„Zdeee   z  ddfd „Zdefd!„Z de!eee   z     fd"„Z"defd#„Z#edXdee   d$ddedz  fd%„«       Z$edee   d$e%dee%z  fd&„«       Z$edXded$edefd'„«       Z$dYdeee   z  d$edefd(„Z$e&dej                   fd)„«       Z'dej                   dz  ddfd*„Z(e&defd+„«       Z)dWd,„Z*e&defd-„«       Z+dWd.„Z,e&defd/„«       Z-dZd1„Z.d2ed0d de/fd3„Z0d4e1g e2f   d0d de2fd5„Z3d6ed0d de4fd7„Z5d8e	e6   de7e8   fd9„Z9e&de:fd:„«       Z;e&de<fd;„«       Z=e&de<fd<„«       Z>e&de<fd=„«       Z?e&d[d>„«       Z@e&defd?„«       ZAe&deBfd@„«       ZCdeDdAœdej                   dz  dBeeE   dCedeFfdD„ZGdeDdAœdej                   dz  dBeeE   dCedeFfdE„ZHdWdF„ZIdWdG„ZJdWdH„ZKeLfdIeMdJeNdKeOdLePdMdNdOeeL   deLfdP„ZQde!eRe
ef      fdQ„ZSdReLdeTfdS„ZUd\dT„ZVdefdU„ZWdefdV„ZXˆ xZYS )]r5   )ÚloggerÚ_debugÚ_routerÚ_loopÚ_handler_argsÚ_middlewaresrA   Ú_has_legacy_middlewaresÚ_run_middlewaresÚ_stateÚ_frozenÚ_pre_frozenÚ_subappsÚ_on_response_prepareÚ_on_startupÚ_on_shutdownÚ_on_cleanupÚ_client_max_sizeÚ_cleanup_ctxN© i   .)rJ   ÚrouterÚmiddlewaresÚhandler_argsÚclient_max_sizeÚloopÚdebugrJ   r]   r^   r_   r`   ra   rb   r=   c                ó0  — |€t        «       }nt        j                  dt        d¬«       t	        |t
        «      sJ |«       ‚|�t        j                  dt        d¬«       |durt        j                  dt        d¬«       || _        || _        || _        || _	        || _
        t        |«      | _        d | _        d | _        d| _        i | _        d| _        d| _        g | _        t)        | «      | _        t)        | «      | _        t)        | «      | _        t)        | «      | _        t3        «       | _        | j,                  j7                  | j4                  j,                  «       | j0                  j7                  | j4                  j0                  «       || _        y )	Nzrouter argument is deprecatedé   ©Ú
stacklevelzloop argument is deprecated.zdebug argument is deprecatedTF)r4   ÚwarningsÚwarnÚDeprecationWarningÚ
isinstancer   rK   rL   rM   rN   rJ   r   rO   rA   rQ   rP   rR   rS   rT   rU   r   rV   rW   rX   rY   ÚCleanupContextr[   ÚappendrZ   )ÚselfrJ   r]   r^   r_   r`   ra   rb   s           rE   Ú__init__zApplication.__init__p   sb  € ð ˆ>Ü"“_‰Fä�M‰MØ/Ô1CÐPQõô ˜&¤.Ô1Ð9°6Ó9Ð1àÐÜ�M‰MØ-Ô/AÈaõð ˜ÑÜ�M‰MØ.Ô0BÈqõð ˆŒØ&,ˆŒØˆŒ
Ø)ˆÔØˆŒä*4°[Ó*AˆÔð <@ˆÔ"à-1ˆÔØ-1ˆÔ$à79ˆŒØˆŒØ ˆÔØ"$ˆŒä8>¸t»ˆÔ!Ü'-¨d£|ˆÔÜ(.¨t«ˆÔÜ'-¨d£|ˆÔÜ*Ó,ˆÔØ×Ñ×Ñ × 1Ñ 1× =Ñ =Ô>Ø×Ñ×Ñ × 1Ñ 1× =Ñ =Ô>Ø /ˆÕrG   Úclsc                 óX   — t        j                  d| j                  › d�t        d¬«       y )NzInheritance class z$ from web.Application is discouragedé   re   )rg   rh   Ú__name__ri   )ro   s    rE   Ú__init_subclass__zApplication.__init_subclass__¨   s%   € Ü�‰Ø  §¡ Ð.RÐSÜØö	
rG   ÚnameÚvalc                 ó‚   •— || j                   vr t        j                  d|› d�t        d¬«       t        ‰| �  ||«       y )NzSetting custom web.Application.z attribute is discouragedrd   re   )ÚATTRSrg   rh   ri   ÚsuperÚ__setattr__)rm   rt   ru   Ú	__class__s      €rE   ry   zApplication.__setattr__±   sC   ø€ Ø˜4Ÿ:™:Ñ%Ü—‘Ø5°d°Vð <%ð %ä&Ø õ	ô ‰GÑ  cÕ*rG   Úotherc                 ó
   — | |u S ©Nr\   )rm   r{   s     rE   Ú__eq__zApplication.__eq__½   s   € Ø�uˆ}ÐrG   Úkeyc                  ó   — y r}   r\   ©rm   r   s     rE   Ú__getitem__zApplication.__getitem__À   s   € Ø25rG   c                  ó   — y r}   r\   r�   s     rE   r‚   zApplication.__getitem__Ã   s   € Ø,/rG   c                 ó    — | j                   |   S r}   )rR   r�   s     rE   r‚   zApplication.__getitem__Æ   s   € Ø�{‰{˜3ÑÐrG   c                 óV   — | j                   rt        j                  dt        d¬«       y y )Nz=Changing state of started or joined application is deprecatedrq   re   )rS   rg   rh   ri   ©rm   s    rE   Ú_check_frozenzApplication._check_frozenÉ   s#   € Ø�<Š<Ü�M‰MØOÜ"Øöð rG   Úvaluec                  ó   — y r}   r\   ©rm   r   rˆ   s      rE   Ú__setitem__zApplication.__setitem__Ñ   s   € Ø?BrG   c                  ó   — y r}   r\   rŠ   s      rE   r‹   zApplication.__setitem__Ô   s   € Ø9<rG   c                 óš   — | j                  «        t        |t        «      st        j                  dt
        d¬«       || j                  |<   y )Nz�It is recommended to use web.AppKey instances for keys.
https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-configrd   )Úcategoryrf   )r‡   rj   r   rg   rh   r%   rR   rŠ   s      rE   r‹   zApplication.__setitem__×   sA   € Ø×ÑÔÜ˜#œvÔ&Ü�M‰Mð*ô *Øõð !ˆ�‰�CÒrG   c                 ó>   — | j                  «        | j                  |= y r}   )r‡   rR   r�   s     rE   Ú__delitem__zApplication.__delitem__ã   s   € Ø×ÑÔØ�K‰K˜ÑrG   c                 ó,   — t        | j                  «      S r}   )ÚlenrR   r†   s    rE   Ú__len__zApplication.__len__ç   s   € Ü�4—;‘;ÓÐrG   c                 ó,   — t        | j                  «      S r}   )ÚiterrR   r†   s    rE   Ú__iter__zApplication.__iter__ê   s   € Ü�D—K‘KÓ Ð rG   c                 ó   — t        | «      S r}   ©Úidr†   s    rE   Ú__hash__zApplication.__hash__í   s   € Ü�$‹xˆrG   Údefaultc                  ó   — y r}   r\   ©rm   r   r›   s      rE   ÚgetzApplication.getð   s   € ØFIrG   c                  ó   — y r}   r\   r�   s      rE   rž   zApplication.getó   s   € Ø<?rG   c                  ó   — y r}   r\   r�   s      rE   rž   zApplication.getö   s   € Ø8;rG   c                 ó:   — | j                   j                  ||«      S r}   )rR   rž   r�   s      rE   rž   zApplication.getù   s   € Ø�{‰{�‰˜s GÓ,Ð,rG   c                 ó‚   — t        j                  dt        d¬«       t        t        j
                  | j                  «      S )Nzloop property is deprecatedrd   re   )rg   rh   ri   r   ÚasyncioÚAbstractEventLooprM   r†   s    rE   ra   zApplication.loopý   s.   € ô
 	�‰Ð3Ô5GÐTUÕVÜ”G×-Ñ-¨t¯z©zÓ:Ð:rG   c                 ó  — |€t        j                  «       }| j                  �| j                  |urt        d«      ‚|| _        | j                  du r|j                  «       | _        | j                  D ]  }|j                  |«       Œ y )Nz8web.Application instance initialized with different loop.)r£   Úget_event_looprM   ÚRuntimeErrorrK   Ú	get_debugrU   Ú	_set_loop)rm   ra   Úsubapps      rE   r©   zApplication._set_loop  s‚   € Øˆ<Ü×)Ñ)Ó+ˆDØ�:‰:Ð! d§j¡j¸Ñ&<ÜØJóð ð ˆŒ
ð �;‰;˜#ÑØŸ.™.Ó*ˆDŒKð —m‘mò 	#ˆFØ×Ñ˜TÕ"ñ	#rG   c                 ó   — | j                   S r}   )rT   r†   s    rE   Ú
pre_frozenzApplication.pre_frozen  ó   € à×ÑÐrG   c                 óÀ  — | j                   ry d| _         | j                  j                  «        | j                  j                  «        | j                  j                  «        | j
                  j                  «        | j                  j                  «        | j                  j                  «        | j                  j                  «        t        | j                  «       «      | _        t        d„ | j                  D «       «      | _        | j                  rdnd| _        | j                   D ]1  }|j#                  «        | j                  xs |j                  | _        Œ3 y )NTc              3   ó(   K  — | ]
  \  }}| –— Œ y ­wr}   r\   )Ú.0rD   Ú	new_styles      rE   ú	<genexpr>z)Application.pre_freeze.<locals>.<genexpr>(  s   è ø€ ò +
Ù*˜a �	ŒMñ+
ùs   ‚F)rT   rO   ÚfreezerL   rV   r[   rW   rX   rY   ÚtupleÚ_prepare_middlewarerA   ÚanyrP   r^   rQ   rU   Ú
pre_freeze©rm   rª   s     rE   r·   zApplication.pre_freeze  s  € Ø×ÒØàˆÔØ×Ñ× Ñ Ô"Ø�‰×ÑÔØ×!Ñ!×(Ñ(Ô*Ø×Ñ× Ñ Ô"Ø×Ñ×ÑÔ!Ø×Ñ× Ñ Ô"Ø×Ñ×ÑÔ!Ü%*¨4×+CÑ+CÓ+EÓ%FˆÔ"Ü'*ñ +
Ø.2×.HÑ.Hô+
ó (
ˆÔ$ð )-×(8Ò(8¡¸eˆÔà—m‘mò 	UˆFØ×ÑÔØ$(×$9Ñ$9Ò$T¸V×=TÑ=TˆDÕ!ñ	UrG   c                 ó   — | j                   S r}   )rS   r†   s    rE   ÚfrozenzApplication.frozen7  ó   € à�|‰|ÐrG   c                 óŽ   — | j                   ry | j                  «        d| _         | j                  D ]  }|j                  «        Œ y ©NT)rS   r·   rU   r³   r¸   s     rE   r³   zApplication.freeze;  s9   € Ø�<Š<Øà�‰ÔØˆŒØ—m‘mò 	ˆFØ�M‰M�Oñ	rG   c                 óR   — t        j                  dt        d¬«       | j                  S )Nzdebug property is deprecatedrd   re   )rg   rh   ri   rK   r†   s    rE   rb   zApplication.debugD  s   € ä�‰Ð4Ô6HÐUVÕWØ�{‰{ÐrG   rª   c                 óV   ‡ ‡— dt         dd fˆ ˆfd„} |d«        |d«        |d«       y )NÚsignamer=   c                 óh   •‡— t        ‰| «      Šdˆˆfd„}t        ‰| «      }|j                  |«       y )Nc              “   óD   •K  — ‰j                  ‰«      ƒ d {  –—†  y 7 Œ­wr}   )Úsend)rB   rª   Úsubsigs    €€rE   r;   zEApplication._reg_subapp_signals.<locals>.reg_handler.<locals>.handlerM  s   øè ø€ Ø—k‘k &Ó)×)Ò)ús   ƒ ˜™ )rB   r5   r=   N)Úgetattrrl   )rÀ   r;   ÚappsigrÄ   rm   rª   s      @€€rE   Úreg_handlerz4Application._reg_subapp_signals.<locals>.reg_handlerJ  s.   ù€ Ü˜V WÓ-ˆFö*ô ˜T 7Ó+ˆFØ�M‰M˜'Õ"rG   Ú
on_startupÚon_shutdownÚ
on_cleanup)Ústr)rm   rª   rÇ   s   `` rE   Ú_reg_subapp_signalszApplication._reg_subapp_signalsI  s0   ù€ ð	#¤ð 	#¨ö 	#ñ 	�LÔ!Ù�MÔ"Ù�LÕ!rG   Úprefixc                 óº   — t        |t        «      st        d«      ‚|j                  d«      }|st	        d«      ‚t        t        ||«      }| j                  ||«      S )NzPrefix must be strú/zPrefix cannot be empty)rj   rË   Ú	TypeErrorÚrstripÚ
ValueErrorr   r2   Ú_add_subapp)rm   rÍ   rª   Úfactorys       rE   Ú
add_subappzApplication.add_subappW  sW   € Ü˜&¤#Ô&ÜÐ0Ó1Ð1Ø—‘˜sÓ#ˆÙÜÐ5Ó6Ð6ÜÔ0°&¸&ÓAˆØ×Ñ ¨Ó0Ð0rG   Úresource_factoryc                 ól  — | j                   rt        d«      ‚|j                   rt        d«      ‚ |«       }| j                  j                  |«       | j	                  |«       | j
                  j                  |«       |j                  «        | j                  �|j                  | j                  «       |S )Nz0Cannot add sub application to frozen applicationzCannot add frozen application)
rº   r§   r]   Úregister_resourcerÌ   rU   rl   r·   rM   r©   )rm   rÖ   rª   Úresources       rE   rÓ   zApplication._add_subapp`  s‘   € ð �;Š;ÜÐQÓRÐRØ�=Š=ÜÐ>Ó?Ð?Ù#Ó%ˆØ�‰×%Ñ% hÔ/Ø× Ñ  Ô(Ø�‰×Ñ˜VÔ$Ø×ÑÔØ�:‰:Ð!Ø×Ñ˜TŸZ™ZÔ(ØˆrG   Údomainc                 ó´   — t        |t        «      st        d«      ‚d|v rt        |«      }nt	        |«      }t        t        ||«      }| j                  ||«      S )NzDomain must be strÚ*)rj   rË   rÐ   r0   r/   r   r1   rÓ   )rm   rÚ   rª   ÚrulerÔ   s        rE   Ú
add_domainzApplication.add_domainp  sT   € Ü˜&¤#Ô&ÜÐ0Ó1Ð1Ø�F‰]Ü% fÓ-‰Dä˜&“>ˆDÜÔ/°°vÓ>ˆØ×Ñ ¨Ó0Ð0rG   Úroutesc                 ó8   — | j                   j                  |«      S r}   )r]   Ú
add_routes)rm   rß   s     rE   rá   zApplication.add_routesz  s   € Ø�{‰{×%Ñ% fÓ-Ð-rG   c                 ó   — | j                   S r}   )rV   r†   s    rE   Úon_response_preparezApplication.on_response_prepare}  s   € à×(Ñ(Ð(rG   c                 ó   — | j                   S r}   )rW   r†   s    rE   rÈ   zApplication.on_startup�  r­   rG   c                 ó   — | j                   S r}   )rX   r†   s    rE   rÉ   zApplication.on_shutdown…  ó   € à× Ñ Ð rG   c                 ó   — | j                   S r}   )rY   r†   s    rE   rÊ   zApplication.on_cleanup‰  r­   rG   c                 ó   — | j                   S r}   )r[   r†   s    rE   Úcleanup_ctxzApplication.cleanup_ctx�  ræ   rG   c                 ó   — | j                   S r}   )rL   r†   s    rE   r]   zApplication.router‘  r»   rG   c                 ó   — | j                   S r}   )rO   r†   s    rE   r^   zApplication.middlewares•  ræ   rG   ©ra   Úaccess_log_classrí   Úkwargsc                óh  — t        |t        «      st        d|› �«      ‚| j                  |«       | j	                  «        | j
                  |d<   ||d<   | j                  r'| j                  j                  «       D ]
  \  }}|||<   Œ t        | j                  f| j                  | j                  dœ|¤ŽS )NzKaccess_log_class must be subclass of aiohttp.abc.AbstractAccessLogger, got rb   rí   )Úrequest_factoryra   )Ú
issubclassr   rÐ   r©   r³   rK   rN   Úitemsr,   Ú_handleÚ_make_requestrM   )rm   ra   rí   rî   ÚkÚvs         rE   Ú_make_handlerzApplication._make_handler™  sÆ   € ô Ð*Ô,@ÔAÜð9Ø9IÐ8JðLóð ð
 	�‰�tÔØ�‰ŒàŸ+™+ˆˆw‰Ø%5ˆÐ!Ñ"Ø×ÒØ×*Ñ*×0Ñ0Ó2ò ‘��1Ø��q’	ðô Ø�L‰Lð
à ×.Ñ.Ø—‘ñ
ð ñ	
ð 	
rG   c                ód   — t        j                  dt        d¬«        | j                  d||dœ|¤ŽS )NzFApplication.make_handler(...) is deprecated, use AppRunner API insteadrd   re   rì   r\   )rg   rh   ri   r÷   )rm   ra   rí   rî   s       rE   Úmake_handlerzApplication.make_handler·  sC   € ô 	�‰ØTÜØõ	
ð "ˆt×!Ñ!ð 
ØÐ(8ñ
Ø<Bñ
ð 	
rG   c              ƒ   óV   K  — | j                   j                  | «      ƒ d{  –—†  y7 Œ­w)zmCauses on_startup signal

        Should be called in the event loop along with the request handler.
        N)rÈ   rÃ   r†   s    rE   ÚstartupzApplication.startupÉ  s    è ø€ ð
 �o‰o×"Ñ" 4Ó(×(Ò(úó   ‚)¡'¢)c              ƒ   óV   K  — | j                   j                  | «      ƒ d{  –—†  y7 Œ­w)zMCauses on_shutdown signal

        Should be called before cleanup()
        N)rÉ   rÃ   r†   s    rE   ÚshutdownzApplication.shutdownÐ  s"   è ø€ ð
 ×Ñ×#Ñ# DÓ)×)Ò)úrü   c              ƒ   óÎ   K  — | j                   j                  r$| j                   j                  | «      ƒ d{  –—†  y| j                  j	                  | «      ƒ d{  –—†  y7 Œ)7 Œ­w)zLCauses on_cleanup signal

        Should be called after shutdown()
        N)rÊ   rº   rÃ   r[   rY   r†   s    rE   ÚcleanupzApplication.cleanup×  sT   è ø€ ð
 �?‰?×!Ò!Ø—/‘/×&Ñ& tÓ,×,Ñ,ð ×#Ñ#×/Ñ/°Ó5×5Ñ5ð -øð 6ús!   ‚5A%·A!¸#A%ÁA#ÁA%Á#A%ÚmessageÚpayloadÚprotocolÚwriterÚtaskzasyncio.Task[None]Ú_clsc           	      óp   — t         r| j                  €J ‚ ||||||| j                  | j                  ¬«      S )N)r`   )r   rM   rZ   )rm   r  r  r  r  r  r  s          rE   rô   zApplication._make_requestâ  sC   € õ Ø—:‘:Ð)Ð)Ð)ÙØØØØØØ�J‰JØ ×1Ñ1ô
ð 	
rG   c              #   óØ   K  — t        | j                  «      D ]?  }t        |dd «      dk(  r|df–— Œt        j                  d|›d�t
        d¬«       |df–— ŒA t        | «      df–— y ­w)	NÚ__middleware_version__r   Tzold-style middleware "z" deprecated, see #2252rd   re   F)ÚreversedrO   rÅ   rg   rh   ri   r'   )rm   rC   s     rE   rµ   zApplication._prepare_middleware÷  sw   è ø€ Ü˜$×+Ñ+Ó,ò 		ˆAÜ�qÐ2°DÓ9¸QÒ>Ø˜�g“ä—‘Ø,¨Q¨EÐ1HÐIÜ&Ø õð
 ˜�h“ð		ô ' tÓ,¨dÐ2Ó2ùs   ‚A(A*Úrequestc              ƒ   ó„  K  — t        j                  «       }|j                  «       }| j                  j	                  |«      ƒ d {  –—† }|rt        |t        «      st        d|›�«      ‚|j                  | «       |j                  «        ||_
        |j                  j                  t        j                  «      r?|j                  |«      ƒ d {  –—† }|j                   j#                  «       ƒ d {  –—†  |�|S |j$                  }| j&                  r“| j(                  s1t        |j*                  t,        «      st/        ||j0                  «      }nV|j0                  d d d…   D ]A  }|j2                  D ]0  \  }}	|	rt5        t7        ||¬«      |«      }Œ  |||«      ƒ d {  –—† }Œ2 ŒC  ||«      ƒ d {  –—† S 7 �Œp7 Œè7 ŒÈ7 Œ7 Œ­w)Nz5match_info should be AbstractMatchInfo instance, not r?   r@   )r£   r¦   r¨   rL   Úresolverj   r   rÐ   Úadd_appr³   Ú_match_infoÚheadersrž   r   ÚEXPECTÚexpect_handlerr  Údrainr;   rQ   rP   Úrouter3   Ú_cached_build_middlewarer<   rA   r   r   )
rm   r  ra   rb   Ú
match_infoÚrespr;   rB   rC   r±   s
             rE   ró   zApplication._handle  sš  è ø€ Ü×%Ñ%Ó'ˆØ—‘Ó ˆØŸ<™<×/Ñ/°Ó8×8ˆ
ÙÜ˜jÔ*;Ô<Üð%Ø%/ Nð4óð ð 	×Ñ˜4Ô à×ÑÔà(ˆÔà�?‰?×ÑœtŸ{™{Ô+Ø#×2Ñ2°7Ó;×;ˆDØ—.‘.×&Ñ&Ó(×(Ð(ØÐØ�à×$Ñ$ˆà× Ò ð ×/Ò/¼
Ø× Ñ ¤+ô9ô 3°7¸J¿O¹OÓL‘à%Ÿ?™?©4¨R¨4Ñ0ò <�CØ(+×(AÑ(Aò <™˜˜9Ù$Ü&4Ü '¨°7Ô ;¸Wó'™Gñ -.¨c°7«O×&;™Gñ<ð<ñ ˜WÓ%×%Ð%ðO 9ùð <øØ(øð, '<øà%ús\   ‚AG ÁF5ÁB	G ÃF8Ã!G Ã1F:Ã2B*G ÆF<ÆG Æ0F>Æ1G Æ8G Æ:G Æ<G Æ>G c                 ó   — | S )zgunicorn compatibilityr\   r†   s    rE   Ú__call__zApplication.__call__1  s   € àˆrG   c                 ó"   — dt        | «      d›d�S )Nz<Application 0xÚxú>r˜   r†   s    rE   Ú__repr__zApplication.__repr__5  s   € Ø ¤ D£¨! ¨AÐ.Ð.rG   c                  ó   — yr½   r\   r†   s    rE   Ú__bool__zApplication.__bool__8  s   € ØrG   ©r=   N).r}   )rª   r5   r=   N)r=   rk   )r=   r5   )Zrr   Ú
__module__Ú__qualname__Ú	frozensetrw   r!   ÚloggingÚLoggerr4   r   r$   r   rË   r   Úintr£   r¤   rn   Útypers   r   ry   ÚobjectÚboolr~   r   r   r7   r‚   r‡   r‹   r�   r“   r   r–   rš   rž   r8   Úpropertyra   r©   r¬   r·   rº   r³   rb   rÌ   r2   rÕ   r   r9   rÓ   r1   rÞ   r+   Úlistr.   rá   Ú_RespPrepareSignalrã   Ú
_AppSignalrÈ   rÉ   rÊ   ré   r]   Ú_Middlewaresr^   r&   r   r,   r÷   rù   rû   rþ   r   r)   r    r"   r(   r   rô   r´   rµ   r*   ró   r  r  r  Ú__classcell__©rz   s   @rE   r5   r5   W   s�  ø„ Ùò	
ó€Eð6 ",Ø'+Ø,.Ø15Ø&Ø15Øò60ð —‘ð60ð  Ñ$ð	60ð
 ˜jÑ)ð60ð ˜c 3˜hÑ'¨$Ñ.ð60ð ð60ð ×'Ñ'¨$Ñ.ð60ð ð60ð 
ó60ðp
˜t MÑ2ð 
°tó 
ñ ð	+ Cð 	+¨cð 	+°dõ 	+ð˜Fð  tó ð Ø5˜v b™zÐ5¨bÒ5ó Ø5àØ/˜sÐ/ sÒ/ó Ø/ð ˜s V¨B¡ZÑ/ð  °Có  óð ØB˜v b™zÐB°"ÐB¸ÒBó ØBàØ<˜sÐ<¨3Ð<°4Ò<ó Ø<ð
!˜s V¨B¡ZÑ/ð 
!¸ð 
!Àó 
!ð˜s V¨B¡ZÑ/ð °Dó ð ˜ó  ð!˜( 3¨°©Ñ#4Ñ5ó !ð˜#ó ð ÙI�v˜b‘zÐI¨DÐI¸2À¹9ÒIó ØIàØ?�v˜b‘zÐ?¨BÐ?°2¸±7Ò?ó Ø?àÙ;�sÐ; SÐ;°3Ò;ó Ø;ñ-�s˜V B™ZÑ'ð -°#ð -Àó -ð ð;�g×/Ñ/ò ;ó ð;ð#˜g×7Ñ7¸$Ñ>ð #À4ó #ð$ ð ˜Dò  ó ð óUð8 ð˜ò ó ðóð ð�tò ó ðó"ð1 ð 1¨mð 1Ð@Vó 1ðØ (¨¨Y¨Ñ 7ðØANðà	óð 1 ð 1¨mð 1Ð@Uó 1ð. Ð*:Ñ!;ð .ÀÀ]Ñ@Só .ð ð)Ð%7ò )ó ð)ð ð ˜Jò  ó ð ð ð!˜Zò !ó ð!ð ð ˜Jò  ó ð ð ò!ó ð!ð ð˜ò ó ðð ð!˜\ò !ó ð!ð 26Ø7Cò	
ð ×'Ñ'¨$Ñ.ð
ð Ð3Ñ4ð	
ð
 ð
ð 
ó
ðB 26Ø7Cò	
ð ×'Ñ'¨$Ñ.ð
ð Ð3Ñ4ð	
ð
 ð
ð 
ó
ó$)ó*ó	6ð$ &ñ
à"ð
ð ð
ð !ð	
ð
 %ð
ð #ð
ð �7‰mð
ð 
ó
ð*3 X¨e°JÀÐ4DÑ.EÑ%Fó 3ð*& Wð *&°ó *&óXð/˜#ó /ð˜$÷ rG   c                   ó(   — e Zd Zedee   fd„«       Zy)r6   r=   c                 óJ   — t        t        t           | j                  d   «      S )Nr   )r   r+  ÚBaseExceptionÚargsr†   s    rE   Ú
exceptionszCleanupError.exceptions=  s   € ä”DœÑ'¨¯©°1©Ó6Ð6rG   N)rr   r!  r"  r*  r+  r3  r5  r\   rG   rE   r6   r6   <  s    „ Øð7˜D Ñ/ò 7ó ñ7rG   r6   c                   ó@   ‡ — e Zd Zdˆ fd„Zdeddfd„Zdeddfd„Zˆ xZS )rk   r=   Nc                 ó0   •— t         ‰| �  «        g | _        y r}   )rx   rn   Ú_exits)rm   rz   s    €rE   rn   zCleanupContext.__init__I  s   ø€ Ü‰ÑÔØ?Aˆ�rG   rB   c              ƒ   óÖ   K  — | D ]^  } ||«      }t        |t        «      s t        |«      |«      }|j                  «       ƒ d {  –—†  | j                  j                  |«       Œ` y 7 Œ"­wr}   )rj   r   r   Ú
__aenter__r8  rl   )rm   rB   ÚcbÚctxs       rE   rW   zCleanupContext._on_startupM  sb   è ø€ Øò 	$ˆBÙ�S“'ˆCä˜cÔ#>Ô?Ø-Ô)¨"Ó-¨cÓ2�à—.‘.Ó"×"Ð"Ø�K‰K×Ñ˜sÕ#ñ	$ð #ús   ‚AA)ÁA'Á#A)c              ƒ   ó0  K  — g }t        | j                  «      D ]  }	 |j                  d d d «      ƒ d {  –—†  Œ  |rt        |«      dk(  r|d   ‚t        d|«      ‚y 7 Œ(# t        t        j
                  f$ r}|j                  |«       Y d }~Œtd }~ww xY w­w)Nr   r   z Multiple errors on cleanup stage)	r
  r8  Ú	__aexit__Ú	Exceptionr£   ÚCancelledErrorrl   r’   r6   )rm   rB   ÚerrorsÚitÚexcs        rE   rY   zCleanupContext._on_cleanupW  s™   è ø€ ØˆÜ˜4Ÿ;™;Ó'ò 	#ˆBð#Ø—l‘l 4¨¨tÓ4×4Ñ4ð	#ñ
 Ü�6‹{˜aÒØ˜Q‘i�ä"Ð#EÀvÓNÐNð	 ð 5ùÜœw×5Ñ5Ð6ò #Ø—‘˜c×"Ñ"ûð#üs=   ‚BžA´AµA¹$BÁAÁBÁ8BÂ	BÂBÂBr   )rr   r!  r"  rn   r5   rW   rY   r/  r0  s   @rE   rk   rk   H  s2   ø„ õBð$ [ð $°Tó $ðO [ð O°T÷ OrG   rk   )^r£   r$  rg   Úcollections.abcr   r   r   r   r   r   r	   r
   Ú
contextlibr   r   Ú	functoolsr   r   r   Útypingr   r   r   r   r   r   Ú	aiosignalr   Ú
frozenlistr   Ú r   Úabcr   r   r   r   Úhelpersr   r   Úhttp_parserr    Úlogr!   Ústreamsr"   Útypedefsr#   r$   Úweb_exceptionsr%   Úweb_logr&   Úweb_middlewaresr'   Úweb_protocolr(   Úweb_requestr)   Úweb_responser*   Úweb_routedefr+   Ú
web_serverr,   Úweb_urldispatcherr-   r.   r/   r0   r1   r2   r3   r4   Ú__all__r-  r,  r.  r´   r)  Ú_MiddlewaresHandlersr+  Ú_Subappsr7   r8   r9   rF   r  rË   r5   r§   r6   Ú_CleanupContextCallablerk   r\   rG   rE   ú<module>r^     sÏ  ðÛ Û Û ÷	÷ 	ó 	÷ Hß 8Ñ 8ß H× Hå Ý !å ÷ó ÷ #Ý *Ý Ý !ß )Ý ,Ý !Ý 5Ý (Ý  Ý (Ý *Ý ÷	÷ 	ó 	ð *€ñ Ø˜Ñ&€JØ ¨Ð 7Ñ8ÐØ˜jÑ)€LØ# H¨U°:¸tÐ3CÑ-DÑ$EÑFÐØ�MÑ"�Hð €JØÐØ€LØ# HÑ-ÐØ€HáˆTƒ]€ÙˆTƒ]€Ù�KÐ'7Ô8€	ðØðØ!Ð"4Ñ5ðàˆwˆi˜ >Ñ2Ð2Ñ3óð 3™9¨TÔ2Ð3EÓFÐ ôb�.  v¨c¡{Ñ!2°CÐ!7Ñ8ô bôJ7�<ô 7ð ˆkˆ]Ð7¸Ñ=Ð=Ñ>Ø�ˆ}˜m¨DÑ1Ð1Ñ2ñ3ð ôO�ZÐ 7Ñ8õ OrG   