Ë
    !täi Ž  ã                   óŒ  — 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
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% G d„ de«      Z&y)zÌ
    pygments.lexers.shell
    ~~~~~~~~~~~~~~~~~~~~~

    Lexers for various shells.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)
ÚLexerÚ
RegexLexerÚdo_insertionsÚbygroupsÚincludeÚdefaultÚthisÚusingÚwordsÚline_re)
ÚPunctuationÚ
WhitespaceÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚGeneric©Úshebang_matches)Ú	BashLexerÚBashSessionLexerÚ	TcshLexerÚ
BatchLexerÚSlurmBashLexerÚMSDOSSessionLexerÚPowerShellLexerÚPowerShellSessionLexerÚTcshSessionLexerÚFishShellLexerÚExeclineLexerc                   óx  — e Zd ZdZdZg d¢Zg d¢Zg d¢ZdZdZ	 e
d«      d	ej                  d
f e
d«       e
d«      gdedfdedfdej                  dfdej                   fdej                   fdefgd eee«      fdej(                  fdej,                  fdej.                  fdej0                  fd eej                   ee«      fdefdefdefdefg
d ej4                  fd!ej4                  d"fd#ej.                  fd$ej.                  fd%efd&efd'efd(efd)efd*efd+efgd!ej4                  d,fd-ej4                  f e
d«      gd.ej                  d,fd/efd0ej                   fd1efd2ef e
d3«      gd4ed,f e
d3«      gd5ed,fd6efd7efd8efd9efd:efd;ej                   f e
d3«      gd	ej                  d,f e
d3«      gd<œ	Zd=„ Zy>)?r   z.
    Lexer for (ba|k|z|)sh shell scripts.
    ÚBash)ÚbashÚshÚkshÚzshÚshellÚopenrc)z*.shz*.kshz*.bashz*.ebuildz*.eclassz*.exheres-0z*.exlibz*.zshz.bashrcÚbashrcz.bash_*zbash_*Úzshrcz.zshrcz.kshrcÚkshrcÚPKGBUILD)zapplication/x-shzapplication/x-shellscriptztext/x-shellscriptú(https://en.wikipedia.org/wiki/Unix_shellz0.6ÚbasicÚ`Ú	backticksÚdataÚinterpú\$\(\(Úmathú\$\(Úparenú\$\{#?Úcurlyz\$[a-zA-Z_]\w*z\$(?:\d+|[#$?!_*@-])ú\$zj\b(if|fi|else|while|in|do|done|for|then|return|function|case|select|break|continue|until|esac|elif)(\s*)\baG  \b(alias|bg|bind|builtin|caller|cd|command|compgen|complete|declare|dirs|disown|echo|enable|eval|exec|exit|export|false|fc|fg|getopts|hash|help|history|jobs|kill|let|local|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|time|times|trap|true|type|typeset|ulimit|umask|unalias|unset|wait)(?=[\s)`])ú\A#!.+\nú#.*\nú\\[\w\W]z(\b\w+)(\s*)(\+?=)z[\[\]{}()=]z<<<ú<<-?\s*(\'?)\\?(\w+)[\w\W]+?\2z&&|\|\|z(?s)\$?"(\\.|[^"\\$])*"Ú"Ústringú#(?s)\$'(\\\\|\\[0-7]+|\\.|[^'\\])*'ú	(?s)'.*?'Ú;Ú&z\|ú\s+z\d+\bú[^=\s\[\]{}()$"\'`\\<&|;]+Ú<ú#popú (?s)(\\\\|\\[0-7]+|\\.|[^"\\$])+ú\}ú:-ú\w+z[^}:"\'`$\\]+Ú:Úrootú\)ú\)\)z\*\*|\|\||<<|>>|[-+*/%^|&<>]z\d+#[\da-zA-Z]+ú	\d+#(?! )z0[xX][\da-fA-F]+ú\d+z[a-zA-Z_]\w*)	rP   r5   r1   r4   rB   r;   r9   r7   r3   c                 óB   — t        | d«      ry| j                  d«      ryy )Nz	(ba|z|)shé   z$ gš™™™™™É?)r   Ú
startswith©Útexts    úd/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/shell.pyÚanalyse_textzBashLexer.analyse_textz   s#   € Ü˜4 Ô.ØØ�?‰?˜4Ô Øð !ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r   ÚBacktickr   ÚInterpolr   ÚVariabler   r   r   ÚBuiltinr   ÚHashbangÚSingleÚEscaper   ÚDoubler   r   Útokensr[   © r\   rZ   r   r      s‘  „ ñð €DÚ=€Gò€Iò
 X€IØ
4€CØ€Mñ �GÓØ�6—?‘? KÐ0Ù�F‹OÙ�HÓð	
ð ˜ Ð(Ø�g˜wÐ'Ø˜Ÿ™¨Ð1Ø §¡Ð.Ø$ d§m¡mÐ4Ø�DˆMð
ð>á�g˜zÓ*ð,ð;ð �\‰\ðð ˜'×*Ñ*Ð+Ø�w—~‘~Ð&Ø˜&Ÿ-™-Ð(Ø"¡H¨T¯]©]¸JÈÓ$QÐRØ˜XÐ&Ø�XÐØ.°Ð7Ø˜Ð"ð%
ð* (¨¯©Ð7Ø�6—=‘= (Ð+Ø3°V·]±]ÐCØ˜6Ÿ=™=Ð)Ø�;ÐØ�;ÐØ�KÐ Ø�ZÐ Ø�vÐØ*¨DÐ1Ø�4ˆLð
ð �6—=‘= &Ð)Ø0°&·-±-Ð@Ù�HÓð
ð �F—O‘O VÐ,Ø�GÐØ�T—]‘]Ð#Ø˜{Ð+Ø�;ÐÙ�F‹Oð
ð �G˜VÐ$Ù�F‹Oð
ð
 �g˜vÐ&Ø,¨hÐ7Ø Ð(Ø˜6Ð"Ø  &Ð)Ø�VÐØ˜dŸm™mÐ,Ù�F‹Oð	
ð �6—?‘? FÐ+Ù�F‹Oð
ñWO€Fóbr\   r   c                   ó6   — e Zd ZdZdZddgZdgZg ZdZdhZ	d„ Z
y	)
r   z.
    Lexer for (ba|k|z|)sh Slurm scripts.
    ÚSlurmÚslurmÚsbatchz*.slz2.4Úsrunc              #   ó  K  — t         j                  | |«      D ]e  \  }}}|t        u r$|| j                  v r|t        j
                  |f–— Œ3|t        j                  u rd|v r|t        j                  |f–— Œ_|||f–— Œg y ­w)NÚSBATCH)
r   Úget_tokens_unprocessedr   ÚEXTRA_KEYWORDSr   rj   r   rl   r   ÚPseudo)ÚselfrY   ÚindexÚtokenÚvalues        rZ   rx   z%SlurmBashLexer.get_tokens_unprocessed�   s{   è ø€ Ü#,×#CÑ#CÀDÈ$Ö#OÑˆE�5˜%Øœ‰} ¨$×*=Ñ*=Ñ!=ØœTŸ\™\¨5Ð0Ó0Øœ'Ÿ.™.Ñ(¨X¸Ñ->ØœWŸ^™^¨UÐ2Ó2à˜U EÐ)Ó)ñ $Pùs   ‚B BN)r]   r^   r_   r`   ra   rb   rc   rd   rf   ry   rx   rp   r\   rZ   r   r   �   s5   „ ñð €DØ˜Ð!€GØ�€IØ€IØ€MØ�X€Nó*r\   r   c                   ó>   — e Zd ZdZdZ ej                  d«      Zd„ Zy)ÚShellSessionBaseLexerzC
    Base lexer for shell sessions.

    .. versionadded:: 2.1
    Fz^(\([^)]*\))(\s*)c              #   ó€  K  —  | j                   di | j                  ¤Ž}d}d}g }d}t        j                  |«      D �]Ì  }|j	                  «       }| j
                  j                  |«      }	|	r“|	j	                  d«      }
|	j	                  d«      }|j                  t        |«      dt        j                  j                  |
fgf«       |r$|j                  t        |«      dt        |fgf«       ||	j                  «       d  }| j                  j                  |«      }|rv|s|j                  «       }|j                  t        |«      dt        j                  |j	                  d«      fgf«       ||j	                  d«      z  }|j!                  d«      }�ŒW|r“|j#                  | j$                  «      r`|j                  t        |«      dt        j                  |d t        | j$                  «       fgf«       ||t        | j$                  «      d  z  }n||z  }|j!                  d«      }�Œì| j&                  r||j#                  | j$                  «      ra|j                  t        |«      dt        j                  |d t        | j$                  «       fgf«       ||t        | j$                  «      d  z  }�Œt|r0|j)                  |«      }t+        ||«      D ]  \  }}}||z   ||f–— Œ |j                  «       t        j,                  |f–— g }d}�ŒÏ |r/t+        ||j)                  |«      «      D ]  \  }}}||z   ||f–— Œ y y ­w)Nr   Ú FrV   é   z\
rp   )Ú_innerLexerClsÚoptionsr   ÚfinditerÚgroupÚ_venvÚmatchÚappendÚlenr   ÚPromptÚ
VirtualEnvr   ÚendÚ_ps1rgxÚstartÚendswithrW   Ú_ps2Ú_bare_continuationrx   r   ÚOutput)r{   rY   Ú
innerlexerÚposÚcurcodeÚ
insertionsÚbackslash_continuationr‰   ÚlineÚ
venv_matchÚvenvÚvenv_whitespaceÚmÚtoksÚiÚtÚvs                    rZ   rx   z,ShellSessionBaseLexer.get_tokens_unprocessed¡   s  è ø€ Ø(�T×(Ñ(Ñ8¨4¯<©<Ñ8ˆ
àˆØˆØˆ
Ø!&Ðä×%Ñ% d×+ˆEØ—;‘;“=ˆDàŸ™×)Ñ)¨$Ó/ˆJÙØ!×'Ñ'¨Ó*�Ø",×"2Ñ"2°1Ó"5�Ø×!Ñ!¤3 w£<Ø%&¬¯©×(AÑ(AÀ4Ð$HÐ#Ið#Kô Lá"Ø×%Ñ%¤s¨7£|Ø)*¬D°/Ð(BÐ'Cð'Eô Fà˜JŸN™NÓ,Ð-Ð.�à—‘×"Ñ" 4Ó(ˆAÙñ "ØŸ+™+›-�Cà×!Ñ!¤3 w£<Ø%&¬¯©¸¿¹À»
Ð$CÐ#Dð#Fô Gà˜1Ÿ7™7 1›:Ñ%�Ø)0×)9Ñ)9¸&Ó)AÒ&Ù'Ø—?‘? 4§9¡9Ô-Ø×%Ñ%¤s¨7£|Ø)*¬G¯N©NØ)-¨o¬s°4·9±9«~Ð)>ð)@ð (Að'Bô Cð ˜t¤C¨¯	©	£N OÐ4Ñ4‘Gà˜t‘O�GØ)0×)9Ñ)9¸&Ó)AÒ&Ø×(Ò(¨T¯_©_¸T¿Y¹YÔ-GØ×!Ñ!¤3 w£<Ø%&¬¯©Ø%)¨/¬3¨t¯y©y«>Ð%:ð%<ð $=ð#>ô ?ð ˜4¤ D§I¡I£ Ð0Ñ0’áØ%×<Ñ<¸WÓE�DÜ#0°¸TÖ#B™˜˜1˜aØ! !™e Q¨˜kÓ)ð $Cà—k‘k“m¤W§^¡^°TÐ9Ò9Ø�
Ø’ð_ ,ñ` Ü(¨Ø)3×)JÑ)JÈ7Ó)SöU‘��1�aà˜!‘e˜Q �kÓ!ñUð ùs   ‚L<L>N)	r]   r^   r_   r`   r“   ÚreÚcompilerˆ   rx   rp   r\   rZ   r€   r€   —   s%   „ ñð ÐØˆB�J‰JÐ+Ó,€Eó;"r\   r€   c                   ód   — e Zd ZdZdZddgZddgZddgZd	Zd
Z	dZ
eZ ej                  d«      ZdZy)r   zn
    Lexer for Bash shell sessions, i.e. command lines, including a
    prompt, interspersed with output.
    zBash SessionÚconsolezshell-sessionz*.sh-sessionz*.shell-sessionzapplication/x-shell-sessionzapplication/x-sh-sessionr0   z1.1zconsole/example.sh-sessionzk^((?:(?:\[.*?\])|(?:\(\S+\))?(?:| |sh\S*?|\w+\S+[@:]\S+(?:\s+\S+)?|\[\S+[@:][^\n]+\].+))\s*[$#%]\s*)(.*\n?)ú> N)r]   r^   r_   r`   ra   rb   rc   rd   re   rf   Ú_exampler   r„   r£   r¤   r�   r’   rp   r\   rZ   r   r   ß   s^   „ ñð
 €DØ˜/Ð*€GØÐ!2Ð3€IØ.Ð0JÐK€IØ
4€CØ€MØ+€Hà€NØˆb�j‰jð	6ó7€Gð �Dr\   r   c                   ó	  — e Zd ZdZdZg d¢ZddgZdgZdZdZ	e
j                  e
j                  z  Zd	Zd
ZdZdZde› de› d�Zde› de› de› e› d�Zde› de› e› d�Zde› d�Zde› e› de› d�Zde› e› de› d�Zde› d�Zd Zd!e› d"e› d#�Zd$e› d%e› d&e› d'e› d(e› d&e› d)e› d*e› d+e› d'e› d,e› d+e› d-�Zde› d.e› e› d�Zde› d.e› e› d/�Zd0e› d1e› d�Zd0e› d1e› d�Zd0e› d2e› d3e› d3e› d4�	Z eeeeeeeee eeefd5„Z!eeeeeeeefd6„Z"eeeeeefd7„Z#eefd8„Z$eeeeeefd9„Z%eeee eeeefd:„Z&i d; e!d<«      “d= e"d<«      “d> e#d<«      “d? e$d<«      “d@ e%d<«      “dA e&d<«      “dB e!dC«      “dD e"dC«      “dE e#dC«      “dF e$dC«      “dG e%dC«      “dH e&dC«      “dIee'jP                  fdJe› dK�e)jT                  fg“dLdMe)jV                  dNfee'jP                  fdOe)jT                  fdPe› dQ�e)jV                  f e,dN«      g“dR e-dI«      dSe)j\                  fg“dT e-dI«      dSe)j^                  fg“dUdMe)jV                  dLf e-dI«      dPe› e› dV�e0fg“dMe)jV                  dLf e-dI«      dPe› dW�e'jP                  fgdXe› dYe› dZ� e1 e2e3dU¬[«      e4 e2e3dU¬[«      e5«      dNf e-d=«      gd\e5fdXe› d]e› d� e1 e2e3dU¬[«      e4«      dNfd^e› d_�e0f e-d=«      gd`e› dae› db� e1e)jV                   e2e3dL¬[«      e0e5«      fdMe)jV                  dcfdde› dee› db� e1 e2e3dR¬[«      e0e5«      fdfe› dge› db� e1 e2e3dT¬[«      e0e5«      f e-dh«      gdie6jn                  f e-dh«      gdje› dke› dl� e1e4 e2e3dU¬[«      e6jn                  «      dNfdme› dke› dke › d� e1e4 e2e3dU¬[«       e2e3dn¬[«      «      dNfdoe› dke› e › d� e1e4 e2e3dU¬[«      «      dNfdXe› e› dke› dke› e› d�	 e1 e2e3d>¬[«      e8jr                   e2e3d>¬[«      «      dNfe  e2e3dU¬[«      dpfgdXe› dqe› dre › d� e1 e2e3dU¬[«      e8 e2e3dU¬[«      «      dNfdXe› dke› dke› e › d� e1 e2e3dU¬[«      e8jr                   e2e3dU¬[«      «      dNfge e2e3dU¬[«      fdse5dtf e,dN«      ge e2e3dU¬[«      fdue› �e4dNf e,dN«      gdvœ	¥Z:yw)xr   z6
    Lexer for the DOS/Windows Batch file format.
    Ú	Batchfile)ÚbatchÚbatÚdosbatchÚwinbatchz*.batz*.cmdzapplication/x-dos-batchz(https://en.wikipedia.org/wiki/Batch_filez0.7z\n\x1az&<>|z\t\v\f\r ,;=\xa0z\s\x1a\xa0,;=z(?:(?:(?:\^[z])?[z])+)z	(?=(?:\^[z]?)?[z+./:[\\\]]|[z(])z(?=\^?[z]|[ú])z((?:(?<=^[^:])|^[^:]?)[z]*)(:)ú(?:(?:[^z+:^]|\^[ú]?[\w\W])*)z	+:^)]|\^[ú	]?[^)])*)z(?:-?(?:0[0-7]+|0x[\da-f]+|\d+)Ú)z(?:equ|geq|gtr|leq|lss|neq)z(?:"[^z"]*(?:"|(?=[z])))z-(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:z+]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%z^]|\^[^%z])[^=z	]*=(?:[^%z])*)?)?%))|(?:\^?![^!:z+]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!z^]|\^[^!z	]*=(?:[^!z])*)?)?\^?!))z]?)?[^"z)])+)ú(?:[z]+|ú]+|(?:Ú|ú)+)c                 óh  — dj                  ||||| rdnd«      }d|› d|› d�}d|› d|› d�}d	|› d
�}d}| rd|› d�}d|
› d�}
d}| r	dt        dfnd|
› d|› �t        j                  fd|› d�t        d|› �f|t        t        d¬«      ft        d|› �«      d|› d�t        fdt        dfdt        fd|› d|
› d|› d| r|n|› d|› d|› d �t        t        t        t        d¬«      «      d|› �fd!|› d"|› d#|› d|› d$|› d�t        t        t        t        d¬«      «      d|› �ft        d%|¬&«      t        d|› �fd'|› d(�t        t        t        t        d¬«      t        «      d)|› �fd)|› �t        fd*|
› d+|› d,|
› d�t        t        t        t        d¬«      t        «      d-fd*|
› d+|› d.|
› d�t        t        t        t        d¬«      t        «      d/fd0|
› d1�t        d2fd!|› d"|› d3�t        t        t        t        d¬«      t        «      d4|› �fd5|
› d6|› d7|
› d8|› d9|
› d8|› d:�t        t        t        t        d¬«      t        t        t        d¬«      t        t        t        d¬«      «      d;fd<|
› d|› d|	› d=|› | r|n|› d�
t        j                  d|› �fd>|› d|› d?�t        t        t        t        d¬«      t        «      d@|› �fdAj                  ||||||| rdnd||«	      t        t        t        t        d¬«      t        t        t        d¬«      t        t        dB¬«      t        «      d|› �ft        d|› �«      gS )CNz(?:{}|{}|[^"%{}{}{}])*r³   r‚   r°   z^]|\^[r±   z^)]|\^[r²   z
((?:(?:\^[z]?)?[^\S\n])*)z
(?:(?=\))|ú	/compoundrQ   rJ   z
\)((?=\()|z(?=ÚfollowrY   ©ÚstateÚredirectÚ[ú]+ú\(úroot/compoundz@+z((?:for|if|rem)(?:(?=(?:\^[z"]?)?/)|(?:(?!\^)|(?<=m))(?:(?=\()|z)))(Ú?z?(?:\^[z]?)?/(?:\^[z]?)?\?)z(gotoú)(z(?:\^[z]?)?\?)'ÚassocÚbreakÚcdÚchdirÚclsÚcolorÚcopyÚdateÚdelÚdirÚdpathÚechoÚendlocalÚeraseÚexitÚftypeÚkeysÚmdÚmkdirÚmklinkÚmoveÚpathÚpauseÚpopdÚpromptÚpushdÚrdÚrenÚrenameÚrmdirÚsetlocalÚshiftr�   ÚtimeÚtitleÚtypeÚverÚverifyÚvol)Úsuffixz(call)(z?)(:)Úcallz(forz(?!\^))(z)(/f)úfor/fÚforz)(/l)úfor/lrí   rí   z(?!\^))Úfor2rí   z?)(:?)Úlabelz(if(?:(?=\()|z	)(?!\^))(z?)((?:/iz)?)(z	?)((?:notz?))ú(?Úifzrem(((?=\()|z?.*|z(setz(/a)Ú
arithmeticzY(set{}){}((?:/p)?){}((?:(?:(?:\^[{}]?)?[^"{}{}^={}]|\^[{}]?[^"=])+)?)((?:(?:\^[{}]?)?=)?)Úvariable)Úformatr   r   rl   r   r
   r	   r   r   r   r   r   )ÚcompoundÚ_core_tokenÚ_core_token_compoundÚ_keyword_terminatorÚ_nlÚ_punctÚ_stringÚ_spaceÚ_start_labelÚ_stokenÚ_token_terminatorÚ	_variableÚ_wsÚrestÚrest_of_lineÚrest_of_line_compoundÚ	set_spacerê   s                     rZ   Ú_make_begin_statezBatchLexer._make_begin_state  s�  € ð (×.Ñ.¨w¸	À3ÈÙ3;©CÀóEˆà" 3 % v¨c¨U°+Ð>ˆØ#+¨C¨5°¸°u¸IÐ FÐØ! #  nÐ5ˆ	ØˆÙØ%/Ð0CÐ/DÀAÐ"FÐØ#-Ð.?Ð-@ÀÐ BÐØ ˆFá-5ˆe”[ &Ñ)ØÐ-Ð.¨a°¨~Ð>Ü�n‰nðà�L�> Ð#¤T¨V°F°8Ð+<Ð=Ø”Uœ4 vÔ.Ð/Ü�h˜v˜hÐ'Ó(Ø�#��bˆ\œ4Ð Ø”K Ð1Ø”KÐ Ø+¨C¨5ð 1"Ø"3Ð!4°D¸¸ÀÑZbÑBVÐhsÐAtÐt{Ð|ð  |Að  ALð  MPð  LQð  QXðYä”gœu¤T°Ô8Ó9Ø�f�XÐð ð Ð)Ð*¨"¨T¨F°&¸¸¸[ÈÈÈVÐTXÐSYÐYZÐ[Ü”gœu¤T°Ô8Ó9Ø�f�XÐð ô ð =ð .ô/ô 18¸6À&ÀÐ9JðLð ˜�x˜uÐ%Ü”gœu¤T°Ô8¼+ÓFØ�F�8ˆ_ðð Ð(Ð)Ð*¬GÐ4ØÐ&Ð' x°¨x°tÐ<MÐ;NÈaÐPÜ”gœu¤T°Ô8¼'ÓBØðð Ð&Ð' x°¨x°tÐ<MÐ;NÈaÐPÜ”gœu¤T°Ô8¼'ÓBØðð Ð%Ð& fÐ-¬w¸ÐHØÐ)Ð*¨"¨V¨H°FÐ;Ü”gœu¤T°Ô8¼+ÓFØ�V�HÐðð Ð/Ð0°	¸&¸ÀÐJ[ÐI\Ð\`ÐagÐ`hÐhqð  sDð  rEð  EIð  JPð  IQð  QSð  TÜ”gœu¤T°Ô8¼'ÜœD¨Ô/´ÜœD¨Ô/ó1à2>ð@ð Ð.Ð/¨q°°¸¸'¸À$ÐGZÐF[Ñu}Ñ\qð  DPð  \Qð  QRð  SÜ�^‰^˜v f XÐ.ð0àÐ(Ð)¨¨9¨+°TÐ:Ü”gœu¤T°Ô8¼'ÓBØ˜&˜Ð"ð$ð6ß6<±fÐ=PÐR[Ð]fÐhkÐmpÐrxÙ‰c 2 s¨Có71ä”gœu¤T°Ô8¼'ÜœD¨Ô/´´tÀ:Ô1NÜ!ó#ð �f�XÐð ô �f˜V˜HÐ%Ó&ðm7
ð 7	
r\   c	           	      ó4  — | rdnd}	g }
| r|
j                  dt        df«       |
|› d|› d| r|n|› d�t        t        t        t        t        j
                  t        j                  «      ft        d|	› �«      d	|› d
�t        dfdt        dft        d«      gz  }
|
S )Nr¹   r‚   ú(?=\))rJ   ú([z]*)(z)(.*)r½   z(?=[r¯   z	\|\|?|&&?rY   )	rŠ   r   r   r   r   ÚLabelr   rl   r   )rö   Ú_labelÚ_label_compoundrú   rý   rþ   Ú_tokenÚ_token_compoundr  rê   r¼   s              rZ   Ú_make_follow_statezBatchLexer._make_follow_statec  sª   € ñ
 !)‘¨bˆØˆÙØ�L‰L˜)¤T¨6Ð2Ô3ØØ�˜b   T¹X©/È6Ð)RÐRWÐXÜ”dœK¬¬t¯z©z¼7¿>¹>ÓJðLä�h˜v˜hÐ'Ó(Ø�S�E˜ˆ_œd FÐ+Øœ;¨Ð/Ü�F‹Oð
ñ 	
ˆð ˆr\   c                 óR  — d}g }| r|j                  dt        df«       |dt        j                  fdt        j                  fdt        j
                  fdt        fd|› d	�t        fd
j                  |||||||| rdnd«      t        t        d¬«      fdt        dft        d«      gz  }|S )Nz=+\-*/!~r	  rJ   z0[0-7]+z
0x[\da-f]+rT   z[(),]+r
  z
]|%|\^\^)+z,({}|{}|(\^[{}]?)?[^(){}%\^"{}{}]|\^[{}]?{})+ú[^)]ú[\w\W]rô   r»   z(?=[\x00|&])rº   )rŠ   r   r   ÚOctÚHexÚIntegerr   r   rõ   r
   r	   r   )	rö   rú   rû   rü   r  r  Ú_nlwsÚopr¼   s	            rZ   Ú_make_arithmetic_statez!BatchLexer._make_arithmetic_statev  sÂ   € ð ˆØˆÙØ�L‰L˜)¤T¨6Ð2Ô3ØØœŸ™Ð$ØœFŸJ™JÐ'Ø”V—^‘^Ð$ØœÐ$Ø�2�$�jÐ!¤8Ð,Ø<×CÑCÀGÈYÐX[Ð]_ÐafÐhnÐpuÙ!‰g yó2ä”4˜zÔ*ð,ð œd FÐ+Ü�HÓð
ñ 	
ˆð ˆr\   c                 ó¬   — g }| r|j                  dt        df«       |j                  d| r|n|z  t        t        t        j
                  «      df«       |S )Nr	  rJ   z(:?)(%s))rŠ   r   r   r   r   r  )rö   r  r  r¼   s       rZ   Ú_make_call_statezBatchLexer._make_call_state‹  sP   € àˆÙØ�L‰L˜)¤T¨6Ð2Ô3Ø�‰�k¹¡_ÀfÑMÜœ{¬D¯J©JÓ7¸ðAô 	Bàˆr\   c                 óö   — g }| r|j                  dt        df«       |j                  dj                  | r|n||||| rdnd||| rdnd«      t        t        j
                  t        j                  «      df«       |S )Nr	  rJ   z(({}?)((?:{}|{}|\^[{}]?{}|[^"%^{}{}{}])*)r  r  r³   r‚   )rŠ   r   rõ   r   r   r  r   rl   )rö   r  r  rú   rû   rü   r  r¼   s           rZ   Ú_make_label_statezBatchLexer._make_label_state”  s~   € ð ˆÙØ�L‰L˜)¤T¨6Ð2Ô3Ø�‰ÐA×HÑHÑ\dÉÐjpÐryØ  #±(¡wÀ	È3Ø¡x™t°Ró9ô œtŸz™z¬7¯>©>Ó:¸FðDô 	Eð ˆr\   c	           
      ó  — d|› d|› d|› d|› d�	}	d|› d|› d�t        t        j                  t        t        t        j                  «      fd|› d|› d	|› d
| r|	n|› d�	t        t        j                  t        t        t        d¬«      «      fgS )Nr´   rµ   r¶   r·   z	((?:(?<=[z])\d)?)(>>?&|<&)([z]*)(\d)z	])(?<!\^[z])\d)?)(>>?|<)(rÂ   r³   rY   r»   )r   r   r  r   r   r
   r	   )
rö   rø   rú   rû   rÿ   rü   rý   r  r  Ústoken_compounds
             rZ   Ú_make_redirect_statezBatchLexer._make_redirect_state   s£   € ð
 # 6 (¨&°°	¸¸9¸+ÀQÐG[ÐF\Ð\_Ð`ˆà˜%˜Ð 2°5°'¸ÐAÜ”f—n‘n¤k´4¼¿¹ÓHðJà˜%˜ 	¨#¨¨o¸f¸XÀQÑZbÁÐhoÐFpÐpqÐrÜ”f—n‘n¤k´5¼ÀVÔ3LÓMðOð
ð 	
r\   rP   Frº   ró   rë   rð   r½   rÁ   Tzfollow/compoundzarithmetic/compoundzcall/compoundzlabel/compoundzredirect/compoundzvariable-or-escapez%%|\^[z]?(\^!|[\w\W])rB   rA   rJ   z\^!|%%z[^"%^z]+|[%^]Úsqstringz[^%]+|%ÚbqstringrY   z\d)]+|.z]+|.Ú(z)(in)(z)(\()r»   rQ   z)(dor¾   r¿   z(")((?:z|[^"])*?")([z]*)(\)))rJ   rï   rB   z('(?:%%|z|[\w\W])*?')([z(`(?:%%|z|[\w\W])*?`)([rï   z-?\d+z((?:cmdextversion|errorlevel)rÃ   z)(\d+)z(definedrô   z(exist)rJ   Úif2z?)(==)(rÂ   rÀ   )rJ   úelse?rÁ   Úelse)	rô   rí   rï   rì   rî   rò   r$  rñ   r%  N);r]   r^   r_   r`   ra   rb   rc   rd   re   rf   r£   Ú	MULTILINEÚ
IGNORECASEÚflagsrú   rû   r  r  rý   rù   r   rþ   r  r  Ú_numberÚ_opwordrü   r  r÷   rø   r  r  rÿ   r  r  r  r  r  r   r   ri   r   rm   rn   r   r   rl   rg   r   r   r
   r	   r   r   r   r  r   ÚWordro   rp   r\   rZ   r   r   ô   s  „ ñð €DÚ6€GØ˜'Ð"€IØ*Ð+€IØ
4€CØ€Mà�L‰L˜2Ÿ=™=Ñ(€Eà
€CØ€FØ
€CØ€EØ˜S˜E  c U¨$Ð/€FØ'¨ u¨E°#°°lÀ3À%ÈÀxÈsÐSÐØ" 3 % s¨6¨(°3°%°rÐ:ÐØ-¨c¨U°&Ð9€LØ˜˜ ˜x x°¨u°KÐ@€FØ! % ¨¨°	¸#¸¸iÐH€OØ0Ð1BÐ0CÀ1ÐE€GØ,€GØ˜�u˜L¨¨¨TÐ2€GðØ˜ÐHÈÈð NØ˜˜e C 5¨	°#°°h¸s¸eð D Ø #˜uð %Ø�u˜H S E¨¨s¨e°9¸S¸EÀÈ#ÈÈmð	]€Ið
 " #  g¨e¨W°V°H¸DÐA€KØ*¨3¨%¨w°u°g¸f¸XÀUÐKÐØ�V�H˜C ˜}¨AÐ.€FØ˜f˜X SÐ)=Ð(>¸aÐ@€OØ�v�h˜f W I¨Q¨y¨k¸¸;¸-ÀsÐK€Gà0;Ø/CØ.AØ!¨&¸'Ø!'°lØ")Ð=NØ$-°3óH
ðT -3Ø+:ÀØ"(°|Ø"(¸/Ø"ó	ð& .1¸Ø'.¸)Ø#&¨eóð* +1Ø)8óð ,2Ø*9¸sØ!'°ÀIó
ð 3GØ!$¨V¸WØ%,°VØ'0¸ó	
ðfØÑ! %Ó(ðfàÑ$ UÓ+ðfð 	Ñ,¨UÓ3ðfð 	Ñ  Ó'ð	fð
 	Ñ" 5Ó)ðfð 	Ñ(¨Ó/ðfð 	Ñ*¨4Ó0ðfð 	Ñ-¨dÓ3ðfð 	Ñ5°dÓ;ðfð 	Ñ)¨$Ó/ðfð 	Ñ+¨DÓ1ðfð 	Ñ1°$Ó7ðfð 	Ø˜Ÿ™Ð&Ø�s�e˜>Ð*¨F¯M©MÐ:ð
ðfð" 	Ø�6—=‘= &Ð)Ø˜Ÿ™Ð&Ø˜Ÿ™Ð&Ø�c�U˜'Ð" F§M¡MÐ2Ù�F‹Oð
ð#fð0 	ÙÐ(Ó)Ø˜Ÿ™Ð'ð
ð1fð8 	ÙÐ(Ó)Ø˜Ÿ™Ð)ð
ð9fð@ 	Ø�6—=‘= (Ð+ÙÐ(Ó)Ø�e�W˜V˜H GÐ,¨dÐ3ð
ðAfðL �6—=‘= (Ð+ÙÐ(Ó)Ø�c�U˜$Ð §¡Ð/ð
ð �&�˜ ˜x uÐ-Ù‘e˜D¨Ô/°Ù˜D¨Ô/°ó>Ø?EðGñ �HÓð	
ð �KÐ Ø�&�˜Ð/Ð0°Ð2Ù‘e˜D¨Ô/°Ó9¸6ðCà�#��bˆ\˜4Ð Ù�HÓð
ð ˜	�{ ,¨u¨g°WÐ=Ù�f—m‘m¡U¨4°xÔ%@À$Ø!ó#ð$ð �6—=‘=Ð"<Ð=Ø˜˜ >°%°¸Ð@Ù‘e˜D¨
Ô3°T¸;ÓGðIà˜˜ >°%°¸Ð@Ù‘e˜D¨
Ô3°T¸;ÓGðIá�F‹Oð

ð �v—~‘~Ð&Ù�F‹Oð
ð
 .Ð.?Ð-@ÀÀ6À(È&ÐQÙ�g™u T°Ô8Ø—n‘nó&Ø'-ð/ð Ð*Ð+¨2¨f¨X°R¸°yÀÐBÙ�g™u T°Ô8Ù˜D¨
Ô3ó5Ø6<ð>ð Ð(Ð)¨¨F¨8°G°9¸AÐ>Ù�g™u T°Ô8Ó9¸6ðCà�'�˜6˜( " W I¨R°¨x¸°yÀÐBÙ‘e˜D¨Ô5°x·}±}Ù˜D¨Ô5ó7Ø8>ð@ð ‘e˜D¨Ô/°ÐAð
ð �&�˜  ¨¨'¨°!Ð4Ù‘e˜D¨Ô/°Ù˜D¨Ô/ó1Ø28ð:ð �&�˜˜G˜9 B v h¨w¨i°qÐ9Ù‘e˜D¨Ô/°·±Ù˜D¨Ô/ó1Ø28ð:ð	
ð ‘U˜4 vÔ.Ð/Ø�KÐ!CÐDÙ�F‹Oð
ð ‘U˜4 vÔ.Ð/ØÐ&Ð'Ð(¨'°6Ð:Ù�F‹Oð
òCf�Fr\   r   c                   óZ   — e Zd ZdZdZdgZg Zg ZdZdZ	dZ
eZ ej                  d«      ZdZy	)
r   zp
    Lexer for MS DOS shell sessions, i.e. command lines, including a
    prompt, interspersed with output.
    zMSDOS SessionÚdosconz$https://en.wikipedia.org/wiki/MS-DOSú2.1zdoscon/sessionz^([^>]*>)(.*\n?)zMore? N)r]   r^   r_   r`   ra   rb   rc   rd   re   rf   r¨   r   r„   r£   r¤   r�   r’   rp   r\   rZ   r   r     sI   „ ñð
 €DØˆj€GØ€IØ€IØ
0€CØ€MØ€Hà€NØˆb�j‰jÐ,Ó-€GØ�Dr\   r   c                   óê  — e Zd ZdZdZddgZddgZdgZdZd	Z	 e
d
«      dedfdedfdej                  df e
d«      gdefdej                  fdefdej"                  fd eej&                  ee«      fdefdefdefgdej.                  fdej0                  fdefdefdefdej&                  fgd ed!fd"efd#ej&                  fd$efd%ef e
d&«      gd'ed!f e
d&«      gdej                  d!f e
d&«      gd(œZy))*r   z!
    Lexer for tcsh scripts.
    ÚTcshÚtcshÚcshz*.tcshz*.cshzapplication/x-cshúhttps://www.tcsh.orgz0.10r1   r8   r9   r:   r;   r2   r3   r4   zc\b(if|endif|else|while|then|foreach|case|default|break|continue|goto|breaksw|end|switch|endsw)\s*\baó  \b(alias|alloc|bg|bindkey|builtins|bye|caller|cd|chdir|complete|dirs|echo|echotc|eval|exec|exit|fg|filetest|getxvers|glob|getspath|hashstat|history|hup|inlib|jobs|kill|limit|log|login|logout|ls-F|migrate|newgrp|nice|nohup|notify|onintr|popd|printenv|pushd|rehash|repeat|rootnode|popd|pushd|set|shift|sched|setenv|setpath|settc|setty|setxvers|shift|source|stop|suspend|source|suspend|telltc|time|umask|unalias|uncomplete|unhash|universe|unlimit|unset|unsetenv|ver|wait|warp|watchlog|where|which)\s*\bz#.*r?   ú(\b\w+)(\s*)(=)z[\[\]{}()=]+z<<\s*(\'?)\\?(\w+)[\w\W]+?\2rE   z!(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"z!(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'rG   z[^=\s\[\]{}()$"\'`\\;#]+ú\d+(?= |\Z)ú\$#?(\w+|.)rL   rJ   rM   rN   z[^}:"\'`$]+rO   rP   rQ   )rP   r1   r4   r;   r9   r3   N)r]   r^   r_   r`   ra   rb   rc   rd   re   rf   r   r   r   rg   r   rj   r   rm   r   ri   r   r   r   rn   rl   r   ro   rp   r\   rZ   r   r   )  sŽ  „ ñð €DØ�uˆo€GØ˜7Ð#€IØ$Ð%€IØ
 €CØ€Mñ �GÓØ�g˜wÐ'Ø˜ Ð)Ø�6—?‘? KÐ0Ù�F‹Oð
ðCàðð9ð �\‰\ð	ð �WÐØ˜&Ÿ-™-Ð(Ø¡¨$¯-©-¸¸xÓ!HÐIØ˜hÐ'Ø,¨fÐ5Ø�;Ðð'
ð, 2°6·=±=ÐAØ1°6·=±=ÐAØ�TˆNØ(¨$Ð/Ø˜VÐ$Ø˜TŸ]™]Ð+ð
ð �G˜VÐ$Ø�GÐØ�T—]‘]Ð#Ø˜[Ð)Ø�;ÐÙ�F‹Oð
ð �G˜VÐ$Ù�F‹Oð
ð
 �6—?‘? FÐ+Ù�F‹Oð
ñc5�Fr\   r   c                   óZ   — e Zd ZdZdZdgZg Zg ZdZdZ	dZ
eZ ej                  d«      ZdZy	)
r!   zh
    Lexer for Tcsh sessions, i.e. command lines, including a
    prompt, interspersed with output.
    zTcsh SessionÚtcshconr4  r/  ztcshcon/sessionz^([^>]+>)(.*\n?)z? N)r]   r^   r_   r`   ra   rb   rc   rd   re   rf   r¨   r   r„   r£   r¤   r�   r’   rp   r\   rZ   r!   r!   m  sI   „ ñð
 €DØˆk€GØ€IØ€IØ
 €CØ€MØ €Hà€NØˆb�j‰jÐ,Ó-€GØ�Dr\   r!   c                   óL  — e Zd ZdZdZg d¢ZddgZdgZdZdZ	e
j                  e
j                  z  e
j                  z  Zd	j                  «       Zd
j                  «       Zdj                  «       Zdj                  «       Zdj                  «       Zdedfdefdj/                  dj1                  e«      «       eeej8                  e«      fdefdej:                  dfdej<                  dfdej<                  fdefdej>                  dfdej@                  fde!jD                  fdj/                  dj1                  e«      «      e#fdj/                  dj1                  e«      «      e$fd j/                  dj1                  e«      «      e!jJ                  fd!j/                  dj1                  e«      «      e!jJ                  fd"e!jL                  fd#e!fd$e!fd%efgd&ed'f e'd(«      gd)ej:                  fd*ej:                  d'fd+j/                  dj1                  e«      «      ej8                  fd,ej:                  fgd-ejP                  fd.ej>                  fd/edfd0ej>                  fd1ej>                  fdej>                  d'fgd2ej<                  d'fd/edfd3ej<                  fd4ej<                  fgd5œZ)y6)7r   z&
    For Windows PowerShell code.
    Ú
PowerShell)Ú
powershellÚpwshÚposhÚps1Úpsm1z*.ps1z*.psm1ztext/x-powershellú,https://learn.microsoft.com/en-us/powershellz1.5a¾  while validateset validaterange validatepattern validatelength validatecount until trap switch return ref process param parameter in if global: local: function foreach for finally filter end elseif else dynamicparam do default continue cmdletbinding break begin alias \? % #script #private #local #global mandatory parametersetname position valuefrompipeline valuefrompipelinebypropertyname valuefromremainingarguments helpmessage try catch throwaN  and as band bnot bor bxor casesensitive ccontains ceq cge cgt cle clike clt cmatch cne cnotcontains cnotlike cnotmatch contains creplace eq exact f file ge gt icontains ieq ige igt ile ilike ilt imatch ine inotcontains inotlike inotmatch ireplace is isnot le like lt match ne not notcontains notlike notmatch or regex replace wildcardaÇ  write where watch wait use update unregister unpublish unprotect unlock uninstall undo unblock trace test tee take sync switch suspend submit stop step start split sort skip show set send select search scroll save revoke resume restore restart resolve resize reset request repair rename remove register redo receive read push publish protect pop ping out optimize open new move mount merge measure lock limit join invoke install initialize import hide group grant get format foreach find export expand exit enter enable edit dismount disconnect disable deny debug cxnew copy convertto convertfrom convert connect confirm compress complete compare close clear checkpoint block backup assert approve aggregate addaŒ  ac asnp cat cd cfs chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo epal epcsv epsn erase etsn exsn fc fhx fl foreach ft fw gal gbp gc gci gcm gcs gdr ghy gi gjb gl gm gmo gp gps gpv group gsn gsnp gsv gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc select set shcm si sl sleep sls sort sp spjb spps spsv start sujb sv swmi tee trcm type wget where wjb writez§component description example externalhelp forwardhelpcategory forwardhelptargetname functionality inputs link notes outputs parameter remotehelprunspace role synopsisrÀ   ÚchildrG   z ^(\s*#[#\s]*)(\.(?:{}))([^\n]*$)r¶   z	#[^\n]*?$z	(&lt;|<)#Úmultlinez@"\núheredoc-doublez@'\n.*?\n'@z	`[\'"$@-]rA   rB   z'([^']|'')*'z+(\$|@@|@)((global|script|private|env):)?\w+z({})\bz-({})\bz({})-[a-z_]\w*\bz({})\sz\[[a-z_\[][\w. `,\[\]]*\]z
-[a-z_]\w*rN   z![.,;:@{}\[\]$()=+*/\\&%!~?^`|<>-]rQ   rJ   rP   z[^#&.]+z	#(>|&gt;)z\.({})z[#&.]z`[0abfnrtv'\"$`]z[^$`"]+r8   z""z[`$]z\n"@z	[^@\n]+"]Ú.)rP   rB  rC  rB   rD  N)*r]   r^   r_   r`   ra   rb   rc   rd   re   rf   r£   ÚDOTALLr(  r'  r)  ÚsplitÚkeywordsÚ	operatorsÚverbsÚaliases_Úcommenthelpr   r   rõ   Újoinr   r   r   ÚDocÚ	MultilineÚHeredocrn   rl   r   ri   r   r   rj   ÚConstantr   rm   ro   rp   r\   rZ   r   r   €  sé  „ ñð €DÚ;€GØ˜(Ð#€IØ$Ð%€IØ
8€CØ€Mà�I‰I˜Ÿ™Ñ%¨¯©Ñ4€Eð	B÷ DIÁ5Ã7ð ð	÷
 ‘E“Gð ð
	E÷ GLÁeÃgð 
ð		)÷ +0©%«'ð ð	CçDIÁEÃGð ð �K Ð)Ø�TˆNØ0×7Ñ7¸¿¹ÀÓ8MÓNÙ�g˜vŸz™z¨7Ó3ð5à˜7Ð#Ø˜7×,Ñ,¨jÐ9Ø�f—n‘nÐ&6Ð7Ø˜VŸ^™^Ð,à˜;Ð'Ø�6—=‘= (Ð+Ø˜fŸm™mÐ,Ø;Ø�]‰]ðà×Ñ˜cŸh™h xÓ0Ó1°7Ð;Ø×Ñ˜sŸx™x¨	Ó2Ó3°XÐ>Ø ×'Ñ'¨¯©°«Ó8¸$¿,¹,ÐGØ×Ñ˜cŸh™h xÓ0Ó1°4·<±<Ð@Ø)¨4¯=©=Ð9Ø˜DÐ!Ø�TˆNØ1°;Ð?ð1
ð6 �K Ð(Ù�F‹Oð
ð
 ˜×*Ñ*Ð+Ø˜7×,Ñ,¨fÐ5Ø×Ñ˜cŸh™h {Ó3Ó4°f·j±jÐAØ�w×(Ñ(Ð)ð	
ð ! &§-¡-Ð0Ø˜Ÿ™Ð'Ø�k 7Ð+Ø�F—M‘MÐ"Ø�f—m‘mÐ$Ø�6—=‘= &Ð)ð
ð �f—n‘n fÐ-Ø�k 7Ð+Ø˜6Ÿ>™>Ð*Ø�6—>‘>Ð"ð	
ñ[3�Fr\   r   c                   ó`   — e Zd ZdZdZddgZg Zg ZdZdZ	dZ
eZdZ ej                  d	«      Zd
Zy)r    zn
    Lexer for PowerShell sessions, i.e. command lines, including a
    prompt, interspersed with output.
    zPowerShell Sessionzpwsh-sessionÚps1conrA  r/  zpwsh-session/sessionTz$^((?:\[[^]]+\]: )?PS[^>]*> ?)(.*\n?)r§   N)r]   r^   r_   r`   ra   rb   rc   rd   re   rf   r¨   r   r„   r“   r£   r¤   r�   r’   rp   r\   rZ   r    r    ò  sR   „ ñð
  €DØ˜xÐ(€GØ€IØ€IØ
8€CØ€MØ%€Hà$€NØÐØˆb�j‰jÐ@ÓA€GØ�Dr\   r    c                   ó.  — e Zd ZdZdZddgZddgZdgZdZd	Z	 e
d
«       e
d«       e
d«      gdedfdedfdej                  fgd eee«      fdej                   fdefdej&                  fd eej                  ee«      fdefdefgdej,                  fdej,                  dfdej.                  fdej.                  fdefdefd efd!efd"efg	dej,                  d#fd$ej,                  f e
d«      gd%ed#f e
d&«      gd'ed#fd(efd)efd*efd+ef e
d&«      gd,œZy-).r"   z'
    Lexer for Fish shell scripts.
    ÚFishÚfishÚ	fishshellz*.fishz*.loadzapplication/x-fishzhttps://fishshell.comr/  r1   r4   r5   r6   r7   rÀ   r9   r7  z�\b(begin|end|if|else|while|break|for|in|return|function|block|case|continue|switch|not|and|or|set|echo|exit|pwd|true|false|cd|count|test)(\s*)\baœ  \b(alias|bg|bind|breakpoint|builtin|command|commandline|complete|contains|dirh|dirs|emit|eval|exec|fg|fish|fish_config|fish_indent|fish_pager|fish_prompt|fish_right_prompt|fish_update_completions|fishd|funced|funcsave|functions|help|history|isatty|jobs|math|mimedb|nextd|open|popd|prevd|psub|pushd|random|read|set_color|source|status|trap|type|ulimit|umask|vared|fc|getopts|hash|kill|printf|time|wait)\s*\b(?!\.)r>   r?   r5  z	[\[\]()=]r@   z%(?s)\$?"(\\\\|\\[0-7]+|\\.|[^"\\$])*"rA   rB   rC   rD   rE   z&|\||\^|<|>rG   r6  rH   rJ   rK   rQ   rP   rR   z[-+*/%^|&]|\*\*|\|\|z\d+#\d+rS   rT   )rP   r5   r1   r4   rB   r9   r7   N)r]   r^   r_   r`   ra   rb   rc   rd   re   rf   r   r   r   ri   r   r   rj   r   r   rm   r   r   rn   rl   r   r   ro   rp   r\   rZ   r"   r"     sÄ  „ ñð €DØ�{Ð#€GØ˜8Ð$€IØ%Ð&€IØ
!€CØ€Mñ �GÓÙ�F‹OÙ�HÓð
ð ˜ Ð(Ø�G˜WÐ%Ø˜TŸ]™]Ð+ð
ð&ñ �g˜tÓ$ð&ðNð �\‰\ðð �wÐØ˜&Ÿ-™-Ð(Ø¡¨$¯-©-¸ÀXÓ!NÐOØ˜8Ð$Ø.°Ð7ð#
ð( 6°v·}±}ÐEØ�6—=‘= (Ð+Ø3°V·]±]ÐCØ˜6Ÿ=™=Ð)Ø�;ÐØ˜XÐ&Ø�TˆNØ˜VÐ$Ø*¨DÐ1ð

ð �6—=‘= &Ð)Ø0°&·-±-Ð@Ù�HÓð
ð �G˜VÐ$Ù�F‹Oð
ð
 �g˜vÐ&Ø$ hÐ/Ø˜Ð Ø˜6Ð"Ø�VÐÙ�F‹Oð
ñe:�Fr\   r"   c            
       óÄ  — e Zd ZdZdZdgZdgZdZdZ e	d«       e	d«       e	d«      gd	e
j                  d
fdej                  fdefgdej                  fdej"                  fdej$                  fdefgde
j(                  fde
j(                  dfdefdefgde
j(                  dfde
j(                  f e	d«      gde
j                  dfdej                  f e	d«      gdœZd„ Zy)r#   z7
    Lexer for Laurent Bercot's execline language.
    Úexeclinez*.execz%https://skarnet.org/software/execlinez2.7r1   r4   r5   z\$\{r;   z	\$[\w@#]+r<   a‹  \b(background|backtick|cd|define|dollarat|elgetopt|elgetpositionals|elglob|emptyenv|envfile|exec|execlineb|exit|export|fdblock|fdclose|fdmove|fdreserve|fdswap|forbacktickx|foreground|forstdin|forx|getcwd|getpid|heredoc|homeof|if|ifelse|ifte|ifthenelse|importas|loopwhilex|multidefine|multisubstitute|pipeline|piperw|posix-cd|redirfd|runblock|shift|trap|tryexec|umask|unexport|wait|withstdinas)\br=   r>   z[{}]z(?s)"(\\.|[^"\\$])*"rA   rB   rG   z[^\s{}$"\\]+rJ   z(?s)(\\\\|\\.|[^"\\$])+rL   z[\w#@]+rP   )rP   r5   r1   r4   rB   r;   c                 ó   — t        | d«      ryy )NÚ	execlinebrV   r   rX   s    rZ   r[   zExeclineLexer.analyse_text„  s   € Ü˜4 Ô.Øð /r\   N)r]   r^   r_   r`   ra   rb   rc   re   rf   r   r   rh   r   ri   r   rj   r   rk   rl   r   rn   ro   r[   rp   r\   rZ   r#   r#   N  s7  „ ñð €DØˆl€GØ�
€IØ
1€CØ€Mñ �GÓÙ�F‹OÙ�HÓð
ð �f—o‘o wÐ/Ø˜4Ÿ=™=Ð)Ø�DˆMð
ðð !%§¡ð.ð ˜'×*Ñ*Ð+Ø�w—~‘~Ð&Ø�hÐð
ð % f§m¡mÐ4Ø�6—=‘= (Ð+Ø�TˆNØ˜dÐ#ð	
ð �6—=‘= &Ð)Ø'¨¯©Ð7Ù�HÓð
ð �F—O‘O VÐ,Ø˜Ÿ™Ð'Ù�F‹Oð
ñG)€FóVr\   r#   )'r`   r£   Úpygments.lexerr   r   r   r   r   r   r	   r
   r   r   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   Úpygments.utilr   Ú__all__r   r   r€   r   r   r   r   r!   r   r    r"   r#   rp   r\   rZ   Ú<module>r`     sà   ðñó 
÷2÷ 2÷ 2÷D÷ D÷ Då )ò€ôe�
ô eôP*�Yô *ô,E"˜Eô E"ôPÐ,ô ô*_�ô _ôD	Ð-ô ô&A�
ô AôHÐ,ô ô&o�jô oôdÐ2ô ô(F�Zô FôP8�Jõ 8r\   