
    i                         S r SSKJrJrJrJrJrJrJr  SSK	J
r
JrJrJrJrJrJrJrJrJr  SS/r " S S\5      r " S S\5      rg)	z
pygments.lexers.varnish
~~~~~~~~~~~~~~~~~~~~~~~

Lexers for Varnish configuration

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    )
RegexLexerincludebygroupsusingthisinheritwords)
TextCommentOperatorKeywordNameStringNumberPunctuationLiteral
WhitespaceVCLLexerVCLSnippetLexerc                   F   \ rS rSrSrSrS/rS/rS/rS r	\
" S5      \
" S	5      S
\" \R                  \\" \5      \5      4S\S4/\
" S5      \
" S	5      S\4S\4S\4S\S4/\
" S5      S\" \R                  \\R&                  R(                  \5      4S\" \R                  \\5      S4S\" \R                  \\" \5      \5      4S\S4S\S4/S\R,                  4S\R,                  4S\R.                  4S\R0                  4S\R&                  4\" SSS9\R&                  4S\4S\4S \4\" S!SS9\4S"\R&                  4\" S#5      \R6                  4S$\4S%\" \\R&                  R(                  \5      S&4S'\" \\R&                  R(                  \5      S4S(\" \\R&                  R(                  \5      S)4S*\" \R8                  \R0                  \5      4S+\" \\R.                  \5      4S,\" \R.                  \\R.                  \" \5      5      4S-\4/S.\R<                  4S/\R<                  S4S0\R<                  S4S1\R<                  4/S2\4S/\R<                  S34S4\4/S5\S4S6\4/S7\4S8\S4S9\4/S:\S;4S<\S=4S>\ 4S?\ 4S@\!4/\
" S5      \
" S	5      \
" SA5      S?\ 4/SB.
r"SCr#gD)Er      zB
For Varnish Configuration Language (VCL).

.. versionadded:: 2.2
VCLvclz*.vclztext/x-vclsrcc                 F    U R                  S5      (       a  gSU S S ;   a  gg )Nzvcl 4.0;g      ?z	
vcl 4.0;i  g?)
startswithtexts    *lib/third_party/pygments/lexers/varnish.pyanalyse_textVCLLexer.analyse_text   s.     ??:&& T%4[( )    
whitespacecommentsz(\.\w+)(\s*=\s*)([^;]*)(;)z\}z#popz[!/]+;z\d+z(\.probe)(\s*=\s*)(\w+)(;)z(\.probe)(\s*=\s*)(\{)probez!(\.\w+\b)(\s*=\s*)([^;\s]*)(\s*;)z\{z#pushz(\d\.)?\d+[sdwhmy]z(\d\.)?\d+msz(vcl_pass|vcl_hash|vcl_hit|vcl_init|vcl_backend_fetch|vcl_pipe|vcl_backend_response|vcl_synth|vcl_deliver|vcl_backend_error|vcl_fini|vcl_recv|vcl_purge|vcl_miss)\bzV(pipe|retry|hash|synth|deliver|purge|abandon|lookup|pass|fail|ok|miss|fetch|restart)\bz8(beresp|obj|resp|req|req_top|bereq)\.http\.[a-zA-Z_-]+\b)?z
obj.statuszreq.hash_always_misszberesp.backendzreq.esi_levelzreq.can_gzipz
beresp.ttlzobj.uncacheablezreq.ttlzobj.hitszclient.identityzreq.hash_ignore_busyz
obj.reasonzreq.xidzreq_top.protoz
beresp.agez	obj.protozobj.agezlocal.ipzberesp.uncacheablez
req.methodzberesp.backend.ipnowz	obj.gracezreq.restartszberesp.keepz	req.protoz
resp.protoz	bereq.xidzbereq.between_bytes_timeoutzreq.esizbereq.first_byte_timeoutzbereq.methodzbereq.connect_timeoutzberesp.do_gzipzresp.statuszberesp.do_gunzipzberesp.storage_hintzresp.is_streamingzberesp.do_streamzreq_top.methodzbereq.backendzberesp.backend.namezberesp.statuszreq.urlzobj.keepzobj.ttlzberesp.reasonzbereq.retrieszresp.reasonz	bereq.urlzberesp.do_esizberesp.protoz	client.ipzbereq.protozserver.hostnamez	remote.ipzreq.backend_hintzserver.identityzreq_top.urlzberesp.gracezberesp.was_304z	server.ipzbereq.uncacheablez\b)suffixz[!%&+*\-,/<.}{>=|~]+z[();]z[,]+)	hash_dataregsub	regsuballifelseelsifelifsynth	syntheticbanreturnsetunsetimportr   newrollbackcallzstorage\.\w+\.\w+\b)truefalsez\d+\bz(backend)(\s+\w+)(\s*\{)backendz(probe\s)(\s*\w+\s)(\{)z(acl\s)(\s*\w+\s)(\{)aclz(vcl )(4.0)(;)$z(sub\s+)([a-zA-Z]\w*)(\s*\{)z+([a-zA-Z_]\w*)(\.)([a-zA-Z_]\w*)(\s*\(.*\))z[a-zA-Z_]\w*z[^*/]+z/\*z\*/z[*/]z#.*$commentz//.*$"z[^"\n]+z[^"}]z"\}z["}]zL?"stringz\{"multistringz\nz\s+z\\\n
statements)
r%   r<   r;   rA   r=   r#   r?   r@   r"   root N)$__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesr   r   r   r   	Attributer   r   r   r   r   VariableGlobalr   DateFunctionConstantr	   r   BuiltinReservedr   	Multiliner   r   r
   tokens__static_attributes__rC   r!   r   r   r      s   
 DgG	I !I	 L!J*dnnhd[IKK(
 L!Jx ;VK(
 L!*dnnh0D0DkRT&dnnh<gG1dnnhd[IKK)K(

 #GLL1gll+89=H&'+}}6H$--X 2  ;@!A" ]]#$ %h/{#k" ( 167 	
 $T]]3$%t||4v(gt}}33[A9N'gt}}33[A7L%gt}}33[A5Jg&&{CE,$--=? dmm[$--tM	O
 d#m7
r ))*W&&0W&&/g''(	
 gW&&	2w
 66" 

 vVV$f
 VX&V]+JZ dO
 L!JL!Z 	
]tFr!   c                       \ rS rSrSrSrSS/rS/r/ rS r	S\
4S	\R                  4/S
\R                  4/\" S5      \\" S5      /S.rSrg)r      zE
For Varnish Configuration Language snippets.

.. versionadded:: 2.2
VCLSnippetsvclsnippets
vclsnippetztext/x-vclsnippetc                     g)Nr   rC   r   s    r   r   VCLSnippetLexer.analyse_text   s    r!   z\.\.\.+zN(bereq|req|req_top|resp|beresp|obj|client|server|local|remote|storage)($|\.\*)z(backend)\bsnippetspresnippetspost)r_   r`   rB   rC   N)rD   rE   rF   rG   rH   rI   rJ   rL   rK   r   r   r   rN   r   rT   r   r   rV   rW   rC   r!   r   r   r      s    
 Dl+G$%II !!"&--1
 W--.
 M"N#
Fr!   N)rH   pygments.lexerr   r   r   r   r   r   r	   pygments.tokenr
   r   r   r   r   r   r   r   r   r   __all__r   r   rC   r!   r   <module>rd      sP     - - - (
)Jz JZh r!   