UNPKG

astexplorer.app

Version:

https://astexplorer.net with ES Modules support and Hot Reloading

1 lines 1.13 MB
(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{"./node_modules/acorn-to-esprima/src/attachComments.js":function(module,exports){eval("// comment fixes\nmodule.exports = function (ast, comments, tokens) {\n if (comments.length) {\n var firstComment = comments[0];\n var lastComment = comments[comments.length - 1];\n // fixup program start\n if (!tokens.length) {\n // if no tokens, the program starts at the end of the last comment\n ast.start = lastComment.end;\n ast.loc.start.line = lastComment.loc.end.line;\n ast.loc.start.column = lastComment.loc.end.column;\n\n if (ast.leadingComments === null && ast.innerComments.length) {\n ast.leadingComments = ast.innerComments;\n }\n } else if (firstComment.start < tokens[0].start) {\n // if there are comments before the first token, the program starts at the first token\n var token = tokens[0];\n ast.start = token.start;\n ast.loc.start.line = token.loc.start.line;\n ast.loc.start.column = token.loc.start.column;\n\n // estraverse do not put leading comments on first node when the comment\n // appear before the first token\n if (ast.body.length) {\n var node = ast.body[0];\n node.leadingComments = [];\n var firstTokenStart = token.start;\n var len = comments.length;\n for (var i = 0; i < len && comments[i].start < firstTokenStart; i++) {\n node.leadingComments.push(comments[i]);\n }\n }\n }\n // fixup program end\n if (tokens.length) {\n var lastToken = tokens[tokens.length - 1];\n if (lastComment.end > lastToken.end) {\n // If there is a comment after the last token, the program ends at the\n // last token and not the comment\n ast.end = lastToken.end;\n ast.loc.end.line = lastToken.loc.end.line;\n ast.loc.end.column = lastToken.loc.end.column;\n }\n }\n } else {\n if (!tokens.length) {\n ast.loc.start.line = 0;\n ast.loc.end.line = 0;\n }\n }\n if (ast.body && ast.body.length > 0) {\n ast.loc.start.line = ast.body[0].loc.start.line;\n ast.start = ast.body[0].start;\n }\n ast.range[0] = ast.start;\n ast.range[1] = ast.end;\n};\n\n\n//# sourceURL=webpack:///./node_modules/acorn-to-esprima/src/attachComments.js?")},"./node_modules/acorn-to-esprima/src/convertTemplateType.js":function(module,exports){eval('module.exports = function (tokens, tt) {\n var startingToken = 0;\n var currentToken = 0;\n var numBraces = 0; // track use of {}\n var numBackQuotes = 0; // track number of nested templates\n\n function isBackQuote(token) {\n return tokens[token].type === tt.backQuote;\n }\n\n function isTemplateStarter(token) {\n return isBackQuote(token) ||\n // only can be a template starter when in a template already\n tokens[token].type === tt.braceR && numBackQuotes > 0;\n }\n\n function isTemplateEnder(token) {\n return isBackQuote(token) ||\n tokens[token].type === tt.dollarBraceL;\n }\n\n // append the values between start and end\n function createTemplateValue(start, end) {\n var value = "";\n while (start <= end) {\n if (tokens[start].value) {\n value += tokens[start].value;\n } else if (tokens[start].type !== tt.template) {\n value += tokens[start].type.label;\n }\n start++;\n }\n return value;\n }\n\n // create Template token\n function replaceWithTemplateType(start, end) {\n var templateToken = {\n type: "Template",\n value: createTemplateValue(start, end),\n start: tokens[start].start,\n end: tokens[end].end,\n loc: {\n start: tokens[start].loc.start,\n end: tokens[end].loc.end\n }\n };\n\n // put new token in place of old tokens\n tokens.splice(start, end - start + 1, templateToken);\n }\n\n function trackNumBraces(token) {\n if (tokens[token].type === tt.braceL) {\n numBraces++;\n } else if (tokens[token].type === tt.braceR) {\n numBraces--;\n }\n }\n\n while (startingToken < tokens.length) {\n // template start: check if ` or }\n if (isTemplateStarter(startingToken) && numBraces === 0) {\n if (isBackQuote(startingToken)) {\n numBackQuotes++;\n }\n\n currentToken = startingToken + 1;\n\n // check if token after template start is "template"\n if (currentToken >= tokens.length - 1 || tokens[currentToken].type !== tt.template) {\n break;\n }\n\n // template end: find ` or ${\n while (!isTemplateEnder(currentToken)) {\n if (currentToken >= tokens.length - 1) {\n break;\n }\n currentToken++;\n }\n\n if (isBackQuote(currentToken)) {\n numBackQuotes--;\n }\n // template start and end found: create new token\n replaceWithTemplateType(startingToken, currentToken);\n } else if (numBackQuotes > 0) {\n trackNumBraces(startingToken);\n }\n startingToken++;\n }\n}\n\n//# sourceURL=webpack:///./node_modules/acorn-to-esprima/src/convertTemplateType.js?')},"./node_modules/acorn-to-esprima/src/index.js":function(module,exports,__webpack_require__){eval('exports.attachComments = __webpack_require__("./node_modules/acorn-to-esprima/src/attachComments.js");\n\nexports.toTokens = __webpack_require__("./node_modules/acorn-to-esprima/src/toTokens.js"); // requires babel tokTypes\nexports.toAST = __webpack_require__("./node_modules/acorn-to-esprima/src/toAST.js"); // requires traversal method\n\nexports.convertComments = function (comments) {\n for (var i = 0; i < comments.length; i++) {\n var comment = comments[i];\n if (comment.type === "CommentBlock") {\n comment.type = "Block";\n } else if (comment.type === "CommentLine") {\n comment.type = "Line";\n }\n // sometimes comments don\'t get ranges computed,\n // even with options.ranges === true\n if (!comment.range) {\n comment.range = [comment.start, comment.end];\n }\n }\n}\n\n//# sourceURL=webpack:///./node_modules/acorn-to-esprima/src/index.js?')},"./node_modules/acorn-to-esprima/src/toAST.js":function(module,exports){eval("// var traverse = require(\"babel-core\").traverse;\n\nvar source;\n\nmodule.exports = function (ast, traverse, code) {\n source = code;\n ast.sourceType = \"module\";\n ast.range = [ast.start, ast.end];\n traverse(ast, astTransformVisitor);\n};\n\nfunction changeToLiteral(node) {\n node.type = 'Literal';\n if (!node.raw) {\n if (node.extra && node.extra.raw) {\n node.raw = node.extra.raw;\n } else {\n node.raw = source.slice(node.start, node.end);\n }\n }\n}\n\nvar astTransformVisitor = {\n noScope: true,\n enter: function (path) {\n var node = path.node;\n node.range = [node.start, node.end];\n\n // private var to track original node type\n node._babelType = node.type;\n\n if (node.innerComments) {\n node.trailingComments = node.innerComments;\n delete node.innerComments;\n }\n\n if (node.trailingComments) {\n for (var i = 0; i < node.trailingComments.length; i++) {\n var comment = node.trailingComments[i];\n if (comment.type === 'CommentLine') {\n comment.type = 'Line';\n } else if (comment.type === 'CommentBlock') {\n comment.type = 'Block';\n }\n comment.range = [comment.start, comment.end];\n }\n }\n\n if (node.leadingComments) {\n for (var i = 0; i < node.leadingComments.length; i++) {\n var comment = node.leadingComments[i];\n if (comment.type === 'CommentLine') {\n comment.type = 'Line';\n } else if (comment.type === 'CommentBlock') {\n comment.type = 'Block';\n }\n comment.range = [comment.start, comment.end];\n }\n }\n\n // make '_paths' non-enumerable (babel-eslint #200)\n Object.defineProperty(node, \"_paths\", { value: node._paths, writable: true });\n },\n exit: function (path) {\n var node = path.node;\n\n [\n fixDirectives,\n ].forEach(function (fixer) {\n fixer(path);\n });\n\n if (path.isJSXText()) {\n node.type = 'Literal';\n node.raw = node.value;\n }\n\n if (path.isNumericLiteral() ||\n path.isStringLiteral()) {\n changeToLiteral(node);\n }\n\n if (path.isBooleanLiteral()) {\n node.type = 'Literal';\n node.raw = String(node.value);\n }\n\n if (path.isNullLiteral()) {\n node.type = 'Literal';\n node.raw = 'null';\n node.value = null;\n }\n\n if (path.isRegExpLiteral()) {\n node.type = 'Literal';\n node.raw = node.extra.raw;\n node.value = {};\n node.regex = {\n pattern: node.pattern,\n flags: node.flags\n };\n delete node.extra;\n delete node.pattern;\n delete node.flags;\n }\n\n if (path.isObjectProperty()) {\n node.type = 'Property';\n node.kind = 'init';\n }\n\n if (path.isClassMethod() || path.isObjectMethod()) {\n var code = source.slice(node.key.end, node.body.start);\n var offset = code.indexOf(\"(\");\n\n node.value = {\n type: 'FunctionExpression',\n id: node.id,\n params: node.params,\n body: node.body,\n async: node.async,\n generator: node.generator,\n expression: node.expression,\n defaults: [], // basic support - TODO: remove (old esprima)\n loc: {\n start: {\n line: node.key.loc.start.line,\n column: node.key.loc.end.column + offset // a[() {]\n },\n end: node.body.loc.end\n }\n }\n\n // [asdf]() {\n node.value.range = [node.key.end + offset, node.body.end];\n\n if (node.returnType) {\n node.value.returnType = node.returnType;\n }\n\n if (node.typeParameters) {\n node.value.typeParameters = node.typeParameters;\n }\n\n if (path.isClassMethod()) {\n node.type = 'MethodDefinition';\n }\n\n if (path.isObjectMethod()) {\n node.type = 'Property';\n if (node.kind === 'method') {\n node.kind = 'init';\n }\n }\n\n delete node.body;\n delete node.id;\n delete node.async;\n delete node.generator;\n delete node.expression;\n delete node.params;\n delete node.returnType;\n delete node.typeParameters;\n }\n\n if (path.isRestProperty() || path.isSpreadProperty()) {\n node.type = \"SpreadProperty\";\n node.key = node.value = node.argument;\n }\n\n // flow: prevent \"no-undef\"\n // for \"Component\" in: \"let x: React.Component\"\n if (path.isQualifiedTypeIdentifier()) {\n delete node.id;\n }\n // for \"b\" in: \"var a: { b: Foo }\"\n if (path.isObjectTypeProperty()) {\n delete node.key;\n }\n // for \"indexer\" in: \"var a: {[indexer: string]: number}\"\n if (path.isObjectTypeIndexer()) {\n delete node.id;\n }\n // for \"param\" in: \"var a: { func(param: Foo): Bar };\"\n if (path.isFunctionTypeParam()) {\n delete node.name;\n }\n\n // modules\n\n if (path.isImportDeclaration()) {\n delete node.isType;\n }\n\n if (path.isExportDeclaration()) {\n var declar = path.get(\"declaration\");\n if (declar.isClassExpression()) {\n node.declaration.type = \"ClassDeclaration\";\n } else if (declar.isFunctionExpression()) {\n node.declaration.type = \"FunctionDeclaration\";\n }\n }\n\n // remove class property keys (or patch in escope)\n if (path.isClassProperty()) {\n delete node.key;\n }\n\n // async function as generator\n if (path.isFunction()) {\n if (node.async) node.generator = true;\n }\n\n // TODO: remove (old esprima)\n if (path.isFunction()) {\n if (!node.defaults) {\n node.defaults = [];\n }\n }\n\n // await transform to yield\n if (path.isAwaitExpression()) {\n node.type = \"YieldExpression\";\n node.delegate = node.all;\n delete node.all;\n }\n\n // template string range fixes\n if (path.isTemplateLiteral()) {\n node.quasis.forEach(function (q) {\n q.range[0] -= 1;\n if (q.tail) {\n q.range[1] += 1;\n } else {\n q.range[1] += 2;\n }\n q.loc.start.column -= 1;\n if (q.tail) {\n q.loc.end.column += 1;\n } else {\n q.loc.end.column += 2;\n }\n });\n }\n }\n};\n\n\nfunction fixDirectives (path) {\n if (!(path.isProgram() || path.isFunction())) return;\n\n var node = path.node;\n var directivesContainer = node;\n var body = node.body;\n\n if (node.type !== \"Program\") {\n directivesContainer = body;\n body = body.body;\n }\n\n if (!directivesContainer.directives) return;\n\n directivesContainer.directives.reverse().forEach(function (directive) {\n directive.type = \"ExpressionStatement\";\n directive.expression = directive.value;\n delete directive.value;\n directive.expression.type = \"Literal\";\n changeToLiteral(directive.expression);\n body.unshift(directive);\n });\n delete directivesContainer.directives;\n}\n// fixDirectives\n\n\n//# sourceURL=webpack:///./node_modules/acorn-to-esprima/src/toAST.js?")},"./node_modules/acorn-to-esprima/src/toToken.js":function(module,exports){eval('module.exports = function (token, tt, source) {\n var type = token.type;\n token.range = [token.start, token.end];\n\n if (type === tt.name) {\n token.type = "Identifier";\n } else if (type === tt.semi || type === tt.comma ||\n type === tt.parenL || type === tt.parenR ||\n type === tt.braceL || type === tt.braceR ||\n type === tt.slash || type === tt.dot ||\n type === tt.bracketL || type === tt.bracketR ||\n type === tt.ellipsis || type === tt.arrow ||\n type === tt.star || type === tt.incDec ||\n type === tt.colon || type === tt.question ||\n type === tt.template || type === tt.backQuote ||\n type === tt.dollarBraceL || type === tt.at ||\n type === tt.logicalOR || type === tt.logicalAND ||\n type === tt.bitwiseOR || type === tt.bitwiseXOR ||\n type === tt.bitwiseAND || type === tt.equality ||\n type === tt.relational || type === tt.bitShift ||\n type === tt.plusMin || type === tt.modulo ||\n type === tt.exponent || type === tt.prefix ||\n type === tt.doubleColon ||\n type.isAssign) {\n token.type = "Punctuator";\n if (!token.value) token.value = type.label;\n } else if (type === tt.jsxTagStart) {\n token.type = "Punctuator";\n token.value = "<";\n } else if (type === tt.jsxTagEnd) {\n token.type = "Punctuator";\n token.value = ">";\n } else if (type === tt.jsxName) {\n token.type = "JSXIdentifier";\n } else if (type === tt.jsxText) {\n token.type = "JSXText";\n } else if (type.keyword === "null") {\n token.type = "Null";\n } else if (type.keyword === "false" || type.keyword === "true") {\n token.type = "Boolean";\n } else if (type.keyword) {\n token.type = "Keyword";\n } else if (type === tt.num) {\n token.type = "Numeric";\n token.value = source.slice(token.start, token.end);\n } else if (type === tt.string) {\n token.type = "String";\n token.value = source.slice(token.start, token.end);\n } else if (type === tt.regexp) {\n token.type = "RegularExpression";\n var value = token.value;\n token.regex = {\n pattern: value.pattern,\n flags: value.flags\n };\n token.value = "/" + value.pattern + "/" + value.flags;\n }\n\n return token;\n};\n\n\n//# sourceURL=webpack:///./node_modules/acorn-to-esprima/src/toToken.js?')},"./node_modules/acorn-to-esprima/src/toTokens.js":function(module,exports,__webpack_require__){eval('// var tt = require("babylon").tokTypes;\n// var tt = require("babel-core").acorn.tokTypes;\nvar convertTemplateType = __webpack_require__("./node_modules/acorn-to-esprima/src/convertTemplateType.js");\nvar toToken = __webpack_require__("./node_modules/acorn-to-esprima/src/toToken.js");\n\nmodule.exports = function (tokens, tt, code) {\n // transform tokens to type "Template"\n convertTemplateType(tokens, tt);\n var transformedTokens = tokens.filter(function (token) {\n return token.type !== "CommentLine" && token.type !== "CommentBlock";\n });\n\n for (var i = 0, l = transformedTokens.length; i < l; i++) {\n transformedTokens[i] = toToken(transformedTokens[i], tt, code);\n }\n\n return transformedTokens;\n};\n\n\n//# sourceURL=webpack:///./node_modules/acorn-to-esprima/src/toTokens.js?')},"./node_modules/ansi-regex/index.js":function(module,exports,__webpack_require__){"use strict";eval("\nmodule.exports = function () {\n\treturn /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;\n};\n\n\n//# sourceURL=webpack:///./node_modules/ansi-regex/index.js?")},"./node_modules/babel-code-frame/lib/index.js":function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nexports.default = function (rawLines, lineNumber, colNumber) {\n var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n colNumber = Math.max(colNumber, 0);\n\n var highlighted = opts.highlightCode && _chalk2.default.supportsColor || opts.forceColor;\n var chalk = _chalk2.default;\n if (opts.forceColor) {\n chalk = new _chalk2.default.constructor({ enabled: true });\n }\n var maybeHighlight = function maybeHighlight(chalkFn, string) {\n return highlighted ? chalkFn(string) : string;\n };\n var defs = getDefs(chalk);\n if (highlighted) rawLines = highlight(defs, rawLines);\n\n var linesAbove = opts.linesAbove || 2;\n var linesBelow = opts.linesBelow || 3;\n\n var lines = rawLines.split(NEWLINE);\n var start = Math.max(lineNumber - (linesAbove + 1), 0);\n var end = Math.min(lines.length, lineNumber + linesBelow);\n\n if (!lineNumber && !colNumber) {\n start = 0;\n end = lines.length;\n }\n\n var numberMaxWidth = String(end).length;\n\n var frame = lines.slice(start, end).map(function (line, index) {\n var number = start + 1 + index;\n var paddedNumber = (" " + number).slice(-numberMaxWidth);\n var gutter = " " + paddedNumber + " | ";\n if (number === lineNumber) {\n var markerLine = "";\n if (colNumber) {\n var markerSpacing = line.slice(0, colNumber - 1).replace(/[^\\t]/g, " ");\n markerLine = ["\\n ", maybeHighlight(defs.gutter, gutter.replace(/\\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^")].join("");\n }\n return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join("");\n } else {\n return " " + maybeHighlight(defs.gutter, gutter) + line;\n }\n }).join("\\n");\n\n if (highlighted) {\n return chalk.reset(frame);\n } else {\n return frame;\n }\n};\n\nvar _jsTokens = __webpack_require__("./node_modules/js-tokens/index.js");\n\nvar _jsTokens2 = _interopRequireDefault(_jsTokens);\n\nvar _esutils = __webpack_require__("./node_modules/esutils/lib/utils.js");\n\nvar _esutils2 = _interopRequireDefault(_esutils);\n\nvar _chalk = __webpack_require__("./node_modules/babel-code-frame/node_modules/chalk/index.js");\n\nvar _chalk2 = _interopRequireDefault(_chalk);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getDefs(chalk) {\n return {\n keyword: chalk.cyan,\n capitalized: chalk.yellow,\n jsx_tag: chalk.yellow,\n punctuator: chalk.yellow,\n\n number: chalk.magenta,\n string: chalk.green,\n regex: chalk.magenta,\n comment: chalk.grey,\n invalid: chalk.white.bgRed.bold,\n gutter: chalk.grey,\n marker: chalk.red.bold\n };\n}\n\nvar NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\nvar JSX_TAG = /^[a-z][\\w-]*$/i;\n\nvar BRACKET = /^[()\\[\\]{}]$/;\n\nfunction getTokenType(match) {\n var _match$slice = match.slice(-2),\n offset = _match$slice[0],\n text = _match$slice[1];\n\n var token = (0, _jsTokens.matchToToken)(match);\n\n if (token.type === "name") {\n if (_esutils2.default.keyword.isReservedWordES6(token.value)) {\n return "keyword";\n }\n\n if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == "</")) {\n return "jsx_tag";\n }\n\n if (token.value[0] !== token.value[0].toLowerCase()) {\n return "capitalized";\n }\n }\n\n if (token.type === "punctuator" && BRACKET.test(token.value)) {\n return "bracket";\n }\n\n return token.type;\n}\n\nfunction highlight(defs, text) {\n return text.replace(_jsTokens2.default, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var type = getTokenType(args);\n var colorize = defs[type];\n if (colorize) {\n return args[0].split(NEWLINE).map(function (str) {\n return colorize(str);\n }).join("\\n");\n } else {\n return args[0];\n }\n });\n}\n\nmodule.exports = exports["default"];\n\n//# sourceURL=webpack:///./node_modules/babel-code-frame/lib/index.js?')},"./node_modules/babel-code-frame/node_modules/ansi-styles/index.js":function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction assembleStyles () {\n\tvar styles = {\n\t\tmodifiers: {\n\t\t\treset: [0, 0],\n\t\t\tbold: [1, 22], // 21 isn't widely supported and 22 does the same thing\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolors: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\t\t\tgray: [90, 39]\n\t\t},\n\t\tbgColors: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49]\n\t\t}\n\t};\n\n\t// fix humans\n\tstyles.colors.grey = styles.colors.gray;\n\n\tObject.keys(styles).forEach(function (groupName) {\n\t\tvar group = styles[groupName];\n\n\t\tObject.keys(group).forEach(function (styleName) {\n\t\t\tvar style = group[styleName];\n\n\t\t\tstyles[styleName] = group[styleName] = {\n\t\t\t\topen: '\\u001b[' + style[0] + 'm',\n\t\t\t\tclose: '\\u001b[' + style[1] + 'm'\n\t\t\t};\n\t\t});\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t});\n\n\treturn styles;\n}\n\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"./node_modules/webpack/buildin/module.js\")(module)))\n\n//# sourceURL=webpack:///./node_modules/babel-code-frame/node_modules/ansi-styles/index.js?")},"./node_modules/babel-code-frame/node_modules/chalk/index.js":function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {\nvar escapeStringRegexp = __webpack_require__(\"./node_modules/escape-string-regexp/index.js\");\nvar ansiStyles = __webpack_require__(\"./node_modules/babel-code-frame/node_modules/ansi-styles/index.js\");\nvar stripAnsi = __webpack_require__(\"./node_modules/babel-code-frame/node_modules/strip-ansi/index.js\");\nvar hasAnsi = __webpack_require__(\"./node_modules/has-ansi/index.js\");\nvar supportsColor = __webpack_require__(\"./node_modules/babel-code-frame/node_modules/supports-color/index.js\");\nvar defineProps = Object.defineProperties;\nvar isSimpleWindowsTerm = process.platform === 'win32' && !/^xterm/i.test(process.env.TERM);\n\nfunction Chalk(options) {\n\t// detect mode if not set manually\n\tthis.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled;\n}\n\n// use bright blue on Windows as the normal blue color is illegible\nif (isSimpleWindowsTerm) {\n\tansiStyles.blue.open = '\\u001b[94m';\n}\n\nvar styles = (function () {\n\tvar ret = {};\n\n\tObject.keys(ansiStyles).forEach(function (key) {\n\t\tansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n\n\t\tret[key] = {\n\t\t\tget: function () {\n\t\t\t\treturn build.call(this, this._styles.concat(key));\n\t\t\t}\n\t\t};\n\t});\n\n\treturn ret;\n})();\n\nvar proto = defineProps(function chalk() {}, styles);\n\nfunction build(_styles) {\n\tvar builder = function () {\n\t\treturn applyStyle.apply(builder, arguments);\n\t};\n\n\tbuilder._styles = _styles;\n\tbuilder.enabled = this.enabled;\n\t// __proto__ is used because we must return a function, but there is\n\t// no way to create a function with a different prototype.\n\t/* eslint-disable no-proto */\n\tbuilder.__proto__ = proto;\n\n\treturn builder;\n}\n\nfunction applyStyle() {\n\t// support varags, but simply cast to string in case there's only one arg\n\tvar args = arguments;\n\tvar argsLen = args.length;\n\tvar str = argsLen !== 0 && String(arguments[0]);\n\n\tif (argsLen > 1) {\n\t\t// don't slice `arguments`, it prevents v8 optimizations\n\t\tfor (var a = 1; a < argsLen; a++) {\n\t\t\tstr += ' ' + args[a];\n\t\t}\n\t}\n\n\tif (!this.enabled || !str) {\n\t\treturn str;\n\t}\n\n\tvar nestedStyles = this._styles;\n\tvar i = nestedStyles.length;\n\n\t// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,\n\t// see https://github.com/chalk/chalk/issues/58\n\t// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.\n\tvar originalDim = ansiStyles.dim.open;\n\tif (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) {\n\t\tansiStyles.dim.open = '';\n\t}\n\n\twhile (i--) {\n\t\tvar code = ansiStyles[nestedStyles[i]];\n\n\t\t// Replace any instances already present with a re-opening code\n\t\t// otherwise only the part of the string until said closing code\n\t\t// will be colored, and the rest will simply be 'plain'.\n\t\tstr = code.open + str.replace(code.closeRe, code.open) + code.close;\n\t}\n\n\t// Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue.\n\tansiStyles.dim.open = originalDim;\n\n\treturn str;\n}\n\nfunction init() {\n\tvar ret = {};\n\n\tObject.keys(styles).forEach(function (name) {\n\t\tret[name] = {\n\t\t\tget: function () {\n\t\t\t\treturn build.call(this, [name]);\n\t\t\t}\n\t\t};\n\t});\n\n\treturn ret;\n}\n\ndefineProps(Chalk.prototype, init());\n\nmodule.exports = new Chalk();\nmodule.exports.styles = ansiStyles;\nmodule.exports.hasColor = hasAnsi;\nmodule.exports.stripColor = stripAnsi;\nmodule.exports.supportsColor = supportsColor;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/babel-code-frame/node_modules/chalk/index.js?")},"./node_modules/babel-code-frame/node_modules/strip-ansi/index.js":function(module,exports,__webpack_require__){"use strict";eval("\nvar ansiRegex = __webpack_require__(\"./node_modules/ansi-regex/index.js\")();\n\nmodule.exports = function (str) {\n\treturn typeof str === 'string' ? str.replace(ansiRegex, '') : str;\n};\n\n\n//# sourceURL=webpack:///./node_modules/babel-code-frame/node_modules/strip-ansi/index.js?")},"./node_modules/babel-code-frame/node_modules/supports-color/index.js":function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {\nvar argv = process.argv;\n\nvar terminator = argv.indexOf('--');\nvar hasFlag = function (flag) {\n\tflag = '--' + flag;\n\tvar pos = argv.indexOf(flag);\n\treturn pos !== -1 && (terminator !== -1 ? pos < terminator : true);\n};\n\nmodule.exports = (function () {\n\tif ('FORCE_COLOR' in process.env) {\n\t\treturn true;\n\t}\n\n\tif (hasFlag('no-color') ||\n\t\thasFlag('no-colors') ||\n\t\thasFlag('color=false')) {\n\t\treturn false;\n\t}\n\n\tif (hasFlag('color') ||\n\t\thasFlag('colors') ||\n\t\thasFlag('color=true') ||\n\t\thasFlag('color=always')) {\n\t\treturn true;\n\t}\n\n\tif (process.stdout && !process.stdout.isTTY) {\n\t\treturn false;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn true;\n\t}\n\n\tif ('COLORTERM' in process.env) {\n\t\treturn true;\n\t}\n\n\tif (process.env.TERM === 'dumb') {\n\t\treturn false;\n\t}\n\n\tif (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) {\n\t\treturn true;\n\t}\n\n\treturn false;\n})();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/babel-code-frame/node_modules/supports-color/index.js?")},"./node_modules/babel-messages/lib/index.js":function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\nexports.MESSAGES = undefined;\n\nvar _stringify = __webpack_require__("./node_modules/babel-runtime/core-js/json/stringify.js");\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nexports.get = get;\nexports.parseArgs = parseArgs;\n\nvar _util = __webpack_require__("./node_modules/util/util.js");\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar MESSAGES = exports.MESSAGES = {\n tailCallReassignmentDeopt: "Function reference has been reassigned, so it will probably be dereferenced, therefore we can\'t optimise this with confidence",\n classesIllegalBareSuper: "Illegal use of bare super",\n classesIllegalSuperCall: "Direct super call is illegal in non-constructor, use super.$1() instead",\n scopeDuplicateDeclaration: "Duplicate declaration $1",\n settersNoRest: "Setters aren\'t allowed to have a rest",\n noAssignmentsInForHead: "No assignments allowed in for-in/of head",\n expectedMemberExpressionOrIdentifier: "Expected type MemberExpression or Identifier",\n invalidParentForThisNode: "We don\'t know how to handle this node within the current parent - please open an issue",\n readOnly: "$1 is read-only",\n unknownForHead: "Unknown node type $1 in ForStatement",\n didYouMean: "Did you mean $1?",\n codeGeneratorDeopt: "Note: The code generator has deoptimised the styling of $1 as it exceeds the max of $2.",\n missingTemplatesDirectory: "no templates directory - this is most likely the result of a broken `npm publish`. Please report to https://github.com/babel/babel/issues",\n unsupportedOutputType: "Unsupported output type $1",\n illegalMethodName: "Illegal method name $1",\n lostTrackNodePath: "We lost track of this node\'s position, likely because the AST was directly manipulated",\n\n modulesIllegalExportName: "Illegal export $1",\n modulesDuplicateDeclarations: "Duplicate module declarations with the same source but in different scopes",\n\n undeclaredVariable: "Reference to undeclared variable $1",\n undeclaredVariableType: "Referencing a type alias outside of a type annotation",\n undeclaredVariableSuggestion: "Reference to undeclared variable $1 - did you mean $2?",\n\n traverseNeedsParent: "You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a $1 node without passing scope and parentPath.",\n traverseVerifyRootFunction: "You passed `traverse()` a function when it expected a visitor object, are you sure you didn\'t mean `{ enter: Function }`?",\n traverseVerifyVisitorProperty: "You passed `traverse()` a visitor object with the property $1 that has the invalid property $2",\n traverseVerifyNodeType: "You gave us a visitor for the node type $1 but it\'s not a valid type",\n\n pluginNotObject: "Plugin $2 specified in $1 was expected to return an object when invoked but returned $3",\n pluginNotFunction: "Plugin $2 specified in $1 was expected to return a function but returned $3",\n pluginUnknown: "Unknown plugin $1 specified in $2 at $3, attempted to resolve relative to $4",\n pluginInvalidProperty: "Plugin $2 specified in $1 provided an invalid property of $3"\n};\n\nfunction get(key) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var msg = MESSAGES[key];\n if (!msg) throw new ReferenceError("Unknown message " + (0, _stringify2.default)(key));\n\n args = parseArgs(args);\n\n return msg.replace(/\\$(\\d+)/g, function (str, i) {\n return args[i - 1];\n });\n}\n\nfunction parseArgs(args) {\n return args.map(function (val) {\n if (val != null && val.inspect) {\n return val.inspect();\n } else {\n try {\n return (0, _stringify2.default)(val) || val + "";\n } catch (e) {\n return util.inspect(val);\n }\n }\n });\n}\n\n//# sourceURL=webpack:///./node_modules/babel-messages/lib/index.js?')},"./node_modules/babel-runtime/core-js/get-iterator.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/get-iterator.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/get-iterator.js?')},"./node_modules/babel-runtime/core-js/json/stringify.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/json/stringify.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/json/stringify.js?')},"./node_modules/babel-runtime/core-js/map.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/map.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/map.js?')},"./node_modules/babel-runtime/core-js/number/max-safe-integer.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/number/max-safe-integer.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/number/max-safe-integer.js?')},"./node_modules/babel-runtime/core-js/object/create.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/object/create.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/object/create.js?')},"./node_modules/babel-runtime/core-js/object/get-own-property-symbols.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/object/get-own-property-symbols.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/object/get-own-property-symbols.js?')},"./node_modules/babel-runtime/core-js/object/keys.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/object/keys.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/object/keys.js?')},"./node_modules/babel-runtime/core-js/symbol.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/symbol/index.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/symbol.js?')},"./node_modules/babel-runtime/core-js/symbol/for.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/symbol/for.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/symbol/for.js?')},"./node_modules/babel-runtime/core-js/symbol/iterator.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/symbol/iterator.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js?')},"./node_modules/babel-runtime/core-js/weak-map.js":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/weak-map.js"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/weak-map.js?')},"./node_modules/babel-runtime/helpers/classCallCheck.js":function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n};\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js?')},"./node_modules/babel-runtime/helpers/typeof.js":function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__("./node_modules/babel-runtime/core-js/symbol/iterator.js");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__("./node_modules/babel-runtime/core-js/symbol.js");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {\n return typeof obj === "undefined" ? "undefined" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);\n};\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/helpers/typeof.js?')},"./node_modules/babel-traverse/lib/cache.js":function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\nexports.scope = exports.path = undefined;\n\nvar _weakMap = __webpack_require__("./node_modules/babel-runtime/core-js/weak-map.js");\n\nvar _weakMap2 = _interopRequireDefault(_weakMap);\n\nexports.clear = clear;\nexports.clearPath = clearPath;\nexports.clearScope = clearScope;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar path = exports.path = new _weakMap2.default();\nvar scope = exports.scope = new _weakMap2.default();\n\nfunction clear() {\n clearPath();\n clearScope();\n}\n\nfunction clearPath() {\n exports.path = path = new _weakMap2.default();\n}\n\nfunction clearScope() {\n exports.scope = scope = new _weakMap2.default();\n}\n\n//# sourceURL=webpack:///./node_modules/babel-traverse/lib/cache.js?')},"./node_modules/babel-traverse/lib/context.js":function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _getIterator2 = __webpack_require__("./node_modules/babel-runtime/core-js/get-iterator.js");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _classCallCheck2 = __webpack_require__("./node_modules/babel-runtime/helpers/classCallCheck.js");\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _path2 = __webpack_require__("./node_modules/babel-traverse/lib/path/index.js");\n\nvar _path3 = _interopRequireDefault(_path2);\n\nvar _babelTypes = __webpack_require__("./node_modules/babel-types/lib/index.js");\n\nvar t = _interopRequireWildcard(_babelTypes);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar testing = "production" === "test";\n\nvar TraversalContext = function () {\n function TraversalContext(scope, opts, state, parentPath) {\n (0, _classCallCheck3.default)(this, TraversalContext);\n this.queue = null;\n\n this.parentPath = parentPath;\n this.scope = scope;\n this.state = state;\n this.opts = opts;\n }\n\n TraversalContext.prototype.shouldVisit = function shouldVisit(node) {\n var opts = this.opts;\n if (opts.enter || opts.exit) return true;\n\n if (opts[node.type]) return true;\n\n var keys = t.VISITOR_KEYS[node.type];\n if (!keys || !keys.length) return false;\n\n for (var _iterator = keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var key = _ref;\n\n if (node[key]) return true;\n }\n\n return false;\n };\n\n TraversalContext.prototype.create = function create(node, obj, key, listKey) {\n return _path3.default.get({\n parentPath: this.parentPath,\n parent: node,\n container: obj,\n key: key,\n listKey: listKey\n });\n };\n\n TraversalContext.prototype.maybeQueue = function maybeQueue(path, notPriority) {\n if (this.trap) {\n throw new Error("Infinite cycle detected");\n }\n\n if (this.queue) {\n if (notPriority) {\n this.queue.push(path);\n } else {\n this.priorityQueue.push(path);\n }\n }\n };\n\n TraversalContext.prototype.visitMultiple = function visitMultiple(container, parent, listKey) {\n if (container.length === 0) return false;\n\n var queue = [];\n\n for (var key = 0; key < container.length; key++) {\n var node = container[key];\n if (node && this.shouldVisit(node)) {\n queue.push(this.create(parent, container, key, listKey));\n }\n }\n\n return this.visitQueue(queue);\n };\n\n TraversalContext.prototype.visitSingle = function visitSingle(node, key) {\n if (this.shouldVisit(node[key])) {\n return this.visitQueue([this.create(node, node, key)]);\n } else {\n return false;\n }\n };\n\n TraversalContext.prototype.visitQueue = function visitQueue(queue) {\n this.queue = queue;\n this.priorityQueue = [];\n\n var visited = [];\n var stop = false;\n\n for (var _iterator2 = queue, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) {\n var _ref2;\n\n if (_isArray2) {\n if (_i2 >= _iterator2.length) break;\n _ref2 = _iterator2[_i2++];\n } else {\n _i2 = _iterator2.next();\n if (_i2.done) break;\n _ref2 = _i2.value;\n }\n\n var path = _ref2;\n\n path.resync();\n\n if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== this) {\n path.pushContext(this);\n }\n\n if (path.key === null) continue;\n\n if (testing && queue.length >= 10000) {\n this.trap = true;\n }\n\n if (visited.indexOf(path.node) >= 0) continue;\n visited.push(path.node);\n\n if (path.visit()) {\n stop = true;\n break;\n }\n\n if (this.priorityQueue.length) {\n stop = this.visitQueue(this.priorityQueue);\n this.priorityQueue = [];\n this.queue = queue;\n if (stop) break;\n }\n }\n\n for (var _iterator3 = queue, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) {\n var _ref3;\n\n if (_isArray3) {\n if (_i3 >= _iterator3.length) break;\n _ref3 = _iterator3[_i3++];\n } else {\n _i3 = _iterator3.next();\n if (_i3.done) break;\n _ref3 = _i3.value;\n }\n\n var _path = _ref3;\n\n _path.popContext();\n }\n\n this.queue = null;\n\n return stop;\n };\n\n TraversalContext.prototype.visit = function visit(node, key) {\n var nodes = node[key];\n if (!nodes) return false;\n\n if (Array.isArray(nodes)) {\n return this.visitMultiple(nodes, node, key);\n } else {\n return this.visitSingle(node, key);\n }\n };\n\n return TraversalContext;\n}();\n\nexports.default = TraversalContext;\nmodule.exports = exports["default"];\n\n//# sourceURL=webpack:///./node_modules/babel-traverse/lib/context.js?')},"./node_modules/babel-traverse/lib/hub.js":function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _classCallCheck2 = __webpack_require__("./node_modules/babel-runtime/helpers/classCallCheck.js");\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Hub = function Hub(file, options) {\n (0, _classCallCheck3.default)(this, Hub);\n\n this.file = file;\n this.options = options;\n};\n\nexports.default = Hub;\nmodule.exports = exports["default"];\n\n//# sourceURL=webpack:///./node_modules/babel-traverse/lib/hub.js?')},"./node_modules/babel-traverse/lib/index.js":function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\nexports.visitors = exports.Hub = exports.Scope = exports.NodePath = undefined;\n\nvar _getIterator2 = __webpack_require__("./node_modules/babel-runtime/core-js/get-iterator.js");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _path = __webpack_require__("./node_modules/babel-traverse/lib/path/index.js");\n\nObject.defineProperty(exports, "NodePath", {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_path).default;\n }\n});\n\nvar _scope = __webpack_require__("./node_modules/babel-traverse/lib/scope/index.js");\n\nObject.defineProperty(exports, "Scope", {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_scope).default;\n }\n});\n\nvar _hub = __webpack_require__("./node_modules/babel-traverse/lib/hub.js");\n\nObject.defineProperty(exports, "Hub", {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_hub).default;\n }\n});\nexports.default = traverse;\n\nvar _context = __webpack_require__("./node_modules/babel-traverse/lib/context.js");\n\nvar _context2 = _interopRequireDefault(_context);\n\nvar _visitors = __webpack_require__("./node_modules/babel-traverse/lib/visitors.js");\n\nvar visitors = _interopRequireWildcard(_visitors);\n\nvar _babelMessages = __webpack_require__("./node_modules/babel-messages/lib/index.js");\n\nvar messages = _interopRequireWildcard(_babelMessages);\n\nvar _includes = __webpack_require__("./node_modules/lodash/includes.js");\n\nvar _includes2 = _interopRequireDefault(_includes);\n\nvar _babelTypes = __webpack_require__("./node_modules/babel-types/lib/index.js");\n\nvar t = _interopRequireWildcard(_babelTypes);\n\nvar _cache = __webpack_require__("./node_modules/babel-traverse/lib/cache.js");\n\nvar cache = _interopRequireWildcard(_cache);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.visitors = visitors;\nfunction traverse(parent, opts, scope, state, parentPath) {\n if (!parent) return;\n if (!opts) opts = {};\n\n if (!opts.noScope && !scope) {\n if (parent.type !== "Program" && parent.type !== "File") {\n throw new Error(messages.get("traverseNeedsParent", parent.type));\n }\n }\n\n visitors.explode(opts);\n\n traverse.node(parent, opts, scope, state, parentPath);\n}\n\ntraverse.visitors = visitors;\ntraverse.verify = visitors.verify;\ntraverse.explode = visitors.explode;\n\ntraverse.NodePath = __webpack_require__("./node_modules/babel-traverse/lib/path/index.js");\ntraverse.Scope = __webpack_require__("./node_modules/babel-traverse/lib/scope/index.js");\ntraverse.Hub = __webpack_require__("./node_modules/babel-traverse/lib/hub.js");\n\ntraverse.cheap = function (node, enter) {\n return t.traverseFast(node, enter);\n};\n\ntraverse.node = function (node, opts, scope, state, parentPath, skipKeys) {\n var keys = t.VISITOR_KEYS[node.type];\n if (!keys) return;\n\n var context = new _context2.default(scope, opts, state, parentPath);\n for (var _iterator = keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var key = _ref;\n\n if (ski