§
    ­	ÊjQõ ã            =       ó  — U d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	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mZ d dl mZmZmZmZ d dlmZ d dlmZmZ d dl m!Z!m"Z" d dl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*Z*d dl+m,Z, d d	l-m.Z. d d
l/m0Z0 d dl1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z< d dl=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZF d dlGmHZH d dlImJZJmKZKmLZLmMZMmNZN d dlOmPZPmQZQmRZRmSZSmTZT d dlUmVZVmWZWmXZXmYZYmZZZ d dl[m\Z\m]Z] d dl^m_Z_m`Z`maZambZb d dlcmdZd d dlemfZf d dlgmhZhmiZi d dljmkZkmlZl d dlmmnZnmoZompZp d dlqmrZr d dlsmtZt d dlumvZvmwZwmxZxmyZymzZz d dl{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…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠ d d!l‹mŒZŒ d d"l�mŽZŽ d#eetgeey         eyz  f         d$e†fd%„Z�d#eeŒged         f         d$e†fd&„Z� e(d'¦  «        Z‘ G d(„ d)ee‘         ¦  «        Z’d*ee%gee%e%e%f         f         d$ee%gee%         f         fd+„Z“d,e‡e%         d-e‡e%         d$e‡e%         fd.„Z” G d/„ d0¦  «        Z•i Z–e—e˜eJf         e™d1<   d#e%d$eJfd2„Zšdddd3d4d4d4d3dd4d5œ
d6e2dz  d7e%d8e]dz  d9e]dz  d:e›d;e›d<e›d=e›d>e›d?eJdz  d@e›d$e%fdA„ZœdBe9dCe—e�e%f         d>e›d$e%fdD„ZždEe˜dz  dFe%d$e—e�e%f         fdG„ZŸdd e6ev¦  «        dddd3d4d4d4dd4 e6d3¦  «        dd4fdBe9dHe2dz  dEe˜dz  dIe ey         e7z  dJe2dz  dKe]dz  dLe]dz  dMe›dNe›dOe›dPe›dQe%dz  dRe›dSe›e7z  dTe2dz  dUe›d$eetgee%e%eyf         f         f"dV„Z¡	 	 d­dBe9dQe%dz  dRe›d$eeŒgee%e%e%f         f         fdW„Z¢ G dX„ dYedj£        ¦  «        Z¤dZZ¥d[Z¦d\Z§d]Z¨d^Z© ed_d¬`¦  «        Zªee%dz           e™da<    e«¦   «         Z¬d®db„Z­dce�ddedee%f         dfee0j®                 d$e¯e9e°e2         e›f         fdg„Z± G dh„ die'¦  «        Z²dje‰d$e—e�e%f         fdk„Z³dje‰dle‰d$dfdm„Z´dje‰d$e%dz  fdn„Zµdje‰d$e%dz  fdo„Z¶dje‰d$e˜dz  fdp„Z·dje‰dqe�dre%d$dfds„Z¸ G dt„ due'¦  «        Z¹ e6d¦  «        ddddddvdddddddd3d4d4d4d3 e6ev¦  «        ddd e6e`¦  «         e6d3¦  «        ddwœdxe¹dce�dyedee%f         dze%dEe˜dz  d{e°e�e!z           dz  dfee0j®                 dz  d|e�dz  d}e�dz  d~e�de—e˜e�z  e—e�e%f         f         dz  d€e›dz  d�e�dz  d‚eºe�         e°e�         z  dz  dƒe�dz  dKe]dz  dLe]dz  dMe›dNe›dOe›dPe›d„e›dIe ey         e7z  dQe%dz  d…e°e|         dz  d†e—e�e%f         dz  d‡ee%ge�f         e7z  dSe›e7z  dˆe%dz  d$df<d‰„Z» G dŠ„ d‹edj¼        ¦  «        Z½e G dŒ„ d�¦  «        ¦   «         Z¾e G dŽ„ d�¦  «        ¦   «         Z¿ ed3¬�¦  «         G d‘„ d’¦  «        ¦   «         ZÀe G d“„ d”e|¦  «        ¦   «         ZÁd•ee|         d$ee|         fd–„ZÂd•ee|eÀz           d$eeÀ         fd—„ZÃd•ee|         d$ee¯e|e¿dz  f                  fd˜„ZÄdce�d$e�fd™„ZÅdše�dce�d$e�fd›„ZÆdce�d$e˜fdœ„ZÇdce�ejÈ        e�         z  d$e�fd�„ZÉdže�ejÈ        e�         z  dŸe›e&d          z  d$e›fd¡„ZÊ G d¢„ d£eƒ¦  «        ZËd¤e�d$ee¯e�eÌf                  fd¥„ZÍdje‰d$e›fd¦„ZÎ G d§„ d¨e|¦  «        ZÏ G d©„ dªe|¦  «        ZÐ G d«„ d¬edjÑ        ¦  «        ZÒdS )¯é    N)	ÚAsyncIteratorÚ	AwaitableÚCallableÚ
CollectionÚ	CoroutineÚ	GeneratorÚIteratorÚMappingÚSequence)ÚAbstractAsyncContextManagerÚAbstractContextManagerÚAsyncExitStackÚasynccontextmanager)Ú
ContextVar)Ú	dataclassÚfield)ÚEnumÚIntEnum)Ú	AnnotatedÚAnyÚLiteralÚProtocolÚTypeVarÚcast)ÚDoc)ÚObjectReceiveStream)Úparams)Ú
ModelFieldÚ	UndefinedÚlenient_issubclass)ÚDefaultÚDefaultPlaceholder)Ú	DependantÚ_is_async_gen_callableÚ_is_coroutine_callableÚ_is_gen_callable)	ÚSolvedDependencyÚ_get_body_fieldÚ_get_flat_body_paramsÚ_should_embed_body_fieldsÚget_dependantÚget_parameterless_sub_dependantÚget_stream_item_typeÚget_typed_return_annotationÚsolve_dependencies)Újsonable_encoder)ÚEndpointContextÚFastAPIErrorÚRequestValidationErrorÚResponseValidationErrorÚWebSocketRequestValidationError)Ú_PING_INTERVALÚKEEPALIVE_COMMENTÚEventSourceResponseÚServerSentEventÚformat_sse_event)Ú
_operationÚ_route_selectedÚ_run_sync_endpointÚ_validation_failedÚget_telemetry_data)ÚDecoratedCallableÚIncEx)Úcreate_model_fieldÚgenerate_unique_idÚget_value_or_defaultÚis_body_allowed_for_status_code)Úrouting)Úwrap_app_handling_exceptions)Úget_route_pathÚis_async_callable)Úiterate_in_threadpoolÚrun_in_threadpool)ÚURLÚFormDataÚURLPath)ÚHTTPException)ÚRequest)ÚJSONResponseÚPlainTextResponseÚRedirectResponseÚResponseÚStreamingResponse)Ú	BaseRouteÚMatchÚNoMatchFoundÚcompile_pathÚget_name)ÚMount)ÚStaticFiles)ÚAppTypeÚASGIAppÚLifespanÚReceiveÚScopeÚSend©Ú	WebSocket)Ú
deprecatedÚfuncÚreturnc                 ó˜   ‡— t          | ¦  «        r| nt          j        t          | ¦  «        Šdt          dt
          dt          ddfˆfd„}|S )zi
    Takes a function or coroutine `func(request) -> response`,
    and returns an ASGI application.
    ÚscopeÚreceiveÚsendrg   Nc              “   ó®   •‡K  — t          | ||¦  «        Šdt          dt          dt          dd fˆˆfd„} t	          |‰¦  «        | ||¦  «        ƒ d {V —† d S )Nri   rj   rk   rg   c              “   ór  •K  — d}t          ¦   «         4 ƒd {V —†}|| d<   t          ¦   «         4 ƒd {V —†}|| d<    ‰‰¦  «        ƒ d {V —†}d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y    || ||¦  «        ƒ d {V —† d}d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |st          d¦  «        ‚d S )NFÚfastapi_inner_astackÚfastapi_function_astackTar  Response not awaited. There's a high chance that the application code is raising an exception and a dependency with yield has a block with a bare except, or a block with except Exception, and is not raising the exception again. Read more about it in the docs: https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-with-yield/#dependencies-with-yield-and-except)r   r2   )	ri   rj   rk   Úresponse_awaitedÚrequest_stackÚfunction_stackÚresponseÚfÚrequests	          €€ú?C:\Projects\Muse2API\.venv\Lib\site-packages\fastapi/routing.pyÚappz*request_response.<locals>.app.<locals>.app�   s  øè è € à$ÐÝ%Ñ'Ô'ð (ð (ð (ð (ð (ð (ð (¨=Ø0=�Ð,Ñ-Ý)Ñ+Ô+ð 0ð 0ð 0ð 0ð 0ð 0ð 0¨~Ø7E�EÐ3Ñ4Ø%& Q w¡Z¤ZÐ/Ð/Ð/Ð/Ð/Ð/�Hð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð �h˜u g¨tÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4à#'Ð ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð $ð Ý"ðKñô ð ðð s4   šB´AÁBÁ
A'	Á'BÁ*A'	Á+BÂ
BÂ"B)rP   ra   r`   rb   rG   )ri   rj   rk   rw   ru   rt   s       @€rv   rw   zrequest_response.<locals>.app�   s‘   øøè è € Ý˜% ¨$Ñ/Ô/ˆð	�Uð 	­Wð 	½Dð 	ÀTð 	ð 	ð 	ð 	ð 	ð 	ð 	ð* 9Õ*¨3°Ñ8Ô8¸ÀÈÑNÔNÐNÐNÐNÐNÐNÐNÐNÐNÐNó    )rI   Ú	functoolsÚpartialrK   ra   r`   rb   )rf   rw   rt   s     @rv   Úrequest_responser{   €   sz   ø€ õ ˜TÑ"Ô"ð	8ˆˆåÔÕ0°$Ñ7Ô7ð ðO�ð O­ð O½ð OÀð Oð Oð Oð Oð Oð Oð4 €Jrx   c                 óB   ‡ — dt           dt          dt          ddfˆ fd„}|S )zM
    Takes a coroutine `func(session)`, and returns an ASGI application.
    ri   rj   rk   rg   Nc              “   ó°   •‡K  — t          | ||¬¦  «        Šdt          dt          dt          dd fˆˆfd„} t	          |‰¦  «        | ||¦  «        ƒ d {V —† d S )N)rj   rk   ri   rj   rk   rg   c              “   ó$  •K  — t          ¦   «         4 ƒd {V —†}|| d<   t          ¦   «         4 ƒd {V —†}|| d<    ‰‰¦  «        ƒ d {V —† d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )Nrn   ro   )r   )ri   rj   rk   rq   rr   rf   Úsessions        €€rv   rw   z+websocket_session.<locals>.app.<locals>.app·   s¼  øè è € Ý%Ñ'Ô'ð (ð (ð (ð (ð (ð (ð (¨=Ø0=�Ð,Ñ-Ý)Ñ+Ô+ð (ð (ð (ð (ð (ð (ð (¨~Ø7E�EÐ3Ñ4Ø˜$˜w™-œ-Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s4   ˜A?²AÁ	A?Á
A%	Á%A?Á(A%	Á)A?Á?
B	ÂB	)rd   ra   r`   rb   rG   )ri   rj   rk   rw   r   rf   s       @€rv   rw   zwebsocket_session.<locals>.app´   s”   øøè è € Ý˜E¨7¸Ð>Ñ>Ô>ˆð	(�Uð 	(­Wð 	(½Dð 	(ÀTð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 9Õ*¨3°Ñ8Ô8¸ÀÈÑNÔNÐNÐNÐNÐNÐNÐNÐNÐNÐNrx   )ra   r`   rb   )rf   rw   s   ` rv   Úwebsocket_sessionr€   ¬   sN   ø€ ðO�ð O­ð O½ð OÀð Oð Oð Oð Oð Oð Oð €Jrx   Ú_Tc            	       ó€   — e Zd ZdZdee         ddfd„Zdefd„Zdee	         dz  de	dz  d	e
j        dz  dedz  fd
„ZdS )Ú_AsyncLiftContextManagerzˆ
    Wraps a synchronous context manager to make it async.

    This is vendored from Starlette to avoid importing private symbols.
    Úcmrg   Nc                 ó   — || _         d S ©N)Ú_cm)Úselfr„   s     rv   Ú__init__z!_AsyncLiftContextManager.__init__Ï   s   € ØˆŒˆˆrx   c              ƒ   ó8   K  — | j                              ¦   «         S r†   )r‡   Ú	__enter__©rˆ   s    rv   Ú
__aenter__z#_AsyncLiftContextManager.__aenter__Ò   s   è è € ØŒx×!Ò!Ñ#Ô#Ð#rx   Úexc_typeÚ	exc_valueÚ	tracebackc              ƒ   ó>   K  — | j                              |||¦  «        S r†   )r‡   Ú__exit__)rˆ   rŽ   r�   r�   s       rv   Ú	__aexit__z"_AsyncLiftContextManager.__aexit__Õ   s"   è è € ð Œx× Ò  ¨9°iÑ@Ô@Ð@rx   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r�   r‰   r�   ÚtypeÚBaseExceptionÚtypesÚTracebackTypeÚboolr“   © rx   rv   rƒ   rƒ   È   sÀ   € € € € € ðð ðÐ1°"Ô5ð ¸$ð ð ð ð ð$ "ð $ð $ð $ð $ðAà�}Ô%¨Ñ,ðAð ! 4Ñ'ðAð Ô&¨Ñ-ð	Að
 
�‰ðAð Að Að Að Að Arx   rƒ   Úlifespan_contextc                 ó¢   ‡— t          j        | ¦  «        Št          j        ‰¦  «        dt          dt
          t                   fˆfd„¦   «         }|S )z™
    Wrap a generator-based lifespan context into an async context manager.

    This is vendored from Starlette to avoid importing private symbols.
    rw   rg   c                 ó4   •— t           ‰| ¦  «        ¦  «        S r†   )rƒ   )rw   Úcmgrs    €rv   Úwrapperz+_wrap_gen_lifespan_context.<locals>.wrapperé   s   ø€ å'¨¨¨S©	¬	Ñ2Ô2Ð2rx   )Ú
contextlibÚcontextmanagerry   Úwrapsr   rƒ   )rž   r¢   r¡   s     @rv   Ú_wrap_gen_lifespan_contextr¦   ß   sd   ø€ õ Ô$Ð%5Ñ6Ô6€Då„_�TÑÔð3•Sð 3Õ5µcÔ:ð 3ð 3ð 3ð 3ð 3ñ Ôð3ð €Nrx   Úoriginal_contextÚnested_contextc                 óŽ   ‡ ‡— t           dt          dt          t          t          t
          f         d z           fˆˆ fd„¦   «         }|S )Nrw   rg   c                ó  •K  —  ‰| ¦  «        4 ƒd {V —†} ‰| ¦  «        4 ƒd {V —†}|€|€d W V — ni |pi ¥|pi ¥W V — d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S r†   r�   )rw   Úmaybe_original_stateÚmaybe_nested_stater¨   r§   s      €€rv   Úmerged_lifespanz0_merge_lifespan_context.<locals>.merged_lifespanó   s  øè è € ð $Ð# CÑ(Ô(ð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	YÐ,@Ø%�~ cÑ*Ô*ð Yð Yð Yð Yð Yð Yð YÐ.@Ø%Ð-Ð2FÐ2NØ�J�J�J�J�JàXÐ0Ð6°BÐXÐ<PÐ<VÐTVÐXÐXÐXÐXÐXð	Yð Yð Yñ Yô Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yøøøð Yð Yð Yð Yð	Yð 	Yð 	Yñ 	Yô 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yøøøð 	Yð 	Yð 	Yð 	Yð 	Yð 	Ys3   •A5§A¿A5Á
A	ÁA5ÁA	ÁA5Á5
A?ÂA?)r   r]   r   r
   Ústrr   )r§   r¨   r­   s   `` rv   Ú_merge_lifespan_contextr¯   ð   sh   øø€ õ ðYÝðYå	•w�s¥C˜xÔ(¨4Ñ/Ô	0ðYð Yð Yð Yð Yð Yñ ÔðYð Ðrx   c                   óF   — e Zd ZdZdd„Zdd„Zdeddfd	„Zd
ededefd„Z	dS )Ú_DefaultLifespanaX  
    Default lifespan context manager that runs on_startup and on_shutdown handlers.

    This is a copy of the Starlette _DefaultLifespan class that was removed
    in Starlette. FastAPI keeps it to maintain backward compatibility with
    on_startup and on_shutdown event handlers.

    Ref: https://github.com/Kludex/starlette/pull/3117
    ÚrouterÚ	APIRouterrg   Nc                 ó   — || _         d S r†   )Ú_router)rˆ   r²   s     rv   r‰   z_DefaultLifespan.__init__  s   € ØˆŒˆˆrx   c              ƒ   óH   K  — | j                              ¦   «         ƒ d {V —† d S r†   )rµ   Ú_startuprŒ   s    rv   r�   z_DefaultLifespan.__aenter__  s2   è è € ØŒl×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%rx   Úexc_infoc              ‡   óH   K  — | j                              ¦   «         ƒ d {V —† d S r†   )rµ   Ú	_shutdown)rˆ   r¸   s     rv   r“   z_DefaultLifespan.__aexit__  s2   è è € ØŒl×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&rx   rˆ   rw   c                 ó   — | S r†   r�   )rˆ   rw   s     rv   Ú__call__z_DefaultLifespan.__call__  s   € Øˆrx   )r²   r³   rg   N©rg   N)
r”   r•   r–   r—   r‰   r�   Úobjectr“   r�   r¼   r�   rx   rv   r±   r±     s‘   € € € € € ðð ðð ð ð ð&ð &ð &ð &ð'¨ð '°Dð 'ð 'ð 'ð 'ð�rð  ð ¨2ð ð ð ð ð ð rx   r±   Ú_endpoint_context_cachec                 óP  — t          | ¦  «        }|t          v rt          |         S 	 i }t          j        | ¦  «        x}�||d<   t          j        | ¦  «        d         x}�||d<   t          | dd¦  «        x}�||d<   n# t          $ r t          ¦   «         }Y nw xY w|t          |<   |S )zAExtract endpoint context with caching to avoid repeated file I/O.NÚfileé   Úliner”   Úfunction)Úidr¿   ÚinspectÚgetsourcefileÚgetsourcelinesÚgetattrÚ	Exceptionr1   )rf   Úfunc_idÚctxÚsource_fileÚline_numberÚ	func_names         rv   Ú_extract_endpoint_contextrÐ     sÎ   € å�‰hŒh€GàÕ)Ð)Ð)Ý& wÔ/Ð/ð
 Ø!ˆå"Ô0°Ñ6Ô6Ð6ˆKÐCØ%ˆC�‰KÝ"Ô1°$Ñ7Ô7¸Ô:Ð:ˆKÐGØ%ˆC�‰KÝ   z°4Ñ8Ô8Ð8ˆIÐEØ'ˆC�
‰OøøÝð  ð  ð  ÝÑÔˆˆˆð øøøð (+Õ˜GÑ$Ø€Js   §AA> Á>BÂBTF)
r   ÚincludeÚexcludeÚby_aliasÚexclude_unsetÚexclude_defaultsÚexclude_noneÚis_coroutineÚendpoint_ctxÚ	dump_jsonr   Úresponse_contentrÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rÙ   c           	   ƒ   ó(  K  — | r€|r | j         |i d¬¦  «        \  }}n!t          | j         |i d¬¦  «        ƒ d {V —†\  }}|r"|	pt          ¦   «         }t          |||¬¦  «        ‚|
r| j        n| j        } ||||||||¬¦  «        S t          |¦  «        S )N©rs   ©Úloc©ÚerrorsÚbodyrØ   ©rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   )ÚvalidaterK   r1   r4   Úserialize_jsonÚ	serializer0   )r   rÚ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rÙ   Úvaluerà   rÌ   Ú
serializers                  rv   Úserialize_responserè   4  s  è è € ð ð 2Øð 	Ø*˜EœNÐ+;¸RÀ]ÐSÑSÔS‰MˆE�6�6å"3Ø”Ð 0°"¸-ð#ñ #ô #ð ð ð ð ð ð ‰MˆE�6ð ð 	ØÐ3¥/Ñ"3Ô"3ˆCÝ)ØØ%Ø ðñ ô ð ð
 .7ÐK�UÔ)Ð)¸E¼Oˆ
ØˆzØØØØØ'Ø-Ø%ð
ñ 
ô 
ð 	
õ  Ð 0Ñ1Ô1Ð1rx   Ú	dependantÚvaluesc              ƒ   óö   K  — | j         €
J d¦   «         ‚|rCt          d| j         ¬¦  «        5   | j         di |¤Žƒ d {V —†cd d d ¦  «         S # 1 swxY w Y   d S t          t          | j         |¬¦  «        ƒ d {V —†S )Nú!dependant.call must be a functionÚendpoint©ÚnamerÄ   )rÄ   Ú	argumentsr�   )Úcallr;   rK   r=   ©ré   rê   r×   s      rv   Úrun_endpoint_functionró   _  s  è è € ð
 Œ>Ð%Ð%Ð'JÑ%Ô%Ð%àð 
Ý˜Z°)´.ÐAÑAÔAð 	2ð 	2Ø'˜œÐ1Ð1¨&Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ð	2ð 	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2õ 'Ý¨¬À6ð
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
s   ¬AÁAÁAÚstatus_codeÚsolved_resultc                 ó|   — d|j         i}| r| n|j        j        }|�||d<   |j        j        r|j        j        |d<   |S )NÚ
backgroundrô   )Úbackground_tasksrs   rô   )rô   rõ   Úresponse_argsÚcurrent_status_codes       rv   Ú_build_response_argsrû   o  sc   € ð 	�mÔ4ð%€Mð #ÐJˆˆ¨Ô(>Ô(Jð ð Ð&Ø':ˆ�mÑ$ØÔÔ)ð JØ'4Ô'=Ô'Iˆ�mÑ$ØÐrx   Ú
body_fieldÚresponse_classÚresponse_fieldÚresponse_model_includeÚresponse_model_excludeÚresponse_model_by_aliasÚresponse_model_exclude_unsetÚresponse_model_exclude_defaultsÚresponse_model_exclude_noneÚdependency_overrides_providerÚembed_body_fieldsÚstrict_content_typeÚstream_item_fieldÚis_json_streamc                 ó®  ‡ ‡‡‡‡‡‡‡‡‡	‡
‡‡‡‡‡‡‡‡‡— ‰ j         €
J d¦   «         ‚t          ‰ j         ¦  «        Š‰ot          ‰j        t          j        ¦  «        Št          ‰t          ¦  «        r‰j        Šn‰Št          ‰t          ¦  «        Št          |t          ¦  «        r|j        Šn|Šdt          dt          fˆˆˆˆ ˆˆˆˆˆˆˆˆˆˆˆ	ˆ
ˆˆˆˆfd„}|S )Nrì   ru   rg   c              “   ó¾  •‡‡‡‡ ‡!‡"K  — t          ¦   «         }|�| |_        d }| j                             d¦  «        }t	          |t
          ¦  «        s
J d¦   «         ‚‰&j        rt          ‰&j        ¦  «        nt          ¦   «         Š ‰&j	        rD| j                             dd¦  «         
                    d¦  «        }| j        › d|› ‰&j	        › �‰ d<   	 d }‰%�r'‰)r5|                      ¦   «         ƒ d {V —†}|                     |j        ¦  «         nð|                      ¦   «         ƒ d {V —†}|rÔt           }| j                             d¦  «        }|s‰$s|                      ¦   «         ƒ d {V —†}n„t&          j                             ¦   «         }	||	d<   |	                     ¦   «         d	k    rI|	                     ¦   «         }
|
d
k    s|
                     d¦  «        r|                      ¦   «         ƒ d {V —†}|t           k    r|}n|}n€# t$          j        $ rC}t5          dd|j        fdi d|j        idœg|j        ‰ ¬¦  «        }t=          |¦  «         ||‚d }~wt>          $ r ‚ t@          $ r}t?          dd¬¦  «        }||‚d }~ww xY w|�||_        g }| j                             d¦  «        }t	          |t
          ¦  «        s
J d¦   «         ‚tC          d‰&j        ¬¦  «        5  tE          | ‰&tG          tH          tJ          tL          f         tN          z  tP          z  d z  |¦  «        ‰'|‰(¬¦  «        ƒ d {V —†}|�|j)        |_)        |j*        |_*        d d d ¦  «         n# 1 swxY w Y   |j*        }‰&j        sJ ‚|�sDdtL          dtP          fˆ ˆ/ˆ0ˆ1ˆ2ˆ3ˆ4ˆ6fd„Š‰,�rc ‰&j        d6i |j)        ¤ŽŠ!dtL          dtP          fˆfd„ŠtW          ‰&j        ¦  «        r‰! ,                    ¦   «         Š"nt[          ‰!¦  «        Š"t\          dt^          t`          tP                            fˆˆ"fd„¦   «         }| 1                     |¦   «         ¦  «        ƒ d {V —†}|                     |j2        ¦  «         d t`          tP                   dt^          tP                   fd!„} ||¦  «        }tg          ‰5|¬"¦  «        }ti          |fd#d$i|¤Ž}d%|j        d&<   d'|j        d(<   |j        j5         6                    |j7        j        j5        ¦  «         �nÃ‰+rÑ ‰&j        d6i |j)        ¤ŽŠ!dtL          dtP          fˆfd)„ŠtW          ‰&j        ¦  «        r$dt^          tP                   fˆˆ!fd*„} |¦   «         }n#dtp          tP                   fˆˆ!fd+„} |¦   «         }tg          ‰5|¬"¦  «        }ti          |fd#d,i|¤Ž}|j        j5         6                    |j7        j        j5        ¦  «         �nðtW          ‰&j        ¦  «        sts          ‰&j        ¦  «        r¤ ‰&j        d6i |j)        ¤ŽŠ!tW          ‰&j        ¦  «        r3d-t^          tL                   dt^          tL                   fd.„} |‰!¦  «        Š!tg          ‰5|¬"¦  «        } ‰#d6d/‰!i|¤Ž}|j        j5         6                    |j7        j        j5        ¦  «         �n$tu          ‰&|j)        ‰*¬0¦  «        ƒ d {V —†}t	          |tv          ¦  «        r|j<        €|j=        |_<        |}nÜtg          ‰5|¬"¦  «        }‰.d uot	          ‰-t|          ¦  «        }tC          d1‰&j        ¬¦  «        5  t          ‰.|‰4‰0‰/‰3‰1‰2‰*‰ |¬2¦  «        ƒ d {V —†}d d d ¦  «         n# 1 swxY w Y   |rtw          d6|d3d4œ|¤Ž}n	 ‰#|fi |¤Ž}t�          |jA        ¦  «        sd5|_        |j        j5         6                    |j7        j        j5        ¦  «         |r#t5          ||‰ ¬¦  «        }t=          |¦  «         |‚|sJ ‚|S )7NÚfastapi_middleware_astackz4fastapi_middleware_astack not found in request scopeÚ	root_pathÚ ú/ú Úpathúcontent-typeÚapplicationÚjsonz+jsonÚjson_invalidrá   zJSON decode errorÚerror)r˜   rÞ   ÚmsgÚinputrÌ   )rá   rØ   i�  z#There was an error parsing the body)rô   Údetailrn   ú/fastapi_inner_astack not found in request scopeÚdependenciesrî   )ru   ré   rá   r  Úasync_exit_stackr  Údatarg   c           	      ó*  •— ‰r[‰                      | i d¬¦  «        \  }}|r"‰pt          ¦   «         }t          || |¬¦  «        ‚‰                     |‰
‰‰‰	‰‰¬¦  «        S t	          | ¦  «        } t          j        | ¦  «                             d¦  «        S )NrÜ   rÝ   rß   râ   úutf-8)rã   r1   r4   rä   r0   r  ÚdumpsÚencode)r  ræ   Úerrors_rÌ   rØ   r  r   r  r  r  rÿ   r  s       €€€€€€€€rv   Ú_serialize_dataz9get_request_handler.<locals>.app.<locals>._serialize_data  sÌ   ø€ Ø$ð <Ø%6×%?Ò%?Ø˜b mð &@ñ &ô &‘N�E˜7ð ð Ø*Ð?­oÑ.?Ô.?˜Ý5Ø#*Ø!%Ø),ðñ ô ð ð
 -×;Ò;ØØ 6Ø 6Ø!8Ø&BØ)HØ%@ð <ñ ô ð õ ,¨DÑ1Ô1�DÝœ: dÑ+Ô+×2Ò2°7Ñ;Ô;Ð;rx   Úitemc                 ó²  •— t          | t          ¦  «        r–| j        �| j        }n_| j        �Vt	          | j        d¦  «        r| j                             ¦   «         }n)t          j        t          | j        ¦  «        ¦  «        }nd }t          || j
        | j        | j        | j        ¬¦  «        S t           ‰| ¦  «                             d¦  «        ¬¦  «        S )NÚmodel_dump_json)Údata_strÚeventrÅ   ÚretryÚcommentr  )r'  )Ú
isinstancer9   Úraw_datar  Úhasattrr&  r  r   r0   r:   r(  rÅ   r)  r*  Údecode)r$  r'  r#  s     €rv   Ú_serialize_sse_itemz=get_request_handler.<locals>.app.<locals>._serialize_sse_item!  sÞ   ø€ Ý! $­Ñ8Ô8ð ð
  œ=Ð4Ø37´=˜H˜HØ!œYÐ2Ý& t¤yÐ2CÑDÔDð SØ+/¬9×+DÒ+DÑ+FÔ+F  å+/¬:Õ6FÀtÄyÑ6QÔ6QÑ+RÔ+R  à'+˜HÝ/Ø%-Ø"&¤*Ø#œwØ"&¤*Ø$(¤Lð ñ  ô  ð õ  0Ø%4 _°TÑ%:Ô%:×%AÒ%AÀ'Ñ%JÔ%Jð ñ  ô  ð rx   c                 óÈ  •‡‡‡K  — t          j        t                   d¬¦  «        \  ŠŠdˆˆˆfd„} t          j        t                   d¬¦  «        \  Š}dˆˆfd„}t          j        ¦   «         4 ƒd {V —†}|                     | ¦  «         |                     |¦  «         |W V — |j                             ¦   «          d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )NrÂ   )Úmax_buffer_sizerg   c               “   óÆ   •K  — ‰4 ƒd {V —† ‰2 3 d {V —†} ‰                       ‰| ¦  «        ¦  «        ƒ d {V —† Œ,6 	 d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S r†   )rk   )Úraw_itemr/  Úsend_streamÚ	sse_aiters    €€€rv   Ú	_producerzMget_request_handler.<locals>.app.<locals>._sse_producer_cm.<locals>._producerY  s\  øè è € Ø#.ð Vð Vð Vð Vð Vð Vð Vð VØ2;ð Vð Vð Vð Vð Vð Vð V hØ&1×&6Ò&6Ð7JÐ7JÈ8Ñ7TÔ7TÑ&UÔ&UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ Uð 3<°)ðVð Vð Vñ Vô Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vð Vøøøð Vð Vð Vð Vð Vð Vs   ŒA�;•'AÁ
AÁAc               “   ó   •K  — ‰4 ƒd{V —† ‰4 ƒd{V —† 	 	 	 t          j        t          ¦  «        5  ‰                     ¦   «         ƒ d{V —†} ddd¦  «         n# 1 swxY w Y   ‰                     | ¦  «        ƒ d{V —† n0# t
          $ r# ‰                     t          ¦  «        ƒ d{V —† Y nw xY wŒ™# t           j        $ r Y nw xY w	 ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )zrRead from the producer and forward to the output,
                        inserting keepalive comments on timeout.N)ÚanyioÚ
fail_afterr6   rj   rk   ÚTimeoutErrorr7   ÚEndOfStream)r  Úreceive_streamÚsend_keepalives    €€rv   Ú_keepalive_inserterzWget_request_handler.<locals>.app.<locals>._sse_producer_cm.<locals>._keepalive_inserterb  sÏ  øè è € ð $2ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%°>ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð	%ð!Uð%UÝ-2Ô-=½nÑ-MÔ-Mð )Rð )RØ9G×9OÒ9OÑ9QÔ9QÐ3QÐ3QÐ3QÐ3QÐ3QÐ3Q¨Dð)Rð )Rð )Rñ )Rô )Rð )Rð )Rð )Rð )Rð )Rð )Røøøð )Rð )Rð )Rð )Rà.<×.AÒ.AÀ$Ñ.GÔ.GÐ(GÐ(GÐ(GÐ(GÐ(GÐ(GÐ(GÐ(GøÝ+7ð %Uð %Uð %UØ.<×.AÒ.AÕBSÑ.TÔ.TÐ(TÐ(TÐ(TÐ(TÐ(TÐ(TÐ(TÐ(TÐ(Tð%Uøøøð!Uøõ $)Ô#4ð %ð %ð %Ø $ ð%øøøØ $ð
%ð 
%ð 
%ñ 
%ô 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%øøøð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ñ 
%ô 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%ð 
%øøøð 
%ð 
%ð 
%ð 
%ð 
%ð 
%s—   Œ	C=•C—B1™B ²AÁB ÁAÁB Á AÁ!B Á?B1Â *B-Â*B1Â,B-Â-B1Â1CÃ CÃCÃCÃC=Ã
C#	Ã#C=Ã&C#	Ã'C=Ã=
DÄ
Dr½   )r8  Úcreate_memory_object_streamÚbytesÚcreate_task_groupÚ
start_soonÚcancel_scopeÚcancel)	r6  Úreceive_keepaliver>  Útgr<  r=  r4  r/  r5  s	       @@@€€rv   Ú_sse_producer_cmz:get_request_handler.<locals>.app.<locals>._sse_producer_cmC  s½  øøøøè è € õ$ 38Ô2SÝô3à&'ð3)ñ 3)ô 3)Ñ/�K ðVð Vð Vð Vð Vð Vð Vð Võ Ô9½%Ô@ÐQRÐSÑSÔSñ 6�NÐ$5ð%ð %ð %ð %ð %ð %ð %õ  %Ô6Ñ8Ô8ð 1ð 1ð 1ð 1ð 1ð 1ð 1¸BØŸš iÑ0Ô0Ð0ØŸšÐ&9Ñ:Ô:Ð:Ø/Ð/Ð/Ð/Ð/Øœ×.Ò.Ñ0Ô0Ð0ð	1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1s   Á5A	CÃ
CÃCÚstreamc                ó^   K  — | 2 3 d {V —†}|W V — t          j        d¦  «        ƒ d {V —† Œ'6 d S ©Nr   ©r8  Úsleep)rH  r  s     rv   Ú_sse_with_checkpointsz?get_request_handler.<locals>.app.<locals>._sse_with_checkpoints‚  si   è è € ð '-ð -ð -ð -ð -ð -ð -ð -˜dØ"˜
˜
˜
˜
õ $œk¨!™nœnÐ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ð '- f fó   …,)rô   rõ   Ú
media_typeztext/event-streamzno-cachezCache-ControlÚnozX-Accel-Bufferingc                 ó    •—  ‰| ¦  «        dz   S )Nó   
r�   )r$  r#  s    €rv   Ú_serialize_itemz9get_request_handler.<locals>.app.<locals>._serialize_item   s   ø€ Ø*˜?¨4Ñ0Ô0°5Ñ8Ð8rx   c                 ór   •K  — ‰2 3 d {V —†}  ‰| ¦  «        W V — t          j        d¦  «        ƒ d {V —† Œ06 d S rJ  rK  ©r$  rS  Úgens    €€rv   Ú_async_stream_jsonlz=get_request_handler.<locals>.app.<locals>._async_stream_jsonl¥  sv   øè è € Ø*-ð 1ð 1ð 1ð 1ð 1ð 1ð 1 $Ø"1 /°$Ñ"7Ô"7Ð7Ð7Ð7Ð7õ #(¤+¨a¡.¤.Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ð	 +.¨#¨#s   †6c               3   ó0   •K  — ‰D ]}  ‰| ¦  «        V — Œd S r†   r�   rU  s    €€rv   Ú_sync_stream_jsonlz<get_request_handler.<locals>.app.<locals>._sync_stream_jsonl±  s9   øè è € Ø$'ð 8ð 8˜DØ"1 /°$Ñ"7Ô"7Ð7Ð7Ð7Ð7ð8ð 8rx   zapplication/jsonlÚ	async_genc                ó^   K  — | 2 3 d {V —†}|W V — t          j        d¦  «        ƒ d {V —† Œ'6 d S rJ  rK  )rZ  Úchunks     rv   Ú_async_stream_rawz;get_request_handler.<locals>.app.<locals>._async_stream_rawÇ  si   è è € ð ,5ð 1ð 1ð 1ð 1ð 1ð 1ð 1 %Ø"'˜K˜K˜K˜Kõ #(¤+¨a¡.¤.Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ð	 ,5¨9¨9rN  Úcontentrò   Úserialization)r   rÚ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rÙ   zapplication/json)r^  rO  rx   r�   )Br?   ru   ri   Úgetr+  r   rñ   rÐ   r1   r  ÚrstripÚmethodÚformÚpush_async_callbackÚcloserá   r   Úheadersr  ÚemailÚmessageÚMessageÚget_content_maintypeÚget_content_subtypeÚendswithÚJSONDecodeErrorr3   Úposr  Údocr>   rO   rÊ   r;   r/   r   Údictr®   r   rM   r@  rê   rà   r$   Ú	__aiter__rJ   r   r   r   Úenter_async_contextÚacloserû   rU   ÚrawÚextendrs   r	   r&   ró   rT   r÷   rø   r"   rè   rE   rô   )7ru   Útelemetry_datars   Ú
file_stackÚ
mount_pathrá   Ú
body_bytesÚ	json_bodyÚcontent_type_valuerh  ÚsubtypeÚeÚvalidation_errorÚ
http_errorrà   r  rõ   rG  Ússe_receive_streamrM  Ússe_stream_contentrù   rW  Újsonl_stream_contentrY  r]  Úraw_responseÚuse_dump_jsonr^  r#  rS  r/  rØ   rV  r5  Úactual_response_classÚactual_strict_content_typerü   ré   r  r  Úis_body_formr×   r	  Úis_sse_streamrý   rþ   r  r   r  r  r  rÿ   rô   r  s7                                @@@@@@€€€€€€€€€€€€€€€€€€€€rv   rw   z get_request_handler.<locals>.app   sM  øøøøøøøè è € Ý+Ñ-Ô-ˆØÐ%Ø%,ˆNÔ"Ø$(ˆØ”]×&Ò&Ð'BÑCÔCˆ
Ý˜*¥nÑ5Ô5ð 	
ð 	
ØBñ	
ô 	
Ð5ð Œ~ð#Õ% i¤nÑ5Ô5Ð5å Ñ"Ô"ð 	ð Œ>ð 	Tà œ×*Ò*¨;¸Ñ;Ô;×BÒBÀ3ÑGÔGˆJØ&-¤nÐ#SÐ#S°zÐ#SÀ9Ä>Ð#SÐ#SˆL˜Ñ ð0	$ØˆDØñ .Øð .Ø!(§¢¡¤Ð/Ð/Ð/Ð/Ð/Ð/�DØ×2Ò2°4´:Ñ>Ô>Ð>Ð>à'.§|¢|¡~¤~Ð!5Ð!5Ð!5Ð!5Ð!5Ð!5�JØ!ð .Ý)2˜	Ø-4¬_×-@Ò-@ÀÑ-PÔ-PÐ*Ø1ð 	EØ#=ð AØ29·,²,±.´.Ð,@Ð,@Ð,@Ð,@Ð,@Ð,@ 	øå&+¤m×&;Ò&;Ñ&=Ô&=˜GØ6H˜G NÑ3Ø&×;Ò;Ñ=Ô=ÀÒNÐNØ*1×*EÒ*EÑ*GÔ*G Ø#*¨fÒ#4Ð#4¸×8HÒ8HÈÑ8QÔ8QÐ#4Ø6=·l²l±n´nÐ0DÐ0DÐ0DÐ0DÐ0DÐ0D IØ$­	Ò1Ð1Ø#,˜D˜Dà#-˜DøøÝÔ#ð 	*ð 	*ð 	*Ý5ð !/Ø &¨¬˜Ø2Ø!#Ø '¨¬Ð/ðð ðð ”UØ)ð ñ  ô  Ðõ Ð/Ñ0Ô0Ð0Ø"¨Ð)øøøøÝð 	ð 	ð 	àÝð 	$ð 	$ð 	$Ý&ØÐ(Mðñ ô ˆJð  !Ð#øøøøð		$øøøð Ð%Ø"&ˆNÔð ˆØ"œ=×,Ò,Ð-CÑDÔDÐÝÐ*­NÑ;Ô;ð 	
ð 	
Ø=ñ	
ô 	
Ð;õ ˜^°i´nÐEÑEÔEð 	=ð 	=Ý"4ØØ#Ý�$�s¥C˜xœ.­8Ñ3µeÑ;¸dÑBÀDÑIÔIØ.KØ!1Ø"3ð#ñ #ô #ð ð ð ð ð ð ˆMð Ð)Ø(5Ô(<�Ô%Ø(5Ô(<�Ô%ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð Ô%ˆØŒ~ÐÐˆ~Øñ D	Tð<¥cð <­eð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð2 ñ gTà$�i”nÐ<Ð< }Ô';Ð<Ð<�ð­cð µeð ð ð ð ð ð õ: *¨)¬.Ñ9Ô9ð ;Ø47·M²M±O´O�I�Iå 5°cÑ :Ô :�Iå$ð11µÝ'­Ô.ô1ð 11ð 11ð 11ð 11ð 11ð 11ñ %Ô$ð11ðn ,<×+OÒ+OØ$Ð$Ñ&Ô&ñ,ô ,ð &ð &ð &ð &ð &ð &Ð"ð
 !×4Ò4Ð5GÔ5NÑOÔOÐOð-Ý/µÔ6ð-å"¥5Ô)ð-ð -ð -ð -ð *Ð)Ð*<Ñ=Ô=ð #õ !5Ø +¸=ð!ñ !ô !�õ -Ø&ðð à2ðð $ðð �ð
 5?�Ô  Ñ1à8<�Ô Ð!4Ñ5ØÔ Ô$×+Ò+¨MÔ,BÔ,JÔ,NÑOÔOÐOÑOØð hTà$�i”nÐ<Ð< }Ô';Ð<Ð<�ð9­#ð 9µ%ð 9ð 9ð 9ð 9ð 9ð 9õ *¨)¬.Ñ9Ô9ð @ð1µ}ÅUÔ7Kð 1ð 1ð 1ð 1ð 1ð 1ð 1ð ,Ð+Ñ-Ô-ð )Ð(ð
8µ½´ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð ,>Ð+=Ñ+?Ô+?Ð(å 4Ø +¸=ð!ñ !ô !�õ -Ø(ðð à2ðð $ðð �ð
 Ô Ô$×+Ò+¨MÔ,BÔ,JÔ,NÑOÔOÐOÑOÝ'¨	¬Ñ7Ô7ð DTÕ;KØ”ñ<ô <ð DTð %�i”nÐ<Ð< }Ô';Ð<Ð<�Ý)¨)¬.Ñ9Ô9ð 1ð1Ý#0µÔ#5ð1å&¥sÔ+ð1ð 1ð 1ð 1ð ,Ð+¨CÑ0Ô0�CÝ 4Ø +¸=ð!ñ !ô !�ð 1Ð0ÐNÐN¸ÐNÀÐNÐN�ØÔ Ô$×+Ò+¨MÔ,BÔ,JÔ,NÑOÔOÐOÑOå%:Ø'Ø(Ô/Ø!-ð&ñ &ô &ð  ð  ð  ð  ð  ð  �õ
 ˜l­HÑ5Ô5ð (TØ#Ô.Ð6Ø2?Ô2P˜Ô/Ø+�H�Hå$8Ø$/¸}ð%ñ %ô %�Mð %3¸$Ð$>ð %Å:Ø&Õ(:ñDô D�Mõ $¨À9Ä>ÐRÑRÔRð ð Ý(:Ø"0Ø-9Ø$:Ø$:Ø%<Ø*FØ-LØ)DØ)5Ø)5Ø&3ð)ñ )ô )ð #ð #ð #ð #ð #ð #˜ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð %ð SÝ#+ð $Ø$+Ø'9ð$ð $ð ,ð$ð $˜˜ð $9Ð#8¸Ð#RÐ#RÀMÐ#RÐ#R˜Ý:¸8Ô;OÑPÔPð ,Ø(+˜œØÔ$Ô(×/Ò/°Ô0FÔ0NÔ0RÑSÔSÐSØð 	#Ý5Ø˜T°ð ñ  ô  Ðõ Ð/Ñ0Ô0Ð0Ø"Ð"ð ˆˆˆxØˆsJ   ÃD,G> Ç>I;È>IÉI;É"I6É6I;ËA.MÍMÍMÜ!]Ý]	Ý]	)rñ   r%   r+  Ú
field_infor   ÚFormr"   ræ   r    r8   rP   rT   )ré   rü   rô   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  rw   r…  r†  r‡  r×   rˆ  s   ````````````` `` @@@@@rv   Úget_request_handlerr‹  �  sa  øøøøøøøøøøøøøøøøøøøø€ ð$ Œ>Ð%Ð%Ð'JÑ%Ô%Ð%Ý)¨)¬.Ñ9Ô9€LØÐP¥*¨ZÔ-BÅFÄKÑ"PÔ"P€LÝ�.Õ"4Ñ5Ô5ð /Ø0>Ô0DÐÐà .ÐÝ&Ð'<Õ>QÑRÔR€MÝÐ%Õ'9Ñ:Ô:ð 9Ø+>Ô+DÐ"Ð"à%8Ð"ðn�7ð n¥xð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð nð` €Jrx   c                 ó.   ‡ ‡‡— dt           dd fˆ ˆˆfd„}|S )NÚ	websocketrg   c              “   óV  •K  — t          ¦   «         }|�| |_        ‰j        rt          ‰j        ¦  «        nt	          ¦   «         }‰j        r=| j                             dd¦  «                             d¦  «        }d|› ‰j        › �|d<   | j                             d¦  «        }t          |t          ¦  «        s
J d¦   «         ‚t          d‰j        ¬	¦  «        5  t          | ‰‰|‰	¬
¦  «        ƒ d {V —†}|�|j        |_        |j        |_        d d d ¦  «         n# 1 swxY w Y   |j        r't          |j        |¬¦  «        }t!          |¦  «         |‚‰j        €
J d¦   «         ‚t          d‰j        ¬	¦  «        5   ‰j        di |j        ¤Žƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )Nr  r  r  zWS r  rn   r  r  rî   ©ru   ré   r  r  r  )rØ   rì   rí   r�   )r?   r�  rñ   rÐ   r1   r  ri   r`  ra  r+  r   r;   r/   rê   rà   r5   r>   )
r�  rv  rØ   rx  r  rõ   r~  ré   r  r  s
          €€€rv   rw   zget_websocket_app.<locals>.app  sž  øè è € Ý+Ñ-Ô-ˆØÐ%Ø'0ˆNÔ$ð Œ~ð#Õ% i¤nÑ5Ô5Ð5å Ñ"Ô"ð 	ð
 Œ>ð 	Fà"œ×,Ò,¨[¸"Ñ=Ô=×DÒDÀSÑIÔIˆJØ#E¨Ð#E°Y´^Ð#EÐ#EˆL˜Ñ Ø$œ?×.Ò.Ð/EÑFÔFÐÝÐ*­NÑ;Ô;ð 	
ð 	
Ø=ñ	
ô 	
Ð;õ ˜^°i´nÐEÑEÔEð 
	=ð 
	=Ý"4Ø!Ø#Ø.KØ!1Ø"3ð#ñ #ô #ð ð ð ð ð ð ˆMð Ð)Ø(5Ô(<�Ô%Ø(5Ô(<�Ô%ð
	=ð 
	=ð 
	=ñ 
	=ô 
	=ð 
	=ð 
	=ð 
	=ð 
	=ð 
	=ð 
	=øøøð 
	=ð 
	=ð 
	=ð 
	=ð Ôð 	#Ý>ØÔ$Ø)ð ñ  ô  Ðõ Ð/Ñ0Ô0Ð0Ø"Ð"ØŒ~Ð)Ð)Ð+NÑ)Ô)Ð)Ý˜Z°)´.ÐAÑAÔAð 	9ð 	9Ø �)”.Ð8Ð8 =Ô#7Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9s$   Ã5DÄDÄDÅ8FÆF"Æ%F"rc   )ré   r  r  rw   s   ``` rv   Úget_websocket_appr�    sC   øøø€ ð
%9�Yð %9¨4ð %9ð %9ð %9ð %9ð %9ð %9ð %9ð %9ðN €Jrx   c                   óš   ‡ — e Zd Zddddœdededef         dedz  deej                 dz  dedz  d	dfd
„Z	de
d	eee
f         fˆ fd„Zˆ xZS )ÚAPIWebSocketRouteN)rï   r  r  r  rí   .rï   r  r  rg   c                ó|  — || _         || _        |€t          |¦  «        n|| _        t	          |pg ¦  «        | _        t          |¦  «        \  | _        | _        | _	        t          | j        | j        | j        ¬¦  «        \  | _        }| _        t          t          | j        || j        ¬¦  «        ¦  «        | _        d S )N©r  rñ   r  ©ré   r  r  )r  rí   rZ   rï   Úlistr  rY   Ú
path_regexÚpath_formatÚparam_convertorsÚ0_build_dependant_with_parameterless_dependenciesré   Ú_embed_body_fieldsr€   r�  rw   )rˆ   r  rí   rï   r  r  Ú_s          rv   r‰   zAPIWebSocketRoute.__init__C  sË   € ð ˆŒ	Ø ˆŒØ*.¨,•H˜XÑ&Ô&Ð&¸DˆŒ	Ý  Ð!3°Ñ4Ô4ˆÔÝCOÐPTÑCUÔCUÑ@ˆŒ˜Ô)¨4Ô+@õ
 =ØÔ!Ø”ØÔ*ð
ñ 
ô 
ñ		
ØŒNØØÔ#õ %ÝØœ.Ø.KØ"&Ô"9ðñ ô ñ
ô 
ˆŒˆˆrx   ri   c                 ó~   •— t          ¦   «                              |¦  «        \  }}|t          j        k    r| |d<   ||fS ©NÚroute)ÚsuperÚmatchesrW   ÚNONE)rˆ   ri   ÚmatchÚchild_scopeÚ	__class__s       €rv   r¡  zAPIWebSocketRoute.matchesb  s?   ø€ Ý"™WœWŸ_š_¨UÑ3Ô3Ñˆˆ{Ø•E”JÒÐØ#'ˆK˜Ñ Ø�kÐ!Ð!rx   )r”   r•   r–   r®   r   r   r   r   ÚDependsr‰   ra   ÚtuplerW   r¡  Ú__classcell__©r¥  s   @rv   r’  r’  B  sÔ   ø€ € € € € ð  Ø8<Ø48ð
ð 
ð 
àð
ð ˜3 ˜8Ô$ð
ð
 �D‰jð
ð ˜vœ~Ô.°Ñ5ð
ð (+¨T¡zð
ð 
ð
ð 
ð 
ð 
ð>"˜Uð " u¨U°E¨\Ô':ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "rx   r’  ÚfastapiÚeffective_route_contextÚfrontend_pathÚfrontend_specificityÚincluded_routerÚfastapi_effective_route_context)ÚdefaultÚ_effective_route_context_varc                  ó   — d S r†   r�   r�   rx   rv   Ú_frontend_dependency_endpointr³  t  s   € Ø€Drx   r  rñ   .r  c                 óÜ   — t          | |d¬¦  «        }|d d d…         D ],}|j                             dt          || ¬¦  «        ¦  «         Œ-t	          |¦  «        }t          |¦  «        }|||fS )NrÄ   )r  rñ   ri   éÿÿÿÿr   )Údependsr  )r+   r  Úinsertr,   r)   r*   )r  rñ   r  ré   r¶  Úbody_paramsr  s          rv   rš  rš  x  s�   € õ  4¨d¸*ÐEÑEÔE€IØ   " Ô%ð 
ð 
ˆØÔ×%Ò%ØÝ+°GÀ$ÐGÑGÔGñ	
ô 	
ð 	
ð 	
õ (¨	Ñ2Ô2€KÝ1°+Ñ>Ô>ÐØ�kÐ#4Ð4Ð4rx   c                   ó   — e Zd ZU eed<   dS )Ú_RouteWithPathr  N)r”   r•   r–   r®   Ú__annotations__r�   rx   rv   rº  rº  ‰  s   € € € € € € Ø
€I€I�I€I€Irx   rº  ri   c                 ój   — |                       t          i ¦  «        }t          |t          ¦  «        sJ ‚|S r†   )Ú
setdefaultÚ_FASTAPI_SCOPE_KEYr+  rp  )ri   Úfastapi_scopes     rv   Ú_get_fastapi_scoperÀ  �  s4   € Ø×$Ò$Õ%7¸Ñ<Ô<€MÝ�m¥TÑ*Ô*Ð*Ð*Ð*ØÐrx   r¤  c                 ó   — |                      t          ¦  «        }|                     ¦   «         D ]\  }}|t          k    r|| |<   Œt          |t          ¦  «        r$t          | ¦  «                             |¦  «         d S d S r†   )r`  r¾  Úitemsr+  rp  rÀ  Úupdate)ri   r¤  Úfastapi_child_scopeÚkeyræ   s        rv   Ú_update_scoperÆ  “  sŠ   € Ø%Ÿ/š/Õ*<Ñ=Ô=ÐØ!×'Ò'Ñ)Ô)ð ð ‰
ˆˆUØÕ$Ò$Ð$ØˆE�#‰JøÝÐ%¥tÑ,Ô,ð >Ý˜5Ñ!Ô!×(Ò(Ð)<Ñ=Ô=Ð=Ð=Ð=ð>ð >rx   c                 óh   — |                       t          i ¦  «                              t          ¦  «        S r†   )r`  r¾  Ú$_FASTAPI_EFFECTIVE_ROUTE_CONTEXT_KEY©ri   s    rv   Ú"_get_scope_effective_route_contextrÊ  œ  s&   € Ø�9Š9Õ'¨Ñ,Ô,×0Ò0Õ1UÑVÔVÐVrx   c                 óh   — |                       t          i ¦  «                              t          ¦  «        S r†   )r`  r¾  Ú_FASTAPI_INCLUDED_ROUTER_KEYrÉ  s    rv   Ú_get_scope_included_routerrÍ     s&   € Ø�9Š9Õ'¨Ñ,Ô,×0Ò0Õ1MÑNÔNÐNrx   c                 óš   — |                       t          i ¦  «                              t          ¦  «        }t          |t          ¦  «        r|S d S r†   )r`  r¾  Ú!_FASTAPI_FRONTEND_SPECIFICITY_KEYr+  Úint)ri   Úspecificitys     rv   Ú_frontend_scope_specificityrÒ  ¤  sH   € Ø—)’)Õ.°Ñ3Ô3×7Ò7Ý)ñô €Kõ �+�sÑ#Ô#ð ØÐØˆ4rx   rÅ  Úpreviousc                 ó´   — |                       t          ¦  «        }t          |t          ¦  «        sd S |t          u r|                     |d ¦  «         d S |||<   d S r†   )r`  r¾  r+  rp  Ú_SCOPE_MISSINGÚpop)ri   rÅ  rÓ  r¿  s       rv   Ú_restore_fastapi_scope_keyr×  ­  sb   € Ø—I’IÕ0Ñ1Ô1€MÝ�m¥TÑ*Ô*ð ØˆØ•>Ð!Ð!Ø×Ò˜#˜tÑ$Ô$Ð$Ð$Ð$à%ˆ�cÑÐÐrx   c                   óÊ  — e Zd ZU eed<   edef         ed<   edz  ed<   eed<   edz  ed<   eed<   edz  ed	<   edz  ed
<   edz  ed<   edz  ed<   eed<   eed<   eed<   eed<   eed<   e	e
         ez  ed<   edz  ed<   ee         dz  ed<   eeef         dz  ed<   eegef         ez  ed<   eez  ed<   eeez           ed<   eeez  eeef         f         ed<   eed<   eed<   eed<   eeef         ed<   ee         ed<   eed<   edz  ed <   edz  ed!<   edz  ed"<   eej                 ed#<   eed$<   eeez  ef         ed%<   eed&<   eed'<   edz  ed(<   eed)<   eed*<   dS )+Ú_APIRouteLiker  .rí   NÚstream_item_typeÚresponse_modelÚsummaryÚresponse_descriptionre   Úoperation_idrÿ   r   r  r  r  r  Úinclude_in_schemarý   r  Ú	callbacksÚopenapi_extraÚgenerate_unique_id_functionr  ÚtagsÚ	responsesrï   r—  r˜  r™  ÚmethodsÚ	unique_idrô   rþ   r  r  ÚdescriptionÚresponse_fieldsré   r›  rü   rˆ  r	  )r”   r•   r–   r®   r»  r   r   rœ   rA   r˜   rT   r"   r–  rV   rp  r   rÐ  Úsetr   r   r¦  r#   r�   rx   rv   rÙ  rÙ  ·  s•  € € € € € € Ø
€I€I�IØ�s˜C�xÔ Ð Ð Ñ Ø˜D‘jÐ Ð Ñ ØÐÐÑØ�4‰ZÐÐÑØÐÐÑØ�t‘ÐÐÑØ˜‘*ÐÐÑØ! D™LÐ(Ð(Ñ(Ø! D™LÐ(Ð(Ñ(Ø!Ð!Ð!Ñ!Ø"&Ð&Ð&Ñ&Ø%)Ð)Ð)Ñ)Ø!%Ð%Ð%Ñ%ØÐÐÑØ˜”NÐ%7Ñ7Ð7Ð7Ñ7Ø#&¨¡:Ð-Ð-Ñ-Ø�IŒ Ñ%Ð%Ð%Ñ%Ø˜˜S˜”> DÑ(Ð(Ð(Ñ(Ø!)¨3¨%°¨*Ô!5Ð8JÑ!JÐJÐJÑJØÐ 2Ñ2Ð2Ð2Ñ2Ø
ˆs�T‰zÔ
ÐÐÑØ�C˜#‘I˜t C¨ Hœ~Ð-Ô.Ð.Ð.Ñ.Ø
€I€I�IØ€O€O�OØÐÐÑØ˜3 ˜8”nÐ$Ð$Ñ$Ø�ŒXÐÐÑØ€N€N�NØ�t‘ÐÐÑØ Ñ%Ð%Ð%Ñ%Ø! DÑ(Ð(Ð(Ñ(Ø�v”~Ô&Ð&Ð&Ñ&ØÐÐÑØ˜# ™) ZÐ/Ô0Ð0Ð0Ñ0ØÐÐÑØÐÐÑØ˜TÑ!Ð!Ð!Ñ!ØÐÐÑØÐÐÑÐÐrx   rÙ  úSuccessful Response)rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rï   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   r  rà  rá  râ  r  rÚ  rŸ  rí   rÛ  rã  rÜ  rç  rÝ  rä  re   rï   rå  rÞ  rß  rà  rá  râ  rÚ  c                óÖ  — || _         || _        || _        || _        |	| _        || _        || _        || _        || _        || _	        || _
        || _        || _        || _        || _        || _        || _        || _        || _        || _        |pg | _        |
pi | _        |€t-          |¦  «        n|| _        t1          |¦  «        \  | _        | _        | _        |€dg}d„ |D ¦   «         | _        t;          |t<          ¦  «        r|j        }n|}| j        p
 || ¦  «        | _         t;          |tB          ¦  «        rtE          |¦  «        }|| _#        tI          |pg ¦  «        | _%        |ptM          j'        | j        j(        pd¦  «        | _)        | j)         *                    d¦  «        d          +                    ¦   «         | _)        i }| j         ,                    ¦   «         D ]|\  }} t;          | tZ          ¦  «        s
J d¦   «         ‚|  .                    d¦  «        }!|!rAt_          |¦  «        sJ d|› d	�¦   «         ‚d
|› d| j         › �}"ta          |"|!d¬¦  «        }#|#||<   Œ}|r|| _1        ni | _1        te          |¦  «        s
J d¦   «         ‚tg          | j        | j        | j%        ¬¦  «        \  | _4        }$| _5        tm          |$| j         | j5        ¬¦  «        | _7        tq          | j4        j9        ¦  «        ptu          | j4        j9        ¦  «        }%|%otw          |tx          ¦  «        | _=        |%ot;          |t<          ¦  «        | _>        t;          |t<          ¦  «        r…t          |¦  «        }&tw          |&t€          ¦  «        rd }n^tƒ          |&¦  «        }'|'�K|%rIt;          |t<          ¦  «        stw          |tx          ¦  «        rtw          |'t„          ¦  «        s|'| _        d }n|&}|| _C        | jC        rDt_          |¦  «        sJ d|› d	�¦   «         ‚d
| j         z   }"ta          |"| jC        d¬¦  «        | _D        nd | _D        | j        r(d| j         z   }(ta          |(| j        d¬¦  «        | _E        d S d | _E        d S )NÚGETc                 ó6   — h | ]}|                      ¦   «         ’ŒS r�   )Úupper)Ú.0rb  s     rv   ú	<setcomp>z,_populate_api_route_state.<locals>.<setcomp>  s    € Ð:Ð:Ð:¨�V—\’\‘^”^Ð:Ð:Ð:rx   r  úr   z%An additional response must be a dictÚmodelzStatus code z must not have a response bodyÚ	Response_rœ  r_  )rï   Útype_ÚmodezAn endpoint must be a callabler”  )r¸  rï   r  ÚStreamItem_)Fr  rí   rÚ  rÜ  rÝ  re   rÞ  rÿ   r   r  r  r  r  rß  rý   r  rà  rá  râ  r  rã  rä  rZ   rï   rY   r—  r˜  r™  rå  r+  r"   ræ   ræ  r   rÐ  rô   r–  r  rÆ   Úcleandocr—   rç  ÚsplitÚstriprÂ  rp  r`  rE   rB   rè  Úcallablerš  ré   r›  r(   rü   r$   rñ   r&   r    r8   rˆ  r	  r.   rT   r-   r9   rÛ  rþ   r  ))rŸ  r  rí   rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rï   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   r  rà  rá  râ  r  rÚ  Úcurrent_generate_unique_idrè  Úadditional_status_coders   rò  Úresponse_namerþ   r¸  Úis_generatorÚreturn_annotationÚstream_itemÚstream_item_names)                                            rv   Ú_populate_api_route_stater  â  s=  € ðD €E„JØ€E„NØ-€EÔØ€E„MØ!5€EÔØ!€EÔØ%€EÔØ#9€EÔ Ø#9€EÔ Ø$;€EÔ!Ø)E€EÔ&Ø,K€EÔ)Ø(C€EÔ%Ø/€EÔØ)€EÔØ*G€EÔ'Ø€E„OØ'€EÔØ(C€EÔ%Ø 3€EÔØ�˜€E„JØ�o 2€E„OØ'+ |•˜(Ñ#Ô#Ð#¸€E„JÝBNÈtÑBTÔBTÑ?€EÔ�eÔ'¨Ô)?Ø€Ø�'ˆØ:Ð:°'Ð:Ñ:Ô:€E„MÝÐ-Õ/AÑBÔBð Aà'Ô-ð 	#Ð"ð &AÐ"ØÔ(ÐMÐ,FÐ,FÀuÑ,MÔ,M€E„Oå�+�wÑ'Ô'ð 'Ý˜+Ñ&Ô&ˆØ#€EÔÝ˜lÐ0¨bÑ1Ô1€EÔØ#ÐU¥wÔ'7¸¼Ô8NÐ8TÐRTÑ'UÔ'U€EÔð Ô)×/Ò/°Ñ5Ô5°aÔ8×>Ò>Ñ@Ô@€EÔØ€OØ,1¬O×,AÒ,AÑ,CÔ,Cð Eð EÑ(Ð Ý˜(¥DÑ)Ô)ÐRÐRÐ+RÑRÔRÐ)Ø—’˜WÑ%Ô%ˆØð 	EÝ2Ð3IÑJÔJð ð ØUÐ5ÐUÐUÐUñô ÐJð SÐ(>ÐRÐRÀÄÐRÐRˆMÝ/Ø"¨%°oðñ ô ˆNð 7EˆOÐ2Ñ3øØð #Ø /ˆÔÐà "ˆÔå�HÑÔÐ?Ð?Ð?Ñ?Ô?Ðõ
 	9ØÔØŒ^ØÔ'ð	ñ 	ô 	ñ	ØŒØØÔ õ 'ØØŒ_ØÔ2ðñ ô €EÔõ *¨%¬/Ô*>Ñ?Ô?ð ÕCSØŒÔñDô D€Lð 'ð Õ+=ØÕ+ñ,ô ,€EÔð (ð ­JØÕ*ñ-ô -€EÔõ �.Õ"4Ñ5Ô5ð 3Ý7¸ÑAÔAÐÝÐ/µÑ:Ô:ð 	3Ø!ˆNˆNå.Ð/@ÑAÔAˆKØÐ&¨<Ð&õ ˜~Õ/AÑBÔBð9å)¨.Õ:MÑNÔNð9õ -¨[½/ÑJÔJð9ð .9�EÔ*Ø!%��à!2�Ø)€EÔØÔð $Ý.¨{Ñ;Ô;ð 	
ð 	
ØF˜;ÐFÐFÐFñ	
ô 	
Ð;ð $ e¤oÑ5ˆÝ1ØØÔ&Ø ð 
ñ  
ô  
ˆÔÐð  $ˆÔØÔð 'Ø(¨5¬?Ñ:ÐÝ"4Ø!ØÔ(Ø ð#
ñ #
ô #
ˆÔÐÐð #'ˆÔÐÐrx   c            9       óæ  ‡ — e Zd ZU edz  ed<   eed<   edz  ed<   eed<   edz  ed<   edz  ed<   edz  ed<   edz  ed	<   eed
<   eed<   eed<   eed<   eed<   ee	         e
z  ed<   edz  ed<   ee         dz  ed<   eeef         dz  ed<   eegef         e
z  ed<   ee
z  ed<   eeez           ed<   eeez  eeef         f         ed<   eed<   edz  ed<   edz  ed<   edz  ed<   eej                 ed<   eed<   eeez  ef         ed<   eed<   eed<   edz  ed <   eed!<   eed"<    ed¦  «        dddddd#dddddddd$d%d%d%d$ ee¦  «        ddd ee¦  «         ed$¦  «        d&œd'ed(ed)ef         dededz  deeez           dz  deej                 dz  dedz  dedz  dedeeez  eeef         f         dz  dedz  d*edz  d+ee         ee         z  dz  dedz  dedz  d	edz  d
edededededee	         e
z  dedz  dee         dz  deeef         dz  ded gef         e
z  dee
z  d,df8d-„Zd,eegeeee	f         f         fd.„Zd/ed,ee ef         fˆ fd0„Z!d/ed1e"d2e#d,dfˆ fd3„Z$ˆ xZ%S )4ÚAPIRouteNrÚ  rÛ  rÜ  rÝ  re   rÞ  rÿ   r   r  r  r  r  rß  rý   r  rà  rá  râ  r  rã  rä  ræ  rô   rþ   r  r  rç  rè  ré   r›  rü   rˆ  r	  rê  TF)rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rï   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   r  rà  rá  râ  r  r  rí   .rï   rå  rg   c                ó(  — t          t          t          | ¦  «        ||fi d|“d|“d|“d|“d|“d|“d|	“d|
“d	|“d
|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“Ž t          |                      ¦   «         ¦  «        | _        d S )NrÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rï   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   r  rà  rá  râ  r  )r  r   rÙ  r{   Úget_route_handlerrw   )rˆ   r  rí   rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rï   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   r  rà  rá  râ  r  s                               rv   r‰   zAPIRoute.__init__ª  sŒ  € õ@ 	"Ý• Ñ%Ô%ØØð	
ð 	
ð 	
ð *˜>ð		
ð
 $˜ð	
ð �ð	
ð &˜ð	
ð �Gð	
ð $˜ð	
ð "6Ð!5ð	
ð  �ið	
ð "�zð	
ð �ð	
ð �Gð	
ð &˜ð	
ð  $:Ð#9ð!	
ð" $:Ð#9ð#	
ð$ %<Ð$;ð%	
ð& *FÐ)Eð'	
ð( -LÐ,Kð)	
ð* )DÐ(Cð+	
ð, 0Ð/ð-	
ð. *˜>ð/	
ð0 +HÐ*Gð1	
ð2  �ið3	
ð4 (˜-ð5	
ð6 )DÐ(Cð7	
ð8 !4Ð 3ð9	
ð 	
õ< $ D×$:Ò$:Ñ$<Ô$<Ñ=Ô=ˆŒˆˆrx   c                 ó²  — t          t          | ¦  «        }t                               ¦   «         }|�|j        | u rt          t          |¦  «        }t          di d|j        “d|j        “d|j        “d|j	        “d|j
        “d|j        “d|j        “d|j        “d	|j        “d
|j        “d|j        “d|j        “d|j        “d|j        “d|j        “d|j        “ŽS )Nré   rü   rô   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r�   )r   rÙ  r±  r`  Úoriginal_router‹  ré   rü   rô   rý   rþ   rÿ   r   r  r  r  r  r  r›  r  r  r	  )rˆ   rŸ  Úeffective_contexts      rv   r  zAPIRoute.get_route_handlerê  s[  € Ý•] DÑ)Ô)ˆõ 9×<Ò<Ñ>Ô>ÐØÐ(Ð->Ô-MÐQUÐ-UÐ-UÝ�Ð(9Ñ:Ô:ˆEÝ"ð 
ð 
ð 
Ø”o�oð
àÔ'Ð'ð
ð Ô)Ð)ð
ð !Ô/Ð/ð	
ð
 !Ô/Ð/ð
ð $)Ô#?Ð#?ð
ð $)Ô#?Ð#?ð
ð %*Ô$AÐ$Að
ð */Ô)KÐ)Kð
ð -2Ô,QÐ,Qð
ð ).Ô(IÐ(Ið
ð +0Ô*MÐ*Mð
ð $Ô6Ð6ð
ð !&Ô 9Ð 9ð
ð $Ô5Ð5ð
ð  !Ô/Ð/ð!
ð 	
rx   ri   c                 óä   •— t          |¦  «        }|�"|j        | u r|                     |¦  «        \  }}n$t          ¦   «                              |¦  «        \  }}|t          j        k    r| |d<   ||fS rž  )rÊ  r  r¡  r   rW   r¢  )rˆ   ri   r	  r£  r¤  r¥  s        €rv   r¡  zAPIRoute.matches  s|   ø€ Ý>¸uÑEÔEÐØÐ(Ð->Ô-MÐQUÐ-UÐ-UØ!2×!:Ò!:¸5Ñ!AÔ!AÑˆE�;�;å!&¡¤§¢°Ñ!7Ô!7ÑˆE�;Ø•E”JÒÐØ#'ˆK˜Ñ Ø�kÐ!Ð!rx   rj   rk   c              ƒ   ó®  •K  — t          |¦  «        }|�—|j        | u rŽ|j        }|r]|d         |vrSdd                     |¦  «        i}d|v rt	          d|¬¦  «        ‚t          dd|¬¦  «        } ||||¦  «        ƒ d {V —† d S |j        €J ‚|                     |||¦  «        ƒ d {V —† d S t          ¦   «                              |||¦  «        ƒ d {V —† d S )Nrb  ÚAllowz, rw   é•  )rô   rf  zMethod Not Allowed)	rÊ  r  rå  ÚjoinrO   rR   rw   r   Úhandle)	rˆ   ri   rj   rk   r	  rå  rf  rs   r¥  s	           €rv   r  zAPIRoute.handle  s2  øè è € Ý>¸uÑEÔEÐØÐ(Ð->Ô-MÐQUÐ-UÐ-UØ'Ô/ˆGØð ˜5 œ?°'Ð9Ð9Ø" D§I¢I¨gÑ$6Ô$6Ð7�Ø˜E�>�>Ý'°CÀÐIÑIÔIÐIÝ,Ø(°cÀ7ðñ ô �ð �h˜u g¨tÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ø�Ø$Ô(Ð4Ð4Ð4Ø#×'Ò'¨¨w¸Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ØˆFÝ‰gŒg�nŠn˜U G¨TÑ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2rx   )&r”   r•   r–   r   r»  r®   rœ   rA   r˜   rT   r"   r–  rV   rp  r   r   rÐ  r   r   r¦  r#   r!   rQ   rC   r   ré  r‰   rP   r   r  ra   r§  rW   r¡  r`   rb   r  r¨  r©  s   @rv   r  r  ‡  s;  ø€ € € € € € Ø˜D‘jÐ Ð Ñ ØÐÐÑØ�4‰ZÐÐÑØÐÐÑØ�t‘ÐÐÑØ˜‘*ÐÐÑØ! D™LÐ(Ð(Ñ(Ø! D™LÐ(Ð(Ñ(Ø!Ð!Ð!Ñ!Ø"&Ð&Ð&Ñ&Ø%)Ð)Ð)Ñ)Ø!%Ð%Ð%Ñ%ØÐÐÑØ˜”NÐ%7Ñ7Ð7Ð7Ñ7Ø#&¨¡:Ð-Ð-Ñ-Ø�IŒ Ñ%Ð%Ð%Ñ%Ø˜˜S˜”> DÑ(Ð(Ð(Ñ(Ø!)¨3¨%°¨*Ô!5Ð8JÑ!JÐJÐJÑJØÐ 2Ñ2Ð2Ð2Ñ2Ø
ˆs�T‰zÔ
ÐÐÑØ�C˜#‘I˜t C¨ Hœ~Ð-Ô.Ð.Ð.Ñ.Ø€N€N�NØ�t‘ÐÐÑØ Ñ%Ð%Ð%Ñ%Ø! DÑ(Ð(Ð(Ñ(Ø�v”~Ô&Ð&Ð&Ñ&ØÐÐÑØ˜# ™) ZÐ/Ô0Ð0Ð0Ñ0ØÐÐÑØÐÐÑØ˜TÑ!Ð!Ð!Ñ!ØÐÐÑØÐÐÑð &˜g d™mœmØ"&Ø(,Ø8<Ø"Ø"&Ø$9Ø<@Ø"&ØØ/3Ø#'Ø/3Ø/3Ø(,Ø-2Ø05Ø,1Ø"&Ø>E¸gÀlÑ>SÔ>SØ48Ø,0Ø/3à&˜wÐ'9Ñ:Ô:Ø9@¸À¹¼ð=>>ð >>ð >>àð>>ð ˜3 ˜8Ô$ð>>ð
 ð>>ð ˜4‘Zð>>ð �3˜‘:Ô Ñ%ð>>ð ˜vœ~Ô.°Ñ5ð>>ð �t‘ð>>ð ˜4‘Zð>>ð "ð>>ð ˜˜c™	 4¨¨S¨¤>Ð1Ô2°TÑ9ð>>ð ˜4‘Kð>>ð �D‰jð>>ð �S”˜D œIÑ%¨Ñ,ð>>ð  ˜D‘jð!>>ð" !&¨¡ð#>>ð$ !&¨¡ð%>>ð& "&ð'>>ð( '+ð)>>ð* *.ð+>>ð, &*ð->>ð.  ð/>>ð0 ˜XœÐ);Ñ;ð1>>ð2 (+¨T¡zð3>>ð4 ˜	”? TÑ)ð5>>ð6 ˜C ˜H”~¨Ñ,ð7>>ð8 &.¨z¨l¸CÐ.?Ô%@Ø
ñ&ð9>>ð< "Ð$6Ñ6ð=>>ð> 
ð?>>ð >>ð >>ð >>ð@
 8¨W¨I°yÀÀcÈ8ÐASÔ7TÐ,TÔ#Uð 
ð 
ð 
ð 
ð4"˜Uð " u¨U°E¨\Ô':ð "ð "ð "ð "ð "ð "ð3 %ð 3°'ð 3Àð 3È$ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3rx   r  c                   ó   — e Zd ZU ded<   dZeed<    ee¬¦  «        Zeee	z           ed<    ee¬¦  «        Z
eej                 ed<    ed„ ¬¦  «        Zee         ez  ed	<    ee¬¦  «        Zeeez  eeef         f         ed
<    ee¬¦  «        Zee         ed<   dZedz  ed<   dZeed<    ed„ ¬¦  «        Zeegef         ez  ed<    ed„ ¬¦  «        Zeez  ed<   dZedz  ed<   eddd e e!¦  «        dddd e e"¦  «        dœ	dddddedeee	z           dz  de#ej                 dz  d	ee         ez  d
eeez  eeef         f         dz  dee         dz  dedz  dedeegef         ez  dd fd„¦   «         Z$	 	 	 	 dd„Z%de&defd„Z'dS )Ú_RouterIncludeContextr³   r®  r  Úprefix©Údefault_factoryrã  r  c                  ó*   — t          t          ¦  «        S r†   ©r!   rQ   r�   rx   rv   ú<lambda>z_RouterIncludeContext.<lambda>(  ó   € ¥­Ñ 5Ô 5€ rx   Údefault_response_classrä  rà  Nre   Trß  c                  ó*   — t          t          ¦  «        S r†   ©r!   rC   r�   rx   rv   r  z_RouterIncludeContext.<lambda>/  ó   € ¥Õ(:Ñ ;Ô ;€ rx   râ  c                  ó    — t          d¦  «        S ©NT©r!   r�   rx   rv   r  z_RouterIncludeContext.<lambda>2  ó   € ¥¨¡¤€ rx   r  r  ©	r  rã  r  r  rä  rà  re   rß  râ  Úparent_routerrg   c                ó  —  | ||j         |z   g |j        ¢|pg ¢g |j        ¢|pg ¢t          ||j        ¦  «        i |j        ¥|pi ¥g |j        ¢|pg ¢|	p|j        |j        o|
t          ||j	        ¦  «        |j
        |j        ¬¦  «        S ©N)r®  r  rã  r  r  rä  rà  re   rß  râ  r  r  )r  rã  r  rD   r  rä  rà  re   rß  râ  r  r  )Úclsr"  r®  r  rã  r  r  rä  rà  re   rß  râ  s               rv   Úfor_includez!_RouterIncludeContext.for_include6  sÎ   € ð& ˆsØ+Ø Ô'¨&Ñ0Ø5�=Ô%Ð5¨¨°Ð5ØM˜=Ô5ÐM¸Ð9KÈÐMÝ#7Ø&¨Ô(Lñ$ô $ð G˜Ô0ÐF°Y°_À"ÐFØD˜Ô/ÐD°9°?ÀÐDØ!Ð= ]Ô%=Ø+Ô=ÐSÐBSÝ(<Ø+¨]Ô-Vñ)ô )ð !.Ô AØ*7Ô*Uð!
ñ 
ô 
ð 	
rx   Úchild_contextc                 ó–  — t          |j        | j        |j        z   g | j        ¢|j        ¢g | j        ¢|j        ¢t          |j        | j        ¦  «        i | j        ¥|j        ¥g | j        ¢|j        ¢| j	        p|j	        | j
        o|j
        t          |j        | j        ¦  «        t          |j        | j        ¦  «        | j        ¬¦  «        S r$  )r  r®  r  rã  r  rD   r  rä  rà  re   rß  râ  r  r  )rˆ   r'  s     rv   Úcombinez_RouterIncludeContext.combine\  së   € õ %Ø)Ô9Ø”; Ô!5Ñ5Ø2�4”9Ð2˜}Ô1Ð2ØJ˜4Ô,ÐJ¨}Ô/IÐJÝ#7ØÔ4°dÔ6Qñ$ô $ð D˜œÐC¨=Ô+BÐCØA˜œÐA¨Ô)@ÐAØ”ÐB¨-Ô*BØ"Ô4ð 0ØÔ/Ý(<ØÔ9ØÔ0ñ)ô )õ !5ØÔ1°4Ô3Kñ!ô !ð +/Ô*Lð)
ñ 
ô 
ð 	
rx   rŸ  c                 ó    — | j         |j        z   S r†   ©r  r  ©rˆ   rŸ  s     rv   Úpath_forz_RouterIncludeContext.path_forv  s   € ØŒ{˜UœZÑ'Ð'rx   )r'  r  rg   r  )(r”   r•   r–   r»  r  r®   r   r–  rã  r   r  r   r¦  r  r˜   rT   r"   rp  rä  rÐ  r   rà  rV   re   rœ   rß  râ  r   r  r  r  Úclassmethodr!   rQ   rC   r   r&  r)  rº  r-  r�   rx   rv   r  r  !  sD  € € € € € € à Ð Ð Ñ Ø€FˆCÐÐÑØ"˜U°4Ð8Ñ8Ô8€Dˆ$ˆs�T‰zÔ
Ð8Ð8Ñ8Ø).¨¸tÐ)DÑ)DÔ)D€L�$�v”~Ô&ÐDÐDÑDØBGÀ%Ø5Ð5ðCñ Cô CÐ˜D œNÐ-?Ñ?ð ð ñ ð 27°ÀtÐ1LÑ1LÔ1L€Iˆt�C˜#‘I˜t C¨ Hœ~Ð-Ô.ÐLÐLÑLØ!& °tÐ!<Ñ!<Ô!<€Iˆt�IŒÐ<Ð<Ñ<Ø"€J��t‘Ð"Ð"Ñ"Ø"Ð�tÐ"Ð"Ñ"ØRWÐRWØ;Ð;ðSñ Sô SÐ ¨8¨*°c¨/Ô!:Ð=OÑ!Oð ð ñ ð 6;°UØ-Ð-ð6ñ 6ô 6Ð˜Ð 2Ñ2ð ð ñ ð 15Ð! 3¨¡:Ð4Ð4Ñ4àð Ø(,Ø8<ØFMÀgØñG
ô G
ð =AØ,0Ø"&Ø"&à&˜wÐ'9Ñ:Ô:ð!#
ð #
ð #
ð #ð#
ð %ð	#
ð
 ð#
ð �3˜‘:Ô Ñ%ð#
ð ˜vœ~Ô.°Ñ5ð#
ð !% X¤Ð1CÑ Cð#
ð ˜˜c™	 4¨¨S¨¤>Ð1Ô2°TÑ9ð#
ð ˜	”? TÑ)ð#
ð ˜4‘Kð#
ð  ð#
ð &.¨x¨j¸#¨oÔ%>Ø
ñ&ð#
ð" 
!ð##
ð #
ð #
ñ „[ð#
ðJ
Ø4ð
à	 ð
ð 
ð 
ð 
ð4(˜nð (°ð (ð (ð (ð (ð (ð (rx   r  c                   ó  — e Zd ZU eed<   dZedz  ed<    eddd¬¦  «        Zedz  ed<   dZ	e
ed<   dZe
ed	<   dZed
ef         dz  ed<   dZedz  ed<   dZeed<   dZe
dz  ed<   dZe
ed<   dZedz  ed<   dZe
dz  ed<   dZedz  ed<   dZedz  ed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<    ed„ ¬¦  «        Zee          e!z  ed<   dZ"edz  ed<   dZ#e$e         dz  ed<   dZ%e&e
ef         dz  ed <    ed!„ ¬¦  «        Z'eege
f         e!z  ed"<    ed#„ ¬¦  «        Z(ee!z  ed$<    ee$¬¦  «        Z)e$e
e*z           ed%<    ee&¬¦  «        Z+e&e,e
z  e&e
ef         f         ed&<   dZ-e
ed'<   dZ.eed(<   dZ/e
ed)<    ee&¬¦  «        Z0e&e
ef         ed*<    ee1¬¦  «        Z2e1e
         ed+<   dZ3e
ed,<   dZ4e,dz  ed-<   dZ5e6dz  ed.<   dZ7e6dz  ed/<    ee$¬¦  «        Z8e$e9j:                 ed0<   dZ;e
ed1<    ee&¬¦  «        Z<e&e,e
z  e6f         ed2<   dZ=e>dz  ed3<   dZ?eed4<   dZ@e6dz  ed5<   dZAeed6<   dZBeed7<   eCdeDd8eEd9d fd:„¦   «         ZFeCdd;d8eEd9d fd<„¦   «         ZGd=eHd9eIeJeHf         fd>„ZKd'e
d?ed9efd@„ZLdS )AÚ_EffectiveRouteContextr  NÚstarlette_routeF)r°  ÚreprÚcomparerw   r  Úfrontend_prefixr  .rí   rÚ  rÛ  rÜ  rê  rÝ  re   rÞ  rÿ   r   Tr  r  r  r  rß  c                  ó*   — t          t          ¦  «        S r†   r  r�   rx   rv   r  z_EffectiveRouteContext.<lambda>�  r  rx   r  rý   r  rà  rá  c                  ó*   — t          t          ¦  «        S r†   r  r�   rx   rv   r  z_EffectiveRouteContext.<lambda>–  r  rx   râ  c                  ó    — t          d¦  «        S r  r  r�   rx   rv   r  z_EffectiveRouteContext.<lambda>™  r   rx   r  rã  rä  rï   r—  r˜  r™  rå  ræ  rô   rþ   r  r  rç  rè  ré   r›  rü   rˆ  r	  Úinclude_contextrg   c          
      ój  — t          t          |¦  «        } | |¬¦  «        }t          t          t          |¦  «        |                     |¦  «        |j        fi d|j        “d|j        “dg |j        ¢|j        ¢“dg |j        ¢|j        ¢“d|j	        “d|j
        “d|j        “d	i |j        ¥|j        ¥“d
|j        p|j        “d|j        “d|j        “d|j        “d|j        “d|j        “d|j        “d|j        “d|j        “d|j        o|j        “dt/          |j        |j        j        |j        ¦  «        “d|j        “d|j        “dg |j        ¢|j        pg ¢“d|j        “dt/          |j        |j        j        |j        ¦  «        “dt/          |j         |j        j         |j         ¦  «        “d|j!        “Ž tD           #                    |¦  «        }	 tI          | %                    ¦   «         ¦  «        |_&        tD           '                    |¦  «         n# tD           '                    |¦  «         w xY w|S )N)r  rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   rï   r  rà  rá  râ  r  rÚ  )(r   rÙ  r  r-  rí   rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rå  rÞ  rÿ   r   r  r  r  r  rß  rD   rý   r®  r  rï   r  rà  rá  râ  r  rÚ  r±  ré  r{   r  rw   Úreset)r%  r  r8  rŸ  ÚcontextÚtokens         rv   Úfrom_api_routez%_EffectiveRouteContext.from_api_route¯  s  € õ •] NÑ3Ô3ˆØ�# ^Ð4Ñ4Ô4ˆÝ!Ý• Ñ(Ô(Ø×$Ò$ ^Ñ4Ô4ØŒNð+	
ð +	
ð +	
ð !Ô/Ð/ð	+	
ð
 Ô)Ð)ð+	
ð 6�?Ô'Ð5¨%¬*Ð5Ð5ð+	
ð N˜?Ô7ÐM¸%Ô:LÐMÐMð+	
ð ”M�Mð+	
ð Ô)Ð)ð+	
ð "'Ô!;Ð!;ð+	
ð G˜Ô2ÐF°e´oÐFÐFð+	
ð Ô'ÐE¨?Ô+Eøð+	
ð ”M�Mð+	
ð Ô+Ð+ð+	
ð $)Ô#?Ð#?ð+	
ð  $)Ô#?Ð#?ð!+	
ð" %*Ô$AÐ$Að#+	
ð$ */Ô)KÐ)Kð%+	
ð& -2Ô,QÐ,Qð'+	
ð( ).Ô(IÐ(Ið)+	
ð* $Ô5ð 2ØÔ1øð-+	
õ. 0ØÔ$ØÔ/ÔFØÔ6ñô ð ð/+	
ð8 ”�ð9+	
ð: +:Ô*WÐ*Wð;+	
ð< M˜Ô1ÐL°U´_Ð5JÈÐLÐLð=+	
ð>  Ô-Ð-ð?+	
õ@ )=ØÔ1ØÔ/ÔKØÔ;ñ)ô )ð )ðA+	
õJ !5ØÔ)ØÔ/ÔCØÔ3ñ!ô !ð !ðK+	
ðT #Ô3Ð3ðU+	
ð +	
õ\ -×0Ò0°Ñ9Ô9ˆð	6Ý*¨>×+KÒ+KÑ+MÔ+MÑNÔNˆGŒKå(×.Ò.¨uÑ5Ô5Ð5Ð5øÕ(×.Ò.¨uÑ5Ô5Ð5Ð5øøøØˆs   Ç&H ÈH0Ú_FrontendRouteGroupc                ó¢   — g |j         ¢|j         ¢} | ||j        ||j        ¬¦  «        }t          dt          |¬¦  «        \  |_        }|_        |S )N)r  r4  r  r  r  r”  )r  r  r  rš  r³  ré   r›  )r%  r  r8  r  r;  rœ  s         rv   Úfrom_frontend_route_groupz0_EffectiveRouteContext.from_frontend_route_groupí  sz   € ð U˜Ô5ÐT¸Ô8SÐTˆØ�#Ø)Ø+Ô2Ø%Ø*9Ô*Wð	
ñ 
ô 
ˆõ =ØÝ.Ø%ð
ñ 
ô 
ñ		
ØÔØØÔ&ð ˆrx   ri   c                 ó  — t          | j        t          ¦  «        r | j                             || j        ¦  «        S t          | j        t
          ¦  «        s#| j        €J ‚| j                             |¦  «        S |d         dk    rt          j	        i fS t          |¦  «        }| j                             |¦  «        }|st          j	        i fS |                     ¦   «         }|                     ¦   «         D ](\  }}| j        |                              |¦  «        ||<   Œ)t#          |                     di ¦  «        ¦  «        }|                     |¦  «         | j        |dœ}| j        }	|	r|d         |	vrt          j        |fS t          j        |fS )Nr˜   ÚhttpÚpath_params)rí   rC  rb  )r+  r  r>  Úmatches_with_prefixr4  r  r1  r¡  rW   r¢  rH   r—  r£  Ú	groupdictrÂ  r™  Úconvertrp  r`  rÃ  rí   rå  ÚPARTIALÚFULL)
rˆ   ri   Ú
route_pathr£  Úmatched_paramsrÅ  ræ   rC  r¤  rå  s
             rv   r¡  z_EffectiveRouteContext.matches  s‰  € Ý�dÔ)Õ+>Ñ?Ô?ð 	XØÔ&×:Ò:¸5À$ÔBVÑWÔWÐWÝ˜$Ô-­xÑ8Ô8ð 	7ØÔ'Ð3Ð3Ð3ØÔ'×/Ò/°Ñ6Ô6Ð6Ø�Œ=˜FÒ"Ð"Ý”:˜r�>Ð!Ý# EÑ*Ô*ˆ
Ø”×%Ò% jÑ1Ô1ˆØð 	"Ý”:˜r�>Ð!ØŸšÑ*Ô*ˆØ(×.Ò.Ñ0Ô0ð 	Lð 	L‰JˆC�Ø"&Ô"7¸Ô"<×"DÒ"DÀUÑ"KÔ"KˆN˜3ÑÐÝ˜5Ÿ9š9 ]°BÑ7Ô7Ñ8Ô8ˆØ×Ò˜>Ñ*Ô*Ð*Ø#'¤=ÀÐMÐMˆØ”,ˆØð 	.�u˜X”¨gÐ5Ð5Ý”= +Ð-Ð-ÝŒz˜;Ð&Ð&rx   rC  c                ó²  — t          | j        t          ¦  «        s| j        €J ‚ | j        j        |fi |¤ŽS t          |                     ¦   «         ¦  «        }| j        }t          |                     ¦   «         ¦  «        }|| j        k    s||k    rt          j
        ||¦  «        ‚t          j        | j        ||¦  «        \  }}|rJ ‚t          |d¬¦  «        S )NrB  )r  Úprotocol)r+  r  r  r1  Úurl_path_forré  Úkeysr™  rï   rF   rX   Úreplace_paramsr˜  rN   )rˆ   rï   rC  Úseen_paramsr™  Úexpected_paramsr  Úremaining_paramss           rv   rM  z#_EffectiveRouteContext.url_path_for  sï   € Ý˜$Ô-­xÑ8Ô8ð 	JØÔ'Ð3Ð3Ð3Ø4�4Ô'Ô4°TÐIÐI¸[ÐIÐIÐIÝ˜+×*Ò*Ñ,Ô,Ñ-Ô-ˆØÔ0ÐÝÐ.×3Ò3Ñ5Ô5Ñ6Ô6ˆØ�4”9ÒÐ ¨Ò >Ð >ÝÔ& t¨[Ñ9Ô9Ð9Ý!(Ô!7ØÔÐ.°ñ"
ô "
ÑˆÐð $Ð#Ð#Ð#Ý˜D¨6Ð2Ñ2Ô2Ð2rx   )Mr”   r•   r–   rV   r»  r1  r   rw   r^   r4  r®   r  rí   r   r   rÚ  rÛ  rÜ  rÝ  re   rœ   rÞ  rÿ   rA   r   r  r  r  r  rß  rý   r˜   rT   r"   r  rà  r–  rá  rp  râ  r  rã  r   rä  rÐ  rï   r—  r˜  r™  ré  rå  ræ  rô   rþ   r   r  r  r   r¦  rç  rè  ré   r#   r›  rü   rˆ  r	  r.  r  r  r=  r@  ra   r§  rW   r¡  rM  r�   rx   rv   r0  r0  z  s+  € € € € € € àÐÐÑØ(,€O�Y Ñ%Ð,Ð,Ñ,Ø˜%¨°5À%ÐHÑHÔH€Cˆ�4‰ÐHÐHÑHØ€O�SÐÐÑØ€Dˆ#€N€N�NØ*.€Hˆh�s˜C�xÔ  4Ñ'Ð.Ð.Ñ.Ø#'Ð�c˜D‘jÐ'Ð'Ñ'Ø€N�CÐÐÑØ€GˆS�4‰ZÐÐÑØ 5Ð˜#Ð5Ð5Ñ5Ø"€J��t‘Ð"Ð"Ñ"Ø#€L�#˜‘*Ð#Ð#Ñ#Ø+/Ð˜E D™LÐ/Ð/Ñ/Ø+/Ð˜E D™LÐ/Ð/Ñ/Ø$(Ð˜TÐ(Ð(Ñ(Ø).Ð  $Ð.Ð.Ñ.Ø,1Ð# TÐ1Ð1Ñ1Ø(-Ð Ð-Ð-Ñ-Ø"Ð�tÐ"Ð"Ñ"Ø:?¸%Ø5Ð5ð;ñ ;ô ;€N�D˜”NÐ%7Ñ7ð ð ñ ð 15Ð! 3¨¡:Ð4Ð4Ñ4Ø(,€Iˆt�IŒ Ñ%Ð,Ð,Ñ,Ø+/€M�4˜˜S˜”> DÑ(Ð/Ð/Ñ/ØMRÈUØ;Ð;ðNñ Nô NÐ ¨3¨%°¨*Ô!5Ð8JÑ!Jð ð ñ ð 6;°UØ-Ð-ð6ñ 6ô 6Ð˜Ð 2Ñ2ð ð ñ ð #˜U°4Ð8Ñ8Ô8€Dˆ$ˆs�T‰zÔ
Ð8Ð8Ñ8Ø16°ÀtÐ1LÑ1LÔ1L€Iˆt�C˜#‘I˜t C¨ Hœ~Ð-Ô.ÐLÐLÑLØ€Dˆ#€N€N�NØ€J�ÐÐÑØ€K�ÐÐÑØ', u¸TÐ'BÑ'BÔ'BÐ�d˜3 ˜8”nÐBÐBÑBØ˜¨cÐ2Ñ2Ô2€GˆS�ŒXÐ2Ð2Ñ2Ø€IˆsÐÐÑØ"€K��t‘Ð"Ð"Ñ"Ø(,€N�J Ñ%Ð,Ð,Ñ,Ø+/Ð�z DÑ(Ð/Ð/Ñ/Ø).¨¸tÐ)DÑ)DÔ)D€L�$�v”~Ô&ÐDÐDÑDØ€K�ÐÐÑØ38°5ÈÐ3NÑ3NÔ3N€O�T˜# ™) ZÐ/Ô0ÐNÐNÑNØ"&€Iˆy˜4ÑÐ&Ð&Ñ&Ø$Ð˜Ð$Ð$Ñ$Ø$(€J�
˜TÑ!Ð(Ð(Ñ(Ø€M�4ÐÐÑØ €N�DÐ Ð Ñ àð;ð !ð;ð /ð	;ð
 
"ð;ð ;ð ;ñ „[ð;ðz ðð .ðð /ð	ð
 
"ðð ð ñ „[ðð0'˜Uð ' u¨U°E¨\Ô':ð 'ð 'ð 'ð 'ð.3 ð 3¸ð 3Àð 3ð 3ð 3ð 3ð 3ð 3rx   r0  )Úfrozenc                   óX  — e Zd ZU eed<    edd¬¦  «        Zedz  ed<   edefd„¦   «         Z	edeez  fd„¦   «         Z
ededz  fd	„¦   «         Zededz  fd
„¦   «         Zededz  fd„¦   «         Zedee         dz  fd„¦   «         Zededef         dz  fd„¦   «         Zdedefd„ZdS )ÚRouteContextrŸ  NF)r°  r2  Ú_route_contextrg   c                 ó6   — | j         �| j         j        S | j        S r†   )rV  r  rŸ  rŒ   s    rv   r  zRouteContext.original_route2  s   € àÔÐ*ØÔ&Ô5Ð5ØŒzÐrx   c                 ó,   — | j         �| j         S | j        S r†   )rV  rŸ  rŒ   s    rv   Ú_effective_routezRouteContext._effective_route8  s   € àÔÐ*ØÔ&Ð&ØŒzÐrx   c                 ó.   — t          | j        dd ¦  «        S )Nr  ©rÉ   rY  rŒ   s    rv   r  zRouteContext.path>  ó   € å�tÔ,¨f°dÑ;Ô;Ð;rx   c                 ó.   — t          | j        dd ¦  «        S )Nr˜  r[  rŒ   s    rv   r˜  zRouteContext.path_formatB  s   € å�tÔ,¨m¸TÑBÔBÐBrx   c                 ó.   — t          | j        dd ¦  «        S )Nrï   r[  rŒ   s    rv   rï   zRouteContext.nameF  r\  rx   c                 ó.   — t          | j        dd ¦  «        S )Nrå  r[  rŒ   s    rv   rå  zRouteContext.methodsJ  s   € å�tÔ,¨i¸Ñ>Ô>Ð>rx   .c                 ó.   — t          | j        dd ¦  «        S )Nrí   r[  rŒ   s    rv   rí   zRouteContext.endpointN  s   € å�tÔ,¨j¸$Ñ?Ô?Ð?rx   rï   c                 ó,   — t          | j        |¦  «        S r†   r[  )rˆ   rï   s     rv   Ú__getattr__zRouteContext.__getattr__R  s   € Ý�tÔ,¨dÑ3Ô3Ð3rx   )r”   r•   r–   rV   r»  r   rV  r0  Úpropertyr  rY  r®   r  r˜  rï   ré  rå  r   r   rí   rb  r�   rx   rv   rU  rU  -  sª  € € € € € € àÐÐÑØ49°EÀ$ÈUÐ4SÑ4SÔ4S€NÐ*¨TÑ1ÐSÐSÑSàð 	ð ð ð ñ „Xðð
 ð )Ð.DÑ"Dð ð ð ñ „Xðð
 ð<�c˜D‘jð <ð <ð <ñ „Xð<ð ðC˜S 4™Zð Cð Cð Cñ „XðCð ð<�c˜D‘jð <ð <ð <ñ „Xð<ð ð?˜˜Sœ D™ð ?ð ?ð ?ñ „Xð?ð ð@˜( 3¨ 8Ô,¨tÑ3ð @ð @ð @ñ „Xð@ð4 ð 4¨ð 4ð 4ð 4ð 4ð 4ð 4rx   rU  c            	       óÊ  — e Zd ZU ded<   eed<    eej        dd¬¦  «        Ze	ed<    ee
¬¦  «        Ze
d         ed	<   d
Zed
z  ed<    ee
¬¦  «        Ze
d         ed<   d
Zed
z  ed<   de
d         fd„Zde
d         fd„Zdeded
z  fd„Zdedeeeed
z  ed
z  f         fd„Zdedeeef         fd„Zdedededd
fd„Zdedededd
fd„Zdee         fd„Zde de	de	fd„Z!d
S )Ú_IncludedRouterr³   Úoriginal_routerr8  F)r  r2  r3  Ú_effective_routes_lockr  z(_EffectiveRouteContext | _IncludedRouterÚ_effective_candidatesNÚ_effective_candidates_versionr0  Ú_effective_low_priority_routesÚ&_effective_low_priority_routes_versionrg   c                 ób  — | j                              ¦   «         }|| j        k    r| j        S | j        5  | j                              ¦   «         }|| j        k    r| j        cd d d ¦  «         S g }| j         j        D ]Ž}t          |t          ¦  «        rK| j         	                    |j        ¦  «        }t          |j         |¬¦  «        }| 
                    |¦  «         Œb|                      |¦  «        }|�| 
                    |¦  «         Œ�|| _        || _        |cd d d ¦  «         S # 1 swxY w Y   d S ©N©rf  r8  )rf  Ú_get_routes_versionri  rh  rg  Úroutesr+  re  r8  r)  ÚappendÚ_build_effective_context)rˆ   Úroutes_versionÚeffective_candidatesrŸ  r'  Úchild_branchÚroute_contexts          rv   rt  z$_IncludedRouter.effective_candidatesf  s«  € ØÔ-×AÒAÑCÔCˆØ˜TÔ?Ò?Ð?ØÔ-Ð-ØÔ(ð 	(ð 	(Ø!Ô1×EÒEÑGÔGˆNØ Ô!CÒCÐCØÔ1ð	(ð 	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð TVÐ ØÔ-Ô4ð ?ð ?�Ý˜e¥_Ñ5Ô5ð Ø$(Ô$8×$@Ò$@ÀÔAVÑ$WÔ$W�MÝ#2Ø(-Ô(=Ø(5ð$ñ $ô $�Lð )×/Ò/°Ñ=Ô=Ð=ØØ $× =Ò =¸eÑ DÔ D�Ø Ð,Ø(×/Ò/°Ñ>Ô>Ð>øØ)=ˆDÔ&Ø1?ˆDÔ.Ø'ð'	(ð 	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ³+D$Á+B,D$Ä$D(Ä+D(c                 ó¢  — | j                              ¦   «         }|| j        k    r| j        S | j        5  | j                              ¦   «         }|| j        k    r| j        cd d d ¦  «         S g }| j         j        D ].}|                      |¦  «        }|�|                     |¦  «         Œ/| j         j        D ]s}t          |t          ¦  «        r\| j                             |j        ¦  «        }t          |j         |¬¦  «        }|                     |                     ¦   «         ¦  «         Œt|| _        || _        |cd d d ¦  «         S # 1 swxY w Y   d S rm  )rf  ro  rk  rj  rg  Ú_low_priority_routesrr  rq  rp  r+  re  r8  r)  ru  Úeffective_low_priority_routes)rˆ   rs  ry  rŸ  rv  r'  ru  s          rv   ry  z-_IncludedRouter.effective_low_priority_routes  sÖ  € ØÔ-×AÒAÑCÔCˆØ˜TÔHÒHÐHØÔ6Ð6ØÔ(ð 	1ð 	1Ø!Ô1×EÒEÑGÔGˆNØ Ô!LÒLÐLØÔ:ð	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð KMÐ)ØÔ-ÔBð Hð H�Ø $× =Ò =¸eÑ DÔ D�Ø Ð,Ø1×8Ò8¸ÑGÔGÐGøØÔ-Ô4ð 	ð 	�Ý˜e¥_Ñ5Ô5ð Ø$(Ô$8×$@Ò$@ÀÔAVÑ$WÔ$W�MÝ#2Ø(-Ô(=Ø(5ð$ñ $ô $�Lð 2×8Ò8Ø$×BÒBÑDÔDñô ð øð 3PˆDÔ/Ø:HˆDÔ7Ø0ð+	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s   ³+EÁ+CEÅEÅErŸ  c                 óþ  — t          |t          ¦  «        r!t                               || j        ¬¦  «        S t          |t
          ¦  «        r!t                               || j        ¬¦  «        S t          |t          j        ¦  «        ret          j        | j         	                    |¦  «        |j
        t          |j        pg ¦  «        |j        |j        ¬¦  «        }t          ||¬¦  «        S t          |t          ¦  «        rdt          | j         	                    |¦  «        |j
        |j        g | j        j        ¢|j        ¢| j        j        ¬¦  «        }t          ||¬¦  «        S t          |t          j        ¦  «        rJt          j        | j         	                    |¦  «        |j
        |j        ¬¦  «        }t          ||¬¦  «        S t          |t          j        ¦  «        r�t)          j        |¦  «        }| j         	                    |¦  «                             d¦  «        |_        t/          |j        dz   ¦  «        \  |_        |_        |_        t          ||¬¦  «        S t          |t          j        ¦  «        r| j        j        r:t          j        t          j        | j        j        |j        ¬¦  «        g¬	¦  «        }n|j        }t          j        |j        ||j        ¬
¦  «        }t          ||¬¦  «        S d S )N)r  r8  )rí   rå  rï   rß  )r  r1  ©rí   rï   r  r  ©rï   r  z/{path:path})rw   )rp  )rw   rï   ) r+  r  r0  r=  r8  r>  r@  rF   ÚRouter-  rí   r–  rå  rï   rß  r’  r  r  ÚWebSocketRouter[   Úcopyra  r  rY   r—  r˜  r™  ÚHostr  ÚRouterrw   Úhost)rˆ   rŸ  r1  Úprefixed_apps       rv   rr  z(_IncludedRouter._build_effective_contextš  s%  € õ �e�XÑ&Ô&ð 	Ý)×8Ò8Ø$Ø $Ô 4ð 9ñ ô ð õ �eÕ0Ñ1Ô1ð 	Ý)×CÒCØ$Ø $Ô 4ð Dñ ô ð õ �e�Wœ]Ñ+Ô+ð 	Ý)0¬ØÔ$×-Ò-¨eÑ4Ô4ØœÝ˜Uœ]Ð0¨bÑ1Ô1Ø”ZØ"'Ô"9ð*ñ *ô *ˆOõ *Ø$Ø /ðñ ô ð õ �eÕ.Ñ/Ô/ð 	Ý/ØÔ$×-Ò-¨eÑ4Ô4ØœØ”ZØV˜tÔ3Ô@ÐVÀ5ÔCUÐVàÔ(ÔFðñ ô ˆOõ *Ø$Ø /ðñ ô ð õ �e�WÔ3Ñ4Ô4ð 	Ý%Ô4ØÔ$×-Ò-¨eÑ4Ô4°e´nÈ5Ì:ðñ ô ˆOõ *Ø$Ø /ðñ ô ð õ �e�Wœ]Ñ+Ô+ð 	Ý"œi¨Ñ.Ô.ˆOØ#'Ô#7×#@Ò#@ÀÑ#GÔ#G×#NÒ#NÈsÑ#SÔ#SˆOÔ õ
 ˜_Ô1°NÑBÑCÔCñ	ØÔ*ØÔ+ØÔ0å)Ø$Ø /ðñ ô ð õ �e�Wœ\Ñ*Ô*ð 	ØÔ#Ô*ð )Ý(/¬Ý#œM¨$Ô*>Ô*EÈ5Ì9ÐUÑUÔUÐVð)ñ )ô )��ð  %œy�Ý%œlØ”
 °5´:ðñ ô ˆOõ *Ø$Ø /ðñ ô ð ð ˆtrx   ri   c                 óô  — d }|                       ¦   «         D �]9}t          |t          ¦  «        r|                     |¦  «        \  }}|}d }nÕt          |j        t
          ¦  «        r“|}t          |¦  «        }|                     t          t          ¦  «        }	||t          <   	 |j                             |¦  «        \  }}t          |t          |	¦  «         n# t          |t          |	¦  «         w xY w|j        }n(|}|                     |¦  «        \  }}|j        p|j        }|t          j        k    r||||fc S |t          j        k    r|€|||f}�Œ;|�|\  }}}t          j        |||fS t          j        i d d fS r†   )rt  r+  re  r¡  r  r  rÀ  r`  rÈ  rÕ  r×  r1  rW   rH  rG  r¢  )
rˆ   ri   rz   Ú	candidater£  r¤  rŸ  rv  r¿  Úprevious_contexts
             rv   Ú_matchz_IncludedRouter._matchå  sÀ  € ð RVˆØ×2Ò2Ñ4Ô4ð 	>ñ 	>ˆIÝ˜)¥_Ñ5Ô5ð NØ%.×%6Ò%6°uÑ%=Ô%=Ñ"��{Ø#,�Ø $��Ý˜IÔ4µhÑ?Ô?ð NØ )�Ý 2°5Ñ 9Ô 9�Ø#0×#4Ò#4Ý8½.ñ$ô $Ð ð GT�ÕBÑCðØ)2Ô)A×)IÒ)IÈ%Ñ)PÔ)PÑ&�E˜;å.ØÕCÐEUñô ð ð øÕ.ØÕCÐEUñô ð ð øøøð "Ô0��à )�Ø%.×%6Ò%6°uÑ%=Ô%=Ñ"��{Ø!Ô1ÐM°YÔ5M�Ø�œ
Ò"Ð"Ø˜k¨5°-Ð?Ð?Ð?Ð?Ø�œÒ%Ð%¨'¨/Ø&¨¨}Ð=�ùØÐØ07Ñ-ˆK˜ Ý”= +¨u°mÐCÐCÝŒz˜2˜t TÐ)Ð)s   Â"CÃC.c                 ó  — t          |¦  «        }|                     t          t          ¦  «        }| |t          <   	 | j                             |¦  «        \  }}|i ft          |t          |¦  «         S # t          |t          |¦  «         w xY wr†   )rÀ  r`  rÌ  rÕ  rf  r¡  r×  )rˆ   ri   r¿  Úprevious_routerr£  rœ  s         rv   r¡  z_IncludedRouter.matches	  sž   € Ý*¨5Ñ1Ô1ˆØ'×+Ò+Ý(­.ñ
ô 
ˆð 7;ˆÕ2Ñ3ð	ØÔ+×3Ò3°EÑ:Ô:‰HˆE�1Ø˜"�9å&ØÕ3°_ñô ð ð øÕ&ØÕ3°_ñô ð ð øøøs   » A2 Á2B
rj   rk   c              ƒ   ó|   K  — | t          |¦  «        t          <   | j                             |||¦  «        ƒ d {V —† d S r†   )rÀ  rÌ  rf  r  )rˆ   ri   rj   rk   s       rv   r  z_IncludedRouter.handle  sM   è è € ØBFÕ˜5Ñ!Ô!Õ">Ñ?ØÔ"×)Ò)¨%°¸$Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?rx   c              ƒ   ó²  K  — |                       |¦  «        \  }}}}|t          j        k    s|€$| j                             |||¦  «        ƒ d {V —† d S |                     |¦  «         t          |t          ¦  «        r|                     |||¦  «        ƒ d {V —† d S |�œt          |t          |j        dd ¦  «        p|j        t          |t          j        ¦  «        ¬¦  «         |t          |¦  «        t           <   |j        }t          |t$          ¦  «        r$||d<   |                     |||¦  «        ƒ d {V —† d S |                     |||¦  «        ƒ d {V —† d S )Nr˜  ©ri   r  ÚmountrŸ  )r‡  rW   r¢  rf  r°  rÃ  r+  re  r  r<   rÉ   r1  r˜  rF   r[   rÀ  rÈ  r  r  )	rˆ   ri   rj   rk   r£  r¤  rŸ  r	  r  s	            rv   Ú_handle_selectedz _IncludedRouter._handle_selected  sž  è è € ð 8<·{²{À5Ñ7IÔ7IÑ4ˆˆ{˜EÐ#4Ø•E”JÒÐ % -ØÔ&×.Ò.¨u°g¸tÑDÔDÐDÐDÐDÐDÐDÐDÐDØˆFØ�Š�[Ñ!Ô!Ð!Ý�e�_Ñ-Ô-ð 	Ø—,’,˜u g¨tÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ØˆFØÐ(ÝØÝÐ.Ô>ÀÈtÑTÔTð 1Ø$Ô0Ý  ­¬Ñ6Ô6ð	ñ ô ð ð "õ ˜uÑ%Ô%Õ&JÑKð /Ô=ˆNÝ˜.­(Ñ3Ô3ð Ø!/��g‘Ø$×+Ò+¨E°7¸DÑAÔAÐAÐAÐAÐAÐAÐAÐAØ�Ø�lŠl˜5 '¨4Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0rx   c              #   ó    K  — |                       ¦   «         D ]6}t          |t          ¦  «        r|                     ¦   «         E d {V —† Œ2|V — Œ7d S r†   )rt  r+  re  Úeffective_route_contexts)rˆ   r…  s     rv   r�  z(_IncludedRouter.effective_route_contexts7  so   è è € Ø×2Ò2Ñ4Ô4ð 	 ð 	 ˆIÝ˜)¥_Ñ5Ô5ð  Ø$×=Ò=Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?à����ð		 ð 	 rx   rï   rC  c                ó¤   — |                       ¦   «         D ]'}	  |j        |fi |¤Žc S # t          j        $ r Y Œ$w xY wt          j        ||¦  «        ‚r†   )r�  rM  rF   rX   )rˆ   rï   rC  rv  s       rv   rM  z_IncludedRouter.url_path_for>  sy   € Ø!×:Ò:Ñ<Ô<ð 	ð 	ˆMðØ1�}Ô1°$ÐFÐF¸+ÐFÐFÐFÐFÐFøÝÔ'ð ð ð Ø�ðøøøåÔ" 4¨Ñ5Ô5Ð5s   ˜(¨:¹:)"r”   r•   r–   r»  r  r   Ú	threadingÚLockrg  r   r–  rh  ri  rÐ  rj  rk  rt  ry  rV   r0  rr  ra   r§  rW   r‡  r¡  r`   rb   r  rŽ  r	   r�  r®   rM  r�   rx   rv   re  re  V  sŠ  € € € € € € à Ð Ð Ñ Ø*Ð*Ð*Ñ*Ø"' %Ø!œ¨U¸Eð#ñ #ô #Ð˜Cð ð ñ ð OTÈeØðOñ Oô OÐ˜4Ð JÔKð ð ñ ð 15Ð! 3¨¡:Ð4Ð4Ñ4ØEJÀUØðFñ Fô FÐ" DÐ)AÔ$Bð ð ñ ð :>Ð*¨C°$©JÐ=Ð=Ñ=ð( dÐ+UÔ&Vð (ð (ð (ð (ð21¨tÐ4LÔ/Mð 1ð 1ð 1ð 1ð6IØðIà	 $Ñ	&ðIð Ið Ið IðV"*Øð"*à	ˆu�e˜Y¨Ñ-Ð/EÈÑ/LÐLÔ	Mð"*ð "*ð "*ð "*ðH˜Uð  u¨U°E¨\Ô':ð ð ð ð ð@ %ð @°'ð @Àð @È$ð @ð @ð @ð @ð1Øð1Ø%,ð1Ø48ð1à	ð1ð 1ð 1ð 1ð8 ¨(Ð3IÔ*Jð  ð  ð  ð  ð6 ð 6¸ð 6Àð 6ð 6ð 6ð 6ð 6ð 6rx   re  rp  c              #   ób   K  — t          | ¦  «        D ]\  }}|�|j        �
|j        V — Œ|V — Œd S r†   )Ú_iter_routes_with_contextr1  ©rp  rŸ  rv  s      rv   Ú_iter_included_route_candidatesr—  G  sW   è è € Ý 9¸&Ñ AÔ Að ð Ñˆˆ}ØÐ$¨Ô)FÐ)RØÔ/Ð/Ð/Ð/Ð/àˆKˆKˆKˆKð	ð rx   c              #   óÀ   K  — | D ]X}t          |t          ¦  «        r|V — Œt          |g¦  «        D ]+\  }}|€t          |¦  «        V — Œt          ||¦  «        V — Œ,ŒYd S r†   )r+  rU  r•  )rp  rŸ  r  rv  s       rv   Úiter_route_contextsr™  O  sŸ   è è € ð ð Bð BˆÝ�e�\Ñ*Ô*ð 	ØˆKˆKˆKØÝ-FÈÀwÑ-OÔ-Oð 	Bð 	BÑ)ˆN˜MØÐ$Ý" >Ñ2Ô2Ð2Ð2Ð2Ð2å" >°=ÑAÔAÐAÐAÐAÐAð		Bð	Bð Brx   c              #   ó�   K  — | D ]@}t          |t          ¦  «        r#|                     ¦   «         D ]}|j        |fV — ŒŒ:|d fV — ŒAd S r†   )r+  re  r�  r  r–  s      rv   r•  r•  ]  s‚   è è € ð ð ð ˆÝ�e�_Ñ-Ô-ð 	Ø!&×!?Ò!?Ñ!AÔ!Að Bð B�Ø#Ô2°MÐAÐAÐAÐAÐAðBð ˜�+ÐÐÐÐðð rx   c                 ó¦   — | st          d¦  «        ‚|                      d¦  «        st          d¦  «        ‚| dk    r|                      d¦  «        } | S )NzA frontend path cannot be emptyr  z#A frontend path must start with '/')ÚAssertionErrorÚ
startswithra  ©r  s    rv   Ú_normalize_frontend_pathrŸ  h  s]   € Øð @ÝÐ>Ñ?Ô?Ð?Ø�?Š?˜3ÑÔð DÝÐBÑCÔCÐCØˆs‚{€{Ø�{Š{˜3ÑÔˆØ€Krx   r  c                 ó$   — | s|S |dk    r| S | |z   S )Nr  r�   r+  s     rv   Ú_join_frontend_pathsr¡  r  s'   € Øð ØˆØˆs‚{€{ØˆØ�D‰=Ðrx   c                 ó0   — | dk    rdS t          | ¦  «        S )Nr  r   )Úlenrž  s    rv   Ú_frontend_path_specificityr¤  z  s   € Øˆs‚{€{ØˆqÝˆt‰9Œ9Ðrx   c                 ód   — t           j                             t          j        | ¦  «        ¦  «        S r†   )Úosr  ÚrealpathÚfspathrž  s    rv   Ú_get_resolved_absolute_pathr©  €  s    € ÝŒ7×Ò�BœI d™OœOÑ,Ô,Ð,rx   Ú	directoryÚ	check_dirÚautoc                 óò   — |dk    r|S t           j                             d¦  «        dk    rdS t           j                             | ¦  «        s*t          j        d| › dt          | ¦  «        › d�d¬	¦  «         d
S )Nr¬  ÚFASTAPI_ENVÚdevelopmentTúFrontend directory 'ú+' does not exist. Resolved absolute path: 'ú'é   )Ú
stacklevelF)r¦  Úenvironr`  r  ÚisdirÚwarningsÚwarnr©  ©rª  r«  s     rv   Ú_resolve_frontend_check_dirrº  „  s�   € ð
 �FÒÐØÐÝ	„z‡~‚~�mÑ$Ô$¨Ò5Ð5ØˆtÝŒ7�=Š=˜Ñ#Ô#ð 
ÝŒðR 9ð Rð RÝ(CÀIÑ(NÔ(NðRð Rð Ràð	
ñ 	
ô 	
ð 	
ð
 ˆ5rx   c                   ó8  ‡ — e Zd Zdeej        e         z  ded         dz  deddfˆ fd„Zdeddfd„Z	defd	„Z
d
edefd„Zd
edefd„Zded
edefd„Zdedeeej        dz  f         fd„Zdedeeej        ef         dz  fd„Zdedefd„Zded
ededefd„Zˆ xZS )Ú_FrontendStaticFilesrª  Úfallback©r¬  ú
index.htmlú404.htmlNr«  rg   c                ó&  •— || _         |rBt          j                             |¦  «        s#t	          d|› dt          |¦  «        › d�¦  «        ‚t          ¦   «                              |d|d¬¦  «         |r|dv r|                      |¦  «         d S d S d S )Nr°  r±  r²  TF)rª  Úhtmlr«  Úfollow_symlink>   rÀ  r¿  )	r½  r¦  r  r¶  ÚRuntimeErrorr©  r   r‰   Ú_check_fallback_file)rˆ   rª  r½  r«  r¥  s       €rv   r‰   z_FrontendStaticFiles.__init__—  sÚ   ø€ ð !ˆŒØð 	�RœWŸ]š]¨9Ñ5Ô5ð 	ÝðV yð Vð VÝ,GÈ	Ñ,RÔ,RðVð Vð Vñô ð õ 	‰Œ×ÒØØØØ ð	 	ñ 	
ô 	
ð 	
ð ð 	0˜Ð%?Ð?Ð?Ø×%Ò% hÑ/Ô/Ð/Ð/Ð/ð	0ð 	0Ð?Ð?rx   c           	      óÌ   — |                       |¦  «        \  }}|�t          j        |j        ¦  «        s0t	          d|› d| j        › d|                      ¦   «         › d�¦  «        ‚d S )NúFrontend fallback file 'ú' does not exist in directory 'ú!'. Resolved absolute directory: 'r²  )Úlookup_pathÚstatÚS_ISREGÚst_moderÄ  rª  Ú_get_resolved_directory©rˆ   r½  rœ  Ústat_results       rv   rÅ  z)_FrontendStaticFiles._check_fallback_file­  s‰   € Ø×)Ò)¨(Ñ3Ô3‰ˆˆ;ØÐ¥d¤l°;Ô3FÑ&GÔ&GÐÝð6¨8ð 6ð 6Ø"œnð6ð 6à×0Ò0Ñ2Ô2ð6ð 6ð 6ñô ð ð Ðrx   c                 ó<   — | j         €J ‚t          | j         ¦  «        S r†   )rª  r©  rŒ   s    rv   rÎ  z,_FrontendStaticFiles._get_resolved_directory¶  s    € ØŒ~Ð)Ð)Ð)Ý*¨4¬>Ñ:Ô:Ð:rx   ri   c                 ó  — t          |¦  «                             t          d¦  «        }t          |t          ¦  «        sJ ‚t
          j                             t          j        j        | 	                    d¦  «        Ž ¦  «        S )Nr  r  )
rÀ  r`  Ú_FASTAPI_FRONTEND_PATH_KEYr+  r®   r¦  r  Únormpathr  rø  )rˆ   ri   r  s      rv   Úget_pathz_FrontendStaticFiles.get_pathº  s_   € Ý! %Ñ(Ô(×,Ò,Õ-GÈÑLÔLˆÝ˜$¥Ñ$Ô$Ð$Ð$Ð$ÝŒw×Ò¥¤¤¨d¯jªj¸©o¬oÐ >Ñ?Ô?Ð?rx   c              ƒ   ó´   K  — | j         s!|                      ¦   «         ƒ d {V —† d| _         |                      |                      |¦  «        |¦  «        ƒ d {V —†S r  )Úconfig_checkedÚcheck_configÚget_responserÕ  ©rˆ   ri   s     rv   Úget_response_for_scopez+_FrontendStaticFiles.get_response_for_scope¿  sq   è è € ØÔ"ð 	'Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ø"&ˆDÔØ×&Ò& t§}¢}°UÑ';Ô';¸UÑCÔCÐCÐCÐCÐCÐCÐCÐCrx   r  c              ƒ   ó  K  — |d         dvr;|                       |¦  «        ƒ d {V —†�t          d¬¦  «        ‚t          d¬¦  «        ‚|                       |¦  «        ƒ d {V —†}|�x|\  }}}|rY|d                              d¦  «        s>t          |¬¦  «        }|                     |j        dz   ¬	¦  «        }t          |¬
¦  «        S |                      |||¦  «        S | j        dk    s | j        dk    r3|  	                    d¦  «        r|  
                    d|d¬¦  «        ƒ d {V —†S | j        dk    s | j        dk    rB|  	                    d¦  «        r-t          |¦  «        r|  
                    d|d¬¦  «        ƒ d {V —†S t          d¬¦  «        ‚)Nrb  )rì  ÚHEADr  ©rô   é”  r  r  rÉ  rž  ©ÚurlrÀ  r¬  r¿  éÈ   )Ú_lookup_static_resourcerO   rl  rL   Úreplacer  rS   Úfile_responser½  Ú_fallback_file_existsÚ_fallback_responseÚ_is_frontend_navigation_request)rˆ   r  ri   Ústatic_resourceÚ	full_pathrÐ  Úis_directory_indexrá  s           rv   rÙ  z!_FrontendStaticFiles.get_responseÅ  sá  è è € Ø�Œ? /Ð1Ð1Ø×1Ò1°$Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7ÐCÝ#°Ð4Ñ4Ô4Ð4Ý¨CÐ0Ñ0Ô0Ð0à $× <Ò <¸TÑ BÔ BÐBÐBÐBÐBÐBÐBˆØÐ&Ø9HÑ6ˆI�{Ð$6Ø!ð 1¨%°¬-×*@Ò*@ÀÑ*EÔ*Eð 1Ý Ð&Ñ&Ô&�Ø—k’k s¤x°#¡~�kÑ6Ô6�Ý'¨CÐ0Ñ0Ô0Ð0Ø×%Ò% i°¸eÑDÔDÐDàŒ=˜JÒ&Ð&ØŒM˜VÒ#Ð#¨×(BÒ(BÀ:Ñ(NÔ(NÐ#à×0Ò0°¸UÐPSÐ0ÑTÔTÐTÐTÐTÐTÐTÐTÐTð ŒM˜\Ò)Ð)Ø” Ò'Ð'¨D×,FÒ,FÀ|Ñ,TÔ,TÐ'Ý-¨eÑ4Ô4ð (à×0Ò0°¸uÐRUÐ0ÑVÔVÐVÐVÐVÐVÐVÐVÐVå¨Ð,Ñ,Ô,Ð,rx   c              ƒ   ó  K  — 	 t          | j        |¦  «        ƒ d {V —†S # t          $ r t          d¬¦  «        d ‚t          $ r-}|j        t
          j        k    rt          d¬¦  «        d ‚|‚d }~wt          $ r t          d¬¦  «        d ‚w xY w)Ni‘  rÞ  rß  )rK   rÊ  ÚPermissionErrorrO   ÚOSErrorÚerrnoÚENAMETOOLONGÚ
ValueError)rˆ   r  Úexcs      rv   Ú_lookup_pathz!_FrontendStaticFiles._lookup_pathá  sÁ   è è € ð		;Ý*¨4Ô+;¸TÑBÔBÐBÐBÐBÐBÐBÐBÐBøÝð 	;ð 	;ð 	;Ý¨CÐ0Ñ0Ô0°dÐ:Ýð 	ð 	ð 	ØŒy�EÔ.Ò.Ð.Ý#°Ð4Ñ4Ô4¸$Ð>ØˆIøøøøÝð 	;ð 	;ð 	;Ý¨CÐ0Ñ0Ô0°dÐ:ð	;øøøs   „ Ÿ$B
Á(A+Á+B
c              ƒ   óx  K  — |                       |¦  «        ƒ d {V —†\  }}|€d S t          j        |j        ¦  «        r||dfS t          j        |j        ¦  «        r^t
          j                             |d¦  «        }|                       |¦  «        ƒ d {V —†\  }}|�t          j        |j        ¦  «        r||dfS d S )NFr¿  T)ró  rË  rÌ  rÍ  ÚS_ISDIRr¦  r  r  )rˆ   r  rê  rÐ  Ú
index_paths        rv   rã  z,_FrontendStaticFiles._lookup_static_resourceí  sÝ   è è € ð (,×'8Ò'8¸Ñ'>Ô'>Ð!>Ð!>Ð!>Ð!>Ð!>Ð!>Ñˆ	�;ØÐØ�4ÝŒ<˜Ô+Ñ,Ô,ð 	1Ø˜k¨5Ð0Ð0ÝŒ<˜Ô+Ñ,Ô,ð 	4ÝœŸš d¨LÑ9Ô9ˆJØ+/×+<Ò+<¸ZÑ+HÔ+HÐ%HÐ%HÐ%HÐ%HÐ%HÐ%HÑ"ˆI�{ØÐ&­4¬<¸Ô8KÑ+LÔ+LÐ&Ø  +¨tÐ3Ð3Øˆtrx   c                 ól   — |                       |¦  «        \  }}|d uot          j        |j        ¦  «        S r†   )rÊ  rË  rÌ  rÍ  rÏ  s       rv   ræ  z*_FrontendStaticFiles._fallback_file_existsü  s6   € Ø×)Ò)¨(Ñ3Ô3‰ˆˆ;Ø $Ð&ÐL­4¬<¸Ô8KÑ+LÔ+LÐLrx   rô   c          	   ƒ   ó
  K  — t          | j        |¦  «        ƒ d {V —†\  }}|�t          j        |j        ¦  «        s0t          d|› d| j        › d|                      ¦   «         › d�¦  «        ‚|                      ||||¬¦  «        S )NrÇ  rÈ  rÉ  r²  rÞ  )	rK   rÊ  rË  rÌ  rÍ  rÄ  rª  rÎ  rå  )rˆ   r½  ri   rô   rê  rÐ  s         rv   rç  z'_FrontendStaticFiles._fallback_response   sÁ   è è € õ (9¸Ô9IÈ8Ñ'TÔ'TÐ!TÐ!TÐ!TÐ!TÐ!TÐ!TÑˆ	�;ØÐ¥d¤l°;Ô3FÑ&GÔ&GÐÝð6¨8ð 6ð 6Ø"œnð6ð 6à×0Ò0Ñ2Ô2ð6ð 6ð 6ñô ð ð
 ×!Ò!Ø�{ E°{ð "ñ 
ô 
ð 	
rx   )r”   r•   r–   r®   r¦  ÚPathLiker   rœ   r‰   rÅ  rÎ  ra   rÕ  rT   rÛ  rÙ  r§  rÐ  ró  rã  ræ  rÐ  rç  r¨  r©  s   @rv   r¼  r¼  –  sø  ø€ € € € € ð0ð ˜œ SÔ)Ñ)ð0ð Ð:Ô;¸dÑBð	0ð
 ð0ð 
ð0ð 0ð 0ð 0ð 0ð 0ð,¨Sð °Tð ð ð ð ð;¨ð ;ð ;ð ;ð ;ð@˜eð @¨ð @ð @ð @ð @ð
D°%ð D¸Hð Dð Dð Dð Dð- sð -°5ð -¸Xð -ð -ð -ð -ð8
; sð 
;¨u°S¸"¼.È4Ñ:OÐ5OÔ/Pð 
;ð 
;ð 
;ð 
;ðØðà	ˆs�B”N DÐ(Ô	)¨DÑ	0ðð ð ð ðM¨cð M°dð Mð Mð Mð Mð
Øð
Ø$)ð
Ø;>ð
à	ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
rx   r¼  Úacceptc              #   óœ  K  — |                       d¦  «        D ]³}t          j                             ¦   «         }|                     ¦   «         |d<   |                     d¦  «        }d}t          |t          ¦  «        r!	 t          |¦  «        }n# t          $ r Y nw xY w| 
                    ¦   «         › d|                     ¦   «         › �|fV — Œ´d S )Nú,r  Úqg      ð?r  )rø  rg  rh  ri  rù  Ú	get_paramr+  r®   Úfloatrñ  rj  rk  )rú  Ú	raw_valuerh  rý  Úqualitys        rv   Ú_iter_accept_media_typesr    sõ   è è € Ø—\’\ #Ñ&Ô&ð 
ð 
ˆ	Ý”-×'Ò'Ñ)Ô)ˆØ"+§/¢/Ñ"3Ô"3ˆ�ÑØ×Ò˜cÑ"Ô"ˆØˆÝ�a�ÑÔð 	ðÝ ™(œ(��øÝð ð ð Ø�ðøøøð ×+Ò+Ñ-Ô-ÐOÐO°×0KÒ0KÑ0MÔ0MÐOÐOØð
ð 	
ð 	
ð 	
ð 	
ð
ð 
s   Á<BÂ
BÂBc                 óš   — t          | ¦  «        }t          |j                             dd¦  «        ¦  «        D ]\  }}|dv r	|dk    r dS ŒdS )Nrú  r  >   ú	text/htmlúapplication/xhtml+xmlr   TF)rP   r  rf  r`  )ri   ru   rO  r  s       rv   rè  rè     sc   € Ý�e‰nŒn€GÝ7ØŒ×Ò˜H bÑ)Ô)ñ ô  ð ð Ñˆ
�Gð Ð?Ð?Ð?ÀGÈqÂLÀLØ�4�4øØˆ5rx   c                   óè   — e Zd Zddœdedeej        e         z  ded         dz  ded	df
d
„Zde	d	e
ee	f         fd„Zde	ded	e
ee	f         fd„Zdeded	edz  fd„Zde	deded	dfd„Zdeded	efd„ZdS )Ú_FrontendRouter¬  ©r½  r  rª  r½  r¾  Nr«  rg   c                ó”   — |dvrt          d¦  «        ‚t          |¦  «        | _        ddh| _        t	          |||¬¦  «        | _        d S )N>   Nr¬  rÀ  r¿  z:fallback must be 'auto', 'index.html', '404.html', or Nonerì  rÝ  ©rª  r½  r«  )rœ  rŸ  r  rå  r¼  rw   ©rˆ   r  rª  r½  r«  s        rv   r‰   z_FrontendRoute.__init__+  sb   € ð ÐCÐCÐCÝ ØLñô ð õ -¨TÑ2Ô2ˆŒ	Ø˜v�ˆŒÝ'Ø¨(¸ið
ñ 
ô 
ˆŒˆˆrx   ri   c                 ó8   — |                       || j        ¦  «        S r†   )Úmatches_with_pathr  rÚ  s     rv   r¡  z_FrontendRoute.matches=  s   € Ø×%Ò% e¨T¬YÑ7Ô7Ð7rx   c                 ó:  — |d         dk    rt           j        i fS |                      |t          |¦  «        ¦  «        }|€t           j        i fS t          t
          |t          t          |¦  «        ii}|d         | j        vrt           j	        |fS t           j
        |fS )Nr˜   rB  rb  )rW   r¢  Ú_get_frontend_pathrH   r¾  rÓ  rÏ  r¤  rå  rG  rH  )rˆ   ri   r  r¬  r¤  s        rv   r  z _FrontendRoute.matches_with_path@  s›   € Ø�Œ=˜FÒ"Ð"Ý”:˜r�>Ð!Ø×/Ò/°µnÀUÑ6KÔ6KÑLÔLˆØÐ Ý”:˜r�>Ð!åÝ*¨MÝ1Õ3MÈdÑ3SÔ3Sð!ð
ˆð �Œ? $¤,Ð.Ð.Ý”= +Ð-Ð-ÝŒz˜;Ð&Ð&rx   rI  c                 ó®   — |dk    r|                      d¦  «        S ||k    rdS |dz   }|                     |¦  «        r|t          |¦  «        d …         S d S )Nr  r  )Úlstripr�  r£  )rˆ   r  rI  r  s       rv   r  z!_FrontendRoute._get_frontend_pathP  sh   € Ø�3Š;ˆ;Ø×$Ò$ SÑ)Ô)Ð)Ø˜ÒÐØ�2Ø˜‘ˆØ× Ò  Ñ(Ô(ð 	-Ø�c &™kœk˜m˜mÔ,Ð,Øˆtrx   rj   rk   c              ƒ   óp   K  — | j                              |¦  «        ƒ d {V —†} ||||¦  «        ƒ d {V —† d S r†   )rw   rÛ  )rˆ   ri   rj   rk   rs   s        rv   r  z_FrontendRoute.handleZ  sY   è è € Øœ×8Ò8¸Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?ˆØˆh�u˜g tÑ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,rx   rï   rC  c                ó"   — t          ||¦  «        ‚r†   ©rX   ©rˆ   rï   rC  s      rv   rM  z_FrontendRoute.url_path_for^  ó   € Ý˜4 Ñ-Ô-Ð-rx   )r”   r•   r–   r®   r¦  rù  r   rœ   r‰   ra   r§  rW   r¡  r  r  r`   rb   r  r   rN   rM  r�   rx   rv   r  r  *  sc  € € € € € ð FLð
ð 
ð 
àð
ð ˜œ SÔ)Ñ)ð	
ð
 Ð:Ô;¸dÑBð
ð ð
ð 
ð
ð 
ð 
ð 
ð$8˜Uð 8 u¨U°E¨\Ô':ð 8ð 8ð 8ð 8ð' uð '°Cð '¸EÀ%ÈÀ,Ô<Oð 'ð 'ð 'ð 'ð  sð ¸ð ÀÀdÁ
ð ð ð ð ð- %ð -°'ð -Àð -È$ð -ð -ð -ð -ð. ð .¸ð .Àð .ð .ð .ð .ð .ð .rx   r  c                   ó~  — e Zd Zdddœdeej                 dz  dedz  ddfd„Zddœd	ed
ee	j
        e         z  ded         dz  deddf
d„Zdedeeef         fd„Zdededeeef         fd„Zdededeeeedz  f         fd„Zdedededdfd„Zdededefd„Zededededededz  dedee         fd„¦   «         ZdS )r>  N©r  r  r  r  rg   c                ó¢   — g | _         t          |pg ¦  «        | _        || _        t	          dt
          | j        ¬¦  «        \  | _        }| _        d S )Nr  r”  )rp  r–  r  r  rš  r³  ré   r›  )rˆ   r  r  rœ  s       rv   r‰   z_FrontendRouteGroup.__init__c  sa   € ð -/ˆŒÝ  Ð!3°Ñ4Ô4ˆÔØ-JˆÔ*õ
 =ØÝ.ØÔ*ð
ñ 
ô 
ñ		
ØŒNØØÔ#Ð#Ð#rx   r¬  r  r  rª  r½  r¾  r«  c                ó\   — | j                              t          ||||¬¦  «        ¦  «         d S )Nr
  )rp  rq  r  r  s        rv   Úadd_frontend_routez&_FrontendRouteGroup.add_frontend_routev  sF   € ð 	Œ×ÒÝØØ#Ø!Ø#ð	ñ ô ñ	
ô 	
ð 	
ð 	
ð 	
rx   ri   c                 ó@   — |                       |d¬¦  «        \  }}}||fS )Nr  ©r  ©r‡  )rˆ   ri   r£  r¤  rœ  s        rv   r¡  z_FrontendRouteGroup.matches‡  s)   € Ø $§¢¨E¸" Ñ =Ô =Ñˆˆ{˜AØ�kÐ!Ð!rx   r  c                 ó@   — |                       ||¬¦  «        \  }}}||fS )Nr  r  )rˆ   ri   r  r£  r¤  rœ  s         rv   rD  z'_FrontendRouteGroup.matches_with_prefix‹  s)   € Ø $§¢¨E¸& Ñ AÔ AÑˆˆ{˜AØ�kÐ!Ð!rx   c                ó   — d }d }| j         D ]†}t          ||j        ¦  «        }|                     ||¦  «        \  }}t	          |¦  «        }	|t
          j        k    r|�|	|d         k    r|||	f}Œc|t
          j        k    r|�|	|d         k    r|||	f}Œ‡|�|\  }}}
t
          j        ||fS |�|\  }}}
t
          j        ||fS t
          j        i d fS )Né   )	rp  r¡  r  r  r¤  rW   rH  rG  r¢  )rˆ   ri   r  Úfullrz   rŸ  r  r£  r¤  rÑ  rœ  s              rv   r‡  z_FrontendRouteGroup._match�  s  € ð :>ˆØ<@ˆØ”[ð 		@ð 		@ˆEÝ'¨°´
Ñ;Ô;ˆDØ!&×!8Ò!8¸ÀÑ!EÔ!EÑˆE�;Ý4°TÑ:Ô:ˆKØ�œ
Ò"Ð"Ø�< ;°°a´Ò#8Ð#8Ø'¨°Ð<�DøØ�%œ-Ò'Ð'Ø�? k°G¸A´JÒ&>Ð&>Ø*¨E°;Ð?�GøØÐØ$(Ñ!ˆK˜ Ý”:˜{¨EÐ1Ð1ØÐØ$+Ñ!ˆK˜ Ý”= +¨uÐ4Ð4ÝŒz˜2˜tÐ#Ð#rx   rj   rk   c              ƒ   ó¾  K  — t          |¦  «        }t          |t          ¦  «        r&|j        | u r|j        }|j        }|j        }|j        }nd}| j        }| j        }| j        }|                      ||¬¦  «        \  }	}
}|	t          j
        k    s|€t          d¬¦  «        ‚t          ||
¦  «         t          |t          ||j        ¦  «                             d¦  «        dz   ¬¦  «         |	t          j        k    rÅ|rÃ|j        r¼|                      ||||||¬¦  «        4 ƒd {V —†	 }|j                             |¦  «        ƒ d {V —†}|j        €|j        |_        |j        j                             |j        j        j        ¦  «          ||||¦  «        ƒ d {V —† d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d S |                     |||¦  «        ƒ d {V —† d S )	Nr  r  rß  rÞ  r  z/{path}©ri   r  r•  )rÊ  r+  r0  r  r4  ré   r  r›  r‡  rW   r¢  rO   rÆ  r<   r¡  r  ra  rH  r  Ú_solve_dependenciesrw   rÛ  r÷   rø   rf  rt  ru  rs   r  )rˆ   ri   rj   rk   r	  r  ré   r  r  r£  r¤  rŸ  rõ   rs   s                 rv   r  z_FrontendRouteGroup.handle¦  s½  è è € Ý>¸uÑEÔEÐåÐ(Õ*@ÑAÔAð	8à!Ô0°DÐ8Ð8à&Ô6ˆFØ)Ô3ˆIà!Ô?ð *ð !2Ô DÐÐàˆFØœˆIØ,0Ô,NÐ)Ø $Ô 7ÐØ$(§K¢K°¸f KÑ$EÔ$EÑ!ˆˆ{˜EØ•E”JÒÐ % -Ý¨CÐ0Ñ0Ô0Ð0Ý�e˜[Ñ)Ô)Ð)ÝØÝ% f¨e¬jÑ9Ô9×@Ò@ÀÑEÔEÈ	ÑQð	
ñ 	
ô 	
ð 	
ð •E”JÒÐ 9Ð°Ô1GÐØ×/Ò/ØØØØ#Ø.KØ"3ð 0ñ ô ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð Ø!&¤×!AÒ!AÀ%Ñ!HÔ!HÐHÐHÐHÐHÐHÐH�ØÔ&Ð.Ø*7Ô*H�HÔ'ØÔ Ô$×+Ò+¨MÔ,BÔ,JÔ,NÑOÔOÐOØ�h˜u g¨tÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð ˆFØ�lŠl˜5 '¨4Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0s   Ä&A5F-Æ-
F7Æ:F7rï   rC  c                ó"   — t          ||¦  «        ‚r†   r  r  s      rv   rM  z _FrontendRouteGroup.url_path_forÐ  r  rx   ré   r  c          	     ó6  K  — t          |||¦  «        }|                     dt          ¦  «        }|                     dt          ¦  «        }		 t          ¦   «         4 ƒd {V —†}
|
|d<   t          ¦   «         4 ƒd {V —†}||d<   t	          ||||
|¬¦  «        ƒ d {V —†}|j        rt          |j        ¦  «        ‚|W V — d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |t          u r|                     dd ¦  «         n||d<   |	t          u r|                     dd ¦  «         d S |	|d<   d S # |t          u r|                     dd ¦  «         n||d<   |	t          u r|                     dd ¦  «         n|	|d<   w xY w)Nrn   ro   r�  )rP   r`  rÕ  r   r/   rà   r3   rÖ  )rˆ   ri   rj   rk   ré   r  r  ru   Úprevious_inner_astackÚprevious_function_astackrq   rr   rõ   s                rv   r%  z'_FrontendRouteGroup._solve_dependenciesÖ  s  è è € õ ˜% ¨$Ñ/Ô/ˆØ %§	¢	Ð*@Å.Ñ QÔ QÐØ#(§9¢9Ð-FÍÑ#WÔ#WÐ ð	LÝ%Ñ'Ô'ð (ð (ð (ð (ð (ð (ð (¨=Ø0=�Ð,Ñ-Ý)Ñ+Ô+ð (ð (ð (ð (ð (ð (ð (¨~Ø7E�EÐ3Ñ4Ý*<Ø 'Ø"+Ø6SØ)6Ø*;ð+ñ +ô +ð %ð %ð %ð %ð %ð %�Mð %Ô+ð KÝ4°]Ô5IÑJÔJÐJØ'Ð'Ð'Ð'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð %­Ð6Ð6Ø—	’	Ð0°$Ñ7Ô7Ð7Ð7à0E�Ð,Ñ-Ø'­>Ð9Ð9Ø—	’	Ð3°TÑ:Ô:Ð:Ð:Ð:à3K�Ð/Ñ0Ð0Ð0øð %­Ð6Ð6Ø—	’	Ð0°$Ñ7Ô7Ð7Ð7à0E�Ð,Ñ-Ø'­>Ð9Ð9Ø—	’	Ð3°TÑ:Ô:Ð:Ð:à3K�Ð/Ñ0ÐKÐKÐKÐKsV   ÁE ÁC.Á9A CÂ9C.Ã
C	ÃC.ÃC	ÃC.ÃE Ã.
C8Ã8E Ã;C8Ã<E ÅAF)r”   r•   r–   r   r   r¦  r   r‰   r®   r¦  rù  r   rœ   r  ra   r§  rW   r¡  rD  r  r‡  r`   rb   r  rN   rM  r   r#   r   r'   r%  r�   rx   rv   r>  r>  b  sD  € € € € € ð 9=Ø48ð	
ð 
ð 
ð ˜vœ~Ô.°Ñ5ð
ð (+¨T¡zð	
ð
 
ð
ð 
ð 
ð 
ð0 FLð
ð 
ð 
àð
ð ˜œ SÔ)Ñ)ð	
ð
 Ð:Ô;¸dÑBð
ð ð
ð 
ð
ð 
ð 
ð 
ð""˜Uð " u¨U°E¨\Ô':ð "ð "ð "ð "ð"¨ð "¸ð "ÀÀeÈUÀlÔ@Sð "ð "ð "ð "ð$Øð$Ø'*ð$à	ˆu�e˜^¨dÑ2Ð2Ô	3ð$ð $ð $ð $ð.(1 %ð (1°'ð (1Àð (1È$ð (1ð (1ð (1ð (1ðT. ð .¸ð .Àð .ð .ð .ð .ð ð$Làð$Lð ð$Lð ð	$Lð ð$Lð (+¨T¡zð$Lð  ð$Lð 
Ð'Ô	(ð$Lð $Lð $Lñ Ôð$Lð $Lð $Lrx   r>  c            9       ó’5  ‡ — e Zd ZdZddd ee¦  «        ddddddeddddd ee¦  «         ed¦  «        dœdee	 e
d¦  «        f         deee	ez           dz   e
d	¦  «        f         d
eeej                 dz   e
d¦  «        f         deee          e
d¦  «        f         deeee	z  ee	ef         f         dz   e
d¦  «        f         deee         dz   e
d¦  «        f         deee         dz   e
d¦  «         ed¦  «        f         dee e
d¦  «        f         deedz   e
d¦  «        f         deedz   e
d¦  «        f         deee          e
d¦  «        f         deeeg ef                  dz   e
d¦  «        f         deeeg ef                  dz   e
d ¦  «        f         d!eee         dz   e
d"¦  «        f         d#eedz   e
d$¦  «        f         d%ee e
d&¦  «        f         d'eeege	f          e
d(¦  «        f         d)ee e
d*¦  «        f         d+df&ˆ fd,„Zd—d-„Zd˜d.ee         dz  d+efd/„Z	 d˜d0d d.ee         dz  d+efd1„Z	 	 	 d™d2e	d3ee ge!e         ez  f         d4e"e	         dz  d5e	dz  d%ed+dfˆ fd6„Z#	 d˜d2e	d3ee$ge!d         f         d5e	dz  d+dfˆ fd7„Z%d8d8d9œd2ee	 e
d:¦  «        f         d;ee	e&j'        e	         z   e
d<¦  «        f         d=ee(d>         dz   e
d?¦  «        f         d@eee(d8         z   e
dA¦  «        f         d+df
dB„Z)dCe*dDe+dEe,d+dfdF„Z-dCe*dDe+dEe,d+dfdG„Z.dCe*d+e/e0e*f         fdH„Z1d+e2ee3z           fdI„Z4dCe*d+e/e0e*edz  e3dz  f         fdJ„Z5dKe*dLe*d+efdM„Z6	 	 	 d™d2e	d4e"e	         dz  d5e	dz  d%ed+ee7ge7f         f
dN„Z8 ed¦  «        ddddddOddddddddPdPdPd ee¦  «        dddd ee¦  «         ed¦  «        dQœd2e	d3edRef         dSedTedz  dee	ez           dz  d
eej                 dz  dUe	dz  dVe	dz  dWe	deee	z  ee	ef         f         dz  d#edz  d4ee	         ee	         z  dz  dXe	dz  dYe9dz  dZe9dz  d[ed\ed]ed^ed%ed_ee         e:z  d5e	dz  d`ee         dz  dee         dz  daee	ef         dz  d'eege	f         e:z  d)ee:z  d+df8db„Z; ed¦  «        ddddddOddddddddPdPdPd ee¦  «        ddd ee¦  «        dcœd2e	dSedTedz  dee	ez           dz  d
eej                 dz  dUe	dz  dVe	dz  dWe	deee	z  ee	ef         f         dz  d#edz  d4ee	         dz  dXe	dz  dYe9dz  dZe9dz  d[ed\ed]ed^ed%ed_ee         d5e	dz  dee         dz  daee	ef         dz  d'eege	f         d+ee7ge7f         f2dd„Z<	 d˜ddeœd2e	d3edRef         d5e	dz  d
eej                 dz  d+df
df„Z=	 d˜ddeœd2ee	 e
dg¦  «        f         d5ee	dz   e
dh¦  «        f         d
eeej                 dz   e
di¦  «        f         d+ee7ge7f         fdj„Z>	 d˜d2e	d5e	dz  d+ee7ge7f         fdk„Z?ddd ee¦  «        dddd ee¦  «        dlœ	d0ed  e
dm¦  «        f         dee	 e
d¦  «        f         deee	ez           dz   e
d	¦  «        f         d
eeej                 dz   e
d¦  «        f         deee          e
d¦  «        f         deeee	z  ee	ef         f         dz   e
d¦  «        f         deee         dz   e
d¦  «        f         d#eedz   e
d$¦  «        f         d%ee e
dn¦  «        f         d'eeege	f          e
d(¦  «        f         d+dfdo„Z@ ed¦  «        ddddddOdddddddPdPdPd ee¦  «        ddd ee¦  «        dpœd2ee	 e
dq¦  «        f         dSee e
dr¦  «        f         dTeedz   e
ds¦  «        f         deee	ez           dz   e
dt¦  «        f         d
eeej                 dz   e
du¦  «        f         dUee	dz   e
dv¦  «        f         dVee	dz   e
dw¦  «        f         dWee	 e
dx¦  «        f         deeee	z  ee	ef         f         dz   e
dy¦  «        f         d#eedz   e
dz¦  «        f         dXee	dz   e
d{¦  «        f         dYee9dz   e
d|¦  «        f         dZee9dz   e
d}¦  «        f         d[ee e
d~¦  «        f         d\ee e
d¦  «        f         d]ee e
d€¦  «        f         d^ee e
d�¦  «        f         d%ee e
d‚¦  «        f         d_eee          e
dƒ¦  «        f         d5ee	dz   e
d„¦  «        f         deee         dz   e
d…¦  «        f         daeee	ef         dz   e
d†¦  «        f         d'eeege	f          e
d(¦  «        f         d+ee7ge7f         f0d‡„ZA ed¦  «        ddddddOdddddddPdPdPd ee¦  «        ddd ee¦  «        dpœd2ee	 e
dq¦  «        f         dSee e
dr¦  «        f         dTeedz   e
ds¦  «        f         deee	ez           dz   e
dt¦  «        f         d
eeej                 dz   e
du¦  «        f         dUee	dz   e
dv¦  «        f         dVee	dz   e
dw¦  «        f         dWee	 e
dx¦  «        f         deeee	z  ee	ef         f         dz   e
dy¦  «        f         d#eedz   e
dz¦  «        f         dXee	dz   e
d{¦  «        f         dYee9dz   e
d|¦  «        f         dZee9dz   e
d}¦  «        f         d[ee e
d~¦  «        f         d\ee e
d¦  «        f         d]ee e
d€¦  «        f         d^ee e
d�¦  «        f         d%ee e
d‚¦  «        f         d_eee          e
dƒ¦  «        f         d5ee	dz   e
d„¦  «        f         deee         dz   e
d…¦  «        f         daeee	ef         dz   e
d†¦  «        f         d'eeege	f          e
d(¦  «        f         d+ee7ge7f         f0dˆ„ZB ed¦  «        ddddddOdddddddPdPdPd ee¦  «        ddd ee¦  «        dpœd2ee	 e
dq¦  «        f         dSee e
dr¦  «        f         dTeedz   e
ds¦  «        f         deee	ez           dz   e
dt¦  «        f         d
eeej                 dz   e
du¦  «        f         dUee	dz   e
dv¦  «        f         dVee	dz   e
dw¦  «        f         dWee	 e
dx¦  «        f         deeee	z  ee	ef         f         dz   e
dy¦  «        f         d#eedz   e
dz¦  «        f         dXee	dz   e
d{¦  «        f         dYee9dz   e
d|¦  «        f         dZee9dz   e
d}¦  «        f         d[ee e
d~¦  «        f         d\ee e
d¦  «        f         d]ee e
d€¦  «        f         d^ee e
d�¦  «        f         d%ee e
d‚¦  «        f         d_eee          e
dƒ¦  «        f         d5ee	dz   e
d„¦  «        f         deee         dz   e
d…¦  «        f         daeee	ef         dz   e
d†¦  «        f         d'eeege	f          e
d(¦  «        f         d+ee7ge7f         f0d‰„ZC ed¦  «        ddddddOdddddddPdPdPd ee¦  «        ddd ee¦  «        dpœd2ee	 e
dq¦  «        f         dSee e
dr¦  «        f         dTeedz   e
ds¦  «        f         deee	ez           dz   e
dt¦  «        f         d
eeej                 dz   e
du¦  «        f         dUee	dz   e
dv¦  «        f         dVee	dz   e
dw¦  «        f         dWee	 e
dx¦  «        f         deeee	z  ee	ef         f         dz   e
dy¦  «        f         d#eedz   e
dz¦  «        f         dXee	dz   e
d{¦  «        f         dYee9dz   e
d|¦  «        f         dZee9dz   e
d}¦  «        f         d[ee e
d~¦  «        f         d\ee e
d¦  «        f         d]ee e
d€¦  «        f         d^ee e
d�¦  «        f         d%ee e
d‚¦  «        f         d_eee          e
dƒ¦  «        f         d5ee	dz   e
d„¦  «        f         deee         dz   e
d…¦  «        f         daeee	ef         dz   e
d†¦  «        f         d'eeege	f          e
d(¦  «        f         d+ee7ge7f         f0dŠ„ZD ed¦  «        ddddddOdddddddPdPdPd ee¦  «        ddd ee¦  «        dpœd2ee	 e
dq¦  «        f         dSee e
dr¦  «        f         dTeedz   e
ds¦  «        f         deee	ez           dz   e
dt¦  «        f         d
eeej                 dz   e
du¦  «        f         dUee	dz   e
dv¦  «        f         dVee	dz   e
dw¦  «        f         dWee	 e
dx¦  «        f         deeee	z  ee	ef         f         dz   e
dy¦  «        f         d#eedz   e
dz¦  «        f         dXee	dz   e
d{¦  «        f         dYee9dz   e
d|¦  «        f         dZee9dz   e
d}¦  «        f         d[ee e
d~¦  «        f         d\ee e
d¦  «        f         d]ee e
d€¦  «        f         d^ee e
d�¦  «        f         d%ee e
d‚¦  «        f         d_eee          e
dƒ¦  «        f         d5ee	dz   e
d„¦  «        f         deee         dz   e
d…¦  «        f         daeee	ef         dz   e
d†¦  «        f         d'eeege	f          e
d(¦  «        f         d+ee7ge7f         f0d‹„ZE ed¦  «        ddddddOdddddddPdPdPd ee¦  «        ddd ee¦  «        dpœd2ee	 e
dq¦  «        f         dSee e
dr¦  «        f         dTeedz   e
ds¦  «        f         deee	ez           dz   e
dt¦  «        f         d
eeej                 dz   e
du¦  «        f         dUee	dz   e
dv¦  «        f         dVee	dz   e
dw¦  «        f         dWee	 e
dx¦  «        f         deeee	z  ee	ef         f         dz   e
dy¦  «        f         d#eedz   e
dz¦  «        f         dXee	dz   e
d{¦  «        f         dYee9dz   e
d|¦  «        f         dZee9dz   e
d}¦  «        f         d[ee e
d~¦  «        f         d\ee e
d¦  «        f         d]ee e
d€¦  «        f         d^ee e
d�¦  «        f         d%ee e
d‚¦  «        f         d_eee          e
dƒ¦  «        f         d5ee	dz   e
d„¦  «        f         deee         dz   e
d…¦  «        f         daeee	ef         dz   e
d†¦  «        f         d'eeege	f          e
d(¦  «        f         d+ee7ge7f         f0dŒ„ZF ed¦  «        ddddddOdddddddPdPdPd ee¦  «        ddd ee¦  «        dpœd2ee	 e
dq¦  «        f         dSee e
dr¦  «        f         dTeedz   e
ds¦  «        f         deee	ez           dz   e
dt¦  «        f         d
eeej                 dz   e
du¦  «        f         dUee	dz   e
dv¦  «        f         dVee	dz   e
dw¦  «        f         dWee	 e
dx¦  «        f         deeee	z  ee	ef         f         dz   e
dy¦  «        f         d#eedz   e
dz¦  «        f         dXee	dz   e
d{¦  «        f         dYee9dz   e
d|¦  «        f         dZee9dz   e
d}¦  «        f         d[ee e
d~¦  «        f         d\ee e
d¦  «        f         d]ee e
d€¦  «        f         d^ee e
d�¦  «        f         d%ee e
d‚¦  «        f         d_eee          e
dƒ¦  «        f         d5ee	dz   e
d„¦  «        f         deee         dz   e
d…¦  «        f         daeee	ef         dz   e
d†¦  «        f         d'eeege	f          e
d(¦  «        f         d+ee7ge7f         f0d�„ZG ed¦  «        ddddddOdddddddPdPdPd ee¦  «        ddd ee¦  «        dpœd2ee	 e
dq¦  «        f         dSee e
dr¦  «        f         dTeedz   e
ds¦  «        f         deee	ez           dz   e
dt¦  «        f         d
eeej                 dz   e
du¦  «        f         dUee	dz   e
dv¦  «        f         dVee	dz   e
dw¦  «        f         dWee	 e
dx¦  «        f         deeee	z  ee	ef         f         dz   e
dy¦  «        f         d#eedz   e
dz¦  «        f         dXee	dz   e
d{¦  «        f         dYee9dz   e
d|¦  «        f         dZee9dz   e
d}¦  «        f         d[ee e
d~¦  «        f         d\ee e
d¦  «        f         d]ee e
d€¦  «        f         d^ee e
d�¦  «        f         d%ee e
d‚¦  «        f         d_eee          e
dƒ¦  «        f         d5ee	dz   e
d„¦  «        f         deee         dz   e
d…¦  «        f         daeee	ef         dz   e
d†¦  «        f         d'eeege	f          e
d(¦  «        f         d+ee7ge7f         f0dŽ„ZHd—d�„ZId—d�„ZJd‘e	d’eg ef         d+dfd“„ZK ed”¦  «        d‘ee	 e
d•¦  «        f         d+ee7ge7f         fd–„¦   «         ZLˆ xZMS )šr³   a£  
    `APIRouter` class, used to group *path operations*, for example to structure
    an app in multiple files. It would then be included in the `FastAPI` app, or
    in another `APIRouter` (ultimately included in the app).

    Read more about it in the
    [FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/).

    ## Example

    ```python
    from fastapi import APIRouter, FastAPI

    app = FastAPI()
    router = APIRouter()


    @router.get("/users/", tags=["users"])
    async def read_users():
        return [{"username": "Rick"}, {"username": "Morty"}]


    app.include_router(router)
    ```
    r  NT)r  rã  r  r  rä  rà  rp  Úredirect_slashesr°  r  Úroute_classÚ
on_startupÚon_shutdownÚlifespanre   rß  râ  r  r  z'An optional path prefix for the router.rã  a‚  
                A list of tags to be applied to all the *path operations* in this
                router.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
                r  a‘  
                A list of dependencies (using `Depends()`) to be applied to all the
                *path operations* in this router.

                Read more about it in the
                [FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies).
                r  a
  
                The default response class to be used.

                Read more in the
                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#default-response-class).
                rä  a*  
                Additional responses to be shown in OpenAPI.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Additional Responses in OpenAPI](https://fastapi.tiangolo.com/advanced/additional-responses/).

                And in the
                [FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies).
                rà  ao  
                OpenAPI callbacks that should apply to all *path operations* in this
                router.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).
                rp  a  
                **Note**: you probably shouldn't use this parameter, it is inherited
                from Starlette and supported for compatibility.

                ---

                A list of routes to serve incoming HTTP and WebSocket requests.
                a5  
                You normally wouldn't use this parameter with FastAPI, it is inherited
                from Starlette and supported for compatibility.

                In FastAPI, you normally would use the *path operation methods*,
                like `router.get()`, `router.post()`, etc.
                r+  z�
                Whether to detect and redirect slashes in URLs when the client doesn't
                use the same format.
                r°  z€
                Default function handler for this router. Used to handle
                404 Not Found errors.
                r  zÐ
                Only used internally by FastAPI to handle dependency overrides.

                You shouldn't need to use it. It normally points to the `FastAPI` app
                object.
                r,  a4  
                Custom route (*path operation*) class to be used by this router.

                Read more about it in the
                [FastAPI docs for Custom Request and APIRoute class](https://fastapi.tiangolo.com/how-to/custom-request-and-route/#custom-apiroute-class-in-a-router).
                r-  zý
                A list of startup event handler functions.

                You should instead use the `lifespan` handlers.

                Read more in the [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/).
                r.  a  
                A list of shutdown event handler functions.

                You should instead use the `lifespan` handlers.

                Read more in the
                [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/).
                r/  a'  
                A `Lifespan` context manager handler. This replaces `startup` and
                `shutdown` functions with a single context manager.

                Read more in the
                [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/).
                re   aa  
                Mark all *path operations* in this router as deprecated.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
                rß  a³  
                To include (or not) all the *path operations* in this router in the
                generated OpenAPI.

                This affects the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi).
                râ  aÜ  
                Customize the function used to generate unique IDs for the *path
                operations* shown in the generated OpenAPI.

                This is particularly useful when automatically generating clients or
                SDKs for your API.

                Read more about it in the
                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).
                r  aÃ  
                Enable strict checking for request Content-Type headers.

                When `True` (the default), requests with a body that do not include
                a `Content-Type` header will **not** be parsed as JSON.

                This prevents potential cross-site request forgery (CSRF) attacks
                that exploit the browser's ability to send requests without a
                Content-Type header, bypassing CORS preflight checks. In particular
                applicable for apps that need to be run locally (in localhost).

                When `False`, requests without a `Content-Type` header will have
                their body parsed as JSON, which maintains compatibility with
                certain clients that don't send `Content-Type` headers.

                Read more about it in the
                [FastAPI docs for Strict Content-Type](https://fastapi.tiangolo.com/advanced/strict-content-type/).
                rg   c                óô  •— |€t          | ¦  «        }nJt          j        |¦  «        rt          |¦  «        }n&t          j        |¦  «        rt          |¦  «        }n|}|| _        t          ¦   «                              |||	|¬¦  «         |r>| 	                    d¦  «        s
J d¦   «         ‚| 
                    d¦  «        r
J d¦   «         ‚|€g nt          |¦  «        | _        |€g nt          |¦  «        | _        || _        |pg | _        t          |pg ¦  «        | _        || _        || _        |pi | _        |pg | _        |
| _        || _        || _        || _        || _        d| _        g | _        d | _        d S )N)rp  r+  r°  r/  r  ú!A path prefix must start with '/'úFA path prefix must not end with '/', as the routes will start with '/'r   )r±   rÆ   Úisasyncgenfunctionr   Úisgeneratorfunctionr¦   rž   r   r‰   r�  rl  r–  r-  r.  r  rã  r  re   rß  rä  rà  r  r,  r  râ  r  Ú_routes_versionrx  Ú_frontend_routes)rˆ   r  rã  r  r  rä  rà  rp  r+  r°  r  r,  r-  r.  r/  re   rß  râ  r  rž   r¥  s                       €rv   r‰   zAPIRouter.__init__	  sÅ  ø€ ð^ Ðå.>¸tÑ.DÔ.DÐÐÝÔ'¨Ñ1Ô1ð 	(Ý2°8Ñ<Ô<ÐÐÝÔ(¨Ñ2Ô2ð 	(Ý9¸(ÑCÔCÐÐà'ÐØ 0ˆÔå‰Œ×ÒØØ-ØØ%ð	 	ñ 	
ô 	
ð 	
ð ð 	Ø×$Ò$ SÑ)Ô)ÐNÐNÐ+NÑNÔNÐ)Ø—’ sÑ+Ô+ð ð ØXñô Ð+ð Ð$ˆBˆB­$¨zÑ*:Ô*:ð 	Œð Ð%ˆBˆB­4°Ñ+<Ô+<ð 	Ôð ˆŒØ&* j¨bˆŒ	Ý  Ð!3°Ñ4Ô4ˆÔØ$ˆŒØ!2ˆÔØ"˜ bˆŒØ"˜ bˆŒØ-JˆÔ*Ø&ˆÔØ&<ˆÔ#Ø+FˆÔ(Ø#6ˆÔ Ø ˆÔØ57ˆÔ!Ø<@ˆÔÐÐrx   c                 ó&   — | xj         dz  c_         d S )NrÂ   )r5  rŒ   s    rv   Ú_mark_routes_changedzAPIRouter._mark_routes_changed9
  s   € ØÐÔ Ñ!ÐÔÐÐrx   Úseenc                 ó
  — |€t          ¦   «         }t          | ¦  «        }||v r| j        S |                     |¦  «         | j        }| j        D ]4}t          |t          ¦  «        r||j                             |¦  «        z  }Œ5|S r†   )	ré  rÅ   r5  Úaddrp  r+  re  rf  ro  )rˆ   r9  Ú	router_idÚversionrŸ  s        rv   ro  zAPIRouter._get_routes_version<
  s�   € Øˆ<Ý‘5”5ˆDÝ�t‘H”Hˆ	Ø˜ÐÐØÔ'Ð'Ø�Š�ÑÔÐØÔ&ˆØ”[ð 	Kð 	KˆEÝ˜%¥Ñ1Ô1ð KØ˜5Ô0×DÒDÀTÑJÔJÑJ�øØˆrx   r²   c                 ó  — |€t          ¦   «         }t          | ¦  «        }||v rdS |                     |¦  «         | j        D ]B}t	          |t
          ¦  «        sŒ|j        |u r dS |j                             ||¦  «        r dS ŒCdS )NFT)ré  rÅ   r;  rp  r+  re  rf  Ú_contains_router)rˆ   r²   r9  r<  rŸ  s        rv   r?  zAPIRouter._contains_routerI
  s¦   € ð ˆ<Ý‘5”5ˆDÝ�t‘H”Hˆ	Ø˜ÐÐØ�5Ø�Š�ÑÔÐØ”[ð 	ð 	ˆEÝ˜e¥_Ñ5Ô5ð ØØÔ$¨Ð.Ð.Ø�t�tØÔ$×5Ò5°f¸dÑCÔCð Ø�t�tðàˆurx   r  rí   rå  rï   c                 ó|   •— t          ¦   «                              |||||¬¦  «         |                      ¦   «          d S ©N)rå  rï   rß  )r   Ú	add_router8  )rˆ   r  rí   rå  rï   rß  r¥  s         €rv   rB  zAPIRouter.add_route[
  sO   ø€ õ 	‰Œ×ÒØØØØØ/ð 	ñ 	
ô 	
ð 	
ð 	×!Ò!Ñ#Ô#Ð#Ð#Ð#rx   c                 óx   •— t          ¦   «                              |||¬¦  «         |                      ¦   «          d S ©Nr|  )r   Úadd_websocket_router8  )rˆ   r  rí   rï   r¥  s       €rv   rE  zAPIRouter.add_websocket_routel
  s<   ø€ õ 	‰Œ×#Ò# D¨(¸Ð#Ñ>Ô>Ð>Ø×!Ò!Ñ#Ô#Ð#Ð#Ð#rx   r¬  )r½  r«  z`
                The URL path prefix where the frontend build should be served.
                rª  z\
                The directory containing the static frontend build output.
                r½  r¾  zX
                The fallback file behavior for missing frontend paths.
                r«  a`  
                Check that the frontend directory exists when the app is created. When
                set to `"auto"`, skip the check with a warning when `FASTAPI_ENV` is
                `"development"`, and check it otherwise. The `fastapi dev` command
                sets `FASTAPI_ENV` to `"development"` if it is not already set.
                c                ó\  — t          ||¬¦  «        }t          |¦  «        }| j        €?t          | j        | j        ¬¦  «        | _        | j                             | j        ¦  «         | j                             t          | j
        |¦  «        |||¬¦  «         |                      ¦   «          dS )uh  
        Serve a static frontend build as low-priority routes.

        Use this for frontend tools that build static files into a directory,
        such as `dist`. **FastAPI** path operations are checked first, and
        the frontend files are checked only if no normal route matched.

        A typical project could look like this:

        ```text
        .
        â”œâ”€â”€ pyproject.toml
        â”œâ”€â”€ app
        â”‚   â”œâ”€â”€ __init__.py
        â”‚   â””â”€â”€ main.py
        â””â”€â”€ dist
            â”œâ”€â”€ index.html
            â””â”€â”€ assets
                â””â”€â”€ app.js
        ```

        Then in `app/main.py`:

        ```python
        from fastapi import APIRouter, FastAPI

        app = FastAPI()
        router = APIRouter()
        router.frontend("/", directory="dist")
        app.include_router(router)
        ```
        r¹  Nr  r
  )rº  rŸ  r6  r>  r  r  rx  rq  r  r¡  r  r8  )rˆ   r  rª  r½  r«  Únormalized_paths         rv   ÚfrontendzAPIRouter.frontendu
  sÇ   € õN 0Ø¨9ð
ñ 
ô 
ˆ	õ 3°4Ñ8Ô8ˆØÔ Ð(Ý$7Ø!Ô.Ø.2Ô.Pð%ñ %ô %ˆDÔ!ð Ô%×,Ò,¨TÔ-BÑCÔCÐCØÔ×0Ò0Ý  ¤¨oÑ>Ô>ØØØð	 	1ñ 	
ô 	
ð 	
ð 	×!Ò!Ñ#Ô#Ð#Ð#Ð#rx   ri   rj   rk   c           	   ƒ   óº  K  — |d         dv sJ ‚d|vr| |d<   |d         dk    r|                       |||¦  «        ƒ d {V —† d S d }| j        D ]®}|                     |¦  «        \  }}|t          j        k    rn|                     |¦  «         t          |t          |dd ¦  «        t          |t          j
        ¦  «        ¬¦  «         |                     |||¦  «        ƒ d {V —†  d S |t          j        k    r|€||f}Œ¯|�r|\  }}|                     |¦  «         t          |t          |dd ¦  «        t          |t          j
        ¦  «        ¬¦  «         |                     |||¦  «        ƒ d {V —† d S t          |¦  «        }|d         dk    �r]| j        �rU|dk    �rNt          |¦  «        }	|                     d¦  «        r|	d	                              d¦  «        |	d	<   n|	d	         dz   |	d	<   | j        D ]õ}|                     |	¦  «        \  }}
|t          j        k    rË|                     d
¦  «        �s|}t          |t(          ¦  «        r<|                     |	¦  «        \  }
}
}}|�	|j        p|n|}t          |t(          ¦  «        °<t          |t          |dd ¦  «        ¬¦  «         t/          |	¬¦  «        }t1          t3          |¦  «        ¬¦  «        } ||||¦  «        ƒ d {V —†  d S Œö|                      |¦  «        \  }}}}|t          j        k    r¬|�ªt7          ||¦  «         t          |t          |p|dd ¦  «        ¬¦  «         |�W|t9          |¦  «        t:          <   |j        }t          |t>          ¦  «        r$||d<   |                     |||¦  «        ƒ d {V —† d S |                     |||¦  «        ƒ d {V —† d S |                       |||¦  «        ƒ d {V —† d S )Nr˜   )rB  r�  r/  r²   r/  r˜  rŒ  rB  r  r  zfastapi.telemetryr$  rÉ  rà  rŸ  )!r/  rp  r¡  rW   rH  rÃ  r<   rÉ   r+  rF   r[   r  rG  rH   r+  rp  rl  ra  r¢  r`  re  r‡  r1  rL   rS   r®   Ú_match_low_priorityrÆ  rÀ  rÈ  r  r  r°  )rˆ   ri   rj   rk   rz   rŸ  r£  r¤  rI  Úredirect_scoperœ  Útelemetry_routeÚmatched_routeÚmatched_contextÚredirect_urlrs   Úlow_priority_matchÚlow_priority_scopeÚlow_priority_routeÚlow_priority_contextr  s                        rv   rw   zAPIRouter.appÎ
  sÎ  è è € Ø�VŒ}Ð AÐAÐAÐAÐAà˜5Ð Ð Ø"ˆE�(‰Oà�Œ=˜JÒ&Ð&Ø—-’-  w°Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ØˆFà26ˆØ”[ð 	/ð 	/ˆEØ!&§¢¨uÑ!5Ô!5ÑˆE�;Ø�œ
Ò"Ð"Ø—’˜[Ñ)Ô)Ð)ÝØÝ  ¨°tÑ<Ô<Ý$ U­G¬MÑ:Ô:ðñ ô ð ð
 —l’l 5¨'°4Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø��Ø�œÒ%Ð%¨'¨/Ø  +Ð.�øàÐØ!(ÑˆE�;Ø�LŠL˜Ñ%Ô%Ð%ÝØÝ˜U M°4Ñ8Ô8Ý  ­¬Ñ6Ô6ðñ ô ð ð
 —,’,˜u g¨tÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ØˆFå# EÑ*Ô*ˆ
Ø�Œ=˜FÒ"Ñ" tÔ'<Ñ"ÀÈsÒARÑARÝ! %™[œ[ˆNØ×"Ò" 3Ñ'Ô'ð FØ)7¸Ô)?×)FÒ)FÀsÑ)KÔ)K�˜vÑ&Ð&à)7¸Ô)?À#Ñ)E�˜vÑ&àœð ð �Ø Ÿ=š=¨Ñ8Ô8‘��qØ�EœJÒ&Ð&Ø—y’yÐ!4Ñ5Ô5ÐAà!ð (õ )¨½/ÑJÔJð à /× 6Ò 6°~Ñ FÔ Fñ A˜A˜q -°ð
 $3Ð#>ð !0Ô ?Ð RÀ?øà%2ð ,õ	 )¨½/ÑJÔJð õ (Ø"'Ý!(¨¸-ÈÑ!NÔ!Nðñ ô ð õ $'¨^Ð#<Ñ#<Ô#<�LÝ/µC¸Ñ4EÔ4EÐFÑFÔF�HØ"˜( 5¨'°4Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø�F�Fð+ 'ð8 ×$Ò$ UÑ+Ô+ñ	
ØØØØ à¥¤Ò+Ð+Ð0BÐ0NÝ˜%Ð!3Ñ4Ô4Ð4ÝØÝØ(Ð>Ð,>ÀÈtñô ðñ ô ð ð $Ð/à(õ # 5Ñ)Ô)Õ*NÑOð "6Ô!D�Ý˜n­hÑ7Ô7ð Ø%3�E˜'‘NØ(×/Ò/°°wÀÑEÔEÐEÐEÐEÐEÐEÐEÐEØ�FØ$×+Ò+¨E°7¸DÑAÔAÐAÐAÐAÐAÐAÐAÐAØˆFà�lŠl˜5 '¨4Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0rx   c              ƒ   óÜ   K  — t          |¦  «        }t          |t          ¦  «        r(|j        | u r|                     |||¦  «        ƒ d {V —† d S |                      |||¦  «        ƒ d {V —† d S r†   )rÍ  r+  re  rf  rŽ  rw   )rˆ   ri   rj   rk   r®  s        rv   r  zAPIRouter.handle/  s�   è è € Ý4°UÑ;Ô;ˆå�­Ñ8Ô8ð	àÔ/°4Ð7Ð7à!×2Ò2°5¸'À4ÑHÔHÐHÐHÐHÐHÐHÐHÐHØˆFØ�hŠh�u˜g tÑ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,rx   c                 ó´   — t          |¦  «        }t          |t          ¦  «        r'|j        | u r|                     |¦  «        \  }}}}||fS t
          j        i fS r†   )rÍ  r+  re  rf  r‡  rW   r¢  )rˆ   ri   r®  r£  r¤  rœ  s         rv   r¡  zAPIRouter.matches9  sb   € Ý4°UÑ;Ô;ˆå�­Ñ8Ô8ð	&àÔ/°4Ð7Ð7à'6×'=Ò'=¸eÑ'DÔ'DÑ$ˆE�;  1Ø˜+Ð%Ð%ÝŒz˜2ˆ~Ðrx   c              #   ó–   K  — | j         E d {V —† | j        D ]1}t          |t          ¦  «        r|                     ¦   «         E d {V —† Œ2d S r†   )rx  rp  r+  re  ry  r,  s     rv   Ú_iter_low_priority_routesz#APIRouter._iter_low_priority_routesC  sz   è è € ð Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ø”[ð 	Að 	AˆEÝ˜%¥Ñ1Ô1ð AØ ×>Ò>Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@øð	Að 	Arx   c                 ó|  — d }d }|                       ¦   «         D �]c}t          |t          ¦  «        rÇ|}|j        }t          |t          ¦  «        r‡t          |¦  «        }|                     t          t          ¦  «        }||t          <   	 | 	                    |¦  «        \  }	}
t          |t          |¦  «         n# t          |t          |¦  «         w xY w|}n>| 	                    |¦  «        \  }	}
|j        p|}nd }| 	                    |¦  «        \  }	}
|}|	t          j        k    r%|�|                      |
|d         ¦  «        r|
||f}�Œ0|	t          j        k    r#|�|                      |
|d         ¦  «        r|
||f}�Œe|�|\  }
}}t          j        |
||fS |�|\  }
}}t          j        |
||fS t          j        i d d fS rJ  )rW  r+  r0  r  r  rÀ  r`  rÈ  rÕ  r¡  r×  r1  rW   rH  Ú _frontend_match_is_more_specificrG  r¢  )rˆ   ri   r"  rz   r…  rv  r  r¿  r†  r£  r¤  rŸ  s               rv   rJ  zAPIRouter._match_low_priorityK  s  € ð OSˆØQUˆØ×7Ò7Ñ9Ô9ð $	Bñ $	BˆIå˜)Õ%;Ñ<Ô<ð "Ø?H�Ø!*Ô!9�Ý˜n­hÑ7Ô7ð HÝ$6°uÑ$=Ô$=�MØ'4×'8Ò'8Ý<½nñ(ô (Ð$ð KX�MÕ"FÑGðØ-;×-CÒ-CÀEÑ-JÔ-JÑ*˜˜{å2Ø!Ý@Ø,ñô ð ð øÕ2Ø!Ý@Ø,ñô ð ð øøøð
 +�E�Eà)2×):Ò):¸5Ñ)AÔ)AÑ&�E˜;Ø%Ô5ÐG¸�E�Eà $�Ø%.×%6Ò%6°uÑ%=Ô%=Ñ"��{Ø!�Ø�œ
Ò"Ð"Ø�< 4×#HÒ#HØ  a¤ñ$ô $�<ð (¨°Ð>�DùØ�%œ-Ò'Ð'Ø�? d×&KÒ&KØ ¨¤ñ'ô '�?ð  +¨E°=ÐA�GùØÐØ04Ñ-ˆK˜ Ý”:˜{¨E°=Ð@Ð@ØÐØ07Ñ-ˆK˜ Ý”= +¨u°mÐCÐCÝŒz˜2˜t TÐ)Ð)s   Â	B8Â8Cr¤  Úprevious_child_scopec                 óV   — t          |¦  «        }t          |¦  «        }|�|€dS ||k    S ©NF)rÒ  )rˆ   r¤  rZ  rÑ  Úprevious_specificitys        rv   rY  z*APIRouter._frontend_match_is_more_specific}  s=   € õ 2°+Ñ>Ô>ˆÝ:Ð;OÑPÔPÐØÐÐ"6Ð">Ø�5ØÐ1Ò1Ð1rx   c                 ó@   ‡ ‡‡‡‡— dt           dt           fˆˆˆˆˆ fd„}|S )Nrf   rg   c                 ó<   •— ‰                      ‰| ‰‰‰¬¦  «         | S rA  )rB  )rf   rß  rå  rï   r  rˆ   s    €€€€€rv   Ú	decoratorz"APIRouter.route.<locals>.decorator�  s4   ø€ Ø�NŠNØØØØØ"3ð ñ ô ð ð ˆKrx   ©r@   )rˆ   r  rå  rï   rß  r`  s   ````` rv   rŸ  zAPIRouter.route†  sQ   øøøøø€ ð	Õ-ð 	Õ2Cð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð Ðrx   rê  F)rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   rï   Úroute_class_overriderà  rá  râ  r  .rÛ  rô   rÜ  rç  rÝ  rÞ  rÿ   r   r  r  r  r  rý   rb  rá  c          	      ó  — |p| j         }|
pi }
i | j        ¥|
¥}t          || j        ¦  «        }| j                             ¦   «         }|r|                     |¦  «         | j                             ¦   «         } |r|                      |¦  «         | j                             ¦   «         }!|r|!                     |¦  «         t          || j	        ¦  «        }" || j
        |z   fi d|“d|“d|“d|“d| “d|“d|“d|	“d	|“d
|p| j        “d|“d|“d|“d|“d|“d|“d|“d|“d|o| j        “d|“d|“d| j        “d|!“d|“d|"“dt          || j        ¦  «        “Ž}#| j                             |#¦  «         |                      ¦   «          d S )Nrí   rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   rï   r  rà  rá  râ  r  )r,  rä  rD   r  rã  r  ru  r  rà  râ  r  re   rß  r  r  rp  rq  r8  )$rˆ   r  rí   rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   rï   rb  rà  rá  râ  r  r,  Úcombined_responsesÚcurrent_response_classÚcurrent_tagsÚcurrent_dependenciesÚcurrent_callbacksrû  rŸ  s$                                       rv   Úadd_api_routezAPIRouter.add_api_route™  s«  € ð@ +Ð>¨dÔ.>ˆØ�O ˆ	Ø< ¤Ð<°)Ð<ÐÝ!5Ø˜DÔ7ñ"
ô "
Ðð ”y—~’~Ñ'Ô'ˆØð 	&Ø×Ò Ñ%Ô%Ð%Ø#Ô0×5Ò5Ñ7Ô7ÐØð 	6Ø ×'Ò'¨Ñ5Ô5Ð5Ø œN×/Ò/Ñ1Ô1ÐØð 	0Ø×$Ò$ YÑ/Ô/Ð/Ý%9Ø'¨Ô)Iñ&
ô &
Ð"ð �ØŒK˜$Ñð
ð 
ð 
à�Xð
ð *˜>ð
ð $˜ð	
ð
 �ð
ð .Ð-ð
ð �Gð
ð $˜ð
ð "6Ð!5ð
ð )Ð(ð
ð "Ð4 T¤_øð
ð �Gð
ð &˜ð
ð $:Ð#9ð
ð $:Ð#9ð
ð  %<Ð$;ð!
ð" *FÐ)Eð#
ð$ -LÐ,Kð%
ð& )DÐ(Cð'
ð( 0ÐJ°DÔ4Jøð)
ð* 2Ð1ð+
ð, �ð-
ð. +/Ô*LÐ*Lð/
ð0 (Ð'ð1
ð2 (˜-ð3
ð4 )CÐ(Bð5
õ6 !5Ø# TÔ%=ñ!ô !ð !ð7
ˆð> 	Œ×Ò˜5Ñ!Ô!Ð!Ø×!Ò!Ñ#Ô#Ð#Ð#Ð#rx   ©rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   rï   rà  rá  râ  c                ó�   ‡ ‡‡‡‡‡‡‡‡‡	‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡— dt           dt           fˆˆˆ
ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ	ˆ ˆˆˆfd„}|S )Nrf   rg   c                 ód   •— ‰                      ‰| ‰‰‰‰‰‰‰‰‰‰‰
‰‰‰‰‰‰‰‰‰‰‰	‰¬¦  «         | S )Nrj  )ri  )rf   rà  r  re   rç  râ  rß  rå  rï   rá  rÞ  r  rý   rÝ  rÛ  r  r   r  r  r  rÿ   rä  rˆ   rô   rÜ  rã  s    €€€€€€€€€€€€€€€€€€€€€€€€€rv   r`  z&APIRouter.api_route.<locals>.decorator  sr   ø€ Ø×ÒØØØ-Ø'ØØ)ØØ'Ø%9Ø#Ø%ØØ)Ø'=Ø'=Ø(?Ø-IØ0OØ,GØ"3Ø-ØØ#Ø+Ø,Gð3 ñ ô ð ð6 ˆKrx   ra  )rˆ   r  rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   rï   rà  rá  râ  r`  s   ````````````````````````` rv   Ú	api_routezAPIRouter.api_routeí  sÉ   øøøøøøøøøøøøøøøøøøøøøøøøø€ ð<	Õ-ð 	Õ2Cð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð< Ðrx   )r  c                ó  — | j                              ¦   «         }|r|                     |¦  «         t          | j        |z   |||| j        ¬¦  «        }| j                             |¦  «         |                      ¦   «          d S )Nr{  )	r  r  ru  r’  r  r  rp  rq  r8  )rˆ   r  rí   rï   r  rg  rŸ  s          rv   Úadd_api_websocket_routez!APIRouter.add_api_websocket_route+  s’   € ð  $Ô0×5Ò5Ñ7Ô7ÐØð 	6Ø ×'Ò'¨Ñ5Ô5Ð5å!ØŒK˜$ÑØØØ-Ø*.Ô*Lð
ñ 
ô 
ˆð 	Œ×Ò˜5Ñ!Ô!Ð!Ø×!Ò!Ñ#Ô#Ð#Ð#Ð#rx   z1
                WebSocket path.
                zQ
                A name for the WebSocket. Only used internally.
                a  
                A list of dependencies (using `Depends()`) to be used for this
                WebSocket.

                Read more about it in the
                [FastAPI docs for WebSockets](https://fastapi.tiangolo.com/advanced/websockets/).
                c                ó<   ‡ ‡‡‡— dt           dt           fˆˆˆˆ fd„}|S )a¡  
        Decorate a WebSocket function.

        Read more about it in the
        [FastAPI docs for WebSockets](https://fastapi.tiangolo.com/advanced/websockets/).

        **Example**

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI, WebSocket

        app = FastAPI()
        router = APIRouter()

        @router.websocket("/ws")
        async def websocket_endpoint(websocket: WebSocket):
            await websocket.accept()
            while True:
                data = await websocket.receive_text()
                await websocket.send_text(f"Message text was: {data}")

        app.include_router(router)
        ```
        rf   rg   c                 ó:   •— ‰                      ‰| ‰‰¬¦  «         | S )N)rï   r  )ro  )rf   r  rï   r  rˆ   s    €€€€rv   r`  z&APIRouter.websocket.<locals>.decorator|  s0   ø€ Ø×(Ò(Ø�d °Lð )ñ ô ð ð ˆKrx   ra  )rˆ   r  rï   r  r`  s   ```` rv   r�  zAPIRouter.websocketA  sL   øøøø€ ðv	Õ-ð 	Õ2Cð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð Ðrx   c                 ó8   ‡ ‡‡— dt           dt           fˆˆˆ fd„}|S )Nrf   rg   c                 ó8   •— ‰                      ‰| ‰¬¦  «         | S rD  )rE  )rf   rï   r  rˆ   s    €€€rv   r`  z,APIRouter.websocket_route.<locals>.decorator‡  s#   ø€ Ø×$Ò$ T¨4°dÐ$Ñ;Ô;Ð;ØˆKrx   ra  )rˆ   r  rï   r`  s   ``` rv   Úwebsocket_routezAPIRouter.websocket_route„  sE   øøø€ ð	Õ-ð 	Õ2Cð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð Ðrx   r!  zThe `APIRouter` to include.zÛ
                Include (or not) all the *path operations* in this router in the
                generated OpenAPI schema.

                This affects the generated OpenAPI (e.g. visible at `/docs`).
                c       	         ó”  — | |us
J d¦   «         ‚|                      | ¦  «        r
J d¦   «         ‚|r?|                     d¦  «        s
J d¦   «         ‚|                     d¦  «        r
J d¦   «         ‚n˜t          |j        ¦  «        D ]ƒ\  }}|€#t          |dd¦  «        }t          |dd	¦  «        }nB|j        �-t          |j        dd¦  «        }t          |j        dd	¦  «        }n|j        }|j        }|�|st          d
|› d�¦  «        ‚Œ„t                               | |||||||||	|
¬¦  «        }| j                             t          ||¬¦  «        ¦  «         |                      ¦   «          |j        D ]}|                      d|¦  «         Œ|j        D ]}|                      d|¦  «         Œt%          | j        |j        ¦  «        | _        dS )a|  
        Include another `APIRouter` in the same current `APIRouter`.

        Read more about it in the
        [FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/).

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI

        app = FastAPI()
        internal_router = APIRouter()
        users_router = APIRouter()

        @users_router.get("/users/")
        def read_users():
            return [{"name": "Rick"}, {"name": "Morty"}]

        internal_router.include_router(users_router)
        app.include_router(internal_router)
        ```
        zcCannot include the same APIRouter instance into itself. Did you mean to include a different router?zsCannot include an APIRouter instance that already includes this router. Did you mean to include a different router?r  r1  r2  Nr  rï   Úunknownz6Prefix and path cannot be both empty (path operation: ú))r"  r®  r  rã  r  r  rä  rà  re   rß  râ  rn  ÚstartupÚshutdown)r?  r�  rl  r•  rp  rÉ   r1  r  rï   r2   r  r&  rq  re  r8  r-  Úadd_event_handlerr.  r¯   rž   )rˆ   r²   r  rã  r  r  rä  rà  re   rß  râ  rŸ  rv  r  rï   r8  Úhandlers                    rv   Úinclude_routerzAPIRouter.include_router�  s_  € ðN ˜6Ð!Ð!Ð!ð:ñ "Ô!Ð!ð ×*Ò*¨4Ñ0Ô0ð 	
ð 	
ð:ñ	
ô 	
Ð0ð ð 	Ø×$Ò$ SÑ)Ô)ÐNÐNÐ+NÑNÔNÐ)Ø—’ sÑ+Ô+ð ð ØXñô Ð+ð õ )BÀ&Ä-Ñ(PÔ(Pð ð Ñ$��}Ø Ð(Ý" 5¨&°$Ñ7Ô7�DÝ" 5¨&°)Ñ<Ô<�D�DØ"Ô2Ð>Ý" =Ô#@À&È$ÑOÔO�DÝ" =Ô#@À&È)ÑTÔT�D�Dà(Ô-�DØ(Ô-�DØÐ#¨DÐ#Ý&ØXÐQUÐXÐXÐXñô ð øõ 0×;Ò;ØØ"ØØØ%Ø#9ØØØ!Ø/Ø(Cð <ñ 
ô 
ˆð 	Œ×ÒÝ¨FÀOÐTÑTÔTñ	
ô 	
ð 	
ð 	×!Ò!Ñ#Ô#Ð#ØÔ(ð 	7ð 	7ˆGØ×"Ò" 9¨gÑ6Ô6Ð6Ð6ØÔ)ð 	8ð 	8ˆGØ×"Ò" :¨wÑ7Ô7Ð7Ð7Ý 7ØÔ!ØÔ#ñ!
ô !
ˆÔÐÐrx   )rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rÞ  rÿ   r   r  r  r  r  rß  rý   rï   rà  rá  râ  z§
                The URL path to be used for this *path operation*.

                For example, in `http://example.com/items`, the path is `/items`.
                a’  
                The type to use for the response.

                It could be any valid Pydantic *field* type. So, it doesn't have to
                be a Pydantic model, it could be other things, like a `list`, `dict`,
                etc.

                It will be used for:

                * Documentation: the generated OpenAPI (and the UI at `/docs`) will
                    show it as the response (JSON Schema).
                * Serialization: you could return an arbitrary object and the
                    `response_model` would be used to serialize that object into the
                    corresponding JSON.
                * Filtering: the JSON sent to the client will only contain the data
                    (fields) defined in the `response_model`. If you returned an object
                    that contains an attribute `password` but the `response_model` does
                    not include that field, the JSON sent to the client would not have
                    that `password`.
                * Validation: whatever you return will be serialized with the
                    `response_model`, converting any data as necessary to generate the
                    corresponding JSON. But if the data in the object returned is not
                    valid, that would mean a violation of the contract with the client,
                    so it's an error from the API developer. So, FastAPI will raise an
                    error and return a 500 error code (Internal Server Error).

                Read more about it in the
                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).
                aM  
                The default status code to be used for the response.

                You could override the status code by returning a response directly.

                Read more about it in the
                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).
                ac  
                A list of tags to be applied to the *path operation*.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).
                a[  
                A list of dependencies (using `Depends()`) to be applied to the
                *path operation*.

                Read more about it in the
                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).
                aL  
                A summary for the *path operation*.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
                a  
                A description for the *path operation*.

                If not provided, it will be extracted automatically from the docstring
                of the *path operation function*.

                It can contain Markdown.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
                z¡
                The description for the default response.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).
                z½
                Additional responses that could be returned by this *path operation*.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).
                z¡
                Mark this *path operation* as deprecated.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).
                a€  
                Custom operation ID to be used by this *path operation*.

                By default, it is generated automatically.

                If you provide a custom operation ID, you need to make sure it is
                unique for the whole API.

                You can customize the
                operation ID generation with the parameter
                `generate_unique_id_function` in the `FastAPI` class.

                Read more about it in the
                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).
                a\  
                Configuration passed to Pydantic to include only certain fields in the
                response data.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).
                aW  
                Configuration passed to Pydantic to exclude certain fields in the
                response data.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).
                a|  
                Configuration passed to Pydantic to define if the response model
                should be serialized by alias when an alias is used.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).
                aÜ  
                Configuration passed to Pydantic to define if the response data
                should have all the fields, including the ones that were not set and
                have their default values. This is different from
                `response_model_exclude_defaults` in that if the fields are set,
                they will be included in the response, even if the value is the same
                as the default.

                When `True`, default values are omitted from the response.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).
                a¹  
                Configuration passed to Pydantic to define if the response data
                should have all the fields, including the ones that have the same value
                as the default. This is different from `response_model_exclude_unset`
                in that if the fields are set but contain the same default values,
                they will be excluded from the response.

                When `True`, default values are omitted from the response.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).
                a~  
                Configuration passed to Pydantic to define if the response data should
                exclude fields set to `None`.

                This is much simpler (less smart) than `response_model_exclude_unset`
                and `response_model_exclude_defaults`. You probably want to use one of
                those two instead of this one, as those allow returning `None` values
                when it makes sense.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).
                a‹  
                Include this *path operation* in the generated OpenAPI schema.

                This affects the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi).
                ae  
                Response class to be used for this *path operation*.

                This will not be used if you return a response directly.

                Read more about it in the
                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).
                zW
                Name for this *path operation*. Only used internally.
                aÃ  
                List of *path operations* that will be used as OpenAPI callbacks.

                This is only for OpenAPI documentation, the callbacks won't be used
                directly.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).
                ah  
                Extra metadata to be included in the OpenAPI schema for this *path
                operation*.

                Read more about it in the
                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).
                c                ó^   — |                       |||||||||	|
dg|||||||||||||¬¦  «        S )ax  
        Add a *path operation* using an HTTP GET operation.

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI

        app = FastAPI()
        router = APIRouter()

        @router.get("/items/")
        def read_items():
            return [{"name": "Empanada"}, {"name": "Arepa"}]

        app.include_router(router)
        ```
        rì  ©r  rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rå  rÞ  rÿ   r   r  r  r  r  rß  rý   rï   rà  rá  râ  ©rm  ©rˆ   r  rÛ  rô   rã  r  rÜ  rç  rÝ  rä  re   rÞ  rÿ   r   r  r  r  r  rß  rý   rï   rà  rá  râ  s                           rv   r`  zAPIRouter.getJ  sj   € ð|
 �~Š~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�GØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ñ 
ô 
ð 	
rx   c                ó^   — |                       |||||||||	|
dg|||||||||||||¬¦  «        S )a%  
        Add a *path operation* using an HTTP PUT operation.

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI
        from pydantic import BaseModel

        class Item(BaseModel):
            name: str
            description: str | None = None

        app = FastAPI()
        router = APIRouter()

        @router.put("/items/{item_id}")
        def replace_item(item_id: str, item: Item):
            return {"message": "Item replaced", "id": item_id}

        app.include_router(router)
        ```
        ÚPUTr~  r  r€  s                           rv   ÚputzAPIRouter.putÃ  sj   € ðF �~Š~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�GØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ñ 
ô 
ð 	
rx   c                ó^   — |                       |||||||||	|
dg|||||||||||||¬¦  «        S )aÿ  
        Add a *path operation* using an HTTP POST operation.

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI
        from pydantic import BaseModel

        class Item(BaseModel):
            name: str
            description: str | None = None

        app = FastAPI()
        router = APIRouter()

        @router.post("/items/")
        def create_item(item: Item):
            return {"message": "Item created"}

        app.include_router(router)
        ```
        ÚPOSTr~  r  r€  s                           rv   ÚpostzAPIRouter.postA  ój   € ðF �~Š~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�HØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ñ 
ô 
ð 	
rx   c                ó^   — |                       |||||||||	|
dg|||||||||||||¬¦  «        S )a†  
        Add a *path operation* using an HTTP DELETE operation.

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI

        app = FastAPI()
        router = APIRouter()

        @router.delete("/items/{item_id}")
        def delete_item(item_id: str):
            return {"message": "Item deleted"}

        app.include_router(router)
        ```
        ÚDELETEr~  r  r€  s                           rv   ÚdeletezAPIRouter.delete¿  sj   € ð|
 �~Š~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�JØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ñ 
ô 
ð 	
rx   c                ó^   — |                       |||||||||	|
dg|||||||||||||¬¦  «        S )a€  
        Add a *path operation* using an HTTP OPTIONS operation.

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI

        app = FastAPI()
        router = APIRouter()

        @router.options("/items/")
        def get_item_options():
            return {"additions": ["Aji", "Guacamole"]}

        app.include_router(router)
        ```
        ÚOPTIONSr~  r  r€  s                           rv   ÚoptionszAPIRouter.options8  sj   € ð|
 �~Š~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�KØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ñ 
ô 
ð 	
rx   c                ó^   — |                       |||||||||	|
dg|||||||||||||¬¦  «        S )a0  
        Add a *path operation* using an HTTP HEAD operation.

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI
        from pydantic import BaseModel

        class Item(BaseModel):
            name: str
            description: str | None = None

        app = FastAPI()
        router = APIRouter()

        @router.head("/items/", status_code=204)
        def get_items_headers(response: Response):
            response.headers["X-Cat-Dog"] = "Alone in the world"

        app.include_router(router)
        ```
        rÝ  r~  r  r€  s                           rv   ÚheadzAPIRouter.head±  r‡  rx   c                ó^   — |                       |||||||||	|
dg|||||||||||||¬¦  «        S )a
  
        Add a *path operation* using an HTTP PATCH operation.

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI
        from pydantic import BaseModel

        class Item(BaseModel):
            name: str
            description: str | None = None

        app = FastAPI()
        router = APIRouter()

        @router.patch("/items/")
        def update_item(item: Item):
            return {"message": "Item updated in place"}

        app.include_router(router)
        ```
        ÚPATCHr~  r  r€  s                           rv   ÚpatchzAPIRouter.patch/  ój   € ðF �~Š~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�IØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ñ 
ô 
ð 	
rx   c                ó^   — |                       |||||||||	|
dg|||||||||||||¬¦  «        S )aô  
        Add a *path operation* using an HTTP TRACE operation.

        ## Example

        ```python
        from fastapi import APIRouter, FastAPI
        from pydantic import BaseModel

        class Item(BaseModel):
            name: str
            description: str | None = None

        app = FastAPI()
        router = APIRouter()

        @router.trace("/items/{item_id}")
        def trace_item(item_id: str):
            return None

        app.include_router(router)
        ```
        ÚTRACEr~  r  r€  s                           rv   ÚtracezAPIRouter.trace­  r“  rx   c              ƒ   ór   K  — | j         D ],}t          |¦  «        r |¦   «         ƒ d{V —† Œ" |¦   «          Œ-dS )zø
        Run any `.on_startup` event handlers.

        This method is kept for backward compatibility after Starlette removed
        support for on_startup/on_shutdown handlers.

        Ref: https://github.com/Kludex/starlette/pull/3117
        N)r-  rI   ©rˆ   r{  s     rv   r·   zAPIRouter._startup,  sY   è è € ð ”ð 	ð 	ˆGÝ  Ñ)Ô)ð Ø�g‘i”i��������à�‘	”	�	�	ð		ð 	rx   c              ƒ   ór   K  — | j         D ],}t          |¦  «        r |¦   «         ƒ d{V —† Œ" |¦   «          Œ-dS )zù
        Run any `.on_shutdown` event handlers.

        This method is kept for backward compatibility after Starlette removed
        support for on_startup/on_shutdown handlers.

        Ref: https://github.com/Kludex/starlette/pull/3117
        N)r.  rI   r˜  s     rv   rº   zAPIRouter._shutdown<  sZ   è è € ð Ô'ð 	ð 	ˆGÝ  Ñ)Ô)ð Ø�g‘i”i��������à�‘	”	�	�	ð		ð 	rx   Ú
event_typerf   c                 óŠ   — |dv sJ ‚|dk    r| j                              |¦  «         dS | j                             |¦  «         dS )a	  
        Add an event handler function for startup or shutdown.

        This method is kept for backward compatibility after Starlette removed
        support for on_startup/on_shutdown handlers.

        Ref: https://github.com/Kludex/starlette/pull/3117
        )rx  ry  rx  N)r-  rq  r.  )rˆ   rš  rf   s      rv   rz  zAPIRouter.add_event_handlerL  sZ   € ð Ð4Ð4Ð4Ð4Ð4Ø˜Ò"Ð"ØŒO×"Ò" 4Ñ(Ô(Ð(Ð(Ð(àÔ×#Ò# DÑ)Ô)Ð)Ð)Ð)rx   zÌ
        on_event is deprecated, use lifespan event handlers instead.

        Read more about it in the
        [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).
        zM
                The type of event. `startup` or `shutdown`.
                c                 ó4   ‡ ‡— dt           dt           fˆˆ fd„}|S )a  
        Add an event handler for the router.

        `on_event` is deprecated, use `lifespan` event handlers instead.

        Read more about it in the
        [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/#alternative-events-deprecated).
        rf   rg   c                 ó4   •— ‰                      ‰| ¦  «         | S r†   )rz  )rf   rš  rˆ   s    €€rv   r`  z%APIRouter.on_event.<locals>.decorator{  s   ø€ Ø×"Ò" :¨tÑ4Ô4Ð4ØˆKrx   ra  )rˆ   rš  r`  s   `` rv   Úon_eventzAPIRouter.on_event_  s?   øø€ ð8	Õ-ð 	Õ2Cð 	ð 	ð 	ð 	ð 	ð 	ð 	ð Ðrx   r½   r†   )NNT)Nr”   r•   r–   r—   r!   rQ   r  rC   r   r®   r   r–  r   r   r   r¦  r˜   rT   rp  rÐ  r   rV   re   rœ   r^   r   r_   r‰   r8  ré  ro  r?  rP   r   r   rB  rd   rE  r¦  rù  r   rH  ra   r`   rb   rw   r  r§  rW   r¡  r	   r0  rW  rJ  rY  r@   rŸ  rA   r"   ri  rm  ro  r�  rt  r|  r`  rƒ  r†  rŠ  r�  r�  r’  r–  r·   rº   rz  rž  r¨  r©  s   @rv   r³   r³   þ  sr=  ø€ € € € € ðð ð: RTð ð ð ˆG�LÑ!Ô!ð  ð ð, ð ð ð ð ð ð ð ð ð ð ˆGÐ&Ñ'Ô'ð. ˆG�D‰MŒMðY^Að ^Að ^Að ˜#˜s˜sÐ#LÑMÔMÐMÔNð^Að Ø��t‘Ô˜tÑ#ØˆCðñ
ô 
ðô
ð	^Að$  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ð%^Að< !*Ø�ŒNØˆCðñô ðô
!
ð=^AðR Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCð
ñô ðô
ðS^Aðr Ø�ŒO˜dÑ"ØˆCðñ
ô 
ðô
ðs^AðN Ø�ŒO˜dÑ"ØˆCðñ	ô 	ð ˆJðñô ðô
ðO^Aðz $ØØˆCðñô ðô
ð{^AðL Ø�d‰NØˆCðñô ðô
ðM^Að^ (1Ø�$‰JØˆCðñô ðô
(
ð_^Aðt Ø�ŒNØˆCðñô ðô

ðu^AðJ Ø�X˜b #˜gÔ&Ô'¨$Ñ.ØˆCðñô ð	ô
ðK^Aðb Ø�X˜b #˜gÔ&Ô'¨$Ñ.ØˆCðñ	ô 	ð
ô
ðc^Að@ Ø�SŒM˜DÑ ØˆCðñô ð	ô
ðA^AðX Ø�4‰KØˆCðñ	ô 	ð
ô
ðY^Aðr %ØØˆCðñ
ô 
ðô
ðs^AðN &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðO^Aðl 'ØØˆCðñô ðô
ðm^AðZ 
ð[^Að ^Að ^Að ^Að ^Að ^Að@	"ð "ð "ð "ðð ¨¨C¬°4©ð À3ð ð ð ð ð <@ðð Ø!ðØ),¨S¬°D©ðà	ðð ð ð ð, +/ØØ"&ð$ð $àð$ð ˜G˜9 i°Ô&9¸HÑ&DÐDÔEð$ð ˜C” 4Ñ'ð	$ð
 �D‰jð$ð  ð$ð 
ð$ð $ð $ð $ð $ð $ð*  ð	$ð $àð$ð ˜I˜;¨	°$¬Ð7Ô8ð$ð �D‰jð	$ð
 
ð$ð $ð $ð $ð $ð $ðF ð ðKW$ð W$ð W$àØØˆCðñô ðô
ðW$ð Ø�"”+˜cÔ"Ñ"ØˆCðñô ðô
ðW$ð& ØÐ4Ô5¸Ñ<ØˆCðñô ðô
ð'W$ð6 Ø�7˜6”?Ñ"ØˆCðñô ðô

ð7W$ðL 
ðMW$ð W$ð W$ð W$ðr_1˜uð _1¨wð _1¸dð _1Àtð _1ð _1ð _1ð _1ðB- %ð -°'ð -Àð -È$ð -ð -ð -ð -ð˜Uð  u¨U°E¨\Ô':ð ð ð ð ðAà	�)Ð4Ñ4Ô	5ðAð Að Að Að0*Øð0*à	ˆu�e˜Y¨Ñ-Ð/EÈÑ/LÐLÔ	Mð0*ð 0*ð 0*ð 0*ðd2Ø ð2Ø8=ð2à	ð2ð 2ð 2ð 2ð +/ØØ"&ðð àðð ˜C” 4Ñ'ðð �D‰jð	ð
  ðð 
Ð$Ð%Ð'8Ð8Ô	9ðð ð ð ð0 &˜g d™mœmØ"&Ø(,Ø8<Ø"Ø"&Ø$9Ø<@Ø"&Ø/3Ø#'Ø/3Ø/3Ø(,Ø-2Ø05Ø,1Ø"&Ø>E¸gÀlÑ>SÔ>SØØ6:Ø,0Ø/3à&˜wÐ'9Ñ:Ô:Ø9@¸À¹¼ð=R$ð R$ð R$àðR$ð ˜3 ˜8Ô$ðR$ð
 ðR$ð ˜4‘ZðR$ð �3˜‘:Ô Ñ%ðR$ð ˜vœ~Ô.°Ñ5ðR$ð �t‘ðR$ð ˜4‘ZðR$ð "ðR$ð ˜˜c™	 4¨¨S¨¤>Ð1Ô2°TÑ9ðR$ð ˜4‘KðR$ð �S”˜D œIÑ%¨Ñ,ðR$ð ˜D‘jðR$ð  !&¨¡ð!R$ð" !&¨¡ð#R$ð$ "&ð%R$ð& '+ð'R$ð( *.ð)R$ð* &*ð+R$ð,  ð-R$ð. ˜XœÐ);Ñ;ð/R$ð0 �D‰jð1R$ð2 # 8œn¨tÑ3ð3R$ð4 ˜	”? TÑ)ð5R$ð6 ˜C ˜H”~¨Ñ,ð7R$ð8 &.¨x¨j¸#¨oÔ%>Ø
ñ&ð9R$ð< "Ð$6Ñ6ð=R$ð> 
ð?R$ð R$ð R$ð R$ðp &˜g d™mœmØ"&Ø(,Ø8<Ø"Ø"&Ø$9Ø<@Ø"&Ø$(Ø#'Ø/3Ø/3Ø(,Ø-2Ø05Ø,1Ø"&Ø)0¨°Ñ)>Ô)>ØØ,0Ø/3ØAHÀØñB
ô B
ð5<ð <ð <àð<ð ð	<ð
 ˜4‘Zð<ð �3˜‘:Ô Ñ%ð<ð ˜vœ~Ô.°Ñ5ð<ð �t‘ð<ð ˜4‘Zð<ð "ð<ð ˜˜c™	 4¨¨S¨¤>Ð1Ô2°TÑ9ð<ð ˜4‘Kð<ð �c”˜TÑ!ð<ð ˜D‘jð<ð !&¨¡ð<ð  !&¨¡ð!<ð" "&ð#<ð$ '+ð%<ð& *.ð'<ð( &*ð)<ð*  ð+<ð, ˜Xœð-<ð. �D‰jð/<ð0 ˜	”? TÑ)ð1<ð2 ˜C ˜H”~¨Ñ,ð3<ð4 &.¨x¨j¸#¨oÔ%>ð5<ð: 
Ð$Ð%Ð'8Ð8Ô	9ð;<ð <ð <ð <ðD  ð	$ð 9=ð$ð $ð $àð$ð ˜3 ˜8Ô$ð$ð �D‰jð	$ð ˜vœ~Ô.°Ñ5ð$ð 
ð$ð $ð $ð $ðN ð#Að< ð=Að Að AàØØˆCðñô ðô
ðAð Ø�$‰JØˆCðñô ðô
ðAð&  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ð'Að> 
Ð$Ð%Ð'8Ð8Ô	9ð?Að Að Að AðH -1ðð ØðØ" T™zðà	Ð$Ð%Ð'8Ð8Ô	9ðð ð ð ð RTð ð ð ˆG�LÑ!Ô!ð  ð ð ð ð ˆGÐ&Ñ'Ô'ð]{
ð {
ð {
à˜+ s sÐ+HÑ'IÔ'IÐIÔJð{
ð ˜#˜s˜sÐ#LÑMÔMÐMÔNð	{
ð
 Ø��t‘Ô˜tÑ#ØˆCðñ
ô 
ðô
ð{
ð&  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ð'{
ð> !*Ø�ŒNØˆCðñô ðô
!
ð?{
ðT Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCð
ñô ðô
ðU{
ðt Ø�ŒO˜dÑ"ØˆCðñ
ô 
ðô
ðu{
ðP Ø�4‰KØˆCðñ	ô 	ð
ô
ðQ{
ðj %ØØˆCðñô ðô

ðk{
ð@ &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðA{
ð^ 
ð_{
ð {
ð {
ð {
ðV ˆG�D‰MŒMð ð ð ð ð$ ð "ð ð ð( ð ð ð ð$ ð" ð" ð ð ˆG�LÑ!Ô!ð ð  ð ð ˆGÐ&Ñ'Ô'ðU
w
ð w
ð w
àØØˆCðñô ðô	
ðw
ð "ØØˆCðñô ðô!
ðw
ð^ Ø�$‰JØˆCðñ	ô 	ð
ô
ð_w
ðx Ø��t‘Ô˜tÑ#ØˆCðñ	ô 	ð
ô
ðyw
ðR  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ðSw
ðj Ø�$‰JØˆCðñ	ô 	ð
ô
ðkw
ðD Ø�$‰JØˆCðñô ðô
ðEw
ðh (ØØˆCðñô ðô	
ðiw
ð| Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCðñô ðô	
ð}w
ðP Ø�4‰KØˆCðñô ðô	
ðQw
ðd  Ø�$‰JØˆCðñô ðô
ðew
ðL !*Ø�D‰LØˆCðñô ð	ô!
ðMw
ðd !*Ø�D‰LØˆCðñô ð	ô!
ðew
ð| "+ØØˆCðñô ð	ô"
ð}w
ðT '0ØØˆCðñô ðô'
ðUw
ðx *3ØØˆCðñô ðô*
ðyw
ðZ &/ØØˆCðñô ðô&
ð[w
ð| %ØØˆCðñ	ô 	ð
ô
ð}w
ðV "Ø�ŒNØˆCðñ	ô 	ð
ô
ðWw
ðp Ø�$‰JØˆCðñô ðô
ðqw
ð@	 Ø�ŒO˜dÑ"ØˆCð
ñô ðô
ðA	w
ð`	 !Ø��c�ŒN˜TÑ!ØˆCðñô ð	ô
ða	w
ðx	 &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðy	w
ðV
 
Ð$Ð%Ð'8Ð8Ô	9ðW
w
ð w
ð w
ð w
ðN ˆG�D‰MŒMð ð ð ð ð$ ð "ð ð ð( ð ð ð ð$ ð" ð" ð ð ˆG�LÑ!Ô!ð ð  ð ð ˆGÐ&Ñ'Ô'ðU
|
ð |
ð |
àØØˆCðñô ðô	
ð|
ð "ØØˆCðñô ðô!
ð|
ð^ Ø�$‰JØˆCðñ	ô 	ð
ô
ð_|
ðx Ø��t‘Ô˜tÑ#ØˆCðñ	ô 	ð
ô
ðy|
ðR  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ðS|
ðj Ø�$‰JØˆCðñ	ô 	ð
ô
ðk|
ðD Ø�$‰JØˆCðñô ðô
ðE|
ðh (ØØˆCðñô ðô	
ði|
ð| Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCðñô ðô	
ð}|
ðP Ø�4‰KØˆCðñô ðô	
ðQ|
ðd  Ø�$‰JØˆCðñô ðô
ðe|
ðL !*Ø�D‰LØˆCðñô ð	ô!
ðM|
ðd !*Ø�D‰LØˆCðñô ð	ô!
ðe|
ð| "+ØØˆCðñô ð	ô"
ð}|
ðT '0ØØˆCðñô ðô'
ðU|
ðx *3ØØˆCðñô ðô*
ðy|
ðZ &/ØØˆCðñô ðô&
ð[|
ð| %ØØˆCðñ	ô 	ð
ô
ð}|
ðV "Ø�ŒNØˆCðñ	ô 	ð
ô
ðW|
ðp Ø�$‰JØˆCðñô ðô
ðq|
ð@	 Ø�ŒO˜dÑ"ØˆCð
ñô ðô
ðA	|
ð`	 !Ø��c�ŒN˜TÑ!ØˆCðñô ð	ô
ða	|
ðx	 &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðy	|
ðV
 
Ð$Ð%Ð'8Ð8Ô	9ðW
|
ð |
ð |
ð |
ðX ˆG�D‰MŒMð ð ð ð ð$ ð "ð ð ð( ð ð ð ð$ ð" ð" ð ð ˆG�LÑ!Ô!ð ð  ð ð ˆGÐ&Ñ'Ô'ðU
|
ð |
ð |
àØØˆCðñô ðô	
ð|
ð "ØØˆCðñô ðô!
ð|
ð^ Ø�$‰JØˆCðñ	ô 	ð
ô
ð_|
ðx Ø��t‘Ô˜tÑ#ØˆCðñ	ô 	ð
ô
ðy|
ðR  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ðS|
ðj Ø�$‰JØˆCðñ	ô 	ð
ô
ðk|
ðD Ø�$‰JØˆCðñô ðô
ðE|
ðh (ØØˆCðñô ðô	
ði|
ð| Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCðñô ðô	
ð}|
ðP Ø�4‰KØˆCðñô ðô	
ðQ|
ðd  Ø�$‰JØˆCðñô ðô
ðe|
ðL !*Ø�D‰LØˆCðñô ð	ô!
ðM|
ðd !*Ø�D‰LØˆCðñô ð	ô!
ðe|
ð| "+ØØˆCðñô ð	ô"
ð}|
ðT '0ØØˆCðñô ðô'
ðU|
ðx *3ØØˆCðñô ðô*
ðy|
ðZ &/ØØˆCðñô ðô&
ð[|
ð| %ØØˆCðñ	ô 	ð
ô
ð}|
ðV "Ø�ŒNØˆCðñ	ô 	ð
ô
ðW|
ðp Ø�$‰JØˆCðñô ðô
ðq|
ð@	 Ø�ŒO˜dÑ"ØˆCð
ñô ðô
ðA	|
ð`	 !Ø��c�ŒN˜TÑ!ØˆCðñô ð	ô
ða	|
ðx	 &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðy	|
ðV
 
Ð$Ð%Ð'8Ð8Ô	9ðW
|
ð |
ð |
ð |
ðX ˆG�D‰MŒMð ð ð ð ð$ ð "ð ð ð( ð ð ð ð$ ð" ð" ð ð ˆG�LÑ!Ô!ð ð  ð ð ˆGÐ&Ñ'Ô'ðU
w
ð w
ð w
àØØˆCðñô ðô	
ðw
ð "ØØˆCðñô ðô!
ðw
ð^ Ø�$‰JØˆCðñ	ô 	ð
ô
ð_w
ðx Ø��t‘Ô˜tÑ#ØˆCðñ	ô 	ð
ô
ðyw
ðR  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ðSw
ðj Ø�$‰JØˆCðñ	ô 	ð
ô
ðkw
ðD Ø�$‰JØˆCðñô ðô
ðEw
ðh (ØØˆCðñô ðô	
ðiw
ð| Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCðñô ðô	
ð}w
ðP Ø�4‰KØˆCðñô ðô	
ðQw
ðd  Ø�$‰JØˆCðñô ðô
ðew
ðL !*Ø�D‰LØˆCðñô ð	ô!
ðMw
ðd !*Ø�D‰LØˆCðñô ð	ô!
ðew
ð| "+ØØˆCðñô ð	ô"
ð}w
ðT '0ØØˆCðñô ðô'
ðUw
ðx *3ØØˆCðñô ðô*
ðyw
ðZ &/ØØˆCðñô ðô&
ð[w
ð| %ØØˆCðñ	ô 	ð
ô
ð}w
ðV "Ø�ŒNØˆCðñ	ô 	ð
ô
ðWw
ðp Ø�$‰JØˆCðñô ðô
ðqw
ð@	 Ø�ŒO˜dÑ"ØˆCð
ñô ðô
ðA	w
ð`	 !Ø��c�ŒN˜TÑ!ØˆCðñô ð	ô
ða	w
ðx	 &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðy	w
ðV
 
Ð$Ð%Ð'8Ð8Ô	9ðW
w
ð w
ð w
ð w
ðN ˆG�D‰MŒMð ð ð ð ð$ ð "ð ð ð( ð ð ð ð$ ð" ð" ð ð ˆG�LÑ!Ô!ð ð  ð ð ˆGÐ&Ñ'Ô'ðU
w
ð w
ð w
àØØˆCðñô ðô	
ðw
ð "ØØˆCðñô ðô!
ðw
ð^ Ø�$‰JØˆCðñ	ô 	ð
ô
ð_w
ðx Ø��t‘Ô˜tÑ#ØˆCðñ	ô 	ð
ô
ðyw
ðR  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ðSw
ðj Ø�$‰JØˆCðñ	ô 	ð
ô
ðkw
ðD Ø�$‰JØˆCðñô ðô
ðEw
ðh (ØØˆCðñô ðô	
ðiw
ð| Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCðñô ðô	
ð}w
ðP Ø�4‰KØˆCðñô ðô	
ðQw
ðd  Ø�$‰JØˆCðñô ðô
ðew
ðL !*Ø�D‰LØˆCðñô ð	ô!
ðMw
ðd !*Ø�D‰LØˆCðñô ð	ô!
ðew
ð| "+ØØˆCðñô ð	ô"
ð}w
ðT '0ØØˆCðñô ðô'
ðUw
ðx *3ØØˆCðñô ðô*
ðyw
ðZ &/ØØˆCðñô ðô&
ð[w
ð| %ØØˆCðñ	ô 	ð
ô
ð}w
ðV "Ø�ŒNØˆCðñ	ô 	ð
ô
ðWw
ðp Ø�$‰JØˆCðñô ðô
ðqw
ð@	 Ø�ŒO˜dÑ"ØˆCð
ñô ðô
ðA	w
ð`	 !Ø��c�ŒN˜TÑ!ØˆCðñô ð	ô
ða	w
ðx	 &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðy	w
ðV
 
Ð$Ð%Ð'8Ð8Ô	9ðW
w
ð w
ð w
ð w
ðN ˆG�D‰MŒMð ð ð ð ð$ ð "ð ð ð( ð ð ð ð$ ð" ð" ð ð ˆG�LÑ!Ô!ð ð  ð ð ˆGÐ&Ñ'Ô'ðU
|
ð |
ð |
àØØˆCðñô ðô	
ð|
ð "ØØˆCðñô ðô!
ð|
ð^ Ø�$‰JØˆCðñ	ô 	ð
ô
ð_|
ðx Ø��t‘Ô˜tÑ#ØˆCðñ	ô 	ð
ô
ðy|
ðR  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ðS|
ðj Ø�$‰JØˆCðñ	ô 	ð
ô
ðk|
ðD Ø�$‰JØˆCðñô ðô
ðE|
ðh (ØØˆCðñô ðô	
ði|
ð| Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCðñô ðô	
ð}|
ðP Ø�4‰KØˆCðñô ðô	
ðQ|
ðd  Ø�$‰JØˆCðñô ðô
ðe|
ðL !*Ø�D‰LØˆCðñô ð	ô!
ðM|
ðd !*Ø�D‰LØˆCðñô ð	ô!
ðe|
ð| "+ØØˆCðñô ð	ô"
ð}|
ðT '0ØØˆCðñô ðô'
ðU|
ðx *3ØØˆCðñô ðô*
ðy|
ðZ &/ØØˆCðñô ðô&
ð[|
ð| %ØØˆCðñ	ô 	ð
ô
ð}|
ðV "Ø�ŒNØˆCðñ	ô 	ð
ô
ðW|
ðp Ø�$‰JØˆCðñô ðô
ðq|
ð@	 Ø�ŒO˜dÑ"ØˆCð
ñô ðô
ðA	|
ð`	 !Ø��c�ŒN˜TÑ!ØˆCðñô ð	ô
ða	|
ðx	 &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðy	|
ðV
 
Ð$Ð%Ð'8Ð8Ô	9ðW
|
ð |
ð |
ð |
ðX ˆG�D‰MŒMð ð ð ð ð$ ð "ð ð ð( ð ð ð ð$ ð" ð" ð ð ˆG�LÑ!Ô!ð ð  ð ð ˆGÐ&Ñ'Ô'ðU
|
ð |
ð |
àØØˆCðñô ðô	
ð|
ð "ØØˆCðñô ðô!
ð|
ð^ Ø�$‰JØˆCðñ	ô 	ð
ô
ð_|
ðx Ø��t‘Ô˜tÑ#ØˆCðñ	ô 	ð
ô
ðy|
ðR  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ðS|
ðj Ø�$‰JØˆCðñ	ô 	ð
ô
ðk|
ðD Ø�$‰JØˆCðñô ðô
ðE|
ðh (ØØˆCðñô ðô	
ði|
ð| Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCðñô ðô	
ð}|
ðP Ø�4‰KØˆCðñô ðô	
ðQ|
ðd  Ø�$‰JØˆCðñô ðô
ðe|
ðL !*Ø�D‰LØˆCðñô ð	ô!
ðM|
ðd !*Ø�D‰LØˆCðñô ð	ô!
ðe|
ð| "+ØØˆCðñô ð	ô"
ð}|
ðT '0ØØˆCðñô ðô'
ðU|
ðx *3ØØˆCðñô ðô*
ðy|
ðZ &/ØØˆCðñô ðô&
ð[|
ð| %ØØˆCðñ	ô 	ð
ô
ð}|
ðV "Ø�ŒNØˆCðñ	ô 	ð
ô
ðW|
ðp Ø�$‰JØˆCðñô ðô
ðq|
ð@	 Ø�ŒO˜dÑ"ØˆCð
ñô ðô
ðA	|
ð`	 !Ø��c�ŒN˜TÑ!ØˆCðñô ð	ô
ða	|
ðx	 &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðy	|
ðV
 
Ð$Ð%Ð'8Ð8Ô	9ðW
|
ð |
ð |
ð |
ðX ˆG�D‰MŒMð ð ð ð ð$ ð "ð ð ð( ð ð ð ð$ ð" ð" ð ð ˆG�LÑ!Ô!ð ð  ð ð ˆGÐ&Ñ'Ô'ðU
|
ð |
ð |
àØØˆCðñô ðô	
ð|
ð "ØØˆCðñô ðô!
ð|
ð^ Ø�$‰JØˆCðñ	ô 	ð
ô
ð_|
ðx Ø��t‘Ô˜tÑ#ØˆCðñ	ô 	ð
ô
ðy|
ðR  Ø�V”^Ô$ tÑ+ØˆCðñô ð	ô
ðS|
ðj Ø�$‰JØˆCðñ	ô 	ð
ô
ðk|
ðD Ø�$‰JØˆCðñô ðô
ðE|
ðh (ØØˆCðñô ðô	
ði|
ð| Ø��s‘˜D  c œNÐ*Ô+¨dÑ2ØˆCðñô ðô	
ð}|
ðP Ø�4‰KØˆCðñô ðô	
ðQ|
ðd  Ø�$‰JØˆCðñô ðô
ðe|
ðL !*Ø�D‰LØˆCðñô ð	ô!
ðM|
ðd !*Ø�D‰LØˆCðñô ð	ô!
ðe|
ð| "+ØØˆCðñô ð	ô"
ð}|
ðT '0ØØˆCðñô ðô'
ðU|
ðx *3ØØˆCðñô ðô*
ðy|
ðZ &/ØØˆCðñô ðô&
ð[|
ð| %ØØˆCðñ	ô 	ð
ô
ð}|
ðV "Ø�ŒNØˆCðñ	ô 	ð
ô
ðW|
ðp Ø�$‰JØˆCðñô ðô
ðq|
ð@	 Ø�ŒO˜dÑ"ØˆCð
ñô ðô
ðA	|
ð`	 !Ø��c�ŒN˜TÑ!ØˆCðñô ð	ô
ða	|
ðx	 &/Ø�h�Z �_Ô%ØˆCð	ñô ðô&
ðy	|
ðV
 
Ð$Ð%Ð'8Ð8Ô	9ðW
|
ð |
ð |
ð |
ð~ð ð ð ð ð ð ð ð *àð*ð �r˜3�wÔð*ð 
ð	*ð *ð *ð *ð& €Zð	ñô ðàØØˆCðñô ðô
ðð 
Ð$Ð%Ð'8Ð8Ô	9ðð ð ñô ðð ð ð ð rx   r³   r\  r½   )Ór£   r  Úemail.messagerg  rï  ry   rÆ   r  r¦  rË  r’  rš   r·  Úcollections.abcr   r   r   r   r   r   r	   r
   r   r   r   r   r   Úcontextvarsr   Údataclassesr   r   Úenumr   r   Útypingr   r   r   r   r   r   r8  Úannotated_docr   Ú	anyio.abcr   rª  r   Úfastapi._compatr   r   r    Úfastapi.datastructuresr!   r"   Úfastapi.dependencies.modelsr#   r$   r%   r&   Úfastapi.dependencies.utilsr'   r(   r)   r*   r+   r,   r-   r.   r/   Úfastapi.encodersr0   Úfastapi.exceptionsr1   r2   r3   r4   r5   Úfastapi.sser6   r7   r8   r9   r:   Úfastapi.telemetry._apir;   r<   r=   r>   r?   Úfastapi.typesr@   rA   Úfastapi.utilsrB   rC   rD   rE   Ú	starletterF   Ústarlette._exception_handlerrG   Ústarlette._utilsrH   rI   Ústarlette.concurrencyrJ   rK   Ústarlette.datastructuresrL   rM   rN   Ústarlette.exceptionsrO   Ústarlette.requestsrP   Ústarlette.responsesrQ   rR   rS   rT   rU   Ústarlette.routingrV   rW   rX   rY   rZ   r[   Ústarlette.staticfilesr\   Ústarlette.typesr]   r^   r_   r`   ra   rb   Ústarlette.websocketsrd   Útyping_extensionsre   r{   r€   r�   rƒ   r¦   r¯   r±   r¿   rp  rÐ  r»  rÐ   rœ   rè   r®   ró   rû   r˜   r‹  r�  r~  r’  r¾  rÈ  rÓ  rÏ  rÌ  r±  r¾   rÕ  r³  r¦  r§  r–  rš  rº  rÀ  rÆ  rÊ  rÍ  rÒ  r×  rÙ  ré  r  r}  r  r  r0  rU  re  r—  r™  r•  rŸ  r¡  r¤  rù  r©  rº  r¼  rÿ  r  rè  r  r>  r�  r³   r�   rx   rv   ú<module>r¾     sF  ðØ Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð ð ð ð ð #Ð "Ð "Ð "Ð "Ð "Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð
 ?Ð >Ð >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð ð ð ð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð .Ð -Ð -Ð -Ð -Ð -ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø EÐ EÐ EÐ EÐ EÐ EØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø .Ð .Ð .Ð .Ð .Ð .Ø &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,Ø -Ð -Ð -Ð -Ð -Ð -Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ *Ð *Ð *Ð *Ð *Ð *Ø (Ð (Ð (Ð (Ð (Ð (ð
'Ø
�G�9˜i¨Ô1°HÑ<Ð<Ô
=ð'àð'ð 'ð 'ð 'ðXØ
�I�; 	¨$¤Ð/Ô
0ðàðð ð ð ð0 €WˆT�]„]€ðAð Að Að Að AÐ:¸2Ô>ñ Aô Að Að.Ø ˜u i°°S¸#°Ô&>Ð>Ô?ðàˆsˆeÐ0°Ô5Ð5Ô6ðð ð ð ð"Ø˜s”mðØ5=¸c´]ðàˆc„]ðð ð ð ð"ð ð ð ð ñ ô ð ð2 79Ð ˜˜c ?Ð2Ô3Ð 8Ð 8Ñ 8ð Cð ¨Oð ð ð ð ð2  $à Ø ØØØ"ØØØ+/Øð(2ð (2ð (2à˜Ñð(2ð ð(2ð �T‰\ð	(2ð
 �T‰\ð(2ð ð(2ð ð(2ð ð(2ð ð(2ð ð(2ð " DÑ(ð(2ð ð(2ð 	ð(2ð (2ð (2ð (2ðV
Øð
Ø%)¨#¨s¨(¤^ð
ØCGð
àð
ð 
ð 
ð 
ð Ø˜$‘JðØ/2ðà	ˆ#ˆsˆ(„^ðð ð ð ð( %)Ø"Ø:A¸'À,Ñ:OÔ:OØ(,Ø+/Ø+/Ø$(Ø).Ø,1Ø(-Ø04Ø#Ø5<°W¸T±]´]Ø+/Ø ð!Oð OØðOà˜TÑ!ðOð �t‘ðOð ˜”NÐ%7Ñ7ð	Oð
  Ñ%ðOð " D™LðOð " D™LðOð "ðOð #'ðOð &*ðOð "&ðOð $'¨¡:ðOð ðOð Ð 2Ñ2ðOð " DÑ(ðOð  ð!Oð" ˆwˆi˜ 3¨¨XÐ#5Ô6Ð6Ô7ð#Oð Oð Oð Oðh 15Ø#ð,ð ,Øð,à#&¨¡:ð,ð ð,ð ˆyˆk˜9 S¨#¨s ]Ô3Ð3Ô4ð	,ð ,ð ,ð ,ð^$"ð $"ð $"ð $"ð $"˜Ô.ñ $"ô $"ð $"ðN Ð Ø'@Ð $Ø,Ð Ø$:Ð !Ø0Ð Ø7A°zØ%¨tð8ñ 8ô 8Ð ˜j¨¨t©Ô4ð ð ñ ð �‘”€ð	ð 	ð 	ð 	ð5à
ð5ð �3˜�8Ô
ð5ð ˜6œ>Ô*ð	5ð
 ˆ9�d˜:Ô&¨Ð,Ô-ð5ð 5ð 5ð 5ð"ð ð ð ð �Xñ ô ð ð˜eð ¨¨S°#¨X¬ð ð ð ð ð>˜ð >¨Uð >°tð >ð >ð >ð >ðW¨eð W¸¸d¹
ð Wð Wð Wð WðO eð O°°d±
ð Oð Oð Oð Oð uð °°t±ð ð ð ð ð& eð &°#ð &Àð &Èð &ð &ð &ð &ð(ð (ð (ð (ð (�Hñ (ô (ð (ð` "˜' $™-œ-Ø"Ø$(Ø48ØØ"Ø 5Ø8<Ø"ØØ+/Ø#Ø+/Ø+/Ø$(Ø).Ø,1Ø(-Ø"Ø:A¸'À,Ñ:OÔ:OØ04Ø(,Ø+/ØMTÈWØñNô Nð 6=°W¸T±]´]Ø#'ðAb'ð b'ð b'Øðb'à
ðb'ð �s˜C�xÔ ðb'ð
 ðb'ð �t‘ðb'ð ˆs�T‰zÔ
˜TÑ
!ðb'ð ˜6œ>Ô*¨TÑ1ðb'ð �4‰Zðb'ð �t‘ðb'ð ðb'ð �C˜#‘I˜t C¨ Hœ~Ð-Ô.°Ñ5ðb'ð �t‘ðb'ð �‰*ðb'ð �ŒX˜˜Sœ	Ñ! DÑ(ðb'ð  ˜‘*ð!b'ð" " D™Lð#b'ð$ " D™Lð%b'ð& "ð'b'ð( #'ð)b'ð* &*ð+b'ð, "&ð-b'ð. ð/b'ð0 ˜”NÐ%7Ñ7ð1b'ð2 $'¨¡:ð3b'ð4 �IŒ Ñ%ð5b'ð6 ˜˜S˜”> DÑ(ð7b'ð8 "*¨3¨%°¨*Ô!5Ð8JÑ!Jð9b'ð> Ð 2Ñ2ð?b'ð@ ˜D‘jðAb'ðB 
ðCb'ð b'ð b'ð b'ðJW3ð W3ð W3ð W3ð W3ˆwŒ}ñ W3ô W3ð W3ðt ðU(ð U(ð U(ð U(ð U(ñ U(ô U(ñ „ðU(ðp ðo3ð o3ð o3ð o3ð o3ñ o3ô o3ñ „ðo3ðd €�$ÐÑÔð%4ð %4ð %4ð %4ð %4ñ %4ô %4ñ Ôð%4ðP ðm6ð m6ð m6ð m6ð m6�iñ m6ô m6ñ „ðm6ð`¨H°YÔ,?ð ÀHÈYÔDWð ð ð ð ðBØ�Y Ñ-Ô.ðBàˆlÔðBð Bð Bð BðØ�YÔðàˆe�IÐ5¸Ñ<Ð<Ô=Ô>ðð ð ð ð 3ð ¨3ð ð ð ð ð ð ¨Cð °Cð ð ð ð ð Sð ¨Sð ð ð ð ð- c¨B¬K¸Ô,<Ñ&<ð -Àð -ð -ð -ð -ðà�R”[ Ô%Ñ%ðð �g˜f”oÑ%ðð 
ð	ð ð ð ð$v
ð v
ð v
ð v
ð v
˜;ñ v
ô v
ð v
ðr
 Sð 
¨X°e¸CÀ¸JÔ6GÔ-Hð 
ð 
ð 
ð 
ð"¨5ð °Tð ð ð ð ð5.ð 5.ð 5.ð 5.ð 5.�Yñ 5.ô 5.ð 5.ðpYLð YLð YLð YLð YL˜)ñ YLô YLð YLðxABð ABð ABð ABð AB�”ñ ABô ABð ABð ABð ABrx   