@kontur.candy/tools 2.197.0 → 2.198.1

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.
@@ -11,6 +11,6 @@ const testKonturApiPicklist = exports.testKonturApiPicklist = testKonturApi + "/
11
11
  const localCandyApi = exports.localCandyApi = candyApiUrlAtHost("localhost.testkontur.ru");
12
12
  const localNidus = exports.localNidus = `https://localhost.testkontur.ru:8099/nidus`;
13
13
  function candyApiUrlAtHost(host) {
14
- return `https://${host}:21090`;
14
+ return `https://${host}:9182`;
15
15
  }
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0ZXN0S29udHVyQXBpIiwiZXhwb3J0cyIsInRlc3RLb250dXJBcGlDYW5keSIsInRlc3RLb250dXJBcGlQaWNrbGlzdCIsImxvY2FsQ2FuZHlBcGkiLCJjYW5keUFwaVVybEF0SG9zdCIsImxvY2FsTmlkdXMiLCJob3N0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vQ29tbW9uL0VuZFBvaW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdGVzdEtvbnR1ckFwaSA9IFwiaHR0cHM6Ly9hcGkudGVzdGtvbnR1ci5ydVwiO1xuXG5leHBvcnQgY29uc3QgdGVzdEtvbnR1ckFwaUNhbmR5ID0gdGVzdEtvbnR1ckFwaSArIFwiL2NhbmR5XCI7XG5cbmV4cG9ydCBjb25zdCB0ZXN0S29udHVyQXBpUGlja2xpc3QgPSB0ZXN0S29udHVyQXBpICsgXCIvcGlja2xpc3RcIjtcblxuZXhwb3J0IGNvbnN0IGxvY2FsQ2FuZHlBcGkgPSBjYW5keUFwaVVybEF0SG9zdChcImxvY2FsaG9zdC50ZXN0a29udHVyLnJ1XCIpO1xuXG5leHBvcnQgY29uc3QgbG9jYWxOaWR1cyA9IGBodHRwczovL2xvY2FsaG9zdC50ZXN0a29udHVyLnJ1OjgwOTkvbmlkdXNgO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FuZHlBcGlVcmxBdEhvc3QoaG9zdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGh0dHBzOi8vJHtob3N0fToyMTA5MGA7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxNQUFNQSxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxHQUFHLDJCQUEyQjtBQUVqRCxNQUFNRSxrQkFBa0IsR0FBQUQsT0FBQSxDQUFBQyxrQkFBQSxHQUFHRixhQUFhLEdBQUcsUUFBUTtBQUVuRCxNQUFNRyxxQkFBcUIsR0FBQUYsT0FBQSxDQUFBRSxxQkFBQSxHQUFHSCxhQUFhLEdBQUcsV0FBVztBQUV6RCxNQUFNSSxhQUFhLEdBQUFILE9BQUEsQ0FBQUcsYUFBQSxHQUFHQyxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQztBQUVsRSxNQUFNQyxVQUFVLEdBQUFMLE9BQUEsQ0FBQUssVUFBQSxHQUFHLDRDQUE0QztBQUUvRCxTQUFTRCxpQkFBaUJBLENBQUNFLElBQVksRUFBVTtFQUNwRCxPQUFPLFdBQVdBLElBQUksUUFBUTtBQUNsQyIsImlnbm9yZUxpc3QiOltdfQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0ZXN0S29udHVyQXBpIiwiZXhwb3J0cyIsInRlc3RLb250dXJBcGlDYW5keSIsInRlc3RLb250dXJBcGlQaWNrbGlzdCIsImxvY2FsQ2FuZHlBcGkiLCJjYW5keUFwaVVybEF0SG9zdCIsImxvY2FsTmlkdXMiLCJob3N0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vQ29tbW9uL0VuZFBvaW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdGVzdEtvbnR1ckFwaSA9IFwiaHR0cHM6Ly9hcGkudGVzdGtvbnR1ci5ydVwiO1xuXG5leHBvcnQgY29uc3QgdGVzdEtvbnR1ckFwaUNhbmR5ID0gdGVzdEtvbnR1ckFwaSArIFwiL2NhbmR5XCI7XG5cbmV4cG9ydCBjb25zdCB0ZXN0S29udHVyQXBpUGlja2xpc3QgPSB0ZXN0S29udHVyQXBpICsgXCIvcGlja2xpc3RcIjtcblxuZXhwb3J0IGNvbnN0IGxvY2FsQ2FuZHlBcGkgPSBjYW5keUFwaVVybEF0SG9zdChcImxvY2FsaG9zdC50ZXN0a29udHVyLnJ1XCIpO1xuXG5leHBvcnQgY29uc3QgbG9jYWxOaWR1cyA9IGBodHRwczovL2xvY2FsaG9zdC50ZXN0a29udHVyLnJ1OjgwOTkvbmlkdXNgO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FuZHlBcGlVcmxBdEhvc3QoaG9zdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGh0dHBzOi8vJHtob3N0fTo5MTgyYDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFPLE1BQU1BLGFBQWEsR0FBQUMsT0FBQSxDQUFBRCxhQUFBLEdBQUcsMkJBQTJCO0FBRWpELE1BQU1FLGtCQUFrQixHQUFBRCxPQUFBLENBQUFDLGtCQUFBLEdBQUdGLGFBQWEsR0FBRyxRQUFRO0FBRW5ELE1BQU1HLHFCQUFxQixHQUFBRixPQUFBLENBQUFFLHFCQUFBLEdBQUdILGFBQWEsR0FBRyxXQUFXO0FBRXpELE1BQU1JLGFBQWEsR0FBQUgsT0FBQSxDQUFBRyxhQUFBLEdBQUdDLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDO0FBRWxFLE1BQU1DLFVBQVUsR0FBQUwsT0FBQSxDQUFBSyxVQUFBLEdBQUcsNENBQTRDO0FBRS9ELFNBQVNELGlCQUFpQkEsQ0FBQ0UsSUFBWSxFQUFVO0VBQ3BELE9BQU8sV0FBV0EsSUFBSSxPQUFPO0FBQ2pDIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"EndPoints.js","names":["testKonturApi","exports","testKonturApiCandy","testKonturApiPicklist","localCandyApi","candyApiUrlAtHost","localNidus","host"],"sources":["../../../Common/EndPoints.ts"],"sourcesContent":["export const testKonturApi = \"https://api.testkontur.ru\";\n\nexport const testKonturApiCandy = testKonturApi + \"/candy\";\n\nexport const testKonturApiPicklist = testKonturApi + \"/picklist\";\n\nexport const localCandyApi = candyApiUrlAtHost(\"localhost.testkontur.ru\");\n\nexport const localNidus = `https://localhost.testkontur.ru:8099/nidus`;\n\nexport function candyApiUrlAtHost(host: string): string {\n return `https://${host}:21090`;\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,2BAA2B;AAEjD,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAGF,aAAa,GAAG,QAAQ;AAEnD,MAAMG,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAGH,aAAa,GAAG,WAAW;AAEzD,MAAMI,aAAa,GAAAH,OAAA,CAAAG,aAAA,GAAGC,iBAAiB,CAAC,yBAAyB,CAAC;AAElE,MAAMC,UAAU,GAAAL,OAAA,CAAAK,UAAA,GAAG,4CAA4C;AAE/D,SAASD,iBAAiBA,CAACE,IAAY,EAAU;EACpD,OAAO,WAAWA,IAAI,QAAQ;AAClC","ignoreList":[]}
1
+ {"version":3,"file":"EndPoints.js","names":["testKonturApi","exports","testKonturApiCandy","testKonturApiPicklist","localCandyApi","candyApiUrlAtHost","localNidus","host"],"sources":["../../../Common/EndPoints.ts"],"sourcesContent":["export const testKonturApi = \"https://api.testkontur.ru\";\n\nexport const testKonturApiCandy = testKonturApi + \"/candy\";\n\nexport const testKonturApiPicklist = testKonturApi + \"/picklist\";\n\nexport const localCandyApi = candyApiUrlAtHost(\"localhost.testkontur.ru\");\n\nexport const localNidus = `https://localhost.testkontur.ru:8099/nidus`;\n\nexport function candyApiUrlAtHost(host: string): string {\n return `https://${host}:9182`;\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,2BAA2B;AAEjD,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAGF,aAAa,GAAG,QAAQ;AAEnD,MAAMG,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAGH,aAAa,GAAG,WAAW;AAEzD,MAAMI,aAAa,GAAAH,OAAA,CAAAG,aAAA,GAAGC,iBAAiB,CAAC,yBAAyB,CAAC;AAElE,MAAMC,UAAU,GAAAL,OAAA,CAAAK,UAAA,GAAG,4CAA4C;AAE/D,SAASD,iBAAiBA,CAACE,IAAY,EAAU;EACpD,OAAO,WAAWA,IAAI,OAAO;AACjC","ignoreList":[]}
@@ -22,7 +22,7 @@ var _FarmDirectory = require("./Directories/FarmDirectory");
22
22
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class;
23
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
24
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
- let BuildServerBuildFormsController = exports.BuildServerBuildFormsController = (_dec = (0, _Methods.httpGet)("/:update.hot-update.json", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec2 = (0, _Methods.httpGet)("/:update.hot-update.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec3 = (0, _Methods.httpGet)("/:update.hot-update.js.map", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)(/^\/public\/scripts\/(((\d{6,7})(.[\w\-]*)?(.min)?).js)$/i, _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("0", _Params.httpType.String), (0, _Params.httpUrlParam)("1", _Params.httpType.String), (0, _Params.httpUrlParam)("2", _Params.httpType.String)), _dec5 = (0, _Methods.httpGet)(/^\/public\/styles\/(((\d{6,7})(.[\w\-]*)?(.min)?).css)$/i, _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("0", _Params.httpType.String), (0, _Params.httpUrlParam)("1", _Params.httpType.String), (0, _Params.httpUrlParam)("2", _Params.httpType.String), (0, _Params.httpUrlParam)("3", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/public/images/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), (_class = class BuildServerBuildFormsController extends _SingletonController.SingletonController {
25
+ let BuildServerBuildFormsController = exports.BuildServerBuildFormsController = (_dec = (0, _Methods.httpGet)("/:update.hot-update.json", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec2 = (0, _Methods.httpGet)("/:update.hot-update.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec3 = (0, _Methods.httpGet)("/:update.hot-update.js.map", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)(/^\/public\/scripts\/(((\d{6,})(.[\w\-]*)?(.min)?).js)$/i, _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("0", _Params.httpType.String), (0, _Params.httpUrlParam)("1", _Params.httpType.String), (0, _Params.httpUrlParam)("2", _Params.httpType.String)), _dec5 = (0, _Methods.httpGet)(/^\/public\/styles\/(((\d{6,})(.[\w\-]*)?(.min)?).css)$/i, _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("0", _Params.httpType.String), (0, _Params.httpUrlParam)("1", _Params.httpType.String), (0, _Params.httpUrlParam)("2", _Params.httpType.String), (0, _Params.httpUrlParam)("3", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/public/images/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), (_class = class BuildServerBuildFormsController extends _SingletonController.SingletonController {
26
26
  constructor(allFarmConfig, candyModulesDirectory, useGeneratorFromLocalSources, engineDirectory, buildDebugOnly, nightly = false) {
27
27
  super();
28
28
  this.allFarmDirectory = void 0;
@@ -126,4 +126,4 @@ let BuildServerBuildFormsController = exports.BuildServerBuildFormsController =
126
126
  return devServer;
127
127
  }
128
128
  }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJson", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJson"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJs", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJsMap", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJsMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormScript", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getFormScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormStyle", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getFormStyle"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormImages", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getFormImages"), _class.prototype)), _class));
129
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX21pbWVUeXBlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX01ldGhvZHMiLCJfTm90Rm91bmRXZWJFcnJvciIsIl9QYXJhbXMiLCJfUmVzdWx0cyIsIl9TdHJlYW1SZXN1bHRIYW5kbGVyIiwiX1NpbmdsZXRvbkNvbnRyb2xsZXIiLCJfU3RhdGljTG9nZ2VyIiwiX1dlbGxLbm93bkRpcmVjdG9yaWVzIiwiX0J1aWxkRm9ybURldlNlcnZlciIsIl9GYXJtRGlyZWN0b3J5IiwiX2RlYyIsIl9kZWMyIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfY2xhc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiZXhwb3J0cyIsImh0dHBHZXQiLCJodHRwUmV0dXJuIiwiU3RyZWFtV2l0aE1pbWUiLCJodHRwVXJsUGFyYW0iLCJodHRwVHlwZSIsIlN0cmluZyIsIlN0cmVhbSIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImFsbEZhcm1Db25maWciLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJ1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzIiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJuaWdodGx5IiwiYWxsRmFybURpcmVjdG9yeSIsImFsbEZhcm1EaXJlY3RvcnlQYXRoIiwibmV4dEZyZWVQb3J0IiwiZGV2U2VydmVycyIsIm1hcCIsImZhcm0iLCJGYXJtRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsImdldERldlNlcnZlclVwZGF0ZUpzb24iLCJ1cGRhdGVOYW1lIiwiZ2V0Rmlyc3RFeGlzdHNGaWxlQXNTdHJlYW1Gcm9tRGV2U2VydmVyIiwiZ2V0RGV2U2VydmVyVXBkYXRlSnMiLCJnZXREZXZTZXJ2ZXJVcGRhdGVKc01hcCIsImdldEZvcm1TY3JpcHQiLCJmaWxlTmFtZSIsImZpbGVOYW1lV2l0aG91dEV4dCIsImdmdiIsImJ1aWxkRm9ybURldlNlcnZlciIsImdldE9yQ3JlYXRlQnVpbGRGb3JtRGV2U2VydmVyIiwiU3RyZWFtUmVzdWx0IiwiZ2V0RmlsZUFzU3RyZWFtIiwiZ2V0Rm9ybVN0eWxlIiwidGhlbWUiLCJyZXBsYWNlIiwiZ2V0Rm9ybUltYWdlcyIsIm1pbWUiLCJsb29rdXAiLCJmaWxlbmFtZSIsIm1pbWVUeXBlIiwiZGV2U2VydmVyIiwidmFsdWVzIiwidW5kZWZpbmVkIiwiTm90Rm91bmRXZWJFcnJvciIsImdldEFsbEF0dGFjaG1lbnRQYXRoRmlsZU5hbWVzIiwiUHJvbWlzZSIsImFsbCIsImdldEFsbEdmdnMiLCJmbGF0IiwiZ2V0QXR0YWNobWVudFBhdGhzRmlsZUNvbnRlbnQiLCJyZXN1bHRTdHJlYW0iLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJnZXRBbGxOb3JtYWxpemF0aW9uRmlsZU5hbWVzIiwicmVzdWx0IiwiZ2Z2SW5mb3MiLCJnZXRBbGxHZnZXaXRoTG9jYXRpb25zIiwiZm9ybVBhdGgiLCJfZm9ybUNvbmZpZyRzZXR0aW5ncyQiLCJfZm9ybUNvbmZpZyRzZXR0aW5ncyIsImZvcm1Db25maWciLCJyZWFkRm9ybUNvbmZpZyIsImpvaW4iLCJXZWxsS25vd25EaXJlY3RvcmllcyIsIkZvcm1Kc29uRmlsZU5hbWUiLCJnZXRMb2dnZXIiLCJ1c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uIiwic2V0dGluZ3MiLCJwdXNoIiwiZ2V0Tm9ybWFsaXphdGlvbkZpbGVDb250ZW50IiwiX2Zvcm1Db25maWckc2V0dGluZ3MkMiIsIl9mb3JtQ29uZmlnJHNldHRpbmdzMiIsImdmdkluZm8iLCJmaW5kIiwieCIsIkJ1aWxkRm9ybURldlNlcnZlciIsInN0YXJ0IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvcjIiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCBtaW1lIGZyb20gXCJtaW1lLXR5cGVzXCI7XG5pbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuXG5pbXBvcnQgeyByZWFkRm9ybUNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBOb3RGb3VuZFdlYkVycm9yIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL05vdEZvdW5kV2ViRXJyb3JcIjtcbmltcG9ydCB7IGh0dHBUeXBlLCBodHRwVXJsUGFyYW0gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUGFyYW1zXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7IFN0cmVhbVJlc3VsdCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBXZWxsS25vd25EaXJlY3RvcmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9Db21tb24vV2VsbEtub3duRGlyZWN0b3JpZXNcIjtcblxuaW1wb3J0IHsgQnVpbGRGb3JtRGV2U2VydmVyIH0gZnJvbSBcIi4vRGV2U2VydmVycy9CdWlsZEZvcm1EZXZTZXJ2ZXJcIjtcbmltcG9ydCB7IEZhcm1EaXJlY3RvcnkgfSBmcm9tIFwiLi9EaXJlY3Rvcmllcy9GYXJtRGlyZWN0b3J5XCI7XG5pbXBvcnQgeyBJR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlciB9IGZyb20gXCIuL0lHZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyXG4gICAgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyXG4gICAgaW1wbGVtZW50cyBJR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlclxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybURpcmVjdG9yeTogRmFybURpcmVjdG9yeVtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybURpcmVjdG9yeVBhdGg6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgbmV4dEZyZWVQb3J0ID0gMTIwMDE7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZTZXJ2ZXJzOiB7IFtnZnY6IHN0cmluZ106IHVuZGVmaW5lZCB8IEJ1aWxkRm9ybURldlNlcnZlciB9ID0ge307XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbEZhcm1Db25maWc6IEZhcm1Db25maWdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgYWxsRmFybUNvbmZpZzogRmFybUNvbmZpZ1tdLFxuICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlczogYm9vbGVhbixcbiAgICAgICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuLFxuICAgICAgICBuaWdodGx5OiBib29sZWFuID0gZmFsc2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5uaWdodGx5ID0gbmlnaHRseTtcbiAgICAgICAgdGhpcy5hbGxGYXJtRGlyZWN0b3J5ID0gYWxsRmFybUNvbmZpZy5tYXAoZmFybSA9PiBuZXcgRmFybURpcmVjdG9yeShmYXJtLmZhcm1EaXJlY3RvcnkpKTtcbiAgICAgICAgdGhpcy5hbGxGYXJtRGlyZWN0b3J5UGF0aCA9IGFsbEZhcm1Db25maWcubWFwKGZhcm0gPT4gZmFybS5mYXJtRGlyZWN0b3J5KTtcbiAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcyA9IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5ID0gYnVpbGREZWJ1Z09ubHk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiLzp1cGRhdGUuaG90LXVwZGF0ZS5qc29uXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qc29uXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ1cGRhdGVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGV2U2VydmVyVXBkYXRlSnNvbih1cGRhdGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRGaXJzdEV4aXN0c0ZpbGVBc1N0cmVhbUZyb21EZXZTZXJ2ZXIoYHN0YXRpYy8ke3VwZGF0ZU5hbWV9LmhvdC11cGRhdGUuanNvbmApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi86dXBkYXRlLmhvdC11cGRhdGUuanNcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInVwZGF0ZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXREZXZTZXJ2ZXJVcGRhdGVKcyh1cGRhdGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRGaXJzdEV4aXN0c0ZpbGVBc1N0cmVhbUZyb21EZXZTZXJ2ZXIoYHN0YXRpYy8ke3VwZGF0ZU5hbWV9LmhvdC11cGRhdGUuanNgKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvOnVwZGF0ZS5ob3QtdXBkYXRlLmpzLm1hcFwiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vanNvblwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwidXBkYXRlXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldERldlNlcnZlclVwZGF0ZUpzTWFwKHVwZGF0ZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmdldEZpcnN0RXhpc3RzRmlsZUFzU3RyZWFtRnJvbURldlNlcnZlcihgc3RhdGljLyR7dXBkYXRlTmFtZX0uaG90LXVwZGF0ZS5qcy5tYXBgKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgL15cXC9wdWJsaWNcXC9zY3JpcHRzXFwvKCgoXFxkezYsN30pKC5bXFx3XFwtXSopPygubWluKT8pLmpzKSQvaSxcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcIjBcIiwgaHR0cFR5cGUuU3RyaW5nKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiMVwiLCBodHRwVHlwZS5TdHJpbmcpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCIyXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldEZvcm1TY3JpcHQoZmlsZU5hbWU6IHN0cmluZywgZmlsZU5hbWVXaXRob3V0RXh0OiBzdHJpbmcsIGdmdjogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYnVpbGRGb3JtRGV2U2VydmVyID0gYXdhaXQgdGhpcy5nZXRPckNyZWF0ZUJ1aWxkRm9ybURldlNlcnZlcihnZnYpO1xuICAgICAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChhd2FpdCBidWlsZEZvcm1EZXZTZXJ2ZXIuZ2V0RmlsZUFzU3RyZWFtKGBzdGF0aWMvcHVibGljL3NjcmlwdHMvJHtmaWxlTmFtZX1gKSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIC9eXFwvcHVibGljXFwvc3R5bGVzXFwvKCgoXFxkezYsN30pKC5bXFx3XFwtXSopPygubWluKT8pLmNzcykkL2ksXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJ0ZXh0L2Nzc1wiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiMFwiLCBodHRwVHlwZS5TdHJpbmcpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCIxXCIsIGh0dHBUeXBlLlN0cmluZyksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcIjJcIiwgaHR0cFR5cGUuU3RyaW5nKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiM1wiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtU3R5bGUoXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGZpbGVOYW1lV2l0aG91dEV4dDogc3RyaW5nLFxuICAgICAgICBnZnY6IHN0cmluZyxcbiAgICAgICAgdGhlbWU6IHVuZGVmaW5lZCB8IHN0cmluZ1xuICAgICk6IFByb21pc2U8U3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJ1aWxkRm9ybURldlNlcnZlciA9IGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVCdWlsZEZvcm1EZXZTZXJ2ZXIoZ2Z2KTtcbiAgICAgICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQoXG4gICAgICAgICAgICBhd2FpdCBidWlsZEZvcm1EZXZTZXJ2ZXIuZ2V0RmlsZUFzU3RyZWFtKGBzdGF0aWMvcHVibGljL3N0eWxlcy8ke2ZpbGVOYW1lLnJlcGxhY2UodGhlbWUgPz8gXCJcIiwgXCJcIil9YClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvaW1hZ2VzLzpmaWxlbmFtZVwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybUltYWdlcyhmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0Rmlyc3RFeGlzdHNGaWxlQXNTdHJlYW1Gcm9tRGV2U2VydmVyKFxuICAgICAgICAgICAgYHN0YXRpYy9wdWJsaWMvaW1hZ2VzLyR7ZmlsZU5hbWV9YCxcbiAgICAgICAgICAgIG1pbWUubG9va3VwKGZpbGVOYW1lKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0Rmlyc3RFeGlzdHNGaWxlQXNTdHJlYW1Gcm9tRGV2U2VydmVyKGZpbGVuYW1lOiBzdHJpbmcsIG1pbWVUeXBlPzogc3RyaW5nIHwgZmFsc2UpIHtcbiAgICAgICAgZm9yIChjb25zdCBkZXZTZXJ2ZXIgb2YgT2JqZWN0LnZhbHVlcyh0aGlzLmRldlNlcnZlcnMpKSB7XG4gICAgICAgICAgICBpZiAoZGV2U2VydmVyICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KGF3YWl0IGRldlNlcnZlci5nZXRGaWxlQXNTdHJlYW0oZmlsZW5hbWUpLCBtaW1lVHlwZSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRyeSBuZXh0IHNlcnZlclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxBdHRhY2htZW50UGF0aEZpbGVOYW1lcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5hbGxGYXJtRGlyZWN0b3J5Lm1hcChpID0+IGkuZ2V0QWxsR2Z2cygpKSkpLmZsYXQoKS5tYXAoZ2Z2ID0+IGAke2dmdn0uanNvbmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRBdHRhY2htZW50UGF0aHNGaWxlQ29udGVudChnZnY6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIGNvbnN0IGJ1aWxkRm9ybURldlNlcnZlciA9IGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVCdWlsZEZvcm1EZXZTZXJ2ZXIoZ2Z2KTtcbiAgICAgICAgY29uc3QgcmVzdWx0U3RyZWFtID0gYXdhaXQgYnVpbGRGb3JtRGV2U2VydmVyLmdldEdlbmVyYXRlZEZpbGVBc1N0cmVhbShgQXR0YWNobWVudFBhdGhzLmpzb25gKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdFN0cmVhbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsTm9ybWFsaXphdGlvbkZpbGVOYW1lcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgZ2Z2SW5mb3MgPSAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5hbGxGYXJtRGlyZWN0b3J5Lm1hcChpID0+IGkuZ2V0QWxsR2Z2V2l0aExvY2F0aW9ucygpKSkpLmZsYXQoKTtcbiAgICAgICAgZm9yIChjb25zdCB7IGdmdiwgZm9ybVBhdGggfSBvZiBnZnZJbmZvcykge1xuICAgICAgICAgICAgY29uc3QgZm9ybUNvbmZpZyA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKFxuICAgICAgICAgICAgICAgIHBhdGguam9pbihmb3JtUGF0aCwgV2VsbEtub3duRGlyZWN0b3JpZXMuRm9ybUpzb25GaWxlTmFtZSksXG4gICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCB1c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uID0gZm9ybUNvbmZpZy5zZXR0aW5ncz8udXNlU2VydmVyU2lkZUZMYW5nTm9ybWFsaXphdGlvbiA/PyBmYWxzZTtcbiAgICAgICAgICAgIGlmICh1c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goYCR7Z2Z2fS5ub3JtYWxpemVgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXROb3JtYWxpemF0aW9uRmlsZUNvbnRlbnQoZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbSB8IG51bGw+IHtcbiAgICAgICAgY29uc3QgZ2Z2SW5mb3MgPSAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5hbGxGYXJtRGlyZWN0b3J5Lm1hcChpID0+IGkuZ2V0QWxsR2Z2V2l0aExvY2F0aW9ucygpKSkpLmZsYXQoKTtcbiAgICAgICAgY29uc3QgZ2Z2SW5mbyA9IGdmdkluZm9zLmZpbmQoeCA9PiB4LmdmdiA9PT0gZ2Z2KTtcbiAgICAgICAgaWYgKGdmdkluZm8gPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybUNvbmZpZyA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKFxuICAgICAgICAgICAgcGF0aC5qb2luKGdmdkluZm8uZm9ybVBhdGgsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpLFxuICAgICAgICAgICAgZ2V0TG9nZ2VyKClcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdXNlU2VydmVyU2lkZUZMYW5nTm9ybWFsaXphdGlvbiA9IGZvcm1Db25maWcuc2V0dGluZ3M/LnVzZVNlcnZlclNpZGVGTGFuZ05vcm1hbGl6YXRpb24gPz8gZmFsc2U7XG4gICAgICAgIGlmICghdXNlU2VydmVyU2lkZUZMYW5nTm9ybWFsaXphdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnVpbGRGb3JtRGV2U2VydmVyID0gYXdhaXQgdGhpcy5nZXRPckNyZWF0ZUJ1aWxkRm9ybURldlNlcnZlcihnZnYpO1xuICAgICAgICBjb25zdCByZXN1bHRTdHJlYW0gPSBhd2FpdCBidWlsZEZvcm1EZXZTZXJ2ZXIuZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtKGBTZXJ2ZXJTaWRlLm5vcm1hbGl6ZWApO1xuICAgICAgICByZXR1cm4gcmVzdWx0U3RyZWFtO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0T3JDcmVhdGVCdWlsZEZvcm1EZXZTZXJ2ZXIoZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPEJ1aWxkRm9ybURldlNlcnZlcj4ge1xuICAgICAgICBsZXQgZGV2U2VydmVyID0gdGhpcy5kZXZTZXJ2ZXJzW2dmdl07XG4gICAgICAgIGlmIChkZXZTZXJ2ZXIgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkZXZTZXJ2ZXIgPSBuZXcgQnVpbGRGb3JtRGV2U2VydmVyKFxuICAgICAgICAgICAgICAgIHRoaXMubmV4dEZyZWVQb3J0KyssXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICBnZnYsXG4gICAgICAgICAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxGYXJtQ29uZmlnLFxuICAgICAgICAgICAgICAgIHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcyxcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIHRoaXMubmlnaHRseVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZGV2U2VydmVyc1tnZnZdID0gZGV2U2VydmVyO1xuICAgICAgICAgICAgYXdhaXQgZGV2U2VydmVyLnN0YXJ0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRldlNlcnZlcjtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBR0EsSUFBQUcsZ0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGlCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxRQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxvQkFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsb0JBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLHFCQUFBLEdBQUFYLE9BQUE7QUFFQSxJQUFBWSxtQkFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsY0FBQSxHQUFBYixPQUFBO0FBQTRELElBQUFjLElBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLE1BQUE7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBdkIsd0JBQUF1QixDQUFBLEVBQUFF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
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX21pbWVUeXBlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX01ldGhvZHMiLCJfTm90Rm91bmRXZWJFcnJvciIsIl9QYXJhbXMiLCJfUmVzdWx0cyIsIl9TdHJlYW1SZXN1bHRIYW5kbGVyIiwiX1NpbmdsZXRvbkNvbnRyb2xsZXIiLCJfU3RhdGljTG9nZ2VyIiwiX1dlbGxLbm93bkRpcmVjdG9yaWVzIiwiX0J1aWxkRm9ybURldlNlcnZlciIsIl9GYXJtRGlyZWN0b3J5IiwiX2RlYyIsIl9kZWMyIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfY2xhc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiZXhwb3J0cyIsImh0dHBHZXQiLCJodHRwUmV0dXJuIiwiU3RyZWFtV2l0aE1pbWUiLCJodHRwVXJsUGFyYW0iLCJodHRwVHlwZSIsIlN0cmluZyIsIlN0cmVhbSIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImFsbEZhcm1Db25maWciLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJ1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzIiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJuaWdodGx5IiwiYWxsRmFybURpcmVjdG9yeSIsImFsbEZhcm1EaXJlY3RvcnlQYXRoIiwibmV4dEZyZWVQb3J0IiwiZGV2U2VydmVycyIsIm1hcCIsImZhcm0iLCJGYXJtRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsImdldERldlNlcnZlclVwZGF0ZUpzb24iLCJ1cGRhdGVOYW1lIiwiZ2V0Rmlyc3RFeGlzdHNGaWxlQXNTdHJlYW1Gcm9tRGV2U2VydmVyIiwiZ2V0RGV2U2VydmVyVXBkYXRlSnMiLCJnZXREZXZTZXJ2ZXJVcGRhdGVKc01hcCIsImdldEZvcm1TY3JpcHQiLCJmaWxlTmFtZSIsImZpbGVOYW1lV2l0aG91dEV4dCIsImdmdiIsImJ1aWxkRm9ybURldlNlcnZlciIsImdldE9yQ3JlYXRlQnVpbGRGb3JtRGV2U2VydmVyIiwiU3RyZWFtUmVzdWx0IiwiZ2V0RmlsZUFzU3RyZWFtIiwiZ2V0Rm9ybVN0eWxlIiwidGhlbWUiLCJyZXBsYWNlIiwiZ2V0Rm9ybUltYWdlcyIsIm1pbWUiLCJsb29rdXAiLCJmaWxlbmFtZSIsIm1pbWVUeXBlIiwiZGV2U2VydmVyIiwidmFsdWVzIiwidW5kZWZpbmVkIiwiTm90Rm91bmRXZWJFcnJvciIsImdldEFsbEF0dGFjaG1lbnRQYXRoRmlsZU5hbWVzIiwiUHJvbWlzZSIsImFsbCIsImdldEFsbEdmdnMiLCJmbGF0IiwiZ2V0QXR0YWNobWVudFBhdGhzRmlsZUNvbnRlbnQiLCJyZXN1bHRTdHJlYW0iLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJnZXRBbGxOb3JtYWxpemF0aW9uRmlsZU5hbWVzIiwicmVzdWx0IiwiZ2Z2SW5mb3MiLCJnZXRBbGxHZnZXaXRoTG9jYXRpb25zIiwiZm9ybVBhdGgiLCJfZm9ybUNvbmZpZyRzZXR0aW5ncyQiLCJfZm9ybUNvbmZpZyRzZXR0aW5ncyIsImZvcm1Db25maWciLCJyZWFkRm9ybUNvbmZpZyIsImpvaW4iLCJXZWxsS25vd25EaXJlY3RvcmllcyIsIkZvcm1Kc29uRmlsZU5hbWUiLCJnZXRMb2dnZXIiLCJ1c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uIiwic2V0dGluZ3MiLCJwdXNoIiwiZ2V0Tm9ybWFsaXphdGlvbkZpbGVDb250ZW50IiwiX2Zvcm1Db25maWckc2V0dGluZ3MkMiIsIl9mb3JtQ29uZmlnJHNldHRpbmdzMiIsImdmdkluZm8iLCJmaW5kIiwieCIsIkJ1aWxkRm9ybURldlNlcnZlciIsInN0YXJ0IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvcjIiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCBtaW1lIGZyb20gXCJtaW1lLXR5cGVzXCI7XG5pbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuXG5pbXBvcnQgeyByZWFkRm9ybUNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBOb3RGb3VuZFdlYkVycm9yIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL05vdEZvdW5kV2ViRXJyb3JcIjtcbmltcG9ydCB7IGh0dHBUeXBlLCBodHRwVXJsUGFyYW0gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUGFyYW1zXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7IFN0cmVhbVJlc3VsdCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBXZWxsS25vd25EaXJlY3RvcmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9Db21tb24vV2VsbEtub3duRGlyZWN0b3JpZXNcIjtcblxuaW1wb3J0IHsgQnVpbGRGb3JtRGV2U2VydmVyIH0gZnJvbSBcIi4vRGV2U2VydmVycy9CdWlsZEZvcm1EZXZTZXJ2ZXJcIjtcbmltcG9ydCB7IEZhcm1EaXJlY3RvcnkgfSBmcm9tIFwiLi9EaXJlY3Rvcmllcy9GYXJtRGlyZWN0b3J5XCI7XG5pbXBvcnQgeyBJR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlciB9IGZyb20gXCIuL0lHZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyXG4gICAgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyXG4gICAgaW1wbGVtZW50cyBJR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlclxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybURpcmVjdG9yeTogRmFybURpcmVjdG9yeVtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybURpcmVjdG9yeVBhdGg6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgbmV4dEZyZWVQb3J0ID0gMTIwMDE7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZTZXJ2ZXJzOiB7IFtnZnY6IHN0cmluZ106IHVuZGVmaW5lZCB8IEJ1aWxkRm9ybURldlNlcnZlciB9ID0ge307XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbEZhcm1Db25maWc6IEZhcm1Db25maWdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgYWxsRmFybUNvbmZpZzogRmFybUNvbmZpZ1tdLFxuICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlczogYm9vbGVhbixcbiAgICAgICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuLFxuICAgICAgICBuaWdodGx5OiBib29sZWFuID0gZmFsc2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5uaWdodGx5ID0gbmlnaHRseTtcbiAgICAgICAgdGhpcy5hbGxGYXJtRGlyZWN0b3J5ID0gYWxsRmFybUNvbmZpZy5tYXAoZmFybSA9PiBuZXcgRmFybURpcmVjdG9yeShmYXJtLmZhcm1EaXJlY3RvcnkpKTtcbiAgICAgICAgdGhpcy5hbGxGYXJtRGlyZWN0b3J5UGF0aCA9IGFsbEZhcm1Db25maWcubWFwKGZhcm0gPT4gZmFybS5mYXJtRGlyZWN0b3J5KTtcbiAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcyA9IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5ID0gYnVpbGREZWJ1Z09ubHk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiLzp1cGRhdGUuaG90LXVwZGF0ZS5qc29uXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qc29uXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ1cGRhdGVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGV2U2VydmVyVXBkYXRlSnNvbih1cGRhdGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRGaXJzdEV4aXN0c0ZpbGVBc1N0cmVhbUZyb21EZXZTZXJ2ZXIoYHN0YXRpYy8ke3VwZGF0ZU5hbWV9LmhvdC11cGRhdGUuanNvbmApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi86dXBkYXRlLmhvdC11cGRhdGUuanNcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInVwZGF0ZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXREZXZTZXJ2ZXJVcGRhdGVKcyh1cGRhdGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRGaXJzdEV4aXN0c0ZpbGVBc1N0cmVhbUZyb21EZXZTZXJ2ZXIoYHN0YXRpYy8ke3VwZGF0ZU5hbWV9LmhvdC11cGRhdGUuanNgKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvOnVwZGF0ZS5ob3QtdXBkYXRlLmpzLm1hcFwiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vanNvblwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwidXBkYXRlXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldERldlNlcnZlclVwZGF0ZUpzTWFwKHVwZGF0ZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmdldEZpcnN0RXhpc3RzRmlsZUFzU3RyZWFtRnJvbURldlNlcnZlcihgc3RhdGljLyR7dXBkYXRlTmFtZX0uaG90LXVwZGF0ZS5qcy5tYXBgKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgL15cXC9wdWJsaWNcXC9zY3JpcHRzXFwvKCgoXFxkezYsfSkoLltcXHdcXC1dKik/KC5taW4pPykuanMpJC9pLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiMFwiLCBodHRwVHlwZS5TdHJpbmcpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCIxXCIsIGh0dHBUeXBlLlN0cmluZyksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcIjJcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybVNjcmlwdChmaWxlTmFtZTogc3RyaW5nLCBmaWxlTmFtZVdpdGhvdXRFeHQ6IHN0cmluZywgZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBjb25zdCBidWlsZEZvcm1EZXZTZXJ2ZXIgPSBhd2FpdCB0aGlzLmdldE9yQ3JlYXRlQnVpbGRGb3JtRGV2U2VydmVyKGdmdik7XG4gICAgICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KGF3YWl0IGJ1aWxkRm9ybURldlNlcnZlci5nZXRGaWxlQXNTdHJlYW0oYHN0YXRpYy9wdWJsaWMvc2NyaXB0cy8ke2ZpbGVOYW1lfWApKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgL15cXC9wdWJsaWNcXC9zdHlsZXNcXC8oKChcXGR7Nix9KSguW1xcd1xcLV0qKT8oLm1pbik/KS5jc3MpJC9pLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwidGV4dC9jc3NcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcIjBcIiwgaHR0cFR5cGUuU3RyaW5nKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwiMVwiLCBodHRwVHlwZS5TdHJpbmcpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCIyXCIsIGh0dHBUeXBlLlN0cmluZyksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcIjNcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybVN0eWxlKFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZVdpdGhvdXRFeHQ6IHN0cmluZyxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIHRoZW1lOiB1bmRlZmluZWQgfCBzdHJpbmdcbiAgICApOiBQcm9taXNlPFN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBjb25zdCBidWlsZEZvcm1EZXZTZXJ2ZXIgPSBhd2FpdCB0aGlzLmdldE9yQ3JlYXRlQnVpbGRGb3JtRGV2U2VydmVyKGdmdik7XG4gICAgICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KFxuICAgICAgICAgICAgYXdhaXQgYnVpbGRGb3JtRGV2U2VydmVyLmdldEZpbGVBc1N0cmVhbShgc3RhdGljL3B1YmxpYy9zdHlsZXMvJHtmaWxlTmFtZS5yZXBsYWNlKHRoZW1lID8/IFwiXCIsIFwiXCIpfWApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL2ltYWdlcy86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImZpbGVuYW1lXCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldEZvcm1JbWFnZXMoZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmdldEZpcnN0RXhpc3RzRmlsZUFzU3RyZWFtRnJvbURldlNlcnZlcihcbiAgICAgICAgICAgIGBzdGF0aWMvcHVibGljL2ltYWdlcy8ke2ZpbGVOYW1lfWAsXG4gICAgICAgICAgICBtaW1lLmxvb2t1cChmaWxlTmFtZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldEZpcnN0RXhpc3RzRmlsZUFzU3RyZWFtRnJvbURldlNlcnZlcihmaWxlbmFtZTogc3RyaW5nLCBtaW1lVHlwZT86IHN0cmluZyB8IGZhbHNlKSB7XG4gICAgICAgIGZvciAoY29uc3QgZGV2U2VydmVyIG9mIE9iamVjdC52YWx1ZXModGhpcy5kZXZTZXJ2ZXJzKSkge1xuICAgICAgICAgICAgaWYgKGRldlNlcnZlciAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChhd2FpdCBkZXZTZXJ2ZXIuZ2V0RmlsZUFzU3RyZWFtKGZpbGVuYW1lKSwgbWltZVR5cGUpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAvLyB0cnkgbmV4dCBzZXJ2ZXJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsQXR0YWNobWVudFBhdGhGaWxlTmFtZXMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yeS5tYXAoaSA9PiBpLmdldEFsbEdmdnMoKSkpKS5mbGF0KCkubWFwKGdmdiA9PiBgJHtnZnZ9Lmpzb25gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0QXR0YWNobWVudFBhdGhzRmlsZUNvbnRlbnQoZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICBjb25zdCBidWlsZEZvcm1EZXZTZXJ2ZXIgPSBhd2FpdCB0aGlzLmdldE9yQ3JlYXRlQnVpbGRGb3JtRGV2U2VydmVyKGdmdik7XG4gICAgICAgIGNvbnN0IHJlc3VsdFN0cmVhbSA9IGF3YWl0IGJ1aWxkRm9ybURldlNlcnZlci5nZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oYEF0dGFjaG1lbnRQYXRocy5qc29uYCk7XG4gICAgICAgIHJldHVybiByZXN1bHRTdHJlYW07XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEFsbE5vcm1hbGl6YXRpb25GaWxlTmFtZXMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IGdmdkluZm9zID0gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yeS5tYXAoaSA9PiBpLmdldEFsbEdmdldpdGhMb2NhdGlvbnMoKSkpKS5mbGF0KCk7XG4gICAgICAgIGZvciAoY29uc3QgeyBnZnYsIGZvcm1QYXRoIH0gb2YgZ2Z2SW5mb3MpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1Db25maWcgPSBhd2FpdCByZWFkRm9ybUNvbmZpZyhcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4oZm9ybVBhdGgsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpLFxuICAgICAgICAgICAgICAgIGdldExvZ2dlcigpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgdXNlU2VydmVyU2lkZUZMYW5nTm9ybWFsaXphdGlvbiA9IGZvcm1Db25maWcuc2V0dGluZ3M/LnVzZVNlcnZlclNpZGVGTGFuZ05vcm1hbGl6YXRpb24gPz8gZmFsc2U7XG4gICAgICAgICAgICBpZiAodXNlU2VydmVyU2lkZUZMYW5nTm9ybWFsaXphdGlvbikge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGAke2dmdn0ubm9ybWFsaXplYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Tm9ybWFsaXphdGlvbkZpbGVDb250ZW50KGdmdjogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0gfCBudWxsPiB7XG4gICAgICAgIGNvbnN0IGdmdkluZm9zID0gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yeS5tYXAoaSA9PiBpLmdldEFsbEdmdldpdGhMb2NhdGlvbnMoKSkpKS5mbGF0KCk7XG4gICAgICAgIGNvbnN0IGdmdkluZm8gPSBnZnZJbmZvcy5maW5kKHggPT4geC5nZnYgPT09IGdmdik7XG4gICAgICAgIGlmIChnZnZJbmZvID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1Db25maWcgPSBhd2FpdCByZWFkRm9ybUNvbmZpZyhcbiAgICAgICAgICAgIHBhdGguam9pbihnZnZJbmZvLmZvcm1QYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSxcbiAgICAgICAgICAgIGdldExvZ2dlcigpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHVzZVNlcnZlclNpZGVGTGFuZ05vcm1hbGl6YXRpb24gPSBmb3JtQ29uZmlnLnNldHRpbmdzPy51c2VTZXJ2ZXJTaWRlRkxhbmdOb3JtYWxpemF0aW9uID8/IGZhbHNlO1xuICAgICAgICBpZiAoIXVzZVNlcnZlclNpZGVGTGFuZ05vcm1hbGl6YXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJ1aWxkRm9ybURldlNlcnZlciA9IGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVCdWlsZEZvcm1EZXZTZXJ2ZXIoZ2Z2KTtcbiAgICAgICAgY29uc3QgcmVzdWx0U3RyZWFtID0gYXdhaXQgYnVpbGRGb3JtRGV2U2VydmVyLmdldEdlbmVyYXRlZEZpbGVBc1N0cmVhbShgU2VydmVyU2lkZS5ub3JtYWxpemVgKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdFN0cmVhbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldE9yQ3JlYXRlQnVpbGRGb3JtRGV2U2VydmVyKGdmdjogc3RyaW5nKTogUHJvbWlzZTxCdWlsZEZvcm1EZXZTZXJ2ZXI+IHtcbiAgICAgICAgbGV0IGRldlNlcnZlciA9IHRoaXMuZGV2U2VydmVyc1tnZnZdO1xuICAgICAgICBpZiAoZGV2U2VydmVyID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZGV2U2VydmVyID0gbmV3IEJ1aWxkRm9ybURldlNlcnZlcihcbiAgICAgICAgICAgICAgICB0aGlzLm5leHRGcmVlUG9ydCsrLFxuICAgICAgICAgICAgICAgIHRoaXMuYWxsRmFybURpcmVjdG9yeVBhdGgsXG4gICAgICAgICAgICAgICAgZ2Z2LFxuICAgICAgICAgICAgICAgIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyxcbiAgICAgICAgICAgICAgICB0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMsXG4gICAgICAgICAgICAgICAgdGhpcy5lbmdpbmVEaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSxcbiAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICB0aGlzLm5pZ2h0bHlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmRldlNlcnZlcnNbZ2Z2XSA9IGRldlNlcnZlcjtcbiAgICAgICAgICAgIGF3YWl0IGRldlNlcnZlci5zdGFydCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZXZTZXJ2ZXI7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUdBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sUUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsb0JBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLG9CQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxhQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxxQkFBQSxHQUFBWCxPQUFBO0FBRUEsSUFBQVksbUJBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLGNBQUEsR0FBQWIsT0FBQTtBQUE0RCxJQUFBYyxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQXZCLHdCQUFBdUIsQ0FBQSxFQUFBRSxD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
@@ -1 +1 @@
1
- {"version":3,"file":"BuildServerBuildFormsController.js","names":["path","_interopRequireWildcard","require","_mimeTypes","_interopRequireDefault","_ResolveFormInfo","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_StaticLogger","_WellKnownDirectories","_BuildFormDevServer","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBuildFormsController","exports","httpGet","httpReturn","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","candyModulesDirectory","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","nightly","allFarmDirectory","allFarmDirectoryPath","nextFreePort","devServers","map","farm","FarmDirectory","farmDirectory","getDevServerUpdateJson","updateName","getFirstExistsFileAsStreamFromDevServer","getDevServerUpdateJs","getDevServerUpdateJsMap","getFormScript","fileName","fileNameWithoutExt","gfv","buildFormDevServer","getOrCreateBuildFormDevServer","StreamResult","getFileAsStream","getFormStyle","theme","replace","getFormImages","mime","lookup","filename","mimeType","devServer","values","undefined","NotFoundWebError","getAllAttachmentPathFileNames","Promise","all","getAllGfvs","flat","getAttachmentPathsFileContent","resultStream","getGeneratedFileAsStream","getAllNormalizationFileNames","result","gfvInfos","getAllGfvWithLocations","formPath","_formConfig$settings$","_formConfig$settings","formConfig","readFormConfig","join","WellKnownDirectories","FormJsonFileName","getLogger","useServerSideFLangNormalization","settings","push","getNormalizationFileContent","_formConfig$settings$2","_formConfig$settings2","gfvInfo","find","x","BuildFormDevServer","start","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport mime from \"mime-types\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { readFormConfig } from \"../../../BuildTasks/ResolveFormInfo\";\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { StreamResult } from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { getLogger } from \"../../../Commons/Logging/StaticLogger\";\nimport { WellKnownDirectories } from \"../../../../../Common/WellKnownDirectories\";\n\nimport { BuildFormDevServer } from \"./DevServers/BuildFormDevServer\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\n\nexport class BuildServerBuildFormsController\n extends SingletonController\n implements IGeneratedServerSideSourcesProvider\n{\n private readonly allFarmDirectory: FarmDirectory[];\n private readonly allFarmDirectoryPath: string[];\n private nextFreePort = 12001;\n private readonly devServers: { [gfv: string]: undefined | BuildFormDevServer } = {};\n private readonly candyModulesDirectory: string;\n private readonly allFarmConfig: FarmConfig[];\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n\n public constructor(\n allFarmConfig: FarmConfig[],\n candyModulesDirectory: string,\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n nightly: boolean = false\n ) {\n super();\n this.nightly = nightly;\n this.allFarmDirectory = allFarmConfig.map(farm => new FarmDirectory(farm.farmDirectory));\n this.allFarmDirectoryPath = allFarmConfig.map(farm => farm.farmDirectory);\n this.candyModulesDirectory = candyModulesDirectory;\n this.allFarmConfig = allFarmConfig;\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n }\n\n @httpGet(\n \"/:update.hot-update.json\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJson(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.json`);\n }\n\n @httpGet(\n \"/:update.hot-update.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJs(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.js`);\n }\n\n @httpGet(\n \"/:update.hot-update.js.map\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJsMap(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.js.map`);\n }\n\n @httpGet(\n /^\\/public\\/scripts\\/(((\\d{6,7})(.[\\w\\-]*)?(.min)?).js)$/i,\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"0\", httpType.String),\n httpUrlParam(\"1\", httpType.String),\n httpUrlParam(\"2\", httpType.String)\n )\n public async getFormScript(fileName: string, fileNameWithoutExt: string, gfv: string): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n return new StreamResult(await buildFormDevServer.getFileAsStream(`static/public/scripts/${fileName}`));\n }\n\n @httpGet(\n /^\\/public\\/styles\\/(((\\d{6,7})(.[\\w\\-]*)?(.min)?).css)$/i,\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"0\", httpType.String),\n httpUrlParam(\"1\", httpType.String),\n httpUrlParam(\"2\", httpType.String),\n httpUrlParam(\"3\", httpType.String)\n )\n public async getFormStyle(\n fileName: string,\n fileNameWithoutExt: string,\n gfv: string,\n theme: undefined | string\n ): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n return new StreamResult(\n await buildFormDevServer.getFileAsStream(`static/public/styles/${fileName.replace(theme ?? \"\", \"\")}`)\n );\n }\n\n @httpGet(\"/public/images/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormImages(fileName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(\n `static/public/images/${fileName}`,\n mime.lookup(fileName)\n );\n }\n\n private async getFirstExistsFileAsStreamFromDevServer(filename: string, mimeType?: string | false) {\n for (const devServer of Object.values(this.devServers)) {\n if (devServer != undefined) {\n try {\n return new StreamResult(await devServer.getFileAsStream(filename), mimeType);\n } catch {\n // try next server\n }\n }\n }\n throw new NotFoundWebError(\"File not found\", true);\n }\n\n public async getAllAttachmentPathFileNames(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvs()))).flat().map(gfv => `${gfv}.json`);\n }\n\n public async getAttachmentPathsFileContent(gfv: string): Promise<NodeJS.ReadableStream> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`AttachmentPaths.json`);\n return resultStream;\n }\n\n public async getAllNormalizationFileNames(): Promise<string[]> {\n const result: string[] = [];\n const gfvInfos = (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvWithLocations()))).flat();\n for (const { gfv, formPath } of gfvInfos) {\n const formConfig = await readFormConfig(\n path.join(formPath, WellKnownDirectories.FormJsonFileName),\n getLogger()\n );\n const useServerSideFLangNormalization = formConfig.settings?.useServerSideFLangNormalization ?? false;\n if (useServerSideFLangNormalization) {\n result.push(`${gfv}.normalize`);\n }\n }\n return result;\n }\n\n public async getNormalizationFileContent(gfv: string): Promise<NodeJS.ReadableStream | null> {\n const gfvInfos = (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvWithLocations()))).flat();\n const gfvInfo = gfvInfos.find(x => x.gfv === gfv);\n if (gfvInfo == null) {\n return null;\n }\n const formConfig = await readFormConfig(\n path.join(gfvInfo.formPath, WellKnownDirectories.FormJsonFileName),\n getLogger()\n );\n const useServerSideFLangNormalization = formConfig.settings?.useServerSideFLangNormalization ?? false;\n if (!useServerSideFLangNormalization) {\n return null;\n }\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`ServerSide.normalize`);\n return resultStream;\n }\n\n private async getOrCreateBuildFormDevServer(gfv: string): Promise<BuildFormDevServer> {\n let devServer = this.devServers[gfv];\n if (devServer == undefined) {\n devServer = new BuildFormDevServer(\n this.nextFreePort++,\n this.allFarmDirectoryPath,\n gfv,\n this.candyModulesDirectory,\n this.allFarmConfig,\n this.useGeneratorFromLocalSources,\n this.engineDirectory,\n this.buildDebugOnly,\n false,\n this.nightly\n );\n this.devServers[gfv] = devServer;\n await devServer.start();\n }\n return devServer;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BuildServerBuildFormsController.js","names":["path","_interopRequireWildcard","require","_mimeTypes","_interopRequireDefault","_ResolveFormInfo","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_StaticLogger","_WellKnownDirectories","_BuildFormDevServer","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBuildFormsController","exports","httpGet","httpReturn","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","candyModulesDirectory","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","nightly","allFarmDirectory","allFarmDirectoryPath","nextFreePort","devServers","map","farm","FarmDirectory","farmDirectory","getDevServerUpdateJson","updateName","getFirstExistsFileAsStreamFromDevServer","getDevServerUpdateJs","getDevServerUpdateJsMap","getFormScript","fileName","fileNameWithoutExt","gfv","buildFormDevServer","getOrCreateBuildFormDevServer","StreamResult","getFileAsStream","getFormStyle","theme","replace","getFormImages","mime","lookup","filename","mimeType","devServer","values","undefined","NotFoundWebError","getAllAttachmentPathFileNames","Promise","all","getAllGfvs","flat","getAttachmentPathsFileContent","resultStream","getGeneratedFileAsStream","getAllNormalizationFileNames","result","gfvInfos","getAllGfvWithLocations","formPath","_formConfig$settings$","_formConfig$settings","formConfig","readFormConfig","join","WellKnownDirectories","FormJsonFileName","getLogger","useServerSideFLangNormalization","settings","push","getNormalizationFileContent","_formConfig$settings$2","_formConfig$settings2","gfvInfo","find","x","BuildFormDevServer","start","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport mime from \"mime-types\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { readFormConfig } from \"../../../BuildTasks/ResolveFormInfo\";\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { StreamResult } from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { getLogger } from \"../../../Commons/Logging/StaticLogger\";\nimport { WellKnownDirectories } from \"../../../../../Common/WellKnownDirectories\";\n\nimport { BuildFormDevServer } from \"./DevServers/BuildFormDevServer\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\n\nexport class BuildServerBuildFormsController\n extends SingletonController\n implements IGeneratedServerSideSourcesProvider\n{\n private readonly allFarmDirectory: FarmDirectory[];\n private readonly allFarmDirectoryPath: string[];\n private nextFreePort = 12001;\n private readonly devServers: { [gfv: string]: undefined | BuildFormDevServer } = {};\n private readonly candyModulesDirectory: string;\n private readonly allFarmConfig: FarmConfig[];\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n\n public constructor(\n allFarmConfig: FarmConfig[],\n candyModulesDirectory: string,\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n nightly: boolean = false\n ) {\n super();\n this.nightly = nightly;\n this.allFarmDirectory = allFarmConfig.map(farm => new FarmDirectory(farm.farmDirectory));\n this.allFarmDirectoryPath = allFarmConfig.map(farm => farm.farmDirectory);\n this.candyModulesDirectory = candyModulesDirectory;\n this.allFarmConfig = allFarmConfig;\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n }\n\n @httpGet(\n \"/:update.hot-update.json\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJson(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.json`);\n }\n\n @httpGet(\n \"/:update.hot-update.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJs(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.js`);\n }\n\n @httpGet(\n \"/:update.hot-update.js.map\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJsMap(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.js.map`);\n }\n\n @httpGet(\n /^\\/public\\/scripts\\/(((\\d{6,})(.[\\w\\-]*)?(.min)?).js)$/i,\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"0\", httpType.String),\n httpUrlParam(\"1\", httpType.String),\n httpUrlParam(\"2\", httpType.String)\n )\n public async getFormScript(fileName: string, fileNameWithoutExt: string, gfv: string): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n return new StreamResult(await buildFormDevServer.getFileAsStream(`static/public/scripts/${fileName}`));\n }\n\n @httpGet(\n /^\\/public\\/styles\\/(((\\d{6,})(.[\\w\\-]*)?(.min)?).css)$/i,\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"0\", httpType.String),\n httpUrlParam(\"1\", httpType.String),\n httpUrlParam(\"2\", httpType.String),\n httpUrlParam(\"3\", httpType.String)\n )\n public async getFormStyle(\n fileName: string,\n fileNameWithoutExt: string,\n gfv: string,\n theme: undefined | string\n ): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n return new StreamResult(\n await buildFormDevServer.getFileAsStream(`static/public/styles/${fileName.replace(theme ?? \"\", \"\")}`)\n );\n }\n\n @httpGet(\"/public/images/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormImages(fileName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(\n `static/public/images/${fileName}`,\n mime.lookup(fileName)\n );\n }\n\n private async getFirstExistsFileAsStreamFromDevServer(filename: string, mimeType?: string | false) {\n for (const devServer of Object.values(this.devServers)) {\n if (devServer != undefined) {\n try {\n return new StreamResult(await devServer.getFileAsStream(filename), mimeType);\n } catch {\n // try next server\n }\n }\n }\n throw new NotFoundWebError(\"File not found\", true);\n }\n\n public async getAllAttachmentPathFileNames(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvs()))).flat().map(gfv => `${gfv}.json`);\n }\n\n public async getAttachmentPathsFileContent(gfv: string): Promise<NodeJS.ReadableStream> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`AttachmentPaths.json`);\n return resultStream;\n }\n\n public async getAllNormalizationFileNames(): Promise<string[]> {\n const result: string[] = [];\n const gfvInfos = (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvWithLocations()))).flat();\n for (const { gfv, formPath } of gfvInfos) {\n const formConfig = await readFormConfig(\n path.join(formPath, WellKnownDirectories.FormJsonFileName),\n getLogger()\n );\n const useServerSideFLangNormalization = formConfig.settings?.useServerSideFLangNormalization ?? false;\n if (useServerSideFLangNormalization) {\n result.push(`${gfv}.normalize`);\n }\n }\n return result;\n }\n\n public async getNormalizationFileContent(gfv: string): Promise<NodeJS.ReadableStream | null> {\n const gfvInfos = (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvWithLocations()))).flat();\n const gfvInfo = gfvInfos.find(x => x.gfv === gfv);\n if (gfvInfo == null) {\n return null;\n }\n const formConfig = await readFormConfig(\n path.join(gfvInfo.formPath, WellKnownDirectories.FormJsonFileName),\n getLogger()\n );\n const useServerSideFLangNormalization = formConfig.settings?.useServerSideFLangNormalization ?? false;\n if (!useServerSideFLangNormalization) {\n return null;\n }\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`ServerSide.normalize`);\n return resultStream;\n }\n\n private async getOrCreateBuildFormDevServer(gfv: string): Promise<BuildFormDevServer> {\n let devServer = this.devServers[gfv];\n if (devServer == undefined) {\n devServer = new BuildFormDevServer(\n this.nextFreePort++,\n this.allFarmDirectoryPath,\n gfv,\n this.candyModulesDirectory,\n this.allFarmConfig,\n this.useGeneratorFromLocalSources,\n this.engineDirectory,\n this.buildDebugOnly,\n false,\n this.nightly\n );\n this.devServers[gfv] = devServer;\n await devServer.start();\n }\n return devServer;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,13 +16,13 @@ class ToolsApiClient {
16
16
  });
17
17
  }
18
18
  async compileNormalizationRules(rules, normalizerId) {
19
- return this.httpClient.post(this.getUrl("compile-normalization-rules")).withQueryParams({
19
+ return this.httpClient.post(this.getUrl("compile-normalization-rules")).withQueryParams(normalizerId != undefined ? {
20
20
  normalizerId: normalizerId
21
- }).withJsonBody(rules).json();
21
+ } : {}).withJsonBody(rules).json();
22
22
  }
23
23
  getUrl(draftRelatedUrl) {
24
24
  return `v1/tools/${draftRelatedUrl}`;
25
25
  }
26
26
  }
27
27
  exports.ToolsApiClient = ToolsApiClient;
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQXV0aGVudGljYXRpb25Nb2RlIiwicmVxdWlyZSIsIl9IdHRwQ2xpZW50IiwiX05vZGVGZXRjaCIsIl9FbmRQb2ludHMiLCJUb29sc0FwaUNsaWVudCIsImNvbnN0cnVjdG9yIiwiYmFzZVVybCIsInJlc291cmNlWm9uZSIsImF1dGhlbnRpY2F0aW9uIiwiaHR0cENsaWVudCIsIkh0dHBDbGllbnQiLCJub2RlRmV0Y2giLCJsb2NhbENhbmR5QXBpIiwiY3JlYXRlQXV0aGVudGljYXRpb25Qcm92aWRlciIsImNvbXBpbGVOb3JtYWxpemF0aW9uUnVsZXMiLCJydWxlcyIsIm5vcm1hbGl6ZXJJZCIsInBvc3QiLCJnZXRVcmwiLCJ3aXRoUXVlcnlQYXJhbXMiLCJ3aXRoSnNvbkJvZHkiLCJqc29uIiwiZHJhZnRSZWxhdGVkVXJsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL0FwaUNsaWVudC9Ub29sc0FwaUNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSHR0cENsaWVudCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vSHR0cENsaWVudC9JSHR0cENsaWVudFwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25Nb2RlLCBjcmVhdGVBdXRoZW50aWNhdGlvblByb3ZpZGVyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbi9IdHRwQ2xpZW50L0F1dGhlbnRpY2F0aW9uTW9kZVwiO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vSHR0cENsaWVudC9IdHRwQ2xpZW50XCI7XG5pbXBvcnQgeyBub2RlRmV0Y2ggfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL0h0dHBDbGllbnQvRmV0Y2hJbXBsZW1lbnRhdGlvbi9Ob2RlRmV0Y2hcIjtcbmltcG9ydCB7IGxvY2FsQ2FuZHlBcGkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL0VuZFBvaW50c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBpbGVOb3JtYWxpemF0aW9uUnVsZXNSZXN1bHQge1xuICAgIGRpYWdub3N0aWNNZXNzYWdlcz86IHN0cmluZ1tdO1xuICAgIHNvdXJjZVRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUb29sc0FwaUNsaWVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBJSHR0cENsaWVudDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihiYXNlVXJsPzogc3RyaW5nLCByZXNvdXJjZVpvbmU/OiBzdHJpbmcsIGF1dGhlbnRpY2F0aW9uPzogQXV0aGVudGljYXRpb25Nb2RlKSB7XG4gICAgICAgIHRoaXMuaHR0cENsaWVudCA9IG5ldyBIdHRwQ2xpZW50KFxuICAgICAgICAgICAgbm9kZUZldGNoLFxuICAgICAgICAgICAgYmFzZVVybCA/PyBsb2NhbENhbmR5QXBpLFxuICAgICAgICAgICAgY3JlYXRlQXV0aGVudGljYXRpb25Qcm92aWRlcihhdXRoZW50aWNhdGlvbiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVzb3VyY2Vab25lOiByZXNvdXJjZVpvbmUsXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNvbXBpbGVOb3JtYWxpemF0aW9uUnVsZXMoXG4gICAgICAgIHJ1bGVzOiBzdHJpbmcsXG4gICAgICAgIG5vcm1hbGl6ZXJJZD86IHN0cmluZ1xuICAgICk6IFByb21pc2U8Q29tcGlsZU5vcm1hbGl6YXRpb25SdWxlc1Jlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldFVybChcImNvbXBpbGUtbm9ybWFsaXphdGlvbi1ydWxlc1wiKSlcbiAgICAgICAgICAgIC53aXRoUXVlcnlQYXJhbXMoeyBub3JtYWxpemVySWQ6IG5vcm1hbGl6ZXJJZCB9KVxuICAgICAgICAgICAgLndpdGhKc29uQm9keShydWxlcylcbiAgICAgICAgICAgIC5qc29uPENvbXBpbGVOb3JtYWxpemF0aW9uUnVsZXNSZXN1bHQ+KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVcmwoZHJhZnRSZWxhdGVkVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYHYxL3Rvb2xzLyR7ZHJhZnRSZWxhdGVkVXJsfWA7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxtQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBT08sTUFBTUksY0FBYyxDQUFDO0VBR2pCQyxXQUFXQSxDQUFDQyxPQUFnQixFQUFFQyxZQUFxQixFQUFFQyxjQUFtQyxFQUFFO0lBQUEsS0FGaEZDLFVBQVU7SUFHdkIsSUFBSSxDQUFDQSxVQUFVLEdBQUcsSUFBSUMsc0JBQVUsQ0FDNUJDLG9CQUFTLEVBQ1RMLE9BQU8sYUFBUEEsT0FBTyxjQUFQQSxPQUFPLEdBQUlNLHdCQUFhLEVBQ3hCLElBQUFDLGdEQUE0QixFQUFDTCxjQUFjLENBQUMsRUFDNUM7TUFDSUQsWUFBWSxFQUFFQTtJQUNsQixDQUNKLENBQUM7RUFDTDtFQUVBLE1BQWFPLHlCQUF5QkEsQ0FDbENDLEtBQWEsRUFDYkMsWUFBcUIsRUFDbUI7SUFDeEMsT0FBTyxJQUFJLENBQUNQLFVBQVUsQ0FDakJRLElBQUksQ0FBQyxJQUFJLENBQUNDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQ2hEQyxlQUFlLENBQUM7TUFBRUgsWUFBWSxFQUFFQTtJQUFhLENBQUMsQ0FBQyxDQUMvQ0ksWUFBWSxDQUFDTCxLQUFLLENBQUMsQ0FDbkJNLElBQUksQ0FBa0MsQ0FBQztFQUNoRDtFQUVRSCxNQUFNQSxDQUFDSSxlQUF1QixFQUFVO0lBQzVDLE9BQU8sWUFBWUEsZUFBZSxFQUFFO0VBQ3hDO0FBQ0o7QUFBQ0MsT0FBQSxDQUFBbkIsY0FBQSxHQUFBQSxjQUFBIiwiaWdub3JlTGlzdCI6W119
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQXV0aGVudGljYXRpb25Nb2RlIiwicmVxdWlyZSIsIl9IdHRwQ2xpZW50IiwiX05vZGVGZXRjaCIsIl9FbmRQb2ludHMiLCJUb29sc0FwaUNsaWVudCIsImNvbnN0cnVjdG9yIiwiYmFzZVVybCIsInJlc291cmNlWm9uZSIsImF1dGhlbnRpY2F0aW9uIiwiaHR0cENsaWVudCIsIkh0dHBDbGllbnQiLCJub2RlRmV0Y2giLCJsb2NhbENhbmR5QXBpIiwiY3JlYXRlQXV0aGVudGljYXRpb25Qcm92aWRlciIsImNvbXBpbGVOb3JtYWxpemF0aW9uUnVsZXMiLCJydWxlcyIsIm5vcm1hbGl6ZXJJZCIsInBvc3QiLCJnZXRVcmwiLCJ3aXRoUXVlcnlQYXJhbXMiLCJ1bmRlZmluZWQiLCJ3aXRoSnNvbkJvZHkiLCJqc29uIiwiZHJhZnRSZWxhdGVkVXJsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL0FwaUNsaWVudC9Ub29sc0FwaUNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSHR0cENsaWVudCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vSHR0cENsaWVudC9JSHR0cENsaWVudFwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25Nb2RlLCBjcmVhdGVBdXRoZW50aWNhdGlvblByb3ZpZGVyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbi9IdHRwQ2xpZW50L0F1dGhlbnRpY2F0aW9uTW9kZVwiO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vSHR0cENsaWVudC9IdHRwQ2xpZW50XCI7XG5pbXBvcnQgeyBub2RlRmV0Y2ggfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL0h0dHBDbGllbnQvRmV0Y2hJbXBsZW1lbnRhdGlvbi9Ob2RlRmV0Y2hcIjtcbmltcG9ydCB7IGxvY2FsQ2FuZHlBcGkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL0VuZFBvaW50c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBpbGVOb3JtYWxpemF0aW9uUnVsZXNSZXN1bHQge1xuICAgIGRpYWdub3N0aWNNZXNzYWdlcz86IHN0cmluZ1tdO1xuICAgIHNvdXJjZVRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUb29sc0FwaUNsaWVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBJSHR0cENsaWVudDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihiYXNlVXJsPzogc3RyaW5nLCByZXNvdXJjZVpvbmU/OiBzdHJpbmcsIGF1dGhlbnRpY2F0aW9uPzogQXV0aGVudGljYXRpb25Nb2RlKSB7XG4gICAgICAgIHRoaXMuaHR0cENsaWVudCA9IG5ldyBIdHRwQ2xpZW50KFxuICAgICAgICAgICAgbm9kZUZldGNoLFxuICAgICAgICAgICAgYmFzZVVybCA/PyBsb2NhbENhbmR5QXBpLFxuICAgICAgICAgICAgY3JlYXRlQXV0aGVudGljYXRpb25Qcm92aWRlcihhdXRoZW50aWNhdGlvbiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVzb3VyY2Vab25lOiByZXNvdXJjZVpvbmUsXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNvbXBpbGVOb3JtYWxpemF0aW9uUnVsZXMoXG4gICAgICAgIHJ1bGVzOiBzdHJpbmcsXG4gICAgICAgIG5vcm1hbGl6ZXJJZD86IHN0cmluZ1xuICAgICk6IFByb21pc2U8Q29tcGlsZU5vcm1hbGl6YXRpb25SdWxlc1Jlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAucG9zdCh0aGlzLmdldFVybChcImNvbXBpbGUtbm9ybWFsaXphdGlvbi1ydWxlc1wiKSlcbiAgICAgICAgICAgIC53aXRoUXVlcnlQYXJhbXMobm9ybWFsaXplcklkICE9IHVuZGVmaW5lZCA/IHsgbm9ybWFsaXplcklkOiBub3JtYWxpemVySWQgfSA6IHt9KVxuICAgICAgICAgICAgLndpdGhKc29uQm9keShydWxlcylcbiAgICAgICAgICAgIC5qc29uPENvbXBpbGVOb3JtYWxpemF0aW9uUnVsZXNSZXN1bHQ+KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVcmwoZHJhZnRSZWxhdGVkVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYHYxL3Rvb2xzLyR7ZHJhZnRSZWxhdGVkVXJsfWA7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxtQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBT08sTUFBTUksY0FBYyxDQUFDO0VBR2pCQyxXQUFXQSxDQUFDQyxPQUFnQixFQUFFQyxZQUFxQixFQUFFQyxjQUFtQyxFQUFFO0lBQUEsS0FGaEZDLFVBQVU7SUFHdkIsSUFBSSxDQUFDQSxVQUFVLEdBQUcsSUFBSUMsc0JBQVUsQ0FDNUJDLG9CQUFTLEVBQ1RMLE9BQU8sYUFBUEEsT0FBTyxjQUFQQSxPQUFPLEdBQUlNLHdCQUFhLEVBQ3hCLElBQUFDLGdEQUE0QixFQUFDTCxjQUFjLENBQUMsRUFDNUM7TUFDSUQsWUFBWSxFQUFFQTtJQUNsQixDQUNKLENBQUM7RUFDTDtFQUVBLE1BQWFPLHlCQUF5QkEsQ0FDbENDLEtBQWEsRUFDYkMsWUFBcUIsRUFDbUI7SUFDeEMsT0FBTyxJQUFJLENBQUNQLFVBQVUsQ0FDakJRLElBQUksQ0FBQyxJQUFJLENBQUNDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQ2hEQyxlQUFlLENBQUNILFlBQVksSUFBSUksU0FBUyxHQUFHO01BQUVKLFlBQVksRUFBRUE7SUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDaEZLLFlBQVksQ0FBQ04sS0FBSyxDQUFDLENBQ25CTyxJQUFJLENBQWtDLENBQUM7RUFDaEQ7RUFFUUosTUFBTUEsQ0FBQ0ssZUFBdUIsRUFBVTtJQUM1QyxPQUFPLFlBQVlBLGVBQWUsRUFBRTtFQUN4QztBQUNKO0FBQUNDLE9BQUEsQ0FBQXBCLGNBQUEsR0FBQUEsY0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"ToolsApiClient.js","names":["_AuthenticationMode","require","_HttpClient","_NodeFetch","_EndPoints","ToolsApiClient","constructor","baseUrl","resourceZone","authentication","httpClient","HttpClient","nodeFetch","localCandyApi","createAuthenticationProvider","compileNormalizationRules","rules","normalizerId","post","getUrl","withQueryParams","withJsonBody","json","draftRelatedUrl","exports"],"sources":["../../../../../src/Commons/ApiClient/ToolsApiClient.ts"],"sourcesContent":["import { IHttpClient } from \"../../../../Common/HttpClient/IHttpClient\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../../../../Common/HttpClient/AuthenticationMode\";\nimport { HttpClient } from \"../../../../Common/HttpClient/HttpClient\";\nimport { nodeFetch } from \"../../../../Common/HttpClient/FetchImplementation/NodeFetch\";\nimport { localCandyApi } from \"../../../../Common/EndPoints\";\n\nexport interface CompileNormalizationRulesResult {\n diagnosticMessages?: string[];\n sourceText?: string;\n}\n\nexport class ToolsApiClient {\n private readonly httpClient: IHttpClient;\n\n public constructor(baseUrl?: string, resourceZone?: string, authentication?: AuthenticationMode) {\n this.httpClient = new HttpClient(\n nodeFetch,\n baseUrl ?? localCandyApi,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n }\n );\n }\n\n public async compileNormalizationRules(\n rules: string,\n normalizerId?: string\n ): Promise<CompileNormalizationRulesResult> {\n return this.httpClient\n .post(this.getUrl(\"compile-normalization-rules\"))\n .withQueryParams({ normalizerId: normalizerId })\n .withJsonBody(rules)\n .json<CompileNormalizationRulesResult>();\n }\n\n private getUrl(draftRelatedUrl: string): string {\n return `v1/tools/${draftRelatedUrl}`;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAOO,MAAMI,cAAc,CAAC;EAGjBC,WAAWA,CAACC,OAAgB,EAAEC,YAAqB,EAAEC,cAAmC,EAAE;IAAA,KAFhFC,UAAU;IAGvB,IAAI,CAACA,UAAU,GAAG,IAAIC,sBAAU,CAC5BC,oBAAS,EACTL,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIM,wBAAa,EACxB,IAAAC,gDAA4B,EAACL,cAAc,CAAC,EAC5C;MACID,YAAY,EAAEA;IAClB,CACJ,CAAC;EACL;EAEA,MAAaO,yBAAyBA,CAClCC,KAAa,EACbC,YAAqB,EACmB;IACxC,OAAO,IAAI,CAACP,UAAU,CACjBQ,IAAI,CAAC,IAAI,CAACC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAChDC,eAAe,CAAC;MAAEH,YAAY,EAAEA;IAAa,CAAC,CAAC,CAC/CI,YAAY,CAACL,KAAK,CAAC,CACnBM,IAAI,CAAkC,CAAC;EAChD;EAEQH,MAAMA,CAACI,eAAuB,EAAU;IAC5C,OAAO,YAAYA,eAAe,EAAE;EACxC;AACJ;AAACC,OAAA,CAAAnB,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"ToolsApiClient.js","names":["_AuthenticationMode","require","_HttpClient","_NodeFetch","_EndPoints","ToolsApiClient","constructor","baseUrl","resourceZone","authentication","httpClient","HttpClient","nodeFetch","localCandyApi","createAuthenticationProvider","compileNormalizationRules","rules","normalizerId","post","getUrl","withQueryParams","undefined","withJsonBody","json","draftRelatedUrl","exports"],"sources":["../../../../../src/Commons/ApiClient/ToolsApiClient.ts"],"sourcesContent":["import { IHttpClient } from \"../../../../Common/HttpClient/IHttpClient\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../../../../Common/HttpClient/AuthenticationMode\";\nimport { HttpClient } from \"../../../../Common/HttpClient/HttpClient\";\nimport { nodeFetch } from \"../../../../Common/HttpClient/FetchImplementation/NodeFetch\";\nimport { localCandyApi } from \"../../../../Common/EndPoints\";\n\nexport interface CompileNormalizationRulesResult {\n diagnosticMessages?: string[];\n sourceText?: string;\n}\n\nexport class ToolsApiClient {\n private readonly httpClient: IHttpClient;\n\n public constructor(baseUrl?: string, resourceZone?: string, authentication?: AuthenticationMode) {\n this.httpClient = new HttpClient(\n nodeFetch,\n baseUrl ?? localCandyApi,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n }\n );\n }\n\n public async compileNormalizationRules(\n rules: string,\n normalizerId?: string\n ): Promise<CompileNormalizationRulesResult> {\n return this.httpClient\n .post(this.getUrl(\"compile-normalization-rules\"))\n .withQueryParams(normalizerId != undefined ? { normalizerId: normalizerId } : {})\n .withJsonBody(rules)\n .json<CompileNormalizationRulesResult>();\n }\n\n private getUrl(draftRelatedUrl: string): string {\n return `v1/tools/${draftRelatedUrl}`;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAOO,MAAMI,cAAc,CAAC;EAGjBC,WAAWA,CAACC,OAAgB,EAAEC,YAAqB,EAAEC,cAAmC,EAAE;IAAA,KAFhFC,UAAU;IAGvB,IAAI,CAACA,UAAU,GAAG,IAAIC,sBAAU,CAC5BC,oBAAS,EACTL,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIM,wBAAa,EACxB,IAAAC,gDAA4B,EAACL,cAAc,CAAC,EAC5C;MACID,YAAY,EAAEA;IAClB,CACJ,CAAC;EACL;EAEA,MAAaO,yBAAyBA,CAClCC,KAAa,EACbC,YAAqB,EACmB;IACxC,OAAO,IAAI,CAACP,UAAU,CACjBQ,IAAI,CAAC,IAAI,CAACC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAChDC,eAAe,CAACH,YAAY,IAAII,SAAS,GAAG;MAAEJ,YAAY,EAAEA;IAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAChFK,YAAY,CAACN,KAAK,CAAC,CACnBO,IAAI,CAAkC,CAAC;EAChD;EAEQJ,MAAMA,CAACK,eAAuB,EAAU;IAC5C,OAAO,YAAYA,eAAe,EAAE;EACxC;AACJ;AAACC,OAAA,CAAApB,cAAA,GAAAA,cAAA","ignoreList":[]}