+
    NV-j“! ã                   ó–  € R 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 ^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" ]PF                  '       d   ^ RI$t%^RI&H't' ]PP                  ! R]PR                  R]PT                  3,          R7      t+RRRRRRRR R!R"R#R$R%R%R&R'/t,R( R) lt-R* R+ lt.R, R- lt/RBR. R/ llt0R0 R1 lt1R2 R3 lt2 ! R4 R54      t3 ! R6 R74      t4 ! R8 R9]54      t6 ! R: R;]"4      t7 ! R< R=]"4      t8 ! R> R?]94      t: ! R@ RA]"4      t;R# )Cz0Compiles nodes from the parser into Python code.N)Úcontextmanager©Úupdate_wrapper)ÚStringIO)Úchain)Ú	iskeyword)Úescape)ÚMarkup)Únodes)ÚTemplateAssertionError)ÚSymbols)ÚVAR_LOAD_ALIAS)ÚVAR_LOAD_PARAMETER)ÚVAR_LOAD_RESOLVE)ÚVAR_LOAD_UNDEFINED)ÚEvalContext)Ú	Optimizer)Ú_PassArg)Úconcat)ÚNodeVisitor)ÚEnvironmentÚF.)ÚboundÚeqz==Únez!=ÚgtÚ>Úgteqz>=ÚltÚ<Últeqz<=ÚinÚnotinznot inc                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚfÚreturn)r   )Úformats   "Ú`/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/jinja2/compiler.pyÚ__annotate__r)   -   s   € ÷ 'ñ '”Qð 'œ1ñ 'ó    c                 ó.   a € R  V 3R llp\        VS 4      # )c          
      ó€   € V ^8„  d   QhRRR\         P                  RRR\        P                  R\        P                  /# )r$   ÚselfÚCodeGeneratorÚnodeÚframeÚFrameÚkwargsr&   )r
   ÚExprÚtÚAny)r'   s   "r(   r)   Ú#optimizeconst.<locals>.__annotate__.   s@   € ÷ 
.ñ 
.Øð
.Ü%*§Z¡Zð
.Ø8?ð
.ÜKLÏ5É5ð
.ä	
�‰ñ
.r*   c                 óä   <€ V P                   eY   VP                  P                  '       g=   V P                   P                  WP                  4      pWA8w  d   V P                  WB4      # S! WV3/ VB # ©N)Ú	optimizerÚeval_ctxÚvolatileÚvisit)r-   r/   r0   r2   Únew_noder%   s   &&&, €r(   Únew_funcÚoptimizeconst.<locals>.new_func.   s]   ø€ ð �>‰>Ò%¨e¯n©n×.E×.EÐ.EØ—~‘~×+Ñ+¨D·.±.ÓAˆHàÔØ—z‘z (Ó2Ð2á�˜UÑ- fÑ-Ð-r*   r   )r%   r>   s   f r(   Úoptimizeconstr@   -   s   ø€ ÷
.ð 
.ô ˜( AÓ&Ð&r*   c                óx   € V ^8„  d   QhR\         R\        P                  R\        P                  R.R3,          /# ©r$   Úopr&   r.   r1   N)Ústrr4   ÚCallabler
   ÚBinExpr)r'   s   "r(   r)   r)   =   s4   € ÷ ñ ”Cð œAŸJ™J¨¼¿¹ÈÐ'PÐRVÐ'VÕWñ r*   c                 ó,   a € \         R  V 3R ll4       pV# )c                óL   € V ^8„  d   QhRRR\         P                  R\        RR/# ©r$   r-   r.   r/   r0   r&   N)r
   rF   r1   )r'   s   "r(   r)   Ú!_make_binop.<locals>.__annotate__?   s,   € ÷ ñ �oð ¬U¯]©]ð Ä5ð ÈTñ r*   c                 ó  <€ V P                   P                  '       d|   SV P                   P                  9   da   V P                  R S: R24       V P	                  VP
                  V4       V P                  R4       V P	                  VP                  V4       M^V P                  R4       V P	                  VP
                  V4       V P                  RS R24       V P	                  VP                  V4       V P                  R4       R# )z environment.call_binop(context, ú, Ú(Ú Ú)N)ÚenvironmentÚ	sandboxedÚintercepted_binopsÚwriter<   ÚleftÚright©r-   r/   r0   rC   s   &&&€r(   ÚvisitorÚ_make_binop.<locals>.visitor>   s¾   ø€ ð ×Ñ×&×&Ð&¨2°×1AÑ1A×1TÑ1TÔ+Tà�J‰JÐ9¸"¹¸rÐBÔCØ�J‰J�t—y‘y %Ô(Ø�J‰J�tÔØ�J‰J�t—z‘z 5Õ)à�J‰J�sŒOØ�J‰J�t—y‘y %Ô(Ø�J‰J˜˜2˜$˜a�yÔ!Ø�J‰J�t—z‘z 5Ô)à�
‰
�3Žr*   ©r@   ©rC   rW   s   f r(   Ú_make_binopr[   =   s   ø€ Ü÷ó ðð  €Nr*   c                óx   € V ^8„  d   QhR\         R\        P                  R\        P                  R.R3,          /# rB   )rD   r4   rE   r
   Ú	UnaryExpr)r'   s   "r(   r)   r)   R   s5   € ÷ ñ Üðä‡Z�Z�¤%§/¡/°7Ð;¸TÐAÕBñr*   c                 ó,   a € \         R  V 3R ll4       pV# )c                óL   € V ^8„  d   QhRRR\         P                  R\        RR/# rI   )r
   r]   r1   )r'   s   "r(   r)   Ú _make_unop.<locals>.__annotate__V   s,   € ÷ 
ñ 
�oð 
¬U¯_©_ð 
ÄUð 
Ètñ 
r*   c                 óf  <€ V P                   P                  '       dO   SV P                   P                  9   d4   V P                  R S: R24       V P	                  VP
                  V4       M4V P                  RS,           4       V P	                  VP
                  V4       V P                  R4       R# )zenvironment.call_unop(context, rL   rM   rO   N)rP   rQ   Úintercepted_unopsrS   r<   r/   rV   s   &&&€r(   rW   Ú_make_unop.<locals>.visitorU   s   ø€ ð ×Ñ×&×&Ð&¨2°×1AÑ1A×1SÑ1SÔ+Sà�J‰JÐ8¸¹¸bÐAÔBØ�J‰J�t—y‘y %Õ(à�J‰J�s˜R•xÔ Ø�J‰J�t—y‘y %Ô(à�
‰
�3Žr*   rY   rZ   s   f r(   Ú
_make_unoprd   R   s   ø€ ô ÷
ó ð
ð €Nr*   c                ó@  € V ^8„  d   QhR\         P                  RRR\        P                  \        ,          R\        P                  \        ,          R\        P                  \        P
                  ,          R\        R\        R	\        P                  \        ,          /# )
r$   r/   rP   r   ÚnameÚfilenameÚstreamÚ
defer_initÚ	optimizedr&   )r
   ÚTemplater4   ÚOptionalrD   ÚTextIOÚbool)r'   s   "r(   r)   r)   e   s�   € ÷ ñ Ü
�.‰.ðàðô �*‰*”S�/ðô �j‰jœ�oð	ô
 �J‰J”q—x‘xÕ ðô ðô ðô ‡Z�Z”…_ñr*   c                óà   € \        V \        P                  4      '       g   \        R4      hVP	                  WW4WV4      pVP                  V 4       Vf   VP                  P                  4       # R# )z+Generate the python source for a node tree.z Can't compile non template nodesN)Ú
isinstancer
   rk   Ú	TypeErrorÚcode_generator_classr<   rh   Úgetvalue)r/   rP   rf   rg   rh   ri   rj   Ú	generators   &&&&&&& r(   Úgenerateru   e   sc   € ô �dœEŸN™N×+Ò+ÜÐ:Ó;Ð;à×0Ñ0Ø˜8¨Zó€Ið ‡O�O�DÔà‚~Ø×Ñ×(Ñ(Ó*Ð*ár*   c                óD   € V ^8„  d   QhR\         P                  R\        /# ©r$   Úvaluer&   )r4   r5   rn   )r'   s   "r(   r)   r)   }   s   € ÷ ñ œŸ™ð ¤4ñ r*   c                ó  € V e   V \         J g   V \        J d   R# \        V 4      \        \        \
        \        \        \        \        09   d   R# \        V 4      \        \        \        \        09   d5   \        ;QJ d    R V  4       F  '       d   K   R# 	  R# ! R V  4       4      # \        V 4      \        J dQ   \        ;QJ d*    R V P!                  4        4       F  '       d   K   R# 	  R# ! R V P!                  4        4       4      # R# )z)Does the node have a safe representation?Tc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir8   ©Úhas_safe_repr)Ú.0Úvs   & r(   Ú	<genexpr>Ú has_safe_repr.<locals>.<genexpr>†   s   é € Ð3©U¨”= ×#Ð#«Uùó   ‚Fc              3   ób   "  € T F%  w  r\        V4      ;'       d    \        V4      x € K'  	  R # 5ir8   r{   ©r}   Úkr~   s   &  r(   r   r€   ‰   s'   é € ÐSÁ]¹T¸Q”= Ó#×8Ð8¬°aÓ(8Ô8Ã]ùs   ‚/›/)ÚNotImplementedÚEllipsisÚtypern   ÚintÚfloatÚcomplexÚrangerD   r	   ÚtupleÚlistÚsetÚ	frozensetÚallÚdictÚitems©rx   s   &r(   r|   r|   }   s¸   € à‚}˜¤Ó/°5¼HÓ3DÙäˆEƒ{”tœS¤%¬´%¼¼fÐEÔEÙäˆEƒ{”uœd¤C¬Ð3Ô3ß‹sÑ3©UÓ3�sŒsÐ3ŠsÐ3ˆsÑ3©UÓ3Ó3Ð3äˆEƒ{”dÓß‹sÑSÀUÇ[Á[Ä]ÓS�sŒsÐSŠsÐSˆsÑSÀUÇ[Á[Ä]ÓSÓSÐSár*   c                óÎ   € V ^8„  d   QhR\         P                  \        P                  ,          R\         P                  \        ,          R\         P
                  \        ,          /# )r$   r
   Únamesr&   )r4   ÚIterabler
   ÚNoderD   ÚSet)r'   s   "r(   r)   r)   Ž   sA   € ÷ ñ Ü�:‰:”e—j‘jÕ!ðÜ*+¯*©*´S­/ðä‡U�UŒ3…Zñr*   c                óž   € \        V4      p V  F  pVP                  V4       K  	  VP                  #   \         d     TP                  # i ; i)zŒCheck if the names passed are accessed undeclared.  The return value
is a set of all the undeclared names from the sequence of names found.
)ÚUndeclaredNameVisitorr<   ÚVisitorExitÚ
undeclared)r
   r•   rW   r/   s   &&  r(   Úfind_undeclaredr�   Ž   sW   € ô $ EÓ*€GðÛˆDØ�M‰M˜$Öñ ð ×ÑÐøô ô ØØ×ÑÐðús   �3 ³AÁAc                   ó2   a € ] tR t^�t o V 3R lR ltRtV tR# )ÚMacroRefc                óv   <€ V ^8„  d   QhRS[ P                  S[P                  S[P                  3,          RR/# ©r$   r/   r&   N)r4   ÚUnionr
   ÚMacroÚ	CallBlock)r'   Ú__classdict__s   "€r(   r)   ÚMacroRef.__annotate__ž   s1   ø€ ÷ &ñ &™QŸW™W¡U§[¡[±%·/±/Ð%AÕBð &Àtñ &r*   c                ó<   € Wn         R V n        R V n        R V n        R# ©FN)r/   Úaccesses_callerÚaccesses_kwargsÚaccesses_varargs©r-   r/   s   &&r(   Ú__init__ÚMacroRef.__init__ž   s   € ØŒ	Ø$ˆÔØ$ˆÔØ %ˆÖr*   )r©   rª   r«   r/   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r­   Ú__static_attributes__Ú__classdictcell__©r¥   s   @r(   rŸ   rŸ   �   s   ø‡ € ÷&ö &r*   rŸ   c                   óx   a € ] tR t^¥t o RtRV 3R lR lltV 3R lR ltRV 3R lR lltV 3R	 lR
 lt]t	Rt
V tR# )r1   z&Holds compile time information for us.Nc                óv   <€ V ^8„  d   QhRS[ RS[P                  R,          RS[P                  S[,          RR/# )r$   r:   Úparentr1   Úlevelr&   N)r   r4   rl   rˆ   )r'   r¥   s   "€r(   r)   ÚFrame.__annotate__¨   sD   ø€ ÷ 1 ñ 1 áð1 ñ —
‘
˜7Õ#ð1 ñ �z‰z™#�ð	1 ð
 
ñ1 r*   c                óX  € Wn         W n        Vf(   \        VR7      V n        RV n        R V n        R V n        MO\        VP                  VR7      V n        VP                  V n        VP
                  V n        VP                  V n        RV n        RV n        RV n	        RV n
        RV n        R # )N©r¹   F)r:   r¸   r   ÚsymbolsÚrequire_output_checkÚbufferÚblockÚtoplevelÚ	rootlevelÚ
loop_frameÚblock_frameÚ
soft_frame)r-   r:   r¸   r¹   s   &&&&r(   r­   ÚFrame.__init__¨   s¡   € ð !Œð ŒàŠ>Ü"¨Ô/ˆDŒLð ).ˆDÔ%ð ,0ˆDŒKð +/ˆD�Jô # 6§>¡>¸Ô?ˆDŒLØ(.×(CÑ(CˆDÔ%Ø Ÿ-™-ˆDŒKØŸ™ˆDŒJð ˆŒð
 ˆŒð  ˆŒØ ˆÔð
  ˆŽr*   c                ó   <€ V ^8„  d   QhRR/# ©r$   r&   zte.Self© )r'   r¥   s   "€r(   r)   rº   Û   s   ø€ ÷ ñ �iñ r*   c                óÌ   € \         P                  V P                  4      pVP                  P	                  V P                  4       V P
                  P                  4       Vn        V# )z!Create a copy of the current one.)ÚobjectÚ__new__Ú	__class__Ú__dict__Úupdater½   Úcopy©r-   Úrvs   & r(   rÐ   Ú
Frame.copyÛ   sC   € ä�^‰^˜DŸN™NÓ+ˆØ
�‰×Ñ˜4Ÿ=™=Ô)Ø—\‘\×&Ñ&Ó(ˆŒ
Øˆ	r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r$   Úisolatedr&   r1   ©rn   )r'   r¥   s   "€r(   r)   rº   â   s   ø€ ÷ *ñ *™dð *¨wñ *r*   c                ó¢   € V'       d3   \        V P                  V P                  P                  ^,           R7      # \        V P                  V 4      # )zReturn an inner frame.r¼   )r1   r:   r½   r¹   )r-   rÕ   s   &&r(   ÚinnerÚFrame.innerâ   s6   € çÜ˜Ÿ™¨d¯l©l×.@Ñ.@À1Õ.DÔEÐEÜ�T—]‘] DÓ)Ð)r*   c                ó   <€ V ^8„  d   QhRR/# rÈ   rÉ   )r'   r¥   s   "€r(   r)   rº   è   s   ø€ ÷ ñ �iñ r*   c                óB   € V P                  4       pRVn        RVn        V# )zþReturn a soft frame.  A soft frame may not be modified as
standalone thing as it shares the resources with the frame it
was created of, but it's not a rootlevel frame any longer.

This is only used to implement if-statements and conditional
expressions.
FT)rÐ   rÂ   rÅ   rÑ   s   & r(   ÚsoftÚ
Frame.softè   s"   € ð �Y‰Y‹[ˆØˆŒØˆŒØˆ	r*   )rÀ   rÄ   r¿   r:   rÃ   r¸   r¾   rÂ   rÅ   r½   rÁ   )NN©F)r¯   r°   r±   r²   Ú__doc__r­   rÐ   rØ   rÜ   Ú__copy__r³   r´   rµ   s   @r(   r1   r1   ¥   s8   ø‡ € Ù0÷1 ò 1 ÷fð ÷*ò *÷ð ð †Hr*   r1   c                   ó   € ] tR t^øtRtRtR# )r›   z?Exception used by the `UndeclaredNameVisitor` to signal a stop.rÉ   N©r¯   r°   r±   r²   rß   r³   rÉ   r*   r(   r›   r›   ø   s   † ÝIr*   r›   c                   ól   a € ] tR t^üt o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltR
t	V t
R# )ÚDependencyFinderVisitorz.A visitor that collects filter and test calls.c                ó   <€ V ^8„  d   QhRR/# ©r$   r&   NrÉ   )r'   r¥   s   "€r(   r)   Ú$DependencyFinderVisitor.__annotate__ÿ   s   ø€ ÷ 'ñ '˜$ñ 'r*   c                óB   € \        4       V n        \        4       V n        R # r8   )rŽ   ÚfiltersÚtests©r-   s   &r(   r­   Ú DependencyFinderVisitor.__init__ÿ   s   € Ü#&£5ˆŒÜ!$£ˆŽ
r*   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# r¡   )r
   ÚFilter)r'   r¥   s   "€r(   r)   rç     s   ø€ ÷ $ñ $¡§¡ð $°$ñ $r*   c                ór   € V P                  V4       V P                  P                  VP                  4       R # r8   )Úgeneric_visitré   Úaddrf   r¬   s   &&r(   Úvisit_FilterÚ$DependencyFinderVisitor.visit_Filter  s&   € Ø×Ñ˜4Ô Ø�‰×Ñ˜Ÿ™Ö#r*   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# r¡   )r
   ÚTest)r'   r¥   s   "€r(   r)   rç     s   ø€ ÷ "ñ "™uŸz™zð "¨dñ "r*   c                ór   € V P                  V4       V P                  P                  VP                  4       R # r8   )rð   rê   rñ   rf   r¬   s   &&r(   Ú
visit_TestÚ"DependencyFinderVisitor.visit_Test  s$   € Ø×Ñ˜4Ô Ø�
‰
�‰�t—y‘yÖ!r*   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# r¡   ©r
   ÚBlock)r'   r¥   s   "€r(   r)   rç     s   ø€ ÷ 'ñ '¡§¡ð '°ñ 'r*   c                ó   € R# )zStop visiting at blocks.NrÉ   r¬   s   &&r(   Úvisit_BlockÚ#DependencyFinderVisitor.visit_Block  ó   ‚ r*   )ré   rê   N)r¯   r°   r±   r²   rß   r­   rò   r÷   rý   r³   r´   rµ   s   @r(   rä   rä   ü   s0   ø‡ € Ù8÷'ð '÷$ð $÷"ð "÷'ö 'r*   rä   c                   óZ   a € ] tR tRt o RtV 3R lR ltV 3R lR ltV 3R lR ltR	tV t	R
# )rš   i  z•A visitor that checks if a name is accessed without being
declared.  This is different from the frame visitor as it will
not stop at closure frames.
c                óH   <€ V ^8„  d   QhRS[ P                  S[,          RR/# )r$   r•   r&   N)r4   r–   rD   )r'   r¥   s   "€r(   r)   Ú"UndeclaredNameVisitor.__annotate__  s#   ø€ ÷ ,ñ ,™aŸj™j©�oð ,°$ñ ,r*   c                óD   € \        V4      V n        \        4       V n        R # r8   )rŽ   r•   rœ   )r-   r•   s   &&r(   r­   ÚUndeclaredNameVisitor.__init__  s   € Ü˜“ZˆŒ
Ü&)£eˆŽr*   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# r¡   )r
   ÚName)r'   r¥   s   "€r(   r)   r    s   ø€ ÷ *ñ *™uŸz™zð *¨dñ *r*   c                ó@  € VP                   R 8X  dh   VP                  V P                  9   dM   V P                  P	                  VP                  4       V P                  V P                  8X  d   \        4       hR# V P                  P                  VP                  4       R# )ÚloadN)Úctxrf   r•   rœ   rñ   r›   Údiscardr¬   s   &&r(   Ú
visit_NameÚ UndeclaredNameVisitor.visit_Name  sh   € Ø�8‰8�vÔ $§)¡)¨t¯z©zÔ"9Ø�O‰O×Ñ §	¡	Ô*Ø�‰ $§*¡*Ô,Ü!“mÐ#ñ -ð �J‰J×Ñ˜tŸy™yÖ)r*   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# r¡   rú   )r'   r¥   s   "€r(   r)   r  !  s   ø€ ÷ &ñ &¡§¡ð &°ñ &r*   c                ó   € R# )zStop visiting a blocks.NrÉ   r¬   s   &&r(   rý   Ú!UndeclaredNameVisitor.visit_Block!  rÿ   r*   )r•   rœ   N)
r¯   r°   r±   r²   rß   r­   r  rý   r³   r´   rµ   s   @r(   rš   rš     s(   ø‡ € ñ÷
,ð ,÷*ð *÷&ö &r*   rš   c                   ó   € ] tR tRtRtRtR# )ÚCompilerExiti%  z°Raised if the compiler encountered a situation where it just
doesn't make sense to further process the code.  Any block that
raises such an exception is not further processed.
rÉ   Nrâ   rÉ   r*   r(   r  r  %  s   † õr*   r  c                   óB  a € ] tR tRt o RËV 3R lR llt]V 3R lR l4       tV 3R lR ltV 3R	 lR
 ltV 3R lR lt	RÌV 3R lR llt
V 3R lR ltRÍV 3R lR lltRÎV 3R lR lltV 3R lR ltRÎV 3R lR lltV 3R lR ltV 3R lR ltRÏV 3R lR lltRÏV 3R lR  lltRÎV 3R! lR" lltV 3R# lR$ ltV 3R% lR& ltRÌV 3R' lR( lltRÐV 3R) lR* lltV 3R+ lR, ltV 3R- lR. ltV 3R/ lR0 ltV 3R1 lR2 ltV 3R3 lR4 ltV 3R5 lR6 ltV 3R7 lR8 ltV 3R9 lR: lt V 3R; lR< lt!V 3R= lR> lt"V 3R? lR@ lt#V 3RA lRB lt$V 3RC lRD lt%V 3RE lRF lt&V 3RG lRH lt'V 3RI lRJ lt(V 3RK lRL lt)RÎV 3RM lRN llt*V 3RO lRP lt+V 3RQ lRR lt,V 3RS lRT lt-V 3RU lRV lt.V 3RW lRX lt/V 3RY lRZ lt0V 3R[ lR\ lt1V 3R] lR^ lt2V 3R_ lR` lt3V 3Ra lRb lt4V 3Rc lRd lt5V 3Re lRf lt6V 3Rg lRh lt7 ! Ri Rj]8Pr                  4      t:];V 3Rk lRl l4       t<Rt=V 3Rm lRn lt>V 3Ro lRp lt?V 3Rq lRr lt@V 3Rs lRt ltAV 3Ru lRv ltBV 3Rw lRx ltCV 3Ry lRz ltDV 3R{ lR| ltEV 3R} lR~ ltFV 3R lR€ ltGV 3R� lR‚ ltHV 3Rƒ lR„ ltIV 3R… lR† ltJV 3R‡ lRˆ ltKV 3R‰ lRŠ ltL]M! R‹4      tN]M! RŒ4      tO]M! R�4      tP]M! RŽ4      tQ]M! R�4      tR]M! R�4      tS]M! R‘4      tT]M! R’4      tU]M! R“4      tV]W! R‹4      tX]W! RŒ4      tY]W! R”4      tZ][V 3R• lR– l4       t\][V 3R— lR˜ l4       t]V 3R™ lRš lt^][V 3R› lRœ l4       t_][V 3R� lRž l4       t`V 3RŸ lR  lta]bV 3R¡ lR¢ l4       tc][V 3R£ lR¤ l4       td][V 3R¥ lR¦ l4       te][V 3R§ lR¨ l4       tf][RÌV 3R© lRª ll4       tgV 3R« lR¬ lthV 3R­ lR® ltiV 3R¯ lR° ltjV 3R± lR² ltkV 3R³ lR´ ltlV 3Rµ lR¶ ltmV 3R· lR¸ ltnV 3R¹ lRº ltoV 3R» lR¼ ltpV 3R½ lR¾ ltqV 3R¿ lRÀ ltrV 3RÁ lRÂ ltsV 3RÃ lRÄ lttV 3RÅ lRÆ ltuV 3RÇ lRÈ ltvV 3RÉ ltwRÊtxV tyR# )Ñr.   i,  Nc                óÀ   <€ V ^8„  d   QhRRRS[ P                  S[,          RS[ P                  S[,          RS[ P                  S[ P                  ,          RS[RS[RR	/# )
r$   rP   r   rf   rg   rh   ri   rj   r&   N)r4   rl   rD   rm   rn   )r'   r¥   s   "€r(   r)   ÚCodeGenerator.__annotate__-  sw   ø€ ÷ G4ñ G4à"ðG4ñ �j‰j™�oðG4ñ —*‘*™S•/ð	G4ñ
 —
‘
™1Ÿ8™8Õ$ðG4ñ ðG4ñ ðG4ð 
ñG4r*   c                óš  € Vf   \        4       pWn        W n        W0n        W@n        RV n        WPn        R V n        V'       d   \        V4      V n        / V n	        / V n
        ^ V n        RV n        ^V n        / V n        / V n        . V n        R V n        ^ V n        ^ V n        RV n        ^ V n        ^ V n        . V n        . V n        R.V n        R # )NFTÚcontext)r   rP   rf   rg   rh   Úcreated_block_contextri   r9   r   Úimport_aliasesÚblocksÚextends_so_farÚhas_known_extendsÚcode_linenorê   ré   Ú
debug_infoÚ_write_debug_infoÚ
_new_linesÚ
_last_lineÚ_first_writeÚ_last_identifierÚ_indentationÚ_assign_stackÚ_param_def_blockÚ_context_reference_stack)r-   rP   rf   rg   rh   ri   rj   s   &&&&&&&r(   r­   ÚCodeGenerator.__init__-  sê   € ð Š>Ü“ZˆFØ&ÔØŒ	Ø ŒØŒØ%*ˆÔ"Ø$ŒØ04ˆŒçÜ& {Ó3ˆDŒNð 13ˆÔð 13ˆŒð  ˆÔð
 "'ˆÔð ˆÔð (*ˆŒ
Ø)+ˆŒð 68ˆŒØ26ˆÔð ˆŒð ˆŒð !ˆÔð !"ˆÔð ˆÔð 24ˆÔð 57ˆÔð *3¨ˆÖ%r*   c                ó    <€ V ^8„  d   QhRS[ /# ©r$   r&   rÖ   )r'   r¥   s   "€r(   r)   r  w  s   ø€ ÷ *ñ *™4ñ *r*   c                ó   € V P                   R J# r8   )r9   rë   s   &r(   rj   ÚCodeGenerator.optimizedv  s   € à�~‰~ TÐ)Ð)r*   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r$   ÚmsgÚlinenor&   zte.NoReturn)rD   rˆ   )r'   r¥   s   "€r(   r)   r  |  s'   ø€ ÷ Lñ L™ð L¡Sð L¨]ñ Lr*   c                óD   € \        WV P                  V P                  4      h)z*Fail with a :exc:`TemplateAssertionError`.)r   rf   rg   )r-   r-  r.  s   &&&r(   ÚfailÚCodeGenerator.fail|  s   € ä$ S°$·)±)¸T¿]¹]ÓKÐKr*   c                ó    <€ V ^8„  d   QhRS[ /# r)  ©rD   )r'   r¥   s   "€r(   r)   r  €  s   ø€ ÷ ,ñ ,¡cñ ,r*   c                óR   € V ;P                   ^,          un         RV P                    2# )zGet a new unique identifier.Út_)r"  rë   s   &r(   Útemporary_identifierÚ"CodeGenerator.temporary_identifier€  s'   € à×Ò Õ"ÕØ�D×)Ñ)Ð*Ð+Ð+r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r$   r0   r&   N©r1   )r'   r¥   s   "€r(   r)   r  …  s   ø€ ÷ /ñ /™Eð / dñ /r*   c                ól   € V P                  4       Vn        V P                  VP                   R24       R# )z7Enable buffering for the frame from that point onwards.z = []N)r6  r¿   Ú	writeline©r-   r0   s   &&r(   r¿   ÚCodeGenerator.buffer…  s)   € à×0Ñ0Ó2ˆŒØ�‰˜%Ÿ,™,˜ uÐ-Ö.r*   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r$   r0   Úforce_unescapedr&   N©r1   rn   )r'   r¥   s   "€r(   r)   r  Š  s%   ø€ ÷ 9ñ 9Ùð9Ù-1ð9à	ñ9r*   c                óJ  € V'       gü   VP                   P                  '       d£   V P                  R4       V P                  4        V P                  RVP                   R24       V P                  4        V P                  R4       V P                  4        V P                  RVP                   R24       V P                  4        R# VP                   P                  '       d"   V P                  RVP                   R24       R# V P                  RVP                   R24       R# )z(Return the buffer contents of the frame.zif context.eval_ctx.autoescape:zreturn Markup(concat(ú))úelse:zreturn concat(rO   N)r:   r;   r<  Úindentr¿   ÚoutdentÚ
autoescape)r-   r0   r@  s   &&&r(   Úreturn_buffer_contentsÚ$CodeGenerator.return_buffer_contentsŠ  sÐ   € ÷ Ø�~‰~×&×&Ð&Ø—‘Ð@ÔAØ—‘”Ø—‘Ð!6°u·|±|°nÀBÐGÔHØ—‘”Ø—‘˜wÔ'Ø—‘”Ø—‘ °·±¨~¸QÐ?Ô@Ø—‘”ÙØ—‘×*×*Ð*Ø—‘Ð!6°u·|±|°nÀBÐGÔHÙØ�‰˜¨¯© ~°QÐ7Ö8r*   c                ó   <€ V ^8„  d   QhRR/# ræ   rÉ   )r'   r¥   s   "€r(   r)   r  ž  s   ø€ ÷ ñ ˜ñ r*   c                ó8   € V ;P                   ^,          un         R# )zIndent by one.N©r#  rë   s   &r(   rE  ÚCodeGenerator.indentž  s   € à×Ò˜QÕ×r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r$   Ústepr&   N)rˆ   )r'   r¥   s   "€r(   r)   r  ¢  s   ø€ ÷ "ñ "™Cð "¨ñ "r*   c                ó8   € V ;P                   V,          un         R# )zOutdent by step.NrL  )r-   rO  s   &&r(   rF  ÚCodeGenerator.outdent¢  s   € à×Ò˜TÕ!×r*   c                ób   <€ V ^8„  d   QhRS[ RS[P                  S[P                  ,          RR/# )r$   r0   r/   r&   N)r1   r4   rl   r
   r—   )r'   r¥   s   "€r(   r)   r  ¦  s0   ø€ ÷ <ñ <¡ð <©a¯j©j¹¿¹Õ.Dð <ÐPTñ <r*   c                óˆ   € VP                   f   V P                  RV4       R# V P                  VP                    R2V4       R# )z%Yield or write into the frame buffer.Núyield ú.append()r¿   r<  )r-   r0   r/   s   &&&r(   Ústart_writeÚCodeGenerator.start_write¦  s3   € à�<‰<ÒØ�N‰N˜8 TÖ*à�N‰N˜eŸl™l˜^¨8Ð4°dÖ;r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# r9  r:  )r'   r¥   s   "€r(   r)   r  ­  s   ø€ ÷ ñ ™uð ¨ñ r*   c                óH   € VP                   e   V P                  R4       R# R# )z1End the writing process started by `start_write`.NrO   )r¿   rS   r=  s   &&r(   Ú	end_writeÚCodeGenerator.end_write­  s   € à�<‰<Ò#Ø�J‰J�sŽOñ $r*   c                óh   <€ V ^8„  d   QhRS[ RS[RS[P                  S[P
                  ,          RR/# )r$   Úsr0   r/   r&   N)rD   r1   r4   rl   r
   r—   )r'   r¥   s   "€r(   r)   r  ²  s:   ø€ ÷ ñ ÙðÙ"ðÙ*+¯*©*±U·Z±ZÕ*@ðà	ñr*   c                ól   € V P                  W#4       V P                  V4       V P                  V4       R# )z4Simple shortcut for start_write + write + end_write.N)rV  rS   rZ  )r-   r]  r0   r/   s   &&&&r(   Úsimple_writeÚCodeGenerator.simple_write²  s)   € ð 	×Ñ˜Ô%Ø�
‰
�1ŒØ�‰�uÖr*   c                ób   <€ V ^8„  d   QhRS[ P                  S[P                  ,          RS[RR/# )r$   r
   r0   r&   N)r4   r–   r
   r—   r1   )r'   r¥   s   "€r(   r)   r  º  s/   ø€ ÷ 	ñ 	¡§
¡
©5¯:©:Õ 6ð 	¹uð 	Èñ 	r*   c                ó‚   €  V P                  R4       V F  pV P                  W24       K  	  R#   \         d     R# i ; i)z…Visit a list of nodes as block in a frame.  If the current frame
is no buffer a dummy ``if 0: yield None`` is written automatically.
ÚpassN)r<  r<   r  )r-   r
   r0   r/   s   &&& r(   Ú
blockvisitÚCodeGenerator.blockvisitº  s;   € ð	Ø�N‰N˜6Ô"Û�Ø—
‘
˜4Ö'ó øäô 	Úð	ús   ‚+/ ¯>½>c                ó$   <€ V ^8„  d   QhRS[ RR/# )r$   Úxr&   Nr3  )r'   r¥   s   "€r(   r)   r  Å  s   ø€ ÷ ñ ‘sð ˜tñ r*   c                ó"  € V P                   '       dâ   V P                  '       g–   V P                  P                  RV P                   ,          4       V ;P                  V P                   ,          un        V P
                  e9   V P                  P                  V P
                  V P                  34       RV n        RV n        V P                  P                  RV P                  ,          4       ^ V n         V P                  P                  V4       R# )z&Write a string into the output stream.Ú
NFz    )	r  r!  rh   rS   r  r  r  Úappendr#  )r-   rg  s   &&r(   rS   ÚCodeGenerator.writeÅ  s¼   € à�?�?ˆ?Ø×$×$Ð$Ø—‘×!Ñ! $¨¯©Õ"8Ô9Ø× Ò  D§O¡OÕ3Õ Ø×)Ñ)Ò5Ø—O‘O×*Ñ*¨D×,BÑ,BÀD×DTÑDTÐ+UÔVØ-1�DÔ*Ø %ˆDÔØ�K‰K×Ñ˜f t×'8Ñ'8Õ8Ô9ØˆDŒOØ�‰×Ñ˜!Ör*   c                óh   <€ V ^8„  d   QhRS[ RS[P                  S[P                  ,          RS[RR/# )r$   rg  r/   Úextrar&   N)rD   r4   rl   r
   r—   rˆ   )r'   r¥   s   "€r(   r)   r  Ó  s:   ø€ ÷ ñ ÙðÙŸJ™J¡u§z¡zÕ2ðÙBEðà	ñr*   c                óJ   € V P                  W#4       V P                  V4       R# )z!Combination of newline and write.N)ÚnewlinerS   )r-   rg  r/   rm  s   &&&&r(   r<  ÚCodeGenerator.writelineÓ  s   € ð 	�‰�TÔ!Ø�
‰
�1Žr*   c                ób   <€ V ^8„  d   QhRS[ P                  S[P                  ,          RS[RR/# )r$   r/   rm  r&   N)r4   rl   r
   r—   rˆ   )r'   r¥   s   "€r(   r)   r  Ú  s/   ø€ ÷ *ñ *™AŸJ™J¡u§z¡zÕ2ð *Á#ð *Èdñ *r*   c                óÔ   € \        V P                  ^V,           4      V n        VeB   VP                  V P                  8w  d%   VP                  V n        VP                  V n        R# R# R# )z/Add one or more newlines before the next write.N)Úmaxr  r.  r   r  )r-   r/   rm  s   &&&r(   ro  ÚCodeGenerator.newlineÚ  sL   € ä˜dŸo™o¨q°5­yÓ9ˆŒØÒ §¡¨t¯©Ô >Ø%)§[¡[ˆDÔ"Ø"Ÿk™kˆDŽOñ !?Ñr*   c          	      óü   <€ V ^8„  d   QhRS[ P                  S[P                  S[P                  S[P
                  3,          RS[RS[ P                  S[ P                  S[	S[ P                  3,          ,          RR/# )r$   r/   r0   Úextra_kwargsr&   N)r4   r¢   r
   ÚCallrî   rõ   r1   rl   ÚMappingrD   r5   )r'   r¥   s   "€r(   r)   r  á  si   ø€ ÷ 7/ñ 7/á�g‰g‘e—j‘j¡%§,¡,±·
±
Ð:Õ;ð7/ñ ð7/ñ —j‘j¡§¡©3±·±¨:Õ!6Õ7ð	7/ð
 
ñ7/r*   c                ó¤  € \         ;QJ dA    R \        R VP                   4       T;'       g    R4       4       F  '       g   K   RM6	  RM2! R \        R VP                   4       T;'       g    R4       4       4      pVP                   F%  pV P	                  R4       V P                  WR4       K'  	  V'       gj   VP                   F%  pV P	                  R4       V P                  Wb4       K'  	  Ve1   VP                  4        F  w  rxV P	                  RV RV 24       K  	  VP                  '       d.   V P	                  R4       V P                  VP                  V4       V'       Ed'   VP                  e   V P	                  R	4       MV P	                  R
4       VP                   FO  pV P	                  VP                  : R24       V P                  VP                  V4       V P	                  R4       KQ  	  Ve2   VP                  4        F  w  rxV P	                  V: RV R24       K  	  VP                  eA   V P	                  R4       V P                  VP                  V4       V P	                  R4       R# V P	                  R4       R# VP                  e0   V P	                  R4       V P                  VP                  V4       R# R# )a  Writes a function call to the stream for the current node.
A leading comma is added automatically.  The extra keyword
arguments may not include python keywords otherwise a syntax
error could occur.  The extra keyword arguments should be given
as python dict.
c              3   ój   "  € T F)  p\        \        P                  ! \        V4      4      x € K+  	  R # 5ir8   )Úis_python_keywordr4   ÚcastrD   )r}   r„   s   & r(   r   Ú*CodeGenerator.signature.<locals>.<genexpr>ï  s)   é € ð 
áL�ô œaŸfšf¤S¨!›n×-Ð-ÛLùs   ‚13c              3   ó8   "  € T F  qP                   x € K  	  R # 5ir8   )Úkey©r}   rg  s   & r(   r   r}  ñ  s   é € Ð7©; aŸEžE«;ùr�   TFrL   NÚ=z, *z
, **dict({z, **{ú: z}, **rO   Ú}z, **rÉ   )Úanyr   r2   ÚargsrS   r<   r’   Údyn_argsÚ
dyn_kwargsr  rx   )	r-   r/   r0   rv  Úkwarg_workaroundÚargÚkwargr  rx   s	   &&&&     r(   Ú	signatureÚCodeGenerator.signatureá  s  € ÷ ›3ñ 
äÑ7¨4¯;ª;Ó7¸×9KÐ9KÈÔLó
Ÿ3Ÿ3š3ñ 
äÑ7¨4¯;ª;Ó7¸×9KÐ9KÈÔLó
ó 
Ðð
 —9”9ˆCØ�J‰J�tÔØ�J‰J�sÖ"ñ ÷  ØŸœ�Ø—
‘
˜4Ô Ø—
‘
˜5Ö(ñ %ð Ò'Ø".×"4Ñ"4Ö"6‘J�CØ—J‘J  C 5¨¨%¨Ð1Ö2ñ #7à�=�=ˆ=Ø�J‰J�uÔØ�J‰J�t—}‘} eÔ,çÐØ�‰Ò*Ø—
‘
˜<Õ(à—
‘
˜7Ô#ØŸœ�Ø—
‘
˜eŸi™i™]¨"Ð-Ô.Ø—
‘
˜5Ÿ;™;¨Ô.Ø—
‘
˜4Ö ñ %ð Ò'Ø".×"4Ñ"4Ö"6‘J�CØ—J‘J #¡¨¨5¨'°Ð4Ö5ñ #7à�‰Ò*Ø—
‘
˜7Ô#Ø—
‘
˜4Ÿ?™?¨EÔ2Ø—
‘
˜3–à—
‘
˜3–à�_‰_Ò(Ø�J‰J�vÔØ�J‰J�t—‘¨Ö.ñ )r*   c                ó\   <€ V ^8„  d   QhRS[ P                  S[P                  ,          RR/# )r$   r
   r&   N)r4   r–   r
   r—   )r'   r¥   s   "€r(   r)   r    s(   ø€ ÷ ,ñ ,¡q§z¡z±%·*±*Õ'=ð ,À$ñ ,r*   c           
     óø  € \        4       pV F  pVP                  V4       K  	  V P                  VP                  R3V P                  VP                  R33 EF  w  rEp\	        V4       EF  pWt9  d   V P                  4       WG&   V P                  R4       V P                  4        V P                  WG,           RV RV: R24       V P                  4        V P                  R4       V P                  4        V P                  R4       V P                  R	WG,           R
24       V P                  4        V P                  RVRR  RV: R24       V P                  4        V P                  4        EK
  	  EK!  	  R# )a¦  Find all filter and test names used in the template and
assign them to variables in the compiled namespace. Checking
that the names are registered with the environment is done when
compiling the Filter and Test nodes. If the node is in an If or
CondExpr node, the check is done at runtime instead.

.. versionchanged:: 3.0
    Filters and tests in If and CondExpr nodes are checked at
    runtime instead of compile time.
ré   rê   útry:z = environment.Ú[Ú]zexcept KeyError:z@internalcodeúdef z
(*unused):zraise TemplateRuntimeError("No Nú named z	 found.")éÿÿÿÿ)	rä   r<   ré   rê   Úsortedr6  r<  rE  rF  )r-   r
   rW   r/   Úid_mapr•   Ú
dependencyrf   s   &&      r(   Úpull_dependenciesÚCodeGenerator.pull_dependencies  sC  € ô *Ó+ˆãˆDØ�M‰M˜$Öñ ð �\‰\˜7Ÿ?™?¨IÐ6à—
‘
Ø—‘Øðô*
Ñ%ˆF˜:ô ˜uŸ�ØÔ%Ø#'×#<Ñ#<Ó#>�F‘Lð —‘˜vÔ&Ø—‘”Ø—‘ &¥, ¨¸z¸lÈ!ÈDÉ8ÐSTÐUÔVØ—‘”Ø—‘Ð1Ô2Ø—‘”Ø—‘˜Ô/Ø—‘  f¥l ^°:Ð>Ô?Ø—‘”Ø—‘Ø5°jÀÀ"°oÐ5FØ˜d™X Yð0ôð —‘”Ø—‘—ô) &ó*
r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# r9  r:  )r'   r¥   s   "€r(   r)   r  H  s   ø€ ÷ >ñ >¡ð >¨4ñ >r*   c           	     óÞ  € . pVP                   P                  P                  4        F•  w  pw  rEV\        8X  d   K  V\        8X  d,   V P                  V R V P                  4        RV: R24       KK  V\        8X  d   V P                  V R V 24       Kn  V\        8X  d   VP                  V4       KŒ  \        R4      h	  V'       d&   V P                  R P                  V4       R24       R# R# )ú = rM   rO   zunknown load instructionú
 = missingN)r½   Úloadsr’   r   r   r<  Úget_resolve_funcr   r   rj  ÚNotImplementedErrorÚjoin)r-   r0   ÚundefsÚtargetÚactionÚparams   &&    r(   Úenter_frameÚCodeGenerator.enter_frameH  sÑ   € ØˆØ',§}¡}×':Ñ':×'@Ñ'@Ö'BÑ#ˆF‘O�VØÔ+Ô+ÙØÔ+Ô+Ø—‘ & ¨¨T×-BÑ-BÓ-DÐ,EÀQÀuÁiÈqÐQÖRØœ>Ô)Ø—‘ & ¨¨U¨GÐ4Ö5ØÔ-Ô-Ø—‘˜fÖ%ä)Ð*DÓEÐEñ (C÷ Ø�N‰N˜eŸj™j¨Ó0Ð1°Ð<Ö=ñ r*   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r$   r0   Úwith_python_scoper&   NrA  )r'   r¥   s   "€r(   r)   r  X  s'   ø€ ÷ Bñ B¡ð B¹4ð BÈDñ Br*   c                óÔ   € V'       g`   . pVP                   P                   F  pVP                  V4       K  	  V'       d&   V P                  R P	                  V4       R24       R# R# R# )rœ  r�  N)r½   rž  rj  r<  r¡  )r-   r0   r©  r¢  r£  s   &&&  r(   Úleave_frameÚCodeGenerator.leave_frameX  sT   € ß ØˆFØŸ-™-×-Ô-�Ø—‘˜fÖ%ñ .çØ—‘ %§*¡*¨VÓ"4Ð!5°ZÐ@ÖAñ ñ	 !r*   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# )r$   Úasync_valueÚ
sync_valuer&   r3  )r'   r¥   s   "€r(   r)   r  `  s(   ø€ ÷ Hñ H©ð HÁCð HÑQTñ Hr*   c                óB   € V P                   P                  '       d   V# T# r8   )rP   Úis_async)r-   r®  r¯  s   &&&r(   Úchoose_asyncÚCodeGenerator.choose_async`  s   € Ø"×.Ñ.×7×7Ð7ˆ{ÐG¸ZÐGr*   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r$   rf   r&   r3  )r'   r¥   s   "€r(   r)   r  c  s   ø€ ÷ 2ñ 2™ð 2¡ñ 2r*   c                ó,   € V P                  4        R V 2# )r’  )r²  )r-   rf   s   &&r(   ÚfuncÚCodeGenerator.funcc  s   € Ø×#Ñ#Ó%Ð& d¨4¨&Ð1Ð1r*   c                ó¨   <€ V ^8„  d   QhRS[ P                  S[P                  S[P                  3,          RS[RS[ P                  S[S[3,          /# )r$   r/   r0   r&   )r4   r¢   r
   r£   r¤   r1   ÚTuplerŸ   )r'   r¥   s   "€r(   r)   r  f  sM   ø€ ÷ Q ñ Q Ù—G‘G™EŸK™K©¯©Ð8Õ9ðQ ÙBGðQ á	
�‰‘™�Õ	!ñQ r*   c           
     ó@  € VP                  4       pVP                  P                  V4       \        V4      pRp\	        4       p. p\        VP                  4       Fx  w  rxVP                  R8X  d   TpVP                  R9   d   VP                  VP                  4       VP                  VP                  P                  VP                  4      4       Kz  	  \        VP                  R4      p	RV	9   de   Ve0    VP                  V\        VP                  4      ,
          ,           M*VP                  VP                  P%                  R4      4       RVn        RV	9   d9   RV9  d2   VP                  VP                  P%                  R4      4       RVn        RV	9   d9   RV9  d2   VP                  VP                  P%                  R4      4       RVn        RVn        VP                  P                  V4       V P/                  V P1                  R4       R	R
P3                  V4       R2V4       V P5                  4        V P7                  V4       V P9                  V4       V P;                  V4       \        VP                  4       FÃ  w  rxVP                  P                  VP                  4      p
V P/                  RV
 R24       V P5                  4         VP                  V\        VP                  4      ,
          ,          pV P/                  V
 R24       V P=                  W²4       V P?                  V
4       V PA                  4        KÅ  	  V PC                  4        V PE                  VP                  V4       V PG                  VRR7       V PI                  VRR7       V PA                  4        W#3#   \         d!    T P!                  RTP"                  4        EL‹i ; i  \         d4    T P/                  T
 RTP                  : RTP                  : R24        Lõi ; i)z/Dump the function def of a macro or call block.NÚcallerr2   ÚvarargszhWhen defining macros or call blocks the special "caller" argument must be omitted or be given a default.TFÚmacrorM   rL   ú):úif ú is missing:rœ  z = undefined("parameter z was not provided", name=rO   )r@  ©r©  )r2   r¼  )r»  r2   r¼  )%rØ   r½   Úanalyze_noderŸ   rŽ   Ú	enumerater…  rf   rñ   rj  Úrefr�   ÚbodyÚdefaultsÚlenÚ
IndexErrorr0  r.  Údeclare_parameterr©   rª   r«   r¾   r<  r¶  r¡  rE  r¿   r¦  Úpush_parameter_definitionsr<   Úmark_parameter_storedrF  Úpop_parameter_definitionsrd  rH  r«  )r-   r/   r0   Ú	macro_refÚexplicit_callerÚskip_special_paramsr…  Úidxr‰  rœ   rÄ  Údefaults   &&&         r(   Ú
macro_bodyÚCodeGenerator.macro_bodyf  sP  € ð —‘“ˆØ�‰×"Ñ" 4Ô(Ü˜T“Nˆ	àˆÜ!›eÐØˆä! $§)¡)Ö,‰HˆCØ�x‰x˜8Ô#Ø"%�Ø�x‰xÐ0Ô0Ø#×'Ñ'¨¯©Ô1Ø�K‰K˜Ÿ™×)Ñ)¨#¯(©(Ó3Ö4ñ -ô % T§Y¡YÐ0OÓPˆ
à�zÔ!ð Ò*ðØ—M‘M /´C¸¿	¹	³NÕ"B×Cð —‘˜EŸM™M×;Ñ;¸HÓEÔFØ(,ˆIÔ%Ø�zÔ! hÐ6IÔ&IØ�K‰K˜Ÿ™×7Ñ7¸ÓAÔBØ(,ˆIÔ%Ø˜
Ô" yÐ8KÔ'KØ�K‰K˜Ÿ™×7Ñ7¸	ÓBÔCØ)-ˆIÔ&ð &+ˆÔ"Ø�‰×"Ñ" 4Ô(Ø�‰˜$Ÿ)™) GÓ,Ð-¨Q¨t¯y©y¸«Ð.?¸rÐBÀDÔIØ�‰Œà�‰�EÔØ×Ñ˜Ôà×'Ñ'¨Ô.Ü! $§)¡)Ö,‰HˆCØ—-‘-×#Ñ# C§H¡HÓ-ˆCØ�N‰N˜S   \Ð2Ô3Ø�K‰KŒMð	+ØŸ-™-¨¬c°$·)±)«nÕ(<Õ=�ð —‘ #  c˜{Ô+Ø—
‘
˜7Ô*Ø×&Ñ& sÔ+Ø�L‰LŽNñ -ð  	×&Ñ&Ô(à�‰˜Ÿ	™	 5Ô)Ø×#Ñ# E¸4Ð#Ô@Ø×Ñ˜°$ÐÔ7Ø�‰ŒàÐÐøôe "ô Ø—I‘Ið1ð Ÿ™÷	ðûôB ô Ø—‘Ø�eÐ3°C·H±H±<ð @Ø ŸX™X™L¨ð+öðús$   Ã8-N1 Ë-OÎ1'OÏOÏ;PÐPc                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r$   rÍ  r0   r&   N)rŸ   r1   )r'   r¥   s   "€r(   r)   r  ¹  s"   ø€ ÷ 

ñ 

¡8ð 

±Eð 

¸dñ 

r*   c                ól  € RP                  R VP                  P                   4       4      p\        VP                  RR4      p\	        VP                  P                  4      ^8X  d
   VR,          pV P                  RV: RV RVP                  : RVP                  : RVP                  : R	24       R# )
z<Dump the macro definition for the def created by macro_body.rL   c              3   óL   "  € T F  p\        VP                  4      x € K  	  R # 5ir8   )Úreprrf   r€  s   & r(   r   Ú*CodeGenerator.macro_def.<locals>.<genexpr>»  s   é € ÐHÑ4G¨qœd 1§6¡6Ÿl˜lÓ4Gùs   ‚"$rf   NÚ,zMacro(environment, macro, z, (z), z, context.eval_ctx.autoescape))	r¡  r/   r…  ÚgetattrrÇ  rS   rª   r«   r©   )r-   rÍ  r0   Ú	arg_tuplerf   s   &&&  r(   Ú	macro_defÚCodeGenerator.macro_def¹  s¥   € à—I‘IÑH°I·N±N×4GÒ4GÓHÓHˆ	Ü�y—~‘~ v¨tÓ4ˆÜˆy�~‰~×"Ñ"Ó# qÔ(Ø˜ÕˆIØ�
‰
Ø(¨©°°I°;ð ?Ø×)Ñ)Ñ,¨B¨y×/IÑ/IÑ.Lð MØ×)Ñ)Ñ,Ð,JðLö	
r*   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# )r$   r/   r&   )r
   r—   rD   )r'   r¥   s   "€r(   r)   r  Å  s   ø€ ÷ ñ ™UŸZ™Zð ©Cñ r*   c                ód   € RVP                    2pV P                  e   V RV P                  : 2pV# )z.Return a human readable position for the node.zline ú in )r.  rf   )r-   r/   rÒ   s   && r(   ÚpositionÚCodeGenerator.positionÅ  s5   € à�T—[‘[�MÐ"ˆØ�9‰9Ò Ø�4�t˜DŸI™I™=Ð)ˆBØˆ	r*   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r$   r0   r&   ©r1   rD   )r'   r¥   s   "€r(   r)   r  Ì  s   ø€ ÷ !ñ !©ð !±#ñ !r*   c                óŠ   € R P                  R VP                  P                  4       P                  4        4       4      pRV R2# )rL   c              3   ó6   "  € T F  w  rV: R V 2x € K  	  R# 5i©r‚  NrÉ   )r}   rf   r£  s   &  r(   r   Ú3CodeGenerator.dump_local_context.<locals>.<genexpr>Í  s$   é € ð 
á C‘�ð ‰h�b˜˜Õ!Û Cùs   ‚Ú{rƒ  )r¡  r½   Údump_storesr’   )r-   r0   Úitems_kvs   && r(   Údump_local_contextÚ CodeGenerator.dump_local_contextÌ  sD   € Ø—9‘9ñ 
à %§¡× 9Ñ 9Ó ;× AÑ AÔ Có
ó 
ˆð �H�:˜RÐ Ð r*   c                ó   <€ V ^8„  d   QhRR/# ræ   rÉ   )r'   r¥   s   "€r(   r)   r  Ó  s   ø€ ÷ +ñ +˜tñ +r*   c                ó°   € V P                  R4       V P                  R4       V P                  R4       V P                  R4       V P                  R4       R# )zŸWrites a common preamble that is used by root and block functions.
Primarily this sets up common local helpers and enforces a generator
through a dead branch.
z$resolve = context.resolve_or_missingz!undefined = environment.undefinedzconcat = environment.concatzcond_expr_undefined = Undefinedzif 0: yield NoneN©r<  rë   s   &r(   Úwrite_commonsÚCodeGenerator.write_commonsÓ  sG   € ð
 	�‰Ð=Ô>Ø�‰Ð:Ô;Ø�‰Ð4Ô5ð 	�‰Ð8Ô9Ø�‰Ð)Ö*r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# r9  r:  )r'   r¥   s   "€r(   r)   r  à  s   ø€ ÷ Iñ I±ð I¸$ñ Ir*   c                ól   € V P                   P                  VP                  P                  4       4       R# )a)  Pushes all parameter targets from the given frame into a local
stack that permits tracking of yet to be assigned parameters.  In
particular this enables the optimization from `visit_Name` to skip
undefined expressions for parameters in macros as macros can reference
otherwise unbound parameters.
N)r%  rj  r½   Údump_param_targetsr=  s   &&r(   rÊ  Ú(CodeGenerator.push_parameter_definitionsà  s%   € ð 	×Ñ×$Ñ$ U§]¡]×%EÑ%EÓ%GÖHr*   c                ó   <€ V ^8„  d   QhRR/# ræ   rÉ   )r'   r¥   s   "€r(   r)   r  é  s   ø€ ÷ $ñ $¨4ñ $r*   c                ó:   € V P                   P                  4        R# )z+Pops the current parameter definitions set.N)r%  Úpoprë   s   &r(   rÌ  Ú'CodeGenerator.pop_parameter_definitionsé  s   € à×Ñ×!Ñ!Ö#r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r$   r£  r&   Nr3  )r'   r¥   s   "€r(   r)   r  í  s   ø€ ÷ 6ñ 6©Cð 6°Dñ 6r*   c                ór   € V P                   '       d%   V P                   R,          P                  V4       R# R# )zpMarks a parameter in the current parameter definitions as stored.
This will skip the enforced undefined checks.
Nr”  )r%  r
  ©r-   r£  s   &&r(   rË  Ú#CodeGenerator.mark_parameter_storedí  s.   € ð × × Ð Ø×!Ñ! "Õ%×-Ñ-¨fÖ5ñ !r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# rý  r3  )r'   r¥   s   "€r(   r)   r  ô  s   ø€ ÷ 5ñ 5©Sð 5°Tñ 5r*   c                ó<   € V P                   P                  V4       R # r8   )r&  rj  rÿ  s   &&r(   Úpush_context_referenceÚ$CodeGenerator.push_context_referenceô  s   € Ø×%Ñ%×,Ñ,¨VÖ4r*   c                ó   <€ V ^8„  d   QhRR/# ræ   rÉ   )r'   r¥   s   "€r(   r)   r  ÷  s   ø€ ÷ ,ñ , tñ ,r*   c                ó:   € V P                   P                  4        R # r8   )r&  rú  rë   s   &r(   Úpop_context_referenceÚ#CodeGenerator.pop_context_reference÷  s   € Ø×%Ñ%×)Ñ)Ö+r*   c                ó    <€ V ^8„  d   QhRS[ /# r)  r3  )r'   r¥   s   "€r(   r)   r  ú  s   ø€ ÷ 1ñ 1¡ñ 1r*   c                ó(   € V P                   R,          # )é   r”  ©r&  rë   s   &r(   Úget_context_refÚCodeGenerator.get_context_refú  s   € Ø×,Ñ,¨RÕ0Ð0r*   c                ó    <€ V ^8„  d   QhRS[ /# r)  r3  )r'   r¥   s   "€r(   r)   r  ý  s   ø€ ÷ #ñ #¡#ñ #r*   c                óD   € V P                   R,          pVR8X  d   R# V R2# )r  r  Úresolvez.resolver”  r  rÿ  s   & r(   rŸ  ÚCodeGenerator.get_resolve_funcý  s*   € Ø×.Ñ.¨rÕ2ˆØ�YÔÙØ�˜Ð"Ð"r*   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rä  rå  )r'   r¥   s   "€r(   r)   r    s   ø€ ÷ Uñ U¡Eð U©cñ Ur*   c                óL   € V P                  4        R V P                  V4       R2# )z	.derived(rO   )r  rí  r=  s   &&r(   Úderive_contextÚCodeGenerator.derive_context  s,   € Ø×&Ñ&Ó(Ð)¨°4×3JÑ3JÈ5Ó3QÐ2RÐRSÐTÐTr*   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r$   r£  r&   )rD   rn   )r'   r¥   s   "€r(   r)   r    s   ø€ ÷ 3ñ 3©cð 3±dñ 3r*   c                óT   € V P                   '       g   R# WP                   R,          9   # )z4Checks if a given target is an undeclared parameter.Fr”  )r%  rÿ  s   &&r(   Úparameter_is_undeclaredÚ%CodeGenerator.parameter_is_undeclared  s%   € à×$×$Ð$ÙØ×.Ñ.¨rÕ2Ñ2Ð2r*   c                ó   <€ V ^8„  d   QhRR/# ræ   rÉ   )r'   r¥   s   "€r(   r)   r    s   ø€ ÷ )ñ ) dñ )r*   c                óL   € V P                   P                  \        4       4       R# )z+Pushes a new layer for assignment tracking.N)r$  rj  rŽ   rë   s   &r(   Úpush_assign_trackingÚ"CodeGenerator.push_assign_tracking  s   € à×Ñ×!Ñ!¤#£%Ö(r*   c                ó$   <€ V ^8„  d   QhRS[ RR/# r9  r:  )r'   r¥   s   "€r(   r)   r    s   ø€ ÷ )Oñ )O©ð )O°4ñ )Or*   c                óD  € V P                   P                  4       pVP                  '       g%   VP                  '       g   VP                  '       d	   V'       g   R# V Uu. uF  q3R,          R8w  g   K  VNK  	  pp\        V4      ^8X  d¡   \        \        V4      4      pVP                  P                  V4      pVP                  '       d   V P                  RV: RV 24       R# VP                  '       d   V P                  RV: RV 24       R# V P                  RV: RV 24       MÒVP                  '       d   V P                  R4       M5VP                  '       d   V P                  R	4       MV P                  R
4       \        \        V4      4       FP  w  ruV'       d   V P                  R4       VP                  P                  V4      pV P                  V: RV 24       KR  	  V P                  R4       VP                  '       g�   VP                  '       gy   V'       do   \        V4      ^8X  d    V P                  RV^ ,          : R24       R# RP                  \        \         \        V4      4      4      pV P                  RV R24       R# R# R# R# u upi )z_Pops the topmost level for assignment tracking and updates the
context variables if necessary.
N:Nr  NÚ_z_loop_vars[ú] = z_block_vars[úcontext.vars[z_loop_vars.update({z_block_vars.update({úcontext.vars.update({rL   r‚  ú})úcontext.exported_vars.add(rO   zcontext.exported_vars.update((rC  )r$  rú  rÄ   rÃ   rÁ   rÇ  ÚnextÚiterr½   rÄ  r<  rÃ  r•  rS   r¡  Úmapr×  )	r-   r0   Úvarsrg  Úpublic_namesrf   rÄ  rÐ  Ú	names_strs	   &&       r(   Úpop_assign_trackingÚ!CodeGenerator.pop_assign_tracking  s  € ð ×!Ñ!×%Ñ%Ó'ˆà×!×!Ð!Ø×$×$Ð$Ø—N—N�NßáÙ#'Ó8¡4˜a¨R­5°C©<Ÿ˜¡4ˆÐ8Üˆt‹9˜Œ>Üœ˜T›
Ó#ˆDØ—-‘-×#Ñ# DÓ)ˆCØ××ÐØ—‘ ¨T©H°D¸¸Ð>Ô?ÙØ× × Ð Ø—‘ ¨d©X°T¸#¸Ð?Ô@ÙØ�N‰N˜]¨4©(°$°s°eÐ<Õ=à××ÐØ—‘Ð4Õ5Ø×"×"Ð"Ø—‘Ð5Õ6à—‘Ð6Ô7Ü&¤v¨d£|Ö4‘	�ßØ—J‘J˜tÔ$Ø—m‘m×'Ñ'¨Ó-�Ø—
‘
˜d™X R¨ uÐ-Ö.ñ	 5ð
 �J‰J�tÔØ× × Ð ¨×)9×)9Ð)9¿lÜ�<Ó  AÔ%Ø—‘Ð!;¸LÈ½OÑ;NÈaÐPÖQà ŸI™I¤c¬$´°|Ó0DÓ&EÓF�	Ø—‘Ð!?À	¸{È"ÐMÖNñ ?KÑ)9Ñ ùò1 9s   ÁJÁ3Jc                ób   <€ V ^8„  d   QhRS[ P                  RS[P                  S[,          RR/# ©r$   r/   r0   r&   N)r
   rk   r4   rl   r1   )r'   r¥   s   "€r(   r)   r  =  s7   ø€ ÷ x9ñ x9Ù—N‘Nðx9Ù+,¯:©:±eÕ+<ðx9à	ñx9r*   c           	     óÜ  € Ve   Q R4       h\        V P                  V P                  4      p^RIHp ^RIHp V P                  P                  '       d   \        WT,           4      pM\        V4      pV P                  RRP                  V4      ,           4       V P                  '       d   RMRpVP                  \        P                  4      R JpVP                  \        P                  4       Fa  p	V	P                  V P                   9   d,   V P#                  RV	P                  : R	2V	P$                  4       W�P                   V	P                  &   Kc  	  VP                  \        P&                  4       F™  p
V
P(                  V P*                  9  g   K   V
P(                  pV P-                  4       ;V P*                  V&   pR
V9   d1   VP/                  R
^4      w  rÞV P                  RV RV RV 24       K‚  V P                  RV RV 24       K›  	  V P                  RV P                  : 24       V P                  V P1                  R4       RV R2^R7       V P3                  4        V P5                  4        \7        V4      pR\9        VP:                  R,4      9   d0   VP<                  P?                  R4      pV P                  V R24       VP<                  PA                  V4       R;Vn!        Vn"        T;'       d    V PF                  '       * Vn$        V'       d   V P                  R4       V PK                  V4       V PM                  VP:                  4       V PO                  VP:                  V4       V PQ                  VRR7       V PS                  4        V'       Ed.   V PF                  '       g"   V P3                  4        V P                  R4       V P3                  4        V P                  P                  '       g   V P                  R4       M•V P                  R4       V P                  R4       V P3                  4        V P                  R4       V P3                  4        V P                  R4       V PS                  4        V PS                  4        V P                  R4       V PS                  ^V PF                  '       * ,           4       V P                   PU                  4        EF�  w  pp	V P                  V P1                  R V,           4       RV R2V	^4       V P3                  4        V P5                  4        \7        V4      pRVn+        \9        V	P:                  R-4      pRV9   d0   VP<                  P?                  R4      pV P                  V R24       R!V9   d7   VP<                  P?                  R!4      pV P                  V R"V: R#V R$24       VP<                  PA                  V	4       VVn,        V P                  R%4       V PK                  V4       V PM                  V	P:                  4       V PO                  V	P:                  V4       V PQ                  VRR7       V PS                  4        EK’  	  RP                  R& V P                    4       4      pV P                  R'V R(2^R7       R)P                  R* V PZ                   4       4      pV P                  R+V: 24       R # ).Nzno root frame allowed)Úasync_exported)Úexportedzfrom jinja2.runtime import rL   Ú z, environment=environmentzblock z defined twiceÚ.zfrom z import z as zimport zname = Úrootz(context, missing=missingr¾  )rm  r-   z = TemplateReference(context)Tzparent_template = NonerÁ  úif parent_template is not None:z4yield from parent_template.root_render_func(context)z0agen = parent_template.root_render_func(context)r�  zasync for event in agen:zyield eventzfinally: await agen.aclose()Úblock_Úsuperz = context.super(z, block_rO   z_block_vars = {}c              3   ó0   "  € T F  q: R V 2x € K  	  R# 5i)z: block_NrÉ   r€  s   & r(   r   Ú/CodeGenerator.visit_Template.<locals>.<genexpr>²  s   é € Ð!K¹{¸!¡E¨°!°Õ"5»{ùs   ‚z
blocks = {rƒ  Ú&c              3   ó4   "  € T F  w  rV R V 2x € K  	  R# 5i©r�  NrÉ   rƒ   s   &  r(   r   r;  ´  s   é € ÐG±©t¨q 1 # Q q c¥
³ùs   ‚zdebug_info = rë   )r-   r9  ).r   rP   rf   Úruntimer2  r3  r±  r•  r<  r¡  ri   Úfindr
   ÚExtendsÚfind_allrû   r  r0  r.  ÚImportedNameÚ
importnamer  r6  Úrsplitr¶  rE  rò  r1   r�   rÅ  r½   rÉ  rÂ  rÁ   rÂ   r  r¾   r¦  r˜  rd  r«  rF  r’   rÄ   rÀ   r  )r-   r/   r0   r:   r2  r3  Úexported_namesÚenvenvÚhave_extendsrÀ   Úimport_ÚimpÚaliasÚmoduleÚobjrÄ  rf   rÄ   rœ   Úblocks_kv_strÚdebug_kv_strs   &&&                  r(   Úvisit_TemplateÚCodeGenerator.visit_Template=  sz  € ð Š}Ð5Ð5Ó5ˆ}Ü˜t×/Ñ/°·±Ó;ˆå+Ý%à×Ñ×$×$Ð$Ü# HÕ$=Ó>‰Nä# HÓ-ˆNà�‰Ð4°t·y±yÀÓ7PÕPÔQð ——�‘Ð,Gˆð —y‘y¤§¡Ó/°tÐ;ˆð —]‘]¤5§;¡;Ö/ˆEØ�z‰z˜TŸ[™[Ô(Ø—	‘	˜F 5§:¡:¡.°Ð?ÀÇÁÔNØ&+�K‰K˜Ÿ
™
Ó#ñ 0ð —}‘}¤U×%7Ñ%7Ö8ˆGØ×!Ñ!¨×)<Ñ)<Ö<Ø×(Ñ(�Ø37×3LÑ3LÓ3NÐN�×#Ñ# CÑ(¨5Ø˜#”:Ø"%§*¡*¨S°!Ó"4‘K�FØ—N‘N U¨6¨(°(¸3¸%¸tÀEÀ7Ð#KÖLà—N‘N W¨S¨E°°e°WÐ#=Ö>ñ 9ð 	�‰˜ §¡¡Ð.Ô/ð 	�‰Ø�y‰y˜Ó Ð!Ð!:¸6¸(À"ÐEÈQð 	ô 	
ð 	�‰ŒØ×ÑÔô �h“ˆØ”_ T§Y¡Y°	Ó:Ô:Ø—-‘-×1Ñ1°&Ó9ˆCØ�N‰N˜c˜UÐ"?Ð@ÔAØ�‰×"Ñ" 4Ô(Ø+/Ð/ˆŒ˜œØ%1×%PÐ%P¸$×:PÑ:PÔ6PˆÔ"ßØ�N‰NÐ3Ô4Ø×Ñ˜ÔØ×Ñ˜tŸy™yÔ)Ø�‰˜Ÿ	™	 5Ô)Ø×Ñ˜°$ÐÔ7Ø�‰Œ÷ ˆ<Ø×)×)Ð)Ø—‘”Ø—‘Ð@ÔAØ�K‰KŒMØ×#Ñ#×,×,Ð,Ø—‘ÐUÕVà—‘ÐQÔRØ—‘˜vÔ&Ø—‘”Ø—‘Ð9Ô:Ø—‘”Ø—‘˜}Ô-Ø—‘”Ø—‘”Ø—‘Ð=Ô>Ø�L‰L˜ $×"8Ñ"8Ô8Õ9Ô:ð  Ÿ;™;×,Ñ,×.‰KˆD�%Ø�N‰NØ—9‘9˜X¨�_Ó-Ð.Ð.GÈÀxÈrÐRØØôð
 �K‰KŒMØ×ÑÔ ô   ›/ˆKØ&*ˆKÔ#Ü(¨¯©Ð5FÓGˆJØ˜Ô#Ø!×)Ñ)×;Ñ;¸FÓC�Ø—‘ # Ð&CÐDÔEØ˜*Ô$Ø!×)Ñ)×;Ñ;¸GÓD�Ø—‘ # Ð&7¸±x¸xÈÀvÈQÐOÔPØ×Ñ×,Ñ,¨UÔ3Ø $ˆKÔØ�N‰NÐ-Ô.Ø×Ñ˜[Ô)Ø×"Ñ" 5§:¡:Ô.Ø�O‰O˜EŸJ™J¨Ô4Ø×Ñ˜[¸DÐÔAØ�L‰L�Nñ7 /ð: Ÿ	™	Ñ!K¸t¿{º{Ó!KÓKˆØ�‰˜ ] O°2Ð6¸aˆÔ@Ø—x‘xÑG°t·²ÓGÓGˆØ�‰˜ |Ñ&6Ð7Ö8r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rû   r1   )r'   r¥   s   "€r(   r)   r  ·  s&   ø€ ÷ /ñ /¡§¡ð /±Eð /¸dñ /r*   c                óv  € ^ pVP                   '       dP   V P                  '       d   R# V P                  ^ 8”  d+   V P                  R4       V P	                  4        V^,          pVP
                  '       d   V P                  V4      pMV P                  4       pVP                  '       dc   V P                  RVP                  : R2V4       V P	                  4        V P                  RVP                  : R2V4       V P                  4        V P                  P                  '       g4   VP                  f&   V P                  RVP                  : RV R	2V4       MÍV P                  R
VP                  : RV R	24       V P                  R4       V P	                  4        V P                  V P                  4        R2V4       V P	                  4        V P                  RV4       V P                  4        V P                  4        V P                  RV P                  RR4       24       V P                  V4       R# )z.Call a block and register it for the template.Núif parent_template is None:zif len(context.blocks[z]) <= 1:z+raise TemplateRuntimeError("Required block z not found")zyield from context.blocks[z][0](rO   zgen = context.blocks[r�  úfor event in gen:Úeventú	finally: úawait gen.aclose()úgen.close())rÁ   r  r  r<  rE  Úscopedr  r  Úrequiredrf   rF  rP   r±  r¿   r²  r_  )r-   r/   r0   r¹   r  s   &&&  r(   rý   ÚCodeGenerator.visit_Block·  sÇ  € àˆØ�>�>ˆ>ð ×%×%Ð%ÙØ×"Ñ" QÔ&Ø—‘Ð<Ô=Ø—‘”Ø˜•
�à�;�;ˆ;Ø×)Ñ)¨%Ó0‰Gà×*Ñ*Ó,ˆGà�=�=ˆ=Ø�N‰NÐ3°D·I±I±=ÀÐIÈ4ÔPØ�K‰KŒMØ�N‰NØ=¸d¿i¹i¹]È,ÐWØôð �L‰LŒNà×Ñ×(×(Ð(¨U¯\©\Ò-AØ�N‰NØ,¨T¯Y©Y©M¸¸w¸iÀqÐIÈ4õð �N‰NÐ2°4·9±9±-¸uÀWÀIÈQÐOÔPØ�N‰N˜6Ô"Ø�K‰KŒMØ�N‰NØ×$Ñ$Ó&Ð'Ð'8Ð9Øôð �K‰KŒMØ×Ñ˜g uÔ-Ø�L‰LŒNØ�L‰LŒNØ�N‰NØ˜D×-Ñ-Ð.BÀMÓRÐSÐTôð 	�‰�UÖr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rA  r1   )r'   r¥   s   "€r(   r)   r  è  s&   ø€ ÷ (!ñ (!¡%§-¡-ð (!¹ð (!À$ñ (!r*   c                óè  € VP                   '       g   V P                  RVP                  4       V P                  ^ 8”  dq   V P                  '       g"   V P                  R4       V P                  4        V P                  R4       V P                  '       d   \        4       hV P                  4        V P                  RV4       V P                  VP                  V4       V P                  RV P                  : R24       V P                  R4       V P                  4        V P                  R4       V P                  4        VP                  '       d   R	V n        V ;P                  ^,          un        R
# )zCalls the extender.z,cannot use extend from a non top-level scoper7  z5raise TemplateRuntimeError("extended multiple times")z+parent_template = environment.get_template(rL   rO   z9for name, parent_block in parent_template.blocks.items():z8context.blocks.setdefault(name, []).append(parent_block)TN)rÁ   r0  r.  r  r  r<  rE  r  rF  r<   ÚtemplaterS   rf   rÂ   ©r-   r/   r0   s   &&&r(   Úvisit_ExtendsÚCodeGenerator.visit_Extendsè  s
  € à�~�~ˆ~Ø�I‰IÐDÀdÇkÁkÔRð
 ×Ñ Ô"ð
 ×)×)Ð)Ø—‘Ð@ÔAØ—‘”Ø�N‰NÐRÔSð ×%×%Ð%Ü"“nÐ$à—‘”à�‰ÐDÀdÔKØ�
‰
�4—=‘= %Ô(Ø�
‰
�R˜Ÿ	™	‘} AÐ&Ô'Ø�‰ÐRÔSØ�‰ŒØ�‰ÐQÔRØ�‰Œð
 �?�?ˆ?Ø%)ˆDÔ"ð 	×Ò˜qÕ ×r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚIncluder1   )r'   r¥   s   "€r(   r)   r    s&   ø€ ÷ 8ñ 8¡%§-¡-ð 8¹ð 8À$ñ 8r*   c                ó   a a€ VP                   '       d"   S P                  R4       S P                  4        Rp\        VP                  \
        P                  4      '       da   \        VP                  P                  \        4      '       d   RpMo\        VP                  P                  \        \        34      '       d   RpM<\        VP                  \
        P                  \
        P                  34      '       d   RpS P                  RV R2V4       S P                  VP                  S4       S P                  RS P                  : R24       VP                   '       dt   S P!                  4        S P                  R	4       S P                  4        S P                  R
4       S P!                  4        S P                  R4       S P                  4        R VV 3R llpVP"                  '       d¤   S P                  RS P%                  S4       R24       S P                  R4       S P                  4        S P                  S P'                  4        R24       V! 4        S P!                  4        S P                  RS P'                  RR4       24       MFS P(                  P*                  '       d   S P                  R4       V! 4        MS P                  R4       VP                   '       d   S P!                  4        R# R# )zHandles includes.r�  Úget_or_select_templateÚget_templateÚselect_templateztemplate = environment.rM   rL   rO   zexcept TemplateNotFound:rc  rD  c                ó   € V ^8„  d   QhRR/# ræ   rÉ   )r'   s   "r(   r)   Ú1CodeGenerator.visit_Include.<locals>.__annotate__-  s   € ÷ 	ñ 	˜4ñ 	r*   c                  ól   <€ SP                  4        SP                  R S 4       SP                  4        R# )rV  N)rE  r_  rF  )r0   r-   s   €€r(   Ú	loop_bodyÚ.CodeGenerator.visit_Include.<locals>.loop_body-  s%   ø€ Ø�K‰KŒMØ×Ñ˜g uÔ-Ø�L‰LŽNr*   zNgen = template.root_render_func(template.new_context(context.get_all(), True, rC  rU  rW  rX  rY  zGfor event in (await template._get_default_module_async())._body_stream:z6yield from template._get_default_module()._body_streamN)Úignore_missingr<  rE  rp   r_  r
   ÚConstrx   rD   rŒ   r�   r¹  ÚListr<   rS   rf   rF  Úwith_contextrí  r²  rP   r±  )r-   r/   r0   Ú	func_namerl  s   f&f  r(   Úvisit_IncludeÚCodeGenerator.visit_Include  s2  ù€ à××ÐØ�N‰N˜6Ô"Ø�K‰KŒMà,ˆ	Ü�d—m‘m¤U§[¡[×1Ò1Ü˜$Ÿ-™-×-Ñ-¬s×3Ò3Ø*‘	Ü˜DŸM™M×/Ñ/´%¼°×?Ò?Ø-�	øÜ˜Ÿ™¬¯©´U·Z±ZÐ'@×AÒAØ)ˆIà�‰Ð0°°¸1Ð=¸tÔDØ�
‰
�4—=‘= %Ô(Ø�
‰
�R˜Ÿ	™	‘} AÐ&Ô'Ø××ÐØ�L‰LŒNØ�N‰NÐ5Ô6Ø�K‰KŒMØ�N‰N˜6Ô"Ø�L‰LŒNØ�N‰N˜7Ô#Ø�K‰KŒM÷	ñ 	ð
 ××ÐØ�N‰Nðà×+Ñ+¨EÓ2Ð3°2ð7ôð
 �N‰N˜6Ô"Ø�K‰KŒMØ�N‰N˜d×/Ñ/Ó1Ð2Ð2CÐDÔEÙŒKØ�L‰LŒNØ�N‰NØ˜D×-Ñ-Ð.BÀMÓRÐSÐTõð ×Ñ×&×&Ð&Ø�N‰Nð!ôñ �Kà�N‰NÐSÔTà××ÐØ�L‰LŽNñ r*   c                ó|   <€ V ^8„  d   QhRS[ P                  S[P                  S[P                  3,          RS[RR/# r0  )r4   r¢   r
   ÚImportÚ
FromImportr1   )r'   r¥   s   "€r(   r)   r  L  sB   ø€ ÷ Uñ UÙ—G‘G™EŸL™L©%×*:Ñ*:Ð:Õ;ðUÙDIðUà	ñUr*   c                ó¨  € V P                  V P                  R 4       R24       V P                  VP                  V4       V P                  RV P                  : R24       VP
                  '       d=   RV P                  R4       2pV P                  V RV P                  V4       R24       R
# V P                  RV P                  R4       R	24       R
# )úawait zenvironment.get_template(rL   z).Úmake_moduleÚ_asyncz(context.get_all(), True, rO   Ú_get_default_modulez	(context)N)rS   r²  r<   r_  rf   rq  rí  )r-   r/   r0   Úf_names   &&& r(   Ú_import_commonÚCodeGenerator._import_commonL  sÁ   € ð 	�
‰
�d×'Ñ'¨Ó1Ð2Ð2KÐLÔMØ�
‰
�4—=‘= %Ô(Ø�
‰
�R˜Ÿ	™	‘} BÐ'Ô(à××ÐØ" 4×#4Ñ#4°XÓ#>Ð"?Ð@ˆFØ�J‰JØ�(Ð4°T×5LÑ5LÈUÓ5SÐ4TÐTUÐVöð �J‰JÐ,¨T×->Ñ->¸xÓ-HÐ,IÈÐSÖTr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rv  r1   )r'   r¥   s   "€r(   r)   r  [  s+   ø€ ÷ 	Nñ 	N¡§¡ð 	N±eð 	NÀñ 	Nr*   c                óª  € V P                  VP                  P                  VP                  4       R2V4       VP                  '       d!   V P                  RVP                  : R24       V P                  W4       VP                  '       dF   VP                  P                  R4      '       g#   V P                  RVP                  : R24       R# R# R# )zVisit regular imports.rœ  r#  r"  r!  úcontext.exported_vars.discard(rO   N)r<  r½   rÄ  r£  rÁ   rS   r~  Ú
startswithr`  s   &&&r(   Úvisit_ImportÚCodeGenerator.visit_Import[  s™   € à�‰˜%Ÿ-™-×+Ñ+¨D¯K©KÓ8Ð9¸Ð=¸tÔDØ�>�>ˆ>Ø�J‰J˜ t§{¡{¡o°TÐ:Ô;à×Ñ˜DÔ(à�>�>ˆ> $§+¡+×"8Ñ"8¸×"=Ò"=Ø�N‰NÐ;¸D¿K¹K¹?È!ÐLÖMñ #>‰>r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rw  r1   )r'   r¥   s   "€r(   r)   r  f  s(   ø€ ÷ 5ñ 5¡U×%5Ñ%5ð 5¹eð 5Èñ 5r*   c           	     ó:  a€ V P                  V4       V P                  R4       V P                  VS4       . p. pVP                   EF`  p\	        V\
        4      '       d   Vw  rVMTpV P                  SP                  P                  V4       RV: R24       V P                  RSP                  P                  V4       R24       V P                  4        V P                  V4      P                  RR4      P                  RR	4      pR
V RV: 2pV P                  SP                  P                  V4       RV: RV: R24       V P                  4        SP                  '       g   EK$  VP                  V4       VP                  R4      '       d   EKO  VP                  V4       EKc  	  V'       d|   \!        V4      ^8X  d<   V^ ,          pV P                  RV: RSP                  P                  V4       24       M0RP#                  V3R lV 4       4      p	V P                  RV	 R24       V'       df   \!        V4      ^8X  d    V P                  RV^ ,          : R24       R# RP#                  \%        \&        V4      4      p
V P                  RV
 R24       R# R# )zVisit named imports.zincluded_template = z = getattr(included_template, z
, missing)r¿  rÀ  rê  z{{rƒ  z}}z9the template {included_template.__name__!r} (imported on z%) does not export the requested name z = undefined(fz, name=rO   r!  r#  r"  rL   c              3   ód   <"  € T F%  q: R SP                   P                  V4       2x € K'  	  R# 5irè  )r½   rÄ  )r}   rf   r0   s   & €r(   r   Ú1CodeGenerator.visit_FromImport.<locals>.<genexpr>�  s-   øé € ð %ÙGP¸t‘h˜b §¡×!2Ñ!2°4Ó!8Ð 9Õ:Ãyùs   ƒ-0r$  r%  r‚  z)context.exported_vars.difference_update((rC  N)ro  rS   r~  r•   rp   rŒ   r<  r½   rÄ  rE  rá  ÚreplacerF  rÁ   rj  rƒ  rÇ  r¡  r)  r×  )r-   r/   r0   Ú	var_namesÚdiscarded_namesrf   rK  rá  ÚmessageÚnames_kvr,  s   &&f        r(   Úvisit_FromImportÚCodeGenerator.visit_FromImportf  sW  ø€ à�‰�TÔØ�
‰
Ð)Ô*Ø×Ñ˜D %Ô(Øˆ	ØˆØ—J•JˆDÜ˜$¤×&Ò&Ø"‘��eà�Ø�N‰NØ—=‘=×$Ñ$ UÓ+Ð,ð -/Ø/3©h°jðBôð �N‰N˜S §¡×!2Ñ!2°5Ó!9Ð :¸,ÐGÔHØ�K‰KŒMð
 —}‘} TÓ*×2Ñ2°3¸Ó=×EÑEÀcÈ4ÓPˆHð!Ø!) 
ð +7Ø7;±hð@ð ð
 �N‰NØ—=‘=×$Ñ$ UÓ+Ð,¨N¸7¹+ÀWÈTÉHÐTUÐVôð �L‰LŒNØ�~�~‹~Ø× Ñ  Ô'Ø×'Ñ'¨×,Õ,Ø#×*Ñ*¨5×1ñ9 ÷< Ü�9‹~ Ô"Ø  •|�Ø—‘ ¨t©h°d¸5¿=¹=×;LÑ;LÈTÓ;RÐ:SÐTÕUàŸ9™9ô %ÙGPó%ó �ð —‘Ð!7¸°zÀÐEÔFßÜ�?Ó# qÔ(Ø—‘Ð!?ÀÐPQÕ@RÑ?UÐUVÐWÖXà ŸI™I¤c¬$°Ó&@ÓA�	Ø—‘Ø?À	¸{È"ÐMöñ r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚForr1   )r'   r¥   s   "€r(   r)   r  �  s0   ø€ ÷ IPñ IP™eŸi™ið IP±ð IP¸$ñ IPr*   c                óî  € VP                  4       pR Vn        VP                  4       pVP                  4       pVP                  ;'       g–    R\        VP	                  R'R7      R(4      9   ;'       go    \
        ;QJ d9    R VP                  \        P                  4       4       F  '       g   K   R M.	  RM*! R VP                  \        P                  4       4       4      pRpV'       d   VP                  P                  R4      pVP                  P                  VRR7       VP                  '       d   VP                  P                  VRR7       VP                  '       Ed·   V P                  4       pVP                  P                  VR	R7       V P                  V P!                  V4       R
2VP                  4       V P#                  4        V P%                  V4       V P                  V P'                  RR4      4       V P)                  VP*                  V4       V P-                  R4       V P-                  V P'                  RR4      4       V P-                  R4       V P#                  4        V P                  RVP                  4       V P)                  VP                  V4       V P-                  R4       V P#                  4        V P                  R4       V P)                  VP*                  V4       V P/                  ^4       V P1                  VR R7       VP                  '       dW   V P                  V P!                  R4       R2V4       V P#                  4        V P3                  V4       VP2                  Vn        V'       d   V P                  V R24       VP                  \        P4                  4       FE  p	V	P6                  R8X  g   K  V	P8                  R8X  g   K)  V P;                  RV	P<                  4       KG  	  VP                  '       d%   V P                  4       p
V P                  V
 R24       V P                  V P'                  RR4      V4       V P)                  VP*                  V4       V'       d)   V P-                  RV RV P'                  R4       R24       MV P-                  R4       VP                  '       d   V P-                  X R24       VP                  '       d   V P-                  R4       M†V P>                  P@                  '       d   V'       g   V P-                  R4       V P)                  VPB                  V4       V P>                  P@                  '       d   V'       g   V P-                  R4       VP                  '       d   V P-                  R4       VP                  '       d   V P-                  R 4       MT P-                  V'       d   R!MR4       V P#                  4        V P%                  V4       V P                  R"4       V PE                  VPF                  V4       VP                  '       d   V P                  X
 R#24       V P/                  4        T P1                  Y1P                  ;'       d    VP                  '       * R7       VP                  '       dt   V P                  RX
 R24       V P#                  4        V P%                  V4       V PE                  VP                  V4       V P1                  V4       V P/                  4        VP                  '       dî   V PI                  V4       V P/                  4        V PK                  W!4       V P-                  V P'                  R$4       R%24       V P>                  P@                  '       d   V P-                  R4       V P)                  VPB                  V4       V P>                  P@                  '       d   V P-                  R4       V P-                  R&4       V PM                  V4       V PN                  '       d9   V PN                  R),          PQ                  VP                  PR                  4       R# R# )*TÚlooprÅ  )Úonlyc              3   ó8   "  € T F  qP                   x € K  	  R # 5ir8   )rZ  )r}   rÀ   s   & r(   r   Ú*CodeGenerator.visit_For.<locals>.<genexpr>ª  s   é € ÐHÑ-G E—<–<Ó-Gùr�   FN)Ú
for_branchÚelseÚtestz(fiter):z
async for zfor rà  zauto_aiter(fiter)ÚfiterÚ:r¿  rT  rÁ  z%(reciter, loop_render_func, depth=0):r�  Ústorez8Can't assign to special loop variable in for-loop targetz = 1rL   ÚAsynczLoopContext(rM   Úreciterzauto_aiter(rO   z&, undefined, loop_render_func, depth):z, undefined):z_loop_vars = {}z = 0ry  zloop(z, loop))rÅ  )r”  r”  )*rØ   rÃ   Ú	recursiver�   Úiter_child_nodesr„  rB  r
   rû   r½   rÉ  rÂ  Úelse_rš  r6  r<  r¶  rE  r¦  r²  r<   r£  rS   rF  r«  r¿   r  r	  rf   r0  r.  rP   r±  r(  rd  rÅ  rH  rV  rZ  r$  Údifference_updateÚstores)r-   r/   r0   rÃ   Ú
test_frameÚ
else_frameÚextended_loopÚloop_refÚloop_filter_funcrf   Úiteration_indicators   &&&        r(   Ú	visit_ForÚCodeGenerator.visit_For�  s   € Ø—[‘[“]ˆ
Ø $ˆ
ÔØ—[‘[“]ˆ
Ø—[‘[“]ˆ
ð �N‰N÷ Ið IØÜ˜t×4Ñ4¸)Ð4ÓDÀiÓPñQ÷Ið I÷ ‹sÑH¨T¯]©]¼5¿;¹;Ô-GÓH�s�sŠsÑH¨T¯]©]¼5¿;¹;Ô-GÓHÓHð	 	ð ˆßØ!×)Ñ)×;Ñ;¸FÓCˆHà×Ñ×'Ñ'¨¸Ð'Ô@Ø�:�:ˆ:Ø×Ñ×+Ñ+¨D¸VÐ+ÔDà�9�9‰9Ø#×8Ñ8Ó:ÐØ×Ñ×+Ñ+¨D¸VÐ+ÔDØ�N‰N˜dŸi™iÐ(8Ó9Ð:¸(ÐCÀTÇYÁYÔOØ�K‰KŒMØ×Ñ˜ZÔ(Ø�N‰N˜4×,Ñ,¨\¸6ÓBÔCØ�J‰J�t—{‘{ JÔ/Ø�J‰J�vÔØ�J‰J�t×(Ñ(Ð)<¸gÓFÔGØ�J‰J�sŒOØ�K‰KŒMØ�N‰N˜5 $§)¡)Ô,Ø�J‰J�t—y‘y *Ô-Ø�J‰J�sŒOØ�K‰KŒMØ�N‰N˜8Ô$Ø�J‰J�t—{‘{ JÔ/Ø�L‰L˜ŒOØ×Ñ˜Z¸4ÐÔ@ð
 �>�>ˆ>Ø�N‰NØ—9‘9˜VÓ$Ð%Ð%JÐKÈTôð �K‰KŒMØ�K‰K˜
Ô#ð !+× 1Ñ 1ˆJÔ÷ Ø�N‰N˜h˜Z zÐ2Ô3à—M‘M¤%§*¡*Ö-ˆDØ�x‰x˜7Ö" t§y¡y°FÖ':Ø—	‘	ØNØ—K‘Köñ .ð �:�:ˆ:Ø"&×";Ñ";Ó"=ÐØ�N‰NÐ1Ð2°$Ð7Ô8à�‰�t×(Ñ(¨°vÓ>ÀÔEØ�
‰
�4—;‘; 
Ô+ßØ�J‰J˜˜H˜: T¨$×*;Ñ*;¸GÓ*DÐ)EÀ\ÐRÕSà�J‰J�vÔà�9�9ˆ9Ø�J‰JÐ*Ð+¨1Ð-Ô.Ø�>�>ˆ>Ø�J‰J�yÕ!à×Ñ×(×(Ð(·Ø—
‘
˜=Ô)Ø�J‰J�t—y‘y %Ô(Ø×Ñ×(×(Ð(·Ø—
‘
˜3”Ø�9�9ˆ9Ø�J‰J�sŒOà�>�>ˆ>Ø�J‰JÐ?Õ@à�J‰J¯-‘¸SÔAà�‰ŒØ×Ñ˜Ô$à�‰Ð(Ô)Ø�‰˜Ÿ	™	 :Ô.Ø�:�:ˆ:Ø�N‰NÐ1Ð2°$Ð7Ô8Ø�‰ŒØ×ÑØ¯.©.×*KÐ*KÀÇÁ¼^ð 	ô 	
ð �:�:ˆ:Ø�N‰N˜SÐ!4Ð 5°QÐ7Ô8Ø�K‰KŒMØ×Ñ˜ZÔ(Ø�O‰O˜DŸJ™J¨
Ô3Ø×Ñ˜ZÔ(Ø�L‰LŒNð �>�>ˆ>Ø×'Ñ'¨
Ô3Ø�L‰LŒNØ×Ñ˜UÔ)Ø�J‰J˜$×+Ñ+¨HÓ5Ð6°eÐ<Ô=Ø×Ñ×(×(Ð(Ø—
‘
˜=Ô)Ø�J‰J�t—y‘y %Ô(Ø×Ñ×(×(Ð(Ø—
‘
˜3”Ø�J‰J�yÔ!Ø�N‰N˜5Ô!ð ××ÐØ×Ñ˜rÕ"×4Ñ4°Z×5GÑ5G×5NÑ5NÖOñ r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚIfr1   )r'   r¥   s   "€r(   r)   r  (  s&   ø€ ÷ ñ ™UŸX™Xð ©eð ¸ñ r*   c                óú  € VP                  4       pV P                  R V4       V P                  VP                  V4       V P	                  R4       V P                  4        V P                  VP                  V4       V P                  4        VP                   F~  pV P                  RV4       V P                  VP                  V4       V P	                  R4       V P                  4        V P                  VP                  V4       V P                  4        K€  	  VP                  '       dP   V P                  R4       V P                  4        V P                  VP                  V4       V P                  4        R# R# )r¿  rœ  zelif rD  N)rÜ   r<  r<   rš  rS   rE  rd  rÅ  rF  Úelif_r¢  )r-   r/   r0   Úif_framer°  s   &&&  r(   Úvisit_IfÚCodeGenerator.visit_If(  sù   € Ø—:‘:“<ˆØ�‰�u˜dÔ#Ø�
‰
�4—9‘9˜hÔ'Ø�
‰
�3ŒØ�‰ŒØ�‰˜Ÿ	™	 8Ô,Ø�‰ŒØ—Z”ZˆEØ�N‰N˜7 EÔ*Ø�J‰J�u—z‘z 8Ô,Ø�J‰J�sŒOØ�K‰KŒMØ�O‰O˜EŸJ™J¨Ô1Ø�L‰LŽNñ  ð �:�:ˆ:Ø�N‰N˜7Ô#Ø�K‰KŒMØ�O‰O˜DŸJ™J¨Ô1Ø�L‰LŽNñ	 r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   r£   r1   )r'   r¥   s   "€r(   r)   r  =  s&   ø€ ÷ /ñ /¡§¡ð /±Eð /¸dñ /r*   c                óÂ  € V P                  W4      w  r4V P                  4        VP                  '       db   VP                  P	                  R 4      '       g!   V P                  RVP                  : R24       V P                  RVP                  : R24       V P                  VP                  P                  VP                  4       R24       V P                  WC4       R# )r!  r&  rO   r#  r"  rœ  N)
rÒ  ro  rÁ   rf   rƒ  rS   r<  r½   rÄ  rÜ  )r-   r/   r0   Úmacro_framerÍ  s   &&&  r(   Úvisit_MacroÚCodeGenerator.visit_Macro=  s    € Ø!%§¡°Ó!=ÑˆØ�‰ŒØ�>�>ˆ>Ø—9‘9×'Ñ'¨×,Ò,Ø—
‘
Ð7¸¿	¹	±}ÀAÐFÔGØ�N‰N˜]¨4¯9©9©-°tÐ<Ô=Ø�
‰
�e—m‘m×'Ñ'¨¯	©	Ó2Ð3°3Ð7Ô8Ø�‰�yÖ.r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   r¤   r1   )r'   r¥   s   "€r(   r)   r  G  s&   ø€ ÷ ñ ¡E§O¡Oð ¹Eð Àdñ r*   c                óð   € V P                  W4      w  r4V P                  R 4       V P                  WC4       V P                  W!4       V P	                  VP
                  VRR7       V P                  V4       R# )z	caller = T)Úforward_callerN)rÒ  r<  rÜ  rV  Ú
visit_CallÚcallrZ  )r-   r/   r0   Ú
call_framerÍ  s   &&&  r(   Úvisit_CallBlockÚCodeGenerator.visit_CallBlockG  s[   € Ø $§¡°Ó <Ñˆ
Ø�‰�{Ô#Ø�‰�yÔ-Ø×Ñ˜Ô%Ø�‰˜Ÿ	™	 5¸ˆÔ>Ø�‰�uÖr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚFilterBlockr1   )r'   r¥   s   "€r(   r)   r  O  s(   ø€ ÷ 	'ñ 	'¡e×&7Ñ&7ð 	'Áð 	'È$ñ 	'r*   c                óv  € VP                  4       pVP                  P                  V4       V P                  V4       V P	                  V4       V P                  VP                  V4       V P                  W!4       V P                  VP                  V4       V P                  V4       V P                  V4       R # r8   )rØ   r½   rÂ  r¦  r¿   rd  rÅ  rV  rò   ÚfilterrZ  r«  )r-   r/   r0   Úfilter_frames   &&& r(   Úvisit_FilterBlockÚCodeGenerator.visit_FilterBlockO  s‰   € Ø—{‘{“}ˆØ×Ñ×)Ñ)¨$Ô/Ø×Ñ˜Ô&Ø�‰�LÔ!Ø�‰˜Ÿ	™	 <Ô0Ø×Ñ˜Ô%Ø×Ñ˜$Ÿ+™+ |Ô4Ø�‰�uÔØ×Ñ˜Ö&r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚWithr1   )r'   r¥   s   "€r(   r)   r  Z  s&   ø€ ÷ 
%ñ 
%™uŸz™zð 
%±%ð 
%¸Dñ 
%r*   c                ó°  € VP                  4       pVP                  P                  V4       V P                  V4       \	        VP
                  VP                  4       FH  w  rEV P                  4        V P                  WC4       V P                  R 4       V P                  WR4       KJ  	  V P                  VP                  V4       V P                  V4       R# )rœ  N)rØ   r½   rÂ  r¦  ÚzipÚtargetsÚvaluesro  r<   rS   rd  rÅ  r«  )r-   r/   r0   Ú
with_framer£  Úexprs   &&&   r(   Ú
visit_WithÚCodeGenerator.visit_WithZ  s™   € Ø—[‘[“]ˆ
Ø×Ñ×'Ñ'¨Ô-Ø×Ñ˜Ô$Ü §¡¨d¯k©kÖ:‰LˆFØ�L‰LŒNØ�J‰J�vÔ*Ø�J‰J�uÔØ�J‰J�tÖ#ñ	 ;ð
 	�‰˜Ÿ	™	 :Ô.Ø×Ñ˜Ö$r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚExprStmtr1   )r'   r¥   s   "€r(   r)   r  f  s&   ø€ ÷ %ñ %¡5§>¡>ð %¹%ð %ÀDñ %r*   c                ó`   € V P                  V4       V P                  VP                  V4       R # r8   )ro  r<   r/   r`  s   &&&r(   Úvisit_ExprStmtÚCodeGenerator.visit_ExprStmtf  s    € Ø�‰�TÔØ�
‰
�4—9‘9˜eÖ$r*   c                   ó,   a € ] tR tRt o V 3R ltRtV tR# )ÚCodeGenerator._FinalizeInfoij  c                ó¢   <€ V ^8„  d   Qh/ S[ P                  S[ P                  RS[3,          ,          ;R&   S[ P                  S[,          ;R&   # )r$   .ÚconstÚsrc)r4   rl   rE   rD   )r'   r¥   s   "€r(   r)   Ú(CodeGenerator._FinalizeInfo.__annotate__j  s9   ø‡ ‚ Ù�z‰z™!Ÿ*™* S©# XÕ.Õ/Ñ/ñ á�Z‰Z™�_Ñò r*   rÉ   N)r¯   r°   r±   r²   Ú__annotate_func__r³   r´   rµ   s   @r(   Ú_FinalizeInforØ  j  s   ø‡ ‡ „ r*   rÞ  c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# rw   ©r4   r5   )r'   r¥   s   "€r(   r)   r  o  s#   ø€ ÷ ñ ¡§¡ð ©1¯5©5ñ r*   c                ó   € \        V 4      # )z¤The default finalize function if the environment isn't
configured with one. Or, if the environment has one, this is
called on that function's output for constants.
r3  r“   s   &r(   Ú_default_finalizeÚCodeGenerator._default_finalizen  s   € ô �5‹zÐr*   c                ó    <€ V ^8„  d   QhRS[ /# r)  )rÞ  )r'   r¥   s   "€r(   r)   r  x  s   ø€ ÷ .ñ .¡ñ .r*   c                ó  a aa€ S P                   e   S P                   # S P                  ;poRpS P                  P                  '       d˜   RpS P                  P                  o\        P
                  R\        P                  R\        P                  R/P                  \        P                  ! S4      4      pRpVf   R VV3R llpMV V R2pVR8X  d   R	 VVV 3R
 llpS P                  W4      S n         S P                   # )aI  Build the finalize function to be used on constants and at
runtime. Cached so it's only created once for all output nodes.

Returns a ``namedtuple`` with the following attributes:

``const``
    A function to finalize constant data at compile time.

``src``
    Source code to output around nodes to be evaluated at
    runtime.
Nzenvironment.finalize(r  úcontext.eval_ctxrP   c                óX   € V ^8„  d   QhR\         P                  R\         P                  /# rw   rà  )r'   s   "r(   r)   Ú2CodeGenerator._make_finalize.<locals>.__annotate__š  s"   € ÷ 8ñ 8¤A§E¡Eð 8¬a¯e©eñ 8r*   c                 ó    <€ S! S! V 4      4      # r8   rÉ   )rx   rÑ  Úenv_finalizes   &€€r(   ÚfinalizeÚ.CodeGenerator._make_finalize.<locals>.finalizeš  s   ø€ Ù"¡<°Ó#6Ó7Ð7r*   rL   c                óX   € V ^8„  d   QhR\         P                  R\         P                  /# rw   rà  )r'   s   "r(   r)   rè  ¢  s&   € ÷ Nñ N¬¯©ð N´!·%±%ñ Nr*   c                 ó6   <€ S! S! SP                   V 4      4      # r8   )rP   )rx   rÑ  rê  r-   s   &€€€r(   rë  rì  ¢  s   ø€ Ù&¡|°D×4DÑ4DÀeÓ'LÓMÐMr*   )
Ú	_finalizerâ  rP   rë  r   r  Úeval_contextÚgetÚfrom_objrÞ  )r-   rë  rÛ  Úpass_argrÑ  rê  s   f   @@r(   Ú_make_finalizeÚCodeGenerator._make_finalizex  sù   ú€ ð �>‰>Ò%Ø—>‘>Ð!ð "×3Ñ3Ð3ˆ�7Øˆà×Ñ×$×$Ð$Ø)ˆCØ×+Ñ+×4Ñ4ˆLä× Ñ  )Ü×%Ñ%Ð'9Ü×$Ñ$ mð÷ ‰cÜ×!Ò! ,Ó/óð	 ð ˆHàÒ÷8ò 8ð ˜˜h˜Z rÐ*�à˜}Ô,÷Nò Nð ×+Ñ+¨HÓ:ˆŒØ�~‰~Ðr*   c                ó^   <€ V ^8„  d   QhRS[ P                  S[ P                  ,          RS[/# )r$   Úgroupr&   )r4   r–   r5   rD   )r'   r¥   s   "€r(   r)   r  ¨  s(   ø€ ÷ #ñ #©¯
©
±1·5±5Õ(9ð #¹cñ #r*   c                ó*   € \        \        V4      4      # )z�Given a group of constant values converted from ``Output``
child nodes, produce a string to write to the template module
source.
)r×  r   )r-   r÷  s   &&r(   Ú_output_const_reprÚ CodeGenerator._output_const_repr¨  s   € ô
 ”F˜5“MÓ"Ð"r*   c                óF   <€ V ^8„  d   QhRS[ P                  RS[RS[RS[/# )r$   r/   r0   rë  r&   )r
   r3   r1   rÞ  rD   )r'   r¥   s   "€r(   r)   r  ¯  s1   ø€ ÷ %ñ %Ù—J‘Jð%Ù',ð%Ù8Eð%á	ñ%r*   c                óþ   € VP                  VP                  4      pVP                  P                  '       d   \        V4      p\	        V\
        P                  4      '       d   \        V4      # VP                  V4      # )a  Try to optimize a child of an ``Output`` node by trying to
convert it to constant, finalized data at compile time.

If :exc:`Impossible` is raised, the node is not constant and
will be evaluated at runtime. Any other exception will also be
evaluated at runtime for easier debugging.
)	Úas_constr:   rG  r   rp   r
   ÚTemplateDatarD   rÚ  )r-   r/   r0   rë  rÚ  s   &&&& r(   Ú_output_child_to_constÚ$CodeGenerator._output_child_to_const¯  s]   € ð —‘˜eŸn™nÓ-ˆà�>‰>×$×$Ð$Ü˜5“MˆEô �dœE×.Ñ.×/Ò/Ü�u“:Ðà�~‰~˜eÓ$Ð$r*   c                óD   <€ V ^8„  d   QhRS[ P                  RS[RS[RR/# ©r$   r/   r0   rë  r&   N©r
   r3   r1   rÞ  )r'   r¥   s   "€r(   r)   r  Ä  s1   ø€ ÷ %ñ %Ù—J‘Jð%Ù',ð%Ù8Eð%à	ñ%r*   c                ó6  € VP                   P                  '       d   V P                  R4       M?VP                   P                  '       d   V P                  R4       MV P                  R4       VP                  e   V P                  VP                  4       R# R# )zHOutput extra source code before visiting a child of an
``Output`` node.
z1(escape if context.eval_ctx.autoescape else str)(zescape(zstr(N)r:   r;   rS   rG  rÛ  ©r-   r/   r0   rë  s   &&&&r(   Ú_output_child_preÚCodeGenerator._output_child_preÄ  sh   € ð �>‰>×"×"Ð"Ø�J‰JÐJÕKØ�^‰^×&×&Ð&Ø�J‰J�yÕ!à�J‰J�vÔà�<‰<Ò#Ø�J‰J�x—|‘|Ö$ñ $r*   c                óD   <€ V ^8„  d   QhRS[ P                  RS[RS[RR/# r  r  )r'   r¥   s   "€r(   r)   r  Ô  s1   ø€ ÷ 	ñ 	Ù—J‘Jð	Ù',ð	Ù8Eð	à	ñ	r*   c                ój   € V P                  R4       VP                  e   V P                  R4       R# R# )zGOutput extra source code after visiting a child of an
``Output`` node.
rO   N)rS   rÛ  r  s   &&&&r(   Ú_output_child_postÚ CodeGenerator._output_child_postÔ  s)   € ð 	�
‰
�3Œà�<‰<Ò#Ø�J‰J�sŽOñ $r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚOutputr1   )r'   r¥   s   "€r(   r)   r  ß  s+   ø€ ÷ Mñ M¡§¡ð M±eð MÀñ Mr*   c                ó0  € VP                   '       d6   V P                  '       d   R # V P                  R4       V P                  4        V P	                  4       p. pVP
                   F®  p VP                  '       g6   \        V\
        P                  4      '       g   \
        P                  ! 4       hV P                  WRV4      pT'       d8   \        TR,          \        4      '       d   TR,          P                  T4       Kœ  TP                  T.4       K°  	  VP                  e^   \        V4      ^8X  d    V P                  VP                   R24       MV P                  VP                   R24       V P                  4        V Fô  p\        V\        4      '       dT   V P!                  V4      pVP                  f   V P                  RV,           4       KR  V P                  VR,           4       Kl  VP                  f   V P                  RV4       MV P#                  V4       V P%                  WrV4       V P'                  Wr4       V P)                  WrV4       VP                  f   Kã  V P+                  R4       Kö  	  VP                  e4   V P-                  4        T P                  \        V4      ^8X  d   RMR4       VP                   '       d   V P-                  4        R # R #   \
        P                  \        3 d    TP                  T4        EK®  i ; i)	NrT  rU  z	.extend((rT  rÙ  rO   rC  r”  )r¾   r  r<  rE  rô  r
   rÚ  rp   rþ  Ú
Impossiblerÿ  Ú	Exceptionrj  r�   r¿   rÇ  rù  ro  r  r<   r
  rS   rF  )	r-   r/   r0   rë  rÅ  ÚchildrÚ  ÚitemÚvals	   &&&      r(   Úvisit_OutputÚCodeGenerator.visit_Outputß  sJ  € à×%×%Ð%à×%×%Ð%Ùà�N‰NÐ8Ô9Ø�K‰KŒMà×&Ñ&Ó(ˆØ;=ˆð
 —Z”ZˆEðð —N—N�Nô " %¬×);Ñ);×<Ò<ä×*Ò*Ó,Ð,à×3Ñ3°EÀ(ÓK�÷ œ
 4¨¥8¬T×2Ò2Ø�R•—‘ Ö&à—‘˜U˜GÖ$ñ/  ð2 �<‰<Ò#Ü�4‹y˜AŒ~Ø—‘ %§,¡, ¨xÐ8Õ9à—‘ %§,¡, ¨yÐ9Ô:à�K‰KŒMãˆDÜ˜$¤×%Ò%à×-Ñ-¨dÓ3�à—<‘<Ò'Ø—N‘N 8¨c¥>Ö2à—N‘N 3¨¥9Ö-à—<‘<Ò'Ø—N‘N 8¨TÕ2à—L‘L Ô&ð ×&Ñ& t°HÔ=Ø—
‘
˜4Ô'Ø×'Ñ'¨°XÔ>à—<‘<Ô+Ø—J‘J˜s–Oñ+ ð. �<‰<Ò#Ø�L‰LŒNØ�N‰N¤# d£)¨q¤.™3°dÔ;à×%×%Ð%Ø�L‰LŽNñ &øô_ ×$Ñ$¤iÐ0ô ð —‘˜EÔ"Ûðús   Á*AK$Ë$,LÌLc                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚAssignr1   )r'   r¥   s   "€r(   r)   r  .  s&   ø€ ÷ (ñ (¡§¡ð (±eð (Àñ (r*   c                óŽ  € V P                  4        \        4       pVP                  \        P                  4       Fœ  pVP
                  V9   d   K  VP                  VP
                  4       VP                  P                  VP
                  4      pV P                  R V R24       V P                  4        V P                  R4       V P                  4        Kž  	  V P                  V4       V P                  VP                  V4       V P                  R4       V P                  VP                   V4       V P#                  V4       R# )zif not isinstance(z, Namespace):zMraise TemplateRuntimeError("cannot assign attribute on non-namespace object")rœ  N)r  rŽ   rB  r
   ÚNSRefrf   rñ   r½   rÄ  r<  rE  rF  ro  r<   r£  rS   r/   r-  )r-   r/   r0   Ú	seen_refsÚnsrefrÄ  s   &&&   r(   Úvisit_AssignÚCodeGenerator.visit_Assign.  sï   € Ø×!Ñ!Ô#ô !$£ˆ	à—]‘]¤5§;¡;Ö/ˆEØ�z‰z˜YÔ&ñ à�M‰M˜%Ÿ*™*Ô%Ø—-‘-×#Ñ# E§J¡JÓ/ˆCØ�N‰NÐ/°¨u°MÐBÔCØ�K‰KŒMØ�N‰NðFôð �L‰LŽNñ 0ð  	�‰�TÔØ�
‰
�4—;‘; Ô&Ø�
‰
�5ÔØ�
‰
�4—9‘9˜eÔ$Ø× Ñ  Ö'r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚAssignBlockr1   )r'   r¥   s   "€r(   r)   r  M  s(   ø€ ÷ &ñ &¡e×&7Ñ&7ð &Áð &È$ñ &r*   c                ó|  € V P                  4        VP                  4       pR Vn        VP                  P	                  V4       V P                  V4       V P                  V4       V P                  VP                  V4       V P                  V4       V P                  VP                  V4       V P                  R4       VP                  e   V P                  VP                  V4       MV P                  RVP                   R24       V P                  R4       V P                  V4       V P!                  V4       R# )Fz9 = (Markup if context.eval_ctx.autoescape else identity)(Núconcat(rO   )r  rØ   r¾   r½   rÂ  r¦  r¿   rd  rÅ  ro  r<   r£  rS   rÄ  rò   r-  r«  )r-   r/   r0   rÄ   s   &&& r(   Úvisit_AssignBlockÚCodeGenerator.visit_AssignBlockM  sï   € Ø×!Ñ!Ô#Ø—k‘k“mˆð ,1ˆÔ(Ø×Ñ×(Ñ(¨Ô.Ø×Ñ˜Ô%Ø�‰�KÔ Ø�‰˜Ÿ	™	 ;Ô/Ø�‰�TÔØ�
‰
�4—;‘; Ô&Ø�
‰
ÐNÔOØ�;‰;Ò"Ø×Ñ˜dŸk™k¨;Õ7à�J‰J˜ ×!3Ñ!3Ð 4°AÐ6Ô7Ø�
‰
�3ŒØ× Ñ  Ô'Ø×Ñ˜Ö%r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   r  r1   )r'   r¥   s   "€r(   r)   r  e  s&   ø€ ÷ ñ ™uŸz™zð ±%ð ¸Dñ r*   c           	     ó~  € VP                   R 8X  du   VP                  '       g%   VP                  '       g   VP                  '       d?   V P                  '       d-   V P                  R,          P                  VP                  4       VP                  P                  VP                  4      pVP                   R8X  dq   VP                  P                  V4      pVe*   V^ ,          \        8X  d   V P                  V4      '       d)   V P                  RVP                  : RV RV R24       R# V P                  V4       R# )r�  r  Nz(undefined(name=z) if z is missing else rO   r”  )r	  rÁ   rÃ   rÄ   r$  rñ   rf   r½   rÄ  Ú	find_loadr   r  rS   )r-   r/   r0   rÄ  r  s   &&&  r(   r  ÚCodeGenerator.visit_Namee  sî   € Ø�8‰8�wÔØ�N�NˆN˜e×.×.Ð.°%×2C×2CÐ2Cà×!×!Ð!Ø×"Ñ" 2Õ&×*Ñ*¨4¯9©9Ô5Ø�m‰m×Ñ §	¡	Ó*ˆð
 �8‰8�vÔØ—=‘=×*Ñ*¨3Ó/ˆDàÒ Ø˜•GÔ1Ô1Ø×4Ñ4°S×9Ò9à—
‘
Ø& t§y¡y¡m°5¸¸Ð=NÈsÈeÐSTÐUôñ à�
‰
�3Žr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   r  r1   )r'   r¥   s   "€r(   r)   r  ~  s&   ø€ ÷ 0ñ 0¡§¡ð 0±Eð 0¸dñ 0r*   c                ó”   € VP                   P                  VP                  4      pV P                  V R VP                  : R24       R# )r�  r‘  N)r½   rÄ  rf   r<  Úattr)r-   r/   r0   rÄ  s   &&& r(   Úvisit_NSRefÚCodeGenerator.visit_NSRef~  s9   € ð
 �m‰m×Ñ §	¡	Ó*ˆØ�‰˜#˜˜a §	¡	™}¨AÐ.Ö/r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ro  r1   )r'   r¥   s   "€r(   r)   r  †  s&   ø€ ÷ "ñ "¡§¡ð "±Eð "¸dñ "r*   c                óÔ   € VP                  VP                  4      p\        V\        4      '       d   V P	                  \        V4      4       R # V P	                  \        V4      4       R # r8   )rý  r:   rp   r‰   rS   rD   r×  )r-   r/   r0   r  s   &&& r(   Úvisit_ConstÚCodeGenerator.visit_Const†  sA   € Ø�m‰m˜EŸN™NÓ+ˆÜ�cœ5×!Ò!Ø�J‰J”s˜3“xÖ à�J‰J”t˜C“yÖ!r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rþ  r1   )r'   r¥   s   "€r(   r)   r  �  s(   ø€ ÷ ñ ¡u×'9Ñ'9ð Á%ð ÈDñ r*   c                óæ   €  V P                  \        VP                  VP                  4      4      4       R#   \        P
                   d%    T P                  R TP                  : R24        R# i ; i©z6(Markup if context.eval_ctx.autoescape else identity)(rO   N)rS   r×  rý  r:   r
   r  Údatar`  s   &&&r(   Úvisit_TemplateDataÚ CodeGenerator.visit_TemplateData�  sW   € ð	Ø�J‰J”t˜DŸM™M¨%¯.©.Ó9Ó:Ö;øÜ×Ñô 	Ø�J‰JØHÈÏÉÉÐUVÐW÷ð	ús   ‚37 ·5A0Á/A0c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   r¹  r1   )r'   r¥   s   "€r(   r)   r  •  s&   ø€ ÷ .ñ .¡§¡ð .±Eð .¸dñ .r*   c                óü   € V P                  R 4       Rp\        VP                  4       F/  w  r4V'       d   V P                  R4       V P                  WB4       K1  	  T P                  V^ 8X  d	   R4       R# R4       R# )rM   rL   z,)rO   Nr”  ©rS   rÃ  r’   r<   ©r-   r/   r0   rÐ  r  s   &&&  r(   Úvisit_TupleÚCodeGenerator.visit_Tuple•  s[   € Ø�
‰
�3ŒØˆÜ" 4§:¡:Ö.‰IˆCßØ—
‘
˜4Ô Ø�J‰J�tÖ#ñ /ð 	�
‰
˜3 !œ8�4Ö-¨Ö-r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rp  r1   )r'   r¥   s   "€r(   r)   r  ž  s&   ø€ ÷ ñ ™uŸz™zð ±%ð ¸Dñ r*   c                óÚ   € V P                  R 4       \        VP                  4       F/  w  r4V'       d   V P                  R4       V P                  WB4       K1  	  V P                  R4       R# )r�  rL   r‘  Nr9  r:  s   &&&  r(   Ú
visit_ListÚCodeGenerator.visit_Listž  sJ   € Ø�
‰
�3ŒÜ" 4§:¡:Ö.‰IˆCßØ—
‘
˜4Ô Ø�J‰J�tÖ#ñ /ð 	�
‰
�3Žr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚDictr1   )r'   r¥   s   "€r(   r)   r  ¦  s&   ø€ ÷ ñ ™uŸz™zð ±%ð ¸Dñ r*   c                óJ  € V P                  R 4       \        VP                  4       Fg  w  r4V'       d   V P                  R4       V P                  VP                  V4       V P                  R4       V P                  VP
                  V4       Ki  	  V P                  R4       R# )rê  rL   r‚  rƒ  N)rS   rÃ  r’   r<   r  rx   r:  s   &&&  r(   Ú
visit_DictÚCodeGenerator.visit_Dict¦  sn   € Ø�
‰
�3ŒÜ" 4§:¡:Ö.‰IˆCßØ—
‘
˜4Ô Ø�J‰J�t—x‘x Ô'Ø�J‰J�tÔØ�J‰J�t—z‘z 5Ö)ñ /ð 	�
‰
�3Žr*   Ú+Ú-Ú*Ú/z//z**Ú%ÚandÚorznot c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚConcatr1   )r'   r¥   s   "€r(   r)   r  ¾  s&   ø€ ÷ ñ ¡§¡ð ±eð Àñ r*   c                ó:  € VP                   P                  '       d   R pM!VP                   P                  '       d   RpMRpV P                  V R24       VP                   F%  pV P                  WB4       V P                  R4       K'  	  V P                  R4       R# )z8(markup_join if context.eval_ctx.volatile else str_join)Úmarkup_joinÚstr_joinz((rL   rC  N)r:   r;   rG  rS   r
   r<   )r-   r/   r0   rr  r‰  s   &&&  r(   Úvisit_ConcatÚCodeGenerator.visit_Concat½  sx   € à�>‰>×"×"Ð"ØR‰IØ�^‰^×&×&Ð&Ø%‰Ià"ˆIØ�
‰
�i�[ Ð#Ô$Ø—:”:ˆCØ�J‰J�sÔ"Ø�J‰J�tÖñ ð 	�
‰
�4Ör*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚComparer1   )r'   r¥   s   "€r(   r)   r  Ì  s&   ø€ ÷ ñ ¡%§-¡-ð ¹ð À$ñ r*   c                óÊ   € V P                  R 4       V P                  VP                  V4       VP                   F  pV P                  W24       K  	  V P                  R4       R# )rM   rO   N)rS   r<   rÏ  ÚopsrV   s   &&& r(   Úvisit_CompareÚCodeGenerator.visit_CompareË  sD   € à�
‰
�3ŒØ�
‰
�4—9‘9˜eÔ$Ø—(”(ˆBØ�J‰J�rÖ!ñ à�
‰
�3Žr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚOperandr1   )r'   r¥   s   "€r(   r)   r  Ó  s&   ø€ ÷ %ñ %¡%§-¡-ð %¹ð %À$ñ %r*   c                ó’   € V P                  R \        VP                  ,           R 24       V P                  VP                  V4       R# )rN   N)rS   Ú	operatorsrC   r<   rÏ  r`  s   &&&r(   Úvisit_OperandÚCodeGenerator.visit_OperandÓ  s3   € Ø�
‰
�Q”y §¡Õ)Ð*¨!Ð,Ô-Ø�
‰
�4—9‘9˜eÖ$r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚGetattrr1   )r'   r¥   s   "€r(   r)   r  Ø  s&   ø€ ÷ 	ñ 	¡%§-¡-ð 	¹ð 	À$ñ 	r*   c                óX  € V P                   P                  '       d   V P                  R 4       V P                  R4       V P                  VP                  V4       V P                  RVP
                  : R24       V P                   P                  '       d   V P                  R4       R# R# )ú(await auto_await(zenvironment.getattr(rL   rO   rC  N)rP   r±  rS   r<   r/   r*  r`  s   &&&r(   Úvisit_GetattrÚCodeGenerator.visit_Getattr×  s|   € à×Ñ×$×$Ð$Ø�J‰JÐ+Ô,à�
‰
Ð)Ô*Ø�
‰
�4—9‘9˜eÔ$Ø�
‰
�R˜Ÿ	™	‘} AÐ&Ô'à×Ñ×$×$Ð$Ø�J‰J�tÖñ %r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚGetitemr1   )r'   r¥   s   "€r(   r)   r  ä  s&   ø€ ÷ !ñ !¡%§-¡-ð !¹ð !À$ñ !r*   c                ó   € \        VP                  \        P                  4      '       d]   V P	                  VP
                  V4       V P                  R 4       V P	                  VP                  V4       V P                  R4       R# V P                  P                  '       d   V P                  R4       V P                  R4       V P	                  VP
                  V4       V P                  R4       V P	                  VP                  V4       V P                  R4       V P                  P                  '       d   V P                  R4       R# R# )r�  r‘  rc  zenvironment.getitem(rL   rO   rC  N)	rp   r‰  r
   ÚSlicer<   r/   rS   rP   r±  r`  s   &&&r(   Úvisit_GetitemÚCodeGenerator.visit_Getitemã  sÝ   € ô �d—h‘h¤§¡×,Ò,Ø�J‰J�t—y‘y %Ô(Ø�J‰J�sŒOØ�J‰J�t—x‘x Ô'Ø�J‰J�sŽOà×Ñ×(×(Ð(Ø—
‘
Ð/Ô0à�J‰JÐ-Ô.Ø�J‰J�t—y‘y %Ô(Ø�J‰J�tÔØ�J‰J�t—x‘x Ô'Ø�J‰J�sŒOà×Ñ×(×(Ð(Ø—
‘
˜4Ö ñ )r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ri  r1   )r'   r¥   s   "€r(   r)   r  ø  s&   ø€ ÷ )ñ )¡§¡ð )±Eð )¸dñ )r*   c                óJ  € VP                   e   V P                  VP                   V4       V P                  R4       VP                  e   V P                  VP                  V4       VP                  e0   V P                  R4       V P                  VP                  V4       R # R # )Nrœ  )Ústartr<   rS   ÚstoprO  r`  s   &&&r(   Úvisit_SliceÚCodeGenerator.visit_Sliceø  sq   € Ø�:‰:Ò!Ø�J‰J�t—z‘z 5Ô)Ø�
‰
�3ŒØ�9‰9Ò Ø�J‰J�t—y‘y %Ô(Ø�9‰9Ò Ø�J‰J�sŒOØ�J‰J�t—y‘y %Ö(ñ !r*   c          	      ó¦   <€ V ^8„  d   QhRS[ P                  S[P                  S[P                  3,          RS[RS[RS[ P                  R,          /# )r$   r/   r0   Ú	is_filterr&   N)r4   r¢   r
   rî   rõ   r1   rn   ÚIterator)r'   r¥   s   "€r(   r)   r    sL   ø€ ÷ 'ñ 'Ù—G‘G™EŸL™L©%¯*©*Ð4Õ5ð'Ù>Cð'ÙPTð'á	
�‰�DÕ	ñ'r*   c              #  ó  "  € V P                   P                  '       d   V P                  R 4       V'       d`   V P                  V P                  VP                  ,           R24       V P                   P                  P                  VP                  4      pM^V P                  V P                  VP                  ,           R24       V P                   P                  P                  VP                  4      pVfM   VP                  '       g;   V'       d   RMRpV P                  RV RVP                  : R2VP                  4       \        P                  R\        P                  R	\        P                   R
/P                  \        P                  ! V4      4      pVe   V P                  V R24       Rx € V P                  W4       V P                  R4       V P                   P                  '       d   V P                  R4       R# R# 5i)rc  rM   NrÄ  rš  zNo r“  r5  r  ræ  rP   rL   rO   rC  )rP   r±  rS   ré   rf   rñ  rê   rÅ   r0  r.  r   r  rð  rò  r‹  )r-   r/   r0   rs  r¶  Ú	type_nameró  s   &&&&   r(   Ú_filter_test_commonÚ!CodeGenerator._filter_test_common  sŒ  é € ð ×Ñ×$×$Ð$Ø�J‰JÐ+Ô,çØ�J‰J˜$Ÿ,™, t§y¡yÕ1Ð2°!Ð4Ô5Ø×#Ñ#×+Ñ+×/Ñ/°·	±	Ó:‰Dà�J‰J˜$Ÿ*™* T§Y¡YÕ/Ð0°Ð2Ô3Ø×#Ñ#×)Ñ)×-Ñ-¨d¯i©iÓ8ˆDð
 Š< × 0× 0Ð 0ß$-™°6ˆIØ�I‰I˜˜I˜; g¨d¯i©i©]¸!Ð<¸d¿k¹kÔJô ×Ñ˜iÜ×!Ñ!Ð#5Ü× Ñ  -ð
÷ ‰#Ü×Ò˜dÓ#ó
ð	 	ð ÒØ�J‰J˜(˜ 2�Ô'ó 	à�‰�tÔ#Ø�
‰
�3Œà×Ñ×$×$Ð$Ø�J‰J�tÖñ %ùs   ‚5H	¸CH	ÄH	ÄC6H	c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rî   r1   )r'   r¥   s   "€r(   r)   r  -  s&   ø€ ÷ 6ñ 6¡§¡ð 6±eð 6Àñ 6r*   c           	     ó  € V P                  WR 4      ;_uu_ 4        VP                  e   V P                  VP                  V4       M¤VP                  P                  '       d.   V P                  RVP                   RVP                   R24       M[VP                  P                  '       d!   V P                  RVP                   R24       MV P                  RVP                   R24       RRR4       R#   + '       g   i     R# ; i)TNz(Markup(concat(z.)) if context.eval_ctx.autoescape else concat(rC  zMarkup(concat(r!  rO   )rw  r/   r<   r:   r;   rS   r¿   rG  r`  s   &&&r(   rò   ÚCodeGenerator.visit_Filter,  sÅ   € à×%Ñ% d°4×8Õ8ð �y‰yÒ$Ø—
‘
˜4Ÿ9™9 eÕ,Ø—‘×(×(Ð(Ø—
‘
Ø% e§l¡l ^ð 4CØCHÇ<Á<À.ÐPRðTõð —‘×*×*Ð*Ø—
‘
˜^¨E¯L©L¨>¸Ð<Õ=à—
‘
˜W U§\¡\ N°!Ð4Ô5÷ 9×8×8Ò8ús   ›AC5Á#AC5Â,?C5Ã5D	c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rõ   r1   )r'   r¥   s   "€r(   r)   r  >  s&   ø€ ÷ )ñ )™uŸz™zð )±%ð )¸Dñ )r*   c                ó¬   € V P                  WR 4      ;_uu_ 4        V P                  VP                  V4       RRR4       R#   + '       g   i     R# ; ir¨   )rw  r<   r/   r`  s   &&&r(   r÷   ÚCodeGenerator.visit_Test=  s6   € à×%Ñ% d°5×9Õ9Ø�J‰J�t—y‘y %Ô(÷ :×9×9Ò9ús   ›AÁA	c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚCondExprr1   )r'   r¥   s   "€r(   r)   r  C  s&   ø€ ÷ ñ ¡5§>¡>ð ¹%ð ÀDñ r*   c                óH  a aa€ SP                  4       oR  VVV 3R llpS P                  R4       S P                  SP                  S4       S P                  R4       S P                  SP                  S4       S P                  R4       V! 4        S P                  R4       R# )c                ó   € V ^8„  d   QhRR/# ræ   rÉ   )r'   s   "r(   r)   Ú2CodeGenerator.visit_CondExpr.<locals>.__annotate__F  s   € ÷ 		ñ 		˜Tñ 		r*   c                  ó¨   <€ SP                   e   SP                  SP                   S 4       R # SP                  RSP                  S4       R24       R # )Nz1cond_expr_undefined("the inline if-expression on z6 evaluated to false and no else section was defined."))Úexpr2r<   rS   rá  )r0   r/   r-   s   €€€r(   Úwrite_expr2Ú1CodeGenerator.visit_CondExpr.<locals>.write_expr2F  sL   ø€ Ø�z‰zÒ%Ø—
‘
˜4Ÿ:™: uÔ-Ùà�J‰JðØ—M‘M $Ó'Ð(ð )*ð+ör*   rM   z if z else rO   N)rÜ   rS   r<   Úexpr1rš  )r-   r/   r0   r†  s   fff r(   Úvisit_CondExprÚCodeGenerator.visit_CondExprB  sq   ú€ à—
‘
“ˆ÷		ò 		ð 	�
‰
�3ŒØ�
‰
�4—:‘:˜uÔ%Ø�
‰
�6ÔØ�
‰
�4—9‘9˜eÔ$Ø�
‰
�8ÔÙŒØ�
‰
�3Žr*   c                óD   <€ V ^8„  d   QhRS[ P                  RS[RS[RR/# )r$   r/   r0   r»  r&   N)r
   rw  r1   rn   )r'   r¥   s   "€r(   r)   r  Z  s1   ø€ ÷ ñ Ù—J‘JðÙ',ðÙ>Bðà	ñr*   c                ó¦  € V P                   P                  '       d   V P                  R 4       V P                   P                  '       d   V P                  R4       MV P                  R4       V P	                  VP
                  V4       V'       d   RR/MRpVP                  '       d   RR/M/ pVP                  '       d   RR/M/ pV'       d   VP                  ! V3/ VB  MV'       g	   V'       d   \        V3/ VB pV P                  WV4       V P                  R4       V P                   P                  '       d   V P                  R4       R# R# )	rc  zenvironment.call(context, zcontext.call(r»  NÚ
_loop_varsÚ_block_varsrO   rC  )rP   r±  rS   rQ   r<   r/   rÃ   rÄ   rÏ   r‘   r‹  )r-   r/   r0   r»  rv  Úloop_kwargsÚblock_kwargss   &&&&   r(   r¼  ÚCodeGenerator.visit_CallY  s  € ð ×Ñ×$×$Ð$Ø�J‰JÐ+Ô,Ø×Ñ×%×%Ð%Ø�J‰JÐ3Õ4à�J‰J�Ô'Ø�
‰
�4—9‘9˜eÔ$ß/=˜ (Ñ+À4ˆØ6;×6F×6FÐ6F�| \Ñ2ÈBˆØ9>×9J×9JÐ9J˜ }Ñ5ÐPRˆßØ×Ò Ñ<¨|Ó<ßŸLÜ Ñ<¨|Ñ<ˆLØ�‰�t LÔ1Ø�
‰
�3ŒØ×Ñ×$×$Ð$Ø�J‰J�tÖñ %r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚKeywordr1   )r'   r¥   s   "€r(   r)   r  p  s&   ø€ ÷ &ñ &¡%§-¡-ð &¹ð &À$ñ &r*   c                ó‚   € V P                  VP                  R ,           4       V P                  VP                  V4       R# r>  )rS   r  r<   rx   r`  s   &&&r(   Úvisit_KeywordÚCodeGenerator.visit_Keywordp  s(   € Ø�
‰
�4—8‘8˜c•>Ô"Ø�
‰
�4—:‘:˜uÖ%r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚMarkSafer1   )r'   r¥   s   "€r(   r)   r  v  s&   ø€ ÷ ñ ¡5§>¡>ð ¹%ð ÀDñ r*   c                ó‚   € V P                  R 4       V P                  VP                  V4       V P                  R4       R# )zMarkup(rO   N©rS   r<   rÏ  r`  s   &&&r(   Úvisit_MarkSafeÚCodeGenerator.visit_MarkSafev  s+   € Ø�
‰
�9ÔØ�
‰
�4—9‘9˜eÔ$Ø�
‰
�3Žr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚMarkSafeIfAutoescaper1   )r'   r¥   s   "€r(   r)   r  {  s+   ø€ ÷ ñ Ù×.Ñ.ðÙ7<ðà	ñr*   c                ó‚   € V P                  R 4       V P                  VP                  V4       V P                  R4       R# r3  rš  r`  s   &&&r(   Úvisit_MarkSafeIfAutoescapeÚ(CodeGenerator.visit_MarkSafeIfAutoescape{  s.   € ð 	�
‰
ÐKÔLØ�
‰
�4—9‘9˜eÔ$Ø�
‰
�3Žr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚEnvironmentAttributer1   )r'   r¥   s   "€r(   r)   r  ‚  s+   ø€ ÷ /ñ /Ù×.Ñ.ð/Ù7<ð/à	ñ/r*   c                óJ   € V P                  R VP                  ,           4       R# )zenvironment.N©rS   rf   r`  s   &&&r(   Úvisit_EnvironmentAttributeÚ(CodeGenerator.visit_EnvironmentAttribute‚  s   € ð 	�
‰
�> D§I¡IÕ-Ö.r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚExtensionAttributer1   )r'   r¥   s   "€r(   r)   r  ‡  s0   ø€ ÷ Oñ OÙ×,Ñ,ðOÙ5:ðOà	ñOr*   c                ó^   € V P                  R VP                  : RVP                   24       R# )zenvironment.extensions[z].N)rS   Ú
identifierrf   r`  s   &&&r(   Úvisit_ExtensionAttributeÚ&CodeGenerator.visit_ExtensionAttribute‡  s'   € ð 	�
‰
Ð,¨T¯_©_Ñ,?¸rÀ$Ç)Á)ÀÐMÖNr*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   rC  r1   )r'   r¥   s   "€r(   r)   r  Œ  s(   ø€ ÷ 9ñ 9¡u×'9Ñ'9ð 9Á%ð 9ÈDñ 9r*   c                ó^   € V P                  V P                  VP                  ,          4       R # r8   )rS   r  rD  r`  s   &&&r(   Úvisit_ImportedNameÚ CodeGenerator.visit_ImportedNameŒ  s   € Ø�
‰
�4×&Ñ& t§¡Õ7Ö8r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚInternalNamer1   )r'   r¥   s   "€r(   r)   r  �  s(   ø€ ÷ ñ ¡u×'9Ñ'9ð Á%ð ÈDñ r*   c                ó<   € V P                  VP                  4       R # r8   r¥  r`  s   &&&r(   Úvisit_InternalNameÚ CodeGenerator.visit_InternalName�  s   € Ø�
‰
�4—9‘9Ör*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚContextReferencer1   )r'   r¥   s   "€r(   r)   r  ’  s+   ø€ ÷ ñ Ù×*Ñ*ðÙ38ðà	ñr*   c                ó(   € V P                  R 4       R# )r  N)rS   r`  s   &&&r(   Úvisit_ContextReferenceÚ$CodeGenerator.visit_ContextReference’  s   € ð 	�
‰
�9Ör*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚDerivedContextReferencer1   )r'   r¥   s   "€r(   r)   r  —  s+   ø€ ÷ /ñ /Ù×1Ñ1ð/Ù:?ð/à	ñ/r*   c                óF   € V P                  V P                  V4      4       R # r8   )rS   r  r`  s   &&&r(   Úvisit_DerivedContextReferenceÚ+CodeGenerator.visit_DerivedContextReference—  s   € ð 	�
‰
�4×&Ñ& uÓ-Ö.r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚContinuer1   )r'   r¥   s   "€r(   r)   r  œ  s&   ø€ ÷ )ñ )¡5§>¡>ð )¹%ð )ÀDñ )r*   c                ó*   € V P                  R V4       R# )ÚcontinueNrñ  r`  s   &&&r(   Úvisit_ContinueÚCodeGenerator.visit_Continueœ  s   € Ø�‰�z 4Ö(r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚBreakr1   )r'   r¥   s   "€r(   r)   r  Ÿ  s&   ø€ ÷ &ñ &¡§¡ð &±Eð &¸dñ &r*   c                ó*   € V P                  R V4       R# )ÚbreakNrñ  r`  s   &&&r(   Úvisit_BreakÚCodeGenerator.visit_BreakŸ  s   € Ø�‰�w Ö%r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚScoper1   )r'   r¥   s   "€r(   r)   r  ¢  s&   ø€ ÷ &ñ &¡§¡ð &±Eð &¸dñ &r*   c                óØ   € VP                  4       pVP                  P                  V4       V P                  V4       V P	                  VP
                  V4       V P                  V4       R # r8   )rØ   r½   rÂ  r¦  rd  rÅ  r«  )r-   r/   r0   Úscope_frames   &&& r(   Úvisit_ScopeÚCodeGenerator.visit_Scope¢  sO   € Ø—k‘k“mˆØ×Ñ×(Ñ(¨Ô.Ø×Ñ˜Ô%Ø�‰˜Ÿ	™	 ;Ô/Ø×Ñ˜Ö%r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚOverlayScoper1   )r'   r¥   s   "€r(   r)   r  ©  s(   ø€ ÷ %ñ %¡u×'9Ñ'9ð %Á%ð %ÈDñ %r*   c                óè  € V P                  4       pV P                  V R V P                  V4       24       V P                  V R24       V P                  VP                  V4       V P                  V4       VP                  RR7      pVP                  P                  V4       V P                  V4       V P                  VP                  V4       V P                  V4       V P                  4        R# )rœ  z.vars = T)rÕ   N)r6  r<  r  r<   r  r  rØ   r½   rÂ  r¦  rd  rÅ  r«  r  )r-   r/   r0   r	  rÐ  s   &&&  r(   Úvisit_OverlayScopeÚ CodeGenerator.visit_OverlayScope©  sÄ   € Ø×'Ñ'Ó)ˆØ�‰˜#˜˜c $×"5Ñ"5°eÓ"<Ð!=Ð>Ô?Ø�‰˜#˜˜hÐ'Ô(Ø�
‰
�4—<‘< Ô'Ø×#Ñ# CÔ(à—k‘k¨4�kÓ0ˆØ×Ñ×(Ñ(¨Ô.Ø×Ñ˜Ô%Ø�‰˜Ÿ	™	 ;Ô/Ø×Ñ˜Ô%Ø×"Ñ"Ö$r*   c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚEvalContextModifierr1   )r'   r¥   s   "€r(   r)   r  ·  s+   ø€ ÷ :ñ :Ù×-Ñ-ð:Ù6;ð:à	ñ:r*   c                óŠ  € VP                    F…  pV P                  R VP                   R24       V P                  VP                  V4        VP                  P                  VP                  4      p\        VP                  VP                  V4       K‡  	  R#   \        P                   d    RTP                  n
         K´  i ; i)zcontext.eval_ctx.rœ  TN)Úoptionsr<  r  r<   rx   rý  r:   Úsetattrr
   r  r;   )r-   r/   r0   Úkeywordr  s   &&&  r(   Úvisit_EvalContextModifierÚ'CodeGenerator.visit_EvalContextModifier·  s”   € ð —|”|ˆGØ�N‰NÐ.¨w¯{©{¨m¸3Ð?Ô@Ø�J‰J�w—}‘} eÔ,ð:Ø—m‘m×,Ñ,¨U¯^©^Ó<�ô ˜Ÿ™¨¯©°SÖ9ó $øô
 ×#Ñ#ô /Ø*.�—‘×'ð/ús   Á%BÂ&CÃCc                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# r0  )r
   ÚScopedEvalContextModifierr1   )r'   r¥   s   "€r(   r)   r  Ä  s0   ø€ ÷ 
Cñ 
CÙ×3Ñ3ð
CÙ<Að
Cà	ñ
Cr*   c                óL  € V P                  4       pVP                  P                  4       pV P                  V R 24       V P	                  W4       VP
                   F  pV P                  WR4       K  	  VP                  P                  V4       V P                  RV R24       R# )z = context.eval_ctx.save()zcontext.eval_ctx.revert(rO   N)r6  r:   Úsaver<  rÞ  rÅ  r<   Úrevert)r-   r/   r0   Úold_ctx_nameÚ	saved_ctxr  s   &&&   r(   Úvisit_ScopedEvalContextModifierÚ-CodeGenerator.visit_ScopedEvalContextModifierÄ  sˆ   € ð ×0Ñ0Ó2ˆØ—N‘N×'Ñ'Ó)ˆ	Ø�‰˜,˜Ð'AÐBÔCØ×&Ñ& tÔ3Ø—Y”YˆEØ�J‰J�uÖ$ñ à�‰×Ñ˜iÔ(Ø�‰Ð1°,°¸qÐAÖBr*   c                óJ   <€ V ^8„  d   Qh/ S[ P                  S[,          ;R&   # )r$   rï  )r4   rl   rÞ  )r'   r¥   s   "€r(   r)   r  ,  s   ø‡ ‚ ñT" �z‰z™-Õ(Ñ/òU" r*   )r$  r&  rï  r!  r#  r"  r   r  r%  r  r  r  r  r  ri   rP   r  rg   ré   r  r  rf   r9   rh   rê   ©NFTrÞ   )r  r8   )Né    )zasync r4  )zr¯   r°   r±   r²   r­   Úpropertyrj   r0  r6  r¿   rH  rE  rF  rV  rZ  r_  rd  rS   r<  ro  r‹  r˜  r¦  r«  r²  r¶  rÒ  rÜ  rá  rí  rò  rÊ  rÌ  rË  r  r  r  rŸ  r  r  r  r-  rP  rý   ra  rs  r~  r„  r�  r«  r²  r·  r¿  rÆ  rÐ  rÕ  r4   Ú
NamedTuplerÞ  Ústaticmethodrâ  rï  rô  rù  rÿ  r  r
  r  r  r"  r  r+  r/  r5  r;  r?  rD  r[   Ú	visit_AddÚ	visit_SubÚ	visit_MulÚ	visit_DivÚvisit_FloorDivÚ	visit_PowÚ	visit_ModÚ	visit_AndÚvisit_Orrd   Ú	visit_PosÚ	visit_NegÚ	visit_Notr@   rR  rX  r^  rd  rj  rp  r   rw  rò   r÷   r‰  r¼  r•  r›  r   r¦  r¬  r°  rµ  rº  r¿  rÅ  rË  rÑ  rÖ  rÞ  rç  rÝ  r³   r´   rµ   s   @r(   r.   r.   ,  sÝ  ø‡ € ÷G4ò G4ðR ÷*ó ð*÷
Lð L÷,ð ,÷
/ð /÷
9ò 9÷(ð ÷"ò "÷<ò <÷ð ÷
ò ÷	ð 	÷ð ÷ò ÷*ò *÷7/ò 7/÷r,ð ,÷\>ð >÷ Bò B÷Hò H÷2ð 2÷Q ð Q ÷f

ð 

÷ð ÷!ð !÷+ð +÷Ið I÷$ð $÷6ð 6÷5ð 5÷,ð ,÷1ð 1÷#ð #÷Uð U÷3ð 3÷)ð )÷)Oð )O÷Zx9ò x9÷t/ð /÷b(!ð (!÷T8ð 8÷tUð U÷	Nð 	N÷5ð 5÷nIPð IP÷Vð ÷*/ð /÷ð ÷	'ð 	'÷
%ð 
%÷%ð %ô˜Ÿ™ô ð ÷ó ðð ,0€I÷.ð .÷`#ð #÷%ð %÷*%ð %÷ 	ð 	÷Mð M÷^(ð (÷>&ð &÷0ð ÷20ð 0÷"ð "÷ð ÷.ð .÷ð ÷ð ñ ˜CÓ €IÙ˜CÓ €IÙ˜CÓ €IÙ˜CÓ €IÙ  Ó&€NÙ˜DÓ!€IÙ˜CÓ €IÙ˜EÓ"€IÙ˜4Ó €HÙ˜3“€IÙ˜3“€IÙ˜6Ó"€Ià÷ó ðð ÷ó ð÷%ð %ð ÷	ó ð	ð ÷!ó ð!÷()ð )ð ÷'ó ð'ðR ÷6ó ð6ð  ÷)ó ð)ð ÷ó ðð, ÷ñ ó ð÷,&ð &÷ð ÷
ð ÷/ð /÷
Oð O÷
9ð 9÷ð ÷ð ÷
/ð /÷
)ð )÷&ð &÷&ð &÷%ð %÷:ð :÷
Cð 
C÷q4 ƒ r*   r.   rê  )<rß   Útypingr4   Ú
contextlibr   Ú	functoolsr   Úior   Ú	itertoolsr   rÝ  r   r{  Ú
markupsafer   r	   r4  r
   Ú
exceptionsr   Ú
idtrackingr   r   r   r   r   r   r9   r   Úutilsr   r   rW   r   ÚTYPE_CHECKINGÚtyping_extensionsÚterP   r   ÚTypeVarrE   r5   r   r]  r@   r[   rd   ru   r|   r�   rŸ   r1   ÚRuntimeErrorr›   rä   rš   r  r  r.   rÉ   r*   r(   Ú<module>r	     s  ðÙ 6ã Ý %Ý $Ý Ý Ý 2å Ý å Ý .Ý Ý &Ý *Ý (Ý *Ý Ý  Ý Ý Ý  à‡?‡?€?Û"å(à‡I‚Iˆc˜Ÿ™ C¨¯© JÕ/Ô0€ð 	ˆ$Øˆ$Øˆ#Ø
ˆDØˆ#Ø
ˆDØˆ$ØˆXð	€	õ'õ õ*÷&õ0õ"÷&ñ &÷Pñ PôfJ�,ô Jô'˜kô 'ô&&˜Kô &ô,�9ô ôbC�Kö bCr*   