bg  ddlZddlZddlZddlZddlmZmZmZmZm Z m Z m Z m Z m Z mZmZmZddlZddlmZddlmZejdkrddlmZnddlmZddlmZdd lmZd Zd Zd Zd Z dZ!eeej"e e#effZ$eej%ge$fZ&eej%geee#effZ'e dZ(e deZ)GddeZ*e dddddej+dede#de e'de ede,dedej-fdZ.e d dej+de#dej-fd!Z/d"e#d#ej%d$e e#efde#de ej0e e#efff d%Z1e d d"e#d#ej%d$e e#efde#de#f d&Z2e d d"e#d#ej%d$e e#efde#de#f d'Z3d$e e e#efd(e#d)e4de ej5e e#efffd*Z6e d+d,d-d"e#d#ej%d$e e e#efde#d(e#d)e4dej5fd.Z7e d+d,d-d"e#d#ej%d$e e e#efde#d(e#d)e4dej5fd/Z8e d+d,d-d"e#de#d(e#d)e4de*f d0Z9ej:d#ej%d1eej%geej"fdej"fd2Z;d#ej%dee#ej%ffd3Zr-r.N)__name__ __module__ __qualname__r_SimpleTemplateHandlerrrRequestrStreamResponser,r _TemplateReturnTyperr(r.r+r#r#1s  * 3;-3+=!>> ?   X  m_.AAB =/9S-?#@@ A   X  b#+.0CCD 2s{#Ys/A%BB C   X   r.r#r(T)app_keycontext_processorsfiltersdefault_helpersappargsr8r9r:r;kwargsr%cB|ddtj|i|}|r|jt ||j||||<|r)||t<|j t||jd<|S)N autoescapeTr<) setdefaultjinja2 Environmentglobalsupdaterr:APP_CONTEXT_PROCESSORS_KEY middlewaresappendcontext_processors_middleware)r<r8r9r:r;r=r>envs r+rrEs lD)))  d -f - -C+ >*** 7###CL>*< &' <===CK Jr.r8c\ttj||Sr')r rBrCget)r<r8s r+rr^s! "CGGG$4$4 5 55r. template_namerequestcontextc,|j|}|+d|}tj|| ||}n4#t j$r"}d|d}tj|||d}~wwxYwt|ts8dt|}tj|||trt|tfi|}||fS)NzTTemplate engine is not initialized, call aiohttp_jinja2.setup(..., app_key={}) first)reasontextz Template 'z ' not foundz!context should be mapping, not {}) config_dictrMformatrHTTPInternalServerError get_templaterBTemplateNotFound isinstancertypeREQUEST_CONTEXT_KEYdict)rNrOrPr8rJrSres r+_render_stringr^bs5   ! !' * *C { vg )DAAAAI##M22  "III6M666)DAAAqHI gw ' 'B299$w--HH)DAAAA{{&''@w23??w?? W s AB.B  BcVt||||\}}||Sr')r^renderrNrOrPr8rs r+rrs.'}gwPPHg ??7 # ##r.cfKt||||\}}||d{VSr')r^ render_asyncras r+render_string_asyncrdsF'}gwPPHg&&w// / / / / / //r.encodingstatuscXtj|}|i}d|_||_||fS)N)rfz text/html)rResponse content_typecharset)rPrerfresponses r+_render_templaterls; |6***H'HH W r.zutf-8)r8rerfc^t|||\}}t|||||_|SNrK)rlrrSrNrOrPr8rerfrks r+rrs7)(FCCHg!-'7SSSHM Or.cnKt|||\}}t||||d{V|_|Sro)rlrdrSrps r+render_template_asyncrrsb)(FCCHg-wHM Or.ctdtdttjgt tjffd}tdttgtfdttgt tjffd}tdtttjgtfdtttjgt tjffd}dtdtfdtdt tjfffd }|S)Nr$r%cdSr'r(r$s r+wrapperztemplate..wrapperr-r.cdSr'r(rus r+rvztemplate..wrapperr-r.cdSr'r(rus r+rvztemplate..wrapperr-r..cxtjdtdtjffd }|S)Nr=r%cKtjr}n.tjdttj}||d{V}t |tjr|St |dtr|dj }n|d}|j }|r"|j rt ||d{V}nt ||}| |S)Nz-Bare functions are deprecated, use async onesr)r8re)asyncioiscoroutinefunctionwarningswarnDeprecationWarning coroutinerYrr6rrOrTrMis_asyncrrr set_status) r=cororPrOrJrkr8rer$rfrNs r+wrappedz*template..wrapper..wrappedsT*400 / C&(.. D$K''''''G'3#566 $q'<00 #q'/r(%))'22C s| !6!7GWx"""+!7GWx    ' ' 'Or.) functoolswrapsrrr6)r$rr8rerfrNs` r+rvztemplate..wrapperse     );            >r.) rr4rrr5rr6r r7r)rNr8rerfrvs```` r+rrsZ $ 3;-3+=!>> ?   X   (;;< =/9S-?#@@ A   X  CK(*==> 2s{#Ys/A%BB C   X #s//0# #y!344 5#########J Nr.handlercKt|vr i|t<|jtD]1}|t||d{V2||d{VSr')r[rTrFrE)rOr processors r+rIrIs '))')#$()CDFF #$++))G2D2D,D,D,D,D,D,DEEEE!! ! ! ! ! ! !!r.cKd|iS)NrOr()rOs r+request_processorrs w r.)=r|rsysr~typingrrrrrrr r r r r rrBaiohttpr aiohttp.abcr version_infortyping_extensionshelpersrtypedefsr __version____all__rFAPP_KEYr[r6strr7r5r4_ContextProcessorrr r# ApplicationboolrCrrTemplater^rrdintrhrlrrrr middlewarerIrr(r.r+rs                               $$$$$$v******###### NA &.c&8'#s(:K&K LM!3;-1D"DEck]Id38n,EEF WT]]|<<<      x   .68!%   !!23  g     25<6666c6@R6666 [S#X    6?GCH- -. H $$$$ [$S#X $  $  $$$$  0000 [0S#X 0  0  0000  gc3h' (     3<c* *+    $     [ gc3h' (        \    &     [ gc3h' (        \    & >>>>> >  >  >>>>B " [ " s{mYs/A%BB C "  " " " " S[ T#s{:J5K      r.