K izdZddlZddlmZmZmZmZmZmZm Z m Z ddl m Z m Z mZmZmZmZmZmZmZmZmZmZddlmZddlmZgdZGdd eZGd d eZGd d eZGddeZ GddeZ!dZ"GddeZ#GddeZ$GddeZ%GddeZ&GddeZ'GddeZ(Gdd eZ)Gd!d"eZ*Gd#d$eZ+Gd%d&eZ,Gd'd(eZ-Gd)d*eZ.Gd+d,eZ/Gd-d.eZ0Gd/d0eZ1Gd1d2eZ2Gd3d4eZ3y)5z pygments.lexers.configs ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for configuration file formats. :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)ExtendedRegexLexer RegexLexerdefaultwordsbygroupsincludeusingline_re) TextCommentOperatorKeywordNameStringNumber Punctuation WhitespaceLiteralErrorGeneric) BashLexer) JsonLexer)IniLexer SystemdLexer DesktopLexer RegeditLexerPropertiesLexer KconfigLexerCfengine3LexerApacheConfLexerSquidConfLexerNginxConfLexerLighttpdConfLexer DockerLexerTerraformLexer TermcapLexer TerminfoLexerPkgConfigLexerPacmanConfLexer AugeasLexer TOMLLexerNestedTextLexerSingularityLexerUnixConfigLexerceZdZdZdZgdZgdZddgZdZdZ d e fd e jfd e ee fd e ej e ee ed fde ej e ee eee dfde ej e ee efdej fgde eee dfd e jfdedfgd e fde e eee fdedfgdZdZy)rz5 Lexer for configuration files in INI style. INI)inicfgdosini)z*.iniz*.cfgz*.infz .editorconfigz text/x-iniztext/infz&https://en.wikipedia.org/wiki/INI_file\s+[;#].*z(\[.*?\])([ \t]*)$z!(.*?)([ \t]*)([=:])([ \t]*)(["']) quoted_valuez.(.*?)([ \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)valuez6(.*?)([ \t]*)([=:])([ \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)z(.+?)$z([^"'\n]*)(["'])(\s*)#pop$z(\s*)(.*)(\\)([ \t]*)z.*$)rootr7r8cZ|jd}|dkry|ddk(r ||dz dk(ryy) N Fr[]g?)find)textnposs ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pygments/lexers/configs.py analyse_textzIniLexer.analyse_textIs9yy !8 7c>d46lc1N)__name__ __module__ __qualname____doc__namealiases filenames mimetypesurl version_addedrr Singlerrr Attributer rr tokensrFrGrErrs= D&GIz*I 2CMZ  ' "HWj$A B 5 dnnj(J O  ? dnnj(JJ(  G dnnj(J O Q ' "* ffj 16 ;  ' 66 "  Z % j&$ ; = VV $  /F>rGrceZdZdZdZdZdgZdgZdgZdZ dd e fd e e je fd e ee fd e ej ej"e ee ee fgiZd Zy)rz# Lexer for .desktop files. z Desktop filezXhttps://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.htmldesktopz *.desktopzapplication/x-desktop2.16r; ^[ \t]*\nz ^(#.*)(\n)(\[[^\]\n]+\])(\n)zG([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)cz|jdrytjd|ddtjyy)Nz[Desktop Entry]?z^\[Desktop Entry\][ \t]*$? startswithresearch MULTILINErCs rErFzDesktopLexer.analyse_texths6 ??, - 9914:r|| L XrGN)rHrIrJrKrLrPrMrNrOrQrrr rRrrrS Namespacer rrTrFrUrGrErrRs D dCkG I()IM  : & HW^^Z@ A "HWj$A B W dnndnnj(JX^`j k m  FrGrc 8eZdZdZdZdZdgZgdZdZde fde e je fd e e e fd e eje ee eee d fd e eje ee ee fgde e je fd e e eee fde e ee dfgdZdZy)rz' Lexer for systemd unit files. SystemdzDhttps://www.freedesktop.org/software/systemd/man/systemd.syntax.htmlsystemd) z *.servicez*.socketz*.devicez*.mountz *.automountz*.swapz*.targetz*.pathz*.timerz*.slicez*.scoperXrYz ^([;#].*)(\n)rZz*([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)r8z&([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)z([ \t]*)([^\n]*)(\\)(\n)z([ \t]*)([^\n]*)(\n)r9r;r8cz|jdrytjd|ddtjyy)Nz[Unit]r\z^\[Unit\][ \t]*$r]r^r_r`res rErFzSystemdLexer.analyse_texts5 ??8 $ 99($t*bll C OrGN)rHrIrJrKrLrPrMrNrQrrr rRrrrSr rr rTrFrUrGrErrps D PCkGIM: & x C D "HWj$A B : dnnj(JJ(  7 dnnj(JPZ [ ]  x C D ( j&$ ; = $ j&* 5v ?  F,rGrc 6eZdZdZdZdZdgZdgZdgZdZ de fd e fd e jfd eeeej$efd eej&e ee d fdeej&e ee d fgdedfdeej(eedfdedfedgdZdZy)rz? Lexer for Windows Registry files produced by regedit. regz8http://en.wikipedia.org/wiki/Windows_Registry#.REG_filesregistryz*.regztext/x-windows-registry1.6zWindows Registry Editor.*r5r6z(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$z)("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)r8z(.*?)([ \t]*)(=)([ \t]*)-r9z1(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+).+rjc$|jdS)NzWindows Registry Editor)rares rErFzRegeditLexer.analyse_texts899rGN)rHrIrJrKrLrPrMrNrOrQr rr rRrrr rBuiltinrSVariablerrrrrTrFrUrGrErrs D DClG I*+IM*4 0 Z  ' . gxw ? A: dnnj(J G  ) dnnj(J G   8V $ A dmm[& 96 CFF # FO  !F4:rGrc eZdZdZdZddgZdgZdgZdZdZ d e jfd e fd e fe d gd ejfeddee ee dfde dfd e dfgdefedd e dfgdeej(e fdej(fgdZy)rz Lexer for configuration files in Java's properties format. Note: trailing whitespace counts as part of the value as per spec Properties properties jpropertiesz *.propertiesztext/x-java-propertiesz)https://en.wikipedia.org/wiki/.propertiesz1.4z [!#].*|/{2}.*\nz ^[^\S\n]+keyz [^\\:=\s]+escapesz([^\S\n]*)([:=])([^\S\n]*))r9r8[^\S\n]+r9z[^\\\n]+z(\\\n)([^\S\n]*)z\\(.|\n))r;rzr8r{N)rHrIrJrKrLrMrNrOrPrQr rRrrrrSrrr rEscaperTrUrGrErrs D]+G I)*I 5CM w~~ . J  : & EN  DNN + I + j(J 7  *&7 8 J '  & ! I  J '  !(6==*"E F &-- (  C'FrGrcZd}|dk(rd}nd|dz z}|dk(rd}nd|d}d |d |d |d S) N+z{1,%d}r@r4{}z(?:\t| z\t| {z})z.*\nrU)level tab_width space_repeat level_repeats rE _rx_indentrsY IA~ 9q=1  z E7"~ l^6)C ~T JJrGc eZdZdZdZgdZdZgdZdgZdZ dZ d Z d Z d e fd ejfed defdedfdej&fdefdefdej.fdejfdej2fdefg defe de de de de de de d ed!g e de de de de de de d d" Zy#)$rz( For Linux-style Kconfig files. Kconfig)kconfig menuconfigz linux-configz kernel-configro)zKconfig*z *Config.in*z external.in*zstandard-modules.inztext/x-kconfigzChttps://www.kernel.org/doc/html/latest/kbuild/kconfig-language.htmlrc@t|tjd|fS)Nindent)rrDocrs rE call_indentzKconfigLexer.call_indent#s5!6::w/?@@rGc\t|tjfdtft dgS)N\s*\n#pop:2)rrrr rrs rE do_indentzKconfigLexer.do_indent's/  + t  H   rGr5#.*?\n)mainmenuconfigrchoice endchoicecommentmenuendmenuz visible ififendifsourcepromptselectz depends onrrangeoption\bsuffixz(---help---|help)[\t ]*\nhelpz;(bool|tristate|string|hex|int|defconfig_list|modules|env)\bz[!=&|]z[()][0-9]+z '(''|[^'])*'z "(""|[^"])*"\S+rr>rr@r9) r;rindent7indent6indent5indent4indent3indent2indent1N)rHrIrJrKrLrMrQrNrOrPflagsrrrr rRrrrrsr rrIntegerrDoubler rrTrUrGrErrsO DHGM(I!"I OC EA Z  ' #,1 2    *7F ; K \\   ! k "  ' fmm , fmm , TN# .t  N N N N N N N FO Q<Q<Q<Q<Q<Q<Q)(\s*)z(\S+)(\s*)(=>)(\s*)"stringz (\w+)(\()z([\w.!&|()]+)(::)z(\w+)(:)z@[{(][^)}]+[})]z[(){},;]z=>z->z\d+\.\d+\d+\w+r5z\$[{(]interpol\\.r9ry.#pushz[})]z [^${()}]+z\),)r;rrrN)rHrIrJrKrLrPrMrNrOrQr rrrrFunctionrrtTyper Reservedr rClass DeclarationrFloatrInterpolr}rTrUrGrErr`s D CE"GIIM . gz7J H J 5 gz7J { [  2 gz7J N P G k4==+ ',, HjR S$ g&& Hd C E 68 $ 8DMM;? @ !8DJJ #D E (7#6#6 D E  / + & H  H  &,, ' V^^ $ T]] # Z 3 8 4 V]] # 66 " FO 6N   1 foov . 6?? + K ( ;  T]] # Z  Q.FrGrc ~eZdZdZdZgdZgdZdgZdZdZ e je jzZ defd efd eej$eeej$fd eej$ej$fd ej(d fdefgdefdedfdefdefdefdefdej.fdefdej2fdefg dZy)r zT Lexer for configuration files following the Apache config file format. ApacheConf) apacheconfaconfapache)z .htaccessz apache.confz apache2.confztext/x-apacheconfz6https://httpd.apache.org/docs/current/configuring.htmlz0.6r5z#(.*\\\n)+.*$|(#.*?)$z"(<[^\s>/][^\s>]*)(?:(\s+)(.*))?(>)z(]+)(>)z[a-z]\w*r8z\.+z\\\nz\n+r9z\\r|\d+\.\d+\.\d+\.\d+(?:/\d+)?rz/([*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"\\]+rjN)rHrIrJrKrLrMrNrOrPrQrbrd IGNORECASErrr rrTagrrsr rOtherrrrTrUrGrEr r s D/G   (& 1 TN  6==& 1 GV $ FO FrGr!ceZdZdZdZdZdgZdgZdgZdZ de e e e fd e d fed gd ed fd e j d fed gdedfdedfed gdej$fde j&fde j(fde e eej,fdefdej,fde ee ej0fdefdefde fde fdefg dZy) r"z. Lexer for Nginx configuration files. zNginx configuration filezhttp://nginx.net/nginxz nginx.confztext/x-nginx-conf0.11z(include)(\s+)([^\s;]+)z[^\s;#]+stmtbase\}r\{block;r9#.*\nzon|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;#]*r5z[$;])r;rrrN)rHrIrJrKrLrPrMrNrOrQrrrrrrrfr rRrrtrrrRegexr rTrUrGrEr"r"Is; &D CiGI$%IM(':t)L M '6 * FO K * '++V 4 FO K ) ; ' FO w~~ &  & dmm , ( dK 8 : & ) v~~ . !8KV\\#R S { # V $ 4 Z dO ! FrGr"c eZdZdZdZdZddgZdgZdgZdZ d d e jfd e fd e fd efdefdefde j fdefdej&fdefg iZy)r#z1 Lexer for Lighttpd configuration files. zLighttpd configuration filezhttp://lighttpd.net/lighttpdlightyz lighttpd.confztext/x-lighttpd-confrr;rz/\S*z [a-zA-Z._-]+rrz=>|=~|\+=|==|=|\+z\$[A-Z]+z [(){}\[\],]z"([^"\\]*(?:\\.[^"\\]*)*)"r5N)rHrIrJrKrLrPrMrNrOrQr rRrrrr rsrrrrrTrUrGrEr#r#ws )D C8$G !I'(IM  w~~ & dO g & +V 4   !8 , $,, ' [ ) *FMM : Z   FrGr#ceZdZdZdZdZddgZddgZdgZd Z d Z d Z d Z e je jzZd defdeeeeeeeefde deeeeefde de deeeeefde deeeeeeefde de deeeeefde deeeefde deeefdeefg iZy)r$z/ Lexer for Docker configuration files. Dockerzhttp://docker.iodocker dockerfile Dockerfilez*.dockerztext/x-dockerfile-configz2.0z-(?:MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)z-(?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY)z (?:\s*\\?\s*)r;#.*z1(FROM)([ \t]*)(\S*)([ \t]*)(?:(AS)([ \t]*)(\S*))?z(ONBUILD)(\s+)(rz(HEALTHCHECK)(\s+)((z --\w+=\w+z)*)z#(VOLUME|ENTRYPOINT|CMD|SHELL)(\s+)(z )(\[.*?\])z(LABEL|ENV|ARG)(\s+)((z\w+=\w+rz|VOLUME)\b(\s+)(.*)z)(\s+)z (.*\\\n)*.+N)rHrIrJrKrLrPrMrNrOrQ _keywords_bash_keywords_lbrbrrdrr rrrrr rrrTrUrGrEr$r$si D C&Gz*I+,IMAIFN C MMBLL (E  W  A gz6:w TZ [ ]uA &*eIFV(W X$SE3%s ;*eI.>? A3C5 C*eI.>i@PQ S&se73%s ;*eI.>? A)/ 0(7JPV2W X.! ((7J*G H U9- . FrGr$cheZdZdZdZdZgdZddgZddgZd Z d Z d jd je Z d ZdZdZdZdZdZdZdZdZdZeezezezezezezezezZd jd jeZdZededdeej<feddde jBfeedde"jFfededd e$fgd!e%jLd"fd#e%jNfedd$ee(e jRe(e*e(e+fd%ee(e jXe(e*e(fd&ee(e-j:j<e(e*e(fed'zee j\e+fd(ee+e jRe+fe d)zee"j^e(e j`e(e jbe(e+fd*efg d+ee jbfd,ee jbfgd-e+fgd.e%jLfd/e%jLd0fd1e%jLd2fd3e%jLfgd4e(fd5e(fd6ee2e(fgd7Z3y8)9r%z- Lexer for terraformi ``.tf`` files. Terraformzhttps://www.terraform.io/) terraformtfhclz*.tfz*.hclzapplication/x-tfzapplication/x-terraform2.1)backenddatamoduleoutputprovider provisionerresourcevariablez({})r) rnumberboollisttuplemapsetobjectnull) absceilfloorlogmaxmixparseintpowsignum)chompformat formatlistrjoinlowerregexregexallreplacesplitstrrevsubstrtitletrim trimprefix trimsuffix trimspaceupper)alltrueanytrue chunklistcoalesce coalescelistcompactconcatcontainsdistinctelementflattenindexkeyslengthrlookupr  matchkeysmergerreversesetintersection setproduct setsubtractsetunionslicesortsum transposevalueszipmap) base64decode base64encode base64gzip csvdecode jsondecode jsonencodetextdecodebase64textencodebase64 urlencode yamldecode yamlencode) abspathdirname pathexpandbasenamefile fileexistsfileset filebase64 templatefile) formatdatetimeadd timestamp) base64sha256 base64sha512bcryptfilebase64sha256filebase64sha512filemd5filesha1 filesha256 filesha512md5 rsadecryptsha1sha256sha512uuiduuidv5)cidrhost cidrnetmask cidrsubnet cidrsubnets) candefaultstobooltolisttomaptonumbertosettostringtryc#hK|jd}|t|jdf|jdtj|jdf|jd|_|j d|_|j tj|jdf|j |_|jd}d}g}tj|j|j D]}|r|jj}n|jj}||k(r|D]3}|jtj|jf5|jtj|jf|j |_nA|j||D])}|jt|jf+t|j|_yw)Nr@rr>T)startr groupr DelimiterposendHeredocr finditerrCstriprstripappendrlen) selfmatchctxryhdnametolerantlinescheckamatchs rEheredoc_callbackzTerraformLexer.heredoc_callbacks AXu{{1~--kk!nf.. A>>++a.))A,ggv~~u{{1~55))+Q%%chh8 ?IM6Gzz'23J YE= W[A`T!I!#336JJM__235JKMab!"H-- 8 45K# N G  L !/ 0$U5 A4== Q5u 5w|| D L ! M "   $))9 5 w~~ . L !8 j$,, HjR] ^ `3 j$..*h S U - j'.."7"7Xz Z \7 "HT]]K$H I%h{DLL+&V WU U g&& DJJ DMM[egr s u/0@ A?  D0$--1H I > dmm $ & #K 0 w(( ) W&& 0 W&& / g'' (  J  Z (44 5 CFFrGr%c eZdZdZdZdgZddgZgZdZdZ de fde jd fd e fgd e d fd edfdefde jfgdeee fde dfdeeefdedfd efde j(fgdefd ed fdefdefgdZy)r&zR Lexer for termcap database source. This is very simple and minimal. Termcaptermcapz termcap.srcz%https://en.wikipedia.org/wiki/Termcapr^#.*z ^[^\s#:|]+namesr5ryr9:defs\|z[^:|]+z(\\)(\n[ \t]*)z\n[ \t]*r (#)([0-9]+)rrz [^\s:=#]+z\\072z[^:\\]+rr;rrrN)rHrIrJrKrLrMrNrOrPrQr rrrrrSrr r rrrrTrUrGrEr&r&_s DkGM*II 1CMg  DHHg . Z  J ' ; ' K  '  z : ; *h / Xh7 8 8V $ ;  4:: &  w  ; '  ! 7O  )FrGr&c "eZdZdZdZdgZddgZgZdZdZ de fde jd fd e fgd e d fd eee dfdefde j fgde fd e dfdeeefdedfd eee fde j&fgdefd eee d fdefdefgdZy)r'zS Lexer for terminfo database source. This is very simple and minimal. Terminfoterminfoz terminfo.srcz&https://en.wikipedia.org/wiki/Terminforz^#.*$z ^[^\s#,|]+rr5ryr9z (,)([ \t]*)rrz[^,|]+z\n[ \t]+rrrrz [^\s,=#]+z\\[,\\]z[^\\,]+rrN)rHrIrJrKrLrMrNrOrPrQr rrrrrrSr rrrrTrUrGrEr'r's  DlG^,II 2CMw  DHHg . Z  J ' Xk:> G K  '  * % J ) Xh7 8 8V $ Xk:> ? 4:: &   ! Xk:> G  ! 7O  )FrGr'c beZdZdZdZdZdgZdgZgZdZ de jfde e jefd e e j ed fed d efd efdefgdefdej,dfgdej,dfde jfged de jdfdedfd efdefdefgdZy)r(ze Lexer for pkg-config (see also `manual page `_). PkgConfigz4http://www.freedesktop.org/wiki/Software/pkg-config/ pkgconfigz*.pcr#.*$z ^(\w+)(=)z ^([\w.]+)(:)spvalueinterpr5z [^${}#=:\n.]+rz\$\$z\$\{curlyrr9rryz [^${}#\n\s]+)r;rrrN)rHrIrJrKrLrPrMrNrOrQr rRrrrSr rrrrr rrrTrUrGrEr(r(s D @CmGIIMgnn %8DNNH= > dhh ,i 9 H Z t $ 4L! (dOfoow /  FOOV , T^^ $ H  gnnf - J 'Z d # 4L  =)FrGr(c eZdZdZdZdZdgZdgZgZdZ dde jfd e e ee fd e ej e efd e e ej e fed d ej&fde fdefgiZy)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. PacmanConfz3https://www.archlinux.org/pacman/pacman.conf.5.html pacmanconfz pacman.confrr;rz^(\s*)(\[.*?\])(\s*)$z (\w+)(\s*)(=)z^(\s*)(\w+)(\s*)$)z$repoz$archz%oz%urrr5rN)rHrIrJrKrLrPrMrNrOrQr rRrrrrrSr rrtr rTrUrGrEr)r)s D ?CnGIIM  gnn %&x GZ'P Q dnnj( ; =" j$..* = ?  ! ]]  Z 4L7 FrGr)ceZdZdZdZdZdgZdgZdZde e je e jfde e je e jfd e e j e fd e ee jee j$efd ej(d fd efdefdej.dfdej0dfde e jee jfde jfde fg dej2fdej.fdej.dfgdej2fdej0fdej0dfgdej(fd ej(dfdej(dfdej(fgdZy) r*z Lexer for Augeas. Augeaszhttp://augeas.netaugeasz*.aug2.4z(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\(\*rz [*+\-.;=?|]z [()\[\]{}]rrz\/rz([A-Z]\w*)(\.)(\w+)rr5rz[^"]r9z[^/]z[^*)]rz\*\)z[)*])r;rrrN)rHrIrJrKrLrPrMrNrQrrrfrrrrtrsrrr rr rrrr}rTrUrGrEr*r*/s D CjG IM'1B1BJPTP^P^(_ ` #Xg.A.A:t}}%] ^ fhpquq}q}@JiK L H(S^`d`m`moz}D}I}IKVKW X g'' 3 X & H % 6==( + FLL' * #Xdnnk4==%Y Z 4== ! Z   V]] # fmm $ 6==& ) V]] # fll # FLL& ) w(( ) g'' 1 g'' 0 g'' (  3FrGr*ceZdZdZdZdgZgdZdgZdZdZ dZ d e d Z d e fd e jfed deee dfdedfgdefdej*dfdejdfdefgdefdej*dfdejdfdefdedfde fge ej0dfe ej0dfdej4dfdej4dfdej4dfdej6dfdej8dfd ej:dfd!ej<dfd"ej*d#fdej*d$fd%ejd&fdejd'fd(ej>dfd)ed*fd+ed,fgd e fd e jfd-efd.edfe dgde fed deee dfd-efd/edfgdej*dfed0d1ej*fgd2ejdfgd"ej*dfd3eejBe fed0d1ej*fdej*fgd%ejdfd4ejfdejfgd5ejBfd6ejBfgd7 Z"y8)9r+z= Lexer for TOML, a simple language for config files. TOMLtoml)z*.tomlPipfilez poetry.lockzapplication/tomlzhttps://toml.iorz\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 )? )? r5rrzz(=)(\s*)r8z\[\[? table-keyz[A-Za-z0-9_-]+r basic-string'literal-stringz\.z\]\]?r9[ \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""")r9multiline-basic-string)r9rz''')r9multiline-literal-string)r9rz true|false\[)r9arrayr)r9 inline-tabler\]rr{z[^"\\]+z.*?'rz[^']+z#\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}r) r;rzrr8rrrrrrr{N)#rHrIrJrKrLrMrNrOrPrQ_time _datetimerr rRrrr rrrrrrDaterrBinOctHexrrrr}rTrUrGrEr+r+[s] DhG4I#$I CM &E I*Z W^^ $ EN(8Z8' Bw ,- 4 % 6==. 1 6=="2 3 K   ( 6==. 1 6=="2 3 G  w ' # " f - GLL& )1&,, G > \\6 # f 5FJJ / VZZ 0 !6::v 6 fnnf 5V]]$F G 6==": ; V]]$H I 6=="< =G,,f 5K!2 3K!9 :C" LZ W^^ $; K ( G  $ # EN(; ;W E; K ( $6==& ) I   ' fmmV , V]]F + (6==*= > I   ' 6== ! # V]]F + v}} % 6== !% 4V]] C V]] # QLFrGr+cBeZdZdZdZdZddgZdgZdZde e e fd e e e d fd e e e d fd e e e fde e e e e e fde e e fde e e e e e fde e e fde e e e eje fde e eje fde e eje e e e fg edde fedde fde dfdedfgeddejfde dfde dfdedfgedde fedde dfde d fgedd!e d fd"e d fgd#e fgd$Zy%)&r,z Lexer for *NextedText*, a human-friendly data format. .. versionchanged:: 2.16 Added support for *NextedText* v3.0. NestedTextzhttps://nestedtext.org nestedtextntz*.ntz2.9z ^([ ]*)(#.*)$z ^([ ]*)(\{) inline_dictz ^([ ]*)(\[) inline_listz ^([ ]*)(>)$z^([ ]*)(>)( )(.*?)([ \t]*)$z ^([ ]*)(-)$z^([ ]*)(-)( )(.*?)([ \t]*)$z ^([ ]*)(:)$z^([ ]*)(:)( )([^\n]*?)([ \t]*)$z^([ ]*)([^\{\[\s].*?)(:)$z)^([ ]*)([^\{\[\s].*?)(:)( )(.*?)([ \t]*)$rz[^\{\}\[\],\s]+ inline_valuerrr9ryz[^\{\}\[\],:\s]+rinline_dict_valuerrrrr)r;rrrrrN)rHrIrJrKrLrPrMrNrQrrr rr rrrrrTrUrGrEr,r,s D "CT"GIM x G< =Xj+> NXj+> NXj+> ?,Xj+z[_ak-l mXj+> ?,Xj+z[_ak-l mXj+> ?0*kS]_c_g_gis1t u*8J++V W:8JPTPXPXZegqswzDbmm T cMF 99%..qr2D 9 dNF rGN)rHrIrJrKrLrPrMrNrQrbrrdDOTALLr_headersr_appsectrrHeadingrrr r rr rrTrFrUrGrEr-r-Us D MCoG-(IM MMBLL (299 4EeHfHHHx  F rGr-cTeZdZdZdZddgZgZdZdZdde fd e fd e fd e fd e fd efgiZy)r.z Lexer for Unix/Linux config files using colon-separated values, e.g. * ``/etc/group`` * ``/etc/passwd`` * ``/etc/shadow`` zUnix/Linux config files unixconfig linuxconfigzUhttps://en.wikipedia.org/wiki/Configuration_file#Unix_and_Unix-like_operating_systemsz2.12r;rryrrz"((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}z[^:\n]+N)rHrIrJrKrLrMrNrPrQr rrrr rrTrUrGrEr.r.sh %D]+GI aCM  g  J  ;    2D 9    FrGr.)4rKrbpygments.lexerrrrrrrr r pygments.tokenr r r rrrrrrrrrpygments.lexers.shellrpygments.lexers.datar__all__rrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.rUrGrErsl &&&====+* E3z3l:<):)X'::':T5j5pK(K:K\:Z:z(j(V~Z~B+Z+\ 8 * Ff'fR,:,^,J,^6Z6r6j6r)*)Xf fPOjOd)z)XjrG