@kontur.candy/tools 2.160.0-linux-compat.2 → 2.160.0-linux-compat.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ <a name="2.160.0-linux-compat.3"></a>
2
+ # [2.160.0-linux-compat.3](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.163.1-super-alfa.0...release/tools/v2.160.0-linux-compat.3) (2023-12-29)
3
+
4
+
5
+ ### Features
6
+
7
+ * **Tools:** Утилита candy теперь запускается под linux ([4fe23f1](https://git.skbkontur.ru/ke/candy-utils/commit/4fe23f1))
8
+
9
+ <a name="2.163.1-super-alfa.0"></a>
10
+ ## [2.163.1-super-alfa.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.163.0...release/tools/v2.163.1-super-alfa.0) (2023-12-28)
11
+
12
+ <a name="2.163.0"></a>
13
+ # [2.163.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.162.0...release/tools/v2.163.0) (2023-12-28)
14
+
15
+ <a name="2.162.0"></a>
16
+ # [2.162.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.161.0...release/tools/v2.162.0) (2023-12-28)
17
+
18
+ <a name="2.161.0"></a>
19
+ # [2.161.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.159.0...release/tools/v2.161.0) (2023-12-26)
20
+
1
21
  <a name="2.160.0-linux-compat.2"></a>
2
22
  # [2.160.0-linux-compat.2](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.160.0-linux-compat.1...release/tools/v2.160.0-linux-compat.2) (2023-12-26)
3
23
 
@@ -71,9 +71,9 @@ class BuildCache {
71
71
  // tslint:disable-next-line no-unsafe-any
72
72
  const content = JSON.parse(await (0, _fsExtra.readFile)(this.getCacheFilePath(gfv, generatorSource.version, depsHash), "utf-8"));
73
73
  for (const assetPath of Object.keys(content)) {
74
- var _content$normalizedAs;
74
+ var _content$assetPath;
75
+ const contentElement = (_content$assetPath = content[assetPath]) !== null && _content$assetPath !== void 0 ? _content$assetPath : (0, _TypingUtils.reject)();
75
76
  const normalizedAssetPath = path.join(...assetPath.split(/[\\\/]/));
76
- const contentElement = (_content$normalizedAs = content[normalizedAssetPath]) !== null && _content$normalizedAs !== void 0 ? _content$normalizedAs : (0, _TypingUtils.reject)();
77
77
  const filePath = path.join(resourcesDirectory, normalizedAssetPath);
78
78
  await (0, _fsExtra.ensureDir)(path.dirname(filePath));
79
79
  if (typeof contentElement === "string") {
@@ -155,4 +155,4 @@ class BuildCache {
155
155
  }
156
156
  }
157
157
  exports.BuildCache = BuildCache;
158
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfbWQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9ub2RlRmV0Y2giLCJfQnVpbGRDYWNoZU1vZGUiLCJfVHlwaW5nVXRpbHMiLCJfU3RhdGljTG9nZ2VyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsInNpbmdsZUxpbWl0IiwicExpbWl0IiwiQ2FjaGVBc3NldHNQbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJhcHBseSIsImNvbXBpbGVyIiwiaG9va3MiLCJlbWl0IiwidGFwUHJvbWlzZSIsImNvbXBpbGF0aW9uIiwiY2FjaGVJdGVtcyIsImFzc2V0TmFtZSIsImtleXMiLCJhc3NldHMiLCJfY29tcGlsYXRpb24kYXNzZXRzJGEiLCJfY29tcGlsYXRpb24kYXNzZXRzJGEyIiwic291cmNlIiwicmVqZWN0IiwiQnVmZmVyIiwidHlwZSIsImJhc2U2NGNvbnRlbnQiLCJ0b1N0cmluZyIsInVwZGF0ZUZpbGUiLCJmaWxlUGF0aCIsInJlc29sdmUiLCJjYWNoZUZpbGUiLCJjb250ZW50IiwicGF0aEV4aXN0cyIsIkpTT04iLCJwYXJzZSIsInJlYWRGaWxlIiwiZW5zdXJlRGlyIiwiZGlybmFtZSIsIndyaXRlRmlsZSIsInN0cmluZ2lmeSIsImV4cG9ydHMiLCJCdWlsZENhY2hlIiwiZmFybURpcmVjdG9yeSIsIm1vZGUiLCJsb2dnZXIiLCJnZXRMb2dnZXIiLCJ3aXRoUHJlZml4IiwiZXh0cmFjdCIsImdlbmVyYXRvclNvdXJjZSIsImdmdiIsImRlcHNIYXNoIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiRXJyb3IiLCJnZXRDYWNoZUZpbGVQYXRoIiwidmVyc2lvbiIsImFzc2V0UGF0aCIsIl9jb250ZW50JG5vcm1hbGl6ZWRBcyIsIm5vcm1hbGl6ZWRBc3NldFBhdGgiLCJqb2luIiwic3BsaXQiLCJjb250ZW50RWxlbWVudCIsImZyb20iLCJleGlzdHMiLCJCdWlsZENhY2hlTW9kZSIsIkRpc2FibGVkIiwiRm9yY2VVcGRhdGUiLCJjYWNoZWRGaWxlUGF0aCIsImV4aXN0c0ZpbGVDYWNoZU9yRG93bmxvYWQiLCJ1bmRlZmluZWQiLCJzZXRDb250ZW50IiwiZmlsZU5hbWUiLCJmaWxlQ29udGVudCIsImNhY2hlRmlsZVBhdGgiLCJjcmVhdGVXZWJwYWNrUGx1Z2luIiwiUmVhZE9ubHkiLCJnZW5lcmF0b3JWZXJzaW9uIiwibWQ1IiwibG9nIiwiZmlsZW5hbWUiLCJiYXNlbmFtZSIsInJlc3BvbnNlIiwiZmV0Y2giLCJzdGF0dXMiLCJidWZmZXIiLCJlcnJvciIsImUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvRm9ybVdlYnBhY2tDb25maWd1cmF0aW9uL0NhY2hlQXNzZXRzUGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgZW5zdXJlRGlyLCBwYXRoRXhpc3RzLCByZWFkRmlsZSwgd3JpdGVGaWxlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgbWQ1IGZyb20gXCJtZDVcIjtcbmltcG9ydCBwTGltaXQgZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB3ZWJwYWNrIGZyb20gXCJ3ZWJwYWNrXCI7XG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcblxuaW1wb3J0IHsgR2VuZXJhdG9yU291cmNlIH0gZnJvbSBcIi4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQgeyBCdWlsZENhY2hlTW9kZSB9IGZyb20gXCIuLi9DTElDb21tYW5kcy9CdWlsZEZvcm1zL0J1aWxkQ2FjaGVNb2RlXCI7XG5pbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiLi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuXG5pbnRlcmZhY2UgQ2FjaGVBc3NldHNQbHVnaW5PcHRpb25zIHtcbiAgICBjYWNoZUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtQnVpbGRDYWNoZU9wdGlvbnMge1xuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZztcbiAgICBtb2RlOiBCdWlsZENhY2hlTW9kZTtcbiAgICBnZW5lcmF0b3JWZXJzaW9uOiBzdHJpbmc7XG4gICAgZ2Z2OiBzdHJpbmc7XG4gICAgZGVwc0hhc2g6IHN0cmluZztcbn1cblxuY29uc3Qgc2luZ2xlTGltaXQgPSBwTGltaXQoMSk7XG5cbmludGVyZmFjZSBCdWlsZFJlc3VsdHNTZXJpYWxpemVkIHtcbiAgICBbcGF0aDogc3RyaW5nXTogc3RyaW5nIHwgeyB0eXBlOiBcIkJ1ZmZlclwiOyBiYXNlNjRjb250ZW50OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIENhY2hlQXNzZXRzUGx1Z2luIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENhY2hlQXNzZXRzUGx1Z2luT3B0aW9ucztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBDYWNoZUFzc2V0c1BsdWdpbk9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgYXBwbHkoY29tcGlsZXI6IHdlYnBhY2suQ29tcGlsZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29tcGlsZXIuaG9va3MuZW1pdC50YXBQcm9taXNlKFwiQ2FjaGVBc3NldHNQbHVnaW5cIiwgY29tcGlsYXRpb24gPT5cbiAgICAgICAgICAgIHNpbmdsZUxpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYWNoZUl0ZW1zOiBCdWlsZFJlc3VsdHNTZXJpYWxpemVkID0ge307XG4gICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFzc2V0TmFtZSBvZiBPYmplY3Qua2V5cyhjb21waWxhdGlvbi5hc3NldHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby11bnNhZmUtYW55XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZTogc3RyaW5nIHwgQnVmZmVyID0gY29tcGlsYXRpb24uYXNzZXRzW2Fzc2V0TmFtZV0/LnNvdXJjZSgpID8/IHJlamVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc291cmNlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUl0ZW1zW2Fzc2V0TmFtZV0gPSB7IHR5cGU6IFwiQnVmZmVyXCIsIGJhc2U2NGNvbnRlbnQ6IHNvdXJjZS50b1N0cmluZyhcImJhc2U2NFwiKSB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVJdGVtc1thc3NldE5hbWVdID0gc291cmNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlRmlsZShjYWNoZUl0ZW1zKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB1cGRhdGVGaWxlKGNhY2hlSXRlbXM6IEJ1aWxkUmVzdWx0c1NlcmlhbGl6ZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLnJlc29sdmUodGhpcy5vcHRpb25zLmNhY2hlRmlsZSk7XG4gICAgICAgIGxldCBjb250ZW50OiBCdWlsZFJlc3VsdHNTZXJpYWxpemVkID0gKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKVxuICAgICAgICAgICAgPyAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgICAgICAgICAgICBKU09OLnBhcnNlKGF3YWl0IHJlYWRGaWxlKGZpbGVQYXRoLCBcInV0Zi04XCIpKVxuICAgICAgICAgICAgOiB7fTtcbiAgICAgICAgY29udGVudCA9IHtcbiAgICAgICAgICAgIC4uLmNvbnRlbnQsXG4gICAgICAgICAgICAuLi5jYWNoZUl0ZW1zLFxuICAgICAgICB9O1xuICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5kaXJuYW1lKGZpbGVQYXRoKSk7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoY29udGVudCksIFwidXRmLThcIik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnVpbGRDYWNoZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RlOiBCdWlsZENhY2hlTW9kZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogSUxvZ2dlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihmYXJtRGlyZWN0b3J5OiBzdHJpbmcsIG1vZGU6IEJ1aWxkQ2FjaGVNb2RlKSB7XG4gICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IGZhcm1EaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgICAgIHRoaXMubG9nZ2VyID0gZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkJVSUxEX0NBQ0hFXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBleHRyYWN0KFxuICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IEdlbmVyYXRvclNvdXJjZSxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGRlcHNIYXNoOiBzdHJpbmcsXG4gICAgICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nXG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChnZW5lcmF0b3JTb3VyY2UudHlwZSA9PT0gXCJHZW5lcmF0b3JTb3VyY2VzXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkxvY2FsIGdlbmVyYXRvciBkb2VzIG5vdCBzdXBwb3J0cyBjYWNoaW5nXCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby11bnNhZmUtYW55XG4gICAgICAgIGNvbnN0IGNvbnRlbnQ6IEJ1aWxkUmVzdWx0c1NlcmlhbGl6ZWQgPSBKU09OLnBhcnNlKFxuICAgICAgICAgICAgYXdhaXQgcmVhZEZpbGUodGhpcy5nZXRDYWNoZUZpbGVQYXRoKGdmdiwgZ2VuZXJhdG9yU291cmNlLnZlcnNpb24sIGRlcHNIYXNoKSwgXCJ1dGYtOFwiKVxuICAgICAgICApO1xuICAgICAgICBmb3IgKGNvbnN0IGFzc2V0UGF0aCBvZiBPYmplY3Qua2V5cyhjb250ZW50KSkge1xuICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZEFzc2V0UGF0aCA9IHBhdGguam9pbiguLi5hc3NldFBhdGguc3BsaXQoL1tcXFxcXFwvXS8pKVxuICAgICAgICAgICAgY29uc3QgY29udGVudEVsZW1lbnQgPSBjb250ZW50W25vcm1hbGl6ZWRBc3NldFBhdGhdID8/IHJlamVjdCgpO1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBub3JtYWxpemVkQXNzZXRQYXRoKTtcbiAgICAgICAgICAgIGF3YWl0IGVuc3VyZURpcihwYXRoLmRpcm5hbWUoZmlsZVBhdGgpKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY29udGVudEVsZW1lbnQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZmlsZVBhdGgsIGNvbnRlbnRFbGVtZW50LCBcInV0ZjhcIik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgQnVmZmVyLmZyb20oY29udGVudEVsZW1lbnQuYmFzZTY0Y29udGVudCwgXCJiYXNlNjRcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGV4aXN0cyhnZW5lcmF0b3JTb3VyY2U6IEdlbmVyYXRvclNvdXJjZSwgZ2Z2OiBzdHJpbmcsIGRlcHNIYXNoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKGdlbmVyYXRvclNvdXJjZS50eXBlID09PSBcIkdlbmVyYXRvclNvdXJjZXNcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9jYWwgZ2VuZXJhdG9yIGRvZXMgbm90IHN1cHBvcnRzIGNhY2hpbmdcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gQnVpbGRDYWNoZU1vZGUuRGlzYWJsZWQgfHwgdGhpcy5tb2RlID09PSBCdWlsZENhY2hlTW9kZS5Gb3JjZVVwZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNhY2hlZEZpbGVQYXRoID0gYXdhaXQgdGhpcy5leGlzdHNGaWxlQ2FjaGVPckRvd25sb2FkKGdmdiwgZ2VuZXJhdG9yU291cmNlLnZlcnNpb24sIGRlcHNIYXNoKTtcbiAgICAgICAgcmV0dXJuIGNhY2hlZEZpbGVQYXRoICE9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2V0Q29udGVudChcbiAgICAgICAgZ2VuZXJhdG9yU291cmNlOiBzdHJpbmcsXG4gICAgICAgIGdmdjogc3RyaW5nLFxuICAgICAgICBkZXBzSGFzaDogc3RyaW5nLFxuICAgICAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgZmlsZUNvbnRlbnQ6IHN0cmluZ1xuICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBjYWNoZUZpbGVQYXRoID0gdGhpcy5nZXRDYWNoZUZpbGVQYXRoKGdmdiwgZ2VuZXJhdG9yU291cmNlLCBkZXBzSGFzaCk7XG4gICAgICAgIGlmICghKGF3YWl0IHBhdGhFeGlzdHMoY2FjaGVGaWxlUGF0aCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICAgICAgbGV0IGNvbnRlbnQ6IEJ1aWxkUmVzdWx0c1NlcmlhbGl6ZWQgPSBKU09OLnBhcnNlKGF3YWl0IHJlYWRGaWxlKGNhY2hlRmlsZVBhdGgsIFwidXRmLThcIikpO1xuICAgICAgICBjb250ZW50ID0ge1xuICAgICAgICAgICAgLi4uY29udGVudCxcbiAgICAgICAgICAgIFtmaWxlTmFtZV06IGZpbGVDb250ZW50LFxuICAgICAgICB9O1xuICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5kaXJuYW1lKGNhY2hlRmlsZVBhdGgpKTtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGNhY2hlRmlsZVBhdGgsIEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpLCBcInV0Zi04XCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjcmVhdGVXZWJwYWNrUGx1Z2luKG9wdGlvbnM6IEZvcm1CdWlsZENhY2hlT3B0aW9ucyk6IFByb21pc2U8Q2FjaGVBc3NldHNQbHVnaW4gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgaWYgKG9wdGlvbnMubW9kZSA9PT0gQnVpbGRDYWNoZU1vZGUuRGlzYWJsZWQgfHwgb3B0aW9ucy5tb2RlID09PSBCdWlsZENhY2hlTW9kZS5SZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYWNoZWRGaWxlUGF0aCA9IHRoaXMuZ2V0Q2FjaGVGaWxlUGF0aChvcHRpb25zLmdmdiwgb3B0aW9ucy5nZW5lcmF0b3JWZXJzaW9uLCBvcHRpb25zLmRlcHNIYXNoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBDYWNoZUFzc2V0c1BsdWdpbih7XG4gICAgICAgICAgICBjYWNoZUZpbGU6IGNhY2hlZEZpbGVQYXRoLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENhY2hlRmlsZVBhdGgoZ2Z2OiBzdHJpbmcsIGdlbmVyYXRvclZlcnNpb246IHN0cmluZywgZGVwc0hhc2g6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7bWQ1KGdmdil9LSR7bWQ1KGdlbmVyYXRvclZlcnNpb24pfS0ke2RlcHNIYXNofS56aXBgO1xuICAgICAgICByZXR1cm4gcGF0aC5qb2luKHRoaXMuZmFybURpcmVjdG9yeSwgXCIuYnVpbGQtY2FjaGVcIiwgXCJjb21waWxlXCIsIGZpbGVOYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGV4aXN0c0ZpbGVDYWNoZU9yRG93bmxvYWQoXG4gICAgICAgIGdmdjogc3RyaW5nLFxuICAgICAgICBnZW5lcmF0b3JWZXJzaW9uOiBzdHJpbmcsXG4gICAgICAgIGRlcHNIYXNoOiBzdHJpbmdcbiAgICApOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMuZ2V0Q2FjaGVGaWxlUGF0aChnZnYsIGdlbmVyYXRvclZlcnNpb24sIGRlcHNIYXNoKTtcbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKGBTdGFydCBzZWFyY2ggZmlsZSBsb2NhbGx5OiAke2ZpbGVQYXRofWApO1xuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHBhdGguYmFzZW5hbWUoZmlsZVBhdGgpO1xuICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5kaXJuYW1lKGZpbGVQYXRoKSk7XG4gICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiRm91bmQgZmlsZSBpbiBsb2NhbCBkaXJlY3RvcnlcIik7XG4gICAgICAgICAgICByZXR1cm4gZmlsZVBhdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgQ2FjaGUgZmlsZSB3YXMgbm90IGZvdW5kIGxvY2FsbHk6ICR7ZmlsZVBhdGh9YCk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKGBMb29raW5nIGZvciBjYWNoZSBpbiBkcml2ZSBzdG9yYWdlOiAke2ZpbGVuYW1lfWApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vYXBpLmtvbnR1ci5ydS9kcml2ZS92MS9wdWJsaWMvJHtmaWxlbmFtZX1gKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coYERyaXZlIHJlc3BvbnNlIHN0YXR1cyBjb2RlOiAke3Jlc3BvbnNlLnN0YXR1cy50b1N0cmluZygpfWApO1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZmlsZVBhdGgsIGF3YWl0IHJlc3BvbnNlLmJ1ZmZlcigpLCBcInV0Zi04XCIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsZVBhdGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQ2FjaGUgZmlsZSBub3QgZm91bmQgaW4gZHJpdmUgc3RvcmFnZTogJHtmaWxlbmFtZX0uIEdGVjogJHtnZnZ9LCBHZW5lcmF0b3JWZXJzaW9uOiAke2dlbmVyYXRvclZlcnNpb259LCBEZXBlbmRlbmNpZXNIYXNoOiAke2RlcHNIYXNofWBcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRHJpdmUgc3RvcmFnZSBzZW50ICR7cmVzcG9uc2Uuc3RhdHVzfSBzdGF0dXMgY29kZSwgSSBkb24ndCBwcm9jZXNzIGl0IGluIGFueSB3YXlgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiRHJpdmUgc3RvcmFnZSByZXNwb25kZWQgd2l0aCBhbiBlcnJvclwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIlRoZSBidWlsZCB3aWxsIGNvbnRpbnVlIHdpdGhvdXQgYSBjYWNoZVwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAg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
158
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfbWQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9ub2RlRmV0Y2giLCJfQnVpbGRDYWNoZU1vZGUiLCJfVHlwaW5nVXRpbHMiLCJfU3RhdGljTG9nZ2VyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsInNpbmdsZUxpbWl0IiwicExpbWl0IiwiQ2FjaGVBc3NldHNQbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJhcHBseSIsImNvbXBpbGVyIiwiaG9va3MiLCJlbWl0IiwidGFwUHJvbWlzZSIsImNvbXBpbGF0aW9uIiwiY2FjaGVJdGVtcyIsImFzc2V0TmFtZSIsImtleXMiLCJhc3NldHMiLCJfY29tcGlsYXRpb24kYXNzZXRzJGEiLCJfY29tcGlsYXRpb24kYXNzZXRzJGEyIiwic291cmNlIiwicmVqZWN0IiwiQnVmZmVyIiwidHlwZSIsImJhc2U2NGNvbnRlbnQiLCJ0b1N0cmluZyIsInVwZGF0ZUZpbGUiLCJmaWxlUGF0aCIsInJlc29sdmUiLCJjYWNoZUZpbGUiLCJjb250ZW50IiwicGF0aEV4aXN0cyIsIkpTT04iLCJwYXJzZSIsInJlYWRGaWxlIiwiZW5zdXJlRGlyIiwiZGlybmFtZSIsIndyaXRlRmlsZSIsInN0cmluZ2lmeSIsImV4cG9ydHMiLCJCdWlsZENhY2hlIiwiZmFybURpcmVjdG9yeSIsIm1vZGUiLCJsb2dnZXIiLCJnZXRMb2dnZXIiLCJ3aXRoUHJlZml4IiwiZXh0cmFjdCIsImdlbmVyYXRvclNvdXJjZSIsImdmdiIsImRlcHNIYXNoIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiRXJyb3IiLCJnZXRDYWNoZUZpbGVQYXRoIiwidmVyc2lvbiIsImFzc2V0UGF0aCIsIl9jb250ZW50JGFzc2V0UGF0aCIsImNvbnRlbnRFbGVtZW50Iiwibm9ybWFsaXplZEFzc2V0UGF0aCIsImpvaW4iLCJzcGxpdCIsImZyb20iLCJleGlzdHMiLCJCdWlsZENhY2hlTW9kZSIsIkRpc2FibGVkIiwiRm9yY2VVcGRhdGUiLCJjYWNoZWRGaWxlUGF0aCIsImV4aXN0c0ZpbGVDYWNoZU9yRG93bmxvYWQiLCJ1bmRlZmluZWQiLCJzZXRDb250ZW50IiwiZmlsZU5hbWUiLCJmaWxlQ29udGVudCIsImNhY2hlRmlsZVBhdGgiLCJjcmVhdGVXZWJwYWNrUGx1Z2luIiwiUmVhZE9ubHkiLCJnZW5lcmF0b3JWZXJzaW9uIiwibWQ1IiwibG9nIiwiZmlsZW5hbWUiLCJiYXNlbmFtZSIsInJlc3BvbnNlIiwiZmV0Y2giLCJzdGF0dXMiLCJidWZmZXIiLCJlcnJvciIsImUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvRm9ybVdlYnBhY2tDb25maWd1cmF0aW9uL0NhY2hlQXNzZXRzUGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgZW5zdXJlRGlyLCBwYXRoRXhpc3RzLCByZWFkRmlsZSwgd3JpdGVGaWxlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgbWQ1IGZyb20gXCJtZDVcIjtcbmltcG9ydCBwTGltaXQgZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB3ZWJwYWNrIGZyb20gXCJ3ZWJwYWNrXCI7XG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcblxuaW1wb3J0IHsgR2VuZXJhdG9yU291cmNlIH0gZnJvbSBcIi4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQgeyBCdWlsZENhY2hlTW9kZSB9IGZyb20gXCIuLi9DTElDb21tYW5kcy9CdWlsZEZvcm1zL0J1aWxkQ2FjaGVNb2RlXCI7XG5pbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9uL1R5cGluZ1V0aWxzXCI7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiLi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuXG5pbnRlcmZhY2UgQ2FjaGVBc3NldHNQbHVnaW5PcHRpb25zIHtcbiAgICBjYWNoZUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtQnVpbGRDYWNoZU9wdGlvbnMge1xuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZztcbiAgICBtb2RlOiBCdWlsZENhY2hlTW9kZTtcbiAgICBnZW5lcmF0b3JWZXJzaW9uOiBzdHJpbmc7XG4gICAgZ2Z2OiBzdHJpbmc7XG4gICAgZGVwc0hhc2g6IHN0cmluZztcbn1cblxuY29uc3Qgc2luZ2xlTGltaXQgPSBwTGltaXQoMSk7XG5cbmludGVyZmFjZSBCdWlsZFJlc3VsdHNTZXJpYWxpemVkIHtcbiAgICBbcGF0aDogc3RyaW5nXTogc3RyaW5nIHwgeyB0eXBlOiBcIkJ1ZmZlclwiOyBiYXNlNjRjb250ZW50OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIENhY2hlQXNzZXRzUGx1Z2luIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENhY2hlQXNzZXRzUGx1Z2luT3B0aW9ucztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBDYWNoZUFzc2V0c1BsdWdpbk9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgYXBwbHkoY29tcGlsZXI6IHdlYnBhY2suQ29tcGlsZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29tcGlsZXIuaG9va3MuZW1pdC50YXBQcm9taXNlKFwiQ2FjaGVBc3NldHNQbHVnaW5cIiwgY29tcGlsYXRpb24gPT5cbiAgICAgICAgICAgIHNpbmdsZUxpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYWNoZUl0ZW1zOiBCdWlsZFJlc3VsdHNTZXJpYWxpemVkID0ge307XG4gICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFzc2V0TmFtZSBvZiBPYmplY3Qua2V5cyhjb21waWxhdGlvbi5hc3NldHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby11bnNhZmUtYW55XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZTogc3RyaW5nIHwgQnVmZmVyID0gY29tcGlsYXRpb24uYXNzZXRzW2Fzc2V0TmFtZV0/LnNvdXJjZSgpID8/IHJlamVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc291cmNlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUl0ZW1zW2Fzc2V0TmFtZV0gPSB7IHR5cGU6IFwiQnVmZmVyXCIsIGJhc2U2NGNvbnRlbnQ6IHNvdXJjZS50b1N0cmluZyhcImJhc2U2NFwiKSB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVJdGVtc1thc3NldE5hbWVdID0gc291cmNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlRmlsZShjYWNoZUl0ZW1zKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB1cGRhdGVGaWxlKGNhY2hlSXRlbXM6IEJ1aWxkUmVzdWx0c1NlcmlhbGl6ZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLnJlc29sdmUodGhpcy5vcHRpb25zLmNhY2hlRmlsZSk7XG4gICAgICAgIGxldCBjb250ZW50OiBCdWlsZFJlc3VsdHNTZXJpYWxpemVkID0gKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKVxuICAgICAgICAgICAgPyAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgICAgICAgICAgICBKU09OLnBhcnNlKGF3YWl0IHJlYWRGaWxlKGZpbGVQYXRoLCBcInV0Zi04XCIpKVxuICAgICAgICAgICAgOiB7fTtcbiAgICAgICAgY29udGVudCA9IHtcbiAgICAgICAgICAgIC4uLmNvbnRlbnQsXG4gICAgICAgICAgICAuLi5jYWNoZUl0ZW1zLFxuICAgICAgICB9O1xuICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5kaXJuYW1lKGZpbGVQYXRoKSk7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoY29udGVudCksIFwidXRmLThcIik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnVpbGRDYWNoZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RlOiBCdWlsZENhY2hlTW9kZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogSUxvZ2dlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihmYXJtRGlyZWN0b3J5OiBzdHJpbmcsIG1vZGU6IEJ1aWxkQ2FjaGVNb2RlKSB7XG4gICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IGZhcm1EaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgICAgIHRoaXMubG9nZ2VyID0gZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkJVSUxEX0NBQ0hFXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBleHRyYWN0KFxuICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IEdlbmVyYXRvclNvdXJjZSxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGRlcHNIYXNoOiBzdHJpbmcsXG4gICAgICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nXG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChnZW5lcmF0b3JTb3VyY2UudHlwZSA9PT0gXCJHZW5lcmF0b3JTb3VyY2VzXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkxvY2FsIGdlbmVyYXRvciBkb2VzIG5vdCBzdXBwb3J0cyBjYWNoaW5nXCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby11bnNhZmUtYW55XG4gICAgICAgIGNvbnN0IGNvbnRlbnQ6IEJ1aWxkUmVzdWx0c1NlcmlhbGl6ZWQgPSBKU09OLnBhcnNlKFxuICAgICAgICAgICAgYXdhaXQgcmVhZEZpbGUodGhpcy5nZXRDYWNoZUZpbGVQYXRoKGdmdiwgZ2VuZXJhdG9yU291cmNlLnZlcnNpb24sIGRlcHNIYXNoKSwgXCJ1dGYtOFwiKVxuICAgICAgICApO1xuICAgICAgICBmb3IgKGNvbnN0IGFzc2V0UGF0aCBvZiBPYmplY3Qua2V5cyhjb250ZW50KSkge1xuICAgICAgICAgICAgY29uc3QgY29udGVudEVsZW1lbnQgPSBjb250ZW50W2Fzc2V0UGF0aF0gPz8gcmVqZWN0KCk7XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkQXNzZXRQYXRoID0gcGF0aC5qb2luKC4uLmFzc2V0UGF0aC5zcGxpdCgvW1xcXFxcXC9dLykpXG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIG5vcm1hbGl6ZWRBc3NldFBhdGgpO1xuICAgICAgICAgICAgYXdhaXQgZW5zdXJlRGlyKHBhdGguZGlybmFtZShmaWxlUGF0aCkpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50RWxlbWVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgY29udGVudEVsZW1lbnQsIFwidXRmOFwiKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGZpbGVQYXRoLCBCdWZmZXIuZnJvbShjb250ZW50RWxlbWVudC5iYXNlNjRjb250ZW50LCBcImJhc2U2NFwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZXhpc3RzKGdlbmVyYXRvclNvdXJjZTogR2VuZXJhdG9yU291cmNlLCBnZnY6IHN0cmluZywgZGVwc0hhc2g6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoZ2VuZXJhdG9yU291cmNlLnR5cGUgPT09IFwiR2VuZXJhdG9yU291cmNlc1wiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb2NhbCBnZW5lcmF0b3IgZG9lcyBub3Qgc3VwcG9ydHMgY2FjaGluZ1wiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBCdWlsZENhY2hlTW9kZS5EaXNhYmxlZCB8fCB0aGlzLm1vZGUgPT09IEJ1aWxkQ2FjaGVNb2RlLkZvcmNlVXBkYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FjaGVkRmlsZVBhdGggPSBhd2FpdCB0aGlzLmV4aXN0c0ZpbGVDYWNoZU9yRG93bmxvYWQoZ2Z2LCBnZW5lcmF0b3JTb3VyY2UudmVyc2lvbiwgZGVwc0hhc2gpO1xuICAgICAgICByZXR1cm4gY2FjaGVkRmlsZVBhdGggIT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXRDb250ZW50KFxuICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHN0cmluZyxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGRlcHNIYXNoOiBzdHJpbmcsXG4gICAgICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBmaWxlQ29udGVudDogc3RyaW5nXG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNhY2hlRmlsZVBhdGggPSB0aGlzLmdldENhY2hlRmlsZVBhdGgoZ2Z2LCBnZW5lcmF0b3JTb3VyY2UsIGRlcHNIYXNoKTtcbiAgICAgICAgaWYgKCEoYXdhaXQgcGF0aEV4aXN0cyhjYWNoZUZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgICAgICBsZXQgY29udGVudDogQnVpbGRSZXN1bHRzU2VyaWFsaXplZCA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUoY2FjaGVGaWxlUGF0aCwgXCJ1dGYtOFwiKSk7XG4gICAgICAgIGNvbnRlbnQgPSB7XG4gICAgICAgICAgICAuLi5jb250ZW50LFxuICAgICAgICAgICAgW2ZpbGVOYW1lXTogZmlsZUNvbnRlbnQsXG4gICAgICAgIH07XG4gICAgICAgIGF3YWl0IGVuc3VyZURpcihwYXRoLmRpcm5hbWUoY2FjaGVGaWxlUGF0aCkpO1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUoY2FjaGVGaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoY29udGVudCksIFwidXRmLThcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZVdlYnBhY2tQbHVnaW4ob3B0aW9uczogRm9ybUJ1aWxkQ2FjaGVPcHRpb25zKTogUHJvbWlzZTxDYWNoZUFzc2V0c1BsdWdpbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAob3B0aW9ucy5tb2RlID09PSBCdWlsZENhY2hlTW9kZS5EaXNhYmxlZCB8fCBvcHRpb25zLm1vZGUgPT09IEJ1aWxkQ2FjaGVNb2RlLlJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNhY2hlZEZpbGVQYXRoID0gdGhpcy5nZXRDYWNoZUZpbGVQYXRoKG9wdGlvbnMuZ2Z2LCBvcHRpb25zLmdlbmVyYXRvclZlcnNpb24sIG9wdGlvbnMuZGVwc0hhc2gpO1xuICAgICAgICByZXR1cm4gbmV3IENhY2hlQXNzZXRzUGx1Z2luKHtcbiAgICAgICAgICAgIGNhY2hlRmlsZTogY2FjaGVkRmlsZVBhdGgsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2FjaGVGaWxlUGF0aChnZnY6IHN0cmluZywgZ2VuZXJhdG9yVmVyc2lvbjogc3RyaW5nLCBkZXBzSGFzaDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHttZDUoZ2Z2KX0tJHttZDUoZ2VuZXJhdG9yVmVyc2lvbil9LSR7ZGVwc0hhc2h9LnppcGA7XG4gICAgICAgIHJldHVybiBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcIi5idWlsZC1jYWNoZVwiLCBcImNvbXBpbGVcIiwgZmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZXhpc3RzRmlsZUNhY2hlT3JEb3dubG9hZChcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGdlbmVyYXRvclZlcnNpb246IHN0cmluZyxcbiAgICAgICAgZGVwc0hhc2g6IHN0cmluZ1xuICAgICk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5nZXRDYWNoZUZpbGVQYXRoKGdmdiwgZ2VuZXJhdG9yVmVyc2lvbiwgZGVwc0hhc2gpO1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coYFN0YXJ0IHNlYXJjaCBmaWxlIGxvY2FsbHk6ICR7ZmlsZVBhdGh9YCk7XG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gcGF0aC5iYXNlbmFtZShmaWxlUGF0aCk7XG4gICAgICAgIGF3YWl0IGVuc3VyZURpcihwYXRoLmRpcm5hbWUoZmlsZVBhdGgpKTtcbiAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJGb3VuZCBmaWxlIGluIGxvY2FsIGRpcmVjdG9yeVwiKTtcbiAgICAgICAgICAgIHJldHVybiBmaWxlUGF0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKGBDYWNoZSBmaWxlIHdhcyBub3QgZm91bmQgbG9jYWxseTogJHtmaWxlUGF0aH1gKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coYExvb2tpbmcgZm9yIGNhY2hlIGluIGRyaXZlIHN0b3JhZ2U6ICR7ZmlsZW5hbWV9YCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9hcGkua29udHVyLnJ1L2RyaXZlL3YxL3B1YmxpYy8ke2ZpbGVuYW1lfWApO1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgRHJpdmUgcmVzcG9uc2Ugc3RhdHVzIGNvZGU6ICR7cmVzcG9uc2Uuc3RhdHVzLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgYXdhaXQgcmVzcG9uc2UuYnVmZmVyKCksIFwidXRmLThcIik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWxlUGF0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBDYWNoZSBmaWxlIG5vdCBmb3VuZCBpbiBkcml2ZSBzdG9yYWdlOiAke2ZpbGVuYW1lfS4gR0ZWOiAke2dmdn0sIEdlbmVyYXRvclZlcnNpb246ICR7Z2VuZXJhdG9yVmVyc2lvbn0sIERlcGVuZGVuY2llc0hhc2g6ICR7ZGVwc0hhc2h9YFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBEcml2ZSBzdG9yYWdlIHNlbnQgJHtyZXNwb25zZS5zdGF0dXN9IHN0YXR1cyBjb2RlLCBJIGRvbid0IHByb2Nlc3MgaXQgaW4gYW55IHdheWBcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJEcml2ZSBzdG9yYWdlIHJlc3BvbmRlZCB3aXRoIGFuIGVycm9yXCIpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiVGhlIGJ1aWxkIHdpbGwgY29udGludWUgd2l0aG91dCBhIGNhY2hlXCIpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4g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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/tools",
3
- "version": "2.160.0-linux-compat.2",
3
+ "version": "2.160.0-linux-compat.3",
4
4
  "description": "",
5
5
  "files": [
6
6
  "candy.js",
@@ -25,7 +25,7 @@
25
25
  "build:common": "yarn babel ../Common --env-name node --config-file ../babel.config.js --out-dir distr/Common --extensions .js,.jsx,.ts,.tsx --copy-files --delete-dir-on-start",
26
26
  "build:cli": "yarn babel src --env-name node --config-file ../babel.config.js --out-dir distr/Tools/src --extensions .js,.jsx,.ts,.tsx --copy-files --delete-dir-on-start",
27
27
  "build": "yarn build:client && yarn build:common && yarn build:cli && yarn build:front",
28
- "prepublishOnly": "yarn build && cd .. && yarn candy-tools:publish-changelog cd Tools",
28
+ "prepublishOnly": "yarn build && cd .. && yarn candy-tools:publish-changelog && cd Tools",
29
29
  "watch:front": "cd LocalServerFrontEnd && yarn start && cd ..",
30
30
  "watch:common": "yarn babel ../Common --env-name node --config-file ../babel.config.js --out-dir distr/Common --extensions .js,.jsx,.ts,.tsx --copy-files --delete-dir-on-start --watch",
31
31
  "watch:cli": "yarn babel src --env-name node --config-file ../babel.config.js --out-dir distr/Tools/src --extensions .js,.jsx,.ts,.tsx --copy-files --delete-dir-on-start --watch",