+
    šh©j�æ ã            4       ó\  a € R¨ tÂ0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIHtHtHtHtHtHtHtHtHt ^ RIHtHtHtHt ^ RIHt ^ RIHtH t  ^ RI!H"t"H#t# ^ RI$H%t%H&t&H't'H(t(H)t)H*t* ^ RI+t+^ RI,H-t- ^ R	I.H/t/ ^ R
I0H1t1 ^ RI2H3t3H4t4H5t5 ^ RI6H7t7H8t8 ^ RI9H:t:H;t;H<t<H=t= ^ RI>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtG ^ RIHHItI ^ RIJHKtKHLtLHMtMHNtNHOtO ^ RIPHQtQHRtRHStSHTtTHUtU ^ RIVHWtWHXtX ^ RIYHZtZH[t[H\t\H]t] ^ RI^H_t_ ^ RI`Hata ^ RIbHctcHdtd ^ RIeHftfHgtg ^ RIhHitiHjtjHktk ^ RIlHmtm ^ RInHoto ^ RIpHqtqHrtrHstsHtttHutu ^ RIvHwtwHxtxHytyHztzH{t{ ^ RIvH|t| ^ RI}H~t~ ^ RIH€t€H�t�H‚t‚HƒtƒH„t„H…t… ^ R I†H‡t‡ ^ R!IˆH‰t‰ R" R# ltŠR$ R% lt‹])! R&4      tŒ ! R' R(]]Œ,          4      t�R) R* ltŽR+ R, lt� ! R- R.4      t�/ t‘] ^ k R/ R0 lt’R1RR2RR3RR4R5R6R7R8R7R9R7R:R5R;RR<R7/
R= R> llt“R? R@ lt”RA RB lt•RR]7! ]q4      RRRR5R7R7R7RR7]7! R54      RR73RC RD llt–R©RE RF llt— ! RG RH]_EP0                  4      t™RItšRJt›RKtœRLt�RMtž]! RNRRO7      tŸ] ^k ] ! 4       t¡RP RQ lt¢RR RS lt£ ! RT RU](4      t¤RV RW lt¥RX RY lt¦RZ R[ lt§R\ R] lt¨R^ R_ lt©R` Ra ltª ! Rb Rc](4      t«Rd]7! R4      ReRRfRRgRRhRRiRRjRkRlRRmRRnRRoRRpRRqRRrRRsR5RtR7RuR7RvR7RwR5Rx]7! ]q4      RyRRzRR{RR|]7! ][4      R}]7! R54      R~R/R R€ llt¬ ! R� R‚]_EPZ                  4      t®] ! Rƒ R„4      4       t¯] ! R… R†4      4       t°]! R5R‡7       ! Rˆ R‰4      4       t±] ! RŠ R‹]w4      4       t²RŒ R� lt³RŽ R� lt´R� R‘ ltµR’ R“ lt¶R” R• lt·R– R— lt¸R˜ R™ lt¹Rš R› ltº ! Rœ R�]~4      t»Rž RŸ lt¼R  R¡ lt½ ! R¢ R£]w4      t¾ ! R¤ R¥]w4      t¿ ! R¦ R§]_EP€                  4      tÁR# )ªé    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)Ú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)Ú
deprecatedc                ó€   € V ^8„  d   QhR\         \        .\        \        ,          \        ,          3,          R\        /# ©é   ÚfuncÚreturn)r   rK   r   rO   rY   )Úformats   "ÚJ/var/www/html/bestweb/venv/lib/python3.14/site-packages/fastapi/routing.pyÚ__annotate__rh   y   s2   € ÷ 'ñ 'Ü
”G�9œi¬Õ1´HÕ<Ð<Õ
=ð'äñ'ó    c                óv   a€ \        V 4      '       d   T M\        P                  ! \        V 4      oR V3R llpV# )z]
Takes a function or coroutine `func(request) -> response`,
and returns an ASGI application.
c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# ©rc   ÚscopeÚreceiveÚsendre   N©r\   r[   r]   )rf   s   "rg   rh   Ú&request_response.<locals>.__annotate__†   s.   € ÷ Oñ Oœð O¬ð O¼ð OÀñ Ori   c              “   óx   <a"  € \        WV4      oR  VV3R llp\        VS4      ! WV4      G Rj  x€L
  R#  L5i)c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# rl   rp   )rf   s   "rg   rh   Ú3request_response.<locals>.app.<locals>.__annotate__‰   s(   € ÷ 	ñ 	œUð 	¬Wð 	¼Dð 	ÀTñ 	ri   c           
   “   óÄ  <"  € R p\        4       ;_uu_4       GRj  x€L
 pW@R&   \        4       ;_uu_4       GRj  x€L
 pWPR&   S! S4      G Rj  x€L
 pRRR4      GRj  x€L
  X! WV4      G Rj  x€L
  RpRRR4      GRj  x€L
  V'       g   \        R4      hR#  L Lb LP LB  + GRj  x€L 
 '       g   i     LY; i LO L?  + GRj  x€L 
 '       g   i     LV; i5i)FNÚ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   )	rm   rn   ro   Úresponse_awaitedÚrequest_stackÚfunction_stackÚresponseÚfÚrequests	   &&&    €€rg   ÚappÚ*request_response.<locals>.app.<locals>.app‰   s¸   øé € à$ÐÜ%×'×'Ô'¨=Ø0=Ð,Ñ-Ü)×+×+Ô+¨~Ø7EÐ3Ñ4Ù%& w£Z×/�H÷ ,×+ñ ˜u¨tÓ4×4Ð4à#'Ð ÷ (×'÷ $Ü"ðKóð ñ $ñ (á+á/÷ ,×+×+Ò+úñ 5÷ (×'×'Ò'üs¹   ƒC œB�C  C»B¼C¿B$	ÁB ÁB$	ÁCÁB"Á CÁ0C Á1CÁ7C ÂCÂC ÂC ÂCÂ B$	Â"CÂ$B=Â*B-Â+
B=Â6B=Â8	CÃC ÃC	Ã
CÃ
C	ÃC	ÃC N)rK   rB   )rm   rn   ro   r~   r}   r|   s   &&& @€rg   r~   Úrequest_response.<locals>.app†   s5   ùé € Ü˜%¨$Ó/ˆ÷	ñ 	ô* +¨3°Ô8¸ÈÓN×NÔNùs   „-:±8²:)rD   Ú	functoolsÚpartialrF   )rd   r~   r|   s   & @rg   Úrequest_responserƒ   y   s>   ø€ ô ˜T×"Ò"ñ 	ä×ÒÔ0°$Ó7ð ÷Oð Oð4 €Jri   c                ób   € V ^8„  d   QhR\         \        .\        R,          3,          R\        /# )rc   rd   Nre   )r   r_   r   rY   )rf   s   "rg   rh   rh   ¥   s,   € ÷ ñ Ü
”I�;¤	¨$¥Ð/Õ
0ðäñri   c                ó   a € R V 3R llpV# )zE
Takes a coroutine `func(session)`, and returns an ASGI application.
c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# rl   rp   )rf   s   "rg   rh   Ú'websocket_session.<locals>.__annotate__­   s.   € ÷ Oñ Oœð O¬ð O¼ð OÀñ Ori   c              “   óz   <a"  € \        WVR 7      oR VV3R llp\        VS4      ! WV4      G Rj  x€L
  R#  L5i))rn   ro   c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# rl   rp   )rf   s   "rg   rh   Ú4websocket_session.<locals>.app.<locals>.__annotate__°   s(   € ÷ 	(ñ 	(œUð 	(¬Wð 	(¼Dð 	(ÀTñ 	(ri   c           
   “   ór  <"  € \        4       ;_uu_4       GR j  x€L
 pW0R&   \        4       ;_uu_4       GR j  x€L
 pW@R&   S! S4      G R j  x€L
  R R R 4      GR j  x€L
  R R R 4      GR j  x€L
  R #  LY L< L* L  + GR j  x€L 
 '       g   i     L3; i L*  + GR j  x€L 
 '       g   i     R # ; i5i)Nrv   rw   )r   )rm   rn   ro   ry   rz   rd   Úsessions   &&&  €€rg   r~   Ú+websocket_session.<locals>.app.<locals>.app°   sw   øé € Ü%×'×'Ô'¨=Ø0=Ð,Ñ-Ü)×+×+Ô+¨~Ø7EÐ3Ñ4Ù˜w›-×'Ð'÷ ,×+÷ (×'Ó'á+á'÷ ,×+×+Ò+ú÷ (×'×'Ó'üs§   ƒB7šA4›B7žB¹A6ºB½A<	ÁA8ÁA<	ÁBÁA:ÁBÁ"B7Á-BÁ.B7Á6BÁ8A<	Á:BÁ<BÂBÂ
BÂBÂBÂB7ÂB4	Â B#Â!
B4	Â,B4	Â.	B7N)r_   rB   )rm   rn   ro   r~   rŒ   rd   s   &&& @€rg   r~   Úwebsocket_session.<locals>.app­   s5   ùé € Ü˜E¸Ô>ˆ÷	(ñ 	(ô +¨3°Ô8¸ÈÓN×NÔNùs   „.;²9³;© )rd   r~   s   f rg   Úwebsocket_sessionr�   ¥   s   ø€ ÷Oð Oð €Jri   Ú_Tc                   óZ   a € ] tR t^Át o RtV 3R lR ltV 3R lR ltV 3R lR ltRtV t	R	# )
Ú_AsyncLiftContextManagerz|
Wraps a synchronous context manager to make it async.

This is vendored from Starlette to avoid importing private symbols.
c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )rc   Úcmre   N)r   r‘   )rf   Ú__classdict__s   "€rg   rh   Ú%_AsyncLiftContextManager.__annotate__È   s!   ø€ ÷ ñ Ñ1±"Õ5ð ¸$ñ ri   c                ó   € Wn         R # ©N©Ú_cm)Úselfr•   s   &&rg   Ú__init__Ú!_AsyncLiftContextManager.__init__È   s   € ØŽri   c                ó    <€ V ^8„  d   QhRS[ /# ©rc   re   )r‘   )rf   r–   s   "€rg   rh   r—   Ë   s   ø€ ÷ $ñ $¡"ñ $ri   c              ƒ  ó>   "  € V P                   P                  4       # 5ir™   )r›   Ú	__enter__©rœ   s   &rg   Ú
__aenter__Ú#_AsyncLiftContextManager.__aenter__Ë   s   é € Ø�x‰x×!Ñ!Ó#Ð#ùs   ‚c          	      óŽ   <€ V ^8„  d   QhRS[ S[,          R,          RS[R,          RS[P                  R,          RS[R,          /# )rc   Úexc_typeNÚ	exc_valueÚ	tracebackre   )ÚtypeÚBaseExceptionÚtypesÚTracebackTypeÚbool)rf   r–   s   "€rg   rh   r—   Î   sW   ø€ ÷ Añ Aá‘}Õ%¨Õ,ðAñ ! 4Õ'ðAñ ×&Ñ&¨Õ-ð	Añ
 
��ñAri   c              ƒ  óB   "  € V P                   P                  WV4      # 5ir™   )r›   Ú__exit__)rœ   r§   r¨   r©   s   &&&&rg   Ú	__aexit__Ú"_AsyncLiftContextManager.__aexit__Î   s   é € ð �x‰x× Ñ  °iÓ@Ð@ùs   ‚rš   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r�   r¤   r±   Ú__static_attributes__Ú__classdictcell__©r–   s   @rg   r“   r“   Á   s*   ø‡ € ñ÷ð ÷$ð $÷Aö Ari   r“   c                óº   € V ^8„  d   QhR\         \        .\        \        \        \        3,          3,          R\         \        .\        \        ,          3,          /# )rc   Úlifespan_contextre   )r   r   r   r   )rf   s   "rg   rh   rh   Ø   sE   € ÷ ñ Ü¤˜u¤i´´S¼#°Õ&>Ð>Õ?ðäŒsˆeÔ0´Õ5Ð5Õ6ñri   c                óx   a€ \         P                  ! V 4      o\        P                  ! S4      R V3R ll4       pV# )z�
Wrap a generator-based lifespan context into an async context manager.

This is vendored from Starlette to avoid importing private symbols.
c                óF   € V ^8„  d   QhR\         R\        \         ,          /# )rc   r~   re   )r   r“   )rf   s   "rg   rh   Ú0_wrap_gen_lifespan_context.<locals>.__annotate__ã   s    € ÷ 3ñ 3”Sð 3Ô5´cÕ:ñ 3ri   c                 ó&   <€ \        S! V 4      4      # r™   )r“   )r~   Úcmgrs   &€rg   ÚwrapperÚ+_wrap_gen_lifespan_context.<locals>.wrapperâ   s   ø€ ä'©¨S«	Ó2Ð2ri   )Ú
contextlibÚcontextmanagerr�   Úwraps)r¼   rÂ   rÁ   s   & @rg   Ú_wrap_gen_lifespan_contextrÇ   Ø   s8   ø€ ô ×$Ò$Ð%5Ó6€Dä‡_‚_�TÓ÷3ó ð3ð €Nri   c                ó~   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        ,          /# )rc   Úoriginal_contextÚnested_contextre   )rZ   r   )rf   s   "rg   rh   rh   é   s0   € ÷ ñ Üœs•mðÜ5=¼cµ]ðäŒc…]ñri   c                 ó0   a a€ \         R  VV 3R ll4       pV# )c                óv   € V ^8„  d   QhR\         R\        \        \        \        3,          R,          ,          /# )rc   r~   re   N)rX   r   r
   Ústrr   )rf   s   "rg   rh   Ú-_merge_lifespan_context.<locals>.__annotate__í   s3   € ÷ Yñ YÜðYä	”wœs¤C˜xÕ(¨4Õ/Õ	0ñYri   c           
     óŒ  <"  € S! V 4      ;_uu_4       GR j  x€L
 pS! V 4      ;_uu_4       GR j  x€L
 pVf   Vf   R 5x € M/ T;'       g    / CT;'       g    / C5x € R R R 4      GR j  x€L
  R R R 4      GR j  x€L
  R #  Lj LS L  + GR j  x€L 
 '       g   i     L1; i L(  + GR j  x€L 
 '       g   i     R # ; i5ir™   r�   )r~   Úmaybe_original_stateÚmaybe_nested_staterÊ   rÉ   s   &  €€rg   Úmerged_lifespanÚ0_merge_lifespan_context.<locals>.merged_lifespanì   sŒ   øé € ñ $ C×(×(Ô(Ð,@Ù% c×*×*Ô*Ð.@Ø%Ò-Ð2FÒ2NØ”JàXÐ0×6Ð6°BÐXÐ<P×<VÐ<VÐTVÐXÓX÷	 +×*÷ )×(Ó(ß*×*×*Ô*ú÷ )×(×(Ó(üs¡   ƒC˜B™CœB'±B²B'µB		ÁB		ÁB		Á!B'Á,BÁ-B'Á1CÁ<B%Á=CÂB'ÂB'Â	B"ÂBÂ
B"ÂB"ÂB'Â%CÂ'C	Â-B0Â.
C	Â9C	Â;	C)r   )rÉ   rÊ   rÒ   s   ff rg   Ú_merge_lifespan_contextrÔ   é   s'   ù€ ô ÷Yð Yó ðYð Ðri   c                   ól   a € ] tR t^út o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltR
t	V t
R# )Ú_DefaultLifespana@  
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
c                ó"   <€ V ^8„  d   QhRRRR/# )rc   ÚrouterÚ	APIRouterre   Nr�   )rf   r–   s   "€rg   rh   Ú_DefaultLifespan.__annotate__  s   ø€ ÷ ñ ˜{ð ¨tñ ri   c                ó   € Wn         R # r™   ©Ú_router)rœ   rØ   s   &&rg   r�   Ú_DefaultLifespan.__init__  s   € ØŽri   c                ó   <€ V ^8„  d   QhRR/# ©rc   re   Nr�   )rf   r–   s   "€rg   rh   rÚ     s   ø€ ÷ &ñ & $ñ &ri   c              ƒ  óV   "  € V P                   P                  4       G R j  x€L
  R #  L5ir™   )rÝ   Ú_startupr£   s   &rg   r¤   Ú_DefaultLifespan.__aenter__  s   é € Ø�l‰l×#Ñ#Ó%×%Ô%ùó   ‚) '¡)c                ó$   <€ V ^8„  d   QhRS[ RR/# )rc   Úexc_infore   N)Úobject)rf   r–   s   "€rg   rh   rÚ     s   ø€ ÷ 'ñ '©ð '°Dñ 'ri   c              ‡  óV   "  € V P                   P                  4       G R j  x€L
  R #  L5ir™   )rÝ   Ú	_shutdown)rœ   ræ   s   &*rg   r±   Ú_DefaultLifespan.__aexit__  s   é € Ø�l‰l×$Ñ$Ó&×&Ô&ùrä   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )rc   rœ   r~   re   )r‘   rç   )rf   r–   s   "€rg   rh   rÚ     s"   ø€ ÷ ñ ‘rð ¡ð ©2ñ ri   c                ó   € V # r™   r�   )rœ   r~   s   &&rg   Ú__call__Ú_DefaultLifespan.__call__  s   € Øˆri   rÜ   N)r³   r´   rµ   r¶   r·   r�   r¤   r±   rí   r¸   r¹   rº   s   @rg   rÖ   rÖ   ú   s2   ø‡ € ñ÷ð ÷&ð &÷'ð '÷ö ri   rÖ   c                ó0   € V ^8„  d   QhR\         R\        /# rb   )r   r1   )rf   s   "rg   rh   rh     s   € ÷ ñ ¤Cð ¬Oñ ri   c                óJ  € \        V 4      pV\        9   d   \        V,          #  / p\        P                  ! V 4      ;pe   W2R&   \        P                  ! V 4      ^,          ;pe   WBR&   \        V RR4      ;pe   WRR&   T\        T&   T#   \         d    \        4       p L"i ; i)zAExtract endpoint context with caching to avoid repeated file I/O.NÚfileÚliner³   Úfunction)ÚidÚ_endpoint_context_cacheÚinspectÚgetsourcefileÚgetsourcelinesÚgetattrÚ	Exceptionr1   )rd   Úfunc_idÚctxÚsource_fileÚline_numberÚ	func_names   &     rg   Ú_extract_endpoint_contextr     s®   € ä�‹h€GàÔ)Ô)Ü& wÕ/Ð/ð
 Ø!ˆä"×0Ò0°Ó6Ð6ˆKÒCØ%�‰KÜ"×1Ò1°$Ó7¸Õ:Ð:ˆKÒGØ%�‰KÜ   z°4Ó8Ð8ˆIÒEØ'�
‰Oð (+Ô˜GÑ$Ø€Jøô	 ô  ÜÓŠð ús   ¥AB
 Â
B"Â!B"r   ÚincludeÚexcludeÚby_aliasTÚexclude_unsetFÚexclude_defaultsÚexclude_noneÚis_coroutineÚendpoint_ctxÚ	dump_jsonc                óà   € V ^8„  d   QhR\         R,          R\        R\        R,          R\        R,          R\        R\        R\        R	\        R
\        R\        R,          R\        R\        /# )rc   r   NÚresponse_contentr  r  r  r  r  r  r  r  r	  re   )r   r   r<   r®   r1   )rf   s   "rg   rh   rh   -  s”   € ÷ (2ñ (2ä˜Õð(2ô ð(2ô �T�\ð	(2ô
 �T�\ð(2ô ð(2ô ð(2ô ð(2ô ð(2ô ð(2ô " DÕ(ð(2ô ð(2ô 	ñ(2ri   c           
   ƒ   ól  "  € V '       d�   V'       d   V P                   ! V/ RR7      w  r¼M#\        V P                   V/ RR7      G Rj  x€L
 w  r¼V'       d#   T	;'       g    \        4       p\        VVVR7      hV
'       d   V P                  MV P
                  pV! VVVVVVVR7      # \        V4      #  Lj5i)r{   ©ÚlocN©ÚerrorsÚbodyr  ©r  r  r  r  r  r  ©r{   )ÚvalidaterF   r1   r4   Úserialize_jsonÚ	serializer0   )r   r  r  r  r  r  r  r  r  r  r	  Úvaluer  rü   Ú
serializers   $$$$$$$$$$$    rg   Úserialize_responser  -  s¸   é € ÷ ßØ!ŸNšNÐ+;¸RÀ]ÔS‰MˆE�6ä"3Ø—‘Ð 0°"¸-ô#÷ ‰MˆE÷ Ø×3Ð3¤/Ó"3ˆCÜ)ØØ%Ø ôð ÷
 .7�U×)Ò)¸E¿O¹Oˆ
ÙØØØØØ'Ø-Ø%ô
ð 	
ô  Ð 0Ó1Ð1ñ-ùs(   ‚B4“4B4ÁB2ÁB4ÁB4Á B4Â 3B4c                ój   € V ^8„  d   QhR\         R\        \        \        3,          R\        R\        /# )rc   Ú	dependantÚvaluesr  re   )r#   ÚdictrÍ   r   r®   )rf   s   "rg   rh   rh   X  s:   € ÷ 
Añ 
AÜð
AÜ%)¬#¬s¨(¥^ð
AÜCGð
Aäñ
Ari   c              ƒ   ó¼   "  € V P                   f   Q R4       hV'       d   V P                   ! R/ VB G R j  x€L
 # \        V P                   3/ VB G R j  x€L
 #  L" L5i)Nú!dependant.call must be a functionr�   )ÚcallrF   ©r  r  r  s   $$$rg   Úrun_endpoint_functionr"  X  sT   é € ð
 �>‰>Ò%ÐJÐ'JÓJÐ%çØ—^’^Ñ- fÑ-×-Ð-ä& y§~¡~Ñ@¸Ñ@×@Ð@ñ .á@ùs&   ‚A AµA¶AÁAÁAÁAc                ól   € V ^8„  d   QhR\         R,          R\        R\        \        \        3,          /# )rc   Ústatus_codeNÚsolved_resultre   )Úintr   r  rÍ   )rf   s   "rg   rh   rh   e  s0   € ÷ ñ Ü˜$•JðÜ/2ðä	Œ#Œsˆ(…^ñri   c                 óÜ   € R VP                   /pV '       d   T MVP                  P                  pVe   W2R&   VP                  P                  '       d   VP                  P                  VR&   V# )Ú
backgroundr$  )Úbackground_tasksr{   r$  )r$  r%  Úresponse_argsÚcurrent_status_codes   $$  rg   Ú_build_response_argsr,  e  sn   € ð 	�m×4Ñ4ð%€M÷ #‰¨×(>Ñ(>×(JÑ(Jð ð Ò&Ø':�mÑ$Ø×Ñ×)×)Ð)Ø'4×'=Ñ'=×'IÑ'Iˆ�mÑ$ØÐri   c          '      óØ  € V ^8„  d   QhR\         R\        R,          R\        R,          R\        \        ,          \
        ,          R\        R,          R\        R,          R\        R,          R	\        R
\        R\        R\        R\        R,          R\        R\        \
        ,          R\        R,          R\        R\        \        .\        \        \        \        3,          3,          /# )rc   r  Ú
body_fieldNr$  Ú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_streamre   )r#   r   r&  rª   rO   r"   r<   r®   r   r   rK   r   )rf   s   "rg   rh   rh   w  s  € ÷ Bñ BÜðBä˜TÕ!ðBô �t•ðBô œ•NÔ%7Õ7ð	Bô
  Õ%ðBô " D�LðBô " D�LðBô "ðBô #'ðBô &*ðBô "&ðBô $'¨¥:ðBô ðBô Ô 2Õ2ðBô " DÕ(ðBô  ð!Bô" Œwˆiœ¤3¬¬XÐ#5Õ6Ð6Õ7ñ#Bri   c                 óÊ  a aaaaaaaaa	a
aaaaaaaaa€ S P                   f   Q R4       h\        S P                   4      oS;'       d%    \        SP                  \        P
                  4      o\        S\        4      '       d   SP                  oMSo\        S\        4      o\        V\        4      '       d   VP                  oMVoR VVVV VVVVVVVVVVV	V
VVVV3R llpV# )Nr  c                ó0   € V ^8„  d   QhR\         R\        /# )rc   r}   re   )rK   rO   )rf   s   "rg   rh   Ú)get_request_handler.<locals>.__annotate__–  s   € ÷ añ aœ7ð a¤xñ ari   c              “   ó8  <aaaaa a!"  € R pV P                   P                  R4      p\        V\        4      '       g   Q R4       hS%P                  '       d   \        S%P                  4      M	\        4       oS%P                  '       dL   V P                   P                  RR4      P                  R4      pV P                   RV S%P                   2SR&    R pS$'       Ed4   S('       d5   V P                  4       G R j  x€L
 pVP                  VP                  4       M÷V P                  4       G R j  x€L
 pV'       dØ   \        pV P                  P                  R4      pV'       g"   S#'       g   V P!                  4       G R j  x€L
 pM}\"        P$                  P'                  4       pWxR&   VP)                  4       R	8X  dG   VP+                  4       p	V	R
8X  g   V	P-                  R4      '       d   V P!                  4       G R j  x€L
 pV\        8w  d   TpMTp. pV P                   P                  R4      p\        V\        4      '       g   Q R4       h\=        V S%\?        \@        \B        \D        3,          \F        ,          \H        ,          R ,          V4      S&VS'R7      G R j  x€L
 pVPJ                  pS%P                  '       g   Q hV'       Eg   R VV.V/V0V1V2V3V53R lloS+'       Ed5   S%P                  ! R9/ VPL                  B o R V3R llo\O        S%P                  4      '       d   S PQ                  4       o!M\S        S 4      o!\T        R  VV!3R! ll4       pVPW                  V! 4       4      G R j  x€L
 pVP                  VPX                  4       R" R# lpV! V4      p\[        S4VR$7      p\]        V3R%R&/VB pR'VP                  R(&   R)VP                  R*&   VP                  P^                  Pa                  VPb                  P                  P^                  4       EMÇS*'       dÄ   S%P                  ! R9/ VPL                  B o R+ V3R, llo\O        S%P                  4      '       d   R- VV 3R. llpV! 4       pMR/ VV 3R0 llpV! 4       p\[        S4VR$7      p\]        V3R%R1/VB pVP                  P^                  Pa                  VPb                  P                  P^                  4       EMü\O        S%P                  4      '       g   \e        S%P                  4      '       d¢   S%P                  ! R9/ VPL                  B o \O        S%P                  4      '       d   R2 R3 lpV! S 4      o \[        S4VR$7      pS"! R9R4S /VB pVP                  P^                  Pa                  VPb                  P                  P^                  4       EM%\g        S%VPL                  S)R57      G R j  x€L
 p\        V\h        4      '       d#   VPj                  f   VPl                  Vn5        TpMÍ\[        S4VR$7      pS-R J;'       d    \        S,\n        4      p\q        S-VS3S/S.S2S0S1S)SVR67      G R j  x€L
 pV'       d   \i        R9R4VR%R7/VB pM	S"! V3/ VB p\s        VPt                  4      '       g   R8Vn        VP                  P^                  Pa                  VPb                  P                  P^                  4       V'       d   \1        WÔSR7      pVhV'       g   Q hV#  EL ELÖ ELˆ EL  \         P.                   dC   p
\1        RRRRT
P2                  3RRR/ RRT
P4                  //.T
P6                  SR7      pYºhR p
?
i\8         d    h \:         d   p
\9        RRR7      pYÊhR p
?
ii ; i ELó EL' ELÁ ELE5i):NÚfastapi_middleware_astackz4fastapi_middleware_astack not found in request scopeÚ	root_pathÚ Ú/Ú Úpathúcontent-typeÚapplicationÚjsonz+jsonrª   Újson_invalidr  r  ÚmsgzJSON decode errorÚinputrü   Úerror)r  r  i�  z#There was an error parsing the body)r$  Údetailrv   ú/fastapi_inner_astack not found in request scope)r}   r  r  r7  Úasync_exit_stackr8  c                ó0   € V ^8„  d   QhR\         R\        /# )rc   Údatare   ©r   Úbytes)rf   s   "rg   rh   Ú6get_request_handler.<locals>.app.<locals>.__annotate__ï  s   € ÷ <ñ <¤cð <¬eñ <ri   c           
      ó$  <€ S'       dY   SP                  V / RR7      w  rV'       d#   S;'       g    \        4       p\        VV VR7      hSP                  VS
SSS	SSR7      # \	        V 4      p \
        P                  ! V 4      P                  R4      # )r{   r  r  r  úutf-8r  )r  r1   r4   r  r0   rH  ÚdumpsÚencode)rQ  r  Úerrors_rü   r  r3  r2  r5  r6  r4  r1  r:  s   &   €€€€€€€€rg   Ú_serialize_dataÚ9get_request_handler.<locals>.app.<locals>._serialize_dataï  s¥   ø€ ß$Ø%6×%?Ñ%?Ø˜b mð &@ó &‘N�E÷ Ø*×?Ð?¬oÓ.?˜Ü5Ø#*Ø!%Ø),ôð ð
 -×;Ñ;ØØ 6Ø 6Ø!8Ø&BØ)HØ%@ð <ó ð ô ,¨DÓ1�DÜŸ:š: dÓ+×2Ñ2°7Ó;Ð;ri   c                ó0   € V ^8„  d   QhR\         R\        /# ©rc   Úitemre   rR  )rf   s   "rg   rh   rT    s   € ÷ ñ ¬cð ´eñ ri   c                 óú  <€ \        V \        4      '       dÅ   V P                  e   V P                  pMqV P                  eb   \	        V P                  R4      '       d   V P                  P                  4       pM,\        P                  ! \        V P                  4      4      pMR p\        VV P                  V P                  V P                  V P                  R7      # \        S! V 4      P                  R4      R7      # )NÚmodel_dump_json)Údata_strÚeventrô   ÚretryÚcommentrV  )ra  )Ú
isinstancer9   Úraw_datarQ  Úhasattrr`  rH  rW  r0   r:   rb  rô   rc  rd  Údecode)r^  ra  rZ  s   & €rg   Ú_serialize_sse_itemÚ=get_request_handler.<locals>.app.<locals>._serialize_sse_item  s¾   ø€ Ü! $¬×8Ò8ð
  Ÿ=™=Ò4Ø37·=±=™HØ!ŸY™YÒ2Ü& t§y¡yÐ2C×DÒDØ+/¯9©9×+DÑ+DÓ+F¡ä+/¯:ª:Ô6FÀtÇyÁyÓ6QÓ+R¡à'+˜HÜ/Ø%-Ø"&§*¡*Ø#Ÿw™wØ"&§*¡*Ø$(§L¡Lô ð ô  0Ù%4°TÓ%:×%AÑ%AÀ'Ó%Jô ð ri   c                óP   € V ^8„  d   QhR\         \        \        ,          ,          /# r    )r   r   rS  )rf   s   "rg   rh   rT  /  s    € ÷ 11ñ 11´Ü'¬Õ.õ1ñ 11ri   c                 ó  <aaa"  € \         P                  \        ,          ! ^R7      w  ooR VVV3R llp \         P                  \        ,          ! ^R7      w  opR VV3R llp\         P                  ! 4       ;_uu_4       GRj  x€L
 pVP	                  V 4       VP	                  V4       V5x € VP
                  P                  4        RRR4      GRj  x€L
  R#  LW L  + GRj  x€L 
 '       g   i     R# ; i5i)é   )Úmax_buffer_sizec                ó   € V ^8„  d   QhRR/# rà   r�   )rf   s   "rg   rh   ÚPget_request_handler.<locals>.app.<locals>._sse_producer_cm.<locals>.__annotate__D  s   € ÷ Vñ V¨Tñ Vri   c               “   óú   <"  € S;_uu_4       GR j  x€L
  S  R j  x€L
  p SP                  S! V 4      4      G R j  x€L
  K+   L1 L( L
D+R R R 4      GR j  x€L 
  R #   + GR j  x€L 
 '       g   i     R # ; i5ir™   )ro   )Úraw_itemri  Úsend_streamÚ	sse_aiters    €€€rg   Ú	_producerÚMget_request_handler.<locals>.app.<locals>._sse_producer_cm.<locals>._producerD  sZ   øé € ß#.§;¢;Ù2;÷ Vð V hØ&1×&6Ñ&6Ñ7JÈ8Ó7TÓ&U× UÒ Uñ $/ñVÙ Uð 3<÷ $/§;§;§;§;¤;üsz   ƒA;’A“A;–A™A
�A
žA
¡A½A
¾AÁA;ÁA
ÁAÁ
AÁA;ÁAÁA;ÁA8	Á$A'Á%
A8	Á0A8	Á2	A;c                ó   € V ^8„  d   QhRR/# rà   r�   )rf   s   "rg   rh   rp  M  s   € ÷ %ñ %°tñ %ri   c               “  ó¢  <"  € S;_uu_4       GRj  x€L
  S;_uu_4       GRj  x€L
     \         P                  ! \        4      ;_uu_ 4        SP                  4       G Rj  x€L
 p RRR4       SP	                  X 4      G Rj  x€L
  K`   Lx Lg L+  + '       g   i     L1; i L  \
         d#    SP	                  \        4      G Rj  x€L 
   K§  i ; i  \         P                   d     Mi ; iRRR4      GRj  x€L 
  M  + GRj  x€L 
 '       g   i     M; iRRR4      GRj  x€L 
  R#   + GRj  x€L 
 '       g   i     R# ; i5i)zZRead from the producer and forward to the output,
inserting keepalive comments on timeout.N)ÚanyioÚ
fail_afterr6   rn   ro   ÚTimeoutErrorr7   ÚEndOfStream)rQ  Úreceive_streamÚsend_keepalives    €€rg   Ú_keepalive_inserterÚWget_request_handler.<locals>.app.<locals>._sse_producer_cm.<locals>._keepalive_inserterM  sÓ   øé € ÷ $2§>¢>·>·>²>ð	%Ø&*ð%UÜ-2×-=Ò-=¼n×-MÕ-MØ9G×9OÑ9OÓ9Q×3Q¨D÷ .Nà.<×.AÑ.AÀ$Ó.G×(GÒ(Gñ $2±>ñ
 4R÷ .N×-Múá(GøÜ+7ô %UØ.<×.AÑ.AÔBSÓ.T×(TÔ(Tð%Uûä#(×#4Ñ#4ô %Ù $ð%ú÷ 4B·>·>·>·>²>ú§>§>§>§>§>¤>üs  ƒE’B“E–D2¥B¦D2©D	«C­"B&ÁBÁ#BÁ$BÁ(B&ÂB$ÂB&Â	CÂEÂD2ÂBÂB!Â	B&Â&#CÃ	CÃ
CÃCÃCÃCÃC.Ã+D	Ã-C.Ã.D	Ã1D2Ã<C?Ã=D2ÄDÄ	DÄ

DÄDÄD2ÄEÄ*D-Ä+EÄ2E	Ä8D;Ä9
E	ÅE	Å	EN)ry  Úcreate_memory_object_streamrS  Úcreate_task_groupÚ
start_soonÚcancel_scopeÚcancel)	ru  Úreceive_keepaliver  Útgr}  r~  rs  ri  rt  s	       @@@€€rg   Ú_sse_producer_cmÚ:get_request_handler.<locals>.app.<locals>._sse_producer_cm.  s·   ûé € ô$ 38×2SÑ2SÜö3à&'ô3)Ñ/�K ÷Vò Vô ×9Ñ9¼%Ö@ÐQRÔSñ 6�NÐ$5÷%ñ %ô  %×6Ò6×8×8Ô8¸BØŸ™ iÔ0ØŸ™Ð&9Ô:Ø/Ó/ØŸ™×.Ñ.Ô0÷	  9×8×8×8×8×8üsO   †BD ÂCÂD ÂAC#ÃD ÃC!ÃD Ã!D Ã#C=	Ã)C,Ã*
C=	Ã5C=	Ã7	D c                ó\   € V ^8„  d   QhR\         \        ,          R\        \        ,          /# )rc   Ústreamre   )r   rS  r   )rf   s   "rg   rh   rT  m  s&   € ÷ -ñ -Ü/´Õ6ð-ä"¤5Õ)ñ-ri   c                óz   "  € V   R j  x€L
  pV5x € \         P                  ! ^ 4      G R j  x€L
  K/   L* LD-R # 5ir™   ©ry  Úsleep)r‹  rQ  s   & rg   Ú_sse_with_checkpointsÚ?get_request_handler.<locals>.app.<locals>._sse_with_checkpointsm  s=   é € ñ '-÷ -ð -˜dØ"›
ô $Ÿkšk¨!›n×,Ò,ñ-ñ
 -ò '-ùó(   ‚;…8‰4Š8� ;­6®;´8¶;¸;)r$  r%  Ú
media_typeztext/event-streamzno-cachezCache-ControlÚnozX-Accel-Bufferingc                ó0   € V ^8„  d   QhR\         R\        /# r]  rR  )rf   s   "rg   rh   rT  ‹  s   € ÷ 9ñ 9¬#ð 9´%ñ 9ri   c                 ó"   <€ S! V 4      R ,           # )ó   
r�   )r^  rZ  s   &€rg   Ú_serialize_itemÚ9get_request_handler.<locals>.app.<locals>._serialize_item‹  s   ø€ Ù*¨4Ó0°5Õ8Ð8ri   c                ó:   € V ^8„  d   QhR\         \        ,          /# r    )r   rS  )rf   s   "rg   rh   rT  �  s   € ÷ 1ñ 1´}ÄUÕ7Kñ 1ri   c                 óˆ   <"  € S  R j  x€L
  p S! V 4      5x € \         P                  ! ^ 4      G R j  x€L
  K5   L0 LD3R # 5ir™   r�  ©r^  r—  Úgens    €€rg   Ú_async_stream_jsonlÚ=get_request_handler.<locals>.app.<locals>._async_stream_jsonl�  sB   øé € Ù*-÷ 1ð 1 $Ù"1°$Ó"7Ó7ô #(§+¢+¨a£.×0Ò0ñ	1ñ 1ò	 +.ùs-   ƒA†?Š;‹?Ž&A´=µA»?½A¿Ac                ó:   € V ^8„  d   QhR\         \        ,          /# r    )r	   rS  )rf   s   "rg   rh   rT  œ  s   € ÷ 8ñ 8´¼µñ 8ri   c               3   ó6   <"  € S F  p S! V 4      x € K  	  R # 5ir™   r�   r›  s    €€rg   Ú_sync_stream_jsonlÚ<get_request_handler.<locals>.app.<locals>._sync_stream_jsonlœ  s   øé € Û$'˜DÙ"1°$Ó"7Ô7ó %(ùs   ƒzapplication/jsonlc                ó\   € V ^8„  d   QhR\         \        ,          R\         \        ,          /# )rc   Ú	async_genre   )r   r   )rf   s   "rg   rh   rT  ²  s&   € ÷ 1ñ 1Ü#0´Õ#5ð1ä&¤sÕ+ñ1ri   c                óz   "  € V   R j  x€L
  pV5x € \         P                  ! ^ 4      G R j  x€L
  K/   L* LD-R # 5ir™   r�  )r¤  Úchunks   & rg   Ú_async_stream_rawÚ;get_request_handler.<locals>.app.<locals>._async_stream_raw²  s=   é € ñ ,5÷ 1ð 1 %Ø"'›Kô #(§+¢+¨a£.×0Ò0ñ	1ñ 1ò	 ,5ùr‘  Úcontentr!  )r   r  r  r  r  r  r  r  r  r  r	  zapplication/jsonri   r�   );rm   Úgetre  r   r   r   r1   rE  ÚrstripÚmethodÚformÚpush_async_callbackÚcloser  r   ÚheadersrH  ÚemailÚmessageÚMessageÚget_content_maintypeÚget_content_subtypeÚendswithÚJSONDecodeErrorr3   ÚposrJ  ÚdocrJ   rú   r/   r   r  rÍ   r   rH   rS  r  r  r$   Ú	__aiter__rE   r   Úenter_async_contextÚacloser,  rP   ÚrawÚextendr{   r&   r"  rO   r(  r)  r"   r  r@   r$  )6r}   r{   Ú
file_stackÚ
mount_pathr  Ú
body_bytesÚ	json_bodyÚcontent_type_valuer²  ÚsubtypeÚeÚvalidation_errorÚ
http_errorr  rO  r%  rˆ  Ússe_receive_streamr�  Ússe_stream_contentr*  r�  Újsonl_stream_contentr¡  r§  Úraw_responseÚuse_dump_jsonr©  rZ  r—  ri  r  rœ  rt  Úactual_response_classÚactual_strict_content_typer.  r  r7  r8  Úis_body_formr  r;  Úis_sse_streamr/  r0  r3  r2  r5  r6  r4  r1  r$  r:  s6   &                           @@@@@@€€€€€€€€€€€€€€€€€€€€rg   r~   Ú get_request_handler.<locals>.app–  só  þé € Ø$(ˆØ—]‘]×&Ñ&Ð'BÓCˆ
Ü˜*¤n×5Ò5ð 	
ØBó	
Ð5ð �~�~ˆ~ô & i§n¡nÔ5ä Ó"ð 	ð �>�>ˆ>à Ÿ™×*Ñ*¨;¸Ó;×BÑBÀ3ÓGˆJØ&-§n¡nÐ%5°Q°z°lÀ9Ç>Á>ÐBRÐ#SˆL˜Ñ ð/	$ØˆDßˆzßØ!(§¡£×/�DØ×2Ñ2°4·:±:Õ>à'.§|¡|£~×!5�Jß!Ü)2˜	Ø-4¯_©_×-@Ñ-@ÀÓ-PÐ*ß1ß#=Ø29·,±,³.×,@ 	øä&+§m¡m×&;Ñ&;Ó&=˜GØ6H NÑ3Ø&×;Ñ;Ó=ÀÔNØ*1×*EÑ*EÓ*G Ø#*¨fÔ#4¸×8HÑ8HÈ×8QÒ8QØ6=·l±l³n×0D IØ$¬	Ô1Ø#,™Dà#-˜Dð4 ˆØ"Ÿ=™=×,Ñ,Ð-CÓDÐÜÐ*¬N×;Ò;ð 	
Ø=ó	
Ð;ô 1ØØÜ”dœ3¤˜8•n¤xÕ/´%Õ7¸$Õ>ÀÓEØ*GØ-Ø/ô
÷ 
ˆð ×%Ñ%ˆØ�~�~ˆ~Ðˆ~ßˆv÷<÷ <÷2 ˆ}à—n’nÑ< }×';Ñ';Ñ<�÷ð ô: *¨)¯.©.×9Ò9Ø47·M±M³O‘Iä 5°cÓ :�Iä$÷11ð 11ó %ð11ðn ,<×+OÑ+OÙ$Ó&ó,÷ &Ð"ð
 !×4Ñ4Ð5G×5NÑ5NÔOõ-ñ *Ð*<Ó=ð #ô !5Ø +¸=ô!�ô -Ø&ñà2ðð $ñ�ð
 5?�× Ñ  Ñ1à8<�× Ñ Ð!4Ñ5Ø× Ñ ×$Ñ$×+Ñ+¨M×,BÑ,B×,JÑ,J×,NÑ,NÖOßà—n’nÑ< }×';Ñ';Ñ<�÷9ð 9ô *¨)¯.©.×9Ò9÷1ñ 1ñ ,Ó-ñ )÷
8ñ 8ñ ,>Ó+?Ð(ä 4Ø +¸=ô!�ô -Ø(ñà2ðð $ñ�ð
 × Ñ ×$Ñ$×+Ñ+¨M×,BÑ,B×,JÑ,J×,NÑ,NÖOÜ'¨	¯©×7Ò7Ô;KØ—‘÷<ò <ð  —n’nÑ< }×';Ñ';Ñ<�Ü)¨)¯.©.×9Ò9õ1ñ ,¨CÓ0�CÜ 4Ø +¸=ô!�ñ 1ÑN¸ÐNÀÑN�Ø× Ñ ×$Ñ$×+Ñ+¨M×,BÑ,B×,JÑ,J×,NÑ,NÖOä%:Ø'Ø(×/Ñ/Ø!-ô&÷  �ô
 ˜l¬H×5Ò5Ø#×.Ñ.Ò6Ø2?×2PÑ2P˜Ô/Ø+‘Hä$8Ø$/¸}ô%�Mð %3¸$Ð$>÷ %ð %Ä:Ø&Ô(:óD�Mô %7Ø,Ø)5Ø 6Ø 6Ø!8Ø&BØ)HØ%@Ø%1Ø%1Ø"/ô%÷ �G÷ %Ü#+ñ $Ø$+ð$à'9ð$ð ,ñ$™ñ $9¸Ñ#RÀMÑ#R˜Ü:¸8×;OÑ;O×PÒPØ(+˜œØ×$Ñ$×(Ñ(×/Ñ/°×0FÑ0F×0NÑ0N×0RÑ0RÔSßÜ5Ø°ô Ðð #Ð"÷ ˆˆxØˆòS
 0ò "6ò -Aò 1Eøô
 ×#Ñ#ô 	*Ü5ð  Ø ¨¯©˜ØÐ2Ø Ø ¨¯©Ð/ððð —U‘UØ)ô Ðð #Ð)ûÜô 	àÜô 	$Ü&ØÐ(MôˆJð Ð#ûð		$úò
òJ&òx ò*ùsL  ‰A^Á0^ÂA^Ã
\ Ã\ Ã&\ Ã9\ Ã:\ Ä^Ä\ Ä-\Ä.\ Ä:(\ Å#\ Å+\ Å>\Å?A)\ Ç)\ Ç<\	Ç=\ È^È\ ÈB
^Ê^Ê!^Ê>
^Ë	^Ë"B^Í*^Í+B2^ÐF5^×^×A^Ø(*^Ù^Ù^ÙB^Û%^Û<^Ü \ Ü\ Ü\ Ü	\ Ü^Ü!=]Ý^Ý+
^Ý6^Ý7^Þ^Þ^Þ^Þ^Þ^)
r   r%   re  Ú
field_infor   ÚFormr"   r  r    r8   )r  r.  r$  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r~   rÍ  rÎ  rÏ  r  rÐ  s   fffffffffffff&ff @@@@@rg   Úget_request_handlerrÔ  w  s¸   ÿÿû€ ð$ �>‰>Ò%ÐJÐ'JÓJÐ%Ü)¨)¯.©.Ó9€LØ×PÐP¤*¨Z×-BÑ-BÄFÇKÁKÓ"P€LÜ�.Ô"4×5Ò5Ø0>×0DÑ0DÑà .ÐÜ&Ð'<Ô>QÓR€MÜÐ%Ô'9×:Ò:Ø+>×+DÑ+DÑ"à%8Ð"÷a÷ a÷ aó aðF €Jri   c                ó¦   € V ^8„  d   QhR\         R\        R,          R\        R\        \        .\
        \        \        \        3,          3,          /# )rc   r  r7  Nr8  re   )r#   r   r®   r   r_   r   )rf   s   "rg   rh   rh   ü  sK   € ÷ "ñ "Üð"ä#&¨¥:ð"ô ð"ô Œyˆkœ9¤S¬#¬s ]Õ3Ð3Õ4ñ	"ri   c                 ó"   a aa€ R  V VV3R llpV# )c                ó(   € V ^8„  d   QhR\         RR/# )rc   Ú	websocketre   Nr^   )rf   s   "rg   rh   Ú'get_websocket_app.<locals>.__annotate__  s   € ÷ 5ñ 5œYð 5¨4ñ 5ri   c              “   ó€  <"  € SP                   '       d   \        SP                   4      M	\        4       pSP                  '       d@   V P                  P                  R R4      P                  R4      pRV SP                   2VR&   V P                  P                  R4      p\        V\        4      '       g   Q R4       h\        V SSVSR7      G Rj  x€L
 pVP                  '       d   \        VP                  VR	7      hSP                   f   Q R
4       hSP                   ! R/ VP                  B G Rj  x€L
  R#  Lh L5i)rA  rB  rC  zWS rE  rv   rN  ©r}   r  r7  rO  r8  N)r  r  r�   )r   r   r1   rE  rm   rª  r«  re  r   r/   r  r5   r  )rØ  r  rÀ  rO  r%  r  r7  r8  s   &    €€€rg   r~   Úget_websocket_app.<locals>.app  s(  øé € ð �~�~ˆ~ô & i§n¡nÔ5ä Ó"ð 	ð
 �>�>ˆ>à"Ÿ™×,Ñ,¨[¸"Ó=×DÑDÀSÓIˆJØ%(¨¨°Y·^±^Ð4DÐ#EˆL˜Ñ Ø$Ÿ?™?×.Ñ.Ð/EÓFÐÜÐ*¬N×;Ò;ð 	
Ø=ó	
Ð;ô 1ØØØ*GØ-Ø/ô
÷ 
ˆð ××ÐÜ1Ø×$Ñ$Ø)ôð ð �~‰~Ò)ÐNÐ+NÓNÐ)Ø�nŠnÑ4˜}×3Ñ3Ñ4×4Ò4ñ
ñ 	5ùs2   ƒAD>ÁB
D>ÃD:ÃD>Ã(AD>Ä3D<Ä4D>Ä<D>r�   )r  r7  r8  r~   s   fff rg   Úget_websocket_apprÝ  ü  s   ú€ ÷
5ò 5ð: €Jri   c                   ó`   a a€ ] tR tRt oRRRRRR/V3R lR lltV3R lV 3R	 lltR
tVtV ;t# )ÚAPIWebSocketRoutei!  ÚnameNÚdependenciesr7  c                óž   <€ V ^8„  d   QhRS[ RS[RS[3,          RS[ R,          RS[S[P
                  ,          R,          RS[R,          RR/# )	rc   rE  Úendpoint.rà  Nrá  r7  re   ©rÍ   r   r   r   r   ÚDepends)rf   r–   s   "€rg   rh   ÚAPIWebSocketRoute.__annotate__"  sf   ø€ ÷ 
ñ 
áð
ñ ˜3¡˜8Õ$ð
ñ
 �D�jð
ñ ™vŸ~™~Õ.°Õ5ð
ñ (+¨T¥zð
ð 
ñ
ri   c               óŽ  € Wn         W n        Vf   \        V4      MTV n        \	        T;'       g    . 4      V n        \        V4      w  V n        V n        V n	        \        V P                  V P                  V P
                  R7      w  V n        pV n        \        \        V P                  VV P                  R7      4      V n        R # )N©rE  r   rá  ©r  r7  r8  )rE  rã  rU   rà  Úlistrá  rT   Ú
path_regexÚpath_formatÚparam_convertorsÚ0_build_dependant_with_parameterless_dependenciesr  Ú_embed_body_fieldsr�   rÝ  r~   )rœ   rE  rã  rà  rá  r7  Ú_s   &&&$$$ rg   r�   ÚAPIWebSocketRoute.__init__"  s®   € ð Œ	Ø ŒØ*.ª,”H˜XÔ&¸DˆŒ	Ü  ×!3Ð!3°Ó4ˆÔÜCOÐPTÓCUÑ@ˆŒ˜Ô)¨4Ô+@ô
 =Ø×!Ñ!Ø—‘Ø×*Ñ*ô
ñ		
ØŒNØØÔ#ô %ÜØŸ.™.Ø.KØ"&×"9Ñ"9ôó
ˆŽri   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ©rc   rm   re   ©r\   ÚtuplerR   )rf   r–   s   "€rg   rh   ræ  A  s$   ø€ ÷ "ñ "™Uð "¡u©U±E¨\Õ':ñ "ri   c                ó^   <€ \         SV `  V4      w  r#V\        P                  8w  d   WR &   W#3# )Úroute)ÚsuperÚmatchesrR   ÚNONE)rœ   rm   ÚmatchÚchild_scopeÚ	__class__s   &&  €rg   rù  ÚAPIWebSocketRoute.matchesA  s1   ø€ Ü"™W™_¨UÓ3ÑˆØ”E—J‘JÔØ#'˜Ñ ØÐ!Ð!ri   )
rï  r~   r  rá  rã  rà  rí  rE  rì  rë  )	r³   r´   rµ   r¶   r�   rù  r¸   r¹   Ú__classcell__©rý  r–   s   @@rg   rß  rß  !  s<   ù‡ € ð
ð
  ð
ð 9=ð
ð 59÷
ò 
÷>"÷ "ó "ri   rß  ÚfastapiÚeffective_route_contextÚfrontend_pathÚfrontend_specificityÚincluded_routerÚfastapi_effective_route_context)Údefaultc                ó   € V ^8„  d   QhRR/# rà   r�   )rf   s   "rg   rh   rh   S  s   € ÷ 	ñ 	 tñ 	ri   c                  ó   € R # r™   r�   r�   ri   rg   Ú_frontend_dependency_endpointr
  S  s   € Ùri   c                óÎ   € V ^8„  d   QhR\         R\        R\        3,          R\        \        P
                  ,          R\        \        \        \        ,          \        3,          /# )rc   rE  r   .rá  re   )rÍ   r   r   r   r   rå  rõ  r#   rê  r   r®   )rf   s   "rg   rh   rh   W  sU   € ÷ 5ñ 5ä
ð5ô �3œ�8Õ
ð5ô œ6Ÿ>™>Õ*ð	5ô
 Œ9”dœ:Õ&¬Ð,Õ-ñ5ri   c           	      óÂ   € \        WR R7      pVRRR1,           F)  pVP                  P                  ^ \        W@R7      4       K+  	  \	        V4      p\        V4      pW5V3# )ró   )rE  r   rm   N)ÚdependsrE  éÿÿÿÿ)r+   rá  Úinsertr,   r)   r*   )rE  r   rá  r  r  Úbody_paramsr8  s   $$$    rg   rî  rî  W  sh   € ô  4¸*ÔE€IØ¡ " ×%Ð%ˆØ×Ñ×%Ñ%ØÜ+°GÔGö	
ñ &ô
 (¨	Ó2€KÜ1°+Ó>ÐØÐ#4Ð4Ð4ri   c                   ó,   a € ] tR tRt o V 3R ltRtV tR# )Ú_RouteWithPathih  c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )rc   rE  ©rÍ   )rf   r–   s   "€rg   rh   Ú_RouteWithPath.__annotate__h  s   ø‡ ‚ Ù
�Iò ri   r�   N©r³   r´   rµ   r¶   Ú__annotate_func__r¸   r¹   rº   s   @rg   r  r  h  ó   ø‡ ‡ „ ri   r  c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# ró  )r\   r  rÍ   r   )rf   s   "rg   rh   rh   l  s"   € ÷ ñ œeð ¬¬S´#¨X­ñ ri   c                 ób   € V P                  \        / 4      p\        V\        4      '       g   Q hV# r™   )Ú
setdefaultÚ_FASTAPI_SCOPE_KEYre  r  )rm   Úfastapi_scopes   & rg   Ú_get_fastapi_scoper  l  s.   € Ø×$Ñ$Ô%7¸Ó<€MÜ�m¤T×*Ò*Ð*Ð*ØÐri   c                ó4   € V ^8„  d   QhR\         R\         RR/# )rc   rm   rü  re   N)r\   )rf   s   "rg   rh   rh   r  s!   € ÷ >ñ >œð >¬Uð >°tñ >ri   c                 óè   € VP                  \        4      pVP                  4        F  w  r4V\        8w  g   K  W@V&   K  	  \        V\        4      '       d   \        V 4      P                  V4       R # R # r™   )rª  r  Úitemsre  r  r  Úupdate)rm   rü  Úfastapi_child_scopeÚkeyr  s   &&   rg   Ú_update_scoper%  r  s`   € Ø%Ÿ/™/Ô*<Ó=ÐØ!×'Ñ'Ö)‰
ˆØÔ$Ö$Ø�#‹Jñ *ô Ð%¤t×,Ò,Ü˜5Ó!×(Ñ(Ð)<Ö=ñ -ri   c                ó>   € V ^8„  d   QhR\         R\        R,          /# ©rc   rm   re   N©r\   r   )rf   s   "rg   rh   rh   {  s"   € ÷ Wñ W¬eð W¼¸d½
ñ Wri   c                 óT   € V P                  \        / 4      P                  \        4      # r™   )rª  r  Ú$_FASTAPI_EFFECTIVE_ROUTE_CONTEXT_KEY©rm   s   &rg   Ú"_get_scope_effective_route_contextr,  {  s    € Ø�9‰9Ô'¨Ó,×0Ñ0Ô1UÓVÐVri   c                ó>   € V ^8„  d   QhR\         R\        R,          /# r'  r(  )rf   s   "rg   rh   rh     s"   € ÷ Oñ O¤eð O´°dµ
ñ Ori   c                 óT   € V P                  \        / 4      P                  \        4      # r™   )rª  r  Ú_FASTAPI_INCLUDED_ROUTER_KEYr+  s   &rg   Ú_get_scope_included_routerr0    s    € Ø�9‰9Ô'¨Ó,×0Ñ0Ô1MÓNÐNri   c                ó>   € V ^8„  d   QhR\         R\        R,          /# r'  )r\   r&  )rf   s   "rg   rh   rh   ƒ  s   € ÷ ñ ¤uð ´°tµñ ri   c                 óˆ   € V P                  \        / 4      P                  \        4      p\        V\        4      '       d   V# R # r™   )rª  r  Ú!_FASTAPI_FRONTEND_SPECIFICITY_KEYre  r&  )rm   Úspecificitys   & rg   Ú_frontend_scope_specificityr5  ƒ  s9   € Ø—)‘)Ô.°Ó3×7Ñ7Ü)ó€Kô �+œs×#Ò#ØÐÙri   c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# )rc   rm   r$  Úpreviousre   N)r\   rÍ   r   )rf   s   "rg   rh   rh   Œ  s(   € ÷ &ñ &¤eð &´#ð &Äð &Èñ &ri   c                 ó¤   € V P                  \        4      p\        V\        4      '       g   R # V\        J d   VP                  VR 4       R # W#V&   R # r™   )rª  r  re  r  Ú_SCOPE_MISSINGÚpop)rm   r$  r7  r  s   &&& rg   Ú_restore_fastapi_scope_keyr;  Œ  sA   € Ø—I‘IÔ0Ó1€MÜ�m¤T×*Ò*ÙØ”>Ó!Ø×Ñ˜#˜tÖ$à%�cÓri   c                   ó,   a € ] tR tRt o V 3R ltRtV tR# )Ú_APIRouteLikei–  c                ó  <€ V ^8„  d   Qh/ S[ ;R&   S[RS[3,          ;R&   S[R,          ;R&   S[;R&   S[ R,          ;R&   S[ ;R&   S[R,          ;R	&   S[ R,          ;R
&   S[R,          ;R&   S[R,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          S[,          ;R&   S[R,          ;R&   S[S[	,          R,          ;R&   S[
S[ S[3,          R,          ;R&   S[S[.S[ 3,          S[,          ;R&   S[S[,          ;R&   S[S[ S[,          ,          ;R&   S[
S[S[ ,          S[
S[ S[3,          3,          ;R&   S[ ;R&   S[;R&   S[ ;R&   S[
S[ S[3,          ;R&   S[S[ ,          ;R&   S[ ;R&   S[R,          ;R &   S[R,          ;R!&   S[R,          ;R"&   S[S[P                   ,          ;R#&   S[ ;R$&   S[
S[S[ ,          S[3,          ;R%&   S[;R&&   S[;R'&   S[R,          ;R(&   S[;R)&   S[;R*&   # )+rc   rE  .rã  NÚstream_item_typeÚresponse_modelÚsummaryÚresponse_descriptionr`   Úoperation_idr1  r2  r3  r4  r5  r6  Úinclude_in_schemar/  r7  Ú	callbacksÚopenapi_extraÚgenerate_unique_id_functionr9  ÚtagsÚ	responsesrà  rë  rì  rí  ÚmethodsÚ	unique_idr$  r0  r:  rá  ÚdescriptionÚresponse_fieldsr  rï  r.  rÐ  r;  )rÍ   r   r   r®   r<   rª   rO   r"   rê  rQ   r  r   r&  Úsetr   r   rå  r#   )rf   r–   s   "€rg   rh   Ú_APIRouteLike.__annotate__–  sÈ  ø‡ ‚ Ù
�Iñ á�s™C�xÕ Ñ ñ ñ ˜D•jÑ ñ ñ Ññ	 ñ
 �4�ZÑñ ñ Ññ ñ �t•Ññ ñ ˜•*Ññ ñ " D�LÑ(ñ ñ " D�LÑ(ñ ñ "Ñ!ñ ñ #'Ñ&ñ ñ &*Ñ)ñ ñ "&Ñ%ñ ñ Ññ ñ  ™•NÑ%7Õ7Ñ7ñ! ñ" $'¨¥:Ñ-ñ# ñ$ ‘I� Õ%Ñ%ñ% ñ& ™™S˜•> DÕ(Ñ(ñ' ñ( "*©3¨%±¨*Õ!5Ñ8JÕ!JÑJñ) ñ* Ñ 2Õ2Ñ2ñ+ ñ, ‰s‘T�zÕ
Ññ- ñ. ‘C™#•I™t¡C© H�~Ð-Õ.Ñ.ñ/ ñ0 �Iñ1 ñ2 �Oñ3 ñ4 Ññ5 ñ6 ™3¡˜8•nÑ$ñ7 ñ8 ‘�XÑñ9 ñ: �Nñ; ñ< �t•Ññ= ñ>  Õ%Ñ%ñ? ñ@ " DÕ(Ñ(ñA ñB ‘v—~‘~Õ&Ñ&ñC ñD ÑñE ñF ™#¡�)¡ZÐ/Õ0Ñ0ñG ñH ÑñI ñJ ÑñK ñL ˜TÕ!Ñ!ñM ñN ÑñO ñP ÑòQ ri   r�   Nr  rº   s   @rg   r=  r=  –  r  ri   r=  r@  r$  rH  rá  rA  rL  rB  úSuccessful ResponserI  r`   rà  rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  r9  r?  c          <      ó  € V ^8„  d   QhR\         R\        R\        R\        3,          R\        R\        R,          R\
        \        \        ,          ,          R,          R	\        \        P                  ,          R,          R
\        R,          R\        R,          R\        R\        \        \        ,          \        \        \        3,          3,          R,          R\        R,          R\        R,          R\        \        ,          \
        \        ,          ,          R,          R\        R,          R\        R,          R\        R,          R\        R\        R\        R\        R\        R\        \        ,          \         ,          R\        R,          R\
        \"        ,          R,          R\        \        \        3,          R,          R\        \        .\        3,          \         ,          R\        \         ,          R\        R,          R R/# )!rc   r÷  rE  rã  .r@  r$  NrH  rá  rA  rL  rB  rI  r`   rà  rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  r9  r?  re   )r=  rÍ   r   r   r&  rê  r   r   r   rå  r  r®   rN  r<   rª   rO   r"   rQ   )rf   s   "rg   rh   rh   Á  s	  € ÷ 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'ri   c                ó.
  € Wn         W n        VV n        Wpn        W�n        W°n        Wàn        Wðn        VV n        VV n	        VV n
        VV n        VV n        VV n        VV n        VV n        VV n        VV n        VV n        VV n        T;'       g    . V n        T
;'       g    / V n        Vf   \-        V4      MTV n        \1        V4      w  V n        V n        V n        Vf   R.pV Uu0 uF  pVP9                  4       kK  	  upV n        \=        V\>        4      '       d   VP@                  pMTpV P                  ;'       g	    V! V 4      V n!        \=        V\D        4      '       d   \G        V4      pW@n$        \K        T;'       g    . 4      V n&        T;'       g5    \N        PP                  ! V P                  PR                  ;'       g    R4      V n*        V PT                  PW                  R4      ^ ,          PY                  4       V n*        / pV P*                  P[                  4        F  w  p p!\=        V!\\        4      '       g   Q R4       hV!P_                  R4      p"V"'       g   K>  \a        V 4      '       g   Q RV  R24       hRV  R	V PB                   2p#\c        V#V"R
R7      p$V$VV &   K�  	  V'       d	   VV n2        M/ V n2        \g        V4      '       g   Q R4       h\i        V P4                  V P                  V PL                  R7      w  V n5        p%V n6        \o        V%V PB                  V Pl                  R7      V n8        \s        V Pj                  Pt                  4      ;'       g     \w        V Pj                  Pt                  4      p&T&;'       d    \y        V\z        4      V n>        T&;'       d    \=        V\>        4      V n?        \=        V\>        4      '       dŠ   \�        V4      p'\y        V'\‚        4      '       d   R pMe\…        V'4      p(V(eU   V&'       dM   \=        V\>        4      '       g   \y        V\z        4      '       d   \y        V(\†        4      '       g   V(V n        R pMT'pW0nD        V Pˆ                  '       dN   \a        V4      '       g   Q RV R24       hRV PB                  ,           p#\c        V#V Pˆ                  R
R7      V nE        MR V nE        V P                  '       d3   RV PB                  ,           p)\c        V)V P                  R
R7      V nF        R # R V nF        R # u upi )NÚGETrB  Úz%An additional response must be a dictÚmodelzStatus code z must not have a response bodyÚ	Response_rð  Úserialization)rà  Útype_ÚmodezAn endpoint must be a callablerè  )r  rà  r8  ÚStreamItem_)GrE  rã  r?  rA  rB  r`   rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  r9  rH  rI  rU   rà  rT   rë  rì  rí  ÚupperrJ  re  r"   r  rK  r   r&  r$  rê  rá  rö   Úcleandocr·   rL  ÚsplitÚstripr!  r  rª  r@   r=   rM  Úcallablerî  r  rï  r(   r.  r$   r   r&   r    r8   rÐ  r;  r.   rO   r-   r9   r@  r0  r:  )*r÷  rE  rã  r@  r$  rH  rá  rA  rL  rB  rI  r`   rà  rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  r9  r?  r¬  Úcurrent_generate_unique_idrM  Úadditional_status_coder{   rU  Úresponse_namer0  r  Úis_generatorÚreturn_annotationÚstream_itemÚstream_item_names*   &&&$$$$$$$$$$$$$$$$$$$$$$$$$$             rg   Ú_populate_api_route_staterg  Á  s«  € ðD „JØ„NØ-€EÔØ„MØ!5ÔØ!ÔØ%ÔØ#9Ô Ø#9€EÔ Ø$;€EÔ!Ø)E€EÔ&Ø,K€EÔ)Ø(C€EÔ%Ø/€EÔØ)€EÔØ*G€EÔ'Ø€E„OØ'€EÔØ(C€EÔ%Ø 3€EÔØ—�˜€E„JØ—o�o 2€E„OØ'+¢|”˜(Ô#¸€E„JÜBNÈtÓBTÑ?€EÔ�eÔ'¨Ô)?Ø‚Ø�'ˆÙ29Ó:±'¨�V—\‘\–^±'Ñ:€E„MÜÐ-Ô/A×BÒBà'×-Ñ-ñ 	#ð &AÐ"Ø×(Ñ(×MÐMÑ,FÀuÓ,M€E„Oä�+œw×'Ò'Ü˜+Ó&ˆØ#ÔÜ˜l×0Ð0¨bÓ1€EÔØ#×UÐU¤w×'7Ò'7¸¿¹×8NÑ8N×8TÐ8TÐRTÓ'U€EÔð ×)Ñ)×/Ñ/°Ó5°aÕ8×>Ñ>Ó@€EÔØ€OØ,1¯O©O×,AÑ,AÖ,CÑ(Ð Ü˜(¤D×)Ò)ÐRÐ+RÓRÐ)Ø—‘˜WÓ%ˆß‰5Ü2Ð3I×JÒJð ØÐ5Ð6Ð6TÐUóÐJð (Ð(>Ð'?¸qÀÇÁÐ@QÐRˆMÜ/Ø"¨%°oôˆNð 7EˆOÐ2Ó3ñ -D÷ Ø /ˆÕà "ˆÔä�H×ÒÐ?Ð?Ó?Ðô
 	9Ø×ÑØ�^‰^Ø×'Ñ'ô	ñ	ØŒØØÔ ô 'ØØ�_‰_Ø×2Ñ2ô€EÔô *¨%¯/©/×*>Ñ*>Ó?÷ ð ÔCSØ�‰×ÑóD€Lð '÷ ð Ô+=ØÔ+ó,€EÔð (÷ ð ¬JØÔ*ó-€EÔô �.Ô"4×5Ò5Ü7¸ÓAÐÜÐ/´×:Ò:Ø!‰Nä.Ð/@ÓAˆKØÒ&¯<ô ˜~Ô/A×BÒBÜ)¨.Ô:M×NÒNÜ,¨[¼/×JÒJØ-8�EÔ*Ø!%‘à!2�Ø)ÔØ××ÐÜ.¨{×;Ò;ð 	
Ø˜;˜-Ð'EÐFó	
Ð;ð $ e§o¡oÕ5ˆÜ1ØØ×&Ñ&Ø ô 
ˆÕð  $ˆÔØ××ÐØ(¨5¯?©?Õ:ÐÜ"4Ø!Ø×(Ñ(Ø ô#
ˆÖð #'ˆÖùòM ;s   Ã'Tc            4       ó  a a€ ] tR tRt oR]! R4      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]! ]4      RRRRRRR]! ]4      R]! R4      /V3R lR  lltV3R! lR" ltV3R# lV 3R$ llt	V3R% lV 3R& llt
V3R' ltR(tVtV ;t# ))ÚAPIRouteif  r@  Nr$  rH  rá  rA  rL  rB  rP  rI  r`   rà  rJ  rC  r1  r2  r3  Tr4  Fr5  r6  rD  r/  r7  rE  rF  rG  r9  c          8      óÒ  <€ V ^8„  d   QhRS[ RS[RS[3,          RS[RS[R,          RS[S[ S[,          ,          R,          RS[S[P                  ,          R,          R	S[ R,          R
S[ R,          RS[ RS[	S[S[ ,          S[	S[ S[3,          3,          R,          RS[
R,          RS[ R,          RS[S[ ,          S[S[ ,          ,          R,          RS[ R,          RS[R,          RS[R,          RS[
RS[
RS[
RS[
RS[
RS[S[,          S[,          RS[R,          RS[S[,          R,          RS[	S[ S[3,          R,          RS[R.S[ 3,          S[,          RS[
S[,          RR/# ) rc   rE  rã  .r@  r$  NrH  rá  rA  rL  rB  rI  r`   rà  rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  ri  r9  re   )rÍ   r   r   r&  rê  r   r   r   rå  r  r®   rN  r<   rª   rO   r"   rQ   )rf   r–   s   "€rg   rh   ÚAPIRoute.__annotate__‰  sÓ  ø€ ÷ >>ñ >>áð>>ñ ˜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ð=>>ð> 
ñ?>>ri   c               ó  € \        \        \        V 4      VV3/ R VbRVbRVbRVbRVbRVbRV	bRV
bRVbR	VbR
VbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVb  \        V P	                  4       4      V n        R# )r@  r$  rH  rá  rA  rL  rB  rI  r`   rà  rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  r9  N)rg  r   r=  rƒ   Úget_route_handlerr~   )rœ   rE  rã  r@  r$  rH  rá  rA  rL  rB  rI  r`   rà  rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  r9  s   &&&$$$$$$$$$$$$$$$$$$$$$$$$$rg   r�   ÚAPIRoute.__init__‰  s3  € ô@ 	"Ü” Ó%ØØò	
ñ *ð		
ñ
 $ð	
ñ ð	
ñ &ð	
ñ ð	
ñ $ð	
ñ "6ð	
ñ  ð	
ñ "ð	
ñ ð	
ñ ð	
ñ &ð	
ñ  $:ð!	
ñ" $:ð#	
ñ$ %<ð%	
ñ& *Fð'	
ñ( -Lð)	
ñ* )Dð+	
ñ, 0ð-	
ñ. *ð/	
ñ0 +Hð1	
ñ2  ð3	
ñ4 (ð5	
ñ6 )Dð7	
ñ8 !4ñ9	
ô< $ D×$:Ñ$:Ó$<Ó=ˆŽri   c                óR   <€ V ^8„  d   QhRS[ S[.S[S[S[S[3,          3,          /# r    )r   rK   r   r   rO   )rf   r–   s   "€rg   rh   rk  É  s,   ø€ ÷ 
ñ 
¡8©W¨I±yÁÁcÉ8ÐASÕ7TÐ,TÕ#Uñ 
ri   c                óD  € \        \        V 4      p\        P                  4       pVe!   VP                  V J d   \        \        V4      p\        R/ RVP                  bRVP                  bRVP                  bRVP                  bRVP                  bRVP                  bRVP                  bRVP                  bR	VP                  bR
VP                  bRVP                   bRVP"                  bRVP$                  bRVP&                  bRVP(                  bRVP*                  b # )Nr  r.  r$  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r�   )r   r=  Ú_effective_route_context_varrª  Úoriginal_routerÔ  r  r.  r$  r/  r0  r1  r2  r3  r4  r5  r6  r7  rï  r9  r:  r;  )rœ   r÷  Úeffective_contexts   &  rg   rm  ÚAPIRoute.get_route_handlerÉ  sH  € Ü”] DÓ)ˆô 9×<Ñ<Ó>ÐØÒ(Ð->×-MÑ-MÐQUÓ-UÜœÐ(9Ó:ˆEÜ"ò 
Ø—o’oð
à×'Ò'ð
ð ×)Ò)ð
ð !×/Ò/ð	
ð
 !×/Ò/ð
ð $)×#?Ò#?ð
ð $)×#?Ò#?ð
ð %*×$AÒ$Að
ð */×)KÒ)Kð
ð -2×,QÒ,Qð
ð ).×(IÒ(Ið
ð +0×*MÒ*Mð
ð $×6Ò6ð
ð !&× 9Ò 9ð
ð $×5Ò5ð
ð  !×/Ò/ð!
ð 	
ri   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ró  rô  )rf   r–   s   "€rg   rh   rk  ã  s$   ø€ ÷ "ñ "™Uð "¡u©U±E¨\Õ':ñ "ri   c                óÄ   <€ \        V4      pVe%   VP                  V J d   VP                  V4      w  r4M\        SV `	  V4      w  r4V\        P
                  8w  d   WR&   W43# ©Nr÷  )r,  rr  rù  rø  rR   rú  )rœ   rm   rs  rû  rü  rý  s   &&   €rg   rù  ÚAPIRoute.matchesã  sf   ø€ Ü>¸uÓEÐØÒ(Ð->×-MÑ-MÐQUÓ-UØ!2×!:Ñ!:¸5Ó!AÑˆE�;ä!&¡¡°Ó!7ÑˆEØ”E—J‘JÔØ#'˜Ñ ØÐ!Ð!ri   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rl   rp   )rf   r–   s   "€rg   rh   rk  í  s)   ø€ ÷ 3ñ 3¡%ð 3±'ð 3Áð 3È$ñ 3ri   c              ƒ  ó@  <"  € \        V4      pVeÒ   VP                  V J dÂ   VP                  pV'       dW   VR,          V9  dI   RRP                  V4      /pRV9   d   \	        RVR7      h\        RRVR7      pV! WV4      G R j  x€L
  R # \        P                  V4      p \        V P                  4       4      p	\        P                  V4       V	! WV4      G R j  x€L
  R # \        S
V `1  WV4      G R j  x€L
  R #  Lw  \        P                  T4       i ; i L< L$5i)Nr¬  ÚAllowz, r~   é•  )r$  r°  zMethod Not Allowed)r,  rr  rJ  ÚjoinrJ   rM   rq  rN  rƒ   rm  Úresetrø  Úhandle)rœ   rm   rn   ro   rs  rJ  r°  r{   Útokenr~   rý  s   &&&&      €rg   r  ÚAPIRoute.handleí  s  øé € Ü>¸uÓEÐØÒ(Ð->×-MÑ-MÐQUÓ-UØ'×/Ñ/ˆGß˜5 �?°'Ô9Ø" D§I¡I¨gÓ$6Ð7�Ø˜E”>Ü'°CÀÔIÐIÜ,Ø(°cÀ7ô�ñ ˜u¨tÓ4×4Ð4ÙÜ0×4Ñ4Ð5FÓGˆEð:Ü& t×'=Ñ'=Ó'?Ó@�ä,×2Ñ2°5Ô9Ù�e dÓ+×+Ð+ÙÜ‰g‰n˜U¨TÓ2×2Ò2ñ 5øô -×2Ñ2°5Õ9úÙ+á2ùsM   ƒ3D·ADÂC>ÂDÂ#D  Â<!DÃDÃDÃ7DÃ8DÄ DÄDÄDc                ó€  <€ V ^8„  d   Qh/ S[ R,          ;R&   S[ ;R&   S[R,          ;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          S[,          ;R&   S[ R,          ;R&   S[S[,          R,          ;R&   S[	S[S[ 3,          R,          ;R&   S[
S[ .S[3,          S[,          ;R&   S[S[,          ;R&   S[S[S[,          ,          ;R&   S[	S[S[,          S[	S[S[ 3,          3,          ;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[S[P                  ,          ;R&   S[;R&   S[	S[S[,          S[3,          ;R&   S[;R&   S[;R&   S[R,          ;R &   S[;R!&   S[;R"&   # )#rc   Nr?  r@  rA  rB  r`   rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  r9  rH  rI  rK  r$  r0  r:  rá  rL  rM  r  rï  r.  rÐ  r;  )r   rÍ   r®   r<   rª   rO   r"   rê  rQ   r  r   r   r&  r   r   rå  r#   )rf   r–   s   "€rg   rh   rk  f  sM  ø‡ ‚ Ù˜D•jÑ ñ áÑñ ñ �4�ZÑñ ñ Ññ	 ñ
 �t•Ññ ñ ˜•*Ññ ñ " D�LÑ(ñ ñ " D�LÑ(ñ ñ "Ñ!ñ ñ #'Ñ&ñ ñ &*Ñ)ñ ñ "&Ñ%ñ ñ Ññ ñ ™•NÑ%7Õ7Ñ7ñ ñ $'¨¥:Ñ-ñ ñ  ‘I� Õ%Ñ%ñ! ñ" ™™S˜•> DÕ(Ñ(ñ# ñ$ "*©3¨%±¨*Õ!5Ñ8JÕ!JÑJñ% ñ& Ñ 2Õ2Ñ2ñ' ñ( ‰s‘T�zÕ
Ññ) ñ* ‘C™#•I™t¡C© H�~Ð-Õ.Ñ.ñ+ ñ, �Nñ- ñ. �t•Ññ/ ñ0  Õ%Ñ%ñ1 ñ2 " DÕ(Ñ(ñ3 ñ4 ‘v—~‘~Õ&Ñ&ñ5 ñ6 Ññ7 ñ8 ™#¡�)¡ZÐ/Õ0Ñ0ñ9 ñ: Ññ; ñ< Ññ= ñ> ˜TÕ!Ñ!ñ? ñ@ ÑñA ñB ÑòC ri   ©r~   )r³   r´   rµ   r¶   r!   rL   r>   r�   rm  rù  r  r  r¸   r¹   rÿ  r   s   @@rg   ri  ri  f  sG  ù‡ € ðF>>ñ
 & d›mð>>ð #'ð>>ð )-ð>>ð 9=ð>>ð #ð>>ð #'ð>>ð %:ð>>ð =Að>>ð #'ð>>ð  ð>>ð 04ð>>ð  $(ð!>>ð" 04ð#>>ð$ 04ð%>>ð& )-ð'>>ð( .3ð)>>ð* 16ð+>>ð, -2ð->>ð. #'ð/>>ñ0 ?FÀlÓ>Sð1>>ð2 59ð3>>ð4 -1ð5>>ð6 04ð7>>ñ:  'Ð'9Ó:ð;>>ñ< :AÀ»÷=>>ò >>÷@
ð 
÷4"ó "÷3ó 3÷O … ri   ri  c                   ó@  a € ] tR tRt o Rt]! ]R7      t]! ]R7      t]! R R7      t	]! ]
R7      t]! ]R7      tRtRt]! R R7      t]! R R7      tRt]R	RR
RRRR]! ]4      RRRRRRRRR]! ]4      /	V 3R lR ll4       tV 3R lR ltV 3R lR ltV 3R ltRtV tR# )Ú_RouterIncludeContexti  rB  ©Údefault_factoryc                 ó    € \        \        4      # r™   ©r!   rL   r�   ri   rg   Ú<lambda>Ú_RouterIncludeContext.<lambda>  ó	   € ¤¬Ô 5ri   NTc                 ó    € \        \        4      # r™   ©r!   r>   r�   ri   rg   rŠ  r‹    ó
   € ¤Ô(:Ô ;ri   c                 ó   € \        R 4      # ©T©r!   r�   ri   rg   rŠ  r‹    ó   € ¤¨¤ri   ÚprefixrH  rá  Údefault_response_classrI  rE  r`   rD  rG  c                óz  <€ V ^8„  d   QhRRRRRS[ RS[S[ S[,          ,          R,          RS[S[P
                  ,          R,          RS[S[,          S[,          R	S[	S[
S[ ,          S[	S[ S[3,          3,          R,          R
S[S[,          R,          RS[R,          RS[RS[S[.S[ 3,          S[,          RR/# )rc   Úparent_routerrÙ   r  r”  rH  Nrá  r•  rI  rE  r`   rD  rG  re   r…  )rÍ   rê  r   r   r   rå  rª   rO   r"   r  r&  r   rQ   r®   r   ri  )rf   r–   s   "€rg   rh   Ú"_RouterIncludeContext.__annotate__  sæ   ø€ ÷ #
ñ #
ð #ð#
ð %ð	#
ñ
 ð#
ñ ‘3™•:Õ Õ%ð#
ñ ™vŸ~™~Õ.°Õ5ð#
ñ !%¡X¥Ñ1CÕ Cð#
ñ ™™c�	¡4©©S¨¥>Ð1Õ2°TÕ9ð#
ñ ™	•? TÕ)ð#
ñ ˜4•Kð#
ñ  ð#
ñ &.©x¨j¹#¨oÕ%>Ù
õ&ð#
ð" 
!ñ##
ri   c               óÐ  € T ! TVP                   V,           . VP                  OT;'       g    . O. VP                  OT;'       g    . O\        WaP                  4      / VP
                  CT;'       g    / C. VP                  OT;'       g    . OT	;'       g    VP                  VP                  ;'       d    T
\        W±P                  4      VP                  VP                  R 7      # ©)r  r”  rH  rá  r•  rI  rE  r`   rD  rG  r9  r7  )r”  rH  rá  r?   r•  rI  rE  r`   rD  rG  r9  r7  )Úclsr—  r  r”  rH  rá  r•  rI  rE  r`   rD  rG  s   &$$$$$$$$$$$rg   Úfor_includeÚ!_RouterIncludeContext.for_include  sä   € ñ& Ø+Ø ×'Ñ'¨&Õ0Ø5�=×%Ñ%Ð5¨¯¨°Ð5ØM˜=×5Ñ5ÐM¸×9KÐ9KÈÐMÜ#7Ø&×(LÑ(Ló$ð G˜×0Ñ0ÐF°Y·_°_À"ÐFØD˜×/Ñ/ÐD°9·?°?ÀÐDØ!×=Ð= ]×%=Ñ%=Ø+×=Ñ=×SÐSÐBSÜ(<Ø+×-VÑ-Vó)ð !.× AÑ AØ*7×*UÑ*Uô!
ð 	
ri   c                ó"   <€ V ^8„  d   QhRRRR/# )rc   Úchild_contextr…  re   r�   )rf   r–   s   "€rg   rh   r˜  ?  s   ø€ ÷ 
ñ 
Ø4ð
à	 ñ
ri   c                óz  € \        VP                  V P                  VP                  ,           . V P                  OVP                  O. V P                  OVP                  O\        VP                  V P                  4      / V P                  CVP                  C. V P                  OVP                  OV P                  ;'       g    VP                  V P                  ;'       d    VP                  \        VP                  V P                  4      \        VP                  V P                  4      V P                  R 7      # rš  )r…  r  r”  rH  rá  r?   r•  rI  rE  r`   rD  rG  r9  r7  )rœ   rŸ  s   &&rg   ÚcombineÚ_RouterIncludeContext.combine?  s  € ô %Ø)×9Ñ9Ø—;‘; ×!5Ñ!5Õ5Ø2�4—9‘9Ð2˜}×1Ñ1Ð2ØJ˜4×,Ñ,ÐJ¨}×/IÑ/IÐJÜ#7Ø×4Ñ4°d×6QÑ6Qó$ð D˜Ÿ™ÐC¨=×+BÑ+BÐCØA˜Ÿ™ÐA¨×)@Ñ)@ÐAØ—‘×BÐB¨-×*BÑ*BØ"×4Ñ4÷ 0ð 0Ø×/Ñ/Ü(<Ø×9Ñ9Ø×0Ñ0ó)ô !5Ø×1Ñ1°4×3KÑ3Kó!ð +/×*LÑ*Lô)
ð 	
ri   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rc   r÷  re   )r  rÍ   )rf   r–   s   "€rg   rh   r˜  Y  s   ø€ ÷ (ñ (™nð (±ñ (ri   c                ó<   € V P                   VP                  ,           # r™   ©r”  rE  ©rœ   r÷  s   &&rg   Úpath_forÚ_RouterIncludeContext.path_forY  s   € Ø�{‰{˜UŸZ™ZÕ'Ð'ri   c                ó¬  <€ V ^8„  d   Qh/ R;R&   S[ ;R&   S[S[ S[,          ,          ;R&   S[S[P                  ,          ;R&   S[S[,          S[,          ;R&   S[S[	S[ ,          S[S[ S[
3,          3,          ;R&   S[S[,          ;R&   S[R	,          ;R
&   S[;R&   S[S[.S[ 3,          S[,          ;R&   S[S[,          ;R&   S[
R	,          ;R&   # )rc   rÙ   r  r”  rH  rá  r•  rI  rE  Nr`   rD  rG  r9  r7  )rÍ   rê  r   r   rå  rª   rO   r"   r  r&  r   rQ   r®   r   ri  )rf   r–   s   "€rg   rh   r˜    sú   ø‡ ‚ à Ñ ñ ñ Ññ ñ ‰s‘T�zÕ
Ñ8ñ	 ñ
 ‘v—~‘~Õ&ÑDñ ñ !¡�NÑ-?Õ?ñ ñ ñ ‘C™#•I™t¡C© H�~Ð-Õ.ÑLñ ñ ‘I�Ñ<ñ ñ �t•Ñ"ñ ñ Ñ"ñ ñ "*©8¨*±c¨/Õ!:Ñ=OÕ!Oñ ñ ñ  Ñ 2Õ2ñ ñ! ñ& $'¨¥:Ñ4ò' ri   r�   )r³   r´   rµ   r¶   r”  r   rê  rH  rá  r•  r  rI  rE  r`   rD  rG  r9  r7  Úclassmethodr!   rL   r>   rœ  r¡  r§  r  r¸   r¹   rº   s   @rg   r…  r…    s  ø‡ € ð €FÙ"°4Ô8€DÙ).¸tÔ)D€LÙBGÙ5ôCÐñ 27ÀtÔ1L€IÙ!&°tÔ!<€IØ"€JØ"ÐÙRWÙ;ôSÐñ 6;Ù-ô6Ðð 15Ð!àð#
ð
 ð#
ð )-ð#
ð 9=ð#
ñ GNØóG
ð#
ð =Að#
ð -1ð#
ð #'ð#
ð #'ð#
ñ   'Ð'9Ó:÷!#
ñ #
ó ð#
÷J
ð 
÷4(ð (÷k ƒ ri   r…  c                   ó´  a € ] tR tRt o RtRtRtRtRtRt	Rt
RtRtRtRtRtRtRtRtRtRt]! R R7      tRtRtRt]! R	 R7      t]! R
 R7      t]! ]R7      t]! ]R7      tRt Rt!Rt"]! ]R7      t#]! ]$R7      t%Rt&Rt'Rt(Rt)]! ]R7      t*Rt+]! ]R7      t,Rt-Rt.Rt/Rt0Rt1]2V 3R lR l4       t3]2V 3R lR l4       t4V 3R lR lt5V 3R lR lt6V 3R lt7Rt8V t9R# )Ú_EffectiveRouteContexti]  NrB  rP  TFc                 ó    € \        \        4      # r™   r‰  r�   ri   rg   rŠ  Ú_EffectiveRouteContext.<lambda>r  rŒ  ri   r†  c                 ó    € \        \        4      # r™   rŽ  r�   ri   rg   rŠ  r®  x  r�  ri   c                 ó   € \        R 4      # r‘  r’  r�   ri   rg   rŠ  r®  {  r“  ri   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rc   rr  Úinclude_contextre   r¬  )ri  r…  )rf   r–   s   "€rg   rh   Ú#_EffectiveRouteContext.__annotate__’  s+   ø€ ÷ 4ñ 4ñ !ð4ñ /ð	4ð
 
"ñ4ri   c          
     ó  € \        \        V4      pV ! VR 7      p\        \        \        V4      VP                  V4      VP                  3/ RVP
                  bRVP                  bR. VP                  OVP                  ObR. VP                  OVP                  ObRVP                  bRVP                  bRVP                  bR/ VP                  CVP                  CbR	VP                  ;'       g    VP                  bR
VP                  bRVP                  bRVP                   bRVP"                  bRVP$                  bRVP&                  bRVP(                  bRVP*                  bRVP,                  ;'       d    VP,                  bR\/        VP0                  VP2                  P4                  VP4                  4      bRVP6                  bRVP8                  bR. VP:                  OVP:                  ;'       g    . ObRVP<                  bR\/        VP>                  VP2                  P>                  VP>                  4      bR\/        VP@                  VP2                  P@                  VP@                  4      bRVPB                  b  V# ))rr  r@  r$  rH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  r7  rE  rF  rG  r9  r?  )"r   r=  rg  r§  rã  r@  r$  rH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r?   r/  r  r•  rà  r7  rE  rF  rG  r9  r?  )r›  rr  r²  r÷  Úcontexts   &$$  rg   Úfrom_api_routeÚ%_EffectiveRouteContext.from_api_route‘  s±  € ô ”] NÓ3ˆÙ ^Ô4ˆÜ!Ü” Ó(Ø×$Ñ$ ^Ó4Ø�N‰Nò+	
ð !×/Ò/ð	+	
ð
 ×)Ò)ð+	
ð 6�?×'Ñ'Ð5¨%¯*©*Ñ5ð+	
ð N˜?×7Ñ7ÐM¸%×:LÑ:LÑMð+	
ð —M’Mð+	
ð ×)Ò)ð+	
ð "'×!;Ò!;ð+	
ð G˜×2Ñ2ÐF°e·o±oÑFð+	
ð ×'Ñ'×EÐE¨?×+EÑ+Eøð+	
ð —M’Mð+	
ð ×+Ò+ð+	
ð $)×#?Ò#?ð+	
ð  $)×#?Ò#?ð!+	
ð" %*×$AÒ$Að#+	
ð$ */×)KÒ)Kð%+	
ð& -2×,QÒ,Qð'+	
ð( ).×(IÒ(Ið)+	
ð* $×5Ñ5÷ 2ð 2Ø×1Ñ1øð-+	
ô. 0Ø×$Ñ$Ø×/Ñ/×FÑFØ×6Ñ6ôð/+	
ð8 —’ð9+	
ð: +:×*WÒ*Wð;+	
ð< M˜×1Ñ1ÐL°U·_±_×5JÐ5JÈÑLð=+	
ð>  ×-Ò-ð?+	
ô@ )=Ø×1Ñ1Ø×/Ñ/×KÑKØ×;Ñ;ô)ðA+	
ôJ !5Ø×)Ñ)Ø×/Ñ/×CÑCØ×3Ñ3ô!ðK+	
ðT #×3Ò3ñU+	
ðX ˆri   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )rc   rr  Ú_FrontendRouteGroupr²  re   r¬  )r…  )rf   r–   s   "€rg   rh   r³  É  s+   ø€ ÷ ñ ð .ðñ /ð	ð
 
"ñri   c               óº   € . VP                   OVP                   OpV ! VVP                  VVP                  R 7      p\        R\        VR7      w  Vn        pVn        V# ))rr  Úfrontend_prefixrá  r7  rB  rè  )rá  r”  r7  rî  r
  r  rï  )r›  rr  r²  rá  rµ  rð  s   &$$   rg   Úfrom_frontend_route_groupÚ0_EffectiveRouteContext.from_frontend_route_groupÈ  sp   € ð U˜×5Ñ5ÐT¸×8SÑ8SÐTˆÙØ)Ø+×2Ñ2Ø%Ø*9×*WÑ*Wô	
ˆô =ØÜ.Ø%ô
ñ		
ØÔØØÔ&ð ˆri   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ró  rô  )rf   r–   s   "€rg   rh   r³  á  s$   ø€ ÷ 'ñ '™Uð '¡u©U±E¨\Õ':ñ 'ri   c                ó€  € \        V P                  \        4      '       d&   V P                  P                  WP                  4      # \        V P                  \
        4      '       g,   V P                  f   Q hV P                  P                  V4      # VR,          R8w  d   \        P                  / 3# \        V4      pV P                  P                  V4      pV'       g   \        P                  / 3# VP                  4       pVP                  4        F)  w  rVV P                  V,          P!                  V4      WE&   K+  	  \#        VP%                  R/ 4      4      pVP'                  V4       RV P(                  RV/pV P*                  p	V	'       d!   VR,          V	9  d   \        P,                  V3# \        P.                  V3# )Nrª   ÚhttpÚpath_paramsrã  r¬  )re  rr  r¹  Úmatches_with_prefixr»  ri  Ústarlette_routerù  rR   rú  rC   rë  rû  Ú	groupdictr!  rí  Úconvertr  rª  r"  rã  rJ  ÚPARTIALÚFULL)
rœ   rm   Ú
route_pathrû  Úmatched_paramsr$  r  rÁ  rü  rJ  s
   &&        rg   rù  Ú_EffectiveRouteContext.matchesá  sa  € Ü�d×)Ñ)Ô+>×?Ò?Ø×&Ñ&×:Ñ:¸5×BVÑBVÓWÐWÜ˜$×-Ñ-¬x×8Ò8Ø×'Ñ'Ò3Ð3Ð3Ø×'Ñ'×/Ñ/°Ó6Ð6Ø��=˜FÔ"Ü—:‘:˜r�>Ð!Ü# EÓ*ˆ
Ø—‘×%Ñ% jÓ1ˆßÜ—:‘:˜r�>Ð!ØŸ™Ó*ˆØ(×.Ñ.Ö0‰JˆCØ"&×"7Ñ"7¸Õ"<×"DÑ"DÀUÓ"KˆNÓñ 1ä˜5Ÿ9™9 ]°BÓ7Ó8ˆØ×Ñ˜>Ô*Ø! 4§=¡=°-ÀÐMˆØ—,‘,ˆß�u˜X•¨gÔ5Ü—=‘= +Ð-Ð-Ü�z‰z˜;Ð&Ð&ri   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# ©rc   rà  rÁ  re   ©rÍ   r   )rf   r–   s   "€rg   rh   r³  ø  s"   ø€ ÷ 3ñ 3¡ð 3¹ð 3Áñ 3ri   c               óä  € \        V P                  \        4      '       g.   V P                  f   Q hV P                  P                  ! V3/ VB # \        VP                  4       4      pV P                  p\        VP                  4       4      pWP                  8w  g   W58w  d   \        P                  ! W4      h\        P                  ! V P                  WB4      w  rgV'       d   Q h\        VRR7      # )NrÀ  )rE  Úprotocol)re  rr  ri  rÃ  Úurl_path_forrN  Úkeysrí  rà  rA   rS   Úreplace_paramsrì  rI   )rœ   rà  rÁ  Úseen_paramsrí  Úexpected_paramsrE  Úremaining_paramss   "",     rg   rÐ  Ú#_EffectiveRouteContext.url_path_forø  sÍ   € Ü˜$×-Ñ-¬x×8Ò8Ø×'Ñ'Ò3Ð3Ð3Ø×'Ñ'×4Ò4°TÑI¸[ÑIÐIÜ˜+×*Ñ*Ó,Ó-ˆØ×0Ñ0ÐÜÐ.×3Ñ3Ó5Ó6ˆØ—9‘9Ô Ô >Ü×&Ò& tÓ9Ð9Ü!(×!7Ò!7Ø×ÑÐ.ó"
Ñˆ÷ $Ð#Ð#Ü˜D¨6Ô2Ð2ri   c                ó\  <€ V ^8„  d   Qh/ S[ ;R&   S[ R,          ;R&   S[;R&   S[;R&   S[RS[3,          R,          ;R&   S[R,          ;R&   S[;R	&   S[R,          ;R
&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          S[,          ;R&   S[R,          ;R&   S[	S[ ,          R,          ;R&   S[
S[S[3,          R,          ;R&   S[S[.S[3,          S[,          ;R&   S[S[,          ;R&   S[	S[S[,          ,          ;R&   S[
S[S[,          S[
S[S[3,          3,          ;R&   S[;R&   S[;R&   S[;R&   S[
S[S[3,          ;R &   S[S[,          ;R!&   S[;R"&   S[R,          ;R#&   S[R,          ;R$&   S[R,          ;R%&   S[	S[P                   ,          ;R&&   S[;R'&   S[
S[S[,          S[3,          ;R(&   S[R,          ;R)&   S[;R*&   S[R,          ;R+&   S[;R,&   S[;R-&   # ).rc   rr  NrÃ  r»  rE  .rã  r?  r@  rA  rB  r`   rC  r1  r2  r3  r4  r5  r6  rD  r/  r7  rE  rF  rG  r9  rH  rI  rà  rë  rì  rí  rJ  rK  r$  r0  r:  rá  rL  rM  r  rï  r.  rÐ  r;  )rQ   rÍ   r   r   r®   r<   rª   rO   r"   rê  r  r   r&  rN  r   r   rå  r#   )rf   r–   s   "€rg   rh   r³  ]  s  ø‡ ‚ áÑñ ñ  Õ%Ñ,ñ ñ Ññ	 ñ
 �Nñ ñ �s™C�xÕ  4Õ'Ñ.ñ ñ ˜D•jÑ'ñ ñ Ññ ñ �4�ZÑñ ñ Ñ5ñ ñ �t•Ñ"ñ ñ ˜•*Ñ#ñ ñ " D�LÑ/ñ ñ " D�LÑ/ñ ñ "Ñ(ñ ñ  #'Ñ.ñ! ñ" &*Ñ1ñ# ñ$ "&Ñ-ñ% ñ& Ñ"ñ' ñ( ™•NÑ%7Õ7ñ ñ) ñ. $'¨¥:Ñ4ñ/ ñ0 ‘I� Õ%Ñ,ñ1 ñ2 ™™S˜•> DÕ(Ñ/ñ3 ñ4 "*©3¨%±¨*Õ!5Ñ8JÕ!Jñ ñ5 ñ: Ñ 2Õ2ñ ñ; ñ@ ‰s‘T�zÕ
Ñ8ñA ñB ‘C™#•I™t¡C© H�~Ð-Õ.ÑLñC ñD �NñE ñF ÑñG ñH ÑñI ñJ ™3¡˜8•nÑBñK ñL ‘�XÑ2ñM ñN ÑñO ñP �t•Ñ"ñQ ñR  Õ%Ñ,ñS ñT " DÕ(Ñ/ñU ñV ‘v—~‘~Õ&ÑDñW ñX ÑñY ñZ ™#¡�)¡ZÐ/Õ0ÑNñ[ ñ\ ˜4ÕÑ&ñ] ñ^ Ñ$ñ_ ñ` ˜TÕ!Ñ(ña ñb Ññc ñd Ñ òe ri   r�   ):r³   r´   rµ   r¶   rÃ  r»  rE  rã  r?  r@  rA  rB  r`   rC  r1  r2  r3  r4  r5  r6  rD  r   r/  r7  rE  rF  rG  r9  rê  rH  r  rI  rà  rë  rì  rí  rN  rJ  rK  r$  r0  r:  rá  rL  rM  r  rï  r.  rÐ  r;  rª  r¶  r¼  rù  rÐ  r  r¸   r¹   rº   s   @rg   r¬  r¬  ]  sh  ø‡ € ð )-€OØ€OØ€DØ*.€HØ#'ÐØ€NØ€GØ 5ÐØ"€JØ#€LØ+/ÐØ+/ÐØ$(ÐØ).Ð Ø,1Ð#Ø(-ÐØ"ÐÙ:?Ù5ô;€Nð 15Ð!Ø(,€IØ+/€MÙMRÙ;ôNÐñ 6;Ù-ô6Ðñ #°4Ô8€DÙ16ÀtÔ1L€IØ€DØ€JØ€KÙ',¸TÔ'BÐÙ¨cÔ2€GØ€IØ"€KØ(,€NØ+/ÐÙ).¸tÔ)D€LØ€KÙ38ÈÔ3N€OØ"&€IØ$ÐØ$(€JØ€MØ €Nà÷4ó ð4ðl ÷ó ð÷0'ð '÷.3ð 3÷w ƒ ri   r¬  )Úfrozenc                   ó  a € ] tR tRt o ]! RRR7      t]V 3R lR l4       t]V 3R lR l4       t]V 3R	 lR
 l4       t	]V 3R lR l4       t
]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R ltRtV tR# )ÚRouteContexti  NF)r  Úreprc                ó    <€ V ^8„  d   QhRS[ /# r    )rQ   )rf   r–   s   "€rg   rh   ÚRouteContext.__annotate__  s   ø€ ÷ ñ ¡	ñ ri   c                ób   € V P                   e   V P                   P                  # V P                  # r™   )Ú_route_contextrr  r÷  r£   s   &rg   rr  ÚRouteContext.original_route  s*   € à×ÑÒ*Ø×&Ñ&×5Ñ5Ð5Ø�z‰zÐri   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r    ©rQ   r¬  )rf   r–   s   "€rg   rh   rÝ    s   ø€ ÷ ñ ¡)Ñ.DÕ"Dñ ri   c                óN   € V P                   e   V P                   # V P                  # r™   )rß  r÷  r£   s   &rg   Ú_effective_routeÚRouteContext._effective_route  s$   € à×ÑÒ*Ø×&Ñ&Ð&Ø�z‰zÐri   c                ó.   <€ V ^8„  d   QhRS[ R,          /# rà   r  )rf   r–   s   "€rg   rh   rÝ    ó   ø€ ÷ <ñ <‘c˜D•jñ <ri   c                ó0   € \        V P                  R R4      # )rE  N©rù   rä  r£   s   &rg   rE  ÚRouteContext.path  ó   € ä�t×,Ñ,¨f°dÓ;Ð;ri   c                ó.   <€ V ^8„  d   QhRS[ R,          /# rà   r  )rf   r–   s   "€rg   rh   rÝ    s   ø€ ÷ Cñ C™S 4�Zñ Cri   c                ó0   € \        V P                  R R4      # )rì  Nré  r£   s   &rg   rì  ÚRouteContext.path_format  s   € ä�t×,Ñ,¨m¸TÓBÐBri   c                ó.   <€ V ^8„  d   QhRS[ R,          /# rà   r  )rf   r–   s   "€rg   rh   rÝ  "  rç  ri   c                ó0   € \        V P                  R R4      # )rà  Nré  r£   s   &rg   rà  ÚRouteContext.name!  rë  ri   c                ó>   <€ V ^8„  d   QhRS[ S[,          R,          /# rà   )rN  rÍ   )rf   r–   s   "€rg   rh   rÝ  &  s   ø€ ÷ ?ñ ?™™S� D�ñ ?ri   c                ó0   € \        V P                  R R4      # )rJ  Nré  r£   s   &rg   rJ  ÚRouteContext.methods%  s   € ä�t×,Ñ,¨i¸Ó>Ð>ri   c                óB   <€ V ^8„  d   QhRS[ RS[3,          R,          /# )rc   re   .N)r   r   )rf   r–   s   "€rg   rh   rÝ  *  s%   ø€ ÷ @ñ @™( 3© 8Õ,¨tÕ3ñ @ri   c                ó0   € \        V P                  R R4      # )rã  Nré  r£   s   &rg   rã  ÚRouteContext.endpoint)  s   € ä�t×,Ñ,¨j¸$Ó?Ð?ri   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rc   rà  re   rÍ  )rf   r–   s   "€rg   rh   rÝ  -  s   ø€ ÷ 4ñ 4¡ð 4©ñ 4ri   c                ó.   € \        V P                  V4      # r™   ré  )rœ   rà  s   &&rg   Ú__getattr__ÚRouteContext.__getattr__-  s   € Ü�t×,Ñ,¨dÓ3Ð3ri   c                ó@   <€ V ^8„  d   Qh/ S[ ;R&   S[R,          ;R&   # )rc   r÷  Nrß  râ  )rf   r–   s   "€rg   rh   rÝ    s"   ø‡ ‚ áÑñ ñ +¨TÕ1ÑSò ri   r�   )r³   r´   rµ   r¶   r   rß  Úpropertyrr  rä  rE  rì  rà  rJ  rã  rú  r  r¸   r¹   rº   s   @rg   rÚ  rÚ    s³   ø‡ € ñ 5:À$ÈUÔ4S€Nà÷ó ðð
 ÷ó ðð
 ÷<ó ð<ð ÷Có ðCð ÷<ó ð<ð ÷?ó ð?ð ÷@ó ð@÷4ð 4÷K ƒ ri   rÚ  c                   ó$  a € ] tR tRt o ]! ]P                  RRR7      t]! ]R7      t	Rt
]! ]R7      tRtV 3R lR ltV 3R lR	 ltV 3R
 lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R ltRtV tR# )Ú_IncludedRouteri1  F)r‡  rÛ  Úcomparer†  Nc                ó.   <€ V ^8„  d   QhRS[ R,          /# )rc   re   ú(_EffectiveRouteContext | _IncludedRouter©rê  )rf   r–   s   "€rg   rh   Ú_IncludedRouter.__annotate__A  s   ø€ ÷ (ñ (¡dÐ+UÕ&Vñ (ri   c                óÈ  € V P                   P                  4       pWP                  8X  d   V P                  # V P                  ;_uu_ 4        V P                   P                  4       pWP                  8X  d   V P                  uuR R R 4       # . pV P                   P
                   F�  p\        V\        4      '       dP   V P                  P                  VP                  4      p\        VP                   VR7      pVP                  V4       Kh  V P                  V4      pVf   K  VP                  V4       K’  	  W n        Wn        VuuR R R 4       #   + '       g   i     R # ; i©N©Úoriginal_routerr²  )r  Ú_get_routes_versionÚ_effective_candidates_versionÚ_effective_candidatesÚ_effective_routes_lockÚroutesre  rÿ  r²  r¡  ÚappendÚ_build_effective_context)rœ   Úroutes_versionÚeffective_candidatesr÷  rŸ  Úchild_branchÚroute_contexts   &      rg   r  Ú$_IncludedRouter.effective_candidatesA  s!  € Ø×-Ñ-×AÑAÓCˆØ×?Ñ?Ô?Ø×-Ñ-Ð-Ø×(×(Ó(Ø!×1Ñ1×EÑEÓGˆNØ×!CÑ!CÔCØ×1Ñ1÷ )Ò(ð TVÐ Ø×-Ñ-×4Ô4�Ü˜e¤_×5Ò5Ø$(×$8Ñ$8×$@Ñ$@À×AVÑAVÓ$W�MÜ#2Ø(-×(=Ñ(=Ø(5ô$�Lð )×/Ñ/°Ô=ÙØ $× =Ñ =¸eÓ D�Ø Ô,Ø(×/Ñ/°Ö>ñ 5ð *>Ô&Ø1?Ô.Ø'÷' )×(×(Ó(ús   Á6EÂBEÄ#"EÅE!	c                ó.   <€ V ^8„  d   QhRS[ R,          /# )rc   re   r¬  r  )rf   r–   s   "€rg   rh   r  Z  s   ø€ ÷ 1ñ 1©tÐ4LÕ/Mñ 1ri   c                ó  € V P                   P                  4       pWP                  8X  d   V P                  # V P                  ;_uu_ 4        V P                   P                  4       pWP                  8X  d   V P                  uuR R R 4       # . pV P                   P
                   F+  pV P                  V4      pVf   K  VP                  V4       K-  	  V P                   P                   Fv  p\        V\        4      '       g   K  V P                  P                  VP                  4      p\        VP                   VR7      pVP                  VP                  4       4       Kx  	  W n        Wn        VuuR R R 4       #   + '       g   i     R # ; ir  )r  r	  Ú&_effective_low_priority_routes_versionÚ_effective_low_priority_routesr  Ú_low_priority_routesr  r  r  re  rÿ  r²  r¡  r¾  Úeffective_low_priority_routes)rœ   r  r  r÷  r  rŸ  r  s   &      rg   r  Ú-_IncludedRouter.effective_low_priority_routesZ  sD  € Ø×-Ñ-×AÑAÓCˆØ×HÑHÔHØ×6Ñ6Ð6Ø×(×(Ó(Ø!×1Ñ1×EÑEÓGˆNØ×!LÑ!LÔLØ×:Ñ:÷ )Ò(ð KMÐ)Ø×-Ñ-×BÔB�Ø $× =Ñ =¸eÓ D�Ø Ô,Ø1×8Ñ8¸ÖGñ Cð ×-Ñ-×4Ô4�Ü˜e¤_×5Ô5Ø$(×$8Ñ$8×$@Ñ$@À×AVÑAVÓ$W�MÜ#2Ø(-×(=Ñ(=Ø(5ô$�Lð 2×8Ñ8Ø$×BÑBÓDöñ 5ð 3PÔ/Ø:HÔ7Ø0÷+ )×(×(Ó(ús    Á6E;Â-E;Â>AE;ÄA,E;Å;F	c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )rc   r÷  re   Nrâ  )rf   r–   s   "€rg   rh   r  u  s&   ø€ ÷ Iñ IÙðIá	 $Õ	&ñIri   c                ó
  € \        V\        4      '       d"   \        P                  VV P                  R 7      # \        V\
        4      '       d"   \        P                  VV P                  R 7      # \        V\        P                  4      '       d}   \        P                  ! V P                  P                  V4      VP                  \        VP                  ;'       g    . 4      VP                  VP                  R7      p\        VVR7      # \        V\        4      '       d�   \        V P                  P                  V4      VP                  VP                  . V P                  P                   OVP                   OV P                  P"                  R7      p\        VVR7      # \        V\        P$                  4      '       dT   \        P$                  ! V P                  P                  V4      VP                  VP                  R7      p\        VVR7      # \        V\        P&                  4      '       d‚   \(        P(                  ! V4      pV P                  P                  V4      P+                  R4      Vn        \/        VP,                  R,           4      w  Vn        Vn        Vn        \        VVR7      # \        V\        P6                  4      '       d¯   V P                  P8                  '       dN   \        P:                  ! \        P&                  ! V P                  P8                  VP<                  R7      .R7      pMVP<                  p\        P6                  ! VP>                  W1P                  R	7      p\        VVR7      # R
# ))rr  r²  )rã  rJ  rà  rD  )rr  rÃ  ©rã  rà  rá  r7  ©rà  rC  z/{path:path}rƒ  )r  )r~   rà  N) re  ri  r¬  r¶  r²  r¹  r¼  rA   ÚRouter§  rã  rê  rJ  rà  rD  rß  rá  r7  ÚWebSocketRouterV   Úcopyr«  rE  rT   rë  rì  rí  ÚHostr”  ÚRouterr~   Úhost)rœ   r÷  rÃ  Úprefixed_apps   &&  rg   r  Ú(_IncludedRouter._build_effective_contextu  sÐ  € ô �eœX×&Ò&Ü)×8Ñ8Ø$Ø $× 4Ñ 4ð 9ó ð ô �eÔ0×1Ò1Ü)×CÑCØ$Ø $× 4Ñ 4ð Dó ð ô �eœWŸ]™]×+Ò+Ü)0¯ªØ×$Ñ$×-Ñ-¨eÓ4ØŸ™Ü˜UŸ]™]×0Ð0¨bÓ1Ø—Z‘ZØ"'×"9Ñ"9ô*ˆOô *Ø$Ø /ôð ô �eÔ.×/Ò/Ü/Ø×$Ñ$×-Ñ-¨eÓ4ØŸ™Ø—Z‘ZØV˜t×3Ñ3×@Ñ@ÐVÀ5×CUÑCUÐVà×(Ñ(×FÑFôˆOô *Ø$Ø /ôð ô �eœW×3Ñ3×4Ò4Ü%×4Ò4Ø×$Ñ$×-Ñ-¨eÓ4°e·n±nÈ5Ï:É:ôˆOô *Ø$Ø /ôð ô �eœWŸ]™]×+Ò+Ü"Ÿiši¨Ó.ˆOØ#'×#7Ñ#7×#@Ñ#@ÀÓ#G×#NÑ#NÈsÓ#SˆOÔ ô
 ˜_×1Ñ1°NÕBÓCñ	ØÔ*ØÔ+ØÔ0ä)Ø$Ø /ôð ô �eœWŸ\™\×*Ò*Ø×#Ñ#×*×*Ð*Ü(/¯ªÜ#ŸMšM¨$×*>Ñ*>×*EÑ*EÈ5Ï9É9ÔUÐVô)‘ð  %Ÿy™y�Ü%ŸlšlØ—
‘
 ·:±:ôˆOô *Ø$Ø /ôð ñ ri   c          	      ó`   <€ V ^8„  d   QhRS[ RS[S[S[ S[R,          S[R,          3,          /# r'  ©r\   rõ  rR   rQ   r¬  )rf   r–   s   "€rg   rh   r  À  s6   ø€ ÷ "*ñ "*Ùð"*á	‰u‘e™Y¨Õ-Ñ/EÈÕ/LÐLÕ	Mñ"*ri   c                ó  € R pV P                  4        EF0  p\        V\        4      '       d   VP                  V4      w  rETpR pMÀ\        VP                  \
        4      '       dl   Tp\        V4      pVP                  \        \        4      p	Wx\        &    VP                  P                  V4      w  rE\        V\        V	4       VP                  pM5TpVP                  V4      w  rEVP                  ;'       g    VP                  pV\        P                  8X  d   WEWg3u # V\        P                  8X  g   EK%  Ve   EK,  WVV3pEK3  	  Ve   Vw  rVp\        P                  WVV3# \        P                  / R R 3#   \        T\        T	4       i ; ir™   )r  re  rÿ  rù  rr  ri  r  rª  r*  r9  r;  rÃ  rR   rÇ  rÆ  rú  )
rœ   rm   r‚   Ú	candidaterû  rü  r÷  r  r  Úprevious_contexts
   &&        rg   Ú_matchÚ_IncludedRouter._matchÀ  sv  € ð RVˆØ×2Ñ2×4ˆIÜ˜)¤_×5Ò5Ø%.×%6Ñ%6°uÓ%=Ñ"�Ø#,�Ø $‘Ü˜I×4Ñ4´h×?Ò?Ø )�Ü 2°5Ó 9�Ø#0×#4Ñ#4Ü8¼.ó$Ð ð GTÔBÑCðØ)2×)AÑ)A×)IÑ)IÈ%Ó)PÑ&�Eä.ØÔCÐEUôð "×0Ñ0‘à )�Ø%.×%6Ñ%6°uÓ%=Ñ"�Ø!×1Ñ1×MÐM°Y×5MÑ5M�ØœŸ
™
Ô"Ø¨5Ð?Ò?ØœŸ™×%¨'­/Ø&¨}Ð=“ñ5 5ð6 ÒØ07Ñ-ˆK Ü—=‘= +°mÐCÐCÜ�z‰z˜2˜t TÐ)Ð)øô /ØÔCÐEUõús   ÂE8Å8Fc                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ró  rô  )rf   r–   s   "€rg   rh   r  ä  s$   ø€ ÷ ñ ™Uð ¡u©U±E¨\Õ':ñ ri   c                óî   € \        V4      pVP                  \        \        4      pW\        &    V P                  P                  V4      w  rEV/ 3\        V\        V4       #   \        T\        T4       i ; ir™   )r  rª  r/  r9  r  rù  r;  )rœ   rm   r  Úprevious_routerrû  rð  s   &&    rg   rù  Ú_IncludedRouter.matchesä  sr   € Ü*¨5Ó1ˆØ'×+Ñ+Ü(¬.ó
ˆð 7;Ô2Ñ3ð	Ø×+Ñ+×3Ñ3°EÓ:‰HˆEØ˜"�9ä&ØÔ3°_õøÔ&ØÔ3°_õús   ¯ A! Á!A4c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rl   rp   )rf   r–   s   "€rg   rh   r  ò  s/   ø€ ÷ @ñ @¡%ð @±'ð @Áð @È$ñ @ri   c              ƒ  ó~   "  € V \        V4      \        &   V P                  P                  WV4      G R j  x€L
  R #  L5ir™   )r  r/  r  r  )rœ   rm   rn   ro   s   &&&&rg   r  Ú_IncludedRouter.handleò  s2   é € ØBFÔ˜5Ó!Ô">Ñ?Ø×"Ñ"×)Ñ)¨%¸$Ó?×?Ô?ùs   ‚2=´;µ=c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rl   rp   )rf   r–   s   "€rg   rh   r  ö  s-   ø€ ÷ 1ñ 1Ùð1Ù%,ð1Ù48ð1à	ñ1ri   c              ƒ  ó.  "  € V P                  V4      w  rErgV\        P                  8X  g   Vf'   V P                  P	                  WV4      G R j  x€L
  R # VP                  V4       \        V\        4      '       d   VP                  WV4      G R j  x€L
  R # VeU   V\        V4      \        &   VP                  p\        V\        4      '       d!   W�R&   VP                  WV4      G R j  x€L
  R # VP                  WV4      G R j  x€L
  R #  L½ L| L& L5irw  )r-  rR   rú  r  r  r"  re  rÿ  r  r  r*  rr  ri  )	rœ   rm   rn   ro   rû  rü  r÷  rs  rr  s	   &&&&     rg   Ú_handle_selectedÚ _IncludedRouter._handle_selectedö  sô   é € ð 8<·{±{À5Ó7IÑ4ˆ˜EØ”E—J‘JÔ %¢-Ø×&Ñ&×.Ñ.¨u¸tÓD×DÐDÙØ�‰�[Ô!Ü�eœ_×-Ò-Ø—,‘,˜u¨tÓ4×4Ð4ÙØÒ(à!ô ˜uÓ%Ô&JÑKð /×=Ñ=ˆNÜ˜.¬(×3Ò3Ø!/�g‘Ø$×+Ñ+¨E¸DÓA×AÐAÙØ�l‰l˜5¨4Ó0×0Ò0ñ Eñ 5ñ Bá0ùsJ   ‚ADÁDÁADÂDÂADÃ*DÃ+DÄDÄDÄDÄDÄDc                ó0   <€ V ^8„  d   QhRS[ S[,          /# r    )r	   r¬  )rf   r–   s   "€rg   rh   r    s   ø€ ÷  ñ  ©(Ñ3IÕ*Jñ  ri   c              #  ó¨   "  € V P                  4        F7  p\        V\        4      '       d   VP                  4        R j  x€L
  K3  Vx € K9  	  R #  L5ir™   )r  re  rÿ  Úeffective_route_contexts)rœ   r+  s   & rg   r<  Ú(_IncludedRouter.effective_route_contexts  s?   é € Ø×2Ñ2Ö4ˆIÜ˜)¤_×5Ò5Ø$×=Ñ=Ó?×?Ò?à”ó	 5á?ùs   ‚=A¿AÁ Ac                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# rÌ  rÍ  )rf   r–   s   "€rg   rh   r    s"   ø€ ÷ 6ñ 6¡ð 6¹ð 6Áñ 6ri   c               ó¼   € V P                  4        F  p VP                  ! V3/ VB u # 	  \        P                  ! W4      h  \        P                   d     KI  i ; ir™   )r<  rÐ  rA   rS   )rœ   rà  rÁ  r  s   "", rg   rÐ  Ú_IncludedRouter.url_path_for  s]   € Ø!×:Ñ:Ö<ˆMðØ$×1Ò1°$ÑF¸+ÑFÒFñ =ô
 ×"Ò" 4Ó5Ð5øô ×'Ñ'ô Úðús   •AÁAÁAc                ó¤   <€ V ^8„  d   Qh/ R;R&   S[ ;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[R	,          ;R
&   S[R,          ;R&   # )rc   rÙ   r  r²  r  r  r  Nr
  r¬  r  r  )r…  r   rê  r&  )rf   r–   s   "€rg   rh   r  1  sx   ø‡ ‚ à Ñ ñ ñ +Ñ*ñ ñ  ñ ñ	 ñ  Ð JÕKñ ñ ñ $'¨¥:Ñ4ñ ñ %)Ð)AÕ$Bñ ñ ñ -0°$­JÑ=ò ri   )r  r
  r  r  )r³   r´   rµ   r¶   r   Ú	threadingÚLockr  rê  r  r
  r  r  r  r  r  r-  rù  r  r8  r<  rÐ  r  r¸   r¹   rº   s   @rg   rÿ  rÿ  1  s·   ø‡ € ñ #(Ø!Ÿ™¨U¸Eô#Ðñ OTØôOÐð 15Ð!ÙEJØôFÐ"ð :>Ð*÷(ð (÷21ð 1÷6Ið I÷V"*ð "*÷Hð ÷@ð @÷1ð 1÷, ð  ÷6ð 6÷E ƒ ri   rÿ  c                ó\   € V ^8„  d   QhR\         \        ,          R\        \        ,          /# ©rc   r  re   )r   rQ   r	   )rf   s   "rg   rh   rh     s$   € ÷ ñ ¬H´YÕ,?ð ÄHÌYÕDWñ ri   c              #   ó‚   "  € \        V 4       F+  w  rVe   VP                  e   VP                  x € K'  Vx € K-  	  R # 5ir™   )Ú_iter_routes_with_contextrÃ  ©r  r÷  r  s   &  rg   Ú_iter_included_route_candidatesrI    s:   é € Ü 9¸&Ö AÑˆØÒ$¨×)FÑ)FÒ)RØ×/Ñ/Ô/àŒKó	 !Bùs   ‚=?c                ór   € V ^8„  d   QhR\         \        \        ,          ,          R\        \        ,          /# rE  )r   rQ   rÚ  r	   )rf   s   "rg   rh   rh   $  s/   € ÷ Bñ BÜ”Y¤Õ-Õ.ðBäŒlÕñBri   c              #   óÂ   "  € V  FT  p\        V\        4      '       d   Vx € K  \        V.4       F%  w  r#Vf   \        V4      x € K  \        W#4      x € K'  	  KV  	  R # 5ir™   )re  rÚ  rG  )r  r÷  rr  r  s   &   rg   Úiter_route_contextsrL  $  sW   é € ó ˆÜ�eœ\×*Ò*ØŠKÙÜ-FÈÀwÖ-OÑ)ˆNØÒ$Ü" >Ó2Ô2ä" >ÓAÔAó	 .Pó	 ùs   ‚AAc                óŒ   € V ^8„  d   QhR\         \        ,          R\        \        \        \        R,          3,          ,          /# )rc   r  re   N)r   rQ   r	   rõ  r¬  )rf   s   "rg   rh   rh   2  s6   € ÷ ñ Ü”YÕðäŒe”IÔ5¸Õ<Ð<Õ=Õ>ñri   c              #   óª   "  € V  FH  p\        V\        4      '       d*   VP                  4        F  pVP                  V3x € K  	  KB  VR 3x € KJ  	  R # 5ir™   )re  rÿ  r<  rr  rH  s   &  rg   rG  rG  2  sO   é € ó ˆÜ�eœ_×-Ò-Ø!&×!?Ñ!?Ö!A�Ø#×2Ñ2°MÐAÔAó "Bð ˜�+Ôó ùs   ‚AAc                ó0   € V ^8„  d   QhR\         R\         /# ©rc   rE  re   r  )rf   s   "rg   rh   rh   =  s   € ÷ ñ ¤3ð ¬3ñ ri   c                 ó    € V '       g   \        R 4      hV P                  R4      '       g   \        R4      hV R8w  d   V P                  R4      p V # )zA frontend path cannot be emptyrC  z#A frontend path must start with '/')ÚAssertionErrorÚ
startswithr«  ©rE  s   &rg   Ú_normalize_frontend_pathrU  =  sF   € ßÜÐ>Ó?Ð?Ø�?‰?˜3×ÒÜÐBÓCÐCØˆs„{Ø�{‰{˜3ÓˆØ€Kri   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )rc   r”  rE  re   r  )rf   s   "rg   rh   rh   G  s!   € ÷ ñ ¤ð ¬Cð ´Cñ ri   c                 ó8   € V '       g   V# VR 8X  d   V # W,           # ©rC  r�   r¥  s   &&rg   Ú_join_frontend_pathsrY  G  s   € ßØˆØˆs„{ØˆØ�=Ðri   c                ó0   € V ^8„  d   QhR\         R\        /# rP  )rÍ   r&  )rf   s   "rg   rh   rh   O  s   € ÷ ñ ¤Sð ¬Sñ ri   c                 ó*   € V R 8X  d   ^ # \        V 4      # rX  )ÚlenrT  s   &rg   Ú_frontend_path_specificityr]  O  s   € Øˆs„{ÙÜˆt‹9Ðri   c                óp   € V ^8„  d   QhR\         \        P                  \         ,          ,          R\         /# rP  )rÍ   ÚosÚPathLike)rf   s   "rg   rh   rh   U  s(   € ÷ -ñ -¤c¬B¯K©K¼Õ,<Õ&<ð -Äñ -ri   c                 óh   € \         P                  P                  \         P                  ! V 4      4      # r™   )r_  rE  ÚrealpathÚfspathrT  s   &rg   Ú_get_resolved_absolute_pathrd  U  s   € Ü�7‰7×ÑœBŸIšI d›OÓ,Ð,ri   c                ó    € V ^8„  d   QhR\         \        P                  \         ,          ,          R\        \        R,          ,          R\        /# )rc   Ú	directoryÚ	check_dirÚautore   )rÍ   r_  r`  r®   r   )rf   s   "rg   rh   rh   Y  s?   € ÷ ñ ä”R—[‘[¤Õ%Õ%ðô ”g˜f•oÕ%ðô 
ñ	ri   c                 óþ   € VR 8w  d   V# \         P                  P                  R4      R8w  d   R# \         P                  P	                  V 4      '       g)   \
        P                  ! RV  R\        V 4       R2^R7       R# )	rh  ÚFASTAPI_ENVÚdevelopmentTúFrontend directory 'ú+' does not exist. Resolved absolute path: 'Ú')Ú
stacklevelF)r_  Úenvironrª  rE  ÚisdirÚwarningsÚwarnrd  ©rf  rg  s   $$rg   Ú_resolve_frontend_check_dirru  Y  sp   € ð
 �FÔØÐÜ	‡z�z‡~�~�mÓ$¨Ô5ÙÜ�7‰7�=‰=˜×#Ò#Ü�ŠØ" 9 +ð .(Ü(CÀIÓ(NÐ'OÈqðRàõ	
ñ
 ri   c                   óà   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltV3R
 lR ltV3R lR lt	V3R lR lt
V3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )Ú_FrontendStaticFilesik  c                ó€   <€ V ^8„  d   QhRS[ S[P                  S[ ,          ,          RS[R,          R,          RS[RR/# )rc   rf  ÚfallbackNrg  re   ©rh  ú
index.htmlú404.html©rÍ   r_  r`  r   r®   )rf   r–   s   "€rg   rh   Ú!_FrontendStaticFiles.__annotate__l  sN   ø€ ÷ 0ñ 0ñ ™Ÿ™¡SÕ)Õ)ð0ñ Ð:Õ;¸dÕBð	0ñ
 ð0ð 
ñ0ri   c               ó  <€ W n         V'       dA   \        P                  P                  V4      '       g   \	        R V R\        V4       R24      h\        SV `  VRVRR7       V'       d   VR9   d   V P                  V4       R# R# R# )rl  rm  rn  TF)rf  Úhtmlrg  Úfollow_symlinkN>   r|  r{  )	ry  r_  rE  rq  ÚRuntimeErrorrd  rø  r�   Ú_check_fallback_file)rœ   rf  ry  rg  rý  s   &$$$€rg   r�   Ú_FrontendStaticFiles.__init__l  s�   ø€ ð !ŒßœRŸW™WŸ]™]¨9×5Ò5ÜØ& y kð 2,Ü,GÈ	Ó,RÐ+SÐSTðVóð ô 	‰ÑØØØØ ð	 	ô 	
÷ ˜Ð%?Ô?Ø×%Ñ% hÖ/ñ @‰9ri   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rc   ry  re   Nr  )rf   r–   s   "€rg   rh   r~  ‚  s   ø€ ÷ ñ ©Sð °Tñ ri   c           	     óÚ   € V P                  V4      w  r#Ve'   \        P                  ! VP                  4      '       g.   \	        RV RV P
                   RV P                  4        R24      hR # )NúFrontend fallback file 'ú' does not exist in directory 'ú!'. Resolved absolute directory: 'rn  )Úlookup_pathÚstatÚS_ISREGÚst_moder‚  rf  Ú_get_resolved_directory©rœ   ry  rð  Ústat_results   &&  rg   rƒ  Ú)_FrontendStaticFiles._check_fallback_file‚  sr   € Ø×)Ñ)¨(Ó3‰ˆØÒ¤d§l¢l°;×3FÑ3F×&GÒ&GÜØ*¨8¨*ð 5Ø"Ÿn™nÐ-ð .Ø×0Ñ0Ó2Ð3°1ð6óð ñ 'Hri   c                ó    <€ V ^8„  d   QhRS[ /# r    r  )rf   r–   s   "€rg   rh   r~  ‹  s   ø€ ÷ ;ñ ;©ñ ;ri   c                óL   € V P                   f   Q h\        V P                   4      # r™   )rf  rd  r£   s   &rg   rŽ  Ú,_FrontendStaticFiles._get_resolved_directory‹  s!   € Ø�~‰~Ò)Ð)Ð)Ü*¨4¯>©>Ó:Ð:ri   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ró  )r\   rÍ   )rf   r–   s   "€rg   rh   r~  �  s   ø€ ÷ @ñ @™eð @©ñ @ri   c                ó  € \        V4      P                  \        R 4      p\        V\        4      '       g   Q h\
        P                  P                  \
        P                  P                  ! VP                  R4      !  4      # )rB  rC  )
r  rª  Ú_FASTAPI_FRONTEND_PATH_KEYre  rÍ   r_  rE  Únormpathr}  r]  )rœ   rm   rE  s   && rg   Úget_pathÚ_FrontendStaticFiles.get_path�  sW   € Ü! %Ó(×,Ñ,Ô-GÈÓLˆÜ˜$¤×$Ò$Ð$Ð$Ü�w‰w×Ñ¤§¡§¢¨d¯j©j¸«oÑ >Ó?Ð?ri   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ró  )r\   rO   )rf   r–   s   "€rg   rh   r~  ”  s   ø€ ÷ Dñ D±%ð D¹Hñ Dri   c              ƒ  óÆ   "  € V P                   '       g    V P                  4       G R j  x€L
  RV n         V P                  V P                  V4      V4      G R j  x€L
 #  L4 L5i)NT)Úconfig_checkedÚcheck_configÚget_responser™  ©rœ   rm   s   &&rg   Úget_response_for_scopeÚ+_FrontendStaticFiles.get_response_for_scope”  sR   é € Ø×"×"Ð"Ø×#Ñ#Ó%×%Ð%Ø"&ˆDÔØ×&Ñ& t§}¡}°UÓ';¸UÓC×CÐCñ &áCùs!   ‚&A!¨A©/A!ÁAÁA!ÁA!c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )rc   rE  rm   re   )rÍ   r\   rO   )rf   r–   s   "€rg   rh   r~  š  s"   ø€ ÷ -ñ -¡sð -±5ð -¹Xñ -ri   c              ƒ  óX  "  € VR ,          R9  d4   V P                  V4      G Rj  x€L
 e   \        RR7      h\        RR7      hV P                  V4      G Rj  x€L
 pVey   Vw  rEpV'       dZ   VR,          P                  R4      '       g<   \        VR7      pVP	                  VP
                  R,           R7      p\        VR	7      # V P                  WEV4      # V P                  R
8X  g)   V P                  R8X  d4   V P                  R
4      '       d   V P                  R
VRR7      G Rj  x€L
 # V P                  R8X  g)   V P                  R8X  dE   V P                  R4      '       d.   \        V4      '       d   V P                  RV^ÈR7      G Rj  x€L
 # \        RR7      h EL{ ELK L| L5i)r¬  Nr|  ©r$  é”  rE  rC  r+  rT  ©Úurlr|  rh  r{  )rS  ÚHEAD)Ú_lookup_static_resourcerJ   r¶  rG   ÚreplacerE  rN   Úfile_responsery  Ú_fallback_file_existsÚ_fallback_responseÚ_is_frontend_navigation_request)rœ   rE  rm   Ústatic_resourceÚ	full_pathr�  Úis_directory_indexr¨  s   &&&     rg   rŸ  Ú!_FrontendStaticFiles.get_responseš  sm  é € Ø��? /Ô1Ø×1Ñ1°$Ó7×7ÒCÜ#°Ô4Ð4Ü¨CÔ0Ð0à $× <Ñ <¸TÓ B×BˆØÒ&Ø9HÑ6ˆIÐ$6ß!¨%°­-×*@Ñ*@À×*EÒ*EÜ Ô&�Ø—k‘k s§x¡x°#¥~�kÓ6�Ü'¨CÔ0Ð0Ø×%Ñ% i¸eÓDÐDà�=‰=˜JÔ&Ø�M‰M˜VÔ#¨×(BÑ(BÀ:×(NÒ(Nà×0Ñ0°¸UÐPSÐ0ÓT×TÐTð �M‰M˜\Ô)Ø—‘ Ô'¨D×,FÑ,FÀ|×,TÒ,TÜ-¨e×4Ò4Ø×0Ñ0°¸uÐRUÐ0ÓV×VÐVä¨Ô,Ð,ò1 8ò Cñ Uñ WùsX   ‚#F*¥F ¦2F*ÁF#Á2F*ÂBF*ÄF*Ä)F&Ä*<F*Å'(F*ÆF(ÆF*Æ#F*Æ&F*Æ(F*c                ó^   <€ V ^8„  d   QhRS[ RS[S[ S[P                  R,          3,          /# ©rc   rE  re   N)rÍ   rõ  r_  r�  )rf   r–   s   "€rg   rh   r~  ¶  s.   ø€ ÷ 
;ñ 
;¡sð 
;©u±S¹"¿.¹.È4Õ:OÐ5OÕ/Pñ 
;ri   c              ƒ  ó*  "  €  \        V P                  V4      G R j  x€L
 #  L  \         d    \        RR7      R h\         d4   pTP
                  \
        P                  8X  d   \        RR7      R hThR p?i\         d    \        RR7      R hi ; i5i)Ni‘  r¥  r¦  )rF   rŠ  ÚPermissionErrorrJ   ÚOSErrorÚerrnoÚENAMETOOLONGÚ
ValueError)rœ   rE  Úexcs   && rg   Ú_lookup_pathÚ!_FrontendStaticFiles._lookup_path¶  s€   é € ð		;Ü*¨4×+;Ñ+;¸TÓB×BÐBÑBøÜô 	;Ü¨CÔ0°dÐ:Üô 	Ø�y‰yœE×.Ñ.Ô.Ü#°Ô4¸$Ð>ØˆIûÜô 	;Ü¨CÔ0°dÐ:ð	;üs=   ‚B„$ �"ž$ ¡B¢$ ¤ BÁBÁ.A4Á4BÂBÂBc                ób   <€ V ^8„  d   QhRS[ RS[S[ S[P                  S[3,          R,          /# rµ  )rÍ   rõ  r_  r�  r®   )rf   r–   s   "€rg   rh   r~  Â  s2   ø€ ÷ ñ Ùðá	‰s‘B—N‘N¡DÐ(Õ	)¨DÕ	0ñri   c              ƒ  óÊ  "  € V P                  V4      G R j  x€L
 w  r#Vf   R # \        P                  ! VP                  4      '       d   W#R3# \        P                  ! VP                  4      '       dj   \
        P                  P                  VR4      pV P                  V4      G R j  x€L
 w  r#Ve+   \        P                  ! VP                  4      '       d   W#R3# R #  LÇ L85i)NFr{  T)r½  r‹  rŒ  r�  ÚS_ISDIRr_  rE  r}  )rœ   rE  r±  r�  Ú
index_paths   &&   rg   rª  Ú,_FrontendStaticFiles._lookup_static_resourceÂ  s¸   é € ð (,×'8Ñ'8¸Ó'>×!>Ñˆ	ØÒÙÜ�<Š<˜×+Ñ+×,Ò,Ø¨5Ð0Ð0Ü�<Š<˜×+Ñ+×,Ò,ÜŸ™Ÿ™ d¨LÓ9ˆJØ+/×+<Ñ+<¸ZÓ+H×%HÑ"ˆIØÒ&¬4¯<ª<¸×8KÑ8K×+LÒ+LØ ¨tÐ3Ð3Ùñ "?ñ &Iùs3   ‚C#—C˜1C#Á
)C#Á44C#Â(C!Â)/C#ÃC#Ã!C#c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rc   ry  re   )rÍ   r®   )rf   r–   s   "€rg   rh   r~  Ñ  s   ø€ ÷ Mñ M©cð M±dñ Mri   c                ó€   € V P                  V4      w  r#VR J;'       d!    \        P                  ! VP                  4      # r™   )rŠ  r‹  rŒ  r�  r�  s   &&  rg   r­  Ú*_FrontendStaticFiles._fallback_file_existsÑ  s6   € Ø×)Ñ)¨(Ó3‰ˆØ $Ð&×LÐL¬4¯<ª<¸×8KÑ8KÓ+LÐLri   c                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# )rc   ry  rm   r$  re   )rÍ   r\   r&  rO   )rf   r–   s   "€rg   rh   r~  Õ  s-   ø€ ÷ 
ñ 
Ùð
Ù$)ð
Ù;>ð
á	ñ
ri   c          	   ƒ  ó"  "  € \        V P                  V4      G R j  x€L
 w  rEVe'   \        P                  ! VP                  4      '       g.   \        RV RV P                   RV P                  4        R24      hV P                  WEW#R7      #  Lp5i)Nr‡  rˆ  r‰  rn  r¥  )	rF   rŠ  r‹  rŒ  r�  r‚  rf  rŽ  r¬  )rœ   ry  rm   r$  r±  r�  s   &&&$  rg   r®  Ú'_FrontendStaticFiles._fallback_responseÕ  sœ   é € ô (9¸×9IÑ9IÈ8Ó'T×!TÑˆ	ØÒ¤d§l¢l°;×3FÑ3F×&GÒ&GÜØ*¨8¨*ð 5Ø"Ÿn™nÐ-ð .Ø×0Ñ0Ó2Ð3°1ð6óð ð
 ×!Ñ!Ø Eð "ó 
ð 	
ñ "Uùs   ‚BœB�/BÁAB)r�  ry  )r³   r´   rµ   r¶   r�   rƒ  rŽ  r™  r¡  rŸ  r½  rª  r­  r®  r¸   r¹   rÿ  r   s   @@rg   rw  rw  k  st   ù‡ € ÷0ó 0÷,ð ÷;ð ;÷@ð @÷
Dð D÷-ð -÷8
;ð 
;÷ð ÷Mð M÷
÷ 
ð 
ri   rw  c                óh   € V ^8„  d   QhR\         R\        \        \         \        3,          ,          /# )rc   Úacceptre   )rÍ   r	   rõ  Úfloat)rf   s   "rg   rh   rh   ä  s(   € ÷ 
ñ 
¤Sð 
¬X´e¼CÄ¸JÕ6GÕ-Hñ 
ri   c              #   óz  "  € V P                  R 4       F�  p\        P                  P                  4       pVP	                  4       VR&   VP                  R4      pRp\        V\        4      '       d    \        V4      pVP                  4        RVP                  4        2V3x € K’  	  R#   \         d     L:i ; i5i)Ú,rF  Úqg      ð?rC  N)r]  r±  r²  r³  r^  Ú	get_paramre  rÍ   rÌ  r»  r´  rµ  )rË  Ú	raw_valuer²  rÏ  Úqualitys   &    rg   Ú_iter_accept_media_typesrÓ  ä  s¯   é € Ø—\‘\ #Ö&ˆ	Ü—-‘-×'Ñ'Ó)ˆØ"+§/¡/Ó"3ˆ�ÑØ×Ñ˜cÓ"ˆØˆÜ�aœ×ÒðÜ ›(�ð ×+Ñ+Ó-Ð.¨a°×0KÑ0KÓ0MÐ/NÐOØð
ô 	
ó 'øô ô Ùðüs*   ‚A/B;Á2B*Á=-B;Â*B8Â5B;Â7B8Â8B;c                ó0   € V ^8„  d   QhR\         R\        /# ró  ©r\   r®   )rf   s   "rg   rh   rh   õ  s   € ÷ ñ ¬5ð ´Tñ ri   c                 óž   € \        V 4      p\        VP                  P                  R R4      4       F  w  r#VR9   g   K  V^ 8w  g   K   R# 	  R# )rË  rB  TF>   ú	text/htmlúapplication/xhtml+xml)rK   rÓ  r°  rª  )rm   r}   r’  rÒ  s   &   rg   r¯  r¯  õ  sJ   € Ü�e‹n€GÜ7Ø�‰×Ñ˜H bÓ)ö Ñˆ
ð Ð?Ö?ÀGÈqÆLÚñ	 ñ
 ri   c                   ó”   a € ] tR tRt o RR/V 3R lR lltV 3R lR ltV 3R lR	 ltV 3R
 lR ltV 3R lR ltV 3R lR lt	Rt
V tR# )Ú_FrontendRouteiÿ  ry  rh  c          
      ó†   <€ V ^8„  d   QhRS[ RS[ S[P                  S[ ,          ,          RS[R,          R,          RS[RR/# ©rc   rE  rf  ry  Nrg  re   rz  r}  )rf   r–   s   "€rg   rh   Ú_FrontendRoute.__annotate__   sV   ø€ ÷ 
ñ 
áð
ñ ™Ÿ™¡SÕ)Õ)ð	
ñ
 Ð:Õ;¸dÕBð
ñ ð
ð 
ñ
ri   c               ó€   € VR9  d   \        R4      h\        V4      V n        RR0V n        \	        W#VR7      V n        R# )rh  Nz:fallback must be 'auto', 'index.html', '404.html', or NonerS  r©  ©rf  ry  rg  >   Nrh  r|  r{  )rR  rU  rE  rJ  rw  r~   ©rœ   rE  rf  ry  rg  s   &&$$$rg   r�   Ú_FrontendRoute.__init__   sG   € ð ÐCÔCÜ ØLóð ô -¨TÓ2ˆŒ	Ø˜v�ˆŒÜ'Ø¸iô
ˆŽri   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ró  rô  )rf   r–   s   "€rg   rh   rÝ    s$   ø€ ÷ 8ñ 8™Uð 8¡u©U±E¨\Õ':ñ 8ri   c                ó8   € V P                  WP                  4      # r™   )Úmatches_with_pathrE  r   s   &&rg   rù  Ú_FrontendRoute.matches  s   € Ø×%Ñ% e¯Y©YÓ7Ð7ri   c                óB   <€ V ^8„  d   QhRS[ RS[RS[S[S[ 3,          /# )rc   rm   rE  re   ©r\   rÍ   rõ  rR   )rf   r–   s   "€rg   rh   rÝ    s+   ø€ ÷ 'ñ '¡uð '±Cð '¹EÁ%ÉÀ,Õ<Oñ 'ri   c                óV  € VR ,          R8w  d   \         P                  / 3# V P                  V\        V4      4      pVf   \         P                  / 3# \        \
        V\        \        V4      //pVR,          V P                  9  d   \         P                  V3# \         P                  V3# )rª   rÀ  r¬  )rR   rú  Ú_get_frontend_pathrC   r  r—  r3  r]  rJ  rÆ  rÇ  )rœ   rm   rE  r  rü  s   &&&  rg   rä  Ú _FrontendRoute.matches_with_path  s–   € Ø��=˜FÔ"Ü—:‘:˜r�>Ð!Ø×/Ñ/°´nÀUÓ6KÓLˆØÒ Ü—:‘:˜r�>Ð!äÜ*¨MÜ1Ô3MÈdÓ3Sð!ð
ˆð ��? $§,¡,Ô.Ü—=‘= +Ð-Ð-Ü�z‰z˜;Ð&Ð&ri   c                ó:   <€ V ^8„  d   QhRS[ RS[ RS[ R,          /# )rc   rE  rÈ  re   Nr  )rf   r–   s   "€rg   rh   rÝ  %  s&   ø€ ÷ ñ ¡sð ¹ð ÁÀdÅ
ñ ri   c                ó¢   € VR 8X  d   VP                  R 4      # W!8X  d   R# VR ,           pVP                  V4      '       d   V\        V4      R # R# )rC  rB  N)ÚlstriprS  r\  )rœ   rE  rÈ  r”  s   &&& rg   ré  Ú!_FrontendRoute._get_frontend_path%  sQ   € Ø�3Œ;Ø×$Ñ$ SÓ)Ð)ØÔÙØ˜•ˆØ× Ñ  ×(Ò(Øœc &›k˜mÐ,Ð,Ùri   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rl   rp   )rf   r–   s   "€rg   rh   rÝ  /  s)   ø€ ÷ -ñ -¡%ð -±'ð -Áð -È$ñ -ri   c              ƒ  ó~   "  € V P                   P                  V4      G R j  x€L
 pV! WV4      G R j  x€L
  R #  L L5ir™   )r~   r¡  )rœ   rm   rn   ro   r{   s   &&&& rg   r  Ú_FrontendRoute.handle/  s5   é € ØŸ™×8Ñ8¸Ó?×?ˆÙ�u tÓ,×,Ò,ñ @Ù,ùs   ‚=¡9¢=²;³=»=c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# rÌ  ©rÍ   r   rI   )rf   r–   s   "€rg   rh   rÝ  3  ó"   ø€ ÷ .ñ .¡ð .¹ð .Áñ .ri   c               ó   € \        W4      hr™   ©rS   ©rœ   rà  rÁ  s   "",rg   rÐ  Ú_FrontendRoute.url_path_for3  ó   € Ü˜4Ó-Ð-ri   )r~   rJ  rE  N)r³   r´   rµ   r¶   r�   rù  rä  ré  r  rÐ  r¸   r¹   rº   s   @rg   rÚ  rÚ  ÿ  sM   ø‡ € ð
ð
 FL÷
ò 
÷$8ð 8÷'ð '÷ ð ÷-ð -÷.ö .ri   rÚ  c                   óÎ   a € ] tR tRt o RRRR/V 3R lR lltRR/V 3R	 lR
 lltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR lt	V 3R lR lt
]V 3R lR l4       tRtV tR# )r¹  i7  rá  Nr7  c                ój   <€ V ^8„  d   QhRS[ S[P                  ,          R,          RS[R,          RR/# )rc   rá  Nr7  re   )r   r   rå  r   )rf   r–   s   "€rg   rh   Ú _FrontendRouteGroup.__annotate__8  s=   ø€ ÷ 
ñ 
ñ ™vŸ~™~Õ.°Õ5ð
ñ (+¨T¥zð	
ð
 
ñ
ri   c               ó¨   € . V n         \        T;'       g    . 4      V n        W n        \	        R \
        V P                  R7      w  V n        pV n        R# )rB  rè  N)r  rê  rá  r7  rî  r
  r  rï  )rœ   rá  r7  rð  s   &$$ rg   r�   Ú_FrontendRouteGroup.__init__8  sR   € ð -/ˆŒÜ  ×!3Ð!3°Ó4ˆÔØ-JÔ*ô
 =ØÜ.Ø×*Ñ*ô
ñ		
ØŒNØØÖ#ri   ry  rh  c          
      ó†   <€ V ^8„  d   QhRS[ RS[ S[P                  S[ ,          ,          RS[R,          R,          RS[RR/# rÜ  r}  )rf   r–   s   "€rg   rh   rü  K  sV   ø€ ÷ 
ñ 
áð
ñ ™Ÿ™¡SÕ)Õ)ð	
ñ
 Ð:Õ;¸dÕBð
ñ ð
ð 
ñ
ri   c          	     óV   € V P                   P                  \        VVVVR 7      4       R# )rß  N)r  r  rÚ  rà  s   &&$$$rg   Úadd_frontend_routeÚ&_FrontendRouteGroup.add_frontend_routeK  s*   € ð 	�‰×ÑÜØØ#Ø!Ø#ô	ö	
ri   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ró  rô  )rf   r–   s   "€rg   rh   rü  \  s$   ø€ ÷ "ñ "™Uð "¡u©U±E¨\Õ':ñ "ri   c                ó4   € V P                  VR R7      w  r#pW#3# )rB  ©r”  ©r-  )rœ   rm   rû  rü  rð  s   &&   rg   rù  Ú_FrontendRouteGroup.matches\  s"   € Ø $§¡¨E¸" Ó =Ñˆ˜AØÐ!Ð!ri   c                óB   <€ V ^8„  d   QhRS[ RS[RS[S[S[ 3,          /# )rc   rm   r”  re   rç  )rf   r–   s   "€rg   rh   rü  `  s+   ø€ ÷ "ñ "©ð "¹ð "ÁÁeÉUÀlÕ@Sñ "ri   c                ó2   € V P                  WR 7      w  r4pW43# )r  r  )rœ   rm   r”  rû  rü  rð  s   &&&   rg   rÂ  Ú'_FrontendRouteGroup.matches_with_prefix`  s    € Ø $§¡¨E Ó AÑˆ˜AØÐ!Ð!ri   c          
      óT   <€ V ^8„  d   QhRS[ RS[RS[S[S[ S[R,          3,          /# )rc   rm   r”  re   N)r\   rÍ   rõ  rR   rÚ  )rf   r–   s   "€rg   rh   rü  d  s6   ø€ ÷ $ñ $Ùð$Ù'*ð$á	‰u‘e™^¨dÕ2Ð2Õ	3ñ$ri   c               óà  € R pR pV P                    F’  p\        W%P                  4      pVP                  W4      w  rx\	        V4      p	V\
        P                  8X  d   Ve   W“^,          8”  d   W…V	3pKb  Kd  V\
        P                  8X  g   K{  Ve   W”^,          8”  g   KŽ  W…V	3pK”  	  Ve   Vw  r…p
\
        P                  W…3# Ve   Vw  r…p
\
        P                  W…3# \
        P                  / R 3# r™   )	r  rY  rE  rä  r]  rR   rÇ  rÆ  rú  )rœ   rm   r”  Úfullr‚   r÷  rE  rû  rü  r4  rð  s   &&$        rg   r-  Ú_FrontendRouteGroup._matchd  så   € ð :>ˆØ<@ˆØ—[”[ˆEÜ'¨·
±
Ó;ˆDØ!&×!8Ñ!8¸Ó!EÑˆEÜ4°TÓ:ˆKØœŸ
™
Ô"Ø’< ;°aµÔ#8Ø'°Ð<’Dñ $9àœ%Ÿ-™-Ö'Ø’? k¸AµJÖ&>Ø*°;Ð?’Gñ !ð ÒØ$(Ñ!ˆK Ü—:‘:˜{Ð1Ð1ØÒØ$+Ñ!ˆK Ü—=‘= +Ð4Ð4Ü�z‰z˜2˜tÐ#Ð#ri   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rl   rp   )rf   r–   s   "€rg   rh   rü  {  s)   ø€ ÷ $1ñ $1¡%ð $1±'ð $1Áð $1È$ñ $1ri   c           	   ƒ  ó(  "  € \        V4      p\        V\        4      '       dB   VP                  V J d2   VP                  pVP
                  pVP                  pVP                  pM&R pV P
                  pV P                  pV P                  pV P                  WR7      w  ršpV	\        P                  8X  g   Vf   \        RR7      h\        W4       V	\        P                  8X  dë   V'       dã   VP                  '       dÑ   V P                  VVVVVVR7      ;_uu_4       GRj  x€L
 pVP                   P#                  V4      G Rj  x€L
 pVP$                  f   VP&                  Vn        VP(                  P*                  P-                  VP.                  P(                  P*                  4       V! WV4      G Rj  x€L
  RRR4      GRj  x€L
  R# VP1                  WV4      G Rj  x€L
  R#  LÈ L§ L6 L(  + GRj  x€L 
 '       g   i     R# ; i L+5i)rB  r  Nr¦  r¥  ré  )r,  re  r¬  rr  r»  r  r7  rï  r-  rR   rú  rJ   r%  rÇ  rá  Ú_solve_dependenciesr~   r¡  r(  r)  r°  r½  r¾  r{   r  )rœ   rm   rn   ro   rs  r”  r  r7  r8  rû  rü  r÷  r%  r{   s   &&&&          rg   r  Ú_FrontendRouteGroup.handle{  sÇ  é € Ü>¸uÓEÐäÐ(Ô*@×AÒAØ!×0Ñ0°DÓ8à&×6Ñ6ˆFØ)×3Ñ3ˆIà!×?Ñ?ð *ð !2× DÑ DÑàˆFØŸ™ˆIØ,0×,NÑ,NÐ)Ø $× 7Ñ 7ÐØ$(§K¡K° KÓ$EÑ!ˆ˜EØ”E—J‘JÔ %¢-Ü¨CÔ0Ð0Ü�eÔ)Ø”E—J‘JÔ§9°×1G×1GÐ1GØ×/Ñ/ØØØØ#Ø.KØ"3ð 0÷ ÷ ô ð Ø!&§¡×!AÑ!AÀ%Ó!H×H�Ø×&Ñ&Ò.Ø*7×*HÑ*H�HÔ'Ø× Ñ ×$Ñ$×+Ñ+¨M×,BÑ,B×,JÑ,J×,NÑ,NÔOÙ˜u¨tÓ4×4Ð4÷÷ ñ Ø�l‰l˜5¨4Ó0×0Ò0ññ Iñ 5÷÷ ÷ ñ ñ úÙ0ùs‹   ‚C*HÃ-HÃ?#HÄ"G+Ä#HÄ&G3ÅG-ÅA2G3Æ8G/Æ9G3Æ=HÇG1Ç	HÇ$HÇ%HÇ-G3Ç/G3Ç1HÇ3H	Ç9G<Ç:
H	ÈH	È
Hc                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# rÌ  ró  )rf   r–   s   "€rg   rh   rü  ¡  rô  ri   c               ó   € \        W4      hr™   rö  r÷  s   "",rg   rÐ  Ú _FrontendRouteGroup.url_path_for¡  rù  ri   c                ób   <€ V ^8„  d   QhRS[ RS[RS[RS[RS[R,          RS[RS[S[,          /# )	rc   rm   rn   ro   r  r7  Nr8  re   )r\   r[   r]   r#   r   r®   r   r'   )rf   r–   s   "€rg   rh   rü  ¨  sd   ø€ ÷ $Lñ $Láð$Lñ ð$Lñ ð	$Lñ ð$Lñ (+¨T¥zð$Lñ  ð$Lñ 
Ñ'Õ	(ñ$Lri   c              ó\  "  € \        WV4      pVP                  R \        4      pVP                  R\        4      p	 \        4       ;_uu_4       GRj  x€L
 p
W¡R &   \        4       ;_uu_4       GRj  x€L
 pW±R&   \	        VVVV
VR7      G Rj  x€L
 pVP
                  '       d   \        VP
                  4      hV5x € RRR4      GRj  x€L
  RRR4      GRj  x€L
  V\        J d   VP                  R R4       MW�R &   V	\        J d   VP                  RR4       R# W‘R&   R#  LÐ L³ L™ L_  + GRj  x€L 
 '       g   i     Lv; i Lm  + GRj  x€L 
 '       g   i     L„; i  T\        J d   TP                  R R4       MY�R &   T	\        J d   TP                  RR4       i Y‘R&   i ; i5i)rv   rw   NrÛ  )rK   rª  r9  r   r/   r  r3   r:  )rœ   rm   rn   ro   r  r7  r8  r}   Úprevious_inner_astackÚprevious_function_astackry   rz   r%  s   &&&&$$$      rg   r  Ú'_FrontendRouteGroup._solve_dependencies§  sm  é € ô ˜%¨$Ó/ˆØ %§	¡	Ð*@Ä.Ó QÐØ#(§9¡9Ð-FÌÓ#WÐ ð	LÜ%×'×'Ô'¨=Ø0=Ð,Ñ-Ü)×+×+Ô+¨~Ø7EÐ3Ñ4Ü*<Ø 'Ø"+Ø6SØ)6Ø*;ô+÷ %�Mð %×+×+Ð+Ü4°]×5IÑ5IÓJÐJØ'Ó'÷ ,×+÷ (×'ð %¬Ó6Ø—	‘	Ð0°$Õ7à0EÐ,Ñ-Ø'¬>Ó9Ø—	‘	Ð3°TÖ:à3KÐ/Ó0ñ- (á+ñ%÷ ,×+×+Ò+ú÷ (×'×'Ò'ûð %¬Ó6Ø—	‘	Ð0°$Õ7à0EÐ,Ñ-Ø'¬>Ó9Ø—	‘	Ð3°TÕ:à3KÐ/Ò0üsÒ   ‚9F,¼E% ÁD#ÁE% ÁE	Á1D%Á2E	Á5D+	ÂD'ÂD+	Â$D+	Â>E	Ã	D)Ã
E	ÃE% ÃEÃE% ÃAF,Ä#E% Ä%E	Ä'D+	Ä)E	Ä+EÄ1D4Ä2
EÄ=EÄ?E	ÅE% Å	E"	ÅEÅ
E"	ÅE"	ÅE% Å%AF)Æ)F,)rï  r  rá  r7  r  )r³   r´   rµ   r¶   r�   r  rù  rÂ  r-  r  rÐ  r   r  r¸   r¹   rº   s   @rg   r¹  r¹  7  s‚   ø‡ € ð
ð 9=ð
ð 59÷	
ò 
ð&
ð
 FL÷
ò 
÷""ð "÷"ð "÷$ð $÷.$1ð $1÷L.ð .ð ÷$Ló ö$Lri   r¹  c            4       óš  a a€ ] tR tRt oRtRRRRRRR]! ]4      R	RR
RRRRRRRRRR]RRRRRRRRRRR]! ]4      R]! R4      /V3R lV 3R lllt	V3R lR lt
RpV3R lR lltRpV3R lR lltRqV3R  lV 3R! llltRpV3R" lV 3R# llltR$R%R&R%/V3R' lR( lltV3R) lR* ltV3R+ lR, ltV3R- lR. ltV3R/ lR0 ltV3R1 lR2 ltV3R3 lR4 ltRqV3R5 lR6 lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR=RR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRRHRR
RRIRR]! ]4      R]! R4      /V3RJ lRK lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR=RR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3RL lRM lltRpRR/V3RN lRO llltRpRR/V3RP lRQ llltRpV3RR lRS lltRRRRRRR]! ]4      R	RR
RRRRRR]! ]4      /	V3RT lRU lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3RV lRW lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3RX lRY lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3RZ lR[ lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3R\ lR] llt R7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3R^ lR_ llt!R7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3R` lRa llt"R7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3Rb lRc llt#R7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3Rd lRe llt$V3Rf lRg lt%V3Rh lRi lt&V3Rj lRk lt'](! Rl4      V3Rm lRn l4       t)Rot*Vt+V ;t,# )rrÙ   iÏ  ac  
`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”  rB  rH  Nrá  r•  rI  rE  r  Úredirect_slashesTr  r7  Úroute_classÚ
on_startupÚon_shutdownÚlifespanr`   rD  rG  r9  c          (      óÈ  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R4      3,          RS[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[S[	,          S[! R	4      3,          R
S[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[S[,          R,          S[! R4      3,          RS[ S[S[,          R,          S[! R4      S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[,          S[! R4      3,          RS[ S[S[. S[3,          ,          R,          S[! R4      3,          RS[ S[S[. S[3,          ,          R,          S[! R4      3,          RS[ S[S[,          R,          S[! R4      3,          RS[ S[R,          S[! R 4      3,          R!S[ S[S[! R"4      3,          R#S[ S[S[.S[3,          S[! R$4      3,          R%S[ S[S[! R&4      3,          R'R/# )(rc   r”  ú'An optional path prefix for the router.rH  Ná‚  
                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 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•  á
  
                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).
                rI  á*  
                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).
                rE  áo  
                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/).
                r  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.
                r7  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/).
                r`   áa  
                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/).
                rD  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).
                rG  áÜ  
                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).
                r9  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/).
                re   )r   rÍ   r   rê  r   r   r   rå  rª   rO   r  r&  r   rQ   r`   r®   rY   ri  r   rZ   )rf   r–   s   "€rg   rh   ÚAPIRouter.__annotate__ê  sƒ  ø€ ÷ ^Añ ^Añ ™#šsÐ#LÓMÐMÕNð^Añ Ù‘‘t•Õ˜tÕ#Úðó
ðõ
ð	^Añ$  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ð%^Añ< !*Ù‘�NÚðóðõ
!
ð=^AñR Ù‘‘s•™D¡¡c �NÐ*Õ+¨dÕ2Úð
óðõ
ðS^Añr Ù‘�O˜dÕ"Úðó
ðõ
ðs^AñN Ù‘�O˜dÕ"Úðó	ò ðóðõ
ðO^Añz $ÙÚðóðõ
ð{^AñL Ù�d�NÚðóðõ
ðM^Añ^ (1Ù�$�JÚðóðõ
(
ð_^Añt Ù‘�NÚðóðõ

ðu^AñJ Ù‘X˜b¡#˜gÕ&Õ'¨$Õ.Úðóð	õ
ðK^Añb Ù‘X˜b¡#˜gÕ&Õ'¨$Õ.Úðó	ð
õ
ðc^Añ@ Ù‘S�M˜DÕ Úðóð	õ
ðA^AñX Ù�4�KÚðó	ð
õ
ðY^Añr %ÙÚðó
ðõ
ðs^AñN &/Ù‘h�Z¡�_Õ%Úð	óðõ&
ðO^Añl 'ÙÚðóðõ
ðm^AðZ 
ñ[^Ari   c               ó
  <€ Vf   \        V 4      pMR\        P                  ! V4      '       d   \        V4      pM*\        P                  ! V4      '       d   \        V4      pMTpVV n        \        SV `!  VVV	VR7       V'       d=   VP                  R4      '       g   Q R4       hVP                  R4      '       d   Q R4       hVf   . M
\        V4      V n        Vf   . M
\        V4      V n        Wn        T;'       g    . V n        \        T;'       g    . 4      V n        Wðn        VV n        T;'       g    / V n        T;'       g    . V n        W n        W°n        W@n        VV n        VV n        ^ V n        . V n        R V n        R # )N)r  r  r  r   rC  ú!A path prefix must start with '/'úFA path prefix must not end with '/', as the routes will start with '/')rÖ   rö   Úisasyncgenfunctionr   ÚisgeneratorfunctionrÇ   r¼   rø  r�   rS  r¶  rê  r  r  r”  rH  rá  r`   rD  rI  rE  r7  r  r•  rG  r9  Ú_routes_versionr  Ú_frontend_routes)rœ   r”  rH  rá  r•  rI  rE  r  r  r  r7  r  r  r  r   r`   rD  rG  r9  r¼   rý  s   &$$$$$$$$$$$$$$$$$$ €rg   r�   ÚAPIRouter.__init__ê  sw  ø€ ð^ Òä.>¸tÓ.DÑÜ×'Ò'¨×1Ò1Ü2°8Ó<ÑÜ×(Ò(¨×2Ò2Ü9¸(ÓCÑà'ÐØ 0ˆÔä‰ÑØØ-ØØ%ð	 	ô 	
÷ Ø×$Ñ$ S×)Ò)ÐNÐ+NÓNÐ)Ø—‘ s×+Ò+ð ØXóÐ+ð Ò$‰B¬$¨zÓ*:ð 	Œð Ò%‰B¬4°Ó+<ð 	Ôð ŒØ&*§j j¨bˆŒ	Ü  ×!3Ð!3°Ó4ˆÔØ$ŒØ!2ˆÔØ"Ÿ˜ bˆŒØ"Ÿ˜ bˆŒØ-JÔ*Ø&ÔØ&<Ô#Ø+FˆÔ(Ø#6ˆÔ Ø ˆÔØ57ˆÔ!Ø<@ˆÖri   c                ó   <€ V ^8„  d   QhRR/# rà   r�   )rf   r–   s   "€rg   rh   r*  

  s   ø€ ÷ "ñ " dñ "ri   c                ó8   € V ;P                   ^,          un         R# )rm  N)r0  r£   s   &rg   Ú_mark_routes_changedÚAPIRouter._mark_routes_changed

  s   € Ø×Ò Õ!×ri   c                óD   <€ V ^8„  d   QhRS[ S[,          R,          RS[/# )rc   ÚseenNre   )rN  r&  )rf   r–   s   "€rg   rh   r*  
  s#   ø€ ÷ ñ ©©C­°4­ð Á3ñ ri   c                ó.  € Vf   \        4       p\        V 4      pW!9   d   V P                  # VP                  V4       V P                  pV P                   F<  p\        V\        4      '       g   K  W4P                  P                  V4      ,          pK>  	  V# r™   )	rN  rô   r0  Úaddr  re  rÿ  r  r	  )rœ   r8  Ú	router_idÚversionr÷  s   &&   rg   r	  ÚAPIRouter._get_routes_version
  s{   € ØŠ<Ü“5ˆDÜ�t“Hˆ	ØÔØ×'Ñ'Ð'Ø�‰�ÔØ×&Ñ&ˆØ—[”[ˆEÜ˜%¤×1Ô1Ø×0Ñ0×DÑDÀTÓJÕJ’ñ !ð ˆri   c                óH   <€ V ^8„  d   QhRRRS[ S[,          R,          RS[/# )rc   rØ   rÙ   r8  Nre   )rN  r&  r®   )rf   r–   s   "€rg   rh   r*  
  s-   ø€ ÷ ñ Ø!ðÙ),©S­°D­ðá	ñri   c                ó.  € Vf   \        4       p\        V 4      pW29   d   R# VP                  V4       V P                   FR  p\	        V\
        4      '       g   K  VP                  VJ d    R# VP                  P                  W4      '       g   KQ   R# 	  R# )NFT)rN  rô   r:  r  re  rÿ  r  Ú_contains_router)rœ   rØ   r8  r;  r÷  s   &&&  rg   r@  ÚAPIRouter._contains_router
  s|   € ð Š<Ü“5ˆDÜ�t“Hˆ	ØÔÙØ�‰�ÔØ—[”[ˆEÜ˜e¤_×5Ò5ÙØ×$Ñ$¨Ó.ÚØ×$Ñ$×5Ñ5°f×CÔCÚñ !ñ ri   c                ó    <€ V ^8„  d   QhRS[ RS[S[.S[S[,          S[,          3,          RS[S[ ,          R,          RS[ R,          RS[RR/# )rc   rE  rã  rJ  Nrà  rD  re   )rÍ   r   rK   r   rO   r   r®   )rf   r–   s   "€rg   rh   r*  ,
  sj   ø€ ÷ $ñ $áð$ñ ™G˜9¡i±Õ&9¹HÕ&DÐDÕEð$ñ ™C• 4Õ'ð	$ñ
 �D�jð$ñ  ð$ð 
ñ$ri   c                óP   <€ \         SV `  VVVVVR 7       V P                  4        R# )©rJ  rà  rD  N)rø  Ú	add_router5  )rœ   rE  rã  rJ  rà  rD  rý  s   &&&&&&€rg   rE  ÚAPIRouter.add_route,
  s4   ø€ ô 	‰ÑØØØØØ/ð 	ô 	
ð 	×!Ñ!Ö#ri   c                ód   <€ V ^8„  d   QhRS[ RS[S[.S[R,          3,          RS[ R,          RR/# )rc   rE  rã  Nrà  re   )rÍ   r   r_   r   )rf   r–   s   "€rg   rh   r*  =
  sG   ø€ ÷ $ñ $áð$ñ ™I˜;©	°$­Ð7Õ8ð$ñ �D�jð	$ð
 
ñ$ri   c                óJ   <€ \         SV `  WVR 7       V P                  4        R# )r  N)rø  Úadd_websocket_router5  )rœ   rE  rã  rà  rý  s   &&&&€rg   rI  ÚAPIRouter.add_websocket_route=
  s#   ø€ ô 	‰Ñ# D¸Ð#Ô>Ø×!Ñ!Ö#ri   ry  rh  rg  c                ó,  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[P                  S[,          ,          S[! R4      3,          RS[ S[R,          R,          S[! R4      3,          R	S[ S[S[R,          ,          S[! R
4      3,          RR/# )rc   rE  z`
                The URL path prefix where the frontend build should be served.
                rf  z\
                The directory containing the static frontend build output.
                ry  rh  NzX
                The fallback file behavior for missing frontend paths.
                rg  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.
                re   rz  )r   rÍ   r   r_  r`  r   r®   )rf   r–   s   "€rg   rh   r*  F
  sÐ   ø€ ÷ W$ñ W$áÙÚðóðõ
ðW$ñ Ù‘"—+‘+™cÕ"Õ"Úðóðõ
ðW$ñ& ÙÐ4Õ5¸Õ<Úðóðõ
ð'W$ñ6 Ù‘7˜6•?Õ"Úðóðõ

ð7W$ðL 
ñMW$ri   c               ól  € \        W$R7      p\        V4      pV P                  fL   \        V P                  V P
                  R7      V n        V P                  P                  V P                  4       V P                  P                  \        V P                  V4      VVVR7       V P                  4        R# )u   
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)
```
rt  N)rá  r7  rß  )ru  rU  r1  r¹  rá  r7  r  r  r  rY  r”  r5  )rœ   rE  rf  ry  rg  Únormalized_paths   &&$$$ rg   ÚfrontendÚAPIRouter.frontendF
  s£   € ôN 0Øô
ˆ	ô 3°4Ó8ˆØ× Ñ Ò(Ü$7Ø!×.Ñ.Ø.2×.PÑ.Pô%ˆDÔ!ð ×%Ñ%×,Ñ,¨T×-BÑ-BÔCØ×Ñ×0Ñ0Ü  §¡¨oÓ>ØØØð	 	1ô 	
ð 	×!Ñ!Ö#ri   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rl   rp   )rf   r–   s   "€rg   rh   r*  Ÿ
  s)   ø€ ÷ >1ñ >1™uð >1©wð >1¹dð >1Àtñ >1ri   c              ƒ  ó²  "  € VR ,          R
9   g   Q hRV9  d   WR&   VR ,          R8X  d   V P                  WV4      G Rj  x€L
  R# RpV P                   Fy  pVP                  V4      w  rgV\        P                  8X  d/   VP                  V4       VP                  WV4      G Rj  x€L
   R# V\        P                  8X  g   Kp  Ve   Kv  WW3pK{  	  Ve2   Vw  rWVP                  V4       VP                  WV4      G Rj  x€L
  R# \        V4      pVR ,          R8X  dÛ   V P                  '       dÉ   VR8w  dÂ   \        V4      p	VP                  R4      '       d   V	R,          P                  R4      V	R&   MV	R,          R,           V	R&   V P                   F`  pVP                  V	4      w  rjV\        P                  8w  g   K-  \        V	R7      p\        \!        V4      R7      pV! WV4      G Rj  x€L
   R# 	  V P#                  V4      w  ppppV\        P                  8w  d…   Ve�   \%        W4       VeV   V\'        V4      \(        &   VP*                  p\-        V\.        4      '       d"   VVR	&   VP                  WV4      G Rj  x€L
  R# VP                  WV4      G Rj  x€L
  R# V P1                  WV4      G Rj  x€L
  R#  EL… EL" ELË LÝ LI L/ L5i)rª   rÀ  r   rØ   NrC  rE  r+  r§  r÷  )rÀ  rØ  r   )r   r  rù  rR   rÇ  r"  r  rÆ  rC   r  r  r¶  r«  rú  rG   rN   rÍ   Ú_match_low_priorityr%  r  r*  rr  re  ri  r  )rœ   rm   rn   ro   r‚   r÷  rû  rü  rÈ  Úredirect_scoperð  Úredirect_urlr{   Úlow_priority_matchÚlow_priority_scopeÚlow_priority_routeÚlow_priority_contextrr  s   &&&&              rg   r~   ÚAPIRouter.appŸ
  sŽ  é € Ø�V�}Ð AÔAÐAÐAà˜5Ô Ø"�(‰Oà��=˜JÔ&Ø—-‘- °Ó5×5Ð5Ùà26ˆØ—[”[ˆEØ!&§¡¨uÓ!5ÑˆEØœŸ
™
Ô"Ø—‘˜[Ô)Ø—l‘l 5°4Ó8×8Ð8ÚØœŸ™Ö%¨'¬/Ø Ð.’ñ !ð ÒØ!(ÑˆEØ�L‰L˜Ô%Ø—,‘,˜u¨tÓ4×4Ð4Ùä# EÓ*ˆ
Ø��=˜FÔ" t×'<×'<Ð'<ÀÈsÔARÜ! %›[ˆNØ×"Ñ" 3×'Ò'Ø)7¸Õ)?×)FÑ)FÀsÓ)K�˜vÒ&à)7¸Õ)?À#Õ)E�˜vÑ&àŸœ�Ø Ÿ=™=¨Ó8‘�ØœEŸJ™JÖ&Ü#&¨^Ô#<�LÜ/´C¸Ó4EÔF�HÙ" 5°4Ó8×8Ð8Úñ %ð ×$Ñ$ UÓ+ñ	
ØØØØ à¤§¡Ô+Ð0BÒ0NÜ˜%Ô4Ø#Ò/à(ô # 5Ó)Ô*NÑOð "6×!DÑ!D�Ü˜n¬h×7Ò7Ø%3�E˜'‘NØ(×/Ñ/°ÀÓE×EÐEÙØ$×+Ñ+¨E¸DÓA×AÐAÙà�l‰l˜5¨4Ó0×0Ò0òo 6ò 9ò 5ñ  9ñ$ FáAñ 	1ùs˜   ‚?KÁKÁA%KÂ'K	Â(KÃKÃ5KÄKÄ0KÄ3BKÇ-KÇ1KÇ2BKÊKÊKÊ#KÊ$KÊ?KË KË	KËKËKËKËKËKc                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rl   rp   )rf   r–   s   "€rg   rh   r*  ß
  s)   ø€ ÷ -ñ -¡%ð -±'ð -Áð -È$ñ -ri   c              ƒ  óä   "  € \        V4      p\        V\        4      '       d-   VP                  V J d   VP	                  WV4      G R j  x€L
  R # V P                  WV4      G R j  x€L
  R #  L" L5ir™   )r0  re  rÿ  r  r8  r~   )rœ   rm   rn   ro   r  s   &&&& rg   r  ÚAPIRouter.handleß
  s`   é € Ü4°UÓ;ˆä�¬×8Ò8Ø×/Ñ/°4Ó7à!×2Ñ2°5À4ÓH×HÐHÙØ�h‰h�u tÓ,×,Ò,ñ Iá,ùs$   ‚AA0Á	A,Á
A0Á%A.Á&A0Á.A0c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ró  rô  )rf   r–   s   "€rg   rh   r*  é
  s$   ø€ ÷ ñ ™Uð ¡u©U±E¨\Õ':ñ ri   c                ó¸   € \        V4      p\        V\        4      '       d)   VP                  V J d   VP	                  V4      w  r4 pW43# \
        P                  / 3# r™   )r0  re  rÿ  r  r-  rR   rú  )rœ   rm   r  rû  rü  rð  s   &&    rg   rù  ÚAPIRouter.matchesé
  sU   € Ü4°UÓ;ˆä�¬×8Ò8Ø×/Ñ/°4Ó7à'6×'=Ñ'=¸eÓ'DÑ$ˆE  1ØÐ%Ð%Ü�z‰z˜2ˆ~Ðri   c                ó@   <€ V ^8„  d   QhRS[ S[S[,          ,          /# r    )r	   rQ   r¬  )rf   r–   s   "€rg   rh   r*  ó
  s#   ø€ ÷ Añ Aá	‘)Ñ4Õ4Õ	5ñAri   c              #  óÄ   "  € V P                    R j  x€L
  V P                   F3  p\        V\        4      '       g   K  VP	                  4        R j  x€L
  K5  	  R #  LI L5ir™   )r  r  re  rÿ  r  r¦  s   & rg   Ú_iter_low_priority_routesÚ#APIRouter._iter_low_priority_routesó
  sN   é € ð ×,Ñ,×,Ð,Ø—[”[ˆEÜ˜%¤×1Ô1Ø ×>Ñ>Ó@×@Ò@ó !ñ 	-ñ Aùs&   ‚A ’A“&A ¾A ÁAÁA ÁA c          	      ó`   <€ V ^8„  d   QhRS[ RS[S[S[ S[R,          S[R,          3,          /# r'  r)  )rf   r–   s   "€rg   rh   r*  û
  s6   ø€ ÷ 0*ñ 0*Ùð0*á	‰u‘e™Y¨Õ-Ñ/EÈÕ/LÐLÕ	Mñ0*ri   c                ó¤  € R pR pV P                  4        EFV  p\        V\        4      '       d¤   TpVP                  p\        V\        4      '       dV   \        V4      pVP                  \        \        4      pWW\        &    VP                  V4      w  rš\        V\        V4       TpMAVP                  V4      w  ršVP                  ;'       g    TpMR pVP                  V4      w  ršTpV	\        P                  8X  d-   Ve   V P                  W¢^ ,          4      '       d   W«V3pEK  EK  V	\        P                  8X  g   EK-  Ve"   V P                  W£^ ,          4      '       g   EKR  W«V3pEKY  	  Ve   Vw  r«p\        P                  W«V3# Ve   Vw  r«p\        P                  W«V3# \        P                   / R R 3#   \        T\        T4       i ; ir™   )rb  re  r¬  rr  ri  r  rª  r*  r9  rù  r;  rÃ  rR   rÇ  Ú _frontend_match_is_more_specificrÆ  rú  )rœ   rm   r  r‚   r+  r  rr  r  r,  rû  rü  r÷  s   &&          rg   rR  ÚAPIRouter._match_low_priorityû
  sÏ  € ð OSˆØQUˆØ×7Ñ7×9ˆIä˜)Ô%;×<Ò<Ø?H�Ø!*×!9Ñ!9�Ü˜n¬h×7Ò7Ü$6°uÓ$=�MØ'4×'8Ñ'8Ü<¼nó(Ð$ð KXÔ"FÑGðØ-;×-CÑ-CÀEÓ-JÑ*˜ä2Ø!Ü@Ø,ôð
 +‘Eà)2×):Ñ):¸5Ó)AÑ&�EØ%×5Ñ5×GÐG¸‘Eà $�Ø%.×%6Ñ%6°uÓ%=Ñ"�Ø!�ØœŸ
™
Ô"Ø’< 4×#HÑ#HØ a¥÷$ò $ð (°Ð>“Dò$ð œ%Ÿ-™-×'Ø’? d×&KÑ&KØ¨¥÷'õ 'ð  +°=ÐA“GñI :ðJ ÒØ04Ñ-ˆK Ü—:‘:˜{°=Ð@Ð@ØÒØ07Ñ-ˆK Ü—=‘= +°mÐCÐCÜ�z‰z˜2˜t TÐ)Ð)øô; 3Ø!Ü@Ø,õús   ÂF<Æ<Gc                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )rc   rü  Úprevious_child_scopere   rÕ  )rf   r–   s   "€rg   rh   r*  -  s%   ø€ ÷ 2ñ 2Ù ð2Ù8=ð2á	ñ2ri   c                óJ   € \        V4      p\        V4      pVe   Vf   R# W48„  # ©NF)r5  )rœ   rü  ri  r4  Úprevious_specificitys   &&&  rg   rf  Ú*APIRouter._frontend_match_is_more_specific-  s2   € ô 2°+Ó>ˆÜ:Ð;OÓPÐØÒÐ"6Ò">ÙØÑ1Ð1ri   c                ó|   <€ V ^8„  d   QhRS[ RS[S[ ,          R,          RS[ R,          RS[RS[S[.S[3,          /# )rc   rE  rJ  Nrà  rD  re   )rÍ   r   r®   r   r;   )rf   r–   s   "€rg   rh   r*  6  sY   ø€ ÷ ñ áðñ ™C• 4Õ'ðñ �D�jð	ñ
  ðñ 
Ñ$Ð%Ñ'8Ð8Õ	9ñri   c                ó*   a aaaa€ R  VVVVV 3R llpV# )c                ó0   € V ^8„  d   QhR\         R\         /# rb   ©r;   )rf   s   "rg   rh   Ú%APIRouter.route.<locals>.__annotate__=  s   € ÷ 	ñ 	Ô-ð 	Ô2Cñ 	ri   c                 ó4   <€ SP                  SV SSSR 7       V # )rD  )rE  )rd   rD  rJ  rà  rE  rœ   s   &€€€€€rg   Ú	decoratorÚ"APIRouter.route.<locals>.decorator=  s*   ø€ Ø�N‰NØØØØØ"3ð ô ð ˆKri   r�   )rœ   rE  rJ  rà  rD  rt  s   fffff rg   r÷  ÚAPIRouter.route6  s   ü€ ÷	ô 	ð Ðri   r@  r$  rA  rL  rB  rP  rJ  rC  r1  r2  r3  r4  Fr5  r6  r/  rà  Úroute_class_overriderF  c          8      óä  <€ V ^8„  d   QhRS[ RS[RS[3,          RS[RS[R,          RS[S[ S[,          ,          R,          RS[S[P                  ,          R,          R	S[ R,          R
S[ R,          RS[ RS[	S[S[ ,          S[	S[ S[3,          3,          R,          RS[
R,          RS[S[ ,          S[S[ ,          ,          R,          RS[ R,          RS[R,          RS[R,          RS[
RS[
RS[
RS[
RS[
RS[S[,          S[,          RS[ R,          RS[S[,          R,          RS[S[,          R,          RS[	S[ S[3,          R,          RS[S[.S[ 3,          S[,          RS[
S[,          RR/# )rc   rE  rã  .r@  r$  NrH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  rw  rE  rF  rG  r9  re   )rÍ   r   r   r&  rê  r   r   r   rå  r  r®   rN  r<   rª   rO   r"   ri  rQ   )rf   r–   s   "€rg   rh   r*  I  sõ  ø€ ÷ 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$ri   c          	     ó¢  € T;'       g    V P                   pT
;'       g    / p
/ V P                  CV
Cp\        VV P                  4      pV P                  P                  4       pV'       d   VP                  V4       V P                  P                  4       p V'       d   V P                  V4       V P                  P                  4       p!V'       d   V!P                  V4       \        VV P                  4      p"T! V P                  V,           3/ R VbRVbRVbRVbRV bRVbRVbRV	bRVbR	T;'       g    V P                  bR
VbRVbRVbRVbRVbRVbRVbRVbRT;'       d    V P                  bRVbRVbRV P                  bRV!bRVbRV"bR\        VV P                  4      b p#V P                  P!                  V#4       V P#                  4        R# )rã  r@  r$  rH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  r7  rE  rF  rG  r9  N)r  rI  r?   r•  rH  r"  r¾  rá  rE  rG  r”  r`   rD  r7  r9  r  r  r5  )$rœ   rE  rã  r@  r$  rH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  rw  rE  rF  rG  r9  r  Úcombined_responsesÚcurrent_response_classÚcurrent_tagsÚcurrent_dependenciesÚcurrent_callbacksr`  r÷  s$   &&&$$$$$$$$$$$$$$$$$$$$$$$$$        rg   Úadd_api_routeÚAPIRouter.add_api_routeI  s@  € ð@ +×>Ð>¨d×.>Ñ.>ˆØ—O�O ˆ	Ø< §¡Ð<°)Ð<ÐÜ!5Ø˜D×7Ñ7ó"
Ðð —y‘y—~‘~Ó'ˆßØ×Ñ Ô%Ø#×0Ñ0×5Ñ5Ó7ÐßØ ×'Ñ'¨Ô5Ø ŸN™N×/Ñ/Ó1ÐßØ×$Ñ$ YÔ/Ü%9Ø'¨×)IÑ)Ió&
Ð"ñ Ø�K‰K˜$Õò
áð
ñ *ð
ñ $ð	
ñ
 ð
ñ .ð
ñ ð
ñ $ð
ñ "6ð
ñ )ð
ð "×4Ð4 T§_¡_øð
ñ ð
ñ &ð
ñ $:ð
ñ $:ð
ñ  %<ð!
ñ" *Fð#
ñ$ -Lð%
ñ& )Dð'
ð( 0×JÐJ°D×4JÑ4Jøð)
ñ* 2ð+
ñ, ð-
ð. +/×*LÒ*Lð/
ñ0 (ð1
ñ2 (ð3
ñ4 )Cð5
ô6 !5Ø# T×%=Ñ%=ô!ð7
ˆð> 	�‰×Ñ˜5Ô!Ø×!Ñ!Ö#ri   c          4      ój  <€ V ^8„  d   QhRS[ RS[RS[R,          RS[S[ S[,          ,          R,          RS[S[P                  ,          R,          RS[ R,          RS[ R,          R	S[ R
S[S[S[ ,          S[S[ S[3,          3,          R,          RS[	R,          RS[S[ ,          R,          RS[ R,          RS[
R,          RS[
R,          RS[	RS[	RS[	RS[	RS[	RS[S[,          RS[ R,          RS[S[,          R,          RS[S[ S[3,          R,          RS[S[.S[ 3,          RS[S[.S[3,          /# )rc   rE  r@  r$  NrH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  rE  rF  rG  re   )rÍ   r   r&  rê  r   r   r   rå  r  r®   r<   rª   rO   rQ   r   ri  r;   )rf   r–   s   "€rg   rh   r*  �  s™  ø€ ÷ <ñ <áð<ñ ð	<ñ
 ˜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ñ;<ri   c               óz   a aaaaaaaaa	a
aaaaaaaaaaaaaa€ R  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3R llpV# )c                ó0   € V ^8„  d   QhR\         R\         /# rb   rq  )rf   s   "rg   rh   Ú)APIRouter.api_route.<locals>.__annotate__»  s   € ÷ 	ñ 	Ô-ð 	Ô2Cñ 	ri   c                 ó\   <€ SP                  SV SSSSSSSSSSS
SSSSSSSSSSS	SR 7       V # ))r@  r$  rH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  rE  rF  rG  )r  )rd   rE  rá  r`   rL  rG  rD  rJ  rà  rF  rC  rE  r/  rB  r@  r3  r2  r5  r6  r4  r1  rI  rœ   r$  rA  rH  s   &€€€€€€€€€€€€€€€€€€€€€€€€€rg   rt  Ú&APIRouter.api_route.<locals>.decorator»  sh   ø€ Ø×ÑØØØ-Ø'ØØ)ØØ'Ø%9Ø#Ø%ØØ)Ø'=Ø'=Ø(?Ø-IØ0OØ,GØ"3Ø-ØØ#Ø+Ø,Gð3 ô ð6 ˆKri   r�   )rœ   rE  r@  r$  rH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  rE  rF  rG  rt  s   ffddddddddddddddddddddddd rg   Ú	api_routeÚAPIRouter.api_route�  s'   ÿÿÿø€ ÷<	÷ 	÷ 	÷ 	ð 	ð< Ðri   c          
      óŠ   <€ V ^8„  d   QhRS[ RS[RS[3,          RS[ R,          RS[S[P
                  ,          R,          RR/# )rc   rE  rã  .rà  Nrá  re   rä  )rf   r–   s   "€rg   rh   r*  Û  sX   ø€ ÷ $ñ $áð$ñ ˜3¡˜8Õ$ð$ñ �D�jð	$ñ ™vŸ~™~Õ.°Õ5ð$ð 
ñ$ri   c               ó  € V P                   P                  4       pV'       d   VP                  V4       \        V P                  V,           VVVV P
                  R 7      pV P                  P                  V4       V P                  4        R# )r  N)	rá  r"  r¾  rß  r”  r7  r  r  r5  )rœ   rE  rã  rà  rá  r}  r÷  s   &&&&$  rg   Úadd_api_websocket_routeÚ!APIRouter.add_api_websocket_routeÛ  sr   € ð  $×0Ñ0×5Ñ5Ó7ÐßØ ×'Ñ'¨Ô5ä!Ø�K‰K˜$ÕØØØ-Ø*.×*LÑ*Lô
ˆð 	�‰×Ñ˜5Ô!Ø×!Ñ!Ö#ri   c          
      óð   <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[P
                  ,          R,          S[! R4      3,          RS[S[.S[3,          /# )	rc   rE  z1
                WebSocket path.
                rà  NzQ
                A name for the WebSocket. Only used internally.
                rá  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/).
                re   )r   rÍ   r   r   r   rå  r   r;   )rf   r–   s   "€rg   rh   r*  ñ  s¨   ø€ ÷ Añ AáÙÚðóðõ
ðAñ Ù�$�JÚðóðõ
ðAñ&  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ð'Añ> 
Ñ$Ð%Ñ'8Ð8Õ	9ñ?Ari   c               ó&   a aaa€ R VVVV 3R llpV# )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)
```
c                ó0   € V ^8„  d   QhR\         R\         /# rb   rq  )rf   s   "rg   rh   Ú)APIRouter.websocket.<locals>.__annotate__,  s   € ÷ 	ñ 	Ô-ð 	Ô2Cñ 	ri   c                 ó2   <€ SP                  SV SSR 7       V # ))rà  rá  )r‹  )rd   rá  rà  rE  rœ   s   &€€€€rg   rt  Ú&APIRouter.websocket.<locals>.decorator,  s&   ø€ Ø×(Ñ(Ø�d °Lð )ô ð ˆKri   r�   )rœ   rE  rà  rá  rt  s   fffd rg   rØ  ÚAPIRouter.websocketñ  s   û€ ÷v	ó 	ð Ðri   c                óR   <€ V ^8„  d   QhRS[ RS[ R,          RS[S[.S[3,          /# )rc   rE  rà  Nre   )rÍ   r   r;   )rf   r–   s   "€rg   rh   r*  4  s8   ø€ ÷ ñ ÙðÙ" T�zðá	Ñ$Ð%Ñ'8Ð8Õ	9ñri   c                ó"   a aa€ R  VVV 3R llpV# )c                ó0   € V ^8„  d   QhR\         R\         /# rb   rq  )rf   s   "rg   rh   Ú/APIRouter.websocket_route.<locals>.__annotate__7  ó   € ÷ 	ñ 	Ô-ð 	Ô2Cñ 	ri   c                 ó0   <€ SP                  SV SR 7       V # )r  )rI  )rd   rà  rE  rœ   s   &€€€rg   rt  Ú,APIRouter.websocket_route.<locals>.decorator7  s   ø€ Ø×$Ñ$ T¨4°dÐ$Ô;ØˆKri   r�   )rœ   rE  rà  rt  s   fff rg   Úwebsocket_routeÚAPIRouter.websocket_route4  s   ú€ ÷	ò 	ð Ðri   c                óª  <€ V ^8„  d   QhRS[ RS[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R4      3,          R	S[ S[S[P                  ,          R,          S[! R
4      3,          RS[ S[S[	,          S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[S[,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[.S[3,          S[! R4      3,          RR/# )rc   rØ   rÙ   zThe `APIRouter` to include.r”  r"  rH  Nr#  rá  r$  r•  r%  rI  r&  rE  r'  r`   r(  rD  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`).
                rG  r)  re   )r   r   rÍ   rê  r   r   r   rå  rª   rO   r  r&  r   rQ   r®   r   ri  )rf   r–   s   "€rg   rh   r*  =  sÕ  ø€ ÷ {
ñ {
á˜+¢sÐ+HÓ'IÐIÕJð{
ñ ™#šsÐ#LÓMÐMÕNð	{
ñ
 Ù‘‘t•Õ˜tÕ#Úðó
ðõ
ð{
ñ&  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ð'{
ñ> !*Ù‘�NÚðóðõ
!
ð?{
ñT Ù‘‘s•™D¡¡c �NÐ*Õ+¨dÕ2Úð
óðõ
ðU{
ñt Ù‘�O˜dÕ"Úðó
ðõ
ðu{
ñP Ù�4�KÚðó	ð
õ
ðQ{
ñj %ÙÚðóðõ

ðk{
ñ@ &/Ù‘h�Z¡�_Õ%Úð	óðõ&
ðA{
ð^ 
ñ_{
ri   c       	        óÊ  € WJg   Q R4       hVP                  V 4      '       d   Q R4       hV'       d>   VP                  R4      '       g   Q R4       hVP                  R4      '       d   Q R4       hM¯\        VP                  4       F–  w  r¼Vf   \        VRR4      p\        VRR	4      pMUVP                  e0   \        VP                  RR4      p\        VP                  RR	4      pMVP                  pVP                  pVf   K  V'       d   K‰  \        R
V R24      h	  \        P                  V VVVVVVVVV	V
R7      pV P                  P                  \        WR7      4       V P                  4        VP                   F  pV P!                  RV4       K  	  VP"                   F  pV P!                  RV4       K  	  \%        V P&                  VP&                  4      V n        R# )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?rC  r,  r-  NrE  rà  Úunknownz6Prefix and path cannot be both empty (path operation: Ú))r—  r  r”  rH  rá  r•  rI  rE  r`   rD  rG  r  ÚstartupÚshutdown)r@  rS  r¶  rG  r  rù   rÃ  rE  rà  r2   r…  rœ  r  rÿ  r5  r  Úadd_event_handlerr  rÔ   r¼   )rœ   rØ   r”  rH  rá  r•  rI  rE  r`   rD  rG  r÷  r  rE  rà  r²  Úhandlers   &&$$$$$$$$$      rg   Úinclude_routerÚAPIRouter.include_router=  só  € ðN Ó!ð 	
ð:ó	
Ð!ð ×*Ñ*¨4×0Ò0ð 	
ð:ó	
Ð0÷ Ø×$Ñ$ S×)Ò)ÐNÐ+NÓNÐ)Ø—‘ s×+Ò+ð ØXóÐ+Ð+ô )BÀ&Ç-Á-Ö(PÑ$�Ø Ò(Ü" 5¨&°$Ó7�DÜ" 5¨&°)Ó<‘DØ"×2Ñ2Ò>Ü" =×#@Ñ#@À&È$ÓO�DÜ" =×#@Ñ#@À&È)ÓT‘Dà(×-Ñ-�DØ(×-Ñ-�DØÔ#¯D©DÜ&ØPÐQUÐPVÐVWÐXóð ñ )Qô 0×;Ñ;ØØ"ØØØ%Ø#9ØØØ!Ø/Ø(Cð <ó 
ˆð 	�‰×ÑÜ¨FÔTô	
ð 	×!Ñ!Ô#Ø×(Ô(ˆGØ×"Ñ" 9¨gÖ6ñ )à×)Ô)ˆGØ×"Ñ" :¨wÖ7ñ *ä 7Ø×!Ñ!Ø×#Ñ#ó!
ˆÖri   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# ©1rc   rE  z§
                The URL path to be used for this *path operation*.

                For example, in `http://example.com/items`, the path is `/items`.
                r@  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/).
                r$  NaM  
                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/).
                rH  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).
                rá  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/).
                rA  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/).
                rL  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/).
                rB  z¡
                The description for the default response.

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

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

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).
                rC  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).
                r1  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).
                r2  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).
                r3  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).
                r4  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).
                r5  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).
                r6  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).
                rD  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).
                r/  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).
                rà  zW
                Name for this *path operation*. Only used internally.
                rE  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/).
                rF  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).
                rG  r)  re   ©r   rÍ   r   r   r&  rê  r   r   r   rå  r  r®   r<   rª   rO   rQ   r   ri  r;   )rf   r–   s   "€rg   rh   r*  ú  ó"  ø€ ÷ w
ñ w
áÙÚðóðõ	
ðw
ñ "ÙÚðóðõ!
ðw
ñ^ Ù�$�JÚðó	ð
õ
ð_w
ñx Ù‘‘t•Õ˜tÕ#Úðó	ð
õ
ðyw
ñR  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ðSw
ñj Ù�$�JÚðó	ð
õ
ðkw
ñD Ù�$�JÚðóðõ
ðEw
ñh (ÙÚðóðõ	
ðiw
ñ| Ù‘‘s•™D¡¡c �NÐ*Õ+¨dÕ2Úðóðõ	
ð}w
ñP Ù�4�KÚðóðõ	
ðQw
ñd  Ù�$�JÚðóðõ
ðew
ñL !*Ù�D�LÚðóð	õ!
ðMw
ñd !*Ù�D�LÚðóð	õ!
ðew
ñ| "+ÙÚðóð	õ"
ð}w
ñT '0ÙÚðóðõ'
ðUw
ñx *3ÙÚðóðõ*
ðyw
ñZ &/ÙÚðóðõ&
ð[w
ñ| %ÙÚðó	ð
õ
ð}w
ñV "Ù‘�NÚðó	ð
õ
ðWw
ñp Ù�$�JÚðóðõ
ðqw
ñ@	 Ù‘�O˜dÕ"Úð
óðõ
ðA	w
ñ`	 !Ù‘‘c��N˜TÕ!Úðóð	õ
ða	w
ñx	 &/Ù‘h�Z¡�_Õ%Úð	óðõ&
ðy	w
ñV
 
Ñ$Ð%Ñ'8Ð8Õ	9ñW
w
ri   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )a  
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)
```
rS  ©rE  r@  r$  rH  rá  rA  rL  rB  rI  r`   rJ  rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  rE  rF  rG  ©r‡  ©rœ   rE  r@  r$  rH  rá  rA  rL  rB  rI  r`   rC  r1  r2  r3  r4  r5  r6  rD  r/  rà  rE  rF  rG  s   &&$$$$$$$$$$$$$$$$$$$$$$rg   rª  ÚAPIRouter.getú  se   € ð|
 �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�GØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
ri   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# r¨  r©  )rf   r–   s   "€rg   rh   r*  s  ó"  ø€ ÷ |
ñ |
áÙÚðóðõ	
ð|
ñ "ÙÚðóðõ!
ð|
ñ^ Ù�$�JÚðó	ð
õ
ð_|
ñx Ù‘‘t•Õ˜tÕ#Úðó	ð
õ
ðy|
ñR  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ðS|
ñj Ù�$�JÚðó	ð
õ
ðk|
ñD Ù�$�JÚðóðõ
ðE|
ñh (ÙÚðóðõ	
ði|
ñ| Ù‘‘s•™D¡¡c �NÐ*Õ+¨dÕ2Úðóðõ	
ð}|
ñP Ù�4�KÚðóðõ	
ðQ|
ñd  Ù�$�JÚðóðõ
ðe|
ñL !*Ù�D�LÚðóð	õ!
ðM|
ñd !*Ù�D�LÚðóð	õ!
ðe|
ñ| "+ÙÚðóð	õ"
ð}|
ñT '0ÙÚðóðõ'
ðU|
ñx *3ÙÚðóðõ*
ðy|
ñZ &/ÙÚðóðõ&
ð[|
ñ| %ÙÚðó	ð
õ
ð}|
ñV "Ù‘�NÚðó	ð
õ
ðW|
ñp Ù�$�JÚðóðõ
ðq|
ñ@	 Ù‘�O˜dÕ"Úð
óðõ
ðA	|
ñ`	 !Ù‘‘c��N˜TÕ!Úðóð	õ
ða	|
ñx	 &/Ù‘h�Z¡�_Õ%Úð	óðõ&
ðy	|
ñV
 
Ñ$Ð%Ñ'8Ð8Õ	9ñW
|
ri   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )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   &&$$$$$$$$$$$$$$$$$$$$$$rg   ÚputÚAPIRouter.puts  se   € ðF �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�GØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
ri   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# r¨  r©  )rf   r–   s   "€rg   rh   r*  ñ  r±  ri   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )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   &&$$$$$$$$$$$$$$$$$$$$$$rg   ÚpostÚAPIRouter.postñ  óe   € ðF �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�HØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
ri   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# r¨  r©  )rf   r–   s   "€rg   rh   r*  o  rª  ri   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )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   &&$$$$$$$$$$$$$$$$$$$$$$rg   ÚdeleteÚAPIRouter.deleteo  se   € ð|
 �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�JØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
ri   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# r¨  r©  )rf   r–   s   "€rg   rh   r*  è  rª  ri   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )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   &&$$$$$$$$$$$$$$$$$$$$$$rg   ÚoptionsÚAPIRouter.optionsè  se   € ð|
 �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�KØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
ri   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# r¨  r©  )rf   r–   s   "€rg   rh   r*  a  r±  ri   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )a°  
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   &&$$$$$$$$$$$$$$$$$$$$$$rg   ÚheadÚAPIRouter.heada  r»  ri   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# r¨  r©  )rf   r–   s   "€rg   rh   r*  ß  r±  ri   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )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   &&$$$$$$$$$$$$$$$$$$$$$$rg   ÚpatchÚAPIRouter.patchß  óe   € ðF �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�IØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
ri   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# r¨  r©  )rf   r–   s   "€rg   rh   r*  ]  r±  ri   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )at  
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   &&$$$$$$$$$$$$$$$$$$$$$$rg   ÚtraceÚAPIRouter.trace]  rÏ  ri   c                ó   <€ V ^8„  d   QhRR/# rà   r�   )rf   r–   s   "€rg   rh   r*  Ü  s   ø€ ÷ ñ  ñ ri   c              ƒ  óŠ   "  € V P                    F,  p\        V4      '       d   V! 4       G Rj  x€L
  K%  V! 4        K.  	  R#  L5i)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  rD   ©rœ   r¤  s   & rg   râ   ÚAPIRouter._startupÜ  s1   é € ð —”ˆGÜ  ×)Ò)Ù“i—’á–	ó	 'áùó   ‚+A­A®Ac                ó   <€ V ^8„  d   QhRR/# rà   r�   )rf   r–   s   "€rg   rh   r*  ì  s   ø€ ÷ ñ  ñ ri   c              ƒ  óŠ   "  € V P                    F,  p\        V4      '       d   V! 4       G Rj  x€L
  K%  V! 4        K.  	  R#  L5i)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  rD   r×  s   & rg   ré   ÚAPIRouter._shutdownì  s3   é € ð ×'Ô'ˆGÜ  ×)Ò)Ù“i—’á–	ó	 (áùrÙ  c                ó>   <€ V ^8„  d   QhRS[ RS[. S[3,          RR/# )rc   Ú
event_typerd   re   N)rÍ   r   r   )rf   r–   s   "€rg   rh   r*  ü  s2   ø€ ÷ *ñ *áð*ñ �r™3�wÕð*ð 
ñ	*ri   c                ó–   € VR9   g   Q hVR8X  d   V P                   P                  V4       R# V P                  P                  V4       R# )zá
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
r¡  N)r¡  r¢  )r  r  r  )rœ   rÞ  rd   s   &&&rg   r£  ÚAPIRouter.add_event_handlerü  sA   € ð Ð4Ô4Ð4Ð4Ø˜Ô"Ø�O‰O×"Ñ" 4Ö(à×Ñ×#Ñ# DÖ)ri   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/).
        c                ó`   <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[S[.S[3,          /# )rc   rÞ  zM
                The type of event. `startup` or `shutdown`.
                re   )r   rÍ   r   r   r;   )rf   r–   s   "€rg   rh   r*    sH   ø€ ÷ ñ áÙÚðóðõ
ðñ 
Ñ$Ð%Ñ'8Ð8Õ	9ñri   c                ó   a a€ R VV 3R llpV# )zô
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).
c                ó0   € V ^8„  d   QhR\         R\         /# rb   rq  )rf   s   "rg   rh   Ú(APIRouter.on_event.<locals>.__annotate__+  r˜  ri   c                 ó,   <€ SP                  SV 4       V # r™   )r£  )rd   rÞ  rœ   s   &€€rg   rt  Ú%APIRouter.on_event.<locals>.decorator+  s   ø€ Ø×"Ñ" :¨tÔ4ØˆKri   r�   )rœ   rÞ  rt  s   ff rg   Úon_eventÚAPIRouter.on_event  s   ù€ ÷8	ñ 	ð Ðri   )r1  r  r0  rE  r•  rá  r7  r`   rG  rD  r¼   r  r  r”  rI  r  r9  rH  r™   )NNT)-r³   r´   rµ   r¶   r·   r!   rL   ri  r>   r�   r5  r	  r@  rE  rI  rN  r~   r  rù  rb  rR  rf  r÷  r  r‡  r‹  rØ  r›  r¥  rª  r´  r¹  r¿  rÄ  rÈ  rÍ  rÓ  râ   ré   r£  r`   rç  r¸   r¹   rÿ  r   s   @@rg   rÙ   rÙ   Ï  sÍ  ù‡ € ñð4^Að RTð^Að" ð#^Að: ð;^AñP �LÓ!ðQ^Aðp ðq^AðL ðM^Aðx ðy^AðJ ðK^Að\ ð]^Aðr ðs^AðH ðI^Að` ða^Aðz ð{^AðV ðW^Aðp ðq^AðL ðM^Añj Ð&Ó'ðk^AñX �D‹M÷Y^Aõ ^A÷@	"ð "÷ò ÷ò ÷$$õ $÷"$õ $ðW$ð4 ð5W$ðJ ÷KW$ò W$÷r>1ð >1÷@-ð -÷ð ÷Að A÷0*ð 0*÷d2ð 2÷ò ð&R$ñ
 & d›mðR$ð #'ðR$ð )-ðR$ð 9=ðR$ð #ðR$ð #'ðR$ð %:ðR$ð =AðR$ð #'ðR$ð 04ðR$ð $(ðR$ð  04ð!R$ð" 04ð#R$ð$ )-ð%R$ð& .3ð'R$ð( 16ð)R$ð* -2ð+R$ð, #'ð-R$ñ. ?FÀlÓ>Sð/R$ð0  ð1R$ð2 7;ð3R$ð4 -1ð5R$ð6 04ð7R$ñ:  'Ð'9Ó:ð;R$ñ< :AÀ»÷=R$ò R$ðh<ñ & d›mð	<ð
 #'ð<ð )-ð<ð 9=ð<ð #ð<ð #'ð<ð %:ð<ð =Að<ð #'ð<ð %)ð<ð $(ð<ð 04ð<ð  04ð!<ð" )-ð#<ð$ .3ð%<ð& 16ð'<ð( -2ð)<ð* #'ð+<ñ, *1°Ó)>ð-<ð.  ð/<ð0 -1ð1<ð2 04ð3<ñ4 BIØóB
÷5<ò <ñ|$ð 9=÷$ó $ñ,Að< ÷=Aó A÷Fò ð{
ð RTð	{
ð$ ð%{
ð< ð={
ñR �LÓ!ðS{
ðr ðs{
ðN ðO{
ðh ði{
ð~ ð{
ñ\ Ð&Ó'÷]{
ò {
ðzw
ñ\ �D‹Mð]w
ðv ðww
ðP ðQw
ðh ðiw
ðB ðCw
ðf ðgw
ðz "ð{w
ðN ðOw
ðb ðcw
ðJ ðKw
ðb ðcw
ðz ð{w
ðR ðSw
ðv ðww
ðX ðYw
ðz ð{w
ðT ðUw
ñn �LÓ!ðow
ð~ ðw
ð^	 ð_	w
ðv	 ðw	w
ñT
 Ð&Ó'÷U
w
ò w
ðr|
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
ð||
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
ð|w
ñ\ �D‹Mð]w
ðv ðww
ðP ðQw
ðh ðiw
ðB ðCw
ðf ðgw
ðz "ð{w
ðN ðOw
ðb ðcw
ðJ ðKw
ðb ðcw
ðz ð{w
ðR ðSw
ðv ðww
ðX ðYw
ðz ð{w
ðT ðUw
ñn �LÓ!ðow
ð~ ðw
ð^	 ð_	w
ðv	 ðw	w
ñT
 Ð&Ó'÷U
w
ò w
ðrw
ñ\ �D‹Mð]w
ðv ðww
ðP ðQw
ðh ðiw
ðB ðCw
ðf ðgw
ðz "ð{w
ðN ðOw
ðb ðcw
ðJ ðKw
ðb ðcw
ðz ð{w
ðR ðSw
ðv ðww
ðX ðYw
ðz ð{w
ðT ðUw
ñn �LÓ!ðow
ð~ ðw
ð^	 ð_	w
ðv	 ðw	w
ñT
 Ð&Ó'÷U
w
ò w
ðr|
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
ð||
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
ð||
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
÷~ð ÷ ð ÷ *ð *ñ& ð	ó÷ó÷ð ri   rÙ   c                ó®   € V ^8„  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   ^\         9   d   \        \
        R,          ,          ;R&   # )rc   rõ   Nrq  )Ú__conditional_annotations__r  r&  r1   r   r   )rf   s   "rg   rh   rh      sG   € × Ñ ÷d 9Ò 8œœc¤?Ð2Õ3Ñ 8ñe ÷Xò œj¬¨t­Õ4ñ òY ri   rk  )Ãrê  rÄ   r"  Úemail.messager±  r¹  r�   rö   rH  r_  r‹  rB  r¬   rr  Ú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   ry  Ú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.typesr;   r<   Úfastapi.utilsr=   r>   r?   r@   Ú	starletterA   Ústarlette._exception_handlerrB   Ústarlette._utilsrC   rD   Ústarlette.concurrencyrE   rF   Ústarlette.datastructuresrG   rH   rI   Ústarlette.exceptionsrJ   Ústarlette.requestsrK   Ústarlette.responsesrL   rM   rN   rO   rP   Ústarlette.routingrQ   rR   rS   rT   rU   rV   Ústarlette.staticfilesrW   Ústarlette.typesrX   rY   rZ   r[   r\   r]   Ústarlette.websocketsr_   Útyping_extensionsr`   rƒ   r�   r‘   r“   rÇ   rÔ   rÖ   rõ   r   r  r"  r,  rÔ  rÝ  r!  rß  r  r*  r—  r3  r/  rq  rç   r9  r
  rî  r  r  r%  r,  r0  r5  r;  r=  rg  r   ri  r…  r¬  rÚ  rÿ  rI  rL  rG  rU  rY  r]  rd  ru  rw  rÓ  r¯  rÚ  r¹  r$  rÙ   rh   )rê  s   @rg   Ú<module>r	     sÔ  øðß Ð Û Û Û Û Û Û Û 	Û Û Û Û ÷
÷ 
õ 
÷ó õ #ß (ß ÷÷ ó Ý Ý )Ý ÷ñ ÷
 ?÷ó ÷
÷ 
õ 
õ .÷õ ÷õ ÷ 3÷ó õ Ý Eß >ß Jß ;Ñ ;Ý .Ý &÷õ ÷õ õ -Ý -ß L× LÝ *Ý (õ
'õXñ0 ˆTƒ]€ôAÐ:¸2Õ>ô Aõ.õ"÷"ñ ð2 79Ð Ó 8õð.(2à#ð(2ð !ð	(2ð
 !ð(2ð ð(2ð  ð(2ð #ð(2ð ð(2ð ð(2ð ,0ð(2ð ÷(2õV
Aõð( %)Ø"Ù:AÀ,Ó:OØ(,Ø+/Ø+/Ø$(Ø).Ø,1Ø(-Ø04Ø#Ù5<¸T³]Ø+/Ø ÷!B÷J"ôJ$"˜×.Ò.ô $"ðN Ð Ø'@Ð $Ø,Ð Ø$:Ð !Ø0Ð Ù7AØ%¨tô8Ð ó ñ “€õ	õ5ô"�Xô õõ>õWõOõõ&ô(�Hô (ðVb'ñ
 " $›-ðb'ð #ðb'ð %)ðb'ð 59ðb'ð ðb'ð #ðb'ð !6ðb'ð 9=ðb'ð #ðb'ð ðb'ð ,0ðb'ð   $ð!b'ð" ,0ð#b'ð$ ,0ð%b'ð& %)ð'b'ð( */ð)b'ð* -2ð+b'ð, ).ð-b'ð. #ð/b'ñ0 ;BÀ,Ó:Oð1b'ð2 15ð3b'ð4 )-ð5b'ð6 ,0ð7b'ñ8 NUØóNð9b'ñ> 6=¸T³]ð?b'ð@ $(÷Ab'ôJ[3ˆw�}Š}ô [3ð| ÷U(ð U(ó ðU(ðp ÷g3ð g3ó ðg3ñT �$Ô÷%4ð %4ó ð%4ðP ôg6�ió g6ó ðg6õTõBõõõõõ-õô$v
˜;ô v
õr
õ"ô5.�Yô 5.ôpUL˜)ô ULôp`A�—’ö `Ari   