@kontur.candy/tools 2.136.0 → 2.137.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -0
- package/README.md +0 -8
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +3 -3
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +2 -2
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +1 -25
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +54 -99
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +9 -9
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +13 -18
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +8 -13
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +9 -48
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +2 -8
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +11 -46
- package/distr/Tools/src/CandyCLI.js +29 -81
- package/distr/Tools/src/Commons/Logging/Logger.js +2 -2
- package/package.json +1 -1
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.runBuildServer = runBuildServer;
|
|
7
7
|
exports.runDevBuildServer = runDevBuildServer;
|
|
8
8
|
|
|
9
|
-
var _TypingUtils = require("../../../../Common/TypingUtils");
|
|
10
|
-
|
|
11
9
|
var _ExpressServerWrapper = require("../../Commons/HttpServer/ExpressWrapper/ExpressServerWrapper");
|
|
12
10
|
|
|
13
11
|
var _FormsHelperController = require("../FormsHelper/FormsHelperController");
|
|
@@ -32,22 +30,7 @@ var _BuildServerPrebuiltResourcesController = require("./ResourcesControllers/Bu
|
|
|
32
30
|
|
|
33
31
|
var _BuildServerPublishedEngineController = require("./ResourcesControllers/BuildServerPublishedEngineController");
|
|
34
32
|
|
|
35
|
-
async function runBuildServer(context, options,
|
|
36
|
-
(0, _TypingUtils.ensureArrayIsNotEmpty)(allFarmConfig);
|
|
37
|
-
let engineDirectory = "";
|
|
38
|
-
|
|
39
|
-
for (const conf of allFarmConfig) {
|
|
40
|
-
if (conf.engineDirectory != undefined) {
|
|
41
|
-
engineDirectory = conf.engineDirectory;
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (engineDirectory === "") {
|
|
47
|
-
throw Error("All Engine directory is empty");
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;
|
|
33
|
+
async function runBuildServer(context, options, engineDirectory, farmDirectory, resourcesDirectory, candyModulesDirectory, hlFarmDirectoryPath) {
|
|
51
34
|
const formTestingHelpersWebServer = new _ExpressServerWrapper.ExpressServerWrapper(9010, undefined, context.logger, "Forms helpers");
|
|
52
35
|
formTestingHelpersWebServer.registerSigletonController(new _FormsHelperController.FormsHelperController({
|
|
53
36
|
frontEndDevMode: options.developmentMode
|
|
@@ -58,16 +41,16 @@ async function runBuildServer(context, options, allFarmConfig) {
|
|
|
58
41
|
webServer.registerSigletonController(new _BuildLogsWebsocketController.BuildLogsWebsocketController());
|
|
59
42
|
}
|
|
60
43
|
|
|
61
|
-
const buildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(
|
|
44
|
+
const buildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(farmDirectory, candyModulesDirectory, hlFarmDirectoryPath, false, engineDirectory, options.buildDebugOnly, options.nightly);
|
|
62
45
|
webServer.registerSigletonController(buildFormsController);
|
|
63
|
-
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(
|
|
64
|
-
webServer.registerSigletonController(new _BuildServerFormInfoController.BuildServerFormInfoController(
|
|
46
|
+
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(farmDirectory, buildFormsController));
|
|
47
|
+
webServer.registerSigletonController(new _BuildServerFormInfoController.BuildServerFormInfoController(farmDirectory, false, options.nightly));
|
|
65
48
|
webServer.registerSigletonController(new _BuildServerPrebuiltResourcesController.BuildServerPrebuiltResourcesController());
|
|
66
49
|
webServer.registerSigletonController(new _BuildServerPublishedEngineController.BuildServerPublishedEngineController(candyModulesDirectory));
|
|
67
50
|
webServer.registerSigletonController(new _BuildServerClientJsFromResourcesController.BuildServerClientJsFromResourcesController(options.disableClientOverride, {
|
|
68
51
|
frontEndDevMode: options.developmentMode
|
|
69
52
|
}));
|
|
70
|
-
webServer.registerSigletonController(new _BuildServerBackendResourcesUpdatesController.BuildServerBackendResourcesUpdatesController(
|
|
53
|
+
webServer.registerSigletonController(new _BuildServerBackendResourcesUpdatesController.BuildServerBackendResourcesUpdatesController(farmDirectory));
|
|
71
54
|
await formTestingHelpersWebServer.start();
|
|
72
55
|
await webServer.start();
|
|
73
56
|
await context.waitForExit();
|
|
@@ -75,25 +58,7 @@ async function runBuildServer(context, options, allFarmConfig) {
|
|
|
75
58
|
await formTestingHelpersWebServer.stop();
|
|
76
59
|
}
|
|
77
60
|
|
|
78
|
-
async function runDevBuildServer(context, options,
|
|
79
|
-
if (allFarmConfig[0] == undefined) {
|
|
80
|
-
throw Error("Config can't be length 0");
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
let engineDirectory = "";
|
|
84
|
-
|
|
85
|
-
for (const conf of allFarmConfig) {
|
|
86
|
-
if (conf.engineDirectory != undefined) {
|
|
87
|
-
engineDirectory = conf.engineDirectory;
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (engineDirectory === "") {
|
|
93
|
-
throw Error("All Engine directory is empty");
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;
|
|
61
|
+
async function runDevBuildServer(context, options, engineDirectory, farmDirectory, resourcesDirectory, candyModulesDirectory, hlFarmDirectoryPath) {
|
|
97
62
|
const formTestingHelpersWebServer = new _ExpressServerWrapper.ExpressServerWrapper(9010, undefined, context.logger, "Forms helpers");
|
|
98
63
|
formTestingHelpersWebServer.registerSigletonController(new _FormsHelperController.FormsHelperController({
|
|
99
64
|
frontEndDevMode: options.developmentMode
|
|
@@ -104,21 +69,21 @@ async function runDevBuildServer(context, options, allFarmConfig) {
|
|
|
104
69
|
webServer.registerSigletonController(new _BuildLogsWebsocketController.BuildLogsWebsocketController());
|
|
105
70
|
}
|
|
106
71
|
|
|
107
|
-
const buildServerBuildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(
|
|
72
|
+
const buildServerBuildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(farmDirectory, candyModulesDirectory, hlFarmDirectoryPath, true, engineDirectory, options.buildDebugOnly);
|
|
108
73
|
webServer.registerSigletonController(buildServerBuildFormsController);
|
|
109
|
-
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(
|
|
110
|
-
webServer.registerSigletonController(new _BuildServerFormInfoController.BuildServerFormInfoController(
|
|
74
|
+
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(farmDirectory, buildServerBuildFormsController));
|
|
75
|
+
webServer.registerSigletonController(new _BuildServerFormInfoController.BuildServerFormInfoController(farmDirectory, true, false));
|
|
111
76
|
webServer.registerSigletonController(new _BuildServerPrebuiltResourcesController.BuildServerPrebuiltResourcesController());
|
|
112
77
|
webServer.registerSigletonController(new _BuildServerPublishedEngineController.BuildServerPublishedEngineController(candyModulesDirectory));
|
|
113
78
|
webServer.registerSigletonController(new _BuildServerLocalSourcesEngineController.BuildServerLocalSourcesEngineController(engineDirectory, options.buildDebugOnly));
|
|
114
79
|
webServer.registerSigletonController(new _BuildServerClientJsController.BuildServerClientJsController(engineDirectory, options.buildDebugOnly, options.disableClientOverride, {
|
|
115
80
|
frontEndDevMode: options.developmentMode
|
|
116
81
|
}));
|
|
117
|
-
webServer.registerSigletonController(new _BuildServerBackendResourcesUpdatesController.BuildServerBackendResourcesUpdatesController(
|
|
82
|
+
webServer.registerSigletonController(new _BuildServerBackendResourcesUpdatesController.BuildServerBackendResourcesUpdatesController(farmDirectory));
|
|
118
83
|
await formTestingHelpersWebServer.start();
|
|
119
84
|
await webServer.start();
|
|
120
85
|
await context.waitForExit();
|
|
121
86
|
await webServer.stop();
|
|
122
87
|
await formTestingHelpersWebServer.stop();
|
|
123
88
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SdW5CdWlsZFNlcnZlci50cyJdLCJuYW1lcyI6WyJydW5CdWlsZFNlcnZlciIsImNvbnRleHQiLCJvcHRpb25zIiwiYWxsRmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsImNvbmYiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlciIsIkV4cHJlc3NTZXJ2ZXJXcmFwcGVyIiwibG9nZ2VyIiwicmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIiLCJGb3Jtc0hlbHBlckNvbnRyb2xsZXIiLCJmcm9udEVuZERldk1vZGUiLCJkZXZlbG9wbWVudE1vZGUiLCJ3ZWJTZXJ2ZXIiLCJkaXNhYmxlQ2xpZW50T3ZlcnJpZGUiLCJCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyIiwiYnVpbGRGb3Jtc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiYnVpbGREZWJ1Z09ubHkiLCJuaWdodGx5IiwiQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciIsInN0YXJ0Iiwid2FpdEZvckV4aXQiLCJzdG9wIiwicnVuRGV2QnVpbGRTZXJ2ZXIiLCJidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJMb2NhbFNvdXJjZXNFbmdpbmVDb250cm9sbGVyIiwiQnVpbGRTZXJ2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aWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5cbmltcG9ydCB7IGVuc3VyZUFycmF5SXNOb3RFbXB0eSB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgRXhwcmVzc1NlcnZlcldyYXBwZXIgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL0V4cHJlc3NTZXJ2ZXJXcmFwcGVyXCI7XG5pbXBvcnQgeyBGb3Jtc0hlbHBlckNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vRm9ybXNIZWxwZXIvRm9ybXNIZWxwZXJDb250cm9sbGVyXCI7XG5cbmltcG9ydCB7IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIgfSBmcm9tIFwiLi9CdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlck9wdGlvbnMsIERldkJ1aWxkU2VydmVyT3B0aW9ucyB9IGZyb20gXCIuL0J1aWxkU2VydmVyU2VydmVyT3B0aW9uc1wiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQ2xpZW50SnNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJGb3JtSW5mb0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlclByZWJ1aWx0UmVzb3VyY2VzQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5CdWlsZFNlcnZlcihcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IEJ1aWxkU2VydmVyT3B0aW9ucyxcbiAgICBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW11cbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGVuc3VyZUFycmF5SXNOb3RFbXB0eShhbGxGYXJtQ29uZmlnKTtcblxuICAgIGxldCBlbmdpbmVEaXJlY3RvcnkgPSBcIlwiO1xuICAgIGZvciAoY29uc3QgY29uZiBvZiBhbGxGYXJtQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25mLmVuZ2luZURpcmVjdG9yeSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSA9IGNvbmYuZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVuZ2luZURpcmVjdG9yeSA9PT0gXCJcIikge1xuICAgICAgICB0aHJvdyBFcnJvcihcIkFsbCBFbmdpbmUgZGlyZWN0b3J5IGlzIGVtcHR5XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGFsbEZhcm1Db25maWdbMF0uY2FuZHlNb2R1bGVzRGlyZWN0b3J5O1xuXG4gICAgY29uc3QgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyID0gbmV3IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyKDkwMTAsIHVuZGVmaW5lZCwgY29udGV4dC5sb2dnZXIsIFwiRm9ybXMgaGVscGVyc1wiKTtcbiAgICBmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBGb3Jtc0hlbHBlckNvbnRyb2xsZXIoeyBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHdlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDAwLCA5MDQzLCBjb250ZXh0LmxvZ2dlcik7XG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSkge1xuICAgICAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIoKSk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkRm9ybXNDb250cm9sbGVyID0gbmV3IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIoXG4gICAgICAgIGFsbEZhcm1Db25maWcsXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgb3B0aW9ucy5idWlsZERlYnVnT25seSxcbiAgICAgICAgb3B0aW9ucy5uaWdodGx5XG4gICAgKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihidWlsZEZvcm1zQ29udHJvbGxlcik7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnLCBidWlsZEZvcm1zQ29udHJvbGxlcilcbiAgICApO1xuXG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnLCBmYWxzZSwgb3B0aW9ucy5uaWdodGx5KSk7XG5cbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyKCkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyKGNhbmR5TW9kdWxlc0RpcmVjdG9yeSkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzQ29udHJvbGxlcihvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSwge1xuICAgICAgICAgICAgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfSlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZykpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICBhd2FpdCB3ZWJTZXJ2ZXIuc3RvcCgpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdG9wKCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5EZXZCdWlsZFNlcnZlcihcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IERldkJ1aWxkU2VydmVyT3B0aW9ucyxcbiAgICBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW11cbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhbGxGYXJtQ29uZmlnWzBdID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBFcnJvcihcIkNvbmZpZyBjYW4ndCBiZSBsZW5ndGggMFwiKTtcbiAgICB9XG5cbiAgICBsZXQgZW5naW5lRGlyZWN0b3J5ID0gXCJcIjtcbiAgICBmb3IgKGNvbnN0IGNvbmYgb2YgYWxsRmFybUNvbmZpZykge1xuICAgICAgICBpZiAoY29uZi5lbmdpbmVEaXJlY3RvcnkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlbmdpbmVEaXJlY3RvcnkgPSBjb25mLmVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChlbmdpbmVEaXJlY3RvcnkgPT09IFwiXCIpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJBbGwgRW5naW5lIGRpcmVjdG9yeSBpcyBlbXB0eVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBhbGxGYXJtQ29uZmlnWzBdLmNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcblxuICAgIGNvbnN0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDEwLCB1bmRlZmluZWQsIGNvbnRleHQubG9nZ2VyLCBcIkZvcm1zIGhlbHBlcnNcIik7XG4gICAgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgRm9ybXNIZWxwZXJDb250cm9sbGVyKHsgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSB9KVxuICAgICk7XG5cbiAgICBjb25zdCB3ZWJTZXJ2ZXIgPSBuZXcgRXhwcmVzc1NlcnZlcldyYXBwZXIoOTAwMCwgOTA0MywgY29udGV4dC5sb2dnZXIpO1xuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlQ2xpZW50T3ZlcnJpZGUpIHtcbiAgICAgICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIgPSBuZXcgQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcihcbiAgICAgICAgYWxsRmFybUNvbmZpZyxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgICAgICB0cnVlLFxuICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNDb250cm9sbGVyKGFsbEZhcm1Db25maWcsIGJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIpXG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyKGFsbEZhcm1Db25maWcsIHRydWUsIGZhbHNlKSk7XG5cbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyKCkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyKGNhbmR5TW9kdWxlc0RpcmVjdG9yeSkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlcihlbmdpbmVEaXJlY3RvcnksIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHkpXG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlcihlbmdpbmVEaXJlY3RvcnksIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHksIG9wdGlvbnMuZGlzYWJsZUNsaWVudE92ZXJyaWRlLCB7XG4gICAgICAgICAgICBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlLFxuICAgICAgICB9KVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnKSk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgd2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgY29udGV4dC53YWl0Rm9yRXhpdCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdG9wKCk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0b3AoKTtcbn1cbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SdW5CdWlsZFNlcnZlci50cyJdLCJuYW1lcyI6WyJydW5CdWlsZFNlcnZlciIsImNvbnRleHQiLCJvcHRpb25zIiwiZW5naW5lRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsInJlc291cmNlc0RpcmVjdG9yeSIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIiLCJFeHByZXNzU2VydmVyV3JhcHBlciIsInVuZGVmaW5lZCIsImxvZ2dlciIsInJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyIiwiRm9ybXNIZWxwZXJDb250cm9sbGVyIiwiZnJvbnRFbmREZXZNb2RlIiwiZGV2ZWxvcG1lbnRNb2RlIiwid2ViU2VydmVyIiwiZGlzYWJsZUNsaWVudE92ZXJyaWRlIiwiQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlciIsImJ1aWxkRm9ybXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlciIsImJ1aWxkRGVidWdPbmx5IiwibmlnaHRseSIsIkJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIiLCJzdGFydCIsIndhaXRGb3JFeGl0Iiwic3RvcCIsInJ1bkRldkJ1aWxkU2VydmVyIiwiYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyTG9jYWxTb3VyY2Vz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Q3RHSCxJQUFBQSxlQUFlLEVBQUVaLE9BQU8sQ0FBQ2E7QUFENkUsR0FBMUcsQ0FESjtBQUtBQyxFQUFBQSxTQUFTLENBQUNKLDBCQUFWLENBQXFDLElBQUlnQiwwRkFBSixDQUFpRHhCLGFBQWpELENBQXJDO0FBQ0EsUUFBTUksMkJBQTJCLENBQUNxQixLQUE1QixFQUFOO0FBQ0EsUUFBTWIsU0FBUyxDQUFDYSxLQUFWLEVBQU47QUFDQSxRQUFNNUIsT0FBTyxDQUFDNkIsV0FBUixFQUFOO0FBQ0EsUUFBTWQsU0FBUyxDQUFDZSxJQUFWLEVBQU47QUFDQSxRQUFNdkIsMkJBQTJCLENBQUN1QixJQUE1QixFQUFOO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9FeHByZXNzV3JhcHBlci9FeHByZXNzU2VydmVyV3JhcHBlclwiO1xuaW1wb3J0IHsgRm9ybXNIZWxwZXJDb250cm9sbGVyIH0gZnJvbSBcIi4uL0Zvcm1zSGVscGVyL0Zvcm1zSGVscGVyQ29udHJvbGxlclwiO1xuXG5pbXBvcnQgeyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyIH0gZnJvbSBcIi4vQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJPcHRpb25zLCBEZXZCdWlsZFNlcnZlck9wdGlvbnMgfSBmcm9tIFwiLi9CdWlsZFNlcnZlclNlcnZlck9wdGlvbnNcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlclwiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuQnVpbGRTZXJ2ZXIoXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBCdWlsZFNlcnZlck9wdGlvbnMsXG4gICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nLFxuICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIGhsRmFybURpcmVjdG9yeVBhdGg6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyID0gbmV3IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyKDkwMTAsIHVuZGVmaW5lZCwgY29udGV4dC5sb2dnZXIsIFwiRm9ybXMgaGVscGVyc1wiKTtcbiAgICBmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBGb3Jtc0hlbHBlckNvbnRyb2xsZXIoeyBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHdlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDAwLCA5MDQzLCBjb250ZXh0LmxvZ2dlcik7XG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSkge1xuICAgICAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIoKSk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkRm9ybXNDb250cm9sbGVyID0gbmV3IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIoXG4gICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgb3B0aW9ucy5idWlsZERlYnVnT25seSxcbiAgICAgICAgb3B0aW9ucy5uaWdodGx5XG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoYnVpbGRGb3Jtc0NvbnRyb2xsZXIpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIoZmFybURpcmVjdG9yeSwgYnVpbGRGb3Jtc0NvbnRyb2xsZXIpXG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyKGZhcm1EaXJlY3RvcnksIGZhbHNlLCBvcHRpb25zLm5pZ2h0bHkpKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIoKSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIoY2FuZHlNb2R1bGVzRGlyZWN0b3J5KSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyKG9wdGlvbnMuZGlzYWJsZUNsaWVudE92ZXJyaWRlLCB7XG4gICAgICAgICAgICBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlLFxuICAgICAgICB9KVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlcihmYXJtRGlyZWN0b3J5KSk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgd2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgY29udGV4dC53YWl0Rm9yRXhpdCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdG9wKCk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0b3AoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkRldkJ1aWxkU2VydmVyKFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQsXG4gICAgb3B0aW9uczogRGV2QnVpbGRTZXJ2ZXJPcHRpb25zLFxuICAgIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBobEZhcm1EaXJlY3RvcnlQYXRoOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDEwLCB1bmRlZmluZWQsIGNvbnRleHQubG9nZ2VyLCBcIkZvcm1zIGhlbHBlcnNcIik7XG4gICAgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgRm9ybXNIZWxwZXJDb250cm9sbGVyKHsgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSB9KVxuICAgICk7XG5cbiAgICBjb25zdCB3ZWJTZXJ2ZXIgPSBuZXcgRXhwcmVzc1NlcnZlcldyYXBwZXIoOTAwMCwgOTA0MywgY29udGV4dC5sb2dnZXIpO1xuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlQ2xpZW50T3ZlcnJpZGUpIHtcbiAgICAgICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyKCkpO1xuICAgIH1cbiAgICBjb25zdCBidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyID0gbmV3IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIoXG4gICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICBvcHRpb25zLmJ1aWxkRGVidWdPbmx5XG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcik7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlcihmYXJtRGlyZWN0b3J5LCBidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyKVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlcihmYXJtRGlyZWN0b3J5LCB0cnVlLCBmYWxzZSkpO1xuXG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlclByZWJ1aWx0UmVzb3VyY2VzQ29udHJvbGxlcigpKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlcihjYW5keU1vZHVsZXNEaXJlY3RvcnkpKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBCdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIoZW5naW5lRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkRGVidWdPbmx5KVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXIoZW5naW5lRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkRGVidWdPbmx5LCBvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSwge1xuICAgICAgICAgICAgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfSlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIoZmFybURpcmVjdG9yeSkpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICBhd2FpdCB3ZWJTZXJ2ZXIuc3RvcCgpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdG9wKCk7XG59XG4iXX0=
|
|
@@ -2,21 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
require("core-js/stable");
|
|
6
|
+
|
|
7
|
+
require("regenerator-runtime/runtime");
|
|
8
|
+
|
|
5
9
|
require("core-js/features/array/flat");
|
|
6
10
|
|
|
7
11
|
require("core-js/proposals/iterator-helpers");
|
|
8
12
|
|
|
9
|
-
require("
|
|
13
|
+
require("reflect-metadata");
|
|
10
14
|
|
|
11
15
|
var _path = _interopRequireDefault(require("path"));
|
|
12
16
|
|
|
13
17
|
var _fsExtra = require("fs-extra");
|
|
14
18
|
|
|
15
|
-
require("
|
|
19
|
+
var _shelljs = require("shelljs");
|
|
16
20
|
|
|
17
|
-
require("
|
|
21
|
+
var _ConsoleApplication = require("./Commons/ConsoleApplication/ConsoleApplication");
|
|
18
22
|
|
|
19
|
-
var
|
|
23
|
+
var _StaticLogger = require("./Commons/Logging/StaticLogger");
|
|
20
24
|
|
|
21
25
|
var _RunBuildForms = require("./CLICommands/BuildForms/RunBuildForms");
|
|
22
26
|
|
|
@@ -32,10 +36,6 @@ var _RunLocalization = require("./CLICommands/Localization/RunLocalization");
|
|
|
32
36
|
|
|
33
37
|
var _RunUpgradeForm = require("./CLICommands/UpgradeForm/RunUpgradeForm");
|
|
34
38
|
|
|
35
|
-
var _ConsoleApplication = require("./Commons/ConsoleApplication/ConsoleApplication");
|
|
36
|
-
|
|
37
|
-
var _StaticLogger = require("./Commons/Logging/StaticLogger");
|
|
38
|
-
|
|
39
39
|
var _CandyToolOptions = require("./Options/CandyToolOptions");
|
|
40
40
|
|
|
41
41
|
var _ReadFarmConfig = require("./ReadFarmConfig");
|
|
@@ -73,52 +73,13 @@ async function removeTemporaryWebpackConfigFiles(farmDirectory, logger) {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
function validateFarmConfig(farmDirectory) {
|
|
77
|
-
const farmConfig = (0, _ReadFarmConfig.readFarmConfig)(farmDirectory);
|
|
78
|
-
|
|
79
|
-
if (farmConfig.engineDirectory == undefined) {
|
|
80
|
-
throw new Error("EngineDirectory is not specified");
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (farmConfig.resourcesDirectory == undefined) {
|
|
84
|
-
throw new Error("ResourcesDirectory is not specified");
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const candyModulesDirectory = _path.default.resolve(farmDirectory, "..", ".candy_modules");
|
|
88
|
-
|
|
89
|
-
return { ...farmConfig,
|
|
90
|
-
farmDirectory: farmDirectory,
|
|
91
|
-
candyModulesDirectory: candyModulesDirectory
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, currentDir, context) => {
|
|
96
|
-
const result = [];
|
|
97
|
-
|
|
98
|
-
for (const pth of allFarmDirectories) {
|
|
99
|
-
// Все дело в том, что связка service-runner-2 + tools корректно работает только в папке с формой
|
|
100
|
-
// из за чего, внутри раннера напилен хитрый механизм поиска путей формы. Перепиливать все механики
|
|
101
|
-
// совсем не хочется, поэтому для нас, считаю поднятие до уровня engine вполне приемлемым решением
|
|
102
|
-
const pathToFarm = _path.default.join(currentDir, "..", "..", "..", pth);
|
|
103
|
-
|
|
104
|
-
if (!(await (0, _fsExtra.pathExists)(pathToFarm))) {
|
|
105
|
-
throw Error(`allFarmDirectories path = ${pathToFarm} not exist`);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
await removeTemporaryWebpackConfigFiles(pathToFarm, context.logger);
|
|
109
|
-
result.push(validateFarmConfig(pathToFarm));
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return result;
|
|
113
|
-
};
|
|
114
|
-
|
|
115
76
|
(0, _ConsoleApplication.runConsoleApplication)(async (argv, context) => {
|
|
116
77
|
remoteInspectFlagToDisableDebuggerInChildProcess();
|
|
117
78
|
context.logger.log("@kontur.candy/tools: " + (await (0, _SelfUpdate.getCurrentVersion)()));
|
|
118
|
-
const
|
|
119
|
-
context.setConsoleLoggingVerbosity(
|
|
79
|
+
const options = (0, _CandyToolOptions.parseOptions)(argv);
|
|
80
|
+
context.setConsoleLoggingVerbosity(options.options.logVerbosity);
|
|
120
81
|
(0, _StaticLogger.setLogger)(context.logger);
|
|
121
|
-
context.logger.verbose(`Verbose level: ${
|
|
82
|
+
context.logger.verbose(`Verbose level: ${options.options.logVerbosity}`);
|
|
122
83
|
const farmDirectory = process.cwd();
|
|
123
84
|
await removeTemporaryWebpackConfigFiles(farmDirectory, context.logger);
|
|
124
85
|
const farmConfig = (0, _ReadFarmConfig.readFarmConfig)(farmDirectory);
|
|
@@ -137,49 +98,36 @@ const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, current
|
|
|
137
98
|
|
|
138
99
|
const candyModulesDirectory = _path.default.resolve(farmDirectory, "..", ".candy_modules");
|
|
139
100
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
const allFarmDirectories = parsedArgs.options.allFarmsDir;
|
|
144
|
-
context.logger.warning(`allFarmDirectories = ${parsedArgs.options.allFarmsDir}`);
|
|
145
|
-
let allFarmConfig;
|
|
146
|
-
|
|
147
|
-
if (Array.isArray(allFarmDirectories) && allFarmDirectories.length > 0) {
|
|
148
|
-
allFarmConfig = await validateAndPrepareFarmDirectoriesPath(allFarmDirectories, farmDirectory, context);
|
|
149
|
-
} else {
|
|
150
|
-
context.logger.warning(`Use default candyFarm path dir = ${defaultFarmsDirectories}`);
|
|
151
|
-
allFarmConfig = await validateAndPrepareFarmDirectoriesPath(defaultFarmsDirectories, farmDirectory, context);
|
|
152
|
-
}
|
|
101
|
+
if (options.type === "build-server") {
|
|
102
|
+
await (0, _RunBuildServer.runBuildServer)(context, options.options, engineDirectory, farmDirectory, resourcesDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
103
|
+
}
|
|
153
104
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
} else {
|
|
157
|
-
await (0, _RunBuildServer.runBuildServer)(context, parsedArgs.options, allFarmConfig);
|
|
158
|
-
}
|
|
105
|
+
if (options.type === "dev-build-server") {
|
|
106
|
+
await (0, _RunBuildServer.runDevBuildServer)(context, options.options, engineDirectory, farmDirectory, resourcesDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
159
107
|
}
|
|
160
108
|
|
|
161
|
-
if (
|
|
162
|
-
await (0, _RunBuildForms.runBuildForms)(context,
|
|
109
|
+
if (options.type === "build") {
|
|
110
|
+
await (0, _RunBuildForms.runBuildForms)(context, options.options, farmDirectory, resourcesDirectory, engineDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
163
111
|
}
|
|
164
112
|
|
|
165
|
-
if (
|
|
166
|
-
await (0, _RunDevBuild.runDevBuild)(context,
|
|
113
|
+
if (options.type === "dev-build") {
|
|
114
|
+
await (0, _RunDevBuild.runDevBuild)(context, options.options, engineDirectory, resourcesDirectory, farmDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
167
115
|
}
|
|
168
116
|
|
|
169
|
-
if (
|
|
170
|
-
await (0, _RunFormStats.runFormStats)(context,
|
|
117
|
+
if (options.type === "form-stats") {
|
|
118
|
+
await (0, _RunFormStats.runFormStats)(context, options.options, farmDirectory);
|
|
171
119
|
}
|
|
172
120
|
|
|
173
|
-
if (
|
|
174
|
-
await (0, _RunUpgradeForm.runUpgradeForm)(context,
|
|
121
|
+
if (options.type === "upgrade") {
|
|
122
|
+
await (0, _RunUpgradeForm.runUpgradeForm)(context, options.options, resourcesDirectory, farmDirectory);
|
|
175
123
|
}
|
|
176
124
|
|
|
177
|
-
if (
|
|
178
|
-
await (0, _RunLocalization.runLocalization)(context,
|
|
125
|
+
if (options.type === "localize") {
|
|
126
|
+
await (0, _RunLocalization.runLocalization)(context, options.options, farmDirectory, engineDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
179
127
|
}
|
|
180
128
|
|
|
181
|
-
if (
|
|
182
|
-
await (0, _RunInitForm.runInitForm)(context,
|
|
129
|
+
if (options.type === "init-form") {
|
|
130
|
+
await (0, _RunInitForm.runInitForm)(context, options.options, farmDirectory);
|
|
183
131
|
}
|
|
184
132
|
});
|
|
185
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DYW5keUNMSS50cyJdLCJuYW1lcyI6WyJjb25maWciLCJmYXRhbCIsInJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcyIsImRlYnVnQXJnSWR4IiwicHJvY2VzcyIsImV4ZWNBcmd2IiwiaW5kZXhPZiIsInNwbGljZSIsImRlYnVnQXJnMklkeCIsInJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyIsImZhcm1EaXJlY3RvcnkiLCJsb2dnZXIiLCJmaWxlcyIsIm9sZFRlbXBGaWxlTmFtZXMiLCJmaWx0ZXIiLCJ4IiwiZW5kc1dpdGgiLCJsZW5ndGgiLCJsb2ciLCJmaWxlTmFtZSIsInBhdGgiLCJqb2luIiwidmFsaWRhdGVGYXJtQ29uZmlnIiwiZmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsInVuZGVmaW5lZCIsIkVycm9yIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwicmVzb2x2ZSIsInZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGgiLCJhbGxGYXJtRGlyZWN0b3JpZXMiLCJjdXJyZW50RGlyIiwiY29udGV4dCIsInJlc3VsdCIsInB0aCIsInBhdGhUb0Zhcm0iLCJwdXNoIiwiYXJndiIsInBhcnNlZEFyZ3MiLCJzZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSIsIm9wdGlvbnMiLCJsb2dWZXJib3NpdHkiLCJ2ZXJib3NlIiwiY3dkIiwiZGVmYXVsdEZhcm1zRGlyZWN0b3JpZXMiLCJ0eXBlIiwiYWxsRmFybXNEaXIiLCJ3YXJuaW5nIiwiYWxsRmFybUNvbmZpZyIsIkFycmF5IiwiaXNBcnJheSIsImhsRmFybURpcmVjdG9yeVBhdGgiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7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eS9mbGF0XCI7XG5pbXBvcnQgXCJjb3JlLWpzL3Byb3Bvc2Fscy9pdGVyYXRvci1oZWxwZXJzXCI7XG5pbXBvcnQgXCJjb3JlLWpzL3N0YWJsZVwiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgcGF0aEV4aXN0cywgcmVhZGRpciwgdW5saW5rIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XG5pbXBvcnQgXCJyZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWVcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJzaGVsbGpzXCI7XG5cbmltcG9ydCB7IHJ1bkJ1aWxkRm9ybXMgfSBmcm9tIFwiLi9DTElDb21tYW5kcy9CdWlsZEZvcm1zL1J1bkJ1aWxkRm9ybXNcIjtcbmltcG9ydCB7IHJ1bkJ1aWxkU2VydmVyLCBydW5EZXZCdWlsZFNlcnZlciB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1J1bkJ1aWxkU2VydmVyXCI7XG5pbXBvcnQgeyBydW5EZXZCdWlsZCB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0RldkJ1aWxkL1J1bkRldkJ1aWxkXCI7XG5pbXBvcnQgeyBydW5Gb3JtU3RhdHMgfSBmcm9tIFwiLi9DTElDb21tYW5kcy9Gb3JtU3RhdHMvUnVuRm9ybVN0YXRzXCI7XG5pbXBvcnQgeyBydW5Jbml0Rm9ybSB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0luaXRGb3JtL1J1bkluaXRGb3JtXCI7XG5pbXBvcnQgeyBydW5Mb2NhbGl6YXRpb24gfSBmcm9tIFwiLi9DTElDb21tYW5kcy9Mb2NhbGl6YXRpb24vUnVuTG9jYWxpemF0aW9uXCI7XG5pbXBvcnQgeyBydW5VcGdyYWRlRm9ybSB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL1VwZ3JhZGVGb3JtL1J1blVwZ3JhZGVGb3JtXCI7XG5pbXBvcnQgeyBydW5Db25zb2xlQXBwbGljYXRpb24gfSBmcm9tIFwiLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25cIjtcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvSUxvZ2dlclwiO1xuaW1wb3J0IHsgc2V0TG9nZ2VyIH0gZnJvbSBcIi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuaW1wb3J0IHsgcGFyc2VPcHRpb25zIH0gZnJvbSBcIi4vT3B0aW9ucy9DYW5keVRvb2xPcHRpb25zXCI7XG5pbXBvcnQgeyByZWFkRmFybUNvbmZpZyB9IGZyb20gXCIuL1JlYWRGYXJtQ29uZmlnXCI7XG5pbXBvcnQgeyBnZXRDdXJyZW50VmVyc2lvbiB9IGZyb20gXCIuL1NlbGZVcGRhdGVcIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0XCI7XG5cbmNvbmZpZy5mYXRhbCA9IHRydWU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFybUNvbmZpZyB7XG4gICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nO1xuICAgIGVuZ2luZURpcmVjdG9yeT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaGxGYXJtRGlyZWN0b3J5UGF0aDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiByZW1vdGVJbnNwZWN0RmxhZ1RvRGlzYWJsZURlYnVnZ2VySW5DaGlsZFByb2Nlc3MoKTogdm9pZCB7XG4gICAgY29uc3QgZGVidWdBcmdJZHggPSBwcm9jZXNzLmV4ZWNBcmd2LmluZGV4T2YoXCItLWluc3BlY3QtYnJrXCIpO1xuICAgIGlmIChkZWJ1Z0FyZ0lkeCAhPT0gLTEpIHtcbiAgICAgICAgcHJvY2Vzcy5leGVjQXJndi5zcGxpY2UoZGVidWdBcmdJZHgsIDEpO1xuICAgIH1cbiAgICBjb25zdCBkZWJ1Z0FyZzJJZHggPSBwcm9jZXNzLmV4ZWNBcmd2LmluZGV4T2YoXCItLWluc3BlY3RcIik7XG4gICAgaWYgKGRlYnVnQXJnMklkeCAhPT0gLTEpIHtcbiAgICAgICAgcHJvY2Vzcy5leGVjQXJndi5zcGxpY2UoZGVidWdBcmcySWR4LCAxKTtcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyhmYXJtRGlyZWN0b3J5OiBzdHJpbmcsIGxvZ2dlcjogSUxvZ2dlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVhZGRpcihmYXJtRGlyZWN0b3J5KTtcbiAgICBjb25zdCBvbGRUZW1wRmlsZU5hbWVzID0gZmlsZXMuZmlsdGVyKHggPT4geC5lbmRzV2l0aChcIi5jYW5keS10bXAud2VicGFjay5jb25maWcuanNcIikpO1xuICAgIGlmIChvbGRUZW1wRmlsZU5hbWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbG9nZ2VyLmxvZyhcIlJlbW92aW5nIG9sZCB3ZWJwYWNrLmNvbmZpZy5qcyBmaWxlc1wiKTtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBvbGRUZW1wRmlsZU5hbWVzKSB7XG4gICAgICAgICAgICBhd2FpdCB1bmxpbmsocGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIGZpbGVOYW1lKSk7XG4gICAgICAgIH1cbiAgICAgICAgbG9nZ2VyLmxvZyhcIlJlbW92ZWQgb2xkIHdlYnBhY2suY29uZmlnLmpzIGZpbGVzXCIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVGYXJtQ29uZmlnKGZhcm1EaXJlY3Rvcnk6IHN0cmluZyk6IEZhcm1Db25maWcge1xuICAgIGNvbnN0IGZhcm1Db25maWcgPSByZWFkRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5KTtcblxuICAgIGlmIChmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5naW5lRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuICAgIGlmIChmYXJtQ29uZmlnLnJlc291cmNlc0RpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2VzRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgY2FuZHlNb2R1bGVzRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1EaXJlY3RvcnksIFwiLi5cIiwgXCIuY2FuZHlfbW9kdWxlc1wiKTtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5mYXJtQ29uZmlnLFxuICAgICAgICBmYXJtRGlyZWN0b3J5OiBmYXJtRGlyZWN0b3J5LFxuICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICB9O1xufVxuXG5jb25zdCB2YWxpZGF0ZUFuZFByZXBhcmVGYXJtRGlyZWN0b3JpZXNQYXRoID0gYXN5bmMgKFxuICAgIGFsbEZhcm1EaXJlY3Rvcmllczogc3RyaW5nW10sXG4gICAgY3VycmVudERpcjogc3RyaW5nLFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcbik6IFByb21pc2U8RmFybUNvbmZpZ1tdPiA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBGYXJtQ29uZmlnW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHB0aCBvZiBhbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgLy8g0JLRgdC1INC00LXQu9C+INCyINGC0L7QvCwg0YfRgtC+INGB0LLRj9C30LrQsCBzZXJ2aWNlLXJ1bm5lci0yICsgdG9vbHMg0LrQvtGA0YDQtdC60YLQvdC+INGA0LDQsdC+0YLQsNC10YIg0YLQvtC70YzQutC+INCyINC/0LDQv9C60LUg0YEg0YTQvtGA0LzQvtC5XG4gICAgICAgIC8vINC40Lcg0LfQsCDRh9C10LPQviwg0LLQvdGD0YLRgNC4INGA0LDQvdC90LXRgNCwINC90LDQv9C40LvQtdC9INGF0LjRgtGA0YvQuSDQvNC10YXQsNC90LjQt9C8INC/0L7QuNGB0LrQsCDQv9GD0YLQtdC5INGE0L7RgNC80YsuINCf0LXRgNC10L/QuNC70LjQstCw0YLRjCDQstGB0LUg0LzQtdGF0LDQvdC40LrQuFxuICAgICAgICAvLyDRgdC+0LLRgdC10Lwg0L3QtSDRhdC+0YfQtdGC0YHRjywg0L/QvtGN0YLQvtC80YMg0LTQu9GPINC90LDRgSwg0YHRh9C40YLQsNGOINC/0L7QtNC90Y/RgtC40LUg0LTQviDRg9GA0L7QstC90Y8gZW5naW5lINCy0L/QvtC70L3QtSDQv9GA0LjQtdC80LvQtdC80YvQvCDRgNC10YjQtdC90LjQtdC8XG4gICAgICAgIGNvbnN0IHBhdGhUb0Zhcm0gPSBwYXRoLmpvaW4oY3VycmVudERpciwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgcHRoKTtcbiAgICAgICAgaWYgKCEoYXdhaXQgcGF0aEV4aXN0cyhwYXRoVG9GYXJtKSkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBhbGxGYXJtRGlyZWN0b3JpZXMgcGF0aCA9ICR7cGF0aFRvRmFybX0gbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKHBhdGhUb0Zhcm0sIGNvbnRleHQubG9nZ2VyKTtcbiAgICAgICAgcmVzdWx0LnB1c2godmFsaWRhdGVGYXJtQ29uZmlnKHBhdGhUb0Zhcm0pKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbnJ1bkNvbnNvbGVBcHBsaWNhdGlvbihhc3luYyAoYXJndiwgY29udGV4dCkgPT4ge1xuICAgIHJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcygpO1xuXG4gICAgY29udGV4dC5sb2dnZXIubG9nKFwiQGtvbnR1ci5jYW5keS90b29sczogXCIgKyAoYXdhaXQgZ2V0Q3VycmVudFZlcnNpb24oKSkpO1xuICAgIGNvbnN0IHBhcnNlZEFyZ3MgPSBwYXJzZU9wdGlvbnMoYXJndik7XG5cbiAgICBjb250ZXh0LnNldENvbnNvbGVMb2dnaW5nVmVyYm9zaXR5KHBhcnNlZEFyZ3Mub3B0aW9ucy5sb2dWZXJib3NpdHkpO1xuICAgIHNldExvZ2dlcihjb250ZXh0LmxvZ2dlcik7XG4gICAgY29udGV4dC5sb2dnZXIudmVyYm9zZShgVmVyYm9zZSBsZXZlbDogJHtwYXJzZWRBcmdzLm9wdGlvbnMubG9nVmVyYm9zaXR5fWApO1xuXG4gICAgY29uc3QgZmFybURpcmVjdG9yeSA9IHByb2Nlc3MuY3dkKCk7XG4gICAgYXdhaXQgcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKGZhcm1EaXJlY3RvcnksIGNvbnRleHQubG9nZ2VyKTtcbiAgICBjb25zdCBmYXJtQ29uZmlnID0gcmVhZEZhcm1Db25maWcoZmFybURpcmVjdG9yeSk7XG5cbiAgICBpZiAoZmFybUNvbmZpZy5lbmdpbmVEaXJlY3RvcnkgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuZ2luZURpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkXCIpO1xuICAgIH1cbiAgICBpZiAoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlc291cmNlc0RpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGVuZ2luZURpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSk7XG4gICAgY29uc3QgcmVzb3VyY2VzRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1Db25maWcucmVzb3VyY2VzRGlyZWN0b3J5KTtcbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybURpcmVjdG9yeSwgXCIuLlwiLCBcIi5jYW5keV9tb2R1bGVzXCIpO1xuXG4gICAgY29uc3QgZGVmYXVsdEZhcm1zRGlyZWN0b3JpZXMgPSBbXCJUZXN0c1xcXFxUZXN0Rm9ybXNcXFxcVGVzdEZhcm1cIl07XG5cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImJ1aWxkLXNlcnZlclwiIHx8IHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgY29uc3QgYWxsRmFybURpcmVjdG9yaWVzID0gcGFyc2VkQXJncy5vcHRpb25zLmFsbEZhcm1zRGlyO1xuICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBhbGxGYXJtRGlyZWN0b3JpZXMgPSAke3BhcnNlZEFyZ3Mub3B0aW9ucy5hbGxGYXJtc0Rpcn1gKTtcbiAgICAgICAgbGV0IGFsbEZhcm1Db25maWc7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbEZhcm1EaXJlY3RvcmllcykgJiYgYWxsRmFybURpcmVjdG9yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGFsbEZhcm1Db25maWcgPSBhd2FpdCB2YWxpZGF0ZUFuZFByZXBhcmVGYXJtRGlyZWN0b3JpZXNQYXRoKGFsbEZhcm1EaXJlY3RvcmllcywgZmFybURpcmVjdG9yeSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBVc2UgZGVmYXVsdCBjYW5keUZhcm0gcGF0aCBkaXIgPSAke2RlZmF1bHRGYXJtc0RpcmVjdG9yaWVzfWApO1xuICAgICAgICAgICAgYWxsRmFybUNvbmZpZyA9IGF3YWl0IHZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGgoXG4gICAgICAgICAgICAgICAgZGVmYXVsdEZhcm1zRGlyZWN0b3JpZXMsXG4gICAgICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICBjb250ZXh0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgICAgIGF3YWl0IHJ1bkRldkJ1aWxkU2VydmVyKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgYWxsRmFybUNvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBydW5CdWlsZFNlcnZlcihjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGFsbEZhcm1Db25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJidWlsZFwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkRm9ybXMoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZGV2LWJ1aWxkXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuRGV2QnVpbGQoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZm9ybS1zdGF0c1wiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkZvcm1TdGF0cyhjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcInVwZ3JhZGVcIikge1xuICAgICAgICBhd2FpdCBydW5VcGdyYWRlRm9ybShjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSk7XG4gICAgfVxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwibG9jYWxpemVcIikge1xuICAgICAgICBhd2FpdCBydW5Mb2NhbGl6YXRpb24oXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImluaXQtZm9ybVwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkluaXRGb3JtKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgZmFybURpcmVjdG9yeSk7XG4gICAgfVxufSk7XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DYW5keUNMSS50cyJdLCJuYW1lcyI6WyJjb25maWciLCJmYXRhbCIsInJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcyIsImRlYnVnQXJnSWR4IiwicHJvY2VzcyIsImV4ZWNBcmd2IiwiaW5kZXhPZiIsInNwbGljZSIsImRlYnVnQXJnMklkeCIsInJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyIsImZhcm1EaXJlY3RvcnkiLCJsb2dnZXIiLCJmaWxlcyIsIm9sZFRlbXBGaWxlTmFtZXMiLCJmaWx0ZXIiLCJ4IiwiZW5kc1dpdGgiLCJsZW5ndGgiLCJsb2ciLCJmaWxlTmFtZSIsInBhdGgiLCJqb2luIiwiYXJndiIsImNvbnRleHQiLCJvcHRpb25zIiwic2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkiLCJsb2dWZXJib3NpdHkiLCJ2ZXJib3NlIiwiY3dkIiwiZmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsInVuZGVmaW5lZCIsIkVycm9yIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwicmVzb2x2ZSIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsInR5cGUiLCJobEZhcm1EaXJlY3RvcnlQYXRoIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLGdCQUFPQyxLQUFQLEdBQWUsSUFBZjs7QUFFQSxTQUFTQyxnREFBVCxHQUFrRTtBQUM5RCxRQUFNQyxXQUFXLEdBQUdDLE9BQU8sQ0FBQ0MsUUFBUixDQUFpQkMsT0FBakIsQ0FBeUIsZUFBekIsQ0FBcEI7O0FBQ0EsTUFBSUgsV0FBVyxLQUFLLENBQUMsQ0FBckIsRUFBd0I7QUFDcEJDLElBQUFBLE9BQU8sQ0FBQ0MsUUFBUixD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QUFDOUIsVUFBTSw4QkFBWWIsT0FBWixFQUFxQkMsT0FBTyxDQUFDQSxPQUE3QixFQUFzQ2QsYUFBdEMsQ0FBTjtBQUNIO0FBQ0osQ0EzRkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJjb3JlLWpzL3N0YWJsZVwiO1xuaW1wb3J0IFwicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lXCI7XG5pbXBvcnQgXCJjb3JlLWpzL2ZlYXR1cmVzL2FycmF5L2ZsYXRcIjtcbmltcG9ydCBcImNvcmUtanMvcHJvcG9zYWxzL2l0ZXJhdG9yLWhlbHBlcnNcIjtcbmltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgcmVhZGRpciwgdW5saW5rIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwic2hlbGxqc1wiO1xuXG5pbXBvcnQgeyBydW5Db25zb2xlQXBwbGljYXRpb24gfSBmcm9tIFwiLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25cIjtcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvSUxvZ2dlclwiO1xuaW1wb3J0IHsgc2V0TG9nZ2VyIH0gZnJvbSBcIi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuaW1wb3J0IHsgcnVuQnVpbGRGb3JtcyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvUnVuQnVpbGRGb3Jtc1wiO1xuaW1wb3J0IHsgcnVuQnVpbGRTZXJ2ZXIsIHJ1bkRldkJ1aWxkU2VydmVyIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUnVuQnVpbGRTZXJ2ZXJcIjtcbmltcG9ydCB7IHJ1bkRldkJ1aWxkIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvRGV2QnVpbGQvUnVuRGV2QnVpbGRcIjtcbmltcG9ydCB7IHJ1bkZvcm1TdGF0cyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0Zvcm1TdGF0cy9SdW5Gb3JtU3RhdHNcIjtcbmltcG9ydCB7IHJ1bkluaXRGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvSW5pdEZvcm0vUnVuSW5pdEZvcm1cIjtcbmltcG9ydCB7IHJ1bkxvY2FsaXphdGlvbiB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0xvY2FsaXphdGlvbi9SdW5Mb2NhbGl6YXRpb25cIjtcbmltcG9ydCB7IHJ1blVwZ3JhZGVGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvVXBncmFkZUZvcm0vUnVuVXBncmFkZUZvcm1cIjtcbmltcG9ydCB7IHBhcnNlT3B0aW9ucyB9IGZyb20gXCIuL09wdGlvbnMvQ2FuZHlUb29sT3B0aW9uc1wiO1xuaW1wb3J0IHsgcmVhZEZhcm1Db25maWcgfSBmcm9tIFwiLi9SZWFkRmFybUNvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q3VycmVudFZlcnNpb24gfSBmcm9tIFwiLi9TZWxmVXBkYXRlXCI7XG5cbmNvbmZpZy5mYXRhbCA9IHRydWU7XG5cbmZ1bmN0aW9uIHJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcygpOiB2b2lkIHtcbiAgICBjb25zdCBkZWJ1Z0FyZ0lkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdC1icmtcIik7XG4gICAgaWYgKGRlYnVnQXJnSWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZ0lkeCwgMSk7XG4gICAgfVxuICAgIGNvbnN0IGRlYnVnQXJnMklkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdFwiKTtcbiAgICBpZiAoZGVidWdBcmcySWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZzJJZHgsIDEpO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKGZhcm1EaXJlY3Rvcnk6IHN0cmluZywgbG9nZ2VyOiBJTG9nZ2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCByZWFkZGlyKGZhcm1EaXJlY3RvcnkpO1xuICAgIGNvbnN0IG9sZFRlbXBGaWxlTmFtZXMgPSBmaWxlcy5maWx0ZXIoeCA9PiB4LmVuZHNXaXRoKFwiLmNhbmR5LXRtcC53ZWJwYWNrLmNvbmZpZy5qc1wiKSk7XG4gICAgaWYgKG9sZFRlbXBGaWxlTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3Zpbmcgb2xkIHdlYnBhY2suY29uZmlnLmpzIGZpbGVzXCIpO1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIG9sZFRlbXBGaWxlTmFtZXMpIHtcbiAgICAgICAgICAgIGF3YWl0IHVubGluayhwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgZmlsZU5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3ZlZCBvbGQgd2VicGFjay5jb25maWcuanMgZmlsZXNcIik7XG4gICAgfVxufVxuXG5ydW5Db25zb2xlQXBwbGljYXRpb24oYXN5bmMgKGFyZ3YsIGNvbnRleHQpID0+IHtcbiAgICByZW1vdGVJbnNwZWN0RmxhZ1RvRGlzYWJsZURlYnVnZ2VySW5DaGlsZFByb2Nlc3MoKTtcblxuICAgIGNvbnRleHQubG9nZ2VyLmxvZyhcIkBrb250dXIuY2FuZHkvdG9vbHM6IFwiICsgKGF3YWl0IGdldEN1cnJlbnRWZXJzaW9uKCkpKTtcbiAgICBjb25zdCBvcHRpb25zID0gcGFyc2VPcHRpb25zKGFyZ3YpO1xuICAgIGNvbnRleHQuc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkob3B0aW9ucy5vcHRpb25zLmxvZ1ZlcmJvc2l0eSk7XG4gICAgc2V0TG9nZ2VyKGNvbnRleHQubG9nZ2VyKTtcbiAgICBjb250ZXh0LmxvZ2dlci52ZXJib3NlKGBWZXJib3NlIGxldmVsOiAke29wdGlvbnMub3B0aW9ucy5sb2dWZXJib3NpdHl9YCk7XG5cbiAgICBjb25zdCBmYXJtRGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMoZmFybURpcmVjdG9yeSwgY29udGV4dC5sb2dnZXIpO1xuICAgIGNvbnN0IGZhcm1Db25maWcgPSByZWFkRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5KTtcblxuICAgIGlmIChmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5naW5lRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuICAgIGlmIChmYXJtQ29uZmlnLnJlc291cmNlc0RpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2VzRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZW5naW5lRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5KTtcbiAgICBjb25zdCByZXNvdXJjZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtRGlyZWN0b3J5LCBcIi4uXCIsIFwiLmNhbmR5X21vZHVsZXNcIik7XG5cbiAgICBpZiAob3B0aW9ucy50eXBlID09PSBcImJ1aWxkLXNlcnZlclwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkU2VydmVyKFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIG9wdGlvbnMub3B0aW9ucyxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICByZXNvdXJjZXNEaXJlY3RvcnksXG4gICAgICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgICAgICBmYXJtQ29uZmlnLmhsRmFybURpcmVjdG9yeVBhdGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy50eXBlID09PSBcImRldi1idWlsZC1zZXJ2ZXJcIikge1xuICAgICAgICBhd2FpdCBydW5EZXZCdWlsZFNlcnZlcihcbiAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICBvcHRpb25zLm9wdGlvbnMsXG4gICAgICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgICAgICBmYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybUNvbmZpZy5obEZhcm1EaXJlY3RvcnlQYXRoXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudHlwZSA9PT0gXCJidWlsZFwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkRm9ybXMoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgb3B0aW9ucy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnR5cGUgPT09IFwiZGV2LWJ1aWxkXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuRGV2QnVpbGQoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgb3B0aW9ucy5vcHRpb25zLFxuICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnR5cGUgPT09IFwiZm9ybS1zdGF0c1wiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkZvcm1TdGF0cyhjb250ZXh0LCBvcHRpb25zLm9wdGlvbnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy50eXBlID09PSBcInVwZ3JhZGVcIikge1xuICAgICAgICBhd2FpdCBydW5VcGdyYWRlRm9ybShjb250ZXh0LCBvcHRpb25zLm9wdGlvbnMsIHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnR5cGUgPT09IFwibG9jYWxpemVcIikge1xuICAgICAgICBhd2FpdCBydW5Mb2NhbGl6YXRpb24oXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgb3B0aW9ucy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy50eXBlID09PSBcImluaXQtZm9ybVwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkluaXRGb3JtKGNvbnRleHQsIG9wdGlvbnMub3B0aW9ucywgZmFybURpcmVjdG9yeSk7XG4gICAgfVxufSk7XG4iXX0=
|
|
@@ -51,7 +51,7 @@ class Logger {
|
|
|
51
51
|
error(message) {
|
|
52
52
|
this.logLines.push(`${message}`); // eslint-disable-next-line no-console,@typescript-eslint/no-unsafe-argument
|
|
53
53
|
|
|
54
|
-
console.log(this.getPrefixedMessage(
|
|
54
|
+
console.log(this.getPrefixedMessage(message));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
withPrefix(prefix) {
|
|
@@ -86,4 +86,4 @@ class Logger {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
exports.Logger = Logger;
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL0xvZ2dpbmcvTG9nZ2VyLnRzIl0sIm5hbWVzIjpbIkxvZ2dlciIsImNvbnN0cnVjdG9yIiwicHJlZml4IiwibG9nTGluZXMiLCJ2ZXJib3NlTGV2ZWwiLCJsb2ciLCJtZXNzYWdlIiwicHVzaCIsImNvbnNvbGUiLCJnZXRQcmVmaXhlZE1lc3NhZ2UiLCJ3YXJuaW5nIiwiY2hhbGsiLCJ5ZWxsb3dCcmlnaHQiLCJ2ZXJib3NlIiwibWVzc2FnZVRvT3V0cHV0IiwiZmx1c2hGdWxsTG9nSW50b0ZpbGUiLCJmaWxlTmFtZSIsImpvaW4iLCJlcnJvciIsIndpdGhQcmVmaXgiLCJyZXN1bHQiLCJ1bmRlZmluZWQiLCJzZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSIsIm1lc3NhZ2VTdHJpbmciLCJwcmVmaXhUZXh0IiwiZ3JheSIsInNwbGl0IiwibWFwIiwibGluZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBSU8sTUFBTUEsTUFBTixDQUFnQztBQUs1QkMsRUFBQUEsV0FBVyxDQUFDQyxNQUFELEVBQWtCQyxRQUFsQixFQUF1QztBQUFBLFNBSnhDQSxRQUl3QztBQUFBLFNBSHhDRCxNQUd3QztBQUFBLFNBRmpERSxZQUVpRCxHQUZsQyxDQUVrQztBQUNyRCxTQUFLRixNQUFMLEdBQWNBLE1BQWQ7QUFDQSxTQUFLQyxRQUFMLEdBQWdCQSxRQUFRLElBQUksRUFBNUI7QUFDSDs7QUFFTUUsRUFBQUEsR0FBRyxDQUFDQyxPQUFELEVBQXdCO0FBQzlCLFNBQUtILFFBQUwsQ0FBY0ksSUFBZCxDQUFtQkQsT0FBbkIsRUFEOEIsQ0FFOUI7O0FBQ0FFLElBQUFBLE9BQU8sQ0FBQ0gsR0FBUixDQUFZLEtBQUtJLGtCQUFMLENBQXdCSCxPQUF4QixDQUFaO0FBQ0g7O0FBRU1JLEVBQUFBLE9BQU8sQ0FBQ0osT0FBRCxFQUF3QjtBQUNsQyxTQUFLSCxRQUFMLENBQWNJLElBQWQsQ0FBbUJELE9BQW5CLEVBRGtDLENBRWxDOztBQUNBRSxJQUFBQSxPQUFPLENBQUNILEdBQVIsQ0FBWSxLQUFLSSxrQkFBTCxDQUF3QkUsZUFBTUMsWUFBTixDQUFtQk4sT0FBbkIsQ0FBeEIsQ0FBWjtBQUNIOztBQUVNTyxFQUFBQSxPQUFPLENBQUNQLE9BQUQsRUFBd0I7QUFDbEMsVUFBTVEsZUFBZSxHQUFHLEtBQUtMLGtCQUFMLENBQXdCSCxPQUF4QixDQUF4Qjs7QUFDQSxRQUFJLEtBQUtGLFlBQUwsSUFBcUIsQ0FBekIsRUFBNEI7QUFDeEI7QUFDQUksTUFBQUEsT0FBTyxDQUFDSCxHQUFSLENBQVlTLGVBQVo7QUFDSDs7QUFDRCxTQUFLWCxRQUFMLENBQWNJLElBQWQsQ0FBbUJPLGVBQW5CO0FBQ0g7O0FBRWdDLFFBQXBCQyxvQkFBb0IsQ0FBQ0MsUUFBRCxFQUFrQztBQUMvRCxVQUFNLDZCQUFlQSxRQUFmLEVBQXlCLEtBQUtiLFFBQUwsQ0FBY2MsSUFBZCxDQUFtQixJQUFuQixDQUF6QixFQUFtRCxNQUFuRCxDQUFOO0FBQ0gsR0FqQ2tDLENBbUNuQzs7O0FBQ09DLEVBQUFBLEtBQUssQ0FBQ1osT0FBRCxFQUFzQztBQUM5QyxTQUFLSCxRQUFMLENBQWNJLElBQWQsQ0FBb0IsR0FBRUQsT0FBUSxFQUE5QixFQUQ4QyxDQUU5Qzs7QUFDQUUsSUFBQUEsT0FBTyxDQUFDSCxHQUFSLENBQVksS0FBS0ksa0JBQUwsQ0FBd0JILE9BQXhCLENBQVo7QUFDSDs7QUFFTWEsRUFBQUEsVUFBVSxDQUFDakIsTUFBRCxFQUEwQjtBQUN2QyxRQUFJa0IsTUFBSjs7QUFDQSxRQUFJLEtBQUtsQixNQUFMLElBQWVtQixTQUFuQixFQUE4QjtBQUMxQkQsTUFBQUEsTUFBTSxHQUFHLElBQUlwQixNQUFKLENBQVdFLE1BQVgsRUFBbUIsS0FBS0MsUUFBeEIsQ0FBVDtBQUNILEtBRkQsTUFFTztBQUNIaUIsTUFBQUEsTUFBTSxHQUFHLElBQUlwQixNQUFKLENBQVcsS0FBS0UsTUFBTCxHQUFjLEdBQWQsR0FBb0JBLE1BQS9CLEVBQXVDLEtBQUtDLFFBQTVDLENBQVQ7QUFDSDs7QUFDRGlCLElBQUFBLE1BQU0sQ0FBQ0UsMEJBQVAsQ0FBa0MsS0FBS2xCLFlBQXZDO0FBQ0EsV0FBT2dCLE1BQVA7QUFDSDs7QUFFTUUsRUFBQUEsMEJBQTBCLENBQUNsQixZQUFELEVBQTZCO0FBQzFELFNBQUtBLFlBQUwsR0FBb0JBLFlBQXBCO0FBQ0g7O0FBRU9LLEVBQUFBLGtCQUFrQixDQUFDSCxPQUFELEVBQWtDO0FBQ3hELFVBQU1pQixhQUFhLEdBQUksR0FBRWpCLE9BQVEsRUFBakM7O0FBQ0EsUUFBSSxLQUFLSixNQUFMLElBQWVtQixTQUFuQixFQUE4QjtBQUMxQixhQUFPRSxhQUFQO0FBQ0g7O0FBQ0QsVUFBTUMsVUFBVSxHQUFHYixlQUFNYyxJQUFOLENBQVksSUFBRyxLQUFLdkIsTUFBTyxHQUEzQixDQUFuQjs7QUFFQSxXQUFPcUIsYUFBYSxDQUNmRyxLQURFLENBQ0ksSUFESixFQUVGQyxHQUZFLENBRUVDLElBQUksSUFBSyxHQUFFSixVQUFXLElBQUdJLElBQUssRUFGaEMsRUFHRlgsSUFIRSxDQUdHLElBSEgsQ0FBUDtBQUlIOztBQXBFa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5cbmltcG9ydCB7IHdyaXRlRmlsZUFzeW5jIH0gZnJvbSBcIi4uL0ZzVXRpbHNcIjtcblxuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gXCIuL0lMb2dnZXJcIjtcblxuZXhwb3J0IGNsYXNzIExvZ2dlciBpbXBsZW1lbnRzIElMb2dnZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nTGluZXM6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuICAgIHByaXZhdGUgdmVyYm9zZUxldmVsID0gMDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwcmVmaXg/OiBzdHJpbmcsIGxvZ0xpbmVzPzogc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy5wcmVmaXggPSBwcmVmaXg7XG4gICAgICAgIHRoaXMubG9nTGluZXMgPSBsb2dMaW5lcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ0xpbmVzLnB1c2gobWVzc2FnZSk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZ2V0UHJlZml4ZWRNZXNzYWdlKG1lc3NhZ2UpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2dMaW5lcy5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmdldFByZWZpeGVkTWVzc2FnZShjaGFsay55ZWxsb3dCcmlnaHQobWVzc2FnZSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmVyYm9zZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZVRvT3V0cHV0ID0gdGhpcy5nZXRQcmVmaXhlZE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgICAgIGlmICh0aGlzLnZlcmJvc2VMZXZlbCA+PSAxKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZVRvT3V0cHV0KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvZ0xpbmVzLnB1c2gobWVzc2FnZVRvT3V0cHV0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZmx1c2hGdWxsTG9nSW50b0ZpbGUoZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGVBc3luYyhmaWxlTmFtZSwgdGhpcy5sb2dMaW5lcy5qb2luKFwiXFxuXCIpLCBcInV0ZjhcIik7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogYW55IHwgc3RyaW5nIHwgRXJyb3IpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2dMaW5lcy5wdXNoKGAke21lc3NhZ2V9YCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlLEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5nZXRQcmVmaXhlZE1lc3NhZ2UobWVzc2FnZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoUHJlZml4KHByZWZpeDogc3RyaW5nKTogSUxvZ2dlciB7XG4gICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBMb2dnZXIocHJlZml4LCB0aGlzLmxvZ0xpbmVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBMb2dnZXIodGhpcy5wcmVmaXggKyBcIjpcIiArIHByZWZpeCwgdGhpcy5sb2dMaW5lcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LnNldENvbnNvbGVMb2dnaW5nVmVyYm9zaXR5KHRoaXMudmVyYm9zZUxldmVsKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkodmVyYm9zZUxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52ZXJib3NlTGV2ZWwgPSB2ZXJib3NlTGV2ZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcmVmaXhlZE1lc3NhZ2UobWVzc2FnZTogc3RyaW5nIHwgRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtZXNzYWdlU3RyaW5nID0gYCR7bWVzc2FnZX1gO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXggPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbWVzc2FnZVN0cmluZztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcmVmaXhUZXh0ID0gY2hhbGsuZ3JheShgWyR7dGhpcy5wcmVmaXh9XWApO1xuXG4gICAgICAgIHJldHVybiBtZXNzYWdlU3RyaW5nXG4gICAgICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgIC5tYXAobGluZSA9PiBgJHtwcmVmaXhUZXh0fSAke2xpbmV9YClcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIH1cbn1cbiJdfQ==
|