+
    Nj                    f   ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^RI
Ht ^RI
Ht ^R	I
Ht ^R
I
Ht ^RIHt ^RIHt ^RIHt ]P(                  '       d   ^RIHt ^RIHt ^RIHt R R lt ! R R]4      t ! R R]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# )#    )annotationsN)
BaseLoader)Environment)Template)TemplateNotFound)_cv_app)_cv_request)current_app)request)stream_with_context)before_render_template)template_rendered)Flask)App)Scaffoldc                   V ^8  d   QhRR/# )   returndict[str, t.Any] )formats   "R/data/cameron/venvs/serve_omidlab/lib/python3.14/site-packages/flask/templating.py__annotate__r      s      )9     c                     \         P                  ! R4      p \        P                  ! R4      p/ pV e   V P                  VR&   Ve   VP                  VR&   V# )zDefault template context processor.  Replaces the ``request`` and ``g``
proxies with their concrete objects for faster access.
Ngr   )r   getr	   r   r   )appctxreqctxrvs      r   _default_template_ctx_processorr!      sR     [[F__T"FB((39 Ir   c                  &    ] tR t^(tRtR R ltRtR# )r   zWorks like a regular Jinja environment but has some additional
knowledge of how Flask's blueprint works so that it can prepend the
name of the blueprint to referenced templates if necessary.
c               $    V ^8  d   QhRRRRRR/# )r   appr   optionst.Anyr   Noner   )r   s   "r   r   Environment.__annotate__.   s!      C E d r   c                	t    R V9  d   VP                  4       VR &   \        P                  ! V 3/ VB  Wn        R# )loaderN)create_global_jinja_loaderBaseEnvironment__init__r$   )selfr$   r%   s   &&,r   r-   Environment.__init__.   s5    7" # > > @GH  11r   r$   N)__name__
__module____qualname____firstlineno____doc__r-   __static_attributes__r   r   r   r   r   (   s    
 r   r   c                  b    ] tR t^5tR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tR# )DispatchingJinjaLoaderzTA loader that looks for templates in the application and all
the blueprint folders.
c                    V ^8  d   QhRRRR/# )r   r$   r   r   r'   r   )r   s   "r   r   #DispatchingJinjaLoader.__annotate__:   s      C D r   c                	    Wn         R # Nr0   )r.   r$   s   &&r   r-   DispatchingJinjaLoader.__init__:   s    r   c               $    V ^8  d   QhRRRRRR/# r   environmentr,   templatestrr   z3tuple[str, str | None, t.Callable[[], bool] | None]r   )r   s   "r   r   r:   =   s$     < <*<69<	<<r   c                	    V P                   P                  R ,          '       d   V P                  W4      # V P                  W4      # )EXPLAIN_TEMPLATE_LOADING)r$   config_get_source_explained_get_source_fast)r.   r@   rA   s   &&&r   
get_source!DispatchingJinjaLoader.get_source=   s:     88??566--kDD$$[;;r   c               $    V ^8  d   QhRRRRRR/# r?   r   )r   s   "r   r   r:   D   s$     ) )*)69)	<)r   c                	   . pR pV P                  V4       F0  w  rV VP                  W4      pVf   TpTP                  YeT34       K2  	  ^RIHp V! V P                  W#4       Ve   V# \        V4      h  \         d    R p LPi ; i)N)!explain_template_loading_attempts)_iter_loadersrH   r   appenddebughelpersrL   r$   )	r.   r@   rA   attemptstrvsrcobjr*   r    rL   s	   &&&      r   rF   ,DispatchingJinjaLoader._get_source_explainedD   s     LP"00:NF&&{=;C OOVR01 ; 	D)$((HG?Jx(( $ s   A44BBc               $    V ^8  d   QhRRRRRR/# r?   r   )r   s   "r   r   r:   \   s$     ) )*)69)	<)r   c                	    V P                  V4       F  w  r4 VP                  W4      u # 	  \        V4      h  \         d     K4  i ; ir<   )rM   rH   r   )r.   r@   rA   _srcobjr*   s   &&&  r   rG   'DispatchingJinjaLoader._get_source_fast\   sR      $11(;OG((??  <
 x(( $ s   8AAc                    V ^8  d   QhRRRR/# )r   rA   rB   r   z't.Iterator[tuple[Scaffold, BaseLoader]]r   )r   s   "r   r   r:   f   s     ( (c (.U (r   c              #  	   "   V P                   P                  pVe   V P                   V3x  V P                   P                  4        F  pVP                  pVf   K  W23x  K  	  R # 5ir<   )r$   jinja_loaderiter_blueprints)r.   rA   r*   	blueprints   &&  r   rM   $DispatchingJinjaLoader._iter_loadersf   sZ     &&((F""113I++F!'' 4s   AA'A'c                   V ^8  d   QhRR/# )r   r   z	list[str]r   )r   s   "r   r   r:   p   s      	 r   c                	T   \        4       pV P                  P                  pVe    VP                  VP	                  4       4       V P                  P                  4        F=  pVP                  pVf   K  VP	                  4        F  pVP                  V4       K  	  K?  	  \        V4      # r<   )setr$   rZ   updatelist_templatesr[   addlist)r.   resultr*   r\   rA   s   &    r   rb   %DispatchingJinjaLoader.list_templatesp   s    &&MM&//12113I++F! & 5 5 7HJJx( !8 4 F|r   r0   N)r1   r2   r3   r4   r5   r-   rH   rF   rG   rM   rb   r6   r   r   r   r8   r8   5   s*    <)0)( r   r8   c               (    V ^8  d   QhRRRRRRRR/# )	r   r$   r   rA   r   contextr   r   rB   r   )r   s   "r   r   r      s)     	 	 	( 	5E 	# 	r   c                    V P                  V4       \        P                  ! W P                  WR 7       VP	                  V4      p\
        P                  ! W P                  WR 7       V# )_async_wrapperrA   rh   )update_template_contextr   sendensure_syncrenderr   )r$   rA   rh   r    s   &&& r   _renderrp      sU    (OOh 
	!BOOh Ir   c               $    V ^8  d   QhRRRRRR/# )r   template_name_or_list%str | Template | list[str | Template]rh   r&   r   rB   r   )r   s   "r   r   r      s&     + +@++ 	+r   c                z    \         P                  ! 4       pVP                  P                  V 4      p\	        W#V4      # )zRender a template by name with the given context.

:param template_name_or_list: The name of the template to render. If
    a list is given, the first name to exist will be rendered.
:param context: The variables to make available in the template.
)r
   _get_current_object	jinja_envget_or_select_templaterp   rr   rh   r$   rA   s   &,  r   render_templatery      s4     
)
)
+C}}334IJH3'**r   c               $    V ^8  d   QhRRRRRR/# )r   sourcerB   rh   r&   r   r   )r   s   "r   r   r      s!     	+ 	+3 	+5 	+S 	+r   c                z    \         P                  ! 4       pVP                  P                  V 4      p\	        W#V4      # )zRender a template from the given source string with the given
context.

:param source: The source code of the template to render.
:param context: The variables to make available in the template.
)r
   ru   rv   from_stringrp   r{   rh   r$   rA   s   &,  r   render_template_stringr      s3     
)
)
+C}}((0H3'**r   c               (    V ^8  d   QhRRRRRRRR/# )	r   r$   r   rA   r   rh   r   r   t.Iterator[str]r   )r   s   "r   r   r      s,      	"-=r   c                   a aa S P                  S4       \        P                  ! S S P                  SSR 7       R V VV3R llpV! 4       p\        '       d   \        V4      pV# )rj   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   _stream.<locals>.__annotate__   s     
 
o 
r   c               3     <"   SP                  S4       R j  xL
  \        P                  ! S S P                  SSR7       R #  L*5i)Nrj   )generater   rm   rn   )r$   rh   rA   s   r   r   _stream.<locals>.generate   s:     $$W---(G	
 	.s   AA+A)rl   r   rm   rn   r   r   )r$   rA   rh   r   r    s   fff  r   _streamr      sW     (COOh
 
 
B w $Ir   c               $    V ^8  d   QhRRRRRR/# )r   rr   rs   rh   r&   r   r   r   )r   s   "r   r   r      s&     + +@++ +r   c                z    \         P                  ! 4       pVP                  P                  V 4      p\	        W#V4      # )aw  Render a template by name with the given context as a stream.
This returns an iterator of strings, which can be used as a
streaming response from a view.

:param template_name_or_list: The name of the template to render. If
    a list is given, the first name to exist will be rendered.
:param context: The variables to make available in the template.

.. versionadded:: 2.2
)r
   ru   rv   rw   r   rx   s   &,  r   stream_templater      s4     
)
)
+C}}334IJH3'**r   c               $    V ^8  d   QhRRRRRR/# )r   r{   rB   rh   r&   r   r   r   )r   s   "r   r   r      s!     + +3 +5 +_ +r   c                z    \         P                  ! 4       pVP                  P                  V 4      p\	        W#V4      # )aB  Render a template from the given source string with the given
context as a stream. This returns an iterator of strings, which can
be used as a streaming response from a view.

:param source: The source code of the template to render.
:param context: The variables to make available in the template.

.. versionadded:: 2.2
)r
   ru   rv   r}   r   r~   s   &,  r   stream_template_stringr      s3     
)
)
+C}}((0H3'**r   )#
__future__r   typingtjinja2r   r   r,   r   r   globalsr   r	   r
   r   helpersr   signalsr   r   TYPE_CHECKINGr$   r   
sansio.appr   sansio.scaffoldr   r!   r8   rp   ry   r   r   r   r   r   r   r   <module>r      s|    "   1  #       ( + &???) 
/ 
GZ GT	+	+.+&+r   