o
    if^P                     @   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 ddlmZmZ ddlmZ ddlmZ ddlmZmZ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$G dd deZ%G dd deZ&e&Z'G dd deZ(dS )z
    pygments.lexers.html
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for HTML, XML and related markup.

    :copyright: Copyright 2006-2024 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Punctuation
Whitespace)looks_like_xmlhtml_doctype_matches)JavascriptLexer)
ScalaLexer)CssLexer_indentation_starts_block)	RubyLexer)	HtmlLexerDtdLexerXmlLexer	XsltLexer	HamlLexer
ScamlLexerPugLexerUrlEncodedLexerc                   @   s  e Zd ZdZdZdZdgZg dZddgZdZ	e
je
jB Zd	efd
ejfdejfdejfdejfdejfdeeeejedfdeeeejedfdeeeejdfdeeeeeejeefg
defdeejeedfdejfdeeeedfgdeeeeeejeedfdeefdeedfdeedfgd eeeeeejeedfd!eefdeedfdeedfgd"edfd#edfd$edfgd%Zd&d' Zd(S ))r   zo
    For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted
    by the appropriate lexer.
    HTMLzhttps://html.spec.whatwg.org/html)z*.htmlz*.htmz*.xhtml*.xsltz	text/htmlzapplication/xhtml+xml z[^<&]+&\S*?;\<\!\[CDATA\[.*?\]\]\>
<!--.*?-->	<\?.*?\?><![^>]*>z(<)(\s*)(script)(\s*))script-contenttagz(<)(\s*)(style)(\s*))style-contentr*   z(<)(\s*)([\w:.-]+)r*   z"(<)(\s*)(/)(\s*)([\w:.-]+)(\s*)(>)\s+z([\w:-]+\s*)(=)(\s*)attr[\w:-]+z(/?)(\s*)(>)#popz (<)(\s*)(/)(\s*)(script)(\s*)(>)z.+?(?=<\s*/\s*script\s*>)z.+?\nz.+z(<)(\s*)(/)(\s*)(style)(\s*)(>)z.+?(?=<\s*/\s*style\s*>)".*?"'.*?'[^\s>]+)rootr*   r)   r+   r-   c                 C      t | rdS d S )Ng      ?)r   text r7   M/var/www/html/corbot_env/lib/python3.10/site-packages/pygments/lexers/html.pyanalyse_textf      zHtmlLexer.analyse_textN)__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedre
IGNORECASEDOTALLflagsr   r   Entityr	   Preproc	Multiliner   r   Tag	Attributer
   r   r   r   r   tokensr9   r7   r7   r7   r8   r      s    

<r   c                   @   s  e Zd ZdZejejB ZdZdgZ	dgZ
dgZdZdZedd	eeeejd
fdeeeejdfdeeeejdfdeeeejdfdeeejeefdeeeejfdejfdefg	defdejfdedfdefdejfdejfgdefdedfdefgedd ejfd!ejfd"edfgedd#ejfd$ejfd%ejfd!ejfd"edfgedd&ejfd!ejfd"edfgedd'ejfd!ejfd"edfgd(Zd)d* Zd+S ),r   z7
    A lexer for DTDs (Document Type Definitions).
    DTDdtdz*.dtdzapplication/xml-dtdz6https://en.wikipedia.org/wiki/Document_type_definitionz1.5commonz(<!ELEMENT)(\s+)(\S+)elementz(<!ATTLIST)(\s+)(\S+)attlistz(<!ENTITY)(\s+)(\S+)entityz(<!NOTATION)(\s+)(\S+)notationz(<!\[)([^\[\s]+)(\s*)(\[)z(<!DOCTYPE)(\s+)([^>\s]+)zPUBLIC|SYSTEMz[\[\]>]r,   z(%|&)[^;]*;z<!--commentz	[(|)*,?+]z"[^"]*"z
\'[^\']*\'z[^-]+z-->r/   -zEMPTY|ANY|#PCDATAz[^>\s|()?+*,]+>z?CDATA|IDREFS|IDREF|ID|NMTOKENS|NMTOKEN|ENTITIES|ENTITY|NOTATIONz#REQUIRED|#IMPLIED|#FIXEDzxml:space|xml:langzSYSTEM|PUBLIC|NDATAzSYSTEM|PUBLIC)r3   rQ   rV   rR   rS   rT   rU   c                 C   s,   t | sd| v sd| v sd| v rdS d S d S )Nz	<!ELEMENTz	<!ATTLISTz<!ENTITY皙?r   r5   r7   r7   r8   r9      s
   zDtdLexer.analyse_textN)r;   r<   r=   r>   rE   	MULTILINErG   rH   r?   rA   rB   rC   r@   rD   r   r   r   r   r   rL   rI   Constantr	   r
   r   DoubleSingleReservedrM   rN   r9   r7   r7   r7   r8   r   k   s    
Dr   c                
   @   s   e Zd ZdZejejB ZdZdgZ	g dZ
g dZdZdZdefd	efd
ejfdejfdejfdejfdejfdejdfdejfg	defdejdfdejdfgdefdedfdedfdedfgdZdd ZdS )r   z=
    Generic lexer for XML (eXtensible Markup Language).
    XMLxml)z*.xml*.xslz*.rssr"   z*.xsdz*.wsdlz*.wsf)ztext/xmlzapplication/xmlzimage/svg+xmlzapplication/rss+xmlzapplication/atom+xmlzhttps://www.w3.org/XMLr#   z[^<&\s]+z[^<&\S]+r$   r%   r&   r'   r(   z<\s*[\w:.-]+r*   z<\s*/\s*[\w:.-]+\s*>r,   z[\w.:-]+\s*=r-   z/?\s*>r/   r0   r1   r2   )r3   r*   r-   c                 C   r4   )Ng?rZ   r5   r7   r7   r8   r9      r:   zXmlLexer.analyse_textN)r;   r<   r=   r>   rE   r[   rG   rH   r?   rA   rB   rC   r@   rD   r   r   r   rI   r	   rJ   rK   rL   rM   r   rN   r9   r7   r7   r7   r8   r      s<    


r   c                   @   sJ   e Zd ZdZdZdgZg dZddgZdZdZ	h d	Z
d
d Zdd ZdS )r   z
    A lexer for XSLT.
    XSLTxslt)rb   r"   z*.xplzapplication/xsl+xmlzapplication/xslt+xmlzhttps://www.w3.org/TR/xslt-30z0.10>#   copy-offor-eachvalue-of
with-paramstrip-spaceapply-importsattribute-setcall-templatedecimal-formatpreserve-spaceapply-templatesnamespace-aliasprocessing-instructionifkeycopysortr6   whenparamchooseimportnumberoutputrV   rR   r   messagefallbacktemplatevariable	attribute	otherwise	transform
stylesheetc                 c   sb    t | |D ]'\}}}td|}|tju r(|r(|d| jv r(|t|fV  q|||fV  qd S )Nz</?xsl:([^>]*)/?>?   )	r   get_tokens_unprocessedrE   matchr   rL   groupEXTRA_KEYWORDSr   )selfr6   indextokenvaluemr7   r7   r8   r     s   z XsltLexer.get_tokens_unprocessedc                 C   s   t | r
d| v rdS d S d S )Nz<xslrY   rZ   r5   r7   r7   r8   r9     s   zXsltLexer.analyse_textN)r;   r<   r=   r>   r?   rA   rB   rC   r@   rD   r   r   r9   r7   r7   r7   r8   r      s    	r   c                   @   sp  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 d
 Zdefdefgdejdfdejdfgdedfde d eeeedfedgeddejdfde d ejdfde d e d eeejedfde d eeddfde d eejddfd e d eeeedfd!e d eej d"dfed#g	edd$e d% eefd&e d' eefd(ed)fd*ed+fd,efed#gd-efd.e d/ ee!j"eee!j"fd0edfgd1efd2ej#d3fd4ej#fd5edfgd6efd7ej$dfd8ej$j%dfd9ej$j&dfd:e!dfd;e!dfged< efd0edfged< ejfd0edfgd-ej fd.e d/ ee!j"eee!j"fd0edfgd=Z'd>S )?r   z
    For Haml markup.
    Hamlhamlz*.hamlztext/x-hamlzhttps://haml.infoz1.3z(?: \|\n(?=.* \|)|.)z
(?:,\s*\n|)[ \t]*\n[ \t]*	\.[\w:-]+r*   	\#[\w:-]+[&!]?==plain([&!]?[=~])(*\n)r3   css%[\w:-]+!!!*\nr/   (/)(\[*?\])(/html-comment-block-#haml-comment-block(-)(:filter-blockeval-or-plain\{(,\n|)*?\}\[*?\]\(html-attributes	/[ \t]*\n#pop:2[<>]{1,2}(?=[ \t=])([^#\n]|#[^{\n]|(\\\\)*\\#\{)+(#\{)(*?)(\})\nr,   [\w:-]+[ \t]*=html-attribute-valuer.   \)[ \t]+\w+@\w+\$\w+'(\\\\|\\[^\\]|[^'\\\n])*'"(\\\\|\\[^\\]|[^"\\\n])*"+)r3   r   r   contentr*   r   r   r   r   r   r   N)(r;   r<   r=   r>   r?   rA   rB   rC   r@   rD   rE   rF   rH   _dot
_comma_dotr   r   r   ClassFunctionr   r   r   r   r   r   rL   	Namespacer	   Specialr   rJ   	Decoratorr   InterpolrM   VariableInstanceGlobalrN   r7   r7   r7   r8   r     s    


	








r   c                   @   s  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dfde d eeeedfedgeddejdfde d ejdfde d e d eeejedfde d eeddfde d eejddfde d eeeeedfde d eeeedfd e d eej d!dfed"g
edd#e d$ eefd%e d& eefd'ed(fd)ed*fd+efed"gd,efd-e d. ee!j"eee!j"fd/edfgd0efd1ej#d2fd3ej#fd4edfgd5efd6ej$dfd7ej$j%dfd8ej$j&dfd9e!dfd:e!dfged; efd/edfged; ejfd/edfgd,ej fd-e d. ee!j"eee!j"fd/edfgd<Z'd=S )>r   z5
    For Scaml markup.  Scaml is Haml for Scala.
    Scamlscamlz*.scamlztext/x-scamlz"https://scalate.github.io/scalate/1.4.r   r   r   r*   r   r   r   r   r   r3   r   r   r   r   r/   r   r   r   r   r   scaml-comment-block(-@\s*)(import)?(r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r,   r   r   r.   r   r   r   r   r   r   r   r   r3   r   r   r   r*   r   r   r   r   r   r   N)(r;   r<   r=   r>   r?   rA   rB   rC   r@   rD   rE   rF   rH   r   r   r   r   r   r   r   r   r   r   r   r   rL   r   r	   r   r   rJ   r   r   r   r   rM   r   r   r   rN   r7   r7   r7   r8   r     s    


	









r   c                   @   s  e Zd ZdZdZddgZddgZd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dfde d eeeedfedgedde d ejdfde d e d eeejedfde d eeddfde d eejddfd e d eeeeedfd!e d eeeedfd"e d eejd#dfd$ej dfd%ed&fg
edd'e d( eefd)e d* eefd+ed,fd-ed.fd/efed&gd0efd1e d2 ee!j"eee!j"fd3edfgd4efd5ej#d6fd$ej#fd7edfgd8efd9ej$dfd:ej$j%dfd;ej$j&dfd<e!dfd=e!dfged> efd3edfged> ejfd3edfgd0ejfd1e d2 ee!j"eee!j"fd3edfgd?Z'd@S )Ar   z
    For Pug markup.
    Pug is a variant of Scaml, see:
    http://scalate.fusesource.org/documentation/scaml-reference.html
    Pugpugjadez*.pugz*.jadez
text/x-pugztext/x-jadezhttps://pugjs.orgr   r   r   r   r   r*   r   r   r   r   r   r3   r   r   r   r/   r   r   r   r   r   r   r   r   r   r   r.   z\|r   r   r   r   r   r   r   r   r   r   r   r   r   r   r,   r   r   r   r   r   r   r   r   r   r   r   N)(r;   r<   r=   r>   r?   rA   rB   rC   r@   rD   rE   rF   rH   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   rJ   r   r   rL   r   r   rM   r   r   r   rN   r7   r7   r7   r8   r     s    












r   c                   @   sB   e Zd ZdZdZdgZdgZdZdZdde	e
jeeefgiZdS )	r   z#
    Lexer for urlencoded data
    
urlencodedz!application/x-www-form-urlencodedz.https://en.wikipedia.org/wiki/Percent-encodingz2.16r3   z([^&=]*)(=)([^=&]*)(&?)N)r;   r<   r=   r>   r?   rA   rC   r@   rD   r   r   rL   r
   r   r   rN   r7   r7   r7   r8   r   c  s    r   ))r>   rE   pygments.lexerr   r   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   pygments.utilr   r   pygments.lexers.javascriptr   pygments.lexers.jvmr   pygments.lexers.cssr   r   r   pygments.lexers.rubyr   __all__r   r   r   r   r   r   r   	JadeLexerr   r7   r7   r7   r8   <module>   s&    
 (OX.%opk