@kontur.candy/tools 2.207.0 → 2.210.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.
@@ -217,8 +217,8 @@ class BuildFormDevServer {
217
217
  const textResponse = await response.text();
218
218
  throw new Error(textResponse);
219
219
  }
220
- const text = await response.text();
221
- return _stream.Readable.from(text);
220
+ const buffer = await response.buffer();
221
+ return _stream.Readable.from(buffer);
222
222
  }
223
223
  formatError(e) {
224
224
  if (e instanceof Error) {
@@ -228,4 +228,4 @@ class BuildFormDevServer {
228
228
  }
229
229
  }
230
230
  exports.BuildFormDevServer = BuildFormDevServer;
231
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9odHRwcyIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9mc0V4dHJhIiwiX0dlbmVyYXRlRm9ybSIsIl9BY3F1aXJlRm9ybUdlbmVyYXRvciIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0FzeW5jVXRpbHMiLCJfT2JzZXJ2ZSIsIl9Gc1V0aWxzIiwiX0Zvcm1QYXRoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfUmVwb3J0R2VuZXJhdG9yRXJyb3JUb1BhZ2VCb2R5IiwiX1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJfV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJidWlsZEdmdlRvUGF0aE1hcCIsInJlcG9zaXRvcnlSb290cyIsInJlc3VsdCIsIk1hcCIsInJlcG9zaXRvcnlSb290IiwiZm9ybVBhdGhzIiwiZ2xvYkFzeW5jIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJjd2QiLCJmb3JtUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJqb2luIiwiQnVpbGRGb3JtRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiYWxsRmFybUNvbmZpZyIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZhcm1Db25maWdBcnJheSIsInVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwibmlnaHRseSIsImZhcm1EaXJlY3RvcnkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJnZW5lcmF0ZUNoYWluIiwid2VicGFja0RldlNlcnZlclN0YXJ0ZWQiLCJ3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsImdmdlBhdGhzIiwidW5kZWZpbmVkIiwicExpbWl0IiwiZmluZEZvcm1QYXRoIiwiX3RoaXMkZ2Z2UGF0aHMiLCJtYXAiLCJ4IiwiX3RoaXMkZ2Z2UGF0aHMkZ2V0IiwicmVqZWN0Iiwibm9ybWFsaXplIiwiZm9ybURpclBhdGgiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwicHRoIiwicGF0aEV4aXN0cyIsIkVycm9yIiwid3JpdGVFcnJvckluRW50cnlBbmRTaG93SW5Ccm93c2VyIiwiX3RoaXMkd2VicGFja0h5YnJpZEZpIiwiZm9ybUVudHJ5UG9pbnRQYXRoIiwid3JpdGVCYXRjaCIsImdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCIsImZvcm1hdEVycm9yIiwic3RhcnQiLCJXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsIk9ic2VydmUiLCJmaWxlIiwiRm9ybUpzb25GaWxlTmFtZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImdlbmVyYXRvclNvdXJjZSIsInJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSIsImVuZ2luZVNvdXJjZSIsInJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSIsImdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsImZpIiwiZ2VuZXJhdG9yRmFjdG9yeSIsInkiLCJnZW5lcmF0b3IiLCJnZXRHZW5lcmF0b3JTb3VyY2VLZXkiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsImdlbmVyYXRlRm9ybSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJyZXNvdXJjZXNIYXNoIiwib2JzZXJ2ZSIsInJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJmaWxlbmFtZSIsImRlbGF5IiwicmVzdWx0RmlsZU5hbWUiLCJHZW5lcmF0ZWRGb3JtU3ViZGlyZWN0b3J5IiwiX3RoaXMkd2VicGFja0h5YnJpZEZpMiIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfdGhpcyR3ZWJwYWNrSHlicmlkRmkzIiwicmVhZEZpbGUiLCJlcnJvciIsImRhdGEiLCJSZWFkYWJsZSIsImZyb20iLCJnZXRGaWxlQXNTdHJlYW0iLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwidGV4dFJlc3BvbnNlIiwidGV4dCIsInN0YWNrIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0J1aWxkRm9ybURldlNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5cbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0IHBMaW1pdCwgeyBMaW1pdCB9IGZyb20gXCJwLWxpbWl0XCI7XG5pbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuaW1wb3J0IHsgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZUZvcm0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL0dlbmVyYXRlRm9ybVwiO1xuaW1wb3J0IHsgZ2VuZXJhdG9yRmFjdG9yeSwgZ2V0R2VuZXJhdG9yU291cmNlS2V5IH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQge1xuICAgIHJlc29sdmVFbmdpbmVWZXJzaW9uLFxuICAgIHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uLFxuICAgIHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSxcbiAgICByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UsXG59IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUZvcm1JbmZvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQXN5bmNVdGlsc1wiO1xuaW1wb3J0IHsgUmVhc29uT3JFcnJvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0Vycm9yVW50eXBlZFwiO1xuaW1wb3J0IHsgQ2hhaW5hYmxlVmFsdWVQcm9kdWNlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL1Rhc2tzQ29yZS9DaGFpbmFibGVWYWx1ZVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGggfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0Zvcm1QYXRoVXRpbHNcIjtcbmltcG9ydCB7IHJlamVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IFdlbGxLbm93bkRpcmVjdG9yaWVzIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9XZWxsS25vd25EaXJlY3Rvcmllc1wiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkR2Z2VG9QYXRoTWFwKHJlcG9zaXRvcnlSb290czogc3RyaW5nW10pOiBQcm9taXNlPE1hcDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCByZXBvc2l0b3J5Um9vdCBvZiByZXBvc2l0b3J5Um9vdHMpIHtcbiAgICAgICAgY29uc3QgZm9ybVBhdGhzID0gYXdhaXQgZ2xvYkFzeW5jKGBmb3Jtcy8qKi8qLyR7V2VsbEtub3duRGlyZWN0b3JpZXMuQ2FuZHlTdWJkaXJlY3RvcnlOYW1lfWAsIHtcbiAgICAgICAgICAgIGN3ZDogcmVwb3NpdG9yeVJvb3QsXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IGZvcm1QYXRoIG9mIGZvcm1QYXRocykge1xuICAgICAgICAgICAgY29uc3QgZ2Z2ID0gZXh0cmFjdEdmdkZyb21Gb3JtUGF0aChmb3JtUGF0aCk7XG4gICAgICAgICAgICByZXN1bHQuc2V0KGdmdiwgcGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBmb3JtUGF0aCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGNsYXNzIEJ1aWxkRm9ybURldlNlcnZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdmdjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmb3JtUGF0aDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcbiAgICBwcml2YXRlIGdmdlBhdGhzOiB1bmRlZmluZWQgfCBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwb3J0OiBudW1iZXIsXG4gICAgICAgIGFsbEZhcm1Db25maWc6IHN0cmluZ1tdLFxuICAgICAgICBnZnY6IHN0cmluZyxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGZhcm1Db25maWdBcnJheTogRmFybUNvbmZpZ1tdLFxuICAgICAgICB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzOiBib29sZWFuLFxuICAgICAgICBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW4sXG4gICAgICAgIHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuLFxuICAgICAgICBuaWdodGx5OiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMuZ2Z2ID0gZ2Z2O1xuICAgICAgICB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5mYXJtQ29uZmlnQXJyYXkgPSBmYXJtQ29uZmlnQXJyYXk7XG4gICAgICAgIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0ID0gcExpbWl0KDEpO1xuICAgICAgICB0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMgPSB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzO1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgICAgICB0aGlzLnNraXBDb2RlUmVmb3JtYXR0aW5nID0gc2tpcENvZGVSZWZvcm1hdHRpbmc7XG4gICAgICAgIHRoaXMubmlnaHRseSA9IG5pZ2h0bHk7XG4gICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IFwiXCI7XG4gICAgICAgIHRoaXMuZm9ybVBhdGggPSBcIlwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZmluZEZvcm1QYXRoKGdmdjogc3RyaW5nKTogUHJvbWlzZTx7IGZvcm1QYXRoOiBzdHJpbmc7IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB9PiB7XG4gICAgICAgIHRoaXMuZ2Z2UGF0aHMgPSB0aGlzLmdmdlBhdGhzID8/IChhd2FpdCBidWlsZEdmdlRvUGF0aE1hcCh0aGlzLmFsbEZhcm1Db25maWcubWFwKHggPT4gcGF0aC5qb2luKHgsIFwiLi5cIikpKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2Z2UGF0aHMuaGFzKGdmdikpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYXRoID0gdGhpcy5nZnZQYXRocy5nZXQoZ2Z2KSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZm9ybVBhdGg6IGZvcm1QYXRoID8/IHJlamVjdCgpLFxuICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IHBhdGgubm9ybWFsaXplKHBhdGguam9pbihmb3JtUGF0aCwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiY2FuZHkuZmFybVwiKSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcblxuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2KSk7XG4gICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHB0aCkpIHtcbiAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCA9IHB0aDtcbiAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5ID0gcGF0aC5qb2luKHB0aCwgXCIuLlwiLCBcIi4uXCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcImZvcm1EaXJQYXRoIG5vdCBmb3VuZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmFybURpcmVjdG9yeSA9PSB1bmRlZmluZWQgfHwgIShhd2FpdCBwYXRoRXhpc3RzKGZhcm1EaXJlY3RvcnkpKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvcm1QYXRoOiBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB3cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZTogdW5rbm93bikge1xuICAgICAgICBjb25zdCBmb3JtRW50cnlQb2ludFBhdGggPSBwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICBhd2FpdCB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy53cml0ZUJhdGNoKHtcbiAgICAgICAgICAgIFtmb3JtRW50cnlQb2ludFBhdGhdOiBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQodGhpcy5mb3JtYXRFcnJvcihlKSksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IGZvcm1QYXRoLCBmYXJtRGlyZWN0b3J5IH0gPSBhd2FpdCB0aGlzLmZpbmRGb3JtUGF0aCh0aGlzLmdmdik7XG4gICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBmYXJtRGlyZWN0b3J5O1xuICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCA9IGZvcm1QYXRoO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSA9IG5ldyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbShwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIpKTtcblxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUNoYWluID0gT2JzZXJ2ZS5maWxlKHBhdGguam9pbih0aGlzLmZvcm1QYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uaWdodGx5XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyB4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogcmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlKHRoaXMuZW5naW5lRGlyZWN0b3J5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmVTb3VyY2U6IHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZ2VuZXJhdG9yVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZW5lcmF0b3JWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5lbmdpbmVWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImVuZ2luZVZlcnNpb24gaXMgbm8gZGVmaW5lZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IGF3YWl0IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uKHguZ2VuZXJhdG9yVmVyc2lvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiBhd2FpdCByZXNvbHZlRW5naW5lVmVyc2lvbih4LmVuZ2luZVZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2VuZXJhdG9yRmFjdG9yeShmaS5nZW5lcmF0b3JTb3VyY2UsIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5LCBmYWxzZSwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgKGZpLCB5KSA9PiAoeyAuLi5maSwgZ2VuZXJhdG9yOiB5IH0pLFxuICAgICAgICAgICAgICAgICAgICBhc3luYyBmaSA9PiBnZXRHZW5lcmF0b3JTb3VyY2VLZXkoZmkuZ2VuZXJhdG9yU291cmNlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2NvbnRyb2xzLyoqL2dlbmVyYXRvci8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNjaGVtYXMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWdhci8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXV0b2NhbGMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWxwZXJzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGlvbnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl6YXRpb24vKiovKlwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZvcm1zRGlyV2l0aEhsUGF0aCA9IHRoaXMuZmFybUNvbmZpZ0FycmF5LmZpbmQoaSA9PiBpLmZhcm1EaXJlY3RvcnkgPT0gZmFybURpcmVjdG9yeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5nZW5lcmF0ZUNoYWluLm9ic2VydmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLndyaXRlRXJyb3JJbkVudHJ5QW5kU2hvd0luQnJvd3NlcihlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgcnVuRm9ybUNvbXBpbGF0aW9uVmlhV2VicGFja0RldlNlcnZlcihcbiAgICAgICAgICAgICAgICB0aGlzLmdmdixcbiAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVzdWx0RmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBmb3JtUGF0aCA9IGF3YWl0IHRoaXMuZmluZEZvcm1QYXRoKHRoaXMuZ2Z2KTtcbiAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IFtcbiAgICAgICAgICAgIHBhdGguam9pbihmb3JtUGF0aC5mb3JtUGF0aCwgV2VsbEtub3duRGlyZWN0b3JpZXMuR2VuZXJhdGVkRm9ybVN1YmRpcmVjdG9yeSwgZmlsZW5hbWUpLFxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IHB0aCBvZiBhbGxQb3NzaWJsZUZpbGVQYXRoKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5zdGF0U3luYyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdEZpbGVOYW1lID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdEZpbGVOYW1lID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtICR7ZmlsZW5hbWV9IG5vdCBmb3VuZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5yZWFkRmlsZShyZXN1bHRGaWxlTmFtZSwgXCJ1dGYtOFwiLCAoZXJyb3IsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcihlcnJvcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShSZWFkYWJsZS5mcm9tKFtkYXRhXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZUFzU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICB3aGlsZSAoIXRoaXMud2VicGFja0RldlNlcnZlclN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9LyR7ZmlsZW5hbWV9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0UmVzcG9uc2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgICAgICByZXR1cm4gUmVhZGFibGUuZnJvbSh0ZXh0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdEVycm9yKGU6IFJlYXNvbk9yRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZX1cXG4ke2Uuc3RhY2t9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7ZX1gO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHFCQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxzQkFBQSxHQUFBVCxPQUFBO0FBTUEsSUFBQVUsZ0JBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFdBQUEsR0FBQVgsT0FBQTtBQUdBLElBQUFZLFFBQUEsR0FBQVosT0FBQTtB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
231
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9odHRwcyIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9mc0V4dHJhIiwiX0dlbmVyYXRlRm9ybSIsIl9BY3F1aXJlRm9ybUdlbmVyYXRvciIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0FzeW5jVXRpbHMiLCJfT2JzZXJ2ZSIsIl9Gc1V0aWxzIiwiX0Zvcm1QYXRoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfUmVwb3J0R2VuZXJhdG9yRXJyb3JUb1BhZ2VCb2R5IiwiX1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJfV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJidWlsZEdmdlRvUGF0aE1hcCIsInJlcG9zaXRvcnlSb290cyIsInJlc3VsdCIsIk1hcCIsInJlcG9zaXRvcnlSb290IiwiZm9ybVBhdGhzIiwiZ2xvYkFzeW5jIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJjd2QiLCJmb3JtUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJqb2luIiwiQnVpbGRGb3JtRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiYWxsRmFybUNvbmZpZyIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZhcm1Db25maWdBcnJheSIsInVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwibmlnaHRseSIsImZhcm1EaXJlY3RvcnkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJnZW5lcmF0ZUNoYWluIiwid2VicGFja0RldlNlcnZlclN0YXJ0ZWQiLCJ3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsImdmdlBhdGhzIiwidW5kZWZpbmVkIiwicExpbWl0IiwiZmluZEZvcm1QYXRoIiwiX3RoaXMkZ2Z2UGF0aHMiLCJtYXAiLCJ4IiwiX3RoaXMkZ2Z2UGF0aHMkZ2V0IiwicmVqZWN0Iiwibm9ybWFsaXplIiwiZm9ybURpclBhdGgiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwicHRoIiwicGF0aEV4aXN0cyIsIkVycm9yIiwid3JpdGVFcnJvckluRW50cnlBbmRTaG93SW5Ccm93c2VyIiwiX3RoaXMkd2VicGFja0h5YnJpZEZpIiwiZm9ybUVudHJ5UG9pbnRQYXRoIiwid3JpdGVCYXRjaCIsImdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCIsImZvcm1hdEVycm9yIiwic3RhcnQiLCJXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsIk9ic2VydmUiLCJmaWxlIiwiRm9ybUpzb25GaWxlTmFtZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImdlbmVyYXRvclNvdXJjZSIsInJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSIsImVuZ2luZVNvdXJjZSIsInJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSIsImdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsImZpIiwiZ2VuZXJhdG9yRmFjdG9yeSIsInkiLCJnZW5lcmF0b3IiLCJnZXRHZW5lcmF0b3JTb3VyY2VLZXkiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsImdlbmVyYXRlRm9ybSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJyZXNvdXJjZXNIYXNoIiwib2JzZXJ2ZSIsInJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJmaWxlbmFtZSIsImRlbGF5IiwicmVzdWx0RmlsZU5hbWUiLCJHZW5lcmF0ZWRGb3JtU3ViZGlyZWN0b3J5IiwiX3RoaXMkd2VicGFja0h5YnJpZEZpMiIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfdGhpcyR3ZWJwYWNrSHlicmlkRmkzIiwicmVhZEZpbGUiLCJlcnJvciIsImRhdGEiLCJSZWFkYWJsZSIsImZyb20iLCJnZXRGaWxlQXNTdHJlYW0iLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwidGV4dFJlc3BvbnNlIiwidGV4dCIsImJ1ZmZlciIsInN0YWNrIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0J1aWxkRm9ybURldlNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5cbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0IHBMaW1pdCwgeyBMaW1pdCB9IGZyb20gXCJwLWxpbWl0XCI7XG5pbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuaW1wb3J0IHsgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZUZvcm0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL0dlbmVyYXRlRm9ybVwiO1xuaW1wb3J0IHsgZ2VuZXJhdG9yRmFjdG9yeSwgZ2V0R2VuZXJhdG9yU291cmNlS2V5IH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQge1xuICAgIHJlc29sdmVFbmdpbmVWZXJzaW9uLFxuICAgIHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uLFxuICAgIHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSxcbiAgICByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UsXG59IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUZvcm1JbmZvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQXN5bmNVdGlsc1wiO1xuaW1wb3J0IHsgUmVhc29uT3JFcnJvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0Vycm9yVW50eXBlZFwiO1xuaW1wb3J0IHsgQ2hhaW5hYmxlVmFsdWVQcm9kdWNlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL1Rhc2tzQ29yZS9DaGFpbmFibGVWYWx1ZVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGggfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0Zvcm1QYXRoVXRpbHNcIjtcbmltcG9ydCB7IHJlamVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IFdlbGxLbm93bkRpcmVjdG9yaWVzIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9XZWxsS25vd25EaXJlY3Rvcmllc1wiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkR2Z2VG9QYXRoTWFwKHJlcG9zaXRvcnlSb290czogc3RyaW5nW10pOiBQcm9taXNlPE1hcDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCByZXBvc2l0b3J5Um9vdCBvZiByZXBvc2l0b3J5Um9vdHMpIHtcbiAgICAgICAgY29uc3QgZm9ybVBhdGhzID0gYXdhaXQgZ2xvYkFzeW5jKGBmb3Jtcy8qKi8qLyR7V2VsbEtub3duRGlyZWN0b3JpZXMuQ2FuZHlTdWJkaXJlY3RvcnlOYW1lfWAsIHtcbiAgICAgICAgICAgIGN3ZDogcmVwb3NpdG9yeVJvb3QsXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IGZvcm1QYXRoIG9mIGZvcm1QYXRocykge1xuICAgICAgICAgICAgY29uc3QgZ2Z2ID0gZXh0cmFjdEdmdkZyb21Gb3JtUGF0aChmb3JtUGF0aCk7XG4gICAgICAgICAgICByZXN1bHQuc2V0KGdmdiwgcGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBmb3JtUGF0aCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGNsYXNzIEJ1aWxkRm9ybURldlNlcnZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdmdjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmb3JtUGF0aDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcbiAgICBwcml2YXRlIGdmdlBhdGhzOiB1bmRlZmluZWQgfCBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwb3J0OiBudW1iZXIsXG4gICAgICAgIGFsbEZhcm1Db25maWc6IHN0cmluZ1tdLFxuICAgICAgICBnZnY6IHN0cmluZyxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGZhcm1Db25maWdBcnJheTogRmFybUNvbmZpZ1tdLFxuICAgICAgICB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzOiBib29sZWFuLFxuICAgICAgICBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW4sXG4gICAgICAgIHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuLFxuICAgICAgICBuaWdodGx5OiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMuZ2Z2ID0gZ2Z2O1xuICAgICAgICB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5mYXJtQ29uZmlnQXJyYXkgPSBmYXJtQ29uZmlnQXJyYXk7XG4gICAgICAgIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0ID0gcExpbWl0KDEpO1xuICAgICAgICB0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMgPSB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzO1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgICAgICB0aGlzLnNraXBDb2RlUmVmb3JtYXR0aW5nID0gc2tpcENvZGVSZWZvcm1hdHRpbmc7XG4gICAgICAgIHRoaXMubmlnaHRseSA9IG5pZ2h0bHk7XG4gICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IFwiXCI7XG4gICAgICAgIHRoaXMuZm9ybVBhdGggPSBcIlwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZmluZEZvcm1QYXRoKGdmdjogc3RyaW5nKTogUHJvbWlzZTx7IGZvcm1QYXRoOiBzdHJpbmc7IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB9PiB7XG4gICAgICAgIHRoaXMuZ2Z2UGF0aHMgPSB0aGlzLmdmdlBhdGhzID8/IChhd2FpdCBidWlsZEdmdlRvUGF0aE1hcCh0aGlzLmFsbEZhcm1Db25maWcubWFwKHggPT4gcGF0aC5qb2luKHgsIFwiLi5cIikpKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2Z2UGF0aHMuaGFzKGdmdikpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYXRoID0gdGhpcy5nZnZQYXRocy5nZXQoZ2Z2KSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZm9ybVBhdGg6IGZvcm1QYXRoID8/IHJlamVjdCgpLFxuICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IHBhdGgubm9ybWFsaXplKHBhdGguam9pbihmb3JtUGF0aCwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiY2FuZHkuZmFybVwiKSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcblxuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2KSk7XG4gICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHB0aCkpIHtcbiAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCA9IHB0aDtcbiAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5ID0gcGF0aC5qb2luKHB0aCwgXCIuLlwiLCBcIi4uXCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcImZvcm1EaXJQYXRoIG5vdCBmb3VuZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmFybURpcmVjdG9yeSA9PSB1bmRlZmluZWQgfHwgIShhd2FpdCBwYXRoRXhpc3RzKGZhcm1EaXJlY3RvcnkpKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvcm1QYXRoOiBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB3cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZTogdW5rbm93bikge1xuICAgICAgICBjb25zdCBmb3JtRW50cnlQb2ludFBhdGggPSBwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICBhd2FpdCB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy53cml0ZUJhdGNoKHtcbiAgICAgICAgICAgIFtmb3JtRW50cnlQb2ludFBhdGhdOiBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQodGhpcy5mb3JtYXRFcnJvcihlKSksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IGZvcm1QYXRoLCBmYXJtRGlyZWN0b3J5IH0gPSBhd2FpdCB0aGlzLmZpbmRGb3JtUGF0aCh0aGlzLmdmdik7XG4gICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBmYXJtRGlyZWN0b3J5O1xuICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCA9IGZvcm1QYXRoO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSA9IG5ldyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbShwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIpKTtcblxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUNoYWluID0gT2JzZXJ2ZS5maWxlKHBhdGguam9pbih0aGlzLmZvcm1QYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uaWdodGx5XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyB4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogcmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlKHRoaXMuZW5naW5lRGlyZWN0b3J5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmVTb3VyY2U6IHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZ2VuZXJhdG9yVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZW5lcmF0b3JWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5lbmdpbmVWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImVuZ2luZVZlcnNpb24gaXMgbm8gZGVmaW5lZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IGF3YWl0IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uKHguZ2VuZXJhdG9yVmVyc2lvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiBhd2FpdCByZXNvbHZlRW5naW5lVmVyc2lvbih4LmVuZ2luZVZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2VuZXJhdG9yRmFjdG9yeShmaS5nZW5lcmF0b3JTb3VyY2UsIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5LCBmYWxzZSwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgKGZpLCB5KSA9PiAoeyAuLi5maSwgZ2VuZXJhdG9yOiB5IH0pLFxuICAgICAgICAgICAgICAgICAgICBhc3luYyBmaSA9PiBnZXRHZW5lcmF0b3JTb3VyY2VLZXkoZmkuZ2VuZXJhdG9yU291cmNlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2NvbnRyb2xzLyoqL2dlbmVyYXRvci8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNjaGVtYXMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWdhci8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXV0b2NhbGMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWxwZXJzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGlvbnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl6YXRpb24vKiovKlwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZvcm1zRGlyV2l0aEhsUGF0aCA9IHRoaXMuZmFybUNvbmZpZ0FycmF5LmZpbmQoaSA9PiBpLmZhcm1EaXJlY3RvcnkgPT0gZmFybURpcmVjdG9yeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5nZW5lcmF0ZUNoYWluLm9ic2VydmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLndyaXRlRXJyb3JJbkVudHJ5QW5kU2hvd0luQnJvd3NlcihlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgcnVuRm9ybUNvbXBpbGF0aW9uVmlhV2VicGFja0RldlNlcnZlcihcbiAgICAgICAgICAgICAgICB0aGlzLmdmdixcbiAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVzdWx0RmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBmb3JtUGF0aCA9IGF3YWl0IHRoaXMuZmluZEZvcm1QYXRoKHRoaXMuZ2Z2KTtcbiAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IFtcbiAgICAgICAgICAgIHBhdGguam9pbihmb3JtUGF0aC5mb3JtUGF0aCwgV2VsbEtub3duRGlyZWN0b3JpZXMuR2VuZXJhdGVkRm9ybVN1YmRpcmVjdG9yeSwgZmlsZW5hbWUpLFxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IHB0aCBvZiBhbGxQb3NzaWJsZUZpbGVQYXRoKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5zdGF0U3luYyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdEZpbGVOYW1lID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdEZpbGVOYW1lID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtICR7ZmlsZW5hbWV9IG5vdCBmb3VuZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5yZWFkRmlsZShyZXN1bHRGaWxlTmFtZSwgXCJ1dGYtOFwiLCAoZXJyb3IsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcihlcnJvcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShSZWFkYWJsZS5mcm9tKFtkYXRhXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZUFzU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICB3aGlsZSAoIXRoaXMud2VicGFja0RldlNlcnZlclN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9LyR7ZmlsZW5hbWV9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0UmVzcG9uc2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBidWZmZXIgPSBhd2FpdCByZXNwb25zZS5idWZmZXIoKTtcbiAgICAgICAgcmV0dXJuIFJlYWRhYmxlLmZyb20oYnVmZmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdEVycm9yKGU6IFJlYXNvbk9yRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZX1cXG4ke2Uuc3RhY2t9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7ZX1gO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHFCQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxzQkFBQSxHQUFBVCxPQUFBO0FBTUEsSUFBQVUsZ0JBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFdBQUEsR0FBQVgsT0FBQTtBQUdBLElBQUFZLFFB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
@@ -1 +1 @@
1
- {"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.farmDirectory,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch (e) {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const text = await response.text();\n return Readable.from(text);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","buffer","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.farmDirectory,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch (e) {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,QAAA,GAAAN,OAAA;AAEA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AACA,IAAAS,sBAAA,GAAAT,OAAA;AAMA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AAGA,IAAAY,QAAA,GAAAZ,OAAA;AACA,IAAAa,QAAA,GAAAb,OAAA;AACA,IAAAc,cAAA,GAAAd,OAAA;AACA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,qBAAA,GAAAhB,OAAA;AAEA,IAAAiB,+BAAA,GAAAjB,OAAA;AACA,IAAAkB,sCAAA,GAAAlB,OAAA;AACA,IAAAmB,wBAAA,GAAAnB,OAAA;AAAyF,SAAAoB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAtB,wBAAAsB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEzF,eAAeW,iBAAiBA,CAACC,eAAyB,EAAgC;EACtF,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAExC,KAAK,MAAMC,cAAc,IAAIH,eAAe,EAAE;IAC1C,MAAMI,SAAS,GAAG,MAAM,IAAAC,kBAAS,EAAC,cAAcC,0CAAoB,CAACC,qBAAqB,EAAE,EAAE;MAC1FC,GAAG,EAAEL;IACT,CAAC,CAAC;IACF,KAAK,MAAMM,QAAQ,IAAIL,SAAS,EAAE;MAC9B,MAAMM,GAAG,GAAG,IAAAC,qCAAsB,EAACF,QAAQ,CAAC;MAC5CR,MAAM,CAACH,GAAG,CAACY,GAAG,EAAErD,IAAI,CAACuD,IAAI,CAACT,cAAc,EAAEM,QAAQ,CAAC,CAAC;IACxD;EACJ;EAEA,OAAOR,MAAM;AACjB;AAEO,MAAMY,kBAAkB,CAAC;EAoBrBC,WAAWA,CACdC,IAAY,EACZC,aAAuB,EACvBN,GAAW,EACXO,qBAA6B,EAC7BC,eAA6B,EAC7BC,4BAAqC,EACrCC,eAAuB,EACvBC,cAAuB,EACvBC,oBAA6B,EAC7BC,OAAgB,EAClB;IAAA,KA9BeR,IAAI;IAAA,KACJC,aAAa;IAAA,KACbN,GAAG;IAAA,KACHO,qBAAqB;IAAA,KAC9BO,aAAa;IAAA,KACbf,QAAQ;IAAA,KACCS,eAAe;IAAA,KACfO,kBAAkB;IACnC;IAAA,KACQC,aAAa;IAAA,KACbC,uBAAuB,GAAG,KAAK;IAAA,KACtBR,4BAA4B;IAAA,KAC5BC,eAAe;IAAA,KACfG,OAAO;IAAA,KACPF,cAAc;IAAA,KACdC,oBAAoB;IAAA,KAC7BM,uBAAuB;IAAA,KACvBC,QAAQ,GAAoCC,SAAS;IAczD,IAAI,CAACf,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACN,GAAG,GAAGA,GAAG;IACd,IAAI,CAACO,qBAAqB,GAAGA,qBAAqB;IAClD,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACO,kBAAkB,GAAG,IAAAM,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACZ,4BAA4B,GAAGA,4BAA4B;IAChE,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,oBAAoB,GAAGA,oBAAoB;IAChD,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAG,EAAE;IACvB,IAAI,CAACf,QAAQ,GAAG,EAAE;EACtB;EAEA,MAAcuB,YAAYA,CAACtB,GAAW,EAAwD;IAAA,IAAAuB,cAAA;IAC1F,IAAI,CAACJ,QAAQ,IAAAI,cAAA,GAAG,IAAI,CAACJ,QAAQ,cAAAI,cAAA,cAAAA,cAAA,GAAK,MAAMlC,iBAAiB,CAAC,IAAI,CAACiB,aAAa,CAACkB,GAAG,CAACC,CAAC,IAAI9E,IAAI,CAACuD,IAAI,CAACuB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE;IAE3G,IAAI,IAAI,CAACN,QAAQ,CAAC3C,GAAG,CAACwB,GAAG,CAAC,EAAE;MAAA,IAAA0B,kBAAA;MACxB,MAAM3B,QAAQ,IAAA2B,kBAAA,GAAG,IAAI,CAACP,QAAQ,CAAC1C,GAAG,CAACuB,GAAG,CAAC,cAAA0B,kBAAA,cAAAA,kBAAA,GAAI,IAAAC,mBAAM,EAAC,CAAC;MACnD,OAAO;QACH5B,QAAQ,EAAEA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,IAAA4B,mBAAM,EAAC,CAAC;QAC9Bb,aAAa,EAAEnE,IAAI,CAACiF,SAAS,CAACjF,IAAI,CAACuD,IAAI,CAACH,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC;MACjG,CAAC;IACL;IAEA,IAAIe,aAAiC;IACrC,IAAIe,WAAW,GAAG,EAAE;IAEpB,MAAMC,mBAAmB,GAAG,IAAI,CAACxB,aAAa,CAACkB,GAAG,CAACrC,CAAC,IAAIxC,IAAI,CAACuD,IAAI,CAACf,CAAC,EAAE,OAAO,EAAE,IAAI,CAACa,GAAG,CAAC,CAAC;IACxF,KAAK,MAAM+B,GAAG,IAAID,mBAAmB,EAAE;MACnC,IAAI,MAAM,IAAAE,mBAAU,EAACD,GAAG,CAAC,EAAE;QACvBF,WAAW,GAAGE,GAAG;QACjBjB,aAAa,GAAGnE,IAAI,CAACuD,IAAI,CAAC6B,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;QAC1C;MACJ;IACJ;IAEA,IAAIF,WAAW,KAAK,EAAE,EAAE;MACpB,MAAMI,KAAK,CAAC,uBAAuB,CAAC;IACxC;IACA,IAAInB,aAAa,IAAIM,SAAS,IAAI,EAAE,MAAM,IAAAY,mBAAU,EAAClB,aAAa,CAAC,CAAC,EAAE;MAClE,MAAMmB,KAAK,CAAC,mBAAmB,IAAI,CAACnB,aAAa,YAAY,CAAC;IAClE;IACA,OAAO;MACHf,QAAQ,EAAE8B,WAAW;MACrBf,aAAa,EAAEA;IACnB,CAAC;EACL;EAEA,MAAcoB,iCAAiCA,CAAChE,CAAU,EAAE;IAAA,IAAAiE,qBAAA;IACxD,MAAMC,kBAAkB,GAAGzF,IAAI,CAACuD,IAAI,CAAC,IAAI,CAACH,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;IACrE,QAAAoC,qBAAA,GAAM,IAAI,CAACjB,uBAAuB,cAAAiB,qBAAA,uBAA5BA,qBAAA,CAA8BE,UAAU,CAAC;MAC3C,CAACD,kBAAkB,GAAG,IAAAE,uEAAuC,EAAC,IAAI,CAACC,WAAW,CAACrE,CAAC,CAAC;IACrF,CAAC,CAAC;EACN;EAEOsE,KAAKA,CAAA,EAAkB;IAC1B,OAAO,IAAI,CAACzB,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,aAAa,IAAII,SAAS,EAAE;QACjC;MACJ;MAEA,MAAM;QAAErB,QAAQ;QAAEe;MAAc,CAAC,GAAG,MAAM,IAAI,CAACQ,YAAY,CAAC,IAAI,CAACtB,GAAG,CAAC;MACrE,IAAI,CAACc,aAAa,GAAGA,aAAa;MAClC,IAAI,CAACf,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACmB,uBAAuB,GAAG,IAAIuB,gDAAuB,CAAC9F,IAAI,CAACuD,IAAI,CAAC,IAAI,CAACH,QAAQ,EAAE,MAAM,CAAC,CAAC;MAE5F,IAAI,CAACiB,aAAa,GAAG0B,gBAAO,CAACC,IAAI,CAAChG,IAAI,CAACuD,IAAI,CAAC,IAAI,CAACH,QAAQ,EAAEH,0CAAoB,CAACgD,gBAAgB,CAAC,CAAC,CAC7FC,SAAS,CAACC,YAAY,IACnB,IAAAC,gCAAe,EACXD,YAAY,EACZ,IAAI,CAAC/C,QAAQ,EACbqB,SAAS,EACTA,SAAS,EACTA,SAAS,EACTA,SAAS,EACTA,SAAS,EACT,IAAI,CAACP,OACT,CACJ,CAAC,CACAgC,SAAS,CAAC,MAAMpB,CAAC,IAAI;QAClB,IAAI,IAAI,CAAChB,4BAA4B,EAAE;UACnC,OAAO;YACH,GAAGgB,CAAC;YACJuB,eAAe,EAAE,IAAAC,kDAA2B,EAAC,IAAI,CAACvC,eAAe,CAAC;YAClEwC,YAAY,EAAE,IAAAC,+CAAwB,EAAC,IAAI,CAACzC,eAAe;UAC/D,CAAC;QACL,CAAC,MAAM;UACH,IAAIe,CAAC,CAAC2B,gBAAgB,IAAIhC,SAAS,EAAE;YACjC,MAAM,IAAIa,KAAK,CAAC,gCAAgC,CAAC;UACrD;UACA,IAAIR,CAAC,CAAC4B,aAAa,IAAIjC,SAAS,EAAE;YAC9B,MAAM,IAAIa,KAAK,CAAC,6BAA6B,CAAC;UAClD;UACA,OAAO;YACH,GAAGR,CAAC;YACJuB,eAAe,EAAE,MAAM,IAAAM,8CAAuB,EAAC7B,CAAC,CAAC2B,gBAAgB,CAAC;YAClEF,YAAY,EAAE,MAAM,IAAAK,2CAAoB,EAAC9B,CAAC,CAAC4B,aAAa;UAC5D,CAAC;QACL;MACJ,CAAC,CAAC,CACDG,MAAM,CACH,MAAMC,EAAE,IAAI,IAAAC,sCAAgB,EAACD,EAAE,CAACT,eAAe,EAAE,IAAI,CAACzC,qBAAqB,EAAE,KAAK,EAAEa,SAAS,CAAC,EAC9F,OAAOqC,EAAE,EAAEE,CAAC,MAAM;QAAE,GAAGF,EAAE;QAAEG,SAAS,EAAED;MAAE,CAAC,CAAC,EAC1C,MAAMF,EAAE,IAAI,IAAAI,2CAAqB,EAACJ,EAAE,CAACT,eAAe,CACxD,CAAC,CACAQ,MAAM,CAAC,MAAMC,EAAE,IACZf,gBAAO,CAACoB,KAAK,CACTL,EAAE,CAACM,eAAe,EAClB,+BAA+B,EAC/B,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,mBACJ,CACJ,CAAC,CACAC,EAAE,CAAC,MAAMP,EAAE,IAAI;QACZ,IAAI;UACA,MAAMQ,kBAAkB,GAAG,IAAI,CAACzD,eAAe,CAAC0D,IAAI,CAAC/E,CAAC,IAAIA,CAAC,CAAC2B,aAAa,IAAIA,aAAa,CAAC;UAC3F,IAAImD,kBAAkB,IAAI7C,SAAS,EAAE;YACjC,MAAMa,KAAK,CAAC,kCAAkC,CAAC;UACnD;UACA,MAAM,IAAAkC,0BAAY,EACdV,EAAE,CAACM,eAAe,EAClB,IAAI,CAACjD,aAAa,EAClBmD,kBAAkB,CAACG,mBAAmB,EACtCX,EAAE,CAACG,SAAS,EACZxC,SAAS,EACT;YACIR,oBAAoB,EAAE,IAAI,CAACA,oBAAoB;YAC/CyD,aAAa,EAAE;UACnB,CAAC,EACD,IAAI,CAACnD,uBACT,CAAC;QACL,CAAC,CAAC,OAAOhD,CAAC,EAAE;UACR,MAAM,IAAI,CAACgE,iCAAiC,CAAChE,CAAC,CAAC;QACnD;MACJ,CAAC,CAAC;MACN,IAAI;QACA,MAAM,IAAI,CAAC8C,aAAa,CAACsD,OAAO,CAAC,CAAC;MACtC,CAAC,CAAC,OAAOpG,CAAC,EAAE;QACR,MAAM,IAAI,CAACgE,iCAAiC,CAAChE,CAAC,CAAC;MACnD;MAEA,MAAM,IAAAqG,4EAAqC,EACvC,IAAI,CAACvE,GAAG,EACR,IAAI,CAACc,aAAa,EAClB,IAAI,CAACf,QAAQ,EACbpD,IAAI,CAACuD,IAAI,CAAC,IAAI,CAACY,aAAa,EAAE,KAAK,CAAC,EACpC,YAAY,EACZ,IAAI,CAACH,cAAc,EACnB,IAAI,CAACO,uBAAuB,EAC5B,IAAI,CAACb,IACT,CAAC;MACD,IAAI,CAACY,uBAAuB,GAAG,IAAI;IACvC,CAAC,CAAC;EACN;EAEA,MAAauD,wBAAwBA,CAACC,QAAgB,EAAkC;IACpF,OAAO,CAAC,IAAI,CAACxD,uBAAuB,EAAE;MAClC,MAAM,IAAAyD,iBAAK,EAAC,GAAG,CAAC;IACpB;IACA,IAAIC,cAAc,GAAG,EAAE;IACvB,MAAM5E,QAAQ,GAAG,MAAM,IAAI,CAACuB,YAAY,CAAC,IAAI,CAACtB,GAAG,CAAC;IAClD,MAAM8B,mBAAmB,GAAG,CACxBnF,IAAI,CAACuD,IAAI,CAACH,QAAQ,CAACA,QAAQ,EAAEH,0CAAoB,CAACgF,yBAAyB,EAAEH,QAAQ,CAAC,CACzF;IACD,KAAK,MAAM1C,GAAG,IAAID,mBAAmB,EAAE;MACnC,IAAI;QAAA,IAAA+C,sBAAA;QACA,KAAAA,sBAAA,GAAI,IAAI,CAAC3D,uBAAuB,cAAA2D,sBAAA,eAA5BA,sBAAA,CAA8BC,QAAQ,CAAC/C,GAAG,CAAC,EAAE;UAC7C4C,cAAc,GAAG5C,GAAG;UACpB;QACJ;MACJ,CAAC,CAAC,OAAO7D,CAAC,EAAE;QACR;MACJ;IACJ;IACA,IAAIyG,cAAc,KAAK,EAAE,EAAE;MACvB,MAAM1C,KAAK,CAAC,4BAA4BwC,QAAQ,YAAY,CAAC;IACjE;IAEA,OAAO,IAAIM,OAAO,CAAC,CAACC,OAAO,EAAE5G,CAAC,KAAK;MAAA,IAAA6G,sBAAA;MAC/B,CAAAA,sBAAA,OAAI,CAAC/D,uBAAuB,cAAA+D,sBAAA,eAA5BA,sBAAA,CAA8BC,QAAQ,CAACP,cAAc,EAAE,OAAO,EAAE,CAACQ,KAAK,EAAEC,IAAI,KAAK;QAC7E,IAAID,KAAK,EAAE;UACP/G,CAAC,CAAC+G,KAAK,CAAC;QACZ,CAAC,MAAM;UACHH,OAAO,CAACK,gBAAQ,CAACC,IAAI,CAAC,CAACF,IAAI,CAAC,CAAC,CAAC;QAClC;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;EACN;EAEA,MAAaG,eAAeA,CAACd,QAAgB,EAAkC;IAC3E,OAAO,CAAC,IAAI,CAACxD,uBAAuB,EAAE;MAClC,MAAM,IAAAyD,iBAAK,EAAC,GAAG,CAAC;IACpB;IACA,MAAMc,QAAQ,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAACpF,IAAI,IAAIoE,QAAQ,EAAE,EAAE;MACvEiB,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,IAAIN,QAAQ,CAACO,MAAM,IAAI,GAAG,EAAE;MACxB,MAAMC,YAAY,GAAG,MAAMR,QAAQ,CAACS,IAAI,CAAC,CAAC;MAC1C,MAAM,IAAIhE,KAAK,CAAC+D,YAAY,CAAC;IACjC;IACA,MAAME,MAAM,GAAG,MAAMV,QAAQ,CAACU,MAAM,CAAC,CAAC;IACtC,OAAOb,gBAAQ,CAACC,IAAI,CAACY,MAAM,CAAC;EAChC;EAEQ3D,WAAWA,CAACrE,CAAgB,EAAU;IAC1C,IAAIA,CAAC,YAAY+D,KAAK,EAAE;MACpB,OAAO,GAAG/D,CAAC,KAAKA,CAAC,CAACiI,KAAK,EAAE;IAC7B;IACA,OAAO,GAAGjI,CAAC,EAAE;EACjB;AACJ;AAACkI,OAAA,CAAAjG,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -49,9 +49,9 @@ class ClientJsDevServer {
49
49
  }),
50
50
  compress: true
51
51
  });
52
- const text = await request.text();
53
- return _stream.Readable.from(text);
52
+ const buffer = await request.buffer();
53
+ return _stream.Readable.from(buffer);
54
54
  }
55
55
  }
56
56
  exports.ClientJsDevServer = ClientJsDevServer;
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9XZWJwYWNrRGV2U2VydmVyV29ya2VyRmFjdG9yeSIsIkNsaWVudEpzRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJzdGFydGVkIiwicExpbWl0Iiwic3RhcnQiLCJjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyIiwicmVzb3VyY2VzUGF0aCIsIm91dHB1dEZpbGVuYW1lIiwiZGV2ZWxvcG1lbnQiLCJwcm9kdWN0aW9uIiwic291cmNlTWFwUHJlZml4IiwiZ2V0Q2xpZW50SnNDb250ZW50QXNTdHJlYW0iLCJtaW5pZmllZCIsImZpbGVOYW1lIiwiZ2V0RmlsZVN0cmVhbSIsImZpbGVQYXRoVXJsIiwicmVxdWVzdCIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwidGV4dCIsIlJlYWRhYmxlIiwiZnJvbSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvRGV2U2VydmVycy9DbGllbnRKc0RldlNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZ2VudCB9IGZyb20gXCJodHRwc1wiO1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5cbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0IHBMaW1pdCwgeyBMaW1pdCB9IGZyb20gXCJwLWxpbWl0XCI7XG5cbmltcG9ydCB7IGNyZWF0ZVdlYlBhY2tEZXZTZXJ2ZXJXb3JrZXIgfSBmcm9tIFwiLi9XZWJwYWNrRGV2U2VydmVyV29ya2VyL1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXJGYWN0b3J5XCI7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnRKc0RldlNlcnZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXJ0UGFyYWxsZWxMaW1pdDogTGltaXQ7XG4gICAgcHJpdmF0ZSBzdGFydGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwb3J0OiBudW1iZXIsIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLCBidWlsZERlYnVnT25seTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5zdGFydFBhcmFsbGVsTGltaXQgPSBwTGltaXQoMSk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGFydGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXdhaXQgY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlcih0aGlzLmVuZ2luZURpcmVjdG9yeSwgXCJjbGllbnRqcy53ZWJwYWNrLmNvbmZpZy5qc1wiLCB0aGlzLnBvcnQsIHtcbiAgICAgICAgICAgICAgICByZXNvdXJjZXNQYXRoOiBcImRpc3RcIixcbiAgICAgICAgICAgICAgICBvdXRwdXRGaWxlbmFtZTogXCJjbGllbnRcIixcbiAgICAgICAgICAgICAgICBkZXZlbG9wbWVudDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgcHJvZHVjdGlvbjogdGhpcy5idWlsZERlYnVnT25seSA/IFwiZmFsc2VcIiA6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgIHNvdXJjZU1hcFByZWZpeDogXCJzdGF0aWMvXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRDbGllbnRKc0NvbnRlbnRBc1N0cmVhbShtaW5pZmllZDogYm9vbGVhbik6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gbWluaWZpZWQgPyBcImNsaWVudC5taW4uanNcIiA6IFwiY2xpZW50LmpzXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpbGVTdHJlYW0oYHN0YXRpYy9wdWJsaWMvc2NyaXB0cy8ke2ZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRGaWxlU3RyZWFtKGZpbGVQYXRoVXJsOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vbG9jYWxob3N0OiR7dGhpcy5wb3J0fS8ke2ZpbGVQYXRoVXJsfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGFnZW50OiBuZXcgQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pLFxuICAgICAgICAgICAgY29tcHJlc3M6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVxdWVzdC50ZXh0KCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKHRleHQpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFLLDhCQUFBLEdBQUFMLE9BQUE7QUFFTyxNQUFNTSxpQkFBaUIsQ0FBQztFQU9wQkMsV0FBV0EsQ0FBQ0MsSUFBWSxFQUFFQyxlQUF1QixFQUFFQyxjQUF1QixFQUFFO0lBQUEsS0FObEVGLElBQUk7SUFBQSxLQUNKQyxlQUFlO0lBQUEsS0FDZkUsa0JBQWtCO0lBQUEsS0FDM0JDLE9BQU8sR0FBRyxLQUFLO0lBQUEsS0FDTkYsY0FBYztJQUczQixJQUFJLENBQUNGLElBQUksR0FBR0EsSUFBSTtJQUNoQixJQUFJLENBQUNDLGVBQWUsR0FBR0EsZUFBZTtJQUN0QyxJQUFJLENBQUNFLGtCQUFrQixHQUFHLElBQUFFLGVBQU0sRUFBQyxDQUFDLENBQUM7SUFDbkMsSUFBSSxDQUFDSCxjQUFjLEdBQUdBLGNBQWM7RUFDeEM7RUFFQSxNQUFhSSxLQUFLQSxDQUFBLEVBQWtCO0lBQ2hDLE9BQU8sSUFBSSxDQUFDSCxrQkFBa0IsQ0FBQyxZQUFZO01BQ3ZDLElBQUksSUFBSSxDQUFDQyxPQUFPLEVBQUU7UUFDZDtNQUNKO01BQ0EsTUFBTSxJQUFBRywyREFBNEIsRUFBQyxJQUFJLENBQUNOLGVBQWUsRUFBRSw0QkFBNEIsRUFBRSxJQUFJLENBQUNELElBQUksRUFBRTtRQUM5RlEsYUFBYSxFQUFFLE1BQU07UUFDckJDLGNBQWMsRUFBRSxRQUFRO1FBQ3hCQyxXQUFXLEVBQUUsTUFBTTtRQUNuQkMsVUFBVSxFQUFFLElBQUksQ0FBQ1QsY0FBYyxHQUFHLE9BQU8sR0FBRyxNQUFNO1FBQ2xEVSxlQUFlLEVBQUU7TUFDckIsQ0FBQyxDQUFDO01BQ0YsSUFBSSxDQUFDUixPQUFPLEdBQUcsSUFBSTtJQUN2QixDQUFDLENBQUM7RUFDTjtFQUVBLE1BQWFTLDBCQUEwQkEsQ0FBQ0MsUUFBaUIsRUFBa0M7SUFDdkYsTUFBTUMsUUFBUSxHQUFHRCxRQUFRLEdBQUcsZUFBZSxHQUFHLFdBQVc7SUFDekQsT0FBTyxJQUFJLENBQUNFLGFBQWEsQ0FBQyx5QkFBeUJELFFBQVEsRUFBRSxDQUFDO0VBQ2xFO0VBRUEsTUFBYUMsYUFBYUEsQ0FBQ0MsV0FBbUIsRUFBa0M7SUFDNUUsTUFBTUMsT0FBTyxHQUFHLE1BQU0sSUFBQUMsa0JBQUssRUFBQyxxQkFBcUIsSUFBSSxDQUFDbkIsSUFBSSxJQUFJaUIsV0FBVyxFQUFFLEVBQUU7TUFDekVHLE1BQU0sRUFBRSxLQUFLO01BQ2JDLEtBQUssRUFBRSxJQUFJQyxZQUFLLENBQUM7UUFBRUMsa0JBQWtCLEVBQUU7TUFBTSxDQUFDLENBQUM7TUFDL0NDLFFBQVEsRUFBRTtJQUNkLENBQUMsQ0FBQztJQUNGLE1BQU1DLElBQUksR0FBRyxNQUFNUCxPQUFPLENBQUNPLElBQUksQ0FBQyxDQUFDO0lBQ2pDLE9BQU9DLGdCQUFRLENBQUNDLElBQUksQ0FBQ0YsSUFBSSxDQUFDO0VBQzlCO0FBQ0o7QUFBQ0csT0FBQSxDQUFBOUIsaUJBQUEsR0FBQUEsaUJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9XZWJwYWNrRGV2U2VydmVyV29ya2VyRmFjdG9yeSIsIkNsaWVudEpzRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJzdGFydGVkIiwicExpbWl0Iiwic3RhcnQiLCJjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyIiwicmVzb3VyY2VzUGF0aCIsIm91dHB1dEZpbGVuYW1lIiwiZGV2ZWxvcG1lbnQiLCJwcm9kdWN0aW9uIiwic291cmNlTWFwUHJlZml4IiwiZ2V0Q2xpZW50SnNDb250ZW50QXNTdHJlYW0iLCJtaW5pZmllZCIsImZpbGVOYW1lIiwiZ2V0RmlsZVN0cmVhbSIsImZpbGVQYXRoVXJsIiwicmVxdWVzdCIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwiYnVmZmVyIiwiUmVhZGFibGUiLCJmcm9tIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0NsaWVudEpzRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcblxuaW1wb3J0IHsgY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlciB9IGZyb20gXCIuL1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXIvV2VicGFja0RldlNlcnZlcldvcmtlckZhY3RvcnlcIjtcblxuZXhwb3J0IGNsYXNzIENsaWVudEpzRGV2U2VydmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRQYXJhbGxlbExpbWl0OiBMaW1pdDtcbiAgICBwcml2YXRlIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBvcnQ6IG51bWJlciwgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyKHRoaXMuZW5naW5lRGlyZWN0b3J5LCBcImNsaWVudGpzLndlYnBhY2suY29uZmlnLmpzXCIsIHRoaXMucG9ydCwge1xuICAgICAgICAgICAgICAgIHJlc291cmNlc1BhdGg6IFwiZGlzdFwiLFxuICAgICAgICAgICAgICAgIG91dHB1dEZpbGVuYW1lOiBcImNsaWVudFwiLFxuICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICBwcm9kdWN0aW9uOiB0aGlzLmJ1aWxkRGVidWdPbmx5ID8gXCJmYWxzZVwiIDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwUHJlZml4OiBcInN0YXRpYy9cIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldENsaWVudEpzQ29udGVudEFzU3RyZWFtKG1pbmlmaWVkOiBib29sZWFuKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBtaW5pZmllZCA/IFwiY2xpZW50Lm1pbi5qc1wiIDogXCJjbGllbnQuanNcIjtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmlsZVN0cmVhbShgc3RhdGljL3B1YmxpYy9zY3JpcHRzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVTdHJlYW0oZmlsZVBhdGhVcmw6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9LyR7ZmlsZVBhdGhVcmx9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IHJlcXVlc3QuYnVmZmVyKCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKGJ1ZmZlcik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUssOEJBQUEsR0FBQUwsT0FBQTtBQUVPLE1BQU1NLGlCQUFpQixDQUFDO0VBT3BCQyxXQUFXQSxDQUFDQyxJQUFZLEVBQUVDLGVBQXVCLEVBQUVDLGNBQXVCLEVBQUU7SUFBQSxLQU5sRUYsSUFBSTtJQUFBLEtBQ0pDLGVBQWU7SUFBQSxLQUNmRSxrQkFBa0I7SUFBQSxLQUMzQkMsT0FBTyxHQUFHLEtBQUs7SUFBQSxLQUNORixjQUFjO0lBRzNCLElBQUksQ0FBQ0YsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsZUFBZSxHQUFHQSxlQUFlO0lBQ3RDLElBQUksQ0FBQ0Usa0JBQWtCLEdBQUcsSUFBQUUsZUFBTSxFQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLENBQUNILGNBQWMsR0FBR0EsY0FBYztFQUN4QztFQUVBLE1BQWFJLEtBQUtBLENBQUEsRUFBa0I7SUFDaEMsT0FBTyxJQUFJLENBQUNILGtCQUFrQixDQUFDLFlBQVk7TUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sRUFBRTtRQUNkO01BQ0o7TUFDQSxNQUFNLElBQUFHLDJEQUE0QixFQUFDLElBQUksQ0FBQ04sZUFBZSxFQUFFLDRCQUE0QixFQUFFLElBQUksQ0FBQ0QsSUFBSSxFQUFFO1FBQzlGUSxhQUFhLEVBQUUsTUFBTTtRQUNyQkMsY0FBYyxFQUFFLFFBQVE7UUFDeEJDLFdBQVcsRUFBRSxNQUFNO1FBQ25CQyxVQUFVLEVBQUUsSUFBSSxDQUFDVCxjQUFjLEdBQUcsT0FBTyxHQUFHLE1BQU07UUFDbERVLGVBQWUsRUFBRTtNQUNyQixDQUFDLENBQUM7TUFDRixJQUFJLENBQUNSLE9BQU8sR0FBRyxJQUFJO0lBQ3ZCLENBQUMsQ0FBQztFQUNOO0VBRUEsTUFBYVMsMEJBQTBCQSxDQUFDQyxRQUFpQixFQUFrQztJQUN2RixNQUFNQyxRQUFRLEdBQUdELFFBQVEsR0FBRyxlQUFlLEdBQUcsV0FBVztJQUN6RCxPQUFPLElBQUksQ0FBQ0UsYUFBYSxDQUFDLHlCQUF5QkQsUUFBUSxFQUFFLENBQUM7RUFDbEU7RUFFQSxNQUFhQyxhQUFhQSxDQUFDQyxXQUFtQixFQUFrQztJQUM1RSxNQUFNQyxPQUFPLEdBQUcsTUFBTSxJQUFBQyxrQkFBSyxFQUFDLHFCQUFxQixJQUFJLENBQUNuQixJQUFJLElBQUlpQixXQUFXLEVBQUUsRUFBRTtNQUN6RUcsTUFBTSxFQUFFLEtBQUs7TUFDYkMsS0FBSyxFQUFFLElBQUlDLFlBQUssQ0FBQztRQUFFQyxrQkFBa0IsRUFBRTtNQUFNLENBQUMsQ0FBQztNQUMvQ0MsUUFBUSxFQUFFO0lBQ2QsQ0FBQyxDQUFDO0lBQ0YsTUFBTUMsTUFBTSxHQUFHLE1BQU1QLE9BQU8sQ0FBQ08sTUFBTSxDQUFDLENBQUM7SUFDckMsT0FBT0MsZ0JBQVEsQ0FBQ0MsSUFBSSxDQUFDRixNQUFNLENBQUM7RUFDaEM7QUFDSjtBQUFDRyxPQUFBLENBQUE5QixpQkFBQSxHQUFBQSxpQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"ClientJsDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_WebpackDevServerWorkerFactory","ClientJsDevServer","constructor","port","engineDirectory","buildDebugOnly","startParallelLimit","started","pLimit","start","createWebPackDevServerWorker","resourcesPath","outputFilename","development","production","sourceMapPrefix","getClientJsContentAsStream","minified","fileName","getFileStream","filePathUrl","request","fetch","method","agent","Agent","rejectUnauthorized","compress","text","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class ClientJsDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n await createWebPackDevServerWorker(this.engineDirectory, \"clientjs.webpack.config.js\", this.port, {\n resourcesPath: \"dist\",\n outputFilename: \"client\",\n development: \"true\",\n production: this.buildDebugOnly ? \"false\" : \"true\",\n sourceMapPrefix: \"static/\",\n });\n this.started = true;\n });\n }\n\n public async getClientJsContentAsStream(minified: boolean): Promise<NodeJS.ReadableStream> {\n const fileName = minified ? \"client.min.js\" : \"client.js\";\n return this.getFileStream(`static/public/scripts/${fileName}`);\n }\n\n public async getFileStream(filePathUrl: string): Promise<NodeJS.ReadableStream> {\n const request = await fetch(`https://localhost:${this.port}/${filePathUrl}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n const text = await request.text();\n return Readable.from(text);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,8BAAA,GAAAL,OAAA;AAEO,MAAMM,iBAAiB,CAAC;EAOpBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAE;IAAA,KANlEF,IAAI;IAAA,KACJC,eAAe;IAAA,KACfE,kBAAkB;IAAA,KAC3BC,OAAO,GAAG,KAAK;IAAA,KACNF,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACE,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACH,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAM,IAAAG,2DAA4B,EAAC,IAAI,CAACN,eAAe,EAAE,4BAA4B,EAAE,IAAI,CAACD,IAAI,EAAE;QAC9FQ,aAAa,EAAE,MAAM;QACrBC,cAAc,EAAE,QAAQ;QACxBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,IAAI,CAACT,cAAc,GAAG,OAAO,GAAG,MAAM;QAClDU,eAAe,EAAE;MACrB,CAAC,CAAC;MACF,IAAI,CAACR,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,0BAA0BA,CAACC,QAAiB,EAAkC;IACvF,MAAMC,QAAQ,GAAGD,QAAQ,GAAG,eAAe,GAAG,WAAW;IACzD,OAAO,IAAI,CAACE,aAAa,CAAC,yBAAyBD,QAAQ,EAAE,CAAC;EAClE;EAEA,MAAaC,aAAaA,CAACC,WAAmB,EAAkC;IAC5E,MAAMC,OAAO,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAACnB,IAAI,IAAIiB,WAAW,EAAE,EAAE;MACzEG,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,MAAMC,IAAI,GAAG,MAAMP,OAAO,CAACO,IAAI,CAAC,CAAC;IACjC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,IAAI,CAAC;EAC9B;AACJ;AAACG,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"ClientJsDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_WebpackDevServerWorkerFactory","ClientJsDevServer","constructor","port","engineDirectory","buildDebugOnly","startParallelLimit","started","pLimit","start","createWebPackDevServerWorker","resourcesPath","outputFilename","development","production","sourceMapPrefix","getClientJsContentAsStream","minified","fileName","getFileStream","filePathUrl","request","fetch","method","agent","Agent","rejectUnauthorized","compress","buffer","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class ClientJsDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n await createWebPackDevServerWorker(this.engineDirectory, \"clientjs.webpack.config.js\", this.port, {\n resourcesPath: \"dist\",\n outputFilename: \"client\",\n development: \"true\",\n production: this.buildDebugOnly ? \"false\" : \"true\",\n sourceMapPrefix: \"static/\",\n });\n this.started = true;\n });\n }\n\n public async getClientJsContentAsStream(minified: boolean): Promise<NodeJS.ReadableStream> {\n const fileName = minified ? \"client.min.js\" : \"client.js\";\n return this.getFileStream(`static/public/scripts/${fileName}`);\n }\n\n public async getFileStream(filePathUrl: string): Promise<NodeJS.ReadableStream> {\n const request = await fetch(`https://localhost:${this.port}/${filePathUrl}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n const buffer = await request.buffer();\n return Readable.from(buffer);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,8BAAA,GAAAL,OAAA;AAEO,MAAMM,iBAAiB,CAAC;EAOpBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAE;IAAA,KANlEF,IAAI;IAAA,KACJC,eAAe;IAAA,KACfE,kBAAkB;IAAA,KAC3BC,OAAO,GAAG,KAAK;IAAA,KACNF,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACE,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACH,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAM,IAAAG,2DAA4B,EAAC,IAAI,CAACN,eAAe,EAAE,4BAA4B,EAAE,IAAI,CAACD,IAAI,EAAE;QAC9FQ,aAAa,EAAE,MAAM;QACrBC,cAAc,EAAE,QAAQ;QACxBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,IAAI,CAACT,cAAc,GAAG,OAAO,GAAG,MAAM;QAClDU,eAAe,EAAE;MACrB,CAAC,CAAC;MACF,IAAI,CAACR,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,0BAA0BA,CAACC,QAAiB,EAAkC;IACvF,MAAMC,QAAQ,GAAGD,QAAQ,GAAG,eAAe,GAAG,WAAW;IACzD,OAAO,IAAI,CAACE,aAAa,CAAC,yBAAyBD,QAAQ,EAAE,CAAC;EAClE;EAEA,MAAaC,aAAaA,CAACC,WAAmB,EAAkC;IAC5E,MAAMC,OAAO,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAACnB,IAAI,IAAIiB,WAAW,EAAE,EAAE;MACzEG,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,MAAMC,MAAM,GAAG,MAAMP,OAAO,CAACO,MAAM,CAAC,CAAC;IACrC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,MAAM,CAAC;EAChC;AACJ;AAACG,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -59,9 +59,9 @@ class EngineDevServer {
59
59
  if (response.status === 404) {
60
60
  throw new _NotFoundWebError.NotFoundWebError(`Cannot find ${filename} at runtime dev server runner at ${this.port}`);
61
61
  }
62
- const text = await response.text();
63
- return _stream.Readable.from(text);
62
+ const buffer = await response.buffer();
63
+ return _stream.Readable.from(buffer);
64
64
  }
65
65
  }
66
66
  exports.EngineDevServer = EngineDevServer;
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9Bc3luY1V0aWxzIiwiX05vdEZvdW5kV2ViRXJyb3IiLCJfV2VicGFja0RldlNlcnZlcldvcmtlckZhY3RvcnkiLCJFbmdpbmVEZXZTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInBvcnQiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInRoZW1lIiwic3RhcnRQYXJhbGxlbExpbWl0Iiwic3RhcnRlZCIsInBMaW1pdCIsInN0YXJ0Iiwib3B0aW9ucyIsInJlc291cmNlc1BhdGgiLCJkZXZlbG9wbWVudCIsInByb2R1Y3Rpb24iLCJ0ZXN0aW5nIiwiY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlciIsImdldEZpbGVBc1N0cmVhbSIsImZpbGVuYW1lIiwiZGVsYXkiLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwiTm90Rm91bmRXZWJFcnJvciIsInRleHQiLCJSZWFkYWJsZSIsImZyb20iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0RldlNlcnZlcnMvRW5naW5lRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcblxuaW1wb3J0IHsgZGVsYXkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0FzeW5jVXRpbHNcIjtcbmltcG9ydCB7IE5vdEZvdW5kV2ViRXJyb3IgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTm90Rm91bmRXZWJFcnJvclwiO1xuXG5pbXBvcnQgeyBjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyIH0gZnJvbSBcIi4vV2VicGFja0RldlNlcnZlcldvcmtlci9XZWJwYWNrRGV2U2VydmVyV29ya2VyRmFjdG9yeVwiO1xuXG5leHBvcnQgY2xhc3MgRW5naW5lRGV2U2VydmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRQYXJhbGxlbExpbWl0OiBMaW1pdDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRoZW1lOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdGFydGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwb3J0OiBudW1iZXIsIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLCBidWlsZERlYnVnT25seTogYm9vbGVhbiwgdGhlbWU6IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5zdGFydFBhcmFsbGVsTGltaXQgPSBwTGltaXQoMSk7XG4gICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHkgPSBidWlsZERlYnVnT25seTtcbiAgICAgICAgdGhpcy50aGVtZSA9IHRoZW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5idWlsZERlYnVnT25seVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc1BhdGg6IFwiZGlzdFwiLFxuICAgICAgICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0aW9uOiBcImZhbHNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgdGVzdGluZzogXCJmYWxzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc1BhdGg6IFwiZGlzdFwiLFxuICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGF3YWl0IGNyZWF0ZVdlYlBhY2tEZXZTZXJ2ZXJXb3JrZXIodGhpcy5lbmdpbmVEaXJlY3RvcnksIFwid2VicGFjay5jb25maWcuanNcIiwgdGhpcy5wb3J0LCBvcHRpb25zKTtcblxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVBc1N0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgd2hpbGUgKCF0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9L3N0YXRpYy8ke2ZpbGVuYW1lfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGFnZW50OiBuZXcgQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pLFxuICAgICAgICAgICAgY29tcHJlc3M6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZFdlYkVycm9yKGBDYW5ub3QgZmluZCAke2ZpbGVuYW1lfSBhdCBydW50aW1lIGRldiBzZXJ2ZXIgcnVubmVyIGF0ICR7dGhpcy5wb3J0fWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKHRleHQpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyw4QkFBQSxHQUFBUCxPQUFBO0FBRU8sTUFBTVEsZUFBZSxDQUFDO0VBUWxCQyxXQUFXQSxDQUFDQyxJQUFZLEVBQUVDLGVBQXVCLEVBQUVDLGNBQXVCLEVBQUVDLEtBQXlCLEVBQUU7SUFBQSxLQVA3RkgsSUFBSTtJQUFBLEtBQ0pDLGVBQWU7SUFBQSxLQUNmRyxrQkFBa0I7SUFBQSxLQUNsQkQsS0FBSztJQUFBLEtBQ2RFLE9BQU8sR0FBRyxLQUFLO0lBQUEsS0FDTkgsY0FBYztJQUczQixJQUFJLENBQUNGLElBQUksR0FBR0EsSUFBSTtJQUNoQixJQUFJLENBQUNDLGVBQWUsR0FBR0EsZUFBZTtJQUN0QyxJQUFJLENBQUNHLGtCQUFrQixHQUFHLElBQUFFLGVBQU0sRUFBQyxDQUFDLENBQUM7SUFDbkMsSUFBSSxDQUFDSixjQUFjLEdBQUdBLGNBQWM7SUFDcEMsSUFBSSxDQUFDQyxLQUFLLEdBQUdBLEtBQUs7RUFDdEI7RUFFQSxNQUFhSSxLQUFLQSxDQUFBLEVBQWtCO0lBQ2hDLE9BQU8sSUFBSSxDQUFDSCxrQkFBa0IsQ0FBQyxZQUFZO01BQ3ZDLElBQUksSUFBSSxDQUFDQyxPQUFPLEVBQUU7UUFDZDtNQUNKO01BQ0EsTUFBTUcsT0FBTyxHQUFHLElBQUksQ0FBQ04sY0FBYyxHQUM3QjtRQUNJTyxhQUFhLEVBQUUsTUFBTTtRQUNyQkMsV0FBVyxFQUFFLE1BQU07UUFDbkJDLFVBQVUsRUFBRSxPQUFPO1FBQ25CQyxPQUFPLEVBQUUsT0FBTztRQUNoQlQsS0FBSyxFQUFFLElBQUksQ0FBQ0E7TUFDaEIsQ0FBQyxHQUNEO1FBQ0lNLGFBQWEsRUFBRSxNQUFNO1FBQ3JCTixLQUFLLEVBQUUsSUFBSSxDQUFDQTtNQUNoQixDQUFDO01BQ1AsTUFBTSxJQUFBVSwyREFBNEIsRUFBQyxJQUFJLENBQUNaLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUNELElBQUksRUFBRVEsT0FBTyxDQUFDO01BRWpHLElBQUksQ0FBQ0gsT0FBTyxHQUFHLElBQUk7SUFDdkIsQ0FBQyxDQUFDO0VBQ047RUFFQSxNQUFhUyxlQUFlQSxDQUFDQyxRQUFnQixFQUFrQztJQUMzRSxPQUFPLENBQUMsSUFBSSxDQUFDVixPQUFPLEVBQUU7TUFDbEIsTUFBTSxJQUFBVyxpQkFBSyxFQUFDLEdBQUcsQ0FBQztJQUNwQjtJQUNBLE1BQU1DLFFBQVEsR0FBRyxNQUFNLElBQUFDLGtCQUFLLEVBQUMscUJBQXFCLElBQUksQ0FBQ2xCLElBQUksV0FBV2UsUUFBUSxFQUFFLEVBQUU7TUFDOUVJLE1BQU0sRUFBRSxLQUFLO01BQ2JDLEtBQUssRUFBRSxJQUFJQyxZQUFLLENBQUM7UUFBRUMsa0JBQWtCLEVBQUU7TUFBTSxDQUFDLENBQUM7TUFDL0NDLFFBQVEsRUFBRTtJQUNkLENBQUMsQ0FBQztJQUNGLElBQUlOLFFBQVEsQ0FBQ08sTUFBTSxLQUFLLEdBQUcsRUFBRTtNQUN6QixNQUFNLElBQUlDLGtDQUFnQixDQUFDLGVBQWVWLFFBQVEsb0NBQW9DLElBQUksQ0FBQ2YsSUFBSSxFQUFFLENBQUM7SUFDdEc7SUFDQSxNQUFNMEIsSUFBSSxHQUFHLE1BQU1ULFFBQVEsQ0FBQ1MsSUFBSSxDQUFDLENBQUM7SUFDbEMsT0FBT0MsZ0JBQVEsQ0FBQ0MsSUFBSSxDQUFDRixJQUFJLENBQUM7RUFDOUI7QUFDSjtBQUFDRyxPQUFBLENBQUEvQixlQUFBLEdBQUFBLGVBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9Bc3luY1V0aWxzIiwiX05vdEZvdW5kV2ViRXJyb3IiLCJfV2VicGFja0RldlNlcnZlcldvcmtlckZhY3RvcnkiLCJFbmdpbmVEZXZTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInBvcnQiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInRoZW1lIiwic3RhcnRQYXJhbGxlbExpbWl0Iiwic3RhcnRlZCIsInBMaW1pdCIsInN0YXJ0Iiwib3B0aW9ucyIsInJlc291cmNlc1BhdGgiLCJkZXZlbG9wbWVudCIsInByb2R1Y3Rpb24iLCJ0ZXN0aW5nIiwiY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlciIsImdldEZpbGVBc1N0cmVhbSIsImZpbGVuYW1lIiwiZGVsYXkiLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwiTm90Rm91bmRXZWJFcnJvciIsImJ1ZmZlciIsIlJlYWRhYmxlIiwiZnJvbSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvRGV2U2VydmVycy9FbmdpbmVEZXZTZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWdlbnQgfSBmcm9tIFwiaHR0cHNcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuXG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcbmltcG9ydCBwTGltaXQsIHsgTGltaXQgfSBmcm9tIFwicC1saW1pdFwiO1xuXG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQXN5bmNVdGlsc1wiO1xuaW1wb3J0IHsgTm90Rm91bmRXZWJFcnJvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9Ob3RGb3VuZFdlYkVycm9yXCI7XG5cbmltcG9ydCB7IGNyZWF0ZVdlYlBhY2tEZXZTZXJ2ZXJXb3JrZXIgfSBmcm9tIFwiLi9XZWJwYWNrRGV2U2VydmVyV29ya2VyL1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXJGYWN0b3J5XCI7XG5cbmV4cG9ydCBjbGFzcyBFbmdpbmVEZXZTZXJ2ZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhlbWU6IHVuZGVmaW5lZCB8IHN0cmluZztcbiAgICBwcml2YXRlIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBvcnQ6IG51bWJlciwgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuLCB0aGVtZTogdW5kZWZpbmVkIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgICAgICB0aGlzLnRoZW1lID0gdGhlbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGFydFBhcmFsbGVsTGltaXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmJ1aWxkRGVidWdPbmx5XG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzUGF0aDogXCJkaXN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgZGV2ZWxvcG1lbnQ6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3Rpb246IFwiZmFsc2VcIixcbiAgICAgICAgICAgICAgICAgICAgICB0ZXN0aW5nOiBcImZhbHNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzUGF0aDogXCJkaXN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgYXdhaXQgY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlcih0aGlzLmVuZ2luZURpcmVjdG9yeSwgXCJ3ZWJwYWNrLmNvbmZpZy5qc1wiLCB0aGlzLnBvcnQsIG9wdGlvbnMpO1xuXG4gICAgICAgICAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZUFzU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICB3aGlsZSAoIXRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL2xvY2FsaG9zdDoke3RoaXMucG9ydH0vc3RhdGljLyR7ZmlsZW5hbWV9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoYENhbm5vdCBmaW5kICR7ZmlsZW5hbWV9IGF0IHJ1bnRpbWUgZGV2IHNlcnZlciBydW5uZXIgYXQgJHt0aGlzLnBvcnR9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgcmVzcG9uc2UuYnVmZmVyKCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKGJ1ZmZlcik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0saUJBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLDhCQUFBLEdBQUFQLE9BQUE7QUFFTyxNQUFNUSxlQUFlLENBQUM7RUFRbEJDLFdBQVdBLENBQUNDLElBQVksRUFBRUMsZUFBdUIsRUFBRUMsY0FBdUIsRUFBRUMsS0FBeUIsRUFBRTtJQUFBLEtBUDdGSCxJQUFJO0lBQUEsS0FDSkMsZUFBZTtJQUFBLEtBQ2ZHLGtCQUFrQjtJQUFBLEtBQ2xCRCxLQUFLO0lBQUEsS0FDZEUsT0FBTyxHQUFHLEtBQUs7SUFBQSxLQUNOSCxjQUFjO0lBRzNCLElBQUksQ0FBQ0YsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsZUFBZSxHQUFHQSxlQUFlO0lBQ3RDLElBQUksQ0FBQ0csa0JBQWtCLEdBQUcsSUFBQUUsZUFBTSxFQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLENBQUNKLGNBQWMsR0FBR0EsY0FBYztJQUNwQyxJQUFJLENBQUNDLEtBQUssR0FBR0EsS0FBSztFQUN0QjtFQUVBLE1BQWFJLEtBQUtBLENBQUEsRUFBa0I7SUFDaEMsT0FBTyxJQUFJLENBQUNILGtCQUFrQixDQUFDLFlBQVk7TUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sRUFBRTtRQUNkO01BQ0o7TUFDQSxNQUFNRyxPQUFPLEdBQUcsSUFBSSxDQUFDTixjQUFjLEdBQzdCO1FBQ0lPLGFBQWEsRUFBRSxNQUFNO1FBQ3JCQyxXQUFXLEVBQUUsTUFBTTtRQUNuQkMsVUFBVSxFQUFFLE9BQU87UUFDbkJDLE9BQU8sRUFBRSxPQUFPO1FBQ2hCVCxLQUFLLEVBQUUsSUFBSSxDQUFDQTtNQUNoQixDQUFDLEdBQ0Q7UUFDSU0sYUFBYSxFQUFFLE1BQU07UUFDckJOLEtBQUssRUFBRSxJQUFJLENBQUNBO01BQ2hCLENBQUM7TUFDUCxNQUFNLElBQUFVLDJEQUE0QixFQUFDLElBQUksQ0FBQ1osZUFBZSxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQ0QsSUFBSSxFQUFFUSxPQUFPLENBQUM7TUFFakcsSUFBSSxDQUFDSCxPQUFPLEdBQUcsSUFBSTtJQUN2QixDQUFDLENBQUM7RUFDTjtFQUVBLE1BQWFTLGVBQWVBLENBQUNDLFFBQWdCLEVBQWtDO0lBQzNFLE9BQU8sQ0FBQyxJQUFJLENBQUNWLE9BQU8sRUFBRTtNQUNsQixNQUFNLElBQUFXLGlCQUFLLEVBQUMsR0FBRyxDQUFDO0lBQ3BCO0lBQ0EsTUFBTUMsUUFBUSxHQUFHLE1BQU0sSUFBQUMsa0JBQUssRUFBQyxxQkFBcUIsSUFBSSxDQUFDbEIsSUFBSSxXQUFXZSxRQUFRLEVBQUUsRUFBRTtNQUM5RUksTUFBTSxFQUFFLEtBQUs7TUFDYkMsS0FBSyxFQUFFLElBQUlDLFlBQUssQ0FBQztRQUFFQyxrQkFBa0IsRUFBRTtNQUFNLENBQUMsQ0FBQztNQUMvQ0MsUUFBUSxFQUFFO0lBQ2QsQ0FBQyxDQUFDO0lBQ0YsSUFBSU4sUUFBUSxDQUFDTyxNQUFNLEtBQUssR0FBRyxFQUFFO01BQ3pCLE1BQU0sSUFBSUMsa0NBQWdCLENBQUMsZUFBZVYsUUFBUSxvQ0FBb0MsSUFBSSxDQUFDZixJQUFJLEVBQUUsQ0FBQztJQUN0RztJQUNBLE1BQU0wQixNQUFNLEdBQUcsTUFBTVQsUUFBUSxDQUFDUyxNQUFNLENBQUMsQ0FBQztJQUN0QyxPQUFPQyxnQkFBUSxDQUFDQyxJQUFJLENBQUNGLE1BQU0sQ0FBQztFQUNoQztBQUNKO0FBQUNHLE9BQUEsQ0FBQS9CLGVBQUEsR0FBQUEsZUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"EngineDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_AsyncUtils","_NotFoundWebError","_WebpackDevServerWorkerFactory","EngineDevServer","constructor","port","engineDirectory","buildDebugOnly","theme","startParallelLimit","started","pLimit","start","options","resourcesPath","development","production","testing","createWebPackDevServerWorker","getFileAsStream","filename","delay","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","NotFoundWebError","text","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { NotFoundWebError } from \"../../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class EngineDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private readonly theme: undefined | string;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean, theme: undefined | string) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n this.theme = theme;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n const options = this.buildDebugOnly\n ? {\n resourcesPath: \"dist\",\n development: \"true\",\n production: \"false\",\n testing: \"false\",\n theme: this.theme,\n }\n : {\n resourcesPath: \"dist\",\n theme: this.theme,\n };\n await createWebPackDevServerWorker(this.engineDirectory, \"webpack.config.js\", this.port, options);\n\n this.started = true;\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.started) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/static/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status === 404) {\n throw new NotFoundWebError(`Cannot find ${filename} at runtime dev server runner at ${this.port}`);\n }\n const text = await response.text();\n return Readable.from(text);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAEA,IAAAO,8BAAA,GAAAP,OAAA;AAEO,MAAMQ,eAAe,CAAC;EAQlBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAEC,KAAyB,EAAE;IAAA,KAP7FH,IAAI;IAAA,KACJC,eAAe;IAAA,KACfG,kBAAkB;IAAA,KAClBD,KAAK;IAAA,KACdE,OAAO,GAAG,KAAK;IAAA,KACNH,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACG,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACJ,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAMG,OAAO,GAAG,IAAI,CAACN,cAAc,GAC7B;QACIO,aAAa,EAAE,MAAM;QACrBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,OAAO;QACnBC,OAAO,EAAE,OAAO;QAChBT,KAAK,EAAE,IAAI,CAACA;MAChB,CAAC,GACD;QACIM,aAAa,EAAE,MAAM;QACrBN,KAAK,EAAE,IAAI,CAACA;MAChB,CAAC;MACP,MAAM,IAAAU,2DAA4B,EAAC,IAAI,CAACZ,eAAe,EAAE,mBAAmB,EAAE,IAAI,CAACD,IAAI,EAAEQ,OAAO,CAAC;MAEjG,IAAI,CAACH,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,eAAeA,CAACC,QAAgB,EAAkC;IAC3E,OAAO,CAAC,IAAI,CAACV,OAAO,EAAE;MAClB,MAAM,IAAAW,iBAAK,EAAC,GAAG,CAAC;IACpB;IACA,MAAMC,QAAQ,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAAClB,IAAI,WAAWe,QAAQ,EAAE,EAAE;MAC9EI,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,IAAIN,QAAQ,CAACO,MAAM,KAAK,GAAG,EAAE;MACzB,MAAM,IAAIC,kCAAgB,CAAC,eAAeV,QAAQ,oCAAoC,IAAI,CAACf,IAAI,EAAE,CAAC;IACtG;IACA,MAAM0B,IAAI,GAAG,MAAMT,QAAQ,CAACS,IAAI,CAAC,CAAC;IAClC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,IAAI,CAAC;EAC9B;AACJ;AAACG,OAAA,CAAA/B,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"file":"EngineDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_AsyncUtils","_NotFoundWebError","_WebpackDevServerWorkerFactory","EngineDevServer","constructor","port","engineDirectory","buildDebugOnly","theme","startParallelLimit","started","pLimit","start","options","resourcesPath","development","production","testing","createWebPackDevServerWorker","getFileAsStream","filename","delay","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","NotFoundWebError","buffer","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { NotFoundWebError } from \"../../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class EngineDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private readonly theme: undefined | string;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean, theme: undefined | string) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n this.theme = theme;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n const options = this.buildDebugOnly\n ? {\n resourcesPath: \"dist\",\n development: \"true\",\n production: \"false\",\n testing: \"false\",\n theme: this.theme,\n }\n : {\n resourcesPath: \"dist\",\n theme: this.theme,\n };\n await createWebPackDevServerWorker(this.engineDirectory, \"webpack.config.js\", this.port, options);\n\n this.started = true;\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.started) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/static/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status === 404) {\n throw new NotFoundWebError(`Cannot find ${filename} at runtime dev server runner at ${this.port}`);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAEA,IAAAO,8BAAA,GAAAP,OAAA;AAEO,MAAMQ,eAAe,CAAC;EAQlBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAEC,KAAyB,EAAE;IAAA,KAP7FH,IAAI;IAAA,KACJC,eAAe;IAAA,KACfG,kBAAkB;IAAA,KAClBD,KAAK;IAAA,KACdE,OAAO,GAAG,KAAK;IAAA,KACNH,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACG,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACJ,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAMG,OAAO,GAAG,IAAI,CAACN,cAAc,GAC7B;QACIO,aAAa,EAAE,MAAM;QACrBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,OAAO;QACnBC,OAAO,EAAE,OAAO;QAChBT,KAAK,EAAE,IAAI,CAACA;MAChB,CAAC,GACD;QACIM,aAAa,EAAE,MAAM;QACrBN,KAAK,EAAE,IAAI,CAACA;MAChB,CAAC;MACP,MAAM,IAAAU,2DAA4B,EAAC,IAAI,CAACZ,eAAe,EAAE,mBAAmB,EAAE,IAAI,CAACD,IAAI,EAAEQ,OAAO,CAAC;MAEjG,IAAI,CAACH,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,eAAeA,CAACC,QAAgB,EAAkC;IAC3E,OAAO,CAAC,IAAI,CAACV,OAAO,EAAE;MAClB,MAAM,IAAAW,iBAAK,EAAC,GAAG,CAAC;IACpB;IACA,MAAMC,QAAQ,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAAClB,IAAI,WAAWe,QAAQ,EAAE,EAAE;MAC9EI,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,IAAIN,QAAQ,CAACO,MAAM,KAAK,GAAG,EAAE;MACzB,MAAM,IAAIC,kCAAgB,CAAC,eAAeV,QAAQ,oCAAoC,IAAI,CAACf,IAAI,EAAE,CAAC;IACtG;IACA,MAAM0B,MAAM,GAAG,MAAMT,QAAQ,CAACS,MAAM,CAAC,CAAC;IACtC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,MAAM,CAAC;EAChC;AACJ;AAACG,OAAA,CAAA/B,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -24,7 +24,8 @@ class ConsoleApplication {}
24
24
  exports.ConsoleApplication = ConsoleApplication;
25
25
  ConsoleApplication.onExit = (0, _EventObject.createAsyncEvent)();
26
26
  async function runConsoleApplicationInternal(entryPoint) {
27
- const logger = new _Logger.Logger();
27
+ const noSaveLogs = process.argv.some(arg => arg === "dev-build-server" || arg === "build-server");
28
+ const logger = new _Logger.Logger(undefined, undefined, noSaveLogs);
28
29
  const context = new _ConsoleApplicationContext.ConsoleApplicationContext(logger);
29
30
  try {
30
31
  try {
@@ -89,4 +90,4 @@ function getErrorLogFileName(date) {
89
90
  function runConsoleApplication(entryPoint) {
90
91
  (0, _TypingUtils.runAsyncAction)(() => runConsoleApplicationInternal(entryPoint));
91
92
  }
92
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2JveGVuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jaGFsayIsIl9mc0V4dHJhIiwiX0V2ZW50T2JqZWN0IiwiX0VMS0xvZ2dlciIsIl9Mb2dnZXIiLCJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsIl9UeXBpbmdVdGlscyIsIl9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQ29uc29sZUFwcGxpY2F0aW9uIiwiZXhwb3J0cyIsIm9uRXhpdCIsImNyZWF0ZUFzeW5jRXZlbnQiLCJydW5Db25zb2xlQXBwbGljYXRpb25JbnRlcm5hbCIsImVudHJ5UG9pbnQiLCJsb2dnZXIiLCJMb2dnZXIiLCJjb250ZXh0IiwiQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCIsInByb2Nlc3MiLCJhcmd2IiwiZW1pdCIsImV4aXQiLCJlcnJvciIsIkNvbW1hbmRMaW5lQXJndW1lbnRzSGVscFJlcXVlc3RlZEVycm9yIiwiY29uc29sZSIsImxvZyIsInVzYWdlVGV4dCIsImxvZ01lc3NhZ2UiLCJzdGFja1RyYWNlIiwiSW52YWxpZENvbW1hbmRMaW5lQXJndW1lbnRzRXJyb3IiLCJtZXNzYWdlIiwiRXJyb3IiLCJzdGFjayIsImNoYWxrIiwicmVkIiwiYm94ZW4iLCJib3JkZXJDb2xvciIsInBhZGRpbmciLCJtYXJnaW4iLCJTdHJpbmciLCJlcnJvckxvZ0ZpbGVOYW1lIiwicmVzb2x2ZSIsImdldEVycm9yTG9nRmlsZU5hbWUiLCJEYXRlIiwicmVtb3ZlQWxsUHJldmlvdXNMb2dGaWxlcyIsImZsdXNoRnVsbExvZ0ludG9GaWxlIiwiRUxLTG9nZ2VyIiwiZGlyZWN0b3J5Rm9yTG9nRmlsZXMiLCJjd2QiLCJmaWxlcyIsInJlYWRkaXIiLCJwcmV2aW91c0xvZ0ZpbGVOYW1lcyIsImZpbHRlciIsIngiLCJzdGFydHNXaXRoIiwibGVuZ3RoIiwiZmlsZU5hbWUiLCJ1bmxpbmsiLCJqb2luIiwiZGF0ZSIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZ2V0SG91cnMiLCJnZXRNaW51dGVzIiwiZ2V0U2Vjb25kcyIsInJ1bkNvbnNvbGVBcHBsaWNhdGlvbiIsInJ1bkFzeW5jQWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCBib3hlbiBmcm9tIFwiYm94ZW5cIjtcbmltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIjtcbmltcG9ydCB7IHJlYWRkaXIsIHVubGluayB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBjcmVhdGVBc3luY0V2ZW50IH0gZnJvbSBcIi4uL0V2ZW50T2JqZWN0XCI7XG5pbXBvcnQgeyBFTEtMb2dnZXIgfSBmcm9tIFwiLi4vTG9nZ2luZy9FTEtMb2dnZXJcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCIuLi9Mb2dnaW5nL0xvZ2dlclwiO1xuaW1wb3J0IHtcbiAgICBDb21tYW5kTGluZUFyZ3VtZW50c0hlbHBSZXF1ZXN0ZWRFcnJvcixcbiAgICBJbnZhbGlkQ29tbWFuZExpbmVBcmd1bWVudHNFcnJvcixcbn0gZnJvbSBcIi4uL09wdGlvbnMvQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlclwiO1xuaW1wb3J0IHsgcnVuQXN5bmNBY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL1R5cGluZ1V0aWxzXCI7XG5cbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0XCI7XG5cbnR5cGUgRW50cnlQb2ludCA9IChhcmd2OiBzdHJpbmdbXSwgY3R4OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGNsYXNzIENvbnNvbGVBcHBsaWNhdGlvbiB7XG4gICAgcHVibGljIHN0YXRpYyBvbkV4aXQgPSBjcmVhdGVBc3luY0V2ZW50KCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bkNvbnNvbGVBcHBsaWNhdGlvbkludGVybmFsKGVudHJ5UG9pbnQ6IEVudHJ5UG9pbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCk7XG4gICAgY29uc3QgY29udGV4dCA9IG5ldyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0KGxvZ2dlcik7XG4gICAgdHJ5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IGVudHJ5UG9pbnQocHJvY2Vzcy5hcmd2LCBjb250ZXh0KTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGF3YWl0IENvbnNvbGVBcHBsaWNhdGlvbi5vbkV4aXQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBDb21tYW5kTGluZUFyZ3VtZW50c0hlbHBSZXF1ZXN0ZWRFcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IudXNhZ2VUZXh0KTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsb2dNZXNzYWdlID0gXCJcIjtcbiAgICAgICAgbGV0IHN0YWNrVHJhY2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFwiXCI7XG5cbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSW52YWxpZENvbW1hbmRMaW5lQXJndW1lbnRzRXJyb3IpIHtcbiAgICAgICAgICAgIGxvZ01lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IudXNhZ2VUZXh0KTtcbiAgICAgICAgfSBlbHNlIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICBsb2dNZXNzYWdlID0gXCJGQVRBTCBFUlJPUlwiO1xuICAgICAgICAgICAgc3RhY2tUcmFjZSA9IGVycm9yLnN0YWNrO1xuICAgICAgICAgICAgY29uc29sZS5sb2coY2hhbGsucmVkKGxvZ01lc3NhZ2UpKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICAgIGJveGVuKGBUcnkgdG8gY2FsbDogXCJucG0gaSBAa29udHVyLmNhbmR5L3Rvb2xzIC1nXCJgLCB7IGJvcmRlckNvbG9yOiBcImdyZWVuXCIsIHBhZGRpbmc6IDEsIG1hcmdpbjogMSB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vINCi0YPRgiDRgdC/0L7RgNC90YvQuSDQvNC+0LzQtdC90YIsINC60LDQttC10YLRgdGPINGB0YLQvtC40YIg0LvQvtCz0LjRgNC+0LLQsNGC0Ywg0YLQvtC70YzQutC+IEVycm9yXG4gICAgICAgICAgICBsb2dNZXNzYWdlID0gXCJydW5Db25zb2xlQXBwbGljYXRpb25JbnRlcm5hbCBjYXRjaGVkIHVua25vd24gZXJyb3JcIjtcbiAgICAgICAgICAgIHN0YWNrVHJhY2UgPSBTdHJpbmcoZXJyb3IpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yTG9nRmlsZU5hbWUgPSBwYXRoLnJlc29sdmUoZ2V0RXJyb3JMb2dGaWxlTmFtZShuZXcgRGF0ZSgpKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBGdWxsIGxvZzogJHtlcnJvckxvZ0ZpbGVOYW1lfWApO1xuICAgICAgICBhd2FpdCByZW1vdmVBbGxQcmV2aW91c0xvZ0ZpbGVzKCk7XG4gICAgICAgIGF3YWl0IGxvZ2dlci5mbHVzaEZ1bGxMb2dJbnRvRmlsZShlcnJvckxvZ0ZpbGVOYW1lKTtcblxuICAgICAgICBFTEtMb2dnZXIuZXJyb3IobG9nTWVzc2FnZSwgeyBzdGFja1RyYWNlOiBzdGFja1RyYWNlIH0pO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVtb3ZlQWxsUHJldmlvdXNMb2dGaWxlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkaXJlY3RvcnlGb3JMb2dGaWxlcyA9IHByb2Nlc3MuY3dkKCk7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBhd2FpdCByZWFkZGlyKGRpcmVjdG9yeUZvckxvZ0ZpbGVzKTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNMb2dGaWxlTmFtZXMgPSBmaWxlcy5maWx0ZXIoeCA9PiB4LnN0YXJ0c1dpdGgoXCJjYW5keS1lcnJvci1sb2ctXCIpKTtcbiAgICAgICAgaWYgKHByZXZpb3VzTG9nRmlsZU5hbWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgcHJldmlvdXNMb2dGaWxlTmFtZXMpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB1bmxpbmsocGF0aC5qb2luKGRpcmVjdG9yeUZvckxvZ0ZpbGVzLCBmaWxlTmFtZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAgIC8vINCi0YPRgiDQu9GD0YfRiNC1INC90LUg0L/QsNC00LDRgtGMLlxuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0RXJyb3JMb2dGaWxlTmFtZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgICBgY2FuZHktZXJyb3ItbG9nLSR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0ke2RhdGUuZ2V0TW9udGgoKSArIDF9LSR7ZGF0ZS5nZXREYXRlKCl9YCArXG4gICAgICAgIGBUJHtkYXRlLmdldEhvdXJzKCl9LSR7ZGF0ZS5nZXRNaW51dGVzKCl9LSR7ZGF0ZS5nZXRTZWNvbmRzKCl9LmxvZ2BcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVuQ29uc29sZUFwcGxpY2F0aW9uKGVudHJ5UG9pbnQ6IEVudHJ5UG9pbnQpOiB2b2lkIHtcbiAgICBydW5Bc3luY0FjdGlvbigoKSA9PiBydW5Db25zb2xlQXBwbGljYXRpb25JbnRlcm5hbChlbnRyeVBvaW50KSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsMEJBQUEsR0FBQVIsT0FBQTtBQUlBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUVBLElBQUFVLDBCQUFBLEdBQUFWLE9BQUE7QUFBd0UsU0FBQVcseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEs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
93
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2JveGVuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jaGFsayIsIl9mc0V4dHJhIiwiX0V2ZW50T2JqZWN0IiwiX0VMS0xvZ2dlciIsIl9Mb2dnZXIiLCJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsIl9UeXBpbmdVdGlscyIsIl9Db25zb2xlQXBwbGljYXRpb25Db250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQ29uc29sZUFwcGxpY2F0aW9uIiwiZXhwb3J0cyIsIm9uRXhpdCIsImNyZWF0ZUFzeW5jRXZlbnQiLCJydW5Db25zb2xlQXBwbGljYXRpb25JbnRlcm5hbCIsImVudHJ5UG9pbnQiLCJub1NhdmVMb2dzIiwicHJvY2VzcyIsImFyZ3YiLCJzb21lIiwiYXJnIiwibG9nZ2VyIiwiTG9nZ2VyIiwidW5kZWZpbmVkIiwiY29udGV4dCIsIkNvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQiLCJlbWl0IiwiZXhpdCIsImVycm9yIiwiQ29tbWFuZExpbmVBcmd1bWVudHNIZWxwUmVxdWVzdGVkRXJyb3IiLCJjb25zb2xlIiwibG9nIiwidXNhZ2VUZXh0IiwibG9nTWVzc2FnZSIsInN0YWNrVHJhY2UiLCJJbnZhbGlkQ29tbWFuZExpbmVBcmd1bWVudHNFcnJvciIsIm1lc3NhZ2UiLCJFcnJvciIsInN0YWNrIiwiY2hhbGsiLCJyZWQiLCJib3hlbiIsImJvcmRlckNvbG9yIiwicGFkZGluZyIsIm1hcmdpbiIsIlN0cmluZyIsImVycm9yTG9nRmlsZU5hbWUiLCJyZXNvbHZlIiwiZ2V0RXJyb3JMb2dGaWxlTmFtZSIsIkRhdGUiLCJyZW1vdmVBbGxQcmV2aW91c0xvZ0ZpbGVzIiwiZmx1c2hGdWxsTG9nSW50b0ZpbGUiLCJFTEtMb2dnZXIiLCJkaXJlY3RvcnlGb3JMb2dGaWxlcyIsImN3ZCIsImZpbGVzIiwicmVhZGRpciIsInByZXZpb3VzTG9nRmlsZU5hbWVzIiwiZmlsdGVyIiwieCIsInN0YXJ0c1dpdGgiLCJsZW5ndGgiLCJmaWxlTmFtZSIsInVubGluayIsImpvaW4iLCJkYXRlIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwicnVuQ29uc29sZUFwcGxpY2F0aW9uIiwicnVuQXN5bmNBY3Rpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IGJveGVuIGZyb20gXCJib3hlblwiO1xuaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiO1xuaW1wb3J0IHsgcmVhZGRpciwgdW5saW5rIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGNyZWF0ZUFzeW5jRXZlbnQgfSBmcm9tIFwiLi4vRXZlbnRPYmplY3RcIjtcbmltcG9ydCB7IEVMS0xvZ2dlciB9IGZyb20gXCIuLi9Mb2dnaW5nL0VMS0xvZ2dlclwiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4uL0xvZ2dpbmcvTG9nZ2VyXCI7XG5pbXBvcnQge1xuICAgIENvbW1hbmRMaW5lQXJndW1lbnRzSGVscFJlcXVlc3RlZEVycm9yLFxuICAgIEludmFsaWRDb21tYW5kTGluZUFyZ3VtZW50c0Vycm9yLFxufSBmcm9tIFwiLi4vT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBydW5Bc3luY0FjdGlvbiB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcblxuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcblxudHlwZSBFbnRyeVBvaW50ID0gKGFyZ3Y6IHN0cmluZ1tdLCBjdHg6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgY2xhc3MgQ29uc29sZUFwcGxpY2F0aW9uIHtcbiAgICBwdWJsaWMgc3RhdGljIG9uRXhpdCA9IGNyZWF0ZUFzeW5jRXZlbnQoKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuQ29uc29sZUFwcGxpY2F0aW9uSW50ZXJuYWwoZW50cnlQb2ludDogRW50cnlQb2ludCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG5vU2F2ZUxvZ3MgPSBwcm9jZXNzLmFyZ3Yuc29tZShhcmcgPT4gYXJnID09PSBcImRldi1idWlsZC1zZXJ2ZXJcIiB8fCBhcmcgPT09IFwiYnVpbGQtc2VydmVyXCIpO1xuICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIodW5kZWZpbmVkLCB1bmRlZmluZWQsIG5vU2F2ZUxvZ3MpO1xuXG4gICAgY29uc3QgY29udGV4dCA9IG5ldyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0KGxvZ2dlcik7XG4gICAgdHJ5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IGVudHJ5UG9pbnQocHJvY2Vzcy5hcmd2LCBjb250ZXh0KTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGF3YWl0IENvbnNvbGVBcHBsaWNhdGlvbi5vbkV4aXQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBDb21tYW5kTGluZUFyZ3VtZW50c0hlbHBSZXF1ZXN0ZWRFcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IudXNhZ2VUZXh0KTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsb2dNZXNzYWdlID0gXCJcIjtcbiAgICAgICAgbGV0IHN0YWNrVHJhY2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFwiXCI7XG5cbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSW52YWxpZENvbW1hbmRMaW5lQXJndW1lbnRzRXJyb3IpIHtcbiAgICAgICAgICAgIGxvZ01lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IudXNhZ2VUZXh0KTtcbiAgICAgICAgfSBlbHNlIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICBsb2dNZXNzYWdlID0gXCJGQVRBTCBFUlJPUlwiO1xuICAgICAgICAgICAgc3RhY2tUcmFjZSA9IGVycm9yLnN0YWNrO1xuICAgICAgICAgICAgY29uc29sZS5sb2coY2hhbGsucmVkKGxvZ01lc3NhZ2UpKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICAgIGJveGVuKGBUcnkgdG8gY2FsbDogXCJucG0gaSBAa29udHVyLmNhbmR5L3Rvb2xzIC1nXCJgLCB7IGJvcmRlckNvbG9yOiBcImdyZWVuXCIsIHBhZGRpbmc6IDEsIG1hcmdpbjogMSB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vINCi0YPRgiDRgdC/0L7RgNC90YvQuSDQvNC+0LzQtdC90YIsINC60LDQttC10YLRgdGPINGB0YLQvtC40YIg0LvQvtCz0LjRgNC+0LLQsNGC0Ywg0YLQvtC70YzQutC+IEVycm9yXG4gICAgICAgICAgICBsb2dNZXNzYWdlID0gXCJydW5Db25zb2xlQXBwbGljYXRpb25JbnRlcm5hbCBjYXRjaGVkIHVua25vd24gZXJyb3JcIjtcbiAgICAgICAgICAgIHN0YWNrVHJhY2UgPSBTdHJpbmcoZXJyb3IpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yTG9nRmlsZU5hbWUgPSBwYXRoLnJlc29sdmUoZ2V0RXJyb3JMb2dGaWxlTmFtZShuZXcgRGF0ZSgpKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBGdWxsIGxvZzogJHtlcnJvckxvZ0ZpbGVOYW1lfWApO1xuICAgICAgICBhd2FpdCByZW1vdmVBbGxQcmV2aW91c0xvZ0ZpbGVzKCk7XG4gICAgICAgIGF3YWl0IGxvZ2dlci5mbHVzaEZ1bGxMb2dJbnRvRmlsZShlcnJvckxvZ0ZpbGVOYW1lKTtcblxuICAgICAgICBFTEtMb2dnZXIuZXJyb3IobG9nTWVzc2FnZSwgeyBzdGFja1RyYWNlOiBzdGFja1RyYWNlIH0pO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVtb3ZlQWxsUHJldmlvdXNMb2dGaWxlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkaXJlY3RvcnlGb3JMb2dGaWxlcyA9IHByb2Nlc3MuY3dkKCk7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBhd2FpdCByZWFkZGlyKGRpcmVjdG9yeUZvckxvZ0ZpbGVzKTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNMb2dGaWxlTmFtZXMgPSBmaWxlcy5maWx0ZXIoeCA9PiB4LnN0YXJ0c1dpdGgoXCJjYW5keS1lcnJvci1sb2ctXCIpKTtcbiAgICAgICAgaWYgKHByZXZpb3VzTG9nRmlsZU5hbWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgcHJldmlvdXNMb2dGaWxlTmFtZXMpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB1bmxpbmsocGF0aC5qb2luKGRpcmVjdG9yeUZvckxvZ0ZpbGVzLCBmaWxlTmFtZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAgIC8vINCi0YPRgiDQu9GD0YfRiNC1INC90LUg0L/QsNC00LDRgtGMLlxuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0RXJyb3JMb2dGaWxlTmFtZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgICBgY2FuZHktZXJyb3ItbG9nLSR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0ke2RhdGUuZ2V0TW9udGgoKSArIDF9LSR7ZGF0ZS5nZXREYXRlKCl9YCArXG4gICAgICAgIGBUJHtkYXRlLmdldEhvdXJzKCl9LSR7ZGF0ZS5nZXRNaW51dGVzKCl9LSR7ZGF0ZS5nZXRTZWNvbmRzKCl9LmxvZ2BcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVuQ29uc29sZUFwcGxpY2F0aW9uKGVudHJ5UG9pbnQ6IEVudHJ5UG9pbnQpOiB2b2lkIHtcbiAgICBydW5Bc3luY0FjdGlvbigoKSA9PiBydW5Db25zb2xlQXBwbGljYXRpb25JbnRlcm5hbChlbnRyeVBvaW50KSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsMEJBQUEsR0FBQVIsT0FBQTtBQUlBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUVBLElB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
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleApplication.js","names":["path","_interopRequireWildcard","require","_boxen","_interopRequireDefault","_chalk","_fsExtra","_EventObject","_ELKLogger","_Logger","_CommandBasedOptionsParser","_TypingUtils","_ConsoleApplicationContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ConsoleApplication","exports","onExit","createAsyncEvent","runConsoleApplicationInternal","entryPoint","logger","Logger","context","ConsoleApplicationContext","process","argv","emit","exit","error","CommandLineArgumentsHelpRequestedError","console","log","usageText","logMessage","stackTrace","InvalidCommandLineArgumentsError","message","Error","stack","chalk","red","boxen","borderColor","padding","margin","String","errorLogFileName","resolve","getErrorLogFileName","Date","removeAllPreviousLogFiles","flushFullLogIntoFile","ELKLogger","directoryForLogFiles","cwd","files","readdir","previousLogFileNames","filter","x","startsWith","length","fileName","unlink","join","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","runConsoleApplication","runAsyncAction"],"sources":["../../../../../src/Commons/ConsoleApplication/ConsoleApplication.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport * as path from \"path\";\n\nimport boxen from \"boxen\";\nimport chalk from \"chalk\";\nimport { readdir, unlink } from \"fs-extra\";\n\nimport { createAsyncEvent } from \"../EventObject\";\nimport { ELKLogger } from \"../Logging/ELKLogger\";\nimport { Logger } from \"../Logging/Logger\";\nimport {\n CommandLineArgumentsHelpRequestedError,\n InvalidCommandLineArgumentsError,\n} from \"../Options/CommandBasedOptionsParser\";\nimport { runAsyncAction } from \"../../../../Common/TypingUtils\";\n\nimport { ConsoleApplicationContext } from \"./ConsoleApplicationContext\";\n\ntype EntryPoint = (argv: string[], ctx: ConsoleApplicationContext) => void | Promise<void>;\n\nexport class ConsoleApplication {\n public static onExit = createAsyncEvent();\n}\n\nasync function runConsoleApplicationInternal(entryPoint: EntryPoint): Promise<void> {\n const logger = new Logger();\n const context = new ConsoleApplicationContext(logger);\n try {\n try {\n await entryPoint(process.argv, context);\n } finally {\n await ConsoleApplication.onExit.emit();\n }\n process.exit(0);\n } catch (error) {\n if (error instanceof CommandLineArgumentsHelpRequestedError) {\n console.log(error.usageText);\n process.exit(0);\n }\n\n let logMessage = \"\";\n let stackTrace: string | undefined = \"\";\n\n if (error instanceof InvalidCommandLineArgumentsError) {\n logMessage = error.message;\n console.error(error.message);\n console.error(error.usageText);\n } else if (error instanceof Error) {\n logMessage = \"FATAL ERROR\";\n stackTrace = error.stack;\n console.log(chalk.red(logMessage));\n console.log(error);\n console.log(\n boxen(`Try to call: \"npm i @kontur.candy/tools -g\"`, { borderColor: \"green\", padding: 1, margin: 1 })\n );\n } else {\n // Тут спорный момент, кажется стоит логировать только Error\n logMessage = \"runConsoleApplicationInternal catched unknown error\";\n stackTrace = String(error);\n console.log(error);\n }\n const errorLogFileName = path.resolve(getErrorLogFileName(new Date()));\n console.log(`Full log: ${errorLogFileName}`);\n await removeAllPreviousLogFiles();\n await logger.flushFullLogIntoFile(errorLogFileName);\n\n ELKLogger.error(logMessage, { stackTrace: stackTrace });\n }\n}\n\nasync function removeAllPreviousLogFiles(): Promise<void> {\n const directoryForLogFiles = process.cwd();\n try {\n const files = await readdir(directoryForLogFiles);\n const previousLogFileNames = files.filter(x => x.startsWith(\"candy-error-log-\"));\n if (previousLogFileNames.length > 0) {\n for (const fileName of previousLogFileNames) {\n await unlink(path.join(directoryForLogFiles, fileName));\n }\n }\n } catch {\n // Тут лучше не падать.\n }\n}\n\nfunction getErrorLogFileName(date: Date): string {\n return (\n `candy-error-log-${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` +\n `T${date.getHours()}-${date.getMinutes()}-${date.getSeconds()}.log`\n );\n}\n\nexport function runConsoleApplication(entryPoint: EntryPoint): void {\n runAsyncAction(() => runConsoleApplicationInternal(entryPoint));\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ConsoleApplication.js","names":["path","_interopRequireWildcard","require","_boxen","_interopRequireDefault","_chalk","_fsExtra","_EventObject","_ELKLogger","_Logger","_CommandBasedOptionsParser","_TypingUtils","_ConsoleApplicationContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ConsoleApplication","exports","onExit","createAsyncEvent","runConsoleApplicationInternal","entryPoint","noSaveLogs","process","argv","some","arg","logger","Logger","undefined","context","ConsoleApplicationContext","emit","exit","error","CommandLineArgumentsHelpRequestedError","console","log","usageText","logMessage","stackTrace","InvalidCommandLineArgumentsError","message","Error","stack","chalk","red","boxen","borderColor","padding","margin","String","errorLogFileName","resolve","getErrorLogFileName","Date","removeAllPreviousLogFiles","flushFullLogIntoFile","ELKLogger","directoryForLogFiles","cwd","files","readdir","previousLogFileNames","filter","x","startsWith","length","fileName","unlink","join","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","runConsoleApplication","runAsyncAction"],"sources":["../../../../../src/Commons/ConsoleApplication/ConsoleApplication.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport * as path from \"path\";\n\nimport boxen from \"boxen\";\nimport chalk from \"chalk\";\nimport { readdir, unlink } from \"fs-extra\";\n\nimport { createAsyncEvent } from \"../EventObject\";\nimport { ELKLogger } from \"../Logging/ELKLogger\";\nimport { Logger } from \"../Logging/Logger\";\nimport {\n CommandLineArgumentsHelpRequestedError,\n InvalidCommandLineArgumentsError,\n} from \"../Options/CommandBasedOptionsParser\";\nimport { runAsyncAction } from \"../../../../Common/TypingUtils\";\n\nimport { ConsoleApplicationContext } from \"./ConsoleApplicationContext\";\n\ntype EntryPoint = (argv: string[], ctx: ConsoleApplicationContext) => void | Promise<void>;\n\nexport class ConsoleApplication {\n public static onExit = createAsyncEvent();\n}\n\nasync function runConsoleApplicationInternal(entryPoint: EntryPoint): Promise<void> {\n const noSaveLogs = process.argv.some(arg => arg === \"dev-build-server\" || arg === \"build-server\");\n const logger = new Logger(undefined, undefined, noSaveLogs);\n\n const context = new ConsoleApplicationContext(logger);\n try {\n try {\n await entryPoint(process.argv, context);\n } finally {\n await ConsoleApplication.onExit.emit();\n }\n process.exit(0);\n } catch (error) {\n if (error instanceof CommandLineArgumentsHelpRequestedError) {\n console.log(error.usageText);\n process.exit(0);\n }\n\n let logMessage = \"\";\n let stackTrace: string | undefined = \"\";\n\n if (error instanceof InvalidCommandLineArgumentsError) {\n logMessage = error.message;\n console.error(error.message);\n console.error(error.usageText);\n } else if (error instanceof Error) {\n logMessage = \"FATAL ERROR\";\n stackTrace = error.stack;\n console.log(chalk.red(logMessage));\n console.log(error);\n console.log(\n boxen(`Try to call: \"npm i @kontur.candy/tools -g\"`, { borderColor: \"green\", padding: 1, margin: 1 })\n );\n } else {\n // Тут спорный момент, кажется стоит логировать только Error\n logMessage = \"runConsoleApplicationInternal catched unknown error\";\n stackTrace = String(error);\n console.log(error);\n }\n const errorLogFileName = path.resolve(getErrorLogFileName(new Date()));\n console.log(`Full log: ${errorLogFileName}`);\n await removeAllPreviousLogFiles();\n await logger.flushFullLogIntoFile(errorLogFileName);\n\n ELKLogger.error(logMessage, { stackTrace: stackTrace });\n }\n}\n\nasync function removeAllPreviousLogFiles(): Promise<void> {\n const directoryForLogFiles = process.cwd();\n try {\n const files = await readdir(directoryForLogFiles);\n const previousLogFileNames = files.filter(x => x.startsWith(\"candy-error-log-\"));\n if (previousLogFileNames.length > 0) {\n for (const fileName of previousLogFileNames) {\n await unlink(path.join(directoryForLogFiles, fileName));\n }\n }\n } catch {\n // Тут лучше не падать.\n }\n}\n\nfunction getErrorLogFileName(date: Date): string {\n return (\n `candy-error-log-${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` +\n `T${date.getHours()}-${date.getMinutes()}-${date.getSeconds()}.log`\n );\n}\n\nexport function runConsoleApplication(entryPoint: EntryPoint): void {\n runAsyncAction(() => runConsoleApplicationInternal(entryPoint));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,20 +8,29 @@ exports.Logger = void 0;
8
8
  var _chalk = _interopRequireDefault(require("chalk"));
9
9
  var _FsUtils = require("../FsUtils");
10
10
  class Logger {
11
- constructor(prefix, logLines) {
11
+ constructor(prefix, logLines, noSaveLogs = false) {
12
12
  this.logLines = void 0;
13
13
  this.prefix = void 0;
14
14
  this.verboseLevel = 0;
15
+ this.noSaveLogs = void 0;
15
16
  this.prefix = prefix;
16
17
  this.logLines = logLines || [];
18
+ this.noSaveLogs = noSaveLogs;
17
19
  }
18
- log(message) {
20
+ pushLogLine(message) {
21
+ // fix memory leak
22
+ if (this.noSaveLogs) {
23
+ return;
24
+ }
19
25
  this.logLines.push(message);
26
+ }
27
+ log(message) {
28
+ this.pushLogLine(message);
20
29
  // eslint-disable-next-line no-console
21
30
  console.log(this.getPrefixedMessage(message));
22
31
  }
23
32
  warning(message) {
24
- this.logLines.push(message);
33
+ this.pushLogLine(message);
25
34
  // eslint-disable-next-line no-console
26
35
  console.log(this.getPrefixedMessage(_chalk.default.yellowBright(message)));
27
36
  }
@@ -30,8 +39,8 @@ class Logger {
30
39
  if (this.verboseLevel >= 1) {
31
40
  // eslint-disable-next-line no-console
32
41
  console.log(messageToOutput);
42
+ this.pushLogLine(messageToOutput);
33
43
  }
34
- this.logLines.push(messageToOutput);
35
44
  }
36
45
  async flushFullLogIntoFile(fileName) {
37
46
  await (0, _FsUtils.writeFileAsync)(fileName, this.logLines.join("\n"), "utf8");
@@ -39,7 +48,7 @@ class Logger {
39
48
 
40
49
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
50
  error(message) {
42
- this.logLines.push(`${message}`);
51
+ this.pushLogLine(`${message}`);
43
52
  // eslint-disable-next-line no-console,@typescript-eslint/no-unsafe-argument
44
53
  console.log(this.getPrefixedMessage(_chalk.default.redBright(message)));
45
54
  }
@@ -66,4 +75,4 @@ class Logger {
66
75
  }
67
76
  }
68
77
  exports.Logger = Logger;
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hhbGsiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Gc1V0aWxzIiwiTG9nZ2VyIiwiY29uc3RydWN0b3IiLCJwcmVmaXgiLCJsb2dMaW5lcyIsInZlcmJvc2VMZXZlbCIsImxvZyIsIm1lc3NhZ2UiLCJwdXNoIiwiY29uc29sZSIsImdldFByZWZpeGVkTWVzc2FnZSIsIndhcm5pbmciLCJjaGFsayIsInllbGxvd0JyaWdodCIsInZlcmJvc2UiLCJtZXNzYWdlVG9PdXRwdXQiLCJmbHVzaEZ1bGxMb2dJbnRvRmlsZSIsImZpbGVOYW1lIiwid3JpdGVGaWxlQXN5bmMiLCJqb2luIiwiZXJyb3IiLCJyZWRCcmlnaHQiLCJ3aXRoUHJlZml4IiwicmVzdWx0IiwidW5kZWZpbmVkIiwic2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkiLCJtZXNzYWdlU3RyaW5nIiwicHJlZml4VGV4dCIsImdyYXkiLCJzcGxpdCIsIm1hcCIsImxpbmUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NvbW1vbnMvTG9nZ2luZy9Mb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiO1xuXG5pbXBvcnQgeyB3cml0ZUZpbGVBc3luYyB9IGZyb20gXCIuLi9Gc1V0aWxzXCI7XG5cbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi9JTG9nZ2VyXCI7XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIgaW1wbGVtZW50cyBJTG9nZ2VyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ0xpbmVzOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcbiAgICBwcml2YXRlIHZlcmJvc2VMZXZlbCA9IDA7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJlZml4Pzogc3RyaW5nLCBsb2dMaW5lcz86IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMucHJlZml4ID0gcHJlZml4O1xuICAgICAgICB0aGlzLmxvZ0xpbmVzID0gbG9nTGluZXMgfHwgW107XG4gICAgfVxuXG4gICAgcHVibGljIGxvZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2dMaW5lcy5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmdldFByZWZpeGVkTWVzc2FnZShtZXNzYWdlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdhcm5pbmcobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nTGluZXMucHVzaChtZXNzYWdlKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5nZXRQcmVmaXhlZE1lc3NhZ2UoY2hhbGsueWVsbG93QnJpZ2h0KG1lc3NhZ2UpKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHZlcmJvc2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VUb091dHB1dCA9IHRoaXMuZ2V0UHJlZml4ZWRNZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgICBpZiAodGhpcy52ZXJib3NlTGV2ZWwgPj0gMSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2VUb091dHB1dCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2dMaW5lcy5wdXNoKG1lc3NhZ2VUb091dHB1dCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGZsdXNoRnVsbExvZ0ludG9GaWxlKGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlQXN5bmMoZmlsZU5hbWUsIHRoaXMubG9nTGluZXMuam9pbihcIlxcblwiKSwgXCJ1dGY4XCIpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGVycm9yKG1lc3NhZ2U6IGFueSB8IHN0cmluZyB8IEVycm9yKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nTGluZXMucHVzaChgJHttZXNzYWdlfWApO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZ2V0UHJlZml4ZWRNZXNzYWdlKGNoYWxrLnJlZEJyaWdodChtZXNzYWdlKSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoUHJlZml4KHByZWZpeDogc3RyaW5nKTogSUxvZ2dlciB7XG4gICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBMb2dnZXIocHJlZml4LCB0aGlzLmxvZ0xpbmVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBMb2dnZXIodGhpcy5wcmVmaXggKyBcIjpcIiArIHByZWZpeCwgdGhpcy5sb2dMaW5lcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LnNldENvbnNvbGVMb2dnaW5nVmVyYm9zaXR5KHRoaXMudmVyYm9zZUxldmVsKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkodmVyYm9zZUxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52ZXJib3NlTGV2ZWwgPSB2ZXJib3NlTGV2ZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcmVmaXhlZE1lc3NhZ2UobWVzc2FnZTogc3RyaW5nIHwgRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtZXNzYWdlU3RyaW5nID0gYCR7bWVzc2FnZX1gO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXggPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbWVzc2FnZVN0cmluZztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcmVmaXhUZXh0ID0gY2hhbGsuZ3JheShgWyR7dGhpcy5wcmVmaXh9XWApO1xuXG4gICAgICAgIHJldHVybiBtZXNzYWdlU3RyaW5nXG4gICAgICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgIC5tYXAobGluZSA9PiBgJHtwcmVmaXhUZXh0fSAke2xpbmV9YClcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUlPLE1BQU1FLE1BQU0sQ0FBb0I7RUFLNUJDLFdBQVdBLENBQUNDLE1BQWUsRUFBRUMsUUFBbUIsRUFBRTtJQUFBLEtBSnhDQSxRQUFRO0lBQUEsS0FDUkQsTUFBTTtJQUFBLEtBQ2ZFLFlBQVksR0FBRyxDQUFDO0lBR3BCLElBQUksQ0FBQ0YsTUFBTSxHQUFHQSxNQUFNO0lBQ3BCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQSxRQUFRLElBQUksRUFBRTtFQUNsQztFQUVPRSxHQUFHQSxDQUFDQyxPQUFlLEVBQVE7SUFDOUIsSUFBSSxDQUFDSCxRQUFRLENBQUNJLElBQUksQ0FBQ0QsT0FBTyxDQUFDO0lBQzNCO0lBQ0FFLE9BQU8sQ0FBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQ0ksa0JBQWtCLENBQUNILE9BQU8sQ0FBQyxDQUFDO0VBQ2pEO0VBRU9JLE9BQU9BLENBQUNKLE9BQWUsRUFBUTtJQUNsQyxJQUFJLENBQUNILFFBQVEsQ0FBQ0ksSUFBSSxDQUFDRCxPQUFPLENBQUM7SUFDM0I7SUFDQUUsT0FBTyxDQUFDSCxHQUFHLENBQUMsSUFBSSxDQUFDSSxrQkFBa0IsQ0FBQ0UsY0FBSyxDQUFDQyxZQUFZLENBQUNOLE9BQU8sQ0FBQyxDQUFDLENBQUM7RUFDckU7RUFFT08sT0FBT0EsQ0FBQ1AsT0FBZSxFQUFRO0lBQ2xDLE1BQU1RLGVBQWUsR0FBRyxJQUFJLENBQUNMLGtCQUFrQixDQUFDSCxPQUFPLENBQUM7SUFDeEQsSUFBSSxJQUFJLENBQUNGLFlBQVksSUFBSSxDQUFDLEVBQUU7TUFDeEI7TUFDQUksT0FBTyxDQUFDSCxHQUFHLENBQUNTLGVBQWUsQ0FBQztJQUNoQztJQUNBLElBQUksQ0FBQ1gsUUFBUSxDQUFDSSxJQUFJLENBQUNPLGVBQWUsQ0FBQztFQUN2QztFQUVBLE1BQWFDLG9CQUFvQkEsQ0FBQ0MsUUFBZ0IsRUFBaUI7SUFDL0QsTUFBTSxJQUFBQyx1QkFBYyxFQUFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDYixRQUFRLENBQUNlLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7RUFDcEU7O0VBRUE7RUFDT0MsS0FBS0EsQ0FBQ2IsT0FBNkIsRUFBUTtJQUM5QyxJQUFJLENBQUNILFFBQVEsQ0FBQ0ksSUFBSSxDQUFDLEdBQUdELE9BQU8sRUFBRSxDQUFDO0lBQ2hDO0lBQ0FFLE9BQU8sQ0FBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQ0ksa0JBQWtCLENBQUNFLGNBQUssQ0FBQ1MsU0FBUyxDQUFDZCxPQUFPLENBQUMsQ0FBQyxDQUFDO0VBQ2xFO0VBRU9lLFVBQVVBLENBQUNuQixNQUFjLEVBQVc7SUFDdkMsSUFBSW9CLE1BQU07SUFDVixJQUFJLElBQUksQ0FBQ3BCLE1BQU0sSUFBSXFCLFNBQVMsRUFBRTtNQUMxQkQsTUFBTSxHQUFHLElBQUl0QixNQUFNLENBQUNFLE1BQU0sRUFBRSxJQUFJLENBQUNDLFFBQVEsQ0FBQztJQUM5QyxDQUFDLE1BQU07TUFDSG1CLE1BQU0sR0FBRyxJQUFJdEIsTUFBTSxDQUFDLElBQUksQ0FBQ0UsTUFBTSxHQUFHLEdBQUcsR0FBR0EsTUFBTSxFQUFFLElBQUksQ0FBQ0MsUUFBUSxDQUFDO0lBQ2xFO0lBQ0FtQixNQUFNLENBQUNFLDBCQUEwQixDQUFDLElBQUksQ0FBQ3BCLFlBQVksQ0FBQztJQUNwRCxPQUFPa0IsTUFBTTtFQUNqQjtFQUVPRSwwQkFBMEJBLENBQUNwQixZQUFvQixFQUFRO0lBQzFELElBQUksQ0FBQ0EsWUFBWSxHQUFHQSxZQUFZO0VBQ3BDO0VBRVFLLGtCQUFrQkEsQ0FBQ0gsT0FBdUIsRUFBVTtJQUN4RCxNQUFNbUIsYUFBYSxHQUFHLEdBQUduQixPQUFPLEVBQUU7SUFDbEMsSUFBSSxJQUFJLENBQUNKLE1BQU0sSUFBSXFCLFNBQVMsRUFBRTtNQUMxQixPQUFPRSxhQUFhO0lBQ3hCO0lBQ0EsTUFBTUMsVUFBVSxHQUFHZixjQUFLLENBQUNnQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUN6QixNQUFNLEdBQUcsQ0FBQztJQUVqRCxPQUFPdUIsYUFBYSxDQUNmRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQ1hDLEdBQUcsQ0FBQ0MsSUFBSSxJQUFJLEdBQUdKLFVBQVUsSUFBSUksSUFBSSxFQUFFLENBQUMsQ0FDcENaLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDbkI7QUFDSjtBQUFDYSxPQUFBLENBQUEvQixNQUFBLEdBQUFBLE1BQUEiLCJpZ25vcmVMaXN0IjpbXX0=
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hhbGsiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Gc1V0aWxzIiwiTG9nZ2VyIiwiY29uc3RydWN0b3IiLCJwcmVmaXgiLCJsb2dMaW5lcyIsIm5vU2F2ZUxvZ3MiLCJ2ZXJib3NlTGV2ZWwiLCJwdXNoTG9nTGluZSIsIm1lc3NhZ2UiLCJwdXNoIiwibG9nIiwiY29uc29sZSIsImdldFByZWZpeGVkTWVzc2FnZSIsIndhcm5pbmciLCJjaGFsayIsInllbGxvd0JyaWdodCIsInZlcmJvc2UiLCJtZXNzYWdlVG9PdXRwdXQiLCJmbHVzaEZ1bGxMb2dJbnRvRmlsZSIsImZpbGVOYW1lIiwid3JpdGVGaWxlQXN5bmMiLCJqb2luIiwiZXJyb3IiLCJyZWRCcmlnaHQiLCJ3aXRoUHJlZml4IiwicmVzdWx0IiwidW5kZWZpbmVkIiwic2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkiLCJtZXNzYWdlU3RyaW5nIiwicHJlZml4VGV4dCIsImdyYXkiLCJzcGxpdCIsIm1hcCIsImxpbmUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NvbW1vbnMvTG9nZ2luZy9Mb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiO1xuXG5pbXBvcnQgeyB3cml0ZUZpbGVBc3luYyB9IGZyb20gXCIuLi9Gc1V0aWxzXCI7XG5cbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi9JTG9nZ2VyXCI7XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIgaW1wbGVtZW50cyBJTG9nZ2VyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ0xpbmVzOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcbiAgICBwcml2YXRlIHZlcmJvc2VMZXZlbCA9IDA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub1NhdmVMb2dzOiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByZWZpeD86IHN0cmluZywgbG9nTGluZXM/OiBzdHJpbmdbXSwgbm9TYXZlTG9ncyA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMucHJlZml4ID0gcHJlZml4O1xuICAgICAgICB0aGlzLmxvZ0xpbmVzID0gbG9nTGluZXMgfHwgW107XG4gICAgICAgIHRoaXMubm9TYXZlTG9ncyA9IG5vU2F2ZUxvZ3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwdXNoTG9nTGluZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gZml4IG1lbW9yeSBsZWFrXG4gICAgICAgIGlmICh0aGlzLm5vU2F2ZUxvZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9nTGluZXMucHVzaChtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnB1c2hMb2dMaW5lKG1lc3NhZ2UpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmdldFByZWZpeGVkTWVzc2FnZShtZXNzYWdlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdhcm5pbmcobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHVzaExvZ0xpbmUobWVzc2FnZSk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZ2V0UHJlZml4ZWRNZXNzYWdlKGNoYWxrLnllbGxvd0JyaWdodChtZXNzYWdlKSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB2ZXJib3NlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBtZXNzYWdlVG9PdXRwdXQgPSB0aGlzLmdldFByZWZpeGVkTWVzc2FnZShtZXNzYWdlKTtcbiAgICAgICAgaWYgKHRoaXMudmVyYm9zZUxldmVsID49IDEpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlVG9PdXRwdXQpO1xuICAgICAgICAgICAgdGhpcy5wdXNoTG9nTGluZShtZXNzYWdlVG9PdXRwdXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGZsdXNoRnVsbExvZ0ludG9GaWxlKGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlQXN5bmMoZmlsZU5hbWUsIHRoaXMubG9nTGluZXMuam9pbihcIlxcblwiKSwgXCJ1dGY4XCIpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGVycm9yKG1lc3NhZ2U6IGFueSB8IHN0cmluZyB8IEVycm9yKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHVzaExvZ0xpbmUoYCR7bWVzc2FnZX1gKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUsQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudFxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmdldFByZWZpeGVkTWVzc2FnZShjaGFsay5yZWRCcmlnaHQobWVzc2FnZSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFByZWZpeChwcmVmaXg6IHN0cmluZyk6IElMb2dnZXIge1xuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICBpZiAodGhpcy5wcmVmaXggPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBuZXcgTG9nZ2VyKHByZWZpeCwgdGhpcy5sb2dMaW5lcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgPSBuZXcgTG9nZ2VyKHRoaXMucHJlZml4ICsgXCI6XCIgKyBwcmVmaXgsIHRoaXMubG9nTGluZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5zZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSh0aGlzLnZlcmJvc2VMZXZlbCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENvbnNvbGVMb2dnaW5nVmVyYm9zaXR5KHZlcmJvc2VMZXZlbDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmVyYm9zZUxldmVsID0gdmVyYm9zZUxldmVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJlZml4ZWRNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyB8IEVycm9yKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZVN0cmluZyA9IGAke21lc3NhZ2V9YDtcbiAgICAgICAgaWYgKHRoaXMucHJlZml4ID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2VTdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHJlZml4VGV4dCA9IGNoYWxrLmdyYXkoYFske3RoaXMucHJlZml4fV1gKTtcblxuICAgICAgICByZXR1cm4gbWVzc2FnZVN0cmluZ1xuICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAubWFwKGxpbmUgPT4gYCR7cHJlZml4VGV4dH0gJHtsaW5lfWApXG4gICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFJTyxNQUFNRSxNQUFNLENBQW9CO0VBTTVCQyxXQUFXQSxDQUFDQyxNQUFlLEVBQUVDLFFBQW1CLEVBQUVDLFVBQVUsR0FBRyxLQUFLLEVBQUU7SUFBQSxLQUw1REQsUUFBUTtJQUFBLEtBQ1JELE1BQU07SUFBQSxLQUNmRyxZQUFZLEdBQUcsQ0FBQztJQUFBLEtBQ1BELFVBQVU7SUFHdkIsSUFBSSxDQUFDRixNQUFNLEdBQUdBLE1BQU07SUFDcEIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBLFFBQVEsSUFBSSxFQUFFO0lBQzlCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQSxVQUFVO0VBQ2hDO0VBRVFFLFdBQVdBLENBQUNDLE9BQWUsRUFBRTtJQUNqQztJQUNBLElBQUksSUFBSSxDQUFDSCxVQUFVLEVBQUU7TUFDakI7SUFDSjtJQUVBLElBQUksQ0FBQ0QsUUFBUSxDQUFDSyxJQUFJLENBQUNELE9BQU8sQ0FBQztFQUMvQjtFQUVPRSxHQUFHQSxDQUFDRixPQUFlLEVBQVE7SUFDOUIsSUFBSSxDQUFDRCxXQUFXLENBQUNDLE9BQU8sQ0FBQztJQUN6QjtJQUNBRyxPQUFPLENBQUNELEdBQUcsQ0FBQyxJQUFJLENBQUNFLGtCQUFrQixDQUFDSixPQUFPLENBQUMsQ0FBQztFQUNqRDtFQUVPSyxPQUFPQSxDQUFDTCxPQUFlLEVBQVE7SUFDbEMsSUFBSSxDQUFDRCxXQUFXLENBQUNDLE9BQU8sQ0FBQztJQUN6QjtJQUNBRyxPQUFPLENBQUNELEdBQUcsQ0FBQyxJQUFJLENBQUNFLGtCQUFrQixDQUFDRSxjQUFLLENBQUNDLFlBQVksQ0FBQ1AsT0FBTyxDQUFDLENBQUMsQ0FBQztFQUNyRTtFQUVPUSxPQUFPQSxDQUFDUixPQUFlLEVBQVE7SUFDbEMsTUFBTVMsZUFBZSxHQUFHLElBQUksQ0FBQ0wsa0JBQWtCLENBQUNKLE9BQU8sQ0FBQztJQUN4RCxJQUFJLElBQUksQ0FBQ0YsWUFBWSxJQUFJLENBQUMsRUFBRTtNQUN4QjtNQUNBSyxPQUFPLENBQUNELEdBQUcsQ0FBQ08sZUFBZSxDQUFDO01BQzVCLElBQUksQ0FBQ1YsV0FBVyxDQUFDVSxlQUFlLENBQUM7SUFDckM7RUFDSjtFQUVBLE1BQWFDLG9CQUFvQkEsQ0FBQ0MsUUFBZ0IsRUFBaUI7SUFDL0QsTUFBTSxJQUFBQyx1QkFBYyxFQUFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDZixRQUFRLENBQUNpQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDO0VBQ3BFOztFQUVBO0VBQ09DLEtBQUtBLENBQUNkLE9BQTZCLEVBQVE7SUFDOUMsSUFBSSxDQUFDRCxXQUFXLENBQUMsR0FBR0MsT0FBTyxFQUFFLENBQUM7SUFDOUI7SUFDQUcsT0FBTyxDQUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDRSxrQkFBa0IsQ0FBQ0UsY0FBSyxDQUFDUyxTQUFTLENBQUNmLE9BQU8sQ0FBQyxDQUFDLENBQUM7RUFDbEU7RUFFT2dCLFVBQVVBLENBQUNyQixNQUFjLEVBQVc7SUFDdkMsSUFBSXNCLE1BQU07SUFDVixJQUFJLElBQUksQ0FBQ3RCLE1BQU0sSUFBSXVCLFNBQVMsRUFBRTtNQUMxQkQsTUFBTSxHQUFHLElBQUl4QixNQUFNLENBQUNFLE1BQU0sRUFBRSxJQUFJLENBQUNDLFFBQVEsQ0FBQztJQUM5QyxDQUFDLE1BQU07TUFDSHFCLE1BQU0sR0FBRyxJQUFJeEIsTUFBTSxDQUFDLElBQUksQ0FBQ0UsTUFBTSxHQUFHLEdBQUcsR0FBR0EsTUFBTSxFQUFFLElBQUksQ0FBQ0MsUUFBUSxDQUFDO0lBQ2xFO0lBQ0FxQixNQUFNLENBQUNFLDBCQUEwQixDQUFDLElBQUksQ0FBQ3JCLFlBQVksQ0FBQztJQUNwRCxPQUFPbUIsTUFBTTtFQUNqQjtFQUVPRSwwQkFBMEJBLENBQUNyQixZQUFvQixFQUFRO0lBQzFELElBQUksQ0FBQ0EsWUFBWSxHQUFHQSxZQUFZO0VBQ3BDO0VBRVFNLGtCQUFrQkEsQ0FBQ0osT0FBdUIsRUFBVTtJQUN4RCxNQUFNb0IsYUFBYSxHQUFHLEdBQUdwQixPQUFPLEVBQUU7SUFDbEMsSUFBSSxJQUFJLENBQUNMLE1BQU0sSUFBSXVCLFNBQVMsRUFBRTtNQUMxQixPQUFPRSxhQUFhO0lBQ3hCO0lBQ0EsTUFBTUMsVUFBVSxHQUFHZixjQUFLLENBQUNnQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMzQixNQUFNLEdBQUcsQ0FBQztJQUVqRCxPQUFPeUIsYUFBYSxDQUNmRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQ1hDLEdBQUcsQ0FBQ0MsSUFBSSxJQUFJLEdBQUdKLFVBQVUsSUFBSUksSUFBSSxFQUFFLENBQUMsQ0FDcENaLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDbkI7QUFDSjtBQUFDYSxPQUFBLENBQUFqQyxNQUFBLEdBQUFBLE1BQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","names":["_chalk","_interopRequireDefault","require","_FsUtils","Logger","constructor","prefix","logLines","verboseLevel","log","message","push","console","getPrefixedMessage","warning","chalk","yellowBright","verbose","messageToOutput","flushFullLogIntoFile","fileName","writeFileAsync","join","error","redBright","withPrefix","result","undefined","setConsoleLoggingVerbosity","messageString","prefixText","gray","split","map","line","exports"],"sources":["../../../../../src/Commons/Logging/Logger.ts"],"sourcesContent":["import chalk from \"chalk\";\n\nimport { writeFileAsync } from \"../FsUtils\";\n\nimport { ILogger } from \"./ILogger\";\n\nexport class Logger implements ILogger {\n private readonly logLines: string[];\n private readonly prefix?: string;\n private verboseLevel = 0;\n\n public constructor(prefix?: string, logLines?: string[]) {\n this.prefix = prefix;\n this.logLines = logLines || [];\n }\n\n public log(message: string): void {\n this.logLines.push(message);\n // eslint-disable-next-line no-console\n console.log(this.getPrefixedMessage(message));\n }\n\n public warning(message: string): void {\n this.logLines.push(message);\n // eslint-disable-next-line no-console\n console.log(this.getPrefixedMessage(chalk.yellowBright(message)));\n }\n\n public verbose(message: string): void {\n const messageToOutput = this.getPrefixedMessage(message);\n if (this.verboseLevel >= 1) {\n // eslint-disable-next-line no-console\n console.log(messageToOutput);\n }\n this.logLines.push(messageToOutput);\n }\n\n public async flushFullLogIntoFile(fileName: string): Promise<void> {\n await writeFileAsync(fileName, this.logLines.join(\"\\n\"), \"utf8\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public error(message: any | string | Error): void {\n this.logLines.push(`${message}`);\n // eslint-disable-next-line no-console,@typescript-eslint/no-unsafe-argument\n console.log(this.getPrefixedMessage(chalk.redBright(message)));\n }\n\n public withPrefix(prefix: string): ILogger {\n let result;\n if (this.prefix == undefined) {\n result = new Logger(prefix, this.logLines);\n } else {\n result = new Logger(this.prefix + \":\" + prefix, this.logLines);\n }\n result.setConsoleLoggingVerbosity(this.verboseLevel);\n return result;\n }\n\n public setConsoleLoggingVerbosity(verboseLevel: number): void {\n this.verboseLevel = verboseLevel;\n }\n\n private getPrefixedMessage(message: string | Error): string {\n const messageString = `${message}`;\n if (this.prefix == undefined) {\n return messageString;\n }\n const prefixText = chalk.gray(`[${this.prefix}]`);\n\n return messageString\n .split(\"\\n\")\n .map(line => `${prefixText} ${line}`)\n .join(\"\\n\");\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAIO,MAAME,MAAM,CAAoB;EAK5BC,WAAWA,CAACC,MAAe,EAAEC,QAAmB,EAAE;IAAA,KAJxCA,QAAQ;IAAA,KACRD,MAAM;IAAA,KACfE,YAAY,GAAG,CAAC;IAGpB,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,QAAQ,GAAGA,QAAQ,IAAI,EAAE;EAClC;EAEOE,GAAGA,CAACC,OAAe,EAAQ;IAC9B,IAAI,CAACH,QAAQ,CAACI,IAAI,CAACD,OAAO,CAAC;IAC3B;IACAE,OAAO,CAACH,GAAG,CAAC,IAAI,CAACI,kBAAkB,CAACH,OAAO,CAAC,CAAC;EACjD;EAEOI,OAAOA,CAACJ,OAAe,EAAQ;IAClC,IAAI,CAACH,QAAQ,CAACI,IAAI,CAACD,OAAO,CAAC;IAC3B;IACAE,OAAO,CAACH,GAAG,CAAC,IAAI,CAACI,kBAAkB,CAACE,cAAK,CAACC,YAAY,CAACN,OAAO,CAAC,CAAC,CAAC;EACrE;EAEOO,OAAOA,CAACP,OAAe,EAAQ;IAClC,MAAMQ,eAAe,GAAG,IAAI,CAACL,kBAAkB,CAACH,OAAO,CAAC;IACxD,IAAI,IAAI,CAACF,YAAY,IAAI,CAAC,EAAE;MACxB;MACAI,OAAO,CAACH,GAAG,CAACS,eAAe,CAAC;IAChC;IACA,IAAI,CAACX,QAAQ,CAACI,IAAI,CAACO,eAAe,CAAC;EACvC;EAEA,MAAaC,oBAAoBA,CAACC,QAAgB,EAAiB;IAC/D,MAAM,IAAAC,uBAAc,EAACD,QAAQ,EAAE,IAAI,CAACb,QAAQ,CAACe,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;EACpE;;EAEA;EACOC,KAAKA,CAACb,OAA6B,EAAQ;IAC9C,IAAI,CAACH,QAAQ,CAACI,IAAI,CAAC,GAAGD,OAAO,EAAE,CAAC;IAChC;IACAE,OAAO,CAACH,GAAG,CAAC,IAAI,CAACI,kBAAkB,CAACE,cAAK,CAACS,SAAS,CAACd,OAAO,CAAC,CAAC,CAAC;EAClE;EAEOe,UAAUA,CAACnB,MAAc,EAAW;IACvC,IAAIoB,MAAM;IACV,IAAI,IAAI,CAACpB,MAAM,IAAIqB,SAAS,EAAE;MAC1BD,MAAM,GAAG,IAAItB,MAAM,CAACE,MAAM,EAAE,IAAI,CAACC,QAAQ,CAAC;IAC9C,CAAC,MAAM;MACHmB,MAAM,GAAG,IAAItB,MAAM,CAAC,IAAI,CAACE,MAAM,GAAG,GAAG,GAAGA,MAAM,EAAE,IAAI,CAACC,QAAQ,CAAC;IAClE;IACAmB,MAAM,CAACE,0BAA0B,CAAC,IAAI,CAACpB,YAAY,CAAC;IACpD,OAAOkB,MAAM;EACjB;EAEOE,0BAA0BA,CAACpB,YAAoB,EAAQ;IAC1D,IAAI,CAACA,YAAY,GAAGA,YAAY;EACpC;EAEQK,kBAAkBA,CAACH,OAAuB,EAAU;IACxD,MAAMmB,aAAa,GAAG,GAAGnB,OAAO,EAAE;IAClC,IAAI,IAAI,CAACJ,MAAM,IAAIqB,SAAS,EAAE;MAC1B,OAAOE,aAAa;IACxB;IACA,MAAMC,UAAU,GAAGf,cAAK,CAACgB,IAAI,CAAC,IAAI,IAAI,CAACzB,MAAM,GAAG,CAAC;IAEjD,OAAOuB,aAAa,CACfG,KAAK,CAAC,IAAI,CAAC,CACXC,GAAG,CAACC,IAAI,IAAI,GAAGJ,UAAU,IAAII,IAAI,EAAE,CAAC,CACpCZ,IAAI,CAAC,IAAI,CAAC;EACnB;AACJ;AAACa,OAAA,CAAA/B,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"Logger.js","names":["_chalk","_interopRequireDefault","require","_FsUtils","Logger","constructor","prefix","logLines","noSaveLogs","verboseLevel","pushLogLine","message","push","log","console","getPrefixedMessage","warning","chalk","yellowBright","verbose","messageToOutput","flushFullLogIntoFile","fileName","writeFileAsync","join","error","redBright","withPrefix","result","undefined","setConsoleLoggingVerbosity","messageString","prefixText","gray","split","map","line","exports"],"sources":["../../../../../src/Commons/Logging/Logger.ts"],"sourcesContent":["import chalk from \"chalk\";\n\nimport { writeFileAsync } from \"../FsUtils\";\n\nimport { ILogger } from \"./ILogger\";\n\nexport class Logger implements ILogger {\n private readonly logLines: string[];\n private readonly prefix?: string;\n private verboseLevel = 0;\n private readonly noSaveLogs: boolean;\n\n public constructor(prefix?: string, logLines?: string[], noSaveLogs = false) {\n this.prefix = prefix;\n this.logLines = logLines || [];\n this.noSaveLogs = noSaveLogs;\n }\n\n private pushLogLine(message: string) {\n // fix memory leak\n if (this.noSaveLogs) {\n return;\n }\n\n this.logLines.push(message);\n }\n\n public log(message: string): void {\n this.pushLogLine(message);\n // eslint-disable-next-line no-console\n console.log(this.getPrefixedMessage(message));\n }\n\n public warning(message: string): void {\n this.pushLogLine(message);\n // eslint-disable-next-line no-console\n console.log(this.getPrefixedMessage(chalk.yellowBright(message)));\n }\n\n public verbose(message: string): void {\n const messageToOutput = this.getPrefixedMessage(message);\n if (this.verboseLevel >= 1) {\n // eslint-disable-next-line no-console\n console.log(messageToOutput);\n this.pushLogLine(messageToOutput);\n }\n }\n\n public async flushFullLogIntoFile(fileName: string): Promise<void> {\n await writeFileAsync(fileName, this.logLines.join(\"\\n\"), \"utf8\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public error(message: any | string | Error): void {\n this.pushLogLine(`${message}`);\n // eslint-disable-next-line no-console,@typescript-eslint/no-unsafe-argument\n console.log(this.getPrefixedMessage(chalk.redBright(message)));\n }\n\n public withPrefix(prefix: string): ILogger {\n let result;\n if (this.prefix == undefined) {\n result = new Logger(prefix, this.logLines);\n } else {\n result = new Logger(this.prefix + \":\" + prefix, this.logLines);\n }\n result.setConsoleLoggingVerbosity(this.verboseLevel);\n return result;\n }\n\n public setConsoleLoggingVerbosity(verboseLevel: number): void {\n this.verboseLevel = verboseLevel;\n }\n\n private getPrefixedMessage(message: string | Error): string {\n const messageString = `${message}`;\n if (this.prefix == undefined) {\n return messageString;\n }\n const prefixText = chalk.gray(`[${this.prefix}]`);\n\n return messageString\n .split(\"\\n\")\n .map(line => `${prefixText} ${line}`)\n .join(\"\\n\");\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -38,6 +38,10 @@ async function createConfigVariant(options) {
38
38
  },
39
39
  entry: [_path.default.join(formPath, "form", "./web")],
40
40
  devtool: options.mode === "production" ? "hidden-source-map" : "inline-source-map",
41
+ cache: options.mode === "development" ? {
42
+ type: "memory",
43
+ maxGenerations: 5
44
+ } : false,
41
45
  module: {
42
46
  rules: [{
43
47
  test: /\.less$/,
@@ -138,4 +142,4 @@ function createConfig(options) {
138
142
  }
139
143
  return Promise.all(result);
140
144
  }
141
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21pbmlDc3NFeHRyYWN0UGx1Z2luIiwiX3dlYnBhY2siLCJfQ2FjaGVBc3NldHNQbHVnaW4iLCJjcmVhdGVDb25maWdWYXJpYW50Iiwib3B0aW9ucyIsImdmdiIsImZpbGVOYW1lU3VmZml4IiwibW9kZSIsImZvcm1QYXRoIiwiYnVpbGRDYWNoZSIsImJ1aWxkQ2FjaGVPcHRpb25zIiwidW5kZWZpbmVkIiwiQnVpbGRDYWNoZSIsImZhcm1EaXJlY3RvcnkiLCJidWlsZENhY2hlV2VicGFja1BsdWdpbiIsImNyZWF0ZVdlYnBhY2tQbHVnaW4iLCJ0YXJnZXQiLCJjb250ZXh0Iiwib3V0cHV0IiwiZmlsZW5hbWUiLCJwYXRoIiwicmVzb3VyY2VzRGlyZWN0b3J5UGF0aCIsInB1YmxpY1BhdGgiLCJyZXNvbHZlIiwiYWxpYXMiLCJqb2luIiwiX19kaXJuYW1lIiwidmFyaWFibGVzIiwiUmVzb3VyY2VzIiwiZXh0ZW5zaW9ucyIsImVudHJ5IiwiZGV2dG9vbCIsIm1vZHVsZSIsInJ1bGVzIiwidGVzdCIsInVzZSIsImxvYWRlciIsIk1pbmlDc3NFeHRyYWN0UGx1Z2luIiwibW9kdWxlcyIsImxvY2FsSWRlbnROYW1lIiwicG9zdGNzc09wdGlvbnMiLCJpZGVudCIsInBsdWdpbnMiLCJvdmVycmlkZUJyb3dzZXJzbGlzdCIsImJhYmVscmMiLCJjb25maWdGaWxlIiwicHJlc2V0cyIsInRhcmdldHMiLCJicm93c2VycyIsImxvb3NlIiwibGVnYWN5IiwiZnVsbHlTcGVjaWZpZWQiLCJleGNsdWRlIiwibmFtZSIsIndlYnBhY2siLCJEZWZpbmVQbHVnaW4iLCJHRlYiLCJKU09OIiwic3RyaW5naWZ5IiwiTk9ERV9FTlYiLCJSRVNPVVJDRVNfSEFTSCIsInJlc291cmNlc0hhc2giLCJmaWx0ZXIiLCJpc05vdE51bGxPclVuZGVmaW5lZCIsImlucHV0IiwiY3JlYXRlQ29uZmlnIiwicmVzdWx0IiwibW9kZXMiLCJwdXNoIiwiUHJvbWlzZSIsImFsbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Gb3JtV2VicGFja0NvbmZpZ3VyYXRpb24vY3JlYXRlRm9ybVdlYnBhY2tDb25maWd1cmF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlIG5vLWFueSBuby11bnNhZmUtYW55IG5vLWludmFsaWQtdGhpc1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IE1pbmlDc3NFeHRyYWN0UGx1Z2luIGZyb20gXCJtaW5pLWNzcy1leHRyYWN0LXBsdWdpblwiO1xuaW1wb3J0IHdlYnBhY2ssIHsgQ29uZmlndXJhdGlvbiB9IGZyb20gXCJ3ZWJwYWNrXCI7XG5cbmltcG9ydCB7IEJ1aWxkQ2FjaGUsIEZvcm1CdWlsZENhY2hlT3B0aW9ucyB9IGZyb20gXCIuL0NhY2hlQXNzZXRzUGx1Z2luXCI7XG5cbmludGVyZmFjZSBDcmVhdGVXZWJwYWNrQ29uZmlndXJhdGlvblZhcmlhbnRPcHRpb25zIHtcbiAgICBnZnY6IHN0cmluZztcbiAgICByZXNvdXJjZXNIYXNoOiBzdHJpbmc7XG4gICAgZm9ybVBhdGg6IHN0cmluZztcbiAgICBtb2RlPzogXCJwcm9kdWN0aW9uXCIgfCBcImRldmVsb3BtZW50XCI7XG4gICAgcmVzb3VyY2VzRGlyZWN0b3J5UGF0aDogc3RyaW5nO1xuICAgIGJ1aWxkQ2FjaGVPcHRpb25zPzogRm9ybUJ1aWxkQ2FjaGVPcHRpb25zO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVDb25maWdWYXJpYW50KG9wdGlvbnM6IENyZWF0ZVdlYnBhY2tDb25maWd1cmF0aW9uVmFyaWFudE9wdGlvbnMpOiBQcm9taXNlPENvbmZpZ3VyYXRpb24+IHtcbiAgICBjb25zdCB7IGdmdiB9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IGZpbGVOYW1lU3VmZml4ID0gb3B0aW9ucy5tb2RlID09PSBcInByb2R1Y3Rpb25cIiA/IFwiLm1pblwiIDogXCJcIjtcblxuICAgIGNvbnN0IGZvcm1QYXRoID0gb3B0aW9ucy5mb3JtUGF0aDtcbiAgICBjb25zdCBidWlsZENhY2hlID1cbiAgICAgICAgb3B0aW9ucy5idWlsZENhY2hlT3B0aW9ucyAhPSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gbmV3IEJ1aWxkQ2FjaGUob3B0aW9ucy5idWlsZENhY2hlT3B0aW9ucy5mYXJtRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkQ2FjaGVPcHRpb25zLm1vZGUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGJ1aWxkQ2FjaGVXZWJwYWNrUGx1Z2luID1cbiAgICAgICAgYnVpbGRDYWNoZSAhPSB1bmRlZmluZWQgJiYgb3B0aW9ucy5idWlsZENhY2hlT3B0aW9ucyAhPSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gYXdhaXQgYnVpbGRDYWNoZS5jcmVhdGVXZWJwYWNrUGx1Z2luKG9wdGlvbnMuYnVpbGRDYWNoZU9wdGlvbnMpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6IG9wdGlvbnMubW9kZSxcbiAgICAgICAgdGFyZ2V0OiBbXCJ3ZWJcIiwgXCJlczVcIl0sXG4gICAgICAgIGNvbnRleHQ6IGZvcm1QYXRoLFxuICAgICAgICBvdXRwdXQ6IHtcbiAgICAgICAgICAgIGZpbGVuYW1lOiBgcHVibGljL3NjcmlwdHMvJHtnZnZ9JHtmaWxlTmFtZVN1ZmZpeH0uanNgLFxuICAgICAgICAgICAgcGF0aDogb3B0aW9ucy5yZXNvdXJjZXNEaXJlY3RvcnlQYXRoLFxuICAgICAgICAgICAgcHVibGljUGF0aDogXCIvc3RhdGljL1wiLFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiB7XG4gICAgICAgICAgICBhbGlhczoge1xuICAgICAgICAgICAgICAgIFwidmFyaWFibGVzLmxlc3NcIjogcGF0aC5yZXNvbHZlKHBhdGguam9pbihfX2Rpcm5hbWUsIFwidmFyaWFibGVzLmxlc3NcIikpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGF0aC5yZXNvbHZlKHBhdGguam9pbihfX2Rpcm5hbWUsIFwidmFyaWFibGVzLmxlc3NcIikpLFxuICAgICAgICAgICAgICAgIFJlc291cmNlczogcGF0aC5qb2luKGZvcm1QYXRoLCBcImZvcm1cIiwgXCJyZXNvdXJjZXNcIiksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXh0ZW5zaW9uczogW1wiLmpzXCIsIFwiLmpzeFwiXSxcbiAgICAgICAgfSxcbiAgICAgICAgZW50cnk6IFtwYXRoLmpvaW4oZm9ybVBhdGgsIFwiZm9ybVwiLCBcIi4vd2ViXCIpXSxcbiAgICAgICAgZGV2dG9vbDogb3B0aW9ucy5tb2RlID09PSBcInByb2R1Y3Rpb25cIiA/IFwiaGlkZGVuLXNvdXJjZS1tYXBcIiA6IFwiaW5saW5lLXNvdXJjZS1tYXBcIixcbiAgICAgICAgbW9kdWxlOiB7XG4gICAgICAgICAgICBydWxlczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGVzdDogL1xcLmxlc3MkLyxcbiAgICAgICAgICAgICAgICAgICAgdXNlOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXI6IE1pbmlDc3NFeHRyYWN0UGx1Z2luLmxvYWRlciBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogeyBwdWJsaWNQYXRoOiBcIi4uLy4uL1wiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcjogcmVxdWlyZS5yZXNvbHZlKFwiY3NzLWxvYWRlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsSWRlbnROYW1lOiBcIltoYXNoOmJhc2U2NDo1XVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcjogcmVxdWlyZS5yZXNvbHZlKFwicG9zdGNzcy1sb2FkZXJcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3N0Y3NzT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnQ6IFwicG9zdGNzc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUgbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlKFwiYXV0b3ByZWZpeGVyXCIpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g0J/RgNC+0YHRgtC+INC00LXRhNC+0LvRgtC90YvQtSDQt9C90LDRh9C10L3QuNC1INC40Lcg0YLQtdC60YPRidC10LPQviAoMS43LjcpIGJyb3dzZXJzbGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUJyb3dzZXJzbGlzdDogXCI+IDElLCBsYXN0IDIgdmVyc2lvbnMsIEZpcmVmb3ggRVNSXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcjogcmVxdWlyZS5yZXNvbHZlKFwibGVzcy1sb2FkZXJcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0ZXN0OiAvXFwuanN4PyQvLFxuICAgICAgICAgICAgICAgICAgICB1c2U6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXI6IHJlcXVpcmUucmVzb2x2ZShcImJhYmVsLWxvYWRlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhYmVscmM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWdGaWxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2V0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZS5yZXNvbHZlKFwiQGJhYmVsL3ByZXNldC1yZWFjdFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlLnJlc29sdmUoXCJAYmFiZWwvcHJlc2V0LWVudlwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldHM6IHsgYnJvd3NlcnM6IFwiPiAwJVwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvb3NlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZS5yZXNvbHZlKFwiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1kZWNvcmF0b3JzXCIpLCB7IGxlZ2FjeTogdHJ1ZSB9XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlLnJlc29sdmUoXCJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1jbGFzcy1wcm9wZXJ0aWVzXCIpLCB7IGxvb3NlOiB0cnVlIH1dLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZS5yZXNvbHZlKFwiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1leHBvcnQtZGVmYXVsdC1mcm9tXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmdWxseVNwZWNpZmllZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGU6IFsvbm9kZV9tb2R1bGVzL10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRlc3Q6IC9cXC4ocG5nfHN2ZykkLyxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGVyOiByZXF1aXJlLnJlc29sdmUoXCJmaWxlLWxvYWRlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogeyBuYW1lOiBcInB1YmxpYy9pbWFnZXMvW2hhc2hdLltleHRdXCIgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGVzdDogL1xcLih0dGZ8ZW90fHdvZmYyPykkLyxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGVyOiByZXF1aXJlLnJlc29sdmUoXCJmaWxlLWxvYWRlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogeyBuYW1lOiBcInB1YmxpYy9mb250cy9baGFzaF0uW2V4dF1cIiB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yINCf0L7Rh9C40L3QuNGC0YHRjywg0LrQvtCz0LTQsCDQstGB0LUg0LvQuNCx0Ysg0L7QsdC90L7QstGP0YLRgdGPXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgIG5ldyBNaW5pQ3NzRXh0cmFjdFBsdWdpbih7XG4gICAgICAgICAgICAgICAgZmlsZW5hbWU6IGBwdWJsaWMvc3R5bGVzLyR7Z2Z2fSR7ZmlsZU5hbWVTdWZmaXh9LmNzc2AsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyB3ZWJwYWNrLkRlZmluZVBsdWdpbih7XG4gICAgICAgICAgICAgICAgXCJwcm9jZXNzLmVudlwiOiB7XG4gICAgICAgICAgICAgICAgICAgIEdGVjogSlNPTi5zdHJpbmdpZnkoZ2Z2KSxcbiAgICAgICAgICAgICAgICAgICAgTk9ERV9FTlY6IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMubW9kZSksXG4gICAgICAgICAgICAgICAgICAgIFJFU09VUkNFU19IQVNIOiBKU09OLnN0cmluZ2lmeShvcHRpb25zLnJlc291cmNlc0hhc2gpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGJ1aWxkQ2FjaGVXZWJwYWNrUGx1Z2luLFxuICAgICAgICBdLmZpbHRlcihpc05vdE51bGxPclVuZGVmaW5lZCksXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gaXNOb3ROdWxsT3JVbmRlZmluZWQ8VD4oaW5wdXQ6IFQgfCB1bmRlZmluZWQgfCBudWxsKTogaW5wdXQgaXMgVCB7XG4gICAgcmV0dXJuIGlucHV0ICE9IHVuZGVmaW5lZDtcbn1cblxudHlwZSBCdWlsZE1vZGUgPSBcInByb2R1Y3Rpb25cIiB8IFwiZGV2ZWxvcG1lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVXZWJwYWNrQ29uZmlndXJhdGlvbk9wdGlvbnMge1xuICAgIGdmdjogc3RyaW5nO1xuICAgIHJlc291cmNlc0hhc2g6IHN0cmluZztcbiAgICBmb3JtUGF0aDogc3RyaW5nO1xuICAgIHJlc291cmNlc0RpcmVjdG9yeVBhdGg6IHN0cmluZztcbiAgICBtb2RlczogQnVpbGRNb2RlW107XG4gICAgYnVpbGRDYWNoZU9wdGlvbnM/OiBGb3JtQnVpbGRDYWNoZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb25maWcob3B0aW9uczogQ3JlYXRlV2VicGFja0NvbmZpZ3VyYXRpb25PcHRpb25zKTogUHJvbWlzZTxDb25maWd1cmF0aW9uW10+IHtcbiAgICBjb25zdCByZXN1bHQ6IEFycmF5PFByb21pc2U8Q29uZmlndXJhdGlvbj4+ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IG1vZGUgb2Ygb3B0aW9ucy5tb2Rlcykge1xuICAgICAgICByZXN1bHQucHVzaChcbiAgICAgICAgICAgIGNyZWF0ZUNvbmZpZ1ZhcmlhbnQoe1xuICAgICAgICAgICAgICAgIGdmdjogb3B0aW9ucy5nZnYsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VzSGFzaDogb3B0aW9ucy5yZXNvdXJjZXNIYXNoLFxuICAgICAgICAgICAgICAgIGZvcm1QYXRoOiBvcHRpb25zLmZvcm1QYXRoLFxuICAgICAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeVBhdGg6IG9wdGlvbnMucmVzb3VyY2VzRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICBtb2RlOiBtb2RlLFxuICAgICAgICAgICAgICAgIGJ1aWxkQ2FjaGVPcHRpb25zOiBvcHRpb25zLmJ1aWxkQ2FjaGVPcHRpb25zLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHJlc3VsdCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxxQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQU5BOztBQWlCQSxlQUFlSSxtQkFBbUJBLENBQUNDLE9BQWlELEVBQTBCO0VBQzFHLE1BQU07SUFBRUM7RUFBSSxDQUFDLEdBQUdELE9BQU87RUFFdkIsTUFBTUUsY0FBYyxHQUFHRixPQUFPLENBQUNHLElBQUksS0FBSyxZQUFZLEdBQUcsTUFBTSxHQUFHLEVBQUU7RUFFbEUs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
145
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21pbmlDc3NFeHRyYWN0UGx1Z2luIiwiX3dlYnBhY2siLCJfQ2FjaGVBc3NldHNQbHVnaW4iLCJjcmVhdGVDb25maWdWYXJpYW50Iiwib3B0aW9ucyIsImdmdiIsImZpbGVOYW1lU3VmZml4IiwibW9kZSIsImZvcm1QYXRoIiwiYnVpbGRDYWNoZSIsImJ1aWxkQ2FjaGVPcHRpb25zIiwidW5kZWZpbmVkIiwiQnVpbGRDYWNoZSIsImZhcm1EaXJlY3RvcnkiLCJidWlsZENhY2hlV2VicGFja1BsdWdpbiIsImNyZWF0ZVdlYnBhY2tQbHVnaW4iLCJ0YXJnZXQiLCJjb250ZXh0Iiwib3V0cHV0IiwiZmlsZW5hbWUiLCJwYXRoIiwicmVzb3VyY2VzRGlyZWN0b3J5UGF0aCIsInB1YmxpY1BhdGgiLCJyZXNvbHZlIiwiYWxpYXMiLCJqb2luIiwiX19kaXJuYW1lIiwidmFyaWFibGVzIiwiUmVzb3VyY2VzIiwiZXh0ZW5zaW9ucyIsImVudHJ5IiwiZGV2dG9vbCIsImNhY2hlIiwidHlwZSIsIm1heEdlbmVyYXRpb25zIiwibW9kdWxlIiwicnVsZXMiLCJ0ZXN0IiwidXNlIiwibG9hZGVyIiwiTWluaUNzc0V4dHJhY3RQbHVnaW4iLCJtb2R1bGVzIiwibG9jYWxJZGVudE5hbWUiLCJwb3N0Y3NzT3B0aW9ucyIsImlkZW50IiwicGx1Z2lucyIsIm92ZXJyaWRlQnJvd3NlcnNsaXN0IiwiYmFiZWxyYyIsImNvbmZpZ0ZpbGUiLCJwcmVzZXRzIiwidGFyZ2V0cyIsImJyb3dzZXJzIiwibG9vc2UiLCJsZWdhY3kiLCJmdWxseVNwZWNpZmllZCIsImV4Y2x1ZGUiLCJuYW1lIiwid2VicGFjayIsIkRlZmluZVBsdWdpbiIsIkdGViIsIkpTT04iLCJzdHJpbmdpZnkiLCJOT0RFX0VOViIsIlJFU09VUkNFU19IQVNIIiwicmVzb3VyY2VzSGFzaCIsImZpbHRlciIsImlzTm90TnVsbE9yVW5kZWZpbmVkIiwiaW5wdXQiLCJjcmVhdGVDb25maWciLCJyZXN1bHQiLCJtb2RlcyIsInB1c2giLCJQcm9taXNlIiwiYWxsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL0Zvcm1XZWJwYWNrQ29uZmlndXJhdGlvbi9jcmVhdGVGb3JtV2VicGFja0NvbmZpZ3VyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGUgbm8tYW55IG5vLXVuc2FmZS1hbnkgbm8taW52YWxpZC10aGlzXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgTWluaUNzc0V4dHJhY3RQbHVnaW4gZnJvbSBcIm1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXCI7XG5pbXBvcnQgd2VicGFjaywgeyBDb25maWd1cmF0aW9uIH0gZnJvbSBcIndlYnBhY2tcIjtcblxuaW1wb3J0IHsgQnVpbGRDYWNoZSwgRm9ybUJ1aWxkQ2FjaGVPcHRpb25zIH0gZnJvbSBcIi4vQ2FjaGVBc3NldHNQbHVnaW5cIjtcblxuaW50ZXJmYWNlIENyZWF0ZVdlYnBhY2tDb25maWd1cmF0aW9uVmFyaWFudE9wdGlvbnMge1xuICAgIGdmdjogc3RyaW5nO1xuICAgIHJlc291cmNlc0hhc2g6IHN0cmluZztcbiAgICBmb3JtUGF0aDogc3RyaW5nO1xuICAgIG1vZGU/OiBcInByb2R1Y3Rpb25cIiB8IFwiZGV2ZWxvcG1lbnRcIjtcbiAgICByZXNvdXJjZXNEaXJlY3RvcnlQYXRoOiBzdHJpbmc7XG4gICAgYnVpbGRDYWNoZU9wdGlvbnM/OiBGb3JtQnVpbGRDYWNoZU9wdGlvbnM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNvbmZpZ1ZhcmlhbnQob3B0aW9uczogQ3JlYXRlV2VicGFja0NvbmZpZ3VyYXRpb25WYXJpYW50T3B0aW9ucyk6IFByb21pc2U8Q29uZmlndXJhdGlvbj4ge1xuICAgIGNvbnN0IHsgZ2Z2IH0gPSBvcHRpb25zO1xuXG4gICAgY29uc3QgZmlsZU5hbWVTdWZmaXggPSBvcHRpb25zLm1vZGUgPT09IFwicHJvZHVjdGlvblwiID8gXCIubWluXCIgOiBcIlwiO1xuXG4gICAgY29uc3QgZm9ybVBhdGggPSBvcHRpb25zLmZvcm1QYXRoO1xuICAgIGNvbnN0IGJ1aWxkQ2FjaGUgPVxuICAgICAgICBvcHRpb25zLmJ1aWxkQ2FjaGVPcHRpb25zICE9IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBuZXcgQnVpbGRDYWNoZShvcHRpb25zLmJ1aWxkQ2FjaGVPcHRpb25zLmZhcm1EaXJlY3RvcnksIG9wdGlvbnMuYnVpbGRDYWNoZU9wdGlvbnMubW9kZSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYnVpbGRDYWNoZVdlYnBhY2tQbHVnaW4gPVxuICAgICAgICBidWlsZENhY2hlICE9IHVuZGVmaW5lZCAmJiBvcHRpb25zLmJ1aWxkQ2FjaGVPcHRpb25zICE9IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBhd2FpdCBidWlsZENhY2hlLmNyZWF0ZVdlYnBhY2tQbHVnaW4ob3B0aW9ucy5idWlsZENhY2hlT3B0aW9ucylcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZTogb3B0aW9ucy5tb2RlLFxuICAgICAgICB0YXJnZXQ6IFtcIndlYlwiLCBcImVzNVwiXSxcbiAgICAgICAgY29udGV4dDogZm9ybVBhdGgsXG4gICAgICAgIG91dHB1dDoge1xuICAgICAgICAgICAgZmlsZW5hbWU6IGBwdWJsaWMvc2NyaXB0cy8ke2dmdn0ke2ZpbGVOYW1lU3VmZml4fS5qc2AsXG4gICAgICAgICAgICBwYXRoOiBvcHRpb25zLnJlc291cmNlc0RpcmVjdG9yeVBhdGgsXG4gICAgICAgICAgICBwdWJsaWNQYXRoOiBcIi9zdGF0aWMvXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IHtcbiAgICAgICAgICAgIGFsaWFzOiB7XG4gICAgICAgICAgICAgICAgXCJ2YXJpYWJsZXMubGVzc1wiOiBwYXRoLnJlc29sdmUocGF0aC5qb2luKF9fZGlybmFtZSwgXCJ2YXJpYWJsZXMubGVzc1wiKSksXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiBwYXRoLnJlc29sdmUocGF0aC5qb2luKF9fZGlybmFtZSwgXCJ2YXJpYWJsZXMubGVzc1wiKSksXG4gICAgICAgICAgICAgICAgUmVzb3VyY2VzOiBwYXRoLmpvaW4oZm9ybVBhdGgsIFwiZm9ybVwiLCBcInJlc291cmNlc1wiKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHRlbnNpb25zOiBbXCIuanNcIiwgXCIuanN4XCJdLFxuICAgICAgICB9LFxuICAgICAgICBlbnRyeTogW3BhdGguam9pbihmb3JtUGF0aCwgXCJmb3JtXCIsIFwiLi93ZWJcIildLFxuICAgICAgICBkZXZ0b29sOiBvcHRpb25zLm1vZGUgPT09IFwicHJvZHVjdGlvblwiID8gXCJoaWRkZW4tc291cmNlLW1hcFwiIDogXCJpbmxpbmUtc291cmNlLW1hcFwiLFxuICAgICAgICBjYWNoZTpcbiAgICAgICAgICAgIG9wdGlvbnMubW9kZSA9PT0gXCJkZXZlbG9wbWVudFwiXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJtZW1vcnlcIixcbiAgICAgICAgICAgICAgICAgICAgICBtYXhHZW5lcmF0aW9uczogNSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IGZhbHNlLFxuICAgICAgICBtb2R1bGU6IHtcbiAgICAgICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0ZXN0OiAvXFwubGVzcyQvLFxuICAgICAgICAgICAgICAgICAgICB1c2U6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcjogTWluaUNzc0V4dHJhY3RQbHVnaW4ubG9hZGVyIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7IHB1YmxpY1BhdGg6IFwiLi4vLi4vXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyOiByZXF1aXJlLnJlc29sdmUoXCJjc3MtbG9hZGVyXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJZGVudE5hbWU6IFwiW2hhc2g6YmFzZTY0OjVdXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyOiByZXF1aXJlLnJlc29sdmUoXCJwb3N0Y3NzLWxvYWRlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3Rjc3NPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudDogXCJwb3N0Y3NzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZSBuby1yZXF1aXJlLWltcG9ydHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmUoXCJhdXRvcHJlZml4ZXJcIikoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDQn9GA0L7RgdGC0L4g0LTQtdGE0L7Qu9GC0L3Ri9C1INC30L3QsNGH0LXQvdC40LUg0LjQtyDRgtC10LrRg9GJ0LXQs9C+ICgxLjcuNykgYnJvd3NlcnNsaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlQnJvd3NlcnNsaXN0OiBcIj4gMSUsIGxhc3QgMiB2ZXJzaW9ucywgRmlyZWZveCBFU1JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyOiByZXF1aXJlLnJlc29sdmUoXCJsZXNzLWxvYWRlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRlc3Q6IC9cXC5qc3g/JC8sXG4gICAgICAgICAgICAgICAgICAgIHVzZTogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcjogcmVxdWlyZS5yZXNvbHZlKFwiYmFiZWwtbG9hZGVyXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFiZWxyYzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ0ZpbGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzZXRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlLnJlc29sdmUoXCJAYmFiZWwvcHJlc2V0LXJlYWN0XCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmUucmVzb2x2ZShcIkBiYWJlbC9wcmVzZXQtZW52XCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0czogeyBicm93c2VyczogXCI+IDAlXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9vc2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlLnJlc29sdmUoXCJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWRlY29yYXRvcnNcIiksIHsgbGVnYWN5OiB0cnVlIH1dLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmUucmVzb2x2ZShcIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWNsYXNzLXByb3BlcnRpZXNcIiksIHsgbG9vc2U6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlLnJlc29sdmUoXCJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWV4cG9ydC1kZWZhdWx0LWZyb21cIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGx5U3BlY2lmaWVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXhjbHVkZTogWy9ub2RlX21vZHVsZXMvXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGVzdDogL1xcLihwbmd8c3ZnKSQvLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZXI6IHJlcXVpcmUucmVzb2x2ZShcImZpbGUtbG9hZGVyXCIpLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7IG5hbWU6IFwicHVibGljL2ltYWdlcy9baGFzaF0uW2V4dF1cIiB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0ZXN0OiAvXFwuKHR0Znxlb3R8d29mZjI/KSQvLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZXI6IHJlcXVpcmUucmVzb2x2ZShcImZpbGUtbG9hZGVyXCIpLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7IG5hbWU6IFwicHVibGljL2ZvbnRzL1toYXNoXS5bZXh0XVwiIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3Ig0J/QvtGH0LjQvdC40YLRgdGPLCDQutC+0LPQtNCwINCy0YHQtSDQu9C40LHRiyDQvtCx0L3QvtCy0Y/RgtGB0Y9cbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgICAgbmV3IE1pbmlDc3NFeHRyYWN0UGx1Z2luKHtcbiAgICAgICAgICAgICAgICBmaWxlbmFtZTogYHB1YmxpYy9zdHlsZXMvJHtnZnZ9JHtmaWxlTmFtZVN1ZmZpeH0uY3NzYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IHdlYnBhY2suRGVmaW5lUGx1Z2luKHtcbiAgICAgICAgICAgICAgICBcInByb2Nlc3MuZW52XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgR0ZWOiBKU09OLnN0cmluZ2lmeShnZnYpLFxuICAgICAgICAgICAgICAgICAgICBOT0RFX0VOVjogSlNPTi5zdHJpbmdpZnkob3B0aW9ucy5tb2RlKSxcbiAgICAgICAgICAgICAgICAgICAgUkVTT1VSQ0VTX0hBU0g6IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMucmVzb3VyY2VzSGFzaCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgYnVpbGRDYWNoZVdlYnBhY2tQbHVnaW4sXG4gICAgICAgIF0uZmlsdGVyKGlzTm90TnVsbE9yVW5kZWZpbmVkKSxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBpc05vdE51bGxPclVuZGVmaW5lZDxUPihpbnB1dDogVCB8IHVuZGVmaW5lZCB8IG51bGwpOiBpbnB1dCBpcyBUIHtcbiAgICByZXR1cm4gaW5wdXQgIT0gdW5kZWZpbmVkO1xufVxuXG50eXBlIEJ1aWxkTW9kZSA9IFwicHJvZHVjdGlvblwiIHwgXCJkZXZlbG9wbWVudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVdlYnBhY2tDb25maWd1cmF0aW9uT3B0aW9ucyB7XG4gICAgZ2Z2OiBzdHJpbmc7XG4gICAgcmVzb3VyY2VzSGFzaDogc3RyaW5nO1xuICAgIGZvcm1QYXRoOiBzdHJpbmc7XG4gICAgcmVzb3VyY2VzRGlyZWN0b3J5UGF0aDogc3RyaW5nO1xuICAgIG1vZGVzOiBCdWlsZE1vZGVbXTtcbiAgICBidWlsZENhY2hlT3B0aW9ucz86IEZvcm1CdWlsZENhY2hlT3B0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbmZpZyhvcHRpb25zOiBDcmVhdGVXZWJwYWNrQ29uZmlndXJhdGlvbk9wdGlvbnMpOiBQcm9taXNlPENvbmZpZ3VyYXRpb25bXT4ge1xuICAgIGNvbnN0IHJlc3VsdDogQXJyYXk8UHJvbWlzZTxDb25maWd1cmF0aW9uPj4gPSBbXTtcblxuICAgIGZvciAoY29uc3QgbW9kZSBvZiBvcHRpb25zLm1vZGVzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFxuICAgICAgICAgICAgY3JlYXRlQ29uZmlnVmFyaWFudCh7XG4gICAgICAgICAgICAgICAgZ2Z2OiBvcHRpb25zLmdmdixcbiAgICAgICAgICAgICAgICByZXNvdXJjZXNIYXNoOiBvcHRpb25zLnJlc291cmNlc0hhc2gsXG4gICAgICAgICAgICAgICAgZm9ybVBhdGg6IG9wdGlvbnMuZm9ybVBhdGgsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5UGF0aDogb3B0aW9ucy5yZXNvdXJjZXNEaXJlY3RvcnlQYXRoLFxuICAgICAgICAgICAgICAgIG1vZGU6IG1vZGUsXG4gICAgICAgICAgICAgICAgYnVpbGRDYWNoZU9wdGlvbnM6IG9wdGlvbnMuYnVpbGRDYWNoZU9wdGlvbnMsXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5hbGwocmVzdWx0KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLHFCQUFBLEdB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
@@ -1 +1 @@
1
- {"version":3,"file":"createFormWebpackConfiguration.js","names":["_path","_interopRequireDefault","require","_miniCssExtractPlugin","_webpack","_CacheAssetsPlugin","createConfigVariant","options","gfv","fileNameSuffix","mode","formPath","buildCache","buildCacheOptions","undefined","BuildCache","farmDirectory","buildCacheWebpackPlugin","createWebpackPlugin","target","context","output","filename","path","resourcesDirectoryPath","publicPath","resolve","alias","join","__dirname","variables","Resources","extensions","entry","devtool","module","rules","test","use","loader","MiniCssExtractPlugin","modules","localIdentName","postcssOptions","ident","plugins","overrideBrowserslist","babelrc","configFile","presets","targets","browsers","loose","legacy","fullySpecified","exclude","name","webpack","DefinePlugin","GFV","JSON","stringify","NODE_ENV","RESOURCES_HASH","resourcesHash","filter","isNotNullOrUndefined","input","createConfig","result","modes","push","Promise","all"],"sources":["../../../../src/FormWebpackConfiguration/createFormWebpackConfiguration.ts"],"sourcesContent":["// tslint:disable no-any no-unsafe-any no-invalid-this\nimport path from \"path\";\n\nimport MiniCssExtractPlugin from \"mini-css-extract-plugin\";\nimport webpack, { Configuration } from \"webpack\";\n\nimport { BuildCache, FormBuildCacheOptions } from \"./CacheAssetsPlugin\";\n\ninterface CreateWebpackConfigurationVariantOptions {\n gfv: string;\n resourcesHash: string;\n formPath: string;\n mode?: \"production\" | \"development\";\n resourcesDirectoryPath: string;\n buildCacheOptions?: FormBuildCacheOptions;\n}\n\nasync function createConfigVariant(options: CreateWebpackConfigurationVariantOptions): Promise<Configuration> {\n const { gfv } = options;\n\n const fileNameSuffix = options.mode === \"production\" ? \".min\" : \"\";\n\n const formPath = options.formPath;\n const buildCache =\n options.buildCacheOptions != undefined\n ? new BuildCache(options.buildCacheOptions.farmDirectory, options.buildCacheOptions.mode)\n : undefined;\n\n const buildCacheWebpackPlugin =\n buildCache != undefined && options.buildCacheOptions != undefined\n ? await buildCache.createWebpackPlugin(options.buildCacheOptions)\n : undefined;\n\n return {\n mode: options.mode,\n target: [\"web\", \"es5\"],\n context: formPath,\n output: {\n filename: `public/scripts/${gfv}${fileNameSuffix}.js`,\n path: options.resourcesDirectoryPath,\n publicPath: \"/static/\",\n },\n resolve: {\n alias: {\n \"variables.less\": path.resolve(path.join(__dirname, \"variables.less\")),\n variables: path.resolve(path.join(__dirname, \"variables.less\")),\n Resources: path.join(formPath, \"form\", \"resources\"),\n },\n extensions: [\".js\", \".jsx\"],\n },\n entry: [path.join(formPath, \"form\", \"./web\")],\n devtool: options.mode === \"production\" ? \"hidden-source-map\" : \"inline-source-map\",\n module: {\n rules: [\n {\n test: /\\.less$/,\n use: [\n {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n loader: MiniCssExtractPlugin.loader as any,\n options: { publicPath: \"../../\" },\n },\n {\n loader: require.resolve(\"css-loader\"),\n options: {\n modules: {\n localIdentName: \"[hash:base64:5]\",\n },\n },\n },\n {\n loader: require.resolve(\"postcss-loader\"),\n options: {\n postcssOptions: {\n ident: \"postcss\",\n // tslint:disable no-require-imports\n plugins: [\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(\"autoprefixer\")({\n // Просто дефолтные значение из текущего (1.7.7) browserslist\n overrideBrowserslist: \"> 1%, last 2 versions, Firefox ESR\",\n }),\n ],\n },\n },\n },\n {\n loader: require.resolve(\"less-loader\"),\n },\n ],\n },\n {\n test: /\\.jsx?$/,\n use: [\n {\n loader: require.resolve(\"babel-loader\"),\n options: {\n babelrc: false,\n configFile: false,\n presets: [\n require.resolve(\"@babel/preset-react\"),\n [\n require.resolve(\"@babel/preset-env\"),\n {\n targets: { browsers: \"> 0%\" },\n loose: true,\n },\n ],\n ],\n plugins: [\n [require.resolve(\"@babel/plugin-proposal-decorators\"), { legacy: true }],\n [require.resolve(\"@babel/plugin-transform-class-properties\"), { loose: true }],\n require.resolve(\"@babel/plugin-proposal-export-default-from\"),\n ],\n },\n },\n ],\n resolve: {\n fullySpecified: false,\n },\n exclude: [/node_modules/],\n },\n {\n test: /\\.(png|svg)$/,\n loader: require.resolve(\"file-loader\"),\n options: { name: \"public/images/[hash].[ext]\" },\n },\n {\n test: /\\.(ttf|eot|woff2?)$/,\n loader: require.resolve(\"file-loader\"),\n options: { name: \"public/fonts/[hash].[ext]\" },\n },\n ],\n },\n // @ts-expect-error Починится, когда все либы обновятся\n plugins: [\n new MiniCssExtractPlugin({\n filename: `public/styles/${gfv}${fileNameSuffix}.css`,\n }),\n new webpack.DefinePlugin({\n \"process.env\": {\n GFV: JSON.stringify(gfv),\n NODE_ENV: JSON.stringify(options.mode),\n RESOURCES_HASH: JSON.stringify(options.resourcesHash),\n },\n }),\n buildCacheWebpackPlugin,\n ].filter(isNotNullOrUndefined),\n };\n}\n\nfunction isNotNullOrUndefined<T>(input: T | undefined | null): input is T {\n return input != undefined;\n}\n\ntype BuildMode = \"production\" | \"development\";\n\nexport interface CreateWebpackConfigurationOptions {\n gfv: string;\n resourcesHash: string;\n formPath: string;\n resourcesDirectoryPath: string;\n modes: BuildMode[];\n buildCacheOptions?: FormBuildCacheOptions;\n}\n\nexport function createConfig(options: CreateWebpackConfigurationOptions): Promise<Configuration[]> {\n const result: Array<Promise<Configuration>> = [];\n\n for (const mode of options.modes) {\n result.push(\n createConfigVariant({\n gfv: options.gfv,\n resourcesHash: options.resourcesHash,\n formPath: options.formPath,\n resourcesDirectoryPath: options.resourcesDirectoryPath,\n mode: mode,\n buildCacheOptions: options.buildCacheOptions,\n })\n );\n }\n return Promise.all(result);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createFormWebpackConfiguration.js","names":["_path","_interopRequireDefault","require","_miniCssExtractPlugin","_webpack","_CacheAssetsPlugin","createConfigVariant","options","gfv","fileNameSuffix","mode","formPath","buildCache","buildCacheOptions","undefined","BuildCache","farmDirectory","buildCacheWebpackPlugin","createWebpackPlugin","target","context","output","filename","path","resourcesDirectoryPath","publicPath","resolve","alias","join","__dirname","variables","Resources","extensions","entry","devtool","cache","type","maxGenerations","module","rules","test","use","loader","MiniCssExtractPlugin","modules","localIdentName","postcssOptions","ident","plugins","overrideBrowserslist","babelrc","configFile","presets","targets","browsers","loose","legacy","fullySpecified","exclude","name","webpack","DefinePlugin","GFV","JSON","stringify","NODE_ENV","RESOURCES_HASH","resourcesHash","filter","isNotNullOrUndefined","input","createConfig","result","modes","push","Promise","all"],"sources":["../../../../src/FormWebpackConfiguration/createFormWebpackConfiguration.ts"],"sourcesContent":["// tslint:disable no-any no-unsafe-any no-invalid-this\nimport path from \"path\";\n\nimport MiniCssExtractPlugin from \"mini-css-extract-plugin\";\nimport webpack, { Configuration } from \"webpack\";\n\nimport { BuildCache, FormBuildCacheOptions } from \"./CacheAssetsPlugin\";\n\ninterface CreateWebpackConfigurationVariantOptions {\n gfv: string;\n resourcesHash: string;\n formPath: string;\n mode?: \"production\" | \"development\";\n resourcesDirectoryPath: string;\n buildCacheOptions?: FormBuildCacheOptions;\n}\n\nasync function createConfigVariant(options: CreateWebpackConfigurationVariantOptions): Promise<Configuration> {\n const { gfv } = options;\n\n const fileNameSuffix = options.mode === \"production\" ? \".min\" : \"\";\n\n const formPath = options.formPath;\n const buildCache =\n options.buildCacheOptions != undefined\n ? new BuildCache(options.buildCacheOptions.farmDirectory, options.buildCacheOptions.mode)\n : undefined;\n\n const buildCacheWebpackPlugin =\n buildCache != undefined && options.buildCacheOptions != undefined\n ? await buildCache.createWebpackPlugin(options.buildCacheOptions)\n : undefined;\n\n return {\n mode: options.mode,\n target: [\"web\", \"es5\"],\n context: formPath,\n output: {\n filename: `public/scripts/${gfv}${fileNameSuffix}.js`,\n path: options.resourcesDirectoryPath,\n publicPath: \"/static/\",\n },\n resolve: {\n alias: {\n \"variables.less\": path.resolve(path.join(__dirname, \"variables.less\")),\n variables: path.resolve(path.join(__dirname, \"variables.less\")),\n Resources: path.join(formPath, \"form\", \"resources\"),\n },\n extensions: [\".js\", \".jsx\"],\n },\n entry: [path.join(formPath, \"form\", \"./web\")],\n devtool: options.mode === \"production\" ? \"hidden-source-map\" : \"inline-source-map\",\n cache:\n options.mode === \"development\"\n ? {\n type: \"memory\",\n maxGenerations: 5,\n }\n : false,\n module: {\n rules: [\n {\n test: /\\.less$/,\n use: [\n {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n loader: MiniCssExtractPlugin.loader as any,\n options: { publicPath: \"../../\" },\n },\n {\n loader: require.resolve(\"css-loader\"),\n options: {\n modules: {\n localIdentName: \"[hash:base64:5]\",\n },\n },\n },\n {\n loader: require.resolve(\"postcss-loader\"),\n options: {\n postcssOptions: {\n ident: \"postcss\",\n // tslint:disable no-require-imports\n plugins: [\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(\"autoprefixer\")({\n // Просто дефолтные значение из текущего (1.7.7) browserslist\n overrideBrowserslist: \"> 1%, last 2 versions, Firefox ESR\",\n }),\n ],\n },\n },\n },\n {\n loader: require.resolve(\"less-loader\"),\n },\n ],\n },\n {\n test: /\\.jsx?$/,\n use: [\n {\n loader: require.resolve(\"babel-loader\"),\n options: {\n babelrc: false,\n configFile: false,\n presets: [\n require.resolve(\"@babel/preset-react\"),\n [\n require.resolve(\"@babel/preset-env\"),\n {\n targets: { browsers: \"> 0%\" },\n loose: true,\n },\n ],\n ],\n plugins: [\n [require.resolve(\"@babel/plugin-proposal-decorators\"), { legacy: true }],\n [require.resolve(\"@babel/plugin-transform-class-properties\"), { loose: true }],\n require.resolve(\"@babel/plugin-proposal-export-default-from\"),\n ],\n },\n },\n ],\n resolve: {\n fullySpecified: false,\n },\n exclude: [/node_modules/],\n },\n {\n test: /\\.(png|svg)$/,\n loader: require.resolve(\"file-loader\"),\n options: { name: \"public/images/[hash].[ext]\" },\n },\n {\n test: /\\.(ttf|eot|woff2?)$/,\n loader: require.resolve(\"file-loader\"),\n options: { name: \"public/fonts/[hash].[ext]\" },\n },\n ],\n },\n // @ts-expect-error Починится, когда все либы обновятся\n plugins: [\n new MiniCssExtractPlugin({\n filename: `public/styles/${gfv}${fileNameSuffix}.css`,\n }),\n new webpack.DefinePlugin({\n \"process.env\": {\n GFV: JSON.stringify(gfv),\n NODE_ENV: JSON.stringify(options.mode),\n RESOURCES_HASH: JSON.stringify(options.resourcesHash),\n },\n }),\n buildCacheWebpackPlugin,\n ].filter(isNotNullOrUndefined),\n };\n}\n\nfunction isNotNullOrUndefined<T>(input: T | undefined | null): input is T {\n return input != undefined;\n}\n\ntype BuildMode = \"production\" | \"development\";\n\nexport interface CreateWebpackConfigurationOptions {\n gfv: string;\n resourcesHash: string;\n formPath: string;\n resourcesDirectoryPath: string;\n modes: BuildMode[];\n buildCacheOptions?: FormBuildCacheOptions;\n}\n\nexport function createConfig(options: CreateWebpackConfigurationOptions): Promise<Configuration[]> {\n const result: Array<Promise<Configuration>> = [];\n\n for (const mode of options.modes) {\n result.push(\n createConfigVariant({\n gfv: options.gfv,\n resourcesHash: options.resourcesHash,\n formPath: options.formPath,\n resourcesDirectoryPath: options.resourcesDirectoryPath,\n mode: mode,\n buildCacheOptions: options.buildCacheOptions,\n })\n );\n }\n return Promise.all(result);\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/tools",
3
- "version": "2.207.0",
3
+ "version": "2.210.0",
4
4
  "description": "",
5
5
  "files": [
6
6
  "candy.js",