
    L&iM                     r   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e          Z  G d de          Z! G d de          Z" G d de"          Z# G d de          Z$ G d de          Z% G d de          Z&e&Z'dS )z
    pygments.lexers.html
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for HTML, XML and related markup.

    :copyright: Copyright 2006-2022 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PugLexerc                      e Zd ZdZdZdZdgZg dZddgZe	j
        e	j        z  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% 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+xmlz[^<&]+&\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                 (    t          |           rdS d S )Ng      ?)r   texts    a/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/html.pyanalyse_textzHtmlLexer.analyse_texte   s!    %% 	3	 	    N)__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesre
IGNORECASEDOTALLflagsr	   r   Entityr
   Preproc	Multiliner   r   Tag	Attributer   r   r   r   r   tokensr8    r9   r7   r   r      s        
 D
)ChG888I56IMBI%E t$&8G-.7?+)%Xk4488&( %Xk4488%'
 #Xk422E;2Xk4dDHd!# #$#
, TN$hht~x&N&N(hh{D+FFO
 1Xk4dDHd!# #$*, *55+A+AB
 uu_--v6EE/**F3
 0Xk4dDHd!# ##)+ )%%//:
 uuX/EE(OOV,
 ff%ff%(
k: :Fx    r9   r   c                      e Zd ZdZej        ej        z  ZdZdgZ	dgZ
dg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' Zd(S ))r   zR
    A lexer for DTDs (Document Type Definitions).

    .. versionadded:: 1.5
    DTDdtdz*.dtdzapplication/xml-dtd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                 D    t          |           sd| v sd| v sd| v rdS d S d S )Nz	<!ELEMENTz	<!ATTLISTz<!ENTITY皙?r   r5   s    r7   r8   zDtdLexer.analyse_text   sF    d## 	4;$#6#6*:L:L3	 	:L:Lr9   N)r:   r;   r<   r=   rC   	MULTILINErE   rF   r>   r@   rA   rB   r   r   r   r	   r   rJ   rG   Constantr
   r   r   DoubleSingleReservedrK   rL   r8   rM   r9   r7   r   r   j   s         L29$EDgG	I&'I GH%$119>%$119>$$44h@&$11:?)$+tW==? *$113w/0!#
* TNT[)Wi(8$'FM*
 gGV$'N
 GH!7#34)7F#	
 GHO)7+;<"G$45/7F#
 GH#W%56,7F#	
 GHw/0/7F#	
yB BFH    r9   r   c            
       "   e Zd ZdZej        ej        z  ZdZdgZ	g dZ
g 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 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[^<&\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                 (    t          |           rdS d S )Ng?r[   r5   s    r7   r8   zXmlLexer.analyse_text   s!    $ 	4	 	r9   N)r:   r;   r<   r=   rC   r\   rE   rF   r>   r@   rA   rB   r	   r   r   rG   r
   rH   rI   rJ   rK   r   rL   r8   rM   r9   r7   r   r      s.         L29$EDgG$ $ $I@ @ @I
 $*%$&8G-.7?+)dh.$dh/

 Z dnf5&)
 Z ff%ff%(	
# F2    r9   r   c                   @    e Zd ZdZdZdgZg dZddgZh dZd Z	d	 Z
d
S )r   z7
    A lexer for XSLT.

    .. versionadded:: 0.10
    XSLTxslt)rd   r#   z*.xplzapplication/xsl+xmlzapplication/xslt+xml>#   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              #      K   t                               | |          D ][\  }}}t          j        d|          }|t          j        u r+|r)|                    d          | j        v r|t          |fV  T|||fV  \d S )Nz</?xsl:([^>]*)/?>?   )	r   get_tokens_unprocessedrC   matchr   rJ   groupEXTRA_KEYWORDSr   )selfr6   indextokenvaluems         r7   r   z XsltLexer.get_tokens_unprocessed  s      #+#B#B4#N#N 	* 	*E5%-u55A  Q 1771::9L+L+LWe+++++UE)))))	* 	*r9   c                 4    t          |           rd| v rdS d S d S )Nz<xslrZ   r[   r5   s    r7   r8   zXsltLexer.analyse_text  s-    $ 	FdNN3	 	NNr9   N)r:   r;   r<   r=   r>   r@   rA   rB   r   r   r8   rM   r9   r7   r   r      sq          DhG,,,I&(>?I	 	 	N* * *    r9   r   c                   T   e Zd ZdZdZdgZdgZdgZej	        Z
dZdez   dz   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z   dz    ee ee                    df ed          g ed          dej        dfdez   dz   ej        dfdez   dz   ez   dz    eeej        e          dfdez   dz    eed          dfdez   dz    eej        d          dfdez   dz    ee ee                    dfdez   dz    eej        d           df ed!          g	 ed          d"ez   d#z    ee          fd$ez   d%z    ee          fd&ed'fd(ed)fd*ef ed!          gd+efd,ez   d-z    eej          ee          ej                   fd.edfgd/efd0ej!        d1fd2ej!        fd3edfgd4efd5ej"        dfd6ej"        j#        dfd7ej"        j$        dfd8edfd9edfged:z   efd.edfged:z   ej        fd.edfgd+ej        fd,ez   d-z    eej          ee          ej                   fd.edfgd;Z%d<S )=r   z5
    For Haml markup.

    .. versionadded:: 1.3
    Hamlhamlz*.hamlztext/x-hamlz(?: \|\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>   r@   rA   rB   rC   rD   rF   _dot
_comma_dotr	   r   r   ClassFunctionr   r   r   r   r   r   rJ   	Namespacer
   Specialr   rH   	Decoratorr   InterpolrK   VariableInstanceGlobalrL   rM   r9   r7   r   r     s         DhG
IIME #D %+J $%
 4:u-4=%0
 g.z)G3Xk55#3#344 GG
 GENN$(E*d]V#T^V<	)D07:Xgw88 D[6!==:N#O#OT\F"MM'/2F%H %HIOQz!G+Xk55#3#344 D[6!==#P#PGO$$!
( GENN$)55+;+;<T\G#UU9%5%56D+,;1#[1GO$$
 /5
*XfouuY'7'7IIKD&!	
 TN0FG(D&!	
 T]F+dm,f5t}+V4*FF;*FF;!
 CZ!D&!
 CZ)D&!
 /?
*XfouuY'7'7IIKD&!	
cW WFFFr9   r   c                      e Zd ZdZdZdgZdgZdg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z   dz    ee ee                    df ed          g ed          dej        d
fdez   dz   ej        dfdez   dz   ez   dz    eeej        e          dfdez   dz    eed          dfdez   dz    eej        d          dfdez   dz    eee ee                    dfdez   dz    ee ee                    dfdez   dz    eej        d          df ed           g
 ed          d!ez   d"z    ee          fd#ez   d$z    ee          fd%ed&fd'ed(fd)ef ed           gd*efd+ez   d,z    eej          ee          ej                   fd-edfgd.efd/ej!        d0fd1ej!        fd2edfgd3efd4ej"        dfd5ej"        j#        dfd6ej"        j$        dfd7edfd8edfged9z   efd-edfged9z   ej        fd-edfgd*ej        fd+ez   d,z    eej          ee          ej                   fd-edfgd:Z%d;S )<r   zt
    For `Scaml markup <http://scalate.fusesource.org/>`_.  Scaml is Haml for Scala.

    .. versionadded:: 1.4
    Scamlscamlz*.scamlztext/x-scaml.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>   r@   rA   rB   rC   rD   rF   r   r	   r   r   r   r   r   r   r   r   r   r   rJ   r   r
   r   r   rH   r   r   r   r   rK   r   r   r   rL   rM   r9   r7   r   r     s         DiGI IME
 D $%
 4:u-4=%0
 g.t#g-Xk55#4#455 GG
 GENN$(E*d]V#T^V<	)D07:Xgw88 D[6!==:N#O#OT\F"MM'/2G%I %IJPR!D(72Xk7EE*,=,=>> t^g%Xk55#4#455 D[6!==#P#PGO$$'
. GENN$)55+<+<=T\G#UU:%6%67D+,;1#[1GO$$
 /5
*XfouuZ'8'8&/JJLD&!	
 TN0FG(D&!	
 T]F+dm,f5t}+V4*FF;*FF;!
 CZ!D&!
 CZ)D&! 
 /?
*XfouuZ'8'8&/JJLD&!	
iZ ZFFFr9   r   c                   z   e Zd ZdZdZddgZddgZddg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z   dz    ee ee                    df ed          g ed          dez   dz   ej        dfdez   dz   ez   dz    eeej        e          dfdez   dz    eed          dfdez   dz    eej        d          dfdez   dz    eee ee                    dfdez   dz    ee ee                    dfd ez   dz    eej        d!          dfd"ej        dfd#ed$fg
 ed          d%ez   d&z    ee          fd'ez   d(z    ee          fd)ed*fd+ed,fd-ef ed$          gd.efd/ez   d0z    eej          ee          ej                   fd1edfgd2efd3ej!        d4fd"e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<z   efd1edfged<z   ej        fd1edfgd.ej        fd/ez   d0z    eej          ee          ej                   fd1edfgd=Z%d>S )?r   z
    For Pug markup.
    Pug is a variant of Scaml, see:
    http://scalate.fusesource.org/documentation/scaml-reference.html

    .. versionadded:: 1.4
    Pugpugjadez*.pugz*.jadez
text/x-pugztext/x-jader   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>   r@   rA   rB   rC   rD   rF   r   r	   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   rH   r   r   rJ   r   r   rK   r   r   r   rL   rM   r9   r7   r   r     s         DfoG(#I}-IMED $%
 4:u-4=%0
 g.t#g-Xk55#4#455@GG	
 GENNd]V#T^V<	)D07:Xgw88 D[6!==:N#O#OT\F"MM'/2G%I %IJPR!D(72Xk7EE*,=,=>> t^g%Xk55#4#455 D[6!==#P#P5)D/*'
. GENN$)55+<+<=T\G#UU:%6%67D+,;1#[1GO$$
 /5
*XfouuZ'8'8&/JJLD&!	
 TN0FG(D&!	
 T]F+dm,f5t}+V4*FF;*FF;!
 CZ!D&!
 CZ)D&! 
 /?
*XfouuZ'8'8&/JJLD&!	
gY YFFFr9   r   )(r=   rC   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   	JadeLexerrM   r9   r7   <module>r      s    
			                                   > > > > > > > > 6 6 6 6 6 6 * * * * * * E E E E E E E E E E * * * * * *% % %K K K K K
 K K K\U U U U Uz U U Up) ) ) ) )z ) ) )X" " " " " " " "Jl l l l l" l l l^m m m m m# m m m`j j j j j! j j jV 			r9   