@dsivd/prestations-ng 17.10.12 → 17.10.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,18 @@
6
6
 
7
7
  ---
8
8
 
9
+ ## [17.10.13]
10
+
11
+ ### Added
12
+
13
+ - [default-dictionary.ts](projects/prestations-ng/src/sdk-dictionary/default-dictionary.ts)
14
+ - added key `foehn-uploader.unknown-error-message` (default value: `Impossible de transmettre le fichier`)
15
+
16
+ ### Updated
17
+
18
+ - [uploader.helper.ts](projects/prestations-ng/src/foehn-upload/uploader.helper.ts)
19
+ - `getDefaultUnknownErrorMessage` now uses new dictionary key `foehn-uploader.unknown-error-message`
20
+
9
21
  ## [17.10.12]
10
22
 
11
23
  ### Fixed
@@ -312,7 +312,7 @@ export class UploaderHelper {
312
312
  return formattedErrorMsg;
313
313
  }
314
314
  getDefaultUnknownErrorMessage(fileName) {
315
- const msg = 'Impossible de transmettre le fichier';
315
+ const msg = this.dictionaryService.getKeySync('foehn-uploader.unknown-error-message');
316
316
  if (!!fileName && !!fileName.length) {
317
317
  return `${msg} ${getSafeFileNameForErrorMessage(fileName)}.`;
318
318
  }
@@ -326,4 +326,4 @@ export class UploaderHelper {
326
326
  return key ? key.toLowerCase().replace(this.CHAR_TO_REPLACE, '') : null;
327
327
  }
328
328
  }
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVwbG9hZC91cGxvYWRlci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsOENBQThDO0FBQzlDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUzQyxNQUFNLDhCQUE4QixHQUFHLENBQUMsUUFBZ0IsRUFBVSxFQUFFLENBQ2hFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDaEMsZ0NBQWdDLEVBQ2hDLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDZCwrREFBK0Q7SUFDL0QsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsc0ZBQXNGO0lBQ3RGLE9BQU8sK0RBQStELENBQUMsSUFBSSxDQUN2RSxPQUFPLENBQ1Y7UUFDRyxDQUFDLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDaEIsQ0FBQyxDQUNKLENBQUM7QUFFTixNQUFNLE9BQU8sY0FBYztJQVN2QixZQUNZLGlCQUF1QyxFQUN2QyxzQkFBOEM7UUFEOUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQUN2QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBVmxELFlBQU8sR0FBRyxNQUFNLENBQUM7UUFFakIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLHVCQUFrQixHQUFHLHdCQUF3QixDQUFDO1FBQzlDLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUVoQixvQkFBZSxHQUFHLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQU0vRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FD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QUFFLENBQUMsQ0FBQztZQUVwQix5QkFBeUIsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFbkUsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFFBQWdCO1FBQ2xELE1BQU0sR0FBRyxHQUFHLHNDQUFzQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLE9BQU8sR0FBRyxHQUFHLElBQUksOEJBQThCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZLENBQUMsR0FBVztRQUM1QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUVycm9yIH0gZnJvbSAnLi4vZm9ybS1lcnJvcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm8gfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IERvY3VtZW50UmVmZXJlbmNlV2l0aEZpbGUgfSBmcm9tICcuL2RvY3VtZW50LXJlZmVyZW5jZSc7XG5cbi8vIGlsbGVnYWwgY2hhcmFjdGVycyB0aGF0IGNhbm5vdCBiZSBvdmVycmlkZW5cbmNvbnN0IFBFUk1BTkVOVF9JTExFR0FMX0NIQVJBQ1RFUlMgPSBbJywnXTtcblxuY29uc3QgZ2V0U2FmZUZpbGVOYW1lRm9yRXJyb3JNZXNzYWdlID0gKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICBlbmNvZGVVUklDb21wb25lbnQoZmlsZU5hbWUpLnJlcGxhY2UoXG4gICAgICAgIC8lWzAtOUEtRl17Mn0oPzolWzAtOUEtRl17Mn0pKi9nLFxuICAgICAgICAobWF0Y2g6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgLy8gRMOpY29kZXIgbGEgc8OpcXVlbmNlIGNvbXBsw6h0ZSAocGV1dCBpbmNsdXJlIHBsdXNpZXVycyBvY3RldHMpXG4gICAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoKTtcbiAgICAgICAgICAgIC8vIFbDqXJpZmllciBzaSBsZSBjYXJhY3TDqHJlIGTDqWNvZMOpIGVzdCB1biBjYXJhY3TDqHJlIGFjY2VudHXDqSwgdW4gZXNwYWNlIG91IHVuZSB2aXJndWxlXG4gICAgICAgICAgICByZXR1cm4gL1vDoMOhw6LDo8Okw6XDp8Oow6nDqsOrw6zDrcOuw6/DsMOxw7LDs8O0w7XDtsO5w7rDu8O8w73Dv8OAw4HDgsODw4TDhcOHw4jDicOKw4vDjMONw47Dj8OQw5HDksOTw5TDlcOWw5nDmsObw5zDncW4ICwvXS8udGVzdChcbiAgICAgICAgICAgICAgICBkZWNvZGVkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgPyBkZWNvZGVkXG4gICAgICAgICAgICAgICAgOiBtYXRjaDtcbiAgICAgICAgfVxuICAgICk7XG5cbmV4cG9ydCBjbGFzcyBVcGxvYWRlckhlbHBlciB7XG4gICAgcHJpdmF0ZSBfYWNjZXB0ID0gJy5wZGYnO1xuICAgIHByaXZhdGUgX2ZpbGVNYXhTaXplSW5CeXRlc0J5Rm9ybUtleTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfTtcbiAgICBwcml2YXRlIF9tYXhGaWxlTmFtZUxlbmd0aCA9IDY0O1xuICAgIHByaXZhdGUgX2lsbGVnYWxDaGFyYWN0ZXJzID0gJy8sXFxcXCw/LCUsKiw6LHwsXCIsPCw+LMKwJztcbiAgICBwcml2YXRlIF9maWxlTWluU2l6ZUluQnl0ZXMgPSAyMDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ0hBUl9UT19SRVBMQUNFID0gbmV3IFJlZ0V4cCgnW15hLXpBLVowLTldJywgJ2cnKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhLnN1YnNjcmliZShcbiAgICAgICAgICAgIChhcHBJbmZvOiBBcHBsaWNhdGlvbkluZm8pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWNjZXB0ID0gYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50LmZpbGVFeHRlbnNpb25zO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1heEZpbGVOYW1lTGVuZ3RoID0gTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50Lm1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVNYXhTaXplSW5CeXRlc0J5Rm9ybUtleSA9XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBJbmZvLmNvbmZpZ3VyYXRpb24uZG9jdW1lbnQuZmlsZU1heFNpemVJbkJ5dGVzQnlGb3JtS2V5O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlsbGVnYWxDaGFyYWN0ZXJzID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudC5pbGxlZ2FsQ2hhcmFjdGVycztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGVNaW5TaXplSW5CeXRlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU1pblNpemVJbkJ5dGVzO1xuICAgIH1cblxuICAgIHNldCBmaWxlTWluU2l6ZUluQnl0ZXModmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9maWxlTWluU2l6ZUluQnl0ZXMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBpbGxlZ2FsQ2hhcmFjdGVycygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWxsZWdhbENoYXJhY3RlcnM7XG4gICAgfVxuXG4gICAgc2V0IGlsbGVnYWxDaGFyYWN0ZXJzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faWxsZWdhbENoYXJhY3RlcnMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBtYXhGaWxlTmFtZUxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4RmlsZU5hbWVMZW5ndGg7XG4gICAgfVxuXG4gICAgc2V0IG1heEZpbGVOYW1lTGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbWF4RmlsZU5hbWVMZW5ndGggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBhY2NlcHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjY2VwdDtcbiAgICB9XG5cbiAgICBzZXQgYWNjZXB0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYWNjZXB0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0TWF4RmlsZVNpemVJbkJ5dGVzRm9yRm9ybUtleShmb3JtS2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBieUZvcm1LZXkgPSB0aGlzLl9maWxlTWF4U2l6ZUluQnl0ZXNCeUZvcm1LZXlbZm9ybUtleV07XG5cbiAgICAgICAgaWYgKCFpc05hTihieUZvcm1LZXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gYnlGb3JtS2V5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qga2V5QXNSZWdleCA9IE9iamVjdC5rZXlzKFxuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVNYXhTaXplSW5CeXRlc0J5Rm9ybUtleVxuICAgICAgICAgICAgKS5maW5kKGNhbkJlQVJlZ2V4ID0+IGZvcm1LZXkubWF0Y2goY2FuQmVBUmVnZXgpKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVNYXhTaXplSW5CeXRlc0J5Rm9ybUtleVtrZXlBc1JlZ2V4XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzRmlsZVRvb0JpZyhmb3JtS2V5OiBzdHJpbmcsIGZpbGVTaXplSW5CeXRlczogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVG9vQmlnKFxuICAgICAgICAgICAgZmlsZVNpemVJbkJ5dGVzLFxuICAgICAgICAgICAgdGhpcy5nZXRNYXhGaWxlU2l6ZUluQnl0ZXNGb3JGb3JtS2V5KGZvcm1LZXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaXNGaWxlVG9vU21hbGwoZmlsZVNpemVJbkJ5dGVzOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbGVNaW5TaXplSW5CeXRlcykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWxlU2l6ZUluQnl0ZXMgPCB0aGlzLmZpbGVNaW5TaXplSW5CeXRlcztcbiAgICB9XG5cbiAgICBpc0ZpbGVOYW1lTGVuZ3RoVmFsaWQoXG4gICAgICAgIGZpbGVuYW1lOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGg6IG51bWJlclxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBtYXhGaWxlTGVuZ2h0ID1cbiAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGggfHwgdGhpcy5tYXhGaWxlTmFtZUxlbmd0aDtcblxuICAgICAgICByZXR1cm4gZmlsZW5hbWUubGVuZ3RoIDw9IG1heEZpbGVMZW5naHQ7XG4gICAgfVxuXG4gICAgaXNGaWxlTmFtZU5hbWVWYWxpZChcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyczogc3RyaW5nXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlsbGVnYWxDaGFyYWN0ZXJzID0gISFvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICA/IG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnMuc3BsaXQoJywnKVxuICAgICAgICAgICAgOiB0aGlzLmlsbGVnYWxDaGFyYWN0ZXJzLnNwbGl0KCcsJyk7XG5cbiAgICAgICAgUEVSTUFORU5UX0lMTEVHQUxfQ0hBUkFDVEVSUy5mb3JFYWNoKGMgPT4gaWxsZWdhbENoYXJhY3RlcnMucHVzaChjKSk7XG5cbiAgICAgICAgbGV0IGlzVmFsaWQgPSB0cnVlO1xuICAgICAgICBmb3IgKGNvbnN0IGlsbGVnYWxDaGFyYWN0ZXIgb2YgaWxsZWdhbENoYXJhY3RlcnMpIHtcbiAgICAgICAgICAgIGlmIChmaWxlbmFtZS5pbmNsdWRlcyhpbGxlZ2FsQ2hhcmFjdGVyKSkge1xuICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc1ZhbGlkO1xuICAgIH1cblxuICAgIGdldEZpbGVFeHRlbnNpb24oZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgLiR7ZmlsZW5hbWUuc3BsaXQoJy4nKS5wb3AoKX1gO1xuICAgIH1cblxuICAgIGlzRmlsZUV4dGVuc2lvblZhbGlkKFxuICAgICAgICBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zOiBzdHJpbmdcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYWNjZXB0ZWRFeHRlbnNpb25zID0gb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMgfHwgdGhpcy5hY2NlcHQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhZmlsZUV4dGVuc2lvbiAmJlxuICAgICAgICAgICAgYWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICAgICAgLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgICAgIC5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uLnRvVXBwZXJDYXNlKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgZXJyb3JDb2RlOiBzdHJpbmcsXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBGb3JtRXJyb3Ige1xuICAgICAgICBjb25zdCB1bmlxU3VmZml4ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgY29kZTogYCR7ZXJyb3JDb2RlfV8ke3VuaXFTdWZmaXh9YCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMucmVwbGFjZUVycm9yTWVzc2FnZUtleXMoXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnNbZXJyb3JDb2RlXSxcbiAgICAgICAgICAgICAgICBmaWxlTmFtZSxcbiAgICAgICAgICAgICAgICBlcnJvckNvZGUsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICApXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgYWRkQ3VzdG9tRXJyb3JPckRlZmF1bHQoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgZGVzdGluYXRpb25FcnJvcnM6IEZvcm1FcnJvcltdLFxuICAgICAgICBlcnJvckNvZGU6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tRXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uczogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnM6IHN0cmluZ1xuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgY3VzdG9tIGVycm9yIHRvIG1hbmFnZVxuICAgICAgICBpZiAoY3VzdG9tRXJyb3JzW2Vycm9yQ29kZV0pIHtcbiAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICBkZXN0aW5hdGlvbkVycm9ycy5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVzdGluYXRpb25FcnJvcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBjb2RlOiBlcnJvckNvZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5nZXREZWZhdWx0VW5rbm93bkVycm9yTWVzc2FnZShmaWxlTmFtZSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycyhjdXN0b21FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICAgICAgY3VzdG9tRXJyb3JzLklNQUdFX05PVF9SRUFEQUJMRSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuSU1BR0VfTk9UX1JFQURBQkxFJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuRklMRU5BTUVfVE9PX0xPTkcgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLkZJTEVOQU1FX1RPT19MT05HJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuRklMRV9UT09fU01BTEwgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLkZJTEVfVE9PX1NNQUxMJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX1BBU1NXT1JEX0xPQ0tFRCA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuUERGX1BBU1NXT1JEX0xPQ0tFRCdcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLlBERl9DT05UQUlOU19TQ1JJUFQgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLlBERl9DT05UQUlOU19TQ1JJUFQnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5QREZfSEFTX0FUVEFDSE1FTlRTID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfSEFTX0FUVEFDSE1FTlRTJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuRU1QVFlfUERGID1cbiAgICAgICAgICAgIHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLkVNUFRZX1BERicpO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX0dFTkVSQUxfUFJPQkxFTSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuUERGX0dFTkVSQUxfUFJPQkxFTSdcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLlBERl9IQVNfUkVTVFJJQ1RJT05TID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfSEFTX1JFU1RSSUNUSU9OUydcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTiA9XG4gICAgICAgICAgICB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAgICAgJ2Vycm9ycy5GSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nXG4gICAgICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnNbJzQwNiddID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuNDA2Jyk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNDEzJ10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy40MTMnKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzWyc0MTUnXSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLjQxNScpO1xuICAgICAgICBjdXN0b21FcnJvcnNbJzQyMiddID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuNDIyJyk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNTAwJ10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy41MDAnKTtcblxuICAgICAgICAvLyBNdWx0aVBhcnRFeGNlcHRpb24gZnJvbSBadXVsIHJldHVybnMgSFRUUCAwXG4gICAgICAgIGN1c3RvbUVycm9yc1snMCddID0gY3VzdG9tRXJyb3JzWyc0MTMnXTtcbiAgICB9XG5cbiAgICBnZXRMb2NhbEVycm9ycyhcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBmaWxlczogRmlsZVtdLFxuICAgICAgICBjdXN0b21FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGg6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyczogc3RyaW5nXG4gICAgKTogRm9ybUVycm9yW10ge1xuICAgICAgICBjb25zdCBlcnJvcnM6IEZvcm1FcnJvcltdID0gW107XG5cbiAgICAgICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgICAgICAgIC8vIEZpbGUgYmFkIGV4dGVuc2lvblxuICAgICAgICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlLm5hbWUpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlzRmlsZUV4dGVuc2lvblZhbGlkKFxuICAgICAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9uLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgY3VzdG9tIGVycm9yIDQxNSBleGlzdCAoc2VlIGZ1bmN0aW9uICdjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzJylcbiAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIGNyZWF0ZSB1bmlxdWUgZXJyb3IgdG8gZW5zdXJlIGFiaWxpdHkgdG8gZGlzcGxheSBtdWx0aXBsZSBlcnJvciBtZXNzYWdlc1xuICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFVuaXF1ZUVycm9yQnlDb2RlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICc0MTUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZpbGUgbmFtZSBjb250YWlucyBpbGxlZ2FsIGNoYXJhY3RlcnNcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5pc0ZpbGVOYW1lTmFtZVZhbGlkKGZpbGUubmFtZSwgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVycylcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgY3VzdG9tIGVycm9yIEZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTiBleGlzdCAoc2VlIGZ1bmN0aW9uICdjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzJylcbiAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIGNyZWF0ZSB1bmlxdWUgZXJyb3IgdG8gZW5zdXJlIGFiaWxpdHkgdG8gZGlzcGxheSBtdWx0aXBsZSBlcnJvciBtZXNzYWdlc1xuICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFVuaXF1ZUVycm9yQnlDb2RlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdGSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZpbGVzIHRvbyBiaWdcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRmlsZVRvb0JpZyhuYW1lLCBmaWxlLnNpemUpKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgNDEzIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJzQxMycsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWxlVG9vU21hbGwoZmlsZS5zaXplKSkge1xuICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgY3VzdG9tIGVycm9yIEZJTEVfVE9PX1NNQUxMIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0ZJTEVfVE9PX1NNQUxMJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGaWxlIG5hbWUgdG9vIGxvbmcgKDY0IGNoYXJzIG1heClcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5pc0ZpbGVOYW1lTGVuZ3RoVmFsaWQoXG4gICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgY3VzdG9tIGVycm9yIEZJTEVOQU1FX1RPT19MT05HIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0ZJTEVOQU1FX1RPT19MT05HJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuXG4gICAgaGFzTGl2ZVVwbG9hZEVycm9ycyhlcnJvcnM6IEZvcm1FcnJvcltdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIWVycm9ycyAmJlxuICAgICAgICAgICAgISEoZXJyb3JzIGFzIEZvcm1FcnJvcltdKS5maW5kKFxuICAgICAgICAgICAgICAgIGUgPT5cbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJzQxMycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCc0MTUnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX1BBU1NXT1JEX0xPQ0tFRCcpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdQREZfQ09OVEFJTlNfU0NSSVBUJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJ1BERl9IQVNfQVRUQUNITUVOVFMnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnRU1QVFlfUERGJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJ1BERl9HRU5FUkFMX1BST0JMRU0nKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX0hBU19SRVNUUklDVElPTlMnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnRklMRU5BTUVfVE9PX0xPTkcnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnRklMRV9UT09fU01BTEwnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJylcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByZXZlbnRBbmRTdG9wKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRBbGxGaWxlc0NvdW50KGRhdGE6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7ZGF0YS5sZW5ndGh9YDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldEFsbEZpbGVzU2l6ZUluTW8oZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbGVTaXplSW5CeXRlcyA9IGRhdGEucmVkdWNlKFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICh0b3RhbERvY1NpemU6IG51bWJlciwgZG9jdW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5oYXNPd25Qcm9wZXJ0eSgnZmlsZVNpemUnKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG90YWxEb2NTaXplICsgZG9jdW1lbnQuZmlsZVNpemU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbERvY1NpemUgKyBkb2N1bWVudC5zaXplO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIDBcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gdGhpcy50b01lZ2FPY3RldHMoZmlsZVNpemVJbkJ5dGVzKTtcbiAgICB9XG5cbiAgICB0b01lZ2FPY3RldHMoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAkeyhzaXplIC8gKDEwMjQgKiAxMDI0KSkudG9GaXhlZCgyKX1gO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0VHJhbnNmZXIoZXZlbnQ6IGFueSk6IEZpbGVMaXN0IHtcbiAgICAgICAgaWYgKCEhZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0R2xvYmFsSW5mb3MoZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0QWxsRmlsZXNDb3VudChcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgKX0gZmljaGllcnMgcG91ciB1biB0b3RhbCBkZSAke3RoaXMuZ2V0QWxsRmlsZXNTaXplSW5NbyhcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgKX0gPGFiYnIgdGl0bGU9XCJNZWdhb2N0ZXRcIj5NbzwvYWJicj5gO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgc2hvd0dsb2JhbEluZm9zKGRhdGE6IGFueSwgaGlkZUdsb2JhbEluZm9zOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhaGlkZUdsb2JhbEluZm9zICYmICEhZGF0YSAmJiAhIWRhdGEubGVuZ3RoICYmIGRhdGEubGVuZ3RoID4gMTtcbiAgICB9XG5cbiAgICBtYXBUb0RvY3VtZW50UmVmZXJlbmNlKFxuICAgICAgICBmaWxlOiBGaWxlLFxuICAgICAgICBsYWJlbDogc3RyaW5nLFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgaXNNdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgdW5pcVByZWZpeDogbnVtYmVyLFxuICAgICAgICBnbG9iYWxTZXF1ZW5jZTogbnVtYmVyXG4gICAgKTogRG9jdW1lbnRSZWZlcmVuY2VXaXRoRmlsZSB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gbmV3IERvY3VtZW50UmVmZXJlbmNlV2l0aEZpbGUoKTtcblxuICAgICAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgICAgICAgLy8gT3ZlcnJpZGUga2V5IHRvIGVuc3VyZXMgdGhhdCBHZXNEZW0gY2FuIGFjY2VwdCB0aGUgZG9jdW1lbnQga2V5IChsZW5ndGggb2YgNjQgY2hhci4gbWF4LilcbiAgICAgICAgICAgIGtleSA9IGBkb2Mke3VuaXFQcmVmaXh9JHtnbG9iYWxTZXF1ZW5jZX1gO1xuICAgICAgICAgICAgZG9jdW1lbnQua2V5ID0gdGhpcy5ub3JtYWxpemVLZXkoa2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRvY3VtZW50LmtleSA9IGtleTtcbiAgICAgICAgZG9jdW1lbnQuZmlsZW5hbWUgPSBmaWxlLm5hbWU7XG4gICAgICAgIGRvY3VtZW50Lm1pbWVUeXBlID0gZmlsZS50eXBlO1xuICAgICAgICBkb2N1bWVudC5maWxlU2l6ZSA9IGZpbGUuc2l6ZTtcbiAgICAgICAgZG9jdW1lbnQubGFiZWwgPSBsYWJlbDtcbiAgICAgICAgZG9jdW1lbnQuZmlsZSA9IGZpbGU7XG5cbiAgICAgICAgcmV0dXJuIGRvY3VtZW50O1xuICAgIH1cblxuICAgIG1hcFRvRm9ybURhdGEoXG4gICAgICAgIGRvY3VtZW50czogRG9jdW1lbnRSZWZlcmVuY2VXaXRoRmlsZVtdLFxuICAgICAgICBmb3JtS2V5OiBzdHJpbmcsXG4gICAgICAgIGxhbmd1YWdlOiBzdHJpbmdcbiAgICApOiBGb3JtRGF0YSB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICAgICAgZG9jdW1lbnRzLmZvckVhY2goKHsgZmlsZSwga2V5LCBsYWJlbCB9KSA9PiB7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2tleXMnLCBrZXkpO1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdsYWJlbHMnLCB0aGlzLnJlbW92ZUNvbW1hc0luTGFiZWwobGFiZWwpKTtcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZXMnLCBmaWxlLCBmaWxlLm5hbWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2Zvcm1LZXknLCBmb3JtS2V5KTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdsYW5ndWFnZScsIGxhbmd1YWdlKTtcblxuICAgICAgICByZXR1cm4gZm9ybURhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tbWFzIGFyZSByZW1vdmVkIHRvIGF2b2lkIGEgd3JvbmcgaW50ZXJwcmV0YXRpb24gYXMgYW4gYXJyYXkgb2Ygc3RyaW5nIGluIGZvcm1EYXRhLlxuICAgICAqIEBwYXJhbSBsYWJlbCB0byBiZSBjbGVhbmVkIGZyb20gY29tbWFcbiAgICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICAgKi9cbiAgICByZW1vdmVDb21tYXNJbkxhYmVsKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbGFiZWwuc3BsaXQoJywnKS5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVG9vQmlnKGZpbGVTaXplSW5CeXRlczogbnVtYmVyLCBsaW1pdEluQnl0ZXM6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmlsZVNpemVJbkJ5dGVzID4gbGltaXRJbkJ5dGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVwbGFjZUVycm9yTWVzc2FnZUtleXMoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgZXJyb3JNc2c6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgZXJyb3JDb2RlOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGg6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyczogc3RyaW5nXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc2FmZUZpbGVOYW1lID0gZ2V0U2FmZUZpbGVOYW1lRm9yRXJyb3JNZXNzYWdlKGZpbGVOYW1lKTtcblxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRFcnJvck1zZyA9IGVycm9yTXNnLnJlcGxhY2UoJyUxJHMnLCBzYWZlRmlsZU5hbWUpO1xuXG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnNDEzJykpIHtcbiAgICAgICAgICAgIC8vIFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRV9FUlJPUl9NU0dcbiAgICAgICAgICAgIGNvbnN0IGZpbGVNYXhTaXplID0gKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0TWF4RmlsZVNpemVJbkJ5dGVzRm9yRm9ybUtleShuYW1lKSAvXG4gICAgICAgICAgICAgICAgKDEwMjQgKiAxMDI0KVxuICAgICAgICAgICAgKS50b1N0cmluZygpO1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoJyUyJHMnLCBmaWxlTWF4U2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCc0MTUnKSkge1xuICAgICAgICAgICAgLy8gVU5TVVBQT1JURURfTUVESUFfVFlQRV9FUlJPUl9NU0dcbiAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb25zID0gKFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICAgICAgICAgID8gb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnNcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmFjY2VwdFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoLywvZywgJyBvdSAnKTtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKCclMiRzJywgZmlsZUV4dGVuc2lvbnMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnRklMRU5BTUVfVE9PX0xPTkcnKSkge1xuICAgICAgICAgICAgY29uc3QgbWF4RmlsZU5hbWVMZW5ndGggPSAoXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCB8fCB0aGlzLm1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkRXJyb3JNc2cucmVwbGFjZSgnJTIkcycsIG1heEZpbGVOYW1lTGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JDb2RlLnN0YXJ0c1dpdGgoJ0ZJTEVfVE9PX1NNQUxMJykpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICclMiRzJyxcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVNaW5TaXplSW5CeXRlcy50b1N0cmluZygpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJykpIHtcbiAgICAgICAgICAgIGxldCBmaWxlTmFtZUlsbGVnYWxDaGFyYWN0ZXJzID0gKFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnMgfHwgdGhpcy5pbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgKS5yZXBsYWNlKC8sL2csICcnKTtcblxuICAgICAgICAgICAgZmlsZU5hbWVJbGxlZ2FsQ2hhcmFjdGVycyArPSBQRVJNQU5FTlRfSUxMRUdBTF9DSEFSQUNURVJTLmpvaW4oJycpO1xuXG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkRXJyb3JNc2cucmVwbGFjZSgnJTIkcycsIGZpbGVOYW1lSWxsZWdhbENoYXJhY3RlcnMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRVbmtub3duRXJyb3JNZXNzYWdlKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtc2cgPSAnSW1wb3NzaWJsZSBkZSB0cmFuc21ldHRyZSBsZSBmaWNoaWVyJztcbiAgICAgICAgaWYgKCEhZmlsZU5hbWUgJiYgISFmaWxlTmFtZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHttc2d9ICR7Z2V0U2FmZUZpbGVOYW1lRm9yRXJyb3JNZXNzYWdlKGZpbGVOYW1lKX0uYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7bXNnfS5gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBrZXkgdG8gYmUgbm9ybWFsaXplZFxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgbm9ybWFsaXplS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGtleSA/IGtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UodGhpcy5DSEFSX1RPX1JFUExBQ0UsICcnKSA6IG51bGw7XG4gICAgfVxufVxuIl19
329
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVwbG9hZC91cGxvYWRlci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsOENBQThDO0FBQzlDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUzQyxNQUFNLDhCQUE4QixHQUFHLENBQUMsUUFBZ0IsRUFBVSxFQUFFLENBQ2hFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDaEMsZ0NBQWdDLEVBQ2hDLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDZCwrREFBK0Q7SUFDL0QsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsc0ZBQXNGO0lBQ3RGLE9BQU8sK0RBQStELENBQUMsSUFBSSxDQUN2RSxPQUFPLENBQ1Y7UUFDRyxDQUFDLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDaEIsQ0FBQyxDQUNKLENBQUM7QUFFTixNQUFNLE9BQU8sY0FBYztJQVN2QixZQUNZLGlCQUF1QyxFQUN2QyxzQkFBOEM7UUFEOUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQUN2QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBVmxELFlBQU8sR0FBRyxNQUFNLENBQUM7UUFFakIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLHVCQUFrQixHQUFHLHdCQUF3QixDQUFDO1FBQzlDLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUVoQixvQkFBZSxHQUFHLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQU0vRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FD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QUFFLENBQUMsQ0FBQztZQUVwQix5QkFBeUIsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFbkUsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFFBQWdCO1FBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQ3pDLHNDQUFzQyxDQUN6QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEMsT0FBTyxHQUFHLEdBQUcsSUFBSSw4QkFBOEIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxHQUFXO1FBQzVCLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRXJyb3IgfSBmcm9tICcuLi9mb3JtLWVycm9yJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mbyB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jdW1lbnRSZWZlcmVuY2VXaXRoRmlsZSB9IGZyb20gJy4vZG9jdW1lbnQtcmVmZXJlbmNlJztcblxuLy8gaWxsZWdhbCBjaGFyYWN0ZXJzIHRoYXQgY2Fubm90IGJlIG92ZXJyaWRlblxuY29uc3QgUEVSTUFORU5UX0lMTEVHQUxfQ0hBUkFDVEVSUyA9IFsnLCddO1xuXG5jb25zdCBnZXRTYWZlRmlsZU5hbWVGb3JFcnJvck1lc3NhZ2UgPSAoZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgIGVuY29kZVVSSUNvbXBvbmVudChmaWxlTmFtZSkucmVwbGFjZShcbiAgICAgICAgLyVbMC05QS1GXXsyfSg/OiVbMC05QS1GXXsyfSkqL2csXG4gICAgICAgIChtYXRjaDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAvLyBEw6ljb2RlciBsYSBzw6lxdWVuY2UgY29tcGzDqHRlIChwZXV0IGluY2x1cmUgcGx1c2lldXJzIG9jdGV0cylcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQobWF0Y2gpO1xuICAgICAgICAgICAgLy8gVsOpcmlmaWVyIHNpIGxlIGNhcmFjdMOocmUgZMOpY29kw6kgZXN0IHVuIGNhcmFjdMOocmUgYWNjZW50dcOpLCB1biBlc3BhY2Ugb3UgdW5lIHZpcmd1bGVcbiAgICAgICAgICAgIHJldHVybiAvW8Ogw6HDosOjw6TDpcOnw6jDqcOqw6vDrMOtw67Dr8Oww7HDssOzw7TDtcO2w7nDusO7w7zDvcO/w4DDgcOCw4PDhMOFw4fDiMOJw4rDi8OMw43DjsOPw5DDkcOSw5PDlMOVw5bDmcOaw5vDnMOdxbggLC9dLy50ZXN0KFxuICAgICAgICAgICAgICAgIGRlY29kZWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA/IGRlY29kZWRcbiAgICAgICAgICAgICAgICA6IG1hdGNoO1xuICAgICAgICB9XG4gICAgKTtcblxuZXhwb3J0IGNsYXNzIFVwbG9hZGVySGVscGVyIHtcbiAgICBwcml2YXRlIF9hY2NlcHQgPSAnLnBkZic7XG4gICAgcHJpdmF0ZSBfZmlsZU1heFNpemVJbkJ5dGVzQnlGb3JtS2V5OiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9O1xuICAgIHByaXZhdGUgX21heEZpbGVOYW1lTGVuZ3RoID0gNjQ7XG4gICAgcHJpdmF0ZSBfaWxsZWdhbENoYXJhY3RlcnMgPSAnLyxcXFxcLD8sJSwqLDosfCxcIiw8LD4swrAnO1xuICAgIHByaXZhdGUgX2ZpbGVNaW5TaXplSW5CeXRlcyA9IDIwO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBDSEFSX1RPX1JFUExBQ0UgPSBuZXcgUmVnRXhwKCdbXmEtekEtWjAtOV0nLCAnZycpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmRhdGEuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGFwcEluZm86IEFwcGxpY2F0aW9uSW5mbykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhcHBJbmZvLmNvbmZpZ3VyYXRpb24uZG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NlcHQgPSBhcHBJbmZvLmNvbmZpZ3VyYXRpb24uZG9jdW1lbnQuZmlsZUV4dGVuc2lvbnM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWF4RmlsZU5hbWVMZW5ndGggPSBOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBJbmZvLmNvbmZpZ3VyYXRpb24uZG9jdW1lbnQubWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmlsZU1heFNpemVJbkJ5dGVzQnlGb3JtS2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudC5maWxlTWF4U2l6ZUluQnl0ZXNCeUZvcm1LZXk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaWxsZWdhbENoYXJhY3RlcnMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50LmlsbGVnYWxDaGFyYWN0ZXJzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZU1pblNpemVJbkJ5dGVzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTWluU2l6ZUluQnl0ZXM7XG4gICAgfVxuXG4gICAgc2V0IGZpbGVNaW5TaXplSW5CeXRlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2ZpbGVNaW5TaXplSW5CeXRlcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IGlsbGVnYWxDaGFyYWN0ZXJzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbGxlZ2FsQ2hhcmFjdGVycztcbiAgICB9XG5cbiAgICBzZXQgaWxsZWdhbENoYXJhY3RlcnModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pbGxlZ2FsQ2hhcmFjdGVycyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IG1heEZpbGVOYW1lTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhGaWxlTmFtZUxlbmd0aDtcbiAgICB9XG5cbiAgICBzZXQgbWF4RmlsZU5hbWVMZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tYXhGaWxlTmFtZUxlbmd0aCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IGFjY2VwdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWNjZXB0O1xuICAgIH1cblxuICAgIHNldCBhY2NlcHQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9hY2NlcHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXRNYXhGaWxlU2l6ZUluQnl0ZXNGb3JGb3JtS2V5KGZvcm1LZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGJ5Rm9ybUtleSA9IHRoaXMuX2ZpbGVNYXhTaXplSW5CeXRlc0J5Rm9ybUtleVtmb3JtS2V5XTtcblxuICAgICAgICBpZiAoIWlzTmFOKGJ5Rm9ybUtleSkpIHtcbiAgICAgICAgICAgIHJldHVybiBieUZvcm1LZXk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBrZXlBc1JlZ2V4ID0gT2JqZWN0LmtleXMoXG4gICAgICAgICAgICAgICAgdGhpcy5fZmlsZU1heFNpemVJbkJ5dGVzQnlGb3JtS2V5XG4gICAgICAgICAgICApLmZpbmQoY2FuQmVBUmVnZXggPT4gZm9ybUtleS5tYXRjaChjYW5CZUFSZWdleCkpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU1heFNpemVJbkJ5dGVzQnlGb3JtS2V5W2tleUFzUmVnZXhdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNGaWxlVG9vQmlnKGZvcm1LZXk6IHN0cmluZywgZmlsZVNpemVJbkJ5dGVzOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUb29CaWcoXG4gICAgICAgICAgICBmaWxlU2l6ZUluQnl0ZXMsXG4gICAgICAgICAgICB0aGlzLmdldE1heEZpbGVTaXplSW5CeXRlc0ZvckZvcm1LZXkoZm9ybUtleSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpc0ZpbGVUb29TbWFsbChmaWxlU2l6ZUluQnl0ZXM6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuZmlsZU1pblNpemVJbkJ5dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbGVTaXplSW5CeXRlcyA8IHRoaXMuZmlsZU1pblNpemVJbkJ5dGVzO1xuICAgIH1cblxuICAgIGlzRmlsZU5hbWVMZW5ndGhWYWxpZChcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1heEZpbGVMZW5naHQgPVxuICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCB8fCB0aGlzLm1heEZpbGVOYW1lTGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBmaWxlbmFtZS5sZW5ndGggPD0gbWF4RmlsZUxlbmdodDtcbiAgICB9XG5cbiAgICBpc0ZpbGVOYW1lTmFtZVZhbGlkKFxuICAgICAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaWxsZWdhbENoYXJhY3RlcnMgPSAhIW92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgID8gb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVycy5zcGxpdCgnLCcpXG4gICAgICAgICAgICA6IHRoaXMuaWxsZWdhbENoYXJhY3RlcnMuc3BsaXQoJywnKTtcblxuICAgICAgICBQRVJNQU5FTlRfSUxMRUdBTF9DSEFSQUNURVJTLmZvckVhY2goYyA9PiBpbGxlZ2FsQ2hhcmFjdGVycy5wdXNoKGMpKTtcblxuICAgICAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgIGZvciAoY29uc3QgaWxsZWdhbENoYXJhY3RlciBvZiBpbGxlZ2FsQ2hhcmFjdGVycykge1xuICAgICAgICAgICAgaWYgKGZpbGVuYW1lLmluY2x1ZGVzKGlsbGVnYWxDaGFyYWN0ZXIpKSB7XG4gICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzVmFsaWQ7XG4gICAgfVxuXG4gICAgZ2V0RmlsZUV4dGVuc2lvbihmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAuJHtmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpfWA7XG4gICAgfVxuXG4gICAgaXNGaWxlRXh0ZW5zaW9uVmFsaWQoXG4gICAgICAgIGZpbGVFeHRlbnNpb246IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBhY2NlcHRlZEV4dGVuc2lvbnMgPSBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyB8fCB0aGlzLmFjY2VwdDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISFmaWxlRXh0ZW5zaW9uICYmXG4gICAgICAgICAgICBhY2NlcHRlZEV4dGVuc2lvbnNcbiAgICAgICAgICAgICAgICAudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24udG9VcHBlckNhc2UoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBlcnJvckNvZGU6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tRXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uczogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnM6IHN0cmluZ1xuICAgICk6IEZvcm1FcnJvciB7XG4gICAgICAgIGNvbnN0IHVuaXFTdWZmaXggPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBjb2RlOiBgJHtlcnJvckNvZGV9XyR7dW5pcVN1ZmZpeH1gLFxuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5yZXBsYWNlRXJyb3JNZXNzYWdlS2V5cyhcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGN1c3RvbUVycm9yc1tlcnJvckNvZGVdLFxuICAgICAgICAgICAgICAgIGZpbGVOYW1lLFxuICAgICAgICAgICAgICAgIGVycm9yQ29kZSxcbiAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgIClcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBhZGRDdXN0b21FcnJvck9yRGVmYXVsdChcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBkZXN0aW5hdGlvbkVycm9yczogRm9ybUVycm9yW10sXG4gICAgICAgIGVycm9yQ29kZTogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBjdXN0b21FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGg6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyczogc3RyaW5nXG4gICAgKTogdm9pZCB7XG4gICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgYSBjdXN0b20gZXJyb3IgdG8gbWFuYWdlXG4gICAgICAgIGlmIChjdXN0b21FcnJvcnNbZXJyb3JDb2RlXSkge1xuICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uRXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlLFxuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbkVycm9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGNvZGU6IGVycm9yQ29kZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLmdldERlZmF1bHRVbmtub3duRXJyb3JNZXNzYWdlKGZpbGVOYW1lKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzKGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICBjdXN0b21FcnJvcnMuSU1BR0VfTk9UX1JFQURBQkxFID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5JTUFHRV9OT1RfUkVBREFCTEUnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5GSUxFTkFNRV9UT09fTE9ORyA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuRklMRU5BTUVfVE9PX0xPTkcnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5GSUxFX1RPT19TTUFMTCA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuRklMRV9UT09fU01BTEwnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCdcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5FTVBUWV9QREYgPVxuICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuRU1QVFlfUERGJyk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX0hBU19SRVNUUklDVElPTlMgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLlBERl9IQVNfUkVTVFJJQ1RJT05TJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOID1cbiAgICAgICAgICAgIHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICAgICAnZXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTidcbiAgICAgICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNDA2J10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy40MDYnKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzWyc0MTMnXSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLjQxMycpO1xuICAgICAgICBjdXN0b21FcnJvcnNbJzQxNSddID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuNDE1Jyk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNDIyJ10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy40MjInKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzWyc1MDAnXSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLjUwMCcpO1xuXG4gICAgICAgIC8vIE11bHRpUGFydEV4Y2VwdGlvbiBmcm9tIFp1dWwgcmV0dXJucyBIVFRQIDBcbiAgICAgICAgY3VzdG9tRXJyb3JzWycwJ10gPSBjdXN0b21FcnJvcnNbJzQxMyddO1xuICAgIH1cblxuICAgIGdldExvY2FsRXJyb3JzKFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIGZpbGVzOiBGaWxlW10sXG4gICAgICAgIGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBGb3JtRXJyb3JbXSB7XG4gICAgICAgIGNvbnN0IGVycm9yczogRm9ybUVycm9yW10gPSBbXTtcblxuICAgICAgICBmaWxlcy5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgICAgICAgLy8gRmlsZSBiYWQgZXh0ZW5zaW9uXG4gICAgICAgICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gdGhpcy5nZXRGaWxlRXh0ZW5zaW9uKGZpbGUubmFtZSk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuaXNGaWxlRXh0ZW5zaW9uVmFsaWQoXG4gICAgICAgICAgICAgICAgICAgIGZpbGVFeHRlbnNpb24sXG4gICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgNDE1IGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJzQxNScsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmlsZSBuYW1lIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVyc1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlzRmlsZU5hbWVOYW1lVmFsaWQoZmlsZS5uYW1lLCBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0ZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTicsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmlsZXMgdG9vIGJpZ1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWxlVG9vQmlnKG5hbWUsIGZpbGUuc2l6ZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGN1c3RvbSBlcnJvciA0MTMgZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnNDEzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5pc0ZpbGVUb29TbWFsbChmaWxlLnNpemUpKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgRklMRV9UT09fU01BTEwgZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRklMRV9UT09fU01BTEwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZpbGUgbmFtZSB0b28gbG9uZyAoNjQgY2hhcnMgbWF4KVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlzRmlsZU5hbWVMZW5ndGhWYWxpZChcbiAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgRklMRU5BTUVfVE9PX0xPTkcgZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRklMRU5BTUVfVE9PX0xPTkcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG5cbiAgICBoYXNMaXZlVXBsb2FkRXJyb3JzKGVycm9yczogRm9ybUVycm9yW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhZXJyb3JzICYmXG4gICAgICAgICAgICAhIShlcnJvcnMgYXMgRm9ybUVycm9yW10pLmZpbmQoXG4gICAgICAgICAgICAgICAgZSA9PlxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnNDEzJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJzQxNScpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdQREZfUEFTU1dPUkRfTE9DS0VEJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJ1BERl9DT05UQUlOU19TQ1JJUFQnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX0hBU19BVFRBQ0hNRU5UUycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdFTVBUWV9QREYnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX0dFTkVSQUxfUFJPQkxFTScpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdQREZfSEFTX1JFU1RSSUNUSU9OUycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9UT09fTE9ORycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFX1RPT19TTUFMTCcpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJldmVudEFuZFN0b3AoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldEFsbEZpbGVzQ291bnQoZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHtkYXRhLmxlbmd0aH1gO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0QWxsRmlsZXNTaXplSW5NbyhkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsZVNpemVJbkJ5dGVzID0gZGF0YS5yZWR1Y2UoXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgKHRvdGFsRG9jU2l6ZTogbnVtYmVyLCBkb2N1bWVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50Lmhhc093blByb3BlcnR5KCdmaWxlU2l6ZScpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbERvY1NpemUgKyBkb2N1bWVudC5maWxlU2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsRG9jU2l6ZSArIGRvY3VtZW50LnNpemU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnRvTWVnYU9jdGV0cyhmaWxlU2l6ZUluQnl0ZXMpO1xuICAgIH1cblxuICAgIHRvTWVnYU9jdGV0cyhzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7KHNpemUgLyAoMTAyNCAqIDEwMjQpKS50b0ZpeGVkKDIpfWA7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRUcmFuc2ZlcihldmVudDogYW55KTogRmlsZUxpc3Qge1xuICAgICAgICBpZiAoISFldmVudC5kYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRHbG9iYWxJbmZvcyhkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRBbGxGaWxlc0NvdW50KFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICApfSBmaWNoaWVycyBwb3VyIHVuIHRvdGFsIGRlICR7dGhpcy5nZXRBbGxGaWxlc1NpemVJbk1vKFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICApfSA8YWJiciB0aXRsZT1cIk1lZ2FvY3RldFwiPk1vPC9hYmJyPmA7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzaG93R2xvYmFsSW5mb3MoZGF0YTogYW55LCBoaWRlR2xvYmFsSW5mb3M6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFoaWRlR2xvYmFsSW5mb3MgJiYgISFkYXRhICYmICEhZGF0YS5sZW5ndGggJiYgZGF0YS5sZW5ndGggPiAxO1xuICAgIH1cblxuICAgIG1hcFRvRG9jdW1lbnRSZWZlcmVuY2UoXG4gICAgICAgIGZpbGU6IEZpbGUsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICAgICBpc011bHRpcGxlOiBib29sZWFuLFxuICAgICAgICB1bmlxUHJlZml4OiBudW1iZXIsXG4gICAgICAgIGdsb2JhbFNlcXVlbmNlOiBudW1iZXJcbiAgICApOiBEb2N1bWVudFJlZmVyZW5jZVdpdGhGaWxlIHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnQgPSBuZXcgRG9jdW1lbnRSZWZlcmVuY2VXaXRoRmlsZSgpO1xuXG4gICAgICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICAgICAgICAvLyBPdmVycmlkZSBrZXkgdG8gZW5zdXJlcyB0aGF0IEdlc0RlbSBjYW4gYWNjZXB0IHRoZSBkb2N1bWVudCBrZXkgKGxlbmd0aCBvZiA2NCBjaGFyLiBtYXguKVxuICAgICAgICAgICAga2V5ID0gYGRvYyR7dW5pcVByZWZpeH0ke2dsb2JhbFNlcXVlbmNlfWA7XG4gICAgICAgICAgICBkb2N1bWVudC5rZXkgPSB0aGlzLm5vcm1hbGl6ZUtleShrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQua2V5ID0ga2V5O1xuICAgICAgICBkb2N1bWVudC5maWxlbmFtZSA9IGZpbGUubmFtZTtcbiAgICAgICAgZG9jdW1lbnQubWltZVR5cGUgPSBmaWxlLnR5cGU7XG4gICAgICAgIGRvY3VtZW50LmZpbGVTaXplID0gZmlsZS5zaXplO1xuICAgICAgICBkb2N1bWVudC5sYWJlbCA9IGxhYmVsO1xuICAgICAgICBkb2N1bWVudC5maWxlID0gZmlsZTtcblxuICAgICAgICByZXR1cm4gZG9jdW1lbnQ7XG4gICAgfVxuXG4gICAgbWFwVG9Gb3JtRGF0YShcbiAgICAgICAgZG9jdW1lbnRzOiBEb2N1bWVudFJlZmVyZW5jZVdpdGhGaWxlW10sXG4gICAgICAgIGZvcm1LZXk6IHN0cmluZyxcbiAgICAgICAgbGFuZ3VhZ2U6IHN0cmluZ1xuICAgICk6IEZvcm1EYXRhIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgICAgICBkb2N1bWVudHMuZm9yRWFjaCgoeyBmaWxlLCBrZXksIGxhYmVsIH0pID0+IHtcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgna2V5cycsIGtleSk7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2xhYmVscycsIHRoaXMucmVtb3ZlQ29tbWFzSW5MYWJlbChsYWJlbCkpO1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlcycsIGZpbGUsIGZpbGUubmFtZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybUtleScsIGZvcm1LZXkpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2xhbmd1YWdlJywgbGFuZ3VhZ2UpO1xuXG4gICAgICAgIHJldHVybiBmb3JtRGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21tYXMgYXJlIHJlbW92ZWQgdG8gYXZvaWQgYSB3cm9uZyBpbnRlcnByZXRhdGlvbiBhcyBhbiBhcnJheSBvZiBzdHJpbmcgaW4gZm9ybURhdGEuXG4gICAgICogQHBhcmFtIGxhYmVsIHRvIGJlIGNsZWFuZWQgZnJvbSBjb21tYVxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHJlbW92ZUNvbW1hc0luTGFiZWwobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBsYWJlbC5zcGxpdCgnLCcpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUb29CaWcoZmlsZVNpemVJbkJ5dGVzOiBudW1iZXIsIGxpbWl0SW5CeXRlczogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWxlU2l6ZUluQnl0ZXMgPiBsaW1pdEluQnl0ZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXBsYWNlRXJyb3JNZXNzYWdlS2V5cyhcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBlcnJvck1zZzogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBlcnJvckNvZGU6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzYWZlRmlsZU5hbWUgPSBnZXRTYWZlRmlsZU5hbWVGb3JFcnJvck1lc3NhZ2UoZmlsZU5hbWUpO1xuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZEVycm9yTXNnID0gZXJyb3JNc2cucmVwbGFjZSgnJTEkcycsIHNhZmVGaWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCc0MTMnKSkge1xuICAgICAgICAgICAgLy8gUkVRVUVTVF9FTlRJVFlfVE9PX0xBUkdFX0VSUk9SX01TR1xuICAgICAgICAgICAgY29uc3QgZmlsZU1heFNpemUgPSAoXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRNYXhGaWxlU2l6ZUluQnl0ZXNGb3JGb3JtS2V5KG5hbWUpIC9cbiAgICAgICAgICAgICAgICAoMTAyNCAqIDEwMjQpXG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkRXJyb3JNc2cucmVwbGFjZSgnJTIkcycsIGZpbGVNYXhTaXplKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JDb2RlLnN0YXJ0c1dpdGgoJzQxNScpKSB7XG4gICAgICAgICAgICAvLyBVTlNVUFBPUlRFRF9NRURJQV9UWVBFX0VSUk9SX01TR1xuICAgICAgICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbnMgPSAoXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnNcbiAgICAgICAgICAgICAgICAgICAgPyBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYWNjZXB0XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvLC9nLCAnIG91ICcpO1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoJyUyJHMnLCBmaWxlRXh0ZW5zaW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9UT09fTE9ORycpKSB7XG4gICAgICAgICAgICBjb25zdCBtYXhGaWxlTmFtZUxlbmd0aCA9IChcbiAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoIHx8IHRoaXMubWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKCclMiRzJywgbWF4RmlsZU5hbWVMZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnRklMRV9UT09fU01BTEwnKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgJyUyJHMnLFxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZU1pblNpemVJbkJ5dGVzLnRvU3RyaW5nKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nKSkge1xuICAgICAgICAgICAgbGV0IGZpbGVOYW1lSWxsZWdhbENoYXJhY3RlcnMgPSAoXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVycyB8fCB0aGlzLmlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICApLnJlcGxhY2UoLywvZywgJycpO1xuXG4gICAgICAgICAgICBmaWxlTmFtZUlsbGVnYWxDaGFyYWN0ZXJzICs9IFBFUk1BTkVOVF9JTExFR0FMX0NIQVJBQ1RFUlMuam9pbignJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKCclMiRzJywgZmlsZU5hbWVJbGxlZ2FsQ2hhcmFjdGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdFVua25vd25FcnJvck1lc3NhZ2UoZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1zZyA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdmb2Vobi11cGxvYWRlci51bmtub3duLWVycm9yLW1lc3NhZ2UnXG4gICAgICAgICk7XG4gICAgICAgIGlmICghIWZpbGVOYW1lICYmICEhZmlsZU5hbWUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7bXNnfSAke2dldFNhZmVGaWxlTmFtZUZvckVycm9yTWVzc2FnZShmaWxlTmFtZSl9LmA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke21zZ30uYDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0ga2V5IHRvIGJlIG5vcm1hbGl6ZWRcbiAgICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICAgKi9cbiAgICBwcml2YXRlIG5vcm1hbGl6ZUtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBrZXkgPyBrZXkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKHRoaXMuQ0hBUl9UT19SRVBMQUNFLCAnJykgOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -194,6 +194,7 @@ export const DEFAULT_DICTIONARY = {
194
194
  'foehn-uploader.files-deleted-success-message': 'Suppression du fichier {filename} réussie',
195
195
  'foehn-uploader.delete-error-message': 'Une erreur est survenue lors de la suppression de votre document',
196
196
  'foehn-uploader.delete-readonly-error-message': 'Un document en lecture seule ne peut pas être supprimé',
197
+ 'foehn-uploader.unknown-error-message': 'Impossible de transmettre le fichier',
197
198
  'foehn-picture-upload.choose-button-label': 'Choisissez une photo',
198
199
  'foehn-picture-upload.loading-label': 'Chargement...',
199
200
  'foehn-picture-upload.invalid-file-type': 'Le type de votre pièce jointe {filename} ne figure pas parmi ceux qui sont autorisés : "{acceptFormats}"',
@@ -309,4 +310,4 @@ export const DEFAULT_DICTIONARY = {
309
310
  'foehn-feedback-notification.icon.medium': 'Moyen',
310
311
  'foehn-feedback-notification.icon.bad': 'Pas bien'
311
312
  };
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsZUFBZSxFQUFFLEdBQUc7SUFDcEIsb0NBQW9DLEVBQ2hDLDhDQUE4QztJQUNsRCw2QkFBNkIsRUFDekIsNkRBQTZEO0lBQ2pFLG9DQUFvQyxFQUFFLFFBQVE7SUFDOUMsMkNBQTJDLEVBQ3ZDLHdDQUF3QztJQUM1QyxzQ0FBc0MsRUFBRSxXQUFXO0lBQ25ELHFDQUFxQyxFQUFFLGtDQUFrQztJQUN6RSw2Q0FBNkMsRUFBRSxzQkFBc0I7SUFDckUsNkNBQTZDLEVBQUUsaUJBQWlCO0lBQ2hFLDBDQUEwQyxFQUFFLFNBQVM7SUFDckQseUNBQXlDLEVBQ3JDLHlEQUF5RDtJQUM3RCxtQ0FBbUMsRUFDL0Isa0VBQWtFO0lBQ3RFLGtDQUFrQyxFQUM5QixpREFBaUQ7UUFDakQsaUdBQWlHO1FBQ2pHLHdFQUF3RTtJQUM1RSxzQ0FBc0MsRUFDbEMsOEVBQThFO1FBQzlFLG9EQUFvRDtJQUN4RCx3Q0FBd0MsRUFBRSxLQUFLO0lBQy9DLHVDQUF1QyxFQUFFLEtBQUs7SUFDOUMseUNBQXlDLEVBQ3JDLEVBQUU7UUFDRiwrR0FBK0c7UUFDL0csUUFBUTtRQUNSLGlHQUFpRztJQUNyRyxzQkFBc0IsRUFBRSxjQUFjO0lBQ3RDLGdDQUFnQyxFQUFFLHdCQUF3QjtJQUMxRCw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0QyxzQ0FBc0MsRUFDbEMsZ0RBQWdEO0lBQ3BELCtCQUErQixFQUFFLE1BQU07SUFDdkMsaUNBQWlDLEVBQzdCLGlEQUFpRDtRQUNqRCxpRkFB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QUFtQztRQUNuQyx5SUFBeUk7UUFDekksb0ZBQW9GO1FBQ3BGLDRDQUE0QztJQUNoRCwwQ0FBMEMsRUFBRSx3QkFBd0I7SUFDcEUsd0NBQXdDLEVBQUUsd0JBQXdCO0lBQ2xFLDRDQUE0QyxFQUFFLDZCQUE2QjtJQUMzRSwyQ0FBMkMsRUFBRSxtQkFBbUI7SUFDaEUsdUVBQXVFLEVBQ25FLGlEQUFpRDtJQUNyRCx1Q0FBdUMsRUFBRSxXQUFXO0lBQ3BELHlDQUF5QyxFQUFFLE9BQU87SUFDbEQsc0NBQXNDLEVBQUUsVUFBVTtDQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgRGljdGlvbmFyeVR5cGUgfSBmcm9tICcuL3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9ESUNUSU9OQVJZOiBEaWN0aW9uYXJ5VHlwZSA9IHtcbiAgICAncGx1cmFsLW1hcmtlcic6ICdzJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmJ1dHRvbi5zaG93LWRyYWZ0cyc6XG4gICAgICAgICdEZW1hbmRlcyBlbiBjb3VycyBkZSBzYWlzaWUgOiB7ZHJhZnRzTGVuZ3RofScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5tb2RhbC50aXRsZSc6XG4gICAgICAgICdJbCBleGlzdGUgZMOpasOgIHVuZSBvdSBwbHVzaWV1cnMgZGVtYW5kZXMgZW4gY291cnMgZGUgc2Fpc2llJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLm1vZGFsLmNsb3NlLmJ1dHRvbic6ICdGZXJtZXInLFxuICAgICdkcmFmdC1jb250YWluZXIubW9kYWwuZHJhZnRzLWluLWVzLmJ1dHRvbic6XG4gICAgICAgICdUb3V0ZXMgbWVzIGRlbWFuZGVzIGVuIGNvdXJzIGRlIHNhaXNpZScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0LnJlZmVyZW5jZS5sYWJlbCc6ICdSw6lmw6lyZW5jZScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0LnJlZmVyZW5jZS5saW5rJzogJ1JlcHJlbmRyZSBsYSBkZW1hbmRlIHtyZWZlcmVuY2V9JyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmxpc3QubW9kaWZpY2F0aW9uRGF0ZS5sYWJlbCc6ICdEYXRlIGRlIG1vZGlmaWNhdGlvbicsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0LnJlZmVyZW5jZUludGVybmUubGFiZWwnOiAnVm90cmUgcsOpZsOpcmVuY2UnLFxuICAgICdkcmFmdC1jb250YWluZXIubGlzdC5kZXRhaWxzLWluLWVzLmxhYmVsJzogJ0TDqXRhaWxzJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmxpc3QuZGV0YWlscy1pbi1lcy5saW5rJzpcbiAgICAgICAgXCJDb25zdWx0ZXIgbGEgZGVtYW5kZSB7cmVmZXJlbmNlfSBkYW5zIGwnZXNwYWNlIHPDqWN1cmlzw6lcIixcbiAgICAnZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLnRpdGxlJzpcbiAgICAgICAgJ0F1dG9yaXNhdGlvbiBkZSBub3RpZmljYXRpb24gZGVzIGTDqWNpc2lvbnMgcGFyIHZvaWUgw6lsZWN0cm9uaXF1ZScsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5pbmZvJzpcbiAgICAgICAgJ1ZvdHJlIGRlbWFuZGUgZXN0IHN1ciBsZSBwb2ludCBk4oCZw6p0cmUgZW52b3nDqWUuICcgK1xuICAgICAgICAnQ29uZm9ybcOpbWVudCDDoCBs4oCZYXJ0LiA0NGEgTFBBLVZELCBs4oCZYXV0b3JpdMOpIHBldXQgbm90aWZpZXIgc2VzIGTDqWNpc2lvbnMgcGFyIHZvaWUgw6lsZWN0cm9uaXF1ZSAnICtcbiAgICAgICAgJ2F1eCBwYXJ0aWVzIHF1aSBvbnQgZG9ubsOpIGxldXIgYWNjb3JkIGV4cGxpY2l0ZSDDoCBjZXR0ZSBjb21tdW5pY2F0aW9uLicsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5xdWVzdGlvbic6XG4gICAgICAgICdBY2NlcHRlei12b3VzIHF1ZSBs4oCZYXV0b3JpdMOpIGNvbXDDqXRlbnRlIHBvdXIgbGUgdHJhaXRlbWVudCBkZSB2b3RyZSBkZW1hbmRlICcgK1xuICAgICAgICAndm91cyBub3RpZmllIHNlcyBkw6ljaXNpb25zIHBhciB2b2llIMOpbGVjdHJvbmlxdWUgPycsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5hbnN3ZXIueWVzJzogJ091aScsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5hbnN3ZXIubm8nOiAnTm9uJyxcbiAgICAnZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmFuc3dlci5pbmZvJzpcbiAgICAgICAgJycgK1xuICAgICAgICAnU2kgdm91cyBjbGlxdWV6IHN1ciDCqyBPdWkgwrssIHZvdXMgYXV0b3Jpc2V6IGzigJlhdXRvcml0w6kgw6Agdm91cyBub3RpZmllciBzZXMgZMOpY2lzaW9ucyBzdXIgbGUgcG9ydGFpbCBzw6ljdXJpc8OpLicgK1xuICAgICAgICAnPGJyIC8+JyArXG4gICAgICAgICdTaSB2b3VzIGNsaXF1ZXogc3VyIMKrIE5vbiDCuywgdm91cyByZWZ1c2V6IGxhIG5vdGlmaWNhdGlvbiBkZSBkw6ljaXNpb25zIHN1ciBsZSBwb3J0YWlsIHPDqWN1cmlzw6kuJyxcbiAgICAnZm9laG4taW5wdXQub3B0aW9uYWwnOiAnKGZhY3VsdGF0aWYpJyxcbiAgICAnZm9laG4taW5wdXQuY2xlYXItYnV0dG9uLmxhYmVsJzogJ1LDqWluaXRpYWxpc2VyIGxlIGNoYW1wJyxcbiAgICAnZm9laG4taW5wdXQtZGF0ZS5kYXkubGFiZWwnOiAnSm91cicsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUubW9udGgubGFiZWwnOiAnTW9pcycsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUueWVhci5sYWJlbCc6ICdBbm7DqWUnLFxuICAgICdmb2Vobi1pbnB1dC1lbWFpbC5zdGFuZGFyZC1oZWxwLXRleHQnOlxuICAgICAgICBcIk1lcmNpIGRlIHNhaXNpciBsJ2FkcmVzc2UgZS1tYWlsIGVuIG1pbnVzY3VsZXNcIixcbiAgICAnZm9laG4taW5wdXQtZW1haWwubW9kYWwudGl0bGUnOiAnQWlkZScsXG4gICAgJ2ZvZWhuLWlucHV0LWVtYWlsLm1vZGFsLmNvbnRlbnQnOlxuICAgICAgICBcIjxwPlZvdXMgbidhcnJpdmV6IHBhcyDDoCBzYWlzaXIgdm90cmUgbWFpbCA/PC9wPlwiICtcbiAgICAgICAgJzxwPk1lcmNpIGRcXCfDqWNyaXJlIMOgIDxhIGhyZWY9XCJtYWlsdG86aW5mby5jeWJlckB2ZC5jaFwiPmluZm8uY3liZXJAdmQuY2g8L2E+PC9wPicsXG4gICAgJ2ZvZWhuLWlucHV0LXBob25lLkRFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1MnOlxuICAgICAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgICAgICc8bGk+KzMzNjEyMzQ1Njc4LDwvbGk+PGxpPis0OSAxMjMgNDU2IDc4IDkwMSBvdTwvbGk+PGxpPiszOSAzMTIgMzQ1IDY3ODk8L2xpPjwvdWw+KScsXG4gICAgJ2ZvZWhuLWlucHV0LXBob25lLkRFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfUEhPTkUnOlxuICAgICAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgICAgICc8bGk+KzQxNzkxMjM0NTY3LDwvbGk+PGxpPjAwNDEgNzggMTIzIDQ1IDU2IG91PC9saT48bGk+KzMzIDYgMTIgMzQgNTYgNzg8L2xpPjwvdWw+KScsXG4gICAgJ2ZvZWhuLWlucHV0LXBob25lLkRFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfTU9CSUxFJzpcbiAgICAgICAgXCJQcsOpZml4ZXIgYXZlYyBsJ2luZGljYXRpZiBkZSB2b3RyZSBwYXlzIChleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+XCIgK1xuICAgICAgICAnPGxpPis0MTIxMTIzNDU2Nyw8L2xpPjxsaT4wMDQxIDIxIDEyMyA0NSA1NiBvdTwvbGk+PGxpPiszMyA2IDEyIDM0IDU2IDc4PC9saT48L3VsPiknLFxuICAgICdmb2Vobi1pbnB1dC1waG9uZS5ERUZBVUxUX0lOVEVSTkFUSU9OQUxfSEVMUF9URVhUJzpcbiAgICAgICAgXCJQcsOpZml4ZXIgYXZlYyBsJ2luZGljYXRpZiBkZSB2b3RyZSBwYXlzIChleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+XCIgK1xuICAgICAgICAnPGxpPis0MTc5MTIzNDU2Nyw8L2xpPjxsaT4rNDEgMjIgMDEyIDM0IDU2LDwvbGk+PGxpPjAwNDEgNzkgMDEyIDM0IDU2PC9saT48bGk+b3UgKzMzNjEyMzQ1Njc4PC9saT48L3VsPiknLFxuICAgICdmb2Vobi1pbnB1dC1waG9uZS5ERUZBVUxUX1NXSVNTX0hFTFBfVEVYVCc6XG4gICAgICAgIFwiZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPjxsaT4wNzkgMTIzIDQ1IDY3LDwvbGk+PGxpPjAyMTEyMzQ1NjcsPC9saT48bGk+KzQxIDc5IDEyMyA0NSA2NyBvdTwvbGk+PGxpPis0MTIxMTIzNDU2NzwvbGk+PC91bD5cIixcbiAgICAnZm9laG4taW5wdXQtcGhvbmUuREVGQVVMVF9TV0lTU19QSE9ORV9IRUxQX1RFWFQnOlxuICAgICAgICBcImV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz48bGk+MDIxMTIzNDU2Nyw8L2xpPjxsaT4wMjEgMTIzIDQ1IDY3LDwvbGk+PGxpPis0MTIxMTIzNDU2NyBvdTwvbGk+PGxpPis0MSAyMSAxMjMgNDUgNjc8L2xpPjwvdWw+XCIsXG4gICAgJ2ZvZWhuLWlucHV0LXBob25lLkRFRkFVTFRfU1dJU1NfTU9CSUxFX1BIT05FX0hFTFBfVEVYVCc6XG4gICAgICAgIFwiZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPjxsaT4wNzkxMjM0NTY3LDwvbGk+PGxpPjA3OSAxMjMgNDUgNjcsPC9saT48bGk+KzQxNzkxMjM0NTY3IG91PC9saT48bGk+KzQxIDc5IDEyMyA0NSA2NzwvbGk+PC91bD5cIixcbiAgICAnZm9laG4taW5wdXQtdGltZS5ob3Vycy5sYWJlbCc6ICdIZXVyZScsXG4gICAgJ2ZvZWhuLWlucHV0LXRpbWUubWludXRlcy5sYWJlbCc6ICdNaW51dGVzJyxcbiAgICAnZm9laG4taW5wdXQtbnVtYmVyLnN0YW5kYXJkLWhlbHAtdGV4dC5sYWJlbCc6XG4gICAgICAgICdTYWlzaXIgdW4gbm9tYnJlIGVudHJlIHttaW5WYWx1ZX0gZXQge21heFZhbHVlfScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuY291bnRyeS5sYWJlbCc6ICdQYXlzJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5sb2NhbGl0eS5sYWJlbCc6ICdOUEEsIExvY2FsaXTDqScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3Muc3RyZWV0LmhlbHAtdGV4dCc6ICdFeGVtcGxlIDogQXZlbnVlIGRlIGxhIFNhbGxheicsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3Muc3RyZWV0LmxhYmVsJzogJ1J1ZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuaG91c2VOdW1iZXIubGFiZWwnOiAnTnVtw6lybyBkZSBydWUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmhvdXNlTnVtYmVyLmhlbHAtdGV4dCc6XG4gICAgICAgIFwiRXhlbXBsZSA6IDQwIHBvdXIgdW5lIGFkcmVzc2Ugw6AgbCdBdmVudWUgZGUgbGEgU2FsbGF6IDQwXCIsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MucG9zdE9mZmljZUJveFRleHQubGFiZWwnOiAnQ2FzZSBwb3N0YWxlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5wb3N0T2ZmaWNlQm94VGV4dC5oZWxwLXRleHQnOlxuICAgICAgICAnRXhlbXBsZSA6IENhc2UgcG9zdGFsZSAxMjIgb3UgQ1AxMjIgb3UgQ1AgMTIyJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5hZGRyZXNzTGluZTEubGFiZWwnOiAnYy9vJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5hZGRyZXNzTGluZTIubGFiZWwnOiBcIkNvbXBsw6ltZW50IGQnYWRyZXNzZVwiLFxuICAgICdmb2Vobi1pbnB1dC1mb3JlaWduLWxvY2FsaXR5LnppcENvZGUubGFiZWwnOiAnQ29kZSBwb3N0YWwnLFxuICAgICdmb2Vobi1pbnB1dC1mb3JlaWduLWxvY2FsaXR5LmxvY2FsaXR5LmxhYmVsJzogJ0xvY2FsaXTDqScsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ubmV4dC5sYWJlbCc6ICdTdWl2YW50JyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5wcmV2aW91cy5sYWJlbCc6ICdQcsOpY8OpZGVudCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24udHJhbnNtaXQubGFiZWwnOiAnVHJhbnNtZXR0cmUnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLmxhYmVsJzpcbiAgICAgICAgJ0Vudm95ZXIgdW4gbGllbiBwb3VyIHJlcHJlbmRyZSBjZXR0ZSBkZW1hbmRlIHBsdXMgdGFyZCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24uY29udGludWUtbGF0ZXItYWxyZWFkeS1yZWdpc3RlcmVkLmxhYmVsJzpcbiAgICAgICAgJ01vZGlmaWVyIG1lcyBpbmZvcm1hdGlvbnMgZGUgcmVwcmlzZSBldCBlbnZveWVyIHVuIG5vdXZlYXUgbGllbicsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24uY29udGludWUtbGF0ZXItY29ubmVjdGVkLmxhYmVsJzpcbiAgICAgICAgJ0ZpbmlyIGxhIGRlbWFuZGUgcGx1cyB0YXJkJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5yb3V0ZS5pbmRleC5zZXBhcmF0b3InOiAnc3VyJyxcbiAgICAnZm9laG4tcGFnZS5icm93c2VyLW5vdC1zdXBwb3J0ZWQnOlxuICAgICAgICAnQ2V0dGUgcHJlc3RhdGlvbiBu4oCZZXN0IHBhcyBjb21wYXRpYmxlIGF2ZWMgdm90cmUgbmF2aWdhdGV1ci4nLFxuICAgICdmb2Vobi1wYWdlLmJyb3dzZXItZG93bmxvYWQtaW52aXRhdGlvbic6XG4gICAgICAgICdOb3VzIHZvdXMgaW52aXRvbnMgw6AgdXRpbGlzZXIgdW5lIHZlcnNpb24gcsOpY2VudGUgZGUnLFxuICAgICdmb2Vobi1wYWdlLmNvbnRpbnVlLXdpdGgtc2FtZS1icm93c2VyJzogJ0NvbnRpbnVlciBhdmVjIGNlIG5hdmlnYXRldXInLFxuICAgICdmb2Vobi1wYWdlLmJyb3dzZXItZG93bmxvYWQtbGlzdC5vdSc6ICdvdScsXG4gICAgJ2ZvZWhuLXBhZ2UuZXh0ZXJuYWwtbGluay5zck9ubHknOiAnKGxpZW4gZXh0ZXJuZSknLFxuICAgICdmb2Vobi1wYWdlLWNvdW50ZXIubGFiZWwnOiAnUGFnZSB7Y3VycmVudFBhZ2V9IHN1ciB7cGFnZUNvdW50fScsXG4gICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb3VudC1kb3duLW1lc3NhZ2UnOlxuICAgICAgICAnPHAgY2xhc3M9XCJtYi0wXCI+Vm90cmUgc2Vzc2lvbiBleHBpcmUgZGFucyA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj4nICtcbiAgICAgICAgJ3tjb3VudERvd25WYWx1ZX08L3NwYW4+PC9wPjxwIGNsYXNzPVwibWItMFwiPkNsaXF1ZXogc3VyIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPlN1aXZhbnQnICtcbiAgICAgICAgJzwvc3Bhbj4gZW4gYmFzIGRlIGxhIHBhZ2UgcG91ciBlbnJlZ2lzdHJlciB2b3MgZG9ubsOpZXMuPC9wPicsXG4gICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb3VudC1kb3duLW1lc3NhZ2Uuc3Itb25seSc6XG4gICAgICAgICdWb3RyZSBzZXNzaW9uIGV4cGlyZSBkYW5zIHtjb3VudERvd25WYWx1ZX0uICcgK1xuICAgICAgICAnQ2xpcXVleiBzdXIgU3VpdmFudCBlbiBiYXMgZGUgbGEgcGFnZSBwb3VyIGVucmVnaXN0cmVyIHZvcyBkb25uw6llcy4nLFxuICAgICdmb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXIuZXhwaXJlZC1tZXNzYWdlJzpcbiAgICAgICAgJzxwIGNsYXNzPVwiaDMgbXktMFwiPlZvdHJlIHNlc3Npb24gYSBleHBpcsOpLjwvcD4nLFxuICAgICdmb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXIuZXhwaXJlZC1tZXNzYWdlLnNyLW9ubHknOlxuICAgICAgICAnVm90cmUgc2Vzc2lvbiBhIGV4cGlyw6kuJyxcbiAgICAnZm9laG4tdHJhbnNtaXQtd2FpdGluZy1tb2RhbC50aXRsZSc6ICdUcmFuc21pc3Npb24gZW4gY291cnMnLFxuICAgICdmb2Vobi10cmFuc21pdC13YWl0aW5nLW1vZGFsLm1lc3NhZ2UnOlxuICAgICAgICAnTWVyY2kgZGUgcGF0aWVudGVyIHBlbmRhbnQgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUuJyxcbiAgICAnZm9laG4tdHJhbnNtaXQtd2FpdGluZy1tb2RhbC5oZWxwJzpcbiAgICAgICAgJ05lIGZlcm1leiBwYXMgdm90cmUgbmF2aWdhdGV1ciBldCBuZSByYWZyYcOuY2hpc3NleiBwYXMgdm90cmUgcGFnZS4nLFxuICAgICdmb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5sYWJlbCc6ICdMYSBkZW1hbmRlIHNlcmEgZWZmZWN0dcOpZSBwb3VyJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi50aXRsZSc6ICdDb25maXJtYXRpb24nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnN1Y2Nlc3MtbGFiZWwnOiAnRGVtYW5kZSB0cmFuc21pc2UnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLm5leHQtc3RlcC5zdWNjZXNzLWxhYmVsJzogJ1LDqXBvbnNlIHRyYW5zbWlzZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uYWJvcnQtbGFiZWwnOiAnRGVtYW5kZSBhYmFuZG9ubsOpZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ucmVmZXJlbmNlLXRpdGxlLmxhYmVsJzpcbiAgICAgICAgJ0xlIG51bcOpcm8gZGUgcsOpZsOpcmVuY2UgZGUgdm90cmUgZGVtYW5kZSBlc3QnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLm1haWwtc2VudC5sYWJlbCc6XG4gICAgICAgICdWb3VzIHJlY2V2cmV6IHVuIGVtYWlsIGRlIGNvbmZpcm1hdGlvbiBkYW5zIHF1ZWxxdWVzIGluc3RhbnRzLicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZG93bmxvYWQtcGRmLXJlY2FwLWJ1dHRvbic6XG4gICAgICAgICdUw6lsw6ljaGFyZ2VyIGxhIGRlbWFuZGUgKHBkZiknLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2UnOlxuICAgICAgICAnVm91cyBhdmV6IGVmZmVjdHXDqSBsYSBwcmVtacOocmUgw6l0YXBlIGRlIHZvdHJlIGTDqW1hcmNoZSBhdmVjIHN1Y2PDqHMgIScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZUlmQWJhbmRvbmVkJzpcbiAgICAgICAgXCJMYSBkZW1hbmRlIMOgIGxhcXVlbGxlIHZvdXMgZXNzYXlleiBkJ2FjY8OpZGVyIGEgw6l0w6kgYWJhbmRvbm7DqWUuXCIsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24nOiAnVGVybWluZXInLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmV4aXQtYnV0dG9uLWNvbm5lY3RlZCc6ICdTZSBkw6ljb25uZWN0ZXInLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmV4dHJhLWNvbnRlbnQnOiAnICcsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24udHJhbnNtaXNzaW9uLWluZm9ybWF0aW9uLmxhYmVsJzpcbiAgICAgICAgJ0luZm9ybWF0aW9uIHN1aXRlIMOgIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3RyZSBkZW1hbmRlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kZW1hbmQtZGV0YWlsLWxpbmsubGFiZWwnOlxuICAgICAgICAnVm91cyBwb3V2ZXogY29uc3VsdGVyIHZvdHJlIGRlbWFuZGUgZW4gY2xpcXVhbnQgc3VyIDonLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1wcm9jZXNzaW5nLXByb2dyZXNzLWxpbmsubGFiZWwnOlxuICAgICAgICBcIlZvdXMgcG91dmV6IHN1aXZyZSBsJ2F2YW5jZW1lbnQgZHUgdHJhaXRlbWVudCBkZSB2b3RyZSBkZW1hbmRlIFwiICtcbiAgICAgICAgJ2VuIGNsaXF1YW50IHN1ciA6JyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kZW1hbmQtaW4tcHJvZ3Jlc3MudGl0bGUnOiAnRGVtYW5kZSBlbiBjb3VycycsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ucmVzdW1lLW15LWRlbWFuZC5sYWJlbCc6XG4gICAgICAgICdWb3VzIHBvdXZleiByZXByZW5kcmUgdm90cmUgZGVtYW5kZSBlbiBjbGlxdWFudCBzdXIgbGUgbGllbiBjaS1kZXNzb3VzJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZXN1bWUtbXktZGVtYW5kLmJ1dHRvbic6ICdSZXByZW5kcmUgbWEgZGVtYW5kZScsXG4gICAgJ2dlc2RlbS5kb3dubG9hZC1wZGYuYnV0dG9uLnRpdGxlJzogJ1TDqWzDqWNoYXJnZXIgbGUgUERGJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1sb2dpbi5zYXZlLmxhYmVsJzpcbiAgICAgICAgJ0xlcyBkb25uw6llcyBkZSB2b3RyZSBkZW1hbmRlIGVucmVnaXN0csOpZSBsZSB7ZGF0ZX0gb250IMOpdMOpIGNoYXJnw6llcy4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLmludmFsaWQtb3RwLmxhYmVsJzpcbiAgICAgICAgXCJMZSBtb3QgZGUgcGFzc2Ugc2Fpc2kgbidlc3QgcGFzIHZhbGlkZVwiLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLnBhc3N3b3JkLWdlbmVyYXRpb24tZmFpbGVkLmxhYmVsJzpcbiAgICAgICAgJ0ltcG9zc2libGUgZGUgZ8OpbsOpcmVyIHVuIG1vdCBkZSBwYXNzZSwgdmV1aWxsZXogcsOpZXNzYXllciBwbHVzIHRhcmQuJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1sb2dpbi5leHBpcmVkLXNlc3Npb24udGl0bGUnOiAnU2Vzc2lvbiBleHBpcsOpZScsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4uZXhwaXJlZC1zZXNzaW9uLmxhYmVsJzpcbiAgICAgICAgJ1ZvdHJlIHNlc3Npb24gYSBleHBpcsOpLCB2ZXVpbGxleiByZWNvbW1lbmNlciB2b3RyZSBzYWlzaWUnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLmV4cGlyZWQtc2Vzc2lvbi5vay1idXR0b24nOiAnUmVjb21tZW5jZXInLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5jdXJyZW50LWluZm8ucHJldmlldyc6XG4gICAgICAgICdVbiBsaWVuIGRlIHJlcHJpc2UgYSDDqXTDqSBlbnZvecOpIMOgIDxpPntyZWNvdmVyeU1haWx9PC9pPiAoe2xhc3RSZWdpc3RyYXRpb259KScsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQuY3VycmVudC1pbmZvJzpcbiAgICAgICAgJzxwPlVuIGxpZW4gZGUgcmVwcmlzZSB2b3VzIGEgw6l0w6kgZW52b3nDqSDDoCBsYSBkYXRlIHN1aXZhbnRlIDogPHN0cm9uZz57bGFzdFJlZ2lzdHJhdGlvbn08L3N0cm9uZz48L3A+JyArXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgIFwiPHA+TGEgZGVtYW5kZSBwb3VycmEgw6p0cmUgcmVwcmlzZSBwZW5kYW50IDxzdHJvbmc+e2RyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpY30gam91cntwbHVyYWx9PC9zdHJvbmc+IGFwcsOocyB2b3RyZSBkZXJuacOocmUgbW9kaWZpY2F0aW9uLCBtYWlzIHZvdXMgZGV2ZXogcXVhbmQgbcOqbWUgcmVzcGVjdGVyIGxhIGRhdGUgbGltaXRlIHBvdXIgc29uIGTDqXDDtHQsIHMnaWwgeSBlbiBhIHVuZS4gRW5zdWl0ZSBlbGxlIHNlcmEgc3VwcHJpbcOpZSBkw6lmaW5pdGl2ZW1lbnQgZHUgcG9ydGFpbCBldCB2b3VzIGRldnJleiBmYWlyZSB1bmUgbm91dmVsbGUgZGVtYW5kZS48L3A+XCIgK1xuICAgICAgICAnPHA+Vm91bGV6LXZvdXMgcmVudm95ZXIgdW4gbGllbiA/IDxici8+JyArXG4gICAgICAgIFwiVm91cyBwb3V2ZXogYXVzc2kgY2hhbmdlciBsJ2FkcmVzc2UgZGUgZGVzdGluYXRpb24gZXQgbGUgbnVtw6lybyBkZSBtb2JpbGUgcG91ciBsYSByZXByaXNlPC9wPlwiLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5tb2RhbEhlYWRlclRleHQnOlxuICAgICAgICAnSW5mb3JtYXRpb25zIHBvdXIgbGEgcmVwcmlzZSBkZSBsYSBkZW1hbmRlJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8nOlxuICAgICAgICAnPHA+Vm9zIGRvbm7DqWVzIG9udCDDqXTDqSBzYXV2ZWdhcmTDqWVzLCB2b3VzIHBvdXZleiBhY2PDqWRlciDDoCBjZXR0ZSBkZW1hbmRlIGRhbnMgbGEgbGlzdGUgOicsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvLmRyYWZ0LWxpbmstdGV4dCc6XG4gICAgICAgICdkZW1hbmRlcyBlbiBjb3VycyBkZSBzYWlzaWUnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLm5vdC1yZWdpc3RlcmVkLmluZm8nOlxuICAgICAgICAnPHA+Vm91cyBhdmV6IGxhIHBvc3NpYmlsaXTDqSBkZSByZXByZW5kcmUgdm90cmUgZGVtYW5kZSBwbHVzIHRhcmQgZW4gY29tcGzDqXRhbnQgY2UgZm9ybXVsYWlyZS48L3A+JyArXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgIFwiPHA+TGEgZGVtYW5kZSBwb3VycmEgw6p0cmUgcmVwcmlzZSBwZW5kYW50IDxzdHJvbmc+e2RyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpY30gam91cntwbHVyYWx9PC9zdHJvbmc+IGFwcsOocyB2b3RyZSBkZXJuacOocmUgbW9kaWZpY2F0aW9uLCBtYWlzIHZvdXMgZGV2ZXogcXVhbmQgbcOqbWUgcmVzcGVjdGVyIGxhIGRhdGUgbGltaXRlIHBvdXIgc29uIGTDqXDDtHQsIHMnaWwgeSBlbiBhIHVuZS4gRW5zdWl0ZSBlbGxlIHNlcmEgc3VwcHJpbcOpZSBkw6lmaW5pdGl2ZW1lbnQgZHUgcG9ydGFpbCBldCB2b3VzIGRldnJleiBmYWlyZSB1bmUgbm91dmVsbGUgZGVtYW5kZS48L3A+XCIgK1xuICAgICAgICAnPHAgY2xhc3M9XCJzbWFsbCBtYi0wXCI+JyArXG4gICAgICAgIFwiPGk+TGVzIGluZm9ybWF0aW9ucyBkZW1hbmTDqWVzIHNvbnQgdW5pcXVlbWVudCB1dGlsaXPDqWVzIHBvdXIgdm91cyBwZXJtZXR0cmUgZCdlZmZlY3R1ZXIgbGEgcmVwcmlzZSBkZSBkZW1hbmRlLjwvaT5cIiArXG4gICAgICAgICc8L3A+JyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5pbmZvLnNlbnQnOlxuICAgICAgICBcIjxwPlVuIG1lc3NhZ2UgY29udGVuYW50IGxlIGxpZW4gZGUgcmVwcmlzZSBkZSBsYSBkZW1hbmRlIGEgw6l0w6kgZW52b3nDqSDDoCBsJ2FkcmVzc2UgPHN0cm9uZz57cmVjb3ZlcnlNYWlsfTwvc3Ryb25nPi48L3A+XCIgK1xuICAgICAgICAnPHA+JyArXG4gICAgICAgICdWb3VzIHBvdXZleiBjbGlxdWVyIHN1ciBjZSBsaWVuIHBvdXIgcmVwcmVuZHJlIGxhIGRlbWFuZGUgZW4gc2Fpc2lzc2FudCBsZSBjb2RlIHF1aSBzZXJhIGVudm95w6kgYXUgJyArXG4gICAgICAgICc8c3Ryb25nPntyZWNvdmVyeU1vYmlsZX08L3N0cm9uZz4uJyArXG4gICAgICAgICc8L3A+JyArXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgIFwiPHA+TGEgZGVtYW5kZSBwb3VycmEgw6p0cmUgcmVwcmlzZSBwZW5kYW50IDxzdHJvbmc+e2RyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpY30gam91cntwbHVyYWx9PC9zdHJvbmc+IGFwcsOocyB2b3RyZSBkZXJuacOocmUgbW9kaWZpY2F0aW9uLCBtYWlzIHZvdXMgZGV2ZXogcXVhbmQgbcOqbWUgcmVzcGVjdGVyIGxhIGRhdGUgbGltaXRlIHBvdXIgc29uIGTDqXDDtHQsIHMnaWwgeSBlbiBhIHVuZS4gRW5zdWl0ZSBlbGxlIHNlcmEgc3VwcHJpbcOpZSBkw6lmaW5pdGl2ZW1lbnQgZHUgcG9ydGFpbCBldCB2b3VzIGRldnJleiBmYWlyZSB1bmUgbm91dmVsbGUgZGVtYW5kZS48L3A+XCIsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQuZW1haWwubGFiZWwnOiAnRW1haWwnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmVtYWlsLmhlbHAtdGV4dCc6XG4gICAgICAgICdQYXIgZXhlbXBsZSwgam9obkBkb2UuY2gnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLm1vYmlsZS5sYWJlbCc6XG4gICAgICAgICdOdW3DqXJvIGRlIHTDqWzDqXBob25lIG1vYmlsZScsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQucmVmZXJlbmNlLWludGVybmUubGFiZWwnOlxuICAgICAgICAnVm90cmUgcsOpZsOpcmVuY2UnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLnJlZmVyZW5jZS1pbnRlcm5lLmhlbHAtdGV4dCc6XG4gICAgICAgICdWb3RyZSByw6lmw6lyZW5jZSBzZXJhIHV0aWxpc8OpZSBjb21tZSBvYmpldCBkdSBtZXNzYWdlIHF1aSB2b3VzIHNlcmEgZW52b3nDqSBldCB2b3VzIHBlcm1ldHRyYSBkZSByZXRyb3V2ZXIgZmFjaWxlbWVudCBjZSBtZXNzYWdlJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY2FuY2VsLmJ1dHRvbic6ICdGZXJtZXInLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5zYXZlLmJ1dHRvbic6ICdTYXV2ZWdhcmRlcicsXG4gICAgJ2dlc2RlbS1oYW5kbGVyLnNhdmUtY29uZmlybWF0aW9uLmxhYmVsJzpcbiAgICAgICAgJ1ZvcyBkb25uw6llcyBvbnQgw6l0w6kgc2F1dmVnYXJkw6llcyBkYW5zIHZvdHJlIGVzcGFjZSBzw6ljdXJpc8OpJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLmljb24tdGl0bGUnOiAnQWZmaWNoZXIgbGUgY2FsZW5kcmllcicsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLWJ1dHRvbi5zY3JlZW4tcmVhZGVyLnNlbGVjdGVkLWRhdGUnOlxuICAgICAgICAnRGF0ZSBzw6lsZWN0aW9ubsOpZSA6IHtzZWxlY3RlZERhdGV9JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuY29udGFpbmVyLmFyaWEtbGFiZWwnOiAnQ2FsZW5kcmllcicsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLmNsb3NlLWJ1dHRvbi5hcmlhLWxhYmVsJzogJ0Zlcm1lciBsZSBjYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIucHJldmlvdXMtbW9udGgtYnV0dG9uLnRpdGxlJzogJ01vaXMgcHLDqWPDqWRlbnQnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5uZXh0LW1vbnRoLWJ1dHRvbi50aXRsZSc6ICdNb2lzIHN1aXZhbnQnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLmFjdHVhbC1tb250aC1kaXNwbGF5ZWQnOlxuICAgICAgICAnTW9pcyBhY3R1ZWxsZW1lbnQgYWZmaWNow6kgOicsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIubW9udGgtaW5wdXQubGFiZWwnOiAnU8OpbGVjdGlvbm5lciB1biBtb2lzJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci55ZWFyLWlucHV0LmxhYmVsJzpcbiAgICAgICAgJ1PDqWxlY3Rpb25uZXIgdW5lIGFubsOpZScsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIuZ3JpZC50aXRsZSc6ICdTw6lsZWN0ZXVyIGRlIGRhdGVzJyxcbiAgICAnZXBheW1lbnQtZm9ybS5lcnJvcnMudGl0bGUnOiBcIkxlIHBhaWVtZW50IG4nYSBwdSDDqnRyZSBlZmZlY3R1w6lcIixcbiAgICAnZXBheW1lbnQtZm9ybS5lcnJvcnMuYmFjayc6XG4gICAgICAgICdWb3VzIGF2ZXogYWJhbmRvbm7DqSBsZSBwYWllbWVudCDDqWxlY3Ryb25pcXVlLicsXG4gICAgJ2VwYXltZW50LWZvcm0uZXJyb3JzLmNhbmNlbCc6XG4gICAgICAgICdWb3VzIGF2ZXogYWJhbmRvbm7DqSBsZSBwYWllbWVudCDDqWxlY3Ryb25pcXVlLicsXG4gICAgJ2VwYXltZW50LWZvcm0uZXJyb3JzLnJlZnVzZWQnOlxuICAgICAgICAnTGUgcGFpZW1lbnQgYSDDqXTDqSByZWZ1c8OpIHBhciBsZSBmb3Vybmlzc2V1ciBkZSBwYWllbWVudCDDqWxlY3Ryb25pcXVlLicsXG4gICAgJ2VwYXltZW50LWZvcm0uZXJyb3JzLnVua25vd24tZXJyb3InOlxuICAgICAgICAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUgbG9ycyBkdSBwYWllbWVudC48YnIvPicgK1xuICAgICAgICAnVmV1aWxsZXogcsOpZXNzYXllciBvdSBjaG9pc2lyIHVuIGF1dHJlIG1vZGUgZGUgcGFpZW1lbnQgc2kgZGlzcG9uaWJsZS4nLFxuICAgICdlcGF5bWVudC1mb3JtLmVycm9ycy5kZWZhdWx0JzpcbiAgICAgICAgJ1VuIHByb2Jsw6htZSBub24gaWRlbnRpZmnDqSBlc3Qgc3VydmVudSBsb3JzIGR1IHBhaWVtZW50IMOpbGVjdHJvbmlxdWUuJyxcbiAgICAnZXBheW1lbnQtZm9ybS5yZWRpcmVjdGlvbi50aXRsZSc6ICdQYWllbWVudCBlbiBwcsOpcGFyYXRpb24nLFxuICAgICdlcGF5bWVudC1mb3JtLnJlZGlyZWN0aW9uLnRleHQnOlxuICAgICAgICAnVm91cyBhbGxleiDDqnRyZSByZWRpcmlnw6kgdmVycyBub3RyZSBmb3Vybmlzc2V1ciBkZSBwYWllbWVudCDDqWxlY3Ryb25pcXVlLicsXG4gICAgJ2VwYXltZW50LWZvcm0ucmVkaXJlY3Rpb24uaGVscCc6XG4gICAgICAgICdOZSBmZXJtZXogcGFzIHZvdHJlIG5hdmlnYXRldXIgZXQgbmUgcmFmcmHDrmNoaXNzZXogcGFzIHZvdHJlIHBhZ2UuJyxcbiAgICAnZXBheW1lbnQucGVuZGluZy1wYXltZW50LnRpdGxlJzogJ1BhaWVtZW50IGVuIGNvdXJzJyxcbiAgICAnZXBheW1lbnQucGVuZGluZy1wYXltZW50LnRleHQnOlxuICAgICAgICBcIlVuIHBhaWVtZW50IGVzdCBkw6lqw6AgZW4gY291cnMsIGNsaXF1ZXogc3VyICdSZXRvdXIgYXUgcGFpZW1lbnQnIHBvdXIgbGUgZmluYWxpc2VyLCBvdSBwb3VyIGwnYW5udWxlciBleHBsaWNpdGVtZW50LlwiLFxuICAgICdlcGF5bWVudC5wZW5kaW5nLXBheW1lbnQuYnV0dG9uJzogJ1JldG91ciBhdSBwYWllbWVudCcsXG4gICAgJ2Vycm9ycy5JTUFHRV9OT1RfUkVBREFCTEUnOlxuICAgICAgICBcIlZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuJ2VzdCBwYXMgdW5lIGltYWdlIHZhbGlkZVwiLFxuICAgICdlcnJvcnMuRklMRU5BTUVfVE9PX0xPTkcnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW4gbm9tIGR1IGZpY2hpZXIgcXVpIGV4Y8OoZGUgbGUgbWF4aW11bSBhdXRvcmlzw6kgOiAlMiRzIGNhcmFjdMOocmVzJyxcbiAgICAnZXJyb3JzLkZJTEVfVE9PX1NNQUxMJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBhIHVuZSB0YWlsbGUgaW5mw6lyaWV1cmUgYXUgbWluaW11bSBleGlnw6kgOiAlMiRzIGJ5dGVzJyxcbiAgICAnZXJyb3JzLlBERl9QQVNTV09SRF9MT0NLRUQnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGVzdCB2ZXJyb3VpbGzDqWUgcGFyIHVuIG1vdCBkZSBwYXNzZScsXG4gICAgJ2Vycm9ycy5QREZfQ09OVEFJTlNfU0NSSVBUJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBjb250aWVudCB1biBzY3JpcHQnLFxuICAgICdlcnJvcnMuUERGX0hBU19BVFRBQ0hNRU5UUyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgdW4gZmljaGllciBhdHRhY2jDqScsXG4gICAgJ2Vycm9ycy5FTVBUWV9QREYnOiAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGVzdCB2aWRlJyxcbiAgICAnZXJyb3JzLlBERl9HRU5FUkFMX1BST0JMRU0nOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGVzdCBjb3Jyb21wdWUgWzxhIGhyZWY9XCJodHRwczovL3d3dy52ZC5jaC9wYWdlLzIwMjE2NzUvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+QWlkZTwvYT5dJyxcbiAgICAnZXJyb3JzLlBERl9IQVNfUkVTVFJJQ1RJT05TJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgcHJvdMOpZ8OpZS4gVmV1aWxsZXogZW5sZXZlciB0b3V0ZXMgbGVzIHByb3RlY3Rpb25zIGF2YW50IGRlIGpvaW5kcmUgY2UgZmljaGllci4nLFxuICAgICdlcnJvcnMuRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJzpcbiAgICAgICAgJ0xlIG5vbSBkZSB2b3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgZGVzIGNhcmFjdMOocmVzIGludGVyZGl0cy4nLFxuICAgICdlcnJvcnMuNDA2JzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBjb3JyZXNwb25kIHBhcyBhdSB0eXBlIGRlIGNvbnRlbnUgYXV0b3Jpc8OpJyxcbiAgICAnZXJyb3JzLjQxMyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIHN1cMOpcmlldXJlIG91IMOpZ2FsZSDDoCBsYSBsaW1pdGUgYXV0b3Jpc8OpZSA6ICUyJHMgTW8nLFxuICAgICdlcnJvcnMuNDE1JzpcbiAgICAgICAgJ0xlIHR5cGUgZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIG5lIGZpZ3VyZSBwYXMgcGFybWkgY2V1eCBxdWkgc29udCBhdXRvcmlzw6lzIDogXCIlMiRzXCInLFxuICAgICdlcnJvcnMuNDIyJzogJ0VjaGVjIGRlIGxhIHNhdXZlZ2FyZGUgZGUgbGEgcGnDqGNlIGpvaW50ZSAlMSRzJyxcbiAgICAnZXJyb3JzLjUwMCc6XG4gICAgICAgICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcy4gVmV1aWxsZXogcsOpZXNzYXllciBhdmVjIHVuIGF1dHJlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLnN1bW1hcnkudGl0bGUnOiAnSWwgeSBhIHVuIHByb2Jsw6htZScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmNob29zZS1idXR0b24tbGFiZWwnOiAnQ2hvaXNpc3NleiB1biBkb2N1bWVudCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmNob29zZS1idXR0b24tbGFiZWwtbXVsdGlwbGUnOlxuICAgICAgICAnQ2hvaXNpc3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZHJvcC16b25lLWxhYmVsJzogJ0TDqXBvc2V6IHVuIGRvY3VtZW50IG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZHJvcC16b25lLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0TDqXBvc2V6IHVuIG91IHBsdXNpZXVycyBkb2N1bWVudHMgb3UgY2xpcXVleiBpY2knLFxuICAgICdmb2Vobi11cGxvYWRlci5kZWxldGUtY29uZmlybWF0aW9uLW1lc3NhZ2UnOlxuICAgICAgICAnw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNlIGZpY2hpZXIgPycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0JzogJ01vJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuYWJici1tZWdhb2N0ZXQtdGl0bGUnOiAnTWVnYW9jdGV0JyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWljb24tdGl0bGUnOiAnU3VwcHJpbWVyIHtkb2NOYW1lfScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLm1heC11cGxvYWQtc2VsZWN0aW9uLXJlYWNoZWQnOlxuICAgICAgICAnVm91cyBuZSBwb3V2ZXogcGFzIHTDqWzDqWNoYXJnZXIgcGx1cyBkZSB7bWF4U2VsZWN0aW9ufSBmaWNoaWVycyDDoCBsYSBmb2lzLicsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLm1heC1maWxlcy1jb3VudC1yZWFjaGVkJzpcbiAgICAgICAgJ0xlIG5vbWJyZSB0b3RhbCBkZSBmaWNoaWVycyB0w6lsw6ljaGFyZ8OpcyBuZSBkb2l0IHBhcyBkw6lwYXNzZXIge21heEZpbGVzQ291bnR9IGZpY2hpZXJzLicsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLnBhZ2UtbWF4LWZpbGVzLWNvdW50LXJlYWNoZWQnOlxuICAgICAgICAnTGUgbm9tYnJlIHRvdGFsIGRlIGZpY2hpZXJzIHTDqWzDqWNoYXJnw6lzIG5lIGRvaXQgcGFzIGTDqXBhc3NlciB7cGFnZU1heEZpbGVzQ291bnR9IGZpY2hpZXJzLicsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLm1heC1maWxlcy1zaXplLXJlYWNoZWQnOlxuICAgICAgICAnTGEgdGFpbGxlIHRvdGFsZSBkZXMgZmljaGllcnMgdMOpbMOpY2hhcmfDqXMgbmUgZG9pdCBwYXMgZMOpcGFzc2VyIHttYXhGaWxlc1NpemVJbk1vfSBNZWdhb2N0ZXRzIChNbykuJyxcbiAgICAnZm9laG4tdXBsb2FkZXIucGFnZS1tYXgtZmlsZXMtc2l6ZS1yZWFjaGVkJzpcbiAgICAgICAgJ0xhIHRhaWxsZSB0b3RhbGUgZGVzIGZpY2hpZXJzIHTDqWzDqWNoYXJnw6lzIG5lIGRvaXQgcGFzIGTDqXBhc3NlciB7cGFnZU1heEZpbGVzU2l6ZUluTW99IE1lZ2FvY3RldHMgKE1vKS4nLFxuICAgICdmb2Vobi11cGxvYWRlci5maWxlcy1zYXZlZC1zdWNjZXNzLW1lc3NhZ2UnOlxuICAgICAgICAne3N1Y2Nlc3NmdWxEb2N1bWVudHNDb3VudH0gZmljaGllcihzKSBzYXV2ZWdhcmTDqShzKSBhdmVjIHN1Y2PDqHMnLFxuICAgICdmb2Vobi11cGxvYWRlci50cmFuc21pc3Npb24tZXJyb3ItbWVzc2FnZSc6XG4gICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3MgZG9jdW1lbnRzJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZmlsZXMtZGVsZXRlZC1zdWNjZXNzLW1lc3NhZ2UnOlxuICAgICAgICAnU3VwcHJlc3Npb24gZHUgZmljaGllciB7ZmlsZW5hbWV9IHLDqXVzc2llJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWVycm9yLW1lc3NhZ2UnOlxuICAgICAgICAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUgbG9ycyBkZSBsYSBzdXBwcmVzc2lvbiBkZSB2b3RyZSBkb2N1bWVudCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRlbGV0ZS1yZWFkb25seS1lcnJvci1tZXNzYWdlJzpcbiAgICAgICAgJ1VuIGRvY3VtZW50IGVuIGxlY3R1cmUgc2V1bGUgbmUgcGV1dCBwYXMgw6p0cmUgc3VwcHJpbcOpJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2hvb3NlLWJ1dHRvbi1sYWJlbCc6ICdDaG9pc2lzc2V6IHVuZSBwaG90bycsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctbGFiZWwnOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmludmFsaWQtZmlsZS10eXBlJzpcbiAgICAgICAgJ0xlIHR5cGUgZGUgdm90cmUgcGnDqGNlIGpvaW50ZSB7ZmlsZW5hbWV9IG5lIGZpZ3VyZSBwYXMgcGFybWkgY2V1eCBxdWkgc29udCBhdXRvcmlzw6lzIDogXCJ7YWNjZXB0Rm9ybWF0c31cIicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctZmFpbHVyZS1sYWJlbCc6XG4gICAgICAgICdJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgcGhvdG8gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC52YWxpZGF0ZS1zZWxlY3Rpb24tbGFiZWwnOiAnVmFsaWRlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCc6ICdBbm51bGVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnOlxuICAgICAgICAnTWVyY2kgZGUgdmFsaWRlciB2b3RyZSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnOiAnU3VwcHJpbWVyJyxcbiAgICAnZm9laG4tc2VsZWN0Lm5vLXNlbGVjdGlvbi5sYWJlbCc6ICctJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cyc6ICd7dG90YWx9IMOpbMOpbWVudHMgdHJvdXbDqXMnLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnOiAnMSDDqWzDqW1lbnQgdHJvdXbDqScsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMuMCc6ICdBdWN1biByw6lzdWx0YXQnLFxuICAgICdmb2Vobi10YWJsZS5oZWFkZXIuYWN0aW9ucyc6ICdBY3Rpb25zJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMSc6ICdTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxLnNyT25seSc6ICdFdGFwZSAxIHN1ciAzLCBTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyJzogJ1bDqXJpZmljYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyLnNyT25seSc6ICdFdGFwZSAyIHN1ciAzLCBWw6lyaWZpY2F0aW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMyc6ICdUcmFuc21pc3Npb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzLnNyT25seSc6XG4gICAgICAgICdFdGFwZSAzIHN1ciAzLCBEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC5kZWxldGUnOlxuICAgICAgICAnU3VwcHJpbWVyIHtlbGVtZW50TGFiZWx9JyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5kZWxldGVkJzpcbiAgICAgICAgJ3tlbGVtZW50TGFiZWx9IGEgw6l0w6kgc3VwcHJpbcOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuYWRkZWQnOlxuICAgICAgICAne2VsZW1lbnRMYWJlbH0gYSDDqXTDqSBham91dMOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC1pdGVtcy1saXN0LWxlZ2VuZCc6XG4gICAgICAgICdFbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1mb2N1cy5uby1lbGVtZW50LXRvLWRlbGV0ZSc6XG4gICAgICAgICdBdWN1biDDqWzDqW1lbnQgc8OpbGVjdGlvbm7DqS4nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1zZWxlY3RlZC1lbGVtZW50JzpcbiAgICAgICAgJyhzw6lsZWN0aW9uIHBhciBkw6lmYXV0KScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5hdXRvY29tcGxldGUuZW1wdHktbWVzc2FnZSc6XG4gICAgICAgICdUb3VzIGxlcyDDqWzDqW1lbnRzIGRlIGxhIGxpc3RlIGRlIHByb3Bvc2l0aW9uIG9udCBkw6lqw6Agw6l0w6kgYWpvdXTDqXMuJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJzpcbiAgICAgICAgJ1PDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUgZGUgcmVjaGVyY2hlJyArXG4gICAgICAgIFwiIGNpLWRlc3NvdXMgcG91ciBsJ2Fqb3V0ZXIgw6Agdm90cmUgc8OpbGVjdGlvbi5cIixcbiAgICAnZm9laG4tYWdlbmRhLmNhbGVuZGFyLWluZGlzcG9uaWJsZSc6XG4gICAgICAgICdMZSBjYWxlbmRyaWVyIGRlcyByZW5kZXotdm91cyBlc3QgYWN0dWVsbGVtZW50IGluZGlzcG9uaWJsZS4nLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IuZmlyc3QtcGFydCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjaGFuZ2VyIGRlIHNlbWFpbmUgYXUgbW95ZW4gZGUnLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IudG9wLW5leHQtcGFydCc6ICdsYSBwYWdpbmF0aW9uIGNpLWRlc3NvdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnBhZ2luYXRpb24tYW5jaG9yLmJvdHRvbS1uZXh0LXBhcnQnOlxuICAgICAgICAnbGEgcGFnaW5hdGlvbiBjaS1kZXNzdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnRpbWVzbG90LnNlbGVjdGVkJzogJyBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5vLWRpc3BvJzogJyhhdWN1bmUgZGlzcG9uaWJpbGl0w6kpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5ici1kaXNwbyc6ICd7bmJFbGVtZW50c30gZGlzcG9uaWJpbGl0w6lzJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNlbGVjdGVkLXRpbWUnOlxuICAgICAgICAne3RpbWVTZWxlY3RlZFZhbHVlfSBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbW9yZS1zci1vbmx5JzpcbiAgICAgICAgJ0FmZmljaGVyIGxlcyB7bmJyRWxlbWVudHNIaWRkZW59IGRpc3BvbmliaWxpdMOpcyBtYXNxdcOpZXMnLFxuICAgICdmb2Vobi5hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2hvdy1tb3JlJzpcbiAgICAgICAgJ0FmZmljaGVyIHBsdXMgKHtuYnJFbGVtZW50c0hpZGRlbn0pJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbGVzcyc6ICdBZmZpY2hlciBtb2lucycsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLnByZXZpb3VzLXdlZWsnOiAnU2VtYWluZSBwcsOpY8OpZGVudGUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5wcmV2aW91cy13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBwcsOpY8OpZGVudGUgOiB7cHJldmlvdXNXZWVrfScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLm5leHQtd2Vlayc6ICdTZW1haW5lIHN1aXZhbnRlJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ubmV4dC13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBzdWl2YW50ZSA6IHtuZXh0V2Vla30nLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5uYXYuYXJpYS1sYWJlbCc6ICdDaGFuZ2VyIGRlIHNlbWFpbmUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5kYXRlLXBpY2tlci1idXR0b24uc2NyZWVuLXJlYWRlci5zZWxlY3RlZC1kYXRlJzpcbiAgICAgICAgJ1NlbWFpbmUgZHUge3NlbGVjdGVkRGF0ZX0gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1icmVhZGNydW1iLmFyaWEtbGFiZWwnOiBcIkZpbCBkJ0FyaWFuZVwiLFxuICAgICdmb2Vobi1icmVhZGNydW1iLm5vdC1jb25uZWN0ZWQubGluay10by12ZGNoJzpcbiAgICAgICAgJ0Rlc2NyaXB0aW9uIGRlIGxhIHByZXN0YXRpb24nLFxuICAgICdnZXNkZW0tZGVtYW5kLWRldGFpbCc6ICdEw6l0YWlsIGRlIGxhIGRlbWFuZGUge3JlZmVyZW5jZX0nLFxuICAgICdnZXNkZW0tZXJyb3IudGl0bGUuZXJyb3InOiAnRXJyZXVyIHJlbmNvbnRyw6llJyxcbiAgICAnZ2VzZGVtLWVycm9yLnRpdGxlLnJlY292ZXJ5JzogJ1JlcHJpc2UgZGUgbGEgZGVtYW5kZScsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0Lndyb25nLWV0YXBlLXJlcXVlc3RlZCc6XG4gICAgICAgICdMYSBkZW1hbmRlIHtyZWZlcmVuY2V9IG5lIHBldXQgcGx1cyDDqnRyZSBtb2RpZmnDqWUgdmlhIGNlIGZvcm11bGFpcmUnLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5kZW1hbmRlLW5vdC1mb3VuZCc6XG4gICAgICAgICdMYSBkZW1hbmRlIHtyZWZlcmVuY2V9IGEgw6l0w6kgc3VwcHJpbcOpZScsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0Lmhhcy1yZWZlcmVuY2UnOlxuICAgICAgICAnVm91cyBwb3V2ZXogZXNzYXllciBkZSByZXByZW5kcmUgdm90cmUgZGVtYW5kZSBlbiBjbGlxdWFudCBzdXIgbGUgbGllbiBjaS1kZXNzb3VzJyxcbiAgICAnZ2VzZGVtLWVycm9yLmxpbmsuaGFzLXJlZmVyZW5jZSc6ICdSZXByZW5kcmUgbWEgZGVtYW5kZScsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0Lmhhcy1uby1yZWZlcmVuY2UnOlxuICAgICAgICAnVm91cyBwb3V2ZXogcmVjb21tZW5jZXIgdW5lIGRlbWFuZGUgZW4gY2xpcXVhbnQgc3VyIGxlIGxpZW4gY2ktZGVzc291cycsXG4gICAgJ2dlc2RlbS1lcnJvci5saW5rLmhhcy1uby1yZWZlcmVuY2UnOiAnUmVjb21tZW5jZXInLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5wZW5kaW5nLXBheW1lbnQnOlxuICAgICAgICAnPHA+VW4gcHJvYmzDqG1lIGVzdCBzdXJ2ZW51IGxvcnMgZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUuPC9wPicgK1xuICAgICAgICAnPHA+PHN0cm9uZz5NZXJjaSBkZSBuZSBwYXMgcmVmYWlyZSB1bmUgbm91dmVsbGUgZGVtYW5kZSB0b3V0IGRlIHN1aXRlLjwvc3Ryb25nPjwvcD4nICtcbiAgICAgICAgXCI8cD5TYW5zIGNvbmZpcm1hdGlvbiBkZSBsYSB0cmFuc21pc3Npb24gZGUgdm90cmUgZGVtYW5kZSBkYW5zIHVuIGTDqWxhaSBkJ3VuIGpvdXIsIFwiICtcbiAgICAgICAgJ25vdXMgdm91cyBwcmlvbnMgZGUgPGEgaHJlZj1cIntzdXBwb3J0TGlua31cIiB0YXJnZXQ9XCJfYmxhbmtcIj5jb250YWN0ZXIgbGUgc3VwcG9ydDwvYT4uJyxcbiAgICAnZ2VzZGVtLWVycm9yLmRlbWFuZGUtc2hvdWxkLWV4aXN0JzpcbiAgICAgICAgJ1ZvdHJlIGRlbWFuZGUgZXN0IGRhbnMgdW4gw6l0YXQgaW5jb2jDqXJlbnQsIG1lcmNpIGRlIHJlY29tbWVuY2VyJyxcbiAgICAnZm9laG4tZHJvcGRvd24tbWVudS5hcmlhLWxhYmVsJzogJ01lbnUgZMOpcm91bGFudCcsXG4gICAgJ2ZvZWhuLW1vZGFsLmJ0bi1jbG9zZS5hcmlhLWxhYmVsJzogJ0Zlcm1lciBsYSBib2l0ZSBkZSBkaWFsb2d1ZScsXG4gICAgJ2ZvZWhuLW1vZGFsLmJ0bi1jbG9zZS50aXRsZSc6ICdGZXJtZXInLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcucGx1cmFsJzpcbiAgICAgICAgJ3tjaGFyQ291bnRMZWZ0fSBjYXJhY3TDqHJlcyByZXN0YW50cycsXG4gICAgJ2ZvZWhuLXRleHRhcmVhLmNoYXJzLXJlbWFpbmluZy5zaW5ndWxhcic6XG4gICAgICAgICd7Y2hhckNvdW50TGVmdH0gY2FyYWN0w6hyZSByZXN0YW50JyxcbiAgICAnZm9laG4tdGV4dGFyZWEuY2hhcnMtcmVtYWluaW5nLnplcm8nOlxuICAgICAgICAnVm91cyBhdmV6IGF0dGVpbnQgbGUgbm9tYnJlIGRlIGNhcmFjdMOocmVzIGF1dG9yaXPDqXMnLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcuZXhjZWVkZWQnOlxuICAgICAgICAnVm91cyBhdmV6IGTDqXBhc3PDqSBsZSBub21icmUgZGUgY2FyYWN0w6hyZXMgYXV0b3Jpc8OpcyBkZSB7Y2hhckNvdW50TGVmdH0nLFxuICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLnRpdGxlJzogJ1RyYWl0ZW1lbnQgZGUgdm90cmUgZW52b2knLFxuICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLnVwbG9hZCc6ICdFbnJlZ2lzdHJlbWVudCBlbiBjb3Vycy4uLicsXG4gICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuZ3JvdXAudXBsb2FkJzpcbiAgICAgICAgJ0xvdCB7cGFja2FnZUluZGV4fS97bmJQYWNrYWdlc30gOiBFbnJlZ2lzdHJlbWVudCBlbiBjb3Vycy4uLicsXG4gICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuYW5hbHlzaXMnOlxuICAgICAgICAnQW5hbHlzZSBlbiBjb3Vycy4uLiBNZXJjaSBkZSBwYXRpZW50ZXIuJyxcbiAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5ncm91cC5hbmFseXNpcyc6XG4gICAgICAgICdMb3Qge3BhY2thZ2VJbmRleH0ve25iUGFja2FnZXN9IDogQW5hbHlzZSBlbiBjb3Vycy4uLiBNZXJjaSBkZSBwYXRpZW50ZXIuJyxcbiAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5ncm91cC5pbmZvJzpcbiAgICAgICAgJ0xlIHTDqWzDqWNoYXJnZW1lbnQgc2UgZmFpdCBlbiBwbHVzaWV1cnMgbG90cyBlbiBmb25jdGlvbiBkdSBub21icmUgZGUgZmljaGllcnMgY2hhcmfDqXMnLFxuICAgICdlcnJvcnMuTm90TnVsbCc6ICdDZSBjaGFtcCBkb2l0IMOqdHJlIHJlbXBsaScsXG4gICAgJ2ZvZWhuLWhlYWRlci5sb2dvLnRpdGxlJzpcbiAgICAgICAgXCJBbGxlciDDoCBsYSBwYWdlIGQnYWNjdWVpbCBkdSBTaXRlIGR1IENhbnRvbiBkZSBWYXVkXCIsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEuaWRlbnRpdHkuc3JPbmx5JzogJ1ZvdHJlIGlkZW50aXTDqScsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEudGl0bGUnOiAnRXNwYWNlIHPDqWN1cmlzw6k6JyxcbiAgICAnZm9laG4taGVhZGVyLmN5YmVyLXNlY3VyZWQtYXJlYS5jb25uZWN0ZWQtdXNlcic6ICdQZXJzb25uZSBjb25uZWN0w6llOicsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEuY29ubmVjdGlvbi5zck9ubHknOlxuICAgICAgICBcIkNvbm5leGlvbiDDoCBsJ2VzcGFjZSBzw6ljdXJpc8OpXCIsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEuY29ubmVjdGlvbi5idXR0b24udGl0bGUnOiAnU2UgY29ubmVjdGVyJyxcbiAgICAnZm9laG4taGVhZGVyLmlhbS1zZWN1cmVkLWFyZWEuaWRlbnRpdHkuc3JPbmx5JzogJ1ZvdHJlIGlkZW50aXTDqScsXG4gICAgJ2ZvZWhuLWhlYWRlci5pYW0tc2VjdXJlZC1hcmVhLmNvbm5lY3RlZC11c2VyJzogJ1BlcnNvbm5lIGNvbm5lY3TDqWU6JyxcbiAgICAnZm9laG4taGVhZGVyLmlhbS1zZWN1cmVkLWFyZWEubG9nb3V0JzogXCJRdWl0dGVyIGwnYXBwbGljYXRpb25cIixcbiAgICAnZm9laG4tc2tpcC1saW5rLnRpdGxlJzogJ1tBbHQrMF0gRMOpYnV0IGR1IGNvbnRlbnUgZGUgbGEgcGFnZScsXG4gICAgJ2ZvZWhuLXNraXAtbGluay5jb250ZW50JzogJ0TDqWJ1dCBkdSBjb250ZW51IGRlIGxhIHBhZ2UnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmFjY3VlaWwubGFiZWwnOiAnQWNjdWVpbCcsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uYWNjdWVpbC50aXRsZSc6ICdBY2N1ZWlsJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5wcmVmZXJlbmNlcy5sYWJlbCc6ICdQcsOpZsOpcmVuY2VzJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5wcmVmZXJlbmNlcy50aXRsZSc6ICdQcsOpZsOpcmVuY2VzJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5nZXN0aW9uLWNvbXB0ZS5sYWJlbCc6ICdHZXN0aW9uIGR1IGNvbXB0ZScsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uZ2VzdGlvbi1jb21wdGUudGl0bGUnOiAnR2VzdGlvbiBkdSBjb21wdGUnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLm9wZXJhdGlvbnMtbGllZXMtZXNwYWNlLXByby5sYWJlbCc6XG4gICAgICAgICdPcMOpcmF0aW9ucyBsacOpZXMgYXV4IGVzcGFjZXMgcHJvZmVzc2lvbm5lbHMnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLm9wZXJhdGlvbnMtbGllZXMtZXNwYWNlLXByby50aXRsZSc6XG4gICAgICAgICdPcMOpcmF0aW9ucyBsacOpZXMgYXV4IGVzcGFjZXMgcHJvZmVzc2lvbm5lbHMnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmFkbWluaXN0cmVyLWVzcGFjZS1wcm8ubGFiZWwnOlxuICAgICAgICBcIkFkbWluaXN0cmVyIGwnZXNwYWNlIHByb2Zlc3Npb25uZWxcIixcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5hZG1pbmlzdHJlci1lc3BhY2UtcHJvLnRpdGxlJzpcbiAgICAgICAgXCJBZG1pbmlzdHJlciBsJ2VzcGFjZSBwcm9mZXNzaW9ubmVsXCIsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uZGVjb25uZWN0aW9uLmxhYmVsJzogJ1NlIGTDqWNvbm5lY3RlcicsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uZGVjb25uZWN0aW9uLnRpdGxlJzogJ1NlIGTDqWNvbm5lY3RlcicsXG4gICAgJ2ZvZWhuLWVycm9yLXBpbGwuaW5jb21wbGV0ZSc6ICdJbmNvbXBsZXQnLFxuICAgICdmb2Vobi1lcnJvci1waWxsLmNvbXBsZXRlJzogJ1JlbnNlaWduw6knLFxuICAgICdmb2Vobi1yZW1haW5pbmctYWxlcnQtc3VtbWFyeS5kZWZhdWx0LWVycm9yLW1lc3NhZ2UnOlxuICAgICAgICAnPHA+Tm90cmUgZm9ybXVsYWlyZSBhIHJlbmNvbnRyw6kgdW4gcHJvYmzDqG1lIGV0IHZvdXMgbmUgcG91cnJleiBwYXMgbGUgdHJhbnNtZXR0cmUuPC9wPicgK1xuICAgICAgICAnPHA+QWZpbiBkZSBsZSByw6lzb3VkcmUsIG5vdXMgdm91cyBpbnZpdG9ucyDDoCByZXZlbmlyIGVuIGFycmnDqHJlIGV0IGVzc2F5ZXIgZGUgcmVwYXNzZXIgY2hhY3VuZSBkZXMgw6l0YXBlcy48L3A+JyArXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICc8cD5TaSBsZSBwcm9ibMOobWUgcGVyc2lzdGUsIG1lcmNpIGRlIHByZW5kcmUgY29udGFjdCBhdmVjIG5vdXMgZXQgZGUgbm91cyBjb21tdW5pcXVlciBjZXR0ZSBlcnJldXIgYXUgbW95ZW4gZHUgZm9ybXVsYWlyZSBkZSBzdXBwb3J0IDogJyArXG4gICAgICAgICc8YSBocmVmPVwie3N1cHBvcnRMaW5rfVwiIHRhcmdldD1cIl9ibGFua1wiPmh0dHBzOi8vd3d3LnZkLmNoL2NvbnRhY3QtcG9ydGFpbC88L2E+PC9wPicgK1xuICAgICAgICAnPHA+Tm91cyByZXByZW5kcm9ucyBjb250YWN0IGF2ZWMgdm91cy48L3A+JyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNoZXZyb24tZG93bic6ICdGZXJtZXIgbGEgbm90aWZpY2F0aW9uJyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNoZXZyb24tdXAnOiAnT3V2cmlyIGxhIG5vdGlmaWNhdGlvbicsXG4gICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi50aXRsZS1leHBhbmRlZCc6ICdWb3RyZSBhdmlzIG5vdXMgaW50w6lyZXNzZSAhJyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnRpdGxlLXJlZHVjZWQnOiAnRG9ubmVyIHZvdHJlIGF2aXMnLFxuICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24ucXVlc3Rpb24uUV9OT1RJRklDQVRJT05fRkFDSUxFX0FfVVRJTElTRVInOlxuICAgICAgICBcIkNvbW1lbnQgcydlc3QgcGFzc8OpZSBjZXR0ZSBkw6ltYXJjaGUgcG91ciB2b3VzID9cIixcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24uZ29vZCc6ICdUcsOocyBiaWVuJyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24ubWVkaXVtJzogJ01veWVuJyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24uYmFkJzogJ1BhcyBiaWVuJ1xufTtcbiJdfQ==
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsZUFBZSxFQUFFLEdBQUc7SUFDcEIsb0NBQW9DLEVBQ2hDLDhDQUE4QztJQUNsRCw2QkFBNkIsRUFDekIsNkRBQTZEO0lBQ2pFLG9DQUFvQyxFQUFFLFFBQVE7SUFDOUMsMkNBQTJDLEVBQ3ZDLHdDQUF3QztJQUM1QyxzQ0FBc0MsRUFBRSxXQUFXO0lBQ25ELHFDQUFxQyxFQUFFLGtDQUFrQztJQUN6RSw2Q0FBNkMsRUFBRSxzQkFBc0I7SUFDckUsNkNBQTZDLEVBQUUsaUJBQWlCO0lBQ2hFLDBDQUEwQyxFQUFFLFNBQVM7SUFDckQseUNBQXlDLEVBQ3JDLHlEQUF5RDtJQUM3RCxtQ0FBbUMsRUFDL0Isa0VBQWtFO0lBQ3RFLGtDQUFrQyxFQUM5QixpREFBaUQ7UUFDakQsaUdBQWlHO1FBQ2pHLHdFQUF3RTtJQUM1RSxzQ0FBc0MsRUFDbEMsOEVBQThFO1FBQzlFLG9EQUFvRDtJQUN4RCx3Q0FBd0MsRUFBRSxLQUFLO0lBQy9DLHVDQUF1QyxFQUFFLEtBQUs7SUFDOUMseUNBQXlDLEVBQ3JDLEVBQUU7UUFDRiwrR0FBK0c7UUFDL0csUUFBUTtRQUNSLGlHQUFpRztJQUNyRyxzQkFBc0IsRUFBRSxjQUFjO0lBQ3RDLGdDQUFnQyxFQUFFLHdCQUF3QjtJQUMxRCw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0QyxzQ0FBc0MsRUFDbEMsZ0RBQWdEO0lBQ3BELCtCQUErQixFQUFFLE1BQU07SUFDdkMsaUNBQWlDLEVBQzdCLGlEQUFpRDtRQUNqRCxpRkFB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QUF3RjtRQUN4RixnSEFBZ0g7UUFDaEgsbUNBQW1DO1FBQ25DLHlJQUF5STtRQUN6SSxvRkFBb0Y7UUFDcEYsNENBQTRDO0lBQ2hELDBDQUEwQyxFQUFFLHdCQUF3QjtJQUNwRSx3Q0FBd0MsRUFBRSx3QkFBd0I7SUFDbEUsNENBQTRDLEVBQUUsNkJBQTZCO0lBQzNFLDJDQUEyQyxFQUFFLG1CQUFtQjtJQUNoRSx1RUFBdUUsRUFDbkUsaURBQWlEO0lBQ3JELHVDQUF1QyxFQUFFLFdBQVc7SUFDcEQseUNBQXlDLEVBQUUsT0FBTztJQUNsRCxzQ0FBc0MsRUFBRSxVQUFVO0NBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyBEaWN0aW9uYXJ5VHlwZSB9IGZyb20gJy4vc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RJQ1RJT05BUlk6IERpY3Rpb25hcnlUeXBlID0ge1xuICAgICdwbHVyYWwtbWFya2VyJzogJ3MnLFxuICAgICdkcmFmdC1jb250YWluZXIuYnV0dG9uLnNob3ctZHJhZnRzJzpcbiAgICAgICAgJ0RlbWFuZGVzIGVuIGNvdXJzIGRlIHNhaXNpZSA6IHtkcmFmdHNMZW5ndGh9JyxcbiAgICAnZHJhZnQtY29udGFpbmVyLm1vZGFsLnRpdGxlJzpcbiAgICAgICAgJ0lsIGV4aXN0ZSBkw6lqw6AgdW5lIG91IHBsdXNpZXVycyBkZW1hbmRlcyBlbiBjb3VycyBkZSBzYWlzaWUnLFxuICAgICdkcmFmdC1jb250YWluZXIubW9kYWwuY2xvc2UuYnV0dG9uJzogJ0Zlcm1lcicsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5tb2RhbC5kcmFmdHMtaW4tZXMuYnV0dG9uJzpcbiAgICAgICAgJ1RvdXRlcyBtZXMgZGVtYW5kZXMgZW4gY291cnMgZGUgc2Fpc2llJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmxpc3QucmVmZXJlbmNlLmxhYmVsJzogJ1LDqWbDqXJlbmNlJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmxpc3QucmVmZXJlbmNlLmxpbmsnOiAnUmVwcmVuZHJlIGxhIGRlbWFuZGUge3JlZmVyZW5jZX0nLFxuICAgICdkcmFmdC1jb250YWluZXIubGlzdC5tb2RpZmljYXRpb25EYXRlLmxhYmVsJzogJ0RhdGUgZGUgbW9kaWZpY2F0aW9uJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmxpc3QucmVmZXJlbmNlSW50ZXJuZS5sYWJlbCc6ICdWb3RyZSByw6lmw6lyZW5jZScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0LmRldGFpbHMtaW4tZXMubGFiZWwnOiAnRMOpdGFpbHMnLFxuICAgICdkcmFmdC1jb250YWluZXIubGlzdC5kZXRhaWxzLWluLWVzLmxpbmsnOlxuICAgICAgICBcIkNvbnN1bHRlciBsYSBkZW1hbmRlIHtyZWZlcmVuY2V9IGRhbnMgbCdlc3BhY2Ugc8OpY3VyaXPDqVwiLFxuICAgICdmb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUudGl0bGUnOlxuICAgICAgICAnQXV0b3Jpc2F0aW9uIGRlIG5vdGlmaWNhdGlvbiBkZXMgZMOpY2lzaW9ucyBwYXIgdm9pZSDDqWxlY3Ryb25pcXVlJyxcbiAgICAnZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmluZm8nOlxuICAgICAgICAnVm90cmUgZGVtYW5kZSBlc3Qgc3VyIGxlIHBvaW50IGTigJnDqnRyZSBlbnZvecOpZS4gJyArXG4gICAgICAgICdDb25mb3Jtw6ltZW50IMOgIGzigJlhcnQuIDQ0YSBMUEEtVkQsIGzigJlhdXRvcml0w6kgcGV1dCBub3RpZmllciBzZXMgZMOpY2lzaW9ucyBwYXIgdm9pZSDDqWxlY3Ryb25pcXVlICcgK1xuICAgICAgICAnYXV4IHBhcnRpZXMgcXVpIG9udCBkb25uw6kgbGV1ciBhY2NvcmQgZXhwbGljaXRlIMOgIGNldHRlIGNvbW11bmljYXRpb24uJyxcbiAgICAnZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLnF1ZXN0aW9uJzpcbiAgICAgICAgJ0FjY2VwdGV6LXZvdXMgcXVlIGzigJlhdXRvcml0w6kgY29tcMOpdGVudGUgcG91ciBsZSB0cmFpdGVtZW50IGRlIHZvdHJlIGRlbWFuZGUgJyArXG4gICAgICAgICd2b3VzIG5vdGlmaWUgc2VzIGTDqWNpc2lvbnMgcGFyIHZvaWUgw6lsZWN0cm9uaXF1ZSA/JyxcbiAgICAnZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmFuc3dlci55ZXMnOiAnT3VpJyxcbiAgICAnZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmFuc3dlci5ubyc6ICdOb24nLFxuICAgICdmb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUuYW5zd2VyLmluZm8nOlxuICAgICAgICAnJyArXG4gICAgICAgICdTaSB2b3VzIGNsaXF1ZXogc3VyIMKrIE91aSDCuywgdm91cyBhdXRvcmlzZXogbOKAmWF1dG9yaXTDqSDDoCB2b3VzIG5vdGlmaWVyIHNlcyBkw6ljaXNpb25zIHN1ciBsZSBwb3J0YWlsIHPDqWN1cmlzw6kuJyArXG4gICAgICAgICc8YnIgLz4nICtcbiAgICAgICAgJ1NpIHZvdXMgY2xpcXVleiBzdXIgwqsgTm9uIMK7LCB2b3VzIHJlZnVzZXogbGEgbm90aWZpY2F0aW9uIGRlIGTDqWNpc2lvbnMgc3VyIGxlIHBvcnRhaWwgc8OpY3VyaXPDqS4nLFxuICAgICdmb2Vobi1pbnB1dC5vcHRpb25hbCc6ICcoZmFjdWx0YXRpZiknLFxuICAgICdmb2Vobi1pbnB1dC5jbGVhci1idXR0b24ubGFiZWwnOiAnUsOpaW5pdGlhbGlzZXIgbGUgY2hhbXAnLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLmRheS5sYWJlbCc6ICdKb3VyJyxcbiAgICAnZm9laG4taW5wdXQtZGF0ZS5tb250aC5sYWJlbCc6ICdNb2lzJyxcbiAgICAnZm9laG4taW5wdXQtZGF0ZS55ZWFyLmxhYmVsJzogJ0FubsOpZScsXG4gICAgJ2ZvZWhuLWlucHV0LWVtYWlsLnN0YW5kYXJkLWhlbHAtdGV4dCc6XG4gICAgICAgIFwiTWVyY2kgZGUgc2Fpc2lyIGwnYWRyZXNzZSBlLW1haWwgZW4gbWludXNjdWxlc1wiLFxuICAgICdmb2Vobi1pbnB1dC1lbWFpbC5tb2RhbC50aXRsZSc6ICdBaWRlJyxcbiAgICAnZm9laG4taW5wdXQtZW1haWwubW9kYWwuY29udGVudCc6XG4gICAgICAgIFwiPHA+Vm91cyBuJ2Fycml2ZXogcGFzIMOgIHNhaXNpciB2b3RyZSBtYWlsID88L3A+XCIgK1xuICAgICAgICAnPHA+TWVyY2kgZFxcJ8OpY3JpcmUgw6AgPGEgaHJlZj1cIm1haWx0bzppbmZvLmN5YmVyQHZkLmNoXCI+aW5mby5jeWJlckB2ZC5jaDwvYT48L3A+JyxcbiAgICAnZm9laG4taW5wdXQtcGhvbmUuREVGQVVMVF9JTlRFUk5BVElPTkFMX0FORF9OT19TV0lTUyc6XG4gICAgICAgIFwiUHLDqWZpeGVyIGF2ZWMgbCdpbmRpY2F0aWYgZGUgdm90cmUgcGF5cyAoZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPlwiICtcbiAgICAgICAgJzxsaT4rMzM2MTIzNDU2NzgsPC9saT48bGk+KzQ5IDEyMyA0NTYgNzggOTAxIG91PC9saT48bGk+KzM5IDMxMiAzNDUgNjc4OTwvbGk+PC91bD4pJyxcbiAgICAnZm9laG4taW5wdXQtcGhvbmUuREVGQVVMVF9JTlRFUk5BVElPTkFMX0FORF9OT19TV0lTU19QSE9ORSc6XG4gICAgICAgIFwiUHLDqWZpeGVyIGF2ZWMgbCdpbmRpY2F0aWYgZGUgdm90cmUgcGF5cyAoZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPlwiICtcbiAgICAgICAgJzxsaT4rNDE3OTEyMzQ1NjcsPC9saT48bGk+MDA0MSA3OCAxMjMgNDUgNTYgb3U8L2xpPjxsaT4rMzMgNiAxMiAzNCA1NiA3ODwvbGk+PC91bD4pJyxcbiAgICAnZm9laG4taW5wdXQtcGhvbmUuREVGQVVMVF9JTlRFUk5BVElPTkFMX0FORF9OT19TV0lTU19NT0JJTEUnOlxuICAgICAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgICAgICc8bGk+KzQxMjExMjM0NTY3LDwvbGk+PGxpPjAwNDEgMjEgMTIzIDQ1IDU2IG91PC9saT48bGk+KzMzIDYgMTIgMzQgNTYgNzg8L2xpPjwvdWw+KScsXG4gICAgJ2ZvZWhuLWlucHV0LXBob25lLkRFRkFVTFRfSU5URVJOQVRJT05BTF9IRUxQX1RFWFQnOlxuICAgICAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgICAgICc8bGk+KzQxNzkxMjM0NTY3LDwvbGk+PGxpPis0MSAyMiAwMTIgMzQgNTYsPC9saT48bGk+MDA0MSA3OSAwMTIgMzQgNTY8L2xpPjxsaT5vdSArMzM2MTIzNDU2Nzg8L2xpPjwvdWw+KScsXG4gICAgJ2ZvZWhuLWlucHV0LXBob25lLkRFRkFVTFRfU1dJU1NfSEVMUF9URVhUJzpcbiAgICAgICAgXCJleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+PGxpPjA3OSAxMjMgNDUgNjcsPC9saT48bGk+MDIxMTIzNDU2Nyw8L2xpPjxsaT4rNDEgNzkgMTIzIDQ1IDY3IG91PC9saT48bGk+KzQxMjExMjM0NTY3PC9saT48L3VsPlwiLFxuICAgICdmb2Vobi1pbnB1dC1waG9uZS5ERUZBVUxUX1NXSVNTX1BIT05FX0hFTFBfVEVYVCc6XG4gICAgICAgIFwiZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPjxsaT4wMjExMjM0NTY3LDwvbGk+PGxpPjAyMSAxMjMgNDUgNjcsPC9saT48bGk+KzQxMjExMjM0NTY3IG91PC9saT48bGk+KzQxIDIxIDEyMyA0NSA2NzwvbGk+PC91bD5cIixcbiAgICAnZm9laG4taW5wdXQtcGhvbmUuREVGQVVMVF9TV0lTU19NT0JJTEVfUEhPTkVfSEVMUF9URVhUJzpcbiAgICAgICAgXCJleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+PGxpPjA3OTEyMzQ1NjcsPC9saT48bGk+MDc5IDEyMyA0NSA2Nyw8L2xpPjxsaT4rNDE3OTEyMzQ1Njcgb3U8L2xpPjxsaT4rNDEgNzkgMTIzIDQ1IDY3PC9saT48L3VsPlwiLFxuICAgICdmb2Vobi1pbnB1dC10aW1lLmhvdXJzLmxhYmVsJzogJ0hldXJlJyxcbiAgICAnZm9laG4taW5wdXQtdGltZS5taW51dGVzLmxhYmVsJzogJ01pbnV0ZXMnLFxuICAgICdmb2Vobi1pbnB1dC1udW1iZXIuc3RhbmRhcmQtaGVscC10ZXh0LmxhYmVsJzpcbiAgICAgICAgJ1NhaXNpciB1biBub21icmUgZW50cmUge21pblZhbHVlfSBldCB7bWF4VmFsdWV9JyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5jb3VudHJ5LmxhYmVsJzogJ1BheXMnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmxvY2FsaXR5LmxhYmVsJzogJ05QQSwgTG9jYWxpdMOpJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5zdHJlZXQuaGVscC10ZXh0JzogJ0V4ZW1wbGUgOiBBdmVudWUgZGUgbGEgU2FsbGF6JyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5zdHJlZXQubGFiZWwnOiAnUnVlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5ob3VzZU51bWJlci5sYWJlbCc6ICdOdW3DqXJvIGRlIHJ1ZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuaG91c2VOdW1iZXIuaGVscC10ZXh0JzpcbiAgICAgICAgXCJFeGVtcGxlIDogNDAgcG91ciB1bmUgYWRyZXNzZSDDoCBsJ0F2ZW51ZSBkZSBsYSBTYWxsYXogNDBcIixcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5wb3N0T2ZmaWNlQm94VGV4dC5sYWJlbCc6ICdDYXNlIHBvc3RhbGUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnBvc3RPZmZpY2VCb3hUZXh0LmhlbHAtdGV4dCc6XG4gICAgICAgICdFeGVtcGxlIDogQ2FzZSBwb3N0YWxlIDEyMiBvdSBDUDEyMiBvdSBDUCAxMjInLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmFkZHJlc3NMaW5lMS5sYWJlbCc6ICdjL28nLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmFkZHJlc3NMaW5lMi5sYWJlbCc6IFwiQ29tcGzDqW1lbnQgZCdhZHJlc3NlXCIsXG4gICAgJ2ZvZWhuLWlucHV0LWZvcmVpZ24tbG9jYWxpdHkuemlwQ29kZS5sYWJlbCc6ICdDb2RlIHBvc3RhbCcsXG4gICAgJ2ZvZWhuLWlucHV0LWZvcmVpZ24tbG9jYWxpdHkubG9jYWxpdHkubGFiZWwnOiAnTG9jYWxpdMOpJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5uZXh0LmxhYmVsJzogJ1N1aXZhbnQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnByZXZpb3VzLmxhYmVsJzogJ1Byw6ljw6lkZW50JyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi50cmFuc21pdC5sYWJlbCc6ICdUcmFuc21ldHRyZScsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24uY29udGludWUtbGF0ZXIubGFiZWwnOlxuICAgICAgICAnRW52b3llciB1biBsaWVuIHBvdXIgcmVwcmVuZHJlIGNldHRlIGRlbWFuZGUgcGx1cyB0YXJkJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci1hbHJlYWR5LXJlZ2lzdGVyZWQubGFiZWwnOlxuICAgICAgICAnTW9kaWZpZXIgbWVzIGluZm9ybWF0aW9ucyBkZSByZXByaXNlIGV0IGVudm95ZXIgdW4gbm91dmVhdSBsaWVuJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci1jb25uZWN0ZWQubGFiZWwnOlxuICAgICAgICAnRmluaXIgbGEgZGVtYW5kZSBwbHVzIHRhcmQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnJvdXRlLmluZGV4LnNlcGFyYXRvcic6ICdzdXInLFxuICAgICdmb2Vobi1wYWdlLmJyb3dzZXItbm90LXN1cHBvcnRlZCc6XG4gICAgICAgICdDZXR0ZSBwcmVzdGF0aW9uIG7igJllc3QgcGFzIGNvbXBhdGlibGUgYXZlYyB2b3RyZSBuYXZpZ2F0ZXVyLicsXG4gICAgJ2ZvZWhuLXBhZ2UuYnJvd3Nlci1kb3dubG9hZC1pbnZpdGF0aW9uJzpcbiAgICAgICAgJ05vdXMgdm91cyBpbnZpdG9ucyDDoCB1dGlsaXNlciB1bmUgdmVyc2lvbiByw6ljZW50ZSBkZScsXG4gICAgJ2ZvZWhuLXBhZ2UuY29udGludWUtd2l0aC1zYW1lLWJyb3dzZXInOiAnQ29udGludWVyIGF2ZWMgY2UgbmF2aWdhdGV1cicsXG4gICAgJ2ZvZWhuLXBhZ2UuYnJvd3Nlci1kb3dubG9hZC1saXN0Lm91JzogJ291JyxcbiAgICAnZm9laG4tcGFnZS5leHRlcm5hbC1saW5rLnNyT25seSc6ICcobGllbiBleHRlcm5lKScsXG4gICAgJ2ZvZWhuLXBhZ2UtY291bnRlci5sYWJlbCc6ICdQYWdlIHtjdXJyZW50UGFnZX0gc3VyIHtwYWdlQ291bnR9JyxcbiAgICAnZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmNvdW50LWRvd24tbWVzc2FnZSc6XG4gICAgICAgICc8cCBjbGFzcz1cIm1iLTBcIj5Wb3RyZSBzZXNzaW9uIGV4cGlyZSBkYW5zIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPicgK1xuICAgICAgICAne2NvdW50RG93blZhbHVlfTwvc3Bhbj48L3A+PHAgY2xhc3M9XCJtYi0wXCI+Q2xpcXVleiBzdXIgPHNwYW4gY2xhc3M9XCJmdy1ib2xkXCI+U3VpdmFudCcgK1xuICAgICAgICAnPC9zcGFuPiBlbiBiYXMgZGUgbGEgcGFnZSBwb3VyIGVucmVnaXN0cmVyIHZvcyBkb25uw6llcy48L3A+JyxcbiAgICAnZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmNvdW50LWRvd24tbWVzc2FnZS5zci1vbmx5JzpcbiAgICAgICAgJ1ZvdHJlIHNlc3Npb24gZXhwaXJlIGRhbnMge2NvdW50RG93blZhbHVlfS4gJyArXG4gICAgICAgICdDbGlxdWV6IHN1ciBTdWl2YW50IGVuIGJhcyBkZSBsYSBwYWdlIHBvdXIgZW5yZWdpc3RyZXIgdm9zIGRvbm7DqWVzLicsXG4gICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5leHBpcmVkLW1lc3NhZ2UnOlxuICAgICAgICAnPHAgY2xhc3M9XCJoMyBteS0wXCI+Vm90cmUgc2Vzc2lvbiBhIGV4cGlyw6kuPC9wPicsXG4gICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5leHBpcmVkLW1lc3NhZ2Uuc3Itb25seSc6XG4gICAgICAgICdWb3RyZSBzZXNzaW9uIGEgZXhwaXLDqS4nLFxuICAgICdmb2Vobi10cmFuc21pdC13YWl0aW5nLW1vZGFsLnRpdGxlJzogJ1RyYW5zbWlzc2lvbiBlbiBjb3VycycsXG4gICAgJ2ZvZWhuLXRyYW5zbWl0LXdhaXRpbmctbW9kYWwubWVzc2FnZSc6XG4gICAgICAgICdNZXJjaSBkZSBwYXRpZW50ZXIgcGVuZGFudCBsYSB0cmFuc21pc3Npb24gZGUgdm90cmUgZGVtYW5kZS4nLFxuICAgICdmb2Vobi10cmFuc21pdC13YWl0aW5nLW1vZGFsLmhlbHAnOlxuICAgICAgICAnTmUgZmVybWV6IHBhcyB2b3RyZSBuYXZpZ2F0ZXVyIGV0IG5lIHJhZnJhw65jaGlzc2V6IHBhcyB2b3RyZSBwYWdlLicsXG4gICAgJ2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLmxhYmVsJzogJ0xhIGRlbWFuZGUgc2VyYSBlZmZlY3R1w6llIHBvdXInLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJzogJ0NvbmZpcm1hdGlvbicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uc3VjY2Vzcy1sYWJlbCc6ICdEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubmV4dC1zdGVwLnN1Y2Nlc3MtbGFiZWwnOiAnUsOpcG9uc2UgdHJhbnNtaXNlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5hYm9ydC1sYWJlbCc6ICdEZW1hbmRlIGFiYW5kb25uw6llJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZWZlcmVuY2UtdGl0bGUubGFiZWwnOlxuICAgICAgICAnTGUgbnVtw6lybyBkZSByw6lmw6lyZW5jZSBkZSB2b3RyZSBkZW1hbmRlIGVzdCcsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubWFpbC1zZW50LmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcmVjZXZyZXogdW4gZW1haWwgZGUgY29uZmlybWF0aW9uIGRhbnMgcXVlbHF1ZXMgaW5zdGFudHMuJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJzpcbiAgICAgICAgJ1TDqWzDqWNoYXJnZXIgbGEgZGVtYW5kZSAocGRmKScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZSc6XG4gICAgICAgICdWb3VzIGF2ZXogZWZmZWN0dcOpIGxhIHByZW1pw6hyZSDDqXRhcGUgZGUgdm90cmUgZMOpbWFyY2hlIGF2ZWMgc3VjY8OocyAhJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlSWZBYmFuZG9uZWQnOlxuICAgICAgICBcIkxhIGRlbWFuZGUgw6AgbGFxdWVsbGUgdm91cyBlc3NheWV6IGQnYWNjw6lkZXIgYSDDqXTDqSBhYmFuZG9ubsOpZS5cIixcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leGl0LWJ1dHRvbic6ICdUZXJtaW5lcicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24tY29ubmVjdGVkJzogJ1NlIGTDqWNvbm5lY3RlcicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXh0cmEtY29udGVudCc6ICcgJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi50cmFuc21pc3Npb24taW5mb3JtYXRpb24ubGFiZWwnOlxuICAgICAgICAnSW5mb3JtYXRpb24gc3VpdGUgw6AgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1kZXRhaWwtbGluay5sYWJlbCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjb25zdWx0ZXIgdm90cmUgZGVtYW5kZSBlbiBjbGlxdWFudCBzdXIgOicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLXByb2Nlc3NpbmctcHJvZ3Jlc3MtbGluay5sYWJlbCc6XG4gICAgICAgIFwiVm91cyBwb3V2ZXogc3VpdnJlIGwnYXZhbmNlbWVudCBkdSB0cmFpdGVtZW50IGRlIHZvdHJlIGRlbWFuZGUgXCIgK1xuICAgICAgICAnZW4gY2xpcXVhbnQgc3VyIDonLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1pbi1wcm9ncmVzcy50aXRsZSc6ICdEZW1hbmRlIGVuIGNvdXJzJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZXN1bWUtbXktZGVtYW5kLmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IHJlcHJlbmRyZSB2b3RyZSBkZW1hbmRlIGVuIGNsaXF1YW50IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlc3VtZS1teS1kZW1hbmQuYnV0dG9uJzogJ1JlcHJlbmRyZSBtYSBkZW1hbmRlJyxcbiAgICAnZ2VzZGVtLmRvd25sb2FkLXBkZi5idXR0b24udGl0bGUnOiAnVMOpbMOpY2hhcmdlciBsZSBQREYnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLnNhdmUubGFiZWwnOlxuICAgICAgICAnTGVzIGRvbm7DqWVzIGRlIHZvdHJlIGRlbWFuZGUgZW5yZWdpc3Ryw6llIGxlIHtkYXRlfSBvbnQgw6l0w6kgY2hhcmfDqWVzLicsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4uaW52YWxpZC1vdHAubGFiZWwnOlxuICAgICAgICBcIkxlIG1vdCBkZSBwYXNzZSBzYWlzaSBuJ2VzdCBwYXMgdmFsaWRlXCIsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4ucGFzc3dvcmQtZ2VuZXJhdGlvbi1mYWlsZWQubGFiZWwnOlxuICAgICAgICAnSW1wb3NzaWJsZSBkZSBnw6luw6lyZXIgdW4gbW90IGRlIHBhc3NlLCB2ZXVpbGxleiByw6llc3NheWVyIHBsdXMgdGFyZC4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLmV4cGlyZWQtc2Vzc2lvbi50aXRsZSc6ICdTZXNzaW9uIGV4cGlyw6llJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1sb2dpbi5leHBpcmVkLXNlc3Npb24ubGFiZWwnOlxuICAgICAgICAnVm90cmUgc2Vzc2lvbiBhIGV4cGlyw6ksIHZldWlsbGV6IHJlY29tbWVuY2VyIHZvdHJlIHNhaXNpZScsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4uZXhwaXJlZC1zZXNzaW9uLm9rLWJ1dHRvbic6ICdSZWNvbW1lbmNlcicsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmN1cnJlbnQtaW5mby5wcmV2aWV3JzpcbiAgICAgICAgJ1VuIGxpZW4gZGUgcmVwcmlzZSBhIMOpdMOpIGVudm95w6kgw6AgPGk+e3JlY292ZXJ5TWFpbH08L2k+ICh7bGFzdFJlZ2lzdHJhdGlvbn0pJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5jdXJyZW50LWluZm8nOlxuICAgICAgICAnPHA+VW4gbGllbiBkZSByZXByaXNlIHZvdXMgYSDDqXTDqSBlbnZvecOpIMOgIGxhIGRhdGUgc3VpdmFudGUgOiA8c3Ryb25nPntsYXN0UmVnaXN0cmF0aW9ufTwvc3Ryb25nPjwvcD4nICtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgXCI8cD5MYSBkZW1hbmRlIHBvdXJyYSDDqnRyZSByZXByaXNlIHBlbmRhbnQgPHN0cm9uZz57ZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljfSBqb3Vye3BsdXJhbH08L3N0cm9uZz4gYXByw6hzIHZvdHJlIGRlcm5pw6hyZSBtb2RpZmljYXRpb24sIG1haXMgdm91cyBkZXZleiBxdWFuZCBtw6ptZSByZXNwZWN0ZXIgbGEgZGF0ZSBsaW1pdGUgcG91ciBzb24gZMOpcMO0dCwgcydpbCB5IGVuIGEgdW5lLiBFbnN1aXRlIGVsbGUgc2VyYSBzdXBwcmltw6llIGTDqWZpbml0aXZlbWVudCBkdSBwb3J0YWlsIGV0IHZvdXMgZGV2cmV6IGZhaXJlIHVuZSBub3V2ZWxsZSBkZW1hbmRlLjwvcD5cIiArXG4gICAgICAgICc8cD5Wb3VsZXotdm91cyByZW52b3llciB1biBsaWVuID8gPGJyLz4nICtcbiAgICAgICAgXCJWb3VzIHBvdXZleiBhdXNzaSBjaGFuZ2VyIGwnYWRyZXNzZSBkZSBkZXN0aW5hdGlvbiBldCBsZSBudW3DqXJvIGRlIG1vYmlsZSBwb3VyIGxhIHJlcHJpc2U8L3A+XCIsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm1vZGFsSGVhZGVyVGV4dCc6XG4gICAgICAgICdJbmZvcm1hdGlvbnMgcG91ciBsYSByZXByaXNlIGRlIGxhIGRlbWFuZGUnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5jb25uZWN0ZWQuaW5mbyc6XG4gICAgICAgICc8cD5Wb3MgZG9ubsOpZXMgb250IMOpdMOpIHNhdXZlZ2FyZMOpZXMsIHZvdXMgcG91dmV6IGFjY8OpZGVyIMOgIGNldHRlIGRlbWFuZGUgZGFucyBsYSBsaXN0ZSA6JyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8uZHJhZnQtbGluay10ZXh0JzpcbiAgICAgICAgJ2RlbWFuZGVzIGVuIGNvdXJzIGRlIHNhaXNpZScsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQubm90LXJlZ2lzdGVyZWQuaW5mbyc6XG4gICAgICAgICc8cD5Wb3VzIGF2ZXogbGEgcG9zc2liaWxpdMOpIGRlIHJlcHJlbmRyZSB2b3RyZSBkZW1hbmRlIHBsdXMgdGFyZCBlbiBjb21wbMOpdGFudCBjZSBmb3JtdWxhaXJlLjwvcD4nICtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgXCI8cD5MYSBkZW1hbmRlIHBvdXJyYSDDqnRyZSByZXByaXNlIHBlbmRhbnQgPHN0cm9uZz57ZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljfSBqb3Vye3BsdXJhbH08L3N0cm9uZz4gYXByw6hzIHZvdHJlIGRlcm5pw6hyZSBtb2RpZmljYXRpb24sIG1haXMgdm91cyBkZXZleiBxdWFuZCBtw6ptZSByZXNwZWN0ZXIgbGEgZGF0ZSBsaW1pdGUgcG91ciBzb24gZMOpcMO0dCwgcydpbCB5IGVuIGEgdW5lLiBFbnN1aXRlIGVsbGUgc2VyYSBzdXBwcmltw6llIGTDqWZpbml0aXZlbWVudCBkdSBwb3J0YWlsIGV0IHZvdXMgZGV2cmV6IGZhaXJlIHVuZSBub3V2ZWxsZSBkZW1hbmRlLjwvcD5cIiArXG4gICAgICAgICc8cCBjbGFzcz1cInNtYWxsIG1iLTBcIj4nICtcbiAgICAgICAgXCI8aT5MZXMgaW5mb3JtYXRpb25zIGRlbWFuZMOpZXMgc29udCB1bmlxdWVtZW50IHV0aWxpc8OpZXMgcG91ciB2b3VzIHBlcm1ldHRyZSBkJ2VmZmVjdHVlciBsYSByZXByaXNlIGRlIGRlbWFuZGUuPC9pPlwiICtcbiAgICAgICAgJzwvcD4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmluZm8uc2VudCc6XG4gICAgICAgIFwiPHA+VW4gbWVzc2FnZSBjb250ZW5hbnQgbGUgbGllbiBkZSByZXByaXNlIGRlIGxhIGRlbWFuZGUgYSDDqXTDqSBlbnZvecOpIMOgIGwnYWRyZXNzZSA8c3Ryb25nPntyZWNvdmVyeU1haWx9PC9zdHJvbmc+LjwvcD5cIiArXG4gICAgICAgICc8cD4nICtcbiAgICAgICAgJ1ZvdXMgcG91dmV6IGNsaXF1ZXIgc3VyIGNlIGxpZW4gcG91ciByZXByZW5kcmUgbGEgZGVtYW5kZSBlbiBzYWlzaXNzYW50IGxlIGNvZGUgcXVpIHNlcmEgZW52b3nDqSBhdSAnICtcbiAgICAgICAgJzxzdHJvbmc+e3JlY292ZXJ5TW9iaWxlfTwvc3Ryb25nPi4nICtcbiAgICAgICAgJzwvcD4nICtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgXCI8cD5MYSBkZW1hbmRlIHBvdXJyYSDDqnRyZSByZXByaXNlIHBlbmRhbnQgPHN0cm9uZz57ZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljfSBqb3Vye3BsdXJhbH08L3N0cm9uZz4gYXByw6hzIHZvdHJlIGRlcm5pw6hyZSBtb2RpZmljYXRpb24sIG1haXMgdm91cyBkZXZleiBxdWFuZCBtw6ptZSByZXNwZWN0ZXIgbGEgZGF0ZSBsaW1pdGUgcG91ciBzb24gZMOpcMO0dCwgcydpbCB5IGVuIGEgdW5lLiBFbnN1aXRlIGVsbGUgc2VyYSBzdXBwcmltw6llIGTDqWZpbml0aXZlbWVudCBkdSBwb3J0YWlsIGV0IHZvdXMgZGV2cmV6IGZhaXJlIHVuZSBub3V2ZWxsZSBkZW1hbmRlLjwvcD5cIixcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5lbWFpbC5sYWJlbCc6ICdFbWFpbCcsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQuZW1haWwuaGVscC10ZXh0JzpcbiAgICAgICAgJ1BhciBleGVtcGxlLCBqb2huQGRvZS5jaCcsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQubW9iaWxlLmxhYmVsJzpcbiAgICAgICAgJ051bcOpcm8gZGUgdMOpbMOpcGhvbmUgbW9iaWxlJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5yZWZlcmVuY2UtaW50ZXJuZS5sYWJlbCc6XG4gICAgICAgICdWb3RyZSByw6lmw6lyZW5jZScsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQucmVmZXJlbmNlLWludGVybmUuaGVscC10ZXh0JzpcbiAgICAgICAgJ1ZvdHJlIHLDqWbDqXJlbmNlIHNlcmEgdXRpbGlzw6llIGNvbW1lIG9iamV0IGR1IG1lc3NhZ2UgcXVpIHZvdXMgc2VyYSBlbnZvecOpIGV0IHZvdXMgcGVybWV0dHJhIGRlIHJldHJvdXZlciBmYWNpbGVtZW50IGNlIG1lc3NhZ2UnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5jYW5jZWwuYnV0dG9uJzogJ0Zlcm1lcicsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLnNhdmUuYnV0dG9uJzogJ1NhdXZlZ2FyZGVyJyxcbiAgICAnZ2VzZGVtLWhhbmRsZXIuc2F2ZS1jb25maXJtYXRpb24ubGFiZWwnOlxuICAgICAgICAnVm9zIGRvbm7DqWVzIG9udCDDqXTDqSBzYXV2ZWdhcmTDqWVzIGRhbnMgdm90cmUgZXNwYWNlIHPDqWN1cmlzw6knLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci1idXR0b24uaWNvbi10aXRsZSc6ICdBZmZpY2hlciBsZSBjYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLnNjcmVlbi1yZWFkZXIuc2VsZWN0ZWQtZGF0ZSc6XG4gICAgICAgICdEYXRlIHPDqWxlY3Rpb25uw6llIDoge3NlbGVjdGVkRGF0ZX0nLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5jb250YWluZXIuYXJpYS1sYWJlbCc6ICdDYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuY2xvc2UtYnV0dG9uLmFyaWEtbGFiZWwnOiAnRmVybWVyIGxlIGNhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5wcmV2aW91cy1tb250aC1idXR0b24udGl0bGUnOiAnTW9pcyBwcsOpY8OpZGVudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLm5leHQtbW9udGgtYnV0dG9uLnRpdGxlJzogJ01vaXMgc3VpdmFudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIuYWN0dWFsLW1vbnRoLWRpc3BsYXllZCc6XG4gICAgICAgICdNb2lzIGFjdHVlbGxlbWVudCBhZmZpY2jDqSA6JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5tb250aC1pbnB1dC5sYWJlbCc6ICdTw6lsZWN0aW9ubmVyIHVuIG1vaXMnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLnllYXItaW5wdXQubGFiZWwnOlxuICAgICAgICAnU8OpbGVjdGlvbm5lciB1bmUgYW5uw6llJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5ncmlkLnRpdGxlJzogJ1PDqWxlY3RldXIgZGUgZGF0ZXMnLFxuICAgICdlcGF5bWVudC1mb3JtLmVycm9ycy50aXRsZSc6IFwiTGUgcGFpZW1lbnQgbidhIHB1IMOqdHJlIGVmZmVjdHXDqVwiLFxuICAgICdlcGF5bWVudC1mb3JtLmVycm9ycy5iYWNrJzpcbiAgICAgICAgJ1ZvdXMgYXZleiBhYmFuZG9ubsOpIGxlIHBhaWVtZW50IMOpbGVjdHJvbmlxdWUuJyxcbiAgICAnZXBheW1lbnQtZm9ybS5lcnJvcnMuY2FuY2VsJzpcbiAgICAgICAgJ1ZvdXMgYXZleiBhYmFuZG9ubsOpIGxlIHBhaWVtZW50IMOpbGVjdHJvbmlxdWUuJyxcbiAgICAnZXBheW1lbnQtZm9ybS5lcnJvcnMucmVmdXNlZCc6XG4gICAgICAgICdMZSBwYWllbWVudCBhIMOpdMOpIHJlZnVzw6kgcGFyIGxlIGZvdXJuaXNzZXVyIGRlIHBhaWVtZW50IMOpbGVjdHJvbmlxdWUuJyxcbiAgICAnZXBheW1lbnQtZm9ybS5lcnJvcnMudW5rbm93bi1lcnJvcic6XG4gICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGR1IHBhaWVtZW50Ljxici8+JyArXG4gICAgICAgICdWZXVpbGxleiByw6llc3NheWVyIG91IGNob2lzaXIgdW4gYXV0cmUgbW9kZSBkZSBwYWllbWVudCBzaSBkaXNwb25pYmxlLicsXG4gICAgJ2VwYXltZW50LWZvcm0uZXJyb3JzLmRlZmF1bHQnOlxuICAgICAgICAnVW4gcHJvYmzDqG1lIG5vbiBpZGVudGlmacOpIGVzdCBzdXJ2ZW51IGxvcnMgZHUgcGFpZW1lbnQgw6lsZWN0cm9uaXF1ZS4nLFxuICAgICdlcGF5bWVudC1mb3JtLnJlZGlyZWN0aW9uLnRpdGxlJzogJ1BhaWVtZW50IGVuIHByw6lwYXJhdGlvbicsXG4gICAgJ2VwYXltZW50LWZvcm0ucmVkaXJlY3Rpb24udGV4dCc6XG4gICAgICAgICdWb3VzIGFsbGV6IMOqdHJlIHJlZGlyaWfDqSB2ZXJzIG5vdHJlIGZvdXJuaXNzZXVyIGRlIHBhaWVtZW50IMOpbGVjdHJvbmlxdWUuJyxcbiAgICAnZXBheW1lbnQtZm9ybS5yZWRpcmVjdGlvbi5oZWxwJzpcbiAgICAgICAgJ05lIGZlcm1leiBwYXMgdm90cmUgbmF2aWdhdGV1ciBldCBuZSByYWZyYcOuY2hpc3NleiBwYXMgdm90cmUgcGFnZS4nLFxuICAgICdlcGF5bWVudC5wZW5kaW5nLXBheW1lbnQudGl0bGUnOiAnUGFpZW1lbnQgZW4gY291cnMnLFxuICAgICdlcGF5bWVudC5wZW5kaW5nLXBheW1lbnQudGV4dCc6XG4gICAgICAgIFwiVW4gcGFpZW1lbnQgZXN0IGTDqWrDoCBlbiBjb3VycywgY2xpcXVleiBzdXIgJ1JldG91ciBhdSBwYWllbWVudCcgcG91ciBsZSBmaW5hbGlzZXIsIG91IHBvdXIgbCdhbm51bGVyIGV4cGxpY2l0ZW1lbnQuXCIsXG4gICAgJ2VwYXltZW50LnBlbmRpbmctcGF5bWVudC5idXR0b24nOiAnUmV0b3VyIGF1IHBhaWVtZW50JyxcbiAgICAnZXJyb3JzLklNQUdFX05PVF9SRUFEQUJMRSc6XG4gICAgICAgIFwiVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIG4nZXN0IHBhcyB1bmUgaW1hZ2UgdmFsaWRlXCIsXG4gICAgJ2Vycm9ycy5GSUxFTkFNRV9UT09fTE9ORyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1biBub20gZHUgZmljaGllciBxdWkgZXhjw6hkZSBsZSBtYXhpbXVtIGF1dG9yaXPDqSA6ICUyJHMgY2FyYWN0w6hyZXMnLFxuICAgICdlcnJvcnMuRklMRV9UT09fU01BTEwnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBpbmbDqXJpZXVyZSBhdSBtaW5pbXVtIGV4aWfDqSA6ICUyJHMgYnl0ZXMnLFxuICAgICdlcnJvcnMuUERGX1BBU1NXT1JEX0xPQ0tFRCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHZlcnJvdWlsbMOpZSBwYXIgdW4gbW90IGRlIHBhc3NlJyxcbiAgICAnZXJyb3JzLlBERl9DT05UQUlOU19TQ1JJUFQnOiAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIHNjcmlwdCcsXG4gICAgJ2Vycm9ycy5QREZfSEFTX0FUVEFDSE1FTlRTJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBjb250aWVudCB1biBmaWNoaWVyIGF0dGFjaMOpJyxcbiAgICAnZXJyb3JzLkVNUFRZX1BERic6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHZpZGUnLFxuICAgICdlcnJvcnMuUERGX0dFTkVSQUxfUFJPQkxFTSc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IGNvcnJvbXB1ZSBbPGEgaHJlZj1cImh0dHBzOi8vd3d3LnZkLmNoL3BhZ2UvMjAyMTY3NS9cIiB0YXJnZXQ9XCJfYmxhbmtcIj5BaWRlPC9hPl0nLFxuICAgICdlcnJvcnMuUERGX0hBU19SRVNUUklDVElPTlMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGVzdCBwcm90w6lnw6llLiBWZXVpbGxleiBlbmxldmVyIHRvdXRlcyBsZXMgcHJvdGVjdGlvbnMgYXZhbnQgZGUgam9pbmRyZSBjZSBmaWNoaWVyLicsXG4gICAgJ2Vycm9ycy5GSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nOlxuICAgICAgICAnTGUgbm9tIGRlIHZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBjb250aWVudCBkZXMgY2FyYWN0w6hyZXMgaW50ZXJkaXRzLicsXG4gICAgJ2Vycm9ycy40MDYnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIG5lIGNvcnJlc3BvbmQgcGFzIGF1IHR5cGUgZGUgY29udGVudSBhdXRvcmlzw6knLFxuICAgICdlcnJvcnMuNDEzJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBhIHVuZSB0YWlsbGUgc3Vww6lyaWV1cmUgb3Ugw6lnYWxlIMOgIGxhIGxpbWl0ZSBhdXRvcmlzw6llIDogJTIkcyBNbycsXG4gICAgJ2Vycm9ycy40MTUnOlxuICAgICAgICAnTGUgdHlwZSBkZSB2b3RyZSBwacOoY2Ugam9pbnRlICUxJHMgbmUgZmlndXJlIHBhcyBwYXJtaSBjZXV4IHF1aSBzb250IGF1dG9yaXPDqXMgOiBcIiUyJHNcIicsXG4gICAgJ2Vycm9ycy40MjInOiAnRWNoZWMgZGUgbGEgc2F1dmVnYXJkZSBkZSBsYSBwacOoY2Ugam9pbnRlICUxJHMnLFxuICAgICdlcnJvcnMuNTAwJzpcbiAgICAgICAgJ0VjaGVjIGRlIGxhIHNhdXZlZ2FyZGUgZGUgbGEgcGnDqGNlIGpvaW50ZSAlMSRzLiBWZXVpbGxleiByw6llc3NheWVyIGF2ZWMgdW4gYXV0cmUgZmljaGllci4nLFxuICAgICdlcnJvcnMuc3VtbWFyeS50aXRsZSc6ICdJbCB5IGEgdW4gcHJvYmzDqG1lJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuY2hvb3NlLWJ1dHRvbi1sYWJlbCc6ICdDaG9pc2lzc2V6IHVuIGRvY3VtZW50JyxcbiAgICAnZm9laG4tdXBsb2FkZXIuY2hvb3NlLWJ1dHRvbi1sYWJlbC1tdWx0aXBsZSc6XG4gICAgICAgICdDaG9pc2lzc2V6IHVuIG91IHBsdXNpZXVycyBkb2N1bWVudHMnLFxuICAgICdmb2Vobi11cGxvYWRlci5kcm9wLXpvbmUtbGFiZWwnOiAnRMOpcG9zZXogdW4gZG9jdW1lbnQgb3UgY2xpcXVleiBpY2knLFxuICAgICdmb2Vobi11cGxvYWRlci5kcm9wLXpvbmUtbGFiZWwtbXVsdGlwbGUnOlxuICAgICAgICAnRMOpcG9zZXogdW4gb3UgcGx1c2lldXJzIGRvY3VtZW50cyBvdSBjbGlxdWV6IGljaScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRlbGV0ZS1jb25maXJtYXRpb24tbWVzc2FnZSc6XG4gICAgICAgICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBzdXBwcmltZXIgY2UgZmljaGllciA/JyxcbiAgICAnZm9laG4tdXBsb2FkZXIuYWJici1tZWdhb2N0ZXQnOiAnTW8nLFxuICAgICdmb2Vobi11cGxvYWRlci5hYmJyLW1lZ2FvY3RldC10aXRsZSc6ICdNZWdhb2N0ZXQnLFxuICAgICdmb2Vobi11cGxvYWRlci5kZWxldGUtaWNvbi10aXRsZSc6ICdTdXBwcmltZXIge2RvY05hbWV9JyxcbiAgICAnZm9laG4tdXBsb2FkZXIubWF4LXVwbG9hZC1zZWxlY3Rpb24tcmVhY2hlZCc6XG4gICAgICAgICdWb3VzIG5lIHBvdXZleiBwYXMgdMOpbMOpY2hhcmdlciBwbHVzIGRlIHttYXhTZWxlY3Rpb259IGZpY2hpZXJzIMOgIGxhIGZvaXMuJyxcbiAgICAnZm9laG4tdXBsb2FkZXIubWF4LWZpbGVzLWNvdW50LXJlYWNoZWQnOlxuICAgICAgICAnTGUgbm9tYnJlIHRvdGFsIGRlIGZpY2hpZXJzIHTDqWzDqWNoYXJnw6lzIG5lIGRvaXQgcGFzIGTDqXBhc3NlciB7bWF4RmlsZXNDb3VudH0gZmljaGllcnMuJyxcbiAgICAnZm9laG4tdXBsb2FkZXIucGFnZS1tYXgtZmlsZXMtY291bnQtcmVhY2hlZCc6XG4gICAgICAgICdMZSBub21icmUgdG90YWwgZGUgZmljaGllcnMgdMOpbMOpY2hhcmfDqXMgbmUgZG9pdCBwYXMgZMOpcGFzc2VyIHtwYWdlTWF4RmlsZXNDb3VudH0gZmljaGllcnMuJyxcbiAgICAnZm9laG4tdXBsb2FkZXIubWF4LWZpbGVzLXNpemUtcmVhY2hlZCc6XG4gICAgICAgICdMYSB0YWlsbGUgdG90YWxlIGRlcyBmaWNoaWVycyB0w6lsw6ljaGFyZ8OpcyBuZSBkb2l0IHBhcyBkw6lwYXNzZXIge21heEZpbGVzU2l6ZUluTW99IE1lZ2FvY3RldHMgKE1vKS4nLFxuICAgICdmb2Vobi11cGxvYWRlci5wYWdlLW1heC1maWxlcy1zaXplLXJlYWNoZWQnOlxuICAgICAgICAnTGEgdGFpbGxlIHRvdGFsZSBkZXMgZmljaGllcnMgdMOpbMOpY2hhcmfDqXMgbmUgZG9pdCBwYXMgZMOpcGFzc2VyIHtwYWdlTWF4RmlsZXNTaXplSW5Nb30gTWVnYW9jdGV0cyAoTW8pLicsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmZpbGVzLXNhdmVkLXN1Y2Nlc3MtbWVzc2FnZSc6XG4gICAgICAgICd7c3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50fSBmaWNoaWVyKHMpIHNhdXZlZ2FyZMOpKHMpIGF2ZWMgc3VjY8OocycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLnRyYW5zbWlzc2lvbi1lcnJvci1tZXNzYWdlJzpcbiAgICAgICAgJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvcyBkb2N1bWVudHMnLFxuICAgICdmb2Vobi11cGxvYWRlci5maWxlcy1kZWxldGVkLXN1Y2Nlc3MtbWVzc2FnZSc6XG4gICAgICAgICdTdXBwcmVzc2lvbiBkdSBmaWNoaWVyIHtmaWxlbmFtZX0gcsOpdXNzaWUnLFxuICAgICdmb2Vobi11cGxvYWRlci5kZWxldGUtZXJyb3ItbWVzc2FnZSc6XG4gICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIHZvdHJlIGRvY3VtZW50JyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLXJlYWRvbmx5LWVycm9yLW1lc3NhZ2UnOlxuICAgICAgICAnVW4gZG9jdW1lbnQgZW4gbGVjdHVyZSBzZXVsZSBuZSBwZXV0IHBhcyDDqnRyZSBzdXBwcmltw6knLFxuICAgICdmb2Vobi11cGxvYWRlci51bmtub3duLWVycm9yLW1lc3NhZ2UnOlxuICAgICAgICAnSW1wb3NzaWJsZSBkZSB0cmFuc21ldHRyZSBsZSBmaWNoaWVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2hvb3NlLWJ1dHRvbi1sYWJlbCc6ICdDaG9pc2lzc2V6IHVuZSBwaG90bycsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctbGFiZWwnOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmludmFsaWQtZmlsZS10eXBlJzpcbiAgICAgICAgJ0xlIHR5cGUgZGUgdm90cmUgcGnDqGNlIGpvaW50ZSB7ZmlsZW5hbWV9IG5lIGZpZ3VyZSBwYXMgcGFybWkgY2V1eCBxdWkgc29udCBhdXRvcmlzw6lzIDogXCJ7YWNjZXB0Rm9ybWF0c31cIicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctZmFpbHVyZS1sYWJlbCc6XG4gICAgICAgICdJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgcGhvdG8gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC52YWxpZGF0ZS1zZWxlY3Rpb24tbGFiZWwnOiAnVmFsaWRlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCc6ICdBbm51bGVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnOlxuICAgICAgICAnTWVyY2kgZGUgdmFsaWRlciB2b3RyZSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnOiAnU3VwcHJpbWVyJyxcbiAgICAnZm9laG4tc2VsZWN0Lm5vLXNlbGVjdGlvbi5sYWJlbCc6ICctJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cyc6ICd7dG90YWx9IMOpbMOpbWVudHMgdHJvdXbDqXMnLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnOiAnMSDDqWzDqW1lbnQgdHJvdXbDqScsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMuMCc6ICdBdWN1biByw6lzdWx0YXQnLFxuICAgICdmb2Vobi10YWJsZS5oZWFkZXIuYWN0aW9ucyc6ICdBY3Rpb25zJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMSc6ICdTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxLnNyT25seSc6ICdFdGFwZSAxIHN1ciAzLCBTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyJzogJ1bDqXJpZmljYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyLnNyT25seSc6ICdFdGFwZSAyIHN1ciAzLCBWw6lyaWZpY2F0aW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMyc6ICdUcmFuc21pc3Npb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzLnNyT25seSc6XG4gICAgICAgICdFdGFwZSAzIHN1ciAzLCBEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC5kZWxldGUnOlxuICAgICAgICAnU3VwcHJpbWVyIHtlbGVtZW50TGFiZWx9JyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5kZWxldGVkJzpcbiAgICAgICAgJ3tlbGVtZW50TGFiZWx9IGEgw6l0w6kgc3VwcHJpbcOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuYWRkZWQnOlxuICAgICAgICAne2VsZW1lbnRMYWJlbH0gYSDDqXTDqSBham91dMOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC1pdGVtcy1saXN0LWxlZ2VuZCc6XG4gICAgICAgICdFbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1mb2N1cy5uby1lbGVtZW50LXRvLWRlbGV0ZSc6XG4gICAgICAgICdBdWN1biDDqWzDqW1lbnQgc8OpbGVjdGlvbm7DqS4nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1zZWxlY3RlZC1lbGVtZW50JzpcbiAgICAgICAgJyhzw6lsZWN0aW9uIHBhciBkw6lmYXV0KScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5hdXRvY29tcGxldGUuZW1wdHktbWVzc2FnZSc6XG4gICAgICAgICdUb3VzIGxlcyDDqWzDqW1lbnRzIGRlIGxhIGxpc3RlIGRlIHByb3Bvc2l0aW9uIG9udCBkw6lqw6Agw6l0w6kgYWpvdXTDqXMuJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJzpcbiAgICAgICAgJ1PDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUgZGUgcmVjaGVyY2hlJyArXG4gICAgICAgIFwiIGNpLWRlc3NvdXMgcG91ciBsJ2Fqb3V0ZXIgw6Agdm90cmUgc8OpbGVjdGlvbi5cIixcbiAgICAnZm9laG4tYWdlbmRhLmNhbGVuZGFyLWluZGlzcG9uaWJsZSc6XG4gICAgICAgICdMZSBjYWxlbmRyaWVyIGRlcyByZW5kZXotdm91cyBlc3QgYWN0dWVsbGVtZW50IGluZGlzcG9uaWJsZS4nLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IuZmlyc3QtcGFydCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjaGFuZ2VyIGRlIHNlbWFpbmUgYXUgbW95ZW4gZGUnLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IudG9wLW5leHQtcGFydCc6ICdsYSBwYWdpbmF0aW9uIGNpLWRlc3NvdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnBhZ2luYXRpb24tYW5jaG9yLmJvdHRvbS1uZXh0LXBhcnQnOlxuICAgICAgICAnbGEgcGFnaW5hdGlvbiBjaS1kZXNzdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnRpbWVzbG90LnNlbGVjdGVkJzogJyBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5vLWRpc3BvJzogJyhhdWN1bmUgZGlzcG9uaWJpbGl0w6kpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5ici1kaXNwbyc6ICd7bmJFbGVtZW50c30gZGlzcG9uaWJpbGl0w6lzJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNlbGVjdGVkLXRpbWUnOlxuICAgICAgICAne3RpbWVTZWxlY3RlZFZhbHVlfSBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbW9yZS1zci1vbmx5JzpcbiAgICAgICAgJ0FmZmljaGVyIGxlcyB7bmJyRWxlbWVudHNIaWRkZW59IGRpc3BvbmliaWxpdMOpcyBtYXNxdcOpZXMnLFxuICAgICdmb2Vobi5hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2hvdy1tb3JlJzpcbiAgICAgICAgJ0FmZmljaGVyIHBsdXMgKHtuYnJFbGVtZW50c0hpZGRlbn0pJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbGVzcyc6ICdBZmZpY2hlciBtb2lucycsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLnByZXZpb3VzLXdlZWsnOiAnU2VtYWluZSBwcsOpY8OpZGVudGUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5wcmV2aW91cy13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBwcsOpY8OpZGVudGUgOiB7cHJldmlvdXNXZWVrfScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLm5leHQtd2Vlayc6ICdTZW1haW5lIHN1aXZhbnRlJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ubmV4dC13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBzdWl2YW50ZSA6IHtuZXh0V2Vla30nLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5uYXYuYXJpYS1sYWJlbCc6ICdDaGFuZ2VyIGRlIHNlbWFpbmUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5kYXRlLXBpY2tlci1idXR0b24uc2NyZWVuLXJlYWRlci5zZWxlY3RlZC1kYXRlJzpcbiAgICAgICAgJ1NlbWFpbmUgZHUge3NlbGVjdGVkRGF0ZX0gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1icmVhZGNydW1iLmFyaWEtbGFiZWwnOiBcIkZpbCBkJ0FyaWFuZVwiLFxuICAgICdmb2Vobi1icmVhZGNydW1iLm5vdC1jb25uZWN0ZWQubGluay10by12ZGNoJzpcbiAgICAgICAgJ0Rlc2NyaXB0aW9uIGRlIGxhIHByZXN0YXRpb24nLFxuICAgICdnZXNkZW0tZGVtYW5kLWRldGFpbCc6ICdEw6l0YWlsIGRlIGxhIGRlbWFuZGUge3JlZmVyZW5jZX0nLFxuICAgICdnZXNkZW0tZXJyb3IudGl0bGUuZXJyb3InOiAnRXJyZXVyIHJlbmNvbnRyw6llJyxcbiAgICAnZ2VzZGVtLWVycm9yLnRpdGxlLnJlY292ZXJ5JzogJ1JlcHJpc2UgZGUgbGEgZGVtYW5kZScsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0Lndyb25nLWV0YXBlLXJlcXVlc3RlZCc6XG4gICAgICAgICdMYSBkZW1hbmRlIHtyZWZlcmVuY2V9IG5lIHBldXQgcGx1cyDDqnRyZSBtb2RpZmnDqWUgdmlhIGNlIGZvcm11bGFpcmUnLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5kZW1hbmRlLW5vdC1mb3VuZCc6XG4gICAgICAgICdMYSBkZW1hbmRlIHtyZWZlcmVuY2V9IGEgw6l0w6kgc3VwcHJpbcOpZScsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0Lmhhcy1yZWZlcmVuY2UnOlxuICAgICAgICAnVm91cyBwb3V2ZXogZXNzYXllciBkZSByZXByZW5kcmUgdm90cmUgZGVtYW5kZSBlbiBjbGlxdWFudCBzdXIgbGUgbGllbiBjaS1kZXNzb3VzJyxcbiAgICAnZ2VzZGVtLWVycm9yLmxpbmsuaGFzLXJlZmVyZW5jZSc6ICdSZXByZW5kcmUgbWEgZGVtYW5kZScsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0Lmhhcy1uby1yZWZlcmVuY2UnOlxuICAgICAgICAnVm91cyBwb3V2ZXogcmVjb21tZW5jZXIgdW5lIGRlbWFuZGUgZW4gY2xpcXVhbnQgc3VyIGxlIGxpZW4gY2ktZGVzc291cycsXG4gICAgJ2dlc2RlbS1lcnJvci5saW5rLmhhcy1uby1yZWZlcmVuY2UnOiAnUmVjb21tZW5jZXInLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5wZW5kaW5nLXBheW1lbnQnOlxuICAgICAgICAnPHA+VW4gcHJvYmzDqG1lIGVzdCBzdXJ2ZW51IGxvcnMgZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUuPC9wPicgK1xuICAgICAgICAnPHA+PHN0cm9uZz5NZXJjaSBkZSBuZSBwYXMgcmVmYWlyZSB1bmUgbm91dmVsbGUgZGVtYW5kZSB0b3V0IGRlIHN1aXRlLjwvc3Ryb25nPjwvcD4nICtcbiAgICAgICAgXCI8cD5TYW5zIGNvbmZpcm1hdGlvbiBkZSBsYSB0cmFuc21pc3Npb24gZGUgdm90cmUgZGVtYW5kZSBkYW5zIHVuIGTDqWxhaSBkJ3VuIGpvdXIsIFwiICtcbiAgICAgICAgJ25vdXMgdm91cyBwcmlvbnMgZGUgPGEgaHJlZj1cIntzdXBwb3J0TGlua31cIiB0YXJnZXQ9XCJfYmxhbmtcIj5jb250YWN0ZXIgbGUgc3VwcG9ydDwvYT4uJyxcbiAgICAnZ2VzZGVtLWVycm9yLmRlbWFuZGUtc2hvdWxkLWV4aXN0JzpcbiAgICAgICAgJ1ZvdHJlIGRlbWFuZGUgZXN0IGRhbnMgdW4gw6l0YXQgaW5jb2jDqXJlbnQsIG1lcmNpIGRlIHJlY29tbWVuY2VyJyxcbiAgICAnZm9laG4tZHJvcGRvd24tbWVudS5hcmlhLWxhYmVsJzogJ01lbnUgZMOpcm91bGFudCcsXG4gICAgJ2ZvZWhuLW1vZGFsLmJ0bi1jbG9zZS5hcmlhLWxhYmVsJzogJ0Zlcm1lciBsYSBib2l0ZSBkZSBkaWFsb2d1ZScsXG4gICAgJ2ZvZWhuLW1vZGFsLmJ0bi1jbG9zZS50aXRsZSc6ICdGZXJtZXInLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcucGx1cmFsJzpcbiAgICAgICAgJ3tjaGFyQ291bnRMZWZ0fSBjYXJhY3TDqHJlcyByZXN0YW50cycsXG4gICAgJ2ZvZWhuLXRleHRhcmVhLmNoYXJzLXJlbWFpbmluZy5zaW5ndWxhcic6XG4gICAgICAgICd7Y2hhckNvdW50TGVmdH0gY2FyYWN0w6hyZSByZXN0YW50JyxcbiAgICAnZm9laG4tdGV4dGFyZWEuY2hhcnMtcmVtYWluaW5nLnplcm8nOlxuICAgICAgICAnVm91cyBhdmV6IGF0dGVpbnQgbGUgbm9tYnJlIGRlIGNhcmFjdMOocmVzIGF1dG9yaXPDqXMnLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcuZXhjZWVkZWQnOlxuICAgICAgICAnVm91cyBhdmV6IGTDqXBhc3PDqSBsZSBub21icmUgZGUgY2FyYWN0w6hyZXMgYXV0b3Jpc8OpcyBkZSB7Y2hhckNvdW50TGVmdH0nLFxuICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLnRpdGxlJzogJ1RyYWl0ZW1lbnQgZGUgdm90cmUgZW52b2knLFxuICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLnVwbG9hZCc6ICdFbnJlZ2lzdHJlbWVudCBlbiBjb3Vycy4uLicsXG4gICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuZ3JvdXAudXBsb2FkJzpcbiAgICAgICAgJ0xvdCB7cGFja2FnZUluZGV4fS97bmJQYWNrYWdlc30gOiBFbnJlZ2lzdHJlbWVudCBlbiBjb3Vycy4uLicsXG4gICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuYW5hbHlzaXMnOlxuICAgICAgICAnQW5hbHlzZSBlbiBjb3Vycy4uLiBNZXJjaSBkZSBwYXRpZW50ZXIuJyxcbiAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5ncm91cC5hbmFseXNpcyc6XG4gICAgICAgICdMb3Qge3BhY2thZ2VJbmRleH0ve25iUGFja2FnZXN9IDogQW5hbHlzZSBlbiBjb3Vycy4uLiBNZXJjaSBkZSBwYXRpZW50ZXIuJyxcbiAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5ncm91cC5pbmZvJzpcbiAgICAgICAgJ0xlIHTDqWzDqWNoYXJnZW1lbnQgc2UgZmFpdCBlbiBwbHVzaWV1cnMgbG90cyBlbiBmb25jdGlvbiBkdSBub21icmUgZGUgZmljaGllcnMgY2hhcmfDqXMnLFxuICAgICdlcnJvcnMuTm90TnVsbCc6ICdDZSBjaGFtcCBkb2l0IMOqdHJlIHJlbXBsaScsXG4gICAgJ2ZvZWhuLWhlYWRlci5sb2dvLnRpdGxlJzpcbiAgICAgICAgXCJBbGxlciDDoCBsYSBwYWdlIGQnYWNjdWVpbCBkdSBTaXRlIGR1IENhbnRvbiBkZSBWYXVkXCIsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEuaWRlbnRpdHkuc3JPbmx5JzogJ1ZvdHJlIGlkZW50aXTDqScsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEudGl0bGUnOiAnRXNwYWNlIHPDqWN1cmlzw6k6JyxcbiAgICAnZm9laG4taGVhZGVyLmN5YmVyLXNlY3VyZWQtYXJlYS5jb25uZWN0ZWQtdXNlcic6ICdQZXJzb25uZSBjb25uZWN0w6llOicsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEuY29ubmVjdGlvbi5zck9ubHknOlxuICAgICAgICBcIkNvbm5leGlvbiDDoCBsJ2VzcGFjZSBzw6ljdXJpc8OpXCIsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEuY29ubmVjdGlvbi5idXR0b24udGl0bGUnOiAnU2UgY29ubmVjdGVyJyxcbiAgICAnZm9laG4taGVhZGVyLmlhbS1zZWN1cmVkLWFyZWEuaWRlbnRpdHkuc3JPbmx5JzogJ1ZvdHJlIGlkZW50aXTDqScsXG4gICAgJ2ZvZWhuLWhlYWRlci5pYW0tc2VjdXJlZC1hcmVhLmNvbm5lY3RlZC11c2VyJzogJ1BlcnNvbm5lIGNvbm5lY3TDqWU6JyxcbiAgICAnZm9laG4taGVhZGVyLmlhbS1zZWN1cmVkLWFyZWEubG9nb3V0JzogXCJRdWl0dGVyIGwnYXBwbGljYXRpb25cIixcbiAgICAnZm9laG4tc2tpcC1saW5rLnRpdGxlJzogJ1tBbHQrMF0gRMOpYnV0IGR1IGNvbnRlbnUgZGUgbGEgcGFnZScsXG4gICAgJ2ZvZWhuLXNraXAtbGluay5jb250ZW50JzogJ0TDqWJ1dCBkdSBjb250ZW51IGRlIGxhIHBhZ2UnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmFjY3VlaWwubGFiZWwnOiAnQWNjdWVpbCcsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uYWNjdWVpbC50aXRsZSc6ICdBY2N1ZWlsJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5wcmVmZXJlbmNlcy5sYWJlbCc6ICdQcsOpZsOpcmVuY2VzJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5wcmVmZXJlbmNlcy50aXRsZSc6ICdQcsOpZsOpcmVuY2VzJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5nZXN0aW9uLWNvbXB0ZS5sYWJlbCc6ICdHZXN0aW9uIGR1IGNvbXB0ZScsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uZ2VzdGlvbi1jb21wdGUudGl0bGUnOiAnR2VzdGlvbiBkdSBjb21wdGUnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLm9wZXJhdGlvbnMtbGllZXMtZXNwYWNlLXByby5sYWJlbCc6XG4gICAgICAgICdPcMOpcmF0aW9ucyBsacOpZXMgYXV4IGVzcGFjZXMgcHJvZmVzc2lvbm5lbHMnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLm9wZXJhdGlvbnMtbGllZXMtZXNwYWNlLXByby50aXRsZSc6XG4gICAgICAgICdPcMOpcmF0aW9ucyBsacOpZXMgYXV4IGVzcGFjZXMgcHJvZmVzc2lvbm5lbHMnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmFkbWluaXN0cmVyLWVzcGFjZS1wcm8ubGFiZWwnOlxuICAgICAgICBcIkFkbWluaXN0cmVyIGwnZXNwYWNlIHByb2Zlc3Npb25uZWxcIixcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5hZG1pbmlzdHJlci1lc3BhY2UtcHJvLnRpdGxlJzpcbiAgICAgICAgXCJBZG1pbmlzdHJlciBsJ2VzcGFjZSBwcm9mZXNzaW9ubmVsXCIsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uZGVjb25uZWN0aW9uLmxhYmVsJzogJ1NlIGTDqWNvbm5lY3RlcicsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uZGVjb25uZWN0aW9uLnRpdGxlJzogJ1NlIGTDqWNvbm5lY3RlcicsXG4gICAgJ2ZvZWhuLWVycm9yLXBpbGwuaW5jb21wbGV0ZSc6ICdJbmNvbXBsZXQnLFxuICAgICdmb2Vobi1lcnJvci1waWxsLmNvbXBsZXRlJzogJ1JlbnNlaWduw6knLFxuICAgICdmb2Vobi1yZW1haW5pbmctYWxlcnQtc3VtbWFyeS5kZWZhdWx0LWVycm9yLW1lc3NhZ2UnOlxuICAgICAgICAnPHA+Tm90cmUgZm9ybXVsYWlyZSBhIHJlbmNvbnRyw6kgdW4gcHJvYmzDqG1lIGV0IHZvdXMgbmUgcG91cnJleiBwYXMgbGUgdHJhbnNtZXR0cmUuPC9wPicgK1xuICAgICAgICAnPHA+QWZpbiBkZSBsZSByw6lzb3VkcmUsIG5vdXMgdm91cyBpbnZpdG9ucyDDoCByZXZlbmlyIGVuIGFycmnDqHJlIGV0IGVzc2F5ZXIgZGUgcmVwYXNzZXIgY2hhY3VuZSBkZXMgw6l0YXBlcy48L3A+JyArXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICc8cD5TaSBsZSBwcm9ibMOobWUgcGVyc2lzdGUsIG1lcmNpIGRlIHByZW5kcmUgY29udGFjdCBhdmVjIG5vdXMgZXQgZGUgbm91cyBjb21tdW5pcXVlciBjZXR0ZSBlcnJldXIgYXUgbW95ZW4gZHUgZm9ybXVsYWlyZSBkZSBzdXBwb3J0IDogJyArXG4gICAgICAgICc8YSBocmVmPVwie3N1cHBvcnRMaW5rfVwiIHRhcmdldD1cIl9ibGFua1wiPmh0dHBzOi8vd3d3LnZkLmNoL2NvbnRhY3QtcG9ydGFpbC88L2E+PC9wPicgK1xuICAgICAgICAnPHA+Tm91cyByZXByZW5kcm9ucyBjb250YWN0IGF2ZWMgdm91cy48L3A+JyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNoZXZyb24tZG93bic6ICdGZXJtZXIgbGEgbm90aWZpY2F0aW9uJyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNoZXZyb24tdXAnOiAnT3V2cmlyIGxhIG5vdGlmaWNhdGlvbicsXG4gICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi50aXRsZS1leHBhbmRlZCc6ICdWb3RyZSBhdmlzIG5vdXMgaW50w6lyZXNzZSAhJyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnRpdGxlLXJlZHVjZWQnOiAnRG9ubmVyIHZvdHJlIGF2aXMnLFxuICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24ucXVlc3Rpb24uUV9OT1RJRklDQVRJT05fRkFDSUxFX0FfVVRJTElTRVInOlxuICAgICAgICBcIkNvbW1lbnQgcydlc3QgcGFzc8OpZSBjZXR0ZSBkw6ltYXJjaGUgcG91ciB2b3VzID9cIixcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24uZ29vZCc6ICdUcsOocyBiaWVuJyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24ubWVkaXVtJzogJ01veWVuJyxcbiAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24uYmFkJzogJ1BhcyBiaWVuJ1xufTtcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export const supportedBrowsers = /Edge?\/(13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.([1-9]|\d{2,})|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[6-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/;
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydGVkLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc3VwcG9ydGVkLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsd2dDQUF3Z0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzdXBwb3J0ZWRCcm93c2VycyA9IC9FZGdlP1xcLygxM1sxLTldfDFbNC05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCsoXFwuXFxkK3wpfEZpcmVmb3hcXC8oMTJbODldfDFbMy05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCsoXFwuXFxkK3wpfENocm9tKGl1bXxlKVxcLygxMDl8MVsxLTldXFxkfFsyLTldXFxkezJ9fFxcZHs0LH0pXFwuXFxkKyhcXC5cXGQrfCl8KE1hY2l8WDF7Mn0pLisgVmVyc2lvblxcLygxOFxcLihbMS05XXxcXGR7Mix9KXwoMTl8WzItOV1cXGR8XFxkezMsfSlcXC5cXGQrKShbLC5dXFxkK3wpKCBcXChcXHcrXFwpfCkoIE1vYmlsZVxcL1xcdyt8KSBTYWZhcmlcXC98Q2hyb21lLitPUFJcXC8oMXsyfVszLTldfDFbMi05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCtcXC5cXGQrfChDUFVbICtdT1N8aVBob25lWyArXU9TfENQVVsgK11pUGhvbmV8Q1BVIElQaG9uZSBPU3xDUFUgaVBhZCBPUylbICtdKygxNVsuX10oWzYtOV18XFxkezIsfSl8KDFbNi05XXxbMi05XVxcZHxcXGR7Myx9KVsuX11cXGQrKShbLl9dXFxkK3wpfE9wZXJhIE1pbml8QW5kcm9pZDo/WyAvLV0oMTNbMi05XXwxWzQtOV1cXGR8WzItOV1cXGR7Mn18XFxkezQsfSkoXFwuXFxkK3wpKFxcLlxcZCt8KXxNb2JpbGUgU2FmYXJpLitPUFJcXC8oWzg5XVxcZHxcXGR7Myx9KVxcLlxcZCtcXC5cXGQrfEFuZHJvaWQuK0ZpcmVmb3hcXC8oMTNbMi05XXwxWzQtOV1cXGR8WzItOV1cXGR7Mn18XFxkezQsfSlcXC5cXGQrKFxcLlxcZCt8KXxBbmRyb2lkLitDaHJvbShpdW18ZSlcXC8oMTNbMi05XXwxWzQtOV1cXGR8WzItOV1cXGR7Mn18XFxkezQsfSlcXC5cXGQrKFxcLlxcZCt8KXxBbmRyb2lkLisoVUM/ID9Ccm93c2VyfFVDV0VCfFUzKVsgL10/KDE1XFwuKFs1LTldfFxcZHsyLH0pfCgxWzYtOV18WzItOV1cXGR8XFxkezMsfSlcXC5cXGQrKVxcLlxcZCt8U2Ftc3VuZ0Jyb3dzZXJcXC8oMls2LTldfFszLTldXFxkfFxcZHszLH0pXFwuXFxkK3xBbmRyb2lkLitNUXsyfUJyb3dzZXJcXC8oMTQoXFwuKDl8XFxkezIsfSl8KXwoMVs1LTldfFsyLTldXFxkfFxcZHszLH0pKFxcLlxcZCt8KSkoXFwuXFxkK3wpfEtbQWFdW0lpXU9TXFwvKDJcXC4oWzUtOV18XFxkezIsfSl8KFszLTldfFxcZHsyLH0pXFwuXFxkKykoXFwuXFxkK3wpLztcbiJdfQ==
1
+ export const supportedBrowsers = /Edge?\/(13[89]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.([4-9]|\d{2,})|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(12\d|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(18[._]([4-9]|\d{2,})|(19|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](139|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(14[2-9]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(139|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[7-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydGVkLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc3VwcG9ydGVkLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcscy9CQUFzL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzdXBwb3J0ZWRCcm93c2VycyA9IC9FZGdlP1xcLygxM1s4OV18MVs0LTldXFxkfFsyLTldXFxkezJ9fFxcZHs0LH0pXFwuXFxkKyhcXC5cXGQrfCl8RmlyZWZveFxcLygxMls4OV18MVszLTldXFxkfFsyLTldXFxkezJ9fFxcZHs0LH0pXFwuXFxkKyhcXC5cXGQrfCl8Q2hyb20oaXVtfGUpXFwvKDEwOXwxWzEtOV1cXGR8WzItOV1cXGR7Mn18XFxkezQsfSlcXC5cXGQrKFxcLlxcZCt8KXwoTWFjaXxYMXsyfSkuKyBWZXJzaW9uXFwvKDE4XFwuKFs0LTldfFxcZHsyLH0pfCgxOXxbMi05XVxcZHxcXGR7Myx9KVxcLlxcZCspKFssLl1cXGQrfCkoIFxcKFxcdytcXCl8KSggTW9iaWxlXFwvXFx3K3wpIFNhZmFyaVxcL3xDaHJvbWUuK09QUlxcLygxMlxcZHwxWzMtOV1cXGR8WzItOV1cXGR7Mn18XFxkezQsfSlcXC5cXGQrXFwuXFxkK3woQ1BVWyArXU9TfGlQaG9uZVsgK11PU3xDUFVbICtdaVBob25lfENQVSBJUGhvbmUgT1N8Q1BVIGlQYWQgT1MpWyArXSsoMThbLl9dKFs0LTldfFxcZHsyLH0pfCgxOXxbMi05XVxcZHxcXGR7Myx9KVsuX11cXGQrKShbLl9dXFxkK3wpfE9wZXJhIE1pbml8QW5kcm9pZDo/WyAvLV0oMTM5fDFbNC05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KShcXC5cXGQrfCkoXFwuXFxkK3wpfE1vYmlsZSBTYWZhcmkuK09QUlxcLyhbODldXFxkfFxcZHszLH0pXFwuXFxkK1xcLlxcZCt8QW5kcm9pZC4rRmlyZWZveFxcLygxNFsyLTldfDFbNS05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCsoXFwuXFxkK3wpfEFuZHJvaWQuK0Nocm9tKGl1bXxlKVxcLygxMzl8MVs0LTldXFxkfFsyLTldXFxkezJ9fFxcZHs0LH0pXFwuXFxkKyhcXC5cXGQrfCl8QW5kcm9pZC4rKFVDPyA/QnJvd3NlcnxVQ1dFQnxVMylbIC9dPygxNVxcLihbNS05XXxcXGR7Mix9KXwoMVs2LTldfFsyLTldXFxkfFxcZHszLH0pXFwuXFxkKylcXC5cXGQrfFNhbXN1bmdCcm93c2VyXFwvKDJbNy05XXxbMy05XVxcZHxcXGR7Myx9KVxcLlxcZCt8QW5kcm9pZC4rTVF7Mn1Ccm93c2VyXFwvKDE0KFxcLig5fFxcZHsyLH0pfCl8KDFbNS05XXxbMi05XVxcZHxcXGR7Myx9KShcXC5cXGQrfCkpKFxcLlxcZCt8KXxLW0FhXVtJaV1PU1xcLygyXFwuKFs1LTldfFxcZHsyLH0pfChbMy05XXxcXGR7Mix9KVxcLlxcZCspKFxcLlxcZCt8KS87XG4iXX0=
@@ -1297,6 +1297,7 @@ const DEFAULT_DICTIONARY = {
1297
1297
  'foehn-uploader.files-deleted-success-message': 'Suppression du fichier {filename} réussie',
1298
1298
  'foehn-uploader.delete-error-message': 'Une erreur est survenue lors de la suppression de votre document',
1299
1299
  'foehn-uploader.delete-readonly-error-message': 'Un document en lecture seule ne peut pas être supprimé',
1300
+ 'foehn-uploader.unknown-error-message': 'Impossible de transmettre le fichier',
1300
1301
  'foehn-picture-upload.choose-button-label': 'Choisissez une photo',
1301
1302
  'foehn-picture-upload.loading-label': 'Chargement...',
1302
1303
  'foehn-picture-upload.invalid-file-type': 'Le type de votre pièce jointe {filename} ne figure pas parmi ceux qui sont autorisés : "{acceptFormats}"',
@@ -3010,7 +3011,7 @@ class UploaderHelper {
3010
3011
  return formattedErrorMsg;
3011
3012
  }
3012
3013
  getDefaultUnknownErrorMessage(fileName) {
3013
- const msg = 'Impossible de transmettre le fichier';
3014
+ const msg = this.dictionaryService.getKeySync('foehn-uploader.unknown-error-message');
3014
3015
  if (!!fileName && !!fileName.length) {
3015
3016
  return `${msg} ${getSafeFileNameForErrorMessage(fileName)}.`;
3016
3017
  }
@@ -5377,7 +5378,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5377
5378
  }]
5378
5379
  }], ctorParameters: () => [{ type: SessionInfo }, { type: GesdemEventService }, { type: GesdemHandlerService }] });
5379
5380
 
5380
- const supportedBrowsers = /Edge?\/(13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.([1-9]|\d{2,})|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[6-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/;
5381
+ const supportedBrowsers = /Edge?\/(13[89]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.([4-9]|\d{2,})|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(12\d|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(18[._]([4-9]|\d{2,})|(19|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](139|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(14[2-9]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(139|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[7-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/;
5381
5382
 
5382
5383
  class FoehnPageModalService {
5383
5384
  constructor(applicationInfoService) {