diff --git a/build/web-extension.webpack.config.js b/build/web-extension.webpack.config.js new file mode 100644 index 0000000..462be1a --- /dev/null +++ b/build/web-extension.webpack.config.js @@ -0,0 +1,52 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +//@ts-check +'use strict'; + +//@ts-check +/** @typedef {import('webpack').Configuration} WebpackConfig **/ + +const path = require('path'); +const webpack = require('webpack'); + +module.exports = /** @type WebpackConfig */ { + context: path.dirname(__dirname), + mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production') + target: 'webworker', // extensions run in a webworker context + entry: { + 'extension': './extension.js', + }, + resolve: { + mainFields: ['module', 'main'], + extensions: ['.ts', '.js'], // support ts-files and js-files + alias: { + }, + fallback: { + 'assert': require.resolve('assert'), + 'path': require.resolve('path-browserify'), + 'os': require.resolve('os-browserify/browser'), + 'util': require.resolve('util/'), + 'fs': false + } + }, + plugins: [ + new webpack.ProvidePlugin({ + process: 'process/browser' + }), + ], + externals: { + 'vscode': 'commonjs vscode', // ignored because it doesn't exist + }, + performance: { + hints: false + }, + output: { + filename: '[name].js', + path: path.join(__dirname, '../dist/web'), + libraryTarget: 'commonjs' + }, + devtool: 'nosources-source-map' +}; diff --git a/dist/web/extension.js b/dist/web/extension.js new file mode 100644 index 0000000..2a51654 --- /dev/null +++ b/dist/web/extension.js @@ -0,0 +1 @@ +(()=>{var t={623:t=>{"use strict";function e(t,e,r){t instanceof RegExp&&(t=n(t,r)),e instanceof RegExp&&(e=n(e,r));var s=i(t,e,r);return s&&{start:s[0],end:s[1],pre:r.slice(0,s[0]),body:r.slice(s[0]+t.length,s[1]),post:r.slice(s[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function i(t,e,n){var i,r,s,o,a,_=n.indexOf(t),u=n.indexOf(e,_+1),p=_;if(_>=0&&u>0){if(t===e)return[_,u];for(i=[],s=n.length;p>=0&&!a;)p==_?(i.push(p),_=n.indexOf(t,p+1)):1==i.length?a=[i.pop(),u]:((r=i.pop())=0?_:u;i.length&&(a=[s,o])}return a}t.exports=e,e.range=i},644:(t,e,n)=>{var i=n(48),r=n(623);t.exports=function(t){return t?("{}"===t.substr(0,2)&&(t="\\{\\}"+t.substr(2)),y(function(t){return t.split("\\\\").join(s).split("\\{").join(o).split("\\}").join(a).split("\\,").join(_).split("\\.").join(u)}(t),!0).map(h)):[]};var s="\0SLASH"+Math.random()+"\0",o="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",_="\0COMMA"+Math.random()+"\0",u="\0PERIOD"+Math.random()+"\0";function p(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function h(t){return t.split(s).join("\\").split(o).join("{").split(a).join("}").split(_).join(",").split(u).join(".")}function c(t){if(!t)return[""];var e=[],n=r("{","}",t);if(!n)return t.split(",");var i=n.pre,s=n.body,o=n.post,a=i.split(",");a[a.length-1]+="{"+s+"}";var _=c(o);return o.length&&(a[a.length-1]+=_.shift(),a.push.apply(a,_)),e.push.apply(e,a),e}function l(t){return"{"+t+"}"}function f(t){return/^-?0\d/.test(t)}function d(t,e){return t<=e}function g(t,e){return t>=e}function y(t,e){var n=[],s=r("{","}",t);if(!s||/\$$/.test(s.pre))return[t];var o,_=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body),u=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body),h=_||u,m=s.body.indexOf(",")>=0;if(!h&&!m)return s.post.match(/,.*\}/)?y(t=s.pre+"{"+s.body+a+s.post):[t];if(h)o=s.body.split(/\.\./);else if(1===(o=c(s.body)).length&&1===(o=y(o[0],!1).map(l)).length)return(w=s.post.length?y(s.post,!1):[""]).map((function(t){return s.pre+o[0]+t}));var b,v=s.pre,w=s.post.length?y(s.post,!1):[""];if(h){var k=p(o[0]),x=p(o[1]),E=Math.max(o[0].length,o[1].length),O=3==o.length?Math.abs(p(o[2])):1,A=d;x0){var P=new Array(R+1).join("0");j=T<0?"-"+P+j.slice(1):P+j}}b.push(j)}}else b=i(o,(function(t){return y(t,!1)}));for(var N=0;N{"use strict";var i=n(210),r=n(559),s=r(i("String.prototype.indexOf"));t.exports=function(t,e){var n=i(t,!!e);return"function"==typeof n&&s(t,".prototype.")>-1?r(n):n}},559:(t,e,n)=>{"use strict";var i=n(612),r=n(210),s=r("%Function.prototype.apply%"),o=r("%Function.prototype.call%"),a=r("%Reflect.apply%",!0)||i.call(o,s),_=r("%Object.getOwnPropertyDescriptor%",!0),u=r("%Object.defineProperty%",!0),p=r("%Math.max%");if(u)try{u({},"a",{value:1})}catch(t){u=null}t.exports=function(t){var e=a(i,o,arguments);if(_&&u){var n=_(e,"length");n.configurable&&u(e,"length",{value:1+p(0,t.length-(arguments.length-1))})}return e};var h=function(){return a(i,s,arguments)};u?u(t.exports,"apply",{value:h}):t.exports.apply=h},48:t=>{t.exports=function(t,n){for(var i=[],r=0;r0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]{t=n.nmd(t);var i=n(155),r="object"==typeof i?i.platform:"win32";t?t.exports=d:e.minimatch=d,d.Minimatch=g;var s=n(593),o=d.cache=new s({max:100}),a=d.GLOBSTAR=g.GLOBSTAR={},_=n(276),u=n(470),p="[^/]",h="[^/]*?",c="().*{}+?[]^$\\!".split("").reduce((function(t,e){return t[e]=!0,t}),{}),l=/\/+/;function f(t,e){t=t||{},e=e||{};var n={};return Object.keys(e).forEach((function(t){n[t]=e[t]})),Object.keys(t).forEach((function(e){n[e]=t[e]})),n}function d(t,e,n){if("string"!=typeof e)throw new TypeError("glob pattern string required");return n||(n={}),!(!n.nocomment&&"#"===e.charAt(0))&&(""===e.trim()?""===t:new g(e,n).match(t))}function g(t,e){if(!(this instanceof g))return new g(t,e,o);if("string"!=typeof t)throw new TypeError("glob pattern string required");e||(e={}),"win32"===r&&(t=t.split("\\").join("/"));var n=t+"\n"+_(e),i=d.cache.get(n);if(i)return i;d.cache.set(n,this),this.options=e,this.set=[],this.pattern=t,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}d.monkeyPatch=function(){var t=Object.getOwnPropertyDescriptor(String.prototype,"match"),e=t.value;t.value=function(t){return t instanceof g?t.match(this):e.call(this,t)},Object.defineProperty(String.prototype,t)},d.filter=function(t,e){return e=e||{},function(n,i,r){return d(n,t,e)}},d.defaults=function(t){if(!t||!Object.keys(t).length)return d;var e=d,n=function(n,i,r){return e.minimatch(n,i,f(t,r))};return n.Minimatch=function(n,i){return new e.Minimatch(n,f(t,i))},n},g.defaults=function(t){return t&&Object.keys(t).length?d.defaults(t).Minimatch:g},g.prototype.make=function(){if(!this._made){var t=this.pattern,e=this.options;if(e.nocomment||"#"!==t.charAt(0))if(t){this.parseNegate();var n=this.globSet=this.braceExpand();e.debug&&console.error(this.pattern,n),n=this.globParts=n.map((function(t){return t.split(l)})),e.debug&&console.error(this.pattern,n),n=n.map((function(t,e,n){return t.map(this.parse,this)}),this),e.debug&&console.error(this.pattern,n),n=n.filter((function(t){return-1===t.indexOf(!1)})),e.debug&&console.error(this.pattern,n),this.set=n}else this.empty=!0;else this.comment=!0}},g.prototype.parseNegate=function(){var t=this.pattern,e=!1,n=0;if(!this.options.nonegate){for(var i=0,r=t.length;ip?-1:1,c=[];for(s=u;s!=p+h;s+=h)for(var l=0,f=_.length;l0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]{var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString;t.exports=function(t,i,r){if("[object Function]"!==n.call(i))throw new TypeError("iterator must be a function");var s=t.length;if(s===+s)for(var o=0;o{"use strict";var e="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,i=Object.prototype.toString,r="[object Function]";t.exports=function(t){var s=this;if("function"!=typeof s||i.call(s)!==r)throw new TypeError(e+s);for(var o,a=n.call(arguments,1),_=function(){if(this instanceof o){var e=s.apply(this,a.concat(n.call(arguments)));return Object(e)===e?e:this}return s.apply(t,a.concat(n.call(arguments)))},u=Math.max(0,s.length-a.length),p=[],h=0;h{"use strict";var i=n(648);t.exports=Function.prototype.bind||i},210:(t,e,n)=>{"use strict";var i,r=SyntaxError,s=Function,o=TypeError,a=function(t){try{return s('"use strict"; return ('+t+").constructor;")()}catch(t){}},_=Object.getOwnPropertyDescriptor;if(_)try{_({},"")}catch(t){_=null}var u=function(){throw new o},p=_?function(){try{return u}catch(t){try{return _(arguments,"callee").get}catch(t){return u}}}():u,h=n(405)(),c=Object.getPrototypeOf||function(t){return t.__proto__},l={},f="undefined"==typeof Uint8Array?i:c(Uint8Array),d={"%AggregateError%":"undefined"==typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":h?c([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":l,"%AsyncGenerator%":l,"%AsyncGeneratorFunction%":l,"%AsyncIteratorPrototype%":l,"%Atomics%":"undefined"==typeof Atomics?i:Atomics,"%BigInt%":"undefined"==typeof BigInt?i:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?i:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":s,"%GeneratorFunction%":l,"%Int8Array%":"undefined"==typeof Int8Array?i:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?i:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":h?c(c([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"undefined"==typeof Map?i:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&h?c((new Map)[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?i:Promise,"%Proxy%":"undefined"==typeof Proxy?i:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?i:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&h?c((new Set)[Symbol.iterator]()):i,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":h?c(""[Symbol.iterator]()):i,"%Symbol%":h?Symbol:i,"%SyntaxError%":r,"%ThrowTypeError%":p,"%TypedArray%":f,"%TypeError%":o,"%Uint8Array%":"undefined"==typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?i:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?i:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?i:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?i:WeakSet},g=function t(e){var n;if("%AsyncFunction%"===e)n=a("async function () {}");else if("%GeneratorFunction%"===e)n=a("function* () {}");else if("%AsyncGeneratorFunction%"===e)n=a("async function* () {}");else if("%AsyncGenerator%"===e){var i=t("%AsyncGeneratorFunction%");i&&(n=i.prototype)}else if("%AsyncIteratorPrototype%"===e){var r=t("%AsyncGenerator%");r&&(n=c(r.prototype))}return d[e]=n,n},y={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},m=n(612),b=n(642),v=m.call(Function.call,Array.prototype.concat),w=m.call(Function.apply,Array.prototype.splice),k=m.call(Function.call,String.prototype.replace),x=m.call(Function.call,String.prototype.slice),E=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,O=/\\(\\)?/g,A=function(t){var e=x(t,0,1),n=x(t,-1);if("%"===e&&"%"!==n)throw new r("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==e)throw new r("invalid intrinsic syntax, expected opening `%`");var i=[];return k(t,E,(function(t,e,n,r){i[i.length]=n?k(r,O,"$1"):e||t})),i},S=function(t,e){var n,i=t;if(b(y,i)&&(i="%"+(n=y[i])[0]+"%"),b(d,i)){var s=d[i];if(s===l&&(s=g(i)),void 0===s&&!e)throw new o("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:n,name:i,value:s}}throw new r("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');var n=A(t),i=n.length>0?n[0]:"",s=S("%"+i+"%",e),a=s.name,u=s.value,p=!1,h=s.alias;h&&(i=h[0],w(n,v([0,1],h)));for(var c=1,l=!0;c=n.length){var m=_(u,f);u=(l=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[f]}else l=b(u,f),u=u[f];l&&!p&&(d[a]=u)}}return u}},405:(t,e,n)=>{"use strict";var i="undefined"!=typeof Symbol&&Symbol,r=n(419);t.exports=function(){return"function"==typeof i&&"function"==typeof Symbol&&"symbol"==typeof i("foo")&&"symbol"==typeof Symbol("bar")&&r()}},419:t=>{"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),n=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var i=Object.getOwnPropertySymbols(t);if(1!==i.length||i[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(t,e);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},410:(t,e,n)=>{"use strict";var i=n(419);t.exports=function(){return i()&&!!Symbol.toStringTag}},642:(t,e,n)=>{"use strict";var i=n(612);t.exports=i.call(Function.call,Object.prototype.hasOwnProperty)},378:(t,e,n)=>{try{var i=n(539);if("function"!=typeof i.inherits)throw"";t.exports=i.inherits}catch(e){t.exports=n(717)}},717:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},584:(t,e,n)=>{"use strict";var i=n(410)(),r=n(924)("Object.prototype.toString"),s=function(t){return!(i&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===r(t)},o=function(t){return!!s(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==r(t)&&"[object Function]"===r(t.callee)},a=function(){return s(arguments)}();s.isLegacyArguments=o,t.exports=a?s:o},662:(t,e,n)=>{"use strict";var i,r=Object.prototype.toString,s=Function.prototype.toString,o=/^\s*(?:function)?\*/,a=n(410)(),_=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(s.call(t)))return!0;if(!a)return"[object GeneratorFunction]"===r.call(t);if(!_)return!1;if(void 0===i){var e=function(){if(!a)return!1;try{return Function("return function*() {}")()}catch(t){}}();i=!!e&&_(e)}return _(t)===i}},692:(t,e,n)=>{"use strict";var i=n(804),r=n(83),s=n(924),o=s("Object.prototype.toString"),a=n(410)(),_=r(),u=s("Array.prototype.indexOf",!0)||function(t,e){for(var n=0;n-1}return!!c&&function(t){var e=!1;return i(h,(function(n,i){if(!e)try{e=n.call(t)===i}catch(t){}})),e}(t)}},204:(t,e,n)=>{"use strict";var i,r;i=[n(937),n(40),n(566)],void 0===(r=function(t,e,n){return function(t,e,n){var i=function(e,n){return t.js_beautify(e,n)};return i.js=t.js_beautify,i.css=e.css_beautify,i.html=n.html_beautify,i.js_beautify=t.js_beautify,i.css_beautify=e.css_beautify,i.html_beautify=n.html_beautify,i}(t,e,n)}.apply(e,i))||(t.exports=r)},40:(t,e)=>{var n;!function(){var i;!function(){"use strict";var t=[,,function(t){function e(t){this.__parent=t,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}function n(t,e){this.__cache=[""],this.__indent_size=t.indent_size,this.__indent_string=t.indent_char,t.indent_with_tabs||(this.__indent_string=new Array(t.indent_size+1).join(t.indent_char)),e=e||"",t.indent_level>0&&(e=new Array(t.indent_level+1).join(this.__indent_string)),this.__base_string=e,this.__base_string_length=e.length}function i(t,i){this.__indent_cache=new n(t,i),this.raw=!1,this._end_with_newline=t.end_with_newline,this.indent_size=t.indent_size,this.wrap_line_length=t.wrap_line_length,this.indent_empty_lines=t.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new e(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}e.prototype.clone_empty=function(){var t=new e(this.__parent);return t.set_indent(this.__indent_count,this.__alignment_count),t},e.prototype.item=function(t){return t<0?this.__items[this.__items.length+t]:this.__items[t]},e.prototype.has_match=function(t){for(var e=this.__items.length-1;e>=0;e--)if(this.__items[e].match(t))return!0;return!1},e.prototype.set_indent=function(t,e){this.is_empty()&&(this.__indent_count=t||0,this.__alignment_count=e||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},e.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},e.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},e.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var t=this.__parent.current_line;return t.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),t.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),t.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count," "===t.__items[0]&&(t.__items.splice(0,1),t.__character_count-=1),!0}return!1},e.prototype.is_empty=function(){return 0===this.__items.length},e.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},e.prototype.push=function(t){this.__items.push(t);var e=t.lastIndexOf("\n");-1!==e?this.__character_count=t.length-e:this.__character_count+=t.length},e.prototype.pop=function(){var t=null;return this.is_empty()||(t=this.__items.pop(),this.__character_count-=t.length),t},e.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},e.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},e.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},e.prototype.toString=function(){var t="";return this.is_empty()?this.__parent.indent_empty_lines&&(t=this.__parent.get_indent_string(this.__indent_count)):(t=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),t+=this.__items.join("")),t},n.prototype.get_indent_size=function(t,e){var n=this.__base_string_length;return e=e||0,t<0&&(n=0),(n+=t*this.__indent_size)+e},n.prototype.get_indent_string=function(t,e){var n=this.__base_string;return e=e||0,t<0&&(t=0,n=""),e+=t*this.__indent_size,this.__ensure_cache(e),n+this.__cache[e]},n.prototype.__ensure_cache=function(t){for(;t>=this.__cache.length;)this.__add_column()},n.prototype.__add_column=function(){var t=this.__cache.length,e=0,n="";this.__indent_size&&t>=this.__indent_size&&(t-=(e=Math.floor(t/this.__indent_size))*this.__indent_size,n=new Array(e+1).join(this.__indent_string)),t&&(n+=new Array(t+1).join(" ")),this.__cache.push(n)},i.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},i.prototype.get_line_number=function(){return this.__lines.length},i.prototype.get_indent_string=function(t,e){return this.__indent_cache.get_indent_string(t,e)},i.prototype.get_indent_size=function(t,e){return this.__indent_cache.get_indent_size(t,e)},i.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},i.prototype.add_new_line=function(t){return!(this.is_empty()||!t&&this.just_added_newline()||(this.raw||this.__add_outputline(),0))},i.prototype.get_code=function(t){this.trim(!0);var e=this.current_line.pop();e&&("\n"===e[e.length-1]&&(e=e.replace(/\n+$/g,"")),this.current_line.push(e)),this._end_with_newline&&this.__add_outputline();var n=this.__lines.join("\n");return"\n"!==t&&(n=n.replace(/[\n]/g,t)),n},i.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},i.prototype.set_indent=function(t,e){return t=t||0,e=e||0,this.next_line.set_indent(t,e),this.__lines.length>1?(this.current_line.set_indent(t,e),!0):(this.current_line.set_indent(),!1)},i.prototype.add_raw_token=function(t){for(var e=0;e1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},i.prototype.just_added_newline=function(){return this.current_line.is_empty()},i.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},i.prototype.ensure_empty_line_above=function(t,n){for(var i=this.__lines.length-2;i>=0;){var r=this.__lines[i];if(r.is_empty())break;if(0!==r.item(0).indexOf(t)&&r.item(-1)!==n){this.__lines.splice(i+1,0,new e(this)),this.previous_line=this.__lines[this.__lines.length-2];break}i--}},t.exports.Output=i},,,,function(t){function e(t,e){this.raw_options=n(t,e),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs","\t"===this.indent_char),this.indent_with_tabs&&(this.indent_char="\t",1===this.indent_size&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","django","erb","handlebars","php","smarty"],["auto"])}function n(t,e){var n,r={};for(n in t=i(t))n!==e&&(r[n]=t[n]);if(e&&t[e])for(n in t[e])r[n]=t[e][n];return r}function i(t){var e,n={};for(e in t)n[e.replace(/-/g,"_")]=t[e];return n}e.prototype._get_array=function(t,e){var n=this.raw_options[t],i=e||[];return"object"==typeof n?null!==n&&"function"==typeof n.concat&&(i=n.concat()):"string"==typeof n&&(i=n.split(/[^a-zA-Z0-9_\/\-]+/)),i},e.prototype._get_boolean=function(t,e){var n=this.raw_options[t];return void 0===n?!!e:!!n},e.prototype._get_characters=function(t,e){var n=this.raw_options[t],i=e||"";return"string"==typeof n&&(i=n.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),i},e.prototype._get_number=function(t,e){var n=this.raw_options[t];e=parseInt(e,10),isNaN(e)&&(e=0);var i=parseInt(n,10);return isNaN(i)&&(i=e),i},e.prototype._get_selection=function(t,e,n){var i=this._get_selection_list(t,e,n);if(1!==i.length)throw new Error("Invalid Option Value: The option '"+t+"' can only be one of the following values:\n"+e+"\nYou passed in: '"+this.raw_options[t]+"'");return i[0]},e.prototype._get_selection_list=function(t,e,n){if(!e||0===e.length)throw new Error("Selection list cannot be empty.");if(n=n||[e[0]],!this._is_valid_selection(n,e))throw new Error("Invalid Default Value!");var i=this._get_array(t,n);if(!this._is_valid_selection(i,e))throw new Error("Invalid Option Value: The option '"+t+"' can contain only the following values:\n"+e+"\nYou passed in: '"+this.raw_options[t]+"'");return i},e.prototype._is_valid_selection=function(t,e){return t.length&&e.length&&!t.some((function(t){return-1===e.indexOf(t)}))},t.exports.Options=e,t.exports.normalizeOpts=i,t.exports.mergeOpts=n},,function(t){var e=RegExp.prototype.hasOwnProperty("sticky");function n(t){this.__input=t||"",this.__input_length=this.__input.length,this.__position=0}n.prototype.restart=function(){this.__position=0},n.prototype.back=function(){this.__position>0&&(this.__position-=1)},n.prototype.hasNext=function(){return this.__position=0&&t=0&&e=t.length&&this.__input.substring(e-t.length,e).toLowerCase()===t},t.exports.InputScanner=n},,,,,function(t){function e(t,e){t="string"==typeof t?t:t.source,e="string"==typeof e?e:e.source,this.__directives_block_pattern=new RegExp(t+/ beautify( \w+[:]\w+)+ /.source+e,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(t+/\sbeautify\signore:end\s/.source+e,"g")}e.prototype.get_directives=function(t){if(!t.match(this.__directives_block_pattern))return null;var e={};this.__directive_pattern.lastIndex=0;for(var n=this.__directive_pattern.exec(t);n;)e[n[1]]=n[2],n=this.__directive_pattern.exec(t);return e},e.prototype.readIgnored=function(t){return t.readUntilAfter(this.__directives_end_ignore_pattern)},t.exports.Directives=e},,function(t,e,n){var i=n(16).Beautifier,r=n(17).Options;t.exports=function(t,e){return new i(t,e).beautify()},t.exports.defaultOptions=function(){return new r}},function(t,e,n){var i=n(17).Options,r=n(2).Output,s=n(8).InputScanner,o=new(0,n(13).Directives)(/\/\*/,/\*\//),a=/\r\n|[\r\n]/,_=/\r\n|[\r\n]/g,u=/\s/,p=/(?:\s|\n)+/g,h=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,c=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function l(t,e){this._source_text=t||"",this._options=new i(e),this._ch=null,this._input=null,this.NESTED_AT_RULE={"@page":!0,"@font-face":!0,"@keyframes":!0,"@media":!0,"@supports":!0,"@document":!0},this.CONDITIONAL_GROUP_RULE={"@media":!0,"@supports":!0,"@document":!0}}l.prototype.eatString=function(t){var e="";for(this._ch=this._input.next();this._ch;){if(e+=this._ch,"\\"===this._ch)e+=this._input.next();else if(-1!==t.indexOf(this._ch)||"\n"===this._ch)break;this._ch=this._input.next()}return e},l.prototype.eatWhitespace=function(t){for(var e=u.test(this._input.peek()),n=0;u.test(this._input.peek());)this._ch=this._input.next(),t&&"\n"===this._ch&&(0===n||n0&&this._indentLevel--},l.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._source_text,e=this._options.eol;"auto"===e&&(e="\n",t&&a.test(t||"")&&(e=t.match(a)[0]));var n=(t=t.replace(_,"\n")).match(/^[\t ]*/)[0];this._output=new r(this._options,n),this._input=new s(t),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var i,l,f=0,d=!1,g=!1,y=!1,m=!1,b=!1,v=this._ch;i=""!==this._input.read(p),l=v,this._ch=this._input.next(),"\\"===this._ch&&this._input.hasNext()&&(this._ch+=this._input.next()),v=this._ch,this._ch;)if("/"===this._ch&&"*"===this._input.peek()){this._output.add_new_line(),this._input.back();var w=this._input.read(h),k=o.get_directives(w);k&&"start"===k.ignore&&(w+=o.readIgnored(this._input)),this.print_string(w),this.eatWhitespace(!0),this._output.add_new_line()}else if("/"===this._ch&&"/"===this._input.peek())this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(c)),this.eatWhitespace(!0);else if("@"===this._ch)if(this.preserveSingleSpace(i),"{"===this._input.peek())this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var x=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);x.match(/[ :]$/)&&(x=this.eatString(": ").replace(/\s$/,""),this.print_string(x),this._output.space_before_token=!0),"extend"===(x=x.replace(/\s$/,""))?m=!0:"import"===x&&(b=!0),x in this.NESTED_AT_RULE?(this._nestedLevel+=1,x in this.CONDITIONAL_GROUP_RULE&&(y=!0)):d||0!==f||-1===x.indexOf(":")||(g=!0,this.indent())}else"#"===this._ch&&"{"===this._input.peek()?(this.preserveSingleSpace(i),this.print_string(this._ch+this.eatString("}"))):"{"===this._ch?(g&&(g=!1,this.outdent()),y?(y=!1,d=this._indentLevel>=this._nestedLevel):d=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&d&&this._output.previous_line&&"{"!==this._output.previous_line.item(-1)&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,"expand"===this._options.brace_style?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line()):"}"===this._ch?(this.outdent(),this._output.add_new_line(),"{"===l&&this._output.trim(!0),b=!1,m=!1,g&&(this.outdent(),g=!1),this.print_string(this._ch),d=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&"}"!==this._input.peek()&&this._output.add_new_line(!0)):":"===this._ch?!d&&!y||this._input.lookBack("&")||this.foundNestedPseudoClass()||this._input.lookBack("(")||m||0!==f?(this._input.lookBack(" ")&&(this._output.space_before_token=!0),":"===this._input.peek()?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":")):(this.print_string(":"),g||(g=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):'"'===this._ch||"'"===this._ch?(this.preserveSingleSpace(i),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)):";"===this._ch?0===f?(g&&(this.outdent(),g=!1),m=!1,b=!1,this.print_string(this._ch),this.eatWhitespace(!0),"/"!==this._input.peek()&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0):"("===this._ch?this._input.lookBack("url")?(this.print_string(this._ch),this.eatWhitespace(),f++,this.indent(),this._ch=this._input.next(),")"===this._ch||'"'===this._ch||"'"===this._ch?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),f&&(f--,this.outdent()))):(this.preserveSingleSpace(i),this.print_string(this._ch),this.eatWhitespace(),f++,this.indent()):")"===this._ch?(f&&(f--,this.outdent()),this.print_string(this._ch)):","===this._ch?(this.print_string(this._ch),this.eatWhitespace(!0),!this._options.selector_separator_newline||g||0!==f||b||m?this._output.space_before_token=!0:this._output.add_new_line()):">"!==this._ch&&"+"!==this._ch&&"~"!==this._ch||g||0!==f?"]"===this._ch?this.print_string(this._ch):"["===this._ch?(this.preserveSingleSpace(i),this.print_string(this._ch)):"="===this._ch?(this.eatWhitespace(),this.print_string("="),u.test(this._ch)&&(this._ch="")):"!"!==this._ch||this._input.lookBack("\\")?(this.preserveSingleSpace(i),this.print_string(this._ch)):(this.print_string(" "),this.print_string(this._ch)):this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&u.test(this._ch)&&(this._ch=""));return this._output.get_code(e)},t.exports.Beautifier=l},function(t,e,n){var i=n(6).Options;function r(t){i.call(this,t,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var e=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||e;var n=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var r=0;r{var i,r;!function(){var s;!function(){"use strict";var t=[,,function(t){function e(t){this.__parent=t,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}function n(t,e){this.__cache=[""],this.__indent_size=t.indent_size,this.__indent_string=t.indent_char,t.indent_with_tabs||(this.__indent_string=new Array(t.indent_size+1).join(t.indent_char)),e=e||"",t.indent_level>0&&(e=new Array(t.indent_level+1).join(this.__indent_string)),this.__base_string=e,this.__base_string_length=e.length}function i(t,i){this.__indent_cache=new n(t,i),this.raw=!1,this._end_with_newline=t.end_with_newline,this.indent_size=t.indent_size,this.wrap_line_length=t.wrap_line_length,this.indent_empty_lines=t.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new e(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}e.prototype.clone_empty=function(){var t=new e(this.__parent);return t.set_indent(this.__indent_count,this.__alignment_count),t},e.prototype.item=function(t){return t<0?this.__items[this.__items.length+t]:this.__items[t]},e.prototype.has_match=function(t){for(var e=this.__items.length-1;e>=0;e--)if(this.__items[e].match(t))return!0;return!1},e.prototype.set_indent=function(t,e){this.is_empty()&&(this.__indent_count=t||0,this.__alignment_count=e||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},e.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},e.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},e.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var t=this.__parent.current_line;return t.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),t.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),t.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count," "===t.__items[0]&&(t.__items.splice(0,1),t.__character_count-=1),!0}return!1},e.prototype.is_empty=function(){return 0===this.__items.length},e.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},e.prototype.push=function(t){this.__items.push(t);var e=t.lastIndexOf("\n");-1!==e?this.__character_count=t.length-e:this.__character_count+=t.length},e.prototype.pop=function(){var t=null;return this.is_empty()||(t=this.__items.pop(),this.__character_count-=t.length),t},e.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},e.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},e.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},e.prototype.toString=function(){var t="";return this.is_empty()?this.__parent.indent_empty_lines&&(t=this.__parent.get_indent_string(this.__indent_count)):(t=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),t+=this.__items.join("")),t},n.prototype.get_indent_size=function(t,e){var n=this.__base_string_length;return e=e||0,t<0&&(n=0),(n+=t*this.__indent_size)+e},n.prototype.get_indent_string=function(t,e){var n=this.__base_string;return e=e||0,t<0&&(t=0,n=""),e+=t*this.__indent_size,this.__ensure_cache(e),n+this.__cache[e]},n.prototype.__ensure_cache=function(t){for(;t>=this.__cache.length;)this.__add_column()},n.prototype.__add_column=function(){var t=this.__cache.length,e=0,n="";this.__indent_size&&t>=this.__indent_size&&(t-=(e=Math.floor(t/this.__indent_size))*this.__indent_size,n=new Array(e+1).join(this.__indent_string)),t&&(n+=new Array(t+1).join(" ")),this.__cache.push(n)},i.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},i.prototype.get_line_number=function(){return this.__lines.length},i.prototype.get_indent_string=function(t,e){return this.__indent_cache.get_indent_string(t,e)},i.prototype.get_indent_size=function(t,e){return this.__indent_cache.get_indent_size(t,e)},i.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},i.prototype.add_new_line=function(t){return!(this.is_empty()||!t&&this.just_added_newline()||(this.raw||this.__add_outputline(),0))},i.prototype.get_code=function(t){this.trim(!0);var e=this.current_line.pop();e&&("\n"===e[e.length-1]&&(e=e.replace(/\n+$/g,"")),this.current_line.push(e)),this._end_with_newline&&this.__add_outputline();var n=this.__lines.join("\n");return"\n"!==t&&(n=n.replace(/[\n]/g,t)),n},i.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},i.prototype.set_indent=function(t,e){return t=t||0,e=e||0,this.next_line.set_indent(t,e),this.__lines.length>1?(this.current_line.set_indent(t,e),!0):(this.current_line.set_indent(),!1)},i.prototype.add_raw_token=function(t){for(var e=0;e1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},i.prototype.just_added_newline=function(){return this.current_line.is_empty()},i.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},i.prototype.ensure_empty_line_above=function(t,n){for(var i=this.__lines.length-2;i>=0;){var r=this.__lines[i];if(r.is_empty())break;if(0!==r.item(0).indexOf(t)&&r.item(-1)!==n){this.__lines.splice(i+1,0,new e(this)),this.previous_line=this.__lines[this.__lines.length-2];break}i--}},t.exports.Output=i},function(t){t.exports.Token=function(t,e,n,i){this.type=t,this.text=e,this.comments_before=null,this.newlines=n||0,this.whitespace_before=i||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}},,,function(t){function e(t,e){this.raw_options=n(t,e),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs","\t"===this.indent_char),this.indent_with_tabs&&(this.indent_char="\t",1===this.indent_size&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","django","erb","handlebars","php","smarty"],["auto"])}function n(t,e){var n,r={};for(n in t=i(t))n!==e&&(r[n]=t[n]);if(e&&t[e])for(n in t[e])r[n]=t[e][n];return r}function i(t){var e,n={};for(e in t)n[e.replace(/-/g,"_")]=t[e];return n}e.prototype._get_array=function(t,e){var n=this.raw_options[t],i=e||[];return"object"==typeof n?null!==n&&"function"==typeof n.concat&&(i=n.concat()):"string"==typeof n&&(i=n.split(/[^a-zA-Z0-9_\/\-]+/)),i},e.prototype._get_boolean=function(t,e){var n=this.raw_options[t];return void 0===n?!!e:!!n},e.prototype._get_characters=function(t,e){var n=this.raw_options[t],i=e||"";return"string"==typeof n&&(i=n.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),i},e.prototype._get_number=function(t,e){var n=this.raw_options[t];e=parseInt(e,10),isNaN(e)&&(e=0);var i=parseInt(n,10);return isNaN(i)&&(i=e),i},e.prototype._get_selection=function(t,e,n){var i=this._get_selection_list(t,e,n);if(1!==i.length)throw new Error("Invalid Option Value: The option '"+t+"' can only be one of the following values:\n"+e+"\nYou passed in: '"+this.raw_options[t]+"'");return i[0]},e.prototype._get_selection_list=function(t,e,n){if(!e||0===e.length)throw new Error("Selection list cannot be empty.");if(n=n||[e[0]],!this._is_valid_selection(n,e))throw new Error("Invalid Default Value!");var i=this._get_array(t,n);if(!this._is_valid_selection(i,e))throw new Error("Invalid Option Value: The option '"+t+"' can contain only the following values:\n"+e+"\nYou passed in: '"+this.raw_options[t]+"'");return i},e.prototype._is_valid_selection=function(t,e){return t.length&&e.length&&!t.some((function(t){return-1===e.indexOf(t)}))},t.exports.Options=e,t.exports.normalizeOpts=i,t.exports.mergeOpts=n},,function(t){var e=RegExp.prototype.hasOwnProperty("sticky");function n(t){this.__input=t||"",this.__input_length=this.__input.length,this.__position=0}n.prototype.restart=function(){this.__position=0},n.prototype.back=function(){this.__position>0&&(this.__position-=1)},n.prototype.hasNext=function(){return this.__position=0&&t=0&&e=t.length&&this.__input.substring(e-t.length,e).toLowerCase()===t},t.exports.InputScanner=n},function(t,e,n){var i=n(8).InputScanner,r=n(3).Token,s=n(10).TokenStream,o=n(11).WhitespacePattern,a={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},_=function(t,e){this._input=new i(t),this._options=e||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new o(this._input)};_.prototype.tokenize=function(){var t;this._input.restart(),this.__tokens=new s,this._reset();for(var e=new r(a.START,""),n=null,i=[],o=new s;e.type!==a.EOF;){for(t=this._get_next_token(e,n);this._is_comment(t);)o.add(t),t=this._get_next_token(e,n);o.isEmpty()||(t.comments_before=o,o=new s),t.parent=n,this._is_opening(t)?(i.push(n),n=t):n&&this._is_closing(t,n)&&(t.opened=n,n.closed=t,n=i.pop(),t.parent=n),t.previous=e,e.next=t,this.__tokens.add(t),e=t}return this.__tokens},_.prototype._is_first_token=function(){return this.__tokens.isEmpty()},_.prototype._reset=function(){},_.prototype._get_next_token=function(t,e){this._readWhitespace();var n=this._input.read(/.+/g);return n?this._create_token(a.RAW,n):this._create_token(a.EOF,"")},_.prototype._is_comment=function(t){return!1},_.prototype._is_opening=function(t){return!1},_.prototype._is_closing=function(t,e){return!1},_.prototype._create_token=function(t,e){return new r(t,e,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token)},_.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},t.exports.Tokenizer=_,t.exports.TOKEN=a},function(t){function e(t){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=t}e.prototype.restart=function(){this.__position=0},e.prototype.isEmpty=function(){return 0===this.__tokens_length},e.prototype.hasNext=function(){return this.__position=0&&t/),erb:n.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:n.starting_with(/{%/).until_after(/%}/),django_value:n.starting_with(/{{/).until_after(/}}/),django_comment:n.starting_with(/{#/).until_after(/#}/),smarty:n.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:n.starting_with(/{\*/).until_after(/\*}/),smarty_literal:n.starting_with(/{literal}/).until_after(/{\/literal}/)}}s.prototype=new i,s.prototype._create=function(){return new s(this._input,this)},s.prototype._update=function(){this.__set_templated_pattern()},s.prototype.disable=function(t){var e=this._create();return e._disabled[t]=!0,e._update(),e},s.prototype.read_options=function(t){var e=this._create();for(var n in r)e._disabled[n]=-1===t.templating.indexOf(n);return e._update(),e},s.prototype.exclude=function(t){var e=this._create();return e._excluded[t]=!0,e._update(),e},s.prototype.read=function(){var t="";t=this._match_pattern?this._input.read(this._starting_pattern):this._input.read(this._starting_pattern,this.__template_pattern);for(var e=this._read_template();e;)this._match_pattern?e+=this._input.read(this._match_pattern):e+=this._input.readUntil(this.__template_pattern),t+=e,e=this._read_template();return this._until_after&&(t+=this._input.readUntilAfter(this._until_pattern)),t},s.prototype.__set_templated_pattern=function(){var t=[];this._disabled.php||t.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||t.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||t.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(t.push(this.__patterns.django._starting_pattern.source),t.push(this.__patterns.django_value._starting_pattern.source),t.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||t.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&t.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+t.join("|")+")")},s.prototype._read_template=function(){var t="",e=this._input.peek();if("<"===e){var n=this._input.peek(1);this._disabled.php||this._excluded.php||"?"!==n||(t=t||this.__patterns.php.read()),this._disabled.erb||this._excluded.erb||"%"!==n||(t=t||this.__patterns.erb.read())}else"{"===e&&(this._disabled.handlebars||this._excluded.handlebars||(t=(t=(t=t||this.__patterns.handlebars_comment.read())||this.__patterns.handlebars_unescaped.read())||this.__patterns.handlebars.read()),this._disabled.django||(this._excluded.django||this._excluded.handlebars||(t=t||this.__patterns.django_value.read()),this._excluded.django||(t=(t=t||this.__patterns.django_comment.read())||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(t=(t=(t=t||this.__patterns.smarty_comment.read())||this.__patterns.smarty_literal.read())||this.__patterns.smarty.read()));return t},t.exports.TemplatablePattern=s},,,,function(t,e,n){var i=n(19).Beautifier,r=n(20).Options;t.exports=function(t,e,n,r){return new i(t,e,n,r).beautify()},t.exports.defaultOptions=function(){return new r}},function(t,e,n){var i=n(20).Options,r=n(2).Output,s=n(21).Tokenizer,o=n(21).TOKEN,a=/\r\n|[\r\n]/,_=/\r\n|[\r\n]/g,u=function(t,e){this.indent_level=0,this.alignment_size=0,this.max_preserve_newlines=t.max_preserve_newlines,this.preserve_newlines=t.preserve_newlines,this._output=new r(t,e)};u.prototype.current_line_has_match=function(t){return this._output.current_line.has_match(t)},u.prototype.set_space_before_token=function(t,e){this._output.space_before_token=t,this._output.non_breaking_space=e},u.prototype.set_wrap_point=function(){this._output.set_indent(this.indent_level,this.alignment_size),this._output.set_wrap_point()},u.prototype.add_raw_token=function(t){this._output.add_raw_token(t)},u.prototype.print_preserved_newlines=function(t){var e=0;t.type!==o.TEXT&&t.previous.type!==o.TEXT&&(e=t.newlines?1:0),this.preserve_newlines&&(e=t.newlines0);return 0!==e},u.prototype.traverse_whitespace=function(t){return!(!t.whitespace_before&&!t.newlines||(this.print_preserved_newlines(t)||(this._output.space_before_token=!0),0))},u.prototype.previous_token_wrapped=function(){return this._output.previous_token_wrapped},u.prototype.print_newline=function(t){this._output.add_new_line(t)},u.prototype.print_token=function(t){t.text&&(this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(t.text))},u.prototype.indent=function(){this.indent_level++},u.prototype.get_full_indent=function(t){return(t=this.indent_level+(t||0))<1?"":this._output.get_indent_string(t)};function p(t,e){return-1!==e.indexOf(t)}function h(t,e,n){this.parent=t||null,this.tag=e?e.tag_name:"",this.indent_level=n||0,this.parser_token=e||null}function c(t){this._printer=t,this._current_frame=null}function l(t,e,n,r){this._source_text=t||"",e=e||{},this._js_beautify=n,this._css_beautify=r,this._tag_stack=null;var s=new i(e,"html");this._options=s,this._is_wrap_attributes_force="force"===this._options.wrap_attributes.substr(0,"force".length),this._is_wrap_attributes_force_expand_multiline="force-expand-multiline"===this._options.wrap_attributes,this._is_wrap_attributes_force_aligned="force-aligned"===this._options.wrap_attributes,this._is_wrap_attributes_aligned_multiple="aligned-multiple"===this._options.wrap_attributes,this._is_wrap_attributes_preserve="preserve"===this._options.wrap_attributes.substr(0,"preserve".length),this._is_wrap_attributes_preserve_aligned="preserve-aligned"===this._options.wrap_attributes}c.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},c.prototype.record_tag=function(t){var e=new h(this._current_frame,t,this._printer.indent_level);this._current_frame=e},c.prototype._try_pop_frame=function(t){var e=null;return t&&(e=t.parser_token,this._printer.indent_level=t.indent_level,this._current_frame=t.parent),e},c.prototype._get_frame=function(t,e){for(var n=this._current_frame;n&&-1===t.indexOf(n.tag);){if(e&&-1!==e.indexOf(n.tag)){n=null;break}n=n.parent}return n},c.prototype.try_pop=function(t,e){var n=this._get_frame([t],e);return this._try_pop_frame(n)},c.prototype.indent_to_tag=function(t){var e=this._get_frame(t);e&&(this._printer.indent_level=e.indent_level)},l.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._source_text,e=this._options.eol;"auto"===this._options.eol&&(e="\n",t&&a.test(t)&&(e=t.match(a)[0]));var n=(t=t.replace(_,"\n")).match(/^[\t ]*/)[0],i={text:"",type:""},r=new f,p=new u(this._options,n),h=new s(t,this._options).tokenize();this._tag_stack=new c(p);for(var l=null,d=h.next();d.type!==o.EOF;)d.type===o.TAG_OPEN||d.type===o.COMMENT?r=l=this._handle_tag_open(p,d,r,i):d.type===o.ATTRIBUTE||d.type===o.EQUALS||d.type===o.VALUE||d.type===o.TEXT&&!r.tag_complete?l=this._handle_inside_tag(p,d,r,h):d.type===o.TAG_CLOSE?l=this._handle_tag_close(p,d,r):d.type===o.TEXT?l=this._handle_text(p,d,r):p.add_raw_token(d),i=l,d=h.next();return p._output.get_code(e)},l.prototype._handle_tag_close=function(t,e,n){var i={text:e.text,type:e.type};return t.alignment_size=0,n.tag_complete=!0,t.set_space_before_token(e.newlines||""!==e.whitespace_before,!0),n.is_unformatted?t.add_raw_token(e):("<"===n.tag_start_char&&(t.set_space_before_token("/"===e.text[0],!0),this._is_wrap_attributes_force_expand_multiline&&n.has_wrapped_attrs&&t.print_newline(!1)),t.print_token(e)),!n.indent_content||n.is_unformatted||n.is_content_unformatted||(t.indent(),n.indent_content=!1),n.is_inline_element||n.is_unformatted||n.is_content_unformatted||t.set_wrap_point(),i},l.prototype._handle_inside_tag=function(t,e,n,i){var r=n.has_wrapped_attrs,s={text:e.text,type:e.type};if(t.set_space_before_token(e.newlines||""!==e.whitespace_before,!0),n.is_unformatted)t.add_raw_token(e);else if("{"===n.tag_start_char&&e.type===o.TEXT)t.print_preserved_newlines(e)?(e.newlines=0,t.add_raw_token(e)):t.print_token(e);else{if(e.type===o.ATTRIBUTE?(t.set_space_before_token(!0),n.attr_count+=1):(e.type===o.EQUALS||e.type===o.VALUE&&e.previous.type===o.EQUALS)&&t.set_space_before_token(!1),e.type===o.ATTRIBUTE&&"<"===n.tag_start_char&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(t.traverse_whitespace(e),r=r||0!==e.newlines),this._is_wrap_attributes_force)){var a=n.attr_count>1;if(this._is_wrap_attributes_force_expand_multiline&&1===n.attr_count){var _,u=!0,p=0;do{if((_=i.peek(p)).type===o.ATTRIBUTE){u=!1;break}p+=1}while(p<4&&_.type!==o.EOF&&_.type!==o.TAG_CLOSE);a=!u}a&&(t.print_newline(!1),r=!0)}t.print_token(e),r=r||t.previous_token_wrapped(),n.has_wrapped_attrs=r}return s},l.prototype._handle_text=function(t,e,n){var i={text:e.text,type:"TK_CONTENT"};return n.custom_beautifier_name?this._print_custom_beatifier_text(t,e,n):n.is_unformatted||n.is_content_unformatted?t.add_raw_token(e):(t.traverse_whitespace(e),t.print_token(e)),i},l.prototype._print_custom_beatifier_text=function(t,e,n){var i=this;if(""!==e.text){var r,s=e.text,o=1,a="",_="";"javascript"===n.custom_beautifier_name&&"function"==typeof this._js_beautify?r=this._js_beautify:"css"===n.custom_beautifier_name&&"function"==typeof this._css_beautify?r=this._css_beautify:"html"===n.custom_beautifier_name&&(r=function(t,e){return new l(t,e,i._js_beautify,i._css_beautify).beautify()}),"keep"===this._options.indent_scripts?o=0:"separate"===this._options.indent_scripts&&(o=-t.indent_level);var u=t.get_full_indent(o);if(s=s.replace(/\n[ \t]*$/,""),"html"!==n.custom_beautifier_name&&"<"===s[0]&&s.match(/^(|]]>)$/.exec(s);if(!p)return void t.add_raw_token(e);a=u+p[1]+"\n",s=p[4],p[5]&&(_=u+p[5]),s=s.replace(/\n[ \t]*$/,""),(p[2]||-1!==p[3].indexOf("\n"))&&(p=p[3].match(/[ \t]+$/))&&(e.whitespace_before=p[0])}if(s)if(r){var h=function(){this.eol="\n"};h.prototype=this._options.raw_options,s=r(u+s,new h)}else{var c=e.whitespace_before;c&&(s=s.replace(new RegExp("\n("+c+")?","g"),"\n")),s=u+s.replace(/\n/g,"\n"+u)}a&&(s=s?a+s+"\n"+_:a+_),t.print_newline(!1),s&&(e.text=s,e.whitespace_before="",e.newlines=0,t.add_raw_token(e),t.print_newline(!0))}},l.prototype._handle_tag_open=function(t,e,n,i){var r=this._get_tag_open_token(e);return!n.is_unformatted&&!n.is_content_unformatted||n.is_empty_element||e.type!==o.TAG_OPEN||0!==e.text.indexOf("]*)/),this.tag_check=n?n[1]:""):(n=e.text.match(/^{{(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=n?n[1]:"","{{#>"===e.text&&">"===this.tag_check&&null!==e.next&&(this.tag_check=e.next.text)),this.tag_check=this.tag_check.toLowerCase(),e.type===o.COMMENT&&(this.tag_complete=!0),this.is_start_tag="/"!==this.tag_check.charAt(0),this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||e.closed&&"/>"===e.closed.text,this.is_end_tag=this.is_end_tag||"{"===this.tag_start_char&&(this.text.length<3||/[^#\^]/.test(this.text.charAt(2)))):this.tag_complete=!0};l.prototype._get_tag_open_token=function(t){var e=new f(this._tag_stack.get_parser_token(),t);return e.alignment_size=this._options.wrap_attributes_indent_size,e.is_end_tag=e.is_end_tag||p(e.tag_check,this._options.void_elements),e.is_empty_element=e.tag_complete||e.is_start_tag&&e.is_end_tag,e.is_unformatted=!e.tag_complete&&p(e.tag_check,this._options.unformatted),e.is_content_unformatted=!e.is_empty_element&&p(e.tag_check,this._options.content_unformatted),e.is_inline_element=p(e.tag_name,this._options.inline)||"{"===e.tag_start_char,e},l.prototype._set_tag_position=function(t,e,n,i,r){if(n.is_empty_element||(n.is_end_tag?n.start_tag_token=this._tag_stack.try_pop(n.tag_name):(this._do_optional_end_element(n)&&(n.is_inline_element||t.print_newline(!1)),this._tag_stack.record_tag(n),"script"!==n.tag_name&&"style"!==n.tag_name||n.is_unformatted||n.is_content_unformatted||(n.custom_beautifier_name=function(t,e){var n=null,i=null;return e.closed?("script"===t?n="text/javascript":"style"===t&&(n="text/css"),(n=function(t){for(var e=null,n=t.next;n.type!==o.EOF&&t.closed!==n;){if(n.type===o.ATTRIBUTE&&"type"===n.text){n.next&&n.next.type===o.EQUALS&&n.next.next&&n.next.next.type===o.VALUE&&(e=n.next.next.text);break}n=n.next}return e}(e)||n).search("text/css")>-1?i="css":n.search(/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/)>-1?i="javascript":n.search(/(text|application|dojo)\/(x-)?(html)/)>-1?i="html":n.search(/test\/null/)>-1&&(i="null"),i):null}(n.tag_check,e)))),p(n.tag_check,this._options.extra_liners)&&(t.print_newline(!1),t._output.just_added_blankline()||t.print_newline(!0)),n.is_empty_element)"{"===n.tag_start_char&&"else"===n.tag_check&&(this._tag_stack.indent_to_tag(["if","unless","each"]),n.indent_content=!0,t.current_line_has_match(/{{#if/)||t.print_newline(!1)),"!--"===n.tag_name&&r.type===o.TAG_CLOSE&&i.is_end_tag&&-1===n.text.indexOf("\n")||(n.is_inline_element||n.is_unformatted||t.print_newline(!1),this._calcluate_parent_multiline(t,n));else if(n.is_end_tag){var s=!1;s=(s=n.start_tag_token&&n.start_tag_token.multiline_content)||!n.is_inline_element&&!(i.is_inline_element||i.is_unformatted)&&!(r.type===o.TAG_CLOSE&&n.start_tag_token===i)&&"TK_CONTENT"!==r.type,(n.is_content_unformatted||n.is_unformatted)&&(s=!1),s&&t.print_newline(!1)}else n.indent_content=!n.custom_beautifier_name,"<"===n.tag_start_char&&("html"===n.tag_name?n.indent_content=this._options.indent_inner_html:"head"===n.tag_name?n.indent_content=this._options.indent_head_inner_html:"body"===n.tag_name&&(n.indent_content=this._options.indent_body_inner_html)),n.is_inline_element||n.is_unformatted||"TK_CONTENT"===r.type&&!n.is_content_unformatted||t.print_newline(!1),this._calcluate_parent_multiline(t,n)},l.prototype._calcluate_parent_multiline=function(t,e){!e.parent||!t._output.just_added_newline()||(e.is_inline_element||e.is_unformatted)&&e.parent.is_inline_element||(e.parent.multiline_content=!0)};var d=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","nav","ol","p","pre","section","table","ul"],g=["a","audio","del","ins","map","noscript","video"];l.prototype._do_optional_end_element=function(t){var e=null;if(!t.is_empty_element&&t.is_start_tag&&t.parent){if("body"===t.tag_name)e=e||this._tag_stack.try_pop("head");else if("li"===t.tag_name)e=e||this._tag_stack.try_pop("li",["ol","ul"]);else if("dd"===t.tag_name||"dt"===t.tag_name)e=(e=e||this._tag_stack.try_pop("dt",["dl"]))||this._tag_stack.try_pop("dd",["dl"]);else if("p"===t.parent.tag_name&&-1!==d.indexOf(t.tag_name)){var n=t.parent.parent;n&&-1!==g.indexOf(n.tag_name)||(e=e||this._tag_stack.try_pop("p"))}else"rp"===t.tag_name||"rt"===t.tag_name?e=(e=e||this._tag_stack.try_pop("rt",["ruby","rtc"]))||this._tag_stack.try_pop("rp",["ruby","rtc"]):"optgroup"===t.tag_name?e=e||this._tag_stack.try_pop("optgroup",["select"]):"option"===t.tag_name?e=e||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):"colgroup"===t.tag_name?e=e||this._tag_stack.try_pop("caption",["table"]):"thead"===t.tag_name?e=(e=e||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]):"tbody"===t.tag_name||"tfoot"===t.tag_name?e=(e=(e=(e=e||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]))||this._tag_stack.try_pop("thead",["table"]))||this._tag_stack.try_pop("tbody",["table"]):"tr"===t.tag_name?e=(e=(e=e||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]))||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"]):"th"!==t.tag_name&&"td"!==t.tag_name||(e=(e=e||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]))||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return t.parent=this._tag_stack.get_parser_token(),e}},t.exports.Beautifier=l},function(t,e,n){var i=n(6).Options;function r(t){i.call(this,t,"html"),1===this.templating.length&&"auto"===this.templating[0]&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}r.prototype=new i,t.exports.Options=r},function(t,e,n){var i=n(9).Tokenizer,r=n(9).TOKEN,s=n(13).Directives,o=n(14).TemplatablePattern,a=n(12).Pattern,_={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:r.START,RAW:r.RAW,EOF:r.EOF},u=new s(/<\!--/,/-->/),p=function(t,e){i.call(this,t,e),this._current_tag_name="";var n=new o(this._input).read_options(this._options),r=new a(this._input);if(this.__patterns={word:n.until(/[\n\r\t <]/),single_quote:n.until_after(/'/),double_quote:n.until_after(/"/),attribute:n.until(/[\n\r\t =>]|\/>/),element_name:n.until(/[\n\r\t >\/]/),handlebars_comment:r.starting_with(/{{!--/).until_after(/--}}/),handlebars:r.starting_with(/{{/).until_after(/}}/),handlebars_open:r.until(/[\n\r\t }]/),handlebars_raw_close:r.until(/}}/),comment:r.starting_with(//),cdata:r.starting_with(//),conditional_comment:r.starting_with(//),processing:r.starting_with(/<\?/).until_after(/\?>/)},this._options.indent_handlebars&&(this.__patterns.word=this.__patterns.word.exclude("handlebars")),this._unformatted_content_delimiter=null,this._options.unformatted_content_delimiter){var s=this._input.get_literal_regexp(this._options.unformatted_content_delimiter);this.__patterns.unformatted_content_delimiter=r.matching(s).until_after(s)}};(p.prototype=new i)._is_comment=function(t){return!1},p.prototype._is_opening=function(t){return t.type===_.TAG_OPEN},p.prototype._is_closing=function(t,e){return t.type===_.TAG_CLOSE&&e&&((">"===t.text||"/>"===t.text)&&"<"===e.text[0]||"}}"===t.text&&"{"===e.text[0]&&"{"===e.text[1])},p.prototype._reset=function(){this._current_tag_name=""},p.prototype._get_next_token=function(t,e){var n=null;this._readWhitespace();var i=this._input.peek();return null===i?this._create_token(_.EOF,""):n=(n=(n=(n=(n=(n=(n=(n=(n=n||this._read_open_handlebars(i,e))||this._read_attribute(i,t,e))||this._read_close(i,e))||this._read_raw_content(i,t,e))||this._read_content_word(i))||this._read_comment_or_cdata(i))||this._read_processing(i))||this._read_open(i,e))||this._create_token(_.UNKNOWN,this._input.next())},p.prototype._read_comment_or_cdata=function(t){var e=null,n=null,i=null;return"<"===t&&("!"===this._input.peek(1)&&((n=this.__patterns.comment.read())?(i=u.get_directives(n))&&"start"===i.ignore&&(n+=u.readIgnored(this._input)):n=this.__patterns.cdata.read()),n&&((e=this._create_token(_.COMMENT,n)).directives=i)),e},p.prototype._read_processing=function(t){var e=null,n=null;if("<"===t){var i=this._input.peek(1);"!"!==i&&"?"!==i||(n=(n=this.__patterns.conditional_comment.read())||this.__patterns.processing.read()),n&&((e=this._create_token(_.COMMENT,n)).directives=null)}return e},p.prototype._read_open=function(t,e){var n=null,i=null;return e||"<"===t&&(n=this._input.next(),"/"===this._input.peek()&&(n+=this._input.next()),n+=this.__patterns.element_name.read(),i=this._create_token(_.TAG_OPEN,n)),i},p.prototype._read_open_handlebars=function(t,e){var n=null,i=null;return e||this._options.indent_handlebars&&"{"===t&&"{"===this._input.peek(1)&&("!"===this._input.peek(2)?(n=(n=this.__patterns.handlebars_comment.read())||this.__patterns.handlebars.read(),i=this._create_token(_.COMMENT,n)):(n=this.__patterns.handlebars_open.read(),i=this._create_token(_.TAG_OPEN,n))),i},p.prototype._read_close=function(t,e){var n=null,i=null;return e&&("<"===e.text[0]&&(">"===t||"/"===t&&">"===this._input.peek(1))?(n=this._input.next(),"/"===t&&(n+=this._input.next()),i=this._create_token(_.TAG_CLOSE,n)):"{"===e.text[0]&&"}"===t&&"}"===this._input.peek(1)&&(this._input.next(),this._input.next(),i=this._create_token(_.TAG_CLOSE,"}}"))),i},p.prototype._read_attribute=function(t,e,n){var i=null,r="";if(n&&"<"===n.text[0])if("="===t)i=this._create_token(_.EQUALS,this._input.next());else if('"'===t||"'"===t){var s=this._input.next();s+='"'===t?this.__patterns.double_quote.read():this.__patterns.single_quote.read(),i=this._create_token(_.VALUE,s)}else(r=this.__patterns.attribute.read())&&(i=e.type===_.EQUALS?this._create_token(_.VALUE,r):this._create_token(_.ATTRIBUTE,r));return i},p.prototype._is_content_unformatted=function(t){return-1===this._options.void_elements.indexOf(t)&&(-1!==this._options.content_unformatted.indexOf(t)||-1!==this._options.unformatted.indexOf(t))},p.prototype._read_raw_content=function(t,e,n){var i="";if(n&&"{"===n.text[0])i=this.__patterns.handlebars_raw_close.read();else if(e.type===_.TAG_CLOSE&&"<"===e.opened.text[0]&&"/"!==e.text[0]){var r=e.opened.text.substr(1).toLowerCase();if("script"===r||"style"===r){var s=this._read_comment_or_cdata(t);if(s)return s.type=_.TEXT,s;i=this._input.readUntil(new RegExp("","ig"))}else this._is_content_unformatted(r)&&(i=this._input.readUntil(new RegExp("","ig")))}return i?this._create_token(_.TEXT,i):null},p.prototype._read_content_word=function(t){var e="";if(this._options.unformatted_content_delimiter&&t===this._options.unformatted_content_delimiter[0]&&(e=this.__patterns.unformatted_content_delimiter.read()),e||(e=this.__patterns.word.read()),e)return this._create_token(_.TEXT,e)},t.exports.Tokenizer=p,t.exports.TOKEN=_}],e={},n=function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,n),s.exports}(18);s=n}();var o=s;i=[n,n(937),n(40)],void 0===(r=function(t){var e=n(937),i=n(40);return{html_beautify:function(t,n){return o(t,n,e.js_beautify,i.css_beautify)}}}.apply(e,i))||(t.exports=r)}()},937:(t,e)=>{var n;!function(){var i;!function(){"use strict";var t=[function(t,e,n){var i=n(1).Beautifier,r=n(5).Options;t.exports=function(t,e){return new i(t,e).beautify()},t.exports.defaultOptions=function(){return new r}},function(t,e,n){var i=n(2).Output,r=n(3).Token,s=n(4),o=n(5).Options,a=n(7).Tokenizer,_=n(7).line_starters,u=n(7).positionable_operators,p=n(7).TOKEN;function h(t,e){return-1!==e.indexOf(t)}function c(t,e){return t&&t.type===p.RESERVED&&t.text===e}function l(t,e){return t&&t.type===p.RESERVED&&h(t.text,e)}var f=["case","return","do","if","throw","else","await","break","continue","async"],d=function(t){for(var e={},n=0;nn&&(n=t.line_indent_level)),{mode:e,parent:t,last_token:t?t.last_token:new r(p.START_BLOCK,""),last_word:t?t.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,indentation_level:n,alignment:0,line_indent_level:t?t.line_indent_level:n,start_line_index:this._output.get_line_number(),ternary_depth:0}},S.prototype._reset=function(t){var e=t.match(/^[\t ]*/)[0];this._last_last_text="",this._output=new i(this._options,e),this._output.raw=this._options.test_output_raw,this._flag_store=[],this.set_mode(y);var n=new a(t,this._options);return this._tokens=n.tokenize(),t},S.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._reset(this._source_text),e=this._options.eol;"auto"===this._options.eol&&(e="\n",t&&s.lineBreak.test(t||"")&&(e=t.match(s.lineBreak)[0]));for(var n=this._tokens.next();n;)this.handle_token(n),this._last_last_text=this._flags.last_token.text,this._flags.last_token=n,n=this._tokens.next();return this._output.get_code(e)},S.prototype.handle_token=function(t,e){t.type===p.START_EXPR?this.handle_start_expr(t):t.type===p.END_EXPR?this.handle_end_expr(t):t.type===p.START_BLOCK?this.handle_start_block(t):t.type===p.END_BLOCK?this.handle_end_block(t):t.type===p.WORD||t.type===p.RESERVED?this.handle_word(t):t.type===p.SEMICOLON?this.handle_semicolon(t):t.type===p.STRING?this.handle_string(t):t.type===p.EQUALS?this.handle_equals(t):t.type===p.OPERATOR?this.handle_operator(t):t.type===p.COMMA?this.handle_comma(t):t.type===p.BLOCK_COMMENT?this.handle_block_comment(t,e):t.type===p.COMMENT?this.handle_comment(t,e):t.type===p.DOT?this.handle_dot(t):t.type===p.EOF?this.handle_eof(t):(t.type,p.UNKNOWN,this.handle_unknown(t,e))},S.prototype.handle_whitespace_and_comments=function(t,e){var n=t.newlines,i=this._options.keep_array_indentation&&O(this._flags.mode);if(t.comments_before)for(var r=t.comments_before.next();r;)this.handle_whitespace_and_comments(r,e),this.handle_token(r,e),r=t.comments_before.next();if(i)for(var s=0;s0,e);else if(this._options.max_preserve_newlines&&n>this._options.max_preserve_newlines&&(n=this._options.max_preserve_newlines),this._options.preserve_newlines&&n>1){this.print_newline(!1,e);for(var o=1;o0&&(!this._flags.parent||this._flags.indentation_level>this._flags.parent.indentation_level)&&(this._flags.indentation_level-=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},S.prototype.set_mode=function(t){this._flags?(this._flag_store.push(this._flags),this._previous_flags=this._flags):this._previous_flags=this.create_flags(null,t),this._flags=this.create_flags(this._previous_flags,t),this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},S.prototype.restore_mode=function(){this._flag_store.length>0&&(this._previous_flags=this._flags,this._flags=this._flag_store.pop(),this._previous_flags.mode===m&&E(this._output,this._previous_flags),this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},S.prototype.start_of_object_property=function(){return this._flags.parent.mode===b&&this._flags.mode===m&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||l(this._flags.last_token,["get","set"]))},S.prototype.start_of_statement=function(t){var e=!1;return!!(e=(e=(e=(e=(e=(e=(e=e||l(this._flags.last_token,["var","let","const"])&&t.type===p.WORD)||c(this._flags.last_token,"do"))||!(this._flags.parent.mode===b&&this._flags.mode===m)&&l(this._flags.last_token,T)&&!t.newlines)||c(this._flags.last_token,"else")&&!(c(t,"if")&&!t.comments_before))||this._flags.last_token.type===p.END_EXPR&&(this._previous_flags.mode===w||this._previous_flags.mode===k))||this._flags.last_token.type===p.WORD&&this._flags.mode===y&&!this._flags.in_case&&!("--"===t.text||"++"===t.text)&&"function"!==this._last_last_text&&t.type!==p.WORD&&t.type!==p.RESERVED)||this._flags.mode===b&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||l(this._flags.last_token,["get","set"])))&&(this.set_mode(m),this.indent(),this.handle_whitespace_and_comments(t,!0),this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t,l(t,["do","for","if","while"])),!0)},S.prototype.handle_start_expr=function(t){this.start_of_statement(t)||this.handle_whitespace_and_comments(t);var e=x;if("["===t.text){if(this._flags.last_token.type===p.WORD||")"===this._flags.last_token.text)return l(this._flags.last_token,_)&&(this._output.space_before_token=!0),this.print_token(t),this.set_mode(e),this.indent(),void(this._options.space_in_paren&&(this._output.space_before_token=!0));e=v,O(this._flags.mode)&&("["!==this._flags.last_token.text&&(","!==this._flags.last_token.text||"]"!==this._last_last_text&&"}"!==this._last_last_text)||this._options.keep_array_indentation||this.print_newline()),h(this._flags.last_token.type,[p.START_EXPR,p.END_EXPR,p.WORD,p.OPERATOR,p.DOT])||(this._output.space_before_token=!0)}else{if(this._flags.last_token.type===p.RESERVED)"for"===this._flags.last_token.text?(this._output.space_before_token=this._options.space_before_conditional,e=w):h(this._flags.last_token.text,["if","while","switch"])?(this._output.space_before_token=this._options.space_before_conditional,e=k):h(this._flags.last_word,["await","async"])?this._output.space_before_token=!0:"import"===this._flags.last_token.text&&""===t.whitespace_before?this._output.space_before_token=!1:(h(this._flags.last_token.text,_)||"catch"===this._flags.last_token.text)&&(this._output.space_before_token=!0);else if(this._flags.last_token.type===p.EQUALS||this._flags.last_token.type===p.OPERATOR)this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t);else if(this._flags.last_token.type===p.WORD){this._output.space_before_token=!1;var n=this._tokens.peek(-3);if(this._options.space_after_named_function&&n){var i=this._tokens.peek(-4);l(n,["async","function"])||"*"===n.text&&l(i,["async","function"])?this._output.space_before_token=!0:this._flags.mode===b&&("{"!==n.text&&","!==n.text&&("*"!==n.text||"{"!==i.text&&","!==i.text)||(this._output.space_before_token=!0))}}else this.allow_wrap_or_preserved_newline(t);(this._flags.last_token.type===p.RESERVED&&("function"===this._flags.last_word||"typeof"===this._flags.last_word)||"*"===this._flags.last_token.text&&(h(this._last_last_text,["function","yield"])||this._flags.mode===b&&h(this._last_last_text,["{",","])))&&(this._output.space_before_token=this._options.space_after_anon_function)}";"===this._flags.last_token.text||this._flags.last_token.type===p.START_BLOCK?this.print_newline():this._flags.last_token.type!==p.END_EXPR&&this._flags.last_token.type!==p.START_EXPR&&this._flags.last_token.type!==p.END_BLOCK&&"."!==this._flags.last_token.text&&this._flags.last_token.type!==p.COMMA||this.allow_wrap_or_preserved_newline(t,t.newlines),this.print_token(t),this.set_mode(e),this._options.space_in_paren&&(this._output.space_before_token=!0),this.indent()},S.prototype.handle_end_expr=function(t){for(;this._flags.mode===m;)this.restore_mode();this.handle_whitespace_and_comments(t),this._flags.multiline_frame&&this.allow_wrap_or_preserved_newline(t,"]"===t.text&&O(this._flags.mode)&&!this._options.keep_array_indentation),this._options.space_in_paren&&(this._flags.last_token.type!==p.START_EXPR||this._options.space_in_empty_paren?this._output.space_before_token=!0:(this._output.trim(),this._output.space_before_token=!1)),this.deindent(),this.print_token(t),this.restore_mode(),E(this._output,this._previous_flags),this._flags.do_while&&this._previous_flags.mode===k&&(this._previous_flags.mode=x,this._flags.do_block=!1,this._flags.do_while=!1)},S.prototype.handle_start_block=function(t){this.handle_whitespace_and_comments(t);var e=this._tokens.peek(),n=this._tokens.peek(1);"switch"===this._flags.last_word&&this._flags.last_token.type===p.END_EXPR?(this.set_mode(y),this._flags.in_case_statement=!0):this._flags.case_body?this.set_mode(y):n&&(h(n.text,[":",","])&&h(e.type,[p.STRING,p.WORD,p.RESERVED])||h(e.text,["get","set","..."])&&h(n.type,[p.WORD,p.RESERVED]))?h(this._last_last_text,["class","interface"])?this.set_mode(y):this.set_mode(b):this._flags.last_token.type===p.OPERATOR&&"=>"===this._flags.last_token.text?this.set_mode(y):h(this._flags.last_token.type,[p.EQUALS,p.START_EXPR,p.COMMA,p.OPERATOR])||l(this._flags.last_token,["return","throw","import","default"])?this.set_mode(b):this.set_mode(y);var i=!e.comments_before&&"}"===e.text,r=i&&"function"===this._flags.last_word&&this._flags.last_token.type===p.END_EXPR;if(this._options.brace_preserve_inline){var s=0,o=null;this._flags.inline_frame=!0;do{if(s+=1,(o=this._tokens.peek(s-1)).newlines){this._flags.inline_frame=!1;break}}while(o.type!==p.EOF&&(o.type!==p.END_BLOCK||o.opened!==t))}("expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines)&&!this._flags.inline_frame?this._flags.last_token.type!==p.OPERATOR&&(r||this._flags.last_token.type===p.EQUALS||l(this._flags.last_token,f)&&"else"!==this._flags.last_token.text)?this._output.space_before_token=!0:this.print_newline(!1,!0):(!O(this._previous_flags.mode)||this._flags.last_token.type!==p.START_EXPR&&this._flags.last_token.type!==p.COMMA||((this._flags.last_token.type===p.COMMA||this._options.space_in_paren)&&(this._output.space_before_token=!0),(this._flags.last_token.type===p.COMMA||this._flags.last_token.type===p.START_EXPR&&this._flags.inline_frame)&&(this.allow_wrap_or_preserved_newline(t),this._previous_flags.multiline_frame=this._previous_flags.multiline_frame||this._flags.multiline_frame,this._flags.multiline_frame=!1)),this._flags.last_token.type!==p.OPERATOR&&this._flags.last_token.type!==p.START_EXPR&&(this._flags.last_token.type!==p.START_BLOCK||this._flags.inline_frame?this._output.space_before_token=!0:this.print_newline())),this.print_token(t),this.indent(),i||this._options.brace_preserve_inline&&this._flags.inline_frame||this.print_newline()},S.prototype.handle_end_block=function(t){for(this.handle_whitespace_and_comments(t);this._flags.mode===m;)this.restore_mode();var e=this._flags.last_token.type===p.START_BLOCK;this._flags.inline_frame&&!e?this._output.space_before_token=!0:"expand"===this._options.brace_style?e||this.print_newline():e||(O(this._flags.mode)&&this._options.keep_array_indentation?(this._options.keep_array_indentation=!1,this.print_newline(),this._options.keep_array_indentation=!0):this.print_newline()),this.restore_mode(),this.print_token(t)},S.prototype.handle_word=function(t){if(t.type===p.RESERVED&&(h(t.text,["set","get"])&&this._flags.mode!==b||"import"===t.text&&"("===this._tokens.peek().text||h(t.text,["as","from"])&&!this._flags.import_block||this._flags.mode===b&&":"===this._tokens.peek().text)&&(t.type=p.WORD),this.start_of_statement(t)?l(this._flags.last_token,["var","let","const"])&&t.type===p.WORD&&(this._flags.declaration_statement=!0):!t.newlines||A(this._flags.mode)||this._flags.last_token.type===p.OPERATOR&&"--"!==this._flags.last_token.text&&"++"!==this._flags.last_token.text||this._flags.last_token.type===p.EQUALS||!this._options.preserve_newlines&&l(this._flags.last_token,["var","let","const","set","get"])?this.handle_whitespace_and_comments(t):(this.handle_whitespace_and_comments(t),this.print_newline()),this._flags.do_block&&!this._flags.do_while){if(c(t,"while"))return this._output.space_before_token=!0,this.print_token(t),this._output.space_before_token=!0,void(this._flags.do_while=!0);this.print_newline(),this._flags.do_block=!1}if(this._flags.if_block)if(!this._flags.else_block&&c(t,"else"))this._flags.else_block=!0;else{for(;this._flags.mode===m;)this.restore_mode();this._flags.if_block=!1,this._flags.else_block=!1}if(this._flags.in_case_statement&&l(t,["case","default"]))return this.print_newline(),this._flags.last_token.type!==p.END_BLOCK&&(this._flags.case_body||this._options.jslint_happy)&&this.deindent(),this._flags.case_body=!1,this.print_token(t),void(this._flags.in_case=!0);if(this._flags.last_token.type!==p.COMMA&&this._flags.last_token.type!==p.START_EXPR&&this._flags.last_token.type!==p.EQUALS&&this._flags.last_token.type!==p.OPERATOR||this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t),c(t,"function"))return(h(this._flags.last_token.text,["}",";"])||this._output.just_added_newline()&&!h(this._flags.last_token.text,["(","[","{",":","=",","])&&this._flags.last_token.type!==p.OPERATOR)&&(this._output.just_added_blankline()||t.comments_before||(this.print_newline(),this.print_newline(!0))),this._flags.last_token.type===p.RESERVED||this._flags.last_token.type===p.WORD?l(this._flags.last_token,["get","set","new","export"])||l(this._flags.last_token,T)||c(this._flags.last_token,"default")&&"export"===this._last_last_text||"declare"===this._flags.last_token.text?this._output.space_before_token=!0:this.print_newline():this._flags.last_token.type===p.OPERATOR||"="===this._flags.last_token.text?this._output.space_before_token=!0:(this._flags.multiline_frame||!A(this._flags.mode)&&!O(this._flags.mode))&&this.print_newline(),this.print_token(t),void(this._flags.last_word=t.text);var e="NONE";this._flags.last_token.type===p.END_BLOCK?this._previous_flags.inline_frame?e="SPACE":l(t,["else","catch","finally","from"])?"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines?e="NEWLINE":(e="SPACE",this._output.space_before_token=!0):e="NEWLINE":this._flags.last_token.type===p.SEMICOLON&&this._flags.mode===y?e="NEWLINE":this._flags.last_token.type===p.SEMICOLON&&A(this._flags.mode)?e="SPACE":this._flags.last_token.type===p.STRING?e="NEWLINE":this._flags.last_token.type===p.RESERVED||this._flags.last_token.type===p.WORD||"*"===this._flags.last_token.text&&(h(this._last_last_text,["function","yield"])||this._flags.mode===b&&h(this._last_last_text,["{",","]))?e="SPACE":this._flags.last_token.type===p.START_BLOCK?e=this._flags.inline_frame?"SPACE":"NEWLINE":this._flags.last_token.type===p.END_EXPR&&(this._output.space_before_token=!0,e="NEWLINE"),l(t,_)&&")"!==this._flags.last_token.text&&(e=this._flags.inline_frame||"else"===this._flags.last_token.text||"export"===this._flags.last_token.text?"SPACE":"NEWLINE"),l(t,["else","catch","finally"])?(this._flags.last_token.type!==p.END_BLOCK||this._previous_flags.mode!==y||"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines)&&!this._flags.inline_frame?this.print_newline():(this._output.trim(!0),"}"!==this._output.current_line.last()&&this.print_newline(),this._output.space_before_token=!0):"NEWLINE"===e?l(this._flags.last_token,f)||"declare"===this._flags.last_token.text&&l(t,["var","let","const"])?this._output.space_before_token=!0:this._flags.last_token.type!==p.END_EXPR?this._flags.last_token.type===p.START_EXPR&&l(t,["var","let","const"])||":"===this._flags.last_token.text||(c(t,"if")&&c(t.previous,"else")?this._output.space_before_token=!0:this.print_newline()):l(t,_)&&")"!==this._flags.last_token.text&&this.print_newline():this._flags.multiline_frame&&O(this._flags.mode)&&","===this._flags.last_token.text&&"}"===this._last_last_text?this.print_newline():"SPACE"===e&&(this._output.space_before_token=!0),!t.previous||t.previous.type!==p.WORD&&t.previous.type!==p.RESERVED||(this._output.space_before_token=!0),this.print_token(t),this._flags.last_word=t.text,t.type===p.RESERVED&&("do"===t.text?this._flags.do_block=!0:"if"===t.text?this._flags.if_block=!0:"import"===t.text?this._flags.import_block=!0:this._flags.import_block&&c(t,"from")&&(this._flags.import_block=!1))},S.prototype.handle_semicolon=function(t){this.start_of_statement(t)?this._output.space_before_token=!1:this.handle_whitespace_and_comments(t);for(var e=this._tokens.peek();!(this._flags.mode!==m||this._flags.if_block&&c(e,"else")||this._flags.do_block);)this.restore_mode();this._flags.import_block&&(this._flags.import_block=!1),this.print_token(t)},S.prototype.handle_string=function(t){(!t.text.startsWith("`")||0!==t.newlines||""!==t.whitespace_before||")"!==t.previous.text&&this._flags.last_token.type!==p.WORD)&&(this.start_of_statement(t)?this._output.space_before_token=!0:(this.handle_whitespace_and_comments(t),this._flags.last_token.type===p.RESERVED||this._flags.last_token.type===p.WORD||this._flags.inline_frame?this._output.space_before_token=!0:this._flags.last_token.type===p.COMMA||this._flags.last_token.type===p.START_EXPR||this._flags.last_token.type===p.EQUALS||this._flags.last_token.type===p.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t):!t.text.startsWith("`")||this._flags.last_token.type!==p.END_EXPR||"]"!==t.previous.text&&")"!==t.previous.text||0!==t.newlines?this.print_newline():this._output.space_before_token=!0)),this.print_token(t)},S.prototype.handle_equals=function(t){this.start_of_statement(t)||this.handle_whitespace_and_comments(t),this._flags.declaration_statement&&(this._flags.declaration_assignment=!0),this._output.space_before_token=!0,this.print_token(t),this._output.space_before_token=!0},S.prototype.handle_comma=function(t){this.handle_whitespace_and_comments(t,!0),this.print_token(t),this._output.space_before_token=!0,this._flags.declaration_statement?(A(this._flags.parent.mode)&&(this._flags.declaration_assignment=!1),this._flags.declaration_assignment?(this._flags.declaration_assignment=!1,this.print_newline(!1,!0)):this._options.comma_first&&this.allow_wrap_or_preserved_newline(t)):this._flags.mode===b||this._flags.mode===m&&this._flags.parent.mode===b?(this._flags.mode===m&&this.restore_mode(),this._flags.inline_frame||this.print_newline()):this._options.comma_first&&this.allow_wrap_or_preserved_newline(t)},S.prototype.handle_operator=function(t){var e="*"===t.text&&(l(this._flags.last_token,["function","yield"])||h(this._flags.last_token.type,[p.START_BLOCK,p.COMMA,p.END_BLOCK,p.SEMICOLON])),n=h(t.text,["-","+"])&&(h(this._flags.last_token.type,[p.START_BLOCK,p.START_EXPR,p.EQUALS,p.OPERATOR])||h(this._flags.last_token.text,_)||","===this._flags.last_token.text);if(this.start_of_statement(t));else{var i=!e;this.handle_whitespace_and_comments(t,i)}if(l(this._flags.last_token,f))return this._output.space_before_token=!0,void this.print_token(t);if("*"!==t.text||this._flags.last_token.type!==p.DOT)if("::"!==t.text){if(this._flags.last_token.type===p.OPERATOR&&h(this._options.operator_position,g)&&this.allow_wrap_or_preserved_newline(t),":"===t.text&&this._flags.in_case)return this.print_token(t),this._flags.in_case=!1,this._flags.case_body=!0,void(this._tokens.peek().type!==p.START_BLOCK?(this.indent(),this.print_newline()):this._output.space_before_token=!0);var r=!0,s=!0,o=!1;if(":"===t.text?0===this._flags.ternary_depth?r=!1:(this._flags.ternary_depth-=1,o=!0):"?"===t.text&&(this._flags.ternary_depth+=1),!n&&!e&&this._options.preserve_newlines&&h(t.text,u)){var a=":"===t.text,c=a&&o,b=a&&!o;switch(this._options.operator_position){case d.before_newline:return this._output.space_before_token=!b,this.print_token(t),a&&!c||this.allow_wrap_or_preserved_newline(t),void(this._output.space_before_token=!0);case d.after_newline:return this._output.space_before_token=!0,!a||c?this._tokens.peek().newlines?this.print_newline(!1,!0):this.allow_wrap_or_preserved_newline(t):this._output.space_before_token=!1,this.print_token(t),void(this._output.space_before_token=!0);case d.preserve_newline:return b||this.allow_wrap_or_preserved_newline(t),r=!(this._output.just_added_newline()||b),this._output.space_before_token=r,this.print_token(t),void(this._output.space_before_token=!0)}}if(e){this.allow_wrap_or_preserved_newline(t),r=!1;var v=this._tokens.peek();s=v&&h(v.type,[p.WORD,p.RESERVED])}else"..."===t.text?(this.allow_wrap_or_preserved_newline(t),r=this._flags.last_token.type===p.START_BLOCK,s=!1):(h(t.text,["--","++","!","~"])||n)&&(this._flags.last_token.type!==p.COMMA&&this._flags.last_token.type!==p.START_EXPR||this.allow_wrap_or_preserved_newline(t),r=!1,s=!1,!t.newlines||"--"!==t.text&&"++"!==t.text||this.print_newline(!1,!0),";"===this._flags.last_token.text&&A(this._flags.mode)&&(r=!0),this._flags.last_token.type===p.RESERVED?r=!0:this._flags.last_token.type===p.END_EXPR?r=!("]"===this._flags.last_token.text&&("--"===t.text||"++"===t.text)):this._flags.last_token.type===p.OPERATOR&&(r=h(t.text,["--","-","++","+"])&&h(this._flags.last_token.text,["--","-","++","+"]),h(t.text,["+","-"])&&h(this._flags.last_token.text,["--","++"])&&(s=!0)),(this._flags.mode!==y||this._flags.inline_frame)&&this._flags.mode!==m||"{"!==this._flags.last_token.text&&";"!==this._flags.last_token.text||this.print_newline());this._output.space_before_token=this._output.space_before_token||r,this.print_token(t),this._output.space_before_token=s}else this.print_token(t);else this.print_token(t)},S.prototype.handle_block_comment=function(t,e){return this._output.raw?(this._output.add_raw_token(t),void(t.directives&&"end"===t.directives.preserve&&(this._output.raw=this._options.test_output_raw))):t.directives?(this.print_newline(!1,e),this.print_token(t),"start"===t.directives.preserve&&(this._output.raw=!0),void this.print_newline(!1,!0)):s.newline.test(t.text)||t.newlines?void this.print_block_commment(t,e):(this._output.space_before_token=!0,this.print_token(t),void(this._output.space_before_token=!0))},S.prototype.print_block_commment=function(t,e){var n,i=function(t){for(var e=[],n=(t=t.replace(s.allLineBreaks,"\n")).indexOf("\n");-1!==n;)e.push(t.substring(0,n)),n=(t=t.substring(n+1)).indexOf("\n");return t.length&&e.push(t),e}(t.text),r=!1,o=!1,a=t.whitespace_before,_=a.length;if(this.print_newline(!1,e),this.print_token_line_indentation(t),this._output.add_token(i[0]),this.print_newline(!1,e),i.length>1){for(r=function(t,e){for(var n=0;n0&&(e=new Array(t.indent_level+1).join(this.__indent_string)),this.__base_string=e,this.__base_string_length=e.length}function i(t,i){this.__indent_cache=new n(t,i),this.raw=!1,this._end_with_newline=t.end_with_newline,this.indent_size=t.indent_size,this.wrap_line_length=t.wrap_line_length,this.indent_empty_lines=t.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new e(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}e.prototype.clone_empty=function(){var t=new e(this.__parent);return t.set_indent(this.__indent_count,this.__alignment_count),t},e.prototype.item=function(t){return t<0?this.__items[this.__items.length+t]:this.__items[t]},e.prototype.has_match=function(t){for(var e=this.__items.length-1;e>=0;e--)if(this.__items[e].match(t))return!0;return!1},e.prototype.set_indent=function(t,e){this.is_empty()&&(this.__indent_count=t||0,this.__alignment_count=e||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},e.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},e.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},e.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var t=this.__parent.current_line;return t.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),t.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),t.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count," "===t.__items[0]&&(t.__items.splice(0,1),t.__character_count-=1),!0}return!1},e.prototype.is_empty=function(){return 0===this.__items.length},e.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},e.prototype.push=function(t){this.__items.push(t);var e=t.lastIndexOf("\n");-1!==e?this.__character_count=t.length-e:this.__character_count+=t.length},e.prototype.pop=function(){var t=null;return this.is_empty()||(t=this.__items.pop(),this.__character_count-=t.length),t},e.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},e.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},e.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},e.prototype.toString=function(){var t="";return this.is_empty()?this.__parent.indent_empty_lines&&(t=this.__parent.get_indent_string(this.__indent_count)):(t=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),t+=this.__items.join("")),t},n.prototype.get_indent_size=function(t,e){var n=this.__base_string_length;return e=e||0,t<0&&(n=0),(n+=t*this.__indent_size)+e},n.prototype.get_indent_string=function(t,e){var n=this.__base_string;return e=e||0,t<0&&(t=0,n=""),e+=t*this.__indent_size,this.__ensure_cache(e),n+this.__cache[e]},n.prototype.__ensure_cache=function(t){for(;t>=this.__cache.length;)this.__add_column()},n.prototype.__add_column=function(){var t=this.__cache.length,e=0,n="";this.__indent_size&&t>=this.__indent_size&&(t-=(e=Math.floor(t/this.__indent_size))*this.__indent_size,n=new Array(e+1).join(this.__indent_string)),t&&(n+=new Array(t+1).join(" ")),this.__cache.push(n)},i.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},i.prototype.get_line_number=function(){return this.__lines.length},i.prototype.get_indent_string=function(t,e){return this.__indent_cache.get_indent_string(t,e)},i.prototype.get_indent_size=function(t,e){return this.__indent_cache.get_indent_size(t,e)},i.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},i.prototype.add_new_line=function(t){return!(this.is_empty()||!t&&this.just_added_newline()||(this.raw||this.__add_outputline(),0))},i.prototype.get_code=function(t){this.trim(!0);var e=this.current_line.pop();e&&("\n"===e[e.length-1]&&(e=e.replace(/\n+$/g,"")),this.current_line.push(e)),this._end_with_newline&&this.__add_outputline();var n=this.__lines.join("\n");return"\n"!==t&&(n=n.replace(/[\n]/g,t)),n},i.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},i.prototype.set_indent=function(t,e){return t=t||0,e=e||0,this.next_line.set_indent(t,e),this.__lines.length>1?(this.current_line.set_indent(t,e),!0):(this.current_line.set_indent(),!1)},i.prototype.add_raw_token=function(t){for(var e=0;e1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},i.prototype.just_added_newline=function(){return this.current_line.is_empty()},i.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},i.prototype.ensure_empty_line_above=function(t,n){for(var i=this.__lines.length-2;i>=0;){var r=this.__lines[i];if(r.is_empty())break;if(0!==r.item(0).indexOf(t)&&r.item(-1)!==n){this.__lines.splice(i+1,0,new e(this)),this.previous_line=this.__lines[this.__lines.length-2];break}i--}},t.exports.Output=i},function(t){t.exports.Token=function(t,e,n,i){this.type=t,this.text=e,this.comments_before=null,this.newlines=n||0,this.whitespace_before=i||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}},function(t,e){var n="\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc",i="(?:\\\\u[0-9a-fA-F]{4}|[\\x23\\x24\\x40\\x41-\\x5a\\x5f\\x61-\\x7a"+n+"])";e.identifier=new RegExp(i+"(?:\\\\u[0-9a-fA-F]{4}|[\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f])*","g"),e.identifierStart=new RegExp(i),e.identifierMatch=new RegExp("(?:\\\\u[0-9a-fA-F]{4}|[\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a"+n+"\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f])+"),e.newline=/[\n\r\u2028\u2029]/,e.lineBreak=new RegExp("\r\n|"+e.newline.source),e.allLineBreaks=new RegExp(e.lineBreak.source,"g")},function(t,e,n){var i=n(6).Options,r=["before-newline","after-newline","preserve-newline"];function s(t){i.call(this,t,"js");var e=this.raw_options.brace_style||null;"expand-strict"===e?this.raw_options.brace_style="expand":"collapse-preserve-inline"===e?this.raw_options.brace_style="collapse,preserve-inline":void 0!==this.raw_options.braces_on_own_line&&(this.raw_options.brace_style=this.raw_options.braces_on_own_line?"expand":"collapse");var n=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_preserve_inline=!1,this.brace_style="collapse";for(var s=0;s>> === !== << && >= ** != == <= >> || ?? |> < / - + > : & % ? ^ | *".split(" "),y=">>>= ... >>= <<= === >>> !== **= => ^= :: /= << <= == && -= >= >> != -- += ** || ?? ++ %= &= *= |= |> = ! ? > < : / ^ - + * & % ~ |";y=(y="\\?\\.(?!\\d) "+(y=y.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"))).replace(/ /g,"|");var m,b=new RegExp(y),v="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","),w=v.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as"]),k=new RegExp("^(?:"+w.join("|")+")$"),x=function(t,e){r.call(this,t,e),this._patterns.whitespace=this._patterns.whitespace.matching(/\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff/.source,/\u2028\u2029/.source);var n=new _(this._input),i=new u(this._input).read_options(this._options);this.__patterns={template:i,identifier:i.starting_with(a.identifier).matching(a.identifierMatch),number:n.matching(l),punct:n.matching(b),comment:n.starting_with(/\/\//).until(/[\n\r\u2028\u2029]/),block_comment:n.starting_with(/\/\*/).until_after(/\*\//),html_comment_start:n.matching(//),include:n.starting_with(/#include/).until_after(a.lineBreak),shebang:n.starting_with(/#!/).until_after(a.lineBreak),xml:n.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\]|)(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/),single_quote:i.until(/['\\\n\r\u2028\u2029]/),double_quote:i.until(/["\\\n\r\u2028\u2029]/),template_text:i.until(/[`\\$]/),template_expression:i.until(/[`}\\]/)}};(x.prototype=new r)._is_comment=function(t){return t.type===h.COMMENT||t.type===h.BLOCK_COMMENT||t.type===h.UNKNOWN},x.prototype._is_opening=function(t){return t.type===h.START_BLOCK||t.type===h.START_EXPR},x.prototype._is_closing=function(t,e){return(t.type===h.END_BLOCK||t.type===h.END_EXPR)&&e&&("]"===t.text&&"["===e.text||")"===t.text&&"("===e.text||"}"===t.text&&"{"===e.text)},x.prototype._reset=function(){m=!1},x.prototype._get_next_token=function(t,e){var n=null;this._readWhitespace();var i=this._input.peek();return null===i?this._create_token(h.EOF,""):n=(n=(n=(n=(n=(n=(n=(n=(n=n||this._read_non_javascript(i))||this._read_string(i))||this._read_word(t))||this._read_singles(i))||this._read_comment(i))||this._read_regexp(i,t))||this._read_xml(i,t))||this._read_punctuation())||this._create_token(h.UNKNOWN,this._input.next())},x.prototype._read_word=function(t){var e;return""!==(e=this.__patterns.identifier.read())?(e=e.replace(a.allLineBreaks,"\n"),t.type!==h.DOT&&(t.type!==h.RESERVED||"set"!==t.text&&"get"!==t.text)&&k.test(e)?"in"===e||"of"===e?this._create_token(h.OPERATOR,e):this._create_token(h.RESERVED,e):this._create_token(h.WORD,e)):""!==(e=this.__patterns.number.read())?this._create_token(h.WORD,e):void 0},x.prototype._read_singles=function(t){var e=null;return"("===t||"["===t?e=this._create_token(h.START_EXPR,t):")"===t||"]"===t?e=this._create_token(h.END_EXPR,t):"{"===t?e=this._create_token(h.START_BLOCK,t):"}"===t?e=this._create_token(h.END_BLOCK,t):";"===t?e=this._create_token(h.SEMICOLON,t):"."===t&&d.test(this._input.peek(1))?e=this._create_token(h.DOT,t):","===t&&(e=this._create_token(h.COMMA,t)),e&&this._input.next(),e},x.prototype._read_punctuation=function(){var t=this.__patterns.punct.read();if(""!==t)return"="===t?this._create_token(h.EQUALS,t):"?."===t?this._create_token(h.DOT,t):this._create_token(h.OPERATOR,t)},x.prototype._read_non_javascript=function(t){var e="";if("#"===t){if(this._is_first_token()&&(e=this.__patterns.shebang.read()))return this._create_token(h.UNKNOWN,e.trim()+"\n");if(e=this.__patterns.include.read())return this._create_token(h.UNKNOWN,e.trim()+"\n");t=this._input.next();var n="#";if(this._input.hasNext()&&this._input.testChar(f)){do{n+=t=this._input.next()}while(this._input.hasNext()&&"#"!==t&&"="!==t);return"#"===t||("["===this._input.peek()&&"]"===this._input.peek(1)?(n+="[]",this._input.next(),this._input.next()):"{"===this._input.peek()&&"}"===this._input.peek(1)&&(n+="{}",this._input.next(),this._input.next())),this._create_token(h.WORD,n)}this._input.back()}else if("<"===t&&this._is_first_token()){if(e=this.__patterns.html_comment_start.read()){for(;this._input.hasNext()&&!this._input.testChar(a.newline);)e+=this._input.next();return m=!0,this._create_token(h.COMMENT,e)}}else if(m&&"-"===t&&(e=this.__patterns.html_comment_end.read()))return m=!1,this._create_token(h.COMMENT,e);return null},x.prototype._read_comment=function(t){var e=null;if("/"===t){var n="";if("*"===this._input.peek(1)){n=this.__patterns.block_comment.read();var i=c.get_directives(n);i&&"start"===i.ignore&&(n+=c.readIgnored(this._input)),n=n.replace(a.allLineBreaks,"\n"),(e=this._create_token(h.BLOCK_COMMENT,n)).directives=i}else"/"===this._input.peek(1)&&(n=this.__patterns.comment.read(),e=this._create_token(h.COMMENT,n))}return e},x.prototype._read_string=function(t){if("`"===t||"'"===t||'"'===t){var e=this._input.next();return this.has_char_escapes=!1,e+="`"===t?this._read_string_recursive("`",!0,"${"):this._read_string_recursive(t),this.has_char_escapes&&this._options.unescape_strings&&(e=function(t){for(var e="",n=0,r=new i(t),s=null;r.hasNext();)if((s=r.match(/([\s]|[^\\]|\\\\)+/g))&&(e+=s[0]),"\\"===r.peek()){if(r.next(),"x"===r.peek())s=r.match(/x([0-9A-Fa-f]{2})/g);else{if("u"!==r.peek()){e+="\\",r.hasNext()&&(e+=r.next());continue}s=r.match(/u([0-9A-Fa-f]{4})/g)}if(!s)return t;if((n=parseInt(s[1],16))>126&&n<=255&&0===s[0].indexOf("x"))return t;if(n>=0&&n<32){e+="\\"+s[0];continue}e+=34===n||39===n||92===n?"\\"+String.fromCharCode(n):String.fromCharCode(n)}return e}(e)),this._input.peek()===t&&(e+=this._input.next()),e=e.replace(a.allLineBreaks,"\n"),this._create_token(h.STRING,e)}return null},x.prototype._allow_regexp_or_xml=function(t){return t.type===h.RESERVED&&p(t.text,["return","case","throw","else","do","typeof","yield"])||t.type===h.END_EXPR&&")"===t.text&&t.opened.previous.type===h.RESERVED&&p(t.opened.previous.text,["if","while","for"])||p(t.type,[h.COMMENT,h.START_EXPR,h.START_BLOCK,h.START,h.END_BLOCK,h.OPERATOR,h.EQUALS,h.EOF,h.SEMICOLON,h.COMMA])},x.prototype._read_regexp=function(t,e){if("/"===t&&this._allow_regexp_or_xml(e)){for(var n=this._input.next(),i=!1,r=!1;this._input.hasNext()&&(i||r||this._input.peek()!==t)&&!this._input.testChar(a.newline);)n+=this._input.peek(),i?i=!1:(i="\\"===this._input.peek(),"["===this._input.peek()?r=!0:"]"===this._input.peek()&&(r=!1)),this._input.next();return this._input.peek()===t&&(n+=this._input.next(),n+=this._input.read(a.identifier)),this._create_token(h.STRING,n)}return null},x.prototype._read_xml=function(t,e){if(this._options.e4x&&"<"===t&&this._allow_regexp_or_xml(e)){var n="",i=this.__patterns.xml.read_match();if(i){for(var r=i[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),s=0===r.indexOf("{"),o=0;i;){var _=!!i[1],u=i[2];if(!(i[i.length-1]||"![CDATA["===u.slice(0,8))&&(u===r||s&&u.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(_?--o:++o),n+=i[0],o<=0)break;i=this.__patterns.xml.read_match()}return i||(n+=this._input.match(/[\s\S]*/g)[0]),n=n.replace(a.allLineBreaks,"\n"),this._create_token(h.STRING,n)}}return null},x.prototype._read_string_recursive=function(t,e,n){var i,r;"'"===t?r=this.__patterns.single_quote:'"'===t?r=this.__patterns.double_quote:"`"===t?r=this.__patterns.template_text:"}"===t&&(r=this.__patterns.template_expression);for(var s=r.read(),o="";this._input.hasNext();){if((o=this._input.next())===t||!e&&a.newline.test(o)){this._input.back();break}"\\"===o&&this._input.hasNext()?("x"===(i=this._input.peek())||"u"===i?this.has_char_escapes=!0:"\r"===i&&"\n"===this._input.peek(1)&&this._input.next(),o+=this._input.next()):n&&("${"===n&&"$"===o&&"{"===this._input.peek()&&(o+=this._input.next()),n===o&&(o+="`"===t?this._read_string_recursive("}",e,"`"):this._read_string_recursive("`",e,"${"),this._input.hasNext()&&(o+=this._input.next()))),s+=o+=r.read()}return s},t.exports.Tokenizer=x,t.exports.TOKEN=h,t.exports.positionable_operators=g.slice(),t.exports.line_starters=v.slice()},function(t){var e=RegExp.prototype.hasOwnProperty("sticky");function n(t){this.__input=t||"",this.__input_length=this.__input.length,this.__position=0}n.prototype.restart=function(){this.__position=0},n.prototype.back=function(){this.__position>0&&(this.__position-=1)},n.prototype.hasNext=function(){return this.__position=0&&t=0&&e=t.length&&this.__input.substring(e-t.length,e).toLowerCase()===t},t.exports.InputScanner=n},function(t,e,n){var i=n(8).InputScanner,r=n(3).Token,s=n(10).TokenStream,o=n(11).WhitespacePattern,a={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},_=function(t,e){this._input=new i(t),this._options=e||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new o(this._input)};_.prototype.tokenize=function(){var t;this._input.restart(),this.__tokens=new s,this._reset();for(var e=new r(a.START,""),n=null,i=[],o=new s;e.type!==a.EOF;){for(t=this._get_next_token(e,n);this._is_comment(t);)o.add(t),t=this._get_next_token(e,n);o.isEmpty()||(t.comments_before=o,o=new s),t.parent=n,this._is_opening(t)?(i.push(n),n=t):n&&this._is_closing(t,n)&&(t.opened=n,n.closed=t,n=i.pop(),t.parent=n),t.previous=e,e.next=t,this.__tokens.add(t),e=t}return this.__tokens},_.prototype._is_first_token=function(){return this.__tokens.isEmpty()},_.prototype._reset=function(){},_.prototype._get_next_token=function(t,e){this._readWhitespace();var n=this._input.read(/.+/g);return n?this._create_token(a.RAW,n):this._create_token(a.EOF,"")},_.prototype._is_comment=function(t){return!1},_.prototype._is_opening=function(t){return!1},_.prototype._is_closing=function(t,e){return!1},_.prototype._create_token=function(t,e){return new r(t,e,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token)},_.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},t.exports.Tokenizer=_,t.exports.TOKEN=a},function(t){function e(t){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=t}e.prototype.restart=function(){this.__position=0},e.prototype.isEmpty=function(){return 0===this.__tokens_length},e.prototype.hasNext=function(){return this.__position=0&&t/),erb:n.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:n.starting_with(/{%/).until_after(/%}/),django_value:n.starting_with(/{{/).until_after(/}}/),django_comment:n.starting_with(/{#/).until_after(/#}/),smarty:n.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:n.starting_with(/{\*/).until_after(/\*}/),smarty_literal:n.starting_with(/{literal}/).until_after(/{\/literal}/)}}s.prototype=new i,s.prototype._create=function(){return new s(this._input,this)},s.prototype._update=function(){this.__set_templated_pattern()},s.prototype.disable=function(t){var e=this._create();return e._disabled[t]=!0,e._update(),e},s.prototype.read_options=function(t){var e=this._create();for(var n in r)e._disabled[n]=-1===t.templating.indexOf(n);return e._update(),e},s.prototype.exclude=function(t){var e=this._create();return e._excluded[t]=!0,e._update(),e},s.prototype.read=function(){var t="";t=this._match_pattern?this._input.read(this._starting_pattern):this._input.read(this._starting_pattern,this.__template_pattern);for(var e=this._read_template();e;)this._match_pattern?e+=this._input.read(this._match_pattern):e+=this._input.readUntil(this.__template_pattern),t+=e,e=this._read_template();return this._until_after&&(t+=this._input.readUntilAfter(this._until_pattern)),t},s.prototype.__set_templated_pattern=function(){var t=[];this._disabled.php||t.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||t.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||t.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(t.push(this.__patterns.django._starting_pattern.source),t.push(this.__patterns.django_value._starting_pattern.source),t.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||t.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&t.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+t.join("|")+")")},s.prototype._read_template=function(){var t="",e=this._input.peek();if("<"===e){var n=this._input.peek(1);this._disabled.php||this._excluded.php||"?"!==n||(t=t||this.__patterns.php.read()),this._disabled.erb||this._excluded.erb||"%"!==n||(t=t||this.__patterns.erb.read())}else"{"===e&&(this._disabled.handlebars||this._excluded.handlebars||(t=(t=(t=t||this.__patterns.handlebars_comment.read())||this.__patterns.handlebars_unescaped.read())||this.__patterns.handlebars.read()),this._disabled.django||(this._excluded.django||this._excluded.handlebars||(t=t||this.__patterns.django_value.read()),this._excluded.django||(t=(t=t||this.__patterns.django_comment.read())||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(t=(t=(t=t||this.__patterns.smarty_comment.read())||this.__patterns.smarty_literal.read())||this.__patterns.smarty.read()));return t},t.exports.TemplatablePattern=s}],e={},n=function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,n),s.exports}(0);i=n}();var r=i;void 0===(n=function(){return{js_beautify:r}}.apply(e,[]))||(t.exports=n)}()},593:(t,e,n)=>{"use strict";var i=n(155);t.exports=m;var r,s=n(246),o=n(539),a=n(411),_=(r="function"==typeof Symbol&&"1"!==i.env._nodeLRUCacheForceNoSymbol?function(t){return Symbol(t)}:function(t){return"_"+t})("max"),u=r("length"),p=r("lengthCalculator"),h=r("allowStale"),c=r("maxAge"),l=r("dispose"),f=r("noDisposeOnSet"),d=r("lruList"),g=r("cache");function y(){return 1}function m(t){if(!(this instanceof m))return new m(t);"number"==typeof t&&(t={max:t}),t||(t={});var e=this[_]=t.max;(!e||"number"!=typeof e||e<=0)&&(this[_]=1/0);var n=t.length||y;"function"!=typeof n&&(n=y),this[p]=n,this[h]=t.stale||!1,this[c]=t.maxAge||0,this[l]=t.dispose,this[f]=t.noDisposeOnSet||!1,this.reset()}function b(t,e,n,i){var r=n.value;w(t,r)&&(x(t,n),t[h]||(r=void 0)),r&&e.call(i,r.value,r.key,t)}function v(t,e,n){var i=t[g].get(e);if(i){var r=i.value;w(t,r)?(x(t,i),t[h]||(r=void 0)):n&&t[d].unshiftNode(i),r&&(r=r.value)}return r}function w(t,e){if(!e||!e.maxAge&&!t[c])return!1;var n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[c]&&n>t[c]}function k(t){if(t[u]>t[_])for(var e=t[d].tail;t[u]>t[_]&&null!==e;){var n=e.prev;x(t,e),e=n}}function x(t,e){if(e){var n=e.value;t[l]&&t[l](n.key,n.value),t[u]-=n.length,t[g].delete(n.key),t[d].removeNode(e)}}function E(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}Object.defineProperty(m.prototype,"max",{set:function(t){(!t||"number"!=typeof t||t<=0)&&(t=1/0),this[_]=t,k(this)},get:function(){return this[_]},enumerable:!0}),Object.defineProperty(m.prototype,"allowStale",{set:function(t){this[h]=!!t},get:function(){return this[h]},enumerable:!0}),Object.defineProperty(m.prototype,"maxAge",{set:function(t){(!t||"number"!=typeof t||t<0)&&(t=0),this[c]=t,k(this)},get:function(){return this[c]},enumerable:!0}),Object.defineProperty(m.prototype,"lengthCalculator",{set:function(t){"function"!=typeof t&&(t=y),t!==this[p]&&(this[p]=t,this[u]=0,this[d].forEach((function(t){t.length=this[p](t.value,t.key),this[u]+=t.length}),this)),k(this)},get:function(){return this[p]},enumerable:!0}),Object.defineProperty(m.prototype,"length",{get:function(){return this[u]},enumerable:!0}),Object.defineProperty(m.prototype,"itemCount",{get:function(){return this[d].length},enumerable:!0}),m.prototype.rforEach=function(t,e){e=e||this;for(var n=this[d].tail;null!==n;){var i=n.prev;b(this,t,n,e),n=i}},m.prototype.forEach=function(t,e){e=e||this;for(var n=this[d].head;null!==n;){var i=n.next;b(this,t,n,e),n=i}},m.prototype.keys=function(){return this[d].toArray().map((function(t){return t.key}),this)},m.prototype.values=function(){return this[d].toArray().map((function(t){return t.value}),this)},m.prototype.reset=function(){this[l]&&this[d]&&this[d].length&&this[d].forEach((function(t){this[l](t.key,t.value)}),this),this[g]=new s,this[d]=new a,this[u]=0},m.prototype.dump=function(){return this[d].map((function(t){if(!w(this,t))return{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}}),this).toArray().filter((function(t){return t}))},m.prototype.dumpLru=function(){return this[d]},m.prototype.inspect=function(t,e){var n="LRUCache {",i=!1;this[h]&&(n+="\n allowStale: true",i=!0);var r=this[_];r&&r!==1/0&&(i&&(n+=","),n+="\n max: "+o.inspect(r,e),i=!0);var s=this[c];s&&(i&&(n+=","),n+="\n maxAge: "+o.inspect(s,e),i=!0);var a=this[p];a&&a!==y&&(i&&(n+=","),n+="\n length: "+o.inspect(this[u],e),i=!0);var l=!1;return this[d].forEach((function(t){l?n+=",\n ":(i&&(n+=",\n"),l=!0,n+="\n ");var r=o.inspect(t.key).split("\n").join("\n "),_={value:t.value};t.maxAge!==s&&(_.maxAge=t.maxAge),a!==y&&(_.length=t.length),w(this,t)&&(_.stale=!0),_=o.inspect(_,e).split("\n").join("\n "),n+=r+" => "+_})),(l||i)&&(n+="\n"),n+="}"},m.prototype.set=function(t,e,n){var i=(n=n||this[c])?Date.now():0,r=this[p](e,t);if(this[g].has(t)){if(r>this[_])return x(this,this[g].get(t)),!1;var s=this[g].get(t).value;return this[l]&&(this[f]||this[l](t,s.value)),s.now=i,s.maxAge=n,s.value=e,this[u]+=r-s.length,s.length=r,this.get(t),k(this),!0}var o=new E(t,e,r,i,n);return o.length>this[_]?(this[l]&&this[l](t,e),!1):(this[u]+=o.length,this[d].unshift(o),this[g].set(t,this[d].head),k(this),!0)},m.prototype.has=function(t){return!!this[g].has(t)&&!w(this,this[g].get(t).value)},m.prototype.get=function(t){return v(this,t,!0)},m.prototype.peek=function(t){return v(this,t,!1)},m.prototype.pop=function(){var t=this[d].tail;return t?(x(this,t),t.value):null},m.prototype.del=function(t){x(this,this[g].get(t))},m.prototype.load=function(t){this.reset();for(var e=Date.now(),n=t.length-1;n>=0;n--){var i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{var s=r-e;s>0&&this.set(i.k,i.v,s)}}},m.prototype.prune=function(){var t=this;this[g].forEach((function(e,n){v(t,n,!1)}))}},171:(t,e,n)=>{t.exports=c,c.Minimatch=l;var i={sep:"/"};try{i=n(470)}catch(t){}var r=c.GLOBSTAR=l.GLOBSTAR={},s=n(644),o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},a="[^/]",_="[^/]*?",u="().*{}+?[]^$\\!".split("").reduce((function(t,e){return t[e]=!0,t}),{}),p=/\/+/;function h(t,e){t=t||{},e=e||{};var n={};return Object.keys(e).forEach((function(t){n[t]=e[t]})),Object.keys(t).forEach((function(e){n[e]=t[e]})),n}function c(t,e,n){if("string"!=typeof e)throw new TypeError("glob pattern string required");return n||(n={}),!(!n.nocomment&&"#"===e.charAt(0))&&(""===e.trim()?""===t:new l(e,n).match(t))}function l(t,e){if(!(this instanceof l))return new l(t,e);if("string"!=typeof t)throw new TypeError("glob pattern string required");e||(e={}),t=t.trim(),"/"!==i.sep&&(t=t.split(i.sep).join("/")),this.options=e,this.set=[],this.pattern=t,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}function f(t,e){if(e||(e=this instanceof l?this.options:{}),void 0===(t=void 0===t?this.pattern:t))throw new TypeError("undefined pattern");return e.nobrace||!t.match(/\{.*\}/)?[t]:s(t)}c.filter=function(t,e){return e=e||{},function(n,i,r){return c(n,t,e)}},c.defaults=function(t){if(!t||!Object.keys(t).length)return c;var e=c,n=function(n,i,r){return e.minimatch(n,i,h(t,r))};return n.Minimatch=function(n,i){return new e.Minimatch(n,h(t,i))},n},l.defaults=function(t){return t&&Object.keys(t).length?c.defaults(t).Minimatch:l},l.prototype.debug=function(){},l.prototype.make=function(){if(!this._made){var t=this.pattern,e=this.options;if(e.nocomment||"#"!==t.charAt(0))if(t){this.parseNegate();var n=this.globSet=this.braceExpand();e.debug&&(this.debug=console.error),this.debug(this.pattern,n),n=this.globParts=n.map((function(t){return t.split(p)})),this.debug(this.pattern,n),n=n.map((function(t,e,n){return t.map(this.parse,this)}),this),this.debug(this.pattern,n),n=n.filter((function(t){return-1===t.indexOf(!1)})),this.debug(this.pattern,n),this.set=n}else this.empty=!0;else this.comment=!0}},l.prototype.parseNegate=function(){var t=this.pattern,e=!1,n=0;if(!this.options.nonegate){for(var i=0,r=t.length;i65536)throw new TypeError("pattern is too long");var n=this.options;if(!n.noglobstar&&"**"===t)return r;if(""===t)return"";var i,s="",p=!!n.nocase,h=!1,c=[],l=[],f=!1,g=-1,y=-1,m="."===t.charAt(0)?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",b=this;function v(){if(i){switch(i){case"*":s+=_,p=!0;break;case"?":s+=a,p=!0;break;default:s+="\\"+i}b.debug("clearStateChar %j %j",i,s),i=!1}}for(var w,k=0,x=t.length;k-1;R--){var P=l[R],N=s.slice(0,P.reStart),C=s.slice(P.reStart,P.reEnd-8),I=s.slice(P.reEnd-8,P.reEnd),M=s.slice(P.reEnd);I+=M;var L=N.split("(").length-1,D=M;for(k=0;k=0&&!(r=t[s]);s--);for(s=0;s>> no match, partial?",t,c,e,l),c!==a))}if("string"==typeof p?(u=i.nocase?h.toLowerCase()===p.toLowerCase():h===p,this.debug("string match",p,h,u)):(u=h.match(p),this.debug("pattern match",p,h,u)),!u)return!1}if(s===a&&o===_)return!0;if(s===a)return n;if(o===_)return s===a-1&&""===t[s];throw new Error("wtf?")}},435:(t,e)=>{e.endianness=function(){return"LE"},e.hostname=function(){return"undefined"!=typeof location?location.hostname:""},e.loadavg=function(){return[]},e.uptime=function(){return 0},e.freemem=function(){return Number.MAX_VALUE},e.totalmem=function(){return Number.MAX_VALUE},e.cpus=function(){return[]},e.type=function(){return"Browser"},e.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},e.networkInterfaces=e.getNetworkInterfaces=function(){return{}},e.arch=function(){return"javascript"},e.platform=function(){return"browser"},e.tmpdir=e.tmpDir=function(){return"/tmp"},e.EOL="\n",e.homedir=function(){return"/"}},470:(t,e,n)=>{"use strict";var i=n(155);function r(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function s(t,e){for(var n,i="",r=0,s=-1,o=0,a=0;a<=t.length;++a){if(a2){var _=i.lastIndexOf("/");if(_!==i.length-1){-1===_?(i="",r=0):r=(i=i.slice(0,_)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}e&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+t.slice(s+1,a):i=t.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var o={resolve:function(){for(var t,e="",n=!1,o=arguments.length-1;o>=-1&&!n;o--){var a;o>=0?a=arguments[o]:(void 0===t&&(t=i.cwd()),a=t),r(a),0!==a.length&&(e=a+"/"+e,n=47===a.charCodeAt(0))}return e=s(e,!n),n?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(r(t),0===t.length)return".";var e=47===t.charCodeAt(0),n=47===t.charCodeAt(t.length-1);return 0!==(t=s(t,!e)).length||e||(t="."),t.length>0&&n&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return r(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,e=0;e0&&(void 0===t?t=n:t+="/"+n)}return void 0===t?".":o.normalize(t)},relative:function(t,e){if(r(t),r(e),t===e)return"";if((t=o.resolve(t))===(e=o.resolve(e)))return"";for(var n=1;nu){if(47===e.charCodeAt(a+h))return e.slice(a+h+1);if(0===h)return e.slice(a+h)}else s>u&&(47===t.charCodeAt(n+h)?p=h:0===h&&(p=0));break}var c=t.charCodeAt(n+h);if(c!==e.charCodeAt(a+h))break;47===c&&(p=h)}var l="";for(h=n+p+1;h<=i;++h)h!==i&&47!==t.charCodeAt(h)||(0===l.length?l+="..":l+="/..");return l.length>0?l+e.slice(a+p):(a+=p,47===e.charCodeAt(a)&&++a,e.slice(a))},_makeLong:function(t){return t},dirname:function(t){if(r(t),0===t.length)return".";for(var e=t.charCodeAt(0),n=47===e,i=-1,s=!0,o=t.length-1;o>=1;--o)if(47===(e=t.charCodeAt(o))){if(!s){i=o;break}}else s=!1;return-1===i?n?"/":".":n&&1===i?"//":t.slice(0,i)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');r(t);var n,i=0,s=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";var a=e.length-1,_=-1;for(n=t.length-1;n>=0;--n){var u=t.charCodeAt(n);if(47===u){if(!o){i=n+1;break}}else-1===_&&(o=!1,_=n+1),a>=0&&(u===e.charCodeAt(a)?-1==--a&&(s=n):(a=-1,s=_))}return i===s?s=_:-1===s&&(s=t.length),t.slice(i,s)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!o){i=n+1;break}}else-1===s&&(o=!1,s=n+1);return-1===s?"":t.slice(i,s)},extname:function(t){r(t);for(var e=-1,n=0,i=-1,s=!0,o=0,a=t.length-1;a>=0;--a){var _=t.charCodeAt(a);if(47!==_)-1===i&&(s=!1,i=a+1),46===_?-1===e?e=a:1!==o&&(o=1):-1!==e&&(o=-1);else if(!s){n=a+1;break}}return-1===e||-1===i||0===o||1===o&&e===i-1&&e===n+1?"":t.slice(e,i)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var n=e.dir||e.root,i=e.base||(e.name||"")+(e.ext||"");return n?n===e.root?n+i:n+"/"+i:i}(0,t)},parse:function(t){r(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var n,i=t.charCodeAt(0),s=47===i;s?(e.root="/",n=1):n=0;for(var o=-1,a=0,_=-1,u=!0,p=t.length-1,h=0;p>=n;--p)if(47!==(i=t.charCodeAt(p)))-1===_&&(u=!1,_=p+1),46===i?-1===o?o=p:1!==h&&(h=1):-1!==o&&(h=-1);else if(!u){a=p+1;break}return-1===o||-1===_||0===h||1===h&&o===_-1&&o===a+1?-1!==_&&(e.base=e.name=0===a&&s?t.slice(1,_):t.slice(a,_)):(0===a&&s?(e.name=t.slice(1,o),e.base=t.slice(1,_)):(e.name=t.slice(a,o),e.base=t.slice(a,_)),e.ext=t.slice(o,_)),a>0?e.dir=t.slice(0,a-1):s&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,t.exports=o},155:t=>{var e,n,i=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===r||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:r}catch(t){e=r}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(t){n=s}}();var a,_=[],u=!1,p=-1;function h(){u&&a&&(u=!1,a.length?_=a.concat(_):p=-1,_.length&&c())}function c(){if(!u){var t=o(h);u=!0;for(var e=_.length;e;){for(a=_,_=[];++p1)for(var n=1;n{var i=n(155);"pseudomap"===i.env.npm_package_name&&"test"===i.env.npm_lifecycle_script&&(i.env.TEST_PSEUDOMAP="true"),"function"!=typeof Map||i.env.TEST_PSEUDOMAP?t.exports=n(477):t.exports=Map},477:t=>{var e=Object.prototype.hasOwnProperty;function n(t){if(!(this instanceof n))throw new TypeError("Constructor PseudoMap requires 'new'");if(this.clear(),t)if(t instanceof n||"function"==typeof Map&&t instanceof Map)t.forEach((function(t,e){this.set(e,t)}),this);else{if(!Array.isArray(t))throw new TypeError("invalid argument");t.forEach((function(t){this.set(t[0],t[1])}),this)}}function i(t,e){return t===e||t!=t&&e!=e}function r(t,e,n){this.key=t,this.value=e,this._index=n}function s(t,n){for(var r=0,s="_"+n,o=s;e.call(t,o);o=s+r++)if(i(t[o].key,n))return t[o]}t.exports=n,n.prototype.forEach=function(t,e){e=e||this,Object.keys(this._data).forEach((function(n){"size"!==n&&t.call(e,this._data[n].value,this._data[n].key)}),this)},n.prototype.has=function(t){return!!s(this._data,t)},n.prototype.get=function(t){var e=s(this._data,t);return e&&e.value},n.prototype.set=function(t,n){!function(t,n,s){for(var o=0,a="_"+n,_=a;e.call(t,_);_=a+o++)if(i(t[_].key,n))return void(t[_].value=s);t.size++,t[_]=new r(n,s,_)}(this._data,t,n)},n.prototype.delete=function(t){var e=s(this._data,t);e&&(delete this._data[e._index],this._data.size--)},n.prototype.clear=function(){var t=Object.create(null);t.size=0,Object.defineProperty(this,"_data",{value:t,enumerable:!1,configurable:!0,writable:!1})},Object.defineProperty(n.prototype,"size",{get:function(){return this._data.size},set:function(t){},enumerable:!0,configurable:!0}),n.prototype.values=n.prototype.keys=n.prototype.entries=function(){throw new Error("iterators are not implemented in this version")}},625:(t,e,n)=>{var i,r=n(155);e=t.exports=q,i="object"==typeof r&&r.env&&r.env.NODE_DEBUG&&/\bsemver\b/i.test(r.env.NODE_DEBUG)?function(){var t=Array.prototype.slice.call(arguments,0);t.unshift("SEMVER"),console.log.apply(console,t)}:function(){},e.SEMVER_SPEC_VERSION="2.0.0";var s=Number.MAX_SAFE_INTEGER||9007199254740991,o=e.re=[],a=e.src=[],_=0,u=_++;a[u]="0|[1-9]\\d*";var p=_++;a[p]="[0-9]+";var h=_++;a[h]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var c=_++;a[c]="("+a[u]+")\\.("+a[u]+")\\.("+a[u]+")";var l=_++;a[l]="("+a[p]+")\\.("+a[p]+")\\.("+a[p]+")";var f=_++;a[f]="(?:"+a[u]+"|"+a[h]+")";var d=_++;a[d]="(?:"+a[p]+"|"+a[h]+")";var g=_++;a[g]="(?:-("+a[f]+"(?:\\."+a[f]+")*))";var y=_++;a[y]="(?:-?("+a[d]+"(?:\\."+a[d]+")*))";var m=_++;a[m]="[0-9A-Za-z-]+";var b=_++;a[b]="(?:\\+("+a[m]+"(?:\\."+a[m]+")*))";var v=_++,w="v?"+a[c]+a[g]+"?"+a[b]+"?";a[v]="^"+w+"$";var k="[v=\\s]*"+a[l]+a[y]+"?"+a[b]+"?",x=_++;a[x]="^"+k+"$";var E=_++;a[E]="((?:<|>)?=?)";var O=_++;a[O]=a[p]+"|x|X|\\*";var A=_++;a[A]=a[u]+"|x|X|\\*";var S=_++;a[S]="[v=\\s]*("+a[A]+")(?:\\.("+a[A]+")(?:\\.("+a[A]+")(?:"+a[g]+")?"+a[b]+"?)?)?";var T=_++;a[T]="[v=\\s]*("+a[O]+")(?:\\.("+a[O]+")(?:\\.("+a[O]+")(?:"+a[y]+")?"+a[b]+"?)?)?";var j=_++;a[j]="^"+a[E]+"\\s*"+a[S]+"$";var R=_++;a[R]="^"+a[E]+"\\s*"+a[T]+"$";var P=_++;a[P]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var N=_++;a[N]="(?:~>?)";var C=_++;a[C]="(\\s*)"+a[N]+"\\s+",o[C]=new RegExp(a[C],"g");var I=_++;a[I]="^"+a[N]+a[S]+"$";var M=_++;a[M]="^"+a[N]+a[T]+"$";var L=_++;a[L]="(?:\\^)";var D=_++;a[D]="(\\s*)"+a[L]+"\\s+",o[D]=new RegExp(a[D],"g");var U=_++;a[U]="^"+a[L]+a[S]+"$";var z=_++;a[z]="^"+a[L]+a[T]+"$";var B=_++;a[B]="^"+a[E]+"\\s*("+k+")$|^$";var F=_++;a[F]="^"+a[E]+"\\s*("+w+")$|^$";var W=_++;a[W]="(\\s*)"+a[E]+"\\s*("+k+"|"+a[S]+")",o[W]=new RegExp(a[W],"g");var $=_++;a[$]="^\\s*("+a[S]+")\\s+-\\s+("+a[S]+")\\s*$";var K=_++;a[K]="^\\s*("+a[T]+")\\s+-\\s+("+a[T]+")\\s*$";var V=_++;a[V]="(<|>)?=?\\s*\\*";for(var G=0;G<35;G++)i(G,a[G]),o[G]||(o[G]=new RegExp(a[G]));function X(t,e){if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof q)return t;if("string"!=typeof t)return null;if(t.length>256)return null;if(!(e.loose?o[x]:o[v]).test(t))return null;try{return new q(t,e)}catch(t){return null}}function q(t,e){if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof q){if(t.loose===e.loose)return t;t=t.version}else if("string"!=typeof t)throw new TypeError("Invalid Version: "+t);if(t.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof q))return new q(t,e);i("SemVer",t,e),this.options=e,this.loose=!!e.loose;var n=t.trim().match(e.loose?o[x]:o[v]);if(!n)throw new TypeError("Invalid Version: "+t);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((function(t){if(/^[0-9]+$/.test(t)){var e=+t;if(e>=0&&e=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error("invalid increment argument: "+t)}return this.format(),this.raw=this.version,this},e.inc=function(t,e,n,i){"string"==typeof n&&(i=n,n=void 0);try{return new q(t,n).inc(e,i).version}catch(t){return null}},e.diff=function(t,e){if(tt(t,e))return null;var n=X(t),i=X(e),r="";if(n.prerelease.length||i.prerelease.length){r="pre";var s="prerelease"}for(var o in n)if(("major"===o||"minor"===o||"patch"===o)&&n[o]!==i[o])return r+o;return s},e.compareIdentifiers=J;var Q=/^[0-9]+$/;function J(t,e){var n=Q.test(t),i=Q.test(e);return n&&i&&(t=+t,e=+e),t===e?0:n&&!i?-1:i&&!n?1:t0}function Y(t,e,n){return H(t,e,n)<0}function tt(t,e,n){return 0===H(t,e,n)}function et(t,e,n){return 0!==H(t,e,n)}function nt(t,e,n){return H(t,e,n)>=0}function it(t,e,n){return H(t,e,n)<=0}function rt(t,e,n,i){switch(e){case"===":return"object"==typeof t&&(t=t.version),"object"==typeof n&&(n=n.version),t===n;case"!==":return"object"==typeof t&&(t=t.version),"object"==typeof n&&(n=n.version),t!==n;case"":case"=":case"==":return tt(t,n,i);case"!=":return et(t,n,i);case">":return Z(t,n,i);case">=":return nt(t,n,i);case"<":return Y(t,n,i);case"<=":return it(t,n,i);default:throw new TypeError("Invalid operator: "+e)}}function st(t,e){if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof st){if(t.loose===!!e.loose)return t;t=t.value}if(!(this instanceof st))return new st(t,e);i("comparator",t,e),this.options=e,this.loose=!!e.loose,this.parse(t),this.semver===ot?this.value="":this.value=this.operator+this.semver.version,i("comp",this)}e.rcompareIdentifiers=function(t,e){return J(e,t)},e.major=function(t,e){return new q(t,e).major},e.minor=function(t,e){return new q(t,e).minor},e.patch=function(t,e){return new q(t,e).patch},e.compare=H,e.compareLoose=function(t,e){return H(t,e,!0)},e.rcompare=function(t,e,n){return H(e,t,n)},e.sort=function(t,n){return t.sort((function(t,i){return e.compare(t,i,n)}))},e.rsort=function(t,n){return t.sort((function(t,i){return e.rcompare(t,i,n)}))},e.gt=Z,e.lt=Y,e.eq=tt,e.neq=et,e.gte=nt,e.lte=it,e.cmp=rt,e.Comparator=st;var ot={};function at(t,e){if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof at)return t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease?t:new at(t.raw,e);if(t instanceof st)return new at(t.value,e);if(!(this instanceof at))return new at(t,e);if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=t,this.set=t.split(/\s*\|\|\s*/).map((function(t){return this.parseRange(t.trim())}),this).filter((function(t){return t.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+t);this.format()}function _t(t){return!t||"x"===t.toLowerCase()||"*"===t}function ut(t,e,n,i,r,s,o,a,_,u,p,h,c){return((e=_t(n)?"":_t(i)?">="+n+".0.0":_t(r)?">="+n+"."+i+".0":">="+e)+" "+(a=_t(_)?"":_t(u)?"<"+(+_+1)+".0.0":_t(p)?"<"+_+"."+(+u+1)+".0":h?"<="+_+"."+u+"."+p+"-"+h:"<="+a)).trim()}function pt(t,e,n){for(var r=0;r0){var s=t[r].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}function ht(t,e,n){try{e=new at(e,n)}catch(t){return!1}return e.test(t)}function ct(t,e,n,i){var r,s,o,a,_;switch(t=new q(t,i),e=new at(e,i),n){case">":r=Z,s=it,o=Y,a=">",_=">=";break;case"<":r=Y,s=nt,o=Z,a="<",_="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ht(t,e,i))return!1;for(var u=0;u=0.0.0")),h=h||t,c=c||t,r(t.semver,h.semver,i)?h=t:o(t.semver,c.semver,i)&&(c=t)})),h.operator===a||h.operator===_)return!1;if((!c.operator||c.operator===a)&&s(t,c.semver))return!1;if(c.operator===_&&o(t,c.semver))return!1}return!0}st.prototype.parse=function(t){var e=this.options.loose?o[B]:o[F],n=t.match(e);if(!n)throw new TypeError("Invalid comparator: "+t);this.operator=n[1],"="===this.operator&&(this.operator=""),n[2]?this.semver=new q(n[2],this.options.loose):this.semver=ot},st.prototype.toString=function(){return this.value},st.prototype.test=function(t){return i("Comparator.test",t,this.options.loose),this.semver===ot||("string"==typeof t&&(t=new q(t,this.options)),rt(t,this.operator,this.semver,this.options))},st.prototype.intersects=function(t,e){if(!(t instanceof st))throw new TypeError("a Comparator is required");var n;if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),""===this.operator)return n=new at(t.value,e),ht(this.value,n,e);if(""===t.operator)return n=new at(this.value,e),ht(t.semver,n,e);var i=!(">="!==this.operator&&">"!==this.operator||">="!==t.operator&&">"!==t.operator),r=!("<="!==this.operator&&"<"!==this.operator||"<="!==t.operator&&"<"!==t.operator),s=this.semver.version===t.semver.version,o=!(">="!==this.operator&&"<="!==this.operator||">="!==t.operator&&"<="!==t.operator),a=rt(this.semver,"<",t.semver,e)&&(">="===this.operator||">"===this.operator)&&("<="===t.operator||"<"===t.operator),_=rt(this.semver,">",t.semver,e)&&("<="===this.operator||"<"===this.operator)&&(">="===t.operator||">"===t.operator);return i||r||s&&o||a||_},e.Range=at,at.prototype.format=function(){return this.range=this.set.map((function(t){return t.join(" ").trim()})).join("||").trim(),this.range},at.prototype.toString=function(){return this.range},at.prototype.parseRange=function(t){var e=this.options.loose;t=t.trim();var n=e?o[K]:o[$];t=t.replace(n,ut),i("hyphen replace",t),t=t.replace(o[W],"$1$2$3"),i("comparator trim",t,o[W]),t=(t=(t=t.replace(o[C],"$1~")).replace(o[D],"$1^")).split(/\s+/).join(" ");var r=e?o[B]:o[F],s=t.split(" ").map((function(t){return function(t,e){return i("comp",t,e),t=function(t,e){return t.trim().split(/\s+/).map((function(t){return function(t,e){i("caret",t,e);var n=e.loose?o[z]:o[U];return t.replace(n,(function(e,n,r,s,o){var a;return i("caret",t,e,n,r,s,o),_t(n)?a="":_t(r)?a=">="+n+".0.0 <"+(+n+1)+".0.0":_t(s)?a="0"===n?">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":">="+n+"."+r+".0 <"+(+n+1)+".0.0":o?(i("replaceCaret pr",o),a="0"===n?"0"===r?">="+n+"."+r+"."+s+"-"+o+" <"+n+"."+r+"."+(+s+1):">="+n+"."+r+"."+s+"-"+o+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+s+"-"+o+" <"+(+n+1)+".0.0"):(i("no pr"),a="0"===n?"0"===r?">="+n+"."+r+"."+s+" <"+n+"."+r+"."+(+s+1):">="+n+"."+r+"."+s+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+s+" <"+(+n+1)+".0.0"),i("caret return",a),a}))}(t,e)})).join(" ")}(t,e),i("caret",t),t=function(t,e){return t.trim().split(/\s+/).map((function(t){return function(t,e){var n=e.loose?o[M]:o[I];return t.replace(n,(function(e,n,r,s,o){var a;return i("tilde",t,e,n,r,s,o),_t(n)?a="":_t(r)?a=">="+n+".0.0 <"+(+n+1)+".0.0":_t(s)?a=">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":o?(i("replaceTilde pr",o),a=">="+n+"."+r+"."+s+"-"+o+" <"+n+"."+(+r+1)+".0"):a=">="+n+"."+r+"."+s+" <"+n+"."+(+r+1)+".0",i("tilde return",a),a}))}(t,e)})).join(" ")}(t,e),i("tildes",t),t=function(t,e){return i("replaceXRanges",t,e),t.split(/\s+/).map((function(t){return function(t,e){t=t.trim();var n=e.loose?o[R]:o[j];return t.replace(n,(function(e,n,r,s,o,a){i("xRange",t,e,n,r,s,o,a);var _=_t(r),u=_||_t(s),p=u||_t(o);return"="===n&&p&&(n=""),_?e=">"===n||"<"===n?"<0.0.0":"*":n&&p?(u&&(s=0),o=0,">"===n?(n=">=",u?(r=+r+1,s=0,o=0):(s=+s+1,o=0)):"<="===n&&(n="<",u?r=+r+1:s=+s+1),e=n+r+"."+s+"."+o):u?e=">="+r+".0.0 <"+(+r+1)+".0.0":p&&(e=">="+r+"."+s+".0 <"+r+"."+(+s+1)+".0"),i("xRange return",e),e}))}(t,e)})).join(" ")}(t,e),i("xrange",t),t=function(t,e){return i("replaceStars",t,e),t.trim().replace(o[V],"")}(t,e),i("stars",t),t}(t,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(s=s.filter((function(t){return!!t.match(r)}))),s.map((function(t){return new st(t,this.options)}),this)},at.prototype.intersects=function(t,e){if(!(t instanceof at))throw new TypeError("a Range is required");return this.set.some((function(n){return n.every((function(n){return t.set.some((function(t){return t.every((function(t){return n.intersects(t,e)}))}))}))}))},e.toComparators=function(t,e){return new at(t,e).set.map((function(t){return t.map((function(t){return t.value})).join(" ").trim().split(" ")}))},at.prototype.test=function(t){if(!t)return!1;"string"==typeof t&&(t=new q(t,this.options));for(var e=0;e":0===e.prerelease.length?e.patch++:e.prerelease.push(0),e.raw=e.format();case"":case">=":n&&!Z(n,e)||(n=e);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+t.operator)}}));return n&&t.test(n)?n:null},e.validRange=function(t,e){try{return new at(t,e).range||"*"}catch(t){return null}},e.ltr=function(t,e,n){return ct(t,e,"<",n)},e.gtr=function(t,e,n){return ct(t,e,">",n)},e.outside=ct,e.prerelease=function(t,e){var n=X(t,e);return n&&n.prerelease.length?n.prerelease:null},e.intersects=function(t,e,n){return t=new at(t,n),e=new at(e,n),t.intersects(e)},e.coerce=function(t){if(t instanceof q)return t;if("string"!=typeof t)return null;var e=t.match(o[P]);return null==e?null:X(e[1]+"."+(e[2]||"0")+"."+(e[3]||"0"))}},276:t=>{t.exports=function(t,e){e=e||10;var n=[],i="",r=RegExp;return function t(s,o){o>e||"function"!=typeof s&&void 0!==s&&("object"!=typeof s||!s||s instanceof r?i+=s:-1===n.indexOf(s)&&o!==e&&(n.push(s),i+="{",Object.keys(s).forEach((function(e,n,r){if("_"!==e.charAt(0)){var a=typeof s[e];"function"!==a&&"undefined"!==a&&(i+=e,t(s[e],o+1))}}))))}(t,0),i}},384:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},955:(t,e,n)=>{"use strict";var i=n(584),r=n(662),s=n(430),o=n(692);function a(t){return t.call.bind(t)}var _="undefined"!=typeof BigInt,u="undefined"!=typeof Symbol,p=a(Object.prototype.toString),h=a(Number.prototype.valueOf),c=a(String.prototype.valueOf),l=a(Boolean.prototype.valueOf);if(_)var f=a(BigInt.prototype.valueOf);if(u)var d=a(Symbol.prototype.valueOf);function g(t,e){if("object"!=typeof t)return!1;try{return e(t),!0}catch(t){return!1}}function y(t){return"[object Map]"===p(t)}function m(t){return"[object Set]"===p(t)}function b(t){return"[object WeakMap]"===p(t)}function v(t){return"[object WeakSet]"===p(t)}function w(t){return"[object ArrayBuffer]"===p(t)}function k(t){return"undefined"!=typeof ArrayBuffer&&(w.working?w(t):t instanceof ArrayBuffer)}function x(t){return"[object DataView]"===p(t)}function E(t){return"undefined"!=typeof DataView&&(x.working?x(t):t instanceof DataView)}e.isArgumentsObject=i,e.isGeneratorFunction=r,e.isTypedArray=o,e.isPromise=function(t){return"undefined"!=typeof Promise&&t instanceof Promise||null!==t&&"object"==typeof t&&"function"==typeof t.then&&"function"==typeof t.catch},e.isArrayBufferView=function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):o(t)||E(t)},e.isUint8Array=function(t){return"Uint8Array"===s(t)},e.isUint8ClampedArray=function(t){return"Uint8ClampedArray"===s(t)},e.isUint16Array=function(t){return"Uint16Array"===s(t)},e.isUint32Array=function(t){return"Uint32Array"===s(t)},e.isInt8Array=function(t){return"Int8Array"===s(t)},e.isInt16Array=function(t){return"Int16Array"===s(t)},e.isInt32Array=function(t){return"Int32Array"===s(t)},e.isFloat32Array=function(t){return"Float32Array"===s(t)},e.isFloat64Array=function(t){return"Float64Array"===s(t)},e.isBigInt64Array=function(t){return"BigInt64Array"===s(t)},e.isBigUint64Array=function(t){return"BigUint64Array"===s(t)},y.working="undefined"!=typeof Map&&y(new Map),e.isMap=function(t){return"undefined"!=typeof Map&&(y.working?y(t):t instanceof Map)},m.working="undefined"!=typeof Set&&m(new Set),e.isSet=function(t){return"undefined"!=typeof Set&&(m.working?m(t):t instanceof Set)},b.working="undefined"!=typeof WeakMap&&b(new WeakMap),e.isWeakMap=function(t){return"undefined"!=typeof WeakMap&&(b.working?b(t):t instanceof WeakMap)},v.working="undefined"!=typeof WeakSet&&v(new WeakSet),e.isWeakSet=function(t){return v(t)},w.working="undefined"!=typeof ArrayBuffer&&w(new ArrayBuffer),e.isArrayBuffer=k,x.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&x(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=E;var O="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function A(t){return"[object SharedArrayBuffer]"===p(t)}function S(t){return void 0!==O&&(void 0===A.working&&(A.working=A(new O)),A.working?A(t):t instanceof O)}function T(t){return g(t,h)}function j(t){return g(t,c)}function R(t){return g(t,l)}function P(t){return _&&g(t,f)}function N(t){return u&&g(t,d)}e.isSharedArrayBuffer=S,e.isAsyncFunction=function(t){return"[object AsyncFunction]"===p(t)},e.isMapIterator=function(t){return"[object Map Iterator]"===p(t)},e.isSetIterator=function(t){return"[object Set Iterator]"===p(t)},e.isGeneratorObject=function(t){return"[object Generator]"===p(t)},e.isWebAssemblyCompiledModule=function(t){return"[object WebAssembly.Module]"===p(t)},e.isNumberObject=T,e.isStringObject=j,e.isBooleanObject=R,e.isBigIntObject=P,e.isSymbolObject=N,e.isBoxedPrimitive=function(t){return T(t)||j(t)||R(t)||P(t)||N(t)},e.isAnyArrayBuffer=function(t){return"undefined"!=typeof Uint8Array&&(k(t)||S(t))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))},539:(t,e,n)=>{var i=n(155),r=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),n={},i=0;i=r)return t;switch(t){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(t){return"[Circular]"}default:return t}})),a=i[n];n=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),g(n)?i.showHidden=n:n&&e._extend(i,n),v(i.showHidden)&&(i.showHidden=!1),v(i.depth)&&(i.depth=2),v(i.colors)&&(i.colors=!1),v(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=p),c(i,t,i.depth)}function p(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function h(t,e){return t}function c(t,n,i){if(t.customInspect&&n&&O(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var r=n.inspect(i,t);return b(r)||(r=c(t,r,i)),r}var s=function(t,e){if(v(e))return t.stylize("undefined","undefined");if(b(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,n);if(s)return s;var o=Object.keys(n),a=function(t){var e={};return t.forEach((function(t,n){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(n)),E(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return l(n);if(0===o.length){if(O(n)){var _=n.name?": "+n.name:"";return t.stylize("[Function"+_+"]","special")}if(w(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(x(n))return t.stylize(Date.prototype.toString.call(n),"date");if(E(n))return l(n)}var u,p="",h=!1,k=["{","}"];return d(n)&&(h=!0,k=["[","]"]),O(n)&&(p=" [Function"+(n.name?": "+n.name:"")+"]"),w(n)&&(p=" "+RegExp.prototype.toString.call(n)),x(n)&&(p=" "+Date.prototype.toUTCString.call(n)),E(n)&&(p=" "+l(n)),0!==o.length||h&&0!=n.length?i<0?w(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),u=h?function(t,e,n,i,r){for(var s=[],o=0,a=e.length;o60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(u,p,k)):k[0]+p+k[1]}function l(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,n,i,r,s){var o,a,_;if((_=Object.getOwnPropertyDescriptor(e,r)||{value:e[r]}).get?a=_.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):_.set&&(a=t.stylize("[Setter]","special")),R(i,r)||(o="["+r+"]"),a||(t.seen.indexOf(_.value)<0?(a=y(n)?c(t,_.value,null):c(t,_.value,n-1)).indexOf("\n")>-1&&(a=s?a.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+a.split("\n").map((function(t){return" "+t})).join("\n")):a=t.stylize("[Circular]","special")),v(o)){if(s&&r.match(/^\d+$/))return a;(o=JSON.stringify(""+r)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+a}function d(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function b(t){return"string"==typeof t}function v(t){return void 0===t}function w(t){return k(t)&&"[object RegExp]"===A(t)}function k(t){return"object"==typeof t&&null!==t}function x(t){return k(t)&&"[object Date]"===A(t)}function E(t){return k(t)&&("[object Error]"===A(t)||t instanceof Error)}function O(t){return"function"==typeof t}function A(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(a.test(t)){var n=i.pid;o[t]=function(){var i=e.format.apply(e,arguments);console.error("%s %d: %s",t,n,i)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=n(955),e.isArray=d,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=b,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=v,e.isRegExp=w,e.types.isRegExp=w,e.isObject=k,e.isDate=x,e.types.isDate=x,e.isError=E,e.types.isNativeError=E,e.isFunction=O,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(384);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function j(){var t=new Date,e=[S(t.getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function R(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",j(),e.format.apply(e,arguments))},e.inherits=n(378),e._extend=function(t,e){if(!e||!k(e))return t;for(var n=Object.keys(e),i=n.length;i--;)t[n[i]]=e[n[i]];return t};var P="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function N(t,e){if(!t){var n=new Error("Promise was rejected with a falsy value");n.reason=t,t=n}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(P&&t[P]){var e;if("function"!=typeof(e=t[P]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,P,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,n,i=new Promise((function(t,i){e=t,n=i})),r=[],s=0;s{"use strict";var i=n(804),r=n(83),s=n(924),o=s("Object.prototype.toString"),a=n(410)(),_=r(),u=s("String.prototype.slice"),p={},h=n(882),c=Object.getPrototypeOf;a&&h&&c&&i(_,(function(t){if("function"==typeof n.g[t]){var e=new n.g[t];if(Symbol.toStringTag in e){var i=c(e),r=h(i,Symbol.toStringTag);if(!r){var s=c(i);r=h(s,Symbol.toStringTag)}p[t]=r.get}}}));var l=n(692);t.exports=function(t){return!!l(t)&&(a&&Symbol.toStringTag in t?function(t){var e=!1;return i(p,(function(n,i){if(!e)try{var r=n.call(t);r===i&&(e=r)}catch(t){}})),e}(t):u(o(t),8,-1))}},411:t=>{function e(t){var n=this;if(n instanceof e||(n=new e),n.tail=null,n.head=null,n.length=0,t&&"function"==typeof t.forEach)t.forEach((function(t){n.push(t)}));else if(arguments.length>0)for(var i=0,r=arguments.length;i1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},e.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},e.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},e.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},e.prototype.slice=function(t,n){(n=n||this.length)<0&&(n+=this.length),(t=t||0)<0&&(t+=this.length);var i=new e;if(nthis.length&&(n=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(n=this.length);for(var r=this.length,s=this.tail;null!==s&&r>n;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)i.push(s.value);return i},e.prototype.reverse=function(){for(var t=this.head,e=this.tail,n=t;null!==n;n=n.prev){var i=n.prev;n.prev=n.next,n.next=i}return this.head=e,this.tail=t,this}},163:(t,e,n)=>{"use strict";const i=n(549),r=n(470),s=n(435),o=n(923),a=(t,e)=>{const n={};for(let e in t)"js"!==e&&"html"!==e&&"css"!==e&&(n[e]=t[e]);if(e in t)for(let i in t[e])"allowed_file_extensions"!==i&&(n[i]=t[e][i]);return n},_=async(t,e,n)=>{const s=r.join(t,e),o=r.dirname(t);let a;try{await i.workspace.fs.stat(s),a=s}catch{a=null}return a||o===t||t===n||(a=await _(o,e,n)),a};t.exports=async(t,e,n)=>{let u=(t=>{if(!i.workspace.workspaceFolders||0===i.workspace.workspaceFolders.length)return;if(!t||t.isUntitled)return i.workspace.workspaceFolders[0].uri.fsPath;const e=i.workspace.getWorkspaceFolder(t.uri);return e?e.uri.fsPath:void 0})(t)||i.workspace.rootPath,p=t.isUntitled?u:r.dirname(t.fileName),h=((t,e,n)=>{const r=i.workspace.getConfiguration();e||(e=i.workspace.getConfiguration("editor"),i.window.visibleTextEditors.some((n=>{if(n.document&&n.document.fileName===t.fileName)return e=n.options})));const s={indent_with_tabs:void 0===e.insertSpaces||!e.insertSpaces,indent_size:e.tabSize,indent_char:" ",end_with_newline:r.files.insertFinalNewLine,eol:r.files.eol,space_after_anon_function:r.javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions,space_in_paren:r.javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis};return"html"===n&&(s.end_with_newline=r.html.format.endWithNewline,"string"==typeof r.html.format.extraLiners&&(s.extra_liners=r.html.format.extraLiners.split(",").map((t=>t.trim()))),s.indent_handlebars=r.html.format.indentHandlebars,s.indent_inner_html=r.html.format.indentInnerHtml,s.max_preserve_newlines=r.html.format.maxPreserveNewLines,s.preserve_newlines=r.html.format.preserveNewLines,s.wrap_attributes=r.html.format.wrapAttributes,"string"==typeof r.html.format.unformatted&&(s.unformatted=r.html.format.unformatted.split(",").map((t=>t.trim()))),s.wrap_line_length=r.html.format.wrapLineLength),s})(t,n,e);!function(t,e){try{const n=o.parseSync(t);"tab"===n.indent_style?(e.indent_with_tabs=!0,e.indent_char="\t"):"space"===n.indent_style&&(e.indent_with_tabs=!1,e.indent_char=" "),n.indent_size&&"tab"!==n.indent_size&&(e.indent_size=n.indent_size),n.max_line_length&&("off"===n.max_line_length?e.wrap_line_length=0:e.wrap_line_length=parseInt(n.max_line_length)),!0===n.insert_final_newline?e.end_with_newline=!0:!1===n.insert_final_newline&&(e.end_with_newline=!1),n.end_of_line&&("cr"===n.end_of_line?e.eol="\r":"lf"===n.end_of_line?e.eol="\n":"crlf"===n.end_of_line&&(e.eol="\r\n"))}catch(t){}}(t.fileName,h);let c=p?await _(p,".jsbeautifyrc",u):null;if(!c){let t=i.workspace.getConfiguration("beautify").config;if(t){if("object"==typeof t)return Promise.resolve(a(t,e));if("string"==typeof t){c=r.isAbsolute(t)?t:r.resolve(u,t);try{await i.workspace.fs.stat(c)}catch{c=null}}}}if(!c&&u&&(c=await _(r.dirname(u),".jsbeautifyrc")),!c){c=r.join(s.homedir(),".jsbeautifyrc");try{await i.workspace.fs.stat(c)}catch{return Promise.resolve(h)}}return new Promise(((t,n)=>i.workspace.fs.readFile(c).then((r=>{if(!r||!r.length)return t(h);try{const n=r.toString().replace(/\/\*.*\*\//g,"").replace(/("(?:[^\\"\r\n]|\\")*?")|(?:\/\/.*(?=[\r\n]|$))/g,((t,e)=>e||""));h=JSON.parse(n),h=a(h,e),t(h)}catch(t){i.window.showWarningMessage(`Found a .jsbeautifyrc file [${c}], but it didn't parse correctly.`),n()}}),(t=>{n()}))))}},549:t=>{"use strict";t.exports=require("vscode")},864:()=>{},630:()=>{},83:(t,e,n)=>{"use strict";var i=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"];t.exports=function(){for(var t=[],e=0;e{"use strict";var i=n(210)("%Object.getOwnPropertyDescriptor%");if(i)try{i([],"length")}catch(t){i=null}t.exports=i},958:t=>{"use strict";t.exports=JSON.parse('{"_from":"editorconfig@0.15.0","_id":"editorconfig@0.15.0","_inBundle":false,"_integrity":"sha512-j7JBoj/bpNzvoTQylfRZSc85MlLNKWQiq5y6gwKhmqD2h1eZ+tH4AXbkhEJD468gjDna/XMx2YtSkCxBRX9OGg==","_location":"/editorconfig","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"editorconfig@0.15.0","name":"editorconfig","escapedName":"editorconfig","rawSpec":"0.15.0","saveSpec":null,"fetchSpec":"0.15.0"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.0.tgz","_shasum":"b6dd4a0b6b9e76ce48e066bdc15381aebb8804fd","_spec":"editorconfig@0.15.0","_where":"/workspaces/VSCodeBeautify","author":{"name":"EditorConfig Team"},"bin":{"editorconfig":"bin/editorconfig"},"bugs":{"url":"https://github.com/editorconfig/editorconfig-core-js/issues"},"bundleDependencies":false,"contributors":[{"name":"Hong Xu","url":"topbug.net"},{"name":"Jed Mao","url":"https://github.com/jedmao/"},{"name":"Trey Hunner","url":"http://treyhunner.com"}],"dependencies":{"@types/commander":"^2.11.0","@types/semver":"^5.4.0","commander":"^2.11.0","lru-cache":"^4.1.1","semver":"^5.4.1","sigmund":"^1.0.1"},"deprecated":false,"description":"EditorConfig File Locator and Interpreter for Node.js","devDependencies":{"@types/mocha":"^2.2.43","cpy-cli":"^1.0.1","eclint":"^2.4.3","mocha":"^4.0.1","rimraf":"^2.6.2","should":"^13.1.2","tslint":"^5.7.0","typescript":"^2.5.3"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/editorconfig/editorconfig-core-js#readme","keywords":["editorconfig","core"],"license":"MIT","main":"index.js","name":"editorconfig","repository":{"type":"git","url":"git://github.com/editorconfig/editorconfig-core-js.git"},"scripts":{"build":"tsc","clean":"rimraf dist","copy":"cpy package.json .npmignore LICENSE README.md CHANGELOG.md dist && cpy src/bin/* dist/bin && cpy src/lib/fnmatch*.* dist/lib","eclint":"eclint check --indent_size ignore \\"src/**\\"","lint":"npm run eclint && npm run tslint","prebuild":"npm run clean","prepub":"npm run lint && npm run build && npm run copy","pretest":"npm run lint && npm run build && npm run copy && cmake .","pretest:ci":"npm run pretest","pub":"npm publish ./dist","test":"ctest .","test:ci":"ctest -VV --output-on-failure .","tslint":"tslint --project tslint.json"},"version":"0.15.0"}')}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={id:i,loaded:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var i={};(()=>{"use strict";var t=i;const e=n(549),r=n(204),s=n(163),o=n(171),a=n(470),_=t=>{},u=(t,n,i,o,a)=>{if(!t)throw e.window.showInformationMessage("Beautify can't get the file information because the editor won't supply it. (File probably too large)"),"";return Promise.resolve(i||e.window.showQuickPick([{label:"JS",description:"Does JavaScript and JSON"},{label:"CSS",description:"Does CSS and SCSS"},{label:"HTML"}],{matchOnDescription:!0,placeHolder:"Couldn't determine type to beautify, please choose."}).then((t=>{if(!t||!t.label)throw"no beautify type selected";return t.label.toLowerCase()}))).then((e=>s(t,e,o).then((t=>((t,e)=>(e&&(t.end_with_newline=!1),Promise.resolve(t)))(t,a))).then((i=>Promise.all(n.map((n=>r[e](t.getText(n),i))))))))},p=(t,n)=>[e.TextEdit.replace(t,n)],h=(t,n)=>{let i=n.end;i=0===i.character?i.translate(-1,Number.MAX_VALUE):i.translate(0,Number.MAX_VALUE);const r=new e.Range(new e.Position(n.start.line,0),i);return t.validateRange(r)},c=t=>t.validateRange(new e.Range(0,0,Number.MAX_VALUE,Number.MAX_VALUE));function l(t,n,i){let r=n.fileName,s=(t=>{if(!e.workspace.workspaceFolders||0===e.workspace.workspaceFolders.length)return;if(!t||t.isUntitled)return e.workspace.workspaceFolders[0].uri.fsPath;const n=e.workspace.getWorkspaceFolder(t.uri);return n?n.uri.fsPath:void 0})(n)||e.workspace.rootPath||"",h=e.workspace.getConfiguration("beautify",n.uri).ignore;if(Array.isArray(h)||(h=[h]),s&&r.startsWith(s)&&(r=a.relative(s,r)),h.some((t=>o(r,t))))return[];const l=c(n);return u(n,[l],t,i).then((t=>p(l,t[0])),_)}function f(t,e,n,i){return n=h(e,n),u(e,[n],t,i,!0).then((t=>p(n,t[0])),_)}const d=(t,n,i)=>i?e.languages.registerDocumentRangeFormattingEditProvider(n,{provideDocumentRangeFormattingEdits:f.bind(0,t)}):e.languages.registerDocumentFormattingEditProvider(n,{provideDocumentFormattingEdits:l.bind(0,t)}),g=new class{constructor(){this.available={js:r.js,css:r.css,html:r.html},this.configTypes={type:1,ext:1,filename:1},this.handlers={}}onFileOpen(t){for(let n in this.handlers)if(e.languages.match(this.handlers[n].selector,t))return this.handlers[n].full.dispose(),this.handlers[n].partial.dispose(),this.handlers[n].full=d(n,this.handlers[n].selector),this.handlers[n].partial=d(n,this.handlers[n].selector,!0),n}configure(){let t=e.workspace.getConfiguration("beautify"),n=t.language,i=t.JSFiles,r=t.CSSFiles,s=t.HTMLFiles;(i||r||s)&&(n={},i&&(n.js={ext:i}),r&&(n.css={ext:r}),s&&(n.html={ext:s}),e.window.showInformationMessage("`beautify.*Files` setting is deprecated. please use `beautify.language` instead. Open settings ->","Global","Workspace").then((t=>{t&&e.commands.executeCommand(`workbench.action.open${t}Settings`)}),_)),n=n||{},this.dispose();for(let t in n){if(!(t in this.available))continue;let e=[];if(Array.isArray(n[t]))e=n[t].map((t=>({language:t,scheme:"file"})));else for(let i in n[t]){let r;switch(i){case"type":r=n[t][i].map((t=>({language:t,scheme:"file"})));break;case"ext":r=[{pattern:`**/*.{${n[t][i].join(",")}}`,scheme:"file"}];break;case"filename":r=[{pattern:`**/{${n[t][i].join(",")}}`,scheme:"file"}];break;default:continue}e=e.concat(r)}e=e.concat(e.map((t=>{const e=Object.create(t);return e.scheme="untitled",e}))),e.length?this.handlers[t]={selector:e,full:d(t,e),partial:d(t,e,!0)}:delete this.handlers[t]}}getFormat(t){for(let n in this.handlers)if(e.languages.match(this.handlers[n].selector,t))return n}dispose(){for(let t in this.handlers)this.handlers[t].full.dispose(),this.handlers[t].partial.dispose();this.handlers={}}};g.configure();const y=t=>{const n=e.window.activeTextEditor;if(!n||!n.document)return;const i=g.getFormat(n.document);let r=[];return t&&n.selection&&(r=n.selections.filter((t=>!t.isEmpty)).map((t=>h(n.document,t)))),0===r.length&&(r=[c(n.document)]),r.length?u(n.document,r,i,null,t).then((t=>((t,n,i)=>{if(n.length!==i.length)throw e.window.showInformationMessage("Beautify ranges didn't get back the right number of edits"),"";return t.edit((t=>{for(let e=0;e{let n=t.subscriptions;n.push(e.commands.registerCommand("HookyQR.beautify",y.bind(0,!0))),n.push(e.commands.registerCommand("HookyQR.beautifyFile",y.bind(0,!1))),n.push(e.workspace.onDidChangeConfiguration(g.configure.bind(g))),n.push(e.workspace.onDidOpenTextDocument(g.onFileOpen.bind(g)))}})();var r=exports;for(var s in i)r[s]=i[s];i.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})(); \ No newline at end of file diff --git a/dist/web/extension.js.map b/dist/web/extension.js.map new file mode 100644 index 0000000..824e157 --- /dev/null +++ b/dist/web/extension.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extension.js","mappings":"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","sources":["webpack://beautify/./node_modules/balanced-match/index.js","webpack://beautify/./node_modules/brace-expansion/index.js","webpack://beautify/./node_modules/call-bind/callBound.js","webpack://beautify/./node_modules/call-bind/index.js","webpack://beautify/./node_modules/concat-map/index.js","webpack://beautify/./node_modules/editorconfig/index.js","webpack://beautify/./node_modules/editorconfig/lib/fnmatch.js","webpack://beautify/./node_modules/editorconfig/lib/ini.js","webpack://beautify/./node_modules/foreach/index.js","webpack://beautify/./node_modules/function-bind/implementation.js","webpack://beautify/./node_modules/function-bind/index.js","webpack://beautify/./node_modules/get-intrinsic/index.js","webpack://beautify/./node_modules/has-symbols/index.js","webpack://beautify/./node_modules/has-symbols/shams.js","webpack://beautify/./node_modules/has-tostringtag/shams.js","webpack://beautify/./node_modules/has/src/index.js","webpack://beautify/./node_modules/inherits/inherits.js","webpack://beautify/./node_modules/inherits/inherits_browser.js","webpack://beautify/./node_modules/is-arguments/index.js","webpack://beautify/./node_modules/is-generator-function/index.js","webpack://beautify/./node_modules/is-typed-array/index.js","webpack://beautify/./node_modules/js-beautify/js/index.js","webpack://beautify/./node_modules/js-beautify/js/lib/beautify-css.js","webpack://beautify/./node_modules/js-beautify/js/lib/beautify-html.js","webpack://beautify/./node_modules/js-beautify/js/lib/beautify.js","webpack://beautify/./node_modules/lru-cache/index.js","webpack://beautify/./node_modules/minimatch/minimatch.js","webpack://beautify/./node_modules/os-browserify/browser.js","webpack://beautify/./node_modules/path-browserify/index.js","webpack://beautify/./node_modules/process/browser.js","webpack://beautify/./node_modules/pseudomap/map.js","webpack://beautify/./node_modules/pseudomap/pseudomap.js","webpack://beautify/./node_modules/semver/semver.js","webpack://beautify/./node_modules/sigmund/sigmund.js","webpack://beautify/./node_modules/util/support/isBufferBrowser.js","webpack://beautify/./node_modules/util/support/types.js","webpack://beautify/./node_modules/util/util.js","webpack://beautify/./node_modules/which-typed-array/index.js","webpack://beautify/./node_modules/yallist/yallist.js","webpack://beautify/./options.js","webpack://beautify/external \"vscode\"","webpack://beautify/./node_modules/available-typed-arrays/index.js","webpack://beautify/./node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js","webpack://beautify/webpack/bootstrap","webpack://beautify/webpack/runtime/global","webpack://beautify/webpack/runtime/node module decorator","webpack://beautify/./extension.js"],"sourcesContent":["'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","var concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","module.exports = function (xs, fn) {\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = fn(xs[i], i);\n if (isArray(x)) res.push.apply(res, x);\n else res.push(x);\n }\n return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","\"use strict\";\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar fs = require(\"fs\");\r\nvar path = require(\"path\");\r\nvar semver = require(\"semver\");\r\nvar minimatch = require(\"./lib/fnmatch\");\r\nvar ini_1 = require(\"./lib/ini\");\r\nexports.parseString = ini_1.parseString;\r\n// tslint:disable-next-line:no-var-requires\r\nvar pkg = require('./package.json');\r\nvar knownProps = {\r\n end_of_line: true,\r\n indent_style: true,\r\n indent_size: true,\r\n insert_final_newline: true,\r\n trim_trailing_whitespace: true,\r\n charset: true,\r\n};\r\nfunction fnmatch(filepath, glob) {\r\n var matchOptions = { matchBase: true, dot: true, noext: true };\r\n glob = glob.replace(/\\*\\*/g, '{*,**/**/**}');\r\n return minimatch(filepath, glob, matchOptions);\r\n}\r\nfunction getConfigFileNames(filepath, options) {\r\n var paths = [];\r\n do {\r\n filepath = path.dirname(filepath);\r\n paths.push(path.join(filepath, options.config));\r\n } while (filepath !== options.root);\r\n return paths;\r\n}\r\nfunction processMatches(matches, version) {\r\n // Set indent_size to 'tab' if indent_size is unspecified and\r\n // indent_style is set to 'tab'.\r\n if ('indent_style' in matches\r\n && matches.indent_style === 'tab'\r\n && !('indent_size' in matches)\r\n && semver.gte(version, '0.10.0')) {\r\n matches.indent_size = 'tab';\r\n }\r\n // Set tab_width to indent_size if indent_size is specified and\r\n // tab_width is unspecified\r\n if ('indent_size' in matches\r\n && !('tab_width' in matches)\r\n && matches.indent_size !== 'tab') {\r\n matches.tab_width = matches.indent_size;\r\n }\r\n // Set indent_size to tab_width if indent_size is 'tab'\r\n if ('indent_size' in matches\r\n && 'tab_width' in matches\r\n && matches.indent_size === 'tab') {\r\n matches.indent_size = matches.tab_width;\r\n }\r\n return matches;\r\n}\r\nfunction processOptions(options, filepath) {\r\n if (options === void 0) { options = {}; }\r\n return {\r\n config: options.config || '.editorconfig',\r\n version: options.version || pkg.version,\r\n root: path.resolve(options.root || path.parse(filepath).root),\r\n };\r\n}\r\nfunction buildFullGlob(pathPrefix, glob) {\r\n switch (glob.indexOf('/')) {\r\n case -1:\r\n glob = '**/' + glob;\r\n break;\r\n case 0:\r\n glob = glob.substring(1);\r\n break;\r\n default:\r\n break;\r\n }\r\n return path.join(pathPrefix, glob);\r\n}\r\nfunction extendProps(props, options) {\r\n if (props === void 0) { props = {}; }\r\n if (options === void 0) { options = {}; }\r\n for (var key in options) {\r\n if (options.hasOwnProperty(key)) {\r\n var value = options[key];\r\n var key2 = key.toLowerCase();\r\n var value2 = value;\r\n if (knownProps[key2]) {\r\n value2 = value.toLowerCase();\r\n }\r\n try {\r\n value2 = JSON.parse(value);\r\n }\r\n catch (e) { }\r\n if (typeof value === 'undefined' || value === null) {\r\n // null and undefined are values specific to JSON (no special meaning\r\n // in editorconfig) & should just be returned as regular strings.\r\n value2 = String(value);\r\n }\r\n props[key2] = value2;\r\n }\r\n }\r\n return props;\r\n}\r\nfunction parseFromConfigs(configs, filepath, options) {\r\n return processMatches(configs\r\n .reverse()\r\n .reduce(function (matches, file) {\r\n var pathPrefix = path.dirname(file.name);\r\n file.contents.forEach(function (section) {\r\n var glob = section[0];\r\n var options2 = section[1];\r\n if (!glob) {\r\n return;\r\n }\r\n var fullGlob = buildFullGlob(pathPrefix, glob);\r\n if (!fnmatch(filepath, fullGlob)) {\r\n return;\r\n }\r\n matches = extendProps(matches, options2);\r\n });\r\n return matches;\r\n }, {}), options.version);\r\n}\r\nfunction getConfigsForFiles(files) {\r\n var configs = [];\r\n for (var i in files) {\r\n if (files.hasOwnProperty(i)) {\r\n var file = files[i];\r\n var contents = ini_1.parseString(file.contents);\r\n configs.push({\r\n name: file.name,\r\n contents: contents,\r\n });\r\n if ((contents[0][1].root || '').toLowerCase() === 'true') {\r\n break;\r\n }\r\n }\r\n }\r\n return configs;\r\n}\r\nfunction readConfigFiles(filepaths) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, Promise.all(filepaths.map(function (name) { return new Promise(function (resolve) {\r\n fs.readFile(name, 'utf8', function (err, data) {\r\n resolve({\r\n name: name,\r\n contents: err ? '' : data,\r\n });\r\n });\r\n }); }))];\r\n });\r\n });\r\n}\r\nfunction readConfigFilesSync(filepaths) {\r\n var files = [];\r\n var file;\r\n filepaths.forEach(function (filepath) {\r\n try {\r\n file = fs.readFileSync(filepath, 'utf8');\r\n }\r\n catch (e) {\r\n file = '';\r\n }\r\n files.push({\r\n name: filepath,\r\n contents: file,\r\n });\r\n });\r\n return files;\r\n}\r\nfunction opts(filepath, options) {\r\n if (options === void 0) { options = {}; }\r\n var resolvedFilePath = path.resolve(filepath);\r\n return [\r\n resolvedFilePath,\r\n processOptions(options, resolvedFilePath),\r\n ];\r\n}\r\nfunction parseFromFiles(filepath, files, options) {\r\n if (options === void 0) { options = {}; }\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, resolvedFilePath, processedOptions;\r\n return __generator(this, function (_b) {\r\n _a = opts(filepath, options), resolvedFilePath = _a[0], processedOptions = _a[1];\r\n return [2 /*return*/, files.then(getConfigsForFiles)\r\n .then(function (configs) { return parseFromConfigs(configs, resolvedFilePath, processedOptions); })];\r\n });\r\n });\r\n}\r\nexports.parseFromFiles = parseFromFiles;\r\nfunction parseFromFilesSync(filepath, files, options) {\r\n if (options === void 0) { options = {}; }\r\n var _a = opts(filepath, options), resolvedFilePath = _a[0], processedOptions = _a[1];\r\n return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions);\r\n}\r\nexports.parseFromFilesSync = parseFromFilesSync;\r\nfunction parse(_filepath, _options) {\r\n if (_options === void 0) { _options = {}; }\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, resolvedFilePath, processedOptions, filepaths;\r\n return __generator(this, function (_b) {\r\n _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1];\r\n filepaths = getConfigFileNames(resolvedFilePath, processedOptions);\r\n return [2 /*return*/, readConfigFiles(filepaths)\r\n .then(getConfigsForFiles)\r\n .then(function (configs) { return parseFromConfigs(configs, resolvedFilePath, processedOptions); })];\r\n });\r\n });\r\n}\r\nexports.parse = parse;\r\nfunction parseSync(_filepath, _options) {\r\n if (_options === void 0) { _options = {}; }\r\n var _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1];\r\n var filepaths = getConfigFileNames(resolvedFilePath, processedOptions);\r\n var files = readConfigFilesSync(filepaths);\r\n return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions);\r\n}\r\nexports.parseSync = parseSync;\r\n","// Based on minimatch.js by isaacs \n\n var platform = typeof process === \"object\" ? process.platform : \"win32\"\n\n if (module) module.exports = minimatch\n else exports.minimatch = minimatch\n\n minimatch.Minimatch = Minimatch\n\n var LRU = require(\"lru-cache\")\n , cache = minimatch.cache = new LRU({max: 100})\n , GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\n , sigmund = require(\"sigmund\")\n\n var path = require(\"path\")\n // any single thing other than /\n // don't need to escape / when using new RegExp()\n , qmark = \"[^/]\"\n\n // * => any number of characters\n , star = qmark + \"*?\"\n\n // ** when dots are allowed. Anything goes, except .. and .\n // not (^ or / followed by one or two dots followed by $ or /),\n // followed by anything, any number of times.\n , twoStarDot = \"(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?\"\n\n // not a ^ or / followed by a dot,\n // followed by anything, any number of times.\n , twoStarNoDot = \"(?:(?!(?:\\\\\\/|^)\\\\.).)*?\"\n\n // characters that need to be escaped in RegExp.\n , reSpecials = charSet(\"().*{}+?[]^$\\\\!\")\n\n// \"abc\" -> { a:true, b:true, c:true }\n function charSet (s) {\n return s.split(\"\").reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n }\n\n// normalizes slashes.\n var slashSplit = /\\/+/\n\n minimatch.monkeyPatch = monkeyPatch\n function monkeyPatch () {\n var desc = Object.getOwnPropertyDescriptor(String.prototype, \"match\")\n var orig = desc.value\n desc.value = function (p) {\n if (p instanceof Minimatch) return p.match(this)\n return orig.call(this, p)\n }\n Object.defineProperty(String.prototype, desc)\n }\n\n minimatch.filter = filter\n function filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n }\n\n function ext (a, b) {\n a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n }\n\n minimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n\n return m\n }\n\n Minimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n }\n\n\n function minimatch (p, pattern, options) {\n if (typeof pattern !== \"string\") {\n throw new TypeError(\"glob pattern string required\")\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === \"#\") {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === \"\") return p === \"\"\n\n return new Minimatch(pattern, options).match(p)\n }\n\n function Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options, cache)\n }\n\n if (typeof pattern !== \"string\") {\n throw new TypeError(\"glob pattern string required\")\n }\n\n if (!options) options = {}\n\n // windows: need to use /, not \\\n // On other platforms, \\ is a valid (albeit bad) filename char.\n if (platform === \"win32\") {\n pattern = pattern.split(\"\\\\\").join(\"/\")\n }\n\n // lru storage.\n // these things aren't particularly big, but walking down the string\n // and turning it into a regexp can get pretty costly.\n var cacheKey = pattern + \"\\n\" + sigmund(options)\n var cached = minimatch.cache.get(cacheKey)\n if (cached) return cached\n minimatch.cache.set(cacheKey, this)\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n\n // make the set of regexps etc.\n this.make()\n }\n\n Minimatch.prototype.make = make\n function make () {\n // don't do it more than once.\n if (this._made) return\n\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === \"#\") {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) console.error(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n if (options.debug) console.error(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n if (options.debug) console.error(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return -1 === s.indexOf(false)\n })\n\n if (options.debug) console.error(this.pattern, set)\n\n this.set = set\n }\n\n Minimatch.prototype.parseNegate = parseNegate\n function parseNegate () {\n var pattern = this.pattern\n , negate = false\n , options = this.options\n , negateOffset = 0\n\n if (options.nonegate) return\n\n for ( var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === \"!\"\n ; i ++) {\n negate = !negate\n negateOffset ++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n }\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\n minimatch.braceExpand = function (pattern, options) {\n return new Minimatch(pattern, options).braceExpand()\n }\n\n Minimatch.prototype.braceExpand = braceExpand\n function braceExpand (pattern, options) {\n options = options || this.options\n pattern = typeof pattern === \"undefined\"\n ? this.pattern : pattern\n\n if (typeof pattern === \"undefined\") {\n throw new Error(\"undefined pattern\")\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n var escaping = false\n\n // examples and comments refer to this crazy pattern:\n // a{b,c{d,e},{f,g}h}x{y,z}\n // expected:\n // abxy\n // abxz\n // acdxy\n // acdxz\n // acexy\n // acexz\n // afhxy\n // afhxz\n // aghxy\n // aghxz\n\n // everything before the first \\{ is just a prefix.\n // So, we pluck that off, and work with the rest,\n // and then prepend it to everything we find.\n if (pattern.charAt(0) !== \"{\") {\n // console.error(pattern)\n var prefix = null\n for (var i = 0, l = pattern.length; i < l; i ++) {\n var c = pattern.charAt(i)\n // console.error(i, c)\n if (c === \"\\\\\") {\n escaping = !escaping\n } else if (c === \"{\" && !escaping) {\n prefix = pattern.substr(0, i)\n break\n }\n }\n\n // actually no sets, all { were escaped.\n if (prefix === null) {\n // console.error(\"no sets\")\n return [pattern]\n }\n\n var tail = braceExpand(pattern.substr(i), options)\n return tail.map(function (t) {\n return prefix + t\n })\n }\n\n // now we have something like:\n // {b,c{d,e},{f,g}h}x{y,z}\n // walk through the set, expanding each part, until\n // the set ends. then, we'll expand the suffix.\n // If the set only has a single member, then'll put the {} back\n\n // first, handle numeric sets, since they're easier\n var numset = pattern.match(/^\\{(-?[0-9]+)\\.\\.(-?[0-9]+)\\}/)\n if (numset) {\n // console.error(\"numset\", numset[1], numset[2])\n var suf = braceExpand(pattern.substr(numset[0].length), options)\n , start = +numset[1]\n , end = +numset[2]\n , inc = start > end ? -1 : 1\n , set = []\n for (var i = start; i != (end + inc); i += inc) {\n // append all the suffixes\n for (var ii = 0, ll = suf.length; ii < ll; ii ++) {\n set.push(i + suf[ii])\n }\n }\n return set\n }\n\n // ok, walk through the set\n // We hope, somewhat optimistically, that there\n // will be a } at the end.\n // If the closing brace isn't found, then the pattern is\n // interpreted as braceExpand(\"\\\\\" + pattern) so that\n // the leading \\{ will be interpreted literally.\n var i = 1 // skip the \\{\n , depth = 1\n , set = []\n , member = \"\"\n , sawEnd = false\n , escaping = false\n\n function addMember () {\n set.push(member)\n member = \"\"\n }\n\n // console.error(\"Entering for\")\n FOR: for (i = 1, l = pattern.length; i < l; i ++) {\n var c = pattern.charAt(i)\n // console.error(\"\", i, c)\n\n if (escaping) {\n escaping = false\n member += \"\\\\\" + c\n } else {\n switch (c) {\n case \"\\\\\":\n escaping = true\n continue\n\n case \"{\":\n depth ++\n member += \"{\"\n continue\n\n case \"}\":\n depth --\n // if this closes the actual set, then we're done\n if (depth === 0) {\n addMember()\n // pluck off the close-brace\n i ++\n break FOR\n } else {\n member += c\n continue\n }\n\n case \",\":\n if (depth === 1) {\n addMember()\n } else {\n member += c\n }\n continue\n\n default:\n member += c\n continue\n } // switch\n } // else\n } // for\n\n // now we've either finished the set, and the suffix is\n // pattern.substr(i), or we have *not* closed the set,\n // and need to escape the leading brace\n if (depth !== 0) {\n // console.error(\"didn't close\", pattern)\n return braceExpand(\"\\\\\" + pattern, options)\n }\n\n // x{y,z} -> [\"xy\", \"xz\"]\n // console.error(\"set\", set)\n // console.error(\"suffix\", pattern.substr(i))\n var suf = braceExpand(pattern.substr(i), options)\n // [\"b\", \"c{d,e}\",\"{f,g}h\"] ->\n // [[\"b\"], [\"cd\", \"ce\"], [\"fh\", \"gh\"]]\n var addBraces = set.length === 1\n // console.error(\"set pre-expanded\", set)\n set = set.map(function (p) {\n return braceExpand(p, options)\n })\n // console.error(\"set expanded\", set)\n\n\n // [[\"b\"], [\"cd\", \"ce\"], [\"fh\", \"gh\"]] ->\n // [\"b\", \"cd\", \"ce\", \"fh\", \"gh\"]\n set = set.reduce(function (l, r) {\n return l.concat(r)\n })\n\n if (addBraces) {\n set = set.map(function (s) {\n return \"{\" + s + \"}\"\n })\n }\n\n // now attach the suffixes.\n var ret = []\n for (var i = 0, l = set.length; i < l; i ++) {\n for (var ii = 0, ll = suf.length; ii < ll; ii ++) {\n ret.push(set[i] + suf[ii])\n }\n }\n return ret\n }\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\n Minimatch.prototype.parse = parse\n var SUBPARSE = {}\n function parse (pattern, isSub) {\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === \"**\") return GLOBSTAR\n if (pattern === \"\") return \"\"\n\n var re = \"\"\n , hasMagic = !!options.nocase\n , escaping = false\n // ? => one single character\n , patternListStack = []\n , plType\n , stateChar\n , inClass = false\n , reClassStart = -1\n , classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n , patternStart = pattern.charAt(0) === \".\" ? \"\" // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? \"(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))\"\n : \"(?!\\\\.)\"\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case \"*\":\n re += star\n hasMagic = true\n break\n case \"?\":\n re += qmark\n hasMagic = true\n break\n default:\n re += \"\\\\\"+stateChar\n break\n }\n stateChar = false\n }\n }\n\n for ( var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i ++ ) {\n\n if (options.debug) {\n console.error(\"%s\\t%s %s %j\", pattern, i, re, c)\n }\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += \"\\\\\" + c\n escaping = false\n continue\n }\n\n SWITCH: switch (c) {\n case \"/\":\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n\n case \"\\\\\":\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case \"?\":\n case \"*\":\n case \"+\":\n case \"@\":\n case \"!\":\n if (options.debug) {\n console.error(\"%s\\t%s %s %j <-- stateChar\", pattern, i, re, c)\n }\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n if (c === \"!\" && i === classStart + 1) c = \"^\"\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case \"(\":\n if (inClass) {\n re += \"(\"\n continue\n }\n\n if (!stateChar) {\n re += \"\\\\(\"\n continue\n }\n\n plType = stateChar\n patternListStack.push({ type: plType\n , start: i - 1\n , reStart: re.length })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === \"!\" ? \"(?:(?!\" : \"(?:\"\n stateChar = false\n continue\n\n case \")\":\n if (inClass || !patternListStack.length) {\n re += \"\\\\)\"\n continue\n }\n\n hasMagic = true\n re += \")\"\n plType = patternListStack.pop().type\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n switch (plType) {\n case \"!\":\n re += \"[^/]*?)\"\n break\n case \"?\":\n case \"+\":\n case \"*\": re += plType\n case \"@\": break // the default anyway\n }\n continue\n\n case \"|\":\n if (inClass || !patternListStack.length || escaping) {\n re += \"\\\\|\"\n escaping = false\n continue\n }\n\n re += \"|\"\n continue\n\n // these are mostly the same in regexp and glob\n case \"[\":\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += \"\\\\\" + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case \"]\":\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += \"\\\\\" + c\n escaping = false\n continue\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === \"^\" && inClass)) {\n re += \"\\\\\"\n }\n\n re += c\n\n } // switch\n } // for\n\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n var cs = pattern.substr(classStart + 1)\n , sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + \"\\\\[\" + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n var pl\n while (pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + 3)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2})*)(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = \"\\\\\"\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + \"|\"\n })\n\n // console.error(\"tail=%j\\n %s\", tail, tail)\n var t = pl.type === \"*\" ? star\n : pl.type === \"?\" ? qmark\n : \"\\\\\" + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart)\n + t + \"\\\\(\"\n + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += \"\\\\\\\\\"\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case \".\":\n case \"[\":\n case \"(\": addPatternStart = true\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== \"\" && hasMagic) re = \"(?=.)\" + re\n\n if (addPatternStart) re = patternStart + re\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [ re, hasMagic ]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? \"i\" : \"\"\n , regExp = new RegExp(\"^\" + re + \"$\", flags)\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n }\n\n minimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n }\n\n Minimatch.prototype.makeRe = makeRe\n function makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) return this.regexp = false\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n , flags = options.nocase ? \"i\" : \"\"\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === \"string\") ? regExpEscape(p)\n : p._src\n }).join(\"\\\\\\/\")\n }).join(\"|\")\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = \"^(?:\" + re + \")$\"\n\n // can match anything, as long as it's not this.\n if (this.negate) re = \"^(?!\" + re + \").*$\"\n\n try {\n return this.regexp = new RegExp(re, flags)\n } catch (ex) {\n return this.regexp = false\n }\n }\n\n minimatch.match = function (list, pattern, options) {\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n }\n\n Minimatch.prototype.match = match\n function match (f, partial) {\n // console.error(\"match\", f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === \"\"\n\n if (f === \"/\" && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n // On other platforms, \\ is a valid (albeit bad) filename char.\n if (platform === \"win32\") {\n f = f.split(\"\\\\\").join(\"/\")\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n if (options.debug) {\n console.error(this.pattern, \"split\", f)\n }\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n // console.error(this.pattern, \"set\", set)\n\n for (var i = 0, l = set.length; i < l; i ++) {\n var pattern = set[i]\n var hit = this.matchOne(f, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n }\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\n Minimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n if (options.debug) {\n console.error(\"matchOne\",\n { \"this\": this\n , file: file\n , pattern: pattern })\n }\n\n if (options.matchBase && pattern.length === 1) {\n file = path.basename(file.join(\"/\")).split(\"/\")\n }\n\n if (options.debug) {\n console.error(\"matchOne\", file.length, pattern.length)\n }\n\n for ( var fi = 0\n , pi = 0\n , fl = file.length\n , pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi ++, pi ++ ) {\n\n if (options.debug) {\n console.error(\"matchOne loop\")\n }\n var p = pattern[pi]\n , f = file[fi]\n\n if (options.debug) {\n console.error(pattern, p, f)\n }\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n if (options.debug)\n console.error('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n , pr = pi + 1\n if (pr === pl) {\n if (options.debug)\n console.error('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for ( ; fi < fl; fi ++) {\n if (file[fi] === \".\" || file[fi] === \"..\" ||\n (!options.dot && file[fi].charAt(0) === \".\")) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n WHILE: while (fr < fl) {\n var swallowee = file[fr]\n\n if (options.debug) {\n console.error('\\nglobstar while',\n file, fr, pattern, pr, swallowee)\n }\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n if (options.debug)\n console.error('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === \".\" || swallowee === \"..\" ||\n (!options.dot && swallowee.charAt(0) === \".\")) {\n if (options.debug)\n console.error(\"dot detected!\", file, fr, pattern, pr)\n break WHILE\n }\n\n // ** swallows a segment, and continue.\n if (options.debug)\n console.error('globstar swallow a segment, and continue')\n fr ++\n }\n }\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n if (partial) {\n // ran out of file\n // console.error(\"\\n>>> no match, partial?\", file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === \"string\") {\n if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\n if (options.debug) {\n console.error(\"string match\", p, f, hit)\n }\n } else {\n hit = f.match(p)\n if (options.debug) {\n console.error(\"pattern match\", p, f, hit)\n }\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n var emptyFileEnd = (fi === fl - 1) && (file[fi] === \"\")\n return emptyFileEnd\n }\n\n // should be unreachable.\n throw new Error(\"wtf?\")\n }\n\n\n// replace stuff like \\* with *\n function globUnescape (s) {\n return s.replace(/\\\\(.)/g, \"$1\")\n }\n\n\n function regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\")\n }\n","\"use strict\";\r\n// Based on iniparser by shockie \r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar fs = require(\"fs\");\r\n/**\r\n * define the possible values:\r\n * section: [section]\r\n * param: key=value\r\n * comment: ;this is a comment\r\n */\r\nvar regex = {\r\n section: /^\\s*\\[(([^#;]|\\\\#|\\\\;)+)\\]\\s*([#;].*)?$/,\r\n param: /^\\s*([\\w\\.\\-\\_]+)\\s*[=:]\\s*(.*?)\\s*([#;].*)?$/,\r\n comment: /^\\s*[#;].*$/,\r\n};\r\n/**\r\n * Parses an .ini file\r\n * @param file The location of the .ini file\r\n */\r\nfunction parse(file) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n fs.readFile(file, 'utf8', function (err, data) {\r\n if (err) {\r\n reject(err);\r\n return;\r\n }\r\n resolve(parseString(data));\r\n });\r\n })];\r\n });\r\n });\r\n}\r\nexports.parse = parse;\r\nfunction parseSync(file) {\r\n return parseString(fs.readFileSync(file, 'utf8'));\r\n}\r\nexports.parseSync = parseSync;\r\nfunction parseString(data) {\r\n var sectionBody = {};\r\n var sectionName = null;\r\n var value = [[sectionName, sectionBody]];\r\n var lines = data.split(/\\r\\n|\\r|\\n/);\r\n lines.forEach(function (line) {\r\n var match;\r\n if (regex.comment.test(line)) {\r\n return;\r\n }\r\n if (regex.param.test(line)) {\r\n match = line.match(regex.param);\r\n sectionBody[match[1]] =\r\n match[2];\r\n }\r\n else if (regex.section.test(line)) {\r\n match = line.match(regex.section);\r\n sectionName = match[1];\r\n sectionBody = {};\r\n value.push([sectionName, sectionBody]);\r\n }\r\n });\r\n return value;\r\n}\r\nexports.parseString = parseString;\r\n","\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","try {\n var util = require('util');\n /* istanbul ignore next */\n if (typeof util.inherits !== 'function') throw '';\n module.exports = util.inherits;\n} catch (e) {\n /* istanbul ignore next */\n module.exports = require('./inherits_browser.js');\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\nvar forEach = require('foreach');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new global[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","/*jshint node:true */\n/* globals define */\n/*\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n*/\n\n'use strict';\n\n/**\nThe following batches are equivalent:\n\nvar beautify_js = require('js-beautify');\nvar beautify_js = require('js-beautify').js;\nvar beautify_js = require('js-beautify').js_beautify;\n\nvar beautify_css = require('js-beautify').css;\nvar beautify_css = require('js-beautify').css_beautify;\n\nvar beautify_html = require('js-beautify').html;\nvar beautify_html = require('js-beautify').html_beautify;\n\nAll methods returned accept two arguments, the source string and an options object.\n**/\n\nfunction get_beautify(js_beautify, css_beautify, html_beautify) {\n // the default is js\n var beautify = function(src, config) {\n return js_beautify.js_beautify(src, config);\n };\n\n // short aliases\n beautify.js = js_beautify.js_beautify;\n beautify.css = css_beautify.css_beautify;\n beautify.html = html_beautify.html_beautify;\n\n // legacy aliases\n beautify.js_beautify = js_beautify.js_beautify;\n beautify.css_beautify = css_beautify.css_beautify;\n beautify.html_beautify = html_beautify.html_beautify;\n\n return beautify;\n}\n\nif (typeof define === \"function\" && define.amd) {\n // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- )\n define([\n \"./lib/beautify\",\n \"./lib/beautify-css\",\n \"./lib/beautify-html\"\n ], function(js_beautify, css_beautify, html_beautify) {\n return get_beautify(js_beautify, css_beautify, html_beautify);\n });\n} else {\n (function(mod) {\n var beautifier = require('./src/index');\n beautifier.js_beautify = beautifier.js;\n beautifier.css_beautify = beautifier.css;\n beautifier.html_beautify = beautifier.html;\n\n mod.exports = get_beautify(beautifier, beautifier, beautifier);\n\n })(module);\n}","/* AUTO-GENERATED. DO NOT MODIFY. */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n\n CSS Beautifier\n---------------\n\n Written by Harutyun Amirjanyan, (amirjanyan@gmail.com)\n\n Based on code initially developed by: Einar Lielmanis, \n https://beautifier.io/\n\n Usage:\n css_beautify(source_text);\n css_beautify(source_text, options);\n\n The options are (default in brackets):\n indent_size (4) — indentation size,\n indent_char (space) — character to indent with,\n selector_separator_newline (true) - separate selectors with newline or\n not (e.g. \"a,\\nbr\" or \"a, br\")\n end_with_newline (false) - end with a newline\n newline_between_rules (true) - add a new line after every css rule\n space_around_selector_separator (false) - ensure space around selector separators:\n '>', '+', '~' (e.g. \"a>b\" -> \"a > b\")\n e.g\n\n css_beautify(css_source_text, {\n 'indent_size': 1,\n 'indent_char': '\\t',\n 'selector_separator': ' ',\n 'end_with_newline': false,\n 'newline_between_rules': true,\n 'space_around_selector_separator': true\n });\n*/\n\n// http://www.w3.org/TR/CSS21/syndata.html#tokenization\n// http://www.w3.org/TR/css3-syntax/\n\n(function() {\n\n/* GENERATED_BUILD_OUTPUT */\nvar legacy_beautify_css;\n/******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */,\n/* 2 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction OutputLine(parent) {\n this.__parent = parent;\n this.__character_count = 0;\n // use indent_count as a marker for this.__lines that have preserved indentation\n this.__indent_count = -1;\n this.__alignment_count = 0;\n this.__wrap_point_index = 0;\n this.__wrap_point_character_count = 0;\n this.__wrap_point_indent_count = -1;\n this.__wrap_point_alignment_count = 0;\n\n this.__items = [];\n}\n\nOutputLine.prototype.clone_empty = function() {\n var line = new OutputLine(this.__parent);\n line.set_indent(this.__indent_count, this.__alignment_count);\n return line;\n};\n\nOutputLine.prototype.item = function(index) {\n if (index < 0) {\n return this.__items[this.__items.length + index];\n } else {\n return this.__items[index];\n }\n};\n\nOutputLine.prototype.has_match = function(pattern) {\n for (var lastCheckedOutput = this.__items.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) {\n if (this.__items[lastCheckedOutput].match(pattern)) {\n return true;\n }\n }\n return false;\n};\n\nOutputLine.prototype.set_indent = function(indent, alignment) {\n if (this.is_empty()) {\n this.__indent_count = indent || 0;\n this.__alignment_count = alignment || 0;\n this.__character_count = this.__parent.get_indent_size(this.__indent_count, this.__alignment_count);\n }\n};\n\nOutputLine.prototype._set_wrap_point = function() {\n if (this.__parent.wrap_line_length) {\n this.__wrap_point_index = this.__items.length;\n this.__wrap_point_character_count = this.__character_count;\n this.__wrap_point_indent_count = this.__parent.next_line.__indent_count;\n this.__wrap_point_alignment_count = this.__parent.next_line.__alignment_count;\n }\n};\n\nOutputLine.prototype._should_wrap = function() {\n return this.__wrap_point_index &&\n this.__character_count > this.__parent.wrap_line_length &&\n this.__wrap_point_character_count > this.__parent.next_line.__character_count;\n};\n\nOutputLine.prototype._allow_wrap = function() {\n if (this._should_wrap()) {\n this.__parent.add_new_line();\n var next = this.__parent.current_line;\n next.set_indent(this.__wrap_point_indent_count, this.__wrap_point_alignment_count);\n next.__items = this.__items.slice(this.__wrap_point_index);\n this.__items = this.__items.slice(0, this.__wrap_point_index);\n\n next.__character_count += this.__character_count - this.__wrap_point_character_count;\n this.__character_count = this.__wrap_point_character_count;\n\n if (next.__items[0] === \" \") {\n next.__items.splice(0, 1);\n next.__character_count -= 1;\n }\n return true;\n }\n return false;\n};\n\nOutputLine.prototype.is_empty = function() {\n return this.__items.length === 0;\n};\n\nOutputLine.prototype.last = function() {\n if (!this.is_empty()) {\n return this.__items[this.__items.length - 1];\n } else {\n return null;\n }\n};\n\nOutputLine.prototype.push = function(item) {\n this.__items.push(item);\n var last_newline_index = item.lastIndexOf('\\n');\n if (last_newline_index !== -1) {\n this.__character_count = item.length - last_newline_index;\n } else {\n this.__character_count += item.length;\n }\n};\n\nOutputLine.prototype.pop = function() {\n var item = null;\n if (!this.is_empty()) {\n item = this.__items.pop();\n this.__character_count -= item.length;\n }\n return item;\n};\n\n\nOutputLine.prototype._remove_indent = function() {\n if (this.__indent_count > 0) {\n this.__indent_count -= 1;\n this.__character_count -= this.__parent.indent_size;\n }\n};\n\nOutputLine.prototype._remove_wrap_indent = function() {\n if (this.__wrap_point_indent_count > 0) {\n this.__wrap_point_indent_count -= 1;\n }\n};\nOutputLine.prototype.trim = function() {\n while (this.last() === ' ') {\n this.__items.pop();\n this.__character_count -= 1;\n }\n};\n\nOutputLine.prototype.toString = function() {\n var result = '';\n if (this.is_empty()) {\n if (this.__parent.indent_empty_lines) {\n result = this.__parent.get_indent_string(this.__indent_count);\n }\n } else {\n result = this.__parent.get_indent_string(this.__indent_count, this.__alignment_count);\n result += this.__items.join('');\n }\n return result;\n};\n\nfunction IndentStringCache(options, baseIndentString) {\n this.__cache = [''];\n this.__indent_size = options.indent_size;\n this.__indent_string = options.indent_char;\n if (!options.indent_with_tabs) {\n this.__indent_string = new Array(options.indent_size + 1).join(options.indent_char);\n }\n\n // Set to null to continue support for auto detection of base indent\n baseIndentString = baseIndentString || '';\n if (options.indent_level > 0) {\n baseIndentString = new Array(options.indent_level + 1).join(this.__indent_string);\n }\n\n this.__base_string = baseIndentString;\n this.__base_string_length = baseIndentString.length;\n}\n\nIndentStringCache.prototype.get_indent_size = function(indent, column) {\n var result = this.__base_string_length;\n column = column || 0;\n if (indent < 0) {\n result = 0;\n }\n result += indent * this.__indent_size;\n result += column;\n return result;\n};\n\nIndentStringCache.prototype.get_indent_string = function(indent_level, column) {\n var result = this.__base_string;\n column = column || 0;\n if (indent_level < 0) {\n indent_level = 0;\n result = '';\n }\n column += indent_level * this.__indent_size;\n this.__ensure_cache(column);\n result += this.__cache[column];\n return result;\n};\n\nIndentStringCache.prototype.__ensure_cache = function(column) {\n while (column >= this.__cache.length) {\n this.__add_column();\n }\n};\n\nIndentStringCache.prototype.__add_column = function() {\n var column = this.__cache.length;\n var indent = 0;\n var result = '';\n if (this.__indent_size && column >= this.__indent_size) {\n indent = Math.floor(column / this.__indent_size);\n column -= indent * this.__indent_size;\n result = new Array(indent + 1).join(this.__indent_string);\n }\n if (column) {\n result += new Array(column + 1).join(' ');\n }\n\n this.__cache.push(result);\n};\n\nfunction Output(options, baseIndentString) {\n this.__indent_cache = new IndentStringCache(options, baseIndentString);\n this.raw = false;\n this._end_with_newline = options.end_with_newline;\n this.indent_size = options.indent_size;\n this.wrap_line_length = options.wrap_line_length;\n this.indent_empty_lines = options.indent_empty_lines;\n this.__lines = [];\n this.previous_line = null;\n this.current_line = null;\n this.next_line = new OutputLine(this);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = false;\n // initialize\n this.__add_outputline();\n}\n\nOutput.prototype.__add_outputline = function() {\n this.previous_line = this.current_line;\n this.current_line = this.next_line.clone_empty();\n this.__lines.push(this.current_line);\n};\n\nOutput.prototype.get_line_number = function() {\n return this.__lines.length;\n};\n\nOutput.prototype.get_indent_string = function(indent, column) {\n return this.__indent_cache.get_indent_string(indent, column);\n};\n\nOutput.prototype.get_indent_size = function(indent, column) {\n return this.__indent_cache.get_indent_size(indent, column);\n};\n\nOutput.prototype.is_empty = function() {\n return !this.previous_line && this.current_line.is_empty();\n};\n\nOutput.prototype.add_new_line = function(force_newline) {\n // never newline at the start of file\n // otherwise, newline only if we didn't just add one or we're forced\n if (this.is_empty() ||\n (!force_newline && this.just_added_newline())) {\n return false;\n }\n\n // if raw output is enabled, don't print additional newlines,\n // but still return True as though you had\n if (!this.raw) {\n this.__add_outputline();\n }\n return true;\n};\n\nOutput.prototype.get_code = function(eol) {\n this.trim(true);\n\n // handle some edge cases where the last tokens\n // has text that ends with newline(s)\n var last_item = this.current_line.pop();\n if (last_item) {\n if (last_item[last_item.length - 1] === '\\n') {\n last_item = last_item.replace(/\\n+$/g, '');\n }\n this.current_line.push(last_item);\n }\n\n if (this._end_with_newline) {\n this.__add_outputline();\n }\n\n var sweet_code = this.__lines.join('\\n');\n\n if (eol !== '\\n') {\n sweet_code = sweet_code.replace(/[\\n]/g, eol);\n }\n return sweet_code;\n};\n\nOutput.prototype.set_wrap_point = function() {\n this.current_line._set_wrap_point();\n};\n\nOutput.prototype.set_indent = function(indent, alignment) {\n indent = indent || 0;\n alignment = alignment || 0;\n\n // Next line stores alignment values\n this.next_line.set_indent(indent, alignment);\n\n // Never indent your first output indent at the start of the file\n if (this.__lines.length > 1) {\n this.current_line.set_indent(indent, alignment);\n return true;\n }\n\n this.current_line.set_indent();\n return false;\n};\n\nOutput.prototype.add_raw_token = function(token) {\n for (var x = 0; x < token.newlines; x++) {\n this.__add_outputline();\n }\n this.current_line.set_indent(-1);\n this.current_line.push(token.whitespace_before);\n this.current_line.push(token.text);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = false;\n};\n\nOutput.prototype.add_token = function(printable_token) {\n this.__add_space_before_token();\n this.current_line.push(printable_token);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = this.current_line._allow_wrap();\n};\n\nOutput.prototype.__add_space_before_token = function() {\n if (this.space_before_token && !this.just_added_newline()) {\n if (!this.non_breaking_space) {\n this.set_wrap_point();\n }\n this.current_line.push(' ');\n }\n};\n\nOutput.prototype.remove_indent = function(index) {\n var output_length = this.__lines.length;\n while (index < output_length) {\n this.__lines[index]._remove_indent();\n index++;\n }\n this.current_line._remove_wrap_indent();\n};\n\nOutput.prototype.trim = function(eat_newlines) {\n eat_newlines = (eat_newlines === undefined) ? false : eat_newlines;\n\n this.current_line.trim();\n\n while (eat_newlines && this.__lines.length > 1 &&\n this.current_line.is_empty()) {\n this.__lines.pop();\n this.current_line = this.__lines[this.__lines.length - 1];\n this.current_line.trim();\n }\n\n this.previous_line = this.__lines.length > 1 ?\n this.__lines[this.__lines.length - 2] : null;\n};\n\nOutput.prototype.just_added_newline = function() {\n return this.current_line.is_empty();\n};\n\nOutput.prototype.just_added_blankline = function() {\n return this.is_empty() ||\n (this.current_line.is_empty() && this.previous_line.is_empty());\n};\n\nOutput.prototype.ensure_empty_line_above = function(starts_with, ends_with) {\n var index = this.__lines.length - 2;\n while (index >= 0) {\n var potentialEmptyLine = this.__lines[index];\n if (potentialEmptyLine.is_empty()) {\n break;\n } else if (potentialEmptyLine.item(0).indexOf(starts_with) !== 0 &&\n potentialEmptyLine.item(-1) !== ends_with) {\n this.__lines.splice(index + 1, 0, new OutputLine(this));\n this.previous_line = this.__lines[this.__lines.length - 2];\n break;\n }\n index--;\n }\n};\n\nmodule.exports.Output = Output;\n\n\n/***/ }),\n/* 3 */,\n/* 4 */,\n/* 5 */,\n/* 6 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction Options(options, merge_child_field) {\n this.raw_options = _mergeOpts(options, merge_child_field);\n\n // Support passing the source text back with no change\n this.disabled = this._get_boolean('disabled');\n\n this.eol = this._get_characters('eol', 'auto');\n this.end_with_newline = this._get_boolean('end_with_newline');\n this.indent_size = this._get_number('indent_size', 4);\n this.indent_char = this._get_characters('indent_char', ' ');\n this.indent_level = this._get_number('indent_level');\n\n this.preserve_newlines = this._get_boolean('preserve_newlines', true);\n this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786);\n if (!this.preserve_newlines) {\n this.max_preserve_newlines = 0;\n }\n\n this.indent_with_tabs = this._get_boolean('indent_with_tabs', this.indent_char === '\\t');\n if (this.indent_with_tabs) {\n this.indent_char = '\\t';\n\n // indent_size behavior changed after 1.8.6\n // It used to be that indent_size would be\n // set to 1 for indent_with_tabs. That is no longer needed and\n // actually doesn't make sense - why not use spaces? Further,\n // that might produce unexpected behavior - tabs being used\n // for single-column alignment. So, when indent_with_tabs is true\n // and indent_size is 1, reset indent_size to 4.\n if (this.indent_size === 1) {\n this.indent_size = 4;\n }\n }\n\n // Backwards compat with 1.3.x\n this.wrap_line_length = this._get_number('wrap_line_length', this._get_number('max_char'));\n\n this.indent_empty_lines = this._get_boolean('indent_empty_lines');\n\n // valid templating languages ['django', 'erb', 'handlebars', 'php', 'smarty']\n // For now, 'auto' = all off for javascript, all on for html (and inline javascript).\n // other values ignored\n this.templating = this._get_selection_list('templating', ['auto', 'none', 'django', 'erb', 'handlebars', 'php', 'smarty'], ['auto']);\n}\n\nOptions.prototype._get_array = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = default_value || [];\n if (typeof option_value === 'object') {\n if (option_value !== null && typeof option_value.concat === 'function') {\n result = option_value.concat();\n }\n } else if (typeof option_value === 'string') {\n result = option_value.split(/[^a-zA-Z0-9_\\/\\-]+/);\n }\n return result;\n};\n\nOptions.prototype._get_boolean = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = option_value === undefined ? !!default_value : !!option_value;\n return result;\n};\n\nOptions.prototype._get_characters = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = default_value || '';\n if (typeof option_value === 'string') {\n result = option_value.replace(/\\\\r/, '\\r').replace(/\\\\n/, '\\n').replace(/\\\\t/, '\\t');\n }\n return result;\n};\n\nOptions.prototype._get_number = function(name, default_value) {\n var option_value = this.raw_options[name];\n default_value = parseInt(default_value, 10);\n if (isNaN(default_value)) {\n default_value = 0;\n }\n var result = parseInt(option_value, 10);\n if (isNaN(result)) {\n result = default_value;\n }\n return result;\n};\n\nOptions.prototype._get_selection = function(name, selection_list, default_value) {\n var result = this._get_selection_list(name, selection_list, default_value);\n if (result.length !== 1) {\n throw new Error(\n \"Invalid Option Value: The option '\" + name + \"' can only be one of the following values:\\n\" +\n selection_list + \"\\nYou passed in: '\" + this.raw_options[name] + \"'\");\n }\n\n return result[0];\n};\n\n\nOptions.prototype._get_selection_list = function(name, selection_list, default_value) {\n if (!selection_list || selection_list.length === 0) {\n throw new Error(\"Selection list cannot be empty.\");\n }\n\n default_value = default_value || [selection_list[0]];\n if (!this._is_valid_selection(default_value, selection_list)) {\n throw new Error(\"Invalid Default Value!\");\n }\n\n var result = this._get_array(name, default_value);\n if (!this._is_valid_selection(result, selection_list)) {\n throw new Error(\n \"Invalid Option Value: The option '\" + name + \"' can contain only the following values:\\n\" +\n selection_list + \"\\nYou passed in: '\" + this.raw_options[name] + \"'\");\n }\n\n return result;\n};\n\nOptions.prototype._is_valid_selection = function(result, selection_list) {\n return result.length && selection_list.length &&\n !result.some(function(item) { return selection_list.indexOf(item) === -1; });\n};\n\n\n// merges child options up with the parent options object\n// Example: obj = {a: 1, b: {a: 2}}\n// mergeOpts(obj, 'b')\n//\n// Returns: {a: 2}\nfunction _mergeOpts(allOptions, childFieldName) {\n var finalOpts = {};\n allOptions = _normalizeOpts(allOptions);\n var name;\n\n for (name in allOptions) {\n if (name !== childFieldName) {\n finalOpts[name] = allOptions[name];\n }\n }\n\n //merge in the per type settings for the childFieldName\n if (childFieldName && allOptions[childFieldName]) {\n for (name in allOptions[childFieldName]) {\n finalOpts[name] = allOptions[childFieldName][name];\n }\n }\n return finalOpts;\n}\n\nfunction _normalizeOpts(options) {\n var convertedOpts = {};\n var key;\n\n for (key in options) {\n var newKey = key.replace(/-/g, \"_\");\n convertedOpts[newKey] = options[key];\n }\n return convertedOpts;\n}\n\nmodule.exports.Options = Options;\nmodule.exports.normalizeOpts = _normalizeOpts;\nmodule.exports.mergeOpts = _mergeOpts;\n\n\n/***/ }),\n/* 7 */,\n/* 8 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar regexp_has_sticky = RegExp.prototype.hasOwnProperty('sticky');\n\nfunction InputScanner(input_string) {\n this.__input = input_string || '';\n this.__input_length = this.__input.length;\n this.__position = 0;\n}\n\nInputScanner.prototype.restart = function() {\n this.__position = 0;\n};\n\nInputScanner.prototype.back = function() {\n if (this.__position > 0) {\n this.__position -= 1;\n }\n};\n\nInputScanner.prototype.hasNext = function() {\n return this.__position < this.__input_length;\n};\n\nInputScanner.prototype.next = function() {\n var val = null;\n if (this.hasNext()) {\n val = this.__input.charAt(this.__position);\n this.__position += 1;\n }\n return val;\n};\n\nInputScanner.prototype.peek = function(index) {\n var val = null;\n index = index || 0;\n index += this.__position;\n if (index >= 0 && index < this.__input_length) {\n val = this.__input.charAt(index);\n }\n return val;\n};\n\n// This is a JavaScript only helper function (not in python)\n// Javascript doesn't have a match method\n// and not all implementation support \"sticky\" flag.\n// If they do not support sticky then both this.match() and this.test() method\n// must get the match and check the index of the match.\n// If sticky is supported and set, this method will use it.\n// Otherwise it will check that global is set, and fall back to the slower method.\nInputScanner.prototype.__match = function(pattern, index) {\n pattern.lastIndex = index;\n var pattern_match = pattern.exec(this.__input);\n\n if (pattern_match && !(regexp_has_sticky && pattern.sticky)) {\n if (pattern_match.index !== index) {\n pattern_match = null;\n }\n }\n\n return pattern_match;\n};\n\nInputScanner.prototype.test = function(pattern, index) {\n index = index || 0;\n index += this.__position;\n\n if (index >= 0 && index < this.__input_length) {\n return !!this.__match(pattern, index);\n } else {\n return false;\n }\n};\n\nInputScanner.prototype.testChar = function(pattern, index) {\n // test one character regex match\n var val = this.peek(index);\n pattern.lastIndex = 0;\n return val !== null && pattern.test(val);\n};\n\nInputScanner.prototype.match = function(pattern) {\n var pattern_match = this.__match(pattern, this.__position);\n if (pattern_match) {\n this.__position += pattern_match[0].length;\n } else {\n pattern_match = null;\n }\n return pattern_match;\n};\n\nInputScanner.prototype.read = function(starting_pattern, until_pattern, until_after) {\n var val = '';\n var match;\n if (starting_pattern) {\n match = this.match(starting_pattern);\n if (match) {\n val += match[0];\n }\n }\n if (until_pattern && (match || !starting_pattern)) {\n val += this.readUntil(until_pattern, until_after);\n }\n return val;\n};\n\nInputScanner.prototype.readUntil = function(pattern, until_after) {\n var val = '';\n var match_index = this.__position;\n pattern.lastIndex = this.__position;\n var pattern_match = pattern.exec(this.__input);\n if (pattern_match) {\n match_index = pattern_match.index;\n if (until_after) {\n match_index += pattern_match[0].length;\n }\n } else {\n match_index = this.__input_length;\n }\n\n val = this.__input.substring(this.__position, match_index);\n this.__position = match_index;\n return val;\n};\n\nInputScanner.prototype.readUntilAfter = function(pattern) {\n return this.readUntil(pattern, true);\n};\n\nInputScanner.prototype.get_regexp = function(pattern, match_from) {\n var result = null;\n var flags = 'g';\n if (match_from && regexp_has_sticky) {\n flags = 'y';\n }\n // strings are converted to regexp\n if (typeof pattern === \"string\" && pattern !== '') {\n // result = new RegExp(pattern.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), flags);\n result = new RegExp(pattern, flags);\n } else if (pattern) {\n result = new RegExp(pattern.source, flags);\n }\n return result;\n};\n\nInputScanner.prototype.get_literal_regexp = function(literal_string) {\n return RegExp(literal_string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'));\n};\n\n/* css beautifier legacy helpers */\nInputScanner.prototype.peekUntilAfter = function(pattern) {\n var start = this.__position;\n var val = this.readUntilAfter(pattern);\n this.__position = start;\n return val;\n};\n\nInputScanner.prototype.lookBack = function(testVal) {\n var start = this.__position - 1;\n return start >= testVal.length && this.__input.substring(start - testVal.length, start)\n .toLowerCase() === testVal;\n};\n\nmodule.exports.InputScanner = InputScanner;\n\n\n/***/ }),\n/* 9 */,\n/* 10 */,\n/* 11 */,\n/* 12 */,\n/* 13 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction Directives(start_block_pattern, end_block_pattern) {\n start_block_pattern = typeof start_block_pattern === 'string' ? start_block_pattern : start_block_pattern.source;\n end_block_pattern = typeof end_block_pattern === 'string' ? end_block_pattern : end_block_pattern.source;\n this.__directives_block_pattern = new RegExp(start_block_pattern + / beautify( \\w+[:]\\w+)+ /.source + end_block_pattern, 'g');\n this.__directive_pattern = / (\\w+)[:](\\w+)/g;\n\n this.__directives_end_ignore_pattern = new RegExp(start_block_pattern + /\\sbeautify\\signore:end\\s/.source + end_block_pattern, 'g');\n}\n\nDirectives.prototype.get_directives = function(text) {\n if (!text.match(this.__directives_block_pattern)) {\n return null;\n }\n\n var directives = {};\n this.__directive_pattern.lastIndex = 0;\n var directive_match = this.__directive_pattern.exec(text);\n\n while (directive_match) {\n directives[directive_match[1]] = directive_match[2];\n directive_match = this.__directive_pattern.exec(text);\n }\n\n return directives;\n};\n\nDirectives.prototype.readIgnored = function(input) {\n return input.readUntilAfter(this.__directives_end_ignore_pattern);\n};\n\n\nmodule.exports.Directives = Directives;\n\n\n/***/ }),\n/* 14 */,\n/* 15 */\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar Beautifier = __webpack_require__(16).Beautifier,\n Options = __webpack_require__(17).Options;\n\nfunction css_beautify(source_text, options) {\n var beautifier = new Beautifier(source_text, options);\n return beautifier.beautify();\n}\n\nmodule.exports = css_beautify;\nmodule.exports.defaultOptions = function() {\n return new Options();\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar Options = __webpack_require__(17).Options;\nvar Output = __webpack_require__(2).Output;\nvar InputScanner = __webpack_require__(8).InputScanner;\nvar Directives = __webpack_require__(13).Directives;\n\nvar directives_core = new Directives(/\\/\\*/, /\\*\\//);\n\nvar lineBreak = /\\r\\n|[\\r\\n]/;\nvar allLineBreaks = /\\r\\n|[\\r\\n]/g;\n\n// tokenizer\nvar whitespaceChar = /\\s/;\nvar whitespacePattern = /(?:\\s|\\n)+/g;\nvar block_comment_pattern = /\\/\\*(?:[\\s\\S]*?)((?:\\*\\/)|$)/g;\nvar comment_pattern = /\\/\\/(?:[^\\n\\r\\u2028\\u2029]*)/g;\n\nfunction Beautifier(source_text, options) {\n this._source_text = source_text || '';\n // Allow the setting of language/file-type specific options\n // with inheritance of overall settings\n this._options = new Options(options);\n this._ch = null;\n this._input = null;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule\n this.NESTED_AT_RULE = {\n \"@page\": true,\n \"@font-face\": true,\n \"@keyframes\": true,\n // also in CONDITIONAL_GROUP_RULE below\n \"@media\": true,\n \"@supports\": true,\n \"@document\": true\n };\n this.CONDITIONAL_GROUP_RULE = {\n \"@media\": true,\n \"@supports\": true,\n \"@document\": true\n };\n\n}\n\nBeautifier.prototype.eatString = function(endChars) {\n var result = '';\n this._ch = this._input.next();\n while (this._ch) {\n result += this._ch;\n if (this._ch === \"\\\\\") {\n result += this._input.next();\n } else if (endChars.indexOf(this._ch) !== -1 || this._ch === \"\\n\") {\n break;\n }\n this._ch = this._input.next();\n }\n return result;\n};\n\n// Skips any white space in the source text from the current position.\n// When allowAtLeastOneNewLine is true, will output new lines for each\n// newline character found; if the user has preserve_newlines off, only\n// the first newline will be output\nBeautifier.prototype.eatWhitespace = function(allowAtLeastOneNewLine) {\n var result = whitespaceChar.test(this._input.peek());\n var newline_count = 0;\n while (whitespaceChar.test(this._input.peek())) {\n this._ch = this._input.next();\n if (allowAtLeastOneNewLine && this._ch === '\\n') {\n if (newline_count === 0 || newline_count < this._options.max_preserve_newlines) {\n newline_count++;\n this._output.add_new_line(true);\n }\n }\n }\n return result;\n};\n\n// Nested pseudo-class if we are insideRule\n// and the next special character found opens\n// a new block\nBeautifier.prototype.foundNestedPseudoClass = function() {\n var openParen = 0;\n var i = 1;\n var ch = this._input.peek(i);\n while (ch) {\n if (ch === \"{\") {\n return true;\n } else if (ch === '(') {\n // pseudoclasses can contain ()\n openParen += 1;\n } else if (ch === ')') {\n if (openParen === 0) {\n return false;\n }\n openParen -= 1;\n } else if (ch === \";\" || ch === \"}\") {\n return false;\n }\n i++;\n ch = this._input.peek(i);\n }\n return false;\n};\n\nBeautifier.prototype.print_string = function(output_string) {\n this._output.set_indent(this._indentLevel);\n this._output.non_breaking_space = true;\n this._output.add_token(output_string);\n};\n\nBeautifier.prototype.preserveSingleSpace = function(isAfterSpace) {\n if (isAfterSpace) {\n this._output.space_before_token = true;\n }\n};\n\nBeautifier.prototype.indent = function() {\n this._indentLevel++;\n};\n\nBeautifier.prototype.outdent = function() {\n if (this._indentLevel > 0) {\n this._indentLevel--;\n }\n};\n\n/*_____________________--------------------_____________________*/\n\nBeautifier.prototype.beautify = function() {\n if (this._options.disabled) {\n return this._source_text;\n }\n\n var source_text = this._source_text;\n var eol = this._options.eol;\n if (eol === 'auto') {\n eol = '\\n';\n if (source_text && lineBreak.test(source_text || '')) {\n eol = source_text.match(lineBreak)[0];\n }\n }\n\n\n // HACK: newline parsing inconsistent. This brute force normalizes the this._input.\n source_text = source_text.replace(allLineBreaks, '\\n');\n\n // reset\n var baseIndentString = source_text.match(/^[\\t ]*/)[0];\n\n this._output = new Output(this._options, baseIndentString);\n this._input = new InputScanner(source_text);\n this._indentLevel = 0;\n this._nestedLevel = 0;\n\n this._ch = null;\n var parenLevel = 0;\n\n var insideRule = false;\n // This is the value side of a property value pair (blue in the following ex)\n // label { content: blue }\n var insidePropertyValue = false;\n var enteringConditionalGroup = false;\n var insideAtExtend = false;\n var insideAtImport = false;\n var topCharacter = this._ch;\n var whitespace;\n var isAfterSpace;\n var previous_ch;\n\n while (true) {\n whitespace = this._input.read(whitespacePattern);\n isAfterSpace = whitespace !== '';\n previous_ch = topCharacter;\n this._ch = this._input.next();\n if (this._ch === '\\\\' && this._input.hasNext()) {\n this._ch += this._input.next();\n }\n topCharacter = this._ch;\n\n if (!this._ch) {\n break;\n } else if (this._ch === '/' && this._input.peek() === '*') {\n // /* css comment */\n // Always start block comments on a new line.\n // This handles scenarios where a block comment immediately\n // follows a property definition on the same line or where\n // minified code is being beautified.\n this._output.add_new_line();\n this._input.back();\n\n var comment = this._input.read(block_comment_pattern);\n\n // Handle ignore directive\n var directives = directives_core.get_directives(comment);\n if (directives && directives.ignore === 'start') {\n comment += directives_core.readIgnored(this._input);\n }\n\n this.print_string(comment);\n\n // Ensures any new lines following the comment are preserved\n this.eatWhitespace(true);\n\n // Block comments are followed by a new line so they don't\n // share a line with other properties\n this._output.add_new_line();\n } else if (this._ch === '/' && this._input.peek() === '/') {\n // // single line comment\n // Preserves the space before a comment\n // on the same line as a rule\n this._output.space_before_token = true;\n this._input.back();\n this.print_string(this._input.read(comment_pattern));\n\n // Ensures any new lines following the comment are preserved\n this.eatWhitespace(true);\n } else if (this._ch === '@') {\n this.preserveSingleSpace(isAfterSpace);\n\n // deal with less propery mixins @{...}\n if (this._input.peek() === '{') {\n this.print_string(this._ch + this.eatString('}'));\n } else {\n this.print_string(this._ch);\n\n // strip trailing space, if present, for hash property checks\n var variableOrRule = this._input.peekUntilAfter(/[: ,;{}()[\\]\\/='\"]/g);\n\n if (variableOrRule.match(/[ :]$/)) {\n // we have a variable or pseudo-class, add it and insert one space before continuing\n variableOrRule = this.eatString(\": \").replace(/\\s$/, '');\n this.print_string(variableOrRule);\n this._output.space_before_token = true;\n }\n\n variableOrRule = variableOrRule.replace(/\\s$/, '');\n\n if (variableOrRule === 'extend') {\n insideAtExtend = true;\n } else if (variableOrRule === 'import') {\n insideAtImport = true;\n }\n\n // might be a nesting at-rule\n if (variableOrRule in this.NESTED_AT_RULE) {\n this._nestedLevel += 1;\n if (variableOrRule in this.CONDITIONAL_GROUP_RULE) {\n enteringConditionalGroup = true;\n }\n // might be less variable\n } else if (!insideRule && parenLevel === 0 && variableOrRule.indexOf(':') !== -1) {\n insidePropertyValue = true;\n this.indent();\n }\n }\n } else if (this._ch === '#' && this._input.peek() === '{') {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch + this.eatString('}'));\n } else if (this._ch === '{') {\n if (insidePropertyValue) {\n insidePropertyValue = false;\n this.outdent();\n }\n\n // when entering conditional groups, only rulesets are allowed\n if (enteringConditionalGroup) {\n enteringConditionalGroup = false;\n insideRule = (this._indentLevel >= this._nestedLevel);\n } else {\n // otherwise, declarations are also allowed\n insideRule = (this._indentLevel >= this._nestedLevel - 1);\n }\n if (this._options.newline_between_rules && insideRule) {\n if (this._output.previous_line && this._output.previous_line.item(-1) !== '{') {\n this._output.ensure_empty_line_above('/', ',');\n }\n }\n\n this._output.space_before_token = true;\n\n // The difference in print_string and indent order is necessary to indent the '{' correctly\n if (this._options.brace_style === 'expand') {\n this._output.add_new_line();\n this.print_string(this._ch);\n this.indent();\n this._output.set_indent(this._indentLevel);\n } else {\n this.indent();\n this.print_string(this._ch);\n }\n\n this.eatWhitespace(true);\n this._output.add_new_line();\n } else if (this._ch === '}') {\n this.outdent();\n this._output.add_new_line();\n if (previous_ch === '{') {\n this._output.trim(true);\n }\n insideAtImport = false;\n insideAtExtend = false;\n if (insidePropertyValue) {\n this.outdent();\n insidePropertyValue = false;\n }\n this.print_string(this._ch);\n insideRule = false;\n if (this._nestedLevel) {\n this._nestedLevel--;\n }\n\n this.eatWhitespace(true);\n this._output.add_new_line();\n\n if (this._options.newline_between_rules && !this._output.just_added_blankline()) {\n if (this._input.peek() !== '}') {\n this._output.add_new_line(true);\n }\n }\n } else if (this._ch === \":\") {\n if ((insideRule || enteringConditionalGroup) && !(this._input.lookBack(\"&\") || this.foundNestedPseudoClass()) && !this._input.lookBack(\"(\") && !insideAtExtend && parenLevel === 0) {\n // 'property: value' delimiter\n // which could be in a conditional group query\n this.print_string(':');\n if (!insidePropertyValue) {\n insidePropertyValue = true;\n this._output.space_before_token = true;\n this.eatWhitespace(true);\n this.indent();\n }\n } else {\n // sass/less parent reference don't use a space\n // sass nested pseudo-class don't use a space\n\n // preserve space before pseudoclasses/pseudoelements, as it means \"in any child\"\n if (this._input.lookBack(\" \")) {\n this._output.space_before_token = true;\n }\n if (this._input.peek() === \":\") {\n // pseudo-element\n this._ch = this._input.next();\n this.print_string(\"::\");\n } else {\n // pseudo-class\n this.print_string(':');\n }\n }\n } else if (this._ch === '\"' || this._ch === '\\'') {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch + this.eatString(this._ch));\n this.eatWhitespace(true);\n } else if (this._ch === ';') {\n if (parenLevel === 0) {\n if (insidePropertyValue) {\n this.outdent();\n insidePropertyValue = false;\n }\n insideAtExtend = false;\n insideAtImport = false;\n this.print_string(this._ch);\n this.eatWhitespace(true);\n\n // This maintains single line comments on the same\n // line. Block comments are also affected, but\n // a new line is always output before one inside\n // that section\n if (this._input.peek() !== '/') {\n this._output.add_new_line();\n }\n } else {\n this.print_string(this._ch);\n this.eatWhitespace(true);\n this._output.space_before_token = true;\n }\n } else if (this._ch === '(') { // may be a url\n if (this._input.lookBack(\"url\")) {\n this.print_string(this._ch);\n this.eatWhitespace();\n parenLevel++;\n this.indent();\n this._ch = this._input.next();\n if (this._ch === ')' || this._ch === '\"' || this._ch === '\\'') {\n this._input.back();\n } else if (this._ch) {\n this.print_string(this._ch + this.eatString(')'));\n if (parenLevel) {\n parenLevel--;\n this.outdent();\n }\n }\n } else {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch);\n this.eatWhitespace();\n parenLevel++;\n this.indent();\n }\n } else if (this._ch === ')') {\n if (parenLevel) {\n parenLevel--;\n this.outdent();\n }\n this.print_string(this._ch);\n } else if (this._ch === ',') {\n this.print_string(this._ch);\n this.eatWhitespace(true);\n if (this._options.selector_separator_newline && !insidePropertyValue && parenLevel === 0 && !insideAtImport && !insideAtExtend) {\n this._output.add_new_line();\n } else {\n this._output.space_before_token = true;\n }\n } else if ((this._ch === '>' || this._ch === '+' || this._ch === '~') && !insidePropertyValue && parenLevel === 0) {\n //handle combinator spacing\n if (this._options.space_around_combinator) {\n this._output.space_before_token = true;\n this.print_string(this._ch);\n this._output.space_before_token = true;\n } else {\n this.print_string(this._ch);\n this.eatWhitespace();\n // squash extra whitespace\n if (this._ch && whitespaceChar.test(this._ch)) {\n this._ch = '';\n }\n }\n } else if (this._ch === ']') {\n this.print_string(this._ch);\n } else if (this._ch === '[') {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch);\n } else if (this._ch === '=') { // no whitespace before or after\n this.eatWhitespace();\n this.print_string('=');\n if (whitespaceChar.test(this._ch)) {\n this._ch = '';\n }\n } else if (this._ch === '!' && !this._input.lookBack(\"\\\\\")) { // !important\n this.print_string(' ');\n this.print_string(this._ch);\n } else {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch);\n }\n }\n\n var sweetCode = this._output.get_code(eol);\n\n return sweetCode;\n};\n\nmodule.exports.Beautifier = Beautifier;\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar BaseOptions = __webpack_require__(6).Options;\n\nfunction Options(options) {\n BaseOptions.call(this, options, 'css');\n\n this.selector_separator_newline = this._get_boolean('selector_separator_newline', true);\n this.newline_between_rules = this._get_boolean('newline_between_rules', true);\n var space_around_selector_separator = this._get_boolean('space_around_selector_separator');\n this.space_around_combinator = this._get_boolean('space_around_combinator') || space_around_selector_separator;\n\n var brace_style_split = this._get_selection_list('brace_style', ['collapse', 'expand', 'end-expand', 'none', 'preserve-inline']);\n this.brace_style = 'collapse';\n for (var bs = 0; bs < brace_style_split.length; bs++) {\n if (brace_style_split[bs] !== 'expand') {\n // default to collapse, as only collapse|expand is implemented for now\n this.brace_style = 'collapse';\n } else {\n this.brace_style = brace_style_split[bs];\n }\n }\n}\nOptions.prototype = new BaseOptions();\n\n\n\nmodule.exports.Options = Options;\n\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(15);\n/******/ \tlegacy_beautify_css = __webpack_exports__;\n/******/ \t\n/******/ })()\n;\nvar css_beautify = legacy_beautify_css;\n/* Footer */\nif (typeof define === \"function\" && define.amd) {\n // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- )\n define([], function() {\n return {\n css_beautify: css_beautify\n };\n });\n} else if (typeof exports !== \"undefined\") {\n // Add support for CommonJS. Just put this file somewhere on your require.paths\n // and you will be able to `var html_beautify = require(\"beautify\").html_beautify`.\n exports.css_beautify = css_beautify;\n} else if (typeof window !== \"undefined\") {\n // If we're running a web page and don't have either of the above, add our one global\n window.css_beautify = css_beautify;\n} else if (typeof global !== \"undefined\") {\n // If we don't even have window, try global.\n global.css_beautify = css_beautify;\n}\n\n}());\n","/* AUTO-GENERATED. DO NOT MODIFY. */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n\n Style HTML\n---------------\n\n Written by Nochum Sossonko, (nsossonko@hotmail.com)\n\n Based on code initially developed by: Einar Lielmanis, \n https://beautifier.io/\n\n Usage:\n style_html(html_source);\n\n style_html(html_source, options);\n\n The options are:\n indent_inner_html (default false) — indent and sections,\n indent_size (default 4) — indentation size,\n indent_char (default space) — character to indent with,\n wrap_line_length (default 250) - maximum amount of characters per line (0 = disable)\n brace_style (default \"collapse\") - \"collapse\" | \"expand\" | \"end-expand\" | \"none\"\n put braces on the same line as control statements (default), or put braces on own line (Allman / ANSI style), or just put end braces on own line, or attempt to keep them where they are.\n inline (defaults to inline tags) - list of tags to be considered inline tags\n unformatted (defaults to inline tags) - list of tags, that shouldn't be reformatted\n content_unformatted (defaults to [\"pre\", \"textarea\"] tags) - list of tags, whose content shouldn't be reformatted\n indent_scripts (default normal) - \"keep\"|\"separate\"|\"normal\"\n preserve_newlines (default true) - whether existing line breaks before elements should be preserved\n Only works before elements, not inside tags or for text.\n max_preserve_newlines (default unlimited) - maximum number of line breaks to be preserved in one chunk\n indent_handlebars (default false) - format and indent {{#foo}} and {{/foo}}\n end_with_newline (false) - end with a newline\n extra_liners (default [head,body,/html]) -List of tags that should have an extra newline before them.\n\n e.g.\n\n style_html(html_source, {\n 'indent_inner_html': false,\n 'indent_size': 2,\n 'indent_char': ' ',\n 'wrap_line_length': 78,\n 'brace_style': 'expand',\n 'preserve_newlines': true,\n 'max_preserve_newlines': 5,\n 'indent_handlebars': false,\n 'extra_liners': ['/html']\n });\n*/\n\n(function() {\n\n/* GENERATED_BUILD_OUTPUT */\nvar legacy_beautify_html;\n/******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */,\n/* 2 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction OutputLine(parent) {\n this.__parent = parent;\n this.__character_count = 0;\n // use indent_count as a marker for this.__lines that have preserved indentation\n this.__indent_count = -1;\n this.__alignment_count = 0;\n this.__wrap_point_index = 0;\n this.__wrap_point_character_count = 0;\n this.__wrap_point_indent_count = -1;\n this.__wrap_point_alignment_count = 0;\n\n this.__items = [];\n}\n\nOutputLine.prototype.clone_empty = function() {\n var line = new OutputLine(this.__parent);\n line.set_indent(this.__indent_count, this.__alignment_count);\n return line;\n};\n\nOutputLine.prototype.item = function(index) {\n if (index < 0) {\n return this.__items[this.__items.length + index];\n } else {\n return this.__items[index];\n }\n};\n\nOutputLine.prototype.has_match = function(pattern) {\n for (var lastCheckedOutput = this.__items.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) {\n if (this.__items[lastCheckedOutput].match(pattern)) {\n return true;\n }\n }\n return false;\n};\n\nOutputLine.prototype.set_indent = function(indent, alignment) {\n if (this.is_empty()) {\n this.__indent_count = indent || 0;\n this.__alignment_count = alignment || 0;\n this.__character_count = this.__parent.get_indent_size(this.__indent_count, this.__alignment_count);\n }\n};\n\nOutputLine.prototype._set_wrap_point = function() {\n if (this.__parent.wrap_line_length) {\n this.__wrap_point_index = this.__items.length;\n this.__wrap_point_character_count = this.__character_count;\n this.__wrap_point_indent_count = this.__parent.next_line.__indent_count;\n this.__wrap_point_alignment_count = this.__parent.next_line.__alignment_count;\n }\n};\n\nOutputLine.prototype._should_wrap = function() {\n return this.__wrap_point_index &&\n this.__character_count > this.__parent.wrap_line_length &&\n this.__wrap_point_character_count > this.__parent.next_line.__character_count;\n};\n\nOutputLine.prototype._allow_wrap = function() {\n if (this._should_wrap()) {\n this.__parent.add_new_line();\n var next = this.__parent.current_line;\n next.set_indent(this.__wrap_point_indent_count, this.__wrap_point_alignment_count);\n next.__items = this.__items.slice(this.__wrap_point_index);\n this.__items = this.__items.slice(0, this.__wrap_point_index);\n\n next.__character_count += this.__character_count - this.__wrap_point_character_count;\n this.__character_count = this.__wrap_point_character_count;\n\n if (next.__items[0] === \" \") {\n next.__items.splice(0, 1);\n next.__character_count -= 1;\n }\n return true;\n }\n return false;\n};\n\nOutputLine.prototype.is_empty = function() {\n return this.__items.length === 0;\n};\n\nOutputLine.prototype.last = function() {\n if (!this.is_empty()) {\n return this.__items[this.__items.length - 1];\n } else {\n return null;\n }\n};\n\nOutputLine.prototype.push = function(item) {\n this.__items.push(item);\n var last_newline_index = item.lastIndexOf('\\n');\n if (last_newline_index !== -1) {\n this.__character_count = item.length - last_newline_index;\n } else {\n this.__character_count += item.length;\n }\n};\n\nOutputLine.prototype.pop = function() {\n var item = null;\n if (!this.is_empty()) {\n item = this.__items.pop();\n this.__character_count -= item.length;\n }\n return item;\n};\n\n\nOutputLine.prototype._remove_indent = function() {\n if (this.__indent_count > 0) {\n this.__indent_count -= 1;\n this.__character_count -= this.__parent.indent_size;\n }\n};\n\nOutputLine.prototype._remove_wrap_indent = function() {\n if (this.__wrap_point_indent_count > 0) {\n this.__wrap_point_indent_count -= 1;\n }\n};\nOutputLine.prototype.trim = function() {\n while (this.last() === ' ') {\n this.__items.pop();\n this.__character_count -= 1;\n }\n};\n\nOutputLine.prototype.toString = function() {\n var result = '';\n if (this.is_empty()) {\n if (this.__parent.indent_empty_lines) {\n result = this.__parent.get_indent_string(this.__indent_count);\n }\n } else {\n result = this.__parent.get_indent_string(this.__indent_count, this.__alignment_count);\n result += this.__items.join('');\n }\n return result;\n};\n\nfunction IndentStringCache(options, baseIndentString) {\n this.__cache = [''];\n this.__indent_size = options.indent_size;\n this.__indent_string = options.indent_char;\n if (!options.indent_with_tabs) {\n this.__indent_string = new Array(options.indent_size + 1).join(options.indent_char);\n }\n\n // Set to null to continue support for auto detection of base indent\n baseIndentString = baseIndentString || '';\n if (options.indent_level > 0) {\n baseIndentString = new Array(options.indent_level + 1).join(this.__indent_string);\n }\n\n this.__base_string = baseIndentString;\n this.__base_string_length = baseIndentString.length;\n}\n\nIndentStringCache.prototype.get_indent_size = function(indent, column) {\n var result = this.__base_string_length;\n column = column || 0;\n if (indent < 0) {\n result = 0;\n }\n result += indent * this.__indent_size;\n result += column;\n return result;\n};\n\nIndentStringCache.prototype.get_indent_string = function(indent_level, column) {\n var result = this.__base_string;\n column = column || 0;\n if (indent_level < 0) {\n indent_level = 0;\n result = '';\n }\n column += indent_level * this.__indent_size;\n this.__ensure_cache(column);\n result += this.__cache[column];\n return result;\n};\n\nIndentStringCache.prototype.__ensure_cache = function(column) {\n while (column >= this.__cache.length) {\n this.__add_column();\n }\n};\n\nIndentStringCache.prototype.__add_column = function() {\n var column = this.__cache.length;\n var indent = 0;\n var result = '';\n if (this.__indent_size && column >= this.__indent_size) {\n indent = Math.floor(column / this.__indent_size);\n column -= indent * this.__indent_size;\n result = new Array(indent + 1).join(this.__indent_string);\n }\n if (column) {\n result += new Array(column + 1).join(' ');\n }\n\n this.__cache.push(result);\n};\n\nfunction Output(options, baseIndentString) {\n this.__indent_cache = new IndentStringCache(options, baseIndentString);\n this.raw = false;\n this._end_with_newline = options.end_with_newline;\n this.indent_size = options.indent_size;\n this.wrap_line_length = options.wrap_line_length;\n this.indent_empty_lines = options.indent_empty_lines;\n this.__lines = [];\n this.previous_line = null;\n this.current_line = null;\n this.next_line = new OutputLine(this);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = false;\n // initialize\n this.__add_outputline();\n}\n\nOutput.prototype.__add_outputline = function() {\n this.previous_line = this.current_line;\n this.current_line = this.next_line.clone_empty();\n this.__lines.push(this.current_line);\n};\n\nOutput.prototype.get_line_number = function() {\n return this.__lines.length;\n};\n\nOutput.prototype.get_indent_string = function(indent, column) {\n return this.__indent_cache.get_indent_string(indent, column);\n};\n\nOutput.prototype.get_indent_size = function(indent, column) {\n return this.__indent_cache.get_indent_size(indent, column);\n};\n\nOutput.prototype.is_empty = function() {\n return !this.previous_line && this.current_line.is_empty();\n};\n\nOutput.prototype.add_new_line = function(force_newline) {\n // never newline at the start of file\n // otherwise, newline only if we didn't just add one or we're forced\n if (this.is_empty() ||\n (!force_newline && this.just_added_newline())) {\n return false;\n }\n\n // if raw output is enabled, don't print additional newlines,\n // but still return True as though you had\n if (!this.raw) {\n this.__add_outputline();\n }\n return true;\n};\n\nOutput.prototype.get_code = function(eol) {\n this.trim(true);\n\n // handle some edge cases where the last tokens\n // has text that ends with newline(s)\n var last_item = this.current_line.pop();\n if (last_item) {\n if (last_item[last_item.length - 1] === '\\n') {\n last_item = last_item.replace(/\\n+$/g, '');\n }\n this.current_line.push(last_item);\n }\n\n if (this._end_with_newline) {\n this.__add_outputline();\n }\n\n var sweet_code = this.__lines.join('\\n');\n\n if (eol !== '\\n') {\n sweet_code = sweet_code.replace(/[\\n]/g, eol);\n }\n return sweet_code;\n};\n\nOutput.prototype.set_wrap_point = function() {\n this.current_line._set_wrap_point();\n};\n\nOutput.prototype.set_indent = function(indent, alignment) {\n indent = indent || 0;\n alignment = alignment || 0;\n\n // Next line stores alignment values\n this.next_line.set_indent(indent, alignment);\n\n // Never indent your first output indent at the start of the file\n if (this.__lines.length > 1) {\n this.current_line.set_indent(indent, alignment);\n return true;\n }\n\n this.current_line.set_indent();\n return false;\n};\n\nOutput.prototype.add_raw_token = function(token) {\n for (var x = 0; x < token.newlines; x++) {\n this.__add_outputline();\n }\n this.current_line.set_indent(-1);\n this.current_line.push(token.whitespace_before);\n this.current_line.push(token.text);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = false;\n};\n\nOutput.prototype.add_token = function(printable_token) {\n this.__add_space_before_token();\n this.current_line.push(printable_token);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = this.current_line._allow_wrap();\n};\n\nOutput.prototype.__add_space_before_token = function() {\n if (this.space_before_token && !this.just_added_newline()) {\n if (!this.non_breaking_space) {\n this.set_wrap_point();\n }\n this.current_line.push(' ');\n }\n};\n\nOutput.prototype.remove_indent = function(index) {\n var output_length = this.__lines.length;\n while (index < output_length) {\n this.__lines[index]._remove_indent();\n index++;\n }\n this.current_line._remove_wrap_indent();\n};\n\nOutput.prototype.trim = function(eat_newlines) {\n eat_newlines = (eat_newlines === undefined) ? false : eat_newlines;\n\n this.current_line.trim();\n\n while (eat_newlines && this.__lines.length > 1 &&\n this.current_line.is_empty()) {\n this.__lines.pop();\n this.current_line = this.__lines[this.__lines.length - 1];\n this.current_line.trim();\n }\n\n this.previous_line = this.__lines.length > 1 ?\n this.__lines[this.__lines.length - 2] : null;\n};\n\nOutput.prototype.just_added_newline = function() {\n return this.current_line.is_empty();\n};\n\nOutput.prototype.just_added_blankline = function() {\n return this.is_empty() ||\n (this.current_line.is_empty() && this.previous_line.is_empty());\n};\n\nOutput.prototype.ensure_empty_line_above = function(starts_with, ends_with) {\n var index = this.__lines.length - 2;\n while (index >= 0) {\n var potentialEmptyLine = this.__lines[index];\n if (potentialEmptyLine.is_empty()) {\n break;\n } else if (potentialEmptyLine.item(0).indexOf(starts_with) !== 0 &&\n potentialEmptyLine.item(-1) !== ends_with) {\n this.__lines.splice(index + 1, 0, new OutputLine(this));\n this.previous_line = this.__lines[this.__lines.length - 2];\n break;\n }\n index--;\n }\n};\n\nmodule.exports.Output = Output;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction Token(type, text, newlines, whitespace_before) {\n this.type = type;\n this.text = text;\n\n // comments_before are\n // comments that have a new line before them\n // and may or may not have a newline after\n // this is a set of comments before\n this.comments_before = null; /* inline comment*/\n\n\n // this.comments_after = new TokenStream(); // no new line before and newline after\n this.newlines = newlines || 0;\n this.whitespace_before = whitespace_before || '';\n this.parent = null;\n this.next = null;\n this.previous = null;\n this.opened = null;\n this.closed = null;\n this.directives = null;\n}\n\n\nmodule.exports.Token = Token;\n\n\n/***/ }),\n/* 4 */,\n/* 5 */,\n/* 6 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction Options(options, merge_child_field) {\n this.raw_options = _mergeOpts(options, merge_child_field);\n\n // Support passing the source text back with no change\n this.disabled = this._get_boolean('disabled');\n\n this.eol = this._get_characters('eol', 'auto');\n this.end_with_newline = this._get_boolean('end_with_newline');\n this.indent_size = this._get_number('indent_size', 4);\n this.indent_char = this._get_characters('indent_char', ' ');\n this.indent_level = this._get_number('indent_level');\n\n this.preserve_newlines = this._get_boolean('preserve_newlines', true);\n this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786);\n if (!this.preserve_newlines) {\n this.max_preserve_newlines = 0;\n }\n\n this.indent_with_tabs = this._get_boolean('indent_with_tabs', this.indent_char === '\\t');\n if (this.indent_with_tabs) {\n this.indent_char = '\\t';\n\n // indent_size behavior changed after 1.8.6\n // It used to be that indent_size would be\n // set to 1 for indent_with_tabs. That is no longer needed and\n // actually doesn't make sense - why not use spaces? Further,\n // that might produce unexpected behavior - tabs being used\n // for single-column alignment. So, when indent_with_tabs is true\n // and indent_size is 1, reset indent_size to 4.\n if (this.indent_size === 1) {\n this.indent_size = 4;\n }\n }\n\n // Backwards compat with 1.3.x\n this.wrap_line_length = this._get_number('wrap_line_length', this._get_number('max_char'));\n\n this.indent_empty_lines = this._get_boolean('indent_empty_lines');\n\n // valid templating languages ['django', 'erb', 'handlebars', 'php', 'smarty']\n // For now, 'auto' = all off for javascript, all on for html (and inline javascript).\n // other values ignored\n this.templating = this._get_selection_list('templating', ['auto', 'none', 'django', 'erb', 'handlebars', 'php', 'smarty'], ['auto']);\n}\n\nOptions.prototype._get_array = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = default_value || [];\n if (typeof option_value === 'object') {\n if (option_value !== null && typeof option_value.concat === 'function') {\n result = option_value.concat();\n }\n } else if (typeof option_value === 'string') {\n result = option_value.split(/[^a-zA-Z0-9_\\/\\-]+/);\n }\n return result;\n};\n\nOptions.prototype._get_boolean = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = option_value === undefined ? !!default_value : !!option_value;\n return result;\n};\n\nOptions.prototype._get_characters = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = default_value || '';\n if (typeof option_value === 'string') {\n result = option_value.replace(/\\\\r/, '\\r').replace(/\\\\n/, '\\n').replace(/\\\\t/, '\\t');\n }\n return result;\n};\n\nOptions.prototype._get_number = function(name, default_value) {\n var option_value = this.raw_options[name];\n default_value = parseInt(default_value, 10);\n if (isNaN(default_value)) {\n default_value = 0;\n }\n var result = parseInt(option_value, 10);\n if (isNaN(result)) {\n result = default_value;\n }\n return result;\n};\n\nOptions.prototype._get_selection = function(name, selection_list, default_value) {\n var result = this._get_selection_list(name, selection_list, default_value);\n if (result.length !== 1) {\n throw new Error(\n \"Invalid Option Value: The option '\" + name + \"' can only be one of the following values:\\n\" +\n selection_list + \"\\nYou passed in: '\" + this.raw_options[name] + \"'\");\n }\n\n return result[0];\n};\n\n\nOptions.prototype._get_selection_list = function(name, selection_list, default_value) {\n if (!selection_list || selection_list.length === 0) {\n throw new Error(\"Selection list cannot be empty.\");\n }\n\n default_value = default_value || [selection_list[0]];\n if (!this._is_valid_selection(default_value, selection_list)) {\n throw new Error(\"Invalid Default Value!\");\n }\n\n var result = this._get_array(name, default_value);\n if (!this._is_valid_selection(result, selection_list)) {\n throw new Error(\n \"Invalid Option Value: The option '\" + name + \"' can contain only the following values:\\n\" +\n selection_list + \"\\nYou passed in: '\" + this.raw_options[name] + \"'\");\n }\n\n return result;\n};\n\nOptions.prototype._is_valid_selection = function(result, selection_list) {\n return result.length && selection_list.length &&\n !result.some(function(item) { return selection_list.indexOf(item) === -1; });\n};\n\n\n// merges child options up with the parent options object\n// Example: obj = {a: 1, b: {a: 2}}\n// mergeOpts(obj, 'b')\n//\n// Returns: {a: 2}\nfunction _mergeOpts(allOptions, childFieldName) {\n var finalOpts = {};\n allOptions = _normalizeOpts(allOptions);\n var name;\n\n for (name in allOptions) {\n if (name !== childFieldName) {\n finalOpts[name] = allOptions[name];\n }\n }\n\n //merge in the per type settings for the childFieldName\n if (childFieldName && allOptions[childFieldName]) {\n for (name in allOptions[childFieldName]) {\n finalOpts[name] = allOptions[childFieldName][name];\n }\n }\n return finalOpts;\n}\n\nfunction _normalizeOpts(options) {\n var convertedOpts = {};\n var key;\n\n for (key in options) {\n var newKey = key.replace(/-/g, \"_\");\n convertedOpts[newKey] = options[key];\n }\n return convertedOpts;\n}\n\nmodule.exports.Options = Options;\nmodule.exports.normalizeOpts = _normalizeOpts;\nmodule.exports.mergeOpts = _mergeOpts;\n\n\n/***/ }),\n/* 7 */,\n/* 8 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar regexp_has_sticky = RegExp.prototype.hasOwnProperty('sticky');\n\nfunction InputScanner(input_string) {\n this.__input = input_string || '';\n this.__input_length = this.__input.length;\n this.__position = 0;\n}\n\nInputScanner.prototype.restart = function() {\n this.__position = 0;\n};\n\nInputScanner.prototype.back = function() {\n if (this.__position > 0) {\n this.__position -= 1;\n }\n};\n\nInputScanner.prototype.hasNext = function() {\n return this.__position < this.__input_length;\n};\n\nInputScanner.prototype.next = function() {\n var val = null;\n if (this.hasNext()) {\n val = this.__input.charAt(this.__position);\n this.__position += 1;\n }\n return val;\n};\n\nInputScanner.prototype.peek = function(index) {\n var val = null;\n index = index || 0;\n index += this.__position;\n if (index >= 0 && index < this.__input_length) {\n val = this.__input.charAt(index);\n }\n return val;\n};\n\n// This is a JavaScript only helper function (not in python)\n// Javascript doesn't have a match method\n// and not all implementation support \"sticky\" flag.\n// If they do not support sticky then both this.match() and this.test() method\n// must get the match and check the index of the match.\n// If sticky is supported and set, this method will use it.\n// Otherwise it will check that global is set, and fall back to the slower method.\nInputScanner.prototype.__match = function(pattern, index) {\n pattern.lastIndex = index;\n var pattern_match = pattern.exec(this.__input);\n\n if (pattern_match && !(regexp_has_sticky && pattern.sticky)) {\n if (pattern_match.index !== index) {\n pattern_match = null;\n }\n }\n\n return pattern_match;\n};\n\nInputScanner.prototype.test = function(pattern, index) {\n index = index || 0;\n index += this.__position;\n\n if (index >= 0 && index < this.__input_length) {\n return !!this.__match(pattern, index);\n } else {\n return false;\n }\n};\n\nInputScanner.prototype.testChar = function(pattern, index) {\n // test one character regex match\n var val = this.peek(index);\n pattern.lastIndex = 0;\n return val !== null && pattern.test(val);\n};\n\nInputScanner.prototype.match = function(pattern) {\n var pattern_match = this.__match(pattern, this.__position);\n if (pattern_match) {\n this.__position += pattern_match[0].length;\n } else {\n pattern_match = null;\n }\n return pattern_match;\n};\n\nInputScanner.prototype.read = function(starting_pattern, until_pattern, until_after) {\n var val = '';\n var match;\n if (starting_pattern) {\n match = this.match(starting_pattern);\n if (match) {\n val += match[0];\n }\n }\n if (until_pattern && (match || !starting_pattern)) {\n val += this.readUntil(until_pattern, until_after);\n }\n return val;\n};\n\nInputScanner.prototype.readUntil = function(pattern, until_after) {\n var val = '';\n var match_index = this.__position;\n pattern.lastIndex = this.__position;\n var pattern_match = pattern.exec(this.__input);\n if (pattern_match) {\n match_index = pattern_match.index;\n if (until_after) {\n match_index += pattern_match[0].length;\n }\n } else {\n match_index = this.__input_length;\n }\n\n val = this.__input.substring(this.__position, match_index);\n this.__position = match_index;\n return val;\n};\n\nInputScanner.prototype.readUntilAfter = function(pattern) {\n return this.readUntil(pattern, true);\n};\n\nInputScanner.prototype.get_regexp = function(pattern, match_from) {\n var result = null;\n var flags = 'g';\n if (match_from && regexp_has_sticky) {\n flags = 'y';\n }\n // strings are converted to regexp\n if (typeof pattern === \"string\" && pattern !== '') {\n // result = new RegExp(pattern.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), flags);\n result = new RegExp(pattern, flags);\n } else if (pattern) {\n result = new RegExp(pattern.source, flags);\n }\n return result;\n};\n\nInputScanner.prototype.get_literal_regexp = function(literal_string) {\n return RegExp(literal_string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'));\n};\n\n/* css beautifier legacy helpers */\nInputScanner.prototype.peekUntilAfter = function(pattern) {\n var start = this.__position;\n var val = this.readUntilAfter(pattern);\n this.__position = start;\n return val;\n};\n\nInputScanner.prototype.lookBack = function(testVal) {\n var start = this.__position - 1;\n return start >= testVal.length && this.__input.substring(start - testVal.length, start)\n .toLowerCase() === testVal;\n};\n\nmodule.exports.InputScanner = InputScanner;\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar InputScanner = __webpack_require__(8).InputScanner;\nvar Token = __webpack_require__(3).Token;\nvar TokenStream = __webpack_require__(10).TokenStream;\nvar WhitespacePattern = __webpack_require__(11).WhitespacePattern;\n\nvar TOKEN = {\n START: 'TK_START',\n RAW: 'TK_RAW',\n EOF: 'TK_EOF'\n};\n\nvar Tokenizer = function(input_string, options) {\n this._input = new InputScanner(input_string);\n this._options = options || {};\n this.__tokens = null;\n\n this._patterns = {};\n this._patterns.whitespace = new WhitespacePattern(this._input);\n};\n\nTokenizer.prototype.tokenize = function() {\n this._input.restart();\n this.__tokens = new TokenStream();\n\n this._reset();\n\n var current;\n var previous = new Token(TOKEN.START, '');\n var open_token = null;\n var open_stack = [];\n var comments = new TokenStream();\n\n while (previous.type !== TOKEN.EOF) {\n current = this._get_next_token(previous, open_token);\n while (this._is_comment(current)) {\n comments.add(current);\n current = this._get_next_token(previous, open_token);\n }\n\n if (!comments.isEmpty()) {\n current.comments_before = comments;\n comments = new TokenStream();\n }\n\n current.parent = open_token;\n\n if (this._is_opening(current)) {\n open_stack.push(open_token);\n open_token = current;\n } else if (open_token && this._is_closing(current, open_token)) {\n current.opened = open_token;\n open_token.closed = current;\n open_token = open_stack.pop();\n current.parent = open_token;\n }\n\n current.previous = previous;\n previous.next = current;\n\n this.__tokens.add(current);\n previous = current;\n }\n\n return this.__tokens;\n};\n\n\nTokenizer.prototype._is_first_token = function() {\n return this.__tokens.isEmpty();\n};\n\nTokenizer.prototype._reset = function() {};\n\nTokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false\n this._readWhitespace();\n var resulting_string = this._input.read(/.+/g);\n if (resulting_string) {\n return this._create_token(TOKEN.RAW, resulting_string);\n } else {\n return this._create_token(TOKEN.EOF, '');\n }\n};\n\nTokenizer.prototype._is_comment = function(current_token) { // jshint unused:false\n return false;\n};\n\nTokenizer.prototype._is_opening = function(current_token) { // jshint unused:false\n return false;\n};\n\nTokenizer.prototype._is_closing = function(current_token, open_token) { // jshint unused:false\n return false;\n};\n\nTokenizer.prototype._create_token = function(type, text) {\n var token = new Token(type, text,\n this._patterns.whitespace.newline_count,\n this._patterns.whitespace.whitespace_before_token);\n return token;\n};\n\nTokenizer.prototype._readWhitespace = function() {\n return this._patterns.whitespace.read();\n};\n\n\n\nmodule.exports.Tokenizer = Tokenizer;\nmodule.exports.TOKEN = TOKEN;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction TokenStream(parent_token) {\n // private\n this.__tokens = [];\n this.__tokens_length = this.__tokens.length;\n this.__position = 0;\n this.__parent_token = parent_token;\n}\n\nTokenStream.prototype.restart = function() {\n this.__position = 0;\n};\n\nTokenStream.prototype.isEmpty = function() {\n return this.__tokens_length === 0;\n};\n\nTokenStream.prototype.hasNext = function() {\n return this.__position < this.__tokens_length;\n};\n\nTokenStream.prototype.next = function() {\n var val = null;\n if (this.hasNext()) {\n val = this.__tokens[this.__position];\n this.__position += 1;\n }\n return val;\n};\n\nTokenStream.prototype.peek = function(index) {\n var val = null;\n index = index || 0;\n index += this.__position;\n if (index >= 0 && index < this.__tokens_length) {\n val = this.__tokens[index];\n }\n return val;\n};\n\nTokenStream.prototype.add = function(token) {\n if (this.__parent_token) {\n token.parent = this.__parent_token;\n }\n this.__tokens.push(token);\n this.__tokens_length += 1;\n};\n\nmodule.exports.TokenStream = TokenStream;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar Pattern = __webpack_require__(12).Pattern;\n\nfunction WhitespacePattern(input_scanner, parent) {\n Pattern.call(this, input_scanner, parent);\n if (parent) {\n this._line_regexp = this._input.get_regexp(parent._line_regexp);\n } else {\n this.__set_whitespace_patterns('', '');\n }\n\n this.newline_count = 0;\n this.whitespace_before_token = '';\n}\nWhitespacePattern.prototype = new Pattern();\n\nWhitespacePattern.prototype.__set_whitespace_patterns = function(whitespace_chars, newline_chars) {\n whitespace_chars += '\\\\t ';\n newline_chars += '\\\\n\\\\r';\n\n this._match_pattern = this._input.get_regexp(\n '[' + whitespace_chars + newline_chars + ']+', true);\n this._newline_regexp = this._input.get_regexp(\n '\\\\r\\\\n|[' + newline_chars + ']');\n};\n\nWhitespacePattern.prototype.read = function() {\n this.newline_count = 0;\n this.whitespace_before_token = '';\n\n var resulting_string = this._input.read(this._match_pattern);\n if (resulting_string === ' ') {\n this.whitespace_before_token = ' ';\n } else if (resulting_string) {\n var matches = this.__split(this._newline_regexp, resulting_string);\n this.newline_count = matches.length - 1;\n this.whitespace_before_token = matches[this.newline_count];\n }\n\n return resulting_string;\n};\n\nWhitespacePattern.prototype.matching = function(whitespace_chars, newline_chars) {\n var result = this._create();\n result.__set_whitespace_patterns(whitespace_chars, newline_chars);\n result._update();\n return result;\n};\n\nWhitespacePattern.prototype._create = function() {\n return new WhitespacePattern(this._input, this);\n};\n\nWhitespacePattern.prototype.__split = function(regexp, input_string) {\n regexp.lastIndex = 0;\n var start_index = 0;\n var result = [];\n var next_match = regexp.exec(input_string);\n while (next_match) {\n result.push(input_string.substring(start_index, next_match.index));\n start_index = next_match.index + next_match[0].length;\n next_match = regexp.exec(input_string);\n }\n\n if (start_index < input_string.length) {\n result.push(input_string.substring(start_index, input_string.length));\n } else {\n result.push('');\n }\n\n return result;\n};\n\n\n\nmodule.exports.WhitespacePattern = WhitespacePattern;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction Pattern(input_scanner, parent) {\n this._input = input_scanner;\n this._starting_pattern = null;\n this._match_pattern = null;\n this._until_pattern = null;\n this._until_after = false;\n\n if (parent) {\n this._starting_pattern = this._input.get_regexp(parent._starting_pattern, true);\n this._match_pattern = this._input.get_regexp(parent._match_pattern, true);\n this._until_pattern = this._input.get_regexp(parent._until_pattern);\n this._until_after = parent._until_after;\n }\n}\n\nPattern.prototype.read = function() {\n var result = this._input.read(this._starting_pattern);\n if (!this._starting_pattern || result) {\n result += this._input.read(this._match_pattern, this._until_pattern, this._until_after);\n }\n return result;\n};\n\nPattern.prototype.read_match = function() {\n return this._input.match(this._match_pattern);\n};\n\nPattern.prototype.until_after = function(pattern) {\n var result = this._create();\n result._until_after = true;\n result._until_pattern = this._input.get_regexp(pattern);\n result._update();\n return result;\n};\n\nPattern.prototype.until = function(pattern) {\n var result = this._create();\n result._until_after = false;\n result._until_pattern = this._input.get_regexp(pattern);\n result._update();\n return result;\n};\n\nPattern.prototype.starting_with = function(pattern) {\n var result = this._create();\n result._starting_pattern = this._input.get_regexp(pattern, true);\n result._update();\n return result;\n};\n\nPattern.prototype.matching = function(pattern) {\n var result = this._create();\n result._match_pattern = this._input.get_regexp(pattern, true);\n result._update();\n return result;\n};\n\nPattern.prototype._create = function() {\n return new Pattern(this._input, this);\n};\n\nPattern.prototype._update = function() {};\n\nmodule.exports.Pattern = Pattern;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nfunction Directives(start_block_pattern, end_block_pattern) {\n start_block_pattern = typeof start_block_pattern === 'string' ? start_block_pattern : start_block_pattern.source;\n end_block_pattern = typeof end_block_pattern === 'string' ? end_block_pattern : end_block_pattern.source;\n this.__directives_block_pattern = new RegExp(start_block_pattern + / beautify( \\w+[:]\\w+)+ /.source + end_block_pattern, 'g');\n this.__directive_pattern = / (\\w+)[:](\\w+)/g;\n\n this.__directives_end_ignore_pattern = new RegExp(start_block_pattern + /\\sbeautify\\signore:end\\s/.source + end_block_pattern, 'g');\n}\n\nDirectives.prototype.get_directives = function(text) {\n if (!text.match(this.__directives_block_pattern)) {\n return null;\n }\n\n var directives = {};\n this.__directive_pattern.lastIndex = 0;\n var directive_match = this.__directive_pattern.exec(text);\n\n while (directive_match) {\n directives[directive_match[1]] = directive_match[2];\n directive_match = this.__directive_pattern.exec(text);\n }\n\n return directives;\n};\n\nDirectives.prototype.readIgnored = function(input) {\n return input.readUntilAfter(this.__directives_end_ignore_pattern);\n};\n\n\nmodule.exports.Directives = Directives;\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar Pattern = __webpack_require__(12).Pattern;\n\n\nvar template_names = {\n django: false,\n erb: false,\n handlebars: false,\n php: false,\n smarty: false\n};\n\n// This lets templates appear anywhere we would do a readUntil\n// The cost is higher but it is pay to play.\nfunction TemplatablePattern(input_scanner, parent) {\n Pattern.call(this, input_scanner, parent);\n this.__template_pattern = null;\n this._disabled = Object.assign({}, template_names);\n this._excluded = Object.assign({}, template_names);\n\n if (parent) {\n this.__template_pattern = this._input.get_regexp(parent.__template_pattern);\n this._excluded = Object.assign(this._excluded, parent._excluded);\n this._disabled = Object.assign(this._disabled, parent._disabled);\n }\n var pattern = new Pattern(input_scanner);\n this.__patterns = {\n handlebars_comment: pattern.starting_with(/{{!--/).until_after(/--}}/),\n handlebars_unescaped: pattern.starting_with(/{{{/).until_after(/}}}/),\n handlebars: pattern.starting_with(/{{/).until_after(/}}/),\n php: pattern.starting_with(/<\\?(?:[= ]|php)/).until_after(/\\?>/),\n erb: pattern.starting_with(/<%[^%]/).until_after(/[^%]%>/),\n // django coflicts with handlebars a bit.\n django: pattern.starting_with(/{%/).until_after(/%}/),\n django_value: pattern.starting_with(/{{/).until_after(/}}/),\n django_comment: pattern.starting_with(/{#/).until_after(/#}/),\n smarty: pattern.starting_with(/{(?=[^}{\\s\\n])/).until_after(/[^\\s\\n]}/),\n smarty_comment: pattern.starting_with(/{\\*/).until_after(/\\*}/),\n smarty_literal: pattern.starting_with(/{literal}/).until_after(/{\\/literal}/)\n };\n}\nTemplatablePattern.prototype = new Pattern();\n\nTemplatablePattern.prototype._create = function() {\n return new TemplatablePattern(this._input, this);\n};\n\nTemplatablePattern.prototype._update = function() {\n this.__set_templated_pattern();\n};\n\nTemplatablePattern.prototype.disable = function(language) {\n var result = this._create();\n result._disabled[language] = true;\n result._update();\n return result;\n};\n\nTemplatablePattern.prototype.read_options = function(options) {\n var result = this._create();\n for (var language in template_names) {\n result._disabled[language] = options.templating.indexOf(language) === -1;\n }\n result._update();\n return result;\n};\n\nTemplatablePattern.prototype.exclude = function(language) {\n var result = this._create();\n result._excluded[language] = true;\n result._update();\n return result;\n};\n\nTemplatablePattern.prototype.read = function() {\n var result = '';\n if (this._match_pattern) {\n result = this._input.read(this._starting_pattern);\n } else {\n result = this._input.read(this._starting_pattern, this.__template_pattern);\n }\n var next = this._read_template();\n while (next) {\n if (this._match_pattern) {\n next += this._input.read(this._match_pattern);\n } else {\n next += this._input.readUntil(this.__template_pattern);\n }\n result += next;\n next = this._read_template();\n }\n\n if (this._until_after) {\n result += this._input.readUntilAfter(this._until_pattern);\n }\n return result;\n};\n\nTemplatablePattern.prototype.__set_templated_pattern = function() {\n var items = [];\n\n if (!this._disabled.php) {\n items.push(this.__patterns.php._starting_pattern.source);\n }\n if (!this._disabled.handlebars) {\n items.push(this.__patterns.handlebars._starting_pattern.source);\n }\n if (!this._disabled.erb) {\n items.push(this.__patterns.erb._starting_pattern.source);\n }\n if (!this._disabled.django) {\n items.push(this.__patterns.django._starting_pattern.source);\n // The starting pattern for django is more complex because it has different\n // patterns for value, comment, and other sections\n items.push(this.__patterns.django_value._starting_pattern.source);\n items.push(this.__patterns.django_comment._starting_pattern.source);\n }\n if (!this._disabled.smarty) {\n items.push(this.__patterns.smarty._starting_pattern.source);\n }\n\n if (this._until_pattern) {\n items.push(this._until_pattern.source);\n }\n this.__template_pattern = this._input.get_regexp('(?:' + items.join('|') + ')');\n};\n\nTemplatablePattern.prototype._read_template = function() {\n var resulting_string = '';\n var c = this._input.peek();\n if (c === '<') {\n var peek1 = this._input.peek(1);\n //if we're in a comment, do something special\n // We treat all comments as literals, even more than preformatted tags\n // we just look for the appropriate close tag\n if (!this._disabled.php && !this._excluded.php && peek1 === '?') {\n resulting_string = resulting_string ||\n this.__patterns.php.read();\n }\n if (!this._disabled.erb && !this._excluded.erb && peek1 === '%') {\n resulting_string = resulting_string ||\n this.__patterns.erb.read();\n }\n } else if (c === '{') {\n if (!this._disabled.handlebars && !this._excluded.handlebars) {\n resulting_string = resulting_string ||\n this.__patterns.handlebars_comment.read();\n resulting_string = resulting_string ||\n this.__patterns.handlebars_unescaped.read();\n resulting_string = resulting_string ||\n this.__patterns.handlebars.read();\n }\n if (!this._disabled.django) {\n // django coflicts with handlebars a bit.\n if (!this._excluded.django && !this._excluded.handlebars) {\n resulting_string = resulting_string ||\n this.__patterns.django_value.read();\n }\n if (!this._excluded.django) {\n resulting_string = resulting_string ||\n this.__patterns.django_comment.read();\n resulting_string = resulting_string ||\n this.__patterns.django.read();\n }\n }\n if (!this._disabled.smarty) {\n // smarty cannot be enabled with django or handlebars enabled\n if (this._disabled.django && this._disabled.handlebars) {\n resulting_string = resulting_string ||\n this.__patterns.smarty_comment.read();\n resulting_string = resulting_string ||\n this.__patterns.smarty_literal.read();\n resulting_string = resulting_string ||\n this.__patterns.smarty.read();\n }\n }\n }\n return resulting_string;\n};\n\n\nmodule.exports.TemplatablePattern = TemplatablePattern;\n\n\n/***/ }),\n/* 15 */,\n/* 16 */,\n/* 17 */,\n/* 18 */\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar Beautifier = __webpack_require__(19).Beautifier,\n Options = __webpack_require__(20).Options;\n\nfunction style_html(html_source, options, js_beautify, css_beautify) {\n var beautifier = new Beautifier(html_source, options, js_beautify, css_beautify);\n return beautifier.beautify();\n}\n\nmodule.exports = style_html;\nmodule.exports.defaultOptions = function() {\n return new Options();\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n\n\nvar Options = __webpack_require__(20).Options;\nvar Output = __webpack_require__(2).Output;\nvar Tokenizer = __webpack_require__(21).Tokenizer;\nvar TOKEN = __webpack_require__(21).TOKEN;\n\nvar lineBreak = /\\r\\n|[\\r\\n]/;\nvar allLineBreaks = /\\r\\n|[\\r\\n]/g;\n\nvar Printer = function(options, base_indent_string) { //handles input/output and some other printing functions\n\n this.indent_level = 0;\n this.alignment_size = 0;\n this.max_preserve_newlines = options.max_preserve_newlines;\n this.preserve_newlines = options.preserve_newlines;\n\n this._output = new Output(options, base_indent_string);\n\n};\n\nPrinter.prototype.current_line_has_match = function(pattern) {\n return this._output.current_line.has_match(pattern);\n};\n\nPrinter.prototype.set_space_before_token = function(value, non_breaking) {\n this._output.space_before_token = value;\n this._output.non_breaking_space = non_breaking;\n};\n\nPrinter.prototype.set_wrap_point = function() {\n this._output.set_indent(this.indent_level, this.alignment_size);\n this._output.set_wrap_point();\n};\n\n\nPrinter.prototype.add_raw_token = function(token) {\n this._output.add_raw_token(token);\n};\n\nPrinter.prototype.print_preserved_newlines = function(raw_token) {\n var newlines = 0;\n if (raw_token.type !== TOKEN.TEXT && raw_token.previous.type !== TOKEN.TEXT) {\n newlines = raw_token.newlines ? 1 : 0;\n }\n\n if (this.preserve_newlines) {\n newlines = raw_token.newlines < this.max_preserve_newlines + 1 ? raw_token.newlines : this.max_preserve_newlines + 1;\n }\n for (var n = 0; n < newlines; n++) {\n this.print_newline(n > 0);\n }\n\n return newlines !== 0;\n};\n\nPrinter.prototype.traverse_whitespace = function(raw_token) {\n if (raw_token.whitespace_before || raw_token.newlines) {\n if (!this.print_preserved_newlines(raw_token)) {\n this._output.space_before_token = true;\n }\n return true;\n }\n return false;\n};\n\nPrinter.prototype.previous_token_wrapped = function() {\n return this._output.previous_token_wrapped;\n};\n\nPrinter.prototype.print_newline = function(force) {\n this._output.add_new_line(force);\n};\n\nPrinter.prototype.print_token = function(token) {\n if (token.text) {\n this._output.set_indent(this.indent_level, this.alignment_size);\n this._output.add_token(token.text);\n }\n};\n\nPrinter.prototype.indent = function() {\n this.indent_level++;\n};\n\nPrinter.prototype.get_full_indent = function(level) {\n level = this.indent_level + (level || 0);\n if (level < 1) {\n return '';\n }\n\n return this._output.get_indent_string(level);\n};\n\nvar get_type_attribute = function(start_token) {\n var result = null;\n var raw_token = start_token.next;\n\n // Search attributes for a type attribute\n while (raw_token.type !== TOKEN.EOF && start_token.closed !== raw_token) {\n if (raw_token.type === TOKEN.ATTRIBUTE && raw_token.text === 'type') {\n if (raw_token.next && raw_token.next.type === TOKEN.EQUALS &&\n raw_token.next.next && raw_token.next.next.type === TOKEN.VALUE) {\n result = raw_token.next.next.text;\n }\n break;\n }\n raw_token = raw_token.next;\n }\n\n return result;\n};\n\nvar get_custom_beautifier_name = function(tag_check, raw_token) {\n var typeAttribute = null;\n var result = null;\n\n if (!raw_token.closed) {\n return null;\n }\n\n if (tag_check === 'script') {\n typeAttribute = 'text/javascript';\n } else if (tag_check === 'style') {\n typeAttribute = 'text/css';\n }\n\n typeAttribute = get_type_attribute(raw_token) || typeAttribute;\n\n // For script and style tags that have a type attribute, only enable custom beautifiers for matching values\n // For those without a type attribute use default;\n if (typeAttribute.search('text/css') > -1) {\n result = 'css';\n } else if (typeAttribute.search(/module|((text|application|dojo)\\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\\+)?json|method|aspect))/) > -1) {\n result = 'javascript';\n } else if (typeAttribute.search(/(text|application|dojo)\\/(x-)?(html)/) > -1) {\n result = 'html';\n } else if (typeAttribute.search(/test\\/null/) > -1) {\n // Test only mime-type for testing the beautifier when null is passed as beautifing function\n result = 'null';\n }\n\n return result;\n};\n\nfunction in_array(what, arr) {\n return arr.indexOf(what) !== -1;\n}\n\nfunction TagFrame(parent, parser_token, indent_level) {\n this.parent = parent || null;\n this.tag = parser_token ? parser_token.tag_name : '';\n this.indent_level = indent_level || 0;\n this.parser_token = parser_token || null;\n}\n\nfunction TagStack(printer) {\n this._printer = printer;\n this._current_frame = null;\n}\n\nTagStack.prototype.get_parser_token = function() {\n return this._current_frame ? this._current_frame.parser_token : null;\n};\n\nTagStack.prototype.record_tag = function(parser_token) { //function to record a tag and its parent in this.tags Object\n var new_frame = new TagFrame(this._current_frame, parser_token, this._printer.indent_level);\n this._current_frame = new_frame;\n};\n\nTagStack.prototype._try_pop_frame = function(frame) { //function to retrieve the opening tag to the corresponding closer\n var parser_token = null;\n\n if (frame) {\n parser_token = frame.parser_token;\n this._printer.indent_level = frame.indent_level;\n this._current_frame = frame.parent;\n }\n\n return parser_token;\n};\n\nTagStack.prototype._get_frame = function(tag_list, stop_list) { //function to retrieve the opening tag to the corresponding closer\n var frame = this._current_frame;\n\n while (frame) { //till we reach '' (the initial value);\n if (tag_list.indexOf(frame.tag) !== -1) { //if this is it use it\n break;\n } else if (stop_list && stop_list.indexOf(frame.tag) !== -1) {\n frame = null;\n break;\n }\n frame = frame.parent;\n }\n\n return frame;\n};\n\nTagStack.prototype.try_pop = function(tag, stop_list) { //function to retrieve the opening tag to the corresponding closer\n var frame = this._get_frame([tag], stop_list);\n return this._try_pop_frame(frame);\n};\n\nTagStack.prototype.indent_to_tag = function(tag_list) {\n var frame = this._get_frame(tag_list);\n if (frame) {\n this._printer.indent_level = frame.indent_level;\n }\n};\n\nfunction Beautifier(source_text, options, js_beautify, css_beautify) {\n //Wrapper function to invoke all the necessary constructors and deal with the output.\n this._source_text = source_text || '';\n options = options || {};\n this._js_beautify = js_beautify;\n this._css_beautify = css_beautify;\n this._tag_stack = null;\n\n // Allow the setting of language/file-type specific options\n // with inheritance of overall settings\n var optionHtml = new Options(options, 'html');\n\n this._options = optionHtml;\n\n this._is_wrap_attributes_force = this._options.wrap_attributes.substr(0, 'force'.length) === 'force';\n this._is_wrap_attributes_force_expand_multiline = (this._options.wrap_attributes === 'force-expand-multiline');\n this._is_wrap_attributes_force_aligned = (this._options.wrap_attributes === 'force-aligned');\n this._is_wrap_attributes_aligned_multiple = (this._options.wrap_attributes === 'aligned-multiple');\n this._is_wrap_attributes_preserve = this._options.wrap_attributes.substr(0, 'preserve'.length) === 'preserve';\n this._is_wrap_attributes_preserve_aligned = (this._options.wrap_attributes === 'preserve-aligned');\n}\n\nBeautifier.prototype.beautify = function() {\n\n // if disabled, return the input unchanged.\n if (this._options.disabled) {\n return this._source_text;\n }\n\n var source_text = this._source_text;\n var eol = this._options.eol;\n if (this._options.eol === 'auto') {\n eol = '\\n';\n if (source_text && lineBreak.test(source_text)) {\n eol = source_text.match(lineBreak)[0];\n }\n }\n\n // HACK: newline parsing inconsistent. This brute force normalizes the input.\n source_text = source_text.replace(allLineBreaks, '\\n');\n\n var baseIndentString = source_text.match(/^[\\t ]*/)[0];\n\n var last_token = {\n text: '',\n type: ''\n };\n\n var last_tag_token = new TagOpenParserToken();\n\n var printer = new Printer(this._options, baseIndentString);\n var tokens = new Tokenizer(source_text, this._options).tokenize();\n\n this._tag_stack = new TagStack(printer);\n\n var parser_token = null;\n var raw_token = tokens.next();\n while (raw_token.type !== TOKEN.EOF) {\n\n if (raw_token.type === TOKEN.TAG_OPEN || raw_token.type === TOKEN.COMMENT) {\n parser_token = this._handle_tag_open(printer, raw_token, last_tag_token, last_token);\n last_tag_token = parser_token;\n } else if ((raw_token.type === TOKEN.ATTRIBUTE || raw_token.type === TOKEN.EQUALS || raw_token.type === TOKEN.VALUE) ||\n (raw_token.type === TOKEN.TEXT && !last_tag_token.tag_complete)) {\n parser_token = this._handle_inside_tag(printer, raw_token, last_tag_token, tokens);\n } else if (raw_token.type === TOKEN.TAG_CLOSE) {\n parser_token = this._handle_tag_close(printer, raw_token, last_tag_token);\n } else if (raw_token.type === TOKEN.TEXT) {\n parser_token = this._handle_text(printer, raw_token, last_tag_token);\n } else {\n // This should never happen, but if it does. Print the raw token\n printer.add_raw_token(raw_token);\n }\n\n last_token = parser_token;\n\n raw_token = tokens.next();\n }\n var sweet_code = printer._output.get_code(eol);\n\n return sweet_code;\n};\n\nBeautifier.prototype._handle_tag_close = function(printer, raw_token, last_tag_token) {\n var parser_token = {\n text: raw_token.text,\n type: raw_token.type\n };\n printer.alignment_size = 0;\n last_tag_token.tag_complete = true;\n\n printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== '', true);\n if (last_tag_token.is_unformatted) {\n printer.add_raw_token(raw_token);\n } else {\n if (last_tag_token.tag_start_char === '<') {\n printer.set_space_before_token(raw_token.text[0] === '/', true); // space before />, no space before >\n if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.has_wrapped_attrs) {\n printer.print_newline(false);\n }\n }\n printer.print_token(raw_token);\n\n }\n\n if (last_tag_token.indent_content &&\n !(last_tag_token.is_unformatted || last_tag_token.is_content_unformatted)) {\n printer.indent();\n\n // only indent once per opened tag\n last_tag_token.indent_content = false;\n }\n\n if (!last_tag_token.is_inline_element &&\n !(last_tag_token.is_unformatted || last_tag_token.is_content_unformatted)) {\n printer.set_wrap_point();\n }\n\n return parser_token;\n};\n\nBeautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_token, tokens) {\n var wrapped = last_tag_token.has_wrapped_attrs;\n var parser_token = {\n text: raw_token.text,\n type: raw_token.type\n };\n\n printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== '', true);\n if (last_tag_token.is_unformatted) {\n printer.add_raw_token(raw_token);\n } else if (last_tag_token.tag_start_char === '{' && raw_token.type === TOKEN.TEXT) {\n // For the insides of handlebars allow newlines or a single space between open and contents\n if (printer.print_preserved_newlines(raw_token)) {\n raw_token.newlines = 0;\n printer.add_raw_token(raw_token);\n } else {\n printer.print_token(raw_token);\n }\n } else {\n if (raw_token.type === TOKEN.ATTRIBUTE) {\n printer.set_space_before_token(true);\n last_tag_token.attr_count += 1;\n } else if (raw_token.type === TOKEN.EQUALS) { //no space before =\n printer.set_space_before_token(false);\n } else if (raw_token.type === TOKEN.VALUE && raw_token.previous.type === TOKEN.EQUALS) { //no space before value\n printer.set_space_before_token(false);\n }\n\n if (raw_token.type === TOKEN.ATTRIBUTE && last_tag_token.tag_start_char === '<') {\n if (this._is_wrap_attributes_preserve || this._is_wrap_attributes_preserve_aligned) {\n printer.traverse_whitespace(raw_token);\n wrapped = wrapped || raw_token.newlines !== 0;\n }\n\n\n if (this._is_wrap_attributes_force) {\n var force_attr_wrap = last_tag_token.attr_count > 1;\n if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.attr_count === 1) {\n var is_only_attribute = true;\n var peek_index = 0;\n var peek_token;\n do {\n peek_token = tokens.peek(peek_index);\n if (peek_token.type === TOKEN.ATTRIBUTE) {\n is_only_attribute = false;\n break;\n }\n peek_index += 1;\n } while (peek_index < 4 && peek_token.type !== TOKEN.EOF && peek_token.type !== TOKEN.TAG_CLOSE);\n\n force_attr_wrap = !is_only_attribute;\n }\n\n if (force_attr_wrap) {\n printer.print_newline(false);\n wrapped = true;\n }\n }\n }\n printer.print_token(raw_token);\n wrapped = wrapped || printer.previous_token_wrapped();\n last_tag_token.has_wrapped_attrs = wrapped;\n }\n return parser_token;\n};\n\nBeautifier.prototype._handle_text = function(printer, raw_token, last_tag_token) {\n var parser_token = {\n text: raw_token.text,\n type: 'TK_CONTENT'\n };\n if (last_tag_token.custom_beautifier_name) { //check if we need to format javascript\n this._print_custom_beatifier_text(printer, raw_token, last_tag_token);\n } else if (last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) {\n printer.add_raw_token(raw_token);\n } else {\n printer.traverse_whitespace(raw_token);\n printer.print_token(raw_token);\n }\n return parser_token;\n};\n\nBeautifier.prototype._print_custom_beatifier_text = function(printer, raw_token, last_tag_token) {\n var local = this;\n if (raw_token.text !== '') {\n\n var text = raw_token.text,\n _beautifier,\n script_indent_level = 1,\n pre = '',\n post = '';\n if (last_tag_token.custom_beautifier_name === 'javascript' && typeof this._js_beautify === 'function') {\n _beautifier = this._js_beautify;\n } else if (last_tag_token.custom_beautifier_name === 'css' && typeof this._css_beautify === 'function') {\n _beautifier = this._css_beautify;\n } else if (last_tag_token.custom_beautifier_name === 'html') {\n _beautifier = function(html_source, options) {\n var beautifier = new Beautifier(html_source, options, local._js_beautify, local._css_beautify);\n return beautifier.beautify();\n };\n }\n\n if (this._options.indent_scripts === \"keep\") {\n script_indent_level = 0;\n } else if (this._options.indent_scripts === \"separate\") {\n script_indent_level = -printer.indent_level;\n }\n\n var indentation = printer.get_full_indent(script_indent_level);\n\n // if there is at least one empty line at the end of this text, strip it\n // we'll be adding one back after the text but before the containing tag.\n text = text.replace(/\\n[ \\t]*$/, '');\n\n // Handle the case where content is wrapped in a comment or cdata.\n if (last_tag_token.custom_beautifier_name !== 'html' &&\n text[0] === '<' && text.match(/^(|]]>)$/.exec(text);\n\n // if we start to wrap but don't finish, print raw\n if (!matched) {\n printer.add_raw_token(raw_token);\n return;\n }\n\n pre = indentation + matched[1] + '\\n';\n text = matched[4];\n if (matched[5]) {\n post = indentation + matched[5];\n }\n\n // if there is at least one empty line at the end of this text, strip it\n // we'll be adding one back after the text but before the containing tag.\n text = text.replace(/\\n[ \\t]*$/, '');\n\n if (matched[2] || matched[3].indexOf('\\n') !== -1) {\n // if the first line of the non-comment text has spaces\n // use that as the basis for indenting in null case.\n matched = matched[3].match(/[ \\t]+$/);\n if (matched) {\n raw_token.whitespace_before = matched[0];\n }\n }\n }\n\n if (text) {\n if (_beautifier) {\n\n // call the Beautifier if avaliable\n var Child_options = function() {\n this.eol = '\\n';\n };\n Child_options.prototype = this._options.raw_options;\n var child_options = new Child_options();\n text = _beautifier(indentation + text, child_options);\n } else {\n // simply indent the string otherwise\n var white = raw_token.whitespace_before;\n if (white) {\n text = text.replace(new RegExp('\\n(' + white + ')?', 'g'), '\\n');\n }\n\n text = indentation + text.replace(/\\n/g, '\\n' + indentation);\n }\n }\n\n if (pre) {\n if (!text) {\n text = pre + post;\n } else {\n text = pre + text + '\\n' + post;\n }\n }\n\n printer.print_newline(false);\n if (text) {\n raw_token.text = text;\n raw_token.whitespace_before = '';\n raw_token.newlines = 0;\n printer.add_raw_token(raw_token);\n printer.print_newline(true);\n }\n }\n};\n\nBeautifier.prototype._handle_tag_open = function(printer, raw_token, last_tag_token, last_token) {\n var parser_token = this._get_tag_open_token(raw_token);\n\n if ((last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) &&\n !last_tag_token.is_empty_element &&\n raw_token.type === TOKEN.TAG_OPEN && raw_token.text.indexOf(']*)/);\n this.tag_check = tag_check_match ? tag_check_match[1] : '';\n } else {\n tag_check_match = raw_token.text.match(/^{{(?:[\\^]|#\\*?)?([^\\s}]+)/);\n this.tag_check = tag_check_match ? tag_check_match[1] : '';\n\n // handle \"{{#> myPartial}}\n if (raw_token.text === '{{#>' && this.tag_check === '>' && raw_token.next !== null) {\n this.tag_check = raw_token.next.text;\n }\n }\n this.tag_check = this.tag_check.toLowerCase();\n\n if (raw_token.type === TOKEN.COMMENT) {\n this.tag_complete = true;\n }\n\n this.is_start_tag = this.tag_check.charAt(0) !== '/';\n this.tag_name = !this.is_start_tag ? this.tag_check.substr(1) : this.tag_check;\n this.is_end_tag = !this.is_start_tag ||\n (raw_token.closed && raw_token.closed.text === '/>');\n\n // handlebars tags that don't start with # or ^ are single_tags, and so also start and end.\n this.is_end_tag = this.is_end_tag ||\n (this.tag_start_char === '{' && (this.text.length < 3 || (/[^#\\^]/.test(this.text.charAt(2)))));\n }\n};\n\nBeautifier.prototype._get_tag_open_token = function(raw_token) { //function to get a full tag and parse its type\n var parser_token = new TagOpenParserToken(this._tag_stack.get_parser_token(), raw_token);\n\n parser_token.alignment_size = this._options.wrap_attributes_indent_size;\n\n parser_token.is_end_tag = parser_token.is_end_tag ||\n in_array(parser_token.tag_check, this._options.void_elements);\n\n parser_token.is_empty_element = parser_token.tag_complete ||\n (parser_token.is_start_tag && parser_token.is_end_tag);\n\n parser_token.is_unformatted = !parser_token.tag_complete && in_array(parser_token.tag_check, this._options.unformatted);\n parser_token.is_content_unformatted = !parser_token.is_empty_element && in_array(parser_token.tag_check, this._options.content_unformatted);\n parser_token.is_inline_element = in_array(parser_token.tag_name, this._options.inline) || parser_token.tag_start_char === '{';\n\n return parser_token;\n};\n\nBeautifier.prototype._set_tag_position = function(printer, raw_token, parser_token, last_tag_token, last_token) {\n\n if (!parser_token.is_empty_element) {\n if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending\n parser_token.start_tag_token = this._tag_stack.try_pop(parser_token.tag_name); //remove it and all ancestors\n } else { // it's a start-tag\n // check if this tag is starting an element that has optional end element\n // and do an ending needed\n if (this._do_optional_end_element(parser_token)) {\n if (!parser_token.is_inline_element) {\n printer.print_newline(false);\n }\n }\n\n this._tag_stack.record_tag(parser_token); //push it on the tag stack\n\n if ((parser_token.tag_name === 'script' || parser_token.tag_name === 'style') &&\n !(parser_token.is_unformatted || parser_token.is_content_unformatted)) {\n parser_token.custom_beautifier_name = get_custom_beautifier_name(parser_token.tag_check, raw_token);\n }\n }\n }\n\n if (in_array(parser_token.tag_check, this._options.extra_liners)) { //check if this double needs an extra line\n printer.print_newline(false);\n if (!printer._output.just_added_blankline()) {\n printer.print_newline(true);\n }\n }\n\n if (parser_token.is_empty_element) { //if this tag name is a single tag type (either in the list or has a closing /)\n\n // if you hit an else case, reset the indent level if you are inside an:\n // 'if', 'unless', or 'each' block.\n if (parser_token.tag_start_char === '{' && parser_token.tag_check === 'else') {\n this._tag_stack.indent_to_tag(['if', 'unless', 'each']);\n parser_token.indent_content = true;\n // Don't add a newline if opening {{#if}} tag is on the current line\n var foundIfOnCurrentLine = printer.current_line_has_match(/{{#if/);\n if (!foundIfOnCurrentLine) {\n printer.print_newline(false);\n }\n }\n\n // Don't add a newline before elements that should remain where they are.\n if (parser_token.tag_name === '!--' && last_token.type === TOKEN.TAG_CLOSE &&\n last_tag_token.is_end_tag && parser_token.text.indexOf('\\n') === -1) {\n //Do nothing. Leave comments on same line.\n } else {\n if (!(parser_token.is_inline_element || parser_token.is_unformatted)) {\n printer.print_newline(false);\n }\n this._calcluate_parent_multiline(printer, parser_token);\n }\n } else if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending\n var do_end_expand = false;\n\n // deciding whether a block is multiline should not be this hard\n do_end_expand = parser_token.start_tag_token && parser_token.start_tag_token.multiline_content;\n do_end_expand = do_end_expand || (!parser_token.is_inline_element &&\n !(last_tag_token.is_inline_element || last_tag_token.is_unformatted) &&\n !(last_token.type === TOKEN.TAG_CLOSE && parser_token.start_tag_token === last_tag_token) &&\n last_token.type !== 'TK_CONTENT'\n );\n\n if (parser_token.is_content_unformatted || parser_token.is_unformatted) {\n do_end_expand = false;\n }\n\n if (do_end_expand) {\n printer.print_newline(false);\n }\n } else { // it's a start-tag\n parser_token.indent_content = !parser_token.custom_beautifier_name;\n\n if (parser_token.tag_start_char === '<') {\n if (parser_token.tag_name === 'html') {\n parser_token.indent_content = this._options.indent_inner_html;\n } else if (parser_token.tag_name === 'head') {\n parser_token.indent_content = this._options.indent_head_inner_html;\n } else if (parser_token.tag_name === 'body') {\n parser_token.indent_content = this._options.indent_body_inner_html;\n }\n }\n\n if (!(parser_token.is_inline_element || parser_token.is_unformatted) &&\n (last_token.type !== 'TK_CONTENT' || parser_token.is_content_unformatted)) {\n printer.print_newline(false);\n }\n\n this._calcluate_parent_multiline(printer, parser_token);\n }\n};\n\nBeautifier.prototype._calcluate_parent_multiline = function(printer, parser_token) {\n if (parser_token.parent && printer._output.just_added_newline() &&\n !((parser_token.is_inline_element || parser_token.is_unformatted) && parser_token.parent.is_inline_element)) {\n parser_token.parent.multiline_content = true;\n }\n};\n\n//To be used for

tag special case:\nvar p_closers = ['address', 'article', 'aside', 'blockquote', 'details', 'div', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'];\nvar p_parent_excludes = ['a', 'audio', 'del', 'ins', 'map', 'noscript', 'video'];\n\nBeautifier.prototype._do_optional_end_element = function(parser_token) {\n var result = null;\n // NOTE: cases of \"if there is no more content in the parent element\"\n // are handled automatically by the beautifier.\n // It assumes parent or ancestor close tag closes all children.\n // https://www.w3.org/TR/html5/syntax.html#optional-tags\n if (parser_token.is_empty_element || !parser_token.is_start_tag || !parser_token.parent) {\n return;\n\n }\n\n if (parser_token.tag_name === 'body') {\n // A head element’s end tag may be omitted if the head element is not immediately followed by a space character or a comment.\n result = result || this._tag_stack.try_pop('head');\n\n //} else if (parser_token.tag_name === 'body') {\n // DONE: A body element’s end tag may be omitted if the body element is not immediately followed by a comment.\n\n } else if (parser_token.tag_name === 'li') {\n // An li element’s end tag may be omitted if the li element is immediately followed by another li element or if there is no more content in the parent element.\n result = result || this._tag_stack.try_pop('li', ['ol', 'ul']);\n\n } else if (parser_token.tag_name === 'dd' || parser_token.tag_name === 'dt') {\n // A dd element’s end tag may be omitted if the dd element is immediately followed by another dd element or a dt element, or if there is no more content in the parent element.\n // A dt element’s end tag may be omitted if the dt element is immediately followed by another dt element or a dd element.\n result = result || this._tag_stack.try_pop('dt', ['dl']);\n result = result || this._tag_stack.try_pop('dd', ['dl']);\n\n\n } else if (parser_token.parent.tag_name === 'p' && p_closers.indexOf(parser_token.tag_name) !== -1) {\n // IMPORTANT: this else-if works because p_closers has no overlap with any other element we look for in this method\n // check for the parent element is an HTML element that is not an ,