+
    NV-j0  ã                  ó  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHtHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHtHt  ^ RIt ! R R	]4      t ! R
 R]4      t]P,                  ! R4      t ! R R4      t ! R R]4      tR#   ] d    Rt LJi ; i)é    )ÚannotationsN)ÚCallable)ÚAnyÚ
NamedTuple)ÚRequest)ÚResponse)Ú	BaseRouteÚHostÚMountÚRoutec                  ó&   € ] tR t^tRtR R ltRtR# )ÚOpenAPIResponsezapplication/vnd.oai.openapic               ó    € V ^8„  d   QhRRRR/# )é   Úcontentr   ÚreturnÚbytes© )Úformats   "Úb/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/starlette/schemas.pyÚ__annotate__ÚOpenAPIResponse.__annotate__   s   € ÷ Lñ L˜cð L eñ Ló    c                	ó¨   € \         f   Q R4       h\        V\        4      '       g   Q R4       h\         P                  ! VRR7      P	                  R4      # )Nz2`pyyaml` must be installed to use OpenAPIResponse.z<The schema passed to OpenAPIResponse should be a dictionary.F)Údefault_flow_stylezutf-8)ÚyamlÚ
isinstanceÚdictÚdumpÚencode)Úselfr   s   &&r   ÚrenderÚOpenAPIResponse.render   sI   € ÜÒÐUÐ!UÓUÐÜ˜'¤4×(Ò(ÐhÐ*hÓhÐ(Ü�yŠy˜°UÔ;×BÑBÀ7ÓKÐKr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
media_typer"   Ú__static_attributes__r   r   r   r   r      s   † Ø.€J÷Lñ Lr   r   c                  ó6   € ] tR t^t$ R]R&   R]R&   R]R&   RtR# )ÚEndpointInfoÚstrÚpathÚhttp_methodúCallable[..., Any]Úfuncr   N)r$   r%   r&   r'   Ú__annotations__r)   r   r   r   r+   r+      s   ‡ Ø
ƒIØÓØ
×r   r+   z:\w+}c                  óR   € ] tR t^$tR R ltR R ltR R ltR R ltR	 R
 ltRt	R# )ÚBaseSchemaGeneratorc               ó    € V ^8„  d   QhRRRR/# ©r   Úroutesúlist[BaseRoute]r   údict[str, Any]r   )r   s   "r   r   Ú BaseSchemaGenerator.__annotate__%   s   € ÷ $ñ $ ð $°^ñ $r   c                	ó   € \        4       h©N)ÚNotImplementedError)r!   r6   s   &&r   Ú
get_schemaÚBaseSchemaGenerator.get_schema%   s   € Ü!Ó#Ð#r   c               ó    € V ^8„  d   QhRRRR/# )r   r6   r7   r   zlist[EndpointInfo]r   )r   s   "r   r   r9   (   s   € ÷ /ñ / Oð /Ð8Jñ /r   c           
     óº  € . pV EFL  p\        V\        \        ,          4      '       d¸   VP                  ;'       g    . p\        V\        4      '       d   V P	                  VP
                  4      pMRpV P                  V4       Uu. uF?  p\        RP                  WEP
                  34      VP                  VP                  R7      NKA  	  ppVP                  V4       KÜ  \        V\        4      '       d   VP                  '       g   EK  \        P                  ! VP                   4      '       g'   \        P"                  ! VP                   4      '       dy   V P	                  VP
                  4      pVP$                  ;'       g    R. F?  pVR8X  d   K  VP'                  \        WGP)                  4       VP                   4      4       KA  	  EKË  V P	                  VP
                  4      pR F`  p\+        VP                   V4      '       g   K!  \-        VP                   V4      pVP'                  \        WGP)                  4       V4      4       Kb  	  EKO  	  V# u upi )zÊ
Given the routes, yields the following information:

- path
    eg: /users/
- http_method
    one of 'get', 'post', 'put', 'patch', 'delete', 'options'
- func
    method ready to extract the docstring
Ú )r-   r.   r0   ÚGETÚHEAD)ÚgetÚpostÚputÚpatchÚdeleteÚoptions)r   r   r
   r6   Ú_remove_converterr-   Úget_endpointsr+   Újoinr.   r0   Úextendr   Úinclude_in_schemaÚinspectÚ
isfunctionÚendpointÚismethodÚmethodsÚappendÚlowerÚhasattrÚgetattr)	r!   r6   Úendpoints_infoÚrouter-   Úsub_endpointÚsub_endpointsÚmethodr0   s	   &&       r   rK   Ú!BaseSchemaGenerator.get_endpoints(   sÕ  € ð .0ˆäˆEÜ˜%¤¬¥×.Ò.ØŸ™×+Ð+¨�Ü˜e¤U×+Ò+Ø×1Ñ1°%·*±*Ó=‘Dà�Dð )-×(:Ñ(:¸6Ô(Bó!ñ )C˜ô !ØŸW™W d×,=Ñ,=Ð%>Ó?Ø$0×$<Ñ$<Ø)×.Ñ.÷ñ
 )Cð ð !ð ×%Ñ% mÖ4ä ¤u×-Ò-°U×5L×5LÐ5LÚä×#Ò# E§N¡N×3Ò3´w×7GÒ7GÈÏÉ×7WÒ7WØ×-Ñ-¨e¯j©jÓ9�Ø#Ÿm™m×6Ð6°¨wÒ6�FØ Ô'Ù Ø"×)Ñ)¬,°t¿\¹\»^ÈUÏ^É^Ó*\Ö]ô 7ð
 ×-Ñ-¨e¯j©jÓ9�ÛR�FÜ" 5§>¡>°6×:Ò:Ù Ü" 5§>¡>°6Ó:�DØ"×)Ñ)¬,°t¿\¹\»^ÈTÓ*RÖSô	 Sñ9 ðD Ðùò7!s   ÂAIc               ó    € V ^8„  d   QhRRRR/# )r   r-   r,   r   r   )r   s   "r   r   r9   Y   s   € ÷ 8ñ 8 cð 8¨cñ 8r   c                ó.   € \         P                  RV4      # )zÄ
Remove the converter from the path.
For example, a route like this:
    Route("/users/{id:int}", endpoint=get_user, methods=["GET"])
Should be represented as `/users/{id}` in the OpenAPI schema.
Ú})Ú_remove_converter_patternÚsub)r!   r-   s   &&r   rJ   Ú%BaseSchemaGenerator._remove_converterY   s   € ô )×,Ñ,¨S°$Ó7Ð7r   c               ó    € V ^8„  d   QhRRRR/# )r   Úfunc_or_methodr/   r   r8   r   )r   s   "r   r   r9   b   s   € ÷ ñ Ð.@ð À^ñ r   c                óÜ   € VP                   pV'       g   / # \        f   Q R4       hVP                  R4      R,          p\        P                  ! V4      p\	        V\
        4      '       g   / # V# )zP
Given a function, parse the docstring as YAML and return a dictionary of info.
z2`pyyaml` must be installed to use parse_docstring.z---éÿÿÿÿ)Ú__doc__r   ÚsplitÚ	safe_loadr   r   )r!   re   Ú	docstringÚparseds   &&  r   Úparse_docstringÚ#BaseSchemaGenerator.parse_docstringb   se   € ð #×*Ñ*ˆ	ßØˆIäÒÐUÐ!UÓUÐð
 —O‘O EÓ*¨2Õ.ˆ	ä—’ 	Ó*ˆä˜&¤$×'Ò'ð ˆIàˆr   c               ó    € V ^8„  d   QhRRRR/# )r   Úrequestr   r   r   r   )r   s   "r   r   r9   z   s   € ÷ 'ñ ' wð '°8ñ 'r   c                	óh   € VP                   P                  pV P                  VR 7      p\        V4      # ))r6   )Úappr6   r=   r   )r!   rp   r6   Úschemas   &&  r   r   Ú#BaseSchemaGenerator.OpenAPIResponsez   s,   € Ø—‘×#Ñ#ˆØ—‘¨�Ó/ˆÜ˜vÓ&Ð&r   r   N)
r$   r%   r&   r'   r=   rK   rJ   rm   r   r)   r   r   r   r3   r3   $   s!   † õ$õ/õb8õ÷0'ñ 'r   r3   c                  ó.   € ] tR t^€tR R ltR R ltRtR# )ÚSchemaGeneratorc               ó    € V ^8„  d   QhRRRR/# )r   Úbase_schemar8   r   ÚNoner   )r   s   "r   r   ÚSchemaGenerator.__annotate__�   s   € ÷ 'ñ ' Nð '°tñ 'r   c                	ó   € Wn         R # r;   ©rx   )r!   rx   s   &&r   Ú__init__ÚSchemaGenerator.__init__�   s   € Ø&Ör   c               ó    € V ^8„  d   QhRRRR/# r5   r   )r   s   "r   r   rz   „   s   € ÷ ñ  ð °^ñ r   c                	óz  € \        V P                  4      pVP                  R / 4       V P                  V4      pV F|  pV P	                  VP
                  4      pV'       g   K(  VP                  VR ,          9  d   / VR ,          VP                  &   WRR ,          VP                  ,          VP                  &   K~  	  V# )Úpaths)r   rx   Ú
setdefaultrK   rm   r0   r-   r.   )r!   r6   rs   rX   rQ   rl   s   &&    r   r=   ÚSchemaGenerator.get_schema„   sš   € Ü�d×&Ñ&Ó'ˆØ×Ñ˜' 2Ô&Ø×+Ñ+¨FÓ3ˆã&ˆHØ×)Ñ)¨(¯-©-Ó8ˆFçÙà�}‰} F¨7¥OÔ3Ø13��w• §¡Ñ.àCI�7�O˜HŸM™MÕ*¨8×+?Ñ+?Ó@ñ 'ð ˆr   r|   N)r$   r%   r&   r'   r}   r=   r)   r   r   r   rv   rv   €   s   † õ'÷ñ r   rv   )Ú
__future__r   rO   ÚreÚcollections.abcr   Útypingr   r   Ústarlette.requestsr   Ústarlette.responsesr   Ústarlette.routingr	   r
   r   r   r   ÚModuleNotFoundErrorr   r+   Úcompilera   r3   rv   r   r   r   Ú<module>r�      s„   ðÝ "ã Û 	Ý $ß "å &Ý (ß ;Ó ;ðÛô
L�hô Lô�:ô ð ŸJšJ xÓ0Ð ÷Y'ñ Y'ôxÐ)ö øðe ô Ø‚Dðús   ¶A9 Á9	BÂB