
    g                        S SK Jr  S SKrS SKrS SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJrJrJr   S SKr\" \S	5      (       a  \R(                  rO\R*                  r  " S
 S\5      r " S S5      rg! \ a    Sr N f = f)    )annotationsN)PathLike)BackgroundTask)URL)Request)HTMLResponse)ReceiveScopeSendpass_contextc                  ^   ^  \ rS rSr    S           SU 4S jjjrSU 4S jjrSrU =r$ )_TemplateResponse   c                b   > Xl         X l        UR                  U5      n[        TU ]  XsXEU5        g N)templatecontextrendersuper__init__)	selfr   r   status_codeheaders
media_type
backgroundcontent	__class__s	           M/home/matz/Project1/venv/lib/python3.13/site-packages/starlette/templating.pyr   _TemplateResponse.__init__   s.     !//'*wJO    c                  >#    U R                   R                  S0 5      nUR                  S0 5      nSU;   a*  U" SU R                  U R                   S.S.5      I S h  vN   [        TU ]  XU5      I S h  vN   g  N N7f)Nrequest
extensionszhttp.response.debug)r   r   )typeinfo)r   getr   r   __call__)r   scopereceivesendr"   r#   r   s         r   r'   _TemplateResponse.__call__+   s     ,,""9b1[[r2
 J.1$(MM#'<<   gut444 	5s$   AA?A;A?5A=6A?=A?)r   r   )   NNN)r   
typing.Anyr   dict[str, typing.Any]r   intr   typing.Mapping[str, str] | Noner   
str | Noner   BackgroundTask | None)r(   r
   r)   r	   r*   r   returnNone)__name__
__module____qualname____firstlineno__r   r'   __static_attributes____classcell__)r   s   @r   r   r      sg    
 37!%,0PP 'P 	P
 1P P *P P5 5r    r   c                     \ rS rSrSr\R                  SS.       SS jj5       r\R                  SS.     SS jj5       r SSSS.         SS jjjr      SS	 jrSS
 jr	SS jr
\R                       S               SS jj5       r\R                       S             SS jj5       rSS jrSrg)Jinja2Templates;   zq
templates = Jinja2Templates("templates")

return templates.TemplateResponse("index.html", {"request": request})
N)context_processorsc                   g r    )r   	directoryr>   env_optionss       r   r   Jinja2Templates.__init__B   s     r    c                   g r   r@   )r   envr>   s      r   r   rC   K   s     r    )r>   rE   c               J   U(       a  [         R                  " S[        5        [        c   S5       e[	        U5      [	        U5      -  (       d   S5       eU=(       d    / U l        Ub  U R                  " U40 UD6U l        O	Ub  X0l        U R                  U R                  5        g )NzYExtra environment options are deprecated. Use a preconfigured jinja2.Environment instead.z/jinja2 must be installed to use Jinja2Templatesz4either 'directory' or 'env' arguments must be passed)	warningswarnDeprecationWarningjinja2boolr>   _create_envrE   _setup_env_defaults)r   rA   r>   rE   rB   s        r   r   rC   S   s     MMk" !T#TT!Ic*b,bb*"4": ''	A[ADH_H  *r    c                    [         R                  " U5      nUR                  SU5        UR                  SS5        [         R                  " S0 UD6$ )Nloader
autoescapeTr@   )rJ   FileSystemLoader
setdefaultEnvironment)r   rA   rB   rO   s       r   rL   Jinja2Templates._create_envj   sH    
 ((3x0|T2!!0K00r    c                h    [                 SS j5       nUR                  R                  SU5        g )Nc               2    U S   nUR                   " U40 UD6$ )Nr"   )url_for)r   namepath_paramsr"   s       r   rW   4Jinja2Templates._setup_env_defaults.<locals>.url_forv   s"      'y1G??47;77r    rW   )r   r.   rX   strrY   r-   r3   r   )r   globalsrR   )r   rE   rW   s      r   rM   #Jinja2Templates._setup_env_defaultsu   sN    		8*	8	8 &		8
 	8 
	8 	y'2r    c                8    U R                   R                  U5      $ r   )rE   get_template)r   rX   s     r   r_   Jinja2Templates.get_template   s    xx$$T**r    c                    g r   r@   )r   r"   rX   r   r   r   r   r   s           r   TemplateResponse Jinja2Templates.TemplateResponse   s      r    c                    g r   r@   )r   rX   r   r   r   r   r   s          r   rb   rc      s     	r    c           	     B   U(       Ga  [        US   [        5      (       a  [        R                  " S[        5        US   n[        U5      S:  a  US   OUR                  S0 5      n[        U5      S:  a  US   OUR                  SS5      n[        U5      S:  a  US   OUR                  S5      n[        U5      S	:  a  US	   OUR                  S
5      n[        U5      S:  a  US   OUR                  S5      nSU;  a  [        S5      eUS   n	GOUS   n	[        U5      S:  a  US   OUS   n[        U5      S:  a  US   OUR                  S0 5      n[        U5      S	:  a  US	   OUR                  SS5      n[        U5      S:  a  US   OUR                  S5      n[        U5      S:  a  US   OUR                  S
5      n[        U5      S:  a  US   OUR                  S5      nOSU;  a<  [        R                  " S[        5        SUR                  S0 5      ;  a  [        S5      eUR                  S0 5      nUR                  SUR                  S5      5      n	[        R                  " [        US   5      nUR                  SS5      nUR                  S5      nUR                  S
5      nUR                  S5      nUR                  SU	5        U R                   H  n
UR                  U
" U	5      5        M     U R                  U5      n[        UUUUUUS9$ )Nr   zThe `name` is not the first parameter anymore. The first parameter should be the `Request` instance.
Replace `TemplateResponse(name, {"request": request})` by `TemplateResponse(request, name)`.   r      r   r,   r      r      r   r"   z$context must include a "request" keyrX         zThe `TemplateResponse` now requires the `request` argument.
Replace `TemplateResponse(name, {"context": context})` by `TemplateResponse(request, name)`.)r   r   r   r   )
isinstancer[   rG   rH   rI   lenr&   
ValueErrortypingcastrR   r>   updater_   r   )r   argskwargsrX   r   r   r   r   r   r"   context_processorr   s               r   rb   rc      s   $q'3''s '	 Aw%(Y]$q'

9b8Q),TQd1gFJJ}VY<Z%(Y]$q'

98M(+D	AT!W6::l;S
(+D	AT!W6::l;S
G+$%KLL!),q'"%d)a-tAwVF^%(Y]$q'

9b8Q),TQd1gFJJ}VY<Z%(Y]$q'

98M(+D	AT!W6::l;S
(+D	AT!W6::l;S
&s&
 FJJy"$==$%KLLjjB/GjjGKK	,BCG;;sF6N3D **]C8Kjj+GL1JL1J9g.!%!8!8NN,W56 "9 $$T* #!!
 	
r    )rA   :str | PathLike[str] | typing.Sequence[str | PathLike[str]]r>   >list[typing.Callable[[Request], dict[str, typing.Any]]] | NonerB   r-   r3   r4   )rE   jinja2.Environmentr>   rv   r3   r4   r   )
rA   zAstr | PathLike[str] | typing.Sequence[str | PathLike[str]] | Noner>   rv   rE   zjinja2.Environment | NonerB   r-   r3   r4   )rA   ru   rB   r-   r3   rw   )rE   rw   r3   r4   )rX   r[   r3   zjinja2.Template)Nr,   NNN)r"   r   rX   r[   r   dict[str, typing.Any] | Noner   r/   r   r0   r   r1   r   r2   r3   r   )rX   r[   r   rx   r   r/   r   r0   r   r1   r   r2   r3   r   )rr   r-   rs   r-   r3   r   )r5   r6   r7   r8   __doc__ro   overloadr   rL   rM   r_   rb   r9   r@   r    r   r<   r<   ;   s    __
 ^b	M [	
 " 
  __
 ^b	   [	
 
  X\+ ^b)-+T+ [	+
 '+ "+ 
+.	1M	1 "	1 
		13+ __
 1537!%,0	 	  	  .		 
 	  1	  	  *	  
	  	  __ 1537!%,0

 .
 	

 1
 
 *
 

 
:
r    r<   )
__future__r   ro   rG   osr   starlette.backgroundr   starlette.datastructuresr   starlette.requestsr   starlette.responsesr   starlette.typesr	   r
   r   rJ   hasattrr   contextfunctionModuleNotFoundErrorr   r<   r@   r    r   <module>r      s    "    / ( & , 0 0 v~&&**--
5 5>]
 ]
G  Fs   A: A: :BB