o
    Rht                     @   s   d Z ddlZddlmZmZmZmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZ ddlmZmZ ddlmZ ddlmZ ddlmZ g d	ZG d
d deZG dd deZG dd deZ G dd deZ!G dd deZ"dS )z
    pygments.lexers.webmisc
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for misc. web stuff.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerExtendedRegexLexerincludebygroupsdefaultusing)
TextCommentOperatorKeywordNameStringNumberPunctuationLiteral
Whitespace)_indentation_starts_block)	HtmlLexer)JavascriptLexer)	RubyLexer)	DuelLexer	SlimLexerXQueryLexerQmlLexer
CirruLexerc                
   @   s   e Zd ZdZdZdZg dZddgZddgZd	Z	e
jZd
deejeeejfdeejejeeejfdeejejejfdeeeeeeefdeefdeefgiZdS )r   zY
    Lexer for Duel Views Engine (formerly JBST) markup with JavaScript code blocks.
    Duelzhttp://duelengine.org/)dueljbstz
jsonml+bstz*.duelz*.jbstztext/x-duelztext/x-jbst1.4rootz(<%[@=#!:]?)(.*?)(%>)z(<%\$)(.*?)(:)(.*?)(%>)z(<%--)(.*?)(--%>)z(<script.*?>)(.*?)(</script>)z
(.+?)(?=<)z.+N)__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedreDOTALLflagsr   r   Tagr   r   Functionr   r   r	   	Multiliner   tokens r2   r2   Y/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/pygments/lexers/webmisc.pyr      s8    

r   c                   @   s  e Zd ZdZdZdZg dZg dZddgZdZ	g Z
d	Zd
e d Zd
e de dZdZd
e d Ze de dZe de ZeZd
e de dZdZdZde d e d Zde d e d ZdZdZdZejejB Zdd Zdd Z d d! Z!d"d# Z"d$d% Z#d&d' Z$d(d) Z%d*d+ Z&d,d- Z'd.d/ Z(d0d1 Z)d2d3 Z*d4d5 Z+d6d7 Z,d8d9 Z-d:d; Z.d<d= Z/d>d? Z0d@dA Z1dBdC Z2dDdE Z3dFdG Z4dHdI Z5dJdK Z6dLdM Z7dNdO Z8dPdQ Z9dRdS Z:i dTdUe;fdVe;dWfdXe;dYfdZe;fgd[d\e<fgd]g e=d[d^e$fdVe;dTfd_e9fd`e>dafdbe>dafdce>dafdde>dafdee?j@dafdfe?j@dafdge>dafdhe fdiefdjeAe>e<e>dkfdleAe>e<e>dmfdneAe>e<e>dmfdoe d eAe>e<eBjCdmfdoe d eAe>e<eBjDdmfdpe>dmfdqeAeEe<e>dmfdreFjGdsfdteAe>e<eFjGdsfdueAe>e<e>e<e>e<eFjGdsfdveEfdweAe>e<e>fdxe>dWfdyeAe>e<e>fdze>fd{e>dafd|eAe>e<e>dafd}e>d~fde>dafde?feeBjCfeeBjDfdeAe>e<dafd~eeBjCdYfeeBjDdYfgde=d[dVe;dTfde d eAe>e<eBjCfde d eAe>e<eBjDfeeBjCfeeBjDfdeEfde?fdeEdafeeFjHfg
de=d[dVe;dTfeeBjCdfeeBjDdfde>dafde>dfdeAe>eIe>fde>fdeEfg	ddVe;dTfeeFjJfde d eAeEeBjCfde d eAeEeBjDfde d eAeEeIeBjCfde d eAeEeIeBjDfdeEfdeAeIeFjJdfdeAeIe>jKeIeFjGdsfdeAeIe>jKeIdafg
dsdVe;dTfde d eAeFeEd]fgdke=d[dVe;dTfed eFjGd]feeFjGd]fgdme=d[dVe;dTfdreFjGdsfdeAe>eIeEeIeEd]fde5fdeAe>eIeEdfdeAe>eIeEeIeEdfdeAeEeIdfdeEdYfde>dYfde d eAe>eIeBjCdfde d eAe>eIeBjDdfde>dafde?j@dafde?dafde>dafdeAe>eIe>eIe>dafdeAe>eIe>dkfdeAe>eIe>fdeAe>eIe>fdoe d eAe>eIeBjCdmfdoe d eAe>eIeBjDdmfde>dmfdqeAe?eIe>dmfed e>jLd]fdeAe>jLeEfee>jLdfgddVe;dTfdeEdafde#fdeFdfeeFdfde2fgddVe;dTfdeEdYfeeFjGfeeBjCfeeBjDfgddVe;dTfde$fdeEfd_e7fdeEfgdde"fdeMfdeMfgdd\eIdfdeBjNdYfeeFfgddeBjNdYfdeMfgddeBjNdYfdeMfgi de=d[de!fdeFjOdfdeEdfdeEdfde?feeFjOfgddeEdfd_e9fdeFjPfeeFjPfeeFjPfeeFjPfdeFjPfgddeEdfdeEdafdeFjPfeeFjPfeeFjPfeeFjPfdeFjPfgddeFjOdfd_e9fde0fde-fde.fde%feeMfeeMfeeMfdeMfg
de=d[de!feeFjOfgde=d[dVe;dTfde>dYfgddVe;dTfe=d[de>dYfgde=d[dVe;dTfeeBjCfeeBjDfde>fdeEdYfgdeeFjGdfgddeEd]fdeMfde<fgde=d[dVe;dTfde?d]fde?dafeQd]gde=d[eeFjGdYfgde=d[d_e7fdeEdafgdeeFjGdafgdeeFjGdafgdag e=d[dVe;dTfdeRjSd]fdeRjSd]fdeRjSd]fdeRjTd]fdeEd]fdeAe>jKeIe>jKd]fdeAe>jKeIe>jKeIe>jKd]fdeAe>jKeIe>jKeIe>jKd]fed eFd]fde eFjOd]fdeFjOd]feeBjCd]feeBjDd]fde$fdeAe>jKe<e>jKe<e>jKfdeAe>jKe<e>jKdfdeAe>jKe<e>jKdfdeAe>jKe<e>jKe<e>jKdfdeAe>jUe<e>jUdfdeAe>jKe<e>jKdfdeAe>e<eFjGdsfdueAe>e<e>e<e>e<eFjGdsfdreFjGdsfdeAe>jKe<e>jKe<eFjGdsfdeAe>jKe<eFjJdfdeAe?e<e>dmfde4fde3fde1fde,fde/fde6fdeAe>jKeIe>jKdfde+fde*fdeAe>e<eEfdeAe>e<eEfde8fde8fde d eAe>e<dfde d eAe>e<dfde d eAe>e<eFjGe<eEd]fdeAe>jKe<e>jKfd e7fde(fde)fdeAe>jKe<e>jKdfdeAe>jUe<e>jUdfdeAeEe<dfde>fdeAe>jKe<e>jKdfde d eBjCdfde d eBjDdfdeAe>eEfd	eAe>eEfd
eAe>e<eEfde>fdeAe>e<e>fde>fdeAe>e<dafdeAe>e<eEeFjGdsfde d eFjPd]fde d eFjPd]fde eFjPd]fdeFjPd]fdeFjPd]fdeEfed eFjOdfed eFjVdfde d eAeFjVe>jLeRjTfeeFjOd]fZWdS (  r   zj
    An XQuery lexer, parsing a stream and outputting the tokens needed to
    highlight xquery code.
    XQueryzhttps://www.w3.org/XML/Query/)xqueryxqyxqxqlxqm)z*.xqyz*.xqueryz*.xqz*.xqlz*.xqmztext/xqueryzapplication/xqueryr   z(?:[A-Z]|_|[a-z])z(?:z|-|\.|[0-9])+z*)z(?:[A-KN-WYZ]|_|:|[a-kn-wyz])*:|)z"(?:&(?:lt|gt|amp|quot|apos|nbsp);)z(?:&#[0-9]+;|&#x[0-9a-fA-F]+;)z(?:"(?:z|""|[^&"])*")z(?:'(?:z|''|[^&'])*')z1[A-Za-z]|\s|\d|[!"#$%()*+,\-./:;=?@\[\\\]^_\'`|~]z0[A-Za-z]|\s|\d|[!#$%()*+,\-./:;=?@\[\\\]^_\'`|~]z/[A-Za-z]|\s|\d|[!"#$%()*+,\-./:;=?@\[\\\]^_`|~]c                 c   .    |  t|dfV  dg|_| |_d S N   r    )startr   groupstackendposlexermatchctxr2   r2   r3   punctuation_root_callbackr      z%XQueryLexer.punctuation_root_callbackc                 c   r?   r@   )rB   r
   rC   rD   rE   rF   rG   r2   r2   r3   operator_root_callbackx   rL   z"XQueryLexer.operator_root_callbackc                 c   s@    |  tj|dfV  | jr|j| j  | |_	d S NrA   )
rB   r   r.   rC   xquery_parse_staterD   appendpoprE   rF   rG   r2   r2   r3   popstate_tag_callback~   s
   z!XQueryLexer.popstate_tag_callbackc                 c   s:    |  tj|dfV  |j| j  | |_	d S rN   )
rB   r   DocrC   rD   rP   rO   rQ   rE   rF   rG   r2   r2   r3   popstate_xmlcomment_callback   s   z(XQueryLexer.popstate_xmlcomment_callbackc                 c   s    |  t|dfV  | j }|dkrDtd|dr6|  t|dfV  |jd |	 |_
d S |jd |	d|_
d S |j| |	d|_
d S )NrA   occurrenceindicatorz[?*+]+   operator)rB   r   rC   rO   rQ   r+   rI   rD   rP   rE   rF   )rH   rI   rJ   
next_stater2   r2   r3   popstate_kindtest_callback   s   
z&XQueryLexer.popstate_kindtest_callbackc                 c   sx    |  t|dfV  t| jdkr |j  |jsdg|_nt|jdkr1|j| j  ndg|_| |_	d S )NrA   r   r    )
rB   r   rC   lenrO   rD   rQ   rP   rE   rF   rG   r2   r2   r3   popstate_callback   s   
zXQueryLexer.popstate_callbackc                 c   @    |  tj|dfV  | jd |jd | |_d S )NrA   element_content	start_tag	rB   r   r.   rC   rO   rP   rD   rE   rF   rG   r2   r2   r3   +pushstate_element_content_starttag_callback   
   z7XQueryLexer.pushstate_element_content_starttag_callbackc                 c   sD    |  tj|dfV  |jd | j|jj |	 |_
d S )NrA   cdata_section)rB   r   rS   rC   rD   rP   rO   staterQ   rE   rF   rG   r2   r2   r3    pushstate_cdata_section_callback   s
   z,XQueryLexer.pushstate_cdata_section_callbackc                 c   sD    |  tj|dfV  | j|jj |jd |	 |_
d S )NrA   r^   )rB   r   r.   rC   rO   rP   rc   rQ   rD   rE   rF   rG   r2   r2   r3   pushstate_starttag_callback   s
   z'XQueryLexer.pushstate_starttag_callbackc                 c   f    |  t|dfV  |  t|dfV  |  t|dfV  dg|_| jd | |_	d S NrA   rV      r    rW   
rB   r   rC   r   r   rD   rO   rP   rE   rF   rG   r2   r2   r3   !pushstate_operator_order_callback      z-XQueryLexer.pushstate_operator_order_callbackc                 c   rf   rg   ri   rG   r2   r2   r3   pushstate_operator_map_callback   rk   z+XQueryLexer.pushstate_operator_map_callbackc                 c   rf   rg   ri   rG   r2   r2   r3    pushstate_operator_root_validate   rk   z,XQueryLexer.pushstate_operator_root_validatec                 c   sf    |  t|dfV  |  t|dfV  |  t|dfV  dg|_| jd | |_d S rg   )	rB   r   rC   r   rD   rO   rP   rE   rF   rG   r2   r2   r3   )pushstate_operator_root_validate_withmode   rk   z5XQueryLexer.pushstate_operator_root_validate_withmodec                 c   @    |  tj|dfV  |jd | jd | |_d S )NrA   processing_instructionrW   	rB   r   rS   rC   rD   rP   rO   rE   rF   rG   r2   r2   r3   2pushstate_operator_processing_instruction_callback   ra   z>XQueryLexer.pushstate_operator_processing_instruction_callbackc                 c   ro   )NrA   rp   r]   rq   rG   r2   r2   r3   9pushstate_element_content_processing_instruction_callback   ra   zEXQueryLexer.pushstate_element_content_processing_instruction_callbackc                 c   ro   )NrA   rb   r]   rq   rG   r2   r2   r3   0pushstate_element_content_cdata_section_callback   ra   z<XQueryLexer.pushstate_element_content_cdata_section_callbackc                 c   ro   )NrA   rb   rW   rq   rG   r2   r2   r3   )pushstate_operator_cdata_section_callback   ra   z5XQueryLexer.pushstate_operator_cdata_section_callbackc                 c   ro   )NrA   xml_commentr]   rq   rG   r2   r2   r3   -pushstate_element_content_xmlcomment_callback   ra   z9XQueryLexer.pushstate_element_content_xmlcomment_callbackc                 c   ro   )NrA   rv   rW   rq   rG   r2   r2   r3   &pushstate_operator_xmlcomment_callback   ra   z2XQueryLexer.pushstate_operator_xmlcomment_callbackc                 c   sj    |  t|dfV  |  t|dfV  |  t|dfV  | jd |jd | |_	d S )NrA   rV   rh   kindtest
rB   r   rC   r   r   rO   rP   rD   rE   rF   rG   r2   r2   r3   pushstate_kindtest_callback      z'XQueryLexer.pushstate_kindtest_callbackc                 c   j    |  t|dfV  |  t|dfV  |  t|dfV  | jd |jd | |_	d S )NrA   rV   rh   rW   kindtestforpirz   rG   r2   r2   r3   )pushstate_operator_kindtestforpi_callback  r|   z5XQueryLexer.pushstate_operator_kindtestforpi_callbackc                 c   r}   )NrA   rV   rh   rW   ry   rz   rG   r2   r2   r3   $pushstate_operator_kindtest_callback  r|   z0XQueryLexer.pushstate_operator_kindtest_callbackc                 c   sl    |  tj|dfV  |  t|dfV  |  t|dfV  | jd |jd |	 |_
d S )NrA   rV   rh   rU   ry   )rB   r   r.   rC   r   r   rO   rP   rD   rE   rF   rG   r2   r2   r3   /pushstate_occurrenceindicator_kindtest_callback  s   z;XQueryLexer.pushstate_occurrenceindicator_kindtest_callbackc                 c   r\   )NrA   rW   r^   r_   rG   r2   r2   r3   $pushstate_operator_starttag_callback  ra   z0XQueryLexer.pushstate_operator_starttag_callbackc                 c   s:    |  t|dfV  | jd dg|_| |_d S )NrA   rW   r    )rB   r   rC   rO   rP   rD   rE   rF   rG   r2   r2   r3    pushstate_operator_root_callback$  s
   z,XQueryLexer.pushstate_operator_root_callbackc                 c   sf    |  t|dfV  |  t|dfV  |  t|dfV  | jd dg|_| |_	d S )NrA   rV   rh   rW   r    rz   rG   r2   r2   r3   *pushstate_operator_root_construct_callback*  s   z6XQueryLexer.pushstate_operator_root_construct_callbackc                 c   sD    |  t|dfV  |j }| j| dg|_| |_d S r@   )	rB   r   rC   rD   rQ   rO   rP   rE   rF   )rH   rI   rJ   	cur_stater2   r2   r3   pushstate_root_callback2  s   
z#XQueryLexer.pushstate_root_callbackc                 c   s4    |  tj|dfV  |jd | |_d S )NrA   rW   )rB   r   	AttributerC   rD   rP   rE   rF   rG   r2   r2   r3   %pushstate_operator_attribute_callback9  s   z1XQueryLexer.pushstate_operator_attribute_callbackcommentz[^:()]+z\(:#pushz:\)#popz[:()]
whitespace\s+rW   z(\})z(\{)z then|else|external|at|div|exceptr    zorder byzgroup byz%is|mod|order\s+by|stable\s+order\s+byzand|orz+(eq|ge|gt|le|lt|ne|idiv|intersect|in)(?=\b)z6return|satisfies|to|union|where|count|preserve\s+stripz+(>=|>>|>|<=|<<|<|-|\*|!=|\+|\|\||\||:=|=|!)z(::|:|;|\[|//|/|,)z(castable|cast)(\s+)(as)\b
singletypez(instance)(\s+)(of)\bitemtypez(treat)(\s+)(as)\bz(case)(\s+)(z(case|as)\bz(\))(\s*)(as)z\$varnamez (for|let|previous|next)(\s+)(\$)z2(for)(\s+)(tumbling|sliding)(\s+)(window)(\s+)(\$)z\)|\?|\]z(empty)(\s+)(greatest|least)zascending|descending|defaultz(allowing)(\s+)(empty)externalz(start|when|end)z(only)(\s+)(end)	collationuritooperatorz(into|following|preceding|with)z\.z(catch)(\s*)namespacedeclz
(at)(\s+)(,=;namespacekeywordzinherit|no-inherit	namespacez(default)(\s+)(element)zpreserve|no-preserveannotationnamez(\()(z
(\,)(\s+)(\)z	(\s+)(\%)z(\s+)(variable)(\s+)(\$)z(\s+)(function)(\s+)(z)(\()?z(:\*)z(void)(\s*)(\()(\s*)(\))zr(element|attribute|schema-element|schema-attribute|comment|text|node|binary|document-node|empty-sequence)(\s*)(\()z!(processing-instruction)(\s*)(\())rU   r~   z!(item)(\s*)(\()(\s*)(\))(?=[*+?])rU   z(\(\#)(\s*)pragmaz	then|elsez<except|intersect|in|is|return|satisfies|to|union|where|countz%and|div|eq|ge|gt|le|lt|ne|idiv|mod|orz):=|=|,|>=|>>|>|\[|\(|<=|<<|<|-|!=|\|\||\|zexternal|atz(stable)(\s+)(order)(\s+)(by)z(castable|cast)(\s+)(as)z(treat)(\s+)(as)z(instance)(\s+)(of)zcase|asz:\*z(function|map|array)(\()ry   z\{z(\))([*+?]?)z\*closekindtestz!(element|schema-element)(\s*)(\()r~   z(\))z\?rv   z(-->)z	[^-]{1,2}z@\t|\r|\n|[\u0020-\uD7FF]|[\uE000-\uFFFD]|[\U00010000-\U0010FFFF]rp   processing_instruction_contentz\?>rb   z]]>r^   z(/>)>r]   "quot_attribute_content'apos_attribute_contentz""z	\{\{|\}\}z''z</end_tagz(<!--)z(<\?)z(<!\[CDATA\[)z(<)z(>)xmlspace_declzpreserve|stripdeclareorderingzordered|unorderedxqueryversionencodingpragmacontentsz#\)z(\s+)z\*|\?|\+z:=optionqname_brarenz(\()element_qnameattribute_qnamez\d+(\.\d*)?[eE][+-]?\d+z(\.\d+)[eE][+-]?\d+z(\.\d+|\d+\.\d*)z(\d+)z(\.\.|\.|\))z(declare)(\s+)(construction)z#(declare)(\s+)(default)(\s+)(order)z"(declare)(\s+)(context)(\s+)(item)z\*:z(\}|\])z'(declare)(\s+)(default)(\s+)(collation)z (module|declare)(\s+)(namespace)z(declare)(\s+)(base-uri)z.(declare)(\s+)(default)(\s+)(element|function)z(import)(\s+)(schema|module)z(declare)(\s+)(copy-namespaces)z(for|let|some|every)(\s+)(\$)z!(declare)(\s+)(variable)(\s+)(\$)z(declare)(\s+)(\%)z(\))(\s+)(as)zk(element|attribute|schema-element|schema-attribute|comment|text|node|document-node|empty-sequence)(\s+)(\()z!(processing-instruction)(\s+)(\()z(declare)(\s+)(boundary-space)z(validate)(\s+)(lax|strict)z(validate)(\s*)(\{)z(typeswitch)(\s*)(\()z(switch)(\s*)(\()z&(element|attribute|namespace)(\s*)(\{)z7(document|text|processing-instruction|comment)(\s*)(\{)z(attribute)(\s+)(?=z(element)(\s+)(?=z((processing-instruction|namespace)(\s+)(z
)(\s*)(\{)z(declare|define)(\s+)(function)z(\{|\[)z(unordered|ordered)(\s*)(\{)z(map|array)(\s*)(\{)z(declare)(\s+)(ordering)z(xquery)(\s+)(version)z
(\(#)(\s*)returnz(declare)(\s+)(option)zB(ancestor-or-self|ancestor|attribute|child|descendant-or-self)(::)zT(descendant|following-sibling|following|parent|preceding-sibling|preceding|self)(::)z(if)(\s*)(\()z1(update)(\s*)(insert|delete|replace|value|rename)z
(try)(\s*)z(catch)(\s*)(\()(\$)z(@z@\*:z@\*z(@)z//|/|\+|-|;|,|\(|\)z	(?=\s*\{)z(?=\s*\([^:])z)(#)([0-9]+)N)Xr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   rO   ncnamestartchar
ncnamecharncnamepitarget_namestartcharpitarget_namecharpitargetprefixednameunprefixednameqname	entityrefcharrefstringdoublestringsingleelementcontentcharquotattrcontentcharaposattrcontentcharr+   r,   	MULTILINEr-   rK   rM   rR   rT   rY   r[   r`   rd   re   rj   rl   rm   rn   rr   rs   rt   ru   rw   rx   r{   r   r   r   r   r   r   r   r   r	   r   r   r   r
   Wordr   r   DoubleSingler   r   Variable	Namespacer   	DecoratorDeclarationTyper   rS   r.   r   r   r   FloatIntegerPseudor/   r1   r2   r2   r2   r3   r   9   s`   		




 !#()
+,
./0258;<>K

O

]

h

x|
 







  /  7  >  E  K
  P
  U
  Z
  c  l  u
                   
        "    )
    -    2
    5
    8



	



 %),13
78
>CFJMOQTVY[\^_b
e

h

kpsux{     
	              
    !  "  '  (  )  *  +  -  0  1  2  
3   r   c                   @   s   e Zd ZdZdZdZddgZddgZdd	gZd
Z	e
je
jB Zdefdefdejfdejfgeddejdfdedfedgdedfgdedfeddedfdedfdefdejdfdedfdedfdejdfdejfdejfd ejfd!ejfd"ej fd#ej!fd$ej"fd%ej#fd&ejfgd'Z$d(S ))r   z
    For QML files.
    QMLz+https://doc.qt.io/qt-6/qmlapplications.htmlqmlqbsz*.qmlz*.qbszapplication/x-qmlzapplication/x-qt.qbs+qmlz1.6r   z<!--z//.*?\nz	/\*.*?\*/commentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)r   z(?=/))r   badregex\nz^(?=\s|/|<!--)slashstartsregexz@\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?z[{(\[;,]z[})\].]z\bid\s*:\s*[A-Za-z][\w.]*z\b[A-Za-z][\w.]*\s*:z(for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|this)\bz(var|let|with|function)\bz(abstract|boolean|byte|char|class|const|debugger|double|enum|export|extends|final|float|goto|implements|import|int|interface|long|native|package|private|protected|public|short|static|super|synchronized|throws|transient|volatile)\bz*(true|false|null|NaN|Infinity|undefined)\bz(Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|window)\bz[$a-zA-Z_]\w*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')r   r   r   r    N)%r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r   r	   r   r0   r   r   Regexr   r
   r   r   r   ReservedConstantr   BuiltinOtherr   r   Hexr   r   r1   r2   r2   r2   r3   r   +  sj    

r   c                   @   s   e Zd ZdZdZdZdgZdgZdgZdZ	e
jZdefd	ejd
fdedfgdejdfgdedfdejdfdedfdedfdedfdedfdejfgdedfdedfdefdedfdedfdejfdefdejfgdejfedgdZdS )r   z
    * using ``()`` for expressions, but restricted in a same line
    * using ``""`` for strings, with ``\`` for escaping chars
    * using ``$`` as folding operator
    * using ``,`` as unfolding operator
    * using indentations for nested blocks
    Cirruzhttp://cirru.org/cirruz*.cirruztext/x-cirru2.0z	[^"\\\n]+z\\escaper   r   .z\,z	[^\s"()]+r   z(?=\n)z\(r   )r   stringz[ ]+z(?<!\w)\$(?!\w)functionr   r   z[+-]?[\d.]+\bz^\n+)liner   )r   r   r   r   r    N)r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r   r-   r   Escaper
   r   r/   r   r   r   r   r   r1   r2   r2   r2   r3   r   t  sH    




r   c                   @   sf  e Zd ZdZdZdgZdgZdgZdZdZ	e
jZdZd	efd
efgdejdfdejdfgdeeeedfdejdfedgeddedfdeeeedfde d eeddfde d eejddfdejdfedgeddefdedfedgd efd!eejeeejfd"edfgd#efd$eedfd%eedfd&edfged' ejfd"edfgd(Z d)S )*r   z
    For Slim markup.
    Slimslimz*.slimztext/x-slimzhttps://slim-template.github.ior   z(?: \|\n(?=.* \|)|.)z[ \t]*\nz[ \t]*z	\.[\w:-]+tagz	\#[\w:-]+z([ \t]*==?)(.*\n)r    z[ \t]+[\w:-]+(?==)html-attributesplaincssz[\w:-]+:[ \t]*\nz	(-)(.*\n)r   z\|z*\n/slim-comment-blockz[\w:-]+eval-or-plainz[<>]{1,2}(?=[ \t=])z[ \t]+\nz#pop:2z([^#\n]|#[^{\n]|(\\\\)*\\#\{)+z(#\{)(.*?)(\})r   r   z"[^"]+"z
\'[^\']+\'z\w+r:   )r    r   r   contentr   r   r   r   N)!r!   r"   r#   r$   r%   r'   r(   r)   r&   r*   r+   
IGNORECASEr-   _dotr   r   r   Classr/   r   r   r   r   r   r   r   r   r	   Preprocr.   r   Interpolr1   r2   r2   r2   r3   r     sl    


	

r   )#r$   r+   pygments.lexerr   r   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   pygments.lexers.cssr   r   pygments.lexers.htmlr   pygments.lexers.javascriptr   pygments.lexers.rubyr   __all__r   r   r   r   r   r2   r2   r2   r3   <module>   s&    
 0     wI4