
    "                        S r SSKrSSKJrJrJrJrJr  SSKJ	r	J
r
JrJrJrJrJrJrJr  SSKJrJrJrJr  SSKJr  / SQr " S S	\5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)z
pygments.lexers.ul4
~~~~~~~~~~~~~~~~~~~

Lexer for the UL4 templating language.

More information: https://python.livinglogic.de/UL4.html

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)
RegexLexerDelegatingLexerbygroupswordsinclude)	CommentTextKeywordStringNumberLiteralNameOtherOperator)	HtmlLexerXmlLexerCssLexerJavascriptLexer)PythonLexer)UL4LexerHTMLUL4LexerXMLUL4LexerCSSUL4LexerJavascriptUL4LexerPythonUL4Lexerc                      \ rS rSrSr\R                  \R                  -  rSr	S/r
S/rS\" \R                  \R                   \\R                   \R                  5      4S\" \R                  \R                   \\R                   \R&                  5      S4S\4S	\R*                  4S
\S4S\" \R                  \R                   \\R                   \R&                  5      S4S\" \R                  \R                   \5      S4S\" \R                  \R                   \5      S4S\" \R                  \R                   \5      S4S\4S\4/S
\S4S\S4S\4S\4/S\R                  S4S\S4S\S4S\S4S\S 4S!\R0                  4S"\R0                  4S#\R0                  4S$\R2                  4S%\R4                  4S&\R6                  4S'\R:                  4S(\R<                  4S)\R<                  4S*\R<                  4S+\R>                  4S,\ 4\!" S-S.S/9\4\!" S0S.S/9\RD                  4S1\4S2\R                   4/S\R                  S4\!" S3S.S/9\4S2\4/S\R                  S4\!" S4S.S/9\R                  4S2\R                   4/S5\RF                  4S6\RF                  4S7\RF                  4S8\RF                  4/S\S4\$" S95      S:\4S\4/S\S4\$" S95      S;\4S\4/S\S4\$" S95      S:\4S\4/S\S4\$" S95      S;\4S\4/S<.
r%S=r&g>)?r      z0
Generic lexer for UL4.

.. versionadded:: 2.12
UL4ul4z*.ul4z(<\?)(\s*)(ul4)(\s*)(\?>)z-(<\?)(\s*)(ul4)(\s*)([a-zA-Z_][a-zA-Z_0-9]*)?z<\?\s*note\s.*?\?>z<\?\s*doc\s.*?\?>z<\?\s*ignore\s*\?>ignorez-(<\?)(\s*)(def)(\s*)([a-zA-Z_][a-zA-Z_0-9]*)?zK(<\?)(\s*)(printx|print|for|if|elif|else|while|code|renderblocks?|render)\bz(<\?)(\s*)(end)\bendz(<\?)(\s*)(whitespace)\b
whitespacez[^<]+<z#pushz<\?\s*end\s+ignore\s*\?>z#pop.z\?>z'''string13z"""string23'string1"string2z\d+\.\d*([eE][+-]?\d+)?z\.\d+([eE][+-]?\d+)?z\d+[eE][+-]?\d+z
0[bB][01]+z0[oO][0-7]+z0[xX][0-9a-fA-F]+z9@\(\d\d\d\d-\d\d-\d\d(T(\d\d:\d\d(:\d\d(\.\d{6})?)?)?)?\)z#[0-9a-fA-F]{8}z#[0-9a-fA-F]{6}z#[0-9a-fA-F]{3,4}z\d+zS//|==|!=|>=|<=|<<|>>|\+=|-=|\*=|/=|//=|<<=|>>=|&=|\|=|^=|=|[\[\]{},:*/().~%&|<>^+-])forinifelsenotisandorz\b)suffix)NoneFalseTruez[a-zA-Z_][a-zA-Z0-9_]*z\s+)r+   r-   defwhilerenderblockrenderblocks)keepstripsmartz\\[\\'"abtnfr]z\\x[0-9a-fA-F]{2}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{8}stringescapesz[^\\']+z[^\\"]+)
rootr    r   r!   r"   r>   r%   r&   r(   r*    N)'__name__
__module____qualname____firstlineno____doc__re	MULTILINEDOTALLflagsnamealiases	filenamesr   r   Preprocr	   
Whitespacer
   r   Functionr   Docr   r   FloatBinOctHexr   DateColorIntegerr   r   ConstantEscaper   tokens__static_attributes__r@       &lib/third_party/pygments/lexers/ul4.pyr   r      s    LL299$EDgG	I -$//7'//;	 A$//7$--9 &	 %

	 & A$//7$--9 _$//7C	 %$//7C ,$//7C	 u5MCB
L #GW5('6:w7O
 W__f-FJ'FJ'&)$&)$'6$fll3.FJJ'VZZ(!6::.I7<<X//!7==1V^^$cemnHQVWY`a,U;W=M=MN&-T__%I%
P W__f-OX]^`ghTN
 W__f--e<gooNT__%
 #FMM2!6==1!6==1!6==1	
 VV$O$ 6N	
 VV$O$ 6N	
 66"O$ 6N	
 66"O$ 6N	
eFr\   r   c                   <   ^  \ rS rSrSrSrS/rS/rU 4S jrSr	U =r
$ )r      z!
Lexer for UL4 embedded in HTML.
zHTML+UL4zhtml+ul4z	*.htmlul4c                 :   > [         TU ]  " [        [        40 UD6  g N)super__init__r   r   selfoptions	__class__s     r]   rc   HTMLUL4Lexer.__init__   s    H88r\   r@   rA   rB   rC   rD   rE   rJ   rK   rL   rc   r[   __classcell__rg   s   @r]   r   r      s'     DlGI9 9r\   r   c                   <   ^  \ rS rSrSrSrS/rS/rU 4S jrSr	U =r
$ )r      z 
Lexer for UL4 embedded in XML.
zXML+UL4zxml+ul4z*.xmlul4c                 :   > [         TU ]  " [        [        40 UD6  g ra   )rb   rc   r   r   rd   s     r]   rc   XMLUL4Lexer.__init__       87w7r\   r@   ri   rk   s   @r]   r   r      '     DkGI8 8r\   r   c                   <   ^  \ rS rSrSrSrS/rS/rU 4S jrSr	U =r
$ )r      z 
Lexer for UL4 embedded in CSS.
zCSS+UL4zcss+ul4z*.cssul4c                 :   > [         TU ]  " [        [        40 UD6  g ra   )rb   rc   r   r   rd   s     r]   rc   CSSUL4Lexer.__init__   rp   r\   r@   ri   rk   s   @r]   r   r      rq   r\   r   c                   <   ^  \ rS rSrSrSrS/rS/rU 4S jrSr	U =r
$ )r      z'
Lexer for UL4 embedded in Javascript.
zJavascript+UL4zjs+ul4z*.jsul4c                 :   > [         TU ]  " [        [        40 UD6  g ra   )rb   rc   r   r   rd   s     r]   rc   JavascriptUL4Lexer.__init__   s    (>g>r\   r@   ri   rk   s   @r]   r   r      s'     DjGI? ?r\   r   c                   <   ^  \ rS rSrSrSrS/rS/rU 4S jrSr	U =r
$ )r   i  z#
Lexer for UL4 embedded in Python.
z
Python+UL4zpy+ul4z*.pyul4c                 :   > [         TU ]  " [        [        40 UD6  g ra   )rb   rc   r   r   rd   s     r]   rc   PythonUL4Lexer.__init__
  s    h:':r\   r@   ri   rk   s   @r]   r   r     s'     DjGI; ;r\   r   ) rE   rF   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   pygments.lexers.webr   r   r   r   pygments.lexers.pythonr   __all__r   r   r   r   r   r   r@   r\   r]   <module>r      s   
 
 P P   N N .3rz rh
9? 
9
8/ 
8
8/ 
8
? 
?
;_ 
;r\   