
    Mh                        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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  G d de          Z! G d de          Z" G d de          Z# G d de          Z$dS )z
    pygments.lexers.haskell
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Haskell and related languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)Lexer
RegexLexerbygroupsdo_insertionsdefaultincludeinheritline_re)
TextCommentOperatorKeywordNameStringNumberPunctuationGeneric
Whitespace)	unistring)
HaskellLexer
HspecLexer
IdrisLexer	AgdaLexerCryptolLexerLiterateHaskellLexerLiterateIdrisLexerLiterateAgdaLexerLiterateCryptolLexer	KokaLexerc                   v   e Zd ZdZdZdZddgZdgZdgZdZ	d	Z
d
Zg defdej        fdej        dfdej        dfdej        dfdej        fd                    d                    e
                    ej        fdej        fdej        z   dz   ej        fdej        z   dz   efdej        z   dz   ej        fdej        z   dz   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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        d-fd.ed/fd0ej        fd1ej%        fd2e&fdefd.ed/fd3e&d4fd5efd6ej        z   d7z   ej        z   d8z    e'ej(        eeee          d4fd6ej        z   d9z    e'ej(        eeee&          d:fd6ej        z   d;z    e'ej(        ee&          d:fd<ej(        d4fgdefd6ej        z   d;z    e'ej(        ee&          d:fd=ej        z   d>z   ej(        d4fgdefd=ej        z   d?z   ej        fd@ej        z   dAz   ej        fdej        fdej        dfdBe&fd#efdCe&dDfd3e&dEfg	dFej        fdej        dGfdHej        d4fdIej        fgdJej        d4fdKej)        dLfd,ej        d4fgdMefdKej)        dLfd.ed4fgdNej)        d4fdOej        z   dPz   ej)        d4fd                    e          ej)        d4fdQej)        d4fdRej)        d4fdSej)        d4fdT e'eej)                  d4fgdUZ*dVS )Wr   zP
    A Haskell lexer based on the lexemes defined in the Haskell 98 Report.
    Haskellzhttps://www.haskell.org/haskellhsz*.hsztext/x-haskellz0.8)caseclassdatar   derivingdoelsefamilyifin
infix[lr]?instanceletnewtypeofthentypewhere_NULSOHz[SE]TXEOTENQACKBELBSHTLFVTFFCRzS[OI]DLEzDC[1-4]NAKSYNETBCANEMSUBESCz[FGRU]SSPDEL\s+!--(?![!#$%&*+./<=>?@^|_~:\\]).*?$\{-comment
\bimport\bimport
\bmodule\bmodule	\berror\b\b({})(?!\')\b|z'[^\\]'z^[_z][\w\']*z'?[_z][\w']*z('')?[z(')[z(')\[[^\]]*\]z(')\([^)]*\)z(')[:!#$%&*+.\\/<=>?@^|~-]+\\(?![:!#$%&*+.\\/<=>?@^|~-]+)+(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+):[:!#$%&*+.\\/<=>?@^|~-]*[:!#$%&*+.\\/<=>?@^|~-]+z40[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*zR0[xX]_*[\da-fA-F](_*[\da-fA-F])*\.[\da-fA-F](_*[\da-fA-F])*(_*[pP][+-]?\d(_*\d)*)?z\d(_*\d)*_*[eE][+-]?\d(_*\d)*z+\d(_*\d)*\.\d(_*\d)*(_*[eE][+-]?\d(_*\d)*)?z0[bB]_*[01](_*[01])*z0[oO]_*[0-7](_*[0-7])*z 0[xX]_*[\da-fA-F](_*[\da-fA-F])*z	\d(_*\d)*'	character"string\[\]\(\)[][(),;`{}]\)#popqualified\bz([z][\w.]*)(\s+)(as)(\s+)([z][\w.]*)z][\w.]*)(\s+)(hiding)(\s+)(\()funclistz][\w.]*)(\s+)(\()[\w.]+[z][\w.]*z]\w*z(_[\w\']+|[z	][\w\']*),\(rf   rf   #pop:2[^-{}]+#push-\}[-{}][^\\']'\\escape[^\\"]+[abfnrtv"\'&\\]z\^[][z@^_]o[0-7]+x[\da-fA-F]+\d+	(\s+)(\\)rootrR   rT   rf   rP   r]   r_   rs   N)+__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedreservedasciir   r   Single	Multiliner   Reservedr   	Exceptionformatjoinr   CharuniLlFunctionLuTyper   Wordr   FloatBinOctHexIntegerBuiltinr   r   	NamespaceEscapetokens     W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/haskell.pyr   r      s         D
$C$GI!"IMFH9E*
Z *
 27>B	*

 W&	2*
 G,h7*
 G,h7*
 4>**
 %%chhx&8&8997;KL*
 %*
 cf_{*DM:*
 sv
*D1*
 +-w|<*
  sv+W\:!*
" w|,#*
$ gl+%*
& ,W\:'*
* />+*
, <X]K-*
. *7<8/*
0 )(31*
4 EflS5*
6()/77*
: .v|<;*
< <V\J=*
> %fj1?*
@ '
3A*
B 1&*=C*
D 6>*E*
H 6;,I*
J 68$K*
N gl#O*
P dl#Q*
R [)S*
Z Z 68$K(W%SV^99CFB[PXdnj':tLLfV SV^??Xdnj':{SSU_a SV^22Xdnj+>>
L /#
( Z SV^22Xdnj+>>
LCF]Z'@	
 Z CF]W$gl3cf$|3T]C17>BW&	2;((3K!9:K*
  *+W&0W&/w()
 f-FM8,&+v&	
  FM8,&&!
  7(&-@XXe__fmV4/fmV4V]F+88J>>G
Kn nFFFr   r   c            	           e Zd ZdZdZdgZdgZg ZdZdd e	e
eej                  fd e	e
eej                  fd	 e	e
eej                  fegiZd
S )r   z<
    A Haskell lexer with support for Hspec constructs.
    Hspechspecz*Spec.hsz2.4r{   z(it)(\s*)("[^"]*")z(describe)(\s*)("[^"]*")z(context)(\s*)("[^"]*")N)r|   r}   r~   r   r   r   r   r   r   r   r   r   r   Docr	   r   r   r   r   r   r      s          DiGIIM 	"HHT:vz$J$JK(((4VZ*P*PQ'$
FJ)O)OP	
FFFr   r   c                   v   e Zd ZdZdZdZddgZdgZdgZdZ	d	Z
d
ZdZd                    d                    e                     eeej                  fd eeej                  fd eeej                  fd eeej                  dfd eeej        eej        e          fd                    d                    e
                    ej        fd eej        e          dfdej        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        fde j!        dfd e d!fd"efd#efgd$efd% eej"        ee#          d&fd'ej"        d(fgd$efd)ej        fd*ej        fd+ej        fd,ej        dfd-e#fd.efd/e#d0fd1e#d2fg	d3ej        fd,ej        d4fd5ej        d(fd6ej        fgd7e j!        fd8e j$        d9fde j!        d(fgd:e fd8e j$        d9fd e d(fgd;e j$        d(fd<e j$        d(fd                    e          e j$        d(fd=e j$        d(fd>e j$        d(fde j$        d(fd? eee j$                  d(fgd@Z%dAS )Br   zq
    A lexer for the dependently typed programming language Idris.

    Based on the Haskell and Agda Lexer.
    Idriszhttps://www.idris-lang.org/idrisidrz*.idrztext/x-idris2.0)3r$   r%   r&   r   usingr(   r)   r+   r,   r-   r.   rewriteauto	namespacecodatamutualprivatepublicabstracttotalpartial	interfaceimplementationexportcoveringconstructorr/   proofr1   r2   staticr4   r5   withpatterntermsyntaxprefix	postulate
parametersrecorddsl
impossibleimplicittacticsintrosintrocomputerefineexacttrivialr6   )liblinkflagr   hidefreezeaccessr   loggingdynamicr   error_handlerslanguagez^(\s*)(%({}))rW   z((\s*)(--(?![!#$%&*+./<=>?@^|_~:\\]).*?)$z(\s*)(\|{3}.*?)$z
(\s*)(\{-)rP   ^(\s*)([^\s(){}]+)(\s*)(:)(\s*)rV   (import|module)(\s+)rT   ('')?[A-Z][\w\']*z[a-z][\w\']*z(<-|::|->|=>|=)z"([(){}\[\]:!#$%&*+.\\/<=>?@^|~-]+)\d+[eE][+-]?\d+\d+\.\d+([eE][+-]?\d+)?0[xX][\da-fA-F]+rx   r\   r]   r^   r_   
[^\s(){}]+\s+?rM   ([A-Z][\w.]*)(\s+)(\()rf   [A-Z][\w.]*rd   [A-Z]\w*(_[\w\']+|[a-z][\w\']*)z--.*$rO   ri   r[   rj   rk   rc   rl   rm   rn   ro   rp   z[^\\']rr   rs   rt   ru   \^[][A-Z@^_]rv   rw   ry   )r{   rT   rf   rP   r]   r_   rs   N)&r|   r}   r~   r   r   r   r   r   r   r   r   r   
directivesr   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      sL        
 D
'CG	I IMWH9E
YJ $$SXXj%9%9::Xj'"23358((:w~:^:^_ ((:w~"F"FGHHZ1BCCYO/Xj$-X]JWWY %%chhx&8&8997;KL$hhw/?&L&LhW!7<0d#/2HMB.'6 &*-V^$6;,68$D!j!7
< Z &Xdnj+>>
LT^V4	
 Z ',''7w~&W&	2;((3K!9:K*
  *+W&0W&/w()
 $FM8,&+v&	
  FM8,&&!
  7fmV4XXe__fmV4/fmV4V]F+88J>>G
IM MFFFr   r   c                   z   e Zd ZdZdZdZdgZdgZdgZdZ	dZ
d	 eeej        eej        e          fd
ej        fdej        dfdej        dfd                    d                    e
                    ej        fd eej        e          dfdej        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dfde fdefgd ej        fdej        d!fd"ej        d#fd$ej        fgdej        dfd%ed#fd&e fge!j"        d         e!j"        d         e!j"        d         e!j"        d'         d(Z"d)S )*r   za
    For the Agda dependently typed functional programming language and
    proof assistant.
    Agdaz.http://wiki.portal.chalmers.se/agda/pmwiki.phpagdaz*.agdaztext/x-agdar   )+r   r   coinductiver   r&   r(   zeta-equalityfieldforallhidingr,   	inductiveinfixinfixlinfixrr.   interleavedr/   macror   zno-eta-equalityopaqueopenoverlapr   r   	primitiver   quote	quoteTermr   renamingr   r   tactic	unfoldingunquoteunquoteDecl
unquoteDefr   variabler4   r   r   rN   rO   rP   z\{!holerV   rW   r   rT   z\b(Set|Prop)[\u2080-\u2089]*\bz(\(|\)|\{|\})z((\.{1,3}|\||\u03BB|\u2200|\u2192|:|=|->)r   r   r   rx   r\   r]   r^   r_   r   r   z[^!{}]+rn   z!\}rd   z[!{}]z[a-zA-Z][\w.\']*z	[\W0-9_]+rs   )r{   r   rT   rP   r]   r_   rs   N)#r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	Directiver   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s        
 D
:ChG
IIMH 0Xj$-mZ1 12 27>BW&	2W&/ %%chhx&8&8997;KL$hhw/?&L&L.=x(8(-H.'6 &*-V^$6;,68$D!j!9
@ *+W&0W&/w()
 W&	2 $/4 

  &y1!(5%h/%h/]/ /FFFr   r   c                      e Zd ZdZdZddgZdgZdgZdZdZ	d	Z
d
Zdefdej        fdej        dfdej        dfdej        dfdej        fd                    d                    e
                    ej        fdej        fdefdej        fdej        fdej        fdej        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d%fd&ej        fd'ej!        fd(e"fgdefd$ed%fd)e"d*fd+efd, e#ej$        eeee          d*fd- e#ej$        eeee"          d.fd/ e#ej$        ee"          d.fd0ej$        d*fgdefd/ e#ej$        ee"          d.fd1ej$        d*fgdefd2ej        fd3ej        fd4e"fdefd5e"d6fd)e"d7fgd8ej        fdej        d9fd:ej        d*fd;ej        fgd<ej         d*fd=ej%        d>fd"ej         d*fgd?efd=ej%        d>fd$ed*fgd@ej%        d*fdAej%        d*fd                    e          ej%        d*fdBej%        d*fdCej%        d*fd!ej%        d*fdD e#eej%                  d*fgdEZ&h dFZ'dG Z(dHS )Ir   zX
    FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.
    Cryptolcryptolcryz*.cryztext/x-cryptolhttps://www.cryptol.netr   )ArithBitCmpFalseInfTruer)   r   externfinr+   rR   inflg2maxminrT   r0   pragmapropertyr2   r3   r4   widthr6   rM   //.*$/\*rP   rQ   rR   rS   rT   rU   rV   rW   z^[_a-z][\w\']*z'?[_a-z][\w']*r   rX   rY   rZ   r[   r   r   z0[oO][0-7]+r   rx   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   z(([A-Z][\w.]*)(\s+)(as)(\s+)([A-Z][\w.]*)z#([A-Z][\w.]*)(\s+)(hiding)(\s+)(\()rf   r   rg   r   r   r   ri   rj   rk   rl   [^/*]+rn   \*/[*/]rq   rr   rs   rt   ru   r   rv   rw   ry   rz   >   <<>><<<>>>parregseqr   tailconsterrorsplittracer  ASSERTlengthreverse	transpose	undefinedc              #      K   dg}t          j        | ||          D ]1\  }}}|t          u r|| j        v r|t          j        |fV  *|||fV  2d S )Nr{   )r   get_tokens_unprocessedr   EXTRA_KEYWORDSr   )selftextstackindextokenvalues         r   r-  z#CryptolLexer.get_tokens_unprocessed  s      1$eDD	* 	*E5%}}$*=!=!=T\500000UE)))))	* 	*r   N))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   r   r   r   r   r   r   r   r   r   r   r.  r-  r   r   r   r   r   i  s         D% G	I!"I
#CM2H9E Z w~&W&	2 G,h7G,h74>*%%chhx&8&8997;KL.%!7<0.>;X]K)7<8((3.'6VZ( &*-V^$6;,68$gl#dl#[)A!
H Z 68$K(W%8Xdnj':tLLfV 4Xdnj':{SSU_a 'Xdnj+>>
L /#
( Z &Xdnj+>>
LT^V4	
 Z ',''7 ;((3K!9:K*
 )*W&0W&/g'(
 f-FM8,&+v&	
  FM8,&&!
  7fmV4XXe__fmV4/fmV4V]F+88J>>G
wd dFL  N
* * * * *r   r   c                   >    e Zd ZdZ ej        d          Zd Zd ZdS )LiterateLexera  
    Base class for lexers of literate file formats based on LaTeX or Bird-style
    (prefixing each code line with ">").

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    z(>[ \t]*)(.*\n)c                 8    || _         t          j        | fi | d S )N)	baselexerr   __init__)r/  r8  optionss      r   r9  zLiterateLexer.__init__  s'    "t''w'''''r   c           	   #     K   | j                             d          }|"|                                dd         dv rdpd}d}g }|dk    rt          j        |          D ]}|                                }| j                            |          }|r^|                    t          |          dt          j        |                    d          fgf           ||                    d          z  }|                    t          |          dt          |fgf           n7dd	lm}  |di | j         }	d}
d}t          j        |          D ]}|                                }|
r5|                                                    d
          rd}
||z  }G||z  }M|                                                    d          rNd}
||z  }|                    t          |          t!          |	                    |                    f           d}||z  }|                    t          |          t!          |	                    |                    f           t%          || j                            |                    E d {V  d S )Nlitstyler      z%\latexbird    )TexLexerz
\end{code}z\begin{code}r   )r:  getlstripr
   finditergroupbird_rematchappendlenr   Specialr   pygments.lexers.markuprB  
startswithlistr-  r   r8  )r/  r0  stylecode
insertionsrH  linemrB  lxlexer	codelinesr>  s               r   r-  z$LiterateLexer.get_tokens_unprocessed  s       ,,=[[]]1Q3'50=gGE
F?? )$// F F{{}}L&&t,, F%%s4yy)*GOQWWQZZ(H'I'K L L LAGGAJJ&DD%%s4yyAtT?2C&DEEEEF 877777h....GIE )$// " "{{}} "{{}}//>> %$%	[[]]--o>> " !ITME%%s4yy'+G,J,J5,Q,Q'R'R'T U U UEETMEEs4yy#G$B$B5$I$IJJL M M M T^-R-RSW-X-XYYYYYYYYYYYr   N)	r|   r}   r~   r   recompilerG  r9  r-  r   r   r   r6  r6    sU        
 
 bj+,,G( ( (*Z *Z *Z *Z *Zr   r6  c                   8    e Zd ZdZdZg dZdgZdgZdZdZ	d Z
d	S )
r   aS  
    For Literate Haskell (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Haskell)zliterate-haskelllhaskelllhsz*.lhsztext/x-literate-haskellz-https://wiki.haskell.org/Literate_programmingz0.9c                 D    t          di |}t          j        | |fi | d S Nr   )r   r6  r9  r/  r:  hslexers      r   r9  zLiterateHaskellLexer.__init__D  s6    ))))tW8888888r   Nr|   r}   r~   r   r   r   r   r   r   r   r9  r   r   r   r   r   2  sX        	 	 D555G	I*+I
9CM9 9 9 9 9r   r   c                   8    e Zd ZdZdZg dZdgZdgZdZdZ	d Z
d	S )
r   aQ  
    For Literate Idris (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Idris)zliterate-idrislidrislidrz*.lidrztext/x-literate-idrisz?https://idris2.readthedocs.io/en/latest/reference/literate.htmlr   c                 D    t          di |}t          j        | |fi | d S r\  )r   r6  r9  r]  s      r   r9  zLiterateIdrisLexer.__init__[  s6    ''w''tW8888888r   Nr_  r   r   r   r   r   I  sX        	 	 D222G
I()I
KCM9 9 9 9 9r   r   c                   8    e Zd ZdZdZddgZdgZdgZdZdZ	d	 Z
d
S )r   a:  
    For Literate Agda source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Agdazliterate-agdalagdaz*.lagdaztext/x-literate-agdazEhttps://agda.readthedocs.io/en/latest/tools/literate-programming.htmlr   c                 H    t          di |}t          j        | |fddi| d S )Nr<  r>  r   )r   r6  r9  )r/  r:  	agdalexers      r   r9  zLiterateAgdaLexer.__init__r  s;    ((((	tYLLLGLLLLLr   Nr_  r   r   r   r   r   `  s\        	 	 D(GI'(I
QCMM M M M Mr   r   c                   8    e Zd ZdZdZg dZdgZdgZdZdZ	d Z
d	S )
r   aS  
    For Literate Cryptol (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Cryptol)zliterate-cryptollcryptollcryz*.lcryztext/x-literate-cryptolr  r   c                 D    t          di |}t          j        | |fi | d S r\  )r   r6  r9  )r/  r:  crylexers      r   r9  zLiterateCryptolLexer.__init__  s6    **'**tX9999999r   Nr_  r   r   r   r   r   w  sX        	 	 D666G
I*+I
#CM: : : : :r   r   c                      e Zd ZdZdZdZdgZddgZdgZdZ	g d	Z
g d
Zg dZg dZdZdez   dz   ZdZej        Zej        Zej        Z ed          dez   edfd eeee          dfd eeee          dfd                    d                    e                    dz    eeee          dfd eeeeeej                  fd eeeej        eeeeeej        	  	        fdez   dz    eeeeeej                   fdez   dz    eeeeeeeej                   fd                    d                    e                    ez   ej!        fd                    d                    e
                    ez   efd                    d                    e                    ez   ej"        fd ez   efd! eej        e          fd" eej        e          fd#ez   dz    eej        e          fd$ej#        fd%e$j%        d&fed'z   e&fd(e&fd)e'fd*e(j)        fd+e(j*        fd,e(j+        fd-e$j,        d.fd/e$j%        d0fgd1ef ed          gd2e'd3f ed          gd4ed5f ed6          gd7ed3fd4ed5fd8efd9 eeee          f ed6          g ed          d                    d                    e                    ez   efd:                    d                    e
                    ez   d;z   ed3fd<ez   efd=efd$ej#        fd! eej        e          fd> eej        e          fd?ef e-d3          g
d@ eee.j/                  fdAefdBe.j0        dCfdDe.j1        fgdEe.j0        fdBe.j0        dFfdGe.j0        d3fdHe.j0        fgdIe$j%        fdJe$j2        fd/e$j%        d3fgdKe$j%        f edL          dMe$j%        d3fgdNe$j,        f edL          dOe$j,        d3fgdPe$j2        fdQe$j2        fdRe$j2        fdSe$j2        fgdTZ3dUS )Vr   z&
    Lexer for the Koka language.
    Kokaz/https://koka-lang.github.io/koka/doc/index.htmlkokaz*.kkz*.kkiztext/x-kokaz1.6)"r   r   r   r3   cotyperectypealiasstructconfunfunctionvalvarexternalr+   r2   r)   elifreturnrH  r   r   r   rT   rR   asr   inlinerectryyieldenumr   r.   )r3   rp  rq  rr  rs  r  )r   existssomer   )forwhilerepeatforeachzforeach-indexedr$  catchfinallycsjsfilerefassignedz[$%&*+@!/\\^~=.:\-?|<>]+z(?!)z	(?![\w/])
whitespacez::?r3   z(alias)(\s+)([a-z]\w*)?
alias-typez(struct)(\s+)([a-z]\w*)?struct-typez({})rW   z(\s+)([a-z]\w*)?z=(module)(\s+)(interface(?=\s))?(\s+)?((?:[a-z]\w*/)*[a-z]\w*)z`(import)(\s+)((?:[a-z]\w*/)*[a-z]\w*)(?:(\s*)(=)(\s*)(qualified)?(\s*)((?:[a-z]\w*/)*[a-z]\w*))?z>^(public|private)?(\s+)?(function|fun|val)(\s+)([a-z]\w*|\((?:z|/)\))zd^(?:(public|private)(?=\s+external))?((?<!^)\s+)?(external)(\s+)(inline(?=\s))?(\s+)?([a-z]\w*|\((?:z::?|:=|\->|[=.]z((?:[a-z]\w*/)*)([A-Z]\w*)z((?:[a-z]\w*/)*)([a-z]\w*)z((?:[a-z]\w*/)*)(\((?:z_\w*z@"	litstringz
|/(?![*/])`z[{}()\[\];,]z![0-9]+\.[0-9]+([eE][\-+]?[0-9]+)?z0[xX][0-9a-fA-F]+z[0-9]+r\   charr^   r_   =z(?=\((?!,*\)))rd   z[(\[<]type-nestedtype-contentz[)\]>]ri   z([a-z]\w*)(\s*)(:)(?!:)z(?=(({})z))z[EPHVX]z[a-z][0-9]*(?![\w/])z((?:[a-z]\w*/)*)([a-z]\w+)z::|->|[.:|]z(\n\s*)(#.*)$rM   r  rP   r  r  rn   r  r  z[^"]+z""z	[^\\"\n]+escape-sequencez["\n]z
[^\\\'\n]+z[\'\n]z\\[nrt\\"\']z\\x[0-9a-fA-F]{2}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{6})r{   r  r  r3   r  r  r  rP   r  r_   r  r  N)4r|   r}   r~   r   r   r   r   r   r   r   keywordstypeStartKeywordstypekeywordsbuiltinsymbols	sboundaryboundaryr   	Attribute	tokenTypeClasstokenTypeDefr   EmphtokenConstructorr   r   r   r   r   r   r   r   r   PseudoVariabler   Doubler   r   r   r   r   r   r   r   r   Preprocr   r   r   r   r   r   r   r   r     s         D
;ChG!IIM  H   
  L
  G *G #%I H I:L|
 GL!! iF3'':|)T)T(((7J*U*UnnSXX&78899 !"*(7J"M"M NXgz7JOOQ+ Xgz4>:wPZz4>; ;<%'./1:;Xgz7JNNP ")*,56Xgz7JUYUbcce
 ^^CHH\2233h>M^^CHHX..//(:GD^^CHHW--..97>J)+W5 +Xdn&6779*HHT^T,J,JK&09<Xdnd++-dm$ FM;/ |#X.8k* 26<@!6:.'6;'6=(+u;
~ 7OGFOO
 V4GFOO
 	=1GN##
 	6*	=19'XdJ	224GN##
 GL!! ^^CHH\2233h>H 2 233h>Ef ("I. %i0i()*Xdni002*Xdni002 Y' GFOO/
8 xx
GODDEZ W&	2w~&	
 )*W&0W&/g'(	
 v}%FM"6=&)
 6=)G%&&v}f-
 FK(G%&&V,
 fm,!6=1!6=1!6=1
cX XFFFr   r   )%r   rV  pygments.lexerr   r   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   r   pygmentsr   r   __all__r   r   r   r   r   r6  r   r   r   r   r   r   r   r   <module>r     s0    
			' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '- - - - - - - - - - - - - - - - - - - - - - - - % % % % % %0 0 0
A A A A A: A A AH       *l l l l l l l l^F F F F F
 F F FRF* F* F* F* F*: F* F* F*R=Z =Z =Z =Z =ZE =Z =Z =Z@9 9 9 9 9= 9 9 9.9 9 9 9 9 9 9 9.M M M M M M M M.: : : : := : : :.T T T T T
 T T T T Tr   