+
    ‚V@imH  ã                   ó0  € ^ RI t ^ RIt^ RIt^ RIHtHtHt ^ RIHtH	t	H
t
Ht ^ RIHt ^ RIt ! R R]P                  4      t ! R R]P                  4      t ! R	 R
]P                  4      t ! R R]P                  4      t ! R R]P                  4      tR# )é    N)Úutf8Ú
native_strÚ
to_unicode)ÚTemplateÚ
DictLoaderÚ
ParseErrorÚLoader)Ú
ObjectDictc                   óÔ   a € ] tR t^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 tR tR tR t]P4                  ! R4      R 4       tR tRtV tR# )ÚTemplateTestc                ó`   € \        R 4      pV P                  VP                  RR7      R4       R# ©zHello {{ name }}!ÚBen©Únameó
   Hello Ben!N©r   ÚassertEqualÚgenerate©ÚselfÚtemplates   & Ú</usr/lib/python3/dist-packages/tornado/test/template_test.pyÚtest_simpleÚTemplateTest.test_simple   s+   € ÜÐ/Ó0ˆØ×Ñ˜×*Ñ*°Ð*Ó6¸ÖFó    c                ór   € \        R 4      pV P                  VP                  \        R4      R7      R4       R# r   ©r   r   r   r   r   s   & r   Ú
test_bytesÚTemplateTest.test_bytes   s/   € ÜÐ/Ó0ˆØ×Ñ˜×*Ñ*´°U³Ð*Ó<¸mÖLr   c                ó\   € \        R 4      pV P                  VP                  4       R4       R# )z2 + 2 = {{ 2 + 2 }}s	   2 + 2 = 4Nr   r   s   & r   Útest_expressionsÚTemplateTest.test_expressions   s&   € ÜÐ1Ó2ˆØ×Ñ˜×*Ñ*Ó,¨lÖ;r   c                ór   € \        R 4      pV P                  VP                  \        R4      R7      R4       R# )z Hello{# TODO i18n #} {{ name }}!r   r   r   Nr   r   s   & r   Útest_commentÚTemplateTest.test_comment   s/   € ÜÐ>Ó?ˆØ×Ñ˜×*Ñ*´°U³Ð*Ó<¸mÖLr   c                ó‚   € \        R RRR/4      pV P                  VP                  R 4      P                  4       R4       R# )z
index.htmlz%{% include "header.html" %}
body textzheader.htmlzheader texts   header text
body textN©r   r   Úloadr   ©r   Úloaders   & r   Útest_includeÚTemplateTest.test_include   sD   € ÜàÐFØ˜}ðó
ˆð 	×ÑØ�K‰K˜Ó%×.Ñ.Ó0Ð2Kö	
r   c                ó‚   € \        R RRR/4      pV P                  VP                  R4      P                  4       R4       R# )ú	base.htmlzj<title>{% block title %}default title{% end %}</title>
<body>{% block body %}default body{% end %}</body>
z	page.htmlzb{% extends "base.html" %}
{% block title %}page title{% end %}
{% block body %}page body{% end %}
s1   <title>page title</title>
<body>page body</body>
Nr(   r*   s   & r   Útest_extendsÚTemplateTest.test_extends(   sK   € Üàð ð ð ð
ó
ˆð 	×ÑØ�K‰K˜Ó$×-Ñ-Ó/ØBö	
r   c                ó†   € \        R RRRRR/4      pV P                  VP                  R 4      P                  4       R4       R# )za/1.htmlz{% include '2.html' %}za/2.htmlz{% include '../b/3.html' %}zb/3.htmlÚoks   okNr(   r*   s   & r   Útest_relative_loadÚTemplateTest.test_relative_load;   sF   € ÜàÐ4ØÐ9Ø˜Dðó
ˆð 	×Ñ˜Ÿ™ ZÓ0×9Ñ9Ó;¸UÖCr   c                óª  € V P                  \        R  4       V P                  \        R 4       V P                  \        R4      P	                  4       R4       V P                  \        R4      P	                  4       R4       V P                  \        R4      P	                  4       R4       V P                  \        R4      P	                  4       R	4       R
# )c                  ó   € \        R 4      # )z{{©r   © r   r   Ú<lambda>Ú,TemplateTest.test_escaping.<locals>.<lambda>F   ó   € ¬h°t¬nr   c                  ó   € \        R 4      # )z{%r8   r9   r   r   r:   r;   G   r<   r   z{{!s   {{z{%!s   {%z{#!s   {#z{{ 'expr' }} {{!jquery expr}}s   expr {{jquery expr}}N)ÚassertRaisesr   r   r   r   ©r   s   &r   Útest_escapingÚTemplateTest.test_escapingE   sž   € Ø×Ñœ*Ñ&<Ô=Ø×Ñœ*Ñ&<Ô=Ø×Ñœ %›×1Ñ1Ó3°UÔ;Ø×Ñœ %›×1Ñ1Ó3°UÔ;Ø×Ñœ %›×1Ñ1Ó3°UÔ;Ø×ÑÜÐ4Ó5×>Ñ>Ó@Ø#ö	
r   c                ó€   € \        \        R 4      4      pV P                  VP                  4       \        R 4      4       R# )ô   Ã©N©r   r   r   r   r   s   & r   Útest_unicode_templateÚ"TemplateTest.test_unicode_templateP   s-   € ÜœD ›NÓ+ˆØ×Ñ˜×*Ñ*Ó,¬d°8«nÖ=r   c                ó€   € \        \        R 4      4      pV P                  VP                  4       \        R4      4       R# )u
   {{ "Ã©" }}rC   NrD   r   s   & r   Útest_unicode_literal_expressionÚ,TemplateTest.test_unicode_literal_expressionT   s1   € ô
 œDÐ!1Ó2Ó3ˆØ×Ñ˜×*Ñ*Ó,¬d°8«nÖ=r   c                óˆ   € \        R R/RR /R7      pV P                  VP                  R 4      P                  4       R4       R# )ú	test.htmlz{{ inc(5) }}Úincc                 ó   € V ^,           # )é   r9   ©Úxs   &r   r:   Ú4TemplateTest.test_custom_namespace.<locals>.<lambda>^   s   € ÀqÈ1Æur   ©Ú	namespaceó   6Nr(   r*   s   & r   Útest_custom_namespaceÚ"TemplateTest.test_custom_namespace\   s?   € ÜØ˜.Ð)°e¹_Ð5Mô
ˆð 	×Ñ˜Ÿ™ [Ó1×:Ñ:Ó<¸dÖCr   c                óx   € R  p\        \        R4      4      pV P                  VP                  VR7      R4       R# )c                 ó"   € V P                  4       # ©N©Úupper©Úss   &r   r[   Ú&TemplateTest.test_apply.<locals>.upperc   s   € Ø—7‘7“9Ðr   z{% apply upper %}foo{% end %}rZ   s   FOONrD   ©r   r[   r   s   &  r   Ú
test_applyÚTemplateTest.test_applyb   s7   € ò	ô œDÐ!@ÓAÓBˆØ×Ñ˜×*Ñ*°Ð*Ó7¸Ö@r   c                óŠ   € R  p\        \        R4      4      pV P                  VP                  VR7      \        R4      4       R# )c                 ó4   € \        V 4      P                  4       # rY   )r   r[   r\   s   &r   r[   Ú.TemplateTest.test_unicode_apply.<locals>.upperj   s   € Ü˜a“=×&Ñ&Ó(Ð(r   õ    {% apply upper %}foo Ã©{% end %}rZ   õ   FOO Ã‰NrD   r_   s   &  r   Útest_unicode_applyÚTemplateTest.test_unicode_applyi   s<   € ò	)ô œDÐ!GÓHÓIˆØ×Ñ˜×*Ñ*°Ð*Ó7¼¸lÓ9KÖLr   c                óŠ   € R  p\        \        R4      4      pV P                  VP                  VR7      \        R4      4       R# )c                 óF   € \        \        V 4      P                  4       4      # rY   )r   r   r[   r\   s   &r   r[   Ú,TemplateTest.test_bytes_apply.<locals>.upperq   s   € Üœ
 1›×+Ñ+Ó-Ó.Ð.r   re   rZ   rf   NrD   r_   s   &  r   Útest_bytes_applyÚTemplateTest.test_bytes_applyp   s<   € ò	/ô œDÐ!GÓHÓIˆØ×Ñ˜×*Ñ*°Ð*Ó7¼¸lÓ9KÖLr   c                ó¶   € \        \        R 4      4      pV P                  VP                  ^R7      R4       V P                  VP                  ^R7      R4       R# )z&{% if x > 4 %}yes{% else %}no{% end %}rO   s   yess   noNrD   r   s   & r   Útest_ifÚTemplateTest.test_ifw   sN   € ÜœDÐ!IÓJÓKˆØ×Ñ˜×*Ñ*¨QÐ*Ó/°Ô8Ø×Ñ˜×*Ñ*¨QÐ*Ó/°Ö7r   c                ón   € \        \        R 4      4      pV P                  VP                  4       R4       R# )z {% if True %}{% else %}{% end %}r   NrD   r   s   & r   Útest_if_empty_bodyÚTemplateTest.test_if_empty_body|   s+   € ÜœDÐ!CÓDÓEˆØ×Ñ˜×*Ñ*Ó,¨cÖ2r   c                ó¶   € \        \        R 4      4      pV P                  VP                  ^R7      R4       V P                  VP                  ^ R7      R4       R# )zb{% try %}
try{% set y = 1/x %}
{% except %}-except
{% else %}-else
{% finally %}-finally
{% end %}rO   s   
try
-else
-finally
s   
try-except
-finally
NrD   r   s   & r   Útest_tryÚTemplateTest.test_try€   sY   € ÜÜðóó	
ˆð 	×Ñ˜×*Ñ*¨QÐ*Ó/Ð1LÔMØ×Ñ˜×*Ñ*¨QÐ*Ó/Ð1LÖMr   c                ón   € \        \        R 4      4      pV P                  VP                  4       R4       R# )z{% comment blah blah %}foos   fooNrD   r   s   & r   Útest_comment_directiveÚ#TemplateTest.test_comment_directiveŽ   s+   € ÜœDÐ!=Ó>Ó?ˆØ×Ñ˜×*Ñ*Ó,¨fÖ5r   c                ó°   € \        \        R 4      4      pVP                  4       pRP                  VP	                  4       4      pV P                  VR4       R# )z�{% for i in range(10) %}
    {% if i == 2 %}
        {% continue %}
    {% end %}
    {{ i }}
    {% if i == 6 %}
        {% break %}
    {% end %}
{% end %}r   s   013456N)r   r   r   ÚjoinÚsplitr   )r   r   Úresults   &  r   Útest_break_continueÚ TemplateTest.test_break_continue’   sM   € ÜÜð	óó
ˆð ×"Ñ"Ó$ˆà—‘˜&Ÿ,™,›.Ó)ˆØ×Ñ˜ Ö+r   c                ó¦   € V P                  \        R R7      ;_uu_ 4        \        \        R4      4       RRR4       R#   + '       g   i     R# ; i)úDid not get expected exception©Úmsgz{% break %}N©r>   r   r   r   r?   s   &r   Útest_break_outside_loopÚ$TemplateTest.test_break_outside_loop¦   s6   € Ø×ÑœzÐ/OÐ×PÕPÜ”T˜-Ó(Ô)÷ Q×P×PÒPúó	    ?¿A	c                ó¦   € V P                  \        R R7      ;_uu_ 4        \        \        R4      4       RRR4       R#   + '       g   i     R# ; i)r�   r‚   z={% for i in [] %}{% apply foo %}{% break %}{% end %}{% end %}Nr„   r?   s   &r   Útest_break_in_applyÚ TemplateTest.test_break_in_applyª   s<   € ð ×ÑœzÐ/OÐ×PÕPÜÜÐTÓUô÷ Q×P×PÒPúr‡   zno testable future importsc                ó€   € V P                  RR4       \        R4      pV P                  VP                  4       R4       R# )rN   g      à?z{{ 1 / 2 }}Ú0N)r   r   r   r   s   & r   Útest_no_inherit_futureÚ#TemplateTest.test_no_inherit_future²   s7   € ð 	×Ñ˜ Ô$ä˜MÓ*ˆØ×Ñ˜×*Ñ*Ó,¨cÖ2r   c                ó~   € \        R R/4      pV P                  VP                  R 4      P                  4       R4       R# )u
   tÃ©st.htmlÚhellos   helloNr(   r*   s   & r   Útest_non_ascii_nameÚ TemplateTest.test_non_ascii_name¾   s5   € ÜÐ-¨wÐ7Ó8ˆØ×Ñ˜Ÿ™Ð%5Ó6×?Ñ?ÓAÀ8ÖLr   r9   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r"   r%   r,   r0   r4   r@   rE   rH   rU   r`   rg   rl   ro   rr   ru   rx   r~   r…   r‰   ÚunittestÚskipr�   r‘   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s¡   ø‡ € òGòMò<òMò	
ò
ò&Dò	
ò>ò>òDòAòMòMò8ò
3òNò6ò,ò(*òð ‡]‚]Ð/Ó0ñ	3ó 1ð	3÷Mð Mr   r   c                   óJ   a € ] tR t^Ãt o R tR tR tR tR tR t	R t
RtV tR	# )
ÚStackTraceTestc                óô   € \        R R/4      p VP                  R 4      P                  4        V P                  R4       R#   \         d,    T P                  R\        P                  ! 4       9   4        R# i ; i)rK   zone
two{{1/0}}
three
        údid not get expected exceptionú# test.html:2N©r   r)   r   ÚfailÚZeroDivisionErrorÚ
assertTrueÚ	tracebackÚ
format_excr*   s   & r   Ú!test_error_line_number_expressionÚ0StackTraceTest.test_error_line_number_expressionÄ   ól   € Üàð ðó
ˆð	GØ�K‰K˜Ó$×-Ñ-Ô/Ø�I‰IÐ6Ö7øÜ ô 	GØ�O‰O˜O¬y×/CÒ/CÓ/EÑE×Fð	Gúó   �0A Á2A7Á6A7c                óô   € \        R R/4      p VP                  R 4      P                  4        V P                  R4       R#   \         d,    T P                  R\        P                  ! 4       9   4        R# i ; i)rK   z'one
two{%if 1/0%}
three{%end%}
        r    r¡   Nr¢   r*   s   & r   Ú test_error_line_number_directiveÚ/StackTraceTest.test_error_line_number_directiveÓ   rª   r«   c                óR  a€ R oV3R lp\        RRRR/R\        VR7      /R7      o SP                  R4      P                  4        V P	                  R	4       R #   \
         dB    \        P                  ! 4       pT P                  R
T9   4       T P                  RT9   4        R # i ; i)Nc                 óR   <€ Sf   Q hSP                  V 4      P                  ! R/ VB # )Nr9   ©r)   r   )ÚpathÚkwargsr+   s   &,€r   Úload_generateÚCStackTraceTest.test_error_line_number_module.<locals>.load_generateå   s,   ø€ ØÒ%Ð%Ð%Ø—;‘;˜tÓ$×-Ò-Ñ7°Ñ7Ð7r   r/   z!{% module Template('sub.html') %}úsub.htmlú{{1/0}}Ú_tt_modulesr8   rR   r    ú# base.html:1z# sub.html:1)	r   r
   r)   r   r£   r¤   r¦   r§   r¥   )r   r´   Ú	exc_stackr+   s   &  @r   Útest_error_line_number_moduleÚ,StackTraceTest.test_error_line_number_moduleâ   s™   ø€ Øˆõ	8ô ØÐ=¸zÈ9ÐUØ$¤j¸-Ô&HÐIô
ˆð	9Ø�K‰K˜Ó$×-Ñ-Ô/Ø�I‰IÐ6Ö7øÜ ô 	9Ü!×,Ò,Ó.ˆIØ�O‰O˜O¨yÑ8Ô9Ø�O‰O˜N¨iÑ7×8ð	9ús   ¨0A ÁAB&Â%B&c                óø   € \        R RRR/4      p VP                  R 4      P                  4        V P                  R4       R#   \         d,    T P                  R\        P                  ! 4       9   4        R# i ; i)r/   z{% include 'sub.html' %}r¶   r·   r    z# sub.html:1 (via base.html:1)Nr¢   r*   s   & r   Útest_error_line_number_includeÚ-StackTraceTest.test_error_line_number_includeõ   sm   € ÜØÐ4°jÀ)ÐLó
ˆð	XØ�K‰K˜Ó$×-Ñ-Ô/Ø�I‰IÐ6Ö7øÜ ô 	XØ�O‰OÐ<Ä	×@TÒ@TÓ@VÑV×Wð	Xús   ‘0A Á2A9Á8A9c                óö   € \        R RRR/4      p VP                  R4      P                  4        V P                  R4       V P                  RX4       R#   \         d    \
        P                  ! 4       p L6i ; i)r/   r·   r¶   z{% extends 'base.html' %}r    r¹   N)r   r)   r   r£   r¤   r¦   r§   ÚassertIn)r   r+   rº   s   &  r   Ú)test_error_line_number_extends_base_errorÚ8StackTraceTest.test_error_line_number_extends_base_errorÿ   so   € ÜØ˜) ZÐ1LÐMó
ˆð	/Ø�K‰K˜
Ó#×,Ñ,Ô.Ø�I‰IÐ6Ô7ð 	�‰�o yÖ1øô !ô 	/Ü!×,Ò,Ó.ŠIð	/ús   ‘0A Á A8Á7A8c                óô   € \        R RRR/4      p VP                  R4      P                  4        V P                  R4       R#   \         d*    T P                  R\        P                  ! 4       4        R# i ; i)r/   z{% block 'block' %}{% end %}r¶   zM
{% extends 'base.html' %}
{% block 'block' %}
{{1/0}}
{% end %}
            r    z# sub.html:4 (via base.html:1)N©r   r)   r   r£   r¤   rÁ   r¦   r§   r*   s   & r   Ú(test_error_line_number_extends_sub_errorÚ7StackTraceTest.test_error_line_number_extends_sub_error
  sp   € ÜàÐ;Øð ðó

ˆð	TØ�K‰K˜
Ó#×,Ñ,Ô.Ø�I‰IÐ6Ö7øÜ ô 	TØ�M‰MÐ:¼I×<PÒ<PÓ<R×Sð	Tús   ‘0A Á0A7Á6A7c                óø   € \        R RRRRR/4      p VP                  R 4      P                  4        V P                  R4       R#   \         d*    T P                  R\        P                  ! 4       4        R# i ; i)	za.htmlz{% include 'b.html' %}zb.htmlz{% include 'c.html' %}zc.htmlr·   r    z## c.html:1 (via b.html:1, a.html:1)NrÅ   r*   s   & r   Útest_multi_includesÚ"StackTraceTest.test_multi_includes  ss   € ÜàÐ2ØÐ2Ø˜)ðó
ˆð	YØ�K‰K˜Ó!×*Ñ*Ô,Ø�I‰IÐ6Ö7øÜ ô 	YØ�M‰MÐ?Ä×AUÒAUÓAW×Xð	Yús   “0A Á0A9Á8A9r9   N)r“   r”   r•   r–   r¨   r­   r»   r¾   rÂ   rÆ   rÉ   r™   rš   r›   s   @r   rž   rž   Ã   s3   ø‡ € òGòGò9ò&Xò	2òT÷$Yð Yr   rž   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚParseErrorDetailTesti+  c                ó–  € \        R R/4      pV P                  \        4      ;_uu_ 4       pVP                  R 4       RRR4       V P	                  R\        XP                  4      4       V P	                  R VP                  P                  4       V P	                  ^VP                  P                  4       R#   + '       g   i     Lƒ; i)úfoo.htmlz

{{Nz'Missing end expression }} at foo.html:3)	r   r>   r   r)   r   ÚstrÚ	exceptionÚfilenameÚlineno)r   r+   Úcms   &  r   Útest_detailsÚ!ParseErrorDetailTest.test_details,  sŒ   € Ü˜Z¨Ð2Ó3ˆØ×Ñœz×*Ô*¨bØ�K‰K˜
Ô#÷ +à×ÑÐBÄCÈÏÉÓDUÔVØ×Ñ˜ R§\¡\×%:Ñ%:Ô;Ø×Ñ˜˜BŸL™L×/Ñ/Ö0÷	 +×*ús   «B8Â8C	c                óN   € V P                  R \        \        R4      4      4       R# )zasdf at None:0ÚasdfN)r   rÏ   r   r?   s   &r   Útest_custom_parse_errorÚ,ParseErrorDetailTest.test_custom_parse_error4  s   € ð 	×ÑÐ)¬3¬z¸&Ó/AÓ+BÖCr   r9   N)r“   r”   r•   r–   rÔ   rØ   r™   rš   r›   s   @r   rÌ   rÌ   +  s   ø‡ € ò1÷Dð Dr   rÌ   c                   ób   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V tR# )ÚAutoEscapeTesti:  c                ó@   € R RRRRRRRRR	R
RRRRRRRRRRR/V n         R# )úescaped.htmlz'{% autoescape xhtml_escape %}{{ name }}úunescaped.htmlz{% autoescape None %}{{ name }}údefault.htmlz
{{ name }}úinclude.htmlzvescaped: {% include 'escaped.html' %}
unescaped: {% include 'unescaped.html' %}
default: {% include 'default.html' %}
úescaped_block.htmlzF{% autoescape xhtml_escape %}{% block name %}base: {{ name }}{% end %}úunescaped_block.htmlz>{% autoescape None %}{% block name %}base: {{ name }}{% end %}úescaped_extends_unescaped.htmlzA{% autoescape xhtml_escape %}{% extends "unescaped_block.html" %}ú escaped_overrides_unescaped.htmlzn{% autoescape xhtml_escape %}{% extends "unescaped_block.html" %}{% block name %}extended: {{ name }}{% end %}úunescaped_extends_escaped.htmlz7{% autoescape None %}{% extends "escaped_block.html" %}ú unescaped_overrides_escaped.htmlzd{% autoescape None %}{% extends "escaped_block.html" %}{% block name %}extended: {{ name }}{% end %}úraw_expression.htmlzA{% autoescape xhtml_escape %}expr: {{ name }}
raw: {% raw name %}N©Ú	templatesr?   s   &r   ÚsetUpÚAutoEscapeTest.setUp;  sj   € àÐEØÐ?Ø˜LØð ð
 !ð #-ð #ð %-ð
 -ð /(ð /ð 11ð -ð /&ð /ð 11ð "ð $ð?#
ˆŽr   c                óÀ  € \        V P                  R R7      pRpV P                  VP                  R4      P	                  VR7      R4       V P                  VP                  R4      P	                  VR7      R4       V P                  VP                  R4      P	                  VR7      R4       V P                  VP                  R	4      P	                  VR7      R
4       R # )N©Ú
autoescapeúBobby <table>srÝ   r   ó   Bobby &lt;table&gt;srÞ   ó   Bobby <table>srß   rà   sP   escaped: Bobby &lt;table&gt;s
unescaped: Bobby <table>s
default: Bobby <table>s
©r   ré   r   r)   r   ©r   r+   r   s   &  r   Útest_default_offÚAutoEscapeTest.test_default_offa  sÌ   € Ü˜DŸN™N°tÔ<ˆØˆØ×ÑØ�K‰K˜Ó'×0Ñ0°dÐ0Ó;Ð=Tô	
ð 	×ÑØ�K‰KÐ(Ó)×2Ñ2¸Ð2Ó=Ð?Pô	
ð 	×ÑØ�K‰K˜Ó'×0Ñ0°dÐ0Ó;Ð=Nô	
ð 	×ÑØ�K‰K˜Ó'×0Ñ0°dÐ0Ó;ð)ö	
r   c                óÀ  € \        V P                  R R7      pRpV P                  VP                  R4      P	                  VR7      R4       V P                  VP                  R4      P	                  VR7      R4       V P                  VP                  R4      P	                  VR7      R4       V P                  VP                  R	4      P	                  VR7      R
4       R# )Úxhtml_escaperí   rï   rÝ   r   rð   rÞ   rñ   rß   rà   sV   escaped: Bobby &lt;table&gt;s
unescaped: Bobby <table>s
default: Bobby &lt;table&gt;s
Nrò   ró   s   &  r   Útest_default_onÚAutoEscapeTest.test_default_onu  sÌ   € Ü˜DŸN™N°~ÔFˆØˆØ×ÑØ�K‰K˜Ó'×0Ñ0°dÐ0Ó;Ð=Tô	
ð 	×ÑØ�K‰KÐ(Ó)×2Ñ2¸Ð2Ó=Ð?Pô	
ð 	×ÑØ�K‰K˜Ó'×0Ñ0°dÐ0Ó;Ð=Tô	
ð 	×ÑØ�K‰K˜Ó'×0Ñ0°dÐ0Ó;ð/ö	
r   c                óø   € \        V P                  4      pR pV P                  VP                  R4      P	                  VR7      R4       V P                  VP                  R4      P	                  VR7      R4       R# )ú<script>rá   r   ó   base: &lt;script&gt;râ   ó   base: <script>Nrò   ró   s   &  r   Útest_unextended_blockÚ$AutoEscapeTest.test_unextended_block‰  so   € Ü˜DŸN™NÓ+ˆØˆØ×ÑØ�K‰KÐ,Ó-×6Ñ6¸DÐ6ÓAØ#ô	
ð 	×ÑØ�K‰KÐ.Ó/×8Ñ8¸dÐ8ÓCÐEVö	
r   c                óþ   a€ \        V P                  4      oV3R  lpV P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       R	# )
c                 óF   <€ SP                  V 4      P                  R R7      # )rû   r   r±   ©r   r+   s   &€r   ÚrenderÚ2AutoEscapeTest.test_extended_block.<locals>.render—  s    ø€ Ø—;‘;˜tÓ$×-Ñ-°:Ð-Ó>Ð>r   rã   rý   rä   s   extended: &lt;script&gt;rå   rü   ræ   s   extended: <script>N©r   ré   r   ©r   r  r+   s   & @r   Útest_extended_blockÚ"AutoEscapeTest.test_extended_block”  s�   ø€ Ü˜DŸN™NÓ+ˆõ	?ð 	×Ñ™Ð @ÓAÐCTÔUØ×ÑÙÐ5Ó6Ð8Sô	
ð 	×ÑÙÐ3Ó4Ð6Mô	
ð 	×ÑÙÐ5Ó6Ð8Mö	
r   c                ón   a€ \        V P                  4      oV3R  lpV P                  V! R4      R4       R# )c                 óF   <€ SP                  V 4      P                  R R7      # )z<>&"r   r±   r  s   &€r   r  Ú2AutoEscapeTest.test_raw_expression.<locals>.render©  s    ø€ Ø—;‘;˜tÓ$×-Ñ-°6Ð-Ó:Ð:r   rç   s#   expr: &lt;&gt;&amp;&quot;
raw: <>&"Nr  r  s   & @r   Útest_raw_expressionÚ"AutoEscapeTest.test_raw_expression¦  s2   ø€ Ü˜DŸN™NÓ+ˆõ	;ð 	×ÑÙÐ(Ó)Ð+Vö	
r   c                óØ   a aa€ \        R R/4      oV 3R loVV3R lpS P                  V! R R4      R4       S P                  V! R R4      R4       S P                  V! R R.4      R	4       R
# )zfoo.pyz){% autoescape py_escape %}s = {{ name }}
c                 ój   <€ SP                  \        V 4      \        4       \        \	        V 4      4      # rY   )r   ÚtypeÚbytesÚreprr   )r]   r   s   &€r   Ú	py_escapeÚ4AutoEscapeTest.test_custom_escape.<locals>.py_escape³  s&   ø€ Ø×ÑœT !›W¤eÔ,Üœ
 1›Ó&Ð&r   c                 óH   <€ SP                  V 4      P                  SVR 7      # ))r  r   r±   )r   r   r+   r  s   &&€€r   r  Ú1AutoEscapeTest.test_custom_escape.<locals>.render·  s"   ø€ Ø—;‘;˜xÓ(×1Ñ1¸IÈDÐ1ÓQÐQr   z<html>s   s = '<html>'
z';sys.exit()s   s = "';sys.exit()"
znot a strings   s = "['not a string']"
N)r   r   )r   r  r+   r  s   f @@r   Útest_custom_escapeÚ!AutoEscapeTest.test_custom_escape°  sn   ú€ Ü˜XÐ'SÐTÓUˆõ	'ö	Rð 	×Ñ™ ¨(Ó3Ð5FÔGØ×Ñ™ ¨.Ó9Ð;VÔWØ×ÑÙ�8˜nÐ-Ó.Ð0Oö	
r   c                ó”   € \        R R/4      pV P                  VP                  R 4      P                  \	        ^4      R7      R4       R# )zfoo.txtzG{% for i in items
  %}{% if i > 0 %}, {% end %}{#
  #}{{i
  }}{% end
%})Úitemss   0, 1, 2, 3, 4N)r   r   r)   r   Úranger*   s   & r   Útest_manual_minimize_whitespaceÚ.AutoEscapeTest.test_manual_minimize_whitespaceÀ  sL   € ô àð ðó	
ˆð 	×ÑØ�K‰K˜	Ó"×+Ñ+´%¸³(Ð+Ó;Ð=Mö	
r   c                ó  € \        R RRRRRRRRR	/4      pV P                  VP                  R 4      P                  4       R
4       V P                  VP                  R4      P                  4       R4       V P                  VP                  R4      P                  4       R4       V P                  VP                  R4      P                  4       R4       V P                  VP                  R4      P                  4       R4       R# )rÎ   z   
	
 asdf	   zbar.jsz 


	 qwer     zbaz.txtz	    zxcv

rà   z  {% include baz.txt %} 
 zinclude.txtz		{% include foo.html %}    s   
asdf s   
qwer s   	    zxcv

s    	    zxcv


s   		
asdf     Nr(   r*   s   & r   Útest_whitespace_by_filenameÚ*AutoEscapeTest.test_whitespace_by_filenameÒ  sà   € äàÐ1ØÐ/ØÐ+ØÐ =ØÐ?ðó
ˆð 	×Ñ˜Ÿ™ ZÓ0×9Ñ9Ó;¸ZÔHØ×Ñ˜Ÿ™ XÓ.×7Ñ7Ó9¸:ÔFà×Ñ˜Ÿ™ YÓ/×8Ñ8Ó:Ð<MÔNð 	×Ñ˜Ÿ™ ^Ó4×=Ñ=Ó?ÐAUÔVØ×Ñ˜Ÿ™ ]Ó3×<Ñ<Ó>Ð@RÖSr   c                ó”  € R RRR/p\        VRR7      pV P                  VP                  R 4      P                  4       R4       V P                  VP                  R4      P                  4       R4       \        VRR7      pV P                  VP                  R 4      P                  4       R	4       V P                  VP                  R4      P                  4       R
4       \        VRR7      pV P                  VP                  R 4      P                  4       R4       V P                  VP                  R4      P                  4       R4       R# )rÎ   z		foo

zbar.txtz		bar

Úall)Ú
whitespaces   		foo

s   		bar

Úsingles    foo
s    bar
Úonelines    foo s    bar Nr(   )r   ré   r+   s   &  r   Útest_whitespace_by_loaderÚ(AutoEscapeTest.test_whitespace_by_loaderé  s   € Ø °	¸=ÐIˆ	Ü˜I°%Ô8ˆØ×Ñ˜Ÿ™ ZÓ0×9Ñ9Ó;¸^ÔLØ×Ñ˜Ÿ™ YÓ/×8Ñ8Ó:¸NÔKä˜I°(Ô;ˆØ×Ñ˜Ÿ™ ZÓ0×9Ñ9Ó;¸YÔGØ×Ñ˜Ÿ™ YÓ/×8Ñ8Ó:¸IÔFä˜I°)Ô<ˆØ×Ñ˜Ÿ™ ZÓ0×9Ñ9Ó;¸XÔFØ×Ñ˜Ÿ™ YÓ/×8Ñ8Ó:¸HÖEr   c                ó~   € \        R R/4      pV P                  VP                  R 4      P                  4       R4       R# )rÎ   zz{% whitespace oneline %}
    {% for i in range(3) %}
        {{ i }}
    {% end %}
{% whitespace all %}
    pre	formatted
s     0  1  2  
    pre	formatted
Nr(   r*   s   & r   Útest_whitespace_directiveÚ(AutoEscapeTest.test_whitespace_directive÷  sA   € Üàð ð	ó
ˆð 	×ÑØ�K‰K˜
Ó#×,Ñ,Ó.Ð0Tö	
r   rè   N)r“   r”   r•   r–   rê   rô   rø   rþ   r  r  r  r  r  r&  r)  r™   rš   r›   s   @r   rÛ   rÛ   :  sD   ø‡ € ò$
òL
ò(
ò(	
ò
ò$
ò
ò 
ò$Tò.F÷
ð 
r   rÛ   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTemplateLoaderTesti	  c                ó¤   € \        \        P                  P                  \        P                  P	                  \
        4      R 4      4      V n        R# )ré   N)r	   Úosr²   r{   ÚdirnameÚ__file__r+   r?   s   &r   rê   ÚTemplateLoaderTest.setUp
  s*   € ÜœRŸW™WŸ\™\¬"¯'©'¯/©/¼(Ó*CÀ[ÓQÓRˆŽr   c                ó®   € V P                   P                  R 4      pVP                  4       pV P                  \	        V4      P                  4       R4       R# )z	utf8.htmlu   HÃ©lloN)r+   r)   r   r   r   Ústrip)r   Útmplr}   s   &  r   Útest_utf8_in_fileÚ$TemplateLoaderTest.test_utf8_in_file  s?   € Ø�{‰{×Ñ Ó,ˆØ—‘“ˆØ×Ñœ FÓ+×1Ñ1Ó3°\ÖBr   )r+   N)r“   r”   r•   r–   rê   r5  r™   rš   r›   s   @r   r,  r,  	  s   ø‡ € òS÷Cð Cr   r,  )r.  r¦   r—   Útornado.escaper   r   r   Útornado.templater   r   r   r	   Útornado.utilr
   ÚtypingÚTestCaser   rž   rÌ   rÛ   r,  r9   r   r   Ú<module>r<     s‹   ðÛ 	Û Û ç 7Ñ 7ß EÓ EÝ #ã ôtM�8×$Ñ$ô tMôneY�X×&Ñ&ô eYôPD˜8×,Ñ,ô DôL
�X×&Ñ&ô L
ô^C˜×*Ñ*ö Cr   