Ë
    |í¼e�Ã  ã                   óz  — 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mZmZ ddl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!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. G d+„ d,e«      Z/ G d-„ d.e«      Z0 G d/„ d0e«      Z1 G d1„ d2e«      Z2 G d3„ d4e«      Z3y)5zÙ
    pygments.lexers.configs
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for configuration file formats.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚExtendedRegexLexerÚ
RegexLexerÚdefaultÚwordsÚbygroupsÚincludeÚusingÚline_re)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚLiteralÚErrorÚGeneric)Ú	BashLexer)Ú	JsonLexer)ÚIniLexerÚSystemdLexerÚDesktopLexerÚRegeditLexerÚPropertiesLexerÚKconfigLexerÚCfengine3LexerÚApacheConfLexerÚSquidConfLexerÚNginxConfLexerÚLighttpdConfLexerÚDockerLexerÚTerraformLexerÚTermcapLexerÚTerminfoLexerÚPkgConfigLexerÚPacmanConfLexerÚAugeasLexerÚ	TOMLLexerÚNestedTextLexerÚSingularityLexerÚUnixConfigLexerc                   ó  — e Zd ZdZdZg d¢Zg d¢ZddgZdefde	j                  fd	 eee«      fd
 eej                  eeeeee«      dfd eej                  eeee«      fdej                  fgdefd eeeee«      fdedfgdœZd„ Zy)r   z5
    Lexer for configuration files in INI style.
    ÚINI)ÚiniÚcfgÚdosini)z*.iniz*.cfgz*.infz.editorconfigz
text/x-iniztext/infú\s+ú[;#].*z(\[.*?\])([ \t]*)$u0   (.*?)([ Â \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)Úvalueu8   (.*?)([ \t]*)([=:])([ Â \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)z(.+?)$z(\s*)(.*)(\\)([ \t]*)z.*$ú#pop©Úrootr6   c                 óZ   — | j                  d«      }|dk  ry| d   dk(  r| |dz
     dk(  ryy)	Nú
é   Fr   ú[é   ú]gš™™™™™é?)Úfind)ÚtextÚnposs     ú9/usr/lib/python3/dist-packages/pygments/lexers/configs.pyÚanalyse_textzIniLexer.analyse_text>   s9   € Ø�y‰y˜‹ˆØ�!Š8ØØ�‰7�cŠ>˜d 4¨¡6™l¨cÒ1ØØó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr   r   ÚSingler   r   r   Ú	Attributer   r   r   ÚtokensrD   © rE   rC   r   r      sß   „ ñð €DÚ&€Gò€Ið ˜zÐ*€Ið �ZÐ Ø˜Ÿ™Ð'Ø"¡H¨W°jÓ$AÐBØ@Ù�d—n‘n j°(¸JÈØ˜Jó(àðð IÙ�d—n‘n j°(¸JÈÓOðQð ˜Ÿ™Ð'ð
ð �ZÐ Ø%Ù�j &¨$°
Ó;ð=à�V˜VÐ$ð	
ñ€Fó,rE   r   c                   óº   — e Zd ZdZdZdZdgZdgZddefd e	e
j                  e«      fd	 e	ee«      fd
 e	ej                  ej                  eeeee«      fgiZd„ Zy)r   z?
    Lexer for .desktop files.

    .. versionadded:: 2.16
    zDesktop filezXhttps://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.htmlÚdesktopz	*.desktopr9   ú	^[ \t]*\nz
^(#.*)(\n)ú(\[[^\]\n]+\])(\n)zG([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)c                 óz   — | j                  d«      ryt        j                  d| d d t        j                  «      �yy)Nz[Desktop Entry]ç      ð?z^\[Desktop Entry\][ \t]*$éô  çÍÌÌÌÌÌì?ç        ©Ú
startswithÚreÚsearchÚ	MULTILINE©rA   s    rC   rD   zDesktopLexer.analyse_text]   s6   € Ø�?‰?Ð,Ô-ØÜ�9‰9Ð1°4¸¸°:¼r¿|¹|ÓLÐXØØrE   N)rF   rG   rH   rI   rJ   ÚurlrK   rL   r   r   r   rN   r   r   rO   Ú	Namespacer   r   rP   rD   rQ   rE   rC   r   r   G   sˆ   „ ñð €DØ
d€CØˆk€GØ�€Ið 	Ø˜:Ð&Ø™H W§^¡^°ZÓ@ÐAØ"¡H¨W°jÓ$AÐBØWÙ�d—n‘n d§n¡n°jÀ(ÈJÐX^Ð`jÓkðmð	
ð€FórE   r   c                   ó4  — e Zd ZdZdZdZdgZg d¢Zdefd e	e
j                  e«      fd e	ee«      fd	 e	ej                  eeeeee«      d
fd e	ej                  eeeee«      fgd e	e
j                  e«      fd e	eeee«      fd e	eee«      dfgdœZd„ Zy)r   zC
    Lexer for systemd unit files.

    .. versionadded:: 2.16
    ÚSystemdzDhttps://www.freedesktop.org/software/systemd/man/systemd.syntax.htmlÚsystemd)z	*.servicez*.socketz*.devicez*.mountz*.automountz*.swapz*.targetz*.pathz*.timerz*.slicez*.scoperT   z^([;#].*)(\n)rU   z*([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)r6   z&([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)z([ \t]*)([^\n]*)(\\)(\n)z([ \t]*)([^\n]*)(\n)r7   r8   c                 óz   — | j                  d«      ryt        j                  d| d d t        j                  «      �yy)Nz[Unit]rW   z^\[Unit\][ \t]*$rX   rY   rZ   r[   r`   s    rC   rD   zSystemdLexer.analyse_textŠ   s5   € Ø�?‰?˜8Ô$ØÜ�9‰9Ð(¨$¨t°¨*´b·l±lÓCÐOØØrE   N)rF   rG   rH   rI   rJ   ra   rK   rL   r   r   r   rN   r   r   rO   r   r   r   rP   rD   rQ   rE   rC   r   r   e   sì   „ ñð €DØ
P€CØˆk€Gò€Ið ˜:Ð&Ø™x¨¯©¸
ÓCÐDØ"¡H¨W°jÓ$AÐBØ:Ù�d—n‘n j°(¸JÈØ˜Jó(àðð 7Ù�d—n‘n j°(¸JÈÐPZÓ[ð]ð

ð ™x¨¯©¸
ÓCÐDØ(Ù�j &¨$°
Ó;ð=à$Ù�j &¨*Ó5°vð?ð
ñ€Fó,rE   r   c                   ó2  — e Zd ZdZdZdZdgZdgZdgZde	fde
fd	ej                  fd
 eeeej"                  e«      fd eej$                  e
ee
«      dfd eej$                  e
ee
«      dfgdedfd eej&                  ee«      dfdedf ed«      gdœZd„ Zy)r   zZ
    Lexer for Windows Registry files produced by regedit.

    .. versionadded:: 1.6
    Úregz8http://en.wikipedia.org/wiki/Windows_Registry#.REG_filesÚregistryz*.regztext/x-windows-registryzWindows Registry Editor.*r4   r5   z(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$z)("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)r6   z(.*?)([ \t]*)(=)([ \t]*)ú-r7   z1(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+)ú.+r8   c                 ó$   — | j                  d«      S )NzWindows Registry Editor)r\   r`   s    rC   rD   zRegeditLexer.analyse_text¹   s   € Ø�‰Ð8Ó9Ð9rE   N)rF   rG   rH   rI   rJ   ra   rK   rL   rM   r   r   r   rN   r   r   r   r   ÚBuiltinrO   ÚVariabler   r   r   r   rP   rD   rQ   rE   rC   r   r   ’   sð   „ ñð €DØ
D€CØˆl€GØ�	€IØ*Ð+€Ið *¨4Ð0Ø�ZÐ Ø˜Ÿ™Ð'Ø.Ù�g˜x¨¯©°wÓ?ðAð :Ù�d—n‘n j°(¸JÓGØðð )Ù�d—n‘n j°(¸JÓGØðð
ð  �8˜VÐ$ØAÙ�d—m‘m [°&Ó9¸6ðCð �F˜FÐ#Ù�F‹Oð
ñ!€Fó4:rE   r   c            	       ó  — e Zd ZdZdZddgZdgZdgZdej                  fde
fd	e
f ed
«      gdej                  f ed«      d ee
ee
«      dfde
dfde
dfgdef ed«      de
dfgd eej$                  e
«      fdej$                  fgdœZy)r   z¦
    Lexer for configuration files in Java's properties format.

    Note: trailing whitespace counts as part of the value as per spec

    .. versionadded:: 1.4
    Ú
PropertiesÚ
propertiesÚjpropertiesz*.propertiesztext/x-java-propertiesz[!#].*|/{2}.*ú\nz	^[^\S\n]+Úkeyz
[^\\:=\s]+Úescapesz([^\S\n]*)([:=])([^\S\n]*))r7   r6   ú[^\S\n]+r7   z[^\\\n]+z(\\\n)([^\S\n]*)z\\(.|\n))r9   rt   r6   ru   N)rF   rG   rH   rI   rJ   rK   rL   rM   r   rN   r   r   r   rO   r   r   r   r   ÚEscaperP   rQ   rE   rC   r   r   ½   sì   „ ñð €DØ˜]Ð+€GØÐ €IØ)Ð*€Ið
 ˜wŸ~™~Ð.à�JÐà˜:Ð&á�E‹Nð	
ð ˜DŸN™NÐ+á�IÓð +Ù�j (¨JÓ7Øð ð ˜*Ð&7Ð8à�J Ð'ð
ð  ˜&Ð!á�IÓà�J Ð'ð
ð !¡(¨6¯=©=¸*Ó"EÐFà˜&Ÿ-™-Ð(ð	
ñC'�FrE   r   c                 óX   — d}|dk(  rd}nd|dz
  z  }| dk(  rd}nd| z  }d|›d	|›d
|›d�S )Né   é   ú+z{1,%d}r>   Ú z{%s}z(?:\t| z\t| {z})z.*\nrQ   )ÚlevelÚ	tab_widthÚspace_repeatÚlevel_repeats       rC   Ú
_rx_indentr�   õ   sH   € ð €Ið �A‚~Ø‰à 9¨q¡=Ñ1ˆØ�‚zØ‰à ‘~ˆøÚ*6º	Â<ÐPÐPrE   c                   óÔ  — e Zd ZdZdZg d¢Zg d¢ZdgZdZd„ Z	d„ Z
d	efd
ej                  f edd¬«      efdedfdej"                  fdefdefdej*                  fdej                  fdej.                  fdefgdef e	d«       e	d«       e	d«       e	d«       e	d«       e	d«       e	d«       ed«      g	 e
d«       e
d«       e
d«       e
d«       e
d«       e
d«       e
d«      d œ	Zy!)"r   zC
    For Linux-style Kconfig files.

    .. versionadded:: 1.6
    ÚKconfig)ÚkconfigÚ
menuconfigzlinux-configzkernel-config)zKconfig*z*Config.in*zexternal.in*zstandard-modules.inztext/x-kconfigr   c                 ó@   — t        | «      t        j                  d| z  fS )Nzindent%s)r�   r   ÚDoc©r}   s    rC   Úcall_indentzKconfigLexer.call_indent  s   € ä˜5Ó!¤6§:¡:¨z¸EÑ/AÐBÐBrE   c                 ó\   — t        | «      t        j                  fdt        ft	        d«      gS )Nú\s*\nú#pop:2)r�   r   r‡   r   r   rˆ   s    rC   Ú	do_indentzKconfigLexer.do_indent  s/   € ô ˜Ó¤§
¡
Ð+Ø”tÐÜ�HÓð
ð 	
rE   r4   ú#.*?\n)ÚmainmenuÚconfigr…   ÚchoiceÚ	endchoiceÚcommentÚmenuÚendmenuz
visible ifÚifÚendifÚsourceÚpromptÚselectz
depends onr   ÚrangeÚoptionú\b©Úsuffixz(---help---|help)[\t ]*\nÚhelpz;(bool|tristate|string|hex|int|defconfig_list|modules|env)\bz[!=&|]z[()]ú[0-9]+z'(''|[^'])*'z"(""|[^"])*"ú\S+r‹   é   é   é   é   r<   rz   r>   r7   )	r9   r    Úindent7Úindent6Úindent5Úindent4Úindent3Úindent2Úindent1N)rF   rG   rH   rI   rJ   rK   rL   rM   Úflagsr‰   r�   r   r   rN   r   r   r   rm   r   r   r   ÚIntegerr   ÚDoubler   r   rP   rQ   rE   rC   r   r   	  sC  „ ñð €DÚH€Gò(€Ià!Ð"€Ià€EòCò
ð �ZÐ Ø˜Ÿ™Ð'Ùð #ð ,1ô	2ð
 ðð *¨7°FÐ;ØKØ�\‰\ðà˜Ð!Ø�kÐ"Ø˜Ÿ™Ð'Ø˜fŸm™mÐ,Ø˜fŸm™mÐ,Ø�TˆNð#
ð. �tÐñ ˜‹NÙ˜‹NÙ˜‹NÙ˜‹NÙ˜‹NÙ˜‹NÙ˜‹NÙ�F‹Oð
ñ  ˜Q“<Ù˜Q“<Ù˜Q“<Ù˜Q“<Ù˜Q“<Ù˜Q“<Ù˜Q“<ñY-�FrE   r   c                   óö  — e Zd ZdZdZdZddgZdgZg Zde	fd e
eeeee«      fd	 e
eeeeej                  e«      d
fd e
eeeeej                  «      fd e
eej                   eeej"                  eee«      fd e
ej&                  eee«      fdedfd e
ej                  e«      fd e
ej,                  e«      fd e
ej.                  e«      fdej                   fdefdefdefdej2                  fdej4                  fdej                  fdefgdej6                  dfdej8                  fdedfdefd efgdej6                  d!fd"ej6                  dfd#ej6                  fgd$edfd%efdej                   fdefgd&œZy')(r   zF
    Lexer for CFEngine3 policy files.

    .. versionadded:: 1.5
    Ú	CFEngine3zhttp://cfengine.orgÚ	cfengine3Úcf3z*.cfrŽ   z(body)(\s+)(\S+)(\s+)(control)z%(body|bundle)(\s+)(\S+)(\s+)(\w+)(\()Úarglistz!(body|bundle)(\s+)(\S+)(\s+)(\w+)z7(")([^"]+)(")(\s+)(string|slist|int|real)(\s*)(=>)(\s*)z(\S+)(\s*)(=>)(\s*)ú"Ústringz	(\w+)(\()z([\w.!&|()]+)(::)z(\w+)(:)z@[{(][^)}]+[})]z[(){},;]z=>z->z\d+\.\d+ú\d+ú\w+r4   z\$[{(]Úinterpolú\\.r7   rs   ú.ú#pushz[})]z	[^${()}]+z\)ú,)r9   r·   rº   rµ   N)rF   rG   rH   rI   rJ   ra   rK   rL   rM   r   r   r   r   r   ÚFunctionr   rn   ÚTyper   ÚReservedr   r   ÚClassÚDeclarationr   ÚFloatr¯   ÚInterpolrw   rP   rQ   rE   rC   r   r   V  s  „ ñð €DØ
€CØ˜EÐ"€GØ�€IØ€Ið ˜Ð Ø.Ù�g˜z¨7°JÀÓHðJà5Ù�g˜z¨7°JÀÇÁÈ{Ó[Øðð 2Ù�g˜z¨7°JÀÇÁÓNðPàGÙ�k 4§=¡=°+Ø  '§,¡,°
¸HÀjóRðSð $Ù�g×&Ñ&¨
°H¸dÓCðEà�6˜8Ð$Ø™8 D§M¡M°;Ó?Ð@Ø!¡8¨D¯J©J¸Ó#DÐEØ™( 7×#6Ñ#6¸ÓDÐEØ §¡Ð/Ø˜+Ð&Ø�HÐØ�HÐØ˜&Ÿ,™,Ð'Ø�V—^‘^Ð$Ø�T—]‘]Ð#Ø�ZÐ ð3
ð8 ˜Ÿ™¨Ð4Ø�V—]‘]Ð#Ø�6˜6Ð"Ø�FˆOØ�6ˆNð
ð ˜Ÿ™¨Ð1Ø�f—o‘o vÐ.Ø˜6Ÿ?™?Ð+ð
ð �K Ð(Ø�;ÐØ�T—]‘]Ð#Ø�ZÐ ð	
ñQ.�FrE   r   c                   óv  — e Zd ZdZdZg d¢Zg d¢ZdgZej                  ej                  z  Zdefdefd eej                   eeej                   «      fd	 eej                   ej                   «      fd
ej$                  dfdefgdefdedfdefdefdefdefdej*                  fdefdej.                  fdefg
dœZy)r    zo
    Lexer for configuration files following the Apache config file
    format.

    .. versionadded:: 0.6
    Ú
ApacheConf)Ú
apacheconfÚaconfÚapache)z	.htaccesszapache.confzapache2.confztext/x-apacheconfr4   z#(.*\\\n)+.*$|(#.*?)$z"(<[^\s>/][^\s>]*)(?:(\s+)(.*))?(>)z(</[^\s>]+)(>)z[a-z]\w*r6   z\.+z\\\nz\n+r7   z\\rv   ú\d+\.\d+\.\d+\.\d+(?:/\d+)?r¸   z/([*a-z0-9][*\w./-]+)z¢(on|off|none|any|all|double|email|dns|min|minimal|os|productonly|full|emerg|alert|crit|error|warn|notice|info|debug|registry|script|inetd|standalone|user|group)\bz"([^"\\]*(?:\\(.|\n)[^"\\]*)*)"z	[^\s"\\]+r8   N)rF   rG   rH   rI   rJ   rK   rL   rM   r]   r_   Ú
IGNORECASEr®   r   r   r   r   ÚTagr   rm   r   r   ÚOtherr   r°   rP   rQ   rE   rC   r    r    ”  s  „ ñð €DÚ/€GÚ<€IØ$Ð%€IØ�L‰L˜2Ÿ=™=Ñ(€Eð �ZÐ Ø% wÐ/Ø2Ù�d—h‘h 
¨F°D·H±HÓ=ð?àÙ�d—h‘h §¡Ó)ð+à˜$Ÿ,™,¨Ð0Ø�TˆNð	
ð �dˆOØ�Z Ð(Ø�DˆMØ˜*Ð%Ø+¨VÐ4Ø�VÐØ% v§|¡|Ð4ðð  'ð(ð 0°·±Ð?Ø˜4Ð ð
ñ�FrE   r    c                   ó¾  — e Zd ZdZdZdZg d¢ZdgZdgZe	j                  ZdZdZd	Zd
ZdZdZdZde› de› d�ZdZde› de› d�Zde› de› d�Ze› de› d�Zdefdedf eedd¬«      ef eedd¬«      ej:                  f eedd¬«      ef eedd¬«      ef eedd¬«      ef eedd¬«      efeej@                  fd efd!e!fgd"ejD                  d#fd$ed#f e#d#«      gd%œZ$y&)'r!   zI
    Lexer for squid configuration files.

    .. versionadded:: 0.9
    Ú	SquidConfzhttp://www.squid-cache.org/)Ú	squidconfú
squid.confÚsquidrÒ   ztext/x-squidconf)ºÚ
access_logÚaclÚalways_directÚannounce_hostÚannounce_periodÚannounce_portÚannounce_toÚanonymize_headersÚappend_domainÚas_whois_serverÚauth_param_basicÚauthenticate_childrenÚauthenticate_programÚauthenticate_ttlÚbroken_postsÚbuffered_logsÚcache_access_logÚcache_announceÚ	cache_dirÚcache_dns_programÚcache_effective_groupÚcache_effective_userÚ
cache_hostÚcache_host_aclÚcache_host_domainÚ	cache_logÚ	cache_memÚcache_mem_highÚcache_mem_lowÚ	cache_mgrÚcachemgr_passwdÚ
cache_peerÚcache_peer_accessÚcache_replacement_policyÚcache_stoplistÚcache_stoplist_patternÚcache_store_logÚ
cache_swapÚcache_swap_highÚcache_swap_logÚcache_swap_lowÚ	client_dbÚclient_lifetimeÚclient_netmaskÚconnect_timeoutÚcoredump_dirÚdead_peer_timeoutÚdebug_optionsÚdelay_accessÚdelay_classÚdelay_initial_bucket_levelÚdelay_parametersÚdelay_poolsÚ	deny_infoÚdns_childrenÚdns_defnamesÚdns_nameserversÚdns_testnamesÚemulate_httpd_logÚerr_html_textÚfake_user_agentÚfirewall_ipÚforwarded_forÚforward_snmpd_portÚfqdncache_sizeÚftpget_optionsÚftpget_programÚftp_list_widthÚftp_passiveÚftp_userÚhalf_closed_clientsÚheader_accessÚheader_replaceÚhierarchy_stoplistÚhigh_response_time_warningÚhigh_page_fault_warningÚ
hosts_fileÚ	htcp_portÚhttp_accessÚhttp_anonymizerÚhttpd_accelÚhttpd_accel_hostÚhttpd_accel_portÚhttpd_accel_uses_host_headerÚhttpd_accel_with_proxyÚ	http_portÚhttp_reply_accessÚ
icp_accessÚicp_hit_staleÚicp_portÚicp_query_timeoutÚident_lookupÚident_lookup_accessÚident_timeoutÚincoming_http_averageÚincoming_icp_averageÚinside_firewallÚipcache_highÚipcache_lowÚipcache_sizeÚlocal_domainÚlocal_ipÚlogfile_rotateÚlog_fqdnÚlog_icp_queriesÚlog_mime_hdrsÚmaximum_object_sizeÚmaximum_single_addr_triesÚmcast_groupsÚmcast_icp_query_timeoutÚmcast_miss_addrÚmcast_miss_encode_keyÚmcast_miss_portÚmemory_poolsÚmemory_pools_limitÚmemory_replacement_policyÚ
mime_tableÚmin_http_poll_cntÚmin_icp_poll_cntÚminimum_direct_hopsÚminimum_object_sizeÚminimum_retry_timeoutÚmiss_accessÚnegative_dns_ttlÚnegative_ttlÚneighbor_timeoutÚneighbor_type_domainÚ
netdb_highÚ	netdb_lowÚnetdb_ping_periodÚnetdb_ping_rateÚnever_directÚno_cacheÚpassthrough_proxyÚpconn_timeoutÚpid_filenameÚpinger_programÚpositive_dns_ttlÚprefer_directÚ
proxy_authÚproxy_auth_realmÚ
query_icmpÚquick_abortÚquick_abort_maxÚquick_abort_minÚquick_abort_pctÚrange_offset_limitÚread_timeoutÚredirect_childrenÚredirect_programÚredirect_rewrites_host_headerÚreference_ageÚrefresh_patternÚreload_into_imsÚrequest_body_max_sizeÚrequest_sizeÚrequest_timeoutÚshutdown_lifetimeÚsingle_parent_bypassÚsiteselect_timeoutÚsnmp_accessÚsnmp_incoming_addressÚ	snmp_portÚsource_pingÚ	ssl_proxyÚstore_avg_object_sizeÚstore_objects_per_bucketÚstrip_query_termsÚswap_level1_dirsÚswap_level2_dirsÚtcp_incoming_addressÚtcp_outgoing_addressÚtcp_recv_bufsizeÚtest_reachabilityÚudp_hit_objÚudp_hit_obj_sizeÚudp_incoming_addressÚudp_outgoing_addressÚunique_hostnameÚunlinkd_programÚuri_whitespaceÚuseragent_logÚvisible_hostnameÚ
wais_relayÚwais_relay_hostÚwais_relay_port)z
proxy-onlyÚweightÚttlzno-queryr   zround-robinzmulticast-responderÚonÚoffÚallÚdenyÚallowÚviaÚparentz	no-digestÚheapÚlruÚrealmÚchildrenÚq1Úq2ÚcredentialsttlÚnoneÚdisableÚoffline_toggleÚdiskd)ÚshutdownÚinfoÚ	parameterÚserver_listÚclient_listrÒ   )ÚobjectsÚ
vm_objectsÚutilizationÚipcacheÚ	fqdncacheÚdnsÚ
redirectorÚioÚreply_headersÚfiledescriptorsÚnetdb)ÚstatusÚenablerŸ  Úclear)Ú	url_regexÚurlpath_regexÚreferer_regexÚportÚprotoÚreq_mime_typeÚrep_mime_typeÚmethodÚbrowserÚuserÚsrcÚdstÚtimeÚ	dstdomainÚidentÚsnmp_communityz(\d+|0x[0-9a-f]+)ú(z(\.z){3})z([0-9a-f]{0,4})z(:z){1,7})ú|ú)z(/(z|\d+))?r4   ú#r“   r�   ©ÚprefixrŸ   zstats/zlog/ú=z(?:\b\d+\b(?:-\b\d+|%)?)r¢   z	\s*TAG:.*r7   rk   )r9   r“   N)%rF   rG   rH   rI   rJ   ra   rK   rL   rM   r]   rÌ   r®   ÚkeywordsÚoptsÚactionsÚactions_statsÚactions_logÚaclsÚ
ipv4_groupÚipv4Ú
ipv6_groupÚipv6Úbare_ipÚipr   r   r   r   r   ÚConstantr   r   rÄ   r   rw   r   rP   rQ   rE   rC   r!   r!   ¿  s‚  „ ñð €DØ
'€CÚ2€GØ�€IØ#Ð$€IØ�M‰M€Eð9€Hðv€Dð€Gð
€Mð
 ;€Kð€Dð &€JØ�
ˆ|˜3˜z˜l¨'Ð2€DØ#€JØ�
ˆ|˜2˜j˜\¨Ð3€DØ�4�&˜˜$˜˜qÐ!€Gð ˆI�S˜˜	 Ð	)€Bð �ZÐ Ø�7˜IÐ&Ù�8 E°%Ô8¸'ÐBÙ�4 ¨eÔ4°d·m±mÐDá�7 5°Ô7¸Ð@Ù�=¨¸5ÔAÀ6ÐJÙ�; w°tÔ<¸fÐEÙ�4 ¨eÔ4°gÐ>Ø�—‘ÐØ(¨&Ð1Ø�TˆNð
ð ˜6Ÿ=™=¨&Ð1Ø�G˜VÐ$Ù�F‹Oð
ñ�FrE   r!   c                   ó”  — e Zd ZdZdZdZdgZdgZdgZd e	e
ee«      fde
d	f ed
«      gdedfde
j                  d	f ed
«      gdedfdedf ed
«      gdej"                  fdej$                  fdej&                  fd e	eeej*                  «      fdefdej*                  fd e	eeej.                  «      fdefdefdefdefdefgdœZy)r"   zJ
    Lexer for Nginx configuration files.

    .. versionadded:: 0.11
    zNginx configuration filezhttp://nginx.net/Únginxz
nginx.confztext/x-nginx-confz(include)(\s+)([^\s;]+)z[^\s;#]+ÚstmtÚbaseú\}rŒ   ú\{Úblockú;r7   ú#.*\nzon|offz\$[^\s;#()]+z([a-z0-9.-]+)(:)([0-9]+)z[a-z-]+/[a-z-+]+z[0-9]+[km]?\bz(~)(\s*)([^\s{]+)z[:=~]z[^\s;#{}$]+z	/[^\s;#]*r4   z[$;])r9   rß  rÛ  rÜ  N)rF   rG   rH   rI   rJ   ra   rK   rL   rM   r   r   r   r   r   r   rb   r   rN   rØ  rn   r   r¯   r   ÚRegexr   rP   rQ   rE   rC   r"   r"   A  s6  „ ñð
 &€DØ
€CØˆi€GØ�€IØ$Ð%€Ið (©°'¸:ÀtÓ)LÐMØ˜' 6Ð*Ù�F‹Oð
ð �K Ð*Ø˜'×+Ñ+¨VÐ4Ù�F‹Oð
ð �K Ð)Ø�; Ð'Ù�F‹Oð
ð �w—~‘~Ð&Ø˜Ÿ™Ð&Ø˜dŸm™mÐ,Ø(Ù�d˜K¨¯©Ó8ð:à  &Ð)à˜vŸ~™~Ð.Ø!¡8¨K¸ÀVÇ\Á\Ó#RÐSØ�{Ð#Ø˜VÐ$Ø˜4Ð Ø�ZÐ Ø�dˆOð
ñ! �FrE   r"   c                   ó¬   — e Zd ZdZdZdZddgZdgZdgZdd	e	j                  fd
efdefdefdefdefdej                  fdefdej$                  fdefg
iZy)r#   zM
    Lexer for Lighttpd configuration files.

    .. versionadded:: 0.11
    zLighttpd configuration filezhttp://lighttpd.net/ÚlighttpdÚlightyzlighttpd.confztext/x-lighttpd-confr9   rá  z/\S*z[a-zA-Z._-]+rË   r¡   z=>|=~|\+=|==|=|\+z\$[A-Z]+z[(){}\[\],]z"([^"\\]*(?:\\.[^"\\]*)*)"r4   N)rF   rG   rH   rI   rJ   ra   rK   rL   rM   r   rN   r   r   r   r   rm   r   r   r°   r   rP   rQ   rE   rC   r#   r#   p  s™   „ ñð
 )€DØ
 €CØ˜8Ð$€GØ Ð!€IØ'Ð(€Ið 	Ø�w—~‘~Ð&Ø�dˆOØ˜gÐ&Ø+¨VÐ4Ø˜ÐØ! 8Ð,Ø˜$Ÿ,™,Ð'Ø˜[Ð)Ø*¨F¯M©MÐ:Ø�ZÐ ð
ð�FrE   r#   c                   ó¤  — e Zd ZdZdZdZddgZddgZdgZd	Z	d
Z
dZej                  ej                  z  Zddefd eeeeeeee«      fde›d� eee ee«      «      fde›de›d� eee ee«      «      fde›d� eee ee«       ee«      «      fde›de›d� eee ee«      «      fde	z   eeee«      fde
›d� eee«      fd ee«      fg	iZy)r$   zJ
    Lexer for Docker configuration files.

    .. versionadded:: 2.0
    ÚDockerzhttp://docker.ioÚdockerÚ
dockerfileÚ
Dockerfilez*.dockerztext/x-dockerfile-configz-(?:MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)z-(?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY)z(?:\s*\\?\s*)r9   ú#.*z1(FROM)([ \t]*)(\S*)([ \t]*)(?:(AS)([ \t]*)(\S*))?z(ONBUILD)(\s+)(rÇ  z(HEALTHCHECK)(\s+)((z	--\w+=\w+z)*)z#(VOLUME|ENTRYPOINT|CMD|SHELL)(\s+)(z
)(\[.*?\])z(LABEL|ENV|ARG)(\s+)((z\w+=\w+z(%s|VOLUME)\b(\s+)(.*)rÅ  z)(\s+)z(.*\\\n)*.+N)rF   rG   rH   rI   rJ   ra   rK   rL   rM   Ú	_keywordsÚ_bash_keywordsÚ_lbr]   rÌ   r_   r®   r   r   r   r   r   r	   r   r   rP   rQ   rE   rC   r$   r$   �  s9  „ ñð
 €DØ
€CØ˜Ð&€GØ˜zÐ*€IØ+Ð,€IàA€IØF€NØ
€CØ�M‰M˜BŸL™LÑ(€Eð 	Ø�WÐØAÙ�g˜z¨6°:¸wÈ
ÐTZÓ[ñ]â&)Ð+©X°g¸zÉ5ÐQZÓK[Ó-\Ñ]Ú8;ºSÐAÙ˜ *©e°IÓ.>Ó?ñAâCFÐHÙ˜ *©e°IÓ.>ÁÀiÓ@PÓQñSâ8;ºSÐAÙ˜ *©e°IÓ.>Ó?ðAà&¨)Ñ4±h¸wÈ
ÐTZÓ6[Ñ\Ú+Ð-©x¸ÀÓ/LÐMØ™U 9Ó-Ð.ð
ð�FrE   r$   c                   ód  — e Zd ZdZdZdZg d¢ZddgZddgZd	Z	d
j                  dj                  e	«      «      ZdZdZdZdZdZdZdZdZdZdZeez   ez   ez   ez   ez   ez   ez   ez   Zd
j                  dj                  e«      «      Zd„ Z ed«       ed«      d eej:                  «      f eddd¬«      ej@                  f eedd¬«      e!jD                  f ed«       ed«      de#fgd e$jJ                  d!fd"e$jL                  f ed«      d# ee'ejP                  e'e)e'e*«      fd$ ee'ejV                  e'e)e'«      fd% ee'e,j8                  j:                  e'e)e'«      fed&z    eejZ                  e*«      fd' ee*ejP                  e*«      fed(z    ee!j\                  e'ej^                  e'ej`                  e'e*«      fd)efg
d* eej`                  «      fd+ eej`                  «      fgd,e*fgd-e$jJ                  fd.e$jJ                  d/fd0e$jJ                  d1fd2e$jJ                  fgd3e'fd4e'fd5 ee1e'«      fgd6œZ2y7)8r%   zH
    Lexer for terraformi ``.tf`` files.

    .. versionadded:: 2.1
    Ú	Terraformzhttps://www.terraform.io/)Ú	terraformÚtfÚhclz*.tfz*.hclzapplication/x-tfzapplication/x-terraform)ÚbackendÚdataÚmoduleÚoutputÚproviderÚprovisionerÚresourceÚvariablez({})rÆ  )	r·   ÚnumberÚboolÚlistÚtupleÚmapÚsetÚobjectÚnull)	ÚabsÚceilÚfloorÚlogÚmaxÚmixÚparseintÚpowÚsignum)ÚchompÚformatÚ
formatlistÚindentÚjoinÚlowerÚregexÚregexallÚreplaceÚsplitÚstrrevÚsubstrÚtitleÚtrimÚ
trimprefixÚ
trimsuffixÚ	trimspaceÚupper)ÚalltrueÚanytrueÚ	chunklistÚcoalesceÚcoalescelistÚcompactÚconcatÚcontainsÚdistinctÚelementÚflattenÚindexÚkeysÚlengthrþ  Úlookupr   Ú	matchkeysÚmerger›   ÚreverseÚsetintersectionÚ
setproductÚsetsubtractÚsetunionÚsliceÚsortÚsumÚ	transposeÚvaluesÚzipmap)Úbase64decodeÚbase64encodeÚ
base64gzipÚ	csvdecodeÚ
jsondecodeÚ
jsonencodeÚtextdecodebase64Útextencodebase64Ú	urlencodeÚ
yamldecodeÚ
yamlencode)	ÚabspathÚdirnameÚ
pathexpandÚbasenameÚfileÚ
fileexistsÚfilesetÚ
filebase64Útemplatefile)Ú
formatdateÚtimeaddÚ	timestamp)Úbase64sha256Úbase64sha512ÚbcryptÚfilebase64sha256Úfilebase64sha512Úfilemd5Úfilesha1Ú
filesha256Ú
filesha512Úmd5Ú
rsadecryptÚsha1Úsha256Úsha512ÚuuidÚuuidv5)ÚcidrhostÚcidrnetmaskÚ
cidrsubnetÚcidrsubnets)	ÚcanÚdefaultsÚtoboolÚtolistÚtomapÚtonumberÚtosetÚtostringÚtryc              #   óh  K  — |j                  d«      }|t        |j                  d«      f–— |j                  d«      t        j                  |j                  d«      f–— |j                  d«      |_        |j                  d«      |_        |j
                  t        j                  |j                  d«      f–— |j                  «       |_        |j                  d«      }d}g }t        j                  |j                  |j
                  «      D ]×  }|r|j                  «       j                  «       }n|j                  «       j                  «       }||k(  r€|D ]3  }|j                  «       t        j                  |j                  «       f–— Œ5 |j                  «       t        j                  |j                  «       f–— |j                  «       |_         nA|j                  |«       ŒÙ |D ])  }|j                  «       t        |j                  «       f–— Œ+ t        |j                  «      |_        y ­w)Nr>   rz   r<   T)Ústartr   Úgroupr   Ú	DelimiterÚposÚendÚHeredocr
   ÚfinditerrA   ÚstripÚrstripÚappendr   Úlen)	ÚselfÚmatchÚctxrp  ÚhdnameÚtolerantÚlinesÚcheckÚamatchs	            rC   Úheredoc_callbackzTerraformLexer.heredoc_callbackí  s¤  è ø€ ð —‘˜A“ˆØ”X˜uŸ{™{¨1›~Ð-Ò-Ø�k‰k˜!‹nœf×.Ñ.°·±¸A³Ð>Ò>à—+‘+˜a“.ˆŒØ—)‘)˜A“,ˆŒØ�g‰g”v—~‘~ u§{¡{°1£~Ð5Ò5Ø—)‘)“+ˆŒà—‘˜Q“ˆØˆàˆä×%Ñ% c§h¡h°·±Ó8ò 	<ˆEÙØŸ™›×+Ñ+Ó-‘àŸ™›×,Ñ,Ó.�Ø˜ŠØ#ò I�FØ Ÿ,™,›.¬&¯.©.¸&¿,¹,».ÐHÓHðIà—k‘k“m¤V×%5Ñ%5°u·{±{³}ÐDÒDØŸ)™)›+�”Ùà—‘˜UÕ#ð	<ð  ò <�Ø—l‘l“n¤e¨V¯\©\«^Ð;Ó;ð<ä�c—h‘h“-ˆ�ùs   ‚H0H2ÚbasicÚ
whitespacez(".*"))ÚtrueÚfalser�   rÉ  Ú
identifierÚpunctuationr¡   z\s*/\*r“   z\s*(#|//).*\nz'(\s*)([0-9a-zA-Z-_]+)(\s*)(=?)(\s*)(\{)z"(\s*)([0-9a-zA-Z-_]+)(\s*)(=)(\s*)z(\s*)("\S+")(\s*)([=:])(\s*)z(\()z(\[)([a-z_,\s]+)(\])z8(\s+)("[0-9a-zA-Z-_]+")?(\s*)("[0-9a-zA-Z-_]+")(\s+)(\{)z(<<-?)\s*([a-zA-Z_]\w*)(.*?\n)z\b(var\.[0-9a-zA-Z-_\.\[\]]+)\bz.\b([0-9a-zA-Z-_\[\]]+\.[0-9a-zA-Z-_\.\[\]]+)\bz[\[\]()\{\},.?:!=]z[^*/]z/\*r½   z\*/r7   z[*/]rs   r4   ú(\\)(\n))r9   r„  rˆ  r‰  r“   r…  N)3rF   rG   rH   rI   rJ   ra   rK   rL   rM   Úclassesr  r  Ú
classes_reÚtypesÚnumeric_functionsÚstring_functionsÚcollection_functionsÚencoding_functionsÚfilesystem_functionsÚdate_time_functionsÚhash_crypto_functionsÚip_network_functionsÚtype_conversion_functionsÚbuiltinsÚbuiltins_rerƒ  r   r   r   r°   r   r   rØ  r   rÀ   r   r   Ú	MultilinerN   r   rm   r   r   rO   r   r¿   rÁ   rÂ   rn   r   rP   rQ   rE   rC   r%   r%   ±  s!  „ ñð €DØ
%€CÚ(€GØ˜Ð!€IØ#Ð%>Ð?€Ið6€Gà—‘ Ÿz™z¨'Ó2Ó3€JàY€Eð=ÐðÐðÐðWÐð[Ðð AÐð`Ðð TÐð!IÐð !Ð#3Ñ3Ð6JÑJÐM_Ñ_ØñØ2ñ3Ø5JñKØMañbà!ñ"€Hð —-‘- §
¡
¨8Ó 4Ó5€Kò# ñN �GÓÙ�LÓ!ð ™ §¡Ó/Ð0ñ Ð$¨U¸5ÔAÀ4Ç=Á=ÐQñ �5 ¨uÔ5°w·|±|ÐDá�LÓ!Ù�MÓ"Ø˜Ðð
ð$ ˜×)Ñ)¨9Ð5Ø˜wŸ~™~Ð.Ù�LÓ!ð 8Ù�j $§,¡,°
¸HÀjÐR]Ó^ð`ð 3Ù�j $§.¡.°*¸hÈ
ÓSðUð
 -Ù�j '§.¡.×"7Ñ"7¸ÀXÈzÓZð\ð ˜7Ñ"¡H¨T¯]©]¸KÓ$HÐIð %¡h¨{¸D¿L¹LÈ+Ó&VÐWð ÐUÑUÙ�g×&Ñ&¨
°D·J±JÀ
ÈDÏMÉMÐ[eÐgrÓsðuð /Ð0@ÐAð? 
ðD 0±¸$¿-¹-Ó1HÐIØ>Ù�d—m‘mÓ$ð&ð
ð # KÐ0ð
ð �w×(Ñ(Ð)Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð	
ð �JÐØ�ZÐ Ø™( 4¨Ó4Ð5ð
ñCF�FrE   r%   c            	       óþ   — e Zd ZdZdZdgZddgZg Zdefde	j                  dfdefgd	ed
fdedfdefde	j                  fgd eee«      fdedfd eee«      fdedfdefde	j$                  fgdefded
fdefdefgdœZy)r&   zm
    Lexer for termcap database source.

    This is very simple and minimal.

    .. versionadded:: 2.1
    ÚTermcapÚtermcapztermcap.srcú^#.*z
^[^\s#:|]+Únamesr4   rs   r7   ú:Údefsú\|z[^:|]+z(\\)(\n[ \t]*)z\n[ \t]*rŒ   ú(#)([0-9]+)rË  rõ  z	[^\s:=#]+z\\072z[^:\\]+r¼   ©r9   rž  r   rõ  N)rF   rG   rH   rI   rJ   rK   rL   rM   r   r   rÍ   r   r   rO   r   r   r   r   rÂ   r   rP   rQ   rE   rC   r&   r&   [  sô   „ ñð €DØˆk€GØ˜MÐ*€IØ€Ið �gÐØ˜DŸH™H gÐ.Ø�ZÐ ð
ð �J Ð'Ø�; Ð'Ø�KÐ Ø˜Ÿ™Ð'ð	
ð ¡¨¨zÓ :Ð;Ø˜* hÐ/Ø™X h°Ó7Ð8Ø�8˜VÐ$Ø�;ÐØ˜4Ÿ:™:Ð&ð
ð �wÐØ�; Ð'Ø˜Ð!Ø�7ˆOð	
ñ)�FrE   r&   c                   ó  — e Zd ZdZdZdgZddgZg Zdefde	j                  dfdefgd	ed
fd eee«      dfdefde	j                  fgdefd	edfd eee«      fdedfd eee«      fde	j"                  fgdefd eee«      d
fdefdefgdœZy)r'   zn
    Lexer for terminfo database source.

    This is very simple and minimal.

    .. versionadded:: 2.1
    ÚTerminfoÚterminfozterminfo.srcz^#.*$z
^[^\s#,|]+rž  r4   rs   r7   z(,)([ \t]*)r   r¡  z[^,|]+z\n[ \t]+rŒ   r¢  rË  rõ  z	[^\s,=#]+z\\[,\\]z[^\\,]+r¼   r£  N)rF   rG   rH   rI   rJ   rK   rL   rM   r   r   rÍ   r   r   r   rO   r   r   rÂ   r   rP   rQ   rE   rC   r'   r'   Š  s  „ ñð €DØˆl€GØ˜^Ð,€IØ€Ið �wÐØ˜DŸH™H gÐ.Ø�ZÐ ð
ð �J Ð'Ø™X k°:Ó>ÀÐGØ�KÐ Ø˜Ÿ™Ð'ð	
ð ˜*Ð%Ø�J Ð)Ø™X h°Ó7Ð8Ø�8˜VÐ$Ø™X k°:Ó>Ð?Ø˜4Ÿ:™:Ð&ð
ð ˜Ð!Ø™X k°:Ó>ÀÐGØ˜Ð!Ø�7ˆOð	
ñ)�FrE   r'   c            
       ó^  — e Zd ZdZdZdZdgZdgZg Zde	j                  fd eej                  e«      fd eej                  e«      d	f ed
«      defdefdefgdefdej*                  dfgdej*                  dfdej                  fg ed
«      de	j                  dfdedfdefdefdefgdœZy)r(   z€
    Lexer for pkg-config
    (see also `manual page <http://linux.die.net/man/1/pkg-config>`_).

    .. versionadded:: 2.1
    Ú	PkgConfigz4http://www.freedesktop.org/wiki/Software/pkg-config/Ú	pkgconfigz*.pcú#.*$z	^(\w+)(=)z^([\w.]+)(:)ÚspvalueÚinterpr4   z[^${}#=:\n.]+r¼   z\$\$z\$\{ÚcurlyrÝ  r7   r¹   rs   z[^${}#\n\s]+)r9   r¬  r­  r«  N)rF   rG   rH   rI   rJ   ra   rK   rL   rM   r   rN   r   r   rO   r   rÍ   r   r   r   r   r   rÅ   rP   rQ   rE   rC   r(   r(   ¹  s  „ ñð €DØ
@€CØˆm€GØ�€IØ€Ið �g—n‘nÐ%ð ™8 D§N¡N°HÓ=Ð>ð Ù�d—h‘h Ó,¨ið9ñ �HÓð �ZÐ Ø˜tÐ$Ø�4ˆLð!
ð( �dˆOð �f—o‘o wÐ/ð
ð �F—O‘O VÐ,Ø�T—^‘^Ð$ð
ñ
 �HÓà�g—n‘n fÐ-Ø�J Ð'ð �ZÐ Ø˜dÐ#Ø�4ˆLð

ñ=)�FrE   r(   c            
       óê   — e Zd ZdZdZdZdgZdgZg Zdde	j                  fd eeee«      fd	 eej                  ee«      fd
 eeej                  e«      f edd¬«      ej$                  fdefdefgiZy)r)   a[  
    Lexer for pacman.conf.

    Actually, IniLexer works almost fine for this format,
    but it yield error token. It is because pacman.conf has
    a form without assignment like:

        UseSyslog
        Color
        TotalDownload
        CheckSpace
        VerbosePkgLists

    These are flags to switch on.

    .. versionadded:: 2.1
    Ú
PacmanConfz3https://www.archlinux.org/pacman/pacman.conf.5.htmlÚ
pacmanconfzpacman.confr9   rª  z^(\s*)(\[.*?\])(\s*)$z(\w+)(\s*)(=)z^(\s*)(\w+)(\s*)$)z$repoz$archz%oz%ur�   rž   r4   r¼   N)rF   rG   rH   rI   rJ   ra   rK   rL   rM   r   rN   r   r   r   r   rO   r   r   rn   r   rP   rQ   rE   rC   r)   r)   ó  s½   „ ñð$ €DØ
?€CØˆn€GØ�€IØ€Ið 	à�g—n‘nÐ%ð &¡x°
¸GÀZÓ'PÐQð Ù�d—n‘n j°(Ó;ð=ð "Ù�j $§.¡.°*Ó=ð?ñ ð ð
  ô!ð �]‰]ðð �ZÐ Ø�4ˆLð7
ð�FrE   r)   c                   óâ  — e Zd ZdZdZdZdgZdgZd ee	j                  eej                  «      fd ee	j                  eej                  «      fd eej                  e«      fd	 eeej                  ee	j"                  e«      fd
ej&                  dfdefdefdej,                  dfdej.                  dfd eej                  eej                  «      fdej                  fdefgdej0                  fdej,                  fdej,                  dfgdej0                  fdej.                  fdej.                  dfgdej&                  fd
ej&                  dfdej&                  dfdej&                  fgdœZy)r*   z6
    Lexer for Augeas.

    .. versionadded:: 2.4
    ÚAugeaszhttp://augeas.netÚaugeasz*.augz(module)(\s*)([^\s=]+)z(let)(\s*)([^\s=]+)zV(del|store|value|counter|seq|key|label|autoload|incl|excl|transform|test|get|put)(\s+)z8(\()([^:]+)(\:)(unit|string|regexp|lens|tree|filter)(\))z\(\*r“   z[*+\-.;=?|]z
[()\[\]{}]r¶   r·   z\/r  z([A-Z]\w*)(\.)(\w+)r¼   r4   r»   z[^"]r7   z[^/]z[^*)]r½   z\*\)z[)*])r9   r·   r  r“   N)rF   rG   rH   rI   rJ   ra   rK   rL   r   r   rb   r   r   rÃ   rn   rm   r   rÀ   r   r™  r   r   r°   râ  rw   rP   rQ   rE   rC   r*   r*   -  sÎ  „ ñð
 €DØ
€CØˆj€GØ�	€Ið '©°×1BÑ1BÀJÐPT×P^ÑP^Ó(_Ð`Ø#¡X¨g×.AÑ.AÀ:ÈtÏ}É}Ó%]Ð^ØfÑhpÐqu×q}Ñq}ð  @Jó  iKð  LØHÉ(ÐS^Ð`d×`mÑ`mÐozð  }D÷  }Iñ  }Ið  KVó  KWð  XØ�g×'Ñ'¨Ð3Ø˜XÐ&Ø˜HÐ%Ø�6—=‘= (Ð+Ø�F—L‘L 'Ð*Ø#¡X¨d¯n©n¸kÈ4Ï=É=Ó%YÐZØ�4—=‘=Ð!Ø�ZÐ ð
ð �V—]‘]Ð#Ø�f—m‘mÐ$Ø�6—=‘= &Ð)ð
ð �V—]‘]Ð#Ø�f—l‘lÐ#Ø�F—L‘L &Ð)ð
ð �w×(Ñ(Ð)Ø�g×'Ñ'¨Ð1Ø�g×'Ñ'¨Ð0Ø�g×'Ñ'Ð(ð	
ñ3�FrE   r*   c                   ó°  — e Zd ZdZdZdgZg d¢ZdgZdZdZ	de	› d	�Z
d
efdej                  f ed«      d eee«      dfdedfgdefdej(                  dfdej                  dfdefgdefdej(                  dfdej                  dfdefdedfdefge
ej.                  dfe	ej.                  dfdej2                  dfdej2                  dfdej2                  dfdej4                  dfdej6                  dfdej8                  dfd ej:                  dfd!ej(                  d"fdej(                  d#fd$ej                  d%fdej                  d&fd'ej<                  dfd(ed)fd*ed+fgd
efdej                  fd,efd-edf ed«      gdef ed«      d eee«      dfd,efd.edfgdej(                  df ed/«      d0ej(                  fgd1ej                  dfgd!ej(                  dfd2 eej@                  e«      f ed/«      d0ej(                  fdej(                  fgd$ej                  dfd3ej                  fdej                  fgd4ej@                  fd5ej@                  fgd6œZ!y7)8r+   zX
    Lexer for TOML, a simple language for config files.

    .. versionadded:: 2.4
    ÚTOMLÚtoml)z*.tomlÚPipfilezpoetry.lockzapplication/tomlzhttps://toml.ioz\d\d:\d\d:\d\d(\.\d+)?zm(?x)
                  \d\d\d\d-\d\d-\d\d # date, e.g., 1988-10-27
                (
                  [Tt ] z™ # optional time
                  (
                    [Zz]|[+-]\d\d:\d\d # optional time offset
                  )?
                )?
              r4   rë  rt   z(=)(\s*)r6   z\[\[?ú	table-keyz[A-Za-z0-9_-]+r¶   úbasic-stringú'úliteral-stringz\.z\]\]?r7   ú[ \t]+z [+-]?\d[0-9_]*[eE][+-]?\d[0-9_]*z.[+-]?\d[0-9_]*\.\d[0-9_]*([eE][+-]?\d[0-9_]*)?z[+-]?(inf|nan)z
-?0b[01_]+z-?0o[0-7_]+z-?0x[0-9a-fA-F_]+z[+-]?[0-9_]+z""")r7   úmultiline-basic-string)r7   r¹  z''')r7   úmultiline-literal-string)r7   r»  z
true|falseú\[)r7   ÚarrayrÞ  )r7   úinline-tabler¾   ú\]rÝ  ru   z[^"\\]+z.*?'rŠ  z[^']+z#\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}r»   )r9   rt   r¸  r6   rÀ  rÁ  r¹  r»  r½  r¾  ru   N)"rF   rG   rH   rI   rJ   rK   rL   rM   ra   Ú_timeÚ	_datetimer   r   rN   r   r   r   r   r   r   r°   r   r   ÚDater   rÄ   ÚBinÚOctÚHexr¯   rØ  r   rw   rP   rQ   rE   rC   r+   r+   Z  sX  „ ñð €DØˆh€GÚ4€IØ#Ð$€IØ
€Cð
 &€Eðð ˜ð  ð€Ið* �ZÐ ð �W—^‘^Ð$ñ �E‹Nð ™( 8¨ZÓ8¸'ÐBð �w Ð,ð-
ð4  Ð%à�6—=‘= .Ð1Ø�6—=‘=Ð"2Ð3à�KÐ ð
ð  Ð(Ø�6—=‘= .Ð1Ø�6—=‘=Ð"2Ð3Ø�GÐØ�w Ð'ð ˜
Ð#ð
ð" ˜Ÿ™ fÐ-Ø�G—L‘L &Ð)ð 1°&·,±,ÀÐGØ>Ø�\‰\˜6ð#ð  §¡¨fÐ5ð ˜FŸJ™J¨Ð/Ø˜VŸZ™Z¨Ð0Ø! 6§:¡:¨vÐ6Ø˜fŸn™n¨fÐ5ð �V—]‘]Ð$FÐGØ�6—=‘=Ð":Ð;Ø�V—]‘]Ð$HÐIØ�6—=‘=Ð"<Ð=ð ˜G×,Ñ,¨fÐ5ð �KÐ!2Ð3ð �KÐ!9Ð:ðC"
ðL �ZÐ Ø�W—^‘^Ð$ð �;Ðð �K Ð(ñ �GÓð
ð$ ˜
Ð#ñ �E‹Nð ™( ;°
Ó;¸WÐEð �;Ðð �K Ð(ð
ð$ �6—=‘= &Ð)Ù�IÓØ˜Ÿ™Ð'ð
ð �f—m‘m VÐ,ð
ð �V—]‘] FÐ+Ø™( 6§=¡=°*Ó=Ð>Ù�IÓØ˜Ÿ™Ð'Ø�6—=‘=Ð!ð#
ð �V—]‘] FÐ+Ø�v—}‘}Ð%Ø�6—=‘=Ð!ð%
ð 4°V·]±]ÐCØ�V—]‘]Ð#ð
ñQL�FrE   r+   c                   ó>  — e Zd ZdZdZdZddgZdgZd ee	e
«      fd ee	e«      d	fd
 ee	e«      dfd ee	e«      fd ee	ee	ee	«      fd ee	e«      fd ee	ee	ee	«      fd ee	e«      fd ee	ee	ej                  e	«      fd ee	ej                  e«      fd ee	ej                  ee	ee	«      fg ed«      def ed«      defdedfdedfg ed«      dej                  fdedfdedfdedfg ed«      def ed«      dedfdedfg ed«      d ed	fd!edfgd"e	fgd#œZy$)%r,   z¥
    Lexer for *NextedText*, a human-friendly data format.

    .. versionadded:: 2.9

    .. versionchanged:: 2.16
        Added support for *NextedText* v3.0.
    Ú
NestedTextzhttps://nestedtext.orgÚ
nestedtextÚntz*.ntz^([ ]*)(#.*)$z^([ ]*)(\{)Úinline_dictz^([ ]*)(\[)Úinline_listz^([ ]*)(>)$z^([ ]*)(>)( )(.*?)([ \t]*)$z^([ ]*)(-)$z^([ ]*)(-)( )(.*?)([ \t]*)$z^([ ]*)(:)$z^([ ]*)(:)( )([^\n]*?)([ \t]*)$z^([ ]*)([^\{\[\s].*?)(:)$z)^([ ]*)([^\{\[\s].*?)(:)( )(.*?)([ \t]*)$r…  z[^\{\}\[\],\s]+Úinline_valuer¾   rÂ  r7   rs   z[^\{\}\[\],:\s]+rŸ  Úinline_dict_valuerÝ  rŒ   rÞ  r¿  r¼  )r9   rÎ  rÍ  rÐ  rÏ  r…  N)rF   rG   rH   rI   rJ   ra   rK   rL   r   r   r   r   r   r   rÍ   r   r   rP   rQ   rE   rC   r,   r,     s  „ ñð €DØ
"€CØ˜TÐ"€GØ�€Ið
 ™x¨
°GÓ<Ð=ð ™X j°+Ó>ÀÐNð ™X j°+Ó>ÀÐNð ™X j°+Ó>Ð?ð ,©X°jÀ+ÈzÐ[_ÐakÓ-lÐmð ™X j°+Ó>Ð?ð ,©X°jÀ+ÈzÐ[_ÐakÓ-lÐmð ™X j°+Ó>Ð?ð 0±¸*ÀkÐS]Ð_c×_gÑ_gÐisÓ1tÐuð *©8°JÀÇÁÈ+Ó+VÐWð :¹8ÀJÐPT×PXÑPXÐZeÐgqÐswð  zDó  <Eð  FðA!
ñF �LÓ!Ø Ð&Ù�NÓ#Ø�;ÐØ�K Ð(Ø�E˜6Ð"ð
ñ �LÓ!Ø  $§(¡(Ð+Ø�;Ð 3Ð4Ø�K Ð(Ø�E˜6Ð"ð
ñ �LÓ!Ø  $Ð'Ù�NÓ#Ø�; Ð'Ø�K Ð*ð
ñ �LÓ!Ø�K Ð/Ø�K Ð/ð
ð ˜
Ð#ð
ñ}A�FrE   r,   c                   ó$  — e Zd ZdZdZdZdgZddgZej                  ej                  z  ej                  z  ZdZdZdZe eej$                  e«      d	fe eej$                  e«      d	fe eeee«      fd
efdefdefdefgd ee«      dfgdœZd„ Zy)r-   zL
    Lexer for Singularity definition files.

    .. versionadded:: 2.6
    ÚSingularityzAhttps://www.sylabs.io/guides/3.0/user-guide/definition_files.htmlÚsingularityz*.defzS^(\s*)(bootstrap|from|osversion|mirrorurl|include|registry|namespace|includecmd)(:)zT^(%(?:pre|post|setup|environment|help|labels|test|runscript|files|startscript))(\s*)z6^(%app(?:install|help|run|labels|env|test|files))(\s*)Úscriptz	\s*#.*?\nz"\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))\br¼  z
(?!^\s*%).z(.+?(?=^\s*%))|(.*)r7   )r9   rÔ  c                 ó¶   — d}t        j                  d| t         j                  «      r|dz  }t        j                  t        j                  dd | «      r|dz  }|S )zlThis is a quite simple script file, but there are a few keywords
        which seem unique to this language.r   z&\b(?:osversion|includecmd|mirrorurl)\bg      à?r>   Ng\�Âõ(\ß?)r]   r^   rÌ   r-   Ú_section)rA   Úresults     rC   rD   zSingularityLexer.analyse_textv  sQ   € ð ˆÜ�9‰9Ð>ÀÄbÇmÁmÔTØ�c‰MˆFä�9‰9Ô%×.Ñ.¨q¨rÐ2°DÔ9Ø�d‰NˆFàˆrE   N)rF   rG   rH   rI   rJ   ra   rK   rL   r]   rÌ   r_   ÚDOTALLr®   Ú_headersrÖ  Ú_appsectr   r   ÚHeadingr   r   r   r   r   r	   r   rP   rD   rQ   rE   rC   r-   r-   V  sÒ   „ ñð €DØ
M€CØˆo€GØ˜-Ð(€IØ�M‰M˜BŸL™LÑ(¨2¯9©9Ñ4€Eàe€HØf€HØH€Hð ‘x §¡°Ó<¸hÐGØ‘x §¡°Ó<¸hÐGØ‘x 
¨G°TÓ:Ð;Ø˜7Ð#Ø2°FÐ;Ø˜
Ð#Ø˜DÐ!ð
ð $¡U¨9Ó%5°vÐ>ð
ñ€Fó
rE   r-   c                   óL   — e Zd ZdZdZddgZg Zddefdefde	fd	e
fd
efdefgiZy)r.   z¬
    Lexer for Unix/Linux config files using colon-separated values, e.g.

    * ``/etc/group``
    * ``/etc/passwd``
    * ``/etc/shadow``

    .. versionadded:: 2.12
    zUnix/Linux config filesÚ
unixconfigÚlinuxconfigr9   r�  rs   rŸ  r¡   z"((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}z[^:\n]+N)rF   rG   rH   rI   rJ   rK   rL   r   r   r   r   r   r   rP   rQ   rE   rC   r.   r.   ƒ  s^   „ ñð %€DØ˜]Ð+€GØ€Ið 	Ø�gÐØ�JÐØ�;ÐØ˜ÐØ2°DÐ9Ø˜Ð ð
ð	�FrE   r.   )4rI   r]   Úpygments.lexerr   r   r   r   r   r   r	   r
   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   r   r   Úpygments.lexers.shellr   Úpygments.lexers.datar   Ú__all__r   r   r   r   r   r�   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   rQ   rE   rC   ú<module>rä     sl  ðñó 
÷&÷ &ó &÷=÷ =÷ =ó =å +Ý *òE€ô(ˆzô (ôV�:ô ô<*�:ô *ôZ(:�:ô (:ôV5�jô 5òpQô(J�:ô JôZ;�Zô ;ô|(�jô (ôV�Zô ôD,�Zô ,ô^˜
ô ô:!�*ô !ôHgÐ'ô gôT,�:ô ,ô^,�Jô ,ô^7�Zô 7ôt7�jô 7ôt*�*ô *ôZg�
ô gôRP�jô Pôf*�zô *ôZ�jõ rE   