From 3ea05aa0e1e7b0ac3010eaf806e8a3b58842dff1 Mon Sep 17 00:00:00 2001 From: sanex3339 Date: Sun, 25 Mar 2018 20:32:08 +0300 Subject: [PATCH] Switched `esprima` on `espree`. Obfuscation of `export` declarations --- CHANGELOG.md | 3 + dist/index.js | 25 +- package.json | 7 +- src/EspreeFacade.ts | 105 ++ src/EsprimaFacade.ts | 74 -- src/JavaScriptObfuscator.ts | 25 +- .../ConvertingTransformersModule.ts | 5 + .../ObfuscatingTransformersModule.ts | 5 - src/declarations/espree.d.ts | 28 + src/declarations/esprima.d.ts | 20 - src/enums/node/NodeType.ts | 2 + .../ObjectExpressionTransformer.ts | 2 +- .../ClassDeclarationTransformer.ts | 6 +- .../FunctionDeclarationTransformer.ts | 6 +- .../LiteralTransformer.ts | 19 +- .../VariableDeclarationTransformer.ts | 6 +- .../CommentsTransformer.ts | 7 +- src/node/NodeGuards.ts | 16 + src/node/NodeUtils.ts | 4 +- test/declarations/index.d.ts | 2 +- test/dev/dev.ts | 14 +- .../JavaScriptObfuscator.spec.ts | 40 +- .../fixtures/parse-module-1.js | 3 + .../fixtures/parse-module-2.js | 1 + .../fixtures/parse-module.js | 3 - .../MethodDefinitionTransformer.spec.ts | 27 + .../fixtures/async-get-method.js | 5 + .../ObjectExpressionTransformer.spec.ts | 0 .../fixtures/computed-property-name.js | 0 .../property-with-identifier-value.js | 0 .../fixtures/property-with-literal-value.js | 0 .../fixtures/shorthand-object-expression.js | 0 .../ClassDeclarationTransformer.spec.ts | 51 + .../fixtures/default-export.js | 3 + .../fixtures/named-export.js | 1 + .../FunctionDeclarationTransformer.spec.ts | 51 + .../fixtures/default-export.js | 3 + .../fixtures/named-export.js | 1 + .../LabeledStatementTransformer.spec.ts | 2 +- .../fixtures/input.js | 3 +- .../VariableDeclarationTransformer.spec.ts | 51 + .../fixtures/default-export.js | 3 + .../fixtures/named-export.js | 1 + .../GlobalVariableNoEvalTemplate.spec.ts | 3 + test/helpers/removeRangesFromStructure.ts | 28 + test/index.spec.ts | 4 +- ...imaFacade.spec.ts => EspreeFacade.spec.ts} | 22 +- .../node/node-appender/NodeAppender.spec.ts | 7 +- .../node/node-utils/NodeUtils.spec.ts | 6 +- yarn.lock | 1066 ++++++++--------- 50 files changed, 1054 insertions(+), 712 deletions(-) create mode 100644 src/EspreeFacade.ts delete mode 100644 src/EsprimaFacade.ts create mode 100644 src/declarations/espree.d.ts delete mode 100644 src/declarations/esprima.d.ts rename src/node-transformers/{obfuscating-transformers => converting-transformers}/ObjectExpressionTransformer.ts (98%) create mode 100644 test/functional-tests/javascript-obfuscator/fixtures/parse-module-1.js create mode 100644 test/functional-tests/javascript-obfuscator/fixtures/parse-module-2.js delete mode 100644 test/functional-tests/javascript-obfuscator/fixtures/parse-module.js create mode 100644 test/functional-tests/node-transformers/converting-transformers/method-definition-transformer/fixtures/async-get-method.js rename test/functional-tests/node-transformers/{obfuscating-transformers => converting-transformers}/object-expression-transformer/ObjectExpressionTransformer.spec.ts (100%) rename test/functional-tests/node-transformers/{obfuscating-transformers => converting-transformers}/object-expression-transformer/fixtures/computed-property-name.js (100%) rename test/functional-tests/node-transformers/{obfuscating-transformers => converting-transformers}/object-expression-transformer/fixtures/property-with-identifier-value.js (100%) rename test/functional-tests/node-transformers/{obfuscating-transformers => converting-transformers}/object-expression-transformer/fixtures/property-with-literal-value.js (100%) rename test/functional-tests/node-transformers/{obfuscating-transformers => converting-transformers}/object-expression-transformer/fixtures/shorthand-object-expression.js (100%) create mode 100644 test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/fixtures/default-export.js create mode 100644 test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/fixtures/named-export.js create mode 100644 test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/default-export.js create mode 100644 test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/named-export.js create mode 100644 test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/default-export.js create mode 100644 test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/named-export.js create mode 100644 test/helpers/removeRangesFromStructure.ts rename test/unit-tests/javascript-obfuscator/{EsprimaFacade.spec.ts => EspreeFacade.spec.ts} (67%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38c7470d..387a9f0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,13 @@ Change Log === v0.15.0 --- +* **Internal change:** switched AST parser from `esprima` on `espree` * **Breaking change:** dropped `node@4` and `node@5` support. * **Breaking change:** renamed `extension` value of `target` option on `browser-no-eval`. * **Breaking change:** disabled generation of identifiers, which being matched by `reservedName` option. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/216 * **New CLI option:** `exclude` allows to exclude specific files or directories from obfuscation. +* Correct obfuscation of `import` and `export` declarations. +* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/231 * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/217 * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/210 * Internal: refactoring of many things. diff --git a/dist/index.js b/dist/index.js index 7c7caf97..aa2b4388 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,2 +1,25 @@ -require("source-map-support").install(),module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r.w={},r(r.s=218)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("inversify")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Factory__ICalleeDataExtractor="Factory",e.Factory__IControlFlowCustomNode="Factory",e.Factory__IControlFlowReplacer="Factory",e.Factory__ICustomNode="Factory",e.Factory__ICustomNodeGroup="Factory",e.Factory__IDeadCodeInjectionCustomNode="Factory",e.Factory__IIdentifierNamesGenerator="Factory",e.Factory__IIdentifierObfuscatingReplacer="Factory",e.Factory__INodeGuard="Factory",e.Factory__INodeTransformer="Factory",e.Factory__IObfuscationResult="Factory",e.Factory__IObfuscatingReplacer="Factory",e.Factory__TControlFlowStorage="Factory",e.IArrayUtils="IArrayUtils",e.ICalleeDataExtractor="ICalleeDataExtractor",e.ICryptUtils="ICryptUtils",e.ICustomNode="ICustomNode",e.ICustomNodeGroup="ICustomNodeGroup",e.IControlFlowReplacer="IControlFlowReplacer",e.IEscapeSequenceEncoder="IEscapeSequenceEncoder",e.IIdentifierNamesGenerator="IIdentifierNamesGenerator",e.IIdentifierObfuscatingReplacer="IIdentifierObfuscatingReplacer",e.IJavaScriptObfuscator="IJavaScriptObfuscator",e.ILogger="ILogger",e.INodeGuard="INodeGuard",e.INodeTransformer="INodeTransformer",e.IObfuscationEventEmitter="IObfuscationEventEmitter",e.IObfuscationResult="IObfuscationResult",e.IOptions="IOptions",e.IOptionsNormalizer="IOptionsNormalizer",e.IObfuscatingReplacer="IObfuscatingReplacer",e.IRandomGenerator="IRandomGenerator",e.ISourceCode="ISourceCode",e.ISourceMapCorrector="ISourceMapCorrector",e.IStackTraceAnalyzer="IStackTraceAnalyzer",e.ITransformersRunner="ITransformersRunner",e.Newable__ICustomNode="Newable",e.Newable__TControlFlowStorage="Newable",e.TCustomNodeGroupStorage="TCustomNodeGroupStorage",e.TInputOptions="TInputOptions",e.TStringArrayStorage="TStringArrayStorage"}(t.ServiceIdentifiers||(t.ServiceIdentifiers={}))},function(e,t){e.exports=require("tslib")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-prototype-of")},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(27),s=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"isArrayPatternNode",value:function(e){return e.type===i.NodeType.ArrayPattern}},{key:"isArrowFunctionExpressionNode",value:function(e){return e.type===i.NodeType.ArrowFunctionExpression}},{key:"isAssignmentPatternNode",value:function(e){return e.type===i.NodeType.AssignmentPattern}},{key:"isAwaitExpressionNode",value:function(e){return e.type===i.NodeType.AwaitExpression}},{key:"isBlockStatementNode",value:function(e){return e.type===i.NodeType.BlockStatement}},{key:"isBreakStatementNode",value:function(e){return e.type===i.NodeType.BreakStatement}},{key:"isCallExpressionNode",value:function(e){return e.type===i.NodeType.CallExpression}},{key:"isCatchClauseNode",value:function(e){return e.type===i.NodeType.CatchClause}},{key:"isClassDeclarationNode",value:function(e){return e.type===i.NodeType.ClassDeclaration}},{key:"isContinueStatementNode",value:function(e){return e.type===i.NodeType.ContinueStatement}},{key:"isExpressionStatementNode",value:function(e){return e.type===i.NodeType.ExpressionStatement}},{key:"isFunctionDeclarationNode",value:function(e){return e.type===i.NodeType.FunctionDeclaration}},{key:"isFunctionExpressionNode",value:function(e){return e.type===i.NodeType.FunctionExpression}},{key:"isIdentifierNode",value:function(e){return e.type===i.NodeType.Identifier}},{key:"isIfStatementNode",value:function(e){return e.type===i.NodeType.IfStatement}},{key:"isLabelIdentifierNode",value:function(t,r){var n=e.isLabeledStatementNode(r)&&r.label===t,o=e.isContinueStatementNode(r)&&r.label===t,a=e.isBreakStatementNode(r)&&r.label===t;return n||o||a}},{key:"isLabeledStatementNode",value:function(e){return e.type===i.NodeType.LabeledStatement}},{key:"isLiteralNode",value:function(e){return e.type===i.NodeType.Literal}},{key:"isMemberExpressionNode",value:function(e){return e.type===i.NodeType.MemberExpression}},{key:"isMethodDefinitionNode",value:function(e){return e.type===i.NodeType.MethodDefinition}},{key:"isNode",value:function(e){return e&&void 0!==!e.type}},{key:"isNodeHasBlockScope",value:function(t,r){return e.isProgramNode(t)||e.isBlockStatementNode(t)&&e.nodesWithBlockScope.includes(r.type)}},{key:"isNodeHasScope",value:function(t){return e.isProgramNode(t)||e.isBlockStatementNode(t)||e.isSwitchCaseNode(t)}},{key:"isNodeWithComments",value:function(e){return Boolean(e.leadingComments)||Boolean(e.trailingComments)}},{key:"isObjectPatternNode",value:function(e){return e.type===i.NodeType.ObjectPattern}},{key:"isObjectExpressionNode",value:function(e){return e.type===i.NodeType.ObjectExpression}},{key:"isProgramNode",value:function(e){return e.type===i.NodeType.Program}},{key:"isPropertyNode",value:function(e){return e.type===i.NodeType.Property}},{key:"isReplaceableIdentifierNode",value:function(t,r){if(!e.isIdentifierNode(t))return!1;var n=e.isPropertyNode(r)&&!r.computed&&r.key===t,o=e.isMemberExpressionNode(r)&&!r.computed&&r.property===t,a=e.isMethodDefinitionNode(r)&&!r.computed,i=e.isLabelIdentifierNode(t,r);return!(n||o||a||i)}},{key:"isRestElementNode",value:function(e){return e.type===i.NodeType.RestElement}},{key:"isReturnStatementNode",value:function(e){return e.type===i.NodeType.ReturnStatement}},{key:"isSuperNode",value:function(e){return e.type===i.NodeType.Super}},{key:"isSwitchCaseNode",value:function(e){return e.type===i.NodeType.SwitchCase}},{key:"isTemplateLiteralNode",value:function(e){return e.type===i.NodeType.TemplateLiteral}},{key:"isUnaryExpressionNode",value:function(e){return e.type===i.NodeType.UnaryExpression}},{key:"isUseStrictOperator",value:function(e){return e.type===i.NodeType.ExpressionStatement&&"use strict"===e.directive}},{key:"isVariableDeclarationNode",value:function(e){return e.type===i.NodeType.VariableDeclaration}},{key:"isVariableDeclaratorNode",value:function(e){return e.type===i.NodeType.VariableDeclarator}},{key:"isWhileStatementNode",value:function(e){return e.type===i.NodeType.WhileStatement}}]),e}();s.nodesWithBlockScope=[i.NodeType.ArrowFunctionExpression,i.NodeType.FunctionDeclaration,i.NodeType.FunctionExpression,i.NodeType.MethodDefinition],t.NodeGuards=s},function(e,t,r){"use strict";var n=r(0),o=n(r(68)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(49)),c=__importStar(r(67)),d=__importStar(r(18)),u=r(9),l=r(19),f=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"addXVerbatimPropertyToLiterals",value:function(e){return d.replace(e,{leave:function(e){u.NodeGuards.isLiteralNode(e)&&(e["x-verbatim-property"]={content:e.raw,precedence:s.Precedence.Primary})}}),e}},{key:"clone",value:function(t){return e.parentize(e.cloneRecursive(t))}},{key:"convertCodeToStructure",value:function(t){var r=c.parseScript(t);return r=e.addXVerbatimPropertyToLiterals(r),r=e.parentize(r),d.replace(r,{enter:function(e){return l.NodeMetadata.set(e,{ignoredNode:!1}),e}}),r.body}},{key:"convertStructureToCode",value:function(e){return e.reduce(function(e,t){return e+s.generate(t,{sourceMapWithCode:!0}).code},"")}},{key:"getBlockScopesOfNode",value:function(t){return e.getBlockScopesOfNodeRecursive(t)}},{key:"getNextSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,1)}},{key:"getPreviousSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,-1)}},{key:"getScopeOfNode",value:function(t){var r=t.parentNode;if(!r)throw new ReferenceError("`parentNode` property of given node is `undefined`");return u.NodeGuards.isNodeHasScope(r)?r:e.getScopeOfNode(r)}},{key:"getUnaryExpressionArgumentNode",value:function(t){return u.NodeGuards.isUnaryExpressionNode(t.argument)?e.getUnaryExpressionArgumentNode(t.argument):t.argument}},{key:"parentize",value:function(t){return d.replace(t,{enter:e.parentizeNode}),t}},{key:"parentizeNode",value:function(e,t){return e.parentNode=t||e,e}},{key:"cloneRecursive",value:function(t){if(null===t)return t;var r={};for(var n in t)if(t.hasOwnProperty(n)&&"parentNode"!==n){var a=t[n],i=void 0;i=null===a||a instanceof RegExp?a:Array.isArray(a)?a.map(e.cloneRecursive):"object"===(0,o.default)(a)?e.cloneRecursive(a):a,r[n]=i}return r}},{key:"getBlockScopesOfNodeRecursive",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=t.parentNode;if(!o)throw new ReferenceError("`parentNode` property of given node is `undefined`");return u.NodeGuards.isBlockStatementNode(t)&&o===t&&r.push(t),(u.NodeGuards.isProgramNode(t)||n&&u.NodeGuards.isNodeHasBlockScope(t,o))&&r.push(t),t!==o?e.getBlockScopesOfNodeRecursive(o,r,++n):r}},{key:"getSiblingStatementNodeByOffset",value:function(t,r){var n=e.getScopeOfNode(t),o=u.NodeGuards.isSwitchCaseNode(n)?n.consequent:n.body;return o[o.indexOf(t)+r]||null}}]),e}();t.NodeUtils=f},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(208)),i=n(r(207)),s=n(r(206)),c=n(r(205)),d=n(r(204)),u=n(r(203)),l=n(r(32)),f=n(r(43));Object.defineProperty(t,"__esModule",{value:!0});var p={configurable:!0,enumerable:!0},m="_initialized",g="_initializablePropertiesSet",N="_wrappedMethodsSet",_="constructor";function v(e,t,r){(0,u.default)(e,r)||(0,d.default)(e,t,r)}t.initializable=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initialize",t=(0,f.default)(this)[0];return function(r,n){var u=r[e];if(!u||"function"!=typeof u)throw new Error("`".concat(e,"` method with initialization logic not ")+"found. `@".concat(t,"` decorator requires `").concat(e,"` method"));return v(m,!1,r),v(g,new l.default,r),v(N,new l.default,r),function(e,t){var r=(0,c.default)(e),n=[t,_];r.forEach(function(r){var c=(0,s.default)(g,e),d=(0,s.default)(N,e),u=n.includes(r)||c.has(r)||d.has(r);if(!u){var l=e[r];if("function"==typeof l){var f=(0,i.default)(e,r)||p,_=f.value;(0,a.default)(e,r,(0,o.default)({},f,{value:function(){if(!(0,s.default)(m,this))throw new Error("Class should be initialized with `".concat(t,"()` method"));return _.apply(this,arguments)}})),d.add(r)}}})}(r,e),function(e,t,r){var n=(0,i.default)(e,t)||p,s=n.value;(0,a.default)(e,t,(0,o.default)({},n,{value:function(){(0,d.default)(m,!0,this);var e=s.apply(this,arguments);return this[r],e}}))}(r,e,n),function(e,t){(0,s.default)(g,e).add(t);var r="_".concat(t),n=(0,i.default)(e,r)||p;return(0,a.default)(e,t,(0,o.default)({},n,{get:function(){if(void 0===this[r])throw new Error("Property `".concat(t,"` is not initialized! Initialize it first!"));return this[r]},set:function(e){this[r]=e}})),n}(r,n)}}},function(e,t){e.exports=require("@babel/runtime/core-js/object/assign")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Preparing="Preparing",e.DeadCodeInjection="DeadCodeInjection",e.ControlFlowFlattening="ControlFlowFlattening",e.Converting="Converting",e.Obfuscating="Obfuscating",e.Finalizing="Finalizing"}(t.TransformationStage||(t.TransformationStage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(49)),c=r(27),d=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"programNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}},{key:"arrayExpressionNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}},{key:"assignmentExpressionNode",value:function(e,t,r){return{type:c.NodeType.AssignmentExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"binaryExpressionNode",value:function(e,t,r){return{type:c.NodeType.BinaryExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"blockStatementNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}},{key:"breakStatement",value:function(e){var t={type:c.NodeType.BreakStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"callExpressionNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{type:c.NodeType.CallExpression,callee:e,arguments:t,metadata:{ignoredNode:!1}}}},{key:"continueStatement",value:function(e){var t={type:c.NodeType.ContinueStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"expressionStatementNode",value:function(e){return{type:c.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}},{key:"functionDeclarationNode",value:function(t,r,n){return{type:c.NodeType.FunctionDeclaration,id:e.identifierNode(t),params:r,body:n,generator:!1,metadata:{ignoredNode:!1}}}},{key:"functionExpressionNode",value:function(e,t){return{type:c.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}},{key:"ifStatementNode",value:function(e,t,r){return(0,o.default)({type:c.NodeType.IfStatement,test:e,consequent:t},r&&{alternate:r},{metadata:{ignoredNode:!1}})}},{key:"identifierNode",value:function(e){return{type:c.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}},{key:"literalNode",value:function(e,t){return t=void 0!==t?t:"'".concat(e,"'"),{type:c.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:s.Precedence.Primary},metadata:{ignoredNode:!1}}}},{key:"logicalExpressionNode",value:function(e,t,r){return{type:c.NodeType.LogicalExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"memberExpressionNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.MemberExpression,computed:r,object:e,property:t,metadata:{ignoredNode:!1}}}},{key:"methodDefinitionNode",value:function(e,t,r,n){return{type:c.NodeType.MethodDefinition,key:e,value:t,kind:r,computed:n,static:!1,metadata:{ignoredNode:!1}}}},{key:"objectExpressionNode",value:function(e){return{type:c.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}},{key:"propertyNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:r,metadata:{ignoredNode:!1}}}},{key:"returnStatementNode",value:function(e){return{type:c.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}},{key:"switchStatementNode",value:function(e,t){return{type:c.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}},{key:"switchCaseNode",value:function(e,t){return{type:c.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}},{key:"unaryExpressionNode",value:function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return{type:c.NodeType.UnaryExpression,operator:e,argument:t,prefix:r,metadata:{ignoredNode:!1}}}},{key:"updateExpressionNode",value:function(e,t){return{type:c.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}},{key:"variableDeclarationNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"var";return{type:c.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}},{key:"variableDeclaratorNode",value:function(e,t){return{type:c.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}},{key:"whileStatementNode",value:function(e,t){return{type:c.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}]),e}();t.NodeFactory=d},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=r(11),u=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"initialize",value:function(){this.nodeIdentifier=this.randomGenerator.getRandomInteger(0,1e4)}}]),e}();i.__decorate([d.initializable(),i.__metadata("design:type",Number)],u.prototype,"nodeIdentifier",void 0),i.__decorate([s.postConstruct(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[]),i.__metadata("design:returntype",void 0)],u.prototype,"initialize",null),u=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],u),t.AbstractNodeTransformer=u},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(2),d=r(4),u=r(185),l=r(184),f=i=function(){function e(t,r,n){(0,o.default)(this,e),this.cachedNode=null,this.identifierNamesGenerator=t(n),this.randomGenerator=r,this.options=n}return(0,a.default)(e,[{key:"getNode",value:function(){return this.cachedNode||(this.cachedNode=this.getNodeStructure()),this.cachedNode}},{key:"getGlobalVariableTemplate",value:function(){return this.randomGenerator.getRandomGenerator().pickone(i.globalVariableTemplateFunctions)}}]),e}();f.globalVariableTemplateFunctions=[u.GlobalVariableTemplate1(),l.GlobalVariableTemplate2()],f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(2,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Function,Object,Object])],f),t.AbstractCustomNode=f},function(e,t){e.exports=require("@babel/runtime/core-js/map")},function(e,t){e.exports=require("estraverse")},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"set",value:function(e,t){e.metadata=(0,o.default)(e.metadata||{},t)}},{key:"get",value:function(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}},{key:"isIgnoredNode",value:function(t){return!0===e.get(t,"ignoredNode")}},{key:"isRenamedIdentifier",value:function(t){return!0===e.get(t,"renamedIdentifier")}},{key:"isReplacedLiteral",value:function(t){return!0===e.get(t,"replacedLiteral")}}]),e}();t.NodeMetadata=s},function(e,t){e.exports=require("string-template")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Browser="browser",e.BrowserNoEval="browser-no-eval",e.Node="node"}(t.ObfuscationTarget||(t.ObfuscationTarget={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionFunctionNode="BinaryExpressionFunctionNode",e.BlockStatementControlFlowFlatteningNode="BlockStatementControlFlowFlatteningNode",e.CallExpressionControlFlowStorageCallNode="CallExpressionControlFlowStorageCallNode",e.CallExpressionFunctionNode="CallExpressionFunctionNode",e.ControlFlowStorageNode="ControlFlowStorageNode",e.ExpressionWithOperatorControlFlowStorageCallNode="ExpressionWithOperatorControlFlowStorageCallNode",e.LogicalExpressionFunctionNode="LogicalExpressionFunctionNode",e.StringLiteralControlFlowStorageCallNode="StringLiteralControlFlowStorageCallNode",e.StringLiteralNode="StringLiteralNode"}(t.ControlFlowCustomNode||(t.ControlFlowCustomNode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BaseIdentifierObfuscatingReplacer="BaseIdentifierObfuscatingReplacer"}(t.IdentifierObfuscatingReplacer||(t.IdentifierObfuscatingReplacer={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.AfterObfuscation="afterObfuscation",e.BeforeObfuscation="beforeObfuscation"}(t.ObfuscationEvent||(t.ObfuscationEvent={}))},function(e,t){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,t,r){"use strict";var n=r(0),o=n(r(25)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(9),c=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"appendNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t)).concat((0,o.default)(r)))}},{key:"appendNodeToOptimalBlockScope",value:function(t,r,n){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;o=t.length?e.getOptimalBlockScope(t,a):r,e.prependNode(o,n)}},{key:"getOptimalBlockScope",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,o=t[r];if(n<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return n>1&&o.stackTrace.length?e.getOptimalBlockScope(o.stackTrace,0,--n):o.callee}},{key:"insertNodeAfter",value:function(t,r,n){var o=e.getScopeNodeStatements(t).indexOf(n);e.insertNodeAtIndex(t,r,o+1)}},{key:"insertNodeAtIndex",value:function(t,r,n){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t).slice(0,n)).concat((0,o.default)(r),(0,o.default)(e.getScopeNodeStatements(t).slice(n))))}},{key:"prependNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(r).concat((0,o.default)(e.getScopeNodeStatements(t))))}},{key:"getScopeNodeStatements",value:function(e){return s.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}},{key:"parentizeScopeStatementsBeforeAppend",value:function(e,t){return t.forEach(function(t){t.parentNode=e}),t}},{key:"setScopeNodeStatements",value:function(e,t){s.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}]),e}();t.NodeAppender=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ArrayExpression="ArrayExpression",e.ArrayPattern="ArrayPattern",e.ArrowFunctionExpression="ArrowFunctionExpression",e.AssignmentExpression="AssignmentExpression",e.AssignmentPattern="AssignmentPattern",e.AwaitExpression="AwaitExpression",e.BinaryExpression="BinaryExpression",e.BlockStatement="BlockStatement",e.BreakStatement="BreakStatement",e.CallExpression="CallExpression",e.CatchClause="CatchClause",e.ClassDeclaration="ClassDeclaration",e.ContinueStatement="ContinueStatement",e.ExpressionStatement="ExpressionStatement",e.FunctionDeclaration="FunctionDeclaration",e.FunctionExpression="FunctionExpression",e.Identifier="Identifier",e.IfStatement="IfStatement",e.LabeledStatement="LabeledStatement",e.Literal="Literal",e.LogicalExpression="LogicalExpression",e.MemberExpression="MemberExpression",e.MethodDefinition="MethodDefinition",e.ObjectExpression="ObjectExpression",e.ObjectPattern="ObjectPattern",e.Program="Program",e.Property="Property",e.RestElement="RestElement",e.ReturnStatement="ReturnStatement",e.Super="Super",e.SwitchCase="SwitchCase",e.SwitchStatement="SwitchStatement",e.TemplateLiteral="TemplateLiteral",e.TryStatement="TryStatement",e.UnaryExpression="UnaryExpression",e.UpdateExpression="UpdateExpression",e.VariableDeclaration="VariableDeclaration",e.VariableDeclarator="VariableDeclarator",e.WhileStatement="WhileStatement"}(t.NodeType||(t.NodeType={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(2),c=r(4),d=r(216),u=r(211),l=r(197),f=r(192),p=r(145),m=r(144),g=r(141),N=r(140),_=r(127),v=r(112),y=r(102),h=r(97),b=r(91),S=r(53),I=r(88),C=r(86),F=r(85),O=r(84),j=r(83),T=function(){function e(){(0,a.default)(this,e),this.container=new s.Container}return(0,i.default)(e,[{key:"get",value:function(e){return this.container.get(e)}},{key:"getNamed",value:function(e,t){return this.container.getNamed(e,t)}},{key:"load",value:function(e,t){this.container.bind(c.ServiceIdentifiers.ISourceCode).toDynamicValue(function(){return new F.SourceCode(e)}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.TInputOptions).toDynamicValue(function(){return t}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ILogger).to(S.Logger).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IJavaScriptObfuscator).to(b.JavaScriptObfuscator).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ITransformersRunner).to(j.TransformersRunner).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationResult).to(C.ObfuscationResult).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.Factory__IObfuscationResult).toFactory(function(e){return function(t,r){var n=e.container.get(c.ServiceIdentifiers.IObfuscationResult);return n.initialize(t,r),n}}),this.container.bind(c.ServiceIdentifiers.ISourceMapCorrector).to(O.SourceMapCorrector).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationEventEmitter).to(I.ObfuscationEventEmitter).inSingletonScope(),this.container.load(d.analyzersModule),this.container.load(u.controlFlowTransformersModule),this.container.load(l.convertingTransformersModule),this.container.load(f.customNodesModule),this.container.load(p.finalizingTransformersModule),this.container.load(m.generatorsModule),this.container.load(g.nodeTransformersModule),this.container.load(N.obfuscatingTransformersModule),this.container.load(_.optionsModule),this.container.load(v.preparingTransformersModule),this.container.load(y.storagesModule),this.container.load(h.utilsModule)}},{key:"unload",value:function(){this.container.unbindAll()}}],[{key:"getFactory",value:function(e){return function(t){return function(r){return t.container.getNamed(e,r)}}}},{key:"getCacheFactory",value:function(e){return function(t){var r=new o.default;return function(n){if(r.has(n))return r.get(n);var o=t.container.getNamed(e,n);return r.set(n,o),o}}}},{key:"getConstructorFactory",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n-1||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0]).split(":")[0]}},{key:"isCeilNumber",value:function(e){return e%1==0}},{key:"stringRotate",value:function(e,t){if(!e)throw new ReferenceError("Cannot rotate empty string.");for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new s.InversifyContainerFacade;r.load(e,t);var n=r.get(i.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return r.unload(),n}},{key:"runCLI",value:function(e){var t=new c.JavaScriptObfuscatorCLI(e);t.initialize(),t.run()}}]),e}();t.JavaScriptObfuscator=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base64="base64",e.Rc4="rc4"}(t.StringArrayEncoding||(t.StringArrayEncoding={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Inline="inline",e.Separate="separate"}(t.SourceMapMode||(t.SourceMapMode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HexadecimalIdentifierNamesGenerator="hexadecimal",e.MangledIdentifierNamesGenerator="mangled"}(t.IdentifierNamesGenerator||(t.IdentifierNamesGenerator={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=function(){function e(t,r,n){(0,o.default)(this,e),this.identifierNamesGenerator=t(n),this.randomGenerator=r,this.options=n}return(0,a.default)(e,[{key:"getAppendEvent",value:function(){return this.appendEvent}},{key:"getCustomNodes",value:function(){return this.customNodes}},{key:"appendCustomNodeIfExist",value:function(e,t){var r=this.customNodes.get(e);r&&t(r)}},{key:"getRandomStackTraceIndex",value:function(e){return this.randomGenerator.getRandomInteger(0,Math.max(0,Math.round(e-1)))}}]),e}();d=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(2,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Function,Object,Object])],d),t.AbstractCustomNodeGroup=d},function(e,t){e.exports=require("@babel/runtime/core-js/get-iterator")},function(e,t,r){"use strict";var n=r(0)(r(1));Object.defineProperty(t,"__esModule",{value:!0});var o=r(5),a=r(2),i=r(4),s=function e(t){(0,n.default)(this,e),this.options=t};s=o.__decorate([a.injectable(),o.__param(0,a.inject(i.ServiceIdentifiers.IOptions)),o.__metadata("design:paramtypes",[Object])],s),t.AbstractObfuscatingReplacer=s},function(e,t){e.exports=require("@babel/runtime/helpers/get")},function(e,t,r){"use strict";var n=r(0)(r(61));Object.defineProperty(t,"__esModule",{value:!0});var o=r(37),a=r(21),i=r(36);t.NO_ADDITIONAL_NODES_PRESET=(0,n.default)({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!1,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,stringArray:!1,stringArrayEncoding:!1,stringArrayThreshold:0,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t){e.exports=require("@babel/runtime/core-js/object/keys")},function(e,t){e.exports=require("path")},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(5),c=s.__importStar(r(81)),d=s.__importStar(r(55)),u=s.__importStar(r(44)),l=r(11),f=r(46),p=r(80),m=r(79),g=r(78),N=r(77),_=r(76),v=r(75),y=r(74),h=r(34),b=r(71),S=function(){function e(t){(0,a.default)(this,e),this.rawArguments=t,this.arguments=t.slice(2)}return(0,i.default)(e,[{key:"initialize",value:function(){this.inputPath=u.normalize(this.arguments[0]||""),this.commands=new c.Command,this.configureCommands(),this.configureHelp(),this.inputCLIOptions=this.commands.opts()}},{key:"run",value:function(){if(!this.arguments.length||this.arguments.includes("--help"))return this.commands.outputHelp();var e=new b.SourceCodeReader(this.inputCLIOptions).readSourceCode(this.inputPath);this.processSourceCodeData(e)}},{key:"buildOptions",value:function(){var t=e.filterOptions(this.inputCLIOptions),r=this.inputCLIOptions.config,n=r?u.resolve(r,"."):"",a=n?y.CLIUtils.getUserConfig(n):{};return(0,o.default)({},f.DEFAULT_PRESET,a,t)}},{key:"configureCommands",value:function(){this.commands.usage(" [options]").version(d.version,"-v, --version").option("-o, --output ","Output path for obfuscated code").option("--compact ","Disable one line output code compacting",m.BooleanSanitizer).option("--config ","Name of js / json config file").option("--control-flow-flattening ","Enables control flow flattening",m.BooleanSanitizer).option("--control-flow-flattening-threshold ","The probability that the control flow flattening transformation will be applied to the node",parseFloat).option("--dead-code-injection ","Enables dead code injection",m.BooleanSanitizer).option("--dead-code-injection-threshold ","The probability that the dead code injection transformation will be applied to the node",parseFloat).option("--debug-protection ","Disable browser Debug panel (can cause DevTools enabled browser freeze)",m.BooleanSanitizer).option("--debug-protection-interval ","Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)",m.BooleanSanitizer).option("--disable-console-output ","Allow console.log, console.info, console.error and console.warn messages output into browser console",m.BooleanSanitizer).option("--domain-lock (comma separated, without whitespaces)","Blocks the execution of the code in domains that do not match the passed RegExp patterns (comma separated)",p.ArraySanitizer).option("--exclude (comma separated, without whitespaces)","A filename or glob which indicates files to exclude from obfuscation",p.ArraySanitizer).option("--identifier-names-generator [hexadecimal, mangled]","Sets identifier names generator (Default: hexadecimal)",g.IdentifierNamesGeneratorSanitizer).option("--identifiers-prefix ","Sets prefix for all global identifiers.").option("--log ","Enables logging of the information to the console",m.BooleanSanitizer).option("--reserved-names (comma separated, without whitespaces)","Disables obfuscation and generation of identifiers, which being matched by passed RegExp patterns (comma separated)",p.ArraySanitizer).option("--rename-globals ","Allows to enable obfuscation of global variable and function names with declaration.",m.BooleanSanitizer).option("--rotate-string-array ","Disable rotation of unicode array values during obfuscation",m.BooleanSanitizer).option("--seed ","Sets seed for random generator. This is useful for creating repeatable results.",parseFloat).option("--self-defending ","Disables self-defending for obfuscated code",m.BooleanSanitizer).option("--source-map ","Enables source map generation",m.BooleanSanitizer).option("--source-map-base-url ","Sets base url to the source map import url when `--source-map-mode=separate`").option("--source-map-file-name ","Sets file name for output source map when `--source-map-mode=separate`").option("--source-map-mode [inline, separate]","Specify source map output mode",_.SourceMapModeSanitizer).option("--string-array ","Disables gathering of all literal strings into an array and replacing every literal string with an array call",m.BooleanSanitizer).option("--string-array-encoding [true, false, base64, rc4]","Encodes all strings in strings array using base64 or rc4 (this option can slow down your code speed",v.StringArrayEncodingSanitizer).option("--string-array-threshold ","The probability that the literal string will be inserted into stringArray (Default: 0.8, Min: 0, Max: 1)",parseFloat).option("--target ","Allows to set target environment for obfuscated code.",N.ObfuscationTargetSanitizer).option("--transform-object-keys ","Enables transformation of object keys",m.BooleanSanitizer).option("--unicode-escape-sequence ","Allows to enable/disable string conversion to unicode escape sequence",m.BooleanSanitizer).parse(this.rawArguments)}},{key:"configureHelp",value:function(){this.commands.on("--help",function(){console.log(" Examples:\n"),console.log(" %> javascript-obfuscator input_file_name.js --compact true --self-defending false"),console.log(" %> javascript-obfuscator input_file_name.js --output output_file_name.js --compact true --self-defending false"),console.log(" %> javascript-obfuscator input_directory_name --compact true --self-defending false"),console.log("")})}},{key:"processSourceCodeData",value:function(e){var t=this,r=this.inputCLIOptions.output?u.normalize(this.inputCLIOptions.output):"";if(Array.isArray(e))e.forEach(function(e,n){var o=e.filePath,a=e.content,i=r?u.join(r,o):y.CLIUtils.getOutputCodePath(o);t.processSourceCode(a,i,n)});else{var n=r||y.CLIUtils.getOutputCodePath(this.inputPath);this.processSourceCode(e,n,null)}}},{key:"processSourceCode",value:function(t,r,n){var a=this.buildOptions();if(null!==n){var i=this.inputCLIOptions.identifiersPrefix||e.baseIdentifiersPrefix,s="".concat(i).concat(n);a=(0,o.default)({},a,{identifiersPrefix:s})}a.sourceMap?e.processSourceCodeWithSourceMap(t,r,a):e.processSourceCodeWithoutSourceMap(t,r,a)}}],[{key:"filterOptions",value:function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&void 0!==e[r]&&(t[r]=e[r]);return t}},{key:"processSourceCodeWithoutSourceMap",value:function(e,t,r){var n=h.JavaScriptObfuscator.obfuscate(e,r).getObfuscatedCode();y.CLIUtils.writeFile(t,n)}},{key:"processSourceCodeWithSourceMap",value:function(e,t,r){var n=y.CLIUtils.getOutputSourceMapPath(t,r.sourceMapFileName||"");r=(0,o.default)({},r,{sourceMapFileName:u.basename(n)});var a=h.JavaScriptObfuscator.obfuscate(e,r);y.CLIUtils.writeFile(t,a.getObfuscatedCode()),"separate"===r.sourceMapMode&&a.getSourceMap()&&y.CLIUtils.writeFile(n,a.getSourceMap())}}]),e}();S.encoding="utf8",S.obfuscatedFilePrefix="-obfuscated",S.baseIdentifiersPrefix="a",s.__decorate([l.initializable(),s.__metadata("design:type",Object)],S.prototype,"commands",void 0),s.__decorate([l.initializable(),s.__metadata("design:type",Object)],S.prototype,"inputCLIOptions",void 0),s.__decorate([l.initializable(),s.__metadata("design:type",String)],S.prototype,"inputPath",void 0),t.JavaScriptObfuscatorCLI=S},function(e,t,r){"use strict";var n=r(0)(r(61));Object.defineProperty(t,"__esModule",{value:!0});var o=r(37),a=r(21),i=r(36);t.DEFAULT_PRESET=(0,n.default)({compact:!0,config:"",controlFlowFlattening:!1,controlFlowFlatteningThreshold:.75,deadCodeInjection:!1,deadCodeInjectionThreshold:.4,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!0,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,stringArray:!0,stringArrayEncoding:!1,stringArrayThreshold:.75,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableNoEvalTemplate=function(){return"\n var that = (typeof window !== 'undefined'\n ? window\n : (typeof process === 'object' &&\n typeof require === 'function' &&\n typeof global === 'object')\n ? global\n : this);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(2),u=r(4),l=s=function(){function e(t,r,n){(0,a.default)(this,e),this.replacerDataByControlFlowStorageId=new o.default,this.controlFlowCustomNodeFactory=t,this.randomGenerator=r,this.options=n}return(0,i.default)(e,[{key:"insertCustomNodeToControlFlowStorage",value:function(e,t,r,n){var o=this,a=t.getStorageId(),i=s.getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId,a),c=i.get(r);if(this.randomGenerator.getMathRandom()1&&void 0!==arguments[1]?arguments[1]:i.randomGeneratorPool;return this.getRandomGenerator().string({length:e,pool:t})}},{key:"getSeed",value:function(){return this.seed}}]),e}();p.randomGeneratorPool="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",s.__decorate([f.initializable(),s.__metadata("design:type",Object)],p.prototype,"randomGenerator",void 0),s.__decorate([f.initializable(),s.__metadata("design:type",Number)],p.prototype,"seed",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],p.prototype,"initialize",null),p=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.ISourceCode)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],p),t.RandomGenerator=p},function(e,t,r){"use strict";var n=r(0),o=n(r(25)),a=n(r(39)),i=n(r(31)),s=n(r(17)),c=n(r(1)),d=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=function(){function e(t,r){(0,c.default)(this,e),this.randomGenerator=t,this.options=r}return(0,d.default)(e,[{key:"initialize",value:function(){this.storage=new s.default,this.storageId=this.randomGenerator.getRandomString(6)}},{key:"get",value:function(e){var t=this.storage.get(e);if(!t)throw new Error("No value found in map storage with key `".concat(e,"`"));return t}},{key:"getKeyOf",value:function(e){var t=!0,r=!1,n=void 0;try{for(var o,s=(0,a.default)(this.storage);!(t=(o=s.next()).done);t=!0){var c=o.value,d=(0,i.default)(c,2),u=d[0];if(e===d[1])return u}}catch(e){r=!0,n=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw n}}return null}},{key:"getLength",value:function(){return this.storage.size}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=new s.default((0,o.default)(this.storage).concat((0,o.default)(e.getStorage()))),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){this.storage.set(e,t)}}]),e}();u.__decorate([p.initializable(),u.__metadata("design:type",String)],m.prototype,"storageId",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",s.default)],m.prototype,"storage",void 0),u.__decorate([l.postConstruct(),u.__metadata("design:type",Function),u.__metadata("design:paramtypes",[]),u.__metadata("design:returntype",void 0)],m.prototype,"initialize",null),m=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],m),t.MapStorage=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlackListNodeGuard="BlackListNodeGuard",e.ConditionalCommentNodeGuard="ConditionalCommentNodeGuard"}(t.ObfuscatingGuard||(t.ObfuscatingGuard={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BooleanLiteralObfuscatingReplacer="BooleanLiteralObfuscatingReplacer",e.NumberLiteralObfuscatingReplacer="NumberLiteralObfuscatingReplacer",e.StringLiteralObfuscatingReplacer="StringLiteralObfuscatingReplacer"}(t.LiteralObfuscatingReplacer||(t.LiteralObfuscatingReplacer={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"isValidIdentifierName",value:function(e){return!this.options.reservedNames.length||!this.options.reservedNames.some(function(t){return null!==new RegExp(t,"g").exec(e)})}}]),e}();d=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],d),t.AbstractIdentifierNamesGenerator=d},function(e,t){e.exports=require("@babel/runtime/core-js/object/freeze")},function(e,t){e.exports=require("@babel/runtime/core-js/array/from")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ConsoleOutputCustomNodeGroup="ConsoleOutputCustomNodeGroup",e.DebugProtectionCustomNodeGroup="DebugProtectionCustomNodeGroup",e.DomainLockCustomNodeGroup="DomainLockCustomNodeGroup",e.SelfDefendingCustomNodeGroup="SelfDefendingCustomNodeGroup",e.StringArrayCustomNodeGroup="StringArrayCustomNodeGroup"}(t.CustomNodeGroup||(t.CustomNodeGroup={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlockStatementDeadCodeInjectionNode="BlockStatementDeadCodeInjectionNode"}(t.DeadCodeInjectionCustomNode||(t.DeadCodeInjectionCustomNode={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(22),p=r(48),m=r(9),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(f.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!m.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(p.AbstractControlFlowReplacer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.ExpressionWithOperatorControlFlowReplacer=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionControlFlowReplacer="BinaryExpressionControlFlowReplacer",e.CallExpressionControlFlowReplacer="CallExpressionControlFlowReplacer",e.LogicalExpressionControlFlowReplacer="LogicalExpressionControlFlowReplacer",e.StringLiteralControlFlowReplacer="StringLiteralControlFlowReplacer"}(t.ControlFlowReplacer||(t.ControlFlowReplacer={}))},function(e,t){e.exports=require("esprima")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.FunctionDeclarationCalleeDataExtractor="FunctionDeclarationCalleeDataExtractor",e.FunctionExpressionCalleeDataExtractor="FunctionExpressionCalleeDataExtractor",e.ObjectExpressionCalleeDataExtractor="ObjectExpressionCalleeDataExtractor"}(t.CalleeDataExtractor||(t.CalleeDataExtractor={}))},function(e,t){e.exports=require("multimatch")},function(e,t,r){"use strict";var n=r(0),o=n(r(25)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(51)),c=__importStar(r(44)),d=__importDefault(r(70)),u=r(52),l=r(45),f=r(53),p=function(){function e(t){(0,a.default)(this,e),this.options=t}return(0,i.default)(e,[{key:"readSourceCode",value:function(t){if(e.isFilePath(t)&&this.isValidFile(t))return this.readFile(t);if(e.isDirectoryPath(t)&&this.isValidDirectory(t))return this.readDirectoryRecursive(t);var r=e.availableInputExtensions.map(function(e){return"`".concat(e,"`")}).join(", ");throw new ReferenceError("Given input path must be a valid ".concat(r," file or directory path"))}},{key:"readDirectoryRecursive",value:function(t){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return s.readdirSync(t,l.JavaScriptObfuscatorCLI.encoding).forEach(function(a){var i="".concat(t,"/").concat(a);if(e.isDirectoryPath(i)&&r.isValidDirectory(i))n.push.apply(n,(0,o.default)(r.readDirectoryRecursive(i)));else if(e.isFilePath(i)&&r.isValidFile(i)){var s=r.readFile(i);n.push({filePath:i,content:s})}}),n}},{key:"readFile",value:function(t){return e.logFilePath(t),s.readFileSync(t,l.JavaScriptObfuscatorCLI.encoding)}},{key:"isValidDirectory",value:function(t){return!e.isExcludedPath(t,this.options.exclude)}},{key:"isValidFile",value:function(t){return e.availableInputExtensions.includes(c.extname(t))&&!t.includes(l.JavaScriptObfuscatorCLI.obfuscatedFilePrefix)&&!e.isExcludedPath(t,this.options.exclude)}}],[{key:"isExcludedPath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!t.length)return!1;var r=c.basename(e),n=!!d.default([e],t).length;return t.some(function(t){return e.includes(t)||r.includes(t)})||n}},{key:"isDirectoryPath",value:function(e){try{return s.statSync(e).isDirectory()}catch(e){return!1}}},{key:"isFilePath",value:function(e){try{return s.statSync(e).isFile()}catch(e){return!1}}},{key:"logFilePath",value:function(e){var t=c.normalize(e);f.Logger.log(f.Logger.colorInfo,u.LoggingPrefix.CLI,"Obfuscating file: ".concat(t,"..."))}}]),e}();p.availableInputExtensions=[".js"],t.SourceCodeReader=p},function(e,t){function r(e){var t=new Error('Cannot find module "'+e+'".');throw t.code="MODULE_NOT_FOUND",t}r.keys=function(){return[]},r.resolve=r,e.exports=r,r.id=72},function(e,t){e.exports=require("mkdirp")},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=__importStar(r(51)),s=__importStar(r(73)),c=__importStar(r(44)),d=r(45),u=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"getOutputCodePath",value:function(e){return c.normalize(e).split(".").map(function(e,t){return 0===t?"".concat(e).concat(d.JavaScriptObfuscatorCLI.obfuscatedFilePrefix):e}).join(".")}},{key:"getOutputSourceMapPath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t&&(e="".concat(e.substring(0,e.lastIndexOf("/")),"/").concat(t)),/\.js\.map$/.test(e)?/\.js$/.test(e)&&(e+=".map"):e="".concat(e.split(".")[0],".js.map"),e}},{key:"getUserConfig",value:function(e){var t;try{t=r(72)(e)}catch(r){try{t=require(e)}catch(e){throw new ReferenceError("Given config path must be a valid `.js` or `.json` file path")}}return t}},{key:"writeFile",value:function(e,t){s.sync(c.dirname(e)),i.writeFileSync(e,t,{encoding:d.JavaScriptObfuscatorCLI.encoding})}}]),e}();t.CLIUtils=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(35);t.StringArrayEncodingSanitizer=function(e){switch(e){case"true":case"1":case n.StringArrayEncoding.Base64:return!0;case n.StringArrayEncoding.Rc4:return n.StringArrayEncoding.Rc4;default:return!1}}},function(e,t,r){"use strict";var n=r(0)(r(43));Object.defineProperty(t,"__esModule",{value:!0});var o=r(36);t.SourceMapModeSanitizer=function(e){if(!(0,n.default)(o.SourceMapMode).some(function(t){return o.SourceMapMode[t]===e}))throw new ReferenceError("Invalid value of `--source-map-mode` option");return e}},function(e,t,r){"use strict";var n=r(0)(r(43));Object.defineProperty(t,"__esModule",{value:!0});var o=r(21);t.ObfuscationTargetSanitizer=function(e){if(!(0,n.default)(o.ObfuscationTarget).some(function(t){return o.ObfuscationTarget[t]===e}))throw new ReferenceError("Invalid value of `--target` option");return e}},function(e,t,r){"use strict";var n=r(0)(r(43));Object.defineProperty(t,"__esModule",{value:!0});var o=r(37);t.IdentifierNamesGeneratorSanitizer=function(e){if(!(0,n.default)(o.IdentifierNamesGenerator).some(function(t){return o.IdentifierNamesGenerator[t]===e}))throw new ReferenceError("Invalid value of `--identifier-names-generator` option");return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanSanitizer=function(e){return"true"===e||"1"===e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArraySanitizer=function(e){if(/,$/.test(e))throw new SyntaxError("Multiple values should be wrapped inside quotes: --option-name 'value1, value2'");return e.split(",").map(function(e){return e.trim()})}},function(e,t){e.exports=require("commander")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Enter="enter",e.Leave="leave"}(t.VisitorDirection||(t.VisitorDirection={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=i.__importStar(r(18)),u=r(82),l=r(9),f=r(19),p=function(){function e(t){(0,o.default)(this,e),this.nodeTransformerFactory=t}return(0,a.default)(e,[{key:"transform",value:function(e,t,r){if(!t.length)return e;for(var n,o=[],a=[],i=t.length,s=0;s"),u="...".concat(i.substring(s,c).replace(/^\s+/,""),"...");throw new Error("".concat(r,"\n").concat(d," ").concat(u))}}]),e}();d.colorError=c.default.red,d.nearestSymbolsCount=10,t.EsprimaFacade=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.EmptySourceCode="Empty source code. Obfuscation canceled...",e.ObfuscationCompleted="Obfuscation completed. Total time: %s sec.",e.ObfuscationStarted="Obfuscation started...",e.RandomGeneratorSeed="Random generator seed: %s...",e.TransformationStage="Transformation stage: %s...",e.Version="Version: %s"}(t.LoggingMessage||(t.LoggingMessage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(2),u=r(4),l=c.__importStar(r(49)),f=c.__importStar(r(55)),p=r(90),m=r(33),g=r(13),N=r(89),_=r(9),v=s=function(){function e(t,r,n,o,i){(0,a.default)(this,e),this.transformersRunner=t,this.sourceMapCorrector=r,this.randomGenerator=n,this.logger=o,this.options=i}return(0,i.default)(e,[{key:"obfuscate",value:function(e){var t=Date.now();this.logger.info(p.LoggingMessage.Version,f.version),this.logger.info(p.LoggingMessage.ObfuscationStarted),this.logger.info(p.LoggingMessage.RandomGeneratorSeed,this.randomGenerator.getSeed());var r=this.parseCode(e),n=this.transformAstTree(r),o=this.generateCode(e,n),a=(Date.now()-t)/1e3;return this.logger.success(p.LoggingMessage.ObfuscationCompleted,a),this.getObfuscationResult(o)}},{key:"parseCode",value:function(e){return N.EsprimaFacade.parse(e,{attachComment:!0,loc:this.options.sourceMap})}},{key:"transformAstTree",value:function(e){return!_.NodeGuards.isProgramNode(e)||e.body.length||e.leadingComments?(e=this.runTransformationStage(e,g.TransformationStage.Preparing),this.options.deadCodeInjection&&(e=this.runTransformationStage(e,g.TransformationStage.DeadCodeInjection)),this.options.controlFlowFlattening&&(e=this.runTransformationStage(e,g.TransformationStage.ControlFlowFlattening)),e=this.runTransformationStage(e,g.TransformationStage.Converting),e=this.runTransformationStage(e,g.TransformationStage.Obfuscating),e=this.runTransformationStage(e,g.TransformationStage.Finalizing)):(this.logger.warn(p.LoggingMessage.EmptySourceCode),e)}},{key:"generateCode",value:function(e,t){var r=(0,o.default)({},s.escodegenParams);this.options.sourceMap&&(r.sourceMap="sourceMap",r.sourceContent=e);var n=l.generate(t,(0,o.default)({},r,{format:{compact:this.options.compact}}));return n.map=n.map?n.map.toString():"",n}},{key:"getObfuscationResult",value:function(e){return this.sourceMapCorrector.correct(e.code,e.map)}},{key:"runTransformationStage",value:function(e,t){return this.logger.info(p.LoggingMessage.TransformationStage,t),this.transformersRunner.transform(e,s.transformersList,t)}}]),e}();v.escodegenParams={comment:!0,verbatim:"x-verbatim-property",sourceMapWithCode:!0},v.transformersList=[m.NodeTransformer.BlockStatementControlFlowTransformer,m.NodeTransformer.ClassDeclarationTransformer,m.NodeTransformer.CommentsTransformer,m.NodeTransformer.CustomNodesTransformer,m.NodeTransformer.DeadCodeInjectionTransformer,m.NodeTransformer.EvalCallExpressionTransformer,m.NodeTransformer.FunctionControlFlowTransformer,m.NodeTransformer.CatchClauseTransformer,m.NodeTransformer.FunctionDeclarationTransformer,m.NodeTransformer.FunctionTransformer,m.NodeTransformer.LabeledStatementTransformer,m.NodeTransformer.LiteralTransformer,m.NodeTransformer.MemberExpressionTransformer,m.NodeTransformer.MetadataTransformer,m.NodeTransformer.MethodDefinitionTransformer,m.NodeTransformer.ObfuscatingGuardsTransformer,m.NodeTransformer.ObjectExpressionKeysTransformer,m.NodeTransformer.ObjectExpressionTransformer,m.NodeTransformer.ParentificationTransformer,m.NodeTransformer.TemplateLiteralTransformer,m.NodeTransformer.VariableDeclarationTransformer],v=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.ITransformersRunner)),c.__param(1,d.inject(u.ServiceIdentifiers.ISourceMapCorrector)),c.__param(2,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(3,d.inject(u.ServiceIdentifiers.ILogger)),c.__param(4,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],v),t.JavaScriptObfuscator=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(5),c=r(2),d=function(){function e(){(0,a.default)(this,e),this.stringsCache=new o.default}return(0,i.default)(e,[{key:"encode",value:function(e,t){var r="".concat(e,"-").concat(String(t));if(this.stringsCache.has(r))return this.stringsCache.get(r);var n,o,a=new RegExp("[\\s\\S]","g"),i=new RegExp("['\"\\\\\\s]"),s=new RegExp("[\\x00-\\x7F]"),c=e.replace(a,function(e){return t||i.exec(e)?(s.exec(e)?(n="\\x",o="00"):(n="\\u",o="0000"),"".concat(n).concat((o+e.charCodeAt(0).toString(16)).slice(-o.length))):e});return this.stringsCache.set(r,c),c}}]),e}();d=s.__decorate([c.injectable()],d),t.EscapeSequenceEncoder=d},function(e,t){e.exports=require("chance")},function(e,t){e.exports=require("md5")},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=r(56),u=r(29),l=function(){function e(t){(0,o.default)(this,e),this.randomGenerator=t}return(0,a.default)(e,[{key:"btoa",value:function(e){var t="";e=encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode(parseInt("".concat(u.Utils.hexadecimalPrefix).concat(t)))});for(var r,n,o=0,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.charAt(0|o)||(a="=",o%1);t+=a.charAt(63&r>>8-o%1*8)){if((n=e.charCodeAt(o+=.75))>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");r=r<<8|n}return t}},{key:"hideString",value:function(e,t){var r=this,n=this.randomGenerator.getRandomGenerator().string({length:t,pool:d.RandomGenerator.randomGeneratorPool}).replace(new RegExp("[".concat(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"]"),"g"),""),o=n.split("");return this.randomGenerator.getRandomGenerator().shuffle(o),[function(e,t){for(var n=-1,o=-1,a="";n=0?t:null}},{key:"getLength",value:function(){return this.storageLength}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=(0,o.default)(this.storage).concat((0,o.default)(e.getStorage())),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){e===this.storageLength?this.storage.push(t):this.storage.splice(e,0,t),this.storageLength++}}]),e}();s.__decorate([u.initializable(),s.__metadata("design:type",Array)],l.prototype,"storage",void 0),s.__decorate([u.initializable(),s.__metadata("design:type",String)],l.prototype,"storageId",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],l.prototype,"initialize",null),l=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],l),t.ArrayStorage=l},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(41)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=r(98),g=u=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).identifierNamesGenerator=e(i),c.arrayUtils=r,c}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this);var e=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),r=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),n="".concat(this.options.identifiersPrefix).concat(e),a="".concat(this.options.identifiersPrefix).concat(r);this.storageId="".concat(n,"|").concat(a)}},{key:"rotateArray",value:function(e){this.storage=this.arrayUtils.arrayRotate(this.storage,e)}},{key:"toString",value:function(){return this.storage.map(function(e){return"'".concat(e,"'")}).toString()}}]),t}(m.ArrayStorage);g.stringArrayNameLength=7,l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],g.prototype,"initialize",null),g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IArrayUtils)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],g),t.StringArrayStorage=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(41)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=r(63),g=r(57),N=u=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).customNodeGroupFactory=e,i}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){var e=this;(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this),u.customNodeGroupsList.forEach(function(t){var r=e.customNodeGroupFactory(t);r&&e.storage.set(t,r)})}}]),t}(g.MapStorage);N.customNodeGroupsList=[m.CustomNodeGroup.ConsoleOutputCustomNodeGroup,m.CustomNodeGroup.DebugProtectionCustomNodeGroup,m.CustomNodeGroup.DomainLockCustomNodeGroup,m.CustomNodeGroup.SelfDefendingCustomNodeGroup,m.CustomNodeGroup.StringArrayCustomNodeGroup],l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],N.prototype,"initialize",null),N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNodeGroup)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],N),t.CustomNodeGroupStorage=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(7)),s=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var c=r(5),d=r(2),u=r(4),l=function(e){function t(e,r){return(0,a.default)(this,t),(0,i.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,s.default)(t,e),t}(r(57).MapStorage);l=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(1,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object])],l),t.ControlFlowStorage=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),o=r(4),a=r(101),i=r(100),s=r(99);t.storagesModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.TCustomNodeGroupStorage).to(i.CustomNodeGroupStorage).inSingletonScope(),e(o.ServiceIdentifiers.TStringArrayStorage).to(s.StringArrayStorage).inSingletonScope(),e(o.ServiceIdentifiers.Newable__TControlFlowStorage).toConstructor(a.ControlFlowStorage),e(o.ServiceIdentifiers.Factory__TControlFlowStorage).toFactory(function(e){return function(){var t=new(e.container.get(o.ServiceIdentifiers.Newable__TControlFlowStorage))(e.container.get(o.ServiceIdentifiers.IRandomGenerator),e.container.get(o.ServiceIdentifiers.IOptions));return t.initialize(),t}})})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(13),p=r(15),m=r(10),g=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return m.NodeUtils.parentizeNode(e,t)}}]),t}(p.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],g),t.ParentificationTransformer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(2),f=r(4),p=r(58),m=r(13),g=r(15),N=r(19),_=d=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).obfuscatingGuards=d.obfuscatingGuardsList.map(e),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.obfuscatingGuards.every(function(t){return t.check(e)});return N.NodeMetadata.set(e,{ignoredNode:!r}),e}}]),t}(g.AbstractNodeTransformer);_.obfuscatingGuardsList=[p.ObfuscatingGuard.BlackListNodeGuard,p.ObfuscatingGuard.ConditionalCommentNodeGuard],_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__INodeGuard)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.ObfuscatingGuardsTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(13),p=r(15),m=r(9),g=r(19),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return g.NodeMetadata.set(e,{ignoredNode:!1}),m.NodeGuards.isIdentifierNode(e)&&g.NodeMetadata.set(e,{renamedIdentifier:!1}),m.NodeGuards.isLiteralNode(e)&&g.NodeMetadata.set(e,{replacedLiteral:!1}),e}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.MetadataTransformer=N},function(e,t){e.exports=require("js-string-escape")},function(e,t,r){"use strict";var n=r(0),o=n(r(32)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=l.__importDefault(r(106)),g=r(13),N=r(15),_=r(14),v=r(9),y=r(10),h=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).evalRootAstHostNodeSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Preparing:return{enter:function(e,r){if(r&&v.NodeGuards.isCallExpressionNode(e)&&v.NodeGuards.isIdentifierNode(e.callee)&&"eval"===e.callee.name)return t.transformNode(e,r)}};case g.TransformationStage.Finalizing:return this.evalRootAstHostNodeSet.size?{leave:function(e,r){if(r&&t.isEvalRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"transformNode",value:function(e,t){var r=e.arguments[0];if(!r)return e;var n,o=u.extractEvalStringFromCallExpressionArgument(r);if(!o)return e;try{n=y.NodeUtils.convertCodeToStructure(o)}catch(t){return e}var a=_.NodeFactory.functionExpressionNode([],_.NodeFactory.blockStatementNode(n));return this.evalRootAstHostNodeSet.add(a),a}},{key:"restoreNode",value:function(e,t){var r=e.body.body,n=y.NodeUtils.convertStructureToCode(r);return _.NodeFactory.callExpressionNode(_.NodeFactory.identifierNode("eval"),[_.NodeFactory.literalNode(m.default(n))])}},{key:"isEvalRootAstHostNode",value:function(e){return v.NodeGuards.isFunctionExpressionNode(e)&&this.evalRootAstHostNodeSet.has(e)}}],[{key:"extractEvalStringFromCallExpressionArgument",value:function(e){return v.NodeGuards.isLiteralNode(e)?u.extractEvalStringFromLiteralNode(e):v.NodeGuards.isTemplateLiteralNode(e)?u.extractEvalStringFromTemplateLiteralNode(e):null}},{key:"extractEvalStringFromLiteralNode",value:function(e){return"string"==typeof e.value?e.value:null}},{key:"extractEvalStringFromTemplateLiteralNode",value:function(e){var t=e.quasis;return 1!==t.length||e.expressions.length?null:t[0].value.cooked}}]),t}(N.AbstractNodeTransformer);h=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],h),t.EvalCallExpressionTransformer=h},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(24),p=r(13),m=r(15),g=r(9),N=function(e){function t(e,r,n,i,c){var d;return(0,a.default)(this,t),(d=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,i,c))).stackTraceData=[],d.stackTraceAnalyzer=e,d.obfuscationEventEmitter=r,d.customNodeGroupStorage=n,d}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Preparing:return{leave:function(e,r){if(g.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),t.appendCustomNodesBeforeObfuscation(e,r),t.transformNode(e,r)}};case p.TransformationStage.Finalizing:return{leave:function(e,r){g.NodeGuards.isProgramNode(e)&&t.appendCustomNodesAfterObfuscation(e,r)}};default:return null}}},{key:"analyzeNode",value:function(e,t){this.stackTraceData=this.stackTraceAnalyzer.analyze(e)}},{key:"transformNode",value:function(e,t){return e}},{key:"appendCustomNodesBeforeObfuscation",value:function(e,t){var r=this;this.customNodeGroupStorage.getStorage().forEach(function(e){e.initialize(),r.obfuscationEventEmitter.once(e.getAppendEvent(),e.appendCustomNodes.bind(e))}),this.obfuscationEventEmitter.emit(f.ObfuscationEvent.BeforeObfuscation,e,this.stackTraceData)}},{key:"appendCustomNodesAfterObfuscation",value:function(e,t){this.obfuscationEventEmitter.emit(f.ObfuscationEvent.AfterObfuscation,e,this.stackTraceData)}}]),t}(m.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IStackTraceAnalyzer)),d.__param(1,u.inject(l.ServiceIdentifiers.IObfuscationEventEmitter)),d.__param(2,u.inject(l.ServiceIdentifiers.TCustomNodeGroupStorage)),d.__param(3,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(4,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],N),t.CustomNodesTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(2),d=r(9),u=i=function(){function e(){(0,o.default)(this,e),this.obfuscationAllowedForCurrentNode=!0,this.obfuscationAllowedForNextNode=null}return(0,a.default)(e,[{key:"check",value:function(e){if(this.obfuscationAllowedForNextNode&&(this.obfuscationAllowedForCurrentNode=this.obfuscationAllowedForNextNode,this.obfuscationAllowedForNextNode=null),!d.NodeGuards.isNodeWithComments(e))return this.obfuscationAllowedForCurrentNode;var t=e.leadingComments,r=e.trailingComments;return t&&(this.obfuscationAllowedForCurrentNode=this.checkComments(t)),r&&(this.obfuscationAllowedForNextNode=this.checkComments(r)),this.obfuscationAllowedForCurrentNode}},{key:"checkComments",value:function(e){for(var t=e.length,r=this.obfuscationAllowedForCurrentNode,n=0;n=u.minimumLengthForStringArray&&this.randomGenerator.getMathRandom()<=this.options.stringArrayThreshold}},{key:"getStringArrayHexadecimalIndex",value:function(e,t){if(this.stringLiteralHexadecimalIndexCache.has(e))return{fromCache:!0,index:this.stringLiteralHexadecimalIndexCache.get(e)};var r=v.Utils.decToHex(t),n="".concat(v.Utils.hexadecimalPrefix).concat(r);return this.stringLiteralHexadecimalIndexCache.set(e,n),{fromCache:!1,index:n}}},{key:"getEncodedValue",value:function(e){var t,r=null;switch(this.options.stringArrayEncoding){case m.StringArrayEncoding.Rc4:r=this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys),t=this.cryptUtils.btoa(this.cryptUtils.rc4(e,r));break;case m.StringArrayEncoding.Base64:t=this.cryptUtils.btoa(e);break;default:t=e}return{encodedValue:t,key:r}}},{key:"replaceWithLiteralNode",value:function(e){return _.NodeFactory.literalNode(this.escapeSequenceEncoder.encode(e,this.options.unicodeEscapeSequence))}},{key:"replaceWithStringArrayCallNode",value:function(e){var t=this.getEncodedValue(e),r=t.encodedValue,n=t.key,o=this.escapeSequenceEncoder.encode(r,this.options.unicodeEscapeSequence),a=this.stringArrayStorage.getLength(),i=this.stringArrayStorage.getStorageId().split("|")[1],s=this.getStringArrayHexadecimalIndex(o,a),c=s.fromCache,d=s.index;c||this.stringArrayStorage.set(a,o);var l=[u.getHexadecimalLiteralNode(d)];n&&l.push(u.getRc4KeyLiteralNode(this.escapeSequenceEncoder.encode(n,this.options.unicodeEscapeSequence)));var f=_.NodeFactory.identifierNode(i);return N.NodeMetadata.set(f,{renamedIdentifier:!0}),_.NodeFactory.callExpressionNode(f,l)}}],[{key:"getHexadecimalLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return N.NodeMetadata.set(t,{replacedLiteral:!0}),t}},{key:"getRc4KeyLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return N.NodeMetadata.set(t,{replacedLiteral:!0}),t}}]),t}(g.AbstractObfuscatingReplacer);y.minimumLengthForStringArray=3,y.rc4KeyLength=4,y.rc4KeysCount=50,y=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(1,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.ICryptUtils)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],y),t.StringLiteralObfuscatingReplacer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(13),p=r(15),m=r(14),g=r(9),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&g.NodeGuards.isObjectExpressionNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return e.properties.forEach(function(e){e.computed||(e.shorthand&&(e.shorthand=!1),g.NodeGuards.isIdentifierNode(e.key)&&(e.key=m.NodeFactory.literalNode(e.key.name)))}),e}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.ObjectExpressionTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(40),m=r(14),g=r(29),N=function(e){function t(e){var r;return(0,i.default)(this,t),(r=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e))).numberLiteralCache=new o.default,r}return(0,d.default)(t,e),(0,s.default)(t,[{key:"replace",value:function(e){var t;return this.numberLiteralCache.has(e)?t=this.numberLiteralCache.get(e):(t=g.Utils.isCeilNumber(e)?"".concat(g.Utils.hexadecimalPrefix).concat(g.Utils.decToHex(e)):String(e),this.numberLiteralCache.set(e,t)),m.NodeFactory.literalNode(e,t)}}]),t}(p.AbstractObfuscatingReplacer);N=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object])],N),t.NumberLiteralObfuscatingReplacer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(68)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(59),m=r(13),g=r(15),N=r(9),_=r(19),v=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).literalObfuscatingReplacerFactory=e,o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&N.NodeGuards.isLiteralNode(e)&&!_.NodeMetadata.isReplacedLiteral(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(t&&N.NodeGuards.isPropertyNode(t)&&t.key===e)return e;switch((0,o.default)(e.value)){case"boolean":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.BooleanLiteralObfuscatingReplacer).replace(e.value);case"number":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.NumberLiteralObfuscatingReplacer).replace(e.value);case"string":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.StringLiteralObfuscatingReplacer).replace(e.value);default:return e}}}]),t}(g.AbstractNodeTransformer);v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.LiteralTransformer=v},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importStar(r(18)),p=r(23),m=r(13),g=r(15),N=r(9),_=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(p.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&N.NodeGuards.isLabeledStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeLabeledStatementName(e,r),this.replaceLabeledStatementName(e,r),e}},{key:"storeLabeledStatementName",value:function(e,t){this.identifierObfuscatingReplacer.storeLocalName(e.label.name,t)}},{key:"replaceLabeledStatementName",value:function(e,t){var r=this;f.replace(e,{enter:function(e,n){if(n&&N.NodeGuards.isLabelIdentifierNode(e,n)){var o=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=o.name}}})}}]),t}(g.AbstractNodeTransformer);_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.LabeledStatementTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(32)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importStar(r(18)),m=r(23),g=r(13),N=r(15),_=r(9),v=r(19),y=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&(_.NodeGuards.isFunctionDeclarationNode(e)||_.NodeGuards.isFunctionExpressionNode(e)||_.NodeGuards.isArrowFunctionExpressionNode(e)))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeFunctionParams(e,r),this.replaceFunctionParams(e,r),e}},{key:"storeFunctionParams",value:function(e,t){var r=this;e.params.forEach(function(e){if(_.NodeGuards.isObjectPatternNode(e))return p.VisitorOption.Skip;p.traverse(e,{enter:function(e){if(_.NodeGuards.isAssignmentPatternNode(e)&&_.NodeGuards.isIdentifierNode(e.left))return r.identifierObfuscatingReplacer.storeLocalName(e.left.name,t),p.VisitorOption.Skip;_.NodeGuards.isIdentifierNode(e)&&r.identifierObfuscatingReplacer.storeLocalName(e.name,t)}})})}},{key:"addIdentifiersToIgnoredIdentifierNamesSet",value:function(e,t){e.forEach(function(e){_.NodeGuards.isIdentifierNode(e.key)&&t.add(e.key.name)})}},{key:"replaceFunctionParams",value:function(e,t){var r=this,n=new o.default,a={enter:function(e,o){if(_.NodeGuards.isObjectPatternNode(e)&&r.addIdentifiersToIgnoredIdentifierNamesSet(e.properties,n),o&&_.NodeGuards.isReplaceableIdentifierNode(e,o)&&!n.has(e.name)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a&&(e.name=a,v.NodeMetadata.set(e,{renamedIdentifier:!0}))}}};e.params.forEach(function(e){return p.replace(e,a)}),p.replace(e.body,a)}}]),t}(N.AbstractNodeTransformer);y=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],y),t.FunctionTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importStar(r(18)),m=r(23),g=r(27),N=r(13),_=r(15),v=r(9),y=r(19),h=r(10),b=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isFunctionDeclarationNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0],o=n.type===g.NodeType.Program;return!this.options.renameGlobals&&o?e:(this.storeFunctionName(e,o,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(e,n,r):this.replaceScopeIdentifiers(n,r),e)}},{key:"storeFunctionName",value:function(e,t,r){t?this.identifierObfuscatingReplacer.storeGlobalName(e.id.name,r):this.identifierObfuscatingReplacer.storeLocalName(e.id.name,r)}},{key:"replaceScopeCachedIdentifiers",value:function(e,t,r){var n=this.replaceableIdentifiers.get(t);if(n){var o=n.get(e.id.name);if(o)for(var a=o.length,i=0;i=0);return"a".concat(n(r))},r=t(e);return this.isValidIdentifierName(r)||(r=this.generateNewMangledName(r)),r}}]),t}(m.AbstractIdentifierNamesGenerator);g.initMangledNameCharacter="9",g.nameSequence="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),g.reservedNames=["byte","case","char","do","else","enum","eval","for","goto","if","in","int","let","long","new","null","this","true","try","var","void","with"],g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],g),t.MangledIdentifierNamesGenerator=g},function(e,t,r){"use strict";var n=r(0),o=n(r(32)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=r(60),g=r(29),N=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).randomVariableNameSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"generate",value:function(){var e=this.randomGenerator.getRandomInteger(1e4,99999999),t=g.Utils.decToHex(e).substr(0,u.baseIdentifierNameLength),r="_".concat(g.Utils.hexadecimalPrefix).concat(t);return this.randomVariableNameSet.has(r)?this.generate():(this.randomVariableNameSet.add(r),r)}},{key:"generateWithPrefix",value:function(){var e=this.generate();return"".concat(this.options.identifiersPrefix).concat(e).replace("__","_")}}]),t}(m.AbstractIdentifierNamesGenerator);N.baseIdentifierNameLength=6,N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],N),t.HexadecimalIdentifierNamesGenerator=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),o=r(4),a=r(37),i=r(143),s=r(142);t.generatorsModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(i.HexadecimalIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator),e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(s.MangledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator),e(o.ServiceIdentifiers.Factory__IIdentifierNamesGenerator).toFactory(function(e){var t=null;return function(r){if(t)return t;var n;switch(r.identifierNamesGenerator){case a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator);break;case a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator:default:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator)}return t=n,n}})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2);t.finalizingTransformersModule=new n.ContainerModule(function(e){})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.literalValue=e}},{key:"getNodeStructure",value:function(){return[m.NodeFactory.expressionStatementNode(m.NodeFactory.literalNode(this.literalValue))]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"literalValue",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.StringLiteralNode=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.controlFlowStorageName=e,this.controlFlowStorageKey=t}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageName",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.StringLiteralControlFlowStorageCallNode=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.False="![]",e.True="!![]",e.a='(false+"")[1]',e.b='([]["entries"]()+"")[2]',e.c='([]["fill"]+"")[3]',e.d='(undefined+"")[2]',e.e='(true+"")[3]',e.f='(false+"")[0]',e.g="(false+[0]+String)[20]",e.h='(+(101))["toString"](21)[1]',e.i="([false]+undefined)[10]",e.j='([]["entries"]()+"")[3]',e.k='(+(20))["toString"](21)',e.l='(false+"")[2]',e.m='(Number+"")[11]',e.n='(undefined+"")[1]',e.o='(true+[]["fill"])[10]',e.p='(+(211))["toString"](31)[1]',e.q='(+(212))["toString"](31)[1]',e.r='(true+"")[1]',e.s='(false+"")[3]',e.t='(true+"")[0]',e.u='(undefined+"")[0]',e.v='(+(31))["toString"](32)',e.w='(+(32))["toString"](33)',e.x='(+(101))["toString"](34)[1]',e.y="(NaN+[Infinity])[10]",e.z='(+(35))["toString"](36)',e.A="(+[]+Array)[10]",e.B="(+[]+Boolean)[10]",e.C='Function("return escape")()(("")["italics"]())[2]',e.D='Function("return escape")()([]["fill"])["slice"]("-1")',e.E='(RegExp+"")[12]',e.F="(+[]+Function)[10]",e.G='(false+Function("return Date")()())[30]',e.H="'H'",e.I='(Infinity+"")[0]',e.J="'J'",e.K="'K'",e.L="'L'",e.M='(true+Function("return Date")()())[30]',e.N='(NaN+"")[0]',e.O='(NaN+Function("return{}")())[11]',e.P="'P'",e.Q="'Q'",e.R="(+[]+RegExp)[10]",e.S="(+[]+String)[10]",e.T='(NaN+Function("return Date")()())[30]',e.U='(NaN+Function("return{}")()["toString"]["call"]())[11]',e.V="'V'",e.W="'W'",e.X="'X'",e.Y="'Y'",e.Z="'Z'"}(t.JSFuck||(t.JSFuck={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionTemplate=function(){return"\n (function (array, {timesName}) {\n var {whileFunctionName} = function (times) {\n while (--times) {\n array['push'](array['shift']());\n }\n };\n \n {code}\n })({stringArrayName}, 0x{stringArrayRotateValue});\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var selfDefendingFunc = function () {\n var object = {\n data: {\n key: 'cookie',\n value: 'timeout'\n },\n setCookie: function (options, name, value, document) {\n document = document || {};\n \n var updatedCookie = name + \"=\" + value;\n\n var i = 0;\n \n for (var i = 0, len = options.length; i < len; i++) {\n var propName = options[i];\n \n updatedCookie += \"; \" + propName;\n \n var propValue = options[propName];\n \n options.push(propValue);\n len = options.length;\n \n if (propValue !== true) {\n updatedCookie += \"=\" + propValue;\n }\n }\n\n document['cookie'] = updatedCookie;\n },\n removeCookie: function(){return 'dev';},\n getCookie: function (document, name) {\n document = document || function (value) { return value };\n var matches = document(new RegExp(\n \"(?:^|; )\" + name.replace(/([.$?*|{}()[]\\/+^])/g, '\\$1') + \"=([^;]*)\"\n ));\n \n var func = function (param1, param2) {\n param1(++param2);\n };\n \n func({whileFunctionName}, {timesName});\n \n return matches ? decodeURIComponent(matches[1]) : undefined;\n }\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return regExp.test(object.removeCookie.toString());\n };\n \n object['updateCookie'] = test1;\n \n var cookie = '';\n var result = object['updateCookie']();\n \n if (!result) {\n object['setCookie'](['*'], 'counter', 1);\n } else if (result) {\n cookie = object['getCookie'](null, 'counter');\n } else {\n object['removeCookie']();\n }\n };\n \n selfDefendingFunc();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(42),N=r(150),_=r(149),v=r(16),y=r(34),h=r(10),b=r(29),S=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayRotateValue=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r="";return r=this.options.selfDefending?p.default(N.SelfDefendingTemplate(this.escapeSequenceEncoder),{timesName:e,whileFunctionName:t}):"".concat(t,"(++").concat(e,")"),y.JavaScriptObfuscator.obfuscate(p.default(_.StringArrayRotateFunctionTemplate(),{code:r,timesName:e,stringArrayName:this.stringArrayName,stringArrayRotateValue:b.Utils.decToHex(this.stringArrayRotateValue),whileFunctionName:t}),(0,o.default)({},g.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}}]),t}(v.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],S.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],S.prototype,"stringArrayRotateValue",void 0),S=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],S),t.StringArrayRotateFunctionNode=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTemplate=function(){return"\n var {stringArrayName} = [{stringArray}];\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(41)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(152),N=r(16),_=r(10),v=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.stringArrayStorage=e,this.stringArrayName=t,this.stringArrayRotateValue=r}},{key:"getNode",value:function(){return this.stringArrayStorage.rotateArray(this.stringArrayRotateValue),(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"getNode",this).call(this)}},{key:"getNodeStructure",value:function(){return _.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return p.default(g.StringArrayTemplate(),{stringArrayName:this.stringArrayName,stringArray:this.stringArrayStorage.toString()})}}]),t}(N.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",Object)],v.prototype,"stringArrayStorage",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",String)],v.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],v.prototype,"stringArrayRotateValue",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.StringArrayNode=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRc4DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {rc4Polyfill}\n {stringArrayCallsWrapperName}.").concat(r," = rc4;\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n\n if (cachedValue === undefined) {\n if ({stringArrayCallsWrapperName}.").concat(o," === undefined) {\n {selfDefendingCode}\n \n {stringArrayCallsWrapperName}.").concat(o," = true;\n }\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value, key);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperTemplate=function(){return"\n var {stringArrayCallsWrapperName} = function (index, key) {\n index = index - 0;\n \n var value = {stringArrayName}[index];\n \n {decodeNodeTemplate}\n \n return value;\n };\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayBase64DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {stringArrayCallsWrapperName}.").concat(r," = function (str) {\n var string = atob(str);\n var newStringChars = [];\n \n for (var i = 0, length = string.length; i < length; i++) {\n newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);\n }\n \n return decodeURIComponent(newStringChars);\n };\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n \n if (cachedValue === undefined) {\n {selfDefendingCode}\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e,t){var r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6),a=e.getRandomString(6),i=e.getRandomString(6),s=e.getRandomString(6),c=e.getRandomString(6),d=e.getRandomString(6),u=e.getRandomString(6);return"\n var StatesClass = function (".concat(r,") {\n this.").concat(r," = ").concat(r,";\n this.").concat(n," = [1, 0, 0];\n this.").concat(o," = function(){return 'newState';};\n this.").concat(a," = '").concat(t.encode("\\w+ *\\(\\) *{\\w+ *",!0),"';\n this.").concat(i," = '").concat(t.encode("['|\"].+['|\"];? *}",!0),"';\n };\n \n StatesClass.prototype.").concat(s," = function () {\n var regExp = new RegExp(this.").concat(a," + this.").concat(i,");\n var expression = regExp.test(this.").concat(o,".toString())\n ? --this.").concat(n,"[1]\n : --this.").concat(n,"[0];\n \n return this.").concat(c,"(expression);\n };\n \n StatesClass.prototype.").concat(c," = function (").concat(u,") {\n if (!Boolean(~").concat(u,")) {\n return ").concat(u,";\n }\n \n return this.").concat(d,"(this.").concat(r,");\n };\n\n StatesClass.prototype.").concat(d," = function (").concat(r,") {\n for (var i = 0, len = this.").concat(n,".length; i < len; i++) {\n this.").concat(n,".push(Math.round(Math.random()));\n len = this.").concat(n,".length;\n }\n \n return ").concat(r,"(this.").concat(n,"[0]);\n };\n\n new StatesClass({stringArrayCallsWrapperName}).").concat(s,"();\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rc4Template=function(){return"\n var rc4 = function (str, key) {\n var s = [], j = 0, x, res = '', newStr = '';\n \n str = atob(str);\n \n for (var k = 0, length = str.length; k < length; k++) {\n newStr += '%' + ('00' + str.charCodeAt(k).toString(16)).slice(-2);\n }\n \n str = decodeURIComponent(newStr);\n \t \n\t for (var i = 0; i < 256; i++) {\n s[i] = i;\n }\n \n for (i = 0; i < 256; i++) {\n j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n }\n \n i = 0;\n j = 0;\n \n for (var y = 0; y < str.length; y++) {\n i = (i + 1) % 256;\n j = (j + s[i]) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);\n }\n \n return res;\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AtobTemplate=function(){return"\n (function () {\n {globalVariableTemplate}\n \n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n that.atob || (\n that.atob = function(input) {\n var str = String(input).replace(/=+$/, '');\n for (\n var bc = 0, bs, buffer, idx = 0, output = '';\n buffer = str.charAt(idx++);\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n buffer = chars.indexOf(buffer);\n }\n return output;\n });\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(21),g=r(35),N=r(11),_=r(42),v=r(159),y=r(47),h=r(158),b=r(157),S=r(156),I=r(155),C=r(154),F=r(16),O=r(34),j=r(10),T=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayCallsWrapperName=t}},{key:"getNodeStructure",value:function(){return j.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.getDecodeStringArrayTemplate();return O.JavaScriptObfuscator.obfuscate(p.default(I.StringArrayCallsWrapperTemplate(),{decodeNodeTemplate:e,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}},{key:"getDecodeStringArrayTemplate",value:function(){var e=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():y.GlobalVariableNoEvalTemplate(),t=p.default(v.AtobTemplate(),{globalVariableTemplate:e}),r="",n="";switch(this.options.selfDefending&&(n=p.default(b.SelfDefendingTemplate(this.randomGenerator,this.escapeSequenceEncoder),{stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName})),this.options.stringArrayEncoding){case g.StringArrayEncoding.Rc4:r=p.default(C.StringArrayRc4DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,rc4Polyfill:h.Rc4Template(),selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName});break;case g.StringArrayEncoding.Base64:r=p.default(S.StringArrayBase64DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}return r}}]),t}(F.AbstractCustomNode);u.__decorate([N.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayName",void 0),u.__decorate([N.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayCallsWrapperName",void 0),T=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],T),t.StringArrayCallsWrapper=T},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var {selfDefendingFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func1 = function(){return 'dev';},\n func2 = function () {\n return 'window';\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return !regExp.test(func1.toString());\n };\n \n var test2 = function () {\n var regExp = new RegExp('").concat(e.encode("(\\\\[x|u](\\w){2,4})+",!0),"');\n \n return regExp.test(func2.toString());\n };\n \n var recursiveFunc1 = function (string) {\n var i = ~-1 >> 1 + 255 % 0;\n \n if (string.indexOf('i' === i)) {\n recursiveFunc2(string)\n }\n };\n \n var recursiveFunc2 = function (string) {\n var i = ~-4 >> 1 + 255 % 0;\n \n if (string.indexOf((true+\"\")[3]) !== i) {\n recursiveFunc1(string)\n }\n };\n \n if (!test1()) {\n if (!test2()) {\n recursiveFunc1('indеxOf');\n } else {\n recursiveFunc1('indexOf');\n }\n } else {\n recursiveFunc1('indеxOf');\n }\n })\n \n {selfDefendingFunctionName}();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(42),N=r(161),_=r(16),v=r(34),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return v.JavaScriptObfuscator.obfuscate(p.default(N.SelfDefendingTemplate(this.escapeSequenceEncoder),{selfDefendingFunctionName:this.identifierNamesGenerator.generate(),singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},g.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed,unicodeEscapeSequence:!0})).getObfuscatedCode()}}]),t}(_.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.SelfDefendingUnicodeNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleNodeCallControllerTemplate=function(){return"\n var {singleNodeCallControllerFunctionName} = (function(){\n var firstCall = true;\n \n return function (context, fn){\n var rfn = firstCall ? function(){\n if(fn){\n var res = fn.apply(context, arguments);\n fn = null;\n return res;\n }\n } : function(){}\n \n firstCall = false;\n \n return rfn;\n }\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(24),g=r(11),N=r(163),_=r(42),v=r(16),y=r(34),h=r(10),b=function(e){function t(e,r,n){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.appendEvent=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return this.appendEvent===m.ObfuscationEvent.AfterObfuscation?y.JavaScriptObfuscator.obfuscate(p.default(N.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode():p.default(N.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],b.prototype,"callsControllerFunctionName",void 0),u.__decorate([g.initializable(),u.__metadata("design:type",String)],b.prototype,"appendEvent",void 0),b=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],b),t.NodeCallsControllerFunctionNode=b},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.logicalExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"operator",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.LogicalExpressionFunctionNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r,n){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.leftValue=r,this.rightValue=n}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.leftValue,this.rightValue]));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageName",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],N.prototype,"leftValue",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],N.prototype,"rightValue",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.ExpressionWithOperatorControlFlowStorageCallNode=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockNodeTemplate=function(){return'\n var {domainLockFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n \n {globalVariableTemplate}\n \n var func = function () {\n return {\n key: \'item\',\n value: \'attribute\',\n getAttribute: function () {\n for (var i = 0; i < 1000; i--) {\n var isPositive = i > 0;\n \n switch (isPositive) {\n case true:\n return this.item + \'_\' + this.value + \'_\' + i;\n default:\n this.item + \'_\' + this.value;\n }\n }\n }()\n };\n };\n \n var regExp = new RegExp("[{diff}]", "g");\n var domains = "{domains}".replace(regExp, "").split(";");\n var document;\n var domain;\n \n for (var d in that) {\n if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) {\n document = d;\n \n break;\n }\n }\n\n for (var d1 in that[document]) {\n if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) {\n domain = d1;\n \n break;\n }\n }\n \n if ((!document && !domain) || (!that[document] && !that[document][domain])) {\n return;\n }\n \n var currentDomain = that[document][domain];\n\n var ok = false;\n \n for (var i = 0; i < domains.length; i++) {\n var domain = domains[i];\n var position = currentDomain.length - domain.length;\n var lastIndex = currentDomain.indexOf(domain, position);\n var endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(".") === 0) {\n ok = true;\n }\n \n break;\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n });\n\n {domainLockFunctionName}();\n '}},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(21),g=r(11),N=r(167),_=r(47),v=r(16),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).cryptUtils=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.domainLock.join(";"),t=this.cryptUtils.hideString(e,3*e.length),r=(0,o.default)(t,2),n=r[0],a=r[1],i=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():_.GlobalVariableNoEvalTemplate();return p.default(N.DomainLockNodeTemplate(),{domainLockFunctionName:this.identifierNamesGenerator.generate(),diff:a,domains:n,globalVariableTemplate:i,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.ICryptUtils)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.DomainLockNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionTemplate=function(){return"\n function {debugProtectionFunctionName} (ret) {\n function debuggerProtection (counter) {\n \n {debuggerTemplate}\n \n debuggerProtection(++counter);\n }\n \n try {\n if (ret) {\n return debuggerProtection;\n } else {\n debuggerProtection(0);\n }\n } catch (y) {}\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplateNoEval=function(){return"\n if (typeof counter === 'string') {\n var func = function () {\n while (true) {}\n };\n \n return func();\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n debugger;\n } else {\n debugger;\n }\n \n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplate=function(){return"\n if (typeof counter === 'string') {\n return (function (arg) {}.constructor('while (true) {}').apply('counter'));\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n (function () {return true;}.constructor('debu' + 'gger').call('action'));\n } else {\n (function () {return false;}.constructor('debu' + 'gger').apply('stateObject'));\n }\n \n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importDefault(r(20)),p=r(21),m=r(11),g=r(171),N=r(170),_=r(169),v=r(16),y=r(10),h=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?g.DebuggerTemplate():N.DebuggerTemplateNoEval();return f.default(_.DebugProtectionFunctionTemplate(),{debuggerTemplate:e,debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(v.AbstractCustomNode);d.__decorate([m.initializable(),d.__metadata("design:type",String)],h.prototype,"debugProtectionFunctionName",void 0),h=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],h),t.DebugProtectionFunctionNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalTemplate=function(){return"\n setInterval(function () {\n {debugProtectionFunctionName}();\n }, 4000);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(173),g=r(16),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return N.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionIntervalTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(g.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionIntervalNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallTemplate=function(){return"\n (function () {\n {singleNodeCallControllerFunctionName}(this, function () {\n var regExp1 = new RegExp('function *\\\\( *\\\\)');\n var regExp2 = new RegExp('\\\\+\\\\+ *\\(?:_0x(?:[a-f0-9]){4,6}|(?:\\\\b|\\\\d)[a-z0-9]{1,4}(?:\\\\b|\\\\d)\\)', 'i');\n \n var result = {debugProtectionFunctionName}('init');\n \n if (!regExp1.test(result + 'chain') || !regExp2.test(result + 'input')) {\n result('0');\n } else {\n {debugProtectionFunctionName}();\n }\n })();\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(175),g=r(16),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.debugProtectionFunctionName=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return N.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionCallTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(g.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"callsControllerFunctionName",void 0),d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionCallNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableExpressionTemplate=function(){return"\n var {consoleLogDisableFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func = function () {};\n \n {globalVariableTemplate}\n \n if (!that.console) {\n that.console = (function (func){\n var c = {};\n \n c.log = func;\n c.warn = func;\n c.debug = func;\n c.info = func;\n c.error = func;\n c.exception = func;\n c.trace = func;\n \n return c;\n })(func);\n } else {\n that.console.log = func;\n that.console.warn = func;\n that.console.debug = func;\n that.console.info = func;\n that.console.error = func;\n that.console.exception = func;\n that.console.trace = func;\n }\n });\n \n {consoleLogDisableFunctionName}();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importDefault(r(20)),p=r(21),m=r(177),g=r(47),N=r(11),_=r(16),v=r(10),y=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return v.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():g.GlobalVariableNoEvalTemplate();return f.default(m.ConsoleOutputDisableExpressionTemplate(),{consoleLogDisableFunctionName:this.identifierNamesGenerator.generate(),globalVariableTemplate:e,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(_.AbstractCustomNode);d.__decorate([N.initializable(),d.__metadata("design:type",String)],y.prototype,"callsControllerFunctionName",void 0),y=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ConsoleOutputDisableExpressionNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(62)),i=n(r(8)),s=n(r(1)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(2),p=r(4),m=r(11),g=r(16),N=r(14),_=r(9),v=r(10),y=function(e){function t(e,r,n){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r,n))}return(0,u.default)(t,e),(0,c.default)(t,[{key:"initialize",value:function(e){this.controlFlowStorage=e}},{key:"getNodeStructure",value:function(){var e=(0,a.default)(this.controlFlowStorage.getStorage()).map(function(e){var t=(0,o.default)(e,2),r=t[0],n=t[1].getNode()[0];if(!_.NodeGuards.isExpressionStatementNode(n))throw new Error("Function node for control flow storage object should be passed inside the `ExpressionStatement` node!");return N.NodeFactory.propertyNode(N.NodeFactory.identifierNode(r),n.expression)}),t=N.NodeFactory.variableDeclarationNode([N.NodeFactory.variableDeclaratorNode(N.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()),N.NodeFactory.objectExpressionNode(e))]);return[t=v.NodeUtils.parentize(t)]}}]),t}(g.AbstractCustomNode);l.__decorate([m.initializable(),l.__metadata("design:type",Object)],y.prototype,"controlFlowStorage",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ControlFlowStorageNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.expressionArguments=e}},{key:"getNodeStructure",value:function(){for(var e=m.NodeFactory.identifierNode("callee"),t=[],r=this.expressionArguments.length,n=0;n.5,t=this.randomGenerator.getMathRandom()>.5,r=e?"===":"!==",n=this.randomGenerator.getRandomString(5),a=t?n:this.randomGenerator.getRandomString(5),i=e===t?[this.blockStatementNode,this.deadCodeInjectionRootAstHostNode]:[this.deadCodeInjectionRootAstHostNode,this.blockStatementNode],s=(0,o.default)(i,2),c=s[0],d=s[1],u=g.NodeFactory.blockStatementNode([g.NodeFactory.ifStatementNode(g.NodeFactory.binaryExpressionNode(r,g.NodeFactory.literalNode(n),g.NodeFactory.literalNode(a)),c,d)]);return N.NodeUtils.parentize(u),[u]}}]),t}(m.AbstractCustomNode);u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"blockStatementNode",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"deadCodeInjectionRootAstHostNode",void 0),_=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementDeadCodeInjectionNode=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(9),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.blockStatementBody=e,this.shuffledKeys=t,this.originalKeysIndexesInShuffledArray=r}},{key:"getNodeStructure",value:function(){var e=this,t=this.randomGenerator.getRandomString(6),r=this.randomGenerator.getRandomString(6),n=m.NodeFactory.blockStatementNode([m.NodeFactory.variableDeclarationNode([m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(t),m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join("|")),m.NodeFactory.identifierNode("split")),[m.NodeFactory.literalNode("|")])),m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(r),m.NodeFactory.literalNode(0))]),m.NodeFactory.whileStatementNode(m.NodeFactory.literalNode(!0),m.NodeFactory.blockStatementNode([m.NodeFactory.switchStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(t),m.NodeFactory.updateExpressionNode("++",m.NodeFactory.identifierNode(r)),!0),this.shuffledKeys.map(function(t,r){var n=e.blockStatementBody[t],o=[n];return g.NodeGuards.isReturnStatementNode(n)||o.push(m.NodeFactory.continueStatement()),m.NodeFactory.switchCaseNode(m.NodeFactory.literalNode(String(r)),o)})),m.NodeFactory.breakStatement()]))]);return N.NodeUtils.parentize(n),[n]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"blockStatementBody",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"originalKeysIndexesInShuffledArray",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"shuffledKeys",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementControlFlowFlatteningNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate2=function(){return"\n var getGlobal = function () {\n var globalObject;\n \n try {\n globalObject = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');')();\n } catch (e) {\n globalObject = window;\n }\n \n return globalObject;\n };\n var that = getGlobal();\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate1=function(){return"\n var that;\n \n try {\n var getGlobal = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');');\n \n that = getGlobal();\n } catch (e) {\n that = window;\n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.binaryExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"operator",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.BinaryExpressionFunctionNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(17)),i=n(r(8)),s=n(r(1)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(2),p=r(4),m=r(11),g=r(30),N=r(24),_=r(38),v=r(26),y=function(e){function t(e,r,n,o,a){var c;return(0,s.default)(this,t),(c=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,n,o,a))).appendEvent=N.ObfuscationEvent.AfterObfuscation,c.customNodeFactory=e,c.stringArrayStorage=r,c}return(0,u.default)(t,e),(0,c.default)(t,[{key:"appendCustomNodes",value:function(e,t){this.stringArrayStorage.getLength()&&(this.appendCustomNodeIfExist(g.CustomNode.StringArrayNode,function(t){v.NodeAppender.prependNode(e,t.getNode())}),this.appendCustomNodeIfExist(g.CustomNode.StringArrayCallsWrapper,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}),this.appendCustomNodeIfExist(g.CustomNode.StringArrayRotateFunctionNode,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}))}},{key:"initialize",value:function(){if(this.customNodes=new a.default,this.options.stringArray){var e,t=this.customNodeFactory(g.CustomNode.StringArrayNode),r=this.customNodeFactory(g.CustomNode.StringArrayCallsWrapper),n=this.customNodeFactory(g.CustomNode.StringArrayRotateFunctionNode),i=this.stringArrayStorage.getStorageId().split("|"),s=(0,o.default)(i,2),c=s[0],d=s[1];e=this.options.rotateStringArray?this.randomGenerator.getRandomInteger(100,500):0,t.initialize(this.stringArrayStorage,c,e),r.initialize(c,d),n.initialize(c,e),this.customNodes.set(g.CustomNode.StringArrayNode,t),this.customNodes.set(g.CustomNode.StringArrayCallsWrapper,r),this.options.rotateStringArray&&this.customNodes.set(g.CustomNode.StringArrayRotateFunctionNode,n)}}}]),t}(_.AbstractCustomNodeGroup);l.__decorate([m.initializable(),l.__metadata("design:type",a.default)],y.prototype,"customNodes",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(2,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Function,Object,Object])],y),t.StringArrayCustomNodeGroup=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=r(30),g=r(24),N=r(38),_=r(26),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.AfterObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.SelfDefendingUnicodeNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.selfDefending){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.SelfDefendingUnicodeNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.SelfDefendingUnicodeNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.SelfDefendingCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=r(30),g=r(24),N=r(38),_=r(26),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DomainLockNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.domainLock.length){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.DomainLockNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.DomainLockNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DomainLockCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=r(30),g=r(24),N=r(38),_=r(26),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this,n=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionCallNode,function(r){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,r.getNode(),n)}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionNode,function(t){_.NodeAppender.appendNode(e,t.getNode())}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionIntervalNode,function(t){var n=e.body.length,o=r.randomGenerator.getRandomInteger(0,n);_.NodeAppender.insertNodeAtIndex(e,t.getNode(),o)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(r){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,n,1):e,_.NodeAppender.prependNode(o,r.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.debugProtection){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionNode),n=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionCallNode),a=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionIntervalNode),i=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);r.initialize(e),n.initialize(e,t),a.initialize(e),i.initialize(this.appendEvent,t),this.customNodes.set(m.CustomNode.DebugProtectionFunctionNode,r),this.customNodes.set(m.CustomNode.DebugProtectionFunctionCallNode,n),this.options.debugProtectionInterval&&this.customNodes.set(m.CustomNode.DebugProtectionFunctionIntervalNode,a),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,i)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DebugProtectionCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=r(30),g=r(24),N=r(38),_=r(26),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.ConsoleOutputDisableExpressionNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.disableConsoleOutput){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.ConsoleOutputDisableExpressionNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.ConsoleOutputDisableExpressionNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.ConsoleOutputCustomNodeGroup=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(28),o=r(2),a=r(4),i=r(22),s=r(30),c=r(63),d=r(64),u=r(191),l=r(190),f=r(189),p=r(188),m=r(187),g=r(186),N=r(183),_=r(182),v=r(181),y=r(180),h=r(179),b=r(178),S=r(176),I=r(174),C=r(172),F=r(168),O=r(166),j=r(165),T=r(164),k=r(162),x=r(160),w=r(153),E=r(151),G=r(147),R=r(146);t.customNodesModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.ICustomNode).to(b.ConsoleOutputDisableExpressionNode).whenTargetNamed(s.CustomNode.ConsoleOutputDisableExpressionNode),e(a.ServiceIdentifiers.ICustomNode).to(S.DebugProtectionFunctionCallNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionCallNode),e(a.ServiceIdentifiers.ICustomNode).to(I.DebugProtectionFunctionIntervalNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionIntervalNode),e(a.ServiceIdentifiers.ICustomNode).to(C.DebugProtectionFunctionNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(F.DomainLockNode).whenTargetNamed(s.CustomNode.DomainLockNode),e(a.ServiceIdentifiers.ICustomNode).to(T.NodeCallsControllerFunctionNode).whenTargetNamed(s.CustomNode.NodeCallsControllerFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(k.SelfDefendingUnicodeNode).whenTargetNamed(s.CustomNode.SelfDefendingUnicodeNode),e(a.ServiceIdentifiers.ICustomNode).to(x.StringArrayCallsWrapper).whenTargetNamed(s.CustomNode.StringArrayCallsWrapper),e(a.ServiceIdentifiers.ICustomNode).to(w.StringArrayNode).whenTargetNamed(s.CustomNode.StringArrayNode),e(a.ServiceIdentifiers.ICustomNode).to(E.StringArrayRotateFunctionNode).whenTargetNamed(s.CustomNode.StringArrayRotateFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(g.BinaryExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.BinaryExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(N.BlockStatementControlFlowFlatteningNode).whenTargetNamed(i.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(v.CallExpressionControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(y.CallExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(h.ControlFlowStorageNode).whenTargetNamed(i.ControlFlowCustomNode.ControlFlowStorageNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(O.ExpressionWithOperatorControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(j.LogicalExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.LogicalExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(R.StringLiteralNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(G.StringLiteralControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(_.BlockStatementDeadCodeInjectionNode).whenTargetNamed(d.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode),e(a.ServiceIdentifiers.ICustomNodeGroup).to(u.ConsoleOutputCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.ConsoleOutputCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(l.DebugProtectionCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DebugProtectionCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(f.DomainLockCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DomainLockCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(p.SelfDefendingCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.SelfDefendingCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(m.StringArrayCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.StringArrayCustomNodeGroup),e(a.ServiceIdentifiers.Factory__ICustomNode).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNode)),e(a.ServiceIdentifiers.Factory__IControlFlowCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__ICustomNodeGroup).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNodeGroup))})},function(e,t,r){"use strict";var n=r(0),o=n(r(25)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=l.__importStar(r(18)),g=r(13),N=r(15),_=r(14),v=r(9),y=r(10),h=u=function(e){function t(e,r){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Converting:return{enter:function(e,r){if(r&&v.NodeGuards.isReturnStatementNode(e)&&null===e.argument)return t.fixEsprimaReturnStatementTemplateLiteralNode(e)},leave:function(e,r){if(r&&v.NodeGuards.isTemplateLiteralNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=e.expressions,n=[];if(e.quasis.forEach(function(e){n.push(_.NodeFactory.literalNode(e.value.cooked));var t=r.shift();t&&n.push(t)}),n=n.filter(function(e){return!(v.NodeGuards.isLiteralNode(e)&&""===e.value)}),u.isLiteralNodeWithStringValue(n[0])||u.isLiteralNodeWithStringValue(n[1])||n.unshift(_.NodeFactory.literalNode("")),n.length>1){var o=_.NodeFactory.binaryExpressionNode("+",n.shift(),n.shift());return n.forEach(function(e){o=_.NodeFactory.binaryExpressionNode("+",o,e)}),o}return n[0]}},{key:"fixEsprimaReturnStatementTemplateLiteralNode",value:function(e){var t=y.NodeUtils.getScopeOfNode(e),r=v.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,n=r.indexOf(e);if(n===r.length-2){var a=r[n+1];if(a&&v.NodeGuards.isExpressionStatementNode(a)){var i=!1;if(m.traverse(a,{enter:function(e,t){if(v.NodeGuards.isTemplateLiteralNode(e))return i=!0,m.VisitorOption.Break}}),i)return e.argument=a.expression,r.pop(),v.NodeGuards.isSwitchCaseNode(t)?t.consequent=(0,o.default)(r):t.body=(0,o.default)(r),e}}}}],[{key:"isLiteralNodeWithStringValue",value:function(e){return e&&v.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value}}]),t}(N.AbstractNodeTransformer);h=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],h),t.TemplateLiteralTransformer=h},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(17)),i=n(r(8)),s=n(r(1)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l,f=r(5),p=r(2),m=r(4),g=r(13),N=r(15),_=r(26),v=r(14),y=r(9),h=r(10),b=l=function(e){function t(e,r){var n;return(0,s.default)(this,t),(n=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r))).cachedScopeNodesMap=new a.default,n}return(0,u.default)(t,e),(0,c.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Converting:return{enter:function(e,r){if(t.options.transformObjectKeys&&r&&y.NodeGuards.isObjectExpressionNode(e)&&y.NodeGuards.isVariableDeclaratorNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(!y.NodeGuards.isIdentifierNode(t.id))return e;var r=h.NodeUtils.getScopeOfNode(t);return r&&y.NodeGuards.isNodeHasScope(r)?(this.cachedScopeNodesMap.set(t,r),this.transformObjectExpressionNode(e,t.id,t)):e}},{key:"extractPropertiesToExpressionStatements",value:function(e,t,r){for(var n=e.length,o=[],a=[],i=0;if.hostNodeSearchMinDepth&&t.splice(0,f.hostNodeSearchMinDepth),t.length>f.hostNodeSearchMaxDepth&&(t.length=f.hostNodeSearchMaxDepth),this.randomGenerator.getRandomGenerator().pickone(t))}},{key:"isVisitedFunctionNode",value:function(e){return(I.NodeGuards.isFunctionDeclarationNode(e)||I.NodeGuards.isFunctionExpressionNode(e)||I.NodeGuards.isArrowFunctionExpressionNode(e))&&this.visitedFunctionNodes.has(e)}},{key:"transformFunctionBody",value:function(e,t){var r=this;N.replace(e,{enter:function(e,n){if(C.NodeMetadata.isIgnoredNode(e))return N.VisitorOption.Skip;if(r.isVisitedFunctionNode(e)||!n)return N.VisitorOption.Skip;if(!f.controlFlowReplacersMap.has(e.type))return e;if(r.randomGenerator.getMathRandom()>r.options.controlFlowFlatteningThreshold)return e;var a=f.controlFlowReplacersMap.get(e.type);return void 0===a?e:(0,o.default)({},r.controlFlowReplacerFactory(a).replace(e,n,t),{parentNode:n})}})}}]),t}(b.AbstractNodeTransformer);O.controlFlowReplacersMap=new i.default([[y.NodeType.BinaryExpression,v.ControlFlowReplacer.BinaryExpressionControlFlowReplacer],[y.NodeType.CallExpression,v.ControlFlowReplacer.CallExpressionControlFlowReplacer],[y.NodeType.LogicalExpression,v.ControlFlowReplacer.LogicalExpressionControlFlowReplacer],[y.NodeType.Literal,v.ControlFlowReplacer.StringLiteralControlFlowReplacer]]),O.hostNodeSearchMinDepth=0,O.hostNodeSearchMaxDepth=2,O=f=p.__decorate([m.injectable(),p.__param(0,m.inject(g.ServiceIdentifiers.Factory__TControlFlowStorage)),p.__param(1,m.inject(g.ServiceIdentifiers.Factory__IControlFlowReplacer)),p.__param(2,m.inject(g.ServiceIdentifiers.Factory__IControlFlowCustomNode)),p.__param(3,m.inject(g.ServiceIdentifiers.IRandomGenerator)),p.__param(4,m.inject(g.ServiceIdentifiers.IOptions)),p.__metadata("design:paramtypes",[Function,Function,Function,Object,Object])],O),t.FunctionControlFlowTransformer=O},function(e,t,r){"use strict";var n=r(0),o=n(r(32)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=l.__importStar(r(18)),g=r(64),N=r(33),_=r(27),v=r(13),y=r(15),h=r(14),b=r(9),S=r(10),I=u=function(e){function t(e,r,n,s){var d;return(0,i.default)(this,t),(d=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,n,s))).deadCodeInjectionRootAstHostNodeSet=new o.default,d.collectedBlockStatements=[],d.collectedBlockStatementsTotalLength=0,d.deadCodeInjectionCustomNodeFactory=e,d.transformersRunner=r,d}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case v.TransformationStage.DeadCodeInjection:return{enter:function(e,r){if(r&&b.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),e},leave:function(e,r){if(r&&b.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};case v.TransformationStage.Finalizing:return this.deadCodeInjectionRootAstHostNodeSet.size?{enter:function(e,r){if(r&&t.isDeadCodeInjectionRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"analyzeNode",value:function(e,t){var r=this;m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)){var t=S.NodeUtils.clone(e);u.isValidCollectedBlockStatementNode(t)&&(S.NodeUtils.parentizeNode(t,t),t=r.transformersRunner.transform(t,u.transformersToRenameBlockScopeIdentifiers,v.TransformationStage.Obfuscating),r.collectedBlockStatements.push(t))}}}),this.collectedBlockStatementsTotalLength=this.collectedBlockStatements.length}},{key:"transformNode",value:function(e,t){if(!this.collectedBlockStatements.length||this.collectedBlockStatementsTotalLengththis.options.deadCodeInjectionThreshold||!u.isValidWrappedBlockStatementNode(e))return e;var r=this.collectedBlockStatements.length-1,n=this.randomGenerator.getRandomInteger(0,r),o=this.collectedBlockStatements.splice(n,1)[0];return o===e?e:this.replaceBlockStatementNode(e,o,t)}},{key:"restoreNode",value:function(e,t){var r=e.body[0];if(!b.NodeGuards.isFunctionDeclarationNode(r))throw new Error("Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node");return r.body}},{key:"isDeadCodeInjectionRootAstHostNode",value:function(e){return b.NodeGuards.isBlockStatementNode(e)&&this.deadCodeInjectionRootAstHostNodeSet.has(e)}},{key:"replaceBlockStatementNode",value:function(e,t,r){var n=h.NodeFactory.blockStatementNode([h.NodeFactory.functionDeclarationNode(u.deadCodeInjectionRootAstHostNodeName,[],t)]);this.deadCodeInjectionRootAstHostNodeSet.add(n);var o=this.deadCodeInjectionCustomNodeFactory(g.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode);o.initialize(e,n);var a=o.getNode()[0];return S.NodeUtils.parentizeNode(a,r),a}}],[{key:"isProhibitedNodeInsideCollectedBlockStatement",value:function(e){return b.NodeGuards.isBreakStatementNode(e)||b.NodeGuards.isContinueStatementNode(e)||b.NodeGuards.isAwaitExpressionNode(e)||b.NodeGuards.isSuperNode(e)}},{key:"isScopeHoistingFunctionDeclaration",value:function(e){if(!b.NodeGuards.isFunctionDeclarationNode(e))return!1;var t=S.NodeUtils.getScopeOfNode(e),r=b.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,n=r.indexOf(e);if(0===n)return!1;var o=r.slice(0,n),a=h.NodeFactory.blockStatementNode(o),i=e.id.name,s=!1;return m.traverse(a,{enter:function(e){if(b.NodeGuards.isIdentifierNode(e)&&e.name===i)return s=!0,m.VisitorOption.Break}}),s}},{key:"isValidCollectedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=0,r=!0;return m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)&&t++,t>u.maxNestedBlockStatementsCount||u.isProhibitedNodeInsideCollectedBlockStatement(e)||u.isScopeHoistingFunctionDeclaration(e))return r=!1,m.VisitorOption.Break}}),r}},{key:"isValidWrappedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=!0;return m.traverse(e,{enter:function(e){if(u.isScopeHoistingFunctionDeclaration(e))return t=!1,m.VisitorOption.Break}}),!!t&&S.NodeUtils.getBlockScopesOfNode(e)[0].type!==_.NodeType.Program}}]),t}(y.AbstractNodeTransformer);I.deadCodeInjectionRootAstHostNodeName="deadCodeInjectionRootAstHostNode",I.maxNestedBlockStatementsCount=4,I.minCollectedBlockStatementsCount=5,I.transformersToRenameBlockScopeIdentifiers=[N.NodeTransformer.CatchClauseTransformer,N.NodeTransformer.ClassDeclarationTransformer,N.NodeTransformer.FunctionDeclarationTransformer,N.NodeTransformer.FunctionTransformer,N.NodeTransformer.LabeledStatementTransformer,N.NodeTransformer.VariableDeclarationTransformer],I=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.ITransformersRunner)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],I),t.DeadCodeInjectionTransformer=I},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(2),f=r(4),p=r(22),m=r(48),g=r(9),N=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.callee;if(!g.NodeGuards.isIdentifierNode(n))return e;var o=String(e.arguments.length),a=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionFunctionNode),i=e.arguments;a.initialize(i);var s=this.insertCustomNodeToControlFlowStorage(a,r,o,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),s,n,i)}},{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!g.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(m.AbstractControlFlowReplacer);N.usingExistingIdentifierChance=.5,N=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],N),t.CallExpressionControlFlowReplacer=N},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/has-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/define-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-names")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/get-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-descriptor")},function(e,t){e.exports=require("@babel/runtime/core-js/object/define-property")},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(2),f=r(4),p=u.__importStar(r(18)),m=r(22),g=r(13),N=r(15),_=r(9),v=r(10),y=d=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).controlFlowCustomNodeFactory=e,c.arrayUtils=r,c}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.ControlFlowFlattening:return{leave:function(e,r){if(r&&_.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold||!d.canTransformBlockStatementNode(e))return e;var r=e.body,n=this.arrayUtils.arrayRange(r.length),o=this.arrayUtils.arrayShuffle(n),a=n.map(function(e){return o.indexOf(e)}),i=this.controlFlowCustomNodeFactory(m.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode);i.initialize(r,o,a);var s=i.getNode()[0];return v.NodeUtils.parentizeNode(s,t),s}}],[{key:"blockStatementHasProhibitedStatements",value:function(e){return e.body.some(function(e){var t=_.NodeGuards.isBreakStatementNode(e)||_.NodeGuards.isContinueStatementNode(e),r=_.NodeGuards.isVariableDeclarationNode(e)&&("const"===e.kind||"let"===e.kind),n=_.NodeGuards.isClassDeclarationNode(e);return _.NodeGuards.isFunctionDeclarationNode(e)||t||r||n})}},{key:"canTransformBlockStatementNode",value:function(e){var t=!0;return p.traverse(e,{enter:function(e){if(_.NodeGuards.isWhileStatementNode(e))return p.VisitorOption.Skip;_.NodeGuards.isBlockStatementNode(e)&&d.blockStatementHasProhibitedStatements(e)&&(t=!1)}}),e.body.length<=4&&(t=!1),t}}]),t}(N.AbstractNodeTransformer);y=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IArrayUtils)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],y),t.BlockStatementControlFlowTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(2),f=r(4),p=r(22),m=r(65),g=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.operator,o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.BinaryExpressionFunctionNode);o.initialize(n);var a=this.insertCustomNodeToControlFlowStorage(o,r,n,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}}]),t}(m.ExpressionWithOperatorControlFlowReplacer);g.usingExistingIdentifierChance=.5,g=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],g),t.BinaryExpressionControlFlowReplacer=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(28),o=r(2),a=r(4),i=r(66),s=r(33),c=r(210),d=r(209),u=r(202),l=r(201),f=r(200),p=r(199),m=r(198);t.controlFlowTransformersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.INodeTransformer).to(d.BlockStatementControlFlowTransformer).whenTargetNamed(s.NodeTransformer.BlockStatementControlFlowTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(l.DeadCodeInjectionTransformer).whenTargetNamed(s.NodeTransformer.DeadCodeInjectionTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(f.FunctionControlFlowTransformer).whenTargetNamed(s.NodeTransformer.FunctionControlFlowTransformer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(c.BinaryExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.BinaryExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(u.CallExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.CallExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(p.LogicalExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.LogicalExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(m.StringLiteralControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.StringLiteralControlFlowReplacer),e(a.ServiceIdentifiers.Factory__IControlFlowReplacer).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.IControlFlowReplacer))})},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(2),u=r(4),l=c.__importStar(r(18)),f=r(69),p=r(9),m=r(10),g=s=function(){function e(t){(0,a.default)(this,e),this.calleeDataExtractorFactory=t}return(0,i.default)(e,[{key:"analyze",value:function(e){return this.analyzeRecursive(e.body)}},{key:"analyzeRecursive",value:function(e){for(var t=this,r=s.getLimitIndex(e.length),n=[],o=e.length,a=function(o){if(o>r)return"break";var a=e[o];l.traverse(a,{enter:function(r){if(p.NodeGuards.isCallExpressionNode(r))return a.parentNode!==m.NodeUtils.getBlockScopesOfNode(r)[0]?l.VisitorOption.Skip:void t.analyzeCallExpressionNode(n,e,r)}})},i=0;ir&&(n=Math.round(r+t*s.limitThreshold))>t&&(n=t),n}}]),e}();g.calleeDataExtractorsList=[f.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor,f.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor,f.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor],g.limitThresholdActivationLength=25,g.limitThreshold=.002,g=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.Factory__ICalleeDataExtractor)),c.__metadata("design:paramtypes",[Function])],g),t.StackTraceAnalyzer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(39)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=u.__importStar(r(18)),p=r(50),m=r(9),g=r(10),N=function(e){function t(){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).apply(this,arguments))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"extract",value:function(e,t){if(!m.NodeGuards.isMemberExpressionNode(t))return null;var r=this.createObjectMembersCallsChain([],t);if(!r.length)return null;var n=r[r.length-1],o=this.getCalleeBlockStatement(g.NodeUtils.getBlockScopesOfNode(e[0])[0],r);return o?{callee:o,name:n}:null}},{key:"createObjectMembersCallsChain",value:function(e,t){if(m.NodeGuards.isIdentifierNode(t.property)&&!1===t.computed)e.unshift(t.property.name);else{if(!m.NodeGuards.isLiteralNode(t.property)||"string"!=typeof t.property.value&&"number"!=typeof t.property.value)return e;e.unshift(t.property.value)}return m.NodeGuards.isMemberExpressionNode(t.object)?this.createObjectMembersCallsChain(e,t.object):(m.NodeGuards.isIdentifierNode(t.object)&&e.unshift(t.object.name),e)}},{key:"getCalleeBlockStatement",value:function(e,t){var r=this,n=t.shift();if(!n)return null;var o=null;return f.traverse(e,{enter:function(e){if(m.NodeGuards.isVariableDeclaratorNode(e)&&m.NodeGuards.isIdentifierNode(e.id)&&e.init&&m.NodeGuards.isObjectExpressionNode(e.init)&&e.id.name===n)return o=r.findCalleeBlockStatement(e.init.properties,t),f.VisitorOption.Break}}),o}},{key:"findCalleeBlockStatement",value:function(e,t){var r=t.shift();if(!r)return null;var n=!0,a=!1,i=void 0;try{for(var s,c=(0,o.default)(e);!(n=(s=c.next()).done);n=!0){var d=s.value,u=m.NodeGuards.isIdentifierNode(d.key)&&d.key.name===r,l=m.NodeGuards.isLiteralNode(d.key)&&Boolean(d.key.value)&&d.key.value===r;if(u||l){if(m.NodeGuards.isObjectExpressionNode(d.value))return this.findCalleeBlockStatement(d.value.properties,t);if(m.NodeGuards.isFunctionExpressionNode(d.value))return d.value.body}}}catch(e){a=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(a)throw i}}return null}}]),t}(p.AbstractCalleeDataExtractor);N=u.__decorate([l.injectable()],N),t.ObjectExpressionCalleeDataExtractor=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=d.__importStar(r(18)),f=r(50),p=r(9),m=r(10),g=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){var r=null;return p.NodeGuards.isIdentifierNode(t)&&(r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name)),p.NodeGuards.isFunctionExpressionNode(t)&&(r=t.body),r?{callee:r,name:t.name||null}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e,n){if(p.NodeGuards.isFunctionExpressionNode(e)&&n&&p.NodeGuards.isVariableDeclaratorNode(n)&&p.NodeGuards.isIdentifierNode(n.id)&&n.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);g=d.__decorate([u.injectable()],g),t.FunctionExpressionCalleeDataExtractor=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=d.__importStar(r(18)),f=r(50),p=r(9),m=r(10),g=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){if(!p.NodeGuards.isIdentifierNode(t))return null;var r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name);return r?{callee:r,name:t.name}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e){if(p.NodeGuards.isFunctionDeclarationNode(e)&&e.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);g=d.__decorate([u.injectable()],g),t.FunctionDeclarationCalleeDataExtractor=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(28),o=r(2),a=r(4),i=r(69),s=r(215),c=r(214),d=r(213),u=r(212);t.analyzersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.IStackTraceAnalyzer).to(u.StackTraceAnalyzer).inSingletonScope(),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(s.FunctionDeclarationCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(c.FunctionExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(d.ObjectExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.Factory__ICalleeDataExtractor).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.ICalleeDataExtractor))})},function(e,t){e.exports=require("reflect-metadata")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(34);e.exports=n.JavaScriptObfuscator}]); +/*! +Copyright (C) 2016-2018 Timofey Kachalov + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +require("source-map-support").install(),module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r.w={},r(r.s=218)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("inversify")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Factory__ICalleeDataExtractor="Factory",e.Factory__IControlFlowCustomNode="Factory",e.Factory__IControlFlowReplacer="Factory",e.Factory__ICustomNode="Factory",e.Factory__ICustomNodeGroup="Factory",e.Factory__IDeadCodeInjectionCustomNode="Factory",e.Factory__IIdentifierNamesGenerator="Factory",e.Factory__IIdentifierObfuscatingReplacer="Factory",e.Factory__INodeGuard="Factory",e.Factory__INodeTransformer="Factory",e.Factory__IObfuscationResult="Factory",e.Factory__IObfuscatingReplacer="Factory",e.Factory__TControlFlowStorage="Factory",e.IArrayUtils="IArrayUtils",e.ICalleeDataExtractor="ICalleeDataExtractor",e.ICryptUtils="ICryptUtils",e.ICustomNode="ICustomNode",e.ICustomNodeGroup="ICustomNodeGroup",e.IControlFlowReplacer="IControlFlowReplacer",e.IEscapeSequenceEncoder="IEscapeSequenceEncoder",e.IIdentifierNamesGenerator="IIdentifierNamesGenerator",e.IIdentifierObfuscatingReplacer="IIdentifierObfuscatingReplacer",e.IJavaScriptObfuscator="IJavaScriptObfuscator",e.ILogger="ILogger",e.INodeGuard="INodeGuard",e.INodeTransformer="INodeTransformer",e.IObfuscationEventEmitter="IObfuscationEventEmitter",e.IObfuscationResult="IObfuscationResult",e.IOptions="IOptions",e.IOptionsNormalizer="IOptionsNormalizer",e.IObfuscatingReplacer="IObfuscatingReplacer",e.IRandomGenerator="IRandomGenerator",e.ISourceCode="ISourceCode",e.ISourceMapCorrector="ISourceMapCorrector",e.IStackTraceAnalyzer="IStackTraceAnalyzer",e.ITransformersRunner="ITransformersRunner",e.Newable__ICustomNode="Newable",e.Newable__TControlFlowStorage="Newable",e.TCustomNodeGroupStorage="TCustomNodeGroupStorage",e.TInputOptions="TInputOptions",e.TStringArrayStorage="TStringArrayStorage"}(t.ServiceIdentifiers||(t.ServiceIdentifiers={}))},function(e,t){e.exports=require("tslib")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-prototype-of")},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(27),s=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"isArrayPatternNode",value:function(e){return e.type===i.NodeType.ArrayPattern}},{key:"isArrowFunctionExpressionNode",value:function(e){return e.type===i.NodeType.ArrowFunctionExpression}},{key:"isAssignmentPatternNode",value:function(e){return e.type===i.NodeType.AssignmentPattern}},{key:"isAwaitExpressionNode",value:function(e){return e.type===i.NodeType.AwaitExpression}},{key:"isBlockStatementNode",value:function(e){return e.type===i.NodeType.BlockStatement}},{key:"isBreakStatementNode",value:function(e){return e.type===i.NodeType.BreakStatement}},{key:"isCallExpressionNode",value:function(e){return e.type===i.NodeType.CallExpression}},{key:"isCatchClauseNode",value:function(e){return e.type===i.NodeType.CatchClause}},{key:"isClassDeclarationNode",value:function(e){return e.type===i.NodeType.ClassDeclaration}},{key:"isContinueStatementNode",value:function(e){return e.type===i.NodeType.ContinueStatement}},{key:"isExportNamedDeclarationNode",value:function(e){return e.type===i.NodeType.ExportNamedDeclaration}},{key:"isExpressionStatementNode",value:function(e){return e.type===i.NodeType.ExpressionStatement}},{key:"isFunctionDeclarationNode",value:function(e){return e.type===i.NodeType.FunctionDeclaration}},{key:"isFunctionExpressionNode",value:function(e){return e.type===i.NodeType.FunctionExpression}},{key:"isIdentifierNode",value:function(e){return e.type===i.NodeType.Identifier}},{key:"isIfStatementNode",value:function(e){return e.type===i.NodeType.IfStatement}},{key:"isImportDeclarationNode",value:function(e){return e.type===i.NodeType.ImportDeclaration}},{key:"isLabelIdentifierNode",value:function(t,r){var n=e.isLabeledStatementNode(r)&&r.label===t,o=e.isContinueStatementNode(r)&&r.label===t,a=e.isBreakStatementNode(r)&&r.label===t;return n||o||a}},{key:"isLabeledStatementNode",value:function(e){return e.type===i.NodeType.LabeledStatement}},{key:"isLiteralNode",value:function(e){return e.type===i.NodeType.Literal}},{key:"isMemberExpressionNode",value:function(e){return e.type===i.NodeType.MemberExpression}},{key:"isMethodDefinitionNode",value:function(e){return e.type===i.NodeType.MethodDefinition}},{key:"isNode",value:function(e){return e&&void 0!==!e.type}},{key:"isNodeHasBlockScope",value:function(t,r){return e.isProgramNode(t)||e.isBlockStatementNode(t)&&e.nodesWithBlockScope.includes(r.type)}},{key:"isNodeHasScope",value:function(t){return e.isProgramNode(t)||e.isBlockStatementNode(t)||e.isSwitchCaseNode(t)}},{key:"isNodeWithComments",value:function(e){return Boolean(e.leadingComments)||Boolean(e.trailingComments)}},{key:"isObjectPatternNode",value:function(e){return e.type===i.NodeType.ObjectPattern}},{key:"isObjectExpressionNode",value:function(e){return e.type===i.NodeType.ObjectExpression}},{key:"isProgramNode",value:function(e){return e.type===i.NodeType.Program}},{key:"isPropertyNode",value:function(e){return e.type===i.NodeType.Property}},{key:"isReplaceableIdentifierNode",value:function(t,r){if(!e.isIdentifierNode(t))return!1;var n=e.isPropertyNode(r)&&!r.computed&&r.key===t,o=e.isMemberExpressionNode(r)&&!r.computed&&r.property===t,a=e.isMethodDefinitionNode(r)&&!r.computed,i=e.isLabelIdentifierNode(t,r);return!(n||o||a||i)}},{key:"isRestElementNode",value:function(e){return e.type===i.NodeType.RestElement}},{key:"isReturnStatementNode",value:function(e){return e.type===i.NodeType.ReturnStatement}},{key:"isSuperNode",value:function(e){return e.type===i.NodeType.Super}},{key:"isSwitchCaseNode",value:function(e){return e.type===i.NodeType.SwitchCase}},{key:"isTemplateLiteralNode",value:function(e){return e.type===i.NodeType.TemplateLiteral}},{key:"isUnaryExpressionNode",value:function(e){return e.type===i.NodeType.UnaryExpression}},{key:"isUseStrictOperator",value:function(e){return e.type===i.NodeType.ExpressionStatement&&"use strict"===e.directive}},{key:"isVariableDeclarationNode",value:function(e){return e.type===i.NodeType.VariableDeclaration}},{key:"isVariableDeclaratorNode",value:function(e){return e.type===i.NodeType.VariableDeclarator}},{key:"isWhileStatementNode",value:function(e){return e.type===i.NodeType.WhileStatement}}]),e}();s.nodesWithBlockScope=[i.NodeType.ArrowFunctionExpression,i.NodeType.FunctionDeclaration,i.NodeType.FunctionExpression,i.NodeType.MethodDefinition],t.NodeGuards=s},function(e,t,r){"use strict";var n=r(0),o=n(r(68)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(49)),c=__importStar(r(67)),d=__importStar(r(18)),u=r(9),l=r(19),f=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"addXVerbatimPropertyToLiterals",value:function(e){return d.replace(e,{leave:function(e){u.NodeGuards.isLiteralNode(e)&&(e["x-verbatim-property"]={content:e.raw,precedence:s.Precedence.Primary})}}),e}},{key:"clone",value:function(t){return e.parentize(e.cloneRecursive(t))}},{key:"convertCodeToStructure",value:function(t){var r=c.parse(t,{sourceType:"script"});return r=e.addXVerbatimPropertyToLiterals(r),r=e.parentize(r),d.replace(r,{enter:function(e){return l.NodeMetadata.set(e,{ignoredNode:!1}),e}}),r.body}},{key:"convertStructureToCode",value:function(e){return e.reduce(function(e,t){return e+s.generate(t,{sourceMapWithCode:!0}).code},"")}},{key:"getBlockScopesOfNode",value:function(t){return e.getBlockScopesOfNodeRecursive(t)}},{key:"getNextSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,1)}},{key:"getPreviousSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,-1)}},{key:"getScopeOfNode",value:function(t){var r=t.parentNode;if(!r)throw new ReferenceError("`parentNode` property of given node is `undefined`");return u.NodeGuards.isNodeHasScope(r)?r:e.getScopeOfNode(r)}},{key:"getUnaryExpressionArgumentNode",value:function(t){return u.NodeGuards.isUnaryExpressionNode(t.argument)?e.getUnaryExpressionArgumentNode(t.argument):t.argument}},{key:"parentize",value:function(t){return d.replace(t,{enter:e.parentizeNode}),t}},{key:"parentizeNode",value:function(e,t){return e.parentNode=t||e,e}},{key:"cloneRecursive",value:function(t){if(null===t)return t;var r={};for(var n in t)if(t.hasOwnProperty(n)&&"parentNode"!==n){var a=t[n],i=void 0;i=null===a||a instanceof RegExp?a:Array.isArray(a)?a.map(e.cloneRecursive):"object"===(0,o.default)(a)?e.cloneRecursive(a):a,r[n]=i}return r}},{key:"getBlockScopesOfNodeRecursive",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=t.parentNode;if(!o)throw new ReferenceError("`parentNode` property of given node is `undefined`");return u.NodeGuards.isBlockStatementNode(t)&&o===t&&r.push(t),(u.NodeGuards.isProgramNode(t)||n&&u.NodeGuards.isNodeHasBlockScope(t,o))&&r.push(t),t!==o?e.getBlockScopesOfNodeRecursive(o,r,++n):r}},{key:"getSiblingStatementNodeByOffset",value:function(t,r){var n=e.getScopeOfNode(t),o=u.NodeGuards.isSwitchCaseNode(n)?n.consequent:n.body;return o[o.indexOf(t)+r]||null}}]),e}();t.NodeUtils=f},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(208)),i=n(r(207)),s=n(r(206)),c=n(r(205)),d=n(r(204)),u=n(r(203)),l=n(r(32)),f=n(r(43));Object.defineProperty(t,"__esModule",{value:!0});var p={configurable:!0,enumerable:!0},m="_initialized",g="_initializablePropertiesSet",N="_wrappedMethodsSet",_="constructor";function v(e,t,r){(0,u.default)(e,r)||(0,d.default)(e,t,r)}t.initializable=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initialize",t=(0,f.default)(this)[0];return function(r,n){var u=r[e];if(!u||"function"!=typeof u)throw new Error("`".concat(e,"` method with initialization logic not ")+"found. `@".concat(t,"` decorator requires `").concat(e,"` method"));return v(m,!1,r),v(g,new l.default,r),v(N,new l.default,r),function(e,t){var r=(0,c.default)(e),n=[t,_];r.forEach(function(r){var c=(0,s.default)(g,e),d=(0,s.default)(N,e),u=n.includes(r)||c.has(r)||d.has(r);if(!u){var l=e[r];if("function"==typeof l){var f=(0,i.default)(e,r)||p,_=f.value;(0,a.default)(e,r,(0,o.default)({},f,{value:function(){if(!(0,s.default)(m,this))throw new Error("Class should be initialized with `".concat(t,"()` method"));return _.apply(this,arguments)}})),d.add(r)}}})}(r,e),function(e,t,r){var n=(0,i.default)(e,t)||p,s=n.value;(0,a.default)(e,t,(0,o.default)({},n,{value:function(){(0,d.default)(m,!0,this);var e=s.apply(this,arguments);return this[r],e}}))}(r,e,n),function(e,t){(0,s.default)(g,e).add(t);var r="_".concat(t),n=(0,i.default)(e,r)||p;return(0,a.default)(e,t,(0,o.default)({},n,{get:function(){if(void 0===this[r])throw new Error("Property `".concat(t,"` is not initialized! Initialize it first!"));return this[r]},set:function(e){this[r]=e}})),n}(r,n)}}},function(e,t){e.exports=require("@babel/runtime/core-js/object/assign")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Preparing="Preparing",e.DeadCodeInjection="DeadCodeInjection",e.ControlFlowFlattening="ControlFlowFlattening",e.Converting="Converting",e.Obfuscating="Obfuscating",e.Finalizing="Finalizing"}(t.TransformationStage||(t.TransformationStage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(49)),c=r(27),d=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"programNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}},{key:"arrayExpressionNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}},{key:"assignmentExpressionNode",value:function(e,t,r){return{type:c.NodeType.AssignmentExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"binaryExpressionNode",value:function(e,t,r){return{type:c.NodeType.BinaryExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"blockStatementNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}},{key:"breakStatement",value:function(e){var t={type:c.NodeType.BreakStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"callExpressionNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{type:c.NodeType.CallExpression,callee:e,arguments:t,metadata:{ignoredNode:!1}}}},{key:"continueStatement",value:function(e){var t={type:c.NodeType.ContinueStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"expressionStatementNode",value:function(e){return{type:c.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}},{key:"functionDeclarationNode",value:function(t,r,n){return{type:c.NodeType.FunctionDeclaration,id:e.identifierNode(t),params:r,body:n,generator:!1,metadata:{ignoredNode:!1}}}},{key:"functionExpressionNode",value:function(e,t){return{type:c.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}},{key:"ifStatementNode",value:function(e,t,r){return(0,o.default)({type:c.NodeType.IfStatement,test:e,consequent:t},r&&{alternate:r},{metadata:{ignoredNode:!1}})}},{key:"identifierNode",value:function(e){return{type:c.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}},{key:"literalNode",value:function(e,t){return t=void 0!==t?t:"'".concat(e,"'"),{type:c.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:s.Precedence.Primary},metadata:{ignoredNode:!1}}}},{key:"logicalExpressionNode",value:function(e,t,r){return{type:c.NodeType.LogicalExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"memberExpressionNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.MemberExpression,computed:r,object:e,property:t,metadata:{ignoredNode:!1}}}},{key:"methodDefinitionNode",value:function(e,t,r,n){return{type:c.NodeType.MethodDefinition,key:e,value:t,kind:r,computed:n,static:!1,metadata:{ignoredNode:!1}}}},{key:"objectExpressionNode",value:function(e){return{type:c.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}},{key:"propertyNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:r,metadata:{ignoredNode:!1}}}},{key:"returnStatementNode",value:function(e){return{type:c.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}},{key:"switchStatementNode",value:function(e,t){return{type:c.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}},{key:"switchCaseNode",value:function(e,t){return{type:c.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}},{key:"unaryExpressionNode",value:function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return{type:c.NodeType.UnaryExpression,operator:e,argument:t,prefix:r,metadata:{ignoredNode:!1}}}},{key:"updateExpressionNode",value:function(e,t){return{type:c.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}},{key:"variableDeclarationNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"var";return{type:c.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}},{key:"variableDeclaratorNode",value:function(e,t){return{type:c.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}},{key:"whileStatementNode",value:function(e,t){return{type:c.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}]),e}();t.NodeFactory=d},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=r(11),u=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"initialize",value:function(){this.nodeIdentifier=this.randomGenerator.getRandomInteger(0,1e4)}}]),e}();i.__decorate([d.initializable(),i.__metadata("design:type",Number)],u.prototype,"nodeIdentifier",void 0),i.__decorate([s.postConstruct(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[]),i.__metadata("design:returntype",void 0)],u.prototype,"initialize",null),u=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],u),t.AbstractNodeTransformer=u},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(2),d=r(4),u=r(184),l=r(183),f=i=function(){function e(t,r,n){(0,o.default)(this,e),this.cachedNode=null,this.identifierNamesGenerator=t(n),this.randomGenerator=r,this.options=n}return(0,a.default)(e,[{key:"getNode",value:function(){return this.cachedNode||(this.cachedNode=this.getNodeStructure()),this.cachedNode}},{key:"getGlobalVariableTemplate",value:function(){return this.randomGenerator.getRandomGenerator().pickone(i.globalVariableTemplateFunctions)}}]),e}();f.globalVariableTemplateFunctions=[u.GlobalVariableTemplate1(),l.GlobalVariableTemplate2()],f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(2,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Function,Object,Object])],f),t.AbstractCustomNode=f},function(e,t){e.exports=require("@babel/runtime/core-js/map")},function(e,t){e.exports=require("estraverse")},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"set",value:function(e,t){e.metadata=(0,o.default)(e.metadata||{},t)}},{key:"get",value:function(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}},{key:"isIgnoredNode",value:function(t){return!0===e.get(t,"ignoredNode")}},{key:"isRenamedIdentifier",value:function(t){return!0===e.get(t,"renamedIdentifier")}},{key:"isReplacedLiteral",value:function(t){return!0===e.get(t,"replacedLiteral")}}]),e}();t.NodeMetadata=s},function(e,t){e.exports=require("string-template")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Browser="browser",e.BrowserNoEval="browser-no-eval",e.Node="node"}(t.ObfuscationTarget||(t.ObfuscationTarget={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionFunctionNode="BinaryExpressionFunctionNode",e.BlockStatementControlFlowFlatteningNode="BlockStatementControlFlowFlatteningNode",e.CallExpressionControlFlowStorageCallNode="CallExpressionControlFlowStorageCallNode",e.CallExpressionFunctionNode="CallExpressionFunctionNode",e.ControlFlowStorageNode="ControlFlowStorageNode",e.ExpressionWithOperatorControlFlowStorageCallNode="ExpressionWithOperatorControlFlowStorageCallNode",e.LogicalExpressionFunctionNode="LogicalExpressionFunctionNode",e.StringLiteralControlFlowStorageCallNode="StringLiteralControlFlowStorageCallNode",e.StringLiteralNode="StringLiteralNode"}(t.ControlFlowCustomNode||(t.ControlFlowCustomNode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BaseIdentifierObfuscatingReplacer="BaseIdentifierObfuscatingReplacer"}(t.IdentifierObfuscatingReplacer||(t.IdentifierObfuscatingReplacer={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.AfterObfuscation="afterObfuscation",e.BeforeObfuscation="beforeObfuscation"}(t.ObfuscationEvent||(t.ObfuscationEvent={}))},function(e,t){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,t,r){"use strict";var n=r(0),o=n(r(25)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(9),c=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"appendNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t)).concat((0,o.default)(r)))}},{key:"appendNodeToOptimalBlockScope",value:function(t,r,n){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;o=t.length?e.getOptimalBlockScope(t,a):r,e.prependNode(o,n)}},{key:"getOptimalBlockScope",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,o=t[r];if(n<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return n>1&&o.stackTrace.length?e.getOptimalBlockScope(o.stackTrace,0,--n):o.callee}},{key:"insertNodeAfter",value:function(t,r,n){var o=e.getScopeNodeStatements(t).indexOf(n);e.insertNodeAtIndex(t,r,o+1)}},{key:"insertNodeAtIndex",value:function(t,r,n){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t).slice(0,n)).concat((0,o.default)(r),(0,o.default)(e.getScopeNodeStatements(t).slice(n))))}},{key:"prependNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(r).concat((0,o.default)(e.getScopeNodeStatements(t))))}},{key:"getScopeNodeStatements",value:function(e){return s.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}},{key:"parentizeScopeStatementsBeforeAppend",value:function(e,t){return t.forEach(function(t){t.parentNode=e}),t}},{key:"setScopeNodeStatements",value:function(e,t){s.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}]),e}();t.NodeAppender=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ArrayExpression="ArrayExpression",e.ArrayPattern="ArrayPattern",e.ArrowFunctionExpression="ArrowFunctionExpression",e.AssignmentExpression="AssignmentExpression",e.AssignmentPattern="AssignmentPattern",e.AwaitExpression="AwaitExpression",e.BinaryExpression="BinaryExpression",e.BlockStatement="BlockStatement",e.BreakStatement="BreakStatement",e.CallExpression="CallExpression",e.CatchClause="CatchClause",e.ClassDeclaration="ClassDeclaration",e.ContinueStatement="ContinueStatement",e.ExportNamedDeclaration="ExportNamedDeclaration",e.ExpressionStatement="ExpressionStatement",e.FunctionDeclaration="FunctionDeclaration",e.FunctionExpression="FunctionExpression",e.Identifier="Identifier",e.IfStatement="IfStatement",e.ImportDeclaration="ImportDeclaration",e.LabeledStatement="LabeledStatement",e.Literal="Literal",e.LogicalExpression="LogicalExpression",e.MemberExpression="MemberExpression",e.MethodDefinition="MethodDefinition",e.ObjectExpression="ObjectExpression",e.ObjectPattern="ObjectPattern",e.Program="Program",e.Property="Property",e.RestElement="RestElement",e.ReturnStatement="ReturnStatement",e.Super="Super",e.SwitchCase="SwitchCase",e.SwitchStatement="SwitchStatement",e.TemplateLiteral="TemplateLiteral",e.TryStatement="TryStatement",e.UnaryExpression="UnaryExpression",e.UpdateExpression="UpdateExpression",e.VariableDeclaration="VariableDeclaration",e.VariableDeclarator="VariableDeclarator",e.WhileStatement="WhileStatement"}(t.NodeType||(t.NodeType={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(2),c=r(4),d=r(216),u=r(211),l=r(197),f=r(191),p=r(144),m=r(143),g=r(140),N=r(139),_=r(127),v=r(112),y=r(102),h=r(97),b=r(91),S=r(53),I=r(88),C=r(86),F=r(85),O=r(84),j=r(83),T=function(){function e(){(0,a.default)(this,e),this.container=new s.Container}return(0,i.default)(e,[{key:"get",value:function(e){return this.container.get(e)}},{key:"getNamed",value:function(e,t){return this.container.getNamed(e,t)}},{key:"load",value:function(e,t){this.container.bind(c.ServiceIdentifiers.ISourceCode).toDynamicValue(function(){return new F.SourceCode(e)}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.TInputOptions).toDynamicValue(function(){return t}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ILogger).to(S.Logger).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IJavaScriptObfuscator).to(b.JavaScriptObfuscator).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ITransformersRunner).to(j.TransformersRunner).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationResult).to(C.ObfuscationResult).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.Factory__IObfuscationResult).toFactory(function(e){return function(t,r){var n=e.container.get(c.ServiceIdentifiers.IObfuscationResult);return n.initialize(t,r),n}}),this.container.bind(c.ServiceIdentifiers.ISourceMapCorrector).to(O.SourceMapCorrector).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationEventEmitter).to(I.ObfuscationEventEmitter).inSingletonScope(),this.container.load(d.analyzersModule),this.container.load(u.controlFlowTransformersModule),this.container.load(l.convertingTransformersModule),this.container.load(f.customNodesModule),this.container.load(p.finalizingTransformersModule),this.container.load(m.generatorsModule),this.container.load(g.nodeTransformersModule),this.container.load(N.obfuscatingTransformersModule),this.container.load(_.optionsModule),this.container.load(v.preparingTransformersModule),this.container.load(y.storagesModule),this.container.load(h.utilsModule)}},{key:"unload",value:function(){this.container.unbindAll()}}],[{key:"getFactory",value:function(e){return function(t){return function(r){return t.container.getNamed(e,r)}}}},{key:"getCacheFactory",value:function(e){return function(t){var r=new o.default;return function(n){if(r.has(n))return r.get(n);var o=t.container.getNamed(e,n);return r.set(n,o),o}}}},{key:"getConstructorFactory",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n-1||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0]).split(":")[0]}},{key:"isCeilNumber",value:function(e){return e%1==0}},{key:"stringRotate",value:function(e,t){if(!e)throw new ReferenceError("Cannot rotate empty string.");for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new s.InversifyContainerFacade;r.load(e,t);var n=r.get(i.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return r.unload(),n}},{key:"runCLI",value:function(e){var t=new c.JavaScriptObfuscatorCLI(e);t.initialize(),t.run()}}]),e}();t.JavaScriptObfuscator=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base64="base64",e.Rc4="rc4"}(t.StringArrayEncoding||(t.StringArrayEncoding={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Inline="inline",e.Separate="separate"}(t.SourceMapMode||(t.SourceMapMode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HexadecimalIdentifierNamesGenerator="hexadecimal",e.MangledIdentifierNamesGenerator="mangled"}(t.IdentifierNamesGenerator||(t.IdentifierNamesGenerator={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=function(){function e(t,r,n){(0,o.default)(this,e),this.identifierNamesGenerator=t(n),this.randomGenerator=r,this.options=n}return(0,a.default)(e,[{key:"getAppendEvent",value:function(){return this.appendEvent}},{key:"getCustomNodes",value:function(){return this.customNodes}},{key:"appendCustomNodeIfExist",value:function(e,t){var r=this.customNodes.get(e);r&&t(r)}},{key:"getRandomStackTraceIndex",value:function(e){return this.randomGenerator.getRandomInteger(0,Math.max(0,Math.round(e-1)))}}]),e}();d=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(2,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Function,Object,Object])],d),t.AbstractCustomNodeGroup=d},function(e,t){e.exports=require("@babel/runtime/core-js/get-iterator")},function(e,t,r){"use strict";var n=r(0)(r(1));Object.defineProperty(t,"__esModule",{value:!0});var o=r(5),a=r(2),i=r(4),s=function e(t){(0,n.default)(this,e),this.options=t};s=o.__decorate([a.injectable(),o.__param(0,a.inject(i.ServiceIdentifiers.IOptions)),o.__metadata("design:paramtypes",[Object])],s),t.AbstractObfuscatingReplacer=s},function(e,t){e.exports=require("@babel/runtime/helpers/get")},function(e,t,r){"use strict";var n=r(0)(r(61));Object.defineProperty(t,"__esModule",{value:!0});var o=r(37),a=r(21),i=r(36);t.NO_ADDITIONAL_NODES_PRESET=(0,n.default)({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!1,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,stringArray:!1,stringArrayEncoding:!1,stringArrayThreshold:0,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t){e.exports=require("@babel/runtime/core-js/object/keys")},function(e,t){e.exports=require("path")},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(5),c=s.__importStar(r(81)),d=s.__importStar(r(55)),u=s.__importStar(r(44)),l=r(11),f=r(46),p=r(80),m=r(79),g=r(78),N=r(77),_=r(76),v=r(75),y=r(74),h=r(34),b=r(71),S=function(){function e(t){(0,a.default)(this,e),this.rawArguments=t,this.arguments=t.slice(2)}return(0,i.default)(e,[{key:"initialize",value:function(){this.inputPath=u.normalize(this.arguments[0]||""),this.commands=new c.Command,this.configureCommands(),this.configureHelp(),this.inputCLIOptions=this.commands.opts()}},{key:"run",value:function(){if(!this.arguments.length||this.arguments.includes("--help"))return this.commands.outputHelp();var e=new b.SourceCodeReader(this.inputCLIOptions).readSourceCode(this.inputPath);this.processSourceCodeData(e)}},{key:"buildOptions",value:function(){var t=e.filterOptions(this.inputCLIOptions),r=this.inputCLIOptions.config,n=r?u.resolve(r,"."):"",a=n?y.CLIUtils.getUserConfig(n):{};return(0,o.default)({},f.DEFAULT_PRESET,a,t)}},{key:"configureCommands",value:function(){this.commands.usage(" [options]").version(d.version,"-v, --version").option("-o, --output ","Output path for obfuscated code").option("--compact ","Disable one line output code compacting",m.BooleanSanitizer).option("--config ","Name of js / json config file").option("--control-flow-flattening ","Enables control flow flattening",m.BooleanSanitizer).option("--control-flow-flattening-threshold ","The probability that the control flow flattening transformation will be applied to the node",parseFloat).option("--dead-code-injection ","Enables dead code injection",m.BooleanSanitizer).option("--dead-code-injection-threshold ","The probability that the dead code injection transformation will be applied to the node",parseFloat).option("--debug-protection ","Disable browser Debug panel (can cause DevTools enabled browser freeze)",m.BooleanSanitizer).option("--debug-protection-interval ","Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)",m.BooleanSanitizer).option("--disable-console-output ","Allow console.log, console.info, console.error and console.warn messages output into browser console",m.BooleanSanitizer).option("--domain-lock (comma separated, without whitespaces)","Blocks the execution of the code in domains that do not match the passed RegExp patterns (comma separated)",p.ArraySanitizer).option("--exclude (comma separated, without whitespaces)","A filename or glob which indicates files to exclude from obfuscation",p.ArraySanitizer).option("--identifier-names-generator [hexadecimal, mangled]","Sets identifier names generator (Default: hexadecimal)",g.IdentifierNamesGeneratorSanitizer).option("--identifiers-prefix ","Sets prefix for all global identifiers.").option("--log ","Enables logging of the information to the console",m.BooleanSanitizer).option("--reserved-names (comma separated, without whitespaces)","Disables obfuscation and generation of identifiers, which being matched by passed RegExp patterns (comma separated)",p.ArraySanitizer).option("--rename-globals ","Allows to enable obfuscation of global variable and function names with declaration.",m.BooleanSanitizer).option("--rotate-string-array ","Disable rotation of unicode array values during obfuscation",m.BooleanSanitizer).option("--seed ","Sets seed for random generator. This is useful for creating repeatable results.",parseFloat).option("--self-defending ","Disables self-defending for obfuscated code",m.BooleanSanitizer).option("--source-map ","Enables source map generation",m.BooleanSanitizer).option("--source-map-base-url ","Sets base url to the source map import url when `--source-map-mode=separate`").option("--source-map-file-name ","Sets file name for output source map when `--source-map-mode=separate`").option("--source-map-mode [inline, separate]","Specify source map output mode",_.SourceMapModeSanitizer).option("--string-array ","Disables gathering of all literal strings into an array and replacing every literal string with an array call",m.BooleanSanitizer).option("--string-array-encoding [true, false, base64, rc4]","Encodes all strings in strings array using base64 or rc4 (this option can slow down your code speed",v.StringArrayEncodingSanitizer).option("--string-array-threshold ","The probability that the literal string will be inserted into stringArray (Default: 0.8, Min: 0, Max: 1)",parseFloat).option("--target ","Allows to set target environment for obfuscated code.",N.ObfuscationTargetSanitizer).option("--transform-object-keys ","Enables transformation of object keys",m.BooleanSanitizer).option("--unicode-escape-sequence ","Allows to enable/disable string conversion to unicode escape sequence",m.BooleanSanitizer).parse(this.rawArguments)}},{key:"configureHelp",value:function(){this.commands.on("--help",function(){console.log(" Examples:\n"),console.log(" %> javascript-obfuscator input_file_name.js --compact true --self-defending false"),console.log(" %> javascript-obfuscator input_file_name.js --output output_file_name.js --compact true --self-defending false"),console.log(" %> javascript-obfuscator input_directory_name --compact true --self-defending false"),console.log("")})}},{key:"processSourceCodeData",value:function(e){var t=this,r=this.inputCLIOptions.output?u.normalize(this.inputCLIOptions.output):"";if(Array.isArray(e))e.forEach(function(e,n){var o=e.filePath,a=e.content,i=r?u.join(r,o):y.CLIUtils.getOutputCodePath(o);t.processSourceCode(a,i,n)});else{var n=r||y.CLIUtils.getOutputCodePath(this.inputPath);this.processSourceCode(e,n,null)}}},{key:"processSourceCode",value:function(t,r,n){var a=this.buildOptions();if(null!==n){var i=this.inputCLIOptions.identifiersPrefix||e.baseIdentifiersPrefix,s="".concat(i).concat(n);a=(0,o.default)({},a,{identifiersPrefix:s})}a.sourceMap?e.processSourceCodeWithSourceMap(t,r,a):e.processSourceCodeWithoutSourceMap(t,r,a)}}],[{key:"filterOptions",value:function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&void 0!==e[r]&&(t[r]=e[r]);return t}},{key:"processSourceCodeWithoutSourceMap",value:function(e,t,r){var n=h.JavaScriptObfuscator.obfuscate(e,r).getObfuscatedCode();y.CLIUtils.writeFile(t,n)}},{key:"processSourceCodeWithSourceMap",value:function(e,t,r){var n=y.CLIUtils.getOutputSourceMapPath(t,r.sourceMapFileName||"");r=(0,o.default)({},r,{sourceMapFileName:u.basename(n)});var a=h.JavaScriptObfuscator.obfuscate(e,r);y.CLIUtils.writeFile(t,a.getObfuscatedCode()),"separate"===r.sourceMapMode&&a.getSourceMap()&&y.CLIUtils.writeFile(n,a.getSourceMap())}}]),e}();S.encoding="utf8",S.obfuscatedFilePrefix="-obfuscated",S.baseIdentifiersPrefix="a",s.__decorate([l.initializable(),s.__metadata("design:type",Object)],S.prototype,"commands",void 0),s.__decorate([l.initializable(),s.__metadata("design:type",Object)],S.prototype,"inputCLIOptions",void 0),s.__decorate([l.initializable(),s.__metadata("design:type",String)],S.prototype,"inputPath",void 0),t.JavaScriptObfuscatorCLI=S},function(e,t,r){"use strict";var n=r(0)(r(61));Object.defineProperty(t,"__esModule",{value:!0});var o=r(37),a=r(21),i=r(36);t.DEFAULT_PRESET=(0,n.default)({compact:!0,config:"",controlFlowFlattening:!1,controlFlowFlatteningThreshold:.75,deadCodeInjection:!1,deadCodeInjectionThreshold:.4,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!0,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,stringArray:!0,stringArrayEncoding:!1,stringArrayThreshold:.75,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableNoEvalTemplate=function(){return"\n var that = (typeof window !== 'undefined'\n ? window\n : (typeof process === 'object' &&\n typeof require === 'function' &&\n typeof global === 'object')\n ? global\n : this);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(2),u=r(4),l=s=function(){function e(t,r,n){(0,a.default)(this,e),this.replacerDataByControlFlowStorageId=new o.default,this.controlFlowCustomNodeFactory=t,this.randomGenerator=r,this.options=n}return(0,i.default)(e,[{key:"insertCustomNodeToControlFlowStorage",value:function(e,t,r,n){var o=this,a=t.getStorageId(),i=s.getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId,a),c=i.get(r);if(this.randomGenerator.getMathRandom()1&&void 0!==arguments[1]?arguments[1]:i.randomGeneratorPool;return this.getRandomGenerator().string({length:e,pool:t})}},{key:"getSeed",value:function(){return this.seed}}]),e}();p.randomGeneratorPool="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",s.__decorate([f.initializable(),s.__metadata("design:type",Object)],p.prototype,"randomGenerator",void 0),s.__decorate([f.initializable(),s.__metadata("design:type",Number)],p.prototype,"seed",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],p.prototype,"initialize",null),p=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.ISourceCode)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],p),t.RandomGenerator=p},function(e,t,r){"use strict";var n=r(0),o=n(r(25)),a=n(r(39)),i=n(r(31)),s=n(r(17)),c=n(r(1)),d=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=function(){function e(t,r){(0,c.default)(this,e),this.randomGenerator=t,this.options=r}return(0,d.default)(e,[{key:"initialize",value:function(){this.storage=new s.default,this.storageId=this.randomGenerator.getRandomString(6)}},{key:"get",value:function(e){var t=this.storage.get(e);if(!t)throw new Error("No value found in map storage with key `".concat(e,"`"));return t}},{key:"getKeyOf",value:function(e){var t=!0,r=!1,n=void 0;try{for(var o,s=(0,a.default)(this.storage);!(t=(o=s.next()).done);t=!0){var c=o.value,d=(0,i.default)(c,2),u=d[0];if(e===d[1])return u}}catch(e){r=!0,n=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw n}}return null}},{key:"getLength",value:function(){return this.storage.size}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=new s.default((0,o.default)(this.storage).concat((0,o.default)(e.getStorage()))),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){this.storage.set(e,t)}}]),e}();u.__decorate([p.initializable(),u.__metadata("design:type",String)],m.prototype,"storageId",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",s.default)],m.prototype,"storage",void 0),u.__decorate([l.postConstruct(),u.__metadata("design:type",Function),u.__metadata("design:paramtypes",[]),u.__metadata("design:returntype",void 0)],m.prototype,"initialize",null),m=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],m),t.MapStorage=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlackListNodeGuard="BlackListNodeGuard",e.ConditionalCommentNodeGuard="ConditionalCommentNodeGuard"}(t.ObfuscatingGuard||(t.ObfuscatingGuard={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BooleanLiteralObfuscatingReplacer="BooleanLiteralObfuscatingReplacer",e.NumberLiteralObfuscatingReplacer="NumberLiteralObfuscatingReplacer",e.StringLiteralObfuscatingReplacer="StringLiteralObfuscatingReplacer"}(t.LiteralObfuscatingReplacer||(t.LiteralObfuscatingReplacer={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"isValidIdentifierName",value:function(e){return!this.options.reservedNames.length||!this.options.reservedNames.some(function(t){return null!==new RegExp(t,"g").exec(e)})}}]),e}();d=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],d),t.AbstractIdentifierNamesGenerator=d},function(e,t){e.exports=require("@babel/runtime/core-js/object/freeze")},function(e,t){e.exports=require("@babel/runtime/core-js/array/from")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ConsoleOutputCustomNodeGroup="ConsoleOutputCustomNodeGroup",e.DebugProtectionCustomNodeGroup="DebugProtectionCustomNodeGroup",e.DomainLockCustomNodeGroup="DomainLockCustomNodeGroup",e.SelfDefendingCustomNodeGroup="SelfDefendingCustomNodeGroup",e.StringArrayCustomNodeGroup="StringArrayCustomNodeGroup"}(t.CustomNodeGroup||(t.CustomNodeGroup={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlockStatementDeadCodeInjectionNode="BlockStatementDeadCodeInjectionNode"}(t.DeadCodeInjectionCustomNode||(t.DeadCodeInjectionCustomNode={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(22),p=r(48),m=r(9),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(f.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!m.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(p.AbstractControlFlowReplacer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.ExpressionWithOperatorControlFlowReplacer=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionControlFlowReplacer="BinaryExpressionControlFlowReplacer",e.CallExpressionControlFlowReplacer="CallExpressionControlFlowReplacer",e.LogicalExpressionControlFlowReplacer="LogicalExpressionControlFlowReplacer",e.StringLiteralControlFlowReplacer="StringLiteralControlFlowReplacer"}(t.ControlFlowReplacer||(t.ControlFlowReplacer={}))},function(e,t){e.exports=require("espree")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.FunctionDeclarationCalleeDataExtractor="FunctionDeclarationCalleeDataExtractor",e.FunctionExpressionCalleeDataExtractor="FunctionExpressionCalleeDataExtractor",e.ObjectExpressionCalleeDataExtractor="ObjectExpressionCalleeDataExtractor"}(t.CalleeDataExtractor||(t.CalleeDataExtractor={}))},function(e,t){e.exports=require("multimatch")},function(e,t,r){"use strict";var n=r(0),o=n(r(25)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(51)),c=__importStar(r(44)),d=__importDefault(r(70)),u=r(52),l=r(45),f=r(53),p=function(){function e(t){(0,a.default)(this,e),this.options=t}return(0,i.default)(e,[{key:"readSourceCode",value:function(t){if(e.isFilePath(t)&&this.isValidFile(t))return this.readFile(t);if(e.isDirectoryPath(t)&&this.isValidDirectory(t))return this.readDirectoryRecursive(t);var r=e.availableInputExtensions.map(function(e){return"`".concat(e,"`")}).join(", ");throw new ReferenceError("Given input path must be a valid ".concat(r," file or directory path"))}},{key:"readDirectoryRecursive",value:function(t){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return s.readdirSync(t,l.JavaScriptObfuscatorCLI.encoding).forEach(function(a){var i="".concat(t,"/").concat(a);if(e.isDirectoryPath(i)&&r.isValidDirectory(i))n.push.apply(n,(0,o.default)(r.readDirectoryRecursive(i)));else if(e.isFilePath(i)&&r.isValidFile(i)){var s=r.readFile(i);n.push({filePath:i,content:s})}}),n}},{key:"readFile",value:function(t){return e.logFilePath(t),s.readFileSync(t,l.JavaScriptObfuscatorCLI.encoding)}},{key:"isValidDirectory",value:function(t){return!e.isExcludedPath(t,this.options.exclude)}},{key:"isValidFile",value:function(t){return e.availableInputExtensions.includes(c.extname(t))&&!t.includes(l.JavaScriptObfuscatorCLI.obfuscatedFilePrefix)&&!e.isExcludedPath(t,this.options.exclude)}}],[{key:"isExcludedPath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!t.length)return!1;var r=c.basename(e),n=!!d.default([e],t).length;return t.some(function(t){return e.includes(t)||r.includes(t)})||n}},{key:"isDirectoryPath",value:function(e){try{return s.statSync(e).isDirectory()}catch(e){return!1}}},{key:"isFilePath",value:function(e){try{return s.statSync(e).isFile()}catch(e){return!1}}},{key:"logFilePath",value:function(e){var t=c.normalize(e);f.Logger.log(f.Logger.colorInfo,u.LoggingPrefix.CLI,"Obfuscating file: ".concat(t,"..."))}}]),e}();p.availableInputExtensions=[".js"],t.SourceCodeReader=p},function(e,t){function r(e){var t=new Error('Cannot find module "'+e+'".');throw t.code="MODULE_NOT_FOUND",t}r.keys=function(){return[]},r.resolve=r,e.exports=r,r.id=72},function(e,t){e.exports=require("mkdirp")},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=__importStar(r(51)),s=__importStar(r(73)),c=__importStar(r(44)),d=r(45),u=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"getOutputCodePath",value:function(e){return c.normalize(e).split(".").map(function(e,t){return 0===t?"".concat(e).concat(d.JavaScriptObfuscatorCLI.obfuscatedFilePrefix):e}).join(".")}},{key:"getOutputSourceMapPath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t&&(e="".concat(e.substring(0,e.lastIndexOf("/")),"/").concat(t)),/\.js\.map$/.test(e)?/\.js$/.test(e)&&(e+=".map"):e="".concat(e.split(".")[0],".js.map"),e}},{key:"getUserConfig",value:function(e){var t;try{t=r(72)(e)}catch(r){try{t=require(e)}catch(e){throw new ReferenceError("Given config path must be a valid `.js` or `.json` file path")}}return t}},{key:"writeFile",value:function(e,t){s.sync(c.dirname(e)),i.writeFileSync(e,t,{encoding:d.JavaScriptObfuscatorCLI.encoding})}}]),e}();t.CLIUtils=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(35);t.StringArrayEncodingSanitizer=function(e){switch(e){case"true":case"1":case n.StringArrayEncoding.Base64:return!0;case n.StringArrayEncoding.Rc4:return n.StringArrayEncoding.Rc4;default:return!1}}},function(e,t,r){"use strict";var n=r(0)(r(43));Object.defineProperty(t,"__esModule",{value:!0});var o=r(36);t.SourceMapModeSanitizer=function(e){if(!(0,n.default)(o.SourceMapMode).some(function(t){return o.SourceMapMode[t]===e}))throw new ReferenceError("Invalid value of `--source-map-mode` option");return e}},function(e,t,r){"use strict";var n=r(0)(r(43));Object.defineProperty(t,"__esModule",{value:!0});var o=r(21);t.ObfuscationTargetSanitizer=function(e){if(!(0,n.default)(o.ObfuscationTarget).some(function(t){return o.ObfuscationTarget[t]===e}))throw new ReferenceError("Invalid value of `--target` option");return e}},function(e,t,r){"use strict";var n=r(0)(r(43));Object.defineProperty(t,"__esModule",{value:!0});var o=r(37);t.IdentifierNamesGeneratorSanitizer=function(e){if(!(0,n.default)(o.IdentifierNamesGenerator).some(function(t){return o.IdentifierNamesGenerator[t]===e}))throw new ReferenceError("Invalid value of `--identifier-names-generator` option");return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanSanitizer=function(e){return"true"===e||"1"===e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArraySanitizer=function(e){if(/,$/.test(e))throw new SyntaxError("Multiple values should be wrapped inside quotes: --option-name 'value1, value2'");return e.split(",").map(function(e){return e.trim()})}},function(e,t){e.exports=require("commander")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Enter="enter",e.Leave="leave"}(t.VisitorDirection||(t.VisitorDirection={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=i.__importStar(r(18)),u=r(82),l=r(9),f=r(19),p=function(){function e(t){(0,o.default)(this,e),this.nodeTransformerFactory=t}return(0,a.default)(e,[{key:"transform",value:function(e,t,r){if(!t.length)return e;for(var n,o=[],a=[],i=t.length,s=0;s"),c="...".concat(o.substring(a,i).replace(/^\s+/,""),"...");throw new Error("Line ".concat(n.line,": ").concat(r,"\n").concat(s," ").concat(c))}}]),e}();u.colorError=d.default.red,u.nearestSymbolsCount=15,u.sourceTypes=["script","module"],t.EspreeFacade=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.EmptySourceCode="Empty source code. Obfuscation canceled...",e.ObfuscationCompleted="Obfuscation completed. Total time: %s sec.",e.ObfuscationStarted="Obfuscation started...",e.RandomGeneratorSeed="Random generator seed: %s...",e.TransformationStage="Transformation stage: %s...",e.Version="Version: %s"}(t.LoggingMessage||(t.LoggingMessage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(2),u=r(4),l=c.__importStar(r(49)),f=c.__importStar(r(55)),p=r(90),m=r(33),g=r(13),N=r(89),_=r(9),v=s=function(){function e(t,r,n,o,i){(0,a.default)(this,e),this.transformersRunner=t,this.sourceMapCorrector=r,this.randomGenerator=n,this.logger=o,this.options=i}return(0,i.default)(e,[{key:"obfuscate",value:function(e){var t=Date.now();this.logger.info(p.LoggingMessage.Version,f.version),this.logger.info(p.LoggingMessage.ObfuscationStarted),this.logger.info(p.LoggingMessage.RandomGeneratorSeed,this.randomGenerator.getSeed());var r=this.parseCode(e),n=this.transformAstTree(r),o=this.generateCode(e,n),a=(Date.now()-t)/1e3;return this.logger.success(p.LoggingMessage.ObfuscationCompleted,a),this.getObfuscationResult(o)}},{key:"parseCode",value:function(e){return N.EspreeFacade.parse(e,s.espreeParseOptions)}},{key:"transformAstTree",value:function(e){return!_.NodeGuards.isProgramNode(e)||e.body.length||e.leadingComments||e.trailingComments?(e=this.runTransformationStage(e,g.TransformationStage.Preparing),this.options.deadCodeInjection&&(e=this.runTransformationStage(e,g.TransformationStage.DeadCodeInjection)),this.options.controlFlowFlattening&&(e=this.runTransformationStage(e,g.TransformationStage.ControlFlowFlattening)),e=this.runTransformationStage(e,g.TransformationStage.Converting),e=this.runTransformationStage(e,g.TransformationStage.Obfuscating),e=this.runTransformationStage(e,g.TransformationStage.Finalizing)):(this.logger.warn(p.LoggingMessage.EmptySourceCode),e)}},{key:"generateCode",value:function(e,t){var r=(0,o.default)({},s.escodegenParams);this.options.sourceMap&&(r.sourceMap="sourceMap",r.sourceContent=e);var n=l.generate(t,(0,o.default)({},r,{format:{compact:this.options.compact}}));return n.map=n.map?n.map.toString():"",n}},{key:"getObfuscationResult",value:function(e){return this.sourceMapCorrector.correct(e.code,e.map)}},{key:"runTransformationStage",value:function(e,t){return this.logger.info(p.LoggingMessage.TransformationStage,t),this.transformersRunner.transform(e,s.transformersList,t)}}]),e}();v.espreeParseOptions={attachComment:!0,comment:!0,ecmaFeatures:{experimentalObjectRestSpread:!0},ecmaVersion:8,loc:!0,range:!0},v.escodegenParams={comment:!0,verbatim:"x-verbatim-property",sourceMapWithCode:!0},v.transformersList=[m.NodeTransformer.BlockStatementControlFlowTransformer,m.NodeTransformer.ClassDeclarationTransformer,m.NodeTransformer.CommentsTransformer,m.NodeTransformer.CustomNodesTransformer,m.NodeTransformer.DeadCodeInjectionTransformer,m.NodeTransformer.EvalCallExpressionTransformer,m.NodeTransformer.FunctionControlFlowTransformer,m.NodeTransformer.CatchClauseTransformer,m.NodeTransformer.FunctionDeclarationTransformer,m.NodeTransformer.FunctionTransformer,m.NodeTransformer.LabeledStatementTransformer,m.NodeTransformer.LiteralTransformer,m.NodeTransformer.MemberExpressionTransformer,m.NodeTransformer.MetadataTransformer,m.NodeTransformer.MethodDefinitionTransformer,m.NodeTransformer.ObfuscatingGuardsTransformer,m.NodeTransformer.ObjectExpressionKeysTransformer,m.NodeTransformer.ObjectExpressionTransformer,m.NodeTransformer.ParentificationTransformer,m.NodeTransformer.TemplateLiteralTransformer,m.NodeTransformer.VariableDeclarationTransformer],v=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.ITransformersRunner)),c.__param(1,d.inject(u.ServiceIdentifiers.ISourceMapCorrector)),c.__param(2,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(3,d.inject(u.ServiceIdentifiers.ILogger)),c.__param(4,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],v),t.JavaScriptObfuscator=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(5),c=r(2),d=function(){function e(){(0,a.default)(this,e),this.stringsCache=new o.default}return(0,i.default)(e,[{key:"encode",value:function(e,t){var r="".concat(e,"-").concat(String(t));if(this.stringsCache.has(r))return this.stringsCache.get(r);var n,o,a=new RegExp("[\\s\\S]","g"),i=new RegExp("['\"\\\\\\s]"),s=new RegExp("[\\x00-\\x7F]"),c=e.replace(a,function(e){return t||i.exec(e)?(s.exec(e)?(n="\\x",o="00"):(n="\\u",o="0000"),"".concat(n).concat((o+e.charCodeAt(0).toString(16)).slice(-o.length))):e});return this.stringsCache.set(r,c),c}}]),e}();d=s.__decorate([c.injectable()],d),t.EscapeSequenceEncoder=d},function(e,t){e.exports=require("chance")},function(e,t){e.exports=require("md5")},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(2),c=r(4),d=r(56),u=r(29),l=function(){function e(t){(0,o.default)(this,e),this.randomGenerator=t}return(0,a.default)(e,[{key:"btoa",value:function(e){var t="";e=encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode(parseInt("".concat(u.Utils.hexadecimalPrefix).concat(t)))});for(var r,n,o=0,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.charAt(0|o)||(a="=",o%1);t+=a.charAt(63&r>>8-o%1*8)){if((n=e.charCodeAt(o+=.75))>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");r=r<<8|n}return t}},{key:"hideString",value:function(e,t){var r=this,n=this.randomGenerator.getRandomGenerator().string({length:t,pool:d.RandomGenerator.randomGeneratorPool}).replace(new RegExp("[".concat(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"]"),"g"),""),o=n.split("");return this.randomGenerator.getRandomGenerator().shuffle(o),[function(e,t){for(var n=-1,o=-1,a="";n=0?t:null}},{key:"getLength",value:function(){return this.storageLength}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=(0,o.default)(this.storage).concat((0,o.default)(e.getStorage())),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){e===this.storageLength?this.storage.push(t):this.storage.splice(e,0,t),this.storageLength++}}]),e}();s.__decorate([u.initializable(),s.__metadata("design:type",Array)],l.prototype,"storage",void 0),s.__decorate([u.initializable(),s.__metadata("design:type",String)],l.prototype,"storageId",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],l.prototype,"initialize",null),l=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],l),t.ArrayStorage=l},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(41)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=r(98),g=u=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).identifierNamesGenerator=e(i),c.arrayUtils=r,c}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this);var e=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),r=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),n="".concat(this.options.identifiersPrefix).concat(e),a="".concat(this.options.identifiersPrefix).concat(r);this.storageId="".concat(n,"|").concat(a)}},{key:"rotateArray",value:function(e){this.storage=this.arrayUtils.arrayRotate(this.storage,e)}},{key:"toString",value:function(){return this.storage.map(function(e){return"'".concat(e,"'")}).toString()}}]),t}(m.ArrayStorage);g.stringArrayNameLength=7,l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],g.prototype,"initialize",null),g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IArrayUtils)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],g),t.StringArrayStorage=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(41)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=r(63),g=r(57),N=u=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).customNodeGroupFactory=e,i}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){var e=this;(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this),u.customNodeGroupsList.forEach(function(t){var r=e.customNodeGroupFactory(t);r&&e.storage.set(t,r)})}}]),t}(g.MapStorage);N.customNodeGroupsList=[m.CustomNodeGroup.ConsoleOutputCustomNodeGroup,m.CustomNodeGroup.DebugProtectionCustomNodeGroup,m.CustomNodeGroup.DomainLockCustomNodeGroup,m.CustomNodeGroup.SelfDefendingCustomNodeGroup,m.CustomNodeGroup.StringArrayCustomNodeGroup],l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],N.prototype,"initialize",null),N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNodeGroup)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],N),t.CustomNodeGroupStorage=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(7)),s=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var c=r(5),d=r(2),u=r(4),l=function(e){function t(e,r){return(0,a.default)(this,t),(0,i.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,s.default)(t,e),t}(r(57).MapStorage);l=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(1,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object])],l),t.ControlFlowStorage=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),o=r(4),a=r(101),i=r(100),s=r(99);t.storagesModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.TCustomNodeGroupStorage).to(i.CustomNodeGroupStorage).inSingletonScope(),e(o.ServiceIdentifiers.TStringArrayStorage).to(s.StringArrayStorage).inSingletonScope(),e(o.ServiceIdentifiers.Newable__TControlFlowStorage).toConstructor(a.ControlFlowStorage),e(o.ServiceIdentifiers.Factory__TControlFlowStorage).toFactory(function(e){return function(){var t=new(e.container.get(o.ServiceIdentifiers.Newable__TControlFlowStorage))(e.container.get(o.ServiceIdentifiers.IRandomGenerator),e.container.get(o.ServiceIdentifiers.IOptions));return t.initialize(),t}})})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(13),p=r(15),m=r(10),g=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return m.NodeUtils.parentizeNode(e,t)}}]),t}(p.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],g),t.ParentificationTransformer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(2),f=r(4),p=r(58),m=r(13),g=r(15),N=r(19),_=d=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).obfuscatingGuards=d.obfuscatingGuardsList.map(e),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.obfuscatingGuards.every(function(t){return t.check(e)});return N.NodeMetadata.set(e,{ignoredNode:!r}),e}}]),t}(g.AbstractNodeTransformer);_.obfuscatingGuardsList=[p.ObfuscatingGuard.BlackListNodeGuard,p.ObfuscatingGuard.ConditionalCommentNodeGuard],_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__INodeGuard)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.ObfuscatingGuardsTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(13),p=r(15),m=r(9),g=r(19),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return g.NodeMetadata.set(e,{ignoredNode:!1}),m.NodeGuards.isIdentifierNode(e)&&g.NodeMetadata.set(e,{renamedIdentifier:!1}),m.NodeGuards.isLiteralNode(e)&&g.NodeMetadata.set(e,{replacedLiteral:!1}),e}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.MetadataTransformer=N},function(e,t){e.exports=require("js-string-escape")},function(e,t,r){"use strict";var n=r(0),o=n(r(32)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=l.__importDefault(r(106)),g=r(13),N=r(15),_=r(14),v=r(9),y=r(10),h=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).evalRootAstHostNodeSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Preparing:return{enter:function(e,r){if(r&&v.NodeGuards.isCallExpressionNode(e)&&v.NodeGuards.isIdentifierNode(e.callee)&&"eval"===e.callee.name)return t.transformNode(e,r)}};case g.TransformationStage.Finalizing:return this.evalRootAstHostNodeSet.size?{leave:function(e,r){if(r&&t.isEvalRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"transformNode",value:function(e,t){var r=e.arguments[0];if(!r)return e;var n,o=u.extractEvalStringFromCallExpressionArgument(r);if(!o)return e;try{n=y.NodeUtils.convertCodeToStructure(o)}catch(t){return e}var a=_.NodeFactory.functionExpressionNode([],_.NodeFactory.blockStatementNode(n));return this.evalRootAstHostNodeSet.add(a),a}},{key:"restoreNode",value:function(e,t){var r=e.body.body,n=y.NodeUtils.convertStructureToCode(r);return _.NodeFactory.callExpressionNode(_.NodeFactory.identifierNode("eval"),[_.NodeFactory.literalNode(m.default(n))])}},{key:"isEvalRootAstHostNode",value:function(e){return v.NodeGuards.isFunctionExpressionNode(e)&&this.evalRootAstHostNodeSet.has(e)}}],[{key:"extractEvalStringFromCallExpressionArgument",value:function(e){return v.NodeGuards.isLiteralNode(e)?u.extractEvalStringFromLiteralNode(e):v.NodeGuards.isTemplateLiteralNode(e)?u.extractEvalStringFromTemplateLiteralNode(e):null}},{key:"extractEvalStringFromLiteralNode",value:function(e){return"string"==typeof e.value?e.value:null}},{key:"extractEvalStringFromTemplateLiteralNode",value:function(e){var t=e.quasis;return 1!==t.length||e.expressions.length?null:t[0].value.cooked}}]),t}(N.AbstractNodeTransformer);h=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],h),t.EvalCallExpressionTransformer=h},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(24),p=r(13),m=r(15),g=r(9),N=function(e){function t(e,r,n,i,c){var d;return(0,a.default)(this,t),(d=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,i,c))).stackTraceData=[],d.stackTraceAnalyzer=e,d.obfuscationEventEmitter=r,d.customNodeGroupStorage=n,d}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Preparing:return{leave:function(e,r){if(g.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),t.appendCustomNodesBeforeObfuscation(e,r),t.transformNode(e,r)}};case p.TransformationStage.Finalizing:return{leave:function(e,r){g.NodeGuards.isProgramNode(e)&&t.appendCustomNodesAfterObfuscation(e,r)}};default:return null}}},{key:"analyzeNode",value:function(e,t){this.stackTraceData=this.stackTraceAnalyzer.analyze(e)}},{key:"transformNode",value:function(e,t){return e}},{key:"appendCustomNodesBeforeObfuscation",value:function(e,t){var r=this;this.customNodeGroupStorage.getStorage().forEach(function(e){e.initialize(),r.obfuscationEventEmitter.once(e.getAppendEvent(),e.appendCustomNodes.bind(e))}),this.obfuscationEventEmitter.emit(f.ObfuscationEvent.BeforeObfuscation,e,this.stackTraceData)}},{key:"appendCustomNodesAfterObfuscation",value:function(e,t){this.obfuscationEventEmitter.emit(f.ObfuscationEvent.AfterObfuscation,e,this.stackTraceData)}}]),t}(m.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IStackTraceAnalyzer)),d.__param(1,u.inject(l.ServiceIdentifiers.IObfuscationEventEmitter)),d.__param(2,u.inject(l.ServiceIdentifiers.TCustomNodeGroupStorage)),d.__param(3,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(4,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],N),t.CustomNodesTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(1)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(2),d=r(9),u=i=function(){function e(){(0,o.default)(this,e),this.obfuscationAllowedForCurrentNode=!0,this.obfuscationAllowedForNextNode=null}return(0,a.default)(e,[{key:"check",value:function(e){if(this.obfuscationAllowedForNextNode&&(this.obfuscationAllowedForCurrentNode=this.obfuscationAllowedForNextNode,this.obfuscationAllowedForNextNode=null),!d.NodeGuards.isNodeWithComments(e))return this.obfuscationAllowedForCurrentNode;var t=e.leadingComments,r=e.trailingComments;return t&&(this.obfuscationAllowedForCurrentNode=this.checkComments(t)),r&&(this.obfuscationAllowedForNextNode=this.checkComments(r)),this.obfuscationAllowedForCurrentNode}},{key:"checkComments",value:function(e){for(var t=e.length,r=this.obfuscationAllowedForCurrentNode,n=0;n=u.minimumLengthForStringArray&&this.randomGenerator.getMathRandom()<=this.options.stringArrayThreshold}},{key:"getStringArrayHexadecimalIndex",value:function(e,t){if(this.stringLiteralHexadecimalIndexCache.has(e))return{fromCache:!0,index:this.stringLiteralHexadecimalIndexCache.get(e)};var r=v.Utils.decToHex(t),n="".concat(v.Utils.hexadecimalPrefix).concat(r);return this.stringLiteralHexadecimalIndexCache.set(e,n),{fromCache:!1,index:n}}},{key:"getEncodedValue",value:function(e){var t,r=null;switch(this.options.stringArrayEncoding){case m.StringArrayEncoding.Rc4:r=this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys),t=this.cryptUtils.btoa(this.cryptUtils.rc4(e,r));break;case m.StringArrayEncoding.Base64:t=this.cryptUtils.btoa(e);break;default:t=e}return{encodedValue:t,key:r}}},{key:"replaceWithLiteralNode",value:function(e){return _.NodeFactory.literalNode(this.escapeSequenceEncoder.encode(e,this.options.unicodeEscapeSequence))}},{key:"replaceWithStringArrayCallNode",value:function(e){var t=this.getEncodedValue(e),r=t.encodedValue,n=t.key,o=this.escapeSequenceEncoder.encode(r,this.options.unicodeEscapeSequence),a=this.stringArrayStorage.getLength(),i=this.stringArrayStorage.getStorageId().split("|")[1],s=this.getStringArrayHexadecimalIndex(o,a),c=s.fromCache,d=s.index;c||this.stringArrayStorage.set(a,o);var l=[u.getHexadecimalLiteralNode(d)];n&&l.push(u.getRc4KeyLiteralNode(this.escapeSequenceEncoder.encode(n,this.options.unicodeEscapeSequence)));var f=_.NodeFactory.identifierNode(i);return N.NodeMetadata.set(f,{renamedIdentifier:!0}),_.NodeFactory.callExpressionNode(f,l)}}],[{key:"getHexadecimalLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return N.NodeMetadata.set(t,{replacedLiteral:!0}),t}},{key:"getRc4KeyLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return N.NodeMetadata.set(t,{replacedLiteral:!0}),t}}]),t}(g.AbstractObfuscatingReplacer);y.minimumLengthForStringArray=3,y.rc4KeyLength=4,y.rc4KeysCount=50,y=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(1,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.ICryptUtils)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],y),t.StringLiteralObfuscatingReplacer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(40),m=r(14),g=r(29),N=function(e){function t(e){var r;return(0,i.default)(this,t),(r=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e))).numberLiteralCache=new o.default,r}return(0,d.default)(t,e),(0,s.default)(t,[{key:"replace",value:function(e){var t;return this.numberLiteralCache.has(e)?t=this.numberLiteralCache.get(e):(t=g.Utils.isCeilNumber(e)?"".concat(g.Utils.hexadecimalPrefix).concat(g.Utils.decToHex(e)):String(e),this.numberLiteralCache.set(e,t)),m.NodeFactory.literalNode(e,t)}}]),t}(p.AbstractObfuscatingReplacer);N=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object])],N),t.NumberLiteralObfuscatingReplacer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(68)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(59),m=r(13),g=r(15),N=r(9),_=r(19),v=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).literalObfuscatingReplacerFactory=e,o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&N.NodeGuards.isLiteralNode(e)&&!_.NodeMetadata.isReplacedLiteral(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.isProhibitedNode(e,t))return e;switch((0,o.default)(e.value)){case"boolean":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.BooleanLiteralObfuscatingReplacer).replace(e.value);case"number":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.NumberLiteralObfuscatingReplacer).replace(e.value);case"string":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.StringLiteralObfuscatingReplacer).replace(e.value);default:return e}}},{key:"isProhibitedNode",value:function(e,t){return!(!N.NodeGuards.isPropertyNode(t)||t.key!==e)||!!N.NodeGuards.isImportDeclarationNode(t)}}]),t}(g.AbstractNodeTransformer);v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.LiteralTransformer=v},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importStar(r(18)),p=r(23),m=r(13),g=r(15),N=r(9),_=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(p.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&N.NodeGuards.isLabeledStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeLabeledStatementName(e,r),this.replaceLabeledStatementName(e,r),e}},{key:"storeLabeledStatementName",value:function(e,t){this.identifierObfuscatingReplacer.storeLocalName(e.label.name,t)}},{key:"replaceLabeledStatementName",value:function(e,t){var r=this;f.replace(e,{enter:function(e,n){if(n&&N.NodeGuards.isLabelIdentifierNode(e,n)){var o=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=o.name}}})}}]),t}(g.AbstractNodeTransformer);_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.LabeledStatementTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(32)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importStar(r(18)),m=r(23),g=r(13),N=r(15),_=r(9),v=r(19),y=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&(_.NodeGuards.isFunctionDeclarationNode(e)||_.NodeGuards.isFunctionExpressionNode(e)||_.NodeGuards.isArrowFunctionExpressionNode(e)))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeFunctionParams(e,r),this.replaceFunctionParams(e,r),e}},{key:"storeFunctionParams",value:function(e,t){var r=this;e.params.forEach(function(e){if(_.NodeGuards.isObjectPatternNode(e))return p.VisitorOption.Skip;p.traverse(e,{enter:function(e){if(_.NodeGuards.isAssignmentPatternNode(e)&&_.NodeGuards.isIdentifierNode(e.left))return r.identifierObfuscatingReplacer.storeLocalName(e.left.name,t),p.VisitorOption.Skip;_.NodeGuards.isIdentifierNode(e)&&r.identifierObfuscatingReplacer.storeLocalName(e.name,t)}})})}},{key:"addIdentifiersToIgnoredIdentifierNamesSet",value:function(e,t){e.forEach(function(e){_.NodeGuards.isIdentifierNode(e.key)&&t.add(e.key.name)})}},{key:"replaceFunctionParams",value:function(e,t){var r=this,n=new o.default,a={enter:function(e,o){if(_.NodeGuards.isObjectPatternNode(e)&&r.addIdentifiersToIgnoredIdentifierNamesSet(e.properties,n),o&&_.NodeGuards.isReplaceableIdentifierNode(e,o)&&!n.has(e.name)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a&&(e.name=a,v.NodeMetadata.set(e,{renamedIdentifier:!0}))}}};e.params.forEach(function(e){return p.replace(e,a)}),p.replace(e.body,a)}}]),t}(N.AbstractNodeTransformer);y=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],y),t.FunctionTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importStar(r(18)),m=r(23),g=r(27),N=r(13),_=r(15),v=r(9),y=r(19),h=r(10),b=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isFunctionDeclarationNode(e)&&!v.NodeGuards.isExportNamedDeclarationNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0],o=n.type===g.NodeType.Program;return!this.options.renameGlobals&&o?e:(this.storeFunctionName(e,o,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(e,n,r):this.replaceScopeIdentifiers(n,r),e)}},{key:"storeFunctionName",value:function(e,t,r){t?this.identifierObfuscatingReplacer.storeGlobalName(e.id.name,r):this.identifierObfuscatingReplacer.storeLocalName(e.id.name,r)}},{key:"replaceScopeCachedIdentifiers",value:function(e,t,r){var n=this.replaceableIdentifiers.get(t);if(n){var o=n.get(e.id.name);if(o)for(var a=o.length,i=0;i=0);return"a".concat(n(r))},r=t(e);return this.isValidIdentifierName(r)||(r=this.generateNewMangledName(r)),r}}]),t}(m.AbstractIdentifierNamesGenerator);g.initMangledNameCharacter="9",g.nameSequence="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),g.reservedNames=["byte","case","char","do","else","enum","eval","for","goto","if","in","int","let","long","new","null","this","true","try","var","void","with"],g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],g),t.MangledIdentifierNamesGenerator=g},function(e,t,r){"use strict";var n=r(0),o=n(r(32)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=r(60),g=r(29),N=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).randomVariableNameSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"generate",value:function(){var e=this.randomGenerator.getRandomInteger(1e4,99999999),t=g.Utils.decToHex(e).substr(0,u.baseIdentifierNameLength),r="_".concat(g.Utils.hexadecimalPrefix).concat(t);return this.randomVariableNameSet.has(r)?this.generate():(this.randomVariableNameSet.add(r),r)}},{key:"generateWithPrefix",value:function(){var e=this.generate();return"".concat(this.options.identifiersPrefix).concat(e).replace("__","_")}}]),t}(m.AbstractIdentifierNamesGenerator);N.baseIdentifierNameLength=6,N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],N),t.HexadecimalIdentifierNamesGenerator=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),o=r(4),a=r(37),i=r(142),s=r(141);t.generatorsModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(i.HexadecimalIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator),e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(s.MangledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator),e(o.ServiceIdentifiers.Factory__IIdentifierNamesGenerator).toFactory(function(e){var t=null;return function(r){if(t)return t;var n;switch(r.identifierNamesGenerator){case a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator);break;case a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator:default:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator)}return t=n,n}})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2);t.finalizingTransformersModule=new n.ContainerModule(function(e){})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.literalValue=e}},{key:"getNodeStructure",value:function(){return[m.NodeFactory.expressionStatementNode(m.NodeFactory.literalNode(this.literalValue))]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"literalValue",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.StringLiteralNode=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.controlFlowStorageName=e,this.controlFlowStorageKey=t}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageName",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.StringLiteralControlFlowStorageCallNode=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.False="![]",e.True="!![]",e.a='(false+"")[1]',e.b='([]["entries"]()+"")[2]',e.c='([]["fill"]+"")[3]',e.d='(undefined+"")[2]',e.e='(true+"")[3]',e.f='(false+"")[0]',e.g="(false+[0]+String)[20]",e.h='(+(101))["toString"](21)[1]',e.i="([false]+undefined)[10]",e.j='([]["entries"]()+"")[3]',e.k='(+(20))["toString"](21)',e.l='(false+"")[2]',e.m='(Number+"")[11]',e.n='(undefined+"")[1]',e.o='(true+[]["fill"])[10]',e.p='(+(211))["toString"](31)[1]',e.q='(+(212))["toString"](31)[1]',e.r='(true+"")[1]',e.s='(false+"")[3]',e.t='(true+"")[0]',e.u='(undefined+"")[0]',e.v='(+(31))["toString"](32)',e.w='(+(32))["toString"](33)',e.x='(+(101))["toString"](34)[1]',e.y="(NaN+[Infinity])[10]",e.z='(+(35))["toString"](36)',e.A="(+[]+Array)[10]",e.B="(+[]+Boolean)[10]",e.C='Function("return escape")()(("")["italics"]())[2]',e.D='Function("return escape")()([]["fill"])["slice"]("-1")',e.E='(RegExp+"")[12]',e.F="(+[]+Function)[10]",e.G='(false+Function("return Date")()())[30]',e.H="'H'",e.I='(Infinity+"")[0]',e.J="'J'",e.K="'K'",e.L="'L'",e.M='(true+Function("return Date")()())[30]',e.N='(NaN+"")[0]',e.O='(NaN+Function("return{}")())[11]',e.P="'P'",e.Q="'Q'",e.R="(+[]+RegExp)[10]",e.S="(+[]+String)[10]",e.T='(NaN+Function("return Date")()())[30]',e.U='(NaN+Function("return{}")()["toString"]["call"]())[11]',e.V="'V'",e.W="'W'",e.X="'X'",e.Y="'Y'",e.Z="'Z'"}(t.JSFuck||(t.JSFuck={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionTemplate=function(){return"\n (function (array, {timesName}) {\n var {whileFunctionName} = function (times) {\n while (--times) {\n array['push'](array['shift']());\n }\n };\n \n {code}\n })({stringArrayName}, 0x{stringArrayRotateValue});\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var selfDefendingFunc = function () {\n var object = {\n data: {\n key: 'cookie',\n value: 'timeout'\n },\n setCookie: function (options, name, value, document) {\n document = document || {};\n \n var updatedCookie = name + \"=\" + value;\n\n var i = 0;\n \n for (var i = 0, len = options.length; i < len; i++) {\n var propName = options[i];\n \n updatedCookie += \"; \" + propName;\n \n var propValue = options[propName];\n \n options.push(propValue);\n len = options.length;\n \n if (propValue !== true) {\n updatedCookie += \"=\" + propValue;\n }\n }\n\n document['cookie'] = updatedCookie;\n },\n removeCookie: function(){return 'dev';},\n getCookie: function (document, name) {\n document = document || function (value) { return value };\n var matches = document(new RegExp(\n \"(?:^|; )\" + name.replace(/([.$?*|{}()[]\\/+^])/g, '\\$1') + \"=([^;]*)\"\n ));\n \n var func = function (param1, param2) {\n param1(++param2);\n };\n \n func({whileFunctionName}, {timesName});\n \n return matches ? decodeURIComponent(matches[1]) : undefined;\n }\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return regExp.test(object.removeCookie.toString());\n };\n \n object['updateCookie'] = test1;\n \n var cookie = '';\n var result = object['updateCookie']();\n \n if (!result) {\n object['setCookie'](['*'], 'counter', 1);\n } else if (result) {\n cookie = object['getCookie'](null, 'counter');\n } else {\n object['removeCookie']();\n }\n };\n \n selfDefendingFunc();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(42),N=r(149),_=r(148),v=r(16),y=r(34),h=r(10),b=r(29),S=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayRotateValue=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r="";return r=this.options.selfDefending?p.default(N.SelfDefendingTemplate(this.escapeSequenceEncoder),{timesName:e,whileFunctionName:t}):"".concat(t,"(++").concat(e,")"),y.JavaScriptObfuscator.obfuscate(p.default(_.StringArrayRotateFunctionTemplate(),{code:r,timesName:e,stringArrayName:this.stringArrayName,stringArrayRotateValue:b.Utils.decToHex(this.stringArrayRotateValue),whileFunctionName:t}),(0,o.default)({},g.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}}]),t}(v.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],S.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],S.prototype,"stringArrayRotateValue",void 0),S=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],S),t.StringArrayRotateFunctionNode=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTemplate=function(){return"\n var {stringArrayName} = [{stringArray}];\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(41)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(151),N=r(16),_=r(10),v=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.stringArrayStorage=e,this.stringArrayName=t,this.stringArrayRotateValue=r}},{key:"getNode",value:function(){return this.stringArrayStorage.rotateArray(this.stringArrayRotateValue),(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"getNode",this).call(this)}},{key:"getNodeStructure",value:function(){return _.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return p.default(g.StringArrayTemplate(),{stringArrayName:this.stringArrayName,stringArray:this.stringArrayStorage.toString()})}}]),t}(N.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",Object)],v.prototype,"stringArrayStorage",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",String)],v.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],v.prototype,"stringArrayRotateValue",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.StringArrayNode=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRc4DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {rc4Polyfill}\n {stringArrayCallsWrapperName}.").concat(r," = rc4;\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n\n if (cachedValue === undefined) {\n if ({stringArrayCallsWrapperName}.").concat(o," === undefined) {\n {selfDefendingCode}\n \n {stringArrayCallsWrapperName}.").concat(o," = true;\n }\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value, key);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperTemplate=function(){return"\n var {stringArrayCallsWrapperName} = function (index, key) {\n index = index - 0;\n \n var value = {stringArrayName}[index];\n \n {decodeNodeTemplate}\n \n return value;\n };\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayBase64DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {stringArrayCallsWrapperName}.").concat(r," = function (str) {\n var string = atob(str);\n var newStringChars = [];\n \n for (var i = 0, length = string.length; i < length; i++) {\n newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);\n }\n \n return decodeURIComponent(newStringChars);\n };\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n \n if (cachedValue === undefined) {\n {selfDefendingCode}\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e,t){var r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6),a=e.getRandomString(6),i=e.getRandomString(6),s=e.getRandomString(6),c=e.getRandomString(6),d=e.getRandomString(6),u=e.getRandomString(6);return"\n var StatesClass = function (".concat(r,") {\n this.").concat(r," = ").concat(r,";\n this.").concat(n," = [1, 0, 0];\n this.").concat(o," = function(){return 'newState';};\n this.").concat(a," = '").concat(t.encode("\\w+ *\\(\\) *{\\w+ *",!0),"';\n this.").concat(i," = '").concat(t.encode("['|\"].+['|\"];? *}",!0),"';\n };\n \n StatesClass.prototype.").concat(s," = function () {\n var regExp = new RegExp(this.").concat(a," + this.").concat(i,");\n var expression = regExp.test(this.").concat(o,".toString())\n ? --this.").concat(n,"[1]\n : --this.").concat(n,"[0];\n \n return this.").concat(c,"(expression);\n };\n \n StatesClass.prototype.").concat(c," = function (").concat(u,") {\n if (!Boolean(~").concat(u,")) {\n return ").concat(u,";\n }\n \n return this.").concat(d,"(this.").concat(r,");\n };\n\n StatesClass.prototype.").concat(d," = function (").concat(r,") {\n for (var i = 0, len = this.").concat(n,".length; i < len; i++) {\n this.").concat(n,".push(Math.round(Math.random()));\n len = this.").concat(n,".length;\n }\n \n return ").concat(r,"(this.").concat(n,"[0]);\n };\n\n new StatesClass({stringArrayCallsWrapperName}).").concat(s,"();\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rc4Template=function(){return"\n var rc4 = function (str, key) {\n var s = [], j = 0, x, res = '', newStr = '';\n \n str = atob(str);\n \n for (var k = 0, length = str.length; k < length; k++) {\n newStr += '%' + ('00' + str.charCodeAt(k).toString(16)).slice(-2);\n }\n \n str = decodeURIComponent(newStr);\n \t \n\t for (var i = 0; i < 256; i++) {\n s[i] = i;\n }\n \n for (i = 0; i < 256; i++) {\n j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n }\n \n i = 0;\n j = 0;\n \n for (var y = 0; y < str.length; y++) {\n i = (i + 1) % 256;\n j = (j + s[i]) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);\n }\n \n return res;\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AtobTemplate=function(){return"\n (function () {\n {globalVariableTemplate}\n \n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n that.atob || (\n that.atob = function(input) {\n var str = String(input).replace(/=+$/, '');\n for (\n var bc = 0, bs, buffer, idx = 0, output = '';\n buffer = str.charAt(idx++);\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n buffer = chars.indexOf(buffer);\n }\n return output;\n });\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(21),g=r(35),N=r(11),_=r(42),v=r(158),y=r(47),h=r(157),b=r(156),S=r(155),I=r(154),C=r(153),F=r(16),O=r(34),j=r(10),T=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayCallsWrapperName=t}},{key:"getNodeStructure",value:function(){return j.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.getDecodeStringArrayTemplate();return O.JavaScriptObfuscator.obfuscate(p.default(I.StringArrayCallsWrapperTemplate(),{decodeNodeTemplate:e,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}},{key:"getDecodeStringArrayTemplate",value:function(){var e=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():y.GlobalVariableNoEvalTemplate(),t=p.default(v.AtobTemplate(),{globalVariableTemplate:e}),r="",n="";switch(this.options.selfDefending&&(n=p.default(b.SelfDefendingTemplate(this.randomGenerator,this.escapeSequenceEncoder),{stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName})),this.options.stringArrayEncoding){case g.StringArrayEncoding.Rc4:r=p.default(C.StringArrayRc4DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,rc4Polyfill:h.Rc4Template(),selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName});break;case g.StringArrayEncoding.Base64:r=p.default(S.StringArrayBase64DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}return r}}]),t}(F.AbstractCustomNode);u.__decorate([N.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayName",void 0),u.__decorate([N.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayCallsWrapperName",void 0),T=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],T),t.StringArrayCallsWrapper=T},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var {selfDefendingFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func1 = function(){return 'dev';},\n func2 = function () {\n return 'window';\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return !regExp.test(func1.toString());\n };\n \n var test2 = function () {\n var regExp = new RegExp('").concat(e.encode("(\\\\[x|u](\\w){2,4})+",!0),"');\n \n return regExp.test(func2.toString());\n };\n \n var recursiveFunc1 = function (string) {\n var i = ~-1 >> 1 + 255 % 0;\n \n if (string.indexOf('i' === i)) {\n recursiveFunc2(string)\n }\n };\n \n var recursiveFunc2 = function (string) {\n var i = ~-4 >> 1 + 255 % 0;\n \n if (string.indexOf((true+\"\")[3]) !== i) {\n recursiveFunc1(string)\n }\n };\n \n if (!test1()) {\n if (!test2()) {\n recursiveFunc1('indеxOf');\n } else {\n recursiveFunc1('indexOf');\n }\n } else {\n recursiveFunc1('indеxOf');\n }\n })\n \n {selfDefendingFunctionName}();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(42),N=r(160),_=r(16),v=r(34),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return v.JavaScriptObfuscator.obfuscate(p.default(N.SelfDefendingTemplate(this.escapeSequenceEncoder),{selfDefendingFunctionName:this.identifierNamesGenerator.generate(),singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},g.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed,unicodeEscapeSequence:!0})).getObfuscatedCode()}}]),t}(_.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.SelfDefendingUnicodeNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleNodeCallControllerTemplate=function(){return"\n var {singleNodeCallControllerFunctionName} = (function(){\n var firstCall = true;\n \n return function (context, fn){\n var rfn = firstCall ? function(){\n if(fn){\n var res = fn.apply(context, arguments);\n fn = null;\n return res;\n }\n } : function(){}\n \n firstCall = false;\n \n return rfn;\n }\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(24),g=r(11),N=r(162),_=r(42),v=r(16),y=r(34),h=r(10),b=function(e){function t(e,r,n){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.appendEvent=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return this.appendEvent===m.ObfuscationEvent.AfterObfuscation?y.JavaScriptObfuscator.obfuscate(p.default(N.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode():p.default(N.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],b.prototype,"callsControllerFunctionName",void 0),u.__decorate([g.initializable(),u.__metadata("design:type",String)],b.prototype,"appendEvent",void 0),b=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],b),t.NodeCallsControllerFunctionNode=b},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.logicalExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"operator",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.LogicalExpressionFunctionNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r,n){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.leftValue=r,this.rightValue=n}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.leftValue,this.rightValue]));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageName",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],N.prototype,"leftValue",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],N.prototype,"rightValue",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.ExpressionWithOperatorControlFlowStorageCallNode=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockNodeTemplate=function(){return'\n var {domainLockFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n \n {globalVariableTemplate}\n \n var func = function () {\n return {\n key: \'item\',\n value: \'attribute\',\n getAttribute: function () {\n for (var i = 0; i < 1000; i--) {\n var isPositive = i > 0;\n \n switch (isPositive) {\n case true:\n return this.item + \'_\' + this.value + \'_\' + i;\n default:\n this.item + \'_\' + this.value;\n }\n }\n }()\n };\n };\n \n var regExp = new RegExp("[{diff}]", "g");\n var domains = "{domains}".replace(regExp, "").split(";");\n var document;\n var domain;\n \n for (var d in that) {\n if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) {\n document = d;\n \n break;\n }\n }\n\n for (var d1 in that[document]) {\n if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) {\n domain = d1;\n \n break;\n }\n }\n \n if ((!document && !domain) || (!that[document] && !that[document][domain])) {\n return;\n }\n \n var currentDomain = that[document][domain];\n\n var ok = false;\n \n for (var i = 0; i < domains.length; i++) {\n var domain = domains[i];\n var position = currentDomain.length - domain.length;\n var lastIndex = currentDomain.indexOf(domain, position);\n var endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(".") === 0) {\n ok = true;\n }\n \n break;\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n });\n\n {domainLockFunctionName}();\n '}},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=u.__importDefault(r(20)),m=r(21),g=r(11),N=r(166),_=r(47),v=r(16),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).cryptUtils=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.domainLock.join(";"),t=this.cryptUtils.hideString(e,3*e.length),r=(0,o.default)(t,2),n=r[0],a=r[1],i=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():_.GlobalVariableNoEvalTemplate();return p.default(N.DomainLockNodeTemplate(),{domainLockFunctionName:this.identifierNamesGenerator.generate(),diff:a,domains:n,globalVariableTemplate:i,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.ICryptUtils)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.DomainLockNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionTemplate=function(){return"\n function {debugProtectionFunctionName} (ret) {\n function debuggerProtection (counter) {\n \n {debuggerTemplate}\n \n debuggerProtection(++counter);\n }\n \n try {\n if (ret) {\n return debuggerProtection;\n } else {\n debuggerProtection(0);\n }\n } catch (y) {}\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplateNoEval=function(){return"\n if (typeof counter === 'string') {\n var func = function () {\n while (true) {}\n };\n \n return func();\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n debugger;\n } else {\n debugger;\n }\n \n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplate=function(){return"\n if (typeof counter === 'string') {\n return (function (arg) {}.constructor('while (true) {}').apply('counter'));\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n (function () {return true;}.constructor('debu' + 'gger').call('action'));\n } else {\n (function () {return false;}.constructor('debu' + 'gger').apply('stateObject'));\n }\n \n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importDefault(r(20)),p=r(21),m=r(11),g=r(170),N=r(169),_=r(168),v=r(16),y=r(10),h=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?g.DebuggerTemplate():N.DebuggerTemplateNoEval();return f.default(_.DebugProtectionFunctionTemplate(),{debuggerTemplate:e,debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(v.AbstractCustomNode);d.__decorate([m.initializable(),d.__metadata("design:type",String)],h.prototype,"debugProtectionFunctionName",void 0),h=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],h),t.DebugProtectionFunctionNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalTemplate=function(){return"\n setInterval(function () {\n {debugProtectionFunctionName}();\n }, 4000);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(172),g=r(16),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return N.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionIntervalTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(g.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionIntervalNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallTemplate=function(){return"\n (function () {\n {singleNodeCallControllerFunctionName}(this, function () {\n var regExp1 = new RegExp('function *\\\\( *\\\\)');\n var regExp2 = new RegExp('\\\\+\\\\+ *\\(?:_0x(?:[a-f0-9]){4,6}|(?:\\\\b|\\\\d)[a-z0-9]{1,4}(?:\\\\b|\\\\d)\\)', 'i');\n \n var result = {debugProtectionFunctionName}('init');\n \n if (!regExp1.test(result + 'chain') || !regExp2.test(result + 'input')) {\n result('0');\n } else {\n {debugProtectionFunctionName}();\n }\n })();\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(174),g=r(16),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.debugProtectionFunctionName=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return N.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionCallTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(g.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"callsControllerFunctionName",void 0),d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionCallNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableExpressionTemplate=function(){return"\n var {consoleLogDisableFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func = function () {};\n \n {globalVariableTemplate}\n \n if (!that.console) {\n that.console = (function (func){\n var c = {};\n \n c.log = func;\n c.warn = func;\n c.debug = func;\n c.info = func;\n c.error = func;\n c.exception = func;\n c.trace = func;\n \n return c;\n })(func);\n } else {\n that.console.log = func;\n that.console.warn = func;\n that.console.debug = func;\n that.console.info = func;\n that.console.error = func;\n that.console.exception = func;\n that.console.trace = func;\n }\n });\n \n {consoleLogDisableFunctionName}();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=d.__importDefault(r(20)),p=r(21),m=r(176),g=r(47),N=r(11),_=r(16),v=r(10),y=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return v.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():g.GlobalVariableNoEvalTemplate();return f.default(m.ConsoleOutputDisableExpressionTemplate(),{consoleLogDisableFunctionName:this.identifierNamesGenerator.generate(),globalVariableTemplate:e,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(_.AbstractCustomNode);d.__decorate([N.initializable(),d.__metadata("design:type",String)],y.prototype,"callsControllerFunctionName",void 0),y=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ConsoleOutputDisableExpressionNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(62)),i=n(r(8)),s=n(r(1)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(2),p=r(4),m=r(11),g=r(16),N=r(14),_=r(9),v=r(10),y=function(e){function t(e,r,n){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r,n))}return(0,u.default)(t,e),(0,c.default)(t,[{key:"initialize",value:function(e){this.controlFlowStorage=e}},{key:"getNodeStructure",value:function(){var e=(0,a.default)(this.controlFlowStorage.getStorage()).map(function(e){var t=(0,o.default)(e,2),r=t[0],n=t[1].getNode()[0];if(!_.NodeGuards.isExpressionStatementNode(n))throw new Error("Function node for control flow storage object should be passed inside the `ExpressionStatement` node!");return N.NodeFactory.propertyNode(N.NodeFactory.identifierNode(r),n.expression)}),t=N.NodeFactory.variableDeclarationNode([N.NodeFactory.variableDeclaratorNode(N.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()),N.NodeFactory.objectExpressionNode(e))]);return[t=v.NodeUtils.parentize(t)]}}]),t}(g.AbstractCustomNode);l.__decorate([m.initializable(),l.__metadata("design:type",Object)],y.prototype,"controlFlowStorage",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ControlFlowStorageNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.expressionArguments=e}},{key:"getNodeStructure",value:function(){for(var e=m.NodeFactory.identifierNode("callee"),t=[],r=this.expressionArguments.length,n=0;n.5,t=this.randomGenerator.getMathRandom()>.5,r=e?"===":"!==",n=this.randomGenerator.getRandomString(5),a=t?n:this.randomGenerator.getRandomString(5),i=e===t?[this.blockStatementNode,this.deadCodeInjectionRootAstHostNode]:[this.deadCodeInjectionRootAstHostNode,this.blockStatementNode],s=(0,o.default)(i,2),c=s[0],d=s[1],u=g.NodeFactory.blockStatementNode([g.NodeFactory.ifStatementNode(g.NodeFactory.binaryExpressionNode(r,g.NodeFactory.literalNode(n),g.NodeFactory.literalNode(a)),c,d)]);return N.NodeUtils.parentize(u),[u]}}]),t}(m.AbstractCustomNode);u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"blockStatementNode",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"deadCodeInjectionRootAstHostNode",void 0),_=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementDeadCodeInjectionNode=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(9),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.blockStatementBody=e,this.shuffledKeys=t,this.originalKeysIndexesInShuffledArray=r}},{key:"getNodeStructure",value:function(){var e=this,t=this.randomGenerator.getRandomString(6),r=this.randomGenerator.getRandomString(6),n=m.NodeFactory.blockStatementNode([m.NodeFactory.variableDeclarationNode([m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(t),m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join("|")),m.NodeFactory.identifierNode("split")),[m.NodeFactory.literalNode("|")])),m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(r),m.NodeFactory.literalNode(0))]),m.NodeFactory.whileStatementNode(m.NodeFactory.literalNode(!0),m.NodeFactory.blockStatementNode([m.NodeFactory.switchStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(t),m.NodeFactory.updateExpressionNode("++",m.NodeFactory.identifierNode(r)),!0),this.shuffledKeys.map(function(t,r){var n=e.blockStatementBody[t],o=[n];return g.NodeGuards.isReturnStatementNode(n)||o.push(m.NodeFactory.continueStatement()),m.NodeFactory.switchCaseNode(m.NodeFactory.literalNode(String(r)),o)})),m.NodeFactory.breakStatement()]))]);return N.NodeUtils.parentize(n),[n]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"blockStatementBody",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"originalKeysIndexesInShuffledArray",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"shuffledKeys",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementControlFlowFlatteningNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate2=function(){return"\n var getGlobal = function () {\n var globalObject;\n \n try {\n globalObject = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');')();\n } catch (e) {\n globalObject = window;\n }\n \n return globalObject;\n };\n var that = getGlobal();\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate1=function(){return"\n var that;\n \n try {\n var getGlobal = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');');\n \n that = getGlobal();\n } catch (e) {\n that = window;\n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(11),p=r(16),m=r(14),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.binaryExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"operator",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.BinaryExpressionFunctionNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(17)),i=n(r(8)),s=n(r(1)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(2),p=r(4),m=r(11),g=r(30),N=r(24),_=r(38),v=r(26),y=function(e){function t(e,r,n,o,a){var c;return(0,s.default)(this,t),(c=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,n,o,a))).appendEvent=N.ObfuscationEvent.AfterObfuscation,c.customNodeFactory=e,c.stringArrayStorage=r,c}return(0,u.default)(t,e),(0,c.default)(t,[{key:"appendCustomNodes",value:function(e,t){this.stringArrayStorage.getLength()&&(this.appendCustomNodeIfExist(g.CustomNode.StringArrayNode,function(t){v.NodeAppender.prependNode(e,t.getNode())}),this.appendCustomNodeIfExist(g.CustomNode.StringArrayCallsWrapper,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}),this.appendCustomNodeIfExist(g.CustomNode.StringArrayRotateFunctionNode,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}))}},{key:"initialize",value:function(){if(this.customNodes=new a.default,this.options.stringArray){var e,t=this.customNodeFactory(g.CustomNode.StringArrayNode),r=this.customNodeFactory(g.CustomNode.StringArrayCallsWrapper),n=this.customNodeFactory(g.CustomNode.StringArrayRotateFunctionNode),i=this.stringArrayStorage.getStorageId().split("|"),s=(0,o.default)(i,2),c=s[0],d=s[1];e=this.options.rotateStringArray?this.randomGenerator.getRandomInteger(100,500):0,t.initialize(this.stringArrayStorage,c,e),r.initialize(c,d),n.initialize(c,e),this.customNodes.set(g.CustomNode.StringArrayNode,t),this.customNodes.set(g.CustomNode.StringArrayCallsWrapper,r),this.options.rotateStringArray&&this.customNodes.set(g.CustomNode.StringArrayRotateFunctionNode,n)}}}]),t}(_.AbstractCustomNodeGroup);l.__decorate([m.initializable(),l.__metadata("design:type",a.default)],y.prototype,"customNodes",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(2,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Function,Object,Object])],y),t.StringArrayCustomNodeGroup=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=r(30),g=r(24),N=r(38),_=r(26),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.AfterObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.SelfDefendingUnicodeNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.selfDefending){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.SelfDefendingUnicodeNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.SelfDefendingUnicodeNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.SelfDefendingCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=r(30),g=r(24),N=r(38),_=r(26),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DomainLockNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.domainLock.length){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.DomainLockNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.DomainLockNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DomainLockCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=r(30),g=r(24),N=r(38),_=r(26),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this,n=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionCallNode,function(r){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,r.getNode(),n)}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionNode,function(t){_.NodeAppender.appendNode(e,t.getNode())}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionIntervalNode,function(t){var n=e.body.length,o=r.randomGenerator.getRandomInteger(0,n);_.NodeAppender.insertNodeAtIndex(e,t.getNode(),o)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(r){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,n,1):e,_.NodeAppender.prependNode(o,r.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.debugProtection){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionNode),n=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionCallNode),a=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionIntervalNode),i=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);r.initialize(e),n.initialize(e,t),a.initialize(e),i.initialize(this.appendEvent,t),this.customNodes.set(m.CustomNode.DebugProtectionFunctionNode,r),this.customNodes.set(m.CustomNode.DebugProtectionFunctionCallNode,n),this.options.debugProtectionInterval&&this.customNodes.set(m.CustomNode.DebugProtectionFunctionIntervalNode,a),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,i)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DebugProtectionCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=r(4),p=r(11),m=r(30),g=r(24),N=r(38),_=r(26),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.ConsoleOutputDisableExpressionNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.disableConsoleOutput){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.ConsoleOutputDisableExpressionNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.ConsoleOutputDisableExpressionNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.ConsoleOutputCustomNodeGroup=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(28),o=r(2),a=r(4),i=r(22),s=r(30),c=r(63),d=r(64),u=r(190),l=r(189),f=r(188),p=r(187),m=r(186),g=r(185),N=r(182),_=r(181),v=r(180),y=r(179),h=r(178),b=r(177),S=r(175),I=r(173),C=r(171),F=r(167),O=r(165),j=r(164),T=r(163),k=r(161),x=r(159),w=r(152),E=r(150),G=r(146),R=r(145);t.customNodesModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.ICustomNode).to(b.ConsoleOutputDisableExpressionNode).whenTargetNamed(s.CustomNode.ConsoleOutputDisableExpressionNode),e(a.ServiceIdentifiers.ICustomNode).to(S.DebugProtectionFunctionCallNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionCallNode),e(a.ServiceIdentifiers.ICustomNode).to(I.DebugProtectionFunctionIntervalNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionIntervalNode),e(a.ServiceIdentifiers.ICustomNode).to(C.DebugProtectionFunctionNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(F.DomainLockNode).whenTargetNamed(s.CustomNode.DomainLockNode),e(a.ServiceIdentifiers.ICustomNode).to(T.NodeCallsControllerFunctionNode).whenTargetNamed(s.CustomNode.NodeCallsControllerFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(k.SelfDefendingUnicodeNode).whenTargetNamed(s.CustomNode.SelfDefendingUnicodeNode),e(a.ServiceIdentifiers.ICustomNode).to(x.StringArrayCallsWrapper).whenTargetNamed(s.CustomNode.StringArrayCallsWrapper),e(a.ServiceIdentifiers.ICustomNode).to(w.StringArrayNode).whenTargetNamed(s.CustomNode.StringArrayNode),e(a.ServiceIdentifiers.ICustomNode).to(E.StringArrayRotateFunctionNode).whenTargetNamed(s.CustomNode.StringArrayRotateFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(g.BinaryExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.BinaryExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(N.BlockStatementControlFlowFlatteningNode).whenTargetNamed(i.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(v.CallExpressionControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(y.CallExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(h.ControlFlowStorageNode).whenTargetNamed(i.ControlFlowCustomNode.ControlFlowStorageNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(O.ExpressionWithOperatorControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(j.LogicalExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.LogicalExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(R.StringLiteralNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(G.StringLiteralControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(_.BlockStatementDeadCodeInjectionNode).whenTargetNamed(d.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode),e(a.ServiceIdentifiers.ICustomNodeGroup).to(u.ConsoleOutputCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.ConsoleOutputCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(l.DebugProtectionCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DebugProtectionCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(f.DomainLockCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DomainLockCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(p.SelfDefendingCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.SelfDefendingCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(m.StringArrayCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.StringArrayCustomNodeGroup),e(a.ServiceIdentifiers.Factory__ICustomNode).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNode)),e(a.ServiceIdentifiers.Factory__IControlFlowCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__ICustomNodeGroup).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNodeGroup))})},function(e,t,r){"use strict";var n=r(0),o=n(r(25)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=l.__importStar(r(18)),g=r(13),N=r(15),_=r(14),v=r(9),y=r(10),h=u=function(e){function t(e,r){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Converting:return{enter:function(e,r){if(r&&v.NodeGuards.isReturnStatementNode(e)&&null===e.argument)return t.fixEsprimaReturnStatementTemplateLiteralNode(e)},leave:function(e,r){if(r&&v.NodeGuards.isTemplateLiteralNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=e.expressions,n=[];if(e.quasis.forEach(function(e){n.push(_.NodeFactory.literalNode(e.value.cooked));var t=r.shift();t&&n.push(t)}),n=n.filter(function(e){return!(v.NodeGuards.isLiteralNode(e)&&""===e.value)}),u.isLiteralNodeWithStringValue(n[0])||u.isLiteralNodeWithStringValue(n[1])||n.unshift(_.NodeFactory.literalNode("")),n.length>1){var o=_.NodeFactory.binaryExpressionNode("+",n.shift(),n.shift());return n.forEach(function(e){o=_.NodeFactory.binaryExpressionNode("+",o,e)}),o}return n[0]}},{key:"fixEsprimaReturnStatementTemplateLiteralNode",value:function(e){var t=y.NodeUtils.getScopeOfNode(e),r=v.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,n=r.indexOf(e);if(n===r.length-2){var a=r[n+1];if(a&&v.NodeGuards.isExpressionStatementNode(a)){var i=!1;if(m.traverse(a,{enter:function(e,t){if(v.NodeGuards.isTemplateLiteralNode(e))return i=!0,m.VisitorOption.Break}}),i)return e.argument=a.expression,r.pop(),v.NodeGuards.isSwitchCaseNode(t)?t.consequent=(0,o.default)(r):t.body=(0,o.default)(r),e}}}}],[{key:"isLiteralNodeWithStringValue",value:function(e){return e&&v.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value}}]),t}(N.AbstractNodeTransformer);h=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],h),t.TemplateLiteralTransformer=h},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=r(4),f=r(13),p=r(15),m=r(14),g=r(9),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Converting:return{enter:function(e,r){if(r&&g.NodeGuards.isObjectExpressionNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return e.properties.forEach(function(e){e.computed||(e.shorthand&&(e.shorthand=!1),g.NodeGuards.isIdentifierNode(e.key)&&(e.key=m.NodeFactory.literalNode(e.key.name)))}),e}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.ObjectExpressionTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(17)),i=n(r(8)),s=n(r(1)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l,f=r(5),p=r(2),m=r(4),g=r(13),N=r(15),_=r(26),v=r(14),y=r(9),h=r(10),b=l=function(e){function t(e,r){var n;return(0,s.default)(this,t),(n=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r))).cachedScopeNodesMap=new a.default,n}return(0,u.default)(t,e),(0,c.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Converting:return{enter:function(e,r){if(t.options.transformObjectKeys&&r&&y.NodeGuards.isObjectExpressionNode(e)&&y.NodeGuards.isVariableDeclaratorNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(!y.NodeGuards.isIdentifierNode(t.id))return e;var r=h.NodeUtils.getScopeOfNode(t);return r&&y.NodeGuards.isNodeHasScope(r)?(this.cachedScopeNodesMap.set(t,r),this.transformObjectExpressionNode(e,t.id,t)):e}},{key:"extractPropertiesToExpressionStatements",value:function(e,t,r){for(var n=e.length,o=[],a=[],i=0;if.hostNodeSearchMinDepth&&t.splice(0,f.hostNodeSearchMinDepth),t.length>f.hostNodeSearchMaxDepth&&(t.length=f.hostNodeSearchMaxDepth),this.randomGenerator.getRandomGenerator().pickone(t))}},{key:"isVisitedFunctionNode",value:function(e){return(I.NodeGuards.isFunctionDeclarationNode(e)||I.NodeGuards.isFunctionExpressionNode(e)||I.NodeGuards.isArrowFunctionExpressionNode(e))&&this.visitedFunctionNodes.has(e)}},{key:"transformFunctionBody",value:function(e,t){var r=this;N.replace(e,{enter:function(e,n){if(C.NodeMetadata.isIgnoredNode(e))return N.VisitorOption.Skip;if(r.isVisitedFunctionNode(e)||!n)return N.VisitorOption.Skip;if(!f.controlFlowReplacersMap.has(e.type))return e;if(r.randomGenerator.getMathRandom()>r.options.controlFlowFlatteningThreshold)return e;var a=f.controlFlowReplacersMap.get(e.type);return void 0===a?e:(0,o.default)({},r.controlFlowReplacerFactory(a).replace(e,n,t),{parentNode:n})}})}}]),t}(b.AbstractNodeTransformer);O.controlFlowReplacersMap=new i.default([[y.NodeType.BinaryExpression,v.ControlFlowReplacer.BinaryExpressionControlFlowReplacer],[y.NodeType.CallExpression,v.ControlFlowReplacer.CallExpressionControlFlowReplacer],[y.NodeType.LogicalExpression,v.ControlFlowReplacer.LogicalExpressionControlFlowReplacer],[y.NodeType.Literal,v.ControlFlowReplacer.StringLiteralControlFlowReplacer]]),O.hostNodeSearchMinDepth=0,O.hostNodeSearchMaxDepth=2,O=f=p.__decorate([m.injectable(),p.__param(0,m.inject(g.ServiceIdentifiers.Factory__TControlFlowStorage)),p.__param(1,m.inject(g.ServiceIdentifiers.Factory__IControlFlowReplacer)),p.__param(2,m.inject(g.ServiceIdentifiers.Factory__IControlFlowCustomNode)),p.__param(3,m.inject(g.ServiceIdentifiers.IRandomGenerator)),p.__param(4,m.inject(g.ServiceIdentifiers.IOptions)),p.__metadata("design:paramtypes",[Function,Function,Function,Object,Object])],O),t.FunctionControlFlowTransformer=O},function(e,t,r){"use strict";var n=r(0),o=n(r(32)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(2),p=r(4),m=l.__importStar(r(18)),g=r(64),N=r(33),_=r(27),v=r(13),y=r(15),h=r(14),b=r(9),S=r(10),I=u=function(e){function t(e,r,n,s){var d;return(0,i.default)(this,t),(d=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,n,s))).deadCodeInjectionRootAstHostNodeSet=new o.default,d.collectedBlockStatements=[],d.collectedBlockStatementsTotalLength=0,d.deadCodeInjectionCustomNodeFactory=e,d.transformersRunner=r,d}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case v.TransformationStage.DeadCodeInjection:return{enter:function(e,r){if(r&&b.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),e},leave:function(e,r){if(r&&b.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};case v.TransformationStage.Finalizing:return this.deadCodeInjectionRootAstHostNodeSet.size?{enter:function(e,r){if(r&&t.isDeadCodeInjectionRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"analyzeNode",value:function(e,t){var r=this;m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)){var t=S.NodeUtils.clone(e);u.isValidCollectedBlockStatementNode(t)&&(S.NodeUtils.parentizeNode(t,t),t=r.transformersRunner.transform(t,u.transformersToRenameBlockScopeIdentifiers,v.TransformationStage.Obfuscating),r.collectedBlockStatements.push(t))}}}),this.collectedBlockStatementsTotalLength=this.collectedBlockStatements.length}},{key:"transformNode",value:function(e,t){if(!this.collectedBlockStatements.length||this.collectedBlockStatementsTotalLengththis.options.deadCodeInjectionThreshold||!u.isValidWrappedBlockStatementNode(e))return e;var r=this.collectedBlockStatements.length-1,n=this.randomGenerator.getRandomInteger(0,r),o=this.collectedBlockStatements.splice(n,1)[0];return o===e?e:this.replaceBlockStatementNode(e,o,t)}},{key:"restoreNode",value:function(e,t){var r=e.body[0];if(!b.NodeGuards.isFunctionDeclarationNode(r))throw new Error("Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node");return r.body}},{key:"isDeadCodeInjectionRootAstHostNode",value:function(e){return b.NodeGuards.isBlockStatementNode(e)&&this.deadCodeInjectionRootAstHostNodeSet.has(e)}},{key:"replaceBlockStatementNode",value:function(e,t,r){var n=h.NodeFactory.blockStatementNode([h.NodeFactory.functionDeclarationNode(u.deadCodeInjectionRootAstHostNodeName,[],t)]);this.deadCodeInjectionRootAstHostNodeSet.add(n);var o=this.deadCodeInjectionCustomNodeFactory(g.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode);o.initialize(e,n);var a=o.getNode()[0];return S.NodeUtils.parentizeNode(a,r),a}}],[{key:"isProhibitedNodeInsideCollectedBlockStatement",value:function(e){return b.NodeGuards.isBreakStatementNode(e)||b.NodeGuards.isContinueStatementNode(e)||b.NodeGuards.isAwaitExpressionNode(e)||b.NodeGuards.isSuperNode(e)}},{key:"isScopeHoistingFunctionDeclaration",value:function(e){if(!b.NodeGuards.isFunctionDeclarationNode(e))return!1;var t=S.NodeUtils.getScopeOfNode(e),r=b.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,n=r.indexOf(e);if(0===n)return!1;var o=r.slice(0,n),a=h.NodeFactory.blockStatementNode(o),i=e.id.name,s=!1;return m.traverse(a,{enter:function(e){if(b.NodeGuards.isIdentifierNode(e)&&e.name===i)return s=!0,m.VisitorOption.Break}}),s}},{key:"isValidCollectedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=0,r=!0;return m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)&&t++,t>u.maxNestedBlockStatementsCount||u.isProhibitedNodeInsideCollectedBlockStatement(e)||u.isScopeHoistingFunctionDeclaration(e))return r=!1,m.VisitorOption.Break}}),r}},{key:"isValidWrappedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=!0;return m.traverse(e,{enter:function(e){if(u.isScopeHoistingFunctionDeclaration(e))return t=!1,m.VisitorOption.Break}}),!!t&&S.NodeUtils.getBlockScopesOfNode(e)[0].type!==_.NodeType.Program}}]),t}(y.AbstractNodeTransformer);I.deadCodeInjectionRootAstHostNodeName="deadCodeInjectionRootAstHostNode",I.maxNestedBlockStatementsCount=4,I.minCollectedBlockStatementsCount=5,I.transformersToRenameBlockScopeIdentifiers=[N.NodeTransformer.CatchClauseTransformer,N.NodeTransformer.ClassDeclarationTransformer,N.NodeTransformer.FunctionDeclarationTransformer,N.NodeTransformer.FunctionTransformer,N.NodeTransformer.LabeledStatementTransformer,N.NodeTransformer.VariableDeclarationTransformer],I=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.ITransformersRunner)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],I),t.DeadCodeInjectionTransformer=I},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(2),f=r(4),p=r(22),m=r(48),g=r(9),N=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.callee;if(!g.NodeGuards.isIdentifierNode(n))return e;var o=String(e.arguments.length),a=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionFunctionNode),i=e.arguments;a.initialize(i);var s=this.insertCustomNodeToControlFlowStorage(a,r,o,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),s,n,i)}},{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!g.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(m.AbstractControlFlowReplacer);N.usingExistingIdentifierChance=.5,N=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],N),t.CallExpressionControlFlowReplacer=N},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/has-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/define-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-names")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/get-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-descriptor")},function(e,t){e.exports=require("@babel/runtime/core-js/object/define-property")},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(2),f=r(4),p=u.__importStar(r(18)),m=r(22),g=r(13),N=r(15),_=r(9),v=r(10),y=d=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).controlFlowCustomNodeFactory=e,c.arrayUtils=r,c}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.ControlFlowFlattening:return{leave:function(e,r){if(r&&_.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold||!d.canTransformBlockStatementNode(e))return e;var r=e.body,n=this.arrayUtils.arrayRange(r.length),o=this.arrayUtils.arrayShuffle(n),a=n.map(function(e){return o.indexOf(e)}),i=this.controlFlowCustomNodeFactory(m.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode);i.initialize(r,o,a);var s=i.getNode()[0];return v.NodeUtils.parentizeNode(s,t),s}}],[{key:"blockStatementHasProhibitedStatements",value:function(e){return e.body.some(function(e){var t=_.NodeGuards.isBreakStatementNode(e)||_.NodeGuards.isContinueStatementNode(e),r=_.NodeGuards.isVariableDeclarationNode(e)&&("const"===e.kind||"let"===e.kind),n=_.NodeGuards.isClassDeclarationNode(e);return _.NodeGuards.isFunctionDeclarationNode(e)||t||r||n})}},{key:"canTransformBlockStatementNode",value:function(e){var t=!0;return p.traverse(e,{enter:function(e){if(_.NodeGuards.isWhileStatementNode(e))return p.VisitorOption.Skip;_.NodeGuards.isBlockStatementNode(e)&&d.blockStatementHasProhibitedStatements(e)&&(t=!1)}}),e.body.length<=4&&(t=!1),t}}]),t}(N.AbstractNodeTransformer);y=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IArrayUtils)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],y),t.BlockStatementControlFlowTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(2),f=r(4),p=r(22),m=r(65),g=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.operator,o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.BinaryExpressionFunctionNode);o.initialize(n);var a=this.insertCustomNodeToControlFlowStorage(o,r,n,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}}]),t}(m.ExpressionWithOperatorControlFlowReplacer);g.usingExistingIdentifierChance=.5,g=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],g),t.BinaryExpressionControlFlowReplacer=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(28),o=r(2),a=r(4),i=r(66),s=r(33),c=r(210),d=r(209),u=r(202),l=r(201),f=r(200),p=r(199),m=r(198);t.controlFlowTransformersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.INodeTransformer).to(d.BlockStatementControlFlowTransformer).whenTargetNamed(s.NodeTransformer.BlockStatementControlFlowTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(l.DeadCodeInjectionTransformer).whenTargetNamed(s.NodeTransformer.DeadCodeInjectionTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(f.FunctionControlFlowTransformer).whenTargetNamed(s.NodeTransformer.FunctionControlFlowTransformer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(c.BinaryExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.BinaryExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(u.CallExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.CallExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(p.LogicalExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.LogicalExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(m.StringLiteralControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.StringLiteralControlFlowReplacer),e(a.ServiceIdentifiers.Factory__IControlFlowReplacer).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.IControlFlowReplacer))})},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(1)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(2),u=r(4),l=c.__importStar(r(18)),f=r(69),p=r(9),m=r(10),g=s=function(){function e(t){(0,a.default)(this,e),this.calleeDataExtractorFactory=t}return(0,i.default)(e,[{key:"analyze",value:function(e){return this.analyzeRecursive(e.body)}},{key:"analyzeRecursive",value:function(e){for(var t=this,r=s.getLimitIndex(e.length),n=[],o=e.length,a=function(o){if(o>r)return"break";var a=e[o];l.traverse(a,{enter:function(r){if(p.NodeGuards.isCallExpressionNode(r))return a.parentNode!==m.NodeUtils.getBlockScopesOfNode(r)[0]?l.VisitorOption.Skip:void t.analyzeCallExpressionNode(n,e,r)}})},i=0;ir&&(n=Math.round(r+t*s.limitThreshold))>t&&(n=t),n}}]),e}();g.calleeDataExtractorsList=[f.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor,f.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor,f.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor],g.limitThresholdActivationLength=25,g.limitThreshold=.002,g=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.Factory__ICalleeDataExtractor)),c.__metadata("design:paramtypes",[Function])],g),t.StackTraceAnalyzer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(39)),a=n(r(8)),i=n(r(1)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(2),f=u.__importStar(r(18)),p=r(50),m=r(9),g=r(10),N=function(e){function t(){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).apply(this,arguments))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"extract",value:function(e,t){if(!m.NodeGuards.isMemberExpressionNode(t))return null;var r=this.createObjectMembersCallsChain([],t);if(!r.length)return null;var n=r[r.length-1],o=this.getCalleeBlockStatement(g.NodeUtils.getBlockScopesOfNode(e[0])[0],r);return o?{callee:o,name:n}:null}},{key:"createObjectMembersCallsChain",value:function(e,t){if(m.NodeGuards.isIdentifierNode(t.property)&&!1===t.computed)e.unshift(t.property.name);else{if(!m.NodeGuards.isLiteralNode(t.property)||"string"!=typeof t.property.value&&"number"!=typeof t.property.value)return e;e.unshift(t.property.value)}return m.NodeGuards.isMemberExpressionNode(t.object)?this.createObjectMembersCallsChain(e,t.object):(m.NodeGuards.isIdentifierNode(t.object)&&e.unshift(t.object.name),e)}},{key:"getCalleeBlockStatement",value:function(e,t){var r=this,n=t.shift();if(!n)return null;var o=null;return f.traverse(e,{enter:function(e){if(m.NodeGuards.isVariableDeclaratorNode(e)&&m.NodeGuards.isIdentifierNode(e.id)&&e.init&&m.NodeGuards.isObjectExpressionNode(e.init)&&e.id.name===n)return o=r.findCalleeBlockStatement(e.init.properties,t),f.VisitorOption.Break}}),o}},{key:"findCalleeBlockStatement",value:function(e,t){var r=t.shift();if(!r)return null;var n=!0,a=!1,i=void 0;try{for(var s,c=(0,o.default)(e);!(n=(s=c.next()).done);n=!0){var d=s.value,u=m.NodeGuards.isIdentifierNode(d.key)&&d.key.name===r,l=m.NodeGuards.isLiteralNode(d.key)&&Boolean(d.key.value)&&d.key.value===r;if(u||l){if(m.NodeGuards.isObjectExpressionNode(d.value))return this.findCalleeBlockStatement(d.value.properties,t);if(m.NodeGuards.isFunctionExpressionNode(d.value))return d.value.body}}}catch(e){a=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(a)throw i}}return null}}]),t}(p.AbstractCalleeDataExtractor);N=u.__decorate([l.injectable()],N),t.ObjectExpressionCalleeDataExtractor=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=d.__importStar(r(18)),f=r(50),p=r(9),m=r(10),g=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){var r=null;return p.NodeGuards.isIdentifierNode(t)&&(r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name)),p.NodeGuards.isFunctionExpressionNode(t)&&(r=t.body),r?{callee:r,name:t.name||null}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e,n){if(p.NodeGuards.isFunctionExpressionNode(e)&&n&&p.NodeGuards.isVariableDeclaratorNode(n)&&p.NodeGuards.isIdentifierNode(n.id)&&n.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);g=d.__decorate([u.injectable()],g),t.FunctionExpressionCalleeDataExtractor=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(1)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(2),l=d.__importStar(r(18)),f=r(50),p=r(9),m=r(10),g=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){if(!p.NodeGuards.isIdentifierNode(t))return null;var r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name);return r?{callee:r,name:t.name}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e){if(p.NodeGuards.isFunctionDeclarationNode(e)&&e.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);g=d.__decorate([u.injectable()],g),t.FunctionDeclarationCalleeDataExtractor=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(28),o=r(2),a=r(4),i=r(69),s=r(215),c=r(214),d=r(213),u=r(212);t.analyzersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.IStackTraceAnalyzer).to(u.StackTraceAnalyzer).inSingletonScope(),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(s.FunctionDeclarationCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(c.FunctionExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(d.ObjectExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.Factory__ICalleeDataExtractor).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.ICalleeDataExtractor))})},function(e,t){e.exports=require("reflect-metadata")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(34);e.exports=n.JavaScriptObfuscator}]); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/package.json b/package.json index 3b4ac7a2..abedd47e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "javascript-obfuscator", - "version": "0.15.0-dev.5", + "version": "0.15.0-dev.6", "description": "JavaScript obfuscator", "keywords": [ "obfuscator", @@ -25,7 +25,7 @@ "class-validator": "0.8.5", "commander": "2.15.1", "escodegen-wallaby": "1.6.18", - "esprima": "4.0.0", + "espree": "3.5.4", "estraverse": "4.2.0", "inversify": "4.11.1", "js-string-escape": "1.0.1", @@ -47,7 +47,6 @@ "@types/chai": "4.1.2", "@types/chance": "1.0.0", "@types/escodegen": "0.0.6", - "@types/esprima": "4.0.1", "@types/estraverse": "0.0.6", "@types/estree": "0.0.38", "@types/md5": "2.1.32", @@ -72,7 +71,7 @@ "ts-node": "5.0.1", "tslint": "5.9.1", "tslint-eslint-rules": "5.1.0", - "tslint-language-service": "0.9.8", + "tslint-language-service": "0.9.9", "tslint-webpack-plugin": "1.2.2", "typescript": "2.8.0-rc", "webpack": "4.2.0", diff --git a/src/EspreeFacade.ts b/src/EspreeFacade.ts new file mode 100644 index 00000000..78229452 --- /dev/null +++ b/src/EspreeFacade.ts @@ -0,0 +1,105 @@ +import * as espree from 'espree'; +import * as ESTree from 'estree'; + +import chalk, { Chalk } from 'chalk'; + +/** + * Facade over `espree` + */ +export class EspreeFacade { + /** + * @type {Chalk} + */ + private static readonly colorError: Chalk = chalk.red; + + /** + * @type {number} + */ + private static readonly nearestSymbolsCount: number = 15; + + /** + * @type {SourceType[]} + */ + private static readonly sourceTypes: espree.SourceType[] = [ + 'script', + 'module' + ]; + + /** + * @param {string} input + * @param {Options} config + * @returns {Program} + */ + public static parse (input: string, config: espree.ParseOptions): ESTree.Program | never { + const sourceTypeLength: number = EspreeFacade.sourceTypes.length; + + for (let i: number = 0; i < sourceTypeLength; i++) { + try { + return EspreeFacade.parseType(input, config, EspreeFacade.sourceTypes[i]); + } catch (error) { + if (i < sourceTypeLength - 1) { + continue; + } + + throw new Error(EspreeFacade.processParsingError( + input, + error.message, + { + line: error.lineNumber, + column: error.column, + } + )); + } + } + + throw new Error(`Espree parsing error`); + } + + /** + * @param {string} input + * @param {ParseOptions} inputConfig + * @param {SourceType} sourceType + * @returns {Program} + */ + private static parseType ( + input: string, + inputConfig: espree.ParseOptions, + sourceType: espree.SourceType + ): ESTree.Program { + const config: espree.ParseOptions = { + ...inputConfig, + sourceType, + }; + + return espree.parse(input, config); + } + + /** + * @param {string} sourceCode + * @param {string} errorMessage + * @param {Position} position + * @returns {never} + */ + private static processParsingError (sourceCode: string, errorMessage: string, position: ESTree.Position | null): never { + if (!position || !position.line || !position.column) { + throw new Error(errorMessage); + } + + const sourceCodeLines: string[] = sourceCode.split(/\r?\n/); + const errorLine: string | undefined = sourceCodeLines[position.line - 1]; + + if (!errorLine) { + throw new Error(errorMessage); + } + + const startErrorIndex: number = Math.max(0, position.column - EspreeFacade.nearestSymbolsCount); + const endErrorIndex: number = Math.min(errorLine.length, position.column + EspreeFacade.nearestSymbolsCount); + + const formattedPointer: string = EspreeFacade.colorError('>'); + const formattedCodeSlice: string = `...${ + errorLine.substring(startErrorIndex, endErrorIndex).replace(/^\s+/, '') + }...`; + + throw new Error(`Line ${position.line}: ${errorMessage}\n${formattedPointer} ${formattedCodeSlice}`); + } +} diff --git a/src/EsprimaFacade.ts b/src/EsprimaFacade.ts deleted file mode 100644 index de97203f..00000000 --- a/src/EsprimaFacade.ts +++ /dev/null @@ -1,74 +0,0 @@ -import * as esprima from 'esprima'; -import * as ESTree from 'estree'; - -import chalk, { Chalk } from 'chalk'; - -/** - * Facade over `esprima` to handle parsing errors and provide more detailed error messages - */ -export class EsprimaFacade { - /** - * @type {Chalk} - */ - private static readonly colorError: Chalk = chalk.red; - - /** - * @type {number} - */ - private static readonly nearestSymbolsCount: number = 10; - - /** - * @param {string} input - * @param {ParseOptions} config - * @returns {Program} - */ - public static parse (input: string, config: esprima.ParseOptions): ESTree.Program { - let lastMeta: esprima.NodeMeta | null = null; - - try { - return esprima.parseScript(input, config, (node: ESTree.Node, meta: esprima.NodeMeta) => lastMeta = meta); - } catch {} - - try { - return esprima.parseModule(input, config, (node: ESTree.Node, meta: esprima.NodeMeta) => lastMeta = meta); - } catch (error) { - return EsprimaFacade.processParsingError(input, error.message, lastMeta); - } - } - - /** - * @param {string} sourceCode - * @param {string} errorMessage - * @param {"esprima".NodeMeta | null} meta - * @returns {never} - */ - private static processParsingError (sourceCode: string, errorMessage: string, meta: esprima.NodeMeta | null): never { - if (!meta || !meta.start || !meta.end || !meta.start.column || !meta.end.column) { - throw new Error(errorMessage); - } - - const lineNumberMatch: RegExpMatchArray | null = errorMessage.match(/Line *(\d*)/); - - if (!lineNumberMatch) { - throw new Error(errorMessage); - } - - const lineNumber: number = parseInt(lineNumberMatch[1], 10); - const sourceCodeLines: string[] = sourceCode.split(/\r?\n/); - const errorLine: string | undefined = sourceCodeLines[lineNumber - 1]; - - if (!errorLine) { - throw new Error(errorMessage); - } - - const startErrorIndex: number = Math.max(0, meta.start.column - EsprimaFacade.nearestSymbolsCount); - const endErrorIndex: number = Math.min(errorLine.length, meta.end.column + EsprimaFacade.nearestSymbolsCount); - - const formattedPointer: string = EsprimaFacade.colorError('>'); - const formattedCodeSlice: string = `...${ - errorLine.substring(startErrorIndex, endErrorIndex).replace(/^\s+/, '') - }...`; - - throw new Error(`${errorMessage}\n${formattedPointer} ${formattedCodeSlice}`); - } -} diff --git a/src/JavaScriptObfuscator.ts b/src/JavaScriptObfuscator.ts index bcf78c72..016240c9 100644 --- a/src/JavaScriptObfuscator.ts +++ b/src/JavaScriptObfuscator.ts @@ -2,6 +2,7 @@ import { inject, injectable, } from 'inversify'; import { ServiceIdentifiers } from './container/ServiceIdentifiers'; import * as escodegen from 'escodegen-wallaby'; +import * as espree from 'espree'; import * as ESTree from 'estree'; import * as packageJson from 'pjson'; @@ -18,11 +19,25 @@ import { LoggingMessage } from './enums/logger/LoggingMessage'; import { NodeTransformer } from './enums/node-transformers/NodeTransformer'; import { TransformationStage } from './enums/node-transformers/TransformationStage'; -import { EsprimaFacade } from './EsprimaFacade'; +import { EspreeFacade } from './EspreeFacade'; import { NodeGuards } from './node/NodeGuards'; @injectable() export class JavaScriptObfuscator implements IJavaScriptObfuscator { + /** + * @type {Options} + */ + private static readonly espreeParseOptions: espree.ParseOptions = { + attachComment: true, + comment: true, + ecmaFeatures: { + experimentalObjectRestSpread: true + }, + ecmaVersion: 8, + loc: true, + range: true + }; + /** * @type {GenerateOptions} */ @@ -135,10 +150,7 @@ export class JavaScriptObfuscator implements IJavaScriptObfuscator { * @returns {Program} */ private parseCode (sourceCode: string): ESTree.Program { - return EsprimaFacade.parse(sourceCode, { - attachComment: true, - loc: this.options.sourceMap - }); + return EspreeFacade.parse(sourceCode, JavaScriptObfuscator.espreeParseOptions); } /** @@ -148,7 +160,8 @@ export class JavaScriptObfuscator implements IJavaScriptObfuscator { private transformAstTree (astTree: ESTree.Program): ESTree.Program { const isEmptyAstTree: boolean = NodeGuards.isProgramNode(astTree) && !astTree.body.length - && !astTree.leadingComments; + && !astTree.leadingComments + && !astTree.trailingComments; if (isEmptyAstTree) { this.logger.warn(LoggingMessage.EmptySourceCode); diff --git a/src/container/modules/node-transformers/ConvertingTransformersModule.ts b/src/container/modules/node-transformers/ConvertingTransformersModule.ts index f625df1b..21e4ccdf 100644 --- a/src/container/modules/node-transformers/ConvertingTransformersModule.ts +++ b/src/container/modules/node-transformers/ConvertingTransformersModule.ts @@ -8,6 +8,7 @@ import { NodeTransformer } from '../../../enums/node-transformers/NodeTransforme import { MemberExpressionTransformer } from '../../../node-transformers/converting-transformers/MemberExpressionTransformer'; import { MethodDefinitionTransformer } from '../../../node-transformers/converting-transformers/MethodDefinitionTransformer'; import { ObjectExpressionKeysTransformer } from '../../../node-transformers/converting-transformers/ObjectExpressionKeysTransformer'; +import { ObjectExpressionTransformer } from '../../../node-transformers/converting-transformers/ObjectExpressionTransformer'; import { TemplateLiteralTransformer } from '../../../node-transformers/converting-transformers/TemplateLiteralTransformer'; export const convertingTransformersModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => { @@ -24,6 +25,10 @@ export const convertingTransformersModule: interfaces.ContainerModule = new Cont .to(ObjectExpressionKeysTransformer) .whenTargetNamed(NodeTransformer.ObjectExpressionKeysTransformer); + bind(ServiceIdentifiers.INodeTransformer) + .to(ObjectExpressionTransformer) + .whenTargetNamed(NodeTransformer.ObjectExpressionTransformer); + bind(ServiceIdentifiers.INodeTransformer) .to(TemplateLiteralTransformer) .whenTargetNamed(NodeTransformer.TemplateLiteralTransformer); diff --git a/src/container/modules/node-transformers/ObfuscatingTransformersModule.ts b/src/container/modules/node-transformers/ObfuscatingTransformersModule.ts index 16071309..93f4efbd 100644 --- a/src/container/modules/node-transformers/ObfuscatingTransformersModule.ts +++ b/src/container/modules/node-transformers/ObfuscatingTransformersModule.ts @@ -19,7 +19,6 @@ import { FunctionTransformer } from '../../../node-transformers/obfuscating-tran import { LabeledStatementTransformer } from '../../../node-transformers/obfuscating-transformers/LabeledStatementTransformer'; import { LiteralTransformer } from '../../../node-transformers/obfuscating-transformers/LiteralTransformer'; import { NumberLiteralObfuscatingReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/NumberLiteralObfuscatingReplacer'; -import { ObjectExpressionTransformer } from '../../../node-transformers/obfuscating-transformers/ObjectExpressionTransformer'; import { StringLiteralObfuscatingReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/StringLiteralObfuscatingReplacer'; import { VariableDeclarationTransformer } from '../../../node-transformers/obfuscating-transformers/VariableDeclarationTransformer'; @@ -49,10 +48,6 @@ export const obfuscatingTransformersModule: interfaces.ContainerModule = new Con .to(LiteralTransformer) .whenTargetNamed(NodeTransformer.LiteralTransformer); - bind(ServiceIdentifiers.INodeTransformer) - .to(ObjectExpressionTransformer) - .whenTargetNamed(NodeTransformer.ObjectExpressionTransformer); - bind(ServiceIdentifiers.INodeTransformer) .to(VariableDeclarationTransformer) .whenTargetNamed(NodeTransformer.VariableDeclarationTransformer); diff --git a/src/declarations/espree.d.ts b/src/declarations/espree.d.ts new file mode 100644 index 00000000..bd5ab92b --- /dev/null +++ b/src/declarations/espree.d.ts @@ -0,0 +1,28 @@ +/* tslint:disable:interface-name */ + +declare module 'espree' { + import * as ESTree from 'estree'; + + export interface Comment { + value: string; + } + + export type SourceType = 'script' | 'module'; + + export interface ParseOptions { + attachComment?: boolean; + comment?: boolean; + ecmaFeatures?: { + experimentalObjectRestSpread?: boolean; + globalReturn?: boolean; + impliedStrict?: boolean; + jsx?: boolean; + }; + ecmaVersion?: 3 | 5 | 6 | 7 | 8 | 9 | 2015 | 2016 | 2017 | 2018; + loc?: boolean; + range?: boolean; + sourceType?: SourceType; + } + + export function parse (code: string | Buffer, options: ParseOptions): ESTree.Program; +} diff --git a/src/declarations/esprima.d.ts b/src/declarations/esprima.d.ts deleted file mode 100644 index 2d4b4c3f..00000000 --- a/src/declarations/esprima.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* tslint:disable:interface-name */ - -import * as esprima from 'esprima'; - -declare module 'esprima' { - export interface LineMeta { - line?: number; - column?: number; - offset?: number; - } - - export interface NodeMeta { - start?: LineMeta; - end?: LineMeta; - } - - export interface ParseOptions { - attachComment?: boolean; - } -} diff --git a/src/enums/node/NodeType.ts b/src/enums/node/NodeType.ts index 792879fa..73ef81fa 100644 --- a/src/enums/node/NodeType.ts +++ b/src/enums/node/NodeType.ts @@ -12,11 +12,13 @@ export enum NodeType { CatchClause = 'CatchClause', ClassDeclaration = 'ClassDeclaration', ContinueStatement = 'ContinueStatement', + ExportNamedDeclaration = 'ExportNamedDeclaration', ExpressionStatement = 'ExpressionStatement', FunctionDeclaration = 'FunctionDeclaration', FunctionExpression = 'FunctionExpression', Identifier = 'Identifier', IfStatement = 'IfStatement', + ImportDeclaration = 'ImportDeclaration', LabeledStatement = 'LabeledStatement', Literal = 'Literal', LogicalExpression = 'LogicalExpression', diff --git a/src/node-transformers/obfuscating-transformers/ObjectExpressionTransformer.ts b/src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts similarity index 98% rename from src/node-transformers/obfuscating-transformers/ObjectExpressionTransformer.ts rename to src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts index d51fb17c..8c91b3e8 100644 --- a/src/node-transformers/obfuscating-transformers/ObjectExpressionTransformer.ts +++ b/src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts @@ -39,7 +39,7 @@ export class ObjectExpressionTransformer extends AbstractNodeTransformer { */ public getVisitor (transformationStage: TransformationStage): IVisitor | null { switch (transformationStage) { - case TransformationStage.Obfuscating: + case TransformationStage.Converting: return { enter: (node: ESTree.Node, parentNode: ESTree.Node | null) => { if (parentNode && NodeGuards.isObjectExpressionNode(node)) { diff --git a/src/node-transformers/obfuscating-transformers/ClassDeclarationTransformer.ts b/src/node-transformers/obfuscating-transformers/ClassDeclarationTransformer.ts index 9633b1e2..0e9ed80a 100644 --- a/src/node-transformers/obfuscating-transformers/ClassDeclarationTransformer.ts +++ b/src/node-transformers/obfuscating-transformers/ClassDeclarationTransformer.ts @@ -69,7 +69,11 @@ export class ClassDeclarationTransformer extends AbstractNodeTransformer { case TransformationStage.Obfuscating: return { enter: (node: ESTree.Node, parentNode: ESTree.Node | null) => { - if (parentNode && NodeGuards.isClassDeclarationNode(node)) { + if ( + parentNode + && NodeGuards.isClassDeclarationNode(node) + && !NodeGuards.isExportNamedDeclarationNode(parentNode) + ) { return this.transformNode(node, parentNode); } } diff --git a/src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts b/src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts index 8c2ede01..36bc13f9 100644 --- a/src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts +++ b/src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts @@ -71,7 +71,11 @@ export class FunctionDeclarationTransformer extends AbstractNodeTransformer { case TransformationStage.Obfuscating: return { enter: (node: ESTree.Node, parentNode: ESTree.Node | null) => { - if (parentNode && NodeGuards.isFunctionDeclarationNode(node)) { + if ( + parentNode + && NodeGuards.isFunctionDeclarationNode(node) + && !NodeGuards.isExportNamedDeclarationNode(parentNode) + ) { return this.transformNode(node, parentNode); } } diff --git a/src/node-transformers/obfuscating-transformers/LiteralTransformer.ts b/src/node-transformers/obfuscating-transformers/LiteralTransformer.ts index 9197d16a..064cfc4b 100644 --- a/src/node-transformers/obfuscating-transformers/LiteralTransformer.ts +++ b/src/node-transformers/obfuscating-transformers/LiteralTransformer.ts @@ -65,7 +65,7 @@ export class LiteralTransformer extends AbstractNodeTransformer { * @returns {NodeGuards} */ public transformNode (literalNode: ESTree.Literal, parentNode: ESTree.Node): ESTree.Node { - if (parentNode && NodeGuards.isPropertyNode(parentNode) && parentNode.key === literalNode) { + if (this.isProhibitedNode(literalNode, parentNode)) { return literalNode; } @@ -86,4 +86,21 @@ export class LiteralTransformer extends AbstractNodeTransformer { return literalNode; } } + + /** + * @param {Literal} literalNode + * @param {Node} parentNode + * @returns {boolean} + */ + private isProhibitedNode (literalNode: ESTree.Literal, parentNode: ESTree.Node): boolean { + if (NodeGuards.isPropertyNode(parentNode) && parentNode.key === literalNode) { + return true; + } + + if (NodeGuards.isImportDeclarationNode(parentNode)) { + return true; + } + + return false; + } } diff --git a/src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts b/src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts index 2b80e1f8..5d2b21f7 100644 --- a/src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts +++ b/src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts @@ -72,7 +72,11 @@ export class VariableDeclarationTransformer extends AbstractNodeTransformer { case TransformationStage.Obfuscating: return { enter: (node: ESTree.Node, parentNode: ESTree.Node | null) => { - if (parentNode && NodeGuards.isVariableDeclarationNode(node)) { + if ( + parentNode + && NodeGuards.isVariableDeclarationNode(node) + && !NodeGuards.isExportNamedDeclarationNode(parentNode) + ) { return this.transformNode(node, parentNode); } } diff --git a/src/node-transformers/preparing-transformers/CommentsTransformer.ts b/src/node-transformers/preparing-transformers/CommentsTransformer.ts index c37c1cfe..cca4fea4 100644 --- a/src/node-transformers/preparing-transformers/CommentsTransformer.ts +++ b/src/node-transformers/preparing-transformers/CommentsTransformer.ts @@ -17,7 +17,10 @@ export class CommentsTransformer extends AbstractNodeTransformer { /** * @type {string[]} */ - private static readonly preservedWords: string[] = ['@license', '@preserve']; + private static readonly preservedWords: string[] = [ + '@license', + '@preserve' + ]; /** * @param {IRandomGenerator} randomGenerator @@ -77,7 +80,7 @@ export class CommentsTransformer extends AbstractNodeTransformer { private transformComments (comments: ESTree.Comment[]): ESTree.Comment[] { return comments.filter((comment: ESTree.Comment) => CommentsTransformer.preservedWords - .some((availableWord: string) => comment.value.includes(availableWord)) + .some((preservedWord: string) => comment.value.includes(preservedWord)) ); } } diff --git a/src/node/NodeGuards.ts b/src/node/NodeGuards.ts index fdad520a..cce7e1fc 100644 --- a/src/node/NodeGuards.ts +++ b/src/node/NodeGuards.ts @@ -96,6 +96,14 @@ export class NodeGuards { return node.type === NodeType.ContinueStatement; } + /** + * @param {Node} node + * @returns {boolean} + */ + public static isExportNamedDeclarationNode (node: ESTree.Node): node is ESTree.ExportNamedDeclaration { + return node.type === NodeType.ExportNamedDeclaration; + } + /** * @param {Node} node * @returns {boolean} @@ -136,6 +144,14 @@ export class NodeGuards { return node.type === NodeType.IfStatement; } + /** + * @param {Node} node + * @returns {boolean} + */ + public static isImportDeclarationNode (node: ESTree.Node): node is ESTree.ImportDeclaration { + return node.type === NodeType.ImportDeclaration; + } + /** * @param {Node} node * @param {Node} parentNode diff --git a/src/node/NodeUtils.ts b/src/node/NodeUtils.ts index afe18fd4..1eca10b3 100644 --- a/src/node/NodeUtils.ts +++ b/src/node/NodeUtils.ts @@ -1,5 +1,5 @@ import * as escodegen from 'escodegen-wallaby'; -import * as esprima from 'esprima'; +import * as espree from 'espree'; import * as estraverse from 'estraverse'; import * as ESTree from 'estree'; @@ -44,7 +44,7 @@ export class NodeUtils { * @returns {Statement[]} */ public static convertCodeToStructure (code: string): ESTree.Statement[] { - let structure: ESTree.Program = esprima.parseScript(code); + let structure: ESTree.Program = espree.parse(code, { sourceType: 'script' }); structure = NodeUtils.addXVerbatimPropertyToLiterals(structure); structure = NodeUtils.parentize(structure); diff --git a/test/declarations/index.d.ts b/test/declarations/index.d.ts index 3fd6b5ea..3db447f4 100644 --- a/test/declarations/index.d.ts +++ b/test/declarations/index.d.ts @@ -1,6 +1,6 @@ /// /// -/// +/// /// /// /// \ No newline at end of file diff --git a/test/dev/dev.ts b/test/dev/dev.ts index a095277c..39e98050 100644 --- a/test/dev/dev.ts +++ b/test/dev/dev.ts @@ -6,21 +6,15 @@ import { NO_ADDITIONAL_NODES_PRESET } from '../../src/options/presets/NoCustomNo let obfuscatedCode: string = JavaScriptObfuscator.obfuscate( ` - (function() { - function test() { - var variable = 1; - function g () {} - - var func = function () { - var e; - } - } + (function () { + let a = 0; + let b = 0; + var test = {a, b}; })(); `, { ...NO_ADDITIONAL_NODES_PRESET, compact: false, - identifierNamesGenerator: 'mangled' } ).getObfuscatedCode(); diff --git a/test/functional-tests/javascript-obfuscator/JavaScriptObfuscator.spec.ts b/test/functional-tests/javascript-obfuscator/JavaScriptObfuscator.spec.ts index 2b601f85..594eb625 100644 --- a/test/functional-tests/javascript-obfuscator/JavaScriptObfuscator.spec.ts +++ b/test/functional-tests/javascript-obfuscator/JavaScriptObfuscator.spec.ts @@ -594,19 +594,43 @@ describe('JavaScriptObfuscator', () => { }); describe('parse module', () => { - const regExp: RegExp = /var *test *= *0x1/; + describe('Variant #1: import', () => { + const importRegExp: RegExp = /import *{foo} *from *'.\/foo';/; + const variableDeclarationRegExp: RegExp = /var *test *= *0x1/; - let obfuscatedCode: string; + let obfuscatedCode: string; - beforeEach(() => { - const code: string = readFileAsString(__dirname + '/fixtures/parse-module.js'); - const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(code); + beforeEach(() => { + const code: string = readFileAsString(__dirname + '/fixtures/parse-module-1.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(code); - obfuscatedCode = obfuscationResult.getObfuscatedCode(); + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('Match #!: should correctly obfuscate a import', () => { + assert.match(obfuscatedCode, importRegExp); + }); + + it('Match #2: should correctly obfuscate a module', () => { + assert.match(obfuscatedCode, variableDeclarationRegExp); + }); }); - it('should correctly obfuscate a module', () => { - assert.match(obfuscatedCode, regExp); + describe('Variant #2: export', () => { + const regExp: RegExp = /export *const *foo *= *0x1;/; + + let obfuscatedCode: string; + + beforeEach(() => { + const code: string = readFileAsString(__dirname + '/fixtures/parse-module-2.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(code); + + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('should correctly obfuscate a module', () => { + assert.match(obfuscatedCode, regExp); + }); }); }); diff --git a/test/functional-tests/javascript-obfuscator/fixtures/parse-module-1.js b/test/functional-tests/javascript-obfuscator/fixtures/parse-module-1.js new file mode 100644 index 00000000..87d56ca6 --- /dev/null +++ b/test/functional-tests/javascript-obfuscator/fixtures/parse-module-1.js @@ -0,0 +1,3 @@ +import {foo} from './foo'; + +var test = 1; \ No newline at end of file diff --git a/test/functional-tests/javascript-obfuscator/fixtures/parse-module-2.js b/test/functional-tests/javascript-obfuscator/fixtures/parse-module-2.js new file mode 100644 index 00000000..6a8018af --- /dev/null +++ b/test/functional-tests/javascript-obfuscator/fixtures/parse-module-2.js @@ -0,0 +1 @@ +export const foo = 1; \ No newline at end of file diff --git a/test/functional-tests/javascript-obfuscator/fixtures/parse-module.js b/test/functional-tests/javascript-obfuscator/fixtures/parse-module.js deleted file mode 100644 index 0b07d151..00000000 --- a/test/functional-tests/javascript-obfuscator/fixtures/parse-module.js +++ /dev/null @@ -1,3 +0,0 @@ -import {foo} from "./foo"; - -var test = 1; \ No newline at end of file diff --git a/test/functional-tests/node-transformers/converting-transformers/method-definition-transformer/MethodDefinitionTransformer.spec.ts b/test/functional-tests/node-transformers/converting-transformers/method-definition-transformer/MethodDefinitionTransformer.spec.ts index e7dc4423..7bc9bbb4 100644 --- a/test/functional-tests/node-transformers/converting-transformers/method-definition-transformer/MethodDefinitionTransformer.spec.ts +++ b/test/functional-tests/node-transformers/converting-transformers/method-definition-transformer/MethodDefinitionTransformer.spec.ts @@ -81,4 +81,31 @@ describe('MethodDefinitionTransformer', () => { assert.match(obfuscatedCode, regExp); }); }); + + describe('Variant #4: async `get()` method', () => { + const classDeclarationRegExp: RegExp = /class *(_0x[a-f0-9]{4,6}) *{/; + const asyncMethodRegExp: RegExp = /static *async *\['get'] *\(\) *{}/; + + let obfuscatedCode: string; + + before(() => { + const code: string = readFileAsString(__dirname + '/fixtures/async-get-method.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate( + code, + { + ...NO_ADDITIONAL_NODES_PRESET, + } + ); + + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('Match #1: should rename class declaration name', () => { + assert.match(obfuscatedCode, classDeclarationRegExp); + }); + + it('Match #2: should correctly rename async method name', () => { + assert.match(obfuscatedCode, asyncMethodRegExp); + }); + }); }); diff --git a/test/functional-tests/node-transformers/converting-transformers/method-definition-transformer/fixtures/async-get-method.js b/test/functional-tests/node-transformers/converting-transformers/method-definition-transformer/fixtures/async-get-method.js new file mode 100644 index 00000000..42f6e4ad --- /dev/null +++ b/test/functional-tests/node-transformers/converting-transformers/method-definition-transformer/fixtures/async-get-method.js @@ -0,0 +1,5 @@ +(function () { + class Foo { + static async get() {} + } +})(); \ No newline at end of file diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/ObjectExpressionTransformer.spec.ts b/test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/ObjectExpressionTransformer.spec.ts similarity index 100% rename from test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/ObjectExpressionTransformer.spec.ts rename to test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/ObjectExpressionTransformer.spec.ts diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/computed-property-name.js b/test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/fixtures/computed-property-name.js similarity index 100% rename from test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/computed-property-name.js rename to test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/fixtures/computed-property-name.js diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/property-with-identifier-value.js b/test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/fixtures/property-with-identifier-value.js similarity index 100% rename from test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/property-with-identifier-value.js rename to test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/fixtures/property-with-identifier-value.js diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/property-with-literal-value.js b/test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/fixtures/property-with-literal-value.js similarity index 100% rename from test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/property-with-literal-value.js rename to test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/fixtures/property-with-literal-value.js diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/shorthand-object-expression.js b/test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/fixtures/shorthand-object-expression.js similarity index 100% rename from test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/shorthand-object-expression.js rename to test/functional-tests/node-transformers/converting-transformers/object-expression-transformer/fixtures/shorthand-object-expression.js diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/ClassDeclarationTransformer.spec.ts b/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/ClassDeclarationTransformer.spec.ts index 87d3fc38..ace48df3 100644 --- a/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/ClassDeclarationTransformer.spec.ts +++ b/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/ClassDeclarationTransformer.spec.ts @@ -123,5 +123,56 @@ describe('ClassDeclarationTransformer', () => { assert.match(obfuscatedCode, variableDeclarationsRegExp); }); }); + + describe('Variant #5: named export', () => { + const namedExportRegExp: RegExp = /export class Foo *{}/; + + let obfuscatedCode: string; + + before(() => { + const code: string = readFileAsString(__dirname + '/fixtures/named-export.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate( + code, + { + ...NO_ADDITIONAL_NODES_PRESET, + renameGlobals: true + } + ); + + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('shouldn\'t transform identifiers in named export', () => { + assert.match(obfuscatedCode, namedExportRegExp); + }); + }); + + describe('Variant #6: default export', () => { + const classDeclarationRegExp: RegExp = /class _0x[a-f0-9]{4,6} *{}/; + const defaultExportRegExp: RegExp = /export default _0x[a-f0-9]{4,6};/; + + let obfuscatedCode: string; + + before(() => { + const code: string = readFileAsString(__dirname + '/fixtures/default-export.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate( + code, + { + ...NO_ADDITIONAL_NODES_PRESET, + renameGlobals: true + } + ); + + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('Match #1: should transform identifiers in variable declaration', () => { + assert.match(obfuscatedCode, classDeclarationRegExp); + }); + + it('Match #2: should transform identifiers in default export', () => { + assert.match(obfuscatedCode, defaultExportRegExp); + }); + }); }); }); diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/fixtures/default-export.js b/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/fixtures/default-export.js new file mode 100644 index 00000000..9e036a87 --- /dev/null +++ b/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/fixtures/default-export.js @@ -0,0 +1,3 @@ +class Foo {} + +export default Foo; \ No newline at end of file diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/fixtures/named-export.js b/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/fixtures/named-export.js new file mode 100644 index 00000000..07bd5141 --- /dev/null +++ b/test/functional-tests/node-transformers/obfuscating-transformers/class-declaration-transformer/fixtures/named-export.js @@ -0,0 +1 @@ +export class Foo {} \ No newline at end of file diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec.ts b/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec.ts index c0b7e467..cf4efb29 100644 --- a/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec.ts +++ b/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec.ts @@ -179,5 +179,56 @@ describe('FunctionDeclarationTransformer', () => { }); }); }); + + describe('Variant #6: named export', () => { + const namedExportRegExp: RegExp = /export function foo *\(\) *{}/; + + let obfuscatedCode: string; + + before(() => { + const code: string = readFileAsString(__dirname + '/fixtures/named-export.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate( + code, + { + ...NO_ADDITIONAL_NODES_PRESET, + renameGlobals: true + } + ); + + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('shouldn\'t transform identifiers in named export', () => { + assert.match(obfuscatedCode, namedExportRegExp); + }); + }); + + describe('Variant #7: default export', () => { + const functionDeclarationRegExp: RegExp = /function _0x[a-f0-9]{4,6} *\(\) *{}/; + const defaultExportRegExp: RegExp = /export default _0x[a-f0-9]{4,6};/; + + let obfuscatedCode: string; + + before(() => { + const code: string = readFileAsString(__dirname + '/fixtures/default-export.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate( + code, + { + ...NO_ADDITIONAL_NODES_PRESET, + renameGlobals: true + } + ); + + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('Match #1: should transform identifiers in variable declaration', () => { + assert.match(obfuscatedCode, functionDeclarationRegExp); + }); + + it('Match #2: should transform identifiers in default export', () => { + assert.match(obfuscatedCode, defaultExportRegExp); + }); + }); }); }); diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/default-export.js b/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/default-export.js new file mode 100644 index 00000000..594540d5 --- /dev/null +++ b/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/default-export.js @@ -0,0 +1,3 @@ +function foo () {} + +export default foo; \ No newline at end of file diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/named-export.js b/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/named-export.js new file mode 100644 index 00000000..74ec6d15 --- /dev/null +++ b/test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/named-export.js @@ -0,0 +1 @@ +export function foo () {} \ No newline at end of file diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec.ts b/test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec.ts index b2361562..3e6934b3 100644 --- a/test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec.ts +++ b/test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec.ts @@ -11,7 +11,7 @@ import { JavaScriptObfuscator } from '../../../../../src/JavaScriptObfuscatorFac describe('LabeledStatementTransformer', () => { describe('changeControlFlow (labeledStatementNode: ESTree.LabeledStatement): void', () => { - const labeledStatementRegExp: RegExp = /(_0x([a-f0-9]){4,6}): *\{/; + const labeledStatementRegExp: RegExp = /(_0x([a-f0-9]){4,6}): *for/; const continueStatementRegExp: RegExp = /continue *(_0x([a-f0-9]){4,6});/; const breakStatementRegExp: RegExp = /break *(_0x([a-f0-9]){4,6});/; diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/fixtures/input.js b/test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/fixtures/input.js index aa9b8d1b..6383dfb2 100644 --- a/test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/fixtures/input.js +++ b/test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/fixtures/input.js @@ -1,8 +1,7 @@ function foo (label) { - label: { + label: for (var i = 0; i < 1000; i++) { break label; continue label; } - } } diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec.ts b/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec.ts index e2084572..605074ff 100644 --- a/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec.ts +++ b/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec.ts @@ -520,4 +520,55 @@ describe('VariableDeclarationTransformer', () => { }); }); }); + + describe('Variant #14: named export', () => { + const namedExportRegExp: RegExp = /export const foo *= *0x1;/; + + let obfuscatedCode: string; + + before(() => { + const code: string = readFileAsString(__dirname + '/fixtures/named-export.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate( + code, + { + ...NO_ADDITIONAL_NODES_PRESET, + renameGlobals: true + } + ); + + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('shouldn\'t transform identifiers in named export', () => { + assert.match(obfuscatedCode, namedExportRegExp); + }); + }); + + describe('Variant #15: default export', () => { + const variableDeclarationRegExp: RegExp = /var _0x[a-f0-9]{4,6} *= *0x1;/; + const defaultExportRegExp: RegExp = /export default _0x[a-f0-9]{4,6};/; + + let obfuscatedCode: string; + + before(() => { + const code: string = readFileAsString(__dirname + '/fixtures/default-export.js'); + const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate( + code, + { + ...NO_ADDITIONAL_NODES_PRESET, + renameGlobals: true + } + ); + + obfuscatedCode = obfuscationResult.getObfuscatedCode(); + }); + + it('Match #1: should transform identifiers in variable declaration', () => { + assert.match(obfuscatedCode, variableDeclarationRegExp); + }); + + it('Match #2: should transform identifiers in default export', () => { + assert.match(obfuscatedCode, defaultExportRegExp); + }); + }); }); diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/default-export.js b/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/default-export.js new file mode 100644 index 00000000..ee16f725 --- /dev/null +++ b/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/default-export.js @@ -0,0 +1,3 @@ +var foo = 1; + +export default foo; \ No newline at end of file diff --git a/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/named-export.js b/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/named-export.js new file mode 100644 index 00000000..6a8018af --- /dev/null +++ b/test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/named-export.js @@ -0,0 +1 @@ +export const foo = 1; \ No newline at end of file diff --git a/test/functional-tests/templates/GlobalVariableNoEvalTemplate.spec.ts b/test/functional-tests/templates/GlobalVariableNoEvalTemplate.spec.ts index a77ca848..8b491eb5 100644 --- a/test/functional-tests/templates/GlobalVariableNoEvalTemplate.spec.ts +++ b/test/functional-tests/templates/GlobalVariableNoEvalTemplate.spec.ts @@ -68,6 +68,9 @@ describe('GlobalVariableNoEvalTemplate (): string', () => { return that; `)(); + + // for some reason it couldn't correctly compare global objects without JSON.stringify/JSON.parse + globalObject = JSON.parse(JSON.stringify(globalObject)); }); it('should correctly return `window` object', () => { diff --git a/test/helpers/removeRangesFromStructure.ts b/test/helpers/removeRangesFromStructure.ts new file mode 100644 index 00000000..db26a3a4 --- /dev/null +++ b/test/helpers/removeRangesFromStructure.ts @@ -0,0 +1,28 @@ +import * as estraverse from 'estraverse'; +import * as ESTree from 'estree'; + +import { TStatement } from '../../src/types/node/TStatement'; + +/** + * @param {TStatement[]} structure + * @returns {TStatement[]} + */ +export function removeRangesFromStructure (structure: TStatement[]): TStatement[] { + for (const statement of structure) { + estraverse.replace(statement, { + enter: (node: ESTree.Node): ESTree.Node => { + delete (node).start; + delete (node).end; + + if (node.parentNode) { + delete (node.parentNode).start; + delete (node.parentNode).end; + } + + return node; + } + }); + } + + return structure; +} \ No newline at end of file diff --git a/test/index.spec.ts b/test/index.spec.ts index 9ccd3c2c..73111221 100644 --- a/test/index.spec.ts +++ b/test/index.spec.ts @@ -17,7 +17,7 @@ import './unit-tests/cli/utils/SourceCodeReader.spec'; import './unit-tests/decorators/initializable/Initializable.spec'; import './unit-tests/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.spec'; import './unit-tests/generators/identifier-names-generators/MangledlIdentifierNamesGenerator.spec'; -import './unit-tests/javascript-obfuscator/EsprimaFacade.spec'; +import './unit-tests/javascript-obfuscator/EspreeFacade.spec'; import './unit-tests/javascript-obfuscator/JavaScriptObfuscator.spec'; import './unit-tests/logger/Logger.spec'; import './unit-tests/node/node-appender/NodeAppender.spec'; @@ -55,6 +55,7 @@ import './functional-tests/node-transformers/control-flow-transformers/control-f import './functional-tests/node-transformers/converting-transformers/member-expression-transformer/MemberExpressionTransformer.spec'; import './functional-tests/node-transformers/converting-transformers/method-definition-transformer/MethodDefinitionTransformer.spec'; import './functional-tests/node-transformers/converting-transformers/object-expression-keys-transformer/ObjectExpressionKeysTransformer.spec'; +import './functional-tests/node-transformers/converting-transformers/object-expression-transformer/ObjectExpressionTransformer.spec'; import './functional-tests/node-transformers/converting-transformers/template-literal-transformer/TemplateLiteralTransformer.spec'; import './functional-tests/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.spec'; import './functional-tests/node-transformers/obfuscating-transformers/catch-clause-transformer/CatchClauseTransformer.spec'; @@ -63,7 +64,6 @@ import './functional-tests/node-transformers/obfuscating-transformers/function-d import './functional-tests/node-transformers/obfuscating-transformers/function-transformer/FunctionTransformer.spec'; import './functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec'; import './functional-tests/node-transformers/obfuscating-transformers/literal-transformer/LiteralTransformer.spec'; -import './functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/ObjectExpressionTransformer.spec'; import './functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec'; import './functional-tests/node-transformers/preparing-transformers/eval-call-expression-transformer/EvalCallExpressionTransformer.spec'; import './functional-tests/node-transformers/preparing-transformers/comments-transformer/CommentsTransformer.spec'; diff --git a/test/unit-tests/javascript-obfuscator/EsprimaFacade.spec.ts b/test/unit-tests/javascript-obfuscator/EspreeFacade.spec.ts similarity index 67% rename from test/unit-tests/javascript-obfuscator/EsprimaFacade.spec.ts rename to test/unit-tests/javascript-obfuscator/EspreeFacade.spec.ts index 43134aa2..c8a47f97 100644 --- a/test/unit-tests/javascript-obfuscator/EsprimaFacade.spec.ts +++ b/test/unit-tests/javascript-obfuscator/EspreeFacade.spec.ts @@ -1,9 +1,9 @@ import { assert } from 'chai'; -import { EsprimaFacade } from '../../../src/EsprimaFacade'; +import { EspreeFacade } from '../../../src/EspreeFacade'; -describe('EsprimaFacade', () => { - describe(`parseScript (input: string, config: esprima.ParseOptions): ESTree.Program`, () => { +describe('EspreeFacade', () => { + describe(`parse (input: string, config: espree.ParseOptions): ESTree.Program`, () => { describe(`\`Unexpected token\` error code preview`, () => { describe('Variant #1: 5 lines of code', () => { const sourceCode: string = `` + @@ -16,10 +16,10 @@ describe('EsprimaFacade', () => { let testFunc: () => void; before(() => { - testFunc = () => EsprimaFacade.parse(sourceCode, {}); + testFunc = () => EspreeFacade.parse(sourceCode, {}); }); - it('should output code preview when `esprima` throws a parse error', () => { + it('should output code preview when `espree` throws a parse error', () => { assert.throws(testFunc, /Line 3: Unexpected token ,\n.*\.\.\.var baz = 3;,\.\.\./); }); }); @@ -45,16 +45,16 @@ describe('EsprimaFacade', () => { let testFunc: () => void; before(() => { - testFunc = () => EsprimaFacade.parse(sourceCode, {}); + testFunc = () => EspreeFacade.parse(sourceCode, {}); }); - it('should output code preview when `esprima` throws a parse error', () => { + it('should output code preview when `espree` throws a parse error', () => { assert.throws(testFunc, /Line 13: Unexpected token ,\n.*\.\.\.var baz = 3;,\.\.\./); }); }); }); - describe(`\`Unexpected identifier\` error code preview`, () => { + describe(`\`Unexpected token\` error code preview`, () => { const sourceCode: string = `` + `function bar () { var a = 1; @@ -69,11 +69,11 @@ describe('EsprimaFacade', () => { let testFunc: () => void; before(() => { - testFunc = () => EsprimaFacade.parse(sourceCode, {}); + testFunc = () => EspreeFacade.parse(sourceCode, {}); }); - it('should output code preview when `esprima` throws a parse error', () => { - assert.throws(testFunc, /Line 4: Unexpected identifier\n.*\.\.\.functin baz \(\) {\.\.\./); + it('should output code preview when `espree` throws a parse error', () => { + assert.throws(testFunc, /Line 4: Unexpected token baz\n.*\.\.\.functin baz \(\) {\.\.\./); }); }); }); diff --git a/test/unit-tests/node/node-appender/NodeAppender.spec.ts b/test/unit-tests/node/node-appender/NodeAppender.spec.ts index 12d93dae..b228289a 100644 --- a/test/unit-tests/node/node-appender/NodeAppender.spec.ts +++ b/test/unit-tests/node/node-appender/NodeAppender.spec.ts @@ -18,14 +18,17 @@ import { InversifyContainerFacade } from '../../../../src/container/InversifyCon import { NodeAppender } from '../../../../src/node/NodeAppender'; import { NodeFactory } from '../../../../src/node/NodeFactory'; import { NodeUtils } from '../../../../src/node/NodeUtils'; +import { removeRangesFromStructure } from '../../../helpers/removeRangesFromStructure'; /** * @param fixturePath * @return {TStatement[]} */ const convertCodeToStructure: (fixturePath: string) => TStatement[] = (fixturePath) => { - return NodeUtils.convertCodeToStructure( - readFileAsString(`${__dirname}${fixturePath}`) + return removeRangesFromStructure( + NodeUtils.convertCodeToStructure( + readFileAsString(`${__dirname}${fixturePath}`) + ) ); }; diff --git a/test/unit-tests/node/node-utils/NodeUtils.spec.ts b/test/unit-tests/node/node-utils/NodeUtils.spec.ts index 0ce48911..b6d419b4 100644 --- a/test/unit-tests/node/node-utils/NodeUtils.spec.ts +++ b/test/unit-tests/node/node-utils/NodeUtils.spec.ts @@ -4,6 +4,8 @@ import { assert } from 'chai'; import { TStatement } from '../../../../src/types/node/TStatement'; +import { removeRangesFromStructure } from '../../../helpers/removeRangesFromStructure'; + import { NodeFactory } from '../../../../src/node/NodeFactory'; import { NodeUtils } from '../../../../src/node/NodeUtils'; @@ -145,7 +147,9 @@ describe('NodeUtils', () => { identifierNode.parentNode = variableDeclaratorNode; literalNode.parentNode = variableDeclaratorNode; - structure = NodeUtils.convertCodeToStructure(code); + structure = removeRangesFromStructure( + NodeUtils.convertCodeToStructure(code) + ); expectedStructure = [variableDeclarationNode]; }); diff --git a/yarn.lock b/yarn.lock index 3260d88d..7fc046d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -533,7 +533,7 @@ "@sinonjs/formatio@^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2" + resolved "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2" dependencies: samsam "1.3.0" @@ -549,12 +549,6 @@ version "0.0.6" resolved "https://registry.yarnpkg.com/@types/escodegen/-/escodegen-0.0.6.tgz#5230a9ce796e042cda6f086dbf19f22ea330659c" -"@types/esprima@4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/esprima/-/esprima-4.0.1.tgz#40f6fb3a3a50ebcaa4dfca17f41e7f10e687df03" - dependencies: - "@types/estree" "*" - "@types/estraverse@0.0.6": version "0.0.6" resolved "https://registry.yarnpkg.com/@types/estraverse/-/estraverse-0.0.6.tgz#669f7cdf72ab797e6125f8d00fed33d4cf30c221" @@ -566,12 +560,12 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.38.tgz#c1be40aa933723c608820a99a373a16d215a1ca2" "@types/events@*": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/events/-/events-1.1.0.tgz#93b1be91f63c184450385272c47b6496fd028e02" + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" "@types/glob@*": - version "5.0.34" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.34.tgz#ee626c9be3da877d717911c6101eee0a9871bbf4" + version "5.0.35" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.35.tgz#1ae151c802cece940443b5ac246925c85189f32a" dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -584,8 +578,8 @@ "@types/node" "*" "@types/minimatch@*": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.2.tgz#09c06877e478a5d5f32ce5017c2eb2b33006f6f5" + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" "@types/mkdirp@0.5.2": version "0.5.2" @@ -601,11 +595,7 @@ version "2.1.2" resolved "https://registry.yarnpkg.com/@types/multimatch/-/multimatch-2.1.2.tgz#7d705c35b6ec6ae94f2dbfc384adb05f0974e6d7" -"@types/node@*": - version "8.0.53" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.53.tgz#396b35af826fa66aad472c8cb7b8d5e277f4e6d8" - -"@types/node@9.6.0": +"@types/node@*", "@types/node@9.6.0": version "9.6.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.0.tgz#d3480ee666df9784b1001a1872a2f6ccefb6c2d7" @@ -628,7 +618,11 @@ version "1.13.5" resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.5.tgz#ca854e9fbdbcdf45d7376882875f28e2c60593f8" -abbrev@1, abbrev@1.0.x: +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +abbrev@1.0.x: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" @@ -638,9 +632,19 @@ acorn-dynamic-import@^3.0.0: dependencies: acorn "^5.0.0" -acorn@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^5.0.0, acorn@^5.5.0: + version "5.5.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" ajv-keywords@^3.1.0: version "3.1.0" @@ -653,9 +657,18 @@ ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" +ajv@^5.1.0: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + ajv@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.1.1.tgz#978d597fbc2b7d0e5a5c3ddeb149a682f2abfa0e" + version "6.3.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.3.0.tgz#1650a41114ef00574cac10b8032d8f4c14812da7" dependencies: fast-deep-equal "^1.0.0" fast-json-stable-stringify "^2.0.0" @@ -678,8 +691,8 @@ ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" ansi-escapes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" ansi-regex@^2.0.0: version "2.1.1" @@ -693,12 +706,6 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansi-styles@^3.1.0, ansi-styles@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -745,8 +752,8 @@ are-we-there-yet@~1.1.2: readable-stream "^2.0.6" argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" dependencies: sprintf-js "~1.0.2" @@ -795,8 +802,8 @@ arrify@^1.0.0: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" asn1.js@^4.0.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a" + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -821,8 +828,8 @@ assert@^1.1.1: util "0.10.3" assertion-error@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" assign-symbols@^1.0.0: version "1.0.0" @@ -844,13 +851,7 @@ async@1.x, async@^1.4.0, async@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" - dependencies: - lodash "^4.14.0" - -async@^2.6.0: +async@^2.1.4, async@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: @@ -880,7 +881,11 @@ aws-sign2@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" -aws4@^1.2.1: +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.2.1, aws4@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" @@ -916,20 +921,7 @@ babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.6" -babel-generator@^6.18.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.6" - trim-right "^1.0.1" - -babel-generator@^6.26.0: +babel-generator@^6.18.0, babel-generator@^6.26.0: version "6.26.1" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" dependencies: @@ -1493,7 +1485,7 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26 lodash "^4.17.4" to-fast-properties "^1.0.3" -babylon@7.0.0-beta.42: +babylon@7.0.0-beta.42, babylon@^7.0.0-beta.30: version "7.0.0-beta.42" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.42.tgz#67cfabcd4f3ec82999d29031ccdea89d0ba99657" @@ -1501,17 +1493,13 @@ babylon@^6.17.3, babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" -babylon@^7.0.0-beta.30: - version "7.0.0-beta.40" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.40.tgz#91fc8cd56d5eb98b28e6fde41045f2957779940a" - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" base64-js@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" + version "1.2.3" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.3.tgz#fb13668233d9614cf5fb4bce95a9ba4096cdf801" base@^0.11.1: version "0.11.2" @@ -1536,8 +1524,8 @@ big.js@^3.1.3: resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" binary-extensions@^1.0.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" binaryextensions@2: version "2.1.1" @@ -1563,9 +1551,21 @@ boom@2.x.x: dependencies: hoek "2.x.x" +boom@4.x.x: + version "4.3.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" + dependencies: + hoek "4.x.x" + +boom@5.x.x: + version "5.2.0" + resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" + dependencies: + hoek "4.x.x" + brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -1578,23 +1578,7 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" -braces@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.0.tgz#a46941cb5fb492156b3d6a656e06c35364e3e66e" - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - define-property "^1.0.0" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^2.3.1: +braces@^2.3.0, braces@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb" dependencies: @@ -1665,18 +1649,22 @@ browserify-sign@^4.0.0: inherits "^2.0.1" parse-asn1 "^5.0.0" -browserify-zlib@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" dependencies: - pako "~0.2.0" + pako "~1.0.5" browserslist@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.1.1.tgz#d380fc048bc3a33e60fb87dc135110ebaaa6320a" + version "3.2.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.3.tgz#ad36e56a43daeacf4d2b7bb16441b7ac30be4510" dependencies: - caniuse-lite "^1.0.30000809" - electron-to-chromium "^1.3.33" + caniuse-lite "^1.0.30000819" + electron-to-chromium "^1.3.40" + +buffer-from@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" buffer-xor@^1.0.3: version "1.0.3" @@ -1698,7 +1686,7 @@ builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" -cacache@^10.0.1: +cacache@^10.0.4: version "10.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" dependencies: @@ -1742,6 +1730,12 @@ cacheable-request@^2.1.1: normalize-url "2.0.1" responselike "1.0.2" +caller-id@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-id/-/caller-id-0.1.0.tgz#59bdac0893d12c3871408279231f97458364f07b" + dependencies: + stack-trace "~0.0.7" + camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" @@ -1750,9 +1744,9 @@ camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" -caniuse-lite@^1.0.30000809: - version "1.0.30000810" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000810.tgz#47585fffce0e9f3593a6feea4673b945424351d9" +caniuse-lite@^1.0.30000819: + version "1.0.30000820" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000820.tgz#6e36ee75187a2c83d26d6504a1af47cc580324d2" caseless@~0.12.0: version "0.12.0" @@ -1786,7 +1780,7 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@2.3.2, chalk@^2.0.1, chalk@^2.3.2: +chalk@2.3.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" dependencies: @@ -1794,22 +1788,6 @@ chalk@2.3.2, chalk@^2.0.1, chalk@^2.3.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^2.0.0, chalk@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" - dependencies: - ansi-styles "^3.2.0" - escape-string-regexp "^1.0.5" - supports-color "^5.2.0" - -chalk@^2.1.0, chalk@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" @@ -1850,8 +1828,8 @@ chokidar@^1.6.1: fsevents "^1.0.0" chokidar@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7" + version "2.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" dependencies: anymatch "^2.0.0" async-each "^1.0.0" @@ -1865,7 +1843,7 @@ chokidar@^2.0.2: readdirp "^2.0.0" upath "^1.0.0" optionalDependencies: - fsevents "^1.0.0" + fsevents "^1.1.2" chownr@^1.0.1: version "1.0.1" @@ -1883,13 +1861,12 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: safe-buffer "^5.0.1" class-utils@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.5.tgz#17e793103750f9627b2176ea34cfd1b565903c80" + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" dependencies: arr-union "^3.1.0" define-property "^0.2.5" isobject "^3.0.0" - lazy-cache "^2.0.2" static-extend "^0.1.1" class-validator@0.8.5: @@ -1966,20 +1943,20 @@ clone-stats@^1.0.0: resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" clone@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f" + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" clone@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" cloneable-readable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117" + version "1.1.2" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" dependencies: inherits "^2.0.1" - process-nextick-args "^1.0.6" - through2 "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" co@^4.6.0: version "4.6.0" @@ -1997,8 +1974,8 @@ collection-visit@^1.0.0: object-visit "^1.0.0" color-convert@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" dependencies: color-name "^1.1.1" @@ -2011,12 +1988,12 @@ colors@1.0.3: resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" colors@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + version "1.2.1" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.1.tgz#f4a3d302976aaf042356ba1ade3b1a2c62d9d794" -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" +combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" dependencies: delayed-stream "~1.0.0" @@ -2024,22 +2001,22 @@ commander@2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" -commander@2.15.1: +commander@2.15.1, commander@^2.12.1, commander@^2.8.1: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" -commander@^2.12.1, commander@~2.13.0: +commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" -commander@^2.8.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.0.tgz#ad2a23a1c3b036e392469b8012cec6b33b4c1322" - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" +compare-versions@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.1.0.tgz#43310256a5c555aaed4193c04d8f154cf9c6efd5" + component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" @@ -2048,18 +2025,11 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.7: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-stream@^1.5.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26" +concat-stream@^1.4.7, concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" dependencies: + buffer-from "^1.0.0" inherits "^2.0.3" readable-stream "^2.2.2" typedarray "^0.0.6" @@ -2097,11 +2067,7 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -core-js@^2.4.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" - -core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3: +core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3: version "2.5.3" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" @@ -2174,6 +2140,12 @@ cryptiles@2.x.x: dependencies: boom "2.x.x" +cryptiles@3.x.x: + version "3.1.2" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" + dependencies: + boom "5.x.x" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -2307,21 +2279,13 @@ detect-indent@^4.0.0: repeating "^2.0.0" detect-libc@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.2.tgz#71ad5d204bf17a6a6ca8f450c61454066ef461e1" + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" -diff@3.5.0, diff@^3.5.0: +diff@3.5.0, diff@^3.1.0, diff@^3.2.0, diff@^3.3.1, diff@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" -diff@^3.1.0, diff@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" - -diff@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c" - diffie-hellman@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" @@ -2338,8 +2302,8 @@ doctrine@0.7.2: isarray "0.0.1" domain-browser@^1.1.1: - version "1.1.7" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" duplexer3@^0.1.4: version "0.1.4" @@ -2368,9 +2332,9 @@ ejs@^2.3.1: version "2.5.7" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" -electron-to-chromium@^1.3.33: - version "1.3.34" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.34.tgz#d93498f40391bb0c16a603d8241b9951404157ed" +electron-to-chromium@^1.3.40: + version "1.3.40" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.40.tgz#1fbd6d97befd72b8a6f921dc38d22413d2f6fddf" elegant-spinner@^1.0.1: version "1.0.1" @@ -2412,13 +2376,7 @@ enhanced-resolve@^4.0.0: memory-fs "^0.4.0" tapable "^1.0.0" -errno@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" - dependencies: - prr "~0.0.0" - -errno@~0.1.7: +errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" dependencies: @@ -2459,20 +2417,26 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -esprima@4.0.0, esprima@^4.0.0, esprima@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" +espree@3.5.4: + version "3.5.4" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" + dependencies: + acorn "^5.5.0" + acorn-jsx "^3.0.0" esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" +esprima@^4.0.0, esprima@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + esrecurse@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" dependencies: estraverse "^4.1.0" - object-assign "^4.0.1" estraverse@4.2.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.2.0" @@ -2557,26 +2521,18 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend-shallow@^3.0.2: +extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@~3.0.0: +extend@~3.0.0, extend@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" -external-editor@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.5.tgz#52c249a3981b9ba187c7cacf5beb50bf1d91a6bc" - dependencies: - iconv-lite "^0.4.17" - jschardet "^1.4.2" - tmp "^0.0.33" - -external-editor@^2.0.4, external-editor@^2.1.0: +external-editor@^2.0.1, external-editor@^2.0.4, external-editor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" dependencies: @@ -2603,13 +2559,17 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0, extsprintf@^1.2.0: +extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" fast-json-stable-stringify@^2.0.0: version "2.0.0" @@ -2683,12 +2643,12 @@ first-chunk-stream@^2.0.0: readable-stream "^2.0.2" flow-parser@^0.*: - version "0.66.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.66.0.tgz#be583fefb01192aa5164415d31a6241b35718983" + version "0.68.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.68.0.tgz#9cc96620a102e316a314b6bcd56205ceace862d8" flush-write-stream@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.2.tgz#c81b90d8746766f1a609a46809946c45dd8ae417" + version "1.0.3" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" dependencies: inherits "^2.0.1" readable-stream "^2.0.4" @@ -2715,11 +2675,13 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" -formatio@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb" +form-data@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" dependencies: - samsam "1.x" + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" fragment-cache@^0.2.1: version "0.2.1" @@ -2751,12 +2713,12 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" +fsevents@^1.0.0, fsevents@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" dependencies: nan "^2.3.0" - node-pre-gyp "^0.6.36" + node-pre-gyp "^0.6.39" fstream-ignore@^1.0.5: version "1.0.5" @@ -2880,8 +2842,8 @@ global-prefix@^1.0.1: which "^1.2.14" globals@^11.1.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0" + version "11.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.4.0.tgz#b85c793349561c16076a3c13549238a27945f1bc" globals@^9.18.0: version "9.18.0" @@ -2917,8 +2879,8 @@ got@^7.0.0: url-to-options "^1.0.1" got@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/got/-/got-8.2.0.tgz#0d11a071d05046348a2f5c0a5fa047fb687fdfc6" + version "8.3.0" + resolved "https://registry.yarnpkg.com/got/-/got-8.3.0.tgz#6ba26e75f8a6cc4c6b3eb1fe7ce4fec7abac8533" dependencies: "@sindresorhus/is" "^0.7.0" cacheable-request "^2.1.1" @@ -2930,7 +2892,7 @@ got@^8.2.0: isurl "^1.0.0-alpha5" lowercase-keys "^1.0.0" mimic-response "^1.0.0" - p-cancelable "^0.3.0" + p-cancelable "^0.4.0" p-timeout "^2.0.1" pify "^3.0.0" safe-buffer "^5.1.1" @@ -2966,6 +2928,10 @@ har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + har-validator@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" @@ -2973,6 +2939,13 @@ har-validator@~4.2.1: ajv "^4.9.1" har-schema "^1.0.5" +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -3065,6 +3038,15 @@ hawk@3.1.3, hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" +hawk@~6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" + dependencies: + boom "4.x.x" + cryptiles "3.x.x" + hoek "4.x.x" + sntp "2.x.x" + he@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -3081,6 +3063,10 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" +hoek@4.x.x: + version "4.2.1" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" + home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" @@ -3095,8 +3081,8 @@ homedir-polyfill@^1.0.1: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + version "2.6.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" http-cache-semantics@3.8.1: version "3.8.1" @@ -3110,17 +3096,25 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" iconv-lite@^0.4.17, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + version "1.1.11" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" iferr@^0.1.5: version "0.1.5" @@ -3159,14 +3153,10 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@^1.3.4: +ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" -ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - inquirer@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" @@ -3222,11 +3212,7 @@ inquirer@^5.1.0: strip-ansi "^4.0.0" through "^2.3.6" -interpret@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0" - -interpret@^1.0.4: +interpret@^1.0.0, interpret@^1.0.4: version "1.1.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" @@ -3237,15 +3223,9 @@ into-stream@^3.1.0: from2 "^2.1.1" p-is-promise "^1.1.0" -invariant@^2.2.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.3.tgz#1a827dfde7dcbd7c323f0ca826be8fa7c5e9d688" - dependencies: - loose-envify "^1.0.0" - -invariant@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" +invariant@^2.2.0, invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" dependencies: loose-envify "^1.0.0" @@ -3309,15 +3289,7 @@ is-descriptor@^0.1.0: is-data-descriptor "^0.1.4" kind-of "^5.0.0" -is-descriptor@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.1.tgz#2c6023599bde2de9d5d2c8b9a9d94082036b6ef2" - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.2: +is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" dependencies: @@ -3494,65 +3466,66 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" istanbul-api@^1.1.0-alpha: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.2.1.tgz#0c60a0515eb11c7d65c6b50bba2c6e999acd8620" + version "1.3.1" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954" dependencies: async "^2.1.4" + compare-versions "^3.1.0" fileset "^2.0.2" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-hook "^1.1.0" - istanbul-lib-instrument "^1.9.1" - istanbul-lib-report "^1.1.2" - istanbul-lib-source-maps "^1.2.2" - istanbul-reports "^1.1.3" + istanbul-lib-coverage "^1.2.0" + istanbul-lib-hook "^1.2.0" + istanbul-lib-instrument "^1.10.1" + istanbul-lib-report "^1.1.4" + istanbul-lib-source-maps "^1.2.4" + istanbul-reports "^1.3.0" js-yaml "^3.7.0" mkdirp "^0.5.1" once "^1.4.0" -istanbul-lib-coverage@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" +istanbul-lib-coverage@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" -istanbul-lib-hook@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b" +istanbul-lib-hook@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz#ae556fd5a41a6e8efa0b1002b1e416dfeaf9816c" dependencies: append-transform "^0.4.0" -istanbul-lib-instrument@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e" +istanbul-lib-instrument@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" dependencies: babel-generator "^6.18.0" babel-template "^6.16.0" babel-traverse "^6.18.0" babel-types "^6.18.0" babylon "^6.18.0" - istanbul-lib-coverage "^1.1.1" + istanbul-lib-coverage "^1.2.0" semver "^5.3.0" -istanbul-lib-report@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz#922be27c13b9511b979bd1587359f69798c1d425" +istanbul-lib-report@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5" dependencies: - istanbul-lib-coverage "^1.1.1" + istanbul-lib-coverage "^1.2.0" mkdirp "^0.5.1" path-parse "^1.0.5" supports-color "^3.1.2" -istanbul-lib-source-maps@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz#750578602435f28a0c04ee6d7d9e0f2960e62c1c" +istanbul-lib-source-maps@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz#cc7ccad61629f4efff8e2f78adb8c522c9976ec7" dependencies: debug "^3.1.0" - istanbul-lib-coverage "^1.1.1" + istanbul-lib-coverage "^1.2.0" mkdirp "^0.5.1" rimraf "^2.6.1" source-map "^0.5.3" -istanbul-reports@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.3.tgz#3b9e1e8defb6d18b1d425da8e8b32c5a163f2d10" +istanbul-reports@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554" dependencies: handlebars "^4.0.3" @@ -3593,8 +3566,8 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" js-yaml@3.x, js-yaml@^3.6.1, js-yaml@^3.7.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" + version "3.11.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -3603,10 +3576,6 @@ jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" -jschardet@^1.4.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.6.0.tgz#c7d1a71edcff2839db2f9ec30fc5d5ebd3c1a678" - jscodeshift@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.4.1.tgz#da91a1c2eccfa03a3387a21d39948e251ced444a" @@ -3702,7 +3671,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -just-extend@^1.1.26: +just-extend@^1.1.27: version "1.1.27" resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905" @@ -3728,11 +3697,7 @@ kind-of@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" -kind-of@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.0.tgz#3606e9e2fa960e7ddaa8898c03804e47e5d66644" - -kind-of@^6.0.2: +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" @@ -3740,12 +3705,6 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" -lazy-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - dependencies: - set-getter "^0.1.0" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -3843,17 +3802,13 @@ lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" -lodash@^4.13.1, lodash@^4.17.2, lodash@^4.17.5, lodash@^4.2.0: +lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.3.0: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" -lodash@^4.14.0, lodash@^4.17.4, lodash@^4.3.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - log-driver@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.5.tgz#7ae4ec257302fd790d557cb10c97100d857b0056" + version "1.2.7" + resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" log-symbols@^1.0.2: version "1.0.2" @@ -3874,13 +3829,9 @@ log-update@^1.0.2: ansi-escapes "^1.0.0" cli-cursor "^1.0.2" -lolex@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-1.6.0.tgz#3a9a0283452a47d7439e72731b9e07d7386e49f6" - -lolex@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.0.tgz#d6bad0f0aa5caebffcfebb09fb2caa89baaff51c" +lolex@^2.2.0, lolex@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.2.tgz#85f9450425103bf9e7a60668ea25dc43274ca807" longest@^1.0.1: version "1.0.1" @@ -3892,32 +3843,30 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0" -lowercase-keys@1.0.0, lowercase-keys@^1.0.0: +lowercase-keys@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + lru-cache@^4.0.1, lru-cache@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + version "4.1.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f" dependencies: pseudomap "^1.0.2" yallist "^2.1.2" -make-dir@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" - dependencies: - pify "^3.0.0" - -make-dir@^1.1.0: +make-dir@^1.0.0, make-dir@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b" dependencies: pify "^3.0.0" make-error@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96" + version "1.3.4" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535" map-cache@^0.2.2: version "0.2.2" @@ -3999,8 +3948,8 @@ micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: regex-cache "^0.4.2" micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: - version "3.1.9" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89" + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -4014,7 +3963,7 @@ micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: object.pick "^1.3.0" regex-not "^1.0.0" snapdragon "^0.8.1" - to-regex "^3.0.1" + to-regex "^3.0.2" miller-rabin@^4.0.0: version "4.0.1" @@ -4023,19 +3972,19 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" -mime-types@^2.1.12, mime-types@~2.1.7: - version "2.1.17" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" dependencies: - mime-db "~1.30.0" + mime-db "~1.33.0" mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" mimic-response@^1.0.0: version "1.0.0" @@ -4055,7 +4004,7 @@ minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@0.0.8, minimist@~0.0.1: +minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -4067,6 +4016,10 @@ minimist@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + mississippi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" @@ -4083,11 +4036,11 @@ mississippi@^2.0.0: through2 "^2.0.0" mixin-deep@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.2.0.tgz#d02b8c6f8b6d4b8f5982d3fd009c4919851c3fe2" + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" dependencies: for-in "^1.0.2" - is-extendable "^0.1.1" + is-extendable "^1.0.1" mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" @@ -4110,6 +4063,12 @@ mocha@5.0.5: mkdirp "0.5.1" supports-color "4.4.0" +mock-require@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/mock-require/-/mock-require-2.0.2.tgz#1eaa71aad23013773d127dc7e91a3fbb4837d60d" + dependencies: + caller-id "^0.1.0" + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -4139,8 +4098,8 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" nan@^2.3.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" nanomatch@^1.2.9: version "1.2.9" @@ -4172,12 +4131,12 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" nise@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/nise/-/nise-1.2.0.tgz#079d6cadbbcb12ba30e38f1c999f36ad4d6baa53" + version "1.3.2" + resolved "https://registry.yarnpkg.com/nise/-/nise-1.3.2.tgz#fd6fd8dc040dfb3c0a45252feb6ff21832309b14" dependencies: - formatio "^1.2.0" - just-extend "^1.1.26" - lolex "^1.6.0" + "@sinonjs/formatio" "^2.0.0" + just-extend "^1.1.27" + lolex "^2.3.2" path-to-regexp "^1.7.0" text-encoding "^0.6.4" @@ -4193,34 +4152,34 @@ node-fetch@1.6.3: is-stream "^1.0.1" node-libs-browser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" dependencies: assert "^1.1.1" - browserify-zlib "^0.1.4" + browserify-zlib "^0.2.0" buffer "^4.3.0" console-browserify "^1.1.0" constants-browserify "^1.0.0" crypto-browserify "^3.11.0" domain-browser "^1.1.1" events "^1.0.0" - https-browserify "0.0.1" - os-browserify "^0.2.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" path-browserify "0.0.0" - process "^0.11.0" + process "^0.11.10" punycode "^1.2.4" querystring-es3 "^0.2.0" - readable-stream "^2.0.5" + readable-stream "^2.3.3" stream-browserify "^2.0.1" - stream-http "^2.3.1" - string_decoder "^0.10.25" - timers-browserify "^2.0.2" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" tty-browserify "0.0.0" url "^0.11.0" util "^0.10.3" vm-browserify "0.0.4" -node-pre-gyp@^0.6.36: +node-pre-gyp@^0.6.39: version "0.6.39" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" dependencies: @@ -4298,7 +4257,7 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -oauth-sign@~0.8.1: +oauth-sign@~0.8.1, oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -4341,7 +4300,7 @@ once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: onetime@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" onetime@^2.0.0: version "2.0.1" @@ -4394,9 +4353,9 @@ ora@^0.2.3: cli-spinners "^0.1.2" object-assign "^4.0.1" -os-browserify@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" os-homedir@^1.0.0: version "1.0.2" @@ -4419,8 +4378,8 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" @@ -4437,6 +4396,10 @@ p-cancelable@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" +p-cancelable@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.0.tgz#bcb41d35bf6097fc4367a065b6eb84b9b124eff0" + p-each-series@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" @@ -4456,8 +4419,10 @@ p-lazy@^1.0.0: resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835" p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + dependencies: + p-try "^1.0.0" p-locate@^2.0.0: version "2.0.0" @@ -4485,9 +4450,13 @@ p-timeout@^2.0.1: dependencies: p-finally "^1.0.0" -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" parallel-transform@^1.1.0: version "1.1.0" @@ -4585,6 +4554,10 @@ performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -4653,15 +4626,11 @@ private@^0.1.6, private@^0.1.7, private@~0.1.5: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" -process-nextick-args@^1.0.6, process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -process-nextick-args@~2.0.0: +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" -process@^0.11.0: +process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -4669,10 +4638,6 @@ promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" -prr@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" - prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" @@ -4718,9 +4683,13 @@ qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@~6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + query-string@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.0.tgz#9583b15fd1307f899e973ed418886426a9976469" + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" dependencies: decode-uri-component "^0.2.0" object-assign "^4.1.0" @@ -4742,21 +4711,21 @@ randomatic@^1.1.3: kind-of "^4.0.0" randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62" + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" dependencies: randombytes "^2.0.5" safe-buffer "^5.1.0" rc@^1.1.7: - version "1.2.2" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" + version "1.2.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092" dependencies: deep-extend "~0.4.0" ini "~1.3.0" @@ -4785,9 +4754,9 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.4, readable-stream@^2.1.5: - version "2.3.4" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.4.tgz#c946c3f47fa7d8eabc0b6150f4a12f69a4574071" +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -4797,18 +4766,6 @@ read-pkg@^3.0.0: string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2, readable-stream@^2.2.6: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -4829,8 +4786,8 @@ recast@^0.12.5: source-map "~0.6.1" recast@^0.14.1: - version "0.14.5" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.5.tgz#53f1f6edf7810bdfb39a25d0ff97d315bad7c314" + version "0.14.7" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d" dependencies: ast-types "0.11.3" esprima "~4.0.0" @@ -4861,11 +4818,7 @@ regenerator-runtime@^0.10.0: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" -regenerator-runtime@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" - -regenerator-runtime@^0.11.1: +regenerator-runtime@^0.11.0, regenerator-runtime@^0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" @@ -4889,11 +4842,12 @@ regex-cache@^0.4.2: dependencies: is-equal-shallow "^0.1.3" -regex-not@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.0.tgz#42f83e39771622df826b02af176525d6a5f157f9" +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" dependencies: - extend-shallow "^2.0.1" + extend-shallow "^3.0.2" + safe-regex "^1.1.0" regexpu-core@^2.0.0: version "2.0.0" @@ -4960,7 +4914,7 @@ replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" -request@2.81.0, request@^2.79.0: +request@2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -4987,6 +4941,33 @@ request@2.81.0, request@^2.79.0: tunnel-agent "^0.6.0" uuid "^3.0.0" +request@^2.79.0: + version "2.85.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.6.0" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.1" + forever-agent "~0.6.1" + form-data "~2.3.1" + har-validator "~5.0.3" + hawk "~6.0.2" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.17" + oauth-sign "~0.8.2" + performance-now "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + stringstream "~0.0.5" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5017,8 +4998,8 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" resolve@^1.1.6, resolve@^1.3.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" + version "1.6.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c" dependencies: path-parse "^1.0.5" @@ -5042,6 +5023,10 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -5092,8 +5077,8 @@ rx@^4.1.0: resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" rxjs@^5.4.2, rxjs@^5.5.2: - version "5.5.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.6.tgz#e31fb96d6fd2ff1fd84bcea8ae9c02d007179c02" + version "5.5.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.7.tgz#afb3d1642b069b2fbf203903d6501d1acb4cda27" dependencies: symbol-observable "1.0.1" @@ -5101,11 +5086,17 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" -samsam@1.3.0, samsam@1.x: +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +samsam@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50" -schema-utils@^0.4.2: +schema-utils@^0.4.2, schema-utils@^0.4.5: version "0.4.5" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" dependencies: @@ -5116,11 +5107,7 @@ scoped-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" -"semver@2 || 3 || 4 || 5", semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -semver@^5.4.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" @@ -5132,12 +5119,6 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - dependencies: - to-object-path "^0.3.0" - set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" @@ -5165,8 +5146,8 @@ setimmediate@^1.0.4: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.9" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d" + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" @@ -5232,8 +5213,8 @@ snapdragon-util@^3.0.1: kind-of "^3.2.0" snapdragon@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370" + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" dependencies: base "^0.11.1" debug "^2.2.0" @@ -5242,7 +5223,7 @@ snapdragon@^0.8.1: map-cache "^0.2.2" source-map "^0.5.6" source-map-resolve "^0.5.0" - use "^2.0.0" + use "^3.1.0" sntp@1.x.x: version "1.0.9" @@ -5250,6 +5231,12 @@ sntp@1.x.x: dependencies: hoek "2.x.x" +sntp@2.x.x: + version "2.1.0" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" + dependencies: + hoek "4.x.x" + sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" @@ -5270,7 +5257,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@0.5.4: +source-map-support@0.5.4, source-map-support@^0.5.3: version "0.5.4" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.4.tgz#54456efa89caa9270af7cd624cc2f123e51fbae8" dependencies: @@ -5282,12 +5269,6 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76" - dependencies: - source-map "^0.6.0" - source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -5298,7 +5279,7 @@ source-map@^0.4.4: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1, source-map@~0.5.3: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -5319,33 +5300,41 @@ spawn-sync@^1.0.15: concat-stream "^1.4.7" os-shim "^0.1.2" -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" +spdx-correct@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" dependencies: - spdx-license-ids "^1.0.2" + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" +spdx-exceptions@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" split-string@^3.0.1, split-string@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.0.2.tgz#6129bc92731716e5aa1fb73c333078f0b7c114c8" + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" dependencies: - extend-shallow "^2.0.1" + extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" + version "1.14.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5358,11 +5347,15 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.2.4.tgz#9985e14041e65fc397af96542be35724ac11da52" + version "5.3.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" dependencies: safe-buffer "^5.1.1" +stack-trace@~0.0.7: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -5384,13 +5377,13 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" -stream-http@^2.3.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" +stream-http@^2.7.2: + version "2.8.1" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.1.tgz#d0441be1a457a73a733a8a7b53570bebd9ef66a4" dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" - readable-stream "^2.2.6" + readable-stream "^2.3.3" to-arraybuffer "^1.0.0" xtend "^4.0.0" @@ -5431,9 +5424,11 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string_decoder@^0.10.25: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" +string_decoder@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.0.tgz#384f322ee8a848e500effde99901bba849c5d403" + dependencies: + safe-buffer "~5.1.0" string_decoder@~1.0.3: version "1.0.3" @@ -5441,7 +5436,7 @@ string_decoder@~1.0.3: dependencies: safe-buffer "~5.1.0" -stringstream@~0.0.4: +stringstream@~0.0.4, stringstream@~0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -5502,25 +5497,7 @@ supports-color@^3.1.2: dependencies: has-flag "^1.0.0" -supports-color@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" - dependencies: - has-flag "^2.0.0" - -supports-color@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.1.0.tgz#058a021d1b619f7ddf3980d712ea3590ce7de3d5" - dependencies: - has-flag "^2.0.0" - -supports-color@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.2.0.tgz#b0d5333b1184dd3666cbe5aa0b45c5ac7ac17a4a" - dependencies: - has-flag "^3.0.0" - -supports-color@^5.3.0: +supports-color@^5.1.0, supports-color@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0" dependencies: @@ -5585,7 +5562,7 @@ threads@0.10.1: eventemitter3 "^2.0.2" native-promise-only "^0.8.1" -through2@^2.0.0, through2@^2.0.1: +through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: @@ -5600,9 +5577,9 @@ timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" -timers-browserify@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" +timers-browserify@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.6.tgz#241e76927d9ca05f4d959819022f5b3664b64bae" dependencies: setimmediate "^1.0.4" @@ -5637,17 +5614,18 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" -to-regex@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae" +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" dependencies: - define-property "^0.2.5" - extend-shallow "^2.0.1" - regex-not "^1.0.0" + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" -tough-cookie@~2.3.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" +tough-cookie@~2.3.0, tough-cookie@~2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" dependencies: punycode "^1.4.1" @@ -5668,14 +5646,10 @@ ts-node@5.0.1: source-map-support "^0.5.3" yn "^2.0.0" -tslib@1.9.0: +tslib@1.9.0, tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1: version "1.9.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" -tslib@^1.7.1, tslib@^1.8.0: - version "1.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.1.tgz#6946af2d1d651a7b1863b531d6e5afa41aa44eac" - tslint-eslint-rules@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-5.1.0.tgz#3232b318da55dbb5a83e3f5d657c1ddbb27b9ff2" @@ -5684,9 +5658,11 @@ tslint-eslint-rules@5.1.0: tslib "1.9.0" tsutils "2.8.0" -tslint-language-service@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/tslint-language-service/-/tslint-language-service-0.9.8.tgz#22a6f2f926b7c0a4cafed3ae1f65021e8008dc96" +tslint-language-service@0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/tslint-language-service/-/tslint-language-service-0.9.9.tgz#f546dc38483979e6fb3cfa59584ad8525b3ad4da" + dependencies: + mock-require "^2.0.2" tslint-webpack-plugin@1.2.2: version "1.2.2" @@ -5718,10 +5694,10 @@ tsutils@2.8.0: tslib "^1.7.1" tsutils@^2.12.1: - version "2.12.2" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.12.2.tgz#ad58a4865d17ec3ddb6631b6ca53be14a5656ff3" + version "2.22.2" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.22.2.tgz#0b9f3d87aa3eb95bd32d26ce2b88aa329a657951" dependencies: - tslib "^1.7.1" + tslib "^1.8.1" tty-browserify@0.0.0: version "0.0.0" @@ -5743,13 +5719,9 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-detect@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.3.tgz#0e3f2670b44099b0b46c284d136a7ef49c74c2ea" - -type-detect@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2" +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" typedarray@^0.0.6: version "0.0.6" @@ -5780,12 +5752,12 @@ uglify-to-browserify@~1.0.0: resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" uglifyjs-webpack-plugin@^1.1.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz#e7516d4367afdb715c3847841eb46f94c45ca2b9" + version "1.2.4" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.4.tgz#5eec941b2e9b8538be0a20fc6eda25b14c7c1043" dependencies: - cacache "^10.0.1" + cacache "^10.0.4" find-cache-dir "^1.0.0" - schema-utils "^0.4.2" + schema-utils "^0.4.5" serialize-javascript "^1.4.0" source-map "^0.6.1" uglify-es "^3.3.4" @@ -5882,13 +5854,11 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" -use@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" +use@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" dependencies: - define-property "^0.2.5" - isobject "^3.0.0" - lazy-cache "^2.0.2" + kind-of "^6.0.2" util-deprecate@~1.0.1: version "1.0.2" @@ -5900,20 +5870,20 @@ util@0.10.3, util@^0.10.3: dependencies: inherits "2.0.1" -uuid@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" +uuid@^3.0.0, uuid@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" v8-compile-cache@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + version "3.0.3" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" validator@9.2.0: version "9.2.0" @@ -6011,14 +5981,7 @@ webpack-node-externals@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz#232c62ec6092b100635a3d29d83c1747128df9bd" -webpack-sources@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" - dependencies: - source-list-map "^2.0.0" - source-map "~0.5.3" - -webpack-sources@^1.1.0: +webpack-sources@^1.0.1, webpack-sources@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" dependencies: @@ -6088,11 +6051,10 @@ wordwrap@~0.0.2: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" worker-farm@^1.5.2: - version "1.5.4" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.4.tgz#4debbe46b40edefcc717ebde74a90b1ae1e909a1" + version "1.6.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" dependencies: errno "~0.1.7" - xtend "~4.0.1" wrap-ansi@^2.0.0: version "2.1.0"