@kontur.candy/tools 2.204.0 → 2.207.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/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js.map +1 -1
- package/distr/Common/PicklistApiClient/PicklistApiClient.js +3 -2
- package/distr/Common/PicklistApiClient/PicklistApiClient.js.map +1 -1
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js +9 -7
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js.map +1 -1
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js +3 -3
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js.map +1 -1
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js +1 -1
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.js +45 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +18 -9
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.js +70 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +8 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +6 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +10 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,4 +16,4 @@ let DigestLogicalOperator = exports.DigestLogicalOperator = /*#__PURE__*/functio
|
|
|
16
16
|
DigestLogicalOperator["Or"] = "or";
|
|
17
17
|
return DigestLogicalOperator;
|
|
18
18
|
}({});
|
|
19
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaWdlc3RGaWx0ZXJPcGVyYXRvciIsImV4cG9ydHMiLCJEaWdlc3RMb2dpY2FsT3BlcmF0b3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQ2FuZHlBcGlDbGllbnQvRGlnZXN0QXBpQ2xpZW50L1R5cGVzL0RpZ2VzdFF1ZXJ5RmlsdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERpZ2VzdEZpbHRlck9wZXJhdG9yIHtcbiAgICBFcXVhbCA9IFwiZXF1YWxcIixcbiAgICBTdWJzdHJpbmcgPSBcInN1YnN0cmluZ1wiLFxuICAgIFByZWZpeCA9IFwicHJlZml4XCIsXG4gICAgQ29udGFpbnNJbkxpc3QgPSBcImNvbnRhaW5zaW5saXN0XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlnZXN0RmlsdGVyQ29sdW1uIHtcbiAgICBvcGVyYXRvcjpcbiAgICAgICAgfCBEaWdlc3RGaWx0ZXJPcGVyYXRvci5FcXVhbFxuICAgICAgICB8IERpZ2VzdEZpbHRlck9wZXJhdG9yLlN1YnN0cmluZ1xuICAgICAgICB8IERpZ2VzdEZpbHRlck9wZXJhdG9yLlByZWZpeFxuICAgICAgICB8IERpZ2VzdEZpbHRlck9wZXJhdG9yLkNvbnRhaW5zSW5MaXN0O1xuICAgIGNvbHVtbjogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlnZXN0UXVlcnlGaWx0ZXIge1xuICAgIGZpbHRlcj86IERpZ2VzdEZpbHRlcjtcbiAgICBza2lwPzogbnVtYmVyO1xuICAgIHRha2U/
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaWdlc3RGaWx0ZXJPcGVyYXRvciIsImV4cG9ydHMiLCJEaWdlc3RMb2dpY2FsT3BlcmF0b3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQ2FuZHlBcGlDbGllbnQvRGlnZXN0QXBpQ2xpZW50L1R5cGVzL0RpZ2VzdFF1ZXJ5RmlsdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERpZ2VzdEZpbHRlck9wZXJhdG9yIHtcbiAgICBFcXVhbCA9IFwiZXF1YWxcIixcbiAgICBTdWJzdHJpbmcgPSBcInN1YnN0cmluZ1wiLFxuICAgIFByZWZpeCA9IFwicHJlZml4XCIsXG4gICAgQ29udGFpbnNJbkxpc3QgPSBcImNvbnRhaW5zaW5saXN0XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlnZXN0RmlsdGVyQ29sdW1uIHtcbiAgICBvcGVyYXRvcjpcbiAgICAgICAgfCBEaWdlc3RGaWx0ZXJPcGVyYXRvci5FcXVhbFxuICAgICAgICB8IERpZ2VzdEZpbHRlck9wZXJhdG9yLlN1YnN0cmluZ1xuICAgICAgICB8IERpZ2VzdEZpbHRlck9wZXJhdG9yLlByZWZpeFxuICAgICAgICB8IERpZ2VzdEZpbHRlck9wZXJhdG9yLkNvbnRhaW5zSW5MaXN0O1xuICAgIGNvbHVtbjogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlnZXN0UXVlcnlGaWx0ZXIge1xuICAgIGZpbHRlcj86IERpZ2VzdEZpbHRlcjtcbiAgICBza2lwPzogbnVtYmVyO1xuICAgIHRha2U/OiBudW1iZXI7XG4gICAgaXNUcmVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gRGlnZXN0TG9naWNhbE9wZXJhdG9yIHtcbiAgICBBbmQgPSBcImFuZFwiLFxuICAgIE9yID0gXCJvclwiLFxufVxuXG5leHBvcnQgdHlwZSBEaWdlc3RGaWx0ZXIgPSBEaWdlc3RMb2dpY2FsRmlsdGVyIHwgRGlnZXN0RmlsdGVyQ29sdW1uO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpZ2VzdExvZ2ljYWxGaWx0ZXIge1xuICAgIG9wZXJhdG9yOiBEaWdlc3RMb2dpY2FsT3BlcmF0b3I7XG4gICAgb3BlcmFuZHM6IERpZ2VzdEZpbHRlcltdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7SUFBWUEsb0JBQW9CLEdBQUFDLE9BQUEsQ0FBQUQsb0JBQUEsMEJBQXBCQSxvQkFBb0I7RUFBcEJBLG9CQUFvQjtFQUFwQkEsb0JBQW9CO0VBQXBCQSxvQkFBb0I7RUFBcEJBLG9CQUFvQjtFQUFBLE9BQXBCQSxvQkFBb0I7QUFBQTtBQUFBLElBd0JwQkUscUJBQXFCLEdBQUFELE9BQUEsQ0FBQUMscUJBQUEsMEJBQXJCQSxxQkFBcUI7RUFBckJBLHFCQUFxQjtFQUFyQkEscUJBQXFCO0VBQUEsT0FBckJBLHFCQUFxQjtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigestQueryFilter.js","names":["DigestFilterOperator","exports","DigestLogicalOperator"],"sources":["../../../../../../Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.ts"],"sourcesContent":["export enum DigestFilterOperator {\n Equal = \"equal\",\n Substring = \"substring\",\n Prefix = \"prefix\",\n ContainsInList = \"containsinlist\",\n}\n\nexport interface DigestFilterColumn {\n operator:\n | DigestFilterOperator.Equal\n | DigestFilterOperator.Substring\n | DigestFilterOperator.Prefix\n | DigestFilterOperator.ContainsInList;\n column: string;\n value: string;\n}\n\nexport interface DigestQueryFilter {\n filter?: DigestFilter;\n skip?: number;\n take?: number;\n}\n\nexport enum DigestLogicalOperator {\n And = \"and\",\n Or = \"or\",\n}\n\nexport type DigestFilter = DigestLogicalFilter | DigestFilterColumn;\n\nexport interface DigestLogicalFilter {\n operator: DigestLogicalOperator;\n operands: DigestFilter[];\n}\n"],"mappings":";;;;;;IAAYA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"DigestQueryFilter.js","names":["DigestFilterOperator","exports","DigestLogicalOperator"],"sources":["../../../../../../Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.ts"],"sourcesContent":["export enum DigestFilterOperator {\n Equal = \"equal\",\n Substring = \"substring\",\n Prefix = \"prefix\",\n ContainsInList = \"containsinlist\",\n}\n\nexport interface DigestFilterColumn {\n operator:\n | DigestFilterOperator.Equal\n | DigestFilterOperator.Substring\n | DigestFilterOperator.Prefix\n | DigestFilterOperator.ContainsInList;\n column: string;\n value: string;\n}\n\nexport interface DigestQueryFilter {\n filter?: DigestFilter;\n skip?: number;\n take?: number;\n isTree?: boolean;\n}\n\nexport enum DigestLogicalOperator {\n And = \"and\",\n Or = \"or\",\n}\n\nexport type DigestFilter = DigestLogicalFilter | DigestFilterColumn;\n\nexport interface DigestLogicalFilter {\n operator: DigestLogicalOperator;\n operands: DigestFilter[];\n}\n"],"mappings":";;;;;;IAAYA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,IAwBpBE,qBAAqB,GAAAD,OAAA,CAAAC,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA","ignoreList":[]}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0NhbmR5QXBpQ2xpZW50L0RpZ2VzdEFwaUNsaWVudC9UeXBlcy9EaWdlc3RSZXF1ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpZ2VzdFF1ZXJ5RmlsdGVyIH0gZnJvbSBcIi4vRGlnZXN0UXVlcnlGaWx0ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEaWdlc3RSZXF1ZXN0IHtcbiAgICBnSWQ6IHN0cmluZztcbiAgICBmaWx0ZXI/
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0NhbmR5QXBpQ2xpZW50L0RpZ2VzdEFwaUNsaWVudC9UeXBlcy9EaWdlc3RSZXF1ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpZ2VzdFF1ZXJ5RmlsdGVyIH0gZnJvbSBcIi4vRGlnZXN0UXVlcnlGaWx0ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEaWdlc3RSZXF1ZXN0IHtcbiAgICBnSWQ6IHN0cmluZztcbiAgICBmaWx0ZXI/OiBEaWdlc3RRdWVyeUZpbHRlcjtcbiAgICB0cmVlPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigestRequest.js","names":[],"sources":["../../../../../../Common/CandyApiClient/DigestApiClient/Types/DigestRequest.ts"],"sourcesContent":["import { DigestQueryFilter } from \"./DigestQueryFilter\";\n\nexport interface DigestRequest {\n gId: string;\n filter?: DigestQueryFilter;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DigestRequest.js","names":[],"sources":["../../../../../../Common/CandyApiClient/DigestApiClient/Types/DigestRequest.ts"],"sourcesContent":["import { DigestQueryFilter } from \"./DigestQueryFilter\";\n\nexport interface DigestRequest {\n gId: string;\n filter?: DigestQueryFilter;\n tree?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -19,7 +19,8 @@ class PicklistApiClient {
|
|
|
19
19
|
take,
|
|
20
20
|
skip
|
|
21
21
|
} = request;
|
|
22
|
-
|
|
22
|
+
const picklistUrl = `v2/${request.tree ? "tree/" : ""}${gid}/`;
|
|
23
|
+
return this.httpClient.get(picklistUrl).withQueryParams({
|
|
23
24
|
filter: filter,
|
|
24
25
|
take: take,
|
|
25
26
|
skip: skip
|
|
@@ -27,4 +28,4 @@ class PicklistApiClient {
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
exports.PicklistApiClient = PicklistApiClient;
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQXV0aGVudGljYXRpb25Nb2RlIiwicmVxdWlyZSIsIl9IdHRwQ2xpZW50IiwiUGlja2xpc3RBcGlDbGllbnQiLCJjb25zdHJ1Y3RvciIsImZldGNoSW1wbCIsImJhc2VVcmwiLCJyZXNvdXJjZVpvbmUiLCJhdXRoZW50aWNhdGlvbiIsImV4Y2VwdGlvbkxvZ2dlciIsImh0dHBDbGllbnQiLCJIdHRwQ2xpZW50IiwiY3JlYXRlQXV0aGVudGljYXRpb25Qcm92aWRlciIsInNlYXJjaEFzeW5jIiwiZ2lkIiwicmVxdWVzdCIsImZpbHRlciIsInRha2UiLCJza2lwIiwicGlja2xpc3RVcmwiLCJ0cmVlIiwiZ2V0Iiwid2l0aFF1ZXJ5UGFyYW1zIiwianNvbiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vUGlja2xpc3RBcGlDbGllbnQvUGlja2xpc3RBcGlDbGllbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUh0dHBDbGllbnQgfSBmcm9tIFwiLi4vSHR0cENsaWVudC9JSHR0cENsaWVudFwiO1xuaW1wb3J0IHsgRmV0Y2ggfSBmcm9tIFwiLi4vSHR0cENsaWVudC9GZXRjaEltcGxlbWVudGF0aW9uL0ZldGNoXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbk1vZGUsIGNyZWF0ZUF1dGhlbnRpY2F0aW9uUHJvdmlkZXIgfSBmcm9tIFwiLi4vSHR0cENsaWVudC9BdXRoZW50aWNhdGlvbk1vZGVcIjtcbmltcG9ydCB7IEV4Y2VwdGlvbkxvZ2dlciwgSHR0cENsaWVudCB9IGZyb20gXCIuLi9IdHRwQ2xpZW50L0h0dHBDbGllbnRcIjtcblxuaW1wb3J0IHsgSVBpY2tsaXN0QXBpQ2xpZW50IH0gZnJvbSBcIi4vSVBpY2tsaXN0QXBpQ2xpZW50XCI7XG5pbXBvcnQgeyBQaWNrbGlzdFJlcXVlc3RWMiB9IGZyb20gXCIuL1R5cGVzL1BpY2tsaXN0UmVxdWVzdFYyXCI7XG5pbXBvcnQgeyBQaWNrbGlzdFJlc3VsdFYyIH0gZnJvbSBcIi4vVHlwZXMvUGlja2xpc3RSZXN1bHRWMlwiO1xuXG5leHBvcnQgY2xhc3MgUGlja2xpc3RBcGlDbGllbnQgaW1wbGVtZW50cyBJUGlja2xpc3RBcGlDbGllbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSUh0dHBDbGllbnQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIGZldGNoSW1wbDogRmV0Y2gsXG4gICAgICAgIGJhc2VVcmw6IHN0cmluZyxcbiAgICAgICAgcmVzb3VyY2Vab25lOiB1bmRlZmluZWQgfCBzdHJpbmcsXG4gICAgICAgIGF1dGhlbnRpY2F0aW9uOiB1bmRlZmluZWQgfCBBdXRoZW50aWNhdGlvbk1vZGUsXG4gICAgICAgIGV4Y2VwdGlvbkxvZ2dlcj86IEV4Y2VwdGlvbkxvZ2dlclxuICAgICkge1xuICAgICAgICB0aGlzLmh0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChcbiAgICAgICAgICAgIGZldGNoSW1wbCxcbiAgICAgICAgICAgIGJhc2VVcmwsXG4gICAgICAgICAgICBjcmVhdGVBdXRoZW50aWNhdGlvblByb3ZpZGVyKGF1dGhlbnRpY2F0aW9uKSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXNvdXJjZVpvbmU6IHJlc291cmNlWm9uZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleGNlcHRpb25Mb2dnZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoQXN5bmMoZ2lkOiBzdHJpbmcsIHJlcXVlc3Q6IFJlYWRvbmx5PFBpY2tsaXN0UmVxdWVzdFYyPik6IFByb21pc2U8UGlja2xpc3RSZXN1bHRWMj4ge1xuICAgICAgICBjb25zdCB7IGZpbHRlciwgdGFrZSwgc2tpcCB9ID0gcmVxdWVzdDtcbiAgICAgICAgY29uc3QgcGlja2xpc3RVcmwgPSBgdjIvJHtyZXF1ZXN0LnRyZWUgPyBcInRyZWUvXCIgOiBcIlwifSR7Z2lkfS9gO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAuZ2V0KHBpY2tsaXN0VXJsKVxuICAgICAgICAgICAgLndpdGhRdWVyeVBhcmFtcyh7IGZpbHRlcjogZmlsdGVyLCB0YWtlOiB0YWtlLCBza2lwOiBza2lwIH0pXG4gICAgICAgICAgICAuanNvbjxQaWNrbGlzdFJlc3VsdFYyPigpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsSUFBQUEsbUJBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQU1PLE1BQU1FLGlCQUFpQixDQUErQjtFQUdsREMsV0FBV0EsQ0FDZEMsU0FBZ0IsRUFDaEJDLE9BQWUsRUFDZkMsWUFBZ0MsRUFDaENDLGNBQThDLEVBQzlDQyxlQUFpQyxFQUNuQztJQUFBLEtBUmVDLFVBQVU7SUFTdkIsSUFBSSxDQUFDQSxVQUFVLEdBQUcsSUFBSUMsc0JBQVUsQ0FDNUJOLFNBQVMsRUFDVEMsT0FBTyxFQUNQLElBQUFNLGdEQUE0QixFQUFDSixjQUFjLENBQUMsRUFDNUM7TUFDSUQsWUFBWSxFQUFFQTtJQUNsQixDQUFDLEVBQ0RFLGVBQ0osQ0FBQztFQUNMO0VBRU9JLFdBQVdBLENBQUNDLEdBQVcsRUFBRUMsT0FBb0MsRUFBNkI7SUFDN0YsTUFBTTtNQUFFQyxNQUFNO01BQUVDLElBQUk7TUFBRUM7SUFBSyxDQUFDLEdBQUdILE9BQU87SUFDdEMsTUFBTUksV0FBVyxHQUFHLE1BQU1KLE9BQU8sQ0FBQ0ssSUFBSSxHQUFHLE9BQU8sR0FBRyxFQUFFLEdBQUdOLEdBQUcsR0FBRztJQUM5RCxPQUFPLElBQUksQ0FBQ0osVUFBVSxDQUNqQlcsR0FBRyxDQUFDRixXQUFXLENBQUMsQ0FDaEJHLGVBQWUsQ0FBQztNQUFFTixNQUFNLEVBQUVBLE1BQU07TUFBRUMsSUFBSSxFQUFFQSxJQUFJO01BQUVDLElBQUksRUFBRUE7SUFBSyxDQUFDLENBQUMsQ0FDM0RLLElBQUksQ0FBbUIsQ0FBQztFQUNqQztBQUNKO0FBQUNDLE9BQUEsQ0FBQXJCLGlCQUFBLEdBQUFBLGlCQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PicklistApiClient.js","names":["_AuthenticationMode","require","_HttpClient","PicklistApiClient","constructor","fetchImpl","baseUrl","resourceZone","authentication","exceptionLogger","httpClient","HttpClient","createAuthenticationProvider","searchAsync","gid","request","filter","take","skip","get","withQueryParams","json","exports"],"sources":["../../../../Common/PicklistApiClient/PicklistApiClient.ts"],"sourcesContent":["import { IHttpClient } from \"../HttpClient/IHttpClient\";\nimport { Fetch } from \"../HttpClient/FetchImplementation/Fetch\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../HttpClient/AuthenticationMode\";\nimport { ExceptionLogger, HttpClient } from \"../HttpClient/HttpClient\";\n\nimport { IPicklistApiClient } from \"./IPicklistApiClient\";\nimport { PicklistRequestV2 } from \"./Types/PicklistRequestV2\";\nimport { PicklistResultV2 } from \"./Types/PicklistResultV2\";\n\nexport class PicklistApiClient implements IPicklistApiClient {\n private readonly httpClient: IHttpClient;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: string,\n resourceZone: undefined | string,\n authentication: undefined | AuthenticationMode,\n exceptionLogger?: ExceptionLogger\n ) {\n this.httpClient = new HttpClient(\n fetchImpl,\n baseUrl,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n },\n exceptionLogger\n );\n }\n\n public searchAsync(gid: string, request: Readonly<PicklistRequestV2>): Promise<PicklistResultV2> {\n const { filter, take, skip } = request;\n return this.httpClient\n .get(
|
|
1
|
+
{"version":3,"file":"PicklistApiClient.js","names":["_AuthenticationMode","require","_HttpClient","PicklistApiClient","constructor","fetchImpl","baseUrl","resourceZone","authentication","exceptionLogger","httpClient","HttpClient","createAuthenticationProvider","searchAsync","gid","request","filter","take","skip","picklistUrl","tree","get","withQueryParams","json","exports"],"sources":["../../../../Common/PicklistApiClient/PicklistApiClient.ts"],"sourcesContent":["import { IHttpClient } from \"../HttpClient/IHttpClient\";\nimport { Fetch } from \"../HttpClient/FetchImplementation/Fetch\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../HttpClient/AuthenticationMode\";\nimport { ExceptionLogger, HttpClient } from \"../HttpClient/HttpClient\";\n\nimport { IPicklistApiClient } from \"./IPicklistApiClient\";\nimport { PicklistRequestV2 } from \"./Types/PicklistRequestV2\";\nimport { PicklistResultV2 } from \"./Types/PicklistResultV2\";\n\nexport class PicklistApiClient implements IPicklistApiClient {\n private readonly httpClient: IHttpClient;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: string,\n resourceZone: undefined | string,\n authentication: undefined | AuthenticationMode,\n exceptionLogger?: ExceptionLogger\n ) {\n this.httpClient = new HttpClient(\n fetchImpl,\n baseUrl,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n },\n exceptionLogger\n );\n }\n\n public searchAsync(gid: string, request: Readonly<PicklistRequestV2>): Promise<PicklistResultV2> {\n const { filter, take, skip } = request;\n const picklistUrl = `v2/${request.tree ? \"tree/\" : \"\"}${gid}/`;\n return this.httpClient\n .get(picklistUrl)\n .withQueryParams({ filter: filter, take: take, skip: skip })\n .json<PicklistResultV2>();\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAMO,MAAME,iBAAiB,CAA+B;EAGlDC,WAAWA,CACdC,SAAgB,EAChBC,OAAe,EACfC,YAAgC,EAChCC,cAA8C,EAC9CC,eAAiC,EACnC;IAAA,KAReC,UAAU;IASvB,IAAI,CAACA,UAAU,GAAG,IAAIC,sBAAU,CAC5BN,SAAS,EACTC,OAAO,EACP,IAAAM,gDAA4B,EAACJ,cAAc,CAAC,EAC5C;MACID,YAAY,EAAEA;IAClB,CAAC,EACDE,eACJ,CAAC;EACL;EAEOI,WAAWA,CAACC,GAAW,EAAEC,OAAoC,EAA6B;IAC7F,MAAM;MAAEC,MAAM;MAAEC,IAAI;MAAEC;IAAK,CAAC,GAAGH,OAAO;IACtC,MAAMI,WAAW,GAAG,MAAMJ,OAAO,CAACK,IAAI,GAAG,OAAO,GAAG,EAAE,GAAGN,GAAG,GAAG;IAC9D,OAAO,IAAI,CAACJ,UAAU,CACjBW,GAAG,CAACF,WAAW,CAAC,CAChBG,eAAe,CAAC;MAAEN,MAAM,EAAEA,MAAM;MAAEC,IAAI,EAAEA,IAAI;MAAEC,IAAI,EAAEA;IAAK,CAAC,CAAC,CAC3DK,IAAI,CAAmB,CAAC;EACjC;AACJ;AAACC,OAAA,CAAArB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -11,24 +11,26 @@ const buildPicklistRequest = filter => {
|
|
|
11
11
|
if ((0, _util.isNullOrUndefined)(filter)) {
|
|
12
12
|
return {};
|
|
13
13
|
}
|
|
14
|
-
const picklistFilter = convertToPicklistFilter(filter
|
|
14
|
+
const picklistFilter = convertToPicklistFilter(filter);
|
|
15
15
|
return {
|
|
16
16
|
filter: picklistFilter,
|
|
17
17
|
skip: filter === null || filter === void 0 ? void 0 : filter.skip,
|
|
18
|
-
take: filter === null || filter === void 0 ? void 0 : filter.take
|
|
18
|
+
take: filter === null || filter === void 0 ? void 0 : filter.take,
|
|
19
|
+
tree: filter === null || filter === void 0 ? void 0 : filter.isTree
|
|
19
20
|
};
|
|
20
21
|
};
|
|
21
22
|
exports.buildPicklistRequest = buildPicklistRequest;
|
|
22
|
-
const convertToPicklistFilter =
|
|
23
|
+
const convertToPicklistFilter = queryFilter => {
|
|
24
|
+
const filter = queryFilter === null || queryFilter === void 0 ? void 0 : queryFilter.filter;
|
|
23
25
|
if ((0, _util.isNullOrUndefined)(filter)) {
|
|
24
26
|
return undefined;
|
|
25
27
|
}
|
|
28
|
+
if ("column" in filter) {
|
|
29
|
+
return (0, _DigestFilterColumnSerializer.serializeToString)(filter, queryFilter === null || queryFilter === void 0 ? void 0 : queryFilter.isTree);
|
|
30
|
+
}
|
|
26
31
|
if ("operands" in filter) {
|
|
27
32
|
return (0, _DigestLogicalFilterSerializer.serializeToString)(filter);
|
|
28
33
|
}
|
|
29
|
-
if ("column" in filter) {
|
|
30
|
-
return (0, _DigestFilterColumnSerializer.serializeToString)(filter);
|
|
31
|
-
}
|
|
32
34
|
return undefined;
|
|
33
35
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbCIsInJlcXVpcmUiLCJfRGlnZXN0RmlsdGVyQ29sdW1uU2VyaWFsaXplciIsIl9EaWdlc3RMb2dpY2FsRmlsdGVyU2VyaWFsaXplciIsImJ1aWxkUGlja2xpc3RSZXF1ZXN0IiwiZmlsdGVyIiwiaXNOdWxsT3JVbmRlZmluZWQiLCJwaWNrbGlzdEZpbHRlciIsImNvbnZlcnRUb1BpY2tsaXN0RmlsdGVyIiwic2tpcCIsInRha2UiLCJ0cmVlIiwiaXNUcmVlIiwiZXhwb3J0cyIsInF1ZXJ5RmlsdGVyIiwidW5kZWZpbmVkIiwic2VyaWFsaXplRGlnZXN0RmlsdGVyQ29sdW1uVG9TdHJpbmciLCJzZXJpYWxpemVEaWdlc3RMb2dpY2FsRmlsdGVyVG9TdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vUGlja2xpc3RBcGlDbGllbnQvUGlja2xpc3RSZXF1ZXN0VjJCdWlsZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSBcInV0aWxcIjtcblxuaW1wb3J0IHsgRGlnZXN0UXVlcnlGaWx0ZXIgfSBmcm9tIFwiLi4vQ2FuZHlBcGlDbGllbnQvRGlnZXN0QXBpQ2xpZW50L1R5cGVzL0RpZ2VzdFF1ZXJ5RmlsdGVyXCI7XG5cbmltcG9ydCB7IFBpY2tsaXN0UmVxdWVzdFYyIH0gZnJvbSBcIi4vVHlwZXMvUGlja2xpc3RSZXF1ZXN0VjJcIjtcbmltcG9ydCB7IHNlcmlhbGl6ZVRvU3RyaW5nIGFzIHNlcmlhbGl6ZURpZ2VzdEZpbHRlckNvbHVtblRvU3RyaW5nIH0gZnJvbSBcIi4vU2VyaWFsaXplcnMvRGlnZXN0RmlsdGVyQ29sdW1uU2VyaWFsaXplclwiO1xuaW1wb3J0IHsgc2VyaWFsaXplVG9TdHJpbmcgYXMgc2VyaWFsaXplRGlnZXN0TG9naWNhbEZpbHRlclRvU3RyaW5nIH0gZnJvbSBcIi4vU2VyaWFsaXplcnMvRGlnZXN0TG9naWNhbEZpbHRlclNlcmlhbGl6ZXJcIjtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUGlja2xpc3RSZXF1ZXN0ID0gKGZpbHRlcj86IERpZ2VzdFF1ZXJ5RmlsdGVyKTogUGlja2xpc3RSZXF1ZXN0VjIgPT4ge1xuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChmaWx0ZXIpKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBwaWNrbGlzdEZpbHRlciA9IGNvbnZlcnRUb1BpY2tsaXN0RmlsdGVyKGZpbHRlcik7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmlsdGVyOiBwaWNrbGlzdEZpbHRlcixcbiAgICAgICAgc2tpcDogZmlsdGVyPy5za2lwLFxuICAgICAgICB0YWtlOiBmaWx0ZXI/LnRha2UsXG4gICAgICAgIHRyZWU6IGZpbHRlcj8uaXNUcmVlLFxuICAgIH07XG59O1xuXG5jb25zdCBjb252ZXJ0VG9QaWNrbGlzdEZpbHRlciA9IChxdWVyeUZpbHRlcj86IERpZ2VzdFF1ZXJ5RmlsdGVyKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBmaWx0ZXIgPSBxdWVyeUZpbHRlcj8uZmlsdGVyO1xuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChmaWx0ZXIpKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKFwiY29sdW1uXCIgaW4gZmlsdGVyKSB7XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVEaWdlc3RGaWx0ZXJDb2x1bW5Ub1N0cmluZyhmaWx0ZXIsIHF1ZXJ5RmlsdGVyPy5pc1RyZWUpO1xuICAgIH1cblxuICAgIGlmIChcIm9wZXJhbmRzXCIgaW4gZmlsdGVyKSB7XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVEaWdlc3RMb2dpY2FsRmlsdGVyVG9TdHJpbmcoZmlsdGVyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBS0EsSUFBQUMsNkJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLDhCQUFBLEdBQUFGLE9BQUE7QUFFTyxNQUFNRyxvQkFBb0IsR0FBSUMsTUFBMEIsSUFBd0I7RUFDbkYsSUFBSSxJQUFBQyx1QkFBaUIsRUFBQ0QsTUFBTSxDQUFDLEVBQUU7SUFDM0IsT0FBTyxDQUFDLENBQUM7RUFDYjtFQUVBLE1BQU1FLGNBQWMsR0FBR0MsdUJBQXVCLENBQUNILE1BQU0sQ0FBQztFQUN0RCxPQUFPO0lBQ0hBLE1BQU0sRUFBRUUsY0FBYztJQUN0QkUsSUFBSSxFQUFFSixNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRUksSUFBSTtJQUNsQkMsSUFBSSxFQUFFTCxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRUssSUFBSTtJQUNsQkMsSUFBSSxFQUFFTixNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRU87RUFDbEIsQ0FBQztBQUNMLENBQUM7QUFBQ0MsT0FBQSxDQUFBVCxvQkFBQSxHQUFBQSxvQkFBQTtBQUVGLE1BQU1JLHVCQUF1QixHQUFJTSxXQUErQixJQUF5QjtFQUNyRixNQUFNVCxNQUFNLEdBQUdTLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFVCxNQUFNO0VBQ2xDLElBQUksSUFBQUMsdUJBQWlCLEVBQUNELE1BQU0sQ0FBQyxFQUFFO0lBQzNCLE9BQU9VLFNBQVM7RUFDcEI7RUFFQSxJQUFJLFFBQVEsSUFBSVYsTUFBTSxFQUFFO0lBQ3BCLE9BQU8sSUFBQVcsK0NBQW1DLEVBQUNYLE1BQU0sRUFBRVMsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVGLE1BQU0sQ0FBQztFQUMzRTtFQUVBLElBQUksVUFBVSxJQUFJUCxNQUFNLEVBQUU7SUFDdEIsT0FBTyxJQUFBWSxnREFBb0MsRUFBQ1osTUFBTSxDQUFDO0VBQ3ZEO0VBRUEsT0FBT1UsU0FBUztBQUNwQixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PicklistRequestV2Builder.js","names":["_util","require","_DigestFilterColumnSerializer","_DigestLogicalFilterSerializer","buildPicklistRequest","filter","isNullOrUndefined","picklistFilter","convertToPicklistFilter","skip","take","exports","
|
|
1
|
+
{"version":3,"file":"PicklistRequestV2Builder.js","names":["_util","require","_DigestFilterColumnSerializer","_DigestLogicalFilterSerializer","buildPicklistRequest","filter","isNullOrUndefined","picklistFilter","convertToPicklistFilter","skip","take","tree","isTree","exports","queryFilter","undefined","serializeDigestFilterColumnToString","serializeDigestLogicalFilterToString"],"sources":["../../../../Common/PicklistApiClient/PicklistRequestV2Builder.ts"],"sourcesContent":["import { isNullOrUndefined } from \"util\";\n\nimport { DigestQueryFilter } from \"../CandyApiClient/DigestApiClient/Types/DigestQueryFilter\";\n\nimport { PicklistRequestV2 } from \"./Types/PicklistRequestV2\";\nimport { serializeToString as serializeDigestFilterColumnToString } from \"./Serializers/DigestFilterColumnSerializer\";\nimport { serializeToString as serializeDigestLogicalFilterToString } from \"./Serializers/DigestLogicalFilterSerializer\";\n\nexport const buildPicklistRequest = (filter?: DigestQueryFilter): PicklistRequestV2 => {\n if (isNullOrUndefined(filter)) {\n return {};\n }\n\n const picklistFilter = convertToPicklistFilter(filter);\n return {\n filter: picklistFilter,\n skip: filter?.skip,\n take: filter?.take,\n tree: filter?.isTree,\n };\n};\n\nconst convertToPicklistFilter = (queryFilter?: DigestQueryFilter): string | undefined => {\n const filter = queryFilter?.filter;\n if (isNullOrUndefined(filter)) {\n return undefined;\n }\n\n if (\"column\" in filter) {\n return serializeDigestFilterColumnToString(filter, queryFilter?.isTree);\n }\n\n if (\"operands\" in filter) {\n return serializeDigestLogicalFilterToString(filter);\n }\n\n return undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,6BAAA,GAAAD,OAAA;AACA,IAAAE,8BAAA,GAAAF,OAAA;AAEO,MAAMG,oBAAoB,GAAIC,MAA0B,IAAwB;EACnF,IAAI,IAAAC,uBAAiB,EAACD,MAAM,CAAC,EAAE;IAC3B,OAAO,CAAC,CAAC;EACb;EAEA,MAAME,cAAc,GAAGC,uBAAuB,CAACH,MAAM,CAAC;EACtD,OAAO;IACHA,MAAM,EAAEE,cAAc;IACtBE,IAAI,EAAEJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,IAAI;IAClBC,IAAI,EAAEL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,IAAI;IAClBC,IAAI,EAAEN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO;EAClB,CAAC;AACL,CAAC;AAACC,OAAA,CAAAT,oBAAA,GAAAA,oBAAA;AAEF,MAAMI,uBAAuB,GAAIM,WAA+B,IAAyB;EACrF,MAAMT,MAAM,GAAGS,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAET,MAAM;EAClC,IAAI,IAAAC,uBAAiB,EAACD,MAAM,CAAC,EAAE;IAC3B,OAAOU,SAAS;EACpB;EAEA,IAAI,QAAQ,IAAIV,MAAM,EAAE;IACpB,OAAO,IAAAW,+CAAmC,EAACX,MAAM,EAAES,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEF,MAAM,CAAC;EAC3E;EAEA,IAAI,UAAU,IAAIP,MAAM,EAAE;IACtB,OAAO,IAAAY,gDAAoC,EAACZ,MAAM,CAAC;EACvD;EAEA,OAAOU,SAAS;AACpB,CAAC","ignoreList":[]}
|
|
@@ -7,8 +7,8 @@ exports.serializeToString = void 0;
|
|
|
7
7
|
var _util = require("util");
|
|
8
8
|
var _DigestQueryFilter = require("../../CandyApiClient/DigestApiClient/Types/DigestQueryFilter");
|
|
9
9
|
var _TypingUtils = require("../../TypingUtils");
|
|
10
|
-
const serializeToString = filter => {
|
|
11
|
-
if ((0, _util.isNullOrUndefined)(filter) || (0, _TypingUtils.isNullOrEmpty)(filter === null || filter === void 0 ? void 0 : filter.value)) {
|
|
10
|
+
const serializeToString = (filter, isTree) => {
|
|
11
|
+
if ((0, _util.isNullOrUndefined)(filter) || (0, _TypingUtils.isNullOrEmpty)(filter === null || filter === void 0 ? void 0 : filter.value) && !isTree) {
|
|
12
12
|
return "";
|
|
13
13
|
}
|
|
14
14
|
const valueString = serializeValueToString(filter.value);
|
|
@@ -50,4 +50,4 @@ const serializeOperatorToString = operator => {
|
|
|
50
50
|
return "";
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbCIsInJlcXVpcmUiLCJfRGlnZXN0UXVlcnlGaWx0ZXIiLCJfVHlwaW5nVXRpbHMiLCJzZXJpYWxpemVUb1N0cmluZyIsImZpbHRlciIsImlzVHJlZSIsImlzTnVsbE9yVW5kZWZpbmVkIiwiaXNOdWxsT3JFbXB0eSIsInZhbHVlIiwidmFsdWVTdHJpbmciLCJzZXJpYWxpemVWYWx1ZVRvU3RyaW5nIiwicmVzdWx0IiwiY29sdW1uIiwib3BlcmF0b3JTdHJpbmciLCJzZXJpYWxpemVPcGVyYXRvclRvU3RyaW5nIiwib3BlcmF0b3IiLCJEaWdlc3RGaWx0ZXJPcGVyYXRvciIsIkVxdWFsIiwiQ29udGFpbnNJbkxpc3QiLCJTdWJzdHJpbmciLCJQcmVmaXgiLCJleHBvcnRzIiwiX3ZhbHVlJHRvU3RyaW5nIiwidG9TdHJpbmciLCJlc2NhcGVRdW90ZSIsInJlcGxhY2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9Db21tb24vUGlja2xpc3RBcGlDbGllbnQvU2VyaWFsaXplcnMvRGlnZXN0RmlsdGVyQ29sdW1uU2VyaWFsaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJ1dGlsXCI7XG5cbmltcG9ydCB7IERpZ2VzdEZpbHRlckNvbHVtbiwgRGlnZXN0RmlsdGVyT3BlcmF0b3IgfSBmcm9tIFwiLi4vLi4vQ2FuZHlBcGlDbGllbnQvRGlnZXN0QXBpQ2xpZW50L1R5cGVzL0RpZ2VzdFF1ZXJ5RmlsdGVyXCI7XG5pbXBvcnQgeyBpc051bGxPckVtcHR5IH0gZnJvbSBcIi4uLy4uL1R5cGluZ1V0aWxzXCI7XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVUb1N0cmluZyA9IChmaWx0ZXI/OiBEaWdlc3RGaWx0ZXJDb2x1bW4sIGlzVHJlZT86IGJvb2xlYW4pOiBzdHJpbmcgPT4ge1xuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChmaWx0ZXIpIHx8IChpc051bGxPckVtcHR5KGZpbHRlcj8udmFsdWUpICYmICFpc1RyZWUpKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gc2VyaWFsaXplVmFsdWVUb1N0cmluZyhmaWx0ZXIudmFsdWUpO1xuICAgIGxldCByZXN1bHQgPSBcIihcIiArIGZpbHRlci5jb2x1bW47XG4gICAgY29uc3Qgb3BlcmF0b3JTdHJpbmcgPSBzZXJpYWxpemVPcGVyYXRvclRvU3RyaW5nKGZpbHRlci5vcGVyYXRvcik7XG5cbiAgICBzd2l0Y2ggKGZpbHRlci5vcGVyYXRvcikge1xuICAgICAgICBjYXNlIERpZ2VzdEZpbHRlck9wZXJhdG9yLkVxdWFsOlxuICAgICAgICBjYXNlIERpZ2VzdEZpbHRlck9wZXJhdG9yLkNvbnRhaW5zSW5MaXN0OlxuICAgICAgICAgICAgcmVzdWx0ICs9IG9wZXJhdG9yU3RyaW5nICsgdmFsdWVTdHJpbmc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBEaWdlc3RGaWx0ZXJPcGVyYXRvci5TdWJzdHJpbmc6XG4gICAgICAgICAgICByZXN1bHQgKz0gb3BlcmF0b3JTdHJpbmcgKyBcIipcIiArIHZhbHVlU3RyaW5nICsgXCIqXCI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBEaWdlc3RGaWx0ZXJPcGVyYXRvci5QcmVmaXg6XG4gICAgICAgICAgICByZXN1bHQgKz0gb3BlcmF0b3JTdHJpbmcgKyB2YWx1ZVN0cmluZyArIFwiKlwiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCArIFwiKVwiO1xufTtcblxuY29uc3Qgc2VyaWFsaXplVmFsdWVUb1N0cmluZyA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gdmFsdWU/LnRvU3RyaW5nKCkgPz8gXCJcIjtcbiAgICBjb25zdCBlc2NhcGVRdW90ZSA9IFwiJ1wiO1xuXG4gICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoL1xcXFwvZywgXCJcXFxcXFxcXFwiKTtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShlc2NhcGVRdW90ZSwgXCJcXFxcXCIgKyBlc2NhcGVRdW90ZSk7XG4gICAgcmV0dXJuIGVzY2FwZVF1b3RlICsgcmVzdWx0ICsgZXNjYXBlUXVvdGU7XG59O1xuXG5jb25zdCBzZXJpYWxpemVPcGVyYXRvclRvU3RyaW5nID0gKG9wZXJhdG9yOiBEaWdlc3RGaWx0ZXJPcGVyYXRvcik6IHN0cmluZyA9PiB7XG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgICBjYXNlIERpZ2VzdEZpbHRlck9wZXJhdG9yLkVxdWFsOlxuICAgICAgICAgICAgcmV0dXJuIFwiPVwiO1xuICAgICAgICBjYXNlIERpZ2VzdEZpbHRlck9wZXJhdG9yLkNvbnRhaW5zSW5MaXN0OlxuICAgICAgICAgICAgcmV0dXJuIFwiQFwiO1xuICAgICAgICBjYXNlIERpZ2VzdEZpbHRlck9wZXJhdG9yLlN1YnN0cmluZzpcbiAgICAgICAgY2FzZSBEaWdlc3RGaWx0ZXJPcGVyYXRvci5QcmVmaXg6XG4gICAgICAgICAgICByZXR1cm4gXCJ+XCI7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxrQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsWUFBQSxHQUFBRixPQUFBO0FBRU8sTUFBTUcsaUJBQWlCLEdBQUdBLENBQUNDLE1BQTJCLEVBQUVDLE1BQWdCLEtBQWE7RUFDeEYsSUFBSSxJQUFBQyx1QkFBaUIsRUFBQ0YsTUFBTSxDQUFDLElBQUssSUFBQUcsMEJBQWEsRUFBQ0gsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVJLEtBQUssQ0FBQyxJQUFJLENBQUNILE1BQU8sRUFBRTtJQUN4RSxPQUFPLEVBQUU7RUFDYjtFQUVBLE1BQU1JLFdBQVcsR0FBR0Msc0JBQXNCLENBQUNOLE1BQU0sQ0FBQ0ksS0FBSyxDQUFDO0VBQ3hELElBQUlHLE1BQU0sR0FBRyxHQUFHLEdBQUdQLE1BQU0sQ0FBQ1EsTUFBTTtFQUNoQyxNQUFNQyxjQUFjLEdBQUdDLHlCQUF5QixDQUFDVixNQUFNLENBQUNXLFFBQVEsQ0FBQztFQUVqRSxRQUFRWCxNQUFNLENBQUNXLFFBQVE7SUFDbkIsS0FBS0MsdUNBQW9CLENBQUNDLEtBQUs7SUFDL0IsS0FBS0QsdUNBQW9CLENBQUNFLGNBQWM7TUFDcENQLE1BQU0sSUFBSUUsY0FBYyxHQUFHSixXQUFXO01BQ3RDO0lBQ0osS0FBS08sdUNBQW9CLENBQUNHLFNBQVM7TUFDL0JSLE1BQU0sSUFBSUUsY0FBYyxHQUFHLEdBQUcsR0FBR0osV0FBVyxHQUFHLEdBQUc7TUFDbEQ7SUFDSixLQUFLTyx1Q0FBb0IsQ0FBQ0ksTUFBTTtNQUM1QlQsTUFBTSxJQUFJRSxjQUFjLEdBQUdKLFdBQVcsR0FBRyxHQUFHO01BQzVDO0VBQ1I7RUFFQSxPQUFPRSxNQUFNLEdBQUcsR0FBRztBQUN2QixDQUFDO0FBQUNVLE9BQUEsQ0FBQWxCLGlCQUFBLEdBQUFBLGlCQUFBO0FBRUYsTUFBTU8sc0JBQXNCLEdBQUlGLEtBQWEsSUFBYTtFQUFBLElBQUFjLGVBQUE7RUFDdEQsSUFBSVgsTUFBTSxJQUFBVyxlQUFBLEdBQUdkLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFZSxRQUFRLENBQUMsQ0FBQyxjQUFBRCxlQUFBLGNBQUFBLGVBQUEsR0FBSSxFQUFFO0VBQ3BDLE1BQU1FLFdBQVcsR0FBRyxHQUFHO0VBRXZCYixNQUFNLEdBQUdBLE1BQU0sQ0FBQ2MsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7RUFDdENkLE1BQU0sR0FBR0EsTUFBTSxDQUFDYyxPQUFPLENBQUNELFdBQVcsRUFBRSxJQUFJLEdBQUdBLFdBQVcsQ0FBQztFQUN4RCxPQUFPQSxXQUFXLEdBQUdiLE1BQU0sR0FBR2EsV0FBVztBQUM3QyxDQUFDO0FBRUQsTUFBTVYseUJBQXlCLEdBQUlDLFFBQThCLElBQWE7RUFDMUUsUUFBUUEsUUFBUTtJQUNaLEtBQUtDLHVDQUFvQixDQUFDQyxLQUFLO01BQzNCLE9BQU8sR0FBRztJQUNkLEtBQUtELHVDQUFvQixDQUFDRSxjQUFjO01BQ3BDLE9BQU8sR0FBRztJQUNkLEtBQUtGLHVDQUFvQixDQUFDRyxTQUFTO0lBQ25DLEtBQUtILHVDQUFvQixDQUFDSSxNQUFNO01BQzVCLE9BQU8sR0FBRztJQUNkO01BQ0ksT0FBTyxFQUFFO0VBQ2pCO0FBQ0osQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigestFilterColumnSerializer.js","names":["_util","require","_DigestQueryFilter","_TypingUtils","serializeToString","filter","isNullOrUndefined","isNullOrEmpty","value","valueString","serializeValueToString","result","column","operatorString","serializeOperatorToString","operator","DigestFilterOperator","Equal","ContainsInList","Substring","Prefix","exports","_value$toString","toString","escapeQuote","replace"],"sources":["../../../../../Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.ts"],"sourcesContent":["import { isNullOrUndefined } from \"util\";\n\nimport { DigestFilterColumn, DigestFilterOperator } from \"../../CandyApiClient/DigestApiClient/Types/DigestQueryFilter\";\nimport { isNullOrEmpty } from \"../../TypingUtils\";\n\nexport const serializeToString = (filter?: DigestFilterColumn): string => {\n if (isNullOrUndefined(filter) || isNullOrEmpty(filter?.value)) {\n return \"\";\n }\n\n const valueString = serializeValueToString(filter.value);\n let result = \"(\" + filter.column;\n const operatorString = serializeOperatorToString(filter.operator);\n\n switch (filter.operator) {\n case DigestFilterOperator.Equal:\n case DigestFilterOperator.ContainsInList:\n result += operatorString + valueString;\n break;\n case DigestFilterOperator.Substring:\n result += operatorString + \"*\" + valueString + \"*\";\n break;\n case DigestFilterOperator.Prefix:\n result += operatorString + valueString + \"*\";\n break;\n }\n\n return result + \")\";\n};\n\nconst serializeValueToString = (value: string): string => {\n let result = value?.toString() ?? \"\";\n const escapeQuote = \"'\";\n\n result = result.replace(/\\\\/g, \"\\\\\\\\\");\n result = result.replace(escapeQuote, \"\\\\\" + escapeQuote);\n return escapeQuote + result + escapeQuote;\n};\n\nconst serializeOperatorToString = (operator: DigestFilterOperator): string => {\n switch (operator) {\n case DigestFilterOperator.Equal:\n return \"=\";\n case DigestFilterOperator.ContainsInList:\n return \"@\";\n case DigestFilterOperator.Substring:\n case DigestFilterOperator.Prefix:\n return \"~\";\n default:\n return \"\";\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEO,MAAMG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"DigestFilterColumnSerializer.js","names":["_util","require","_DigestQueryFilter","_TypingUtils","serializeToString","filter","isTree","isNullOrUndefined","isNullOrEmpty","value","valueString","serializeValueToString","result","column","operatorString","serializeOperatorToString","operator","DigestFilterOperator","Equal","ContainsInList","Substring","Prefix","exports","_value$toString","toString","escapeQuote","replace"],"sources":["../../../../../Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.ts"],"sourcesContent":["import { isNullOrUndefined } from \"util\";\n\nimport { DigestFilterColumn, DigestFilterOperator } from \"../../CandyApiClient/DigestApiClient/Types/DigestQueryFilter\";\nimport { isNullOrEmpty } from \"../../TypingUtils\";\n\nexport const serializeToString = (filter?: DigestFilterColumn, isTree?: boolean): string => {\n if (isNullOrUndefined(filter) || (isNullOrEmpty(filter?.value) && !isTree)) {\n return \"\";\n }\n\n const valueString = serializeValueToString(filter.value);\n let result = \"(\" + filter.column;\n const operatorString = serializeOperatorToString(filter.operator);\n\n switch (filter.operator) {\n case DigestFilterOperator.Equal:\n case DigestFilterOperator.ContainsInList:\n result += operatorString + valueString;\n break;\n case DigestFilterOperator.Substring:\n result += operatorString + \"*\" + valueString + \"*\";\n break;\n case DigestFilterOperator.Prefix:\n result += operatorString + valueString + \"*\";\n break;\n }\n\n return result + \")\";\n};\n\nconst serializeValueToString = (value: string): string => {\n let result = value?.toString() ?? \"\";\n const escapeQuote = \"'\";\n\n result = result.replace(/\\\\/g, \"\\\\\\\\\");\n result = result.replace(escapeQuote, \"\\\\\" + escapeQuote);\n return escapeQuote + result + escapeQuote;\n};\n\nconst serializeOperatorToString = (operator: DigestFilterOperator): string => {\n switch (operator) {\n case DigestFilterOperator.Equal:\n return \"=\";\n case DigestFilterOperator.ContainsInList:\n return \"@\";\n case DigestFilterOperator.Substring:\n case DigestFilterOperator.Prefix:\n return \"~\";\n default:\n return \"\";\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEO,MAAMG,iBAAiB,GAAGA,CAACC,MAA2B,EAAEC,MAAgB,KAAa;EACxF,IAAI,IAAAC,uBAAiB,EAACF,MAAM,CAAC,IAAK,IAAAG,0BAAa,EAACH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,KAAK,CAAC,IAAI,CAACH,MAAO,EAAE;IACxE,OAAO,EAAE;EACb;EAEA,MAAMI,WAAW,GAAGC,sBAAsB,CAACN,MAAM,CAACI,KAAK,CAAC;EACxD,IAAIG,MAAM,GAAG,GAAG,GAAGP,MAAM,CAACQ,MAAM;EAChC,MAAMC,cAAc,GAAGC,yBAAyB,CAACV,MAAM,CAACW,QAAQ,CAAC;EAEjE,QAAQX,MAAM,CAACW,QAAQ;IACnB,KAAKC,uCAAoB,CAACC,KAAK;IAC/B,KAAKD,uCAAoB,CAACE,cAAc;MACpCP,MAAM,IAAIE,cAAc,GAAGJ,WAAW;MACtC;IACJ,KAAKO,uCAAoB,CAACG,SAAS;MAC/BR,MAAM,IAAIE,cAAc,GAAG,GAAG,GAAGJ,WAAW,GAAG,GAAG;MAClD;IACJ,KAAKO,uCAAoB,CAACI,MAAM;MAC5BT,MAAM,IAAIE,cAAc,GAAGJ,WAAW,GAAG,GAAG;MAC5C;EACR;EAEA,OAAOE,MAAM,GAAG,GAAG;AACvB,CAAC;AAACU,OAAA,CAAAlB,iBAAA,GAAAA,iBAAA;AAEF,MAAMO,sBAAsB,GAAIF,KAAa,IAAa;EAAA,IAAAc,eAAA;EACtD,IAAIX,MAAM,IAAAW,eAAA,GAAGd,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEe,QAAQ,CAAC,CAAC,cAAAD,eAAA,cAAAA,eAAA,GAAI,EAAE;EACpC,MAAME,WAAW,GAAG,GAAG;EAEvBb,MAAM,GAAGA,MAAM,CAACc,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;EACtCd,MAAM,GAAGA,MAAM,CAACc,OAAO,CAACD,WAAW,EAAE,IAAI,GAAGA,WAAW,CAAC;EACxD,OAAOA,WAAW,GAAGb,MAAM,GAAGa,WAAW;AAC7C,CAAC;AAED,MAAMV,yBAAyB,GAAIC,QAA8B,IAAa;EAC1E,QAAQA,QAAQ;IACZ,KAAKC,uCAAoB,CAACC,KAAK;MAC3B,OAAO,GAAG;IACd,KAAKD,uCAAoB,CAACE,cAAc;MACpC,OAAO,GAAG;IACd,KAAKF,uCAAoB,CAACG,SAAS;IACnC,KAAKH,uCAAoB,CAACI,MAAM;MAC5B,OAAO,GAAG;IACd;MACI,OAAO,EAAE;EACjB;AACJ,CAAC","ignoreList":[]}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL1BpY2tsaXN0QXBpQ2xpZW50L1R5cGVzL1BpY2tsaXN0UmVxdWVzdFYyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGlja2xpc3RSZXF1ZXN0VjIge1xuICAgIGZpbHRlcj86IHN0cmluZztcbiAgICB0YWtlPzogbnVtYmVyO1xuICAgIHNraXA/
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL1BpY2tsaXN0QXBpQ2xpZW50L1R5cGVzL1BpY2tsaXN0UmVxdWVzdFYyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGlja2xpc3RSZXF1ZXN0VjIge1xuICAgIGZpbHRlcj86IHN0cmluZztcbiAgICB0YWtlPzogbnVtYmVyO1xuICAgIHNraXA/OiBudW1iZXI7XG4gICAgdHJlZT86IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PicklistRequestV2.js","names":[],"sources":["../../../../../Common/PicklistApiClient/Types/PicklistRequestV2.ts"],"sourcesContent":["export interface PicklistRequestV2 {\n filter?: string;\n take?: number;\n skip?: number;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PicklistRequestV2.js","names":[],"sources":["../../../../../Common/PicklistApiClient/Types/PicklistRequestV2.ts"],"sourcesContent":["export interface PicklistRequestV2 {\n filter?: string;\n take?: number;\n skip?: number;\n tree?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BuildServerCandyWidgetController = void 0;
|
|
8
|
+
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
9
|
+
var _Methods = require("../../../Commons/HttpServer/AttributeRouting/Methods");
|
|
10
|
+
var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
|
|
11
|
+
var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
|
|
12
|
+
var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
|
|
13
|
+
var _CandyWidgetDevServer = require("./DevServers/CandyWidgetDevServer");
|
|
14
|
+
var _dec, _class;
|
|
15
|
+
const defaultOptions = {
|
|
16
|
+
frontEndDevMode: false,
|
|
17
|
+
devServerUrl: "https://localhost:8081"
|
|
18
|
+
};
|
|
19
|
+
let BuildServerCandyWidgetController = exports.BuildServerCandyWidgetController = (_dec = (0, _Methods.httpGet)(/\/candy-widget\/(.*)/, _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("0", _Params.httpType.String)), (_class = class BuildServerCandyWidgetController extends _SingletonController.SingletonController {
|
|
20
|
+
constructor(engineDirectory, buildDebugOnly, options) {
|
|
21
|
+
super();
|
|
22
|
+
this.engineDirectory = void 0;
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
this.options = void 0;
|
|
25
|
+
this.devServer = void 0;
|
|
26
|
+
this.buildDebugOnly = void 0;
|
|
27
|
+
this.options = {
|
|
28
|
+
...defaultOptions,
|
|
29
|
+
...options
|
|
30
|
+
};
|
|
31
|
+
this.engineDirectory = engineDirectory;
|
|
32
|
+
this.buildDebugOnly = buildDebugOnly;
|
|
33
|
+
}
|
|
34
|
+
async getLoaderJs(fileName) {
|
|
35
|
+
return (await this.getOrCreateDevServer()).getFileStream(`candy-widget/${fileName}`);
|
|
36
|
+
}
|
|
37
|
+
async getOrCreateDevServer() {
|
|
38
|
+
if (this.devServer == undefined) {
|
|
39
|
+
this.devServer = new _CandyWidgetDevServer.CandyWidgetDevServer(this.engineDirectory, this.buildDebugOnly);
|
|
40
|
+
await this.devServer.start();
|
|
41
|
+
}
|
|
42
|
+
return this.devServer;
|
|
43
|
+
}
|
|
44
|
+
}, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLoaderJs", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getLoaderJs"), _class.prototype)), _class));
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTWV0aG9kcyIsInJlcXVpcmUiLCJfUmVzdWx0cyIsIl9TaW5nbGV0b25Db250cm9sbGVyIiwiX1BhcmFtcyIsIl9DYW5keVdpZGdldERldlNlcnZlciIsIl9kZWMiLCJfY2xhc3MiLCJkZWZhdWx0T3B0aW9ucyIsImZyb250RW5kRGV2TW9kZSIsImRldlNlcnZlclVybCIsIkJ1aWxkU2VydmVyQ2FuZHlXaWRnZXRDb250cm9sbGVyIiwiZXhwb3J0cyIsImh0dHBHZXQiLCJodHRwUmV0dXJuIiwiU3RyZWFtV2l0aE1pbWUiLCJodHRwVXJsUGFyYW0iLCJodHRwVHlwZSIsIlN0cmluZyIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImVuZ2luZURpcmVjdG9yeSIsImJ1aWxkRGVidWdPbmx5Iiwib3B0aW9ucyIsImRldlNlcnZlciIsImdldExvYWRlckpzIiwiZmlsZU5hbWUiLCJnZXRPckNyZWF0ZURldlNlcnZlciIsImdldEZpbGVTdHJlYW0iLCJ1bmRlZmluZWQiLCJDYW5keVdpZGdldERldlNlcnZlciIsInN0YXJ0IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvcjIiLCJkZWZhdWx0IiwicHJvdG90eXBlIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQ2FuZHlXaWRnZXRDb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0dHBHZXQgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTWV0aG9kc1wiO1xuaW1wb3J0IHsgaHR0cFJldHVybiB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzXCI7XG5pbXBvcnQgeyBTdHJlYW1SZXR1cm5SZXN1bHQgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUmVzdWx0cy9TdHJlYW1SZXN1bHRIYW5kbGVyXCI7XG5pbXBvcnQgeyBTaW5nbGV0b25Db250cm9sbGVyIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9FeHByZXNzV3JhcHBlci9TaW5nbGV0b25Db250cm9sbGVyXCI7XG5pbXBvcnQgeyBodHRwVHlwZSwgaHR0cFVybFBhcmFtIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1BhcmFtc1wiO1xuXG5pbXBvcnQgeyBDYW5keVdpZGdldERldlNlcnZlciB9IGZyb20gXCIuL0RldlNlcnZlcnMvQ2FuZHlXaWRnZXREZXZTZXJ2ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFNlcnZlckNhbmR5V2lkZ2V0Q29udHJvbGxlck9wdGlvbnMge1xuICAgIGZyb250RW5kRGV2TW9kZTogYm9vbGVhbjtcbiAgICBkZXZTZXJ2ZXJVcmw6IHN0cmluZztcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IEJ1aWxkU2VydmVyQ2FuZHlXaWRnZXRDb250cm9sbGVyT3B0aW9ucyA9IHtcbiAgICBmcm9udEVuZERldk1vZGU6IGZhbHNlLFxuICAgIGRldlNlcnZlclVybDogXCJodHRwczovL2xvY2FsaG9zdDo4MDgxXCIsXG59O1xuXG5leHBvcnQgY2xhc3MgQnVpbGRTZXJ2ZXJDYW5keVdpZGdldENvbnRyb2xsZXIgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFBhcnRpYWw8QnVpbGRTZXJ2ZXJDYW5keVdpZGdldENvbnRyb2xsZXJPcHRpb25zPjtcbiAgICBwcml2YXRlIGRldlNlcnZlcj86IENhbmR5V2lkZ2V0RGV2U2VydmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBidWlsZERlYnVnT25seTogYm9vbGVhbixcbiAgICAgICAgb3B0aW9uczogUGFydGlhbDxCdWlsZFNlcnZlckNhbmR5V2lkZ2V0Q29udHJvbGxlck9wdGlvbnM+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMsIC4uLm9wdGlvbnMgfTtcbiAgICAgICAgdGhpcy5lbmdpbmVEaXJlY3RvcnkgPSBlbmdpbmVEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgL1xcL2NhbmR5LXdpZGdldFxcLyguKikvLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiMFwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRMb2FkZXJKcyhmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKCkpLmdldEZpbGVTdHJlYW0oYGNhbmR5LXdpZGdldC8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIoKTogUHJvbWlzZTxDYW5keVdpZGdldERldlNlcnZlcj4ge1xuICAgICAgICBpZiAodGhpcy5kZXZTZXJ2ZXIgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmRldlNlcnZlciA9IG5ldyBDYW5keVdpZGdldERldlNlcnZlcih0aGlzLmVuZ2luZURpcmVjdG9yeSwgdGhpcy5idWlsZERlYnVnT25seSk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRldlNlcnZlci5zdGFydCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmRldlNlcnZlcjtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsb0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLHFCQUFBLEdBQUFKLE9BQUE7QUFBeUUsSUFBQUssSUFBQSxFQUFBQyxNQUFBO0FBT3pFLE1BQU1DLGNBQXVELEdBQUc7RUFDNURDLGVBQWUsRUFBRSxLQUFLO0VBQ3RCQyxZQUFZLEVBQUU7QUFDbEIsQ0FBQztBQUFDLElBRVdDLGdDQUFnQyxHQUFBQyxPQUFBLENBQUFELGdDQUFBLElBQUFMLElBQUEsR0FrQnhDLElBQUFPLGdCQUFPLEVBQ0osc0JBQXNCLEVBQ3RCQyxtQkFBVSxDQUFDQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsRUFDbkQsSUFBQUMsb0JBQVksRUFBQyxHQUFHLEVBQUVDLGdCQUFRLENBQUNDLE1BQU0sQ0FDckMsQ0FBQyxHQUFBWCxNQUFBLEdBdEJFLE1BQU1JLGdDQUFnQyxTQUFTUSx3Q0FBbUIsQ0FBQztFQU8vREMsV0FBV0EsQ0FDZEMsZUFBdUIsRUFDdkJDLGNBQXVCLEVBQ3ZCQyxPQUF5RCxFQUMzRDtJQUNFLEtBQUssQ0FBQyxDQUFDO0lBQUMsS0FYS0YsZUFBZTtJQUNoQztJQUFBLEtBQ2lCRSxPQUFPO0lBQUEsS0FDaEJDLFNBQVM7SUFBQSxLQUNBRixjQUFjO0lBUTNCLElBQUksQ0FBQ0MsT0FBTyxHQUFHO01BQUUsR0FBR2YsY0FBYztNQUFFLEdBQUdlO0lBQVEsQ0FBQztJQUNoRCxJQUFJLENBQUNGLGVBQWUsR0FBR0EsZUFBZTtJQUN0QyxJQUFJLENBQUNDLGNBQWMsR0FBR0EsY0FBYztFQUN4QztFQUVBLE1BS2FHLFdBQVdBLENBQUNDLFFBQWdCLEVBQStCO0lBQ3BFLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQ0Msb0JBQW9CLENBQUMsQ0FBQyxFQUFFQyxhQUFhLENBQUMsZ0JBQWdCRixRQUFRLEVBQUUsQ0FBQztFQUN4RjtFQUVBLE1BQWNDLG9CQUFvQkEsQ0FBQSxFQUFrQztJQUNoRSxJQUFJLElBQUksQ0FBQ0gsU0FBUyxJQUFJSyxTQUFTLEVBQUU7TUFDN0IsSUFBSSxDQUFDTCxTQUFTLEdBQUcsSUFBSU0sMENBQW9CLENBQUMsSUFBSSxDQUFDVCxlQUFlLEVBQUUsSUFBSSxDQUFDQyxjQUFjLENBQUM7TUFDcEYsTUFBTSxJQUFJLENBQUNFLFNBQVMsQ0FBQ08sS0FBSyxDQUFDLENBQUM7SUFDaEM7SUFDQSxPQUFPLElBQUksQ0FBQ1AsU0FBUztFQUN6QjtBQUNKLENBQUMsT0FBQVEsMEJBQUEsQ0FBQUMsT0FBQSxFQUFBMUIsTUFBQSxDQUFBMkIsU0FBQSxrQkFBQTVCLElBQUEsR0FBQTZCLE1BQUEsQ0FBQUMsd0JBQUEsQ0FBQTdCLE1BQUEsQ0FBQTJCLFNBQUEsa0JBQUEzQixNQUFBLENBQUEyQixTQUFBLElBQUEzQixNQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuildServerCandyWidgetController.js","names":["_Methods","require","_Results","_SingletonController","_Params","_CandyWidgetDevServer","_dec","_class","defaultOptions","frontEndDevMode","devServerUrl","BuildServerCandyWidgetController","exports","httpGet","httpReturn","StreamWithMime","httpUrlParam","httpType","String","SingletonController","constructor","engineDirectory","buildDebugOnly","options","devServer","getLoaderJs","fileName","getOrCreateDevServer","getFileStream","undefined","CandyWidgetDevServer","start","_applyDecoratedDescriptor2","default","prototype","Object","getOwnPropertyDescriptor"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.ts"],"sourcesContent":["import { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { StreamReturnResult } from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\n\nimport { CandyWidgetDevServer } from \"./DevServers/CandyWidgetDevServer\";\n\nexport interface BuildServerCandyWidgetControllerOptions {\n frontEndDevMode: boolean;\n devServerUrl: string;\n}\n\nconst defaultOptions: BuildServerCandyWidgetControllerOptions = {\n frontEndDevMode: false,\n devServerUrl: \"https://localhost:8081\",\n};\n\nexport class BuildServerCandyWidgetController extends SingletonController {\n private readonly engineDirectory: string;\n // @ts-ignore\n private readonly options: Partial<BuildServerCandyWidgetControllerOptions>;\n private devServer?: CandyWidgetDevServer;\n private readonly buildDebugOnly: boolean;\n\n public constructor(\n engineDirectory: string,\n buildDebugOnly: boolean,\n options: Partial<BuildServerCandyWidgetControllerOptions>\n ) {\n super();\n this.options = { ...defaultOptions, ...options };\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n }\n\n @httpGet(\n /\\/candy-widget\\/(.*)/,\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"0\", httpType.String)\n )\n public async getLoaderJs(fileName: string): Promise<StreamReturnResult> {\n return (await this.getOrCreateDevServer()).getFileStream(`candy-widget/${fileName}`);\n }\n\n private async getOrCreateDevServer(): Promise<CandyWidgetDevServer> {\n if (this.devServer == undefined) {\n this.devServer = new CandyWidgetDevServer(this.engineDirectory, this.buildDebugOnly);\n await this.devServer.start();\n }\n return this.devServer;\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AAAyE,IAAAK,IAAA,EAAAC,MAAA;AAOzE,MAAMC,cAAuD,GAAG;EAC5DC,eAAe,EAAE,KAAK;EACtBC,YAAY,EAAE;AAClB,CAAC;AAAC,IAEWC,gCAAgC,GAAAC,OAAA,CAAAD,gCAAA,IAAAL,IAAA,GAkBxC,IAAAO,gBAAO,EACJ,sBAAsB,EACtBC,mBAAU,CAACC,cAAc,CAAC,wBAAwB,CAAC,EACnD,IAAAC,oBAAY,EAAC,GAAG,EAAEC,gBAAQ,CAACC,MAAM,CACrC,CAAC,GAAAX,MAAA,GAtBE,MAAMI,gCAAgC,SAASQ,wCAAmB,CAAC;EAO/DC,WAAWA,CACdC,eAAuB,EACvBC,cAAuB,EACvBC,OAAyD,EAC3D;IACE,KAAK,CAAC,CAAC;IAAC,KAXKF,eAAe;IAChC;IAAA,KACiBE,OAAO;IAAA,KAChBC,SAAS;IAAA,KACAF,cAAc;IAQ3B,IAAI,CAACC,OAAO,GAAG;MAAE,GAAGf,cAAc;MAAE,GAAGe;IAAQ,CAAC;IAChD,IAAI,CAACF,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,cAAc,GAAGA,cAAc;EACxC;EAEA,MAKaG,WAAWA,CAACC,QAAgB,EAA+B;IACpE,OAAO,CAAC,MAAM,IAAI,CAACC,oBAAoB,CAAC,CAAC,EAAEC,aAAa,CAAC,gBAAgBF,QAAQ,EAAE,CAAC;EACxF;EAEA,MAAcC,oBAAoBA,CAAA,EAAkC;IAChE,IAAI,IAAI,CAACH,SAAS,IAAIK,SAAS,EAAE;MAC7B,IAAI,CAACL,SAAS,GAAG,IAAIM,0CAAoB,CAAC,IAAI,CAACT,eAAe,EAAE,IAAI,CAACC,cAAc,CAAC;MACpF,MAAM,IAAI,CAACE,SAAS,CAACO,KAAK,CAAC,CAAC;IAChC;IACA,OAAO,IAAI,CAACP,SAAS;EACzB;AACJ,CAAC,OAAAQ,0BAAA,CAAAC,OAAA,EAAA1B,MAAA,CAAA2B,SAAA,kBAAA5B,IAAA,GAAA6B,MAAA,CAAAC,wBAAA,CAAA7B,MAAA,CAAA2B,SAAA,kBAAA3B,MAAA,CAAA2B,SAAA,IAAA3B,MAAA","ignoreList":[]}
|
|
@@ -105,6 +105,13 @@ class BuildFormDevServer {
|
|
|
105
105
|
farmDirectory: farmDirectory
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
|
+
async writeErrorInEntryAndShowInBrowser(e) {
|
|
109
|
+
var _this$webpackHybridFi;
|
|
110
|
+
const formEntryPointPath = path.join(this.formPath, "form", "web.js");
|
|
111
|
+
await ((_this$webpackHybridFi = this.webpackHybridFileSystem) === null || _this$webpackHybridFi === void 0 ? void 0 : _this$webpackHybridFi.writeBatch({
|
|
112
|
+
[formEntryPointPath]: (0, _ReportGeneratorErrorToPageBody.getReportGeneratorErrorToPageBodyScript)(this.formatError(e))
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
108
115
|
start() {
|
|
109
116
|
return this.startParallelLimit(async () => {
|
|
110
117
|
if (this.generateChain != undefined) {
|
|
@@ -151,14 +158,14 @@ class BuildFormDevServer {
|
|
|
151
158
|
resourcesHash: "local-hash"
|
|
152
159
|
}, this.webpackHybridFileSystem);
|
|
153
160
|
} catch (e) {
|
|
154
|
-
|
|
155
|
-
const formEntryPointPath = path.join(this.formPath, "form", "web.js");
|
|
156
|
-
await ((_this$webpackHybridFi = this.webpackHybridFileSystem) === null || _this$webpackHybridFi === void 0 ? void 0 : _this$webpackHybridFi.writeBatch({
|
|
157
|
-
[formEntryPointPath]: (0, _ReportGeneratorErrorToPageBody.getReportGeneratorErrorToPageBodyScript)(this.formatError(e))
|
|
158
|
-
}));
|
|
161
|
+
await this.writeErrorInEntryAndShowInBrowser(e);
|
|
159
162
|
}
|
|
160
163
|
});
|
|
161
|
-
|
|
164
|
+
try {
|
|
165
|
+
await this.generateChain.observe();
|
|
166
|
+
} catch (e) {
|
|
167
|
+
await this.writeErrorInEntryAndShowInBrowser(e);
|
|
168
|
+
}
|
|
162
169
|
await (0, _RunFormCompilationViaWebpackDevServer.runFormCompilationViaWebpackDevServer)(this.gfv, this.farmDirectory, this.formPath, path.join(this.farmDirectory, "res"), "local-hash", this.buildDebugOnly, this.webpackHybridFileSystem, this.port);
|
|
163
170
|
this.webpackDevServerStarted = true;
|
|
164
171
|
});
|
|
@@ -203,13 +210,15 @@ class BuildFormDevServer {
|
|
|
203
210
|
method: "GET",
|
|
204
211
|
agent: new _https.Agent({
|
|
205
212
|
rejectUnauthorized: false
|
|
206
|
-
})
|
|
213
|
+
}),
|
|
214
|
+
compress: true
|
|
207
215
|
});
|
|
208
216
|
if (response.status != 200) {
|
|
209
217
|
const textResponse = await response.text();
|
|
210
218
|
throw new Error(textResponse);
|
|
211
219
|
}
|
|
212
|
-
|
|
220
|
+
const text = await response.text();
|
|
221
|
+
return _stream.Readable.from(text);
|
|
213
222
|
}
|
|
214
223
|
formatError(e) {
|
|
215
224
|
if (e instanceof Error) {
|
|
@@ -219,4 +228,4 @@ class BuildFormDevServer {
|
|
|
219
228
|
}
|
|
220
229
|
}
|
|
221
230
|
exports.BuildFormDevServer = BuildFormDevServer;
|
|
222
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9odHRwcyIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9mc0V4dHJhIiwiX0dlbmVyYXRlRm9ybSIsIl9BY3F1aXJlRm9ybUdlbmVyYXRvciIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0FzeW5jVXRpbHMiLCJfT2JzZXJ2ZSIsIl9Gc1V0aWxzIiwiX0Zvcm1QYXRoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfUmVwb3J0R2VuZXJhdG9yRXJyb3JUb1BhZ2VCb2R5IiwiX1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJfV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJidWlsZEdmdlRvUGF0aE1hcCIsInJlcG9zaXRvcnlSb290cyIsInJlc3VsdCIsIk1hcCIsInJlcG9zaXRvcnlSb290IiwiZm9ybVBhdGhzIiwiZ2xvYkFzeW5jIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJjd2QiLCJmb3JtUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJqb2luIiwiQnVpbGRGb3JtRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiYWxsRmFybUNvbmZpZyIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZhcm1Db25maWdBcnJheSIsInVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwibmlnaHRseSIsImZhcm1EaXJlY3RvcnkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJnZW5lcmF0ZUNoYWluIiwid2VicGFja0RldlNlcnZlclN0YXJ0ZWQiLCJ3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsImdmdlBhdGhzIiwidW5kZWZpbmVkIiwicExpbWl0IiwiZmluZEZvcm1QYXRoIiwiX3RoaXMkZ2Z2UGF0aHMiLCJtYXAiLCJ4IiwiX3RoaXMkZ2Z2UGF0aHMkZ2V0IiwicmVqZWN0Iiwibm9ybWFsaXplIiwiZm9ybURpclBhdGgiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwicHRoIiwicGF0aEV4aXN0cyIsIkVycm9yIiwic3RhcnQiLCJXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsIk9ic2VydmUiLCJmaWxlIiwiRm9ybUpzb25GaWxlTmFtZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImdlbmVyYXRvclNvdXJjZSIsInJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSIsImVuZ2luZVNvdXJjZSIsInJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSIsImdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsImZpIiwiZ2VuZXJhdG9yRmFjdG9yeSIsInkiLCJnZW5lcmF0b3IiLCJnZXRHZW5lcmF0b3JTb3VyY2VLZXkiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsImdlbmVyYXRlRm9ybSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJyZXNvdXJjZXNIYXNoIiwiX3RoaXMkd2VicGFja0h5YnJpZEZpIiwiZm9ybUVudHJ5UG9pbnRQYXRoIiwid3JpdGVCYXRjaCIsImdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCIsImZvcm1hdEVycm9yIiwib2JzZXJ2ZSIsInJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJmaWxlbmFtZSIsImRlbGF5IiwicmVzdWx0RmlsZU5hbWUiLCJHZW5lcmF0ZWRGb3JtU3ViZGlyZWN0b3J5IiwiX3RoaXMkd2VicGFja0h5YnJpZEZpMiIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfdGhpcyR3ZWJwYWNrSHlicmlkRmkzIiwicmVhZEZpbGUiLCJlcnJvciIsImRhdGEiLCJSZWFkYWJsZSIsImZyb20iLCJnZXRGaWxlQXNTdHJlYW0iLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsInN0YXR1cyIsInRleHRSZXNwb25zZSIsInRleHQiLCJib2R5Iiwic3RhY2siLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0RldlNlcnZlcnMvQnVpbGRGb3JtRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tIFwiaHR0cHNcIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB7IEZhcm1Db25maWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGdlbmVyYXRlRm9ybSB9IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL0Zvcm0vR2VuZXJhdGVGb3JtXCI7XG5pbXBvcnQgeyBnZW5lcmF0b3JGYWN0b3J5LCBnZXRHZW5lcmF0b3JTb3VyY2VLZXkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7XG4gICAgcmVzb2x2ZUVuZ2luZVZlcnNpb24sXG4gICAgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24sXG4gICAgcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlLFxuICAgIHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSxcbn0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyByZXNvbHZlRm9ybUluZm8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzXCI7XG5pbXBvcnQgeyBSZWFzb25PckVycm9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvRXJyb3JVbnR5cGVkXCI7XG5pbXBvcnQgeyBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL0NoYWluYWJsZVZhbHVlUHJvZHVjZXJcIjtcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvT2JzZXJ2ZVwiO1xuaW1wb3J0IHsgZ2xvYkFzeW5jIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvRnNVdGlsc1wiO1xuaW1wb3J0IHsgZXh0cmFjdEdmdkZyb21Gb3JtUGF0aCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vRm9ybVBhdGhVdGlsc1wiO1xuaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9UeXBpbmdVdGlsc1wiO1xuaW1wb3J0IHsgV2VsbEtub3duRGlyZWN0b3JpZXMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL1dlbGxLbm93bkRpcmVjdG9yaWVzXCI7XG5cbmltcG9ydCB7IGdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCB9IGZyb20gXCIuL1JlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVwiO1xuaW1wb3J0IHsgcnVuRm9ybUNvbXBpbGF0aW9uVmlhV2VicGFja0RldlNlcnZlciB9IGZyb20gXCIuL1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXJcIjtcbmltcG9ydCB7IFdlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIH0gZnJvbSBcIi4vV2VicGFja0luTWVtb3J5VXRpbHMvV2VicGFja0h5YnJpZEZpbGVTeXN0ZW1cIjtcblxuYXN5bmMgZnVuY3Rpb24gYnVpbGRHZnZUb1BhdGhNYXAocmVwb3NpdG9yeVJvb3RzOiBzdHJpbmdbXSk6IFByb21pc2U8TWFwPHN0cmluZywgc3RyaW5nPj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IHJlcG9zaXRvcnlSb290IG9mIHJlcG9zaXRvcnlSb290cykge1xuICAgICAgICBjb25zdCBmb3JtUGF0aHMgPSBhd2FpdCBnbG9iQXN5bmMoYGZvcm1zLyoqLyovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5DYW5keVN1YmRpcmVjdG9yeU5hbWV9YCwge1xuICAgICAgICAgICAgY3dkOiByZXBvc2l0b3J5Um9vdCxcbiAgICAgICAgfSk7XG4gICAgICAgIGZvciAoY29uc3QgZm9ybVBhdGggb2YgZm9ybVBhdGhzKSB7XG4gICAgICAgICAgICBjb25zdCBnZnYgPSBleHRyYWN0R2Z2RnJvbUZvcm1QYXRoKGZvcm1QYXRoKTtcbiAgICAgICAgICAgIHJlc3VsdC5zZXQoZ2Z2LCBwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIGZvcm1QYXRoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgY2xhc3MgQnVpbGRGb3JtRGV2U2VydmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbEZhcm1Db25maWc6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2Z2OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIGZhcm1EaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIGZvcm1QYXRoOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmYXJtQ29uZmlnQXJyYXk6IEZhcm1Db25maWdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXJ0UGFyYWxsZWxMaW1pdDogTGltaXQ7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGdlbmVyYXRlQ2hhaW4/OiBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyPGFueT47XG4gICAgcHJpdmF0ZSB3ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlczogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmlnaHRseTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2tpcENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSB3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT86IFdlYnBhY2tIeWJyaWRGaWxlU3lzdGVtO1xuICAgIHByaXZhdGUgZ2Z2UGF0aHM6IHVuZGVmaW5lZCB8IE1hcDxzdHJpbmcsIHN0cmluZz4gPSB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHBvcnQ6IG51bWJlcixcbiAgICAgICAgYWxsRmFybUNvbmZpZzogc3RyaW5nW10sXG4gICAgICAgIGdmdjogc3RyaW5nLFxuICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW10sXG4gICAgICAgIHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW4sXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBidWlsZERlYnVnT25seTogYm9vbGVhbixcbiAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW4sXG4gICAgICAgIG5pZ2h0bHk6IGJvb2xlYW5cbiAgICApIHtcbiAgICAgICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICAgICAgdGhpcy5hbGxGYXJtQ29uZmlnID0gYWxsRmFybUNvbmZpZztcbiAgICAgICAgdGhpcy5nZnYgPSBnZnY7XG4gICAgICAgIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5ID0gY2FuZHlNb2R1bGVzRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLmZhcm1Db25maWdBcnJheSA9IGZhcm1Db25maWdBcnJheTtcbiAgICAgICAgdGhpcy5zdGFydFBhcmFsbGVsTGltaXQgPSBwTGltaXQoMSk7XG4gICAgICAgIHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcyA9IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5ID0gYnVpbGREZWJ1Z09ubHk7XG4gICAgICAgIHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcgPSBza2lwQ29kZVJlZm9ybWF0dGluZztcbiAgICAgICAgdGhpcy5uaWdodGx5ID0gbmlnaHRseTtcbiAgICAgICAgdGhpcy5mYXJtRGlyZWN0b3J5ID0gXCJcIjtcbiAgICAgICAgdGhpcy5mb3JtUGF0aCA9IFwiXCI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBmaW5kRm9ybVBhdGgoZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPHsgZm9ybVBhdGg6IHN0cmluZzsgZmFybURpcmVjdG9yeTogc3RyaW5nIH0+IHtcbiAgICAgICAgdGhpcy5nZnZQYXRocyA9IHRoaXMuZ2Z2UGF0aHMgPz8gKGF3YWl0IGJ1aWxkR2Z2VG9QYXRoTWFwKHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoeCA9PiBwYXRoLmpvaW4oeCwgXCIuLlwiKSkpKTtcblxuICAgICAgICBpZiAodGhpcy5nZnZQYXRocy5oYXMoZ2Z2KSkge1xuICAgICAgICAgICAgY29uc3QgZm9ybVBhdGggPSB0aGlzLmdmdlBhdGhzLmdldChnZnYpID8/IHJlamVjdCgpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBmb3JtUGF0aDogZm9ybVBhdGggPz8gcmVqZWN0KCksXG4gICAgICAgICAgICAgICAgZmFybURpcmVjdG9yeTogcGF0aC5ub3JtYWxpemUocGF0aC5qb2luKGZvcm1QYXRoLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCJjYW5keS5mYXJtXCIpKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmFybURpcmVjdG9yeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBsZXQgZm9ybURpclBhdGggPSBcIlwiO1xuXG4gICAgICAgIGNvbnN0IGFsbFBvc3NpYmxlRmlsZVBhdGggPSB0aGlzLmFsbEZhcm1Db25maWcubWFwKGkgPT4gcGF0aC5qb2luKGksIFwiZm9ybXNcIiwgdGhpcy5nZnYpKTtcbiAgICAgICAgZm9yIChjb25zdCBwdGggb2YgYWxsUG9zc2libGVGaWxlUGF0aCkge1xuICAgICAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMocHRoKSkge1xuICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoID0gcHRoO1xuICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4ocHRoLCBcIi4uXCIsIFwiLi5cIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9ybURpclBhdGggPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKFwiZm9ybURpclBhdGggbm90IGZvdW5kXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmYXJtRGlyZWN0b3J5ID09IHVuZGVmaW5lZCB8fCAhKGF3YWl0IHBhdGhFeGlzdHMoZmFybURpcmVjdG9yeSkpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgRmFybURpcmVjdG9yeSA9ICR7dGhpcy5mYXJtRGlyZWN0b3J5fSBub3QgZXhpc3RgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZm9ybVBhdGg6IGZvcm1EaXJQYXRoLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeTogZmFybURpcmVjdG9yeSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5nZW5lcmF0ZUNoYWluICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgeyBmb3JtUGF0aCwgZmFybURpcmVjdG9yeSB9ID0gYXdhaXQgdGhpcy5maW5kRm9ybVBhdGgodGhpcy5nZnYpO1xuICAgICAgICAgICAgdGhpcy5mYXJtRGlyZWN0b3J5ID0gZmFybURpcmVjdG9yeTtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhdGggPSBmb3JtUGF0aDtcbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0gPSBuZXcgV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0ocGF0aC5qb2luKHRoaXMuZm9ybVBhdGgsIFwiZm9ybVwiKSk7XG5cbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVDaGFpbiA9IE9ic2VydmUuZmlsZShwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgV2VsbEtub3duRGlyZWN0b3JpZXMuRm9ybUpzb25GaWxlTmFtZSkpXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShmb3JtSnNvbkZpbGUgPT5cbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUZvcm1JbmZvKFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUpzb25GaWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmlnaHRseVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oYXN5bmMgeCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiByZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UodGhpcy5lbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4LmdlbmVyYXRvclZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2VuZXJhdG9yVmVyc2lvbiBpcyBubyBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZW5naW5lVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJlbmdpbmVWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yU291cmNlOiBhd2FpdCByZXNvbHZlR2VuZXJhdG9yVmVyc2lvbih4LmdlbmVyYXRvclZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogYXdhaXQgcmVzb2x2ZUVuZ2luZVZlcnNpb24oeC5lbmdpbmVWZXJzaW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5hdHRhY2goXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIGZpID0+IGdlbmVyYXRvckZhY3RvcnkoZmkuZ2VuZXJhdG9yU291cmNlLCB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSwgZmFsc2UsIHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2V0R2VuZXJhdG9yU291cmNlS2V5KGZpLmdlbmVyYXRvclNvdXJjZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIuLi8uLi9jb250cm9scy8qKi9nZW5lcmF0b3IvKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzY2hlbWFzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic3VnYXIvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9scy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImF1dG9jYWxjLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVscGVycy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRpb25zLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibG9jYWxpemF0aW9uLyoqLypcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGb3Jtc0RpcldpdGhIbFBhdGggPSB0aGlzLmZhcm1Db25maWdBcnJheS5maW5kKGkgPT4gaS5mYXJtRGlyZWN0b3J5ID09IGZhcm1EaXJlY3RvcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEZvcm1zRGlyV2l0aEhsUGF0aCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcIkZvcm1zRGlyV2l0aEhsUGF0aCA9PT0gdW5kZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgZ2VuZXJhdGVGb3JtKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpLmZvcm1Tb3VyY2VzUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybXNEaXJXaXRoSGxQYXRoLmhsRmFybURpcmVjdG9yeVBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZ2VuZXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBDb2RlUmVmb3JtYXR0aW5nOiB0aGlzLnNraXBDb2RlUmVmb3JtYXR0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNIYXNoOiBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1FbnRyeVBvaW50UGF0aCA9IHBhdGguam9pbih0aGlzLmZvcm1QYXRoLCBcImZvcm1cIiwgXCJ3ZWIuanNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy53cml0ZUJhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUVudHJ5UG9pbnRQYXRoXTogZ2V0UmVwb3J0R2VuZXJhdG9yRXJyb3JUb1BhZ2VCb2R5U2NyaXB0KHRoaXMuZm9ybWF0RXJyb3IoZSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZW5lcmF0ZUNoYWluLm9ic2VydmUoKTtcbiAgICAgICAgICAgIGF3YWl0IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIoXG4gICAgICAgICAgICAgICAgdGhpcy5nZnYsXG4gICAgICAgICAgICAgICAgdGhpcy5mYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVBhdGgsXG4gICAgICAgICAgICAgICAgcGF0aC5qb2luKHRoaXMuZmFybURpcmVjdG9yeSwgXCJyZXNcIiksXG4gICAgICAgICAgICAgICAgXCJsb2NhbC1oYXNoXCIsXG4gICAgICAgICAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSxcbiAgICAgICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtLFxuICAgICAgICAgICAgICAgIHRoaXMucG9ydFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMud2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICB3aGlsZSAoIXRoaXMud2VicGFja0RldlNlcnZlclN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlc3VsdEZpbGVOYW1lID0gXCJcIjtcbiAgICAgICAgY29uc3QgZm9ybVBhdGggPSBhd2FpdCB0aGlzLmZpbmRGb3JtUGF0aCh0aGlzLmdmdik7XG4gICAgICAgIGNvbnN0IGFsbFBvc3NpYmxlRmlsZVBhdGggPSBbXG4gICAgICAgICAgICBwYXRoLmpvaW4oZm9ybVBhdGguZm9ybVBhdGgsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkdlbmVyYXRlZEZvcm1TdWJkaXJlY3RvcnksIGZpbGVuYW1lKSxcbiAgICAgICAgXTtcbiAgICAgICAgZm9yIChjb25zdCBwdGggb2YgYWxsUG9zc2libGVGaWxlUGF0aCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT8uc3RhdFN5bmMocHRoKSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRGaWxlTmFtZSA9IHB0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXN1bHRGaWxlTmFtZSA9PT0gXCJcIikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYGdldEdlbmVyYXRlZEZpbGVBc1N0cmVhbSAke2ZpbGVuYW1lfSBub3QgZm91bmRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcikgPT4ge1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT8ucmVhZEZpbGUocmVzdWx0RmlsZU5hbWUsIFwidXRmLThcIiwgKGVycm9yLCBkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHIoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoUmVhZGFibGUuZnJvbShbZGF0YV0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVBc1N0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgd2hpbGUgKCF0aGlzLndlYnBhY2tEZXZTZXJ2ZXJTdGFydGVkKSB7XG4gICAgICAgICAgICBhd2FpdCBkZWxheSg1MDApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vbG9jYWxob3N0OiR7dGhpcy5wb3J0fS8ke2ZpbGVuYW1lfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGFnZW50OiBuZXcgQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRSZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0UmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZS5ib2R5O1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RXJyb3IoZTogUmVhc29uT3JFcnJvcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtlfVxcbiR7ZS5zdGFja31gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtlfWA7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBRUEsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEscUJBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLHNCQUFBLEdBQUFULE9BQUE7QUFNQSxJQUFBVSxnQkFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsV0FBQSxHQUFBWCxPQUFBO0FBR0EsSUFBQVksUUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsUUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsY0FBQSxHQUFBZCxPQUFBO0FBQ0EsSUFBQWUsWUFBQSxHQUFBZixPQUFBO0FBQ0EsSUFBQWdCLHFCQUFBLEdBQUFoQixPQUFBO0FBRUEsSUFBQWlCLCtCQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLHNDQUFBLEdBQUFsQixPQUFBO0FBQ0EsSUFBQW1CLHdCQUFBLEdBQUFuQixPQUFBO0FBQXlGLFNBQUFvQix5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFB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
|
|
231
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9odHRwcyIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9mc0V4dHJhIiwiX0dlbmVyYXRlRm9ybSIsIl9BY3F1aXJlRm9ybUdlbmVyYXRvciIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0FzeW5jVXRpbHMiLCJfT2JzZXJ2ZSIsIl9Gc1V0aWxzIiwiX0Zvcm1QYXRoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfUmVwb3J0R2VuZXJhdG9yRXJyb3JUb1BhZ2VCb2R5IiwiX1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJfV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJidWlsZEdmdlRvUGF0aE1hcCIsInJlcG9zaXRvcnlSb290cyIsInJlc3VsdCIsIk1hcCIsInJlcG9zaXRvcnlSb290IiwiZm9ybVBhdGhzIiwiZ2xvYkFzeW5jIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJjd2QiLCJmb3JtUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJqb2luIiwiQnVpbGRGb3JtRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiYWxsRmFybUNvbmZpZyIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZhcm1Db25maWdBcnJheSIsInVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwibmlnaHRseSIsImZhcm1EaXJlY3RvcnkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJnZW5lcmF0ZUNoYWluIiwid2VicGFja0RldlNlcnZlclN0YXJ0ZWQiLCJ3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsImdmdlBhdGhzIiwidW5kZWZpbmVkIiwicExpbWl0IiwiZmluZEZvcm1QYXRoIiwiX3RoaXMkZ2Z2UGF0aHMiLCJtYXAiLCJ4IiwiX3RoaXMkZ2Z2UGF0aHMkZ2V0IiwicmVqZWN0Iiwibm9ybWFsaXplIiwiZm9ybURpclBhdGgiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwicHRoIiwicGF0aEV4aXN0cyIsIkVycm9yIiwid3JpdGVFcnJvckluRW50cnlBbmRTaG93SW5Ccm93c2VyIiwiX3RoaXMkd2VicGFja0h5YnJpZEZpIiwiZm9ybUVudHJ5UG9pbnRQYXRoIiwid3JpdGVCYXRjaCIsImdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCIsImZvcm1hdEVycm9yIiwic3RhcnQiLCJXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsIk9ic2VydmUiLCJmaWxlIiwiRm9ybUpzb25GaWxlTmFtZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImdlbmVyYXRvclNvdXJjZSIsInJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSIsImVuZ2luZVNvdXJjZSIsInJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSIsImdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsImZpIiwiZ2VuZXJhdG9yRmFjdG9yeSIsInkiLCJnZW5lcmF0b3IiLCJnZXRHZW5lcmF0b3JTb3VyY2VLZXkiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsImdlbmVyYXRlRm9ybSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJyZXNvdXJjZXNIYXNoIiwib2JzZXJ2ZSIsInJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJmaWxlbmFtZSIsImRlbGF5IiwicmVzdWx0RmlsZU5hbWUiLCJHZW5lcmF0ZWRGb3JtU3ViZGlyZWN0b3J5IiwiX3RoaXMkd2VicGFja0h5YnJpZEZpMiIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfdGhpcyR3ZWJwYWNrSHlicmlkRmkzIiwicmVhZEZpbGUiLCJlcnJvciIsImRhdGEiLCJSZWFkYWJsZSIsImZyb20iLCJnZXRGaWxlQXNTdHJlYW0iLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwidGV4dFJlc3BvbnNlIiwidGV4dCIsInN0YWNrIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0J1aWxkRm9ybURldlNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5cbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0IHBMaW1pdCwgeyBMaW1pdCB9IGZyb20gXCJwLWxpbWl0XCI7XG5pbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuaW1wb3J0IHsgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZUZvcm0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL0dlbmVyYXRlRm9ybVwiO1xuaW1wb3J0IHsgZ2VuZXJhdG9yRmFjdG9yeSwgZ2V0R2VuZXJhdG9yU291cmNlS2V5IH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQge1xuICAgIHJlc29sdmVFbmdpbmVWZXJzaW9uLFxuICAgIHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uLFxuICAgIHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSxcbiAgICByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UsXG59IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUZvcm1JbmZvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQXN5bmNVdGlsc1wiO1xuaW1wb3J0IHsgUmVhc29uT3JFcnJvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0Vycm9yVW50eXBlZFwiO1xuaW1wb3J0IHsgQ2hhaW5hYmxlVmFsdWVQcm9kdWNlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL1Rhc2tzQ29yZS9DaGFpbmFibGVWYWx1ZVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGggfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0Zvcm1QYXRoVXRpbHNcIjtcbmltcG9ydCB7IHJlamVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IFdlbGxLbm93bkRpcmVjdG9yaWVzIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9XZWxsS25vd25EaXJlY3Rvcmllc1wiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkR2Z2VG9QYXRoTWFwKHJlcG9zaXRvcnlSb290czogc3RyaW5nW10pOiBQcm9taXNlPE1hcDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCByZXBvc2l0b3J5Um9vdCBvZiByZXBvc2l0b3J5Um9vdHMpIHtcbiAgICAgICAgY29uc3QgZm9ybVBhdGhzID0gYXdhaXQgZ2xvYkFzeW5jKGBmb3Jtcy8qKi8qLyR7V2VsbEtub3duRGlyZWN0b3JpZXMuQ2FuZHlTdWJkaXJlY3RvcnlOYW1lfWAsIHtcbiAgICAgICAgICAgIGN3ZDogcmVwb3NpdG9yeVJvb3QsXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IGZvcm1QYXRoIG9mIGZvcm1QYXRocykge1xuICAgICAgICAgICAgY29uc3QgZ2Z2ID0gZXh0cmFjdEdmdkZyb21Gb3JtUGF0aChmb3JtUGF0aCk7XG4gICAgICAgICAgICByZXN1bHQuc2V0KGdmdiwgcGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBmb3JtUGF0aCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGNsYXNzIEJ1aWxkRm9ybURldlNlcnZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdmdjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmb3JtUGF0aDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcbiAgICBwcml2YXRlIGdmdlBhdGhzOiB1bmRlZmluZWQgfCBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwb3J0OiBudW1iZXIsXG4gICAgICAgIGFsbEZhcm1Db25maWc6IHN0cmluZ1tdLFxuICAgICAgICBnZnY6IHN0cmluZyxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGZhcm1Db25maWdBcnJheTogRmFybUNvbmZpZ1tdLFxuICAgICAgICB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzOiBib29sZWFuLFxuICAgICAgICBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW4sXG4gICAgICAgIHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuLFxuICAgICAgICBuaWdodGx5OiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMuZ2Z2ID0gZ2Z2O1xuICAgICAgICB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5mYXJtQ29uZmlnQXJyYXkgPSBmYXJtQ29uZmlnQXJyYXk7XG4gICAgICAgIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0ID0gcExpbWl0KDEpO1xuICAgICAgICB0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMgPSB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzO1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgICAgICB0aGlzLnNraXBDb2RlUmVmb3JtYXR0aW5nID0gc2tpcENvZGVSZWZvcm1hdHRpbmc7XG4gICAgICAgIHRoaXMubmlnaHRseSA9IG5pZ2h0bHk7XG4gICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IFwiXCI7XG4gICAgICAgIHRoaXMuZm9ybVBhdGggPSBcIlwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZmluZEZvcm1QYXRoKGdmdjogc3RyaW5nKTogUHJvbWlzZTx7IGZvcm1QYXRoOiBzdHJpbmc7IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB9PiB7XG4gICAgICAgIHRoaXMuZ2Z2UGF0aHMgPSB0aGlzLmdmdlBhdGhzID8/IChhd2FpdCBidWlsZEdmdlRvUGF0aE1hcCh0aGlzLmFsbEZhcm1Db25maWcubWFwKHggPT4gcGF0aC5qb2luKHgsIFwiLi5cIikpKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2Z2UGF0aHMuaGFzKGdmdikpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYXRoID0gdGhpcy5nZnZQYXRocy5nZXQoZ2Z2KSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZm9ybVBhdGg6IGZvcm1QYXRoID8/IHJlamVjdCgpLFxuICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IHBhdGgubm9ybWFsaXplKHBhdGguam9pbihmb3JtUGF0aCwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiY2FuZHkuZmFybVwiKSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcblxuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2KSk7XG4gICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHB0aCkpIHtcbiAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCA9IHB0aDtcbiAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5ID0gcGF0aC5qb2luKHB0aCwgXCIuLlwiLCBcIi4uXCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcImZvcm1EaXJQYXRoIG5vdCBmb3VuZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmFybURpcmVjdG9yeSA9PSB1bmRlZmluZWQgfHwgIShhd2FpdCBwYXRoRXhpc3RzKGZhcm1EaXJlY3RvcnkpKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvcm1QYXRoOiBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB3cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZTogdW5rbm93bikge1xuICAgICAgICBjb25zdCBmb3JtRW50cnlQb2ludFBhdGggPSBwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICBhd2FpdCB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy53cml0ZUJhdGNoKHtcbiAgICAgICAgICAgIFtmb3JtRW50cnlQb2ludFBhdGhdOiBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQodGhpcy5mb3JtYXRFcnJvcihlKSksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IGZvcm1QYXRoLCBmYXJtRGlyZWN0b3J5IH0gPSBhd2FpdCB0aGlzLmZpbmRGb3JtUGF0aCh0aGlzLmdmdik7XG4gICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBmYXJtRGlyZWN0b3J5O1xuICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCA9IGZvcm1QYXRoO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSA9IG5ldyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbShwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIpKTtcblxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUNoYWluID0gT2JzZXJ2ZS5maWxlKHBhdGguam9pbih0aGlzLmZvcm1QYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uaWdodGx5XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyB4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogcmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlKHRoaXMuZW5naW5lRGlyZWN0b3J5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmVTb3VyY2U6IHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZ2VuZXJhdG9yVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZW5lcmF0b3JWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5lbmdpbmVWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImVuZ2luZVZlcnNpb24gaXMgbm8gZGVmaW5lZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IGF3YWl0IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uKHguZ2VuZXJhdG9yVmVyc2lvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiBhd2FpdCByZXNvbHZlRW5naW5lVmVyc2lvbih4LmVuZ2luZVZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2VuZXJhdG9yRmFjdG9yeShmaS5nZW5lcmF0b3JTb3VyY2UsIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5LCBmYWxzZSwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgKGZpLCB5KSA9PiAoeyAuLi5maSwgZ2VuZXJhdG9yOiB5IH0pLFxuICAgICAgICAgICAgICAgICAgICBhc3luYyBmaSA9PiBnZXRHZW5lcmF0b3JTb3VyY2VLZXkoZmkuZ2VuZXJhdG9yU291cmNlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2NvbnRyb2xzLyoqL2dlbmVyYXRvci8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNjaGVtYXMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWdhci8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXV0b2NhbGMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWxwZXJzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGlvbnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl6YXRpb24vKiovKlwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZvcm1zRGlyV2l0aEhsUGF0aCA9IHRoaXMuZmFybUNvbmZpZ0FycmF5LmZpbmQoaSA9PiBpLmZhcm1EaXJlY3RvcnkgPT0gZmFybURpcmVjdG9yeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5nZW5lcmF0ZUNoYWluLm9ic2VydmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLndyaXRlRXJyb3JJbkVudHJ5QW5kU2hvd0luQnJvd3NlcihlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgcnVuRm9ybUNvbXBpbGF0aW9uVmlhV2VicGFja0RldlNlcnZlcihcbiAgICAgICAgICAgICAgICB0aGlzLmdmdixcbiAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVzdWx0RmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBmb3JtUGF0aCA9IGF3YWl0IHRoaXMuZmluZEZvcm1QYXRoKHRoaXMuZ2Z2KTtcbiAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IFtcbiAgICAgICAgICAgIHBhdGguam9pbihmb3JtUGF0aC5mb3JtUGF0aCwgV2VsbEtub3duRGlyZWN0b3JpZXMuR2VuZXJhdGVkRm9ybVN1YmRpcmVjdG9yeSwgZmlsZW5hbWUpLFxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IHB0aCBvZiBhbGxQb3NzaWJsZUZpbGVQYXRoKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5zdGF0U3luYyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdEZpbGVOYW1lID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdEZpbGVOYW1lID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtICR7ZmlsZW5hbWV9IG5vdCBmb3VuZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5yZWFkRmlsZShyZXN1bHRGaWxlTmFtZSwgXCJ1dGYtOFwiLCAoZXJyb3IsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcihlcnJvcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShSZWFkYWJsZS5mcm9tKFtkYXRhXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZUFzU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICB3aGlsZSAoIXRoaXMud2VicGFja0RldlNlcnZlclN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9LyR7ZmlsZW5hbWV9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0UmVzcG9uc2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgICAgICByZXR1cm4gUmVhZGFibGUuZnJvbSh0ZXh0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdEVycm9yKGU6IFJlYXNvbk9yRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZX1cXG4ke2Uuc3RhY2t9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7ZX1gO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHFCQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxzQkFBQSxHQUFBVCxPQUFBO0FBTUEsSUFBQVUsZ0JBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFdBQUEsR0FBQVgsT0FBQTtBQUdBLElBQUFZLFFBQUEsR0FBQVosT0FBQTtB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","status","textResponse","text","body","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n });\n\n await this.generateChain.observe();\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.farmDirectory,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch (e) {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n return response.body;\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.farmDirectory,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch (e) {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const text = await response.text();\n return Readable.from(text);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.CandyWidgetDevServer = void 0;
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
var _fs = require("fs");
|
|
10
|
+
var _util = require("util");
|
|
11
|
+
var _stream = require("stream");
|
|
12
|
+
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
13
|
+
var _Observe = require("../../../../Commons/TasksCore/Observe");
|
|
14
|
+
var _ExecUtils = require("../../../../Commons/ExecUtils");
|
|
15
|
+
var _StaticLogger = require("../../../../Commons/Logging/StaticLogger");
|
|
16
|
+
const readFileAsync = (0, _util.promisify)(_fs.readFile);
|
|
17
|
+
class CandyWidgetDevServer {
|
|
18
|
+
constructor(engineDirectory, buildDebugOnly) {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
this.port = void 0;
|
|
21
|
+
this.engineDirectory = void 0;
|
|
22
|
+
this.startParallelLimit = void 0;
|
|
23
|
+
this.started = false;
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
this.buildDebugOnly = void 0;
|
|
26
|
+
this.disposer = void 0;
|
|
27
|
+
this.engineDirectory = engineDirectory;
|
|
28
|
+
this.startParallelLimit = (0, _pLimit.default)(1);
|
|
29
|
+
this.buildDebugOnly = buildDebugOnly;
|
|
30
|
+
}
|
|
31
|
+
async start() {
|
|
32
|
+
return this.startParallelLimit(async () => {
|
|
33
|
+
if (this.started) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const candyWidgetRoot = _path.default.join(this.engineDirectory, "Widgets", "CandyWidget");
|
|
37
|
+
const filesObserver = _Observe.Observe.files(candyWidgetRoot, "**/*.ts").do(async x => {
|
|
38
|
+
const logger = (0, _StaticLogger.getLogger)().withPrefix("WIDGET");
|
|
39
|
+
await (0, _ExecUtils.execCommandAsync)(logger, "npm run build:loader", {
|
|
40
|
+
cwd: candyWidgetRoot
|
|
41
|
+
});
|
|
42
|
+
await (0, _ExecUtils.execCommandAsync)(logger, "npm run build:widget", {
|
|
43
|
+
cwd: candyWidgetRoot
|
|
44
|
+
});
|
|
45
|
+
await (0, _ExecUtils.execCommandAsync)(logger, "npm run build:jsLoader", {
|
|
46
|
+
cwd: candyWidgetRoot
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
this.disposer = await filesObserver.observe();
|
|
50
|
+
this.started = true;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async stop() {
|
|
54
|
+
var _this$disposer;
|
|
55
|
+
await ((_this$disposer = this.disposer) !== null && _this$disposer !== void 0 ? _this$disposer : Promise.resolve)();
|
|
56
|
+
}
|
|
57
|
+
async getFileStream(filePathUrl) {
|
|
58
|
+
const parts = filePathUrl.split("/");
|
|
59
|
+
const finalPath = _path.default.join(this.engineDirectory, "Widgets", "CandyWidget", ".artifacts", ...parts);
|
|
60
|
+
const fileData = await readFileAsync(finalPath);
|
|
61
|
+
return new _stream.Readable({
|
|
62
|
+
read: function () {
|
|
63
|
+
this.push(fileData);
|
|
64
|
+
this.push(null);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.CandyWidgetDevServer = CandyWidgetDevServer;
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2ZzIiwiX3V0aWwiLCJfc3RyZWFtIiwiX3BMaW1pdCIsIl9PYnNlcnZlIiwiX0V4ZWNVdGlscyIsIl9TdGF0aWNMb2dnZXIiLCJyZWFkRmlsZUFzeW5jIiwicHJvbWlzaWZ5IiwicmVhZEZpbGUiLCJDYW5keVdpZGdldERldlNlcnZlciIsImNvbnN0cnVjdG9yIiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJwb3J0Iiwic3RhcnRQYXJhbGxlbExpbWl0Iiwic3RhcnRlZCIsImRpc3Bvc2VyIiwicExpbWl0Iiwic3RhcnQiLCJjYW5keVdpZGdldFJvb3QiLCJwYXRoIiwiam9pbiIsImZpbGVzT2JzZXJ2ZXIiLCJPYnNlcnZlIiwiZmlsZXMiLCJkbyIsIngiLCJsb2dnZXIiLCJnZXRMb2dnZXIiLCJ3aXRoUHJlZml4IiwiZXhlY0NvbW1hbmRBc3luYyIsImN3ZCIsIm9ic2VydmUiLCJzdG9wIiwiX3RoaXMkZGlzcG9zZXIiLCJQcm9taXNlIiwicmVzb2x2ZSIsImdldEZpbGVTdHJlYW0iLCJmaWxlUGF0aFVybCIsInBhcnRzIiwic3BsaXQiLCJmaW5hbFBhdGgiLCJmaWxlRGF0YSIsIlJlYWRhYmxlIiwicmVhZCIsInB1c2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0RldlNlcnZlcnMvQ2FuZHlXaWRnZXREZXZTZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tIFwidXRpbFwiO1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5cbmltcG9ydCBwTGltaXQsIHsgTGltaXQgfSBmcm9tIFwicC1saW1pdFwiO1xuXG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IGV4ZWNDb21tYW5kQXN5bmMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9FeGVjVXRpbHNcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5cbmNvbnN0IHJlYWRGaWxlQXN5bmMgPSBwcm9taXNpZnkocmVhZEZpbGUpO1xuXG5leHBvcnQgY2xhc3MgQ2FuZHlXaWRnZXREZXZTZXJ2ZXIge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRQYXJhbGxlbExpbWl0OiBMaW1pdDtcbiAgICBwcml2YXRlIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGRpc3Bvc2VyPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZywgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lbmdpbmVEaXJlY3RvcnkgPSBlbmdpbmVEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0ID0gcExpbWl0KDEpO1xuICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5ID0gYnVpbGREZWJ1Z09ubHk7XG4gICAgfVxuICAgIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjYW5keVdpZGdldFJvb3QgPSBwYXRoLmpvaW4odGhpcy5lbmdpbmVEaXJlY3RvcnksIFwiV2lkZ2V0c1wiLCBcIkNhbmR5V2lkZ2V0XCIpO1xuICAgICAgICAgICAgY29uc3QgZmlsZXNPYnNlcnZlciA9IE9ic2VydmUuZmlsZXMoY2FuZHlXaWRnZXRSb290LCBcIioqLyoudHNcIikuZG8oYXN5bmMgeCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIldJREdFVFwiKTtcbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjQ29tbWFuZEFzeW5jKGxvZ2dlciwgXCJucG0gcnVuIGJ1aWxkOmxvYWRlclwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGN3ZDogY2FuZHlXaWRnZXRSb290LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWNDb21tYW5kQXN5bmMobG9nZ2VyLCBcIm5wbSBydW4gYnVpbGQ6d2lkZ2V0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgY3dkOiBjYW5keVdpZGdldFJvb3QsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY0NvbW1hbmRBc3luYyhsb2dnZXIsIFwibnBtIHJ1biBidWlsZDpqc0xvYWRlclwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGN3ZDogY2FuZHlXaWRnZXRSb290LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZGlzcG9zZXIgPSBhd2FpdCBmaWxlc09ic2VydmVyLm9ic2VydmUoKTtcblxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0ICh0aGlzLmRpc3Bvc2VyID8/IFByb21pc2UucmVzb2x2ZSkoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVN0cmVhbShmaWxlUGF0aFVybDogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBmaWxlUGF0aFVybC5zcGxpdChcIi9cIik7XG4gICAgICAgIGNvbnN0IGZpbmFsUGF0aCA9IHBhdGguam9pbih0aGlzLmVuZ2luZURpcmVjdG9yeSwgXCJXaWRnZXRzXCIsIFwiQ2FuZHlXaWRnZXRcIiwgXCIuYXJ0aWZhY3RzXCIsIC4uLnBhcnRzKTtcbiAgICAgICAgY29uc3QgZmlsZURhdGEgPSBhd2FpdCByZWFkRmlsZUFzeW5jKGZpbmFsUGF0aCk7XG4gICAgICAgIHJldHVybiBuZXcgUmVhZGFibGUoe1xuICAgICAgICAgICAgcmVhZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRoaXMucHVzaChmaWxlRGF0YSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wdXNoKG51bGwpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsR0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksT0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBRUEsTUFBTVEs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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CandyWidgetDevServer.js","names":["_path","_interopRequireDefault","require","_fs","_util","_stream","_pLimit","_Observe","_ExecUtils","_StaticLogger","readFileAsync","promisify","readFile","CandyWidgetDevServer","constructor","engineDirectory","buildDebugOnly","port","startParallelLimit","started","disposer","pLimit","start","candyWidgetRoot","path","join","filesObserver","Observe","files","do","x","logger","getLogger","withPrefix","execCommandAsync","cwd","observe","stop","_this$disposer","Promise","resolve","getFileStream","filePathUrl","parts","split","finalPath","fileData","Readable","read","push","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.ts"],"sourcesContent":["import path from \"path\";\nimport { readFile } from \"fs\";\nimport { promisify } from \"util\";\nimport { Readable } from \"stream\";\n\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { execCommandAsync } from \"../../../../Commons/ExecUtils\";\nimport { getLogger } from \"../../../../Commons/Logging/StaticLogger\";\n\nconst readFileAsync = promisify(readFile);\n\nexport class CandyWidgetDevServer {\n // @ts-ignore\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private started = false;\n // @ts-ignore\n private readonly buildDebugOnly: boolean;\n private disposer?: () => Promise<void>;\n\n public constructor(engineDirectory: string, buildDebugOnly: boolean) {\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n }\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n const candyWidgetRoot = path.join(this.engineDirectory, \"Widgets\", \"CandyWidget\");\n const filesObserver = Observe.files(candyWidgetRoot, \"**/*.ts\").do(async x => {\n const logger = getLogger().withPrefix(\"WIDGET\");\n await execCommandAsync(logger, \"npm run build:loader\", {\n cwd: candyWidgetRoot,\n });\n await execCommandAsync(logger, \"npm run build:widget\", {\n cwd: candyWidgetRoot,\n });\n await execCommandAsync(logger, \"npm run build:jsLoader\", {\n cwd: candyWidgetRoot,\n });\n });\n\n this.disposer = await filesObserver.observe();\n\n this.started = true;\n });\n }\n\n public async stop(): Promise<void> {\n await (this.disposer ?? Promise.resolve)();\n }\n\n public async getFileStream(filePathUrl: string): Promise<NodeJS.ReadableStream> {\n const parts = filePathUrl.split(\"/\");\n const finalPath = path.join(this.engineDirectory, \"Widgets\", \"CandyWidget\", \".artifacts\", ...parts);\n const fileData = await readFileAsync(finalPath);\n return new Readable({\n read: function () {\n this.push(fileData);\n this.push(null);\n },\n });\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AAEA,MAAMQ,aAAa,GAAG,IAAAC,eAAS,EAACC,YAAQ,CAAC;AAElC,MAAMC,oBAAoB,CAAC;EAUvBC,WAAWA,CAACC,eAAuB,EAAEC,cAAuB,EAAE;IATrE;IAAA,KACiBC,IAAI;IAAA,KACJF,eAAe;IAAA,KACfG,kBAAkB;IAAA,KAC3BC,OAAO,GAAG,KAAK;IACvB;IAAA,KACiBH,cAAc;IAAA,KACvBI,QAAQ;IAGZ,IAAI,CAACL,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACG,kBAAkB,GAAG,IAAAG,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACL,cAAc,GAAGA,cAAc;EACxC;EACA,MAAaM,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACJ,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAMI,eAAe,GAAGC,aAAI,CAACC,IAAI,CAAC,IAAI,CAACV,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC;MACjF,MAAMW,aAAa,GAAGC,gBAAO,CAACC,KAAK,CAACL,eAAe,EAAE,SAAS,CAAC,CAACM,EAAE,CAAC,MAAMC,CAAC,IAAI;QAC1E,MAAMC,MAAM,GAAG,IAAAC,uBAAS,EAAC,CAAC,CAACC,UAAU,CAAC,QAAQ,CAAC;QAC/C,MAAM,IAAAC,2BAAgB,EAACH,MAAM,EAAE,sBAAsB,EAAE;UACnDI,GAAG,EAAEZ;QACT,CAAC,CAAC;QACF,MAAM,IAAAW,2BAAgB,EAACH,MAAM,EAAE,sBAAsB,EAAE;UACnDI,GAAG,EAAEZ;QACT,CAAC,CAAC;QACF,MAAM,IAAAW,2BAAgB,EAACH,MAAM,EAAE,wBAAwB,EAAE;UACrDI,GAAG,EAAEZ;QACT,CAAC,CAAC;MACN,CAAC,CAAC;MAEF,IAAI,CAACH,QAAQ,GAAG,MAAMM,aAAa,CAACU,OAAO,CAAC,CAAC;MAE7C,IAAI,CAACjB,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAakB,IAAIA,CAAA,EAAkB;IAAA,IAAAC,cAAA;IAC/B,MAAM,EAAAA,cAAA,GAAC,IAAI,CAAClB,QAAQ,cAAAkB,cAAA,cAAAA,cAAA,GAAIC,OAAO,CAACC,OAAO,EAAE,CAAC;EAC9C;EAEA,MAAaC,aAAaA,CAACC,WAAmB,EAAkC;IAC5E,MAAMC,KAAK,GAAGD,WAAW,CAACE,KAAK,CAAC,GAAG,CAAC;IACpC,MAAMC,SAAS,GAAGrB,aAAI,CAACC,IAAI,CAAC,IAAI,CAACV,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG4B,KAAK,CAAC;IACnG,MAAMG,QAAQ,GAAG,MAAMpC,aAAa,CAACmC,SAAS,CAAC;IAC/C,OAAO,IAAIE,gBAAQ,CAAC;MAChBC,IAAI,EAAE,SAAAA,CAAA,EAAY;QACd,IAAI,CAACC,IAAI,CAACH,QAAQ,CAAC;QACnB,IAAI,CAACG,IAAI,CAAC,IAAI,CAAC;MACnB;IACJ,CAAC,CAAC;EACN;AACJ;AAACC,OAAA,CAAArC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.ClientJsDevServer = void 0;
|
|
8
8
|
var _https = require("https");
|
|
9
|
+
var _stream = require("stream");
|
|
9
10
|
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
10
11
|
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
11
12
|
var _WebpackDevServerWorkerFactory = require("./WebpackDevServerWorker/WebpackDevServerWorkerFactory");
|
|
@@ -41,13 +42,16 @@ class ClientJsDevServer {
|
|
|
41
42
|
return this.getFileStream(`static/public/scripts/${fileName}`);
|
|
42
43
|
}
|
|
43
44
|
async getFileStream(filePathUrl) {
|
|
44
|
-
|
|
45
|
+
const request = await (0, _nodeFetch.default)(`https://localhost:${this.port}/${filePathUrl}`, {
|
|
45
46
|
method: "GET",
|
|
46
47
|
agent: new _https.Agent({
|
|
47
48
|
rejectUnauthorized: false
|
|
48
|
-
})
|
|
49
|
-
|
|
49
|
+
}),
|
|
50
|
+
compress: true
|
|
51
|
+
});
|
|
52
|
+
const text = await request.text();
|
|
53
|
+
return _stream.Readable.from(text);
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
exports.ClientJsDevServer = ClientJsDevServer;
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9XZWJwYWNrRGV2U2VydmVyV29ya2VyRmFjdG9yeSIsIkNsaWVudEpzRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJzdGFydGVkIiwicExpbWl0Iiwic3RhcnQiLCJjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyIiwicmVzb3VyY2VzUGF0aCIsIm91dHB1dEZpbGVuYW1lIiwiZGV2ZWxvcG1lbnQiLCJwcm9kdWN0aW9uIiwic291cmNlTWFwUHJlZml4IiwiZ2V0Q2xpZW50SnNDb250ZW50QXNTdHJlYW0iLCJtaW5pZmllZCIsImZpbGVOYW1lIiwiZ2V0RmlsZVN0cmVhbSIsImZpbGVQYXRoVXJsIiwicmVxdWVzdCIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwidGV4dCIsIlJlYWRhYmxlIiwiZnJvbSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvRGV2U2VydmVycy9DbGllbnRKc0RldlNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZ2VudCB9IGZyb20gXCJodHRwc1wiO1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5cbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0IHBMaW1pdCwgeyBMaW1pdCB9IGZyb20gXCJwLWxpbWl0XCI7XG5cbmltcG9ydCB7IGNyZWF0ZVdlYlBhY2tEZXZTZXJ2ZXJXb3JrZXIgfSBmcm9tIFwiLi9XZWJwYWNrRGV2U2VydmVyV29ya2VyL1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXJGYWN0b3J5XCI7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnRKc0RldlNlcnZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXJ0UGFyYWxsZWxMaW1pdDogTGltaXQ7XG4gICAgcHJpdmF0ZSBzdGFydGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwb3J0OiBudW1iZXIsIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLCBidWlsZERlYnVnT25seTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5zdGFydFBhcmFsbGVsTGltaXQgPSBwTGltaXQoMSk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGFydGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXdhaXQgY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlcih0aGlzLmVuZ2luZURpcmVjdG9yeSwgXCJjbGllbnRqcy53ZWJwYWNrLmNvbmZpZy5qc1wiLCB0aGlzLnBvcnQsIHtcbiAgICAgICAgICAgICAgICByZXNvdXJjZXNQYXRoOiBcImRpc3RcIixcbiAgICAgICAgICAgICAgICBvdXRwdXRGaWxlbmFtZTogXCJjbGllbnRcIixcbiAgICAgICAgICAgICAgICBkZXZlbG9wbWVudDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgcHJvZHVjdGlvbjogdGhpcy5idWlsZERlYnVnT25seSA/IFwiZmFsc2VcIiA6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgIHNvdXJjZU1hcFByZWZpeDogXCJzdGF0aWMvXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRDbGllbnRKc0NvbnRlbnRBc1N0cmVhbShtaW5pZmllZDogYm9vbGVhbik6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gbWluaWZpZWQgPyBcImNsaWVudC5taW4uanNcIiA6IFwiY2xpZW50LmpzXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpbGVTdHJlYW0oYHN0YXRpYy9wdWJsaWMvc2NyaXB0cy8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRGaWxlU3RyZWFtKGZpbGVQYXRoVXJsOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vbG9jYWxob3N0OiR7dGhpcy5wb3J0fS8ke2ZpbGVQYXRoVXJsfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGFnZW50OiBuZXcgQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pLFxuICAgICAgICAgICAgY29tcHJlc3M6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVxdWVzdC50ZXh0KCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKHRleHQpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFLLDhCQUFBLEdBQUFMLE9BQUE7QUFFTyxNQUFNTSxpQkFBaUIsQ0FBQztFQU9wQkMsV0FBV0EsQ0FBQ0MsSUFBWSxFQUFFQyxlQUF1QixFQUFFQyxjQUF1QixFQUFFO0lBQUEsS0FObEVGLElBQUk7SUFBQSxLQUNKQyxlQUFlO0lBQUEsS0FDZkUsa0JBQWtCO0lBQUEsS0FDM0JDLE9BQU8sR0FBRyxLQUFLO0lBQUEsS0FDTkYsY0FBYztJQUczQixJQUFJLENBQUNGLElBQUksR0FBR0EsSUFBSTtJQUNoQixJQUFJLENBQUNDLGVBQWUsR0FBR0EsZUFBZTtJQUN0QyxJQUFJLENBQUNFLGtCQUFrQixHQUFHLElBQUFFLGVBQU0sRUFBQyxDQUFDLENBQUM7SUFDbkMsSUFBSSxDQUFDSCxjQUFjLEdBQUdBLGNBQWM7RUFDeEM7RUFFQSxNQUFhSSxLQUFLQSxDQUFBLEVBQWtCO0lBQ2hDLE9BQU8sSUFBSSxDQUFDSCxrQkFBa0IsQ0FBQyxZQUFZO01BQ3ZDLElBQUksSUFBSSxDQUFDQyxPQUFPLEVBQUU7UUFDZDtNQUNKO01BQ0EsTUFBTSxJQUFBRywyREFBNEIsRUFBQyxJQUFJLENBQUNOLGVBQWUsRUFBRSw0QkFBNEIsRUFBRSxJQUFJLENBQUNELElBQUksRUFBRTtRQUM5RlEsYUFBYSxFQUFFLE1BQU07UUFDckJDLGNBQWMsRUFBRSxRQUFRO1FBQ3hCQyxXQUFXLEVBQUUsTUFBTTtRQUNuQkMsVUFBVSxFQUFFLElBQUksQ0FBQ1QsY0FBYyxHQUFHLE9BQU8sR0FBRyxNQUFNO1FBQ2xEVSxlQUFlLEVBQUU7TUFDckIsQ0FBQyxDQUFDO01BQ0YsSUFBSSxDQUFDUixPQUFPLEdBQUcsSUFBSTtJQUN2QixDQUFDLENBQUM7RUFDTjtFQUVBLE1BQWFTLDBCQUEwQkEsQ0FBQ0MsUUFBaUIsRUFBa0M7SUFDdkYsTUFBTUMsUUFBUSxHQUFHRCxRQUFRLEdBQUcsZUFBZSxHQUFHLFdBQVc7SUFDekQsT0FBTyxJQUFJLENBQUNFLGFBQWEsQ0FBQyx5QkFBeUJELFFBQVEsRUFBRSxDQUFDO0VBQ2xFO0VBRUEsTUFBYUMsYUFBYUEsQ0FBQ0MsV0FBbUIsRUFBa0M7SUFDNUUsTUFBTUMsT0FBTyxHQUFHLE1BQU0sSUFBQUMsa0JBQUssRUFBQyxxQkFBcUIsSUFBSSxDQUFDbkIsSUFBSSxJQUFJaUIsV0FBVyxFQUFFLEVBQUU7TUFDekVHLE1BQU0sRUFBRSxLQUFLO01BQ2JDLEtBQUssRUFBRSxJQUFJQyxZQUFLLENBQUM7UUFBRUMsa0JBQWtCLEVBQUU7TUFBTSxDQUFDLENBQUM7TUFDL0NDLFFBQVEsRUFBRTtJQUNkLENBQUMsQ0FBQztJQUNGLE1BQU1DLElBQUksR0FBRyxNQUFNUCxPQUFPLENBQUNPLElBQUksQ0FBQyxDQUFDO0lBQ2pDLE9BQU9DLGdCQUFRLENBQUNDLElBQUksQ0FBQ0YsSUFBSSxDQUFDO0VBQzlCO0FBQ0o7QUFBQ0csT0FBQSxDQUFBOUIsaUJBQUEsR0FBQUEsaUJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientJsDevServer.js","names":["_https","require","_nodeFetch","_interopRequireDefault","_pLimit","_WebpackDevServerWorkerFactory","ClientJsDevServer","constructor","port","engineDirectory","buildDebugOnly","startParallelLimit","started","pLimit","start","createWebPackDevServerWorker","resourcesPath","outputFilename","development","production","sourceMapPrefix","getClientJsContentAsStream","minified","fileName","getFileStream","filePathUrl","fetch","method","agent","Agent","rejectUnauthorized","
|
|
1
|
+
{"version":3,"file":"ClientJsDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_WebpackDevServerWorkerFactory","ClientJsDevServer","constructor","port","engineDirectory","buildDebugOnly","startParallelLimit","started","pLimit","start","createWebPackDevServerWorker","resourcesPath","outputFilename","development","production","sourceMapPrefix","getClientJsContentAsStream","minified","fileName","getFileStream","filePathUrl","request","fetch","method","agent","Agent","rejectUnauthorized","compress","text","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class ClientJsDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n await createWebPackDevServerWorker(this.engineDirectory, \"clientjs.webpack.config.js\", this.port, {\n resourcesPath: \"dist\",\n outputFilename: \"client\",\n development: \"true\",\n production: this.buildDebugOnly ? \"false\" : \"true\",\n sourceMapPrefix: \"static/\",\n });\n this.started = true;\n });\n }\n\n public async getClientJsContentAsStream(minified: boolean): Promise<NodeJS.ReadableStream> {\n const fileName = minified ? \"client.min.js\" : \"client.js\";\n return this.getFileStream(`static/public/scripts/${fileName}`);\n }\n\n public async getFileStream(filePathUrl: string): Promise<NodeJS.ReadableStream> {\n const request = await fetch(`https://localhost:${this.port}/${filePathUrl}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n const text = await request.text();\n return Readable.from(text);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,8BAAA,GAAAL,OAAA;AAEO,MAAMM,iBAAiB,CAAC;EAOpBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAE;IAAA,KANlEF,IAAI;IAAA,KACJC,eAAe;IAAA,KACfE,kBAAkB;IAAA,KAC3BC,OAAO,GAAG,KAAK;IAAA,KACNF,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACE,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACH,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAM,IAAAG,2DAA4B,EAAC,IAAI,CAACN,eAAe,EAAE,4BAA4B,EAAE,IAAI,CAACD,IAAI,EAAE;QAC9FQ,aAAa,EAAE,MAAM;QACrBC,cAAc,EAAE,QAAQ;QACxBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,IAAI,CAACT,cAAc,GAAG,OAAO,GAAG,MAAM;QAClDU,eAAe,EAAE;MACrB,CAAC,CAAC;MACF,IAAI,CAACR,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,0BAA0BA,CAACC,QAAiB,EAAkC;IACvF,MAAMC,QAAQ,GAAGD,QAAQ,GAAG,eAAe,GAAG,WAAW;IACzD,OAAO,IAAI,CAACE,aAAa,CAAC,yBAAyBD,QAAQ,EAAE,CAAC;EAClE;EAEA,MAAaC,aAAaA,CAACC,WAAmB,EAAkC;IAC5E,MAAMC,OAAO,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAACnB,IAAI,IAAIiB,WAAW,EAAE,EAAE;MACzEG,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,MAAMC,IAAI,GAAG,MAAMP,OAAO,CAACO,IAAI,CAAC,CAAC;IACjC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,IAAI,CAAC;EAC9B;AACJ;AAACG,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.EngineDevServer = void 0;
|
|
8
8
|
var _https = require("https");
|
|
9
|
+
var _stream = require("stream");
|
|
9
10
|
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
10
11
|
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
11
12
|
var _AsyncUtils = require("../../../../../../Common/AsyncUtils");
|
|
@@ -52,13 +53,15 @@ class EngineDevServer {
|
|
|
52
53
|
method: "GET",
|
|
53
54
|
agent: new _https.Agent({
|
|
54
55
|
rejectUnauthorized: false
|
|
55
|
-
})
|
|
56
|
+
}),
|
|
57
|
+
compress: true
|
|
56
58
|
});
|
|
57
59
|
if (response.status === 404) {
|
|
58
60
|
throw new _NotFoundWebError.NotFoundWebError(`Cannot find ${filename} at runtime dev server runner at ${this.port}`);
|
|
59
61
|
}
|
|
60
|
-
|
|
62
|
+
const text = await response.text();
|
|
63
|
+
return _stream.Readable.from(text);
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
exports.EngineDevServer = EngineDevServer;
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9Bc3luY1V0aWxzIiwiX05vdEZvdW5kV2ViRXJyb3IiLCJfV2VicGFja0RldlNlcnZlcldvcmtlckZhY3RvcnkiLCJFbmdpbmVEZXZTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInBvcnQiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInRoZW1lIiwic3RhcnRQYXJhbGxlbExpbWl0Iiwic3RhcnRlZCIsInBMaW1pdCIsInN0YXJ0Iiwib3B0aW9ucyIsInJlc291cmNlc1BhdGgiLCJkZXZlbG9wbWVudCIsInByb2R1Y3Rpb24iLCJ0ZXN0aW5nIiwiY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlciIsImdldEZpbGVBc1N0cmVhbSIsImZpbGVuYW1lIiwiZGVsYXkiLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwiTm90Rm91bmRXZWJFcnJvciIsInRleHQiLCJSZWFkYWJsZSIsImZyb20iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0RldlNlcnZlcnMvRW5naW5lRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcblxuaW1wb3J0IHsgZGVsYXkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0FzeW5jVXRpbHNcIjtcbmltcG9ydCB7IE5vdEZvdW5kV2ViRXJyb3IgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTm90Rm91bmRXZWJFcnJvclwiO1xuXG5pbXBvcnQgeyBjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyIH0gZnJvbSBcIi4vV2VicGFja0RldlNlcnZlcldvcmtlci9XZWJwYWNrRGV2U2VydmVyV29ya2VyRmFjdG9yeVwiO1xuXG5leHBvcnQgY2xhc3MgRW5naW5lRGV2U2VydmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRQYXJhbGxlbExpbWl0OiBMaW1pdDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRoZW1lOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdGFydGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwb3J0OiBudW1iZXIsIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLCBidWlsZERlYnVnT25seTogYm9vbGVhbiwgdGhlbWU6IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5zdGFydFBhcmFsbGVsTGltaXQgPSBwTGltaXQoMSk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICAgICAgdGhpcy50aGVtZSA9IHRoZW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5idWlsZERlYnVnT25seVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc1BhdGg6IFwiZGlzdFwiLFxuICAgICAgICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0aW9uOiBcImZhbHNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgdGVzdGluZzogXCJmYWxzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc1BhdGg6IFwiZGlzdFwiLFxuICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGF3YWl0IGNyZWF0ZVdlYlBhY2tEZXZTZXJ2ZXJXb3JrZXIodGhpcy5lbmdpbmVEaXJlY3RvcnksIFwid2VicGFjay5jb25maWcuanNcIiwgdGhpcy5wb3J0LCBvcHRpb25zKTtcblxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVBc1N0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgd2hpbGUgKCF0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9L3N0YXRpYy8ke2ZpbGVuYW1lfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGFnZW50OiBuZXcgQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pLFxuICAgICAgICAgICAgY29tcHJlc3M6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZFdlYkVycm9yKGBDYW5ub3QgZmluZCAke2ZpbGVuYW1lfSBhdCBydW50aW1lIGRldiBzZXJ2ZXIgcnVubmVyIGF0ICR7dGhpcy5wb3J0fWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKHRleHQpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyw4QkFBQSxHQUFBUCxPQUFBO0FBRU8sTUFBTVEsZUFBZSxDQUFDO0VBUWxCQyxXQUFXQSxDQUFDQyxJQUFZLEVBQUVDLGVBQXVCLEVBQUVDLGNBQXVCLEVBQUVDLEtBQXlCLEVBQUU7SUFBQSxLQVA3RkgsSUFBSTtJQUFBLEtBQ0pDLGVBQWU7SUFBQSxLQUNmRyxrQkFBa0I7SUFBQSxLQUNsQkQsS0FBSztJQUFBLEtBQ2RFLE9BQU8sR0FBRyxLQUFLO0lBQUEsS0FDTkgsY0FBYztJQUczQixJQUFJLENBQUNGLElBQUksR0FBR0EsSUFBSTtJQUNoQixJQUFJLENBQUNDLGVBQWUsR0FBR0EsZUFBZTtJQUN0QyxJQUFJLENBQUNHLGtCQUFrQixHQUFHLElBQUFFLGVBQU0sRUFBQyxDQUFDLENBQUM7SUFDbkMsSUFBSSxDQUFDSixjQUFjLEdBQUdBLGNBQWM7SUFDcEMsSUFBSSxDQUFDQyxLQUFLLEdBQUdBLEtBQUs7RUFDdEI7RUFFQSxNQUFhSSxLQUFLQSxDQUFBLEVBQWtCO0lBQ2hDLE9BQU8sSUFBSSxDQUFDSCxrQkFBa0IsQ0FBQyxZQUFZO01BQ3ZDLElBQUksSUFBSSxDQUFDQyxPQUFPLEVBQUU7UUFDZDtNQUNKO01BQ0EsTUFBTUcsT0FBTyxHQUFHLElBQUksQ0FBQ04sY0FBYyxHQUM3QjtRQUNJTyxhQUFhLEVBQUUsTUFBTTtRQUNyQkMsV0FBVyxFQUFFLE1BQU07UUFDbkJDLFVBQVUsRUFBRSxPQUFPO1FBQ25CQyxPQUFPLEVBQUUsT0FBTztRQUNoQlQsS0FBSyxFQUFFLElBQUksQ0FBQ0E7TUFDaEIsQ0FBQyxHQUNEO1FBQ0lNLGFBQWEsRUFBRSxNQUFNO1FBQ3JCTixLQUFLLEVBQUUsSUFBSSxDQUFDQTtNQUNoQixDQUFDO01BQ1AsTUFBTSxJQUFBVSwyREFBNEIsRUFBQyxJQUFJLENBQUNaLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUNELElBQUksRUFBRVEsT0FBTyxDQUFDO01BRWpHLElBQUksQ0FBQ0gsT0FBTyxHQUFHLElBQUk7SUFDdkIsQ0FBQyxDQUFDO0VBQ047RUFFQSxNQUFhUyxlQUFlQSxDQUFDQyxRQUFnQixFQUFrQztJQUMzRSxPQUFPLENBQUMsSUFBSSxDQUFDVixPQUFPLEVBQUU7TUFDbEIsTUFBTSxJQUFBVyxpQkFBSyxFQUFDLEdBQUcsQ0FBQztJQUNwQjtJQUNBLE1BQU1DLFFBQVEsR0FBRyxNQUFNLElBQUFDLGtCQUFLLEVBQUMscUJBQXFCLElBQUksQ0FBQ2xCLElBQUksV0FBV2UsUUFBUSxFQUFFLEVBQUU7TUFDOUVJLE1BQU0sRUFBRSxLQUFLO01BQ2JDLEtBQUssRUFBRSxJQUFJQyxZQUFLLENBQUM7UUFBRUMsa0JBQWtCLEVBQUU7TUFBTSxDQUFDLENBQUM7TUFDL0NDLFFBQVEsRUFBRTtJQUNkLENBQUMsQ0FBQztJQUNGLElBQUlOLFFBQVEsQ0FBQ08sTUFBTSxLQUFLLEdBQUcsRUFBRTtNQUN6QixNQUFNLElBQUlDLGtDQUFnQixDQUFDLGVBQWVWLFFBQVEsb0NBQW9DLElBQUksQ0FBQ2YsSUFBSSxFQUFFLENBQUM7SUFDdEc7SUFDQSxNQUFNMEIsSUFBSSxHQUFHLE1BQU1ULFFBQVEsQ0FBQ1MsSUFBSSxDQUFDLENBQUM7SUFDbEMsT0FBT0MsZ0JBQVEsQ0FBQ0MsSUFBSSxDQUFDRixJQUFJLENBQUM7RUFDOUI7QUFDSjtBQUFDRyxPQUFBLENBQUEvQixlQUFBLEdBQUFBLGVBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineDevServer.js","names":["_https","require","_nodeFetch","_interopRequireDefault","_pLimit","_AsyncUtils","_NotFoundWebError","_WebpackDevServerWorkerFactory","EngineDevServer","constructor","port","engineDirectory","buildDebugOnly","theme","startParallelLimit","started","pLimit","start","options","resourcesPath","development","production","testing","createWebPackDevServerWorker","getFileAsStream","filename","delay","response","fetch","method","agent","Agent","rejectUnauthorized","status","NotFoundWebError","
|
|
1
|
+
{"version":3,"file":"EngineDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_AsyncUtils","_NotFoundWebError","_WebpackDevServerWorkerFactory","EngineDevServer","constructor","port","engineDirectory","buildDebugOnly","theme","startParallelLimit","started","pLimit","start","options","resourcesPath","development","production","testing","createWebPackDevServerWorker","getFileAsStream","filename","delay","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","NotFoundWebError","text","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { NotFoundWebError } from \"../../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class EngineDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private readonly theme: undefined | string;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean, theme: undefined | string) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n this.theme = theme;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n const options = this.buildDebugOnly\n ? {\n resourcesPath: \"dist\",\n development: \"true\",\n production: \"false\",\n testing: \"false\",\n theme: this.theme,\n }\n : {\n resourcesPath: \"dist\",\n theme: this.theme,\n };\n await createWebPackDevServerWorker(this.engineDirectory, \"webpack.config.js\", this.port, options);\n\n this.started = true;\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.started) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/static/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status === 404) {\n throw new NotFoundWebError(`Cannot find ${filename} at runtime dev server runner at ${this.port}`);\n }\n const text = await response.text();\n return Readable.from(text);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAEA,IAAAO,8BAAA,GAAAP,OAAA;AAEO,MAAMQ,eAAe,CAAC;EAQlBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAEC,KAAyB,EAAE;IAAA,KAP7FH,IAAI;IAAA,KACJC,eAAe;IAAA,KACfG,kBAAkB;IAAA,KAClBD,KAAK;IAAA,KACdE,OAAO,GAAG,KAAK;IAAA,KACNH,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACG,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACJ,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAMG,OAAO,GAAG,IAAI,CAACN,cAAc,GAC7B;QACIO,aAAa,EAAE,MAAM;QACrBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,OAAO;QACnBC,OAAO,EAAE,OAAO;QAChBT,KAAK,EAAE,IAAI,CAACA;MAChB,CAAC,GACD;QACIM,aAAa,EAAE,MAAM;QACrBN,KAAK,EAAE,IAAI,CAACA;MAChB,CAAC;MACP,MAAM,IAAAU,2DAA4B,EAAC,IAAI,CAACZ,eAAe,EAAE,mBAAmB,EAAE,IAAI,CAACD,IAAI,EAAEQ,OAAO,CAAC;MAEjG,IAAI,CAACH,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,eAAeA,CAACC,QAAgB,EAAkC;IAC3E,OAAO,CAAC,IAAI,CAACV,OAAO,EAAE;MAClB,MAAM,IAAAW,iBAAK,EAAC,GAAG,CAAC;IACpB;IACA,MAAMC,QAAQ,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAAClB,IAAI,WAAWe,QAAQ,EAAE,EAAE;MAC9EI,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,IAAIN,QAAQ,CAACO,MAAM,KAAK,GAAG,EAAE;MACzB,MAAM,IAAIC,kCAAgB,CAAC,eAAeV,QAAQ,oCAAoC,IAAI,CAACf,IAAI,EAAE,CAAC;IACtG;IACA,MAAM0B,IAAI,GAAG,MAAMT,QAAQ,CAACS,IAAI,CAAC,CAAC;IAClC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,IAAI,CAAC;EAC9B;AACJ;AAACG,OAAA,CAAA/B,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -19,6 +19,7 @@ var _BuildServerFormInfoController = require("./ResourcesControllers/BuildServer
|
|
|
19
19
|
var _BuildServerLocalSourcesEngineController = require("./ResourcesControllers/BuildServerLocalSourcesEngineController");
|
|
20
20
|
var _BuildServerPrebuiltResourcesController = require("./ResourcesControllers/BuildServerPrebuiltResourcesController");
|
|
21
21
|
var _BuildServerPublishedEngineController = require("./ResourcesControllers/BuildServerPublishedEngineController");
|
|
22
|
+
var _BuildServerCandyWidgetController = require("./ResourcesControllers/BuildServerCandyWidgetController");
|
|
22
23
|
async function runBuildServer(context, options, allFarmConfig) {
|
|
23
24
|
(0, _TypingUtils.ensureArrayIsNotEmpty)(allFarmConfig);
|
|
24
25
|
let engineDirectory = "";
|
|
@@ -41,6 +42,10 @@ async function runBuildServer(context, options, allFarmConfig) {
|
|
|
41
42
|
webServer.registerSigletonController(new _BuildLogsWebsocketController.BuildLogsWebsocketController());
|
|
42
43
|
}
|
|
43
44
|
const buildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(allFarmConfig, candyModulesDirectory, false, engineDirectory, options.buildDebugOnly, options.nightly);
|
|
45
|
+
const buildServerCandyWidgetController = new _BuildServerCandyWidgetController.BuildServerCandyWidgetController(engineDirectory, options.buildDebugOnly, {
|
|
46
|
+
frontEndDevMode: options.developmentMode
|
|
47
|
+
});
|
|
48
|
+
webServer.registerSigletonController(buildServerCandyWidgetController);
|
|
44
49
|
webServer.registerSigletonController(buildFormsController);
|
|
45
50
|
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(allFarmConfig, buildFormsController));
|
|
46
51
|
webServer.registerSigletonController(new _ExtractTextsFromSugarController.ExtractTextsFromSugarController(allFarmConfig, buildFormsController));
|
|
@@ -81,6 +86,10 @@ async function runDevBuildServer(context, options, allFarmConfig) {
|
|
|
81
86
|
webServer.registerSigletonController(new _BuildLogsWebsocketController.BuildLogsWebsocketController());
|
|
82
87
|
}
|
|
83
88
|
const buildServerBuildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(allFarmConfig, candyModulesDirectory, true, engineDirectory, options.buildDebugOnly);
|
|
89
|
+
const buildServerCandyWidgetController = new _BuildServerCandyWidgetController.BuildServerCandyWidgetController(engineDirectory, options.buildDebugOnly, {
|
|
90
|
+
frontEndDevMode: options.developmentMode
|
|
91
|
+
});
|
|
92
|
+
webServer.registerSigletonController(buildServerCandyWidgetController);
|
|
84
93
|
webServer.registerSigletonController(buildServerBuildFormsController);
|
|
85
94
|
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(allFarmConfig, buildServerBuildFormsController));
|
|
86
95
|
webServer.registerSigletonController(new _ExtractTextsFromSugarController.ExtractTextsFromSugarController(allFarmConfig, buildServerBuildFormsController));
|
|
@@ -98,4 +107,4 @@ async function runDevBuildServer(context, options, allFarmConfig) {
|
|
|
98
107
|
await webServer.stop();
|
|
99
108
|
await formTestingHelpersWebServer.stop();
|
|
100
109
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwaW5nVXRpbHMiLCJyZXF1aXJlIiwiX0V4cHJlc3NTZXJ2ZXJXcmFwcGVyIiwiX0Zvcm1zSGVscGVyQ29udHJvbGxlciIsIl9FeHRyYWN0VGV4dHNGcm9tU3VnYXJDb250cm9sbGVyIiwiX0J1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIiLCJfQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciIsIl9CdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciIsIl9CdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiX0J1aWxkU2VydmVyQ2xpZW50SnNDb250cm9sbGVyIiwiX0J1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzQ29udHJvbGxlciIsIl9CdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciIsIl9CdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIiLCJfQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIiLCJfQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIiwicnVuQnVpbGRTZXJ2ZXIiLCJjb250ZXh0Iiwib3B0aW9ucyIsImFsbEZhcm1Db25maWciLCJlbnN1cmVBcnJheUlzTm90RW1wdHkiLCJlbmdpbmVEaXJlY3RvcnkiLCJjb25mIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIiLCJFeHByZXNzU2VydmVyV3JhcHBlciIsImxvZ2dlciIsInJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyIiwiRm9ybXNIZWxwZXJDb250cm9sbGVyIiwiZnJvbnRFbmREZXZNb2RlIiwiZGV2ZWxvcG1lbnRNb2RlIiwid2ViU2VydmVyIiwiZGlzYWJsZUNsaWVudE92ZXJyaWRlIiwiQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlciIsImJ1aWxkRm9ybXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlciIsImJ1aWxkRGVidWdPbmx5IiwibmlnaHRseSIsIkJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIiLCJFeHRyYWN0VGV4dHNGcm9tU3VnYXJDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJGb3JtSW5mb0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlclByZWJ1aWx0UmVzb3VyY2VzQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyIiwic3RhcnQiLCJ3YWl0Rm9yRXhpdCIsInN0b3AiLCJydW5EZXZCdWlsZFNlcnZlciIsImJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SdW5CdWlsZFNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuXG5pbXBvcnQgeyBlbnN1cmVBcnJheUlzTm90RW1wdHkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9FeHByZXNzV3JhcHBlci9FeHByZXNzU2VydmVyV3JhcHBlclwiO1xuaW1wb3J0IHsgRm9ybXNIZWxwZXJDb250cm9sbGVyIH0gZnJvbSBcIi4uL0Zvcm1zSGVscGVyL0Zvcm1zSGVscGVyQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgRXh0cmFjdFRleHRzRnJvbVN1Z2FyQ29udHJvbGxlciB9IGZyb20gXCIuLi9TdWdhckV4dHJhY3Rvci9FeHRyYWN0VGV4dHNGcm9tU3VnYXJDb250cm9sbGVyXCI7XG5cbmltcG9ydCB7IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIgfSBmcm9tIFwiLi9CdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlck9wdGlvbnMsIERldkJ1aWxkU2VydmVyT3B0aW9ucyB9IGZyb20gXCIuL0J1aWxkU2VydmVyU2VydmVyT3B0aW9uc1wiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQ2xpZW50SnNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJGb3JtSW5mb0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlclByZWJ1aWx0UmVzb3VyY2VzQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5CdWlsZFNlcnZlcihcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IEJ1aWxkU2VydmVyT3B0aW9ucyxcbiAgICBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW11cbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGVuc3VyZUFycmF5SXNOb3RFbXB0eShhbGxGYXJtQ29uZmlnKTtcblxuICAgIGxldCBlbmdpbmVEaXJlY3RvcnkgPSBcIlwiO1xuICAgIGZvciAoY29uc3QgY29uZiBvZiBhbGxGYXJtQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25mLmVuZ2luZURpcmVjdG9yeSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSA9IGNvbmYuZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVuZ2luZURpcmVjdG9yeSA9PT0gXCJcIikge1xuICAgICAgICB0aHJvdyBFcnJvcihcIkFsbCBFbmdpbmUgZGlyZWN0b3J5IGlzIGVtcHR5XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGFsbEZhcm1Db25maWdbMF0uY2FuZHlNb2R1bGVzRGlyZWN0b3J5O1xuXG4gICAgY29uc3QgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyID0gbmV3IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyKDkwMTAsIHVuZGVmaW5lZCwgY29udGV4dC5sb2dnZXIsIFwiRm9ybXMgaGVscGVyc1wiKTtcbiAgICBmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBGb3Jtc0hlbHBlckNvbnRyb2xsZXIoeyBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHdlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDAwLCA5MDQzLCBjb250ZXh0LmxvZ2dlcik7XG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSkge1xuICAgICAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIoKSk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkRm9ybXNDb250cm9sbGVyID0gbmV3IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIoXG4gICAgICAgIGFsbEZhcm1Db25maWcsXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgb3B0aW9ucy5idWlsZERlYnVnT25seSxcbiAgICAgICAgb3B0aW9ucy5uaWdodGx5XG4gICAgKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihidWlsZEZvcm1zQ29udHJvbGxlcik7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnLCBidWlsZEZvcm1zQ29udHJvbGxlcilcbiAgICApO1xuXG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBFeHRyYWN0VGV4dHNGcm9tU3VnYXJDb250cm9sbGVyKGFsbEZhcm1Db25maWcsIGJ1aWxkRm9ybXNDb250cm9sbGVyKSk7XG5cbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyKGFsbEZhcm1Db25maWcsIGZhbHNlLCBvcHRpb25zLm5pZ2h0bHkpKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIoKSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIoY2FuZHlNb2R1bGVzRGlyZWN0b3J5KSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyKG9wdGlvbnMuZGlzYWJsZUNsaWVudE92ZXJyaWRlLCB7XG4gICAgICAgICAgICBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlLFxuICAgICAgICB9KVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnKSk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgd2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgY29udGV4dC53YWl0Rm9yRXhpdCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdG9wKCk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0b3AoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkRldkJ1aWxkU2VydmVyKFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQsXG4gICAgb3B0aW9uczogRGV2QnVpbGRTZXJ2ZXJPcHRpb25zLFxuICAgIGFsbEZhcm1Db25maWc6IEZhcm1Db25maWdbXVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGFsbEZhcm1Db25maWdbMF0gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiQ29uZmlnIGNhbid0IGJlIGxlbmd0aCAwXCIpO1xuICAgIH1cblxuICAgIGxldCBlbmdpbmVEaXJlY3RvcnkgPSBcIlwiO1xuICAgIGZvciAoY29uc3QgY29uZiBvZiBhbGxGYXJtQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25mLmVuZ2luZURpcmVjdG9yeSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSA9IGNvbmYuZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVuZ2luZURpcmVjdG9yeSA9PT0gXCJcIikge1xuICAgICAgICB0aHJvdyBFcnJvcihcIkFsbCBFbmdpbmUgZGlyZWN0b3J5IGlzIGVtcHR5XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGFsbEZhcm1Db25maWdbMF0uY2FuZHlNb2R1bGVzRGlyZWN0b3J5O1xuXG4gICAgY29uc3QgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyID0gbmV3IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyKDkwMTAsIHVuZGVmaW5lZCwgY29udGV4dC5sb2dnZXIsIFwiRm9ybXMgaGVscGVyc1wiKTtcbiAgICBmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBGb3Jtc0hlbHBlckNvbnRyb2xsZXIoeyBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHdlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDAwLCA5MDQzLCBjb250ZXh0LmxvZ2dlcik7XG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSkge1xuICAgICAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIoKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlciA9IG5ldyBCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyKFxuICAgICAgICBhbGxGYXJtQ29uZmlnLFxuICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgIHRydWUsXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgb3B0aW9ucy5idWlsZERlYnVnT25seVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKGJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZywgYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcilcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEV4dHJhY3RUZXh0c0Zyb21TdWdhckNvbnRyb2xsZXIoYWxsRmFybUNvbmZpZywgYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcilcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJGb3JtSW5mb0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZywgdHJ1ZSwgZmFsc2UpKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIoKSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIoY2FuZHlNb2R1bGVzRGlyZWN0b3J5KSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJMb2NhbFNvdXJjZXNFbmdpbmVDb250cm9sbGVyKGVuZ2luZURpcmVjdG9yeSwgb3B0aW9ucy5idWlsZERlYnVnT25seSlcbiAgICApO1xuXG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXIoZW5naW5lRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkRGVidWdPbmx5LCBvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSwge1xuICAgICAgICAgICAgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfSlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZykpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICBhd2FpdCB3ZWJTZXJ2ZXIuc3RvcCgpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdG9wKCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxxQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsc0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGdDQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSw2QkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssc0NBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLDZDQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxnQ0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsOEJBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLDJDQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSw4QkFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsd0NBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLHVDQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxxQ0FBQSxHQUFBYixPQUFBO0FBRU8sZUFBZWMsY0FBY0EsQ0FDaENDLE9BQWtDLEVBQ2xDQyxPQUEyQixFQUMzQkMsYUFBMkIsRUFDZDtFQUNiLElBQUFDLGtDQUFxQixFQUFDRCxhQUFhLENBQUM7RUFFcEMsSUFBSUUs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
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwaW5nVXRpbHMiLCJyZXF1aXJlIiwiX0V4cHJlc3NTZXJ2ZXJXcmFwcGVyIiwiX0Zvcm1zSGVscGVyQ29udHJvbGxlciIsIl9FeHRyYWN0VGV4dHNGcm9tU3VnYXJDb250cm9sbGVyIiwiX0J1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIiLCJfQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciIsIl9CdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciIsIl9CdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiX0J1aWxkU2VydmVyQ2xpZW50SnNDb250cm9sbGVyIiwiX0J1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzQ29udHJvbGxlciIsIl9CdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciIsIl9CdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIiLCJfQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIiLCJfQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIiwiX0J1aWxkU2VydmVyQ2FuZHlXaWRnZXRDb250cm9sbGVyIiwicnVuQnVpbGRTZXJ2ZXIiLCJjb250ZXh0Iiwib3B0aW9ucyIsImFsbEZhcm1Db25maWciLCJlbnN1cmVBcnJheUlzTm90RW1wdHkiLCJlbmdpbmVEaXJlY3RvcnkiLCJjb25mIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIiLCJFeHByZXNzU2VydmVyV3JhcHBlciIsImxvZ2dlciIsInJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyIiwiRm9ybXNIZWxwZXJDb250cm9sbGVyIiwiZnJvbnRFbmREZXZNb2RlIiwiZGV2ZWxvcG1lbnRNb2RlIiwid2ViU2VydmVyIiwiZGlzYWJsZUNsaWVudE92ZXJyaWRlIiwiQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlciIsImJ1aWxkRm9ybXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlciIsImJ1aWxkRGVidWdPbmx5IiwibmlnaHRseSIsImJ1aWxkU2VydmVyQ2FuZHlXaWRnZXRDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJDYW5keVdpZGdldENvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNDb250cm9sbGVyIiwiRXh0cmFjdFRleHRzRnJvbVN1Z2FyQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciIsInN0YXJ0Iiwid2FpdEZvckV4aXQiLCJzdG9wIiwicnVuRGV2QnVpbGRTZXJ2ZXIiLCJidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJMb2NhbFNvdXJjZXNFbmdpbmVDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUnVuQnVpbGRTZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFybUNvbmZpZyB9IGZyb20gXCJUb29scy9zcmMvQ2FuZHlDTElcIjtcblxuaW1wb3J0IHsgZW5zdXJlQXJyYXlJc05vdEVtcHR5IH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbi9UeXBpbmdVdGlsc1wiO1xuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgeyBFeHByZXNzU2VydmVyV3JhcHBlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvRXhwcmVzc1dyYXBwZXIvRXhwcmVzc1NlcnZlcldyYXBwZXJcIjtcbmltcG9ydCB7IEZvcm1zSGVscGVyQ29udHJvbGxlciB9IGZyb20gXCIuLi9Gb3Jtc0hlbHBlci9Gb3Jtc0hlbHBlckNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEV4dHJhY3RUZXh0c0Zyb21TdWdhckNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vU3VnYXJFeHRyYWN0b3IvRXh0cmFjdFRleHRzRnJvbVN1Z2FyQ29udHJvbGxlclwiO1xuXG5pbXBvcnQgeyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyIH0gZnJvbSBcIi4vQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJPcHRpb25zLCBEZXZCdWlsZFNlcnZlck9wdGlvbnMgfSBmcm9tIFwiLi9CdWlsZFNlcnZlclNlcnZlck9wdGlvbnNcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJDYW5keVdpZGdldENvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNhbmR5V2lkZ2V0Q29udHJvbGxlclwiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuQnVpbGRTZXJ2ZXIoXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBCdWlsZFNlcnZlck9wdGlvbnMsXG4gICAgYWxsRmFybUNvbmZpZzogRmFybUNvbmZpZ1tdXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBlbnN1cmVBcnJheUlzTm90RW1wdHkoYWxsRmFybUNvbmZpZyk7XG5cbiAgICBsZXQgZW5naW5lRGlyZWN0b3J5ID0gXCJcIjtcbiAgICBmb3IgKGNvbnN0IGNvbmYgb2YgYWxsRmFybUNvbmZpZykge1xuICAgICAgICBpZiAoY29uZi5lbmdpbmVEaXJlY3RvcnkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlbmdpbmVEaXJlY3RvcnkgPSBjb25mLmVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChlbmdpbmVEaXJlY3RvcnkgPT09IFwiXCIpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJBbGwgRW5naW5lIGRpcmVjdG9yeSBpcyBlbXB0eVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBhbGxGYXJtQ29uZmlnWzBdLmNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcblxuICAgIGNvbnN0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDEwLCB1bmRlZmluZWQsIGNvbnRleHQubG9nZ2VyLCBcIkZvcm1zIGhlbHBlcnNcIik7XG4gICAgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgRm9ybXNIZWxwZXJDb250cm9sbGVyKHsgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSB9KVxuICAgICk7XG5cbiAgICBjb25zdCB3ZWJTZXJ2ZXIgPSBuZXcgRXhwcmVzc1NlcnZlcldyYXBwZXIoOTAwMCwgOTA0MywgY29udGV4dC5sb2dnZXIpO1xuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlQ2xpZW50T3ZlcnJpZGUpIHtcbiAgICAgICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyKCkpO1xuICAgIH1cbiAgICBjb25zdCBidWlsZEZvcm1zQ29udHJvbGxlciA9IG5ldyBCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyKFxuICAgICAgICBhbGxGYXJtQ29uZmlnLFxuICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgIGZhbHNlLFxuICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHksXG4gICAgICAgIG9wdGlvbnMubmlnaHRseVxuICAgICk7XG4gICAgY29uc3QgYnVpbGRTZXJ2ZXJDYW5keVdpZGdldENvbnRyb2xsZXIgPSBuZXcgQnVpbGRTZXJ2ZXJDYW5keVdpZGdldENvbnRyb2xsZXIoXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgb3B0aW9ucy5idWlsZERlYnVnT25seSxcbiAgICAgICAge1xuICAgICAgICAgICAgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKGJ1aWxkU2VydmVyQ2FuZHlXaWRnZXRDb250cm9sbGVyKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoYnVpbGRGb3Jtc0NvbnRyb2xsZXIpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZywgYnVpbGRGb3Jtc0NvbnRyb2xsZXIpXG4gICAgKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgRXh0cmFjdFRleHRzRnJvbVN1Z2FyQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnLCBidWlsZEZvcm1zQ29udHJvbGxlcikpO1xuXG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnLCBmYWxzZSwgb3B0aW9ucy5uaWdodGx5KSk7XG5cbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyKCkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyKGNhbmR5TW9kdWxlc0RpcmVjdG9yeSkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzQ29udHJvbGxlcihvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSwge1xuICAgICAgICAgICAgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfSlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZykpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICBhd2FpdCB3ZWJTZXJ2ZXIuc3RvcCgpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdG9wKCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5EZXZCdWlsZFNlcnZlcihcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IERldkJ1aWxkU2VydmVyT3B0aW9ucyxcbiAgICBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW11cbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhbGxGYXJtQ29uZmlnWzBdID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBFcnJvcihcIkNvbmZpZyBjYW4ndCBiZSBsZW5ndGggMFwiKTtcbiAgICB9XG5cbiAgICBsZXQgZW5naW5lRGlyZWN0b3J5ID0gXCJcIjtcbiAgICBmb3IgKGNvbnN0IGNvbmYgb2YgYWxsRmFybUNvbmZpZykge1xuICAgICAgICBpZiAoY29uZi5lbmdpbmVEaXJlY3RvcnkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlbmdpbmVEaXJlY3RvcnkgPSBjb25mLmVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChlbmdpbmVEaXJlY3RvcnkgPT09IFwiXCIpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJBbGwgRW5naW5lIGRpcmVjdG9yeSBpcyBlbXB0eVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBhbGxGYXJtQ29uZmlnWzBdLmNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcblxuICAgIGNvbnN0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDEwLCB1bmRlZmluZWQsIGNvbnRleHQubG9nZ2VyLCBcIkZvcm1zIGhlbHBlcnNcIik7XG4gICAgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgRm9ybXNIZWxwZXJDb250cm9sbGVyKHsgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSB9KVxuICAgICk7XG5cbiAgICBjb25zdCB3ZWJTZXJ2ZXIgPSBuZXcgRXhwcmVzc1NlcnZlcldyYXBwZXIoOTAwMCwgOTA0MywgY29udGV4dC5sb2dnZXIpO1xuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlQ2xpZW50T3ZlcnJpZGUpIHtcbiAgICAgICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIgPSBuZXcgQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcihcbiAgICAgICAgYWxsRmFybUNvbmZpZyxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgICAgICB0cnVlLFxuICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHlcbiAgICApO1xuICAgIGNvbnN0IGJ1aWxkU2VydmVyQ2FuZHlXaWRnZXRDb250cm9sbGVyID0gbmV3IEJ1aWxkU2VydmVyQ2FuZHlXaWRnZXRDb250cm9sbGVyKFxuICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHksXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZyb250RW5kRGV2TW9kZTogb3B0aW9ucy5kZXZlbG9wbWVudE1vZGUsXG4gICAgICAgIH1cbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihidWlsZFNlcnZlckNhbmR5V2lkZ2V0Q29udHJvbGxlcik7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKGJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZywgYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcilcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEV4dHJhY3RUZXh0c0Zyb21TdWdhckNvbnRyb2xsZXIoYWxsRmFybUNvbmZpZywgYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcilcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJGb3JtSW5mb0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZywgdHJ1ZSwgZmFsc2UpKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIoKSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIoY2FuZHlNb2R1bGVzRGlyZWN0b3J5KSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJMb2NhbFNvdXJjZXNFbmdpbmVDb250cm9sbGVyKGVuZ2luZURpcmVjdG9yeSwgb3B0aW9ucy5idWlsZERlYnVnT25seSlcbiAgICApO1xuXG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXIoZW5naW5lRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkRGVidWdPbmx5LCBvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSwge1xuICAgICAgICAgICAgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfSlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZykpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICBhd2FpdCB3ZWJTZXJ2ZXIuc3RvcCgpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdG9wKCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxxQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsc0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGdDQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSw2QkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssc0NBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLDZDQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxnQ0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsOEJBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLDJDQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSw4QkFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsd0NBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLHVDQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxxQ0FBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsaUNBQUEsR0FBQWQsT0FBQTtBQUVPLGVBQWVlLGNBQWNBLENBQ2hDQyxPQUFrQyxFQUNsQ0MsT0FBMkIsRUFDM0JDLGFBQTJCLEVBQ2Q7RUFDYixJQUFBQyxrQ0FBcUIsRUFBQ0QsYUFBYSxDQUFDO0VBRXBDLElBQUlFLGVBQWUsR0FBRyxFQUFFO0VBQ3hCLEtBQUssTUFBTUMsSUFBSSxJQUFJSCxhQUFh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a0VBQWdDLENBQ3pFcEIsZUFBZSxFQUNmSCxPQUFPLENBQUNvQixjQUFjLEVBQ3RCO0lBQ0lQLGVBQWUsRUFBRWIsT0FBTyxDQUFDYztFQUM3QixDQUNKLENBQUM7RUFDREMsU0FBUyxDQUFDSiwwQkFBMEIsQ0FBQ1csZ0NBQWdDLENBQUM7RUFDdEVQLFNBQVMsQ0FBQ0osMEJBQTBCLENBQUN3QiwrQkFBK0IsQ0FBQztFQUNyRXBCLFNBQVMsQ0FBQ0osMEJBQTBCLENBQ2hDLElBQUlhLDRFQUFxQyxDQUFDdkIsYUFBYSxFQUFFa0MsK0JBQStCLENBQzVGLENBQUM7RUFDRHBCLFNBQVMsQ0FBQ0osMEJBQTBCLENBQ2hDLElBQUljLGdFQUErQixDQUFDeEIsYUFBYSxFQUFFa0MsK0JBQStCLENBQ3RGLENBQUM7RUFDRHBCLFNBQVMsQ0FBQ0osMEJBQTBCLENBQUMsSUFBSWUsNERBQTZCLENBQUN6QixhQUFhLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0VBRW5HYyxTQUFTLENBQUNKLDBCQUEwQixDQUFDLElBQUlnQiw4RUFBc0MsQ0FBQyxDQUFDLENBQUM7RUFDbEZaLFNBQVMsQ0FBQ0osMEJBQTBCLENBQUMsSUFBSWlCLDBFQUFvQyxDQUFDckIscUJBQXFCLENBQUMsQ0FBQztFQUNyR1EsU0FBUyxDQUFDSiwwQkFBMEIsQ0FDaEMsSUFBSXlCLGdGQUF1QyxDQUFDakMsZUFBZSxFQUFFSCxPQUFPLENBQUNvQixjQUFjLENBQ3ZGLENBQUM7RUFFREwsU0FBUyxDQUFDSiwwQkFBMEIsQ0FDaEMsSUFBSTBCLDREQUE2QixDQUFDbEMsZUFBZSxFQUFFSCxPQUFPLENBQUNvQixjQUFjLEVBQUVwQixPQUFPLENBQUNnQixxQkFBcUIsRUFBRTtJQUN0R0gsZUFBZSxFQUFFYixPQUFPLENBQUNjO0VBQzdCLENBQUMsQ0FDTCxDQUFDO0VBQ0RDLFNBQVMsQ0FBQ0osMEJBQTBCLENBQUMsSUFBSW1CLDBGQUE0QyxDQUFDN0IsYUFBYSxDQUFDLENBQUM7RUFDckcsTUFBTU8sMkJBQTJCLENBQUN1QixLQUFLLENBQUMsQ0FBQztFQUN6QyxNQUFNaEIsU0FBUyxDQUFDZ0IsS0FBSyxDQUFDLENBQUM7RUFDdkIsTUFBTWhDLE9BQU8sQ0FBQ2lDLFdBQVcsQ0FBQyxDQUFDO0VBQzNCLE1BQU1qQixTQUFTLENBQUNrQixJQUFJLENBQUMsQ0FBQztFQUN0QixNQUFNekIsMkJBQTJCLENBQUN5QixJQUFJLENBQUMsQ0FBQztBQUM1QyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunBuildServer.js","names":["_TypingUtils","require","_ExpressServerWrapper","_FormsHelperController","_ExtractTextsFromSugarController","_BuildLogsWebsocketController","_BuildServerBackendResourcesController","_BuildServerBackendResourcesUpdatesController","_BuildServerBuildFormsController","_BuildServerClientJsController","_BuildServerClientJsFromResourcesController","_BuildServerFormInfoController","_BuildServerLocalSourcesEngineController","_BuildServerPrebuiltResourcesController","_BuildServerPublishedEngineController","runBuildServer","context","options","allFarmConfig","ensureArrayIsNotEmpty","engineDirectory","conf","undefined","Error","candyModulesDirectory","formTestingHelpersWebServer","ExpressServerWrapper","logger","registerSigletonController","FormsHelperController","frontEndDevMode","developmentMode","webServer","disableClientOverride","BuildLogsWebsocketController","buildFormsController","BuildServerBuildFormsController","buildDebugOnly","nightly","BuildServerBackendResourcesController","ExtractTextsFromSugarController","BuildServerFormInfoController","BuildServerPrebuiltResourcesController","BuildServerPublishedEngineController","BuildServerClientJsFromResourcesController","BuildServerBackendResourcesUpdatesController","start","waitForExit","stop","runDevBuildServer","buildServerBuildFormsController","BuildServerLocalSourcesEngineController","BuildServerClientJsController"],"sources":["../../../../../src/CLICommands/BuildServer/RunBuildServer.ts"],"sourcesContent":["import { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { ensureArrayIsNotEmpty } from \"../../../../Common/TypingUtils\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { ExpressServerWrapper } from \"../../Commons/HttpServer/ExpressWrapper/ExpressServerWrapper\";\nimport { FormsHelperController } from \"../FormsHelper/FormsHelperController\";\nimport { ExtractTextsFromSugarController } from \"../SugarExtractor/ExtractTextsFromSugarController\";\n\nimport { BuildLogsWebsocketController } from \"./BuildLogsWebsocketController\";\nimport { BuildServerOptions, DevBuildServerOptions } from \"./BuildServerServerOptions\";\nimport { BuildServerBackendResourcesController } from \"./ResourcesControllers/BuildServerBackendResourcesController\";\nimport { BuildServerBackendResourcesUpdatesController } from \"./ResourcesControllers/BuildServerBackendResourcesUpdatesController\";\nimport { BuildServerBuildFormsController } from \"./ResourcesControllers/BuildServerBuildFormsController\";\nimport { BuildServerClientJsController } from \"./ResourcesControllers/BuildServerClientJsController\";\nimport { BuildServerClientJsFromResourcesController } from \"./ResourcesControllers/BuildServerClientJsFromResourcesController\";\nimport { BuildServerFormInfoController } from \"./ResourcesControllers/BuildServerFormInfoController\";\nimport { BuildServerLocalSourcesEngineController } from \"./ResourcesControllers/BuildServerLocalSourcesEngineController\";\nimport { BuildServerPrebuiltResourcesController } from \"./ResourcesControllers/BuildServerPrebuiltResourcesController\";\nimport { BuildServerPublishedEngineController } from \"./ResourcesControllers/BuildServerPublishedEngineController\";\n\nexport async function runBuildServer(\n context: ConsoleApplicationContext,\n options: BuildServerOptions,\n allFarmConfig: FarmConfig[]\n): Promise<void> {\n ensureArrayIsNotEmpty(allFarmConfig);\n\n let engineDirectory = \"\";\n for (const conf of allFarmConfig) {\n if (conf.engineDirectory != undefined) {\n engineDirectory = conf.engineDirectory;\n break;\n }\n }\n if (engineDirectory === \"\") {\n throw Error(\"All Engine directory is empty\");\n }\n\n const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;\n\n const formTestingHelpersWebServer = new ExpressServerWrapper(9010, undefined, context.logger, \"Forms helpers\");\n formTestingHelpersWebServer.registerSigletonController(\n new FormsHelperController({ frontEndDevMode: options.developmentMode })\n );\n\n const webServer = new ExpressServerWrapper(9000, 9043, context.logger);\n if (!options.disableClientOverride) {\n webServer.registerSigletonController(new BuildLogsWebsocketController());\n }\n const buildFormsController = new BuildServerBuildFormsController(\n allFarmConfig,\n candyModulesDirectory,\n false,\n engineDirectory,\n options.buildDebugOnly,\n options.nightly\n );\n\n webServer.registerSigletonController(buildFormsController);\n webServer.registerSigletonController(\n new BuildServerBackendResourcesController(allFarmConfig, buildFormsController)\n );\n\n webServer.registerSigletonController(new ExtractTextsFromSugarController(allFarmConfig, buildFormsController));\n\n webServer.registerSigletonController(new BuildServerFormInfoController(allFarmConfig, false, options.nightly));\n\n webServer.registerSigletonController(new BuildServerPrebuiltResourcesController());\n webServer.registerSigletonController(new BuildServerPublishedEngineController(candyModulesDirectory));\n webServer.registerSigletonController(\n new BuildServerClientJsFromResourcesController(options.disableClientOverride, {\n frontEndDevMode: options.developmentMode,\n })\n );\n webServer.registerSigletonController(new BuildServerBackendResourcesUpdatesController(allFarmConfig));\n await formTestingHelpersWebServer.start();\n await webServer.start();\n await context.waitForExit();\n await webServer.stop();\n await formTestingHelpersWebServer.stop();\n}\n\nexport async function runDevBuildServer(\n context: ConsoleApplicationContext,\n options: DevBuildServerOptions,\n allFarmConfig: FarmConfig[]\n): Promise<void> {\n if (allFarmConfig[0] == undefined) {\n throw Error(\"Config can't be length 0\");\n }\n\n let engineDirectory = \"\";\n for (const conf of allFarmConfig) {\n if (conf.engineDirectory != undefined) {\n engineDirectory = conf.engineDirectory;\n break;\n }\n }\n if (engineDirectory === \"\") {\n throw Error(\"All Engine directory is empty\");\n }\n\n const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;\n\n const formTestingHelpersWebServer = new ExpressServerWrapper(9010, undefined, context.logger, \"Forms helpers\");\n formTestingHelpersWebServer.registerSigletonController(\n new FormsHelperController({ frontEndDevMode: options.developmentMode })\n );\n\n const webServer = new ExpressServerWrapper(9000, 9043, context.logger);\n if (!options.disableClientOverride) {\n webServer.registerSigletonController(new BuildLogsWebsocketController());\n }\n\n const buildServerBuildFormsController = new BuildServerBuildFormsController(\n allFarmConfig,\n candyModulesDirectory,\n true,\n engineDirectory,\n options.buildDebugOnly\n );\n webServer.registerSigletonController(buildServerBuildFormsController);\n webServer.registerSigletonController(\n new BuildServerBackendResourcesController(allFarmConfig, buildServerBuildFormsController)\n );\n webServer.registerSigletonController(\n new ExtractTextsFromSugarController(allFarmConfig, buildServerBuildFormsController)\n );\n webServer.registerSigletonController(new BuildServerFormInfoController(allFarmConfig, true, false));\n\n webServer.registerSigletonController(new BuildServerPrebuiltResourcesController());\n webServer.registerSigletonController(new BuildServerPublishedEngineController(candyModulesDirectory));\n webServer.registerSigletonController(\n new BuildServerLocalSourcesEngineController(engineDirectory, options.buildDebugOnly)\n );\n\n webServer.registerSigletonController(\n new BuildServerClientJsController(engineDirectory, options.buildDebugOnly, options.disableClientOverride, {\n frontEndDevMode: options.developmentMode,\n })\n );\n webServer.registerSigletonController(new BuildServerBackendResourcesUpdatesController(allFarmConfig));\n await formTestingHelpersWebServer.start();\n await webServer.start();\n await context.waitForExit();\n await webServer.stop();\n await formTestingHelpersWebServer.stop();\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RunBuildServer.js","names":["_TypingUtils","require","_ExpressServerWrapper","_FormsHelperController","_ExtractTextsFromSugarController","_BuildLogsWebsocketController","_BuildServerBackendResourcesController","_BuildServerBackendResourcesUpdatesController","_BuildServerBuildFormsController","_BuildServerClientJsController","_BuildServerClientJsFromResourcesController","_BuildServerFormInfoController","_BuildServerLocalSourcesEngineController","_BuildServerPrebuiltResourcesController","_BuildServerPublishedEngineController","_BuildServerCandyWidgetController","runBuildServer","context","options","allFarmConfig","ensureArrayIsNotEmpty","engineDirectory","conf","undefined","Error","candyModulesDirectory","formTestingHelpersWebServer","ExpressServerWrapper","logger","registerSigletonController","FormsHelperController","frontEndDevMode","developmentMode","webServer","disableClientOverride","BuildLogsWebsocketController","buildFormsController","BuildServerBuildFormsController","buildDebugOnly","nightly","buildServerCandyWidgetController","BuildServerCandyWidgetController","BuildServerBackendResourcesController","ExtractTextsFromSugarController","BuildServerFormInfoController","BuildServerPrebuiltResourcesController","BuildServerPublishedEngineController","BuildServerClientJsFromResourcesController","BuildServerBackendResourcesUpdatesController","start","waitForExit","stop","runDevBuildServer","buildServerBuildFormsController","BuildServerLocalSourcesEngineController","BuildServerClientJsController"],"sources":["../../../../../src/CLICommands/BuildServer/RunBuildServer.ts"],"sourcesContent":["import { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { ensureArrayIsNotEmpty } from \"../../../../Common/TypingUtils\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { ExpressServerWrapper } from \"../../Commons/HttpServer/ExpressWrapper/ExpressServerWrapper\";\nimport { FormsHelperController } from \"../FormsHelper/FormsHelperController\";\nimport { ExtractTextsFromSugarController } from \"../SugarExtractor/ExtractTextsFromSugarController\";\n\nimport { BuildLogsWebsocketController } from \"./BuildLogsWebsocketController\";\nimport { BuildServerOptions, DevBuildServerOptions } from \"./BuildServerServerOptions\";\nimport { BuildServerBackendResourcesController } from \"./ResourcesControllers/BuildServerBackendResourcesController\";\nimport { BuildServerBackendResourcesUpdatesController } from \"./ResourcesControllers/BuildServerBackendResourcesUpdatesController\";\nimport { BuildServerBuildFormsController } from \"./ResourcesControllers/BuildServerBuildFormsController\";\nimport { BuildServerClientJsController } from \"./ResourcesControllers/BuildServerClientJsController\";\nimport { BuildServerClientJsFromResourcesController } from \"./ResourcesControllers/BuildServerClientJsFromResourcesController\";\nimport { BuildServerFormInfoController } from \"./ResourcesControllers/BuildServerFormInfoController\";\nimport { BuildServerLocalSourcesEngineController } from \"./ResourcesControllers/BuildServerLocalSourcesEngineController\";\nimport { BuildServerPrebuiltResourcesController } from \"./ResourcesControllers/BuildServerPrebuiltResourcesController\";\nimport { BuildServerPublishedEngineController } from \"./ResourcesControllers/BuildServerPublishedEngineController\";\nimport { BuildServerCandyWidgetController } from \"./ResourcesControllers/BuildServerCandyWidgetController\";\n\nexport async function runBuildServer(\n context: ConsoleApplicationContext,\n options: BuildServerOptions,\n allFarmConfig: FarmConfig[]\n): Promise<void> {\n ensureArrayIsNotEmpty(allFarmConfig);\n\n let engineDirectory = \"\";\n for (const conf of allFarmConfig) {\n if (conf.engineDirectory != undefined) {\n engineDirectory = conf.engineDirectory;\n break;\n }\n }\n if (engineDirectory === \"\") {\n throw Error(\"All Engine directory is empty\");\n }\n\n const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;\n\n const formTestingHelpersWebServer = new ExpressServerWrapper(9010, undefined, context.logger, \"Forms helpers\");\n formTestingHelpersWebServer.registerSigletonController(\n new FormsHelperController({ frontEndDevMode: options.developmentMode })\n );\n\n const webServer = new ExpressServerWrapper(9000, 9043, context.logger);\n if (!options.disableClientOverride) {\n webServer.registerSigletonController(new BuildLogsWebsocketController());\n }\n const buildFormsController = new BuildServerBuildFormsController(\n allFarmConfig,\n candyModulesDirectory,\n false,\n engineDirectory,\n options.buildDebugOnly,\n options.nightly\n );\n const buildServerCandyWidgetController = new BuildServerCandyWidgetController(\n engineDirectory,\n options.buildDebugOnly,\n {\n frontEndDevMode: options.developmentMode,\n }\n );\n webServer.registerSigletonController(buildServerCandyWidgetController);\n webServer.registerSigletonController(buildFormsController);\n webServer.registerSigletonController(\n new BuildServerBackendResourcesController(allFarmConfig, buildFormsController)\n );\n\n webServer.registerSigletonController(new ExtractTextsFromSugarController(allFarmConfig, buildFormsController));\n\n webServer.registerSigletonController(new BuildServerFormInfoController(allFarmConfig, false, options.nightly));\n\n webServer.registerSigletonController(new BuildServerPrebuiltResourcesController());\n webServer.registerSigletonController(new BuildServerPublishedEngineController(candyModulesDirectory));\n webServer.registerSigletonController(\n new BuildServerClientJsFromResourcesController(options.disableClientOverride, {\n frontEndDevMode: options.developmentMode,\n })\n );\n webServer.registerSigletonController(new BuildServerBackendResourcesUpdatesController(allFarmConfig));\n await formTestingHelpersWebServer.start();\n await webServer.start();\n await context.waitForExit();\n await webServer.stop();\n await formTestingHelpersWebServer.stop();\n}\n\nexport async function runDevBuildServer(\n context: ConsoleApplicationContext,\n options: DevBuildServerOptions,\n allFarmConfig: FarmConfig[]\n): Promise<void> {\n if (allFarmConfig[0] == undefined) {\n throw Error(\"Config can't be length 0\");\n }\n\n let engineDirectory = \"\";\n for (const conf of allFarmConfig) {\n if (conf.engineDirectory != undefined) {\n engineDirectory = conf.engineDirectory;\n break;\n }\n }\n if (engineDirectory === \"\") {\n throw Error(\"All Engine directory is empty\");\n }\n\n const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;\n\n const formTestingHelpersWebServer = new ExpressServerWrapper(9010, undefined, context.logger, \"Forms helpers\");\n formTestingHelpersWebServer.registerSigletonController(\n new FormsHelperController({ frontEndDevMode: options.developmentMode })\n );\n\n const webServer = new ExpressServerWrapper(9000, 9043, context.logger);\n if (!options.disableClientOverride) {\n webServer.registerSigletonController(new BuildLogsWebsocketController());\n }\n\n const buildServerBuildFormsController = new BuildServerBuildFormsController(\n allFarmConfig,\n candyModulesDirectory,\n true,\n engineDirectory,\n options.buildDebugOnly\n );\n const buildServerCandyWidgetController = new BuildServerCandyWidgetController(\n engineDirectory,\n options.buildDebugOnly,\n {\n frontEndDevMode: options.developmentMode,\n }\n );\n webServer.registerSigletonController(buildServerCandyWidgetController);\n webServer.registerSigletonController(buildServerBuildFormsController);\n webServer.registerSigletonController(\n new BuildServerBackendResourcesController(allFarmConfig, buildServerBuildFormsController)\n );\n webServer.registerSigletonController(\n new ExtractTextsFromSugarController(allFarmConfig, buildServerBuildFormsController)\n );\n webServer.registerSigletonController(new BuildServerFormInfoController(allFarmConfig, true, false));\n\n webServer.registerSigletonController(new BuildServerPrebuiltResourcesController());\n webServer.registerSigletonController(new BuildServerPublishedEngineController(candyModulesDirectory));\n webServer.registerSigletonController(\n new BuildServerLocalSourcesEngineController(engineDirectory, options.buildDebugOnly)\n );\n\n webServer.registerSigletonController(\n new BuildServerClientJsController(engineDirectory, options.buildDebugOnly, options.disableClientOverride, {\n frontEndDevMode: options.developmentMode,\n })\n );\n webServer.registerSigletonController(new BuildServerBackendResourcesUpdatesController(allFarmConfig));\n await formTestingHelpersWebServer.start();\n await webServer.start();\n await context.waitForExit();\n await webServer.stop();\n await formTestingHelpersWebServer.stop();\n}\n"],"mappings":"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","ignoreList":[]}
|