a
    ñ»j÷U  ã                   @   sD  d Z ddl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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*G dd„ de"ƒZ+dS )zØ
    pygments.lexers.html
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for HTML, XML and related markup.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚExtendedRegexLexerÚincludeÚbygroupsÚdefaultÚusingÚinheritÚthis)Ú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ÚVueLexerÚ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+ú([\w:-]+\s*)(=)(\s*)Úattrú[\w:-]+ú(/?)(\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.   r1   c                 C   s   t | ƒrdS d S )Ng      à?)r   ©Útext© r;   ú:E:\soccer\ml_env\Lib\site-packages\pygments/lexers/html.pyÚanalyse_textf   s    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   Útokensr=   r;   r;   r;   r<   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-->r4   ú-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)r8   rT   rY   rU   rV   rW   rX   c                 C   s(   t | ƒs$d| v s d| v s d| v r$dS d S )Nz	<!ELEMENTz	<!ATTLISTz<!ENTITYçš™™™™™é?©r   r9   r;   r;   r<   r=   ½   s    ÿÿÿzDtdLexer.analyse_textN)r>   r?   r@   rA   rH   Ú	MULTILINErJ   rK   rB   rD   rE   rF   rC   rG   r   r   r   r
   r   rO   rL   ÚConstantr   r   r   ÚDoubleÚSingleÚReservedrP   rQ   r=   r;   r;   r;   r<   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*.wsfz*.xbrlz*.pomz*.svg)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*=r1   z/?\s*>r4   r5   r6   r7   )r8   r-   r1   c                 C   s   t | ƒrdS d S )NgÍÌÌÌÌÌÜ?r]   r9   r;   r;   r<   r=   ì   s    zXmlLexer.analyse_textN)r>   r?   r@   rA   rH   r^   rJ   rK   rB   rD   rE   rF   rC   rG   r
   r   r   rL   r   rM   rN   rO   rP   r   rQ   r=   r;   r;   r;   r<   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)re   r%   z*.xplzapplication/xsl+xmlzapplication/xslt+xmlzhttps://www.w3.org/TR/xslt-30z0.10>#   r:   Z	otherwiseÚnumberÚcopyrU   zapply-importsÚchoosezattribute-setÚtemplatezdecimal-formatzcopy-ofÚvariableÚfallbackz
with-paramzprocessing-instructionZ	transformzfor-eachÚsortzcall-templateÚoutputÚimportrY   Ú
stylesheetzvalue-ofÚmessageÚparamznamespace-aliaszstrip-spacezpreserve-spaceÚwhenr   ÚifÚ	attributeÚkeyzapply-templatesc                 c   s`   t  | |¡D ]N\}}}t d|¡}|tju rN|rN| d¡| jv rN|t|fV  q|||fV  qd S )Nz</?xsl:([^>]*)/?>?é   )	r   Úget_tokens_unprocessedrH   Úmatchr   rO   ÚgroupÚEXTRA_KEYWORDSr   )Úselfr:   ÚindexÚtokenÚvalueÚmr;   r;   r<   ry     s
    z XsltLexer.get_tokens_unprocessedc                 C   s   t | ƒrd| v rdS d S )Nz<xslr\   r]   r9   r;   r;   r<   r=     s    zXsltLexer.analyse_textN)r>   r?   r@   rA   rB   rD   rE   rF   rC   rG   r|   ry   r=   r;   r;   r;   r<   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)r8   Úcssú%[\w:-]+ú!!!ú*\nr4   ú(/)(\[ú*?\])(ú/ú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-valuer2   ú\)ú[ \t]+ú\w+ú@\w+ú\$\w+ú'(\\\\|\\[^\\]|[^'\\\n])*'ú"(\\\\|\\[^\\]|[^"\\\n])*"ú+)r8   r�   rš   Úcontentr-   rŠ   r    r©   r”   r–   r™   N)(r>   r?   r@   rA   rB   rD   rE   rF   rC   rG   rH   rI   rK   Ú_dotZ
_comma_dotr
   r   r   ÚClassÚFunctionr   r   r   r   r   r   rO   Ú	Namespacer   ÚSpecialr   rM   Ú	Decoratorr   ÚInterpolrP   ÚVariableÚInstanceÚGlobalrQ   r;   r;   r;   r<   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Œ   r8   r�   rŽ   r�   r�   r4   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©   r2   rª   r«   r¬   r­   r®   r¯   r°   r±   ©r8   r�   rš   r²   r-   rŠ   r    r©   r”   rÁ   r™   N)(r>   r?   r@   rA   rB   rD   rE   rF   rC   rG   rH   rI   rK   r³   r
   r   r   r´   rµ   r   r   r   r   r   r   rO   r¶   r   r·   r   rM   r   r¸   r   r¹   rP   rº   r»   r¼   rQ   r;   r;   r;   r<   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Œ   r8   r�   r�   r�   r4   r‘   r’   r“   r”   r•   rÁ   rÂ   r—   r˜   r™   r2   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@   rA   rB   rD   rE   rF   rC   rG   rH   rI   rK   r³   r
   r   r   r´   rµ   r   r   r   r   r   r   r¶   r   r·   r   rM   r   r¸   rO   r   r¹   rP   rº   r»   r¼   rQ   r;   r;   r;   r<   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.16r8   z([^&=]*)(=)([^=&]*)(&?)N)r>   r?   r@   rA   rB   rD   rF   rC   rG   r   r   rO   r   r   r   rQ   r;   r;   r;   r<   r"   c  s   ÿÿr"   c                
   @   sò   e Zd ZdZdZdZdgZdgZg ZdZ	e
je
jB Zdeejeeƒejƒfdefegd	efd
eeedgd�eeƒdfdeejeeƒdfdejfdeeeeƒdfgdejfdefdeejeeƒejƒfgdeeeeƒeƒdfdeeƒdfgdœZdS )r!   z(
    For Vue Single-File Component.
    ÚVuez#https://vuejs.org/api/sfc-spec.htmlÚvuez*.vuez2.19z(\{\{)(.*?)(\}\})z[^<&{]+r/   z0((?:[@:]|v-)(?:[.\w:-]|\[[^\]]*?\])+\s*)(=)(\s*)rB   )Ústateúattr-directiver0   r1   r2   r3   r4   z[\w-]+z[:@.]z(\[)([^\]]*?)(\])z(["\'])(.*?)(\1)r7   )r8   r-   rB   rË   N)r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r   r   rM   r   r   r
   r   r	   r   r   rP   r   r   rQ   r;   r;   r;   r<   r!   u  sN   
ÿüþÿø
ÿýÿÿýér!   ),rA   rH   Zpygments.lexerr   r   r   r   r   r   r   r	   Zpygments.tokenr
   r   r   r   r   r   r   r   Zpygments.utilr   r   Zpygments.lexers.javascriptr   Zpygments.lexers.jvmr   Zpygments.lexers.cssr   r   r   Zpygments.lexers.rubyr   Ú__all__r   r   r   r   r   r   r    Z	JadeLexerr"   r!   r;   r;   r;   r<   Ú<module>   s&   
((OX.%opk