@kontur.candy/tools 2.138.0 → 2.139.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ <a name="2.139.0"></a>
2
+ # [2.139.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.138.0...release/tools/v2.139.0) (2022-11-25)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **Tools:** Исправлено чтение файлов из webpack file system в devServer ([f388559](https://git.skbkontur.ru/ke/candy-utils/commit/f388559))
8
+
1
9
  <a name="2.138.0"></a>
2
10
  # [2.138.0](https://git.skbkontur.ru/ke/candy-utils/compare/release/tools/v2.137.0...release/tools/v2.138.0) (2022-11-24)
3
11
 
@@ -154,7 +154,9 @@ class BuildFormDevServer {
154
154
  const allPossibleFilePath = this.allFarmConfig.map(i => _path.default.join(i, "forms", this.gfv, "form", filename));
155
155
 
156
156
  for (const pth of allPossibleFilePath) {
157
- if (await (0, _fsExtra.pathExists)(pth)) {
157
+ var _this$webpackHybridFi2;
158
+
159
+ if ((_this$webpackHybridFi2 = this.webpackHybridFileSystem) !== null && _this$webpackHybridFi2 !== void 0 && _this$webpackHybridFi2.statSync(pth)) {
158
160
  fileName = pth;
159
161
  break;
160
162
  }
@@ -165,9 +167,9 @@ class BuildFormDevServer {
165
167
  }
166
168
 
167
169
  return new Promise((resolve, reject) => {
168
- var _this$webpackHybridFi2;
170
+ var _this$webpackHybridFi3;
169
171
 
170
- (_this$webpackHybridFi2 = this.webpackHybridFileSystem) === null || _this$webpackHybridFi2 === void 0 ? void 0 : _this$webpackHybridFi2.readFile(fileName, "utf-8", (error, data) => {
172
+ (_this$webpackHybridFi3 = this.webpackHybridFileSystem) === null || _this$webpackHybridFi3 === void 0 ? void 0 : _this$webpackHybridFi3.readFile(fileName, "utf-8", (error, data) => {
171
173
  if (error) {
172
174
  reject(error);
173
175
  } else {
@@ -208,4 +210,4 @@ class BuildFormDevServer {
208
210
  }
209
211
 
210
212
  exports.BuildFormDevServer = BuildFormDevServer;
211
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0J1aWxkRm9ybURldlNlcnZlci50cyJdLCJuYW1lcyI6WyJCdWlsZEZvcm1EZXZTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInBvcnQiLCJhbGxGYXJtQ29uZmlnIiwiZ2Z2IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwiZmFybUNvbmZpZ0FycmF5IiwidXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcyIsImVuZ2luZURpcmVjdG9yeSIsImJ1aWxkRGVidWdPbmx5Iiwic2tpcENvZGVSZWZvcm1hdHRpbmciLCJuaWdodGx5IiwiZmFybURpcmVjdG9yeSIsInN0YXJ0UGFyYWxsZWxMaW1pdCIsImdlbmVyYXRlQ2hhaW4iLCJ3ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCIsIndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIiwic3RhcnQiLCJ1bmRlZmluZWQiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwibWFwIiwiaSIsInBhdGgiLCJqb2luIiwiZm9ybURpclBhdGgiLCJwdGgiLCJFcnJvciIsIldlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIiwiT2JzZXJ2ZSIsImZpbGUiLCJ0cmFuc2Zvcm0iLCJmb3JtSnNvbkZpbGUiLCJ4IiwiZ2VuZXJhdG9yU291cmNlIiwiZW5naW5lU291cmNlIiwiZ2VuZXJhdG9yVmVyc2lvbiIsImVuZ2luZVZlcnNpb24iLCJhdHRhY2giLCJmaSIsInkiLCJnZW5lcmF0b3IiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsInN0YXJ0c1dpdGgiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwicmVzb3VyY2VzSGFzaCIsImUiLCJmb3JtRW50cnlQb2ludFBhdGgiLCJ3cml0ZUJhdGNoIiwiZm9ybWF0RXJyb3IiLCJvYnNlcnZlIiwiZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtIiwiZmlsZW5hbWUiLCJmaWxlTmFtZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVhZEZpbGUiLCJlcnJvciIsImRhdGEiLCJSZWFkYWJsZSIsImZyb20iLCJnZXRGaWxlQXNTdHJlYW0iLCJyZXNwb25zZSIsIm1ldGhvZCIsImFnZW50IiwiQWdlbnQiLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJzdGF0dXMiLCJ0ZXh0UmVzcG9uc2UiLCJ0ZXh0IiwiYm9keSIsInN0YWNrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFNQTs7QUFDQTs7QUFHQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFTyxNQUFNQSxrQkFBTixDQUF5QjtBQVE1QjtBQVVPQyxFQUFBQSxXQUFXLENBQ2RDLElBRGMsRUFFZEMsYUFGYyxFQUdkQyxHQUhjLEVBSWRDLHFCQUpjLEVBS2RDLGVBTGMsRUFNZEMsNEJBTmMsRUFPZEMsZUFQYyxFQVFkQyxjQVJjLEVBU2RDLG9CQVRjLEVBVWRDLE9BVmMsRUFXaEI7QUFBQSxTQTVCZVQsSUE0QmY7QUFBQSxTQTNCZUMsYUEyQmY7QUFBQSxTQTFCZUMsR0EwQmY7QUFBQSxTQXpCZUMscUJBeUJmO0FBQUEsU0F4Qk1PLGFBd0JOO0FBQUEsU0F2QmVOLGVBdUJmO0FBQUEsU0F0QmVPLGtCQXNCZjtBQUFBLFNBcEJNQyxhQW9CTjtBQUFBLFNBbkJNQyx1QkFtQk4sR0FuQmdDLEtBbUJoQztBQUFBLFNBbEJlUiw0QkFrQmY7QUFBQSxTQWpCZUMsZUFpQmY7QUFBQSxTQWhCZUcsT0FnQmY7QUFBQSxTQWZlRixjQWVmO0FBQUEsU0FkZUMsb0JBY2Y7QUFBQSxTQWJNTSx1QkFhTjtBQUNFLFNBQUtkLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtDLGFBQUwsR0FBcUJBLGFBQXJCO0FBQ0EsU0FBS0MsR0FBTCxHQUFXQSxHQUFYO0FBQ0EsU0FBS0MscUJBQUwsR0FBNkJBLHFC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LEVBQUFBLFdBQVcsQ0FBQ0gsQ0FBRCxFQUEyQjtBQUMxQyxRQUFJQSxDQUFDLFlBQVl2QixLQUFqQixFQUF3QjtBQUNwQixhQUFRLEdBQUV1QixDQUFFLEtBQUlBLENBQUMsQ0FBQzBCLEtBQU0sRUFBeEI7QUFDSDs7QUFDRCxXQUFRLEdBQUUxQixDQUFFLEVBQVo7QUFDSDs7QUFqTjJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tIFwiaHR0cHNcIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB7IEZhcm1Db25maWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGdlbmVyYXRlRm9ybSB9IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL0Zvcm0vR2VuZXJhdGVGb3JtXCI7XG5pbXBvcnQgeyBnZW5lcmF0b3JGYWN0b3J5LCBnZXRHZW5lcmF0b3JTb3VyY2VLZXkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7XG4gICAgcmVzb2x2ZUVuZ2luZVZlcnNpb24sXG4gICAgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24sXG4gICAgcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlLFxuICAgIHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSxcbn0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyByZXNvbHZlRm9ybUluZm8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzXCI7XG5pbXBvcnQgeyBSZWFzb25PckVycm9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvRXJyb3JVbnR5cGVkXCI7XG5pbXBvcnQgeyBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL0NoYWluYWJsZVZhbHVlUHJvZHVjZXJcIjtcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvT2JzZXJ2ZVwiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZEZvcm1EZXZTZXJ2ZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybUNvbmZpZzogc3RyaW5nW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZnY6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgZmFybURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcG9ydDogbnVtYmVyLFxuICAgICAgICBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXSxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBmYXJtQ29uZmlnQXJyYXk6IEZhcm1Db25maWdbXSxcbiAgICAgICAgdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlczogYm9vbGVhbixcbiAgICAgICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuLFxuICAgICAgICBza2lwQ29kZVJlZm9ybWF0dGluZzogYm9vbGVhbixcbiAgICAgICAgbmlnaHRseTogYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmFsbEZhcm1Db25maWcgPSBhbGxGYXJtQ29uZmlnO1xuICAgICAgICB0aGlzLmdmdiA9IGdmdjtcbiAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuZmFybUNvbmZpZ0FycmF5ID0gZmFybUNvbmZpZ0FycmF5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy51c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzID0gdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcztcbiAgICAgICAgdGhpcy5lbmdpbmVEaXJlY3RvcnkgPSBlbmdpbmVEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICAgICAgdGhpcy5za2lwQ29kZVJlZm9ybWF0dGluZyA9IHNraXBDb2RlUmVmb3JtYXR0aW5nO1xuICAgICAgICB0aGlzLm5pZ2h0bHkgPSBuaWdodGx5O1xuICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBcIlwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBwYXRoLmpvaW4oaSwgXCJmb3Jtc1wiLCB0aGlzLmdmdikpO1xuICAgICAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4ocHRoLCBcIi4uXCIsIFwiLi5cIik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJmb3JtRGlyUGF0aCBub3QgZm91bmRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKHRoaXMuZmFybURpcmVjdG9yeSkpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0gPSBuZXcgV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0ocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm1cIikpO1xuXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlQ2hhaW4gPSBPYnNlcnZlLmZpbGUocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm0uanNvblwiKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmlnaHRseVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oYXN5bmMgeCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiByZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UodGhpcy5lbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4LmdlbmVyYXRvclZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2VuZXJhdG9yVmVyc2lvbiBpcyBubyBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZW5naW5lVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJlbmdpbmVWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yU291cmNlOiBhd2FpdCByZXNvbHZlR2VuZXJhdG9yVmVyc2lvbih4LmdlbmVyYXRvclZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogYXdhaXQgcmVzb2x2ZUVuZ2luZVZlcnNpb24oeC5lbmdpbmVWZXJzaW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5hdHRhY2goXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIGZpID0+IGdlbmVyYXRvckZhY3RvcnkoZmkuZ2VuZXJhdG9yU291cmNlLCB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSwgZmFsc2UsIHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2V0R2VuZXJhdG9yU291cmNlS2V5KGZpLmdlbmVyYXRvclNvdXJjZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIuLi8uLi9jb250cm9scy8qKi9nZW5lcmF0b3IvKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzY2hlbWFzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic3VnYXIvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9scy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImF1dG9jYWxjLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVscGVycy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRpb25zLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibG9jYWxpemF0aW9uLyoqLypcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGb3Jtc0RpcldpdGhIbFBhdGggPSB0aGlzLmZhcm1Db25maWdBcnJheS5maW5kKGkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aC5zdGFydHNXaXRoKGkuZmFybURpcmVjdG9yeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybUVudHJ5UG9pbnRQYXRoID0gcGF0aC5qb2luKHRoaXMuZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiLCB0aGlzLmdmdiwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT8ud3JpdGVCYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1FbnRyeVBvaW50UGF0aF06IGdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCh0aGlzLmZvcm1hdEVycm9yKGUpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVDaGFpbi5vYnNlcnZlKCk7XG4gICAgICAgICAgICBhd2FpdCBydW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2Z2LFxuICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2LCBcImZvcm1cIiwgZmlsZW5hbWUpKTtcbiAgICAgICAgZm9yIChjb25zdCBwdGggb2YgYWxsUG9zc2libGVGaWxlUGF0aCkge1xuICAgICAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMocHRoKSkge1xuICAgICAgICAgICAgICAgIGZpbGVOYW1lID0gcHRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWxlTmFtZSA9PT0gXCJcIikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0gZmlsZW5hbWUgbm90IGZvdW5kXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/LnJlYWRGaWxlKGZpbGVOYW1lLCBcInV0Zi04XCIsIChlcnJvciwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoUmVhZGFibGUuZnJvbShbZGF0YV0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVBc1N0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgd2hpbGUgKCF0aGlzLndlYnBhY2tEZXZTZXJ2ZXJTdGFydGVkKSB7XG4gICAgICAgICAgICBhd2FpdCBkZWxheSg1MDApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vbG9jYWxob3N0OiR7dGhpcy5wb3J0fS8ke2ZpbGVuYW1lfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGFnZW50OiBuZXcgQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRSZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0UmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZS5ib2R5O1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RXJyb3IoZTogUmVhc29uT3JFcnJvcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtlfVxcbiR7ZS5zdGFja31gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtlfWA7XG4gICAgfVxufVxuIl19
213
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0J1aWxkRm9ybURldlNlcnZlci50cyJdLCJuYW1lcyI6WyJCdWlsZEZvcm1EZXZTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInBvcnQiLCJhbGxGYXJtQ29uZmlnIiwiZ2Z2IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwiZmFybUNvbmZpZ0FycmF5IiwidXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcyIsImVuZ2luZURpcmVjdG9yeSIsImJ1aWxkRGVidWdPbmx5Iiwic2tpcENvZGVSZWZvcm1hdHRpbmciLCJuaWdodGx5IiwiZmFybURpcmVjdG9yeSIsInN0YXJ0UGFyYWxsZWxMaW1pdCIsImdlbmVyYXRlQ2hhaW4iLCJ3ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCIsIndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIiwic3RhcnQiLCJ1bmRlZmluZWQiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwibWFwIiwiaSIsInBhdGgiLCJqb2luIiwiZm9ybURpclBhdGgiLCJwdGgiLCJFcnJvciIsIldlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIiwiT2JzZXJ2ZSIsImZpbGUiLCJ0cmFuc2Zvcm0iLCJmb3JtSnNvbkZpbGUiLCJ4IiwiZ2VuZXJhdG9yU291cmNlIiwiZW5naW5lU291cmNlIiwiZ2VuZXJhdG9yVmVyc2lvbiIsImVuZ2luZVZlcnNpb24iLCJhdHRhY2giLCJmaSIsInkiLCJnZW5lcmF0b3IiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsInN0YXJ0c1dpdGgiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwicmVzb3VyY2VzSGFzaCIsImUiLCJmb3JtRW50cnlQb2ludFBhdGgiLCJ3cml0ZUJhdGNoIiwiZm9ybWF0RXJyb3IiLCJvYnNlcnZlIiwiZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtIiwiZmlsZW5hbWUiLCJmaWxlTmFtZSIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZWFkRmlsZSIsImVycm9yIiwiZGF0YSIsIlJlYWRhYmxlIiwiZnJvbSIsImdldEZpbGVBc1N0cmVhbSIsInJlc3BvbnNlIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsInN0YXR1cyIsInRleHRSZXNwb25zZSIsInRleHQiLCJib2R5Iiwic3RhY2siXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOztBQUNBOztBQU1BOztBQUNBOztBQUdBOztBQUVBOztBQUNBOztBQUNBOztBQUVPLE1BQU1BLGtCQUFOLENBQXlCO0FBUTVCO0FBVU9DLEVBQUFBLFdBQVcsQ0FDZEMsSUFEYyxFQUVkQyxhQUZjLEVBR2RDLEdBSGMsRUFJZEMscUJBSmMsRUFLZEMsZUFMYyxFQU1kQyw0QkFOYyxFQU9kQyxlQVBjLEVBUWRDLGNBUmMsRUFTZEMsb0JBVGMsRUFVZEMsT0FWYyxFQVdoQjtBQUFBLFNBNUJlVCxJQTRCZjtBQUFBLFNBM0JlQyxhQTJCZjtBQUFBLFNBMUJlQyxHQTBCZjtBQUFBLFNBekJlQyxxQkF5QmY7QUFBQSxTQXhCTU8sYUF3Qk47QUFBQSxTQXZCZU4sZUF1QmY7QUFBQSxTQXRCZU8sa0JBc0JmO0FBQUEsU0FwQk1DLGFBb0JOO0FBQUEsU0FuQk1DLHVCQW1CTixHQW5CZ0MsS0FtQmhDO0FBQUEsU0FsQmVSLDRCQWtCZjtBQUFBLFNBakJlQyxlQWlCZjtBQUFBLFNBaEJlRyxPQWdCZjtBQUFBLFNBZmVGLGNBZWY7QUFBQSxTQWRlQyxvQkFjZjtBQUFBLFNBYk1NLHVCQWFOO0FBQ0UsU0FBS2QsSUFBTCxHQUFZQSxJQUFaO0FBQ0EsU0FBS0MsYUFBTCxHQUFxQkEsYUFBckI7QUFDQSxTQUFLQyxHQUFMLEdBQVdBLEdBQVg7QUFDQSxTQUFLQyxxQkFB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TjtBQUNIOztBQUNELFdBQU9OLFFBQVEsQ0FBQ1EsSUFBaEI7QUFDSDs7QUFFT3ZCLEVBQUFBLFdBQVcsQ0FBQ0gsQ0FBRCxFQUEyQjtBQUMxQyxRQUFJQSxDQUFDLFlBQVl2QixLQUFqQixFQUF3QjtBQUNwQixhQUFRLEdBQUV1QixDQUFFLEtBQUlBLENBQUMsQ0FBQzJCLEtBQU0sRUFBeEI7QUFDSDs7QUFDRCxXQUFRLEdBQUUzQixDQUFFLEVBQVo7QUFDSDs7QUFqTjJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tIFwiaHR0cHNcIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB7IEZhcm1Db25maWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGdlbmVyYXRlRm9ybSB9IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL0Zvcm0vR2VuZXJhdGVGb3JtXCI7XG5pbXBvcnQgeyBnZW5lcmF0b3JGYWN0b3J5LCBnZXRHZW5lcmF0b3JTb3VyY2VLZXkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7XG4gICAgcmVzb2x2ZUVuZ2luZVZlcnNpb24sXG4gICAgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24sXG4gICAgcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlLFxuICAgIHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSxcbn0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyByZXNvbHZlRm9ybUluZm8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzXCI7XG5pbXBvcnQgeyBSZWFzb25PckVycm9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvRXJyb3JVbnR5cGVkXCI7XG5pbXBvcnQgeyBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL0NoYWluYWJsZVZhbHVlUHJvZHVjZXJcIjtcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvT2JzZXJ2ZVwiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZEZvcm1EZXZTZXJ2ZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybUNvbmZpZzogc3RyaW5nW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZnY6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgZmFybURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcG9ydDogbnVtYmVyLFxuICAgICAgICBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXSxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBmYXJtQ29uZmlnQXJyYXk6IEZhcm1Db25maWdbXSxcbiAgICAgICAgdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlczogYm9vbGVhbixcbiAgICAgICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuLFxuICAgICAgICBza2lwQ29kZVJlZm9ybWF0dGluZzogYm9vbGVhbixcbiAgICAgICAgbmlnaHRseTogYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmFsbEZhcm1Db25maWcgPSBhbGxGYXJtQ29uZmlnO1xuICAgICAgICB0aGlzLmdmdiA9IGdmdjtcbiAgICAgICAgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuZmFybUNvbmZpZ0FycmF5ID0gZmFybUNvbmZpZ0FycmF5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy51c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzID0gdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcztcbiAgICAgICAgdGhpcy5lbmdpbmVEaXJlY3RvcnkgPSBlbmdpbmVEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICAgICAgdGhpcy5za2lwQ29kZVJlZm9ybWF0dGluZyA9IHNraXBDb2RlUmVmb3JtYXR0aW5nO1xuICAgICAgICB0aGlzLm5pZ2h0bHkgPSBuaWdodGx5O1xuICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBcIlwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBwYXRoLmpvaW4oaSwgXCJmb3Jtc1wiLCB0aGlzLmdmdikpO1xuICAgICAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4ocHRoLCBcIi4uXCIsIFwiLi5cIik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJmb3JtRGlyUGF0aCBub3QgZm91bmRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKHRoaXMuZmFybURpcmVjdG9yeSkpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0gPSBuZXcgV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0ocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm1cIikpO1xuXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlQ2hhaW4gPSBPYnNlcnZlLmZpbGUocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm0uanNvblwiKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmlnaHRseVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oYXN5bmMgeCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiByZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UodGhpcy5lbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4LmdlbmVyYXRvclZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2VuZXJhdG9yVmVyc2lvbiBpcyBubyBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZW5naW5lVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJlbmdpbmVWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yU291cmNlOiBhd2FpdCByZXNvbHZlR2VuZXJhdG9yVmVyc2lvbih4LmdlbmVyYXRvclZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogYXdhaXQgcmVzb2x2ZUVuZ2luZVZlcnNpb24oeC5lbmdpbmVWZXJzaW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5hdHRhY2goXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIGZpID0+IGdlbmVyYXRvckZhY3RvcnkoZmkuZ2VuZXJhdG9yU291cmNlLCB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSwgZmFsc2UsIHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2V0R2VuZXJhdG9yU291cmNlS2V5KGZpLmdlbmVyYXRvclNvdXJjZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIuLi8uLi9jb250cm9scy8qKi9nZW5lcmF0b3IvKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzY2hlbWFzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic3VnYXIvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9scy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImF1dG9jYWxjLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVscGVycy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRpb25zLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibG9jYWxpemF0aW9uLyoqLypcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGb3Jtc0RpcldpdGhIbFBhdGggPSB0aGlzLmZhcm1Db25maWdBcnJheS5maW5kKGkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aC5zdGFydHNXaXRoKGkuZmFybURpcmVjdG9yeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybUVudHJ5UG9pbnRQYXRoID0gcGF0aC5qb2luKHRoaXMuZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiLCB0aGlzLmdmdiwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT8ud3JpdGVCYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1FbnRyeVBvaW50UGF0aF06IGdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCh0aGlzLmZvcm1hdEVycm9yKGUpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVDaGFpbi5vYnNlcnZlKCk7XG4gICAgICAgICAgICBhd2FpdCBydW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2Z2LFxuICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2LCBcImZvcm1cIiwgZmlsZW5hbWUpKTtcbiAgICAgICAgZm9yIChjb25zdCBwdGggb2YgYWxsUG9zc2libGVGaWxlUGF0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/LnN0YXRTeW5jKHB0aCkpIHtcbiAgICAgICAgICAgICAgICBmaWxlTmFtZSA9IHB0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsZU5hbWUgPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKFwiZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtIGZpbGVuYW1lIG5vdCBmb3VuZFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5yZWFkRmlsZShmaWxlTmFtZSwgXCJ1dGYtOFwiLCAoZXJyb3IsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKFJlYWRhYmxlLmZyb20oW2RhdGFdKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL2xvY2FsaG9zdDoke3RoaXMucG9ydH0vJHtmaWxlbmFtZX1gLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgICAgICBhZ2VudDogbmV3IEFnZW50KHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSB9KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0UmVzcG9uc2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuYm9keTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdEVycm9yKGU6IFJlYXNvbk9yRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZX1cXG4ke2Uuc3RhY2t9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7ZX1gO1xuICAgIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/tools",
3
- "version": "2.138.0",
3
+ "version": "2.139.0",
4
4
  "description": "",
5
5
  "files": [
6
6
  "candy.js",