"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var i,T;function H(){if(T)return i;T=1;function d(e){const n=e.regex,a={$pattern:/[\w.\/]+/,built_in:["action","bindattr","collection","component","concat","debugger","each","each-in","get","hash","if","in","input","link-to","loc","log","lookup","mut","outlet","partial","query-params","render","template","textarea","unbound","unless","view","with","yield"]},A={$pattern:/[\w.\/]+/,literal:["true","false","undefined","null"]},R=/""|"[^"]+"/,m=/''|'[^']+'/,r=/\[\]|\[[^\]]+\]/,_=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,b=/(\.|\/)/,c=n.either(R,m,r,_),u=n.concat(n.optional(/\.|\.\/|\//),c,n.anyNumberOfTimes(n.concat(b,c))),g=n.concat("(",r,"|",_,")(?==)"),t={begin:u},o=e.inherit(t,{keywords:A}),s={begin:/\(/,end:/\)/},I={className:"attr",begin:g,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[e.NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,o,s]}}},O={begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},E={contains:[e.NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,O,I,o,s],returnEnd:!0},C=e.inherit(t,{className:"name",keywords:a,starts:e.inherit(E,{end:/\)/})});s.contains=[C];const N=e.inherit(t,{keywords:a,className:"name",starts:e.inherit(E,{end:/\}\}/})}),S=e.inherit(t,{keywords:a,className:"name"}),l=e.inherit(t,{className:"name",keywords:a,starts:e.inherit(E,{end:/\}\}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},e.COMMENT(/\{\{!--/,/--\}\}/),e.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[N],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[S]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[N]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{(?=else if)/,end:/\}\}/,keywords:"else if"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[S]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[l]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[l]}]}}return i=d,i}exports.__require=H;
