ms-time-sheet 0.0.15 → 0.0.17
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/README.md +428 -428
- package/esm2022/lib/badges.mjs +1 -1
- package/esm2022/lib/components/badge-overflow/badge-overflow.component.mjs +3 -3
- package/esm2022/lib/ms-time-sheet.component.mjs +201 -105
- package/esm2022/lib/ms-time-sheet.service.mjs +1 -1
- package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
- package/esm2022/lib/pipes/pinned-columns.pipe.mjs +1 -1
- package/esm2022/lib/pipes/timezone-format.pipe.mjs +1 -1
- package/esm2022/lib/services/common.service.mjs +1 -1
- package/esm2022/lib/services/copy-service.service.mjs +1 -1
- package/esm2022/lib/services/split-columns.service.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ms-time-sheet.mjs +203 -107
- package/fesm2022/ms-time-sheet.mjs.map +1 -1
- package/lib/ms-time-sheet.component.d.ts +4 -2
- package/package.json +1 -1
|
@@ -11,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
11
11
|
providedIn: 'root'
|
|
12
12
|
}]
|
|
13
13
|
}], ctorParameters: () => [] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXMtdGltZS1zaGVldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbXMtdGltZS1zaGVldC9zcmMvbGliL21zLXRpbWUtc2hlZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLGdCQUFnQixDQUFDOytHQUZOLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1zVGltZVNoZWV0U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiJdfQ==
|
|
@@ -344,4 +344,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
344
344
|
standalone: true
|
|
345
345
|
}]
|
|
346
346
|
}] });
|
|
347
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tcy10aW1lLXNoZWV0L3NyYy9saWIvcGlwZXMvZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxVQUFVO0lBRXJCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsVUFBa0IsRUFBRSxHQUFZO1FBQ3RELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUVwRSxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVMsRUFBRSxVQUFrQixFQUFFLEdBQVk7UUFDbkUsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV4QixvREFBb0Q7UUFDcEQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsa0RBQWtEO1FB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aXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2ZpbHRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCBzZWFyY2hUZXh0OiBzdHJpbmcsIGtleT86IHN0cmluZyk6IGFueVtdIHtcclxuICAgIGlmICghaXRlbXMgfHwgIXNlYXJjaFRleHQgfHwgc2VhcmNoVGV4dC50cmltKCkgPT09ICcnKSByZXR1cm4gaXRlbXM7XHJcblxyXG4gICAgY29uc3Qgc2VhcmNoVGVybXMgPSBzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkudHJpbSgpLnNwbGl0KC9cXHMrLyk7XHJcblxyXG4gICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgcmV0dXJuIHNlYXJjaFRlcm1zLmV2ZXJ5KHRlcm0gPT4gdGhpcy5tYXRjaGVzU2VhcmNoVGVybShpdGVtLCB0ZXJtLCBrZXkpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYXRjaGVzU2VhcmNoVGVybShpdGVtOiBhbnksIHNlYXJjaFRlcm06IHN0cmluZywga2V5Pzogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWl0ZW0pIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAvLyBJZiBrZXkgaXMgc3BlY2lmaWVkLCBzZWFyY2ggb25seSBpbiB0aGF0IHByb3BlcnR5XHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXROZXN0ZWRWYWx1ZShpdGVtLCBrZXkpO1xyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZU1hdGNoZXNUZXJtKHZhbHVlLCBzZWFyY2hUZXJtKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBPdGhlcndpc2UsIHNlYXJjaCBpbiBhbGwgcHJvcGVydGllcyByZWN1cnNpdmVseVxyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoSW5PYmplY3QoaXRlbSwgc2VhcmNoVGVybSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE5lc3RlZFZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoJy4nKS5yZWR1Y2UoKGN1cnJlbnQsIGtleSkgPT4gY3VycmVudD8uW2tleV0sIG9iaik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlYXJjaEluT2JqZWN0KG9iajogYW55LCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmICghb2JqKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgLy8gSGFuZGxlIGRpZmZlcmVudCBkYXRhIHR5cGVzXHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgLy8gVHJ5IHRvIHBhcnNlIGFzIGRhdGUvdGltZSBmaXJzdFxyXG4gICAgICBjb25zdCBwYXJzZWREYXRlID0gdGhpcy50cnlQYXJzZURhdGUob2JqKTtcclxuICAgICAgaWYgKHBhcnNlZERhdGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRlTWF0Y2hlc1Rlcm0ocGFyc2VkRGF0ZSwgc2VhcmNoVGVybSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nTWF0Y2hlc1Rlcm0ob2JqLCBzZWFyY2hUZXJtKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ251bWJlcicpIHtcclxuICAgICAgcmV0dXJuIG9iai50b1N0cmluZygpLmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8IHRoaXMuaXNOdW1lcmljTWF0Y2gob2JqLCBzZWFyY2hUZXJtKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRlTWF0Y2hlc1Rlcm0ob2JqLCBzZWFyY2hUZXJtKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgIHJldHVybiBvYmouc29tZShpdGVtID0+IHRoaXMuc2VhcmNoSW5PYmplY3QoaXRlbSwgc2VhcmNoVGVybSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAvLyBEZWVwIHNlYXJjaCBpbiBvYmplY3QgcHJvcGVydGllc1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlID0gb2JqW2tleV07XHJcbiAgICAgICAgICBpZiAodGhpcy5zZWFyY2hJbk9iamVjdCh2YWx1ZSwgc2VhcmNoVGVybSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBBbHNvIGNoZWNrIHByb3BlcnR5IG5hbWVzIGZvciBtYXRjaGVzXHJcbiAgICAgICAgICBpZiAodGhpcy5zdHJpbmdNYXRjaGVzVGVybShrZXksIHNlYXJjaFRlcm0pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsdWVNYXRjaGVzVGVybSh2YWx1ZTogYW55LCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nTWF0Y2hlc1Rlcm0odmFsdWUsIHNlYXJjaFRlcm0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8IHRoaXMuaXNOdW1lcmljTWF0Y2godmFsdWUsIHNlYXJjaFRlcm0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZU1hdGNoZXNUZXJtKHZhbHVlLCBzZWFyY2hUZXJtKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlLnNvbWUoaXRlbSA9PiB0aGlzLnZhbHVlTWF0Y2hlc1Rlcm0oaXRlbSwgc2VhcmNoVGVybSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlYXJjaEluT2JqZWN0KHZhbHVlLCBzZWFyY2hUZXJtKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdHJpbmdNYXRjaGVzVGVybShzdHI6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBsb3dlclN0ciA9IHN0ci50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgIC8vIEV4YWN0IG1hdGNoXHJcbiAgICBpZiAobG93ZXJTdHIuaW5jbHVkZXMoc2VhcmNoVGVybSkpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIC8vIEZ1enp5IG1hdGNoIC0gY2hlY2sgaWYgYWxsIGNoYXJhY3RlcnMgb2Ygc2VhcmNoVGVybSBhcHBlYXIgaW4gb3JkZXJcclxuICAgIGlmICh0aGlzLmZ1enp5TWF0Y2gobG93ZXJTdHIsIHNlYXJjaFRlcm0pKSByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAvLyBMZXZlbnNodGVpbiBkaXN0YW5jZSBmb3IgYmV0dGVyIGZ1enp5IG1hdGNoaW5nXHJcbiAgICBpZiAodGhpcy5sZXZlbnNodGVpbkRpc3RhbmNlKGxvd2VyU3RyLCBzZWFyY2hUZXJtKSA8PSBNYXRoLm1heCgxLCBNYXRoLmZsb29yKHNlYXJjaFRlcm0ubGVuZ3RoICogMC4zKSkpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIC8vIENoZWNrIGZvciBjb21tb24gdHlwb3MgYW5kIHZhcmlhdGlvbnNcclxuICAgIGlmICh0aGlzLmNoZWNrQ29tbW9uVmFyaWF0aW9ucyhsb3dlclN0ciwgc2VhcmNoVGVybSkpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIC8vIENoZWNrIGZvciBwYXJ0aWFsIHdvcmQgbWF0Y2hlc1xyXG4gICAgaWYgKHRoaXMucGFydGlhbFdvcmRNYXRjaChsb3dlclN0ciwgc2VhcmNoVGVybSkpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZnV6enlNYXRjaCh0ZXh0OiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHBhdHRlcm5JbmRleCA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoICYmIHBhdHRlcm5JbmRleCA8IHBhdHRlcm4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRleHRbaV0gPT09IHBhdHRlcm5bcGF0dGVybkluZGV4XSkge1xyXG4gICAgICAgIHBhdHRlcm5JbmRleCsrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGF0dGVybkluZGV4ID09PSBwYXR0ZXJuLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGV2ZW5zaHRlaW5EaXN0YW5jZShzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBjb25zdCBtYXRyaXggPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IHN0cjIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbWF0cml4W2ldID0gW2ldO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaiA9IDA7IGogPD0gc3RyMS5sZW5ndGg7IGorKykge1xyXG4gICAgICBtYXRyaXhbMF1bal0gPSBqO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gc3RyMi5sZW5ndGg7IGkrKykge1xyXG4gICAgICBmb3IgKGxldCBqID0gMTsgaiA8PSBzdHIxLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgaWYgKHN0cjIuY2hhckF0KGkgLSAxKSA9PT0gc3RyMS5jaGFyQXQoaiAtIDEpKSB7XHJcbiAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbaSAtIDFdW2ogLSAxXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbWF0cml4W2ldW2pdID0gTWF0aC5taW4oXHJcbiAgICAgICAgICAgIG1hdHJpeFtpIC0gMV1baiAtIDFdICsgMSwgLy8gc3Vic3RpdHV0aW9uXHJcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqIC0gMV0gKyAxLCAgICAgLy8gaW5zZXJ0aW9uXHJcbiAgICAgICAgICAgIG1hdHJpeFtpIC0gMV1bal0gKyAxICAgICAgLy8gZGVsZXRpb25cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWF0cml4W3N0cjIubGVuZ3RoXVtzdHIxLmxlbmd0aF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnRpYWxXb3JkTWF0Y2godGV4dDogc3RyaW5nLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHdvcmRzID0gdGV4dC5zcGxpdCgvXFxzKy8pO1xyXG4gICAgcmV0dXJuIHdvcmRzLnNvbWUod29yZCA9PiB7XHJcbiAgICAgIC8vIENoZWNrIGlmIHNlYXJjaCB0ZXJtIGlzIGNvbnRhaW5lZCBpbiBhbnkgd29yZFxyXG4gICAgICBpZiAod29yZC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKSByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgIC8vIENoZWNrIGlmIHdvcmQgc3RhcnRzIHdpdGggc2VhcmNoIHRlcm1cclxuICAgICAgaWYgKHdvcmQudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHNlYXJjaFRlcm0pKSByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgIC8vIENoZWNrIGlmIHNlYXJjaCB0ZXJtIGlzIGFuIGFiYnJldmlhdGlvbiBvciBwYXJ0aWFsIG1hdGNoXHJcbiAgICAgIGlmIChzZWFyY2hUZXJtLmxlbmd0aCA+PSAyICYmIHdvcmQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJ5UGFyc2VEYXRlKHN0cjogc3RyaW5nKTogRGF0ZSB8IG51bGwge1xyXG4gICAgLy8gVHJ5IHZhcmlvdXMgZGF0ZSBmb3JtYXRzXHJcbiAgICBjb25zdCBkYXRlUGF0dGVybnMgPSBbXHJcbiAgICAgIC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0kLywgLy8geXl5eS1NTS1kZFxyXG4gICAgICAvXlxcZHsyfVxcL1xcZHsyfVxcL1xcZHs0fSQvLCAvLyBkZC9NTS95eXl5IG9yIE1NL2RkL3l5eXlcclxuICAgICAgL15cXGR7Mn0tXFxkezJ9LVxcZHs0fSQvLCAvLyBkZC1NTS15eXl5IG9yIE1NLWRkLXl5eXlcclxuICAgICAgL15cXGR7NH1cXC9cXGR7Mn1cXC9cXGR7Mn0kLywgLy8geXl5eS9NTS9kZFxyXG4gICAgICAvXlxcZHsyfVxcL1xcZHsyfVxcL1xcZHsyfSQvLCAvLyBkZC9NTS95eSBvciBNTS9kZC95eVxyXG4gICAgICAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9LywgLy8gSVNPIHdpdGggdGltZVxyXG4gICAgICAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9IFxcZHsyfTpcXGR7Mn06XFxkezJ9LywgLy8geXl5eS1NTS1kZCBISDptbTpzc1xyXG4gICAgICAvXlxcZHsyfVxcL1xcZHsyfVxcL1xcZHs0fSBcXGR7Mn06XFxkezJ9LywgLy8gZGQvTU0veXl5eSBISDptbVxyXG4gICAgICAvXlxcZHsyfTpcXGR7Mn06XFxkezJ9JC8sIC8vIEhIOm1tOnNzXHJcbiAgICAgIC9eXFxkezJ9OlxcZHsyfSQvLCAvLyBISDptbVxyXG4gICAgICAvXlxcZHsxLDJ9OlxcZHsyfSAoQU18UE18YW18cG0pJC8sIC8vIGg6bW0gYVxyXG4gICAgXTtcclxuXHJcbiAgICAvLyBDaGVjayBpZiBzdHJpbmcgbWF0Y2hlcyBhbnkgZGF0ZSBwYXR0ZXJuXHJcbiAgICBpZiAoZGF0ZVBhdHRlcm5zLnNvbWUocGF0dGVybiA9PiBwYXR0ZXJuLnRlc3Qoc3RyKSkpIHtcclxuICAgICAgY29uc3QgcGFyc2VkID0gbmV3IERhdGUoc3RyKTtcclxuICAgICAgaWYgKCFpc05hTihwYXJzZWQuZ2V0VGltZSgpKSkge1xyXG4gICAgICAgIHJldHVybiBwYXJzZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUcnkgcGFyc2luZyB3aXRoIG1vcmUgZmxleGlibGUgYXBwcm9hY2hcclxuICAgIGNvbnN0IGZsZXhpYmxlUGFyc2UgPSBuZXcgRGF0ZShzdHIpO1xyXG4gICAgaWYgKCFpc05hTihmbGV4aWJsZVBhcnNlLmdldFRpbWUoKSkpIHtcclxuICAgICAgcmV0dXJuIGZsZXhpYmxlUGFyc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrQ29tbW9uVmFyaWF0aW9ucyh0ZXh0OiBzdHJpbmcsIHNlYXJjaFRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgLy8gSGFuZGxlIGNvbW1vbiBzcGVsbGluZyB2YXJpYXRpb25zXHJcbiAgICBjb25zdCB2YXJpYXRpb25zID0gdGhpcy5nZW5lcmF0ZVZhcmlhdGlvbnMoc2VhcmNoVGVybSk7XHJcbiAgICByZXR1cm4gdmFyaWF0aW9ucy5zb21lKHZhcmlhdGlvbiA9PiB0ZXh0LmluY2x1ZGVzKHZhcmlhdGlvbikpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZVZhcmlhdGlvbnModGVybTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgdmFyaWF0aW9uczogc3RyaW5nW10gPSBbdGVybV07XHJcblxyXG4gICAgLy8gQ29tbW9uIGxldHRlciBzdWJzdGl0dXRpb25zXHJcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gPSB7XHJcbiAgICAgICdhJzogWydlJywgJ2knLCAnbyddLFxyXG4gICAgICAnZSc6IFsnYScsICdpJywgJ28nXSxcclxuICAgICAgJ2knOiBbJ2EnLCAnZScsICdvJ10sXHJcbiAgICAgICdvJzogWydhJywgJ2UnLCAnaSddLFxyXG4gICAgICAndSc6IFsnb28nXSxcclxuICAgICAgJ2MnOiBbJ2snLCAncyddLFxyXG4gICAgICAnayc6IFsnYycsICdxJywgJ2NrJ10sXHJcbiAgICAgICdzJzogWydjJywgJ3onXSxcclxuICAgICAgJ3onOiBbJ3MnXSxcclxuICAgICAgJ3BoJzogWydmJ10sXHJcbiAgICAgICdmJzogWydwaCddLFxyXG4gICAgICAnY2snOiBbJ2snXSxcclxuICAgICAgJ3F1JzogWydrdyddLFxyXG4gICAgICAneCc6IFsna3MnXSxcclxuICAgICAgJ3knOiBbJ2knXSxcclxuICAgICAgJ2llJzogWydlaSddLFxyXG4gICAgICAnZWknOiBbJ2llJ11cclxuICAgIH07XHJcblxyXG4gICAgLy8gR2VuZXJhdGUgdmFyaWF0aW9ucyBieSBzdWJzdGl0dXRpbmcgY29tbW9uIGxldHRlcnNcclxuICAgIGZvciAoY29uc3QgW29yaWdpbmFsLCBzdWJzXSBvZiBPYmplY3QuZW50cmllcyhzdWJzdGl0dXRpb25zKSkge1xyXG4gICAgICBpZiAodGVybS5pbmNsdWRlcyhvcmlnaW5hbCkpIHtcclxuICAgICAgICBzdWJzLmZvckVhY2goc3ViID0+IHtcclxuICAgICAgICAgIHZhcmlhdGlvbnMucHVzaCh0ZXJtLnJlcGxhY2Uob3JpZ2luYWwsIHN1YikpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhcmlhdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzTnVtZXJpY01hdGNoKG51bTogbnVtYmVyLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIC8vIENoZWNrIGlmIHNlYXJjaCB0ZXJtIGlzIGEgbnVtYmVyIG9yIGNvbnRhaW5zIG51bWJlcnNcclxuICAgIGNvbnN0IG51bVN0ciA9IG51bS50b1N0cmluZygpO1xyXG4gICAgaWYgKG51bVN0ci5pbmNsdWRlcyhzZWFyY2hUZXJtKSkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgLy8gQ2hlY2sgZm9yIGFwcHJveGltYXRlIG1hdGNoZXMgKGUuZy4sIFwiMTBcIiBtYXRjaGVzIFwiMTAuNVwiKVxyXG4gICAgY29uc3Qgc2VhcmNoTnVtID0gcGFyc2VGbG9hdChzZWFyY2hUZXJtKTtcclxuICAgIGlmICghaXNOYU4oc2VhcmNoTnVtKSkge1xyXG4gICAgICByZXR1cm4gTWF0aC5hYnMobnVtIC0gc2VhcmNoTnVtKSA8IDAuMDE7IC8vIEFsbG93IHNtYWxsIGZsb2F0aW5nIHBvaW50IGRpZmZlcmVuY2VzXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkYXRlTWF0Y2hlc1Rlcm0oZGF0ZTogRGF0ZSwgc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAvLyBGb3JtYXQgZGF0ZSBpbiB2YXJpb3VzIGNvbW1vbiBmb3JtYXRzIGFuZCBjaGVjayBmb3IgbWF0Y2hlc1xyXG4gICAgY29uc3QgZm9ybWF0cyA9IFtcclxuICAgICAgJ2RkL01NL3l5eXknLFxyXG4gICAgICAnTU0vZGQveXl5eScsXHJcbiAgICAgICd5eXl5LU1NLWRkJyxcclxuICAgICAgJ2RkLU1NLXl5eXknLFxyXG4gICAgICAnTU0tZGQteXl5eScsXHJcbiAgICAgICdkZCBNTU0geXl5eScsXHJcbiAgICAgICdNTU0gZGQgeXl5eScsXHJcbiAgICAgICd5eXl5L01NL2RkJyxcclxuICAgICAgJ2RkL01NL3l5JyxcclxuICAgICAgJ01NL2RkL3l5JyxcclxuICAgICAgJ3l5eXktTU0tZGRUSEg6bW06c3MnLFxyXG4gICAgICAneXl5eS1NTS1kZCBISDptbTpzcycsXHJcbiAgICAgICdkZC9NTS95eXl5IEhIOm1tJyxcclxuICAgICAgJ01NL2RkL3l5eXkgSEg6bW0nLFxyXG4gICAgICAnSEg6bW06c3MnLFxyXG4gICAgICAnSEg6bW0nLFxyXG4gICAgICAnaDptbSBhJyxcclxuICAgICAgJ2g6bW06c3MgYSdcclxuICAgIF07XHJcblxyXG4gICAgY29uc3QgZm9ybWF0dGVkRGF0ZXMgPSBmb3JtYXRzLm1hcChmb3JtYXQgPT4gdGhpcy5mb3JtYXREYXRlKGRhdGUsIGZvcm1hdCkpO1xyXG4gICAgaWYgKGZvcm1hdHRlZERhdGVzLnNvbWUoZCA9PiBkLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpKSByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAvLyBDaGVjayBtb250aCBuYW1lc1xyXG4gICAgY29uc3QgbW9udGhOYW1lcyA9IFtcclxuICAgICAgJ2phbnVhcnknLCAnZmVicnVhcnknLCAnbWFyY2gnLCAnYXByaWwnLCAnbWF5JywgJ2p1bmUnLFxyXG4gICAgICAnanVseScsICdhdWd1c3QnLCAnc2VwdGVtYmVyJywgJ29jdG9iZXInLCAnbm92ZW1iZXInLCAnZGVjZW1iZXInLFxyXG4gICAgICAnamFuJywgJ2ZlYicsICdtYXInLCAnYXByJywgJ21heScsICdqdW4nLFxyXG4gICAgICAnanVsJywgJ2F1ZycsICdzZXAnLCAnb2N0JywgJ25vdicsICdkZWMnXHJcbiAgICBdO1xyXG5cclxuICAgIGNvbnN0IG1vbnRoSW5kZXggPSBkYXRlLmdldE1vbnRoKCk7XHJcbiAgICBpZiAobW9udGhOYW1lcy5zb21lKG1vbnRoID0+IG1vbnRoLmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8IHNlYXJjaFRlcm0uaW5jbHVkZXMobW9udGgpKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDaGVjayBkYXkgbmFtZXNcclxuICAgIGNvbnN0IGRheU5hbWVzID0gW1xyXG4gICAgICAnc3VuZGF5JywgJ21vbmRheScsICd0dWVzZGF5JywgJ3dlZG5lc2RheScsICd0aHVyc2RheScsICdmcmlkYXknLCAnc2F0dXJkYXknLFxyXG4gICAgICAnc3VuJywgJ21vbicsICd0dWUnLCAnd2VkJywgJ3RodScsICdmcmknLCAnc2F0J1xyXG4gICAgXTtcclxuXHJcbiAgICBjb25zdCBkYXlJbmRleCA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICBpZiAoZGF5TmFtZXMuc29tZShkYXkgPT4gZGF5LmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8IHNlYXJjaFRlcm0uaW5jbHVkZXMoZGF5KSkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2sgeWVhclxyXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xyXG4gICAgaWYgKHllYXIuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHwgc2VhcmNoVGVybS5pbmNsdWRlcyh5ZWFyKSkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgLy8gQ2hlY2sgZm9yIHJlbGF0aXZlIGRhdGUgdGVybXNcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBkaWZmVGltZSA9IG5vdy5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWUoKTtcclxuICAgIGNvbnN0IGRpZmZEYXlzID0gTWF0aC5mbG9vcihkaWZmVGltZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XHJcblxyXG4gICAgaWYgKHNlYXJjaFRlcm0uaW5jbHVkZXMoJ3RvZGF5JykgJiYgZGlmZkRheXMgPT09IDApIHJldHVybiB0cnVlO1xyXG4gICAgaWYgKHNlYXJjaFRlcm0uaW5jbHVkZXMoJ3llc3RlcmRheScpICYmIGRpZmZEYXlzID09PSAxKSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmIChzZWFyY2hUZXJtLmluY2x1ZGVzKCd0b21vcnJvdycpICYmIGRpZmZEYXlzID09PSAtMSkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgLy8gQ2hlY2sgZm9yIHRpbWUgcmFuZ2VzXHJcbiAgICBjb25zdCBob3VycyA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKTtcclxuICAgIGlmIChzZWFyY2hUZXJtLmluY2x1ZGVzKCdtb3JuaW5nJykgJiYgaG91cnMgPj0gNiAmJiBob3VycyA8IDEyKSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmIChzZWFyY2hUZXJtLmluY2x1ZGVzKCdhZnRlcm5vb24nKSAmJiBob3VycyA+PSAxMiAmJiBob3VycyA8IDE3KSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmIChzZWFyY2hUZXJtLmluY2x1ZGVzKCdldmVuaW5nJykgJiYgaG91cnMgPj0gMTcgJiYgaG91cnMgPCAyMSkgcmV0dXJuIHRydWU7XHJcbiAgICBpZiAoc2VhcmNoVGVybS5pbmNsdWRlcygnbmlnaHQnKSAmJiAoaG91cnMgPj0gMjEgfHwgaG91cnMgPCA2KSkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXREYXRlKGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IG1vbnRoID0gKGRhdGUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcclxuICAgIGNvbnN0IHNob3J0WWVhciA9IHllYXIuc2xpY2UoLTIpO1xyXG5cclxuICAgIGNvbnN0IG1vbnRoTmFtZXMgPSBbXHJcbiAgICAgICdKYW4nLCAnRmViJywgJ01hcicsICdBcHInLCAnTWF5JywgJ0p1bicsXHJcbiAgICAgICdKdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYydcclxuICAgIF07XHJcblxyXG4gICAgY29uc3QgbW9udGhOYW1lID0gbW9udGhOYW1lc1tkYXRlLmdldE1vbnRoKCldO1xyXG5cclxuICAgIGNvbnN0IGhvdXJzMjQgPSBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgY29uc3QgaG91cnMxMiA9IChkYXRlLmdldEhvdXJzKCkgJSAxMiB8fCAxMikudG9TdHJpbmcoKTtcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCBzZWNvbmRzID0gZGF0ZS5nZXRTZWNvbmRzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgY29uc3QgYW1wbSA9IGRhdGUuZ2V0SG91cnMoKSA+PSAxMiA/ICdQTScgOiAnQU0nO1xyXG5cclxuICAgIHN3aXRjaCAoZm9ybWF0KSB7XHJcbiAgICAgIGNhc2UgJ2RkL01NL3l5eXknOiByZXR1cm4gYCR7ZGF5fS8ke21vbnRofS8ke3llYXJ9YDtcclxuICAgICAgY2FzZSAnTU0vZGQveXl5eSc6IHJldHVybiBgJHttb250aH0vJHtkYXl9LyR7eWVhcn1gO1xyXG4gICAgICBjYXNlICd5eXl5LU1NLWRkJzogcmV0dXJuIGAke3llYXJ9LSR7bW9udGh9LSR7ZGF5fWA7XHJcbiAgICAgIGNhc2UgJ2RkLU1NLXl5eXknOiByZXR1cm4gYCR7ZGF5fS0ke21vbnRofS0ke3llYXJ9YDtcclxuICAgICAgY2FzZSAnTU0tZGQteXl5eSc6IHJldHVybiBgJHttb250aH0tJHtkYXl9LSR7eWVhcn1gO1xyXG4gICAgICBjYXNlICdkZCBNTU0geXl5eSc6IHJldHVybiBgJHtkYXl9ICR7bW9udGhOYW1lfSAke3llYXJ9YDtcclxuICAgICAgY2FzZSAnTU1NIGRkIHl5eXknOiByZXR1cm4gYCR7bW9udGhOYW1lfSAke2RheX0gJHt5ZWFyfWA7XHJcbiAgICAgIGNhc2UgJ3l5eXkvTU0vZGQnOiByZXR1cm4gYCR7eWVhcn0vJHttb250aH0vJHtkYXl9YDtcclxuICAgICAgY2FzZSAnZGQvTU0veXknOiByZXR1cm4gYCR7ZGF5fS8ke21vbnRofS8ke3Nob3J0WWVhcn1gO1xyXG4gICAgICBjYXNlICdNTS9kZC95eSc6IHJldHVybiBgJHttb250aH0vJHtkYXl9LyR7c2hvcnRZZWFyfWA7XHJcbiAgICAgIGNhc2UgJ3l5eXktTU0tZGRUSEg6bW06c3MnOiByZXR1cm4gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9VCR7aG91cnMyNH06JHttaW51dGVzfToke3NlY29uZHN9YDtcclxuICAgICAgY2FzZSAneXl5eS1NTS1kZCBISDptbTpzcyc6IHJldHVybiBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX0gJHtob3VyczI0fToke21pbnV0ZXN9OiR7c2Vjb25kc31gO1xyXG4gICAgICBjYXNlICdkZC9NTS95eXl5IEhIOm1tJzogcmV0dXJuIGAke2RheX0vJHttb250aH0vJHt5ZWFyfSAke2hvdXJzMjR9OiR7bWludXRlc31gO1xyXG4gICAgICBjYXNlICdNTS9kZC95eXl5IEhIOm1tJzogcmV0dXJuIGAke21vbnRofS8ke2RheX0vJHt5ZWFyfSAke2hvdXJzMjR9OiR7bWludXRlc31gO1xyXG4gICAgICBjYXNlICdISDptbTpzcyc6IHJldHVybiBgJHtob3VyczI0fToke21pbnV0ZXN9OiR7c2Vjb25kc31gO1xyXG4gICAgICBjYXNlICdISDptbSc6IHJldHVybiBgJHtob3VyczI0fToke21pbnV0ZXN9YDtcclxuICAgICAgY2FzZSAnaDptbSBhJzogcmV0dXJuIGAke2hvdXJzMTJ9OiR7bWludXRlc30gJHthbXBtfWA7XHJcbiAgICAgIGNhc2UgJ2g6bW06c3MgYSc6IHJldHVybiBgJHtob3VyczEyfToke21pbnV0ZXN9OiR7c2Vjb25kc30gJHthbXBtfWA7XHJcbiAgICAgIGRlZmF1bHQ6IHJldHVybiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tcy10aW1lLXNoZWV0L3NyYy9saWIvcGlwZXMvZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxVQUFVO0lBRXJCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsVUFBa0IsRUFBRSxHQUFZO1FBQ3RELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUVwRSxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVMsRUFBRSxVQUFrQixFQUFFLEdBQVk7UUFDbkUsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV4QixvREFBb0Q7UUFDcEQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsa0RBQWtEO1FBQ2xELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFRLEVBQUUsSUFBWTtRQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFRLEVBQUUsVUFBa0I7UUFDakQsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV2Qiw4QkFBOEI7UUFDOUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QixrQ0FBa0M7WUFDbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QixPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUVELElBQUksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsbUNBQW1DO1lBQ25DLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQzt3QkFDM0MsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztvQkFDRCx3Q0FBd0M7b0JBQ3hDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDO3dCQUM1QyxPQUFPLElBQUksQ0FBQztvQkFDZCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQVUsRUFBRSxVQUFrQjtRQUNyRCxJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFaEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7UUFFRCxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFXLEVBQUUsVUFBa0I7UUFDdkQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5DLGNBQWM7UUFDZCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFL0Msc0VBQXNFO1FBQ3RFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkQsaURBQWlEO1FBQ2pELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVwSCx3Q0FBd0M7UUFDeEMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWxFLGlDQUFpQztRQUNqQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFN0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVksRUFBRSxPQUFlO1FBQzlDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxZQUFZLEVBQUUsQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sWUFBWSxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDekMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLElBQVksRUFBRSxJQUFZO1FBQ3BELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDckIsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGVBQWU7b0JBQ3pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFNLFlBQVk7b0JBQ3RDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFNLFdBQVc7cUJBQ3RDLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFVBQWtCO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLGdEQUFnRDtZQUNoRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRXpELHdDQUF3QztZQUN4QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRTNELDJEQUEyRDtZQUMzRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRW5GLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLEdBQVc7UUFDOUIsMkJBQTJCO1FBQzNCLE1BQU0sWUFBWSxHQUFHO1lBQ25CLHFCQUFxQixFQUFFLGFBQWE7WUFDcEMsdUJBQXVCLEVBQUUsMkJBQTJCO1lBQ3BELHFCQUFxQixFQUFFLDJCQUEyQjtZQUNsRCx1QkFBdUIsRUFBRSxhQUFhO1lBQ3RDLHVCQUF1QixFQUFFLHVCQUF1QjtZQUNoRCxzQ0FBc0MsRUFBRSxnQkFBZ0I7WUFDeEQsc0NBQXNDLEVBQUUsc0JBQXNCO1lBQzlELGtDQUFrQyxFQUFFLG1CQUFtQjtZQUN2RCxxQkFBcUIsRUFBRSxXQUFXO1lBQ2xDLGVBQWUsRUFBRSxRQUFRO1lBQ3pCLCtCQUErQixFQUFFLFNBQVM7U0FDM0MsQ0FBQztRQUVGLDJDQUEyQztRQUMzQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7UUFDSCxDQUFDO1FBRUQsMENBQTBDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBWSxFQUFFLFVBQWtCO1FBQzVELG9DQUFvQztRQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFZO1FBQ3JDLE1BQU0sVUFBVSxHQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsOEJBQThCO1FBQzlCLE1BQU0sYUFBYSxHQUFnQztZQUNqRCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNwQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNwQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNwQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNwQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDWCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ2YsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7WUFDckIsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNmLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNWLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNYLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNYLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNYLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNYLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNWLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztTQUNiLENBQUM7UUFFRixxREFBcUQ7UUFDckQsS0FBSyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDakIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFXLEVBQUUsVUFBa0I7UUFDcEQsdURBQXVEO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFN0MsNERBQTREO1FBQzVELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyx5Q0FBeUM7UUFDcEYsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFVLEVBQUUsVUFBa0I7UUFDcEQsOERBQThEO1FBQzlELE1BQU0sT0FBTyxHQUFHO1lBQ2QsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLFlBQVk7WUFDWixhQUFhO1lBQ2IsYUFBYTtZQUNiLFlBQVk7WUFDWixVQUFVO1lBQ1YsVUFBVTtZQUNWLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixVQUFVO1lBQ1YsT0FBTztZQUNQLFFBQVE7WUFDUixXQUFXO1NBQ1osQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVoRixvQkFBb0I7UUFDcEIsTUFBTSxVQUFVLEdBQUc7WUFDakIsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNO1lBQ3RELE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUNoRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7WUFDeEMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO1NBQ3pDLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxrQkFBa0I7UUFDbEIsTUFBTSxRQUFRLEdBQUc7WUFDZixRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVO1lBQzVFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7U0FDaEQsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9FLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELGFBQWE7UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFeEUsZ0NBQWdDO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUQsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFFBQVEsS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDaEUsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFFBQVEsS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEUsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVwRSx3QkFBd0I7UUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzVFLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDL0UsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxHQUFHLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUM3RSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU1RSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBVSxFQUFFLE1BQWM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpDLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztZQUN4QyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7U0FDekMsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFakQsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNmLEtBQUssWUFBWSxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEQsS0FBSyxZQUFZLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwRCxLQUFLLFlBQVksQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3BELEtBQUssWUFBWSxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEQsS0FBSyxZQUFZLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwRCxLQUFLLGFBQWEsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3pELEtBQUssYUFBYSxDQUFDLENBQUMsT0FBTyxHQUFHLFNBQVMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDekQsS0FBSyxZQUFZLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNwRCxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLElBQUksS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3ZELEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssSUFBSSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDdkQsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzlGLEtBQUsscUJBQXFCLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxHQUFHLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM5RixLQUFLLGtCQUFrQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNoRixLQUFLLGtCQUFrQixDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNoRixLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzNELEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QyxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3RELEtBQUssV0FBVyxDQUFDLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7K0dBclhVLFVBQVU7NkdBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFKdEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsUUFBUTtvQkFDZCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZpbHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShpdGVtczogYW55W10sIHNlYXJjaFRleHQ6IHN0cmluZywga2V5Pzogc3RyaW5nKTogYW55W10ge1xuICAgIGlmICghaXRlbXMgfHwgIXNlYXJjaFRleHQgfHwgc2VhcmNoVGV4dC50cmltKCkgPT09ICcnKSByZXR1cm4gaXRlbXM7XG5cbiAgICBjb25zdCBzZWFyY2hUZXJtcyA9IHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS50cmltKCkuc3BsaXQoL1xccysvKTtcblxuICAgIHJldHVybiBpdGVtcy5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICByZXR1cm4gc2VhcmNoVGVybXMuZXZlcnkodGVybSA9PiB0aGlzLm1hdGNoZXNTZWFyY2hUZXJtKGl0ZW0sIHRlcm0sIGtleSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXRjaGVzU2VhcmNoVGVybShpdGVtOiBhbnksIHNlYXJjaFRlcm06IHN0cmluZywga2V5Pzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCFpdGVtKSByZXR1cm4gZmFsc2U7XG5cbiAgICAvLyBJZiBrZXkgaXMgc3BlY2lmaWVkLCBzZWFyY2ggb25seSBpbiB0aGF0IHByb3BlcnR5XG4gICAgaWYgKGtleSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldE5lc3RlZFZhbHVlKGl0ZW0sIGtleSk7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZU1hdGNoZXNUZXJtKHZhbHVlLCBzZWFyY2hUZXJtKTtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHNlYXJjaCBpbiBhbGwgcHJvcGVydGllcyByZWN1cnNpdmVseVxuICAgIHJldHVybiB0aGlzLnNlYXJjaEluT2JqZWN0KGl0ZW0sIHNlYXJjaFRlcm0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXN0ZWRWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gcGF0aC5zcGxpdCgnLicpLnJlZHVjZSgoY3VycmVudCwga2V5KSA9PiBjdXJyZW50Py5ba2V5XSwgb2JqKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoSW5PYmplY3Qob2JqOiBhbnksIHNlYXJjaFRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghb2JqKSByZXR1cm4gZmFsc2U7XG5cbiAgICAvLyBIYW5kbGUgZGlmZmVyZW50IGRhdGEgdHlwZXNcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRyeSB0byBwYXJzZSBhcyBkYXRlL3RpbWUgZmlyc3RcbiAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSB0aGlzLnRyeVBhcnNlRGF0ZShvYmopO1xuICAgICAgaWYgKHBhcnNlZERhdGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZU1hdGNoZXNUZXJtKHBhcnNlZERhdGUsIHNlYXJjaFRlcm0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nTWF0Y2hlc1Rlcm0ob2JqLCBzZWFyY2hUZXJtKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBvYmoudG9TdHJpbmcoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSB8fCB0aGlzLmlzTnVtZXJpY01hdGNoKG9iaiwgc2VhcmNoVGVybSk7XG4gICAgfVxuXG4gICAgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGVNYXRjaGVzVGVybShvYmosIHNlYXJjaFRlcm0pO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICAgIHJldHVybiBvYmouc29tZShpdGVtID0+IHRoaXMuc2VhcmNoSW5PYmplY3QoaXRlbSwgc2VhcmNoVGVybSkpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgICAgLy8gRGVlcCBzZWFyY2ggaW4gb2JqZWN0IHByb3BlcnRpZXNcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9ialtrZXldO1xuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaEluT2JqZWN0KHZhbHVlLCBzZWFyY2hUZXJtKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFsc28gY2hlY2sgcHJvcGVydHkgbmFtZXMgZm9yIG1hdGNoZXNcbiAgICAgICAgICBpZiAodGhpcy5zdHJpbmdNYXRjaGVzVGVybShrZXksIHNlYXJjaFRlcm0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHZhbHVlTWF0Y2hlc1Rlcm0odmFsdWU6IGFueSwgc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdHJpbmdNYXRjaGVzVGVybSh2YWx1ZSwgc2VhcmNoVGVybSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8IHRoaXMuaXNOdW1lcmljTWF0Y2godmFsdWUsIHNlYXJjaFRlcm0pO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGVNYXRjaGVzVGVybSh2YWx1ZSwgc2VhcmNoVGVybSk7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUuc29tZShpdGVtID0+IHRoaXMudmFsdWVNYXRjaGVzVGVybShpdGVtLCBzZWFyY2hUZXJtKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlYXJjaEluT2JqZWN0KHZhbHVlLCBzZWFyY2hUZXJtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdHJpbmdNYXRjaGVzVGVybShzdHI6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbG93ZXJTdHIgPSBzdHIudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIEV4YWN0IG1hdGNoXG4gICAgaWYgKGxvd2VyU3RyLmluY2x1ZGVzKHNlYXJjaFRlcm0pKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIEZ1enp5IG1hdGNoIC0gY2hlY2sgaWYgYWxsIGNoYXJhY3RlcnMgb2Ygc2VhcmNoVGVybSBhcHBlYXIgaW4gb3JkZXJcbiAgICBpZiAodGhpcy5mdXp6eU1hdGNoKGxvd2VyU3RyLCBzZWFyY2hUZXJtKSkgcmV0dXJuIHRydWU7XG5cbiAgICAvLyBMZXZlbnNodGVpbiBkaXN0YW5jZSBmb3IgYmV0dGVyIGZ1enp5IG1hdGNoaW5nXG4gICAgaWYgKHRoaXMubGV2ZW5zaHRlaW5EaXN0YW5jZShsb3dlclN0ciwgc2VhcmNoVGVybSkgPD0gTWF0aC5tYXgoMSwgTWF0aC5mbG9vcihzZWFyY2hUZXJtLmxlbmd0aCAqIDAuMykpKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIENoZWNrIGZvciBjb21tb24gdHlwb3MgYW5kIHZhcmlhdGlvbnNcbiAgICBpZiAodGhpcy5jaGVja0NvbW1vblZhcmlhdGlvbnMobG93ZXJTdHIsIHNlYXJjaFRlcm0pKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIENoZWNrIGZvciBwYXJ0aWFsIHdvcmQgbWF0Y2hlc1xuICAgIGlmICh0aGlzLnBhcnRpYWxXb3JkTWF0Y2gobG93ZXJTdHIsIHNlYXJjaFRlcm0pKSByZXR1cm4gdHJ1ZTtcblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZnV6enlNYXRjaCh0ZXh0OiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBwYXR0ZXJuSW5kZXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGV4dC5sZW5ndGggJiYgcGF0dGVybkluZGV4IDwgcGF0dGVybi5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRleHRbaV0gPT09IHBhdHRlcm5bcGF0dGVybkluZGV4XSkge1xuICAgICAgICBwYXR0ZXJuSW5kZXgrKztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhdHRlcm5JbmRleCA9PT0gcGF0dGVybi5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGxldmVuc2h0ZWluRGlzdGFuY2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hdHJpeCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IHN0cjIubGVuZ3RoOyBpKyspIHtcbiAgICAgIG1hdHJpeFtpXSA9IFtpXTtcbiAgICB9XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPD0gc3RyMS5sZW5ndGg7IGorKykge1xuICAgICAgbWF0cml4WzBdW2pdID0gajtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gc3RyMi5sZW5ndGg7IGkrKykge1xuICAgICAgZm9yIChsZXQgaiA9IDE7IGogPD0gc3RyMS5sZW5ndGg7IGorKykge1xuICAgICAgICBpZiAoc3RyMi5jaGFyQXQoaSAtIDEpID09PSBzdHIxLmNoYXJBdChqIC0gMSkpIHtcbiAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbaSAtIDFdW2ogLSAxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXRyaXhbaV1bal0gPSBNYXRoLm1pbihcbiAgICAgICAgICAgIG1hdHJpeFtpIC0gMV1baiAtIDFdICsgMSwgLy8gc3Vic3RpdHV0aW9uXG4gICAgICAgICAgICBtYXRyaXhbaV1baiAtIDFdICsgMSwgICAgIC8vIGluc2VydGlvblxuICAgICAgICAgICAgbWF0cml4W2kgLSAxXVtqXSArIDEgICAgICAvLyBkZWxldGlvblxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hdHJpeFtzdHIyLmxlbmd0aF1bc3RyMS5sZW5ndGhdO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJ0aWFsV29yZE1hdGNoKHRleHQ6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgd29yZHMgPSB0ZXh0LnNwbGl0KC9cXHMrLyk7XG4gICAgcmV0dXJuIHdvcmRzLnNvbWUod29yZCA9PiB7XG4gICAgICAvLyBDaGVjayBpZiBzZWFyY2ggdGVybSBpcyBjb250YWluZWQgaW4gYW55IHdvcmRcbiAgICAgIGlmICh3b3JkLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpIHJldHVybiB0cnVlO1xuXG4gICAgICAvLyBDaGVjayBpZiB3b3JkIHN0YXJ0cyB3aXRoIHNlYXJjaCB0ZXJtXG4gICAgICBpZiAod29yZC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoc2VhcmNoVGVybSkpIHJldHVybiB0cnVlO1xuXG4gICAgICAvLyBDaGVjayBpZiBzZWFyY2ggdGVybSBpcyBhbiBhYmJyZXZpYXRpb24gb3IgcGFydGlhbCBtYXRjaFxuICAgICAgaWYgKHNlYXJjaFRlcm0ubGVuZ3RoID49IDIgJiYgd29yZC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0cnlQYXJzZURhdGUoc3RyOiBzdHJpbmcpOiBEYXRlIHwgbnVsbCB7XG4gICAgLy8gVHJ5IHZhcmlvdXMgZGF0ZSBmb3JtYXRzXG4gICAgY29uc3QgZGF0ZVBhdHRlcm5zID0gW1xuICAgICAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfSQvLCAvLyB5eXl5LU1NLWRkXG4gICAgICAvXlxcZHsyfVxcL1xcZHsyfVxcL1xcZHs0fSQvLCAvLyBkZC9NTS95eXl5IG9yIE1NL2RkL3l5eXlcbiAgICAgIC9eXFxkezJ9LVxcZHsyfS1cXGR7NH0kLywgLy8gZGQtTU0teXl5eSBvciBNTS1kZC15eXl5XG4gICAgICAvXlxcZHs0fVxcL1xcZHsyfVxcL1xcZHsyfSQvLCAvLyB5eXl5L01NL2RkXG4gICAgICAvXlxcZHsyfVxcL1xcZHsyfVxcL1xcZHsyfSQvLCAvLyBkZC9NTS95eSBvciBNTS9kZC95eVxuICAgICAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfVRcXGR7Mn06XFxkezJ9OlxcZHsyfS8sIC8vIElTTyB3aXRoIHRpbWVcbiAgICAgIC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0gXFxkezJ9OlxcZHsyfTpcXGR7Mn0vLCAvLyB5eXl5LU1NLWRkIEhIOm1tOnNzXG4gICAgICAvXlxcZHsyfVxcL1xcZHsyfVxcL1xcZHs0fSBcXGR7Mn06XFxkezJ9LywgLy8gZGQvTU0veXl5eSBISDptbVxuICAgICAgL15cXGR7Mn06XFxkezJ9OlxcZHsyfSQvLCAvLyBISDptbTpzc1xuICAgICAgL15cXGR7Mn06XFxkezJ9JC8sIC8vIEhIOm1tXG4gICAgICAvXlxcZHsxLDJ9OlxcZHsyfSAoQU18UE18YW18cG0pJC8sIC8vIGg6bW0gYVxuICAgIF07XG5cbiAgICAvLyBDaGVjayBpZiBzdHJpbmcgbWF0Y2hlcyBhbnkgZGF0ZSBwYXR0ZXJuXG4gICAgaWYgKGRhdGVQYXR0ZXJucy5zb21lKHBhdHRlcm4gPT4gcGF0dGVybi50ZXN0KHN0cikpKSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShzdHIpO1xuICAgICAgaWYgKCFpc05hTihwYXJzZWQuZ2V0VGltZSgpKSkge1xuICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRyeSBwYXJzaW5nIHdpdGggbW9yZSBmbGV4aWJsZSBhcHByb2FjaFxuICAgIGNvbnN0IGZsZXhpYmxlUGFyc2UgPSBuZXcgRGF0ZShzdHIpO1xuICAgIGlmICghaXNOYU4oZmxleGlibGVQYXJzZS5nZXRUaW1lKCkpKSB7XG4gICAgICByZXR1cm4gZmxleGlibGVQYXJzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tDb21tb25WYXJpYXRpb25zKHRleHQ6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gSGFuZGxlIGNvbW1vbiBzcGVsbGluZyB2YXJpYXRpb25zXG4gICAgY29uc3QgdmFyaWF0aW9ucyA9IHRoaXMuZ2VuZXJhdGVWYXJpYXRpb25zKHNlYXJjaFRlcm0pO1xuICAgIHJldHVybiB2YXJpYXRpb25zLnNvbWUodmFyaWF0aW9uID0+IHRleHQuaW5jbHVkZXModmFyaWF0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVmFyaWF0aW9ucyh0ZXJtOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgdmFyaWF0aW9uczogc3RyaW5nW10gPSBbdGVybV07XG5cbiAgICAvLyBDb21tb24gbGV0dGVyIHN1YnN0aXR1dGlvbnNcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gPSB7XG4gICAgICAnYSc6IFsnZScsICdpJywgJ28nXSxcbiAgICAgICdlJzogWydhJywgJ2knLCAnbyddLFxuICAgICAgJ2knOiBbJ2EnLCAnZScsICdvJ10sXG4gICAgICAnbyc6IFsnYScsICdlJywgJ2knXSxcbiAgICAgICd1JzogWydvbyddLFxuICAgICAgJ2MnOiBbJ2snLCAncyddLFxuICAgICAgJ2snOiBbJ2MnLCAncScsICdjayddLFxuICAgICAgJ3MnOiBbJ2MnLCAneiddLFxuICAgICAgJ3onOiBbJ3MnXSxcbiAgICAgICdwaCc6IFsnZiddLFxuICAgICAgJ2YnOiBbJ3BoJ10sXG4gICAgICAnY2snOiBbJ2snXSxcbiAgICAgICdxdSc6IFsna3cnXSxcbiAgICAgICd4JzogWydrcyddLFxuICAgICAgJ3knOiBbJ2knXSxcbiAgICAgICdpZSc6IFsnZWknXSxcbiAgICAgICdlaSc6IFsnaWUnXVxuICAgIH07XG5cbiAgICAvLyBHZW5lcmF0ZSB2YXJpYXRpb25zIGJ5IHN1YnN0aXR1dGluZyBjb21tb24gbGV0dGVyc1xuICAgIGZvciAoY29uc3QgW29yaWdpbmFsLCBzdWJzXSBvZiBPYmplY3QuZW50cmllcyhzdWJzdGl0dXRpb25zKSkge1xuICAgICAgaWYgKHRlcm0uaW5jbHVkZXMob3JpZ2luYWwpKSB7XG4gICAgICAgIHN1YnMuZm9yRWFjaChzdWIgPT4ge1xuICAgICAgICAgIHZhcmlhdGlvbnMucHVzaCh0ZXJtLnJlcGxhY2Uob3JpZ2luYWwsIHN1YikpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWF0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgaXNOdW1lcmljTWF0Y2gobnVtOiBudW1iZXIsIHNlYXJjaFRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIGlmIHNlYXJjaCB0ZXJtIGlzIGEgbnVtYmVyIG9yIGNvbnRhaW5zIG51bWJlcnNcbiAgICBjb25zdCBudW1TdHIgPSBudW0udG9TdHJpbmcoKTtcbiAgICBpZiAobnVtU3RyLmluY2x1ZGVzKHNlYXJjaFRlcm0pKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIENoZWNrIGZvciBhcHByb3hpbWF0ZSBtYXRjaGVzIChlLmcuLCBcIjEwXCIgbWF0Y2hlcyBcIjEwLjVcIilcbiAgICBjb25zdCBzZWFyY2hOdW0gPSBwYXJzZUZsb2F0KHNlYXJjaFRlcm0pO1xuICAgIGlmICghaXNOYU4oc2VhcmNoTnVtKSkge1xuICAgICAgcmV0dXJuIE1hdGguYWJzKG51bSAtIHNlYXJjaE51bSkgPCAwLjAxOyAvLyBBbGxvdyBzbWFsbCBmbG9hdGluZyBwb2ludCBkaWZmZXJlbmNlc1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZGF0ZU1hdGNoZXNUZXJtKGRhdGU6IERhdGUsIHNlYXJjaFRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIEZvcm1hdCBkYXRlIGluIHZhcmlvdXMgY29tbW9uIGZvcm1hdHMgYW5kIGNoZWNrIGZvciBtYXRjaGVzXG4gICAgY29uc3QgZm9ybWF0cyA9IFtcbiAgICAgICdkZC9NTS95eXl5JyxcbiAgICAgICdNTS9kZC95eXl5JyxcbiAgICAgICd5eXl5LU1NLWRkJyxcbiAgICAgICdkZC1NTS15eXl5JyxcbiAgICAgICdNTS1kZC15eXl5JyxcbiAgICAgICdkZCBNTU0geXl5eScsXG4gICAgICAnTU1NIGRkIHl5eXknLFxuICAgICAgJ3l5eXkvTU0vZGQnLFxuICAgICAgJ2RkL01NL3l5JyxcbiAgICAgICdNTS9kZC95eScsXG4gICAgICAneXl5eS1NTS1kZFRISDptbTpzcycsXG4gICAgICAneXl5eS1NTS1kZCBISDptbTpzcycsXG4gICAgICAnZGQvTU0veXl5eSBISDptbScsXG4gICAgICAnTU0vZGQveXl5eSBISDptbScsXG4gICAgICAnSEg6bW06c3MnLFxuICAgICAgJ0hIOm1tJyxcbiAgICAgICdoOm1tIGEnLFxuICAgICAgJ2g6bW06c3MgYSdcbiAgICBdO1xuXG4gICAgY29uc3QgZm9ybWF0dGVkRGF0ZXMgPSBmb3JtYXRzLm1hcChmb3JtYXQgPT4gdGhpcy5mb3JtYXREYXRlKGRhdGUsIGZvcm1hdCkpO1xuICAgIGlmIChmb3JtYXR0ZWREYXRlcy5zb21lKGQgPT4gZC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKSkgcmV0dXJuIHRydWU7XG5cbiAgICAvLyBDaGVjayBtb250aCBuYW1lc1xuICAgIGNvbnN0IG1vbnRoTmFtZXMgPSBbXG4gICAgICAnamFudWFyeScsICdmZWJydWFyeScsICdtYXJjaCcsICdhcHJpbCcsICdtYXknLCAnanVuZScsXG4gICAgICAnanVseScsICdhdWd1c3QnLCAnc2VwdGVtYmVyJywgJ29jdG9iZXInLCAnbm92ZW1iZXInLCAnZGVjZW1iZXInLFxuICAgICAgJ2phbicsICdmZWInLCAnbWFyJywgJ2FwcicsICdtYXknLCAnanVuJyxcbiAgICAgICdqdWwnLCAnYXVnJywgJ3NlcCcsICdvY3QnLCAnbm92JywgJ2RlYydcbiAgICBdO1xuXG4gICAgY29uc3QgbW9udGhJbmRleCA9IGRhdGUuZ2V0TW9udGgoKTtcbiAgICBpZiAobW9udGhOYW1lcy5zb21lKG1vbnRoID0+IG1vbnRoLmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8IHNlYXJjaFRlcm0uaW5jbHVkZXMobW9udGgpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZGF5IG5hbWVzXG4gICAgY29uc3QgZGF5TmFtZXMgPSBbXG4gICAgICAnc3VuZGF5JywgJ21vbmRheScsICd0dWVzZGF5JywgJ3dlZG5lc2RheScsICd0aHVyc2RheScsICdmcmlkYXknLCAnc2F0dXJkYXknLFxuICAgICAgJ3N1bicsICdtb24nLCAndHVlJywgJ3dlZCcsICd0aHUnLCAnZnJpJywgJ3NhdCdcbiAgICBdO1xuXG4gICAgY29uc3QgZGF5SW5kZXggPSBkYXRlLmdldERheSgpO1xuICAgIGlmIChkYXlOYW1lcy5zb21lKGRheSA9PiBkYXkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHwgc2VhcmNoVGVybS5pbmNsdWRlcyhkYXkpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgeWVhclxuICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcbiAgICBpZiAoeWVhci5pbmNsdWRlcyhzZWFyY2hUZXJtKSB8fCBzZWFyY2hUZXJtLmluY2x1ZGVzKHllYXIpKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIENoZWNrIGZvciByZWxhdGl2ZSBkYXRlIHRlcm1zXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBkaWZmVGltZSA9IG5vdy5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWUoKTtcbiAgICBjb25zdCBkaWZmRGF5cyA9IE1hdGguZmxvb3IoZGlmZlRpbWUgLyAoMTAwMCAqIDYwICogNjAgKiAyNCkpO1xuXG4gICAgaWYgKHNlYXJjaFRlcm0uaW5jbHVkZXMoJ3RvZGF5JykgJiYgZGlmZkRheXMgPT09IDApIHJldHVybiB0cnVlO1xuICAgIGlmIChzZWFyY2hUZXJtLmluY2x1ZGVzKCd5ZXN0ZXJkYXknKSAmJiBkaWZmRGF5cyA9PT0gMSkgcmV0dXJuIHRydWU7XG4gICAgaWYgKHNlYXJjaFRlcm0uaW5jbHVkZXMoJ3RvbW9ycm93JykgJiYgZGlmZkRheXMgPT09IC0xKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIENoZWNrIGZvciB0aW1lIHJhbmdlc1xuICAgIGNvbnN0IGhvdXJzID0gZGF0ZS5nZXRIb3VycygpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKTtcbiAgICBpZiAoc2VhcmNoVGVybS5pbmNsdWRlcygnbW9ybmluZycpICYmIGhvdXJzID49IDYgJiYgaG91cnMgPCAxMikgcmV0dXJuIHRydWU7XG4gICAgaWYgKHNlYXJjaFRlcm0uaW5jbHVkZXMoJ2FmdGVybm9vbicpICYmIGhvdXJzID49IDEyICYmIGhvdXJzIDwgMTcpIHJldHVybiB0cnVlO1xuICAgIGlmIChzZWFyY2hUZXJtLmluY2x1ZGVzKCdldmVuaW5nJykgJiYgaG91cnMgPj0gMTcgJiYgaG91cnMgPCAyMSkgcmV0dXJuIHRydWU7XG4gICAgaWYgKHNlYXJjaFRlcm0uaW5jbHVkZXMoJ25pZ2h0JykgJiYgKGhvdXJzID49IDIxIHx8IGhvdXJzIDwgNikpIHJldHVybiB0cnVlO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXREYXRlKGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbW9udGggPSAoZGF0ZS5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBzaG9ydFllYXIgPSB5ZWFyLnNsaWNlKC0yKTtcblxuICAgIGNvbnN0IG1vbnRoTmFtZXMgPSBbXG4gICAgICAnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLFxuICAgICAgJ0p1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJ1xuICAgIF07XG5cbiAgICBjb25zdCBtb250aE5hbWUgPSBtb250aE5hbWVzW2RhdGUuZ2V0TW9udGgoKV07XG5cbiAgICBjb25zdCBob3VyczI0ID0gZGF0ZS5nZXRIb3VycygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBob3VyczEyID0gKGRhdGUuZ2V0SG91cnMoKSAlIDEyIHx8IDEyKS50b1N0cmluZygpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3Qgc2Vjb25kcyA9IGRhdGUuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBhbXBtID0gZGF0ZS5nZXRIb3VycygpID49IDEyID8gJ1BNJyA6ICdBTSc7XG5cbiAgICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgICAgY2FzZSAnZGQvTU0veXl5eSc6IHJldHVybiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn1gO1xuICAgICAgY2FzZSAnTU0vZGQveXl5eSc6IHJldHVybiBgJHttb250aH0vJHtkYXl9LyR7eWVhcn1gO1xuICAgICAgY2FzZSAneXl5eS1NTS1kZCc6IHJldHVybiBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gO1xuICAgICAgY2FzZSAnZGQtTU0teXl5eSc6IHJldHVybiBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn1gO1xuICAgICAgY2FzZSAnTU0tZGQteXl5eSc6IHJldHVybiBgJHttb250aH0tJHtkYXl9LSR7eWVhcn1gO1xuICAgICAgY2FzZSAnZGQgTU1NIHl5eXknOiByZXR1cm4gYCR7ZGF5fSAke21vbnRoTmFtZX0gJHt5ZWFyfWA7XG4gICAgICBjYXNlICdNTU0gZGQgeXl5eSc6IHJldHVybiBgJHttb250aE5hbWV9ICR7ZGF5fSAke3llYXJ9YDtcbiAgICAgIGNhc2UgJ3l5eXkvTU0vZGQnOiByZXR1cm4gYCR7eWVhcn0vJHttb250aH0vJHtkYXl9YDtcbiAgICAgIGNhc2UgJ2RkL01NL3l5JzogcmV0dXJuIGAke2RheX0vJHttb250aH0vJHtzaG9ydFllYXJ9YDtcbiAgICAgIGNhc2UgJ01NL2RkL3l5JzogcmV0dXJuIGAke21vbnRofS8ke2RheX0vJHtzaG9ydFllYXJ9YDtcbiAgICAgIGNhc2UgJ3l5eXktTU0tZGRUSEg6bW06c3MnOiByZXR1cm4gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9VCR7aG91cnMyNH06JHttaW51dGVzfToke3NlY29uZHN9YDtcbiAgICAgIGNhc2UgJ3l5eXktTU0tZGQgSEg6bW06c3MnOiByZXR1cm4gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9ICR7aG91cnMyNH06JHttaW51dGVzfToke3NlY29uZHN9YDtcbiAgICAgIGNhc2UgJ2RkL01NL3l5eXkgSEg6bW0nOiByZXR1cm4gYCR7ZGF5fS8ke21vbnRofS8ke3llYXJ9ICR7aG91cnMyNH06JHttaW51dGVzfWA7XG4gICAgICBjYXNlICdNTS9kZC95eXl5IEhIOm1tJzogcmV0dXJuIGAke21vbnRofS8ke2RheX0vJHt5ZWFyfSAke2hvdXJzMjR9OiR7bWludXRlc31gO1xuICAgICAgY2FzZSAnSEg6bW06c3MnOiByZXR1cm4gYCR7aG91cnMyNH06JHttaW51dGVzfToke3NlY29uZHN9YDtcbiAgICAgIGNhc2UgJ0hIOm1tJzogcmV0dXJuIGAke2hvdXJzMjR9OiR7bWludXRlc31gO1xuICAgICAgY2FzZSAnaDptbSBhJzogcmV0dXJuIGAke2hvdXJzMTJ9OiR7bWludXRlc30gJHthbXBtfWA7XG4gICAgICBjYXNlICdoOm1tOnNzIGEnOiByZXR1cm4gYCR7aG91cnMxMn06JHttaW51dGVzfToke3NlY29uZHN9ICR7YW1wbX1gO1xuICAgICAgZGVmYXVsdDogcmV0dXJuIGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -13,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
13
13
|
type: Pipe,
|
|
14
14
|
args: [{ name: 'pinnedColumns', pure: true, standalone: true }]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlubmVkLWNvbHVtbnMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zLXRpbWUtc2hlZXQvc3JjL2xpYi9waXBlcy9waW5uZWQtY29sdW1ucy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFNBQVMsQ0FBQyxPQUFjLEVBQUUsTUFBK0I7UUFDdkQsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN4QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ2xGLENBQUM7K0dBSlUsaUJBQWlCOzZHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUksVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAncGlubmVkQ29sdW1ucycsIHB1cmU6IHRydWUsICAgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFBpbm5lZENvbHVtbnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShjb2x1bW5zOiBhbnlbXSwgcGlubmVkOiAnbGVmdCcgfCAncmlnaHQnIHwgbnVsbCk6IGFueVtdIHtcbiAgICBpZiAoIWNvbHVtbnMpIHJldHVybiBbXTtcbiAgICByZXR1cm4gY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC5pc192aXNpYmxlICE9PSBmYWxzZSAmJiBjb2wucGlubmVkID09PSBwaW5uZWQpO1xuICB9XG59Il19
|
|
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
183
183
|
standalone: true
|
|
184
184
|
}]
|
|
185
185
|
}] });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUtZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tcy10aW1lLXNoZWV0L3NyYy9saWIvcGlwZXMvdGltZXpvbmUtZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQzs7QUFXMUMsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQU1VLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUM7S0FxTHJFO0lBbkxDLFNBQVMsQ0FDUCxLQUF1QyxFQUN2QyxLQUFvRSxFQUNwRSxhQUEyQyxVQUFVO1FBRXJELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFRLElBQUksa0JBQWtCLENBQUM7UUFDdkQsa0VBQWtFO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFJLFlBQVksQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFJLE9BQU8sQ0FBQyxDQUFDO1FBRW5GLHlFQUF5RTtRQUN6RSxNQUFNLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFbEUsSUFBSSxXQUFtQixDQUFDO1FBQ3hCLElBQUksVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzFCLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLFdBQVcsR0FBRyxVQUFVLENB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YTthQUNqQixPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLHlCQUF5QjthQUMvQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFFLHFCQUFxQjthQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLGlCQUFpQjthQUN2QyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLHlCQUF5QjthQUMvQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHVCQUF1QjthQUMzQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLDJCQUEyQjthQUNqRCxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHlCQUF5QjthQUM3QyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHlCQUF5QjthQUM3QyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLDBCQUEwQjthQUNoRCxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHdCQUF3QjthQUM1QyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLDBCQUEwQjthQUNoRCxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHdCQUF3QjthQUM1QyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO0lBQ2hELENBQUM7K0dBdExVLGtCQUFrQjs2R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XHJcblxyXG5pbnRlcmZhY2UgRGF0ZVRpbWVQcmVmcyB7XHJcbiAgdGltZVpvbmU6IHN0cmluZztcclxuICBkYXRlRm9ybWF0OiBzdHJpbmc7XHJcbiAgdGltZUZvcm1hdDogc3RyaW5nO1xyXG59XHJcbkBQaXBlKHtcclxuICBuYW1lOiAndGltZXpvbmVGb3JtYXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWV6b25lRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBwcml2YXRlIGZvcm1hdENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zPigpO1xyXG5cclxuICB0cmFuc2Zvcm0oXHJcbiAgICB2YWx1ZTogc3RyaW5nIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICBwcmVmcz86IHsgdGltZVpvbmU6IHN0cmluZywgZGF0ZUZvcm1hdDogc3RyaW5nLCB0aW1lRm9ybWF0OiBzdHJpbmcgfSxcclxuICAgIGZvcm1hdFR5cGU6ICdkYXRlJyB8ICd0aW1lJyB8ICdkYXRldGltZScgPSAnZGF0ZXRpbWUnXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRpbWVab25lID0gcHJlZnM/LnRpbWVab25lIHx8ICdBbWVyaWNhL05ld19Zb3JrJztcclxuICAgIC8vIENvbnZlcnQgQW5ndWxhciBEYXRlUGlwZSBmb3JtYXQgdG8gbW9tZW50LmpzIGZvcm1hdCBmb3IgcGFyc2luZ1xyXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IHRoaXMuY29udmVydEFuZ3VsYXJUb01vbWVudEZvcm1hdChwcmVmcz8uZGF0ZUZvcm1hdCB8fCAnTU0vZGQveXl5eScpO1xyXG4gICAgY29uc3QgdGltZUZvcm1hdCA9IHRoaXMuY29udmVydEFuZ3VsYXJUb01vbWVudEZvcm1hdChwcmVmcz8udGltZUZvcm1hdCB8fCAnSEg6bW0nKTtcclxuXHJcbiAgICAvLyBEZXRlY3QgaWYgdmFsdWUgaXMgdGltZS1vbmx5IChlLmcuICcwOTowMCcsICc5OjAwJywgJzA5OjAwOjAwJyBmb3JtYXQpXHJcbiAgICBjb25zdCBpc1RpbWVPbmx5ID0gL15cXGR7MSwyfTpcXGR7Mn0oOlxcZHsyfSk/JC8udGVzdChTdHJpbmcodmFsdWUpKTtcclxuXHJcbiAgICBsZXQgZmluYWxGb3JtYXQ6IHN0cmluZztcclxuICAgIGlmIChmb3JtYXRUeXBlID09PSAnZGF0ZScpIHtcclxuICAgICAgZmluYWxGb3JtYXQgPSBkYXRlRm9ybWF0O1xyXG4gICAgfSBlbHNlIGlmIChmb3JtYXRUeXBlID09PSAndGltZScpIHtcclxuICAgICAgZmluYWxGb3JtYXQgPSB0aW1lRm9ybWF0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZmluYWxGb3JtYXQgPSBgJHtkYXRlRm9ybWF0fSAke3RpbWVGb3JtYXR9YDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZGF0ZTogRGF0ZTtcclxuICAgIGlmIChpc1RpbWVPbmx5KSB7XHJcbiAgICAgIC8vIENvbWJpbmUgd2l0aCB0b2RheSdzIGRhdGUgZm9yIHRpbWV6b25lIGNvbnRleHRcclxuICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcclxuICAgICAgY29uc3QgdGltZVN0ciA9IFN0cmluZyh2YWx1ZSk7XHJcbiAgICAgIC8vIEVuc3VyZSB0aW1lIGhhcyBzZWNvbmRzIGlmIG5vdCBwcmVzZW50XHJcbiAgICAgIGNvbnN0IGZ1bGxUaW1lU3RyID0gdGltZVN0ci5pbmNsdWRlcygnOicpICYmIHRpbWVTdHIuc3BsaXQoJzonKS5sZW5ndGggPT09IDIgPyBgJHt0aW1lU3RyfTowMGAgOiB0aW1lU3RyO1xyXG4gICAgICBjb25zdCBkYXRlVGltZVN0cmluZyA9IGAke3RvZGF5fVQke2Z1bGxUaW1lU3RyfWA7XHJcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRlVGltZVN0cmluZyk7XHJcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGUoZGF0ZSwgcHJlZnMsIGZvcm1hdFR5cGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gUGFyc2UgYXMgZGF0ZVxyXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgZGF0ZSA9IHZhbHVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh2YWx1ZSwgcHJlZnMsIGZvcm1hdFR5cGUpO1xyXG4gICAgLy8gcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZShkYXRlLCBmaW5hbEZvcm1hdCwgcHJlZnMpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyLCBwcmVmczogRGF0ZVRpbWVQcmVmcyxcclxuICAgIGZvcm1hdFR5cGU6ICdkYXRlJyB8ICd0aW1lJyB8ICdkYXRldGltZScgPSAnZGF0ZXRpbWUnXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghZGF0ZSkgcmV0dXJuICcnO1xyXG4gICAgLy8gUGFyc2UgdGhlIGFjdHVhbCBkYXRlIGluIHRoZSBjb3JyZWN0IHRpbWV6b25lXHJcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG1vbWVudC50eihkYXRlLCBwcmVmcy50aW1lWm9uZSk7XHJcbiAgICBsZXQgdGltZVN0cmluZzogc3RyaW5nO1xyXG5cclxuICAgIC8vIENob29zZSAxMmggb3IgMjRoIGZvcm1hdCBkeW5hbWljYWxseVxyXG4gICAgc3dpdGNoIChmb3JtYXRUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgIHJldHVybiBjdXJyZW50RGF0ZS5mb3JtYXQocHJlZnMuZGF0ZUZvcm1hdCk7XHJcbiAgICAgIGNhc2UgJ3RpbWUnOlxyXG4gICAgICAgIGlmIChwcmVmcy50aW1lRm9ybWF0ID09PSAnaGg6bW0gQScpIHtcclxuICAgICAgICAgIHRpbWVTdHJpbmcgPSBjdXJyZW50RGF0ZS5mb3JtYXQoJ2hoOm1tIEEnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGltZVN0cmluZyA9IGN1cnJlbnREYXRlLmZvcm1hdCgnSEg6bW0nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRpbWVTdHJpbmc7XHJcbiAgICAgIGNhc2UgJ2RhdGV0aW1lJzpcclxuICAgICAgICBpZiAocHJlZnMudGltZUZvcm1hdCA9PT0gJ2hoOm1tIEEnKSB7XHJcbiAgICAgICAgICB0aW1lU3RyaW5nID0gY3VycmVudERhdGUuZm9ybWF0KHByZWZzLmRhdGVGb3JtYXQgKyAnIGhoOm1tIEEnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGltZVN0cmluZyA9IGN1cnJlbnREYXRlLmZvcm1hdChwcmVmcy5kYXRlRm9ybWF0ICsgJyBISDptbScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGltZVN0cmluZztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9fZm9ybWF0RGF0ZShkYXRlOiBEYXRlLCBmb3JtYXQ6IHN0cmluZywgdGltZVpvbmU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5wYXJzZUZvcm1hdFRvSW50bE9wdGlvbnMoZm9ybWF0KTtcclxuICAgIG9wdGlvbnMudGltZVpvbmUgPSB0aW1lWm9uZTtcclxuXHJcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnLCBvcHRpb25zKTtcclxuICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0KGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUZvcm1hdFRvSW50bE9wdGlvbnMoZm9ybWF0OiBzdHJpbmcpOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyB7XHJcbiAgICBjb25zdCBjYWNoZUtleSA9IGZvcm1hdDtcclxuICAgIGlmICh0aGlzLmZvcm1hdENhY2hlLmhhcyhjYWNoZUtleSkpIHtcclxuICAgICAgcmV0dXJuIHsgLi4udGhpcy5mb3JtYXRDYWNoZS5nZXQoY2FjaGVLZXkpISB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9wdGlvbnM6IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge307XHJcblxyXG4gICAgLy8gUGFyc2UgbW9tZW50LmpzIHN0eWxlIGZvcm1hdCBzdHJpbmdzXHJcbiAgICAvLyBIYW5kbGUgeWVhclxyXG4gICAgaWYgKGZvcm1hdC5pbmNsdWRlcygnWVlZWScpKSB7XHJcbiAgICAgIG9wdGlvbnMueWVhciA9ICdudW1lcmljJztcclxuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdZWScpKSB7XHJcbiAgICAgIG9wdGlvbnMueWVhciA9ICcyLWRpZ2l0JztcclxuICAgIH1cclxuXHJcbiAgICAvLyBIYW5kbGUgbW9udGhcclxuICAgIGlmIChmb3JtYXQuaW5jbHVkZXMoJ01NTU0nKSkge1xyXG4gICAgICBvcHRpb25zLm1vbnRoID0gJ2xvbmcnO1xyXG4gICAgfSBlbHNlIGlmIChmb3JtYXQuaW5jbHVkZXMoJ01NTScpKSB7XHJcbiAgICAgIG9wdGlvbnMubW9udGggPSAnc2hvcnQnO1xyXG4gICAgfSBlbHNlIGlmIChmb3JtYXQuaW5jbHVkZXMoJ01NJykpIHtcclxuICAgICAgb3B0aW9ucy5tb250aCA9ICcyLWRpZ2l0JztcclxuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdNJykpIHtcclxuICAgICAgb3B0aW9ucy5tb250aCA9ICdudW1lcmljJztcclxuICAgIH1cclxuXHJcbiAgICAvLyBIYW5kbGUgZGF5XHJcbiAgICBpZiAoZm9ybWF0LmluY2x1ZGVzKCdERCcpKSB7XHJcbiAgICAgIG9wdGlvbnMuZGF5ID0gJzItZGlnaXQnO1xyXG4gICAgfSBlbHNlIGlmIChmb3JtYXQuaW5jbHVkZXMoJ0QnKSkge1xyXG4gICAgICBvcHRpb25zLmRheSA9ICdudW1lcmljJztcclxuICAgIH1cclxuXHJcbiAgICAvLyBIYW5kbGUgd2Vla2RheVxyXG4gICAgaWYgKGZvcm1hdC5pbmNsdWRlcygnZGRkZCcpKSB7XHJcbiAgICAgIG9wdGlvbnMud2Vla2RheSA9ICdsb25nJztcclxuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdkZGQnKSkge1xyXG4gICAgICBvcHRpb25zLndlZWtkYXkgPSAnc2hvcnQnO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZSBob3VyXHJcbiAgICBpZiAoZm9ybWF0LmluY2x1ZGVzKCdISCcpIHx8IGZvcm1hdC5pbmNsdWRlcygnSCcpKSB7XHJcbiAgICAgIG9wdGlvbnMuaG91ciA9IGZvcm1hdC5pbmNsdWRlcygnSEgnKSA/ICcyLWRpZ2l0JyA6ICdudW1lcmljJztcclxuICAgICAgb3B0aW9ucy5ob3VyMTIgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdoaCcpIHx8IGZvcm1hdC5pbmNsdWRlcygnaCcpKSB7XHJcbiAgICAgIG9wdGlvbnMuaG91ciA9IGZvcm1hdC5pbmNsdWRlcygnaGgnKSA/ICcyLWRpZ2l0JyA6ICdudW1lcmljJztcclxuICAgICAgb3B0aW9ucy5ob3VyMTIgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZSBtaW51dGVcclxuICAgIGlmIChmb3JtYXQuaW5jbHVkZXMoJ21tJykpIHtcclxuICAgICAgb3B0aW9ucy5taW51dGUgPSAnMi1kaWdpdCc7XHJcbiAgICB9IGVsc2UgaWYgKGZvcm1hdC5pbmNsdWRlcygnbScpKSB7XHJcbiAgICAgIG9wdGlvbnMubWludXRlID0gJ251bWVyaWMnO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZSBzZWNvbmRcclxuICAgIGlmIChmb3JtYXQuaW5jbHVkZXMoJ3NzJykpIHtcclxuICAgICAgb3B0aW9ucy5zZWNvbmQgPSAnMi1kaWdpdCc7XHJcbiAgICB9IGVsc2UgaWYgKGZvcm1hdC5pbmNsdWRlcygncycpKSB7XHJcbiAgICAgIG9wdGlvbnMuc2Vjb25kID0gJ251bWVyaWMnO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZSBBTS9QTSAob3ZlcnJpZGVzIGhvdXIxMiBpZiBleHBsaWNpdGx5IHNldClcclxuICAgIGlmIChmb3JtYXQuaW5jbHVkZXMoJ0EnKSB8fCBmb3JtYXQuaW5jbHVkZXMoJ2EnKSkge1xyXG4gICAgICBvcHRpb25zLmhvdXIxMiA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mb3JtYXRDYWNoZS5zZXQoY2FjaGVLZXksIHsgLi4ub3B0aW9ucyB9KTtcclxuICAgIHJldHVybiBvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0QW5ndWxhclRvTW9tZW50Rm9ybWF0KGFuZ3VsYXJGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBDb252ZXJ0IEFuZ3VsYXIgRGF0ZVBpcGUgZm9ybWF0IHRvIG1vbWVudC5qcyBmb3JtYXRcclxuICAgIHJldHVybiBhbmd1bGFyRm9ybWF0XHJcbiAgICAgIC5yZXBsYWNlKC9kZC9nLCAnREQnKSAgLy8gRGF5IG9mIG1vbnRoOiBkZCAtPiBERFxyXG4gICAgICAucmVwbGFjZSgveXl5eS9nLCAnWVlZWScpICAvLyBZZWFyOiB5eXl5IC0+IFlZWVlcclxuICAgICAgLnJlcGxhY2UoL3l5L2csICdZWScpICAvLyBZZWFyOiB5eSAtPiBZWVxyXG4gICAgICAucmVwbGFjZSgvTU0vZywgJ01NJykgIC8vIE1vbnRoOiBNTSAtPiBNTSAoc2FtZSlcclxuICAgICAgLnJlcGxhY2UoL00vZywgJ00nKSAgLy8gTW9udGg6IE0gLT4gTSAoc2FtZSlcclxuICAgICAgLnJlcGxhY2UoL0hIL2csICdISCcpICAvLyBIb3VyIDI0OiBISCAtPiBISCAoc2FtZSlcclxuICAgICAgLnJlcGxhY2UoL0gvZywgJ0gnKSAgLy8gSG91ciAyNDogSCAtPiBIIChzYW1lKVxyXG4gICAgICAucmVwbGFjZSgvaC9nLCAnaCcpICAvLyBIb3VyIDEyOiBoIC0+IGggKHNhbWUpXHJcbiAgICAgIC5yZXBsYWNlKC9tbS9nLCAnbW0nKSAgLy8gTWludXRlOiBtbSAtPiBtbSAoc2FtZSlcclxuICAgICAgLnJlcGxhY2UoL20vZywgJ20nKSAgLy8gTWludXRlOiBtIC0+IG0gKHNhbWUpXHJcbiAgICAgIC5yZXBsYWNlKC9zcy9nLCAnc3MnKSAgLy8gU2Vjb25kOiBzcyAtPiBzcyAoc2FtZSlcclxuICAgICAgLnJlcGxhY2UoL3MvZywgJ3MnKSAgLy8gU2Vjb25kOiBzIC0+IHMgKHNhbWUpXHJcbiAgICAgIC5yZXBsYWNlKC9hL2csICdhJyk7IC8vIEFNL1BNOiBhIC0+IGEgKHNhbWUpXHJcbiAgfVxyXG59Il19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUtZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tcy10aW1lLXNoZWV0L3NyYy9saWIvcGlwZXMvdGltZXpvbmUtZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQzs7QUFXMUMsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQU1VLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUM7S0FxTHJFO0lBbkxDLFNBQVMsQ0FDUCxLQUF1QyxFQUN2QyxLQUFvRSxFQUNwRSxhQUEyQyxVQUFVO1FBRXJELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFRLElBQUksa0JBQWtCLENBQUM7UUFDdkQsa0VBQWtFO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFJLFlBQVksQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFJLE9BQU8sQ0FBQyxDQUFDO1FBRW5GLHlFQUF5RTtRQUN6RSxNQUFNLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFbEUsSUFBSSxXQUFtQixDQUFDO1FBQ3hCLElBQUksVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzFCLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLFdBQVcsR0FBRyxVQUFVLENB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YTthQUNqQixPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLHlCQUF5QjthQUMvQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFFLHFCQUFxQjthQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLGlCQUFpQjthQUN2QyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLHlCQUF5QjthQUMvQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHVCQUF1QjthQUMzQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLDJCQUEyQjthQUNqRCxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHlCQUF5QjthQUM3QyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHlCQUF5QjthQUM3QyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLDBCQUEwQjthQUNoRCxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHdCQUF3QjthQUM1QyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLDBCQUEwQjthQUNoRCxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFFLHdCQUF3QjthQUM1QyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO0lBQ2hELENBQUM7K0dBdExVLGtCQUFrQjs2R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuXG5pbnRlcmZhY2UgRGF0ZVRpbWVQcmVmcyB7XG4gIHRpbWVab25lOiBzdHJpbmc7XG4gIGRhdGVGb3JtYXQ6IHN0cmluZztcbiAgdGltZUZvcm1hdDogc3RyaW5nO1xufVxuQFBpcGUoe1xuICBuYW1lOiAndGltZXpvbmVGb3JtYXQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRpbWV6b25lRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByaXZhdGUgZm9ybWF0Q2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnM+KCk7XG5cbiAgdHJhbnNmb3JtKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBwcmVmcz86IHsgdGltZVpvbmU6IHN0cmluZywgZGF0ZUZvcm1hdDogc3RyaW5nLCB0aW1lRm9ybWF0OiBzdHJpbmcgfSxcbiAgICBmb3JtYXRUeXBlOiAnZGF0ZScgfCAndGltZScgfCAnZGF0ZXRpbWUnID0gJ2RhdGV0aW1lJ1xuICApOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCB0aW1lWm9uZSA9IHByZWZzPy50aW1lWm9uZSB8fCAnQW1lcmljYS9OZXdfWW9yayc7XG4gICAgLy8gQ29udmVydCBBbmd1bGFyIERhdGVQaXBlIGZvcm1hdCB0byBtb21lbnQuanMgZm9ybWF0IGZvciBwYXJzaW5nXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IHRoaXMuY29udmVydEFuZ3VsYXJUb01vbWVudEZvcm1hdChwcmVmcz8uZGF0ZUZvcm1hdCB8fCAnTU0vZGQveXl5eScpO1xuICAgIGNvbnN0IHRpbWVGb3JtYXQgPSB0aGlzLmNvbnZlcnRBbmd1bGFyVG9Nb21lbnRGb3JtYXQocHJlZnM/LnRpbWVGb3JtYXQgfHwgJ0hIOm1tJyk7XG5cbiAgICAvLyBEZXRlY3QgaWYgdmFsdWUgaXMgdGltZS1vbmx5IChlLmcuICcwOTowMCcsICc5OjAwJywgJzA5OjAwOjAwJyBmb3JtYXQpXG4gICAgY29uc3QgaXNUaW1lT25seSA9IC9eXFxkezEsMn06XFxkezJ9KDpcXGR7Mn0pPyQvLnRlc3QoU3RyaW5nKHZhbHVlKSk7XG5cbiAgICBsZXQgZmluYWxGb3JtYXQ6IHN0cmluZztcbiAgICBpZiAoZm9ybWF0VHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICBmaW5hbEZvcm1hdCA9IGRhdGVGb3JtYXQ7XG4gICAgfSBlbHNlIGlmIChmb3JtYXRUeXBlID09PSAndGltZScpIHtcbiAgICAgIGZpbmFsRm9ybWF0ID0gdGltZUZvcm1hdDtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluYWxGb3JtYXQgPSBgJHtkYXRlRm9ybWF0fSAke3RpbWVGb3JtYXR9YDtcbiAgICB9XG5cbiAgICBsZXQgZGF0ZTogRGF0ZTtcbiAgICBpZiAoaXNUaW1lT25seSkge1xuICAgICAgLy8gQ29tYmluZSB3aXRoIHRvZGF5J3MgZGF0ZSBmb3IgdGltZXpvbmUgY29udGV4dFxuICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcbiAgICAgIGNvbnN0IHRpbWVTdHIgPSBTdHJpbmcodmFsdWUpO1xuICAgICAgLy8gRW5zdXJlIHRpbWUgaGFzIHNlY29uZHMgaWYgbm90IHByZXNlbnRcbiAgICAgIGNvbnN0IGZ1bGxUaW1lU3RyID0gdGltZVN0ci5pbmNsdWRlcygnOicpICYmIHRpbWVTdHIuc3BsaXQoJzonKS5sZW5ndGggPT09IDIgPyBgJHt0aW1lU3RyfTowMGAgOiB0aW1lU3RyO1xuICAgICAgY29uc3QgZGF0ZVRpbWVTdHJpbmcgPSBgJHt0b2RheX1UJHtmdWxsVGltZVN0cn1gO1xuICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGVUaW1lU3RyaW5nKTtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGUoZGF0ZSwgcHJlZnMsIGZvcm1hdFR5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBQYXJzZSBhcyBkYXRlXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIGRhdGUgPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh2YWx1ZSwgcHJlZnMsIGZvcm1hdFR5cGUpO1xuICAgIC8vIHJldHVybiB0aGlzLmZvcm1hdERhdGUoZGF0ZSwgZmluYWxGb3JtYXQsIHByZWZzKTtcbiAgfVxuXG4gIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlciwgcHJlZnM6IERhdGVUaW1lUHJlZnMsXG4gICAgZm9ybWF0VHlwZTogJ2RhdGUnIHwgJ3RpbWUnIHwgJ2RhdGV0aW1lJyA9ICdkYXRldGltZSdcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoIWRhdGUpIHJldHVybiAnJztcbiAgICAvLyBQYXJzZSB0aGUgYWN0dWFsIGRhdGUgaW4gdGhlIGNvcnJlY3QgdGltZXpvbmVcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG1vbWVudC50eihkYXRlLCBwcmVmcy50aW1lWm9uZSk7XG4gICAgbGV0IHRpbWVTdHJpbmc6IHN0cmluZztcblxuICAgIC8vIENob29zZSAxMmggb3IgMjRoIGZvcm1hdCBkeW5hbWljYWxseVxuICAgIHN3aXRjaCAoZm9ybWF0VHlwZSkge1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHJldHVybiBjdXJyZW50RGF0ZS5mb3JtYXQocHJlZnMuZGF0ZUZvcm1hdCk7XG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgaWYgKHByZWZzLnRpbWVGb3JtYXQgPT09ICdoaDptbSBBJykge1xuICAgICAgICAgIHRpbWVTdHJpbmcgPSBjdXJyZW50RGF0ZS5mb3JtYXQoJ2hoOm1tIEEnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aW1lU3RyaW5nID0gY3VycmVudERhdGUuZm9ybWF0KCdISDptbScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aW1lU3RyaW5nO1xuICAgICAgY2FzZSAnZGF0ZXRpbWUnOlxuICAgICAgICBpZiAocHJlZnMudGltZUZvcm1hdCA9PT0gJ2hoOm1tIEEnKSB7XG4gICAgICAgICAgdGltZVN0cmluZyA9IGN1cnJlbnREYXRlLmZvcm1hdChwcmVmcy5kYXRlRm9ybWF0ICsgJyBoaDptbSBBJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGltZVN0cmluZyA9IGN1cnJlbnREYXRlLmZvcm1hdChwcmVmcy5kYXRlRm9ybWF0ICsgJyBISDptbScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aW1lU3RyaW5nO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBfX2Zvcm1hdERhdGUoZGF0ZTogRGF0ZSwgZm9ybWF0OiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnBhcnNlRm9ybWF0VG9JbnRsT3B0aW9ucyhmb3JtYXQpO1xuICAgIG9wdGlvbnMudGltZVpvbmUgPSB0aW1lWm9uZTtcblxuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1VUycsIG9wdGlvbnMpO1xuICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0KGRhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUZvcm1hdFRvSW50bE9wdGlvbnMoZm9ybWF0OiBzdHJpbmcpOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBmb3JtYXQ7XG4gICAgaWYgKHRoaXMuZm9ybWF0Q2FjaGUuaGFzKGNhY2hlS2V5KSkge1xuICAgICAgcmV0dXJuIHsgLi4udGhpcy5mb3JtYXRDYWNoZS5nZXQoY2FjaGVLZXkpISB9O1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnM6IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge307XG5cbiAgICAvLyBQYXJzZSBtb21lbnQuanMgc3R5bGUgZm9ybWF0IHN0cmluZ3NcbiAgICAvLyBIYW5kbGUgeWVhclxuICAgIGlmIChmb3JtYXQuaW5jbHVkZXMoJ1lZWVknKSkge1xuICAgICAgb3B0aW9ucy55ZWFyID0gJ251bWVyaWMnO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdZWScpKSB7XG4gICAgICBvcHRpb25zLnllYXIgPSAnMi1kaWdpdCc7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIG1vbnRoXG4gICAgaWYgKGZvcm1hdC5pbmNsdWRlcygnTU1NTScpKSB7XG4gICAgICBvcHRpb25zLm1vbnRoID0gJ2xvbmcnO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdNTU0nKSkge1xuICAgICAgb3B0aW9ucy5tb250aCA9ICdzaG9ydCc7XG4gICAgfSBlbHNlIGlmIChmb3JtYXQuaW5jbHVkZXMoJ01NJykpIHtcbiAgICAgIG9wdGlvbnMubW9udGggPSAnMi1kaWdpdCc7XG4gICAgfSBlbHNlIGlmIChmb3JtYXQuaW5jbHVkZXMoJ00nKSkge1xuICAgICAgb3B0aW9ucy5tb250aCA9ICdudW1lcmljJztcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgZGF5XG4gICAgaWYgKGZvcm1hdC5pbmNsdWRlcygnREQnKSkge1xuICAgICAgb3B0aW9ucy5kYXkgPSAnMi1kaWdpdCc7XG4gICAgfSBlbHNlIGlmIChmb3JtYXQuaW5jbHVkZXMoJ0QnKSkge1xuICAgICAgb3B0aW9ucy5kYXkgPSAnbnVtZXJpYyc7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHdlZWtkYXlcbiAgICBpZiAoZm9ybWF0LmluY2x1ZGVzKCdkZGRkJykpIHtcbiAgICAgIG9wdGlvbnMud2Vla2RheSA9ICdsb25nJztcbiAgICB9IGVsc2UgaWYgKGZvcm1hdC5pbmNsdWRlcygnZGRkJykpIHtcbiAgICAgIG9wdGlvbnMud2Vla2RheSA9ICdzaG9ydCc7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIGhvdXJcbiAgICBpZiAoZm9ybWF0LmluY2x1ZGVzKCdISCcpIHx8IGZvcm1hdC5pbmNsdWRlcygnSCcpKSB7XG4gICAgICBvcHRpb25zLmhvdXIgPSBmb3JtYXQuaW5jbHVkZXMoJ0hIJykgPyAnMi1kaWdpdCcgOiAnbnVtZXJpYyc7XG4gICAgICBvcHRpb25zLmhvdXIxMiA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdoaCcpIHx8IGZvcm1hdC5pbmNsdWRlcygnaCcpKSB7XG4gICAgICBvcHRpb25zLmhvdXIgPSBmb3JtYXQuaW5jbHVkZXMoJ2hoJykgPyAnMi1kaWdpdCcgOiAnbnVtZXJpYyc7XG4gICAgICBvcHRpb25zLmhvdXIxMiA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIG1pbnV0ZVxuICAgIGlmIChmb3JtYXQuaW5jbHVkZXMoJ21tJykpIHtcbiAgICAgIG9wdGlvbnMubWludXRlID0gJzItZGlnaXQnO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdtJykpIHtcbiAgICAgIG9wdGlvbnMubWludXRlID0gJ251bWVyaWMnO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBzZWNvbmRcbiAgICBpZiAoZm9ybWF0LmluY2x1ZGVzKCdzcycpKSB7XG4gICAgICBvcHRpb25zLnNlY29uZCA9ICcyLWRpZ2l0JztcbiAgICB9IGVsc2UgaWYgKGZvcm1hdC5pbmNsdWRlcygncycpKSB7XG4gICAgICBvcHRpb25zLnNlY29uZCA9ICdudW1lcmljJztcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgQU0vUE0gKG92ZXJyaWRlcyBob3VyMTIgaWYgZXhwbGljaXRseSBzZXQpXG4gICAgaWYgKGZvcm1hdC5pbmNsdWRlcygnQScpIHx8IGZvcm1hdC5pbmNsdWRlcygnYScpKSB7XG4gICAgICBvcHRpb25zLmhvdXIxMiA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtYXRDYWNoZS5zZXQoY2FjaGVLZXksIHsgLi4ub3B0aW9ucyB9KTtcbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydEFuZ3VsYXJUb01vbWVudEZvcm1hdChhbmd1bGFyRm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIENvbnZlcnQgQW5ndWxhciBEYXRlUGlwZSBmb3JtYXQgdG8gbW9tZW50LmpzIGZvcm1hdFxuICAgIHJldHVybiBhbmd1bGFyRm9ybWF0XG4gICAgICAucmVwbGFjZSgvZGQvZywgJ0REJykgIC8vIERheSBvZiBtb250aDogZGQgLT4gRERcbiAgICAgIC5yZXBsYWNlKC95eXl5L2csICdZWVlZJykgIC8vIFllYXI6IHl5eXkgLT4gWVlZWVxuICAgICAgLnJlcGxhY2UoL3l5L2csICdZWScpICAvLyBZZWFyOiB5eSAtPiBZWVxuICAgICAgLnJlcGxhY2UoL01NL2csICdNTScpICAvLyBNb250aDogTU0gLT4gTU0gKHNhbWUpXG4gICAgICAucmVwbGFjZSgvTS9nLCAnTScpICAvLyBNb250aDogTSAtPiBNIChzYW1lKVxuICAgICAgLnJlcGxhY2UoL0hIL2csICdISCcpICAvLyBIb3VyIDI0OiBISCAtPiBISCAoc2FtZSlcbiAgICAgIC5yZXBsYWNlKC9IL2csICdIJykgIC8vIEhvdXIgMjQ6IEggLT4gSCAoc2FtZSlcbiAgICAgIC5yZXBsYWNlKC9oL2csICdoJykgIC8vIEhvdXIgMTI6IGggLT4gaCAoc2FtZSlcbiAgICAgIC5yZXBsYWNlKC9tbS9nLCAnbW0nKSAgLy8gTWludXRlOiBtbSAtPiBtbSAoc2FtZSlcbiAgICAgIC5yZXBsYWNlKC9tL2csICdtJykgIC8vIE1pbnV0ZTogbSAtPiBtIChzYW1lKVxuICAgICAgLnJlcGxhY2UoL3NzL2csICdzcycpICAvLyBTZWNvbmQ6IHNzIC0+IHNzIChzYW1lKVxuICAgICAgLnJlcGxhY2UoL3MvZywgJ3MnKSAgLy8gU2Vjb25kOiBzIC0+IHMgKHNhbWUpXG4gICAgICAucmVwbGFjZSgvYS9nLCAnYScpOyAvLyBBTS9QTTogYSAtPiBhIChzYW1lKVxuICB9XG59Il19
|
|
@@ -240,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
240
240
|
providedIn: 'root'
|
|
241
241
|
}]
|
|
242
242
|
}], ctorParameters: () => [] });
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tcy10aW1lLXNoZWV0L3NyYy9saWIvc2VydmljZXMvY29tbW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3pELE1BQU0sT0FBTyxhQUFhO0lBRXhCO1FBbUtPLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDekQsY0FBUyxHQUFRLElBQUksQ0FBQztRQTRDaEMsMEJBQXFCLEdBQVUsRUFBRSxDQUFDO0lBaE5oQixDQUFDO0lBQ2pCLG9CQUFvQixDQUFDLE9BQWM7UUFDakMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFjLEVBQVcsRUFBRTtZQUMvQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxHQUFHLEVBQUUsVUFBVTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFDakMsSUFBSSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUMxQixPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxPQUFjO1FBQ25DLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBYyxFQUFXLEVBQUU7WUFDL0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFDbEMsSUFBSSxH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O1lBRW5DO2dCQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDOytHQTdRVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgZ2V0aGFzVmlzaWJsZUNvbHVtbnMoY29sdW1uczogYW55W10pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNoZWNrVmlzaWJsZSA9IChjb2x1bW5zOiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICByZXR1cm4gY29sdW1ucy5zb21lKChjb2wpID0+IHtcclxuICAgICAgICBpZiAoY29sPy5pc192aXNpYmxlKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBpZiAoY29sPy5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXR1cm4gY2hlY2tWaXNpYmxlKGNvbC5jaGlsZHJlbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIGNoZWNrVmlzaWJsZShjb2x1bW5zKTtcclxuICB9XHJcblxyXG4gIGdldGhhc0luVmlzaWJsZUNvbHVtbnMoY29sdW1uczogYW55W10pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNoZWNrVmlzaWJsZSA9IChjb2x1bW5zOiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICByZXR1cm4gY29sdW1ucy5zb21lKChjb2wpID0+IHtcclxuICAgICAgICBpZiAoIWNvbD8uaXNfdmlzaWJsZSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgaWYgKGNvbD8uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIGNoZWNrVmlzaWJsZShjb2wuY2hpbGRyZW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBjaGVja1Zpc2libGUoY29sdW1ucyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0VG90YWxDb2x1bW5zTGVuZ3RoKGNvbHVtbnM6IGFueVtdKTogbnVtYmVyIHtcclxuICAgIGxldCBjb3VudCA9IDA7XHJcblxyXG4gICAgY29sdW1ucy5mb3JFYWNoKGNvbCA9PiB7XHJcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjb2wuY2hpbGRyZW4pICYmIGNvbC5jaGlsZHJlbi5sZW5ndGgpIHtcclxuICAgICAgICBjb3VudCArPSBjb2wuY2hpbGRyZW4ubGVuZ3RoOyAvLyBjb3VudCBjaGlsZHJlbiBpbnN0ZWFkIG9mIHBhcmVudFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvdW50ICs9IDE7IC8vIGNvdW50IHBhcmVudCBkaXJlY3RseVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY291bnQ7XHJcbiAgfVxyXG5cclxuICBnZXRoYXNSaWdodFBpbm5lZENvbHVtbnMoY29sdW1uczogYW55W10pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNoZWNrUGlubmVkUmlnaHQgPSAoY29sdW1uczogYW55W10pOiBib29sZWFuID0+IHtcclxuICAgICAgcmV0dXJuIGNvbHVtbnMuc29tZSgoY29sKSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbD8ucGlubmVkID09PSAncmlnaHQnICYmIGNvbD8uaXNfdmlzaWJsZSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgaWYgKGNvbD8uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIGNoZWNrUGlubmVkUmlnaHQoY29sLmNoaWxkcmVuKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gY2hlY2tQaW5uZWRSaWdodChjb2x1bW5zKTtcclxuICB9XHJcblxyXG4gIGdldGhhc0xlZnRQaW5uZWRDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBjaGVja1Bpbm5lZFJpZ2h0ID0gKGNvbHVtbnM6IGFueVtdKTogYm9vbGVhbiA9PiB7XHJcbiAgICAgIHJldHVybiBjb2x1bW5zLnNvbWUoKGNvbCkgPT4ge1xyXG4gICAgICAgIGlmIChjb2w/LnBpbm5lZCA9PT0gJ2xlZnQnICYmIGNvbD8uaXNfdmlzaWJsZSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgaWYgKGNvbD8uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIGNoZWNrUGlubmVkUmlnaHQoY29sLmNoaWxkcmVuKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gY2hlY2tQaW5uZWRSaWdodChjb2x1bW5zKTtcclxuICB9XHJcblxyXG5cclxuICBnZXRFeHBhbmRlZFJvd0NvdW50KGRhdGE6IGFueVtdKTogbnVtYmVyIHtcclxuICAgIGxldCBncm91cENvdW50ID0gMDtcclxuICAgIGxldCByb3dDb3VudCA9IDA7XHJcblxyXG4gICAgZGF0YS5mb3JFYWNoKGdyb3VwID0+IHtcclxuICAgICAgaWYgKGdyb3VwPy5pc0dyb3VwKSB7XHJcbiAgICAgICAgZ3JvdXBDb3VudCsrO1xyXG5cclxuICAgICAgICBpZiAoZ3JvdXA/LmlzRXhwYW5kICYmIEFycmF5LmlzQXJyYXkoZ3JvdXA/LmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgZ3JvdXAuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQuaXNHcm91cCkge1xyXG4gICAgICAgICAgICAgIGlmIChjaGlsZC5pc0V4cGFuZCAmJiBBcnJheS5pc0FycmF5KGNoaWxkLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgICAgICAgcm93Q291bnQgKz0gY2hpbGQuY2hpbGRyZW4ubGVuZ3RoO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByb3dDb3VudCsrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChncm91cENvdW50ID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBkYXRhLmxlbmd0aDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZ3JvdXBDb3VudCArIHJvd0NvdW50O1xyXG4gIH1cclxuXHJcblxyXG5nZXRGaWx0ZXJzRnJvbUNvbHVtbnMoY29sdW1uczogYW55W10sIGZpbHRlcnNDb25maWc6YW55IFtdKTogYW55W10ge1xyXG4gIGNvbnN0IHJlc3VsdDogYW55W10gPSBbXTtcclxuIFxyXG4gIGNvbnN0IGNoZWNrQ29sdW1uID0gKGNvbDogYW55KSA9PiB7XHJcbiAgICBjb25zdCBoYXNGaXJzdFZhbHVlID0gY29sLnF1ZXJ5Py5maXJzdF92YWx1ZSAhPSBudWxsICYmIGNvbC5xdWVyeT8uZmlyc3RfdmFsdWUgIT09IFwiXCIgJiYgZmlsdGVyc0NvbmZpZy5zb21lKChlbGUpPT4gZWxlLmZpZWxkID09IGNvbC5maWVsZCk7XHJcbiAgICBjb25zdCBoYXNJZHMgPSBBcnJheS5pc0FycmF5KGNvbC5xdWVyeT8uX2lkcykgJiYgY29sLnF1ZXJ5Ll9pZHMubGVuZ3RoID4gMCAmJiBmaWx0ZXJzQ29uZmlnLnNvbWUoKGVsZSk9PiBlbGUuZmllbGQgPT0gY29sLmZpZWxkKTtcclxuICAgIGlmIChoYXNGaXJzdFZhbHVlIHx8IGhhc0lkcykge1xyXG4gICAgICByZXN1bHQucHVzaCh7XHJcbiAgICAgICAgc2VhcmNoOiBjb2wuc2VhcmNoID8/IFwiXCIsXHJcbiAgICAgICAgZmllbGQ6IGNvbC5maWVsZCxcclxuICAgICAgICB0eXBlOiBjb2wudHlwZSxcclxuICAgICAgICBfaWRzOiBjb2wudHlwZSA9PSAnZHJvcGRvd24nPyBjb2wucXVlcnk/Ll9pZHM6IFtdLFxyXG4gICAgICAgIHF1ZXJ5OiBjb2wudHlwZSA9PSAnZHJvcGRvd24nPyBudWxsIDogKGNvbD8ucXVlcnk/LmZpcnN0X3ZhbHVlID8gY29sPy5xdWVyeSA6IG51bGwpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjb2wuY2hpbGRyZW4pICYmIGNvbC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbC5jaGlsZHJlbi5mb3JFYWNoKGNoZWNrQ29sdW1uKTtcclxuICAgIH1cclxuICB9O1xyXG4gIGNvbHVtbnMuZm9yRWFjaChjaGVja0NvbHVtbik7XHJcbiBcclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5hc3luYyBhcHBseUZpbHRlcnNUb0NvbHVtbnMoY29sdW1uczogYW55W10sIGZpbHRlcnM6IGFueVtdKTogUHJvbWlzZTxhbnlbXT4ge1xyXG4gIFxyXG4gIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcclxuICAgIGlmICghY29sLnF1ZXJ5KSB7XHJcbiAgICAgIGNvbC5xdWVyeSA9IHtcclxuICAgICAgICBmaXJzdF92YWx1ZTogbnVsbCxcclxuICAgICAgICBzZWNvbmRfdmFsdWU6IG51bGwsXHJcbiAgICAgICAgZmlyc3RfY29uZGl0aW9uOiAnY29udGFpbicsXHJcbiAgICAgICAgc2Vjb25kX2NvbmRpdGlvbjogbnVsbCxcclxuICAgICAgICBjb25kaXRpb246ICdub25lJyxcclxuICAgICAgICBfaWRzOiBbXVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlcnMuZmluZChmID0+IGYuZmllbGQgPT09IGNvbC5maWVsZCk7XHJcblxyXG4gICAgaWYgKGZpbHRlcikge1xyXG4gICAgICBpZiAoY29sLnR5cGUgPT09ICdkcm9wZG93bicpIHtcclxuICAgICAgICBjb2wuZmlsdGVyVmFsdWUgPSBmaWx0ZXIuX2lkcyA/PyBbXTtcclxuICAgICAgICBjb2wuc2VhcmNoID0gZmlsdGVyLnNlYXJjaCA/PyAnJztcclxuICAgICAgICBjb2wucXVlcnkuX2lkcyA9IGZpbHRlci5faWRzID8/IFtdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbC5maWx0ZXJWYWx1ZSA9IGZpbHRlci5zZWFyY2ggPz8gbnVsbDtcclxuICAgICAgICBjb2wuc2VhcmNoID0gZmlsdGVyLnNlYXJjaCA/PyAnJztcclxuICAgICAgICBjb2wucXVlcnkuZmlyc3RfdmFsdWUgPSBmaWx0ZXIucXVlcnk/LmZpcnN0X3ZhbHVlID8/IG51bGw7XHJcbiAgICAgICAgY29sLnF1ZXJ5LnNlY29uZF92YWx1ZSA9IGZpbHRlci5xdWVyeT8uc2Vjb25kX3ZhbHVlID8/IG51bGw7XHJcbiAgICAgICAgY29sLnF1ZXJ5LmZpcnN0X2NvbmRpdGlvbiA9IGZpbHRlci5xdWVyeT8uZmlyc3RfY29uZGl0aW9uID8/ICdjb250YWluJztcclxuICAgICAgICBjb2wucXVlcnkuc2Vjb25kX2NvbmRpdGlvbiA9IGZpbHRlci5xdWVyeT8uc2Vjb25kX2NvbmRpdGlvbiA/PyAnY29udGFpbic7XHJcbiAgICAgICAgY29sLnF1ZXJ5LmNvbmRpdGlvbiA9IGZpbHRlci5xdWVyeT8uY29uZGl0aW9uID8/ICdub25lJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29sLmNoaWxkcmVuKSAmJiBjb2wuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb2wuY2hpbGRyZW4gPSBhd2FpdCB0aGlzLmFwcGx5RmlsdGVyc1RvQ29sdW1ucyhjb2wuY2hpbGRyZW4sIGZpbHRlcnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gY29sdW1ucztcclxufVxyXG5cclxuXHJcbiAgcHVibGljIGdsb2JhbFNlYXJjaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBwcml2YXRlIF91c2VyRGF0YTogYW55ID0gbnVsbDtcclxuXHJcbiAgZ2V0IHVzZXJEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJEYXRhIHx8IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXInKSB8fCAnbnVsbCcpO1xyXG4gIH1cclxuXHJcbiAgc2V0IHVzZXJEYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3VzZXJEYXRhID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRVc2VyRGF0YSh1c2VyOiBhbnkpIHtcclxuICAgIHRoaXMudXNlckRhdGEgPSB1c2VyO1xyXG4gIH1cclxuIFxyXG4gIGZvcm1hdERhdGVUaW1lV2l0aFByZWZzKCkge1xyXG4gICAgbGV0IGxzVXNlciA9IHRoaXMudXNlckRhdGE7XHJcbiAgICBsZXQgdGltZVpvbmUgPSBsc1VzZXI/LmJ1c2luZXNzX2lkPy50aW1lX3pvbmUgPyBsc1VzZXI/LmJ1c2luZXNzX2lkPy50aW1lX3pvbmUgOiAnVVRDJztcclxuICAgIGxldCBkYXRlRm9ybWF0ID0gbHNVc2VyPy5kYXRlX2Zvcm1hdCA/IHRoaXMuY29udmVydE1vbWVudFRvQW5ndWxhckRhdGVGb3JtYXQobHNVc2VyLmRhdGVfZm9ybWF0KSA6ICdNTS9kZC95eXl5JztcclxuICAgIGxldCB0aW1lRm9ybWF0ID0gIWxzVXNlcj8uYnVzaW5lc3NfaWQ/LmlzXzI0X2hvdXJfZm9ybWF0ID8gJ2g6bW0gYScgOiAnSDptbSc7XHJcbiAgICByZXR1cm4ge3RpbWVab25lLCBkYXRlRm9ybWF0LCB0aW1lRm9ybWF0fTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29udmVydE1vbWVudFRvQW5ndWxhckRhdGVGb3JtYXQobW9tZW50Rm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gQ29udmVydCBtb21lbnQuanMgZGF0ZSBmb3JtYXQgdG8gQW5ndWxhciBEYXRlUGlwZSBmb3JtYXRcclxuICAgIHJldHVybiBtb21lbnRGb3JtYXRcclxuICAgICAgLnJlcGxhY2UoL0REL2csICdkZCcpICAvLyBEYXkgb2YgbW9udGg6IEREIC0+IGRkXHJcbiAgICAgIC5yZXBsYWNlKC9ZWVlZL2csICd5eXl5JykgIC8vIFllYXI6IFlZWVkgLT4geXl5eVxyXG4gICAgICAucmVwbGFjZSgvWVkvZywgJ3l5JykgIC8vIFllYXI6IFlZIC0+IHl5XHJcbiAgICAgIC5yZXBsYWNlKC9NTS9nLCAnTU0nKSAgLy8gTW9udGg6IE1NIC0+IE1NIChzYW1lKVxyXG4gICAgICAucmVwbGFjZSgvTS9nLCAnTScpICAvLyBNb250aDogTSAtPiBNIChzYW1lKVxyXG4gICAgICAucmVwbGFjZSgvSEgvZywgJ0hIJykgIC8vIEhvdXIgMjQ6IEhIIC0+IEhIIChzYW1lKVxyXG4gICAgICAucmVwbGFjZSgvSC9nLCAnSCcpICAvLyBIb3VyIDI0OiBIIC0+IEggKHNhbWUpXHJcbiAgICAgIC5yZXBsYWNlKC9oaC9nLCAnaCcpICAvLyBIb3VyIDEyOiBoaCAtPiBoXHJcbiAgICAgIC5yZXBsYWNlKC9oL2csICdoJykgIC8vIEhvdXIgMTI6IGggLT4gaCAoc2FtZSlcclxuICAgICAgLnJlcGxhY2UoL21tL2csICdtbScpICAvLyBNaW51dGU6IG1tIC0+IG1tIChzYW1lKVxyXG4gICAgICAucmVwbGFjZSgvbS9nLCAnbScpICAvLyBNaW51dGU6IG0gLT4gbSAoc2FtZSlcclxuICAgICAgLnJlcGxhY2UoL3NzL2csICdzcycpICAvLyBTZWNvbmQ6IHNzIC0+IHNzIChzYW1lKVxyXG4gICAgICAucmVwbGFjZSgvcy9nLCAncycpICAvLyBTZWNvbmQ6IHMgLT4gcyAoc2FtZSlcclxuICAgICAgLnJlcGxhY2UoL0EvZywgJ2EnKSAgLy8gQU0vUE06IEEgLT4gYVxyXG4gICAgICAucmVwbGFjZSgvYS9nLCAnYScpOyAvLyBBTS9QTTogYSAtPiBhIChzYW1lKVxyXG4gIH1cclxuIFxyXG5cclxuXHJcbmFjdGl2ZUZpbHRlcmVkQ29sdW1uczogYW55W10gPSBbXTtcclxudXBkYXRlQWN0aXZlRmlsdGVyZWRDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogYW55W10ge1xyXG4gIGNvbnN0IGNvbGxlY3RGaWx0ZXJlZCA9IChjb2xzOiBhbnlbXSk6IGFueVtdID0+IHtcclxuICAgIGxldCByZXN1bHQ6IGFueVtdID0gW107XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGNvbCA9IGNvbHNbaV07XHJcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4gJiYgY29sLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGNvbGxlY3RGaWx0ZXJlZChjb2wuY2hpbGRyZW4pKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbC5xdWVyeSkge1xyXG4gICAgICAgIGNvbnN0IGhhc0Ryb3Bkb3duRmlsdGVyID1cclxuICAgICAgICAgIEFycmF5LmlzQXJyYXkoY29sLnF1ZXJ5Ll9pZHMpICYmIGNvbC5xdWVyeS5faWRzLmxlbmd0aCA+IDA7XHJcblxyXG4gICAgICAgIGNvbnN0IGhhc1ZhbHVlRmlsdGVyID1cclxuICAgICAgICAgIChjb2wucXVlcnkuZmlyc3RfdmFsdWUgJiYgY29sLnF1ZXJ5LmZpcnN0X3ZhbHVlICE9PSAnJykgfHxcclxuICAgICAgICAgIChjb2wucXVlcnkuc2Vjb25kX3ZhbHVlICYmIGNvbC5xdWVyeS5zZWNvbmRfdmFsdWUgIT09ICcnKTtcclxuXHJcbiAgICAgICAgaWYgKGhhc0Ryb3Bkb3duRmlsdGVyIHx8IGhhc1ZhbHVlRmlsdGVyKSB7XHJcbiAgICAgICAgICByZXN1bHQucHVzaChjb2wpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9O1xyXG4gIHRoaXMuYWN0aXZlRmlsdGVyZWRDb2x1bW5zID0gWy4uLmNvbGxlY3RGaWx0ZXJlZChjb2x1bW5zKV07XHJcbiAgcmV0dXJuIHRoaXMuYWN0aXZlRmlsdGVyZWRDb2x1bW5zO1xyXG59XHJcblxyXG5cclxuXHJcbmhhc0ZpZWxkQ2hhbmdlZChjdXJyZW50OiBhbnksIG9yaWdpbmFsOiBhbnksIHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgcmV0dXJuIE51bWJlcihjdXJyZW50KSAhPT0gTnVtYmVyKG9yaWdpbmFsKTtcclxuXHJcbiAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgcmV0dXJuIFN0cmluZyhjdXJyZW50IHx8ICcnKSAhPT0gU3RyaW5nKG9yaWdpbmFsIHx8ICcnKTtcclxuXHJcbiAgICAgIGNhc2UgJ2Ryb3Bkb3duJzpcclxuICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnQgPT09ICdvYmplY3QnICYmIHR5cGVvZiBvcmlnaW5hbCA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIHJldHVybiBjdXJyZW50Py5pZCAhPT0gb3JpZ2luYWw/LmlkIHx8IGN1cnJlbnQ/LnZhbHVlICE9PSBvcmlnaW5hbD8udmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjdXJyZW50ICE9PSBvcmlnaW5hbDtcclxuXHJcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgIHJldHVybiBCb29sZWFuKGN1cnJlbnQpICE9PSBCb29sZWFuKG9yaWdpbmFsKTtcclxuXHJcbiAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoY3VycmVudCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsRGF0ZSA9IG5ldyBEYXRlKG9yaWdpbmFsKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgcmV0dXJuIGlzTmFOKGN1cnJlbnREYXRlKSB8fCBpc05hTihvcmlnaW5hbERhdGUpXHJcbiAgICAgICAgICA/IGN1cnJlbnQgIT09IG9yaWdpbmFsXHJcbiAgICAgICAgICA6IGN1cnJlbnREYXRlICE9PSBvcmlnaW5hbERhdGU7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShjdXJyZW50KSAhPT0gSlNPTi5zdHJpbmdpZnkob3JpZ2luYWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iXX0=
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tcy10aW1lLXNoZWV0L3NyYy9saWIvc2VydmljZXMvY29tbW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3pELE1BQU0sT0FBTyxhQUFhO0lBRXhCO1FBbUtPLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDekQsY0FBUyxHQUFRLElBQUksQ0FBQztRQTRDaEMsMEJBQXFCLEdBQVUsRUFBRSxDQUFDO0lBaE5oQixDQUFDO0lBQ2pCLG9CQUFvQixDQUFDLE9BQWM7UUFDakMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFjLEVBQVcsRUFBRTtZQUMvQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxHQUFHLEVBQUUsVUFBVTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFDakMsSUFBSSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUMxQixPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxPQUFjO1FBQ25DLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBYyxFQUFXLEVBQUU7WUFDL0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFDbEMsSUFBSSxH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O1lBRW5DO2dCQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDOytHQTdRVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb21tb25TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuICBnZXRoYXNWaXNpYmxlQ29sdW1ucyhjb2x1bW5zOiBhbnlbXSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoZWNrVmlzaWJsZSA9IChjb2x1bW5zOiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xuICAgICAgcmV0dXJuIGNvbHVtbnMuc29tZSgoY29sKSA9PiB7XG4gICAgICAgIGlmIChjb2w/LmlzX3Zpc2libGUpIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoY29sPy5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIGNoZWNrVmlzaWJsZShjb2wuY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgcmV0dXJuIGNoZWNrVmlzaWJsZShjb2x1bW5zKTtcbiAgfVxuXG4gIGdldGhhc0luVmlzaWJsZUNvbHVtbnMoY29sdW1uczogYW55W10pOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGVja1Zpc2libGUgPSAoY29sdW1uczogYW55W10pOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiBjb2x1bW5zLnNvbWUoKGNvbCkgPT4ge1xuICAgICAgICBpZiAoIWNvbD8uaXNfdmlzaWJsZSkgcmV0dXJuIHRydWU7XG4gICAgICAgIGlmIChjb2w/LmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gY2hlY2tWaXNpYmxlKGNvbC5jaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gY2hlY2tWaXNpYmxlKGNvbHVtbnMpO1xuICB9XG5cblxuICBnZXRUb3RhbENvbHVtbnNMZW5ndGgoY29sdW1uczogYW55W10pOiBudW1iZXIge1xuICAgIGxldCBjb3VudCA9IDA7XG5cbiAgICBjb2x1bW5zLmZvckVhY2goY29sID0+IHtcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjb2wuY2hpbGRyZW4pICYmIGNvbC5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgY291bnQgKz0gY29sLmNoaWxkcmVuLmxlbmd0aDsgLy8gY291bnQgY2hpbGRyZW4gaW5zdGVhZCBvZiBwYXJlbnRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvdW50ICs9IDE7IC8vIGNvdW50IHBhcmVudCBkaXJlY3RseVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG5cbiAgZ2V0aGFzUmlnaHRQaW5uZWRDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hlY2tQaW5uZWRSaWdodCA9IChjb2x1bW5zOiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xuICAgICAgcmV0dXJuIGNvbHVtbnMuc29tZSgoY29sKSA9PiB7XG4gICAgICAgIGlmIChjb2w/LnBpbm5lZCA9PT0gJ3JpZ2h0JyAmJiBjb2w/LmlzX3Zpc2libGUpIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoY29sPy5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIGNoZWNrUGlubmVkUmlnaHQoY29sLmNoaWxkcmVuKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9O1xuICAgIHJldHVybiBjaGVja1Bpbm5lZFJpZ2h0KGNvbHVtbnMpO1xuICB9XG5cbiAgZ2V0aGFzTGVmdFBpbm5lZENvbHVtbnMoY29sdW1uczogYW55W10pOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGVja1Bpbm5lZFJpZ2h0ID0gKGNvbHVtbnM6IGFueVtdKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gY29sdW1ucy5zb21lKChjb2wpID0+IHtcbiAgICAgICAgaWYgKGNvbD8ucGlubmVkID09PSAnbGVmdCcgJiYgY29sPy5pc192aXNpYmxlKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgaWYgKGNvbD8uY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiBjaGVja1Bpbm5lZFJpZ2h0KGNvbC5jaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gY2hlY2tQaW5uZWRSaWdodChjb2x1bW5zKTtcbiAgfVxuXG5cbiAgZ2V0RXhwYW5kZWRSb3dDb3VudChkYXRhOiBhbnlbXSk6IG51bWJlciB7XG4gICAgbGV0IGdyb3VwQ291bnQgPSAwO1xuICAgIGxldCByb3dDb3VudCA9IDA7XG5cbiAgICBkYXRhLmZvckVhY2goZ3JvdXAgPT4ge1xuICAgICAgaWYgKGdyb3VwPy5pc0dyb3VwKSB7XG4gICAgICAgIGdyb3VwQ291bnQrKztcblxuICAgICAgICBpZiAoZ3JvdXA/LmlzRXhwYW5kICYmIEFycmF5LmlzQXJyYXkoZ3JvdXA/LmNoaWxkcmVuKSkge1xuICAgICAgICAgIGdyb3VwLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZC5pc0dyb3VwKSB7XG4gICAgICAgICAgICAgIGlmIChjaGlsZC5pc0V4cGFuZCAmJiBBcnJheS5pc0FycmF5KGNoaWxkLmNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgIHJvd0NvdW50ICs9IGNoaWxkLmNoaWxkcmVuLmxlbmd0aDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcm93Q291bnQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGdyb3VwQ291bnQgPT09IDApIHtcbiAgICAgIHJldHVybiBkYXRhLmxlbmd0aDtcbiAgICB9XG5cbiAgICByZXR1cm4gZ3JvdXBDb3VudCArIHJvd0NvdW50O1xuICB9XG5cblxuZ2V0RmlsdGVyc0Zyb21Db2x1bW5zKGNvbHVtbnM6IGFueVtdLCBmaWx0ZXJzQ29uZmlnOmFueSBbXSk6IGFueVtdIHtcbiAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xuIFxuICBjb25zdCBjaGVja0NvbHVtbiA9IChjb2w6IGFueSkgPT4ge1xuICAgIGNvbnN0IGhhc0ZpcnN0VmFsdWUgPSBjb2wucXVlcnk/LmZpcnN0X3ZhbHVlICE9IG51bGwgJiYgY29sLnF1ZXJ5Py5maXJzdF92YWx1ZSAhPT0gXCJcIiAmJiBmaWx0ZXJzQ29uZmlnLnNvbWUoKGVsZSk9PiBlbGUuZmllbGQgPT0gY29sLmZpZWxkKTtcbiAgICBjb25zdCBoYXNJZHMgPSBBcnJheS5pc0FycmF5KGNvbC5xdWVyeT8uX2lkcykgJiYgY29sLnF1ZXJ5Ll9pZHMubGVuZ3RoID4gMCAmJiBmaWx0ZXJzQ29uZmlnLnNvbWUoKGVsZSk9PiBlbGUuZmllbGQgPT0gY29sLmZpZWxkKTtcbiAgICBpZiAoaGFzRmlyc3RWYWx1ZSB8fCBoYXNJZHMpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgc2VhcmNoOiBjb2wuc2VhcmNoID8/IFwiXCIsXG4gICAgICAgIGZpZWxkOiBjb2wuZmllbGQsXG4gICAgICAgIHR5cGU6IGNvbC50eXBlLFxuICAgICAgICBfaWRzOiBjb2wudHlwZSA9PSAnZHJvcGRvd24nPyBjb2wucXVlcnk/Ll9pZHM6IFtdLFxuICAgICAgICBxdWVyeTogY29sLnR5cGUgPT0gJ2Ryb3Bkb3duJz8gbnVsbCA6IChjb2w/LnF1ZXJ5Py5maXJzdF92YWx1ZSA/IGNvbD8ucXVlcnkgOiBudWxsKVxuICAgICAgfSk7XG4gICAgfVxuIFxuICAgIGlmIChBcnJheS5pc0FycmF5KGNvbC5jaGlsZHJlbikgJiYgY29sLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbC5jaGlsZHJlbi5mb3JFYWNoKGNoZWNrQ29sdW1uKTtcbiAgICB9XG4gIH07XG4gIGNvbHVtbnMuZm9yRWFjaChjaGVja0NvbHVtbik7XG4gXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmFzeW5jIGFwcGx5RmlsdGVyc1RvQ29sdW1ucyhjb2x1bW5zOiBhbnlbXSwgZmlsdGVyczogYW55W10pOiBQcm9taXNlPGFueVtdPiB7XG4gIFxuICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XG4gICAgaWYgKCFjb2wucXVlcnkpIHtcbiAgICAgIGNvbC5xdWVyeSA9IHtcbiAgICAgICAgZmlyc3RfdmFsdWU6IG51bGwsXG4gICAgICAgIHNlY29uZF92YWx1ZTogbnVsbCxcbiAgICAgICAgZmlyc3RfY29uZGl0aW9uOiAnY29udGFpbicsXG4gICAgICAgIHNlY29uZF9jb25kaXRpb246IG51bGwsXG4gICAgICAgIGNvbmRpdGlvbjogJ25vbmUnLFxuICAgICAgICBfaWRzOiBbXVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJzLmZpbmQoZiA9PiBmLmZpZWxkID09PSBjb2wuZmllbGQpO1xuXG4gICAgaWYgKGZpbHRlcikge1xuICAgICAgaWYgKGNvbC50eXBlID09PSAnZHJvcGRvd24nKSB7XG4gICAgICAgIGNvbC5maWx0ZXJWYWx1ZSA9IGZpbHRlci5faWRzID8/IFtdO1xuICAgICAgICBjb2wuc2VhcmNoID0gZmlsdGVyLnNlYXJjaCA/PyAnJztcbiAgICAgICAgY29sLnF1ZXJ5Ll9pZHMgPSBmaWx0ZXIuX2lkcyA/PyBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbC5maWx0ZXJWYWx1ZSA9IGZpbHRlci5zZWFyY2ggPz8gbnVsbDtcbiAgICAgICAgY29sLnNlYXJjaCA9IGZpbHRlci5zZWFyY2ggPz8gJyc7XG4gICAgICAgIGNvbC5xdWVyeS5maXJzdF92YWx1ZSA9IGZpbHRlci5xdWVyeT8uZmlyc3RfdmFsdWUgPz8gbnVsbDtcbiAgICAgICAgY29sLnF1ZXJ5LnNlY29uZF92YWx1ZSA9IGZpbHRlci5xdWVyeT8uc2Vjb25kX3ZhbHVlID8/IG51bGw7XG4gICAgICAgIGNvbC5xdWVyeS5maXJzdF9jb25kaXRpb24gPSBmaWx0ZXIucXVlcnk/LmZpcnN0X2NvbmRpdGlvbiA/PyAnY29udGFpbic7XG4gICAgICAgIGNvbC5xdWVyeS5zZWNvbmRfY29uZGl0aW9uID0gZmlsdGVyLnF1ZXJ5Py5zZWNvbmRfY29uZGl0aW9uID8/ICdjb250YWluJztcbiAgICAgICAgY29sLnF1ZXJ5LmNvbmRpdGlvbiA9IGZpbHRlci5xdWVyeT8uY29uZGl0aW9uID8/ICdub25lJztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29sLmNoaWxkcmVuKSAmJiBjb2wuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgY29sLmNoaWxkcmVuID0gYXdhaXQgdGhpcy5hcHBseUZpbHRlcnNUb0NvbHVtbnMoY29sLmNoaWxkcmVuLCBmaWx0ZXJzKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNvbHVtbnM7XG59XG5cblxuICBwdWJsaWMgZ2xvYmFsU2VhcmNoOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwcml2YXRlIF91c2VyRGF0YTogYW55ID0gbnVsbDtcblxuICBnZXQgdXNlckRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXJEYXRhIHx8IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXInKSB8fCAnbnVsbCcpO1xuICB9XG5cbiAgc2V0IHVzZXJEYXRhKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl91c2VyRGF0YSA9IHZhbHVlO1xuICB9XG5cbiAgc2V0VXNlckRhdGEodXNlcjogYW55KSB7XG4gICAgdGhpcy51c2VyRGF0YSA9IHVzZXI7XG4gIH1cbiBcbiAgZm9ybWF0RGF0ZVRpbWVXaXRoUHJlZnMoKSB7XG4gICAgbGV0IGxzVXNlciA9IHRoaXMudXNlckRhdGE7XG4gICAgbGV0IHRpbWVab25lID0gbHNVc2VyPy5idXNpbmVzc19pZD8udGltZV96b25lID8gbHNVc2VyPy5idXNpbmVzc19pZD8udGltZV96b25lIDogJ1VUQyc7XG4gICAgbGV0IGRhdGVGb3JtYXQgPSBsc1VzZXI/LmRhdGVfZm9ybWF0ID8gdGhpcy5jb252ZXJ0TW9tZW50VG9Bbmd1bGFyRGF0ZUZvcm1hdChsc1VzZXIuZGF0ZV9mb3JtYXQpIDogJ01NL2RkL3l5eXknO1xuICAgIGxldCB0aW1lRm9ybWF0ID0gIWxzVXNlcj8uYnVzaW5lc3NfaWQ/LmlzXzI0X2hvdXJfZm9ybWF0ID8gJ2g6bW0gYScgOiAnSDptbSc7XG4gICAgcmV0dXJuIHt0aW1lWm9uZSwgZGF0ZUZvcm1hdCwgdGltZUZvcm1hdH07XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRNb21lbnRUb0FuZ3VsYXJEYXRlRm9ybWF0KG1vbWVudEZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBDb252ZXJ0IG1vbWVudC5qcyBkYXRlIGZvcm1hdCB0byBBbmd1bGFyIERhdGVQaXBlIGZvcm1hdFxuICAgIHJldHVybiBtb21lbnRGb3JtYXRcbiAgICAgIC5yZXBsYWNlKC9ERC9nLCAnZGQnKSAgLy8gRGF5IG9mIG1vbnRoOiBERCAtPiBkZFxuICAgICAgLnJlcGxhY2UoL1lZWVkvZywgJ3l5eXknKSAgLy8gWWVhcjogWVlZWSAtPiB5eXl5XG4gICAgICAucmVwbGFjZSgvWVkvZywgJ3l5JykgIC8vIFllYXI6IFlZIC0+IHl5XG4gICAgICAucmVwbGFjZSgvTU0vZywgJ01NJykgIC8vIE1vbnRoOiBNTSAtPiBNTSAoc2FtZSlcbiAgICAgIC5yZXBsYWNlKC9NL2csICdNJykgIC8vIE1vbnRoOiBNIC0+IE0gKHNhbWUpXG4gICAgICAucmVwbGFjZSgvSEgvZywgJ0hIJykgIC8vIEhvdXIgMjQ6IEhIIC0+IEhIIChzYW1lKVxuICAgICAgLnJlcGxhY2UoL0gvZywgJ0gnKSAgLy8gSG91ciAyNDogSCAtPiBIIChzYW1lKVxuICAgICAgLnJlcGxhY2UoL2hoL2csICdoJykgIC8vIEhvdXIgMTI6IGhoIC0+IGhcbiAgICAgIC5yZXBsYWNlKC9oL2csICdoJykgIC8vIEhvdXIgMTI6IGggLT4gaCAoc2FtZSlcbiAgICAgIC5yZXBsYWNlKC9tbS9nLCAnbW0nKSAgLy8gTWludXRlOiBtbSAtPiBtbSAoc2FtZSlcbiAgICAgIC5yZXBsYWNlKC9tL2csICdtJykgIC8vIE1pbnV0ZTogbSAtPiBtIChzYW1lKVxuICAgICAgLnJlcGxhY2UoL3NzL2csICdzcycpICAvLyBTZWNvbmQ6IHNzIC0+IHNzIChzYW1lKVxuICAgICAgLnJlcGxhY2UoL3MvZywgJ3MnKSAgLy8gU2Vjb25kOiBzIC0+IHMgKHNhbWUpXG4gICAgICAucmVwbGFjZSgvQS9nLCAnYScpICAvLyBBTS9QTTogQSAtPiBhXG4gICAgICAucmVwbGFjZSgvYS9nLCAnYScpOyAvLyBBTS9QTTogYSAtPiBhIChzYW1lKVxuICB9XG4gXG5cblxuYWN0aXZlRmlsdGVyZWRDb2x1bW5zOiBhbnlbXSA9IFtdO1xudXBkYXRlQWN0aXZlRmlsdGVyZWRDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogYW55W10ge1xuICBjb25zdCBjb2xsZWN0RmlsdGVyZWQgPSAoY29sczogYW55W10pOiBhbnlbXSA9PiB7XG4gICAgbGV0IHJlc3VsdDogYW55W10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29scy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY29sID0gY29sc1tpXTtcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4gJiYgY29sLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChjb2xsZWN0RmlsdGVyZWQoY29sLmNoaWxkcmVuKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb2wucXVlcnkpIHtcbiAgICAgICAgY29uc3QgaGFzRHJvcGRvd25GaWx0ZXIgPVxuICAgICAgICAgIEFycmF5LmlzQXJyYXkoY29sLnF1ZXJ5Ll9pZHMpICYmIGNvbC5xdWVyeS5faWRzLmxlbmd0aCA+IDA7XG5cbiAgICAgICAgY29uc3QgaGFzVmFsdWVGaWx0ZXIgPVxuICAgICAgICAgIChjb2wucXVlcnkuZmlyc3RfdmFsdWUgJiYgY29sLnF1ZXJ5LmZpcnN0X3ZhbHVlICE9PSAnJykgfHxcbiAgICAgICAgICAoY29sLnF1ZXJ5LnNlY29uZF92YWx1ZSAmJiBjb2wucXVlcnkuc2Vjb25kX3ZhbHVlICE9PSAnJyk7XG5cbiAgICAgICAgaWYgKGhhc0Ryb3Bkb3duRmlsdGVyIHx8IGhhc1ZhbHVlRmlsdGVyKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goY29sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuICB0aGlzLmFjdGl2ZUZpbHRlcmVkQ29sdW1ucyA9IFsuLi5jb2xsZWN0RmlsdGVyZWQoY29sdW1ucyldO1xuICByZXR1cm4gdGhpcy5hY3RpdmVGaWx0ZXJlZENvbHVtbnM7XG59XG5cblxuXG5oYXNGaWVsZENoYW5nZWQoY3VycmVudDogYW55LCBvcmlnaW5hbDogYW55LCB0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHJldHVybiBOdW1iZXIoY3VycmVudCkgIT09IE51bWJlcihvcmlnaW5hbCk7XG5cbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHJldHVybiBTdHJpbmcoY3VycmVudCB8fCAnJykgIT09IFN0cmluZyhvcmlnaW5hbCB8fCAnJyk7XG5cbiAgICAgIGNhc2UgJ2Ryb3Bkb3duJzpcbiAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50ID09PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb3JpZ2luYWwgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnQ/LmlkICE9PSBvcmlnaW5hbD8uaWQgfHwgY3VycmVudD8udmFsdWUgIT09IG9yaWdpbmFsPy52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY3VycmVudCAhPT0gb3JpZ2luYWw7XG5cbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICByZXR1cm4gQm9vbGVhbihjdXJyZW50KSAhPT0gQm9vbGVhbihvcmlnaW5hbCk7XG5cbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKGN1cnJlbnQpLmdldFRpbWUoKTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxEYXRlID0gbmV3IERhdGUob3JpZ2luYWwpLmdldFRpbWUoKTtcbiAgICAgICAgcmV0dXJuIGlzTmFOKGN1cnJlbnREYXRlKSB8fCBpc05hTihvcmlnaW5hbERhdGUpXG4gICAgICAgICAgPyBjdXJyZW50ICE9PSBvcmlnaW5hbFxuICAgICAgICAgIDogY3VycmVudERhdGUgIT09IG9yaWdpbmFsRGF0ZTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGN1cnJlbnQpICE9PSBKU09OLnN0cmluZ2lmeShvcmlnaW5hbCk7XG4gICAgfVxuICB9XG5cblxufVxuXG5cblxuXG4iXX0=
|
|
@@ -182,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
182
182
|
providedIn: 'root'
|
|
183
183
|
}]
|
|
184
184
|
}], ctorParameters: () => [] });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1zZXJ2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tcy10aW1lLXNoZWV0L3NyYy9saWIvc2VydmljZXMvY29weS1zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QjtRQWtGQSxlQUFVLEdBQVUsRUFBRSxDQUFDO0lBbEZQLENBQUM7SUFDbEIsc0JBQXNCLENBQ3JCLE9BQWMsRUFDZCxPQUFjLEVBQ2Qsa0JBQStCLEVBQy9CLGFBQW9CLEVBQ3BCLGlCQUFzRCxDQUFDLFVBQVU7O1FBRWpFLE1BQU0sVUFBVSxHQUFZLEVBQUUsQ0FBQztRQUMvQixNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDL0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxNQUFNLENBQUMsQ0FBQztRQUV4RCxJQUFJLGtCQUFrQixDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxHQUFHLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxHQUFHO29CQUFFLFNBQVM7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQy9CLElBQUksR0FBRyxDQUFDLFFBQVEs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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3B5U2VydmljZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gZ2V0U2VsZWN0ZWREYXRhRm9yQ29weShcclxuICBkYXRhU2V0OiBhbnlbXSxcclxuICBjb2x1bW5zOiBhbnlbXSxcclxuICByb3dTZWxlY3RlZEluZGV4ZXM6IFNldDxudW1iZXI+LFxyXG4gIHNlbGVjdGVkQ2VsbHM6IGFueVtdLFxyXG4gIGdldEZvcm1hdHRlZFZhbHVlOiAocm93OiBhbnksIGZpZWxkOiBzdHJpbmcpID0+IHN0cmluZyAvLyA8LS0gTkVXXHJcbik6IGFueVtdW10ge1xyXG4gIGNvbnN0IGNvcGllZFJvd3M6IGFueVtdW10gPSBbXTtcclxuICBjb25zdCBmaW5kUm93QnlWaXJ0dWFsSW5kZXggPSAodkluZGV4OiBudW1iZXIpID0+XHJcbiAgICBkYXRhU2V0LmZpbmQoKHI6IGFueSkgPT4gci5fX3ZpcnR1YWxJbmRleCA9PT0gdkluZGV4KTtcclxuXHJcbiAgaWYgKHJvd1NlbGVjdGVkSW5kZXhlcy5zaXplID4gMCkge1xyXG4gICAgY29uc3Qgc29ydGVkSW5kZXhlcyA9IFsuLi5yb3dTZWxlY3RlZEluZGV4ZXNdLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcclxuICAgIGZvciAoY29uc3QgdkluZGV4IG9mIHNvcnRlZEluZGV4ZXMpIHtcclxuICAgICAgY29uc3Qgcm93ID0gZmluZFJvd0J5VmlydHVhbEluZGV4KHZJbmRleCk7XHJcbiAgICAgIGlmICghcm93KSBjb250aW51ZTtcclxuICAgICAgY29uc3QgbWFwcGVkID0gY29sdW1ucy5tYXAoY29sID0+IHtcclxuICAgICAgICBpZiAoY29sLmNoaWxkcmVuICYmIEFycmF5LmlzQXJyYXkoY29sLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgcmV0dXJuIGNvbC5jaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4gZ2V0Rm9ybWF0dGVkVmFsdWUocm93LCBjLmZpZWxkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBbZ2V0Rm9ybWF0dGVkVmFsdWUocm93LCBjb2wuZmllbGQpXTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IHJvd1ZhbHVlcyA9IG1hcHBlZC5yZWR1Y2U8c3RyaW5nW10+KChhY2MsIGN1cnIpID0+IGFjYy5jb25jYXQoY3VyciksIFtdKTtcclxuICAgICAgY29waWVkUm93cy5wdXNoKHJvd1ZhbHVlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZiAoc2VsZWN0ZWRDZWxscy5sZW5ndGggPiAwKSB7XHJcbiAgICBjb25zdCByb3dzTWFwID0gbmV3IE1hcDxudW1iZXIsIGFueVtdPigpO1xyXG4gICAgZm9yIChjb25zdCBjZWxsIG9mIHNlbGVjdGVkQ2VsbHMpIHtcclxuICAgICAgY29uc3Qgcm93ID0gZmluZFJvd0J5VmlydHVhbEluZGV4KGNlbGwucm93SW5kZXgpO1xyXG4gICAgICBpZiAoIXJvdykgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGNvbCA9IGNvbHVtbnNbY2VsbC5jb2xJbmRleF07XHJcbiAgICAgIGxldCBmaWVsZE5hbWUgPSBjb2w/LmZpZWxkO1xyXG4gICAgICBpZiAoY29sPy5jaGlsZHJlbiAmJiBjb2wuY2hpbGRyZW5bY2VsbC5zdWJDb2xJbmRleF0pIHtcclxuICAgICAgICBmaWVsZE5hbWUgPSBjb2wuY2hpbGRyZW5bY2VsbC5zdWJDb2xJbmRleF0uZmllbGQ7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgdmFsdWUgPSBnZXRGb3JtYXR0ZWRWYWx1ZShyb3csIGZpZWxkTmFtZSk7XHJcbiAgICAgIGlmICghcm93c01hcC5oYXMoY2VsbC5yb3dJbmRleCkpIHJvd3NNYXAuc2V0KGNlbGwucm93SW5kZXgsIFtdKTtcclxuICAgICAgcm93c01hcC5nZXQoY2VsbC5yb3dJbmRleCkhLnB1c2godmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc29ydGVkQ2VsbHMgPSBbLi4ucm93c01hcC5lbnRyaWVzKCldXHJcbiAgICAgIC5zb3J0KChbYV0sIFtiXSkgPT4gYSAtIGIpXHJcbiAgICAgIC5tYXAoKFtfLCB2XSkgPT4gdik7XHJcbiAgICBjb3BpZWRSb3dzLnB1c2goLi4uc29ydGVkQ2VsbHMpO1xyXG4gIH1cclxuICBcclxuXHJcbiAgaWYgKGNvcGllZFJvd3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICBjb25zdCBhY3RpdmVDZWxsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFjdGl2ZS1jZWxsJyk7XHJcbiAgICBpZiAoYWN0aXZlQ2VsbCkgcmV0dXJuIFtbYWN0aXZlQ2VsbC50ZXh0Q29udGVudD8udHJpbSgpIHx8ICcnXV07XHJcbiAgfVxyXG5cclxuICBjb25zdCBtYXhDb2xzID0gY29waWVkUm93cy5yZWR1Y2UoKG1heCwgcm93KSA9PiBNYXRoLm1heChtYXgsIHJvdy5sZW5ndGgpLCAwKTtcclxuICByZXR1cm4gY29waWVkUm93cy5tYXAocm93ID0+IHtcclxuICAgIGNvbnN0IG5ld1JvdyA9IFsuLi5yb3ddO1xyXG4gICAgd2hpbGUgKG5ld1Jvdy5sZW5ndGggPCBtYXhDb2xzKSBuZXdSb3cucHVzaCgnJyk7XHJcbiAgICByZXR1cm4gbmV3Um93O1xyXG4gIH0pO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4gIGNvcHlUb0NsaXBib2FyZChcclxuICAgIHNlbGVjdGVkRGF0YTogYW55W11bXSxcclxuICAgIHNlbGVjdG9yID0gJy5zZWxlY3RlZC1jZWxsLCAuYWN0aXZlLWNlbGwsIC5yb3ctc2VsZWN0ZWQnXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAoIXNlbGVjdGVkRGF0YSB8fCBzZWxlY3RlZERhdGEubGVuZ3RoID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCB0ZXh0VG9Db3B5ID0gc2VsZWN0ZWREYXRhXHJcbiAgICAgIC5tYXAocm93ID0+IHJvdy5tYXAoY2VsbCA9PiAoY2VsbCA/PyAnJykudG9TdHJpbmcoKSkuam9pbignXFx0JykpXHJcbiAgICAgIC5qb2luKCdcXG4nKTtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHRUb0NvcHkpLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRFbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcclxuICAgIHNlbGVjdGVkRWxzLmZvckVhY2goZWwgPT4gZWwuY2xhc3NMaXN0LmFkZCgnZmxhc2gtYmcnKSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgc2VsZWN0ZWRFbHMuZm9yRWFjaChlbCA9PiBlbC5jbGFzc0xpc3QucmVtb3ZlKCdmbGFzaC1iZycpKTtcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZVJvd3M6IGFueVtdID0gW107XHJcbiAgYXN5bmMgcGFzdGVGcm9tQ2xpcGJvYXJkVGV4dChcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIGRhdGFTZXQ6IGFueVtdLFxyXG4gICAgY29sdW1uczogYW55W10sXHJcbiAgICBzdGFydFJvd0luZGV4OiBudW1iZXIsXHJcbiAgICBzdGFydENvbEluZGV4OiBudW1iZXIsXHJcbiAgICBzdGFydFN1YkNvbEluZGV4OiBudW1iZXIgPSAwXHJcbiAgKTogUHJvbWlzZTxhbnlbXT4ge1xyXG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gW107XHJcbiAgICB0aGlzLnVwZGF0ZVJvd3MgPSBbXTtcclxuICAgIGNvbnN0IHJvd3MgPSB0ZXh0LnNwbGl0KC9cXHI/XFxuLykubWFwKHIgPT4gci5zcGxpdCgnXFx0JykpO1xyXG4gICAgY29uc3QgZmxhdHRlbmVkQ29sdW1uczogYW55W10gPSBbXTtcclxuICAgIGNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb2wuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4gZmxhdHRlbmVkQ29sdW1ucy5wdXNoKHsgcGFyZW50OiBjb2wsIC4uLmNoaWxkIH0pKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmbGF0dGVuZWRDb2x1bW5zLnB1c2goY29sKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBsZXQgc3RhcnRGbGF0dGVuZWRJbmRleCA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0YXJ0Q29sSW5kZXg7IGkrKykge1xyXG4gICAgICBjb25zdCBjb2wgPSBjb2x1bW5zW2ldO1xyXG4gICAgICBzdGFydEZsYXR0ZW5lZEluZGV4ICs9IGNvbC5jaGlsZHJlbj8ubGVuZ3RoIHx8IDE7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdGFydENvbCA9IGNvbHVtbnNbc3RhcnRDb2xJbmRleF07XHJcbiAgICBpZiAoc3RhcnRDb2w/LmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgc3RhcnRGbGF0dGVuZWRJbmRleCArPSBNYXRoLm1pbihzdGFydFN1YkNvbEluZGV4LCBzdGFydENvbC5jaGlsZHJlbi5sZW5ndGggLSAxKTtcclxuICAgIH1cclxuXHJcbiAgICByb3dzLmZvckVhY2goKHJvd1ZhbHVlcywgck9mZnNldCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXRSb3dJbmRleCA9IHN0YXJ0Um93SW5kZXggKyByT2Zmc2V0O1xyXG4gICAgICBjb25zdCByb3cgPSBkYXRhU2V0LmZpbmQociA9PiByPy5fX3ZpcnR1YWxJbmRleCA9PT0gdGFyZ2V0Um93SW5kZXgpO1xyXG4gICAgICBpZiAoIXJvdykgcmV0dXJuO1xyXG5cclxuICAgICAgcm93VmFsdWVzLmZvckVhY2goKHZhbHVlLCBjT2Zmc2V0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBzdGFydEZsYXR0ZW5lZEluZGV4ICsgY09mZnNldDtcclxuICAgICAgICBpZiAodGFyZ2V0SW5kZXggPCAwIHx8IHRhcmdldEluZGV4ID49IGZsYXR0ZW5lZENvbHVtbnMubGVuZ3RoKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IHRhcmdldENvbHVtbiA9IGZsYXR0ZW5lZENvbHVtbnNbdGFyZ2V0SW5kZXhdO1xyXG4gICAgICAgIHRoaXMuc2V0TmVzdGVkVmFsdWUocm93LCB0YXJnZXRDb2x1bW4sIHZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy51cGRhdGVSb3dzO1xyXG4gIH1cclxuXHJcblxyXG4gIHNldE5lc3RlZFZhbHVlKG9iajogYW55LCBjb2x1bW46IGFueSwgb3B0aW9uOiBhbnksIGNhbGxlZEZyb21JbnB1dCA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBkZWJ1Z2dlclxyXG4gICAgaWYgKGNvbHVtbi50eXBlID09PSAnZGF0ZScgfHwgY29sdW1uLnR5cGUgPT09ICdpbWFnZScpIHJldHVybjtcclxuICAgIGNvbnN0IHBhdGggPSBjb2x1bW4uZmllbGQ7XHJcbiAgICBpZiAoIXBhdGgpIHJldHVybjtcclxuICAgIGNvbnN0IGtleXMgPSBwYXRoLnNwbGl0KCcuJyk7XHJcbiAgICBjb25zdCBsYXN0S2V5ID0ga2V5cy5wb3AoKTtcclxuICAgIGNvbnN0IHBhcmVudCA9IGtleXMucmVkdWNlKChhY2M6IGFueSwga2V5OiBzdHJpbmcpID0+IChhY2Nba2V5XSA/Pz0ge30pLCBvYmopO1xyXG4gICAgaWYgKHBhcmVudCAmJiBsYXN0S2V5KSB7XHJcbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiBvcHRpb24gIT09IG51bGwpIHtcclxuICAgICAgICBwYXJlbnRbbGFzdEtleV0gPSB7XHJcbiAgICAgICAgICBpZDogb3B0aW9uLmlkID8/IDEsXHJcbiAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlID8/IG9wdGlvbixcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHBhcmVudFtsYXN0S2V5XSA9IG9wdGlvbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qgc2VuZE9iaiA9IHtcclxuICAgICAgZGF0YTogeyAuLi5vYmogfSxcclxuICAgICAgZXZlbnRUeXBlOiAnb25DZWxsRWRpdCcsXHJcbiAgICB9O1xyXG4gICAgdGhpcy51cGRhdGVSb3dzLnB1c2gob2JqKTtcclxuICB9XHJcblxyXG5cclxuICBjdXRTZWxlY3RlZFNlbGVjdGVkRGF0YShcclxuICAgIGRhdGFTZXQ6IGFueVtdLFxyXG4gICAgcm93U2VsZWN0ZWRJbmRleGVzOiBTZXQ8bnVtYmVyPixcclxuICAgIHNlbGVjdGVkQ2VsbHM6IGFueVtdLFxyXG4gICAgY29sdW1uczogYW55W10sXHJcbiAgICBzZXROZXN0ZWRWYWx1ZTogKG9iajogYW55LCBjb2x1bW46IGFueSwgdmFsdWU6IGFueSkgPT4gdm9pZFxyXG4gICk6IGFueSB7XHJcbiAgICBsZXQgdXBkYXRlZERhdGEgPSBbLi4uZGF0YVNldF07XHJcbiAgICBpZiAocm93U2VsZWN0ZWRJbmRleGVzPy5zaXplKSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ZXMgPSBbLi4ucm93U2VsZWN0ZWRJbmRleGVzXTtcclxuICAgICAgdXBkYXRlZERhdGEgPSB1cGRhdGVkRGF0YS5maWx0ZXIoXHJcbiAgICAgICAgKHJvdzogYW55KSA9PiAhaW5kZXhlcy5pbmNsdWRlcyhyb3cuX192aXJ0dWFsSW5kZXgpXHJcbiAgICAgICk7XHJcbiAgICAgIC8vIHJvd1NlbGVjdGVkSW5kZXhlcy5jbGVhcigpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoc2VsZWN0ZWRDZWxscz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlUm93cyA9IFtdO1xyXG4gICAgICBmb3IgKGNvbnN0IGNlbGwgb2Ygc2VsZWN0ZWRDZWxscykge1xyXG4gICAgICAgIGNvbnN0IHJvdyA9IHVwZGF0ZWREYXRhLmZpbmQociA9PiByLl9fdmlydHVhbEluZGV4ID09PSBjZWxsLnJvd0luZGV4KTtcclxuICAgICAgICBpZiAoIXJvdykgY29udGludWU7XHJcbiAgICAgICAgbGV0IGNvbCA9IGNvbHVtbnNbY2VsbC5jb2xJbmRleF07XHJcbiAgICAgICAgaWYgKGNvbD8uY2hpbGRyZW4gJiYgY29sLmNoaWxkcmVuW2NlbGwuc3ViQ29sSW5kZXhdKSB7XHJcbiAgICAgICAgICBjb2wgPSBjb2wuY2hpbGRyZW5bY2VsbC5zdWJDb2xJbmRleF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0TmVzdGVkVmFsdWUocm93LCBjb2wsICcnKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBzZWxlY3RlZENlbGxzLmxlbmd0aCA9IDA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge3VwZGF0ZWREYXRhOiB1cGRhdGVkRGF0YSwgdXBkYXRlZFJvd3M6IHRoaXMudXBkYXRlUm93c307XHJcbiAgfVxyXG5cclxuXHJcbiAgY3V0V2l0aEFuaW1hdGlvbihcclxuICAgIHNlbGVjdGVkRGF0YTogYW55W11bXSxcclxuICAgIHNlbGVjdG9yID0gJy5zZWxlY3RlZC1jZWxsLCAuYWN0aXZlLWNlbGwsIC5yb3ctc2VsZWN0ZWQnXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAoIXNlbGVjdGVkRGF0YSB8fCBzZWxlY3RlZERhdGEubGVuZ3RoID09PSAwKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgdGV4dFRvQ29weSA9IHNlbGVjdGVkRGF0YVxyXG4gICAgICAubWFwKHJvdyA9PiByb3cubWFwKGNlbGwgPT4gKGNlbGwgPz8gJycpLnRvU3RyaW5nKCkpLmpvaW4oJ1xcdCcpKVxyXG4gICAgICAuam9pbignXFxuJyk7XHJcblxyXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dFRvQ29weSkuY2F0Y2goZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XHJcblxyXG4gICAgLy8gQXBwbHkgcmVkIGN1dCBhbmltYXRpb25cclxuICAgIGNvbnN0IHNlbGVjdGVkRWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XHJcbiAgICBzZWxlY3RlZEVscy5mb3JFYWNoKGVsID0+IGVsLmNsYXNzTGlzdC5hZGQoJ2N1dC1mbGFzaC1iZycpKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBzZWxlY3RlZEVscy5mb3JFYWNoKGVsID0+IGVsLmNsYXNzTGlzdC5yZW1vdmUoJ2N1dC1mbGFzaC1iZycpKTtcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1zZXJ2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tcy10aW1lLXNoZWV0L3NyYy9saWIvc2VydmljZXMvY29weS1zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QjtRQWtGQSxlQUFVLEdBQVUsRUFBRSxDQUFDO0lBbEZQLENBQUM7SUFDbEIsc0JBQXNCLENBQ3JCLE9BQWMsRUFDZCxPQUFjLEVBQ2Qsa0JBQStCLEVBQy9CLGFBQW9CLEVBQ3BCLGlCQUFzRCxDQUFDLFVBQVU7O1FBRWpFLE1BQU0sVUFBVSxHQUFZLEVBQUUsQ0FBQztRQUMvQixNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDL0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxNQUFNLENBQUMsQ0FBQztRQUV4RCxJQUFJLGtCQUFrQixDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxHQUFHLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxHQUFHO29CQUFFLFNBQVM7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQy9CLElBQUksR0FBRyxDQUFDLFFBQVEs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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvcHlTZXJ2aWNlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbiBnZXRTZWxlY3RlZERhdGFGb3JDb3B5KFxuICBkYXRhU2V0OiBhbnlbXSxcbiAgY29sdW1uczogYW55W10sXG4gIHJvd1NlbGVjdGVkSW5kZXhlczogU2V0PG51bWJlcj4sXG4gIHNlbGVjdGVkQ2VsbHM6IGFueVtdLFxuICBnZXRGb3JtYXR0ZWRWYWx1ZTogKHJvdzogYW55LCBmaWVsZDogc3RyaW5nKSA9PiBzdHJpbmcgLy8gPC0tIE5FV1xuKTogYW55W11bXSB7XG4gIGNvbnN0IGNvcGllZFJvd3M6IGFueVtdW10gPSBbXTtcbiAgY29uc3QgZmluZFJvd0J5VmlydHVhbEluZGV4ID0gKHZJbmRleDogbnVtYmVyKSA9PlxuICAgIGRhdGFTZXQuZmluZCgocjogYW55KSA9PiByLl9fdmlydHVhbEluZGV4ID09PSB2SW5kZXgpO1xuXG4gIGlmIChyb3dTZWxlY3RlZEluZGV4ZXMuc2l6ZSA+IDApIHtcbiAgICBjb25zdCBzb3J0ZWRJbmRleGVzID0gWy4uLnJvd1NlbGVjdGVkSW5kZXhlc10uc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgIGZvciAoY29uc3QgdkluZGV4IG9mIHNvcnRlZEluZGV4ZXMpIHtcbiAgICAgIGNvbnN0IHJvdyA9IGZpbmRSb3dCeVZpcnR1YWxJbmRleCh2SW5kZXgpO1xuICAgICAgaWYgKCFyb3cpIGNvbnRpbnVlO1xuICAgICAgY29uc3QgbWFwcGVkID0gY29sdW1ucy5tYXAoY29sID0+IHtcbiAgICAgICAgaWYgKGNvbC5jaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KGNvbC5jaGlsZHJlbikpIHtcbiAgICAgICAgICByZXR1cm4gY29sLmNoaWxkcmVuLm1hcCgoYzogYW55KSA9PiBnZXRGb3JtYXR0ZWRWYWx1ZShyb3csIGMuZmllbGQpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2dldEZvcm1hdHRlZFZhbHVlKHJvdywgY29sLmZpZWxkKV07XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHJvd1ZhbHVlcyA9IG1hcHBlZC5yZWR1Y2U8c3RyaW5nW10+KChhY2MsIGN1cnIpID0+IGFjYy5jb25jYXQoY3VyciksIFtdKTtcbiAgICAgIGNvcGllZFJvd3MucHVzaChyb3dWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzZWxlY3RlZENlbGxzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCByb3dzTWFwID0gbmV3IE1hcDxudW1iZXIsIGFueVtdPigpO1xuICAgIGZvciAoY29uc3QgY2VsbCBvZiBzZWxlY3RlZENlbGxzKSB7XG4gICAgICBjb25zdCByb3cgPSBmaW5kUm93QnlWaXJ0dWFsSW5kZXgoY2VsbC5yb3dJbmRleCk7XG4gICAgICBpZiAoIXJvdykgY29udGludWU7XG4gICAgICBjb25zdCBjb2wgPSBjb2x1bW5zW2NlbGwuY29sSW5kZXhdO1xuICAgICAgbGV0IGZpZWxkTmFtZSA9IGNvbD8uZmllbGQ7XG4gICAgICBpZiAoY29sPy5jaGlsZHJlbiAmJiBjb2wuY2hpbGRyZW5bY2VsbC5zdWJDb2xJbmRleF0pIHtcbiAgICAgICAgZmllbGROYW1lID0gY29sLmNoaWxkcmVuW2NlbGwuc3ViQ29sSW5kZXhdLmZpZWxkO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWUgPSBnZXRGb3JtYXR0ZWRWYWx1ZShyb3csIGZpZWxkTmFtZSk7XG4gICAgICBpZiAoIXJvd3NNYXAuaGFzKGNlbGwucm93SW5kZXgpKSByb3dzTWFwLnNldChjZWxsLnJvd0luZGV4LCBbXSk7XG4gICAgICByb3dzTWFwLmdldChjZWxsLnJvd0luZGV4KSEucHVzaCh2YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IHNvcnRlZENlbGxzID0gWy4uLnJvd3NNYXAuZW50cmllcygpXVxuICAgICAgLnNvcnQoKFthXSwgW2JdKSA9PiBhIC0gYilcbiAgICAgIC5tYXAoKFtfLCB2XSkgPT4gdik7XG4gICAgY29waWVkUm93cy5wdXNoKC4uLnNvcnRlZENlbGxzKTtcbiAgfVxuICBcblxuICBpZiAoY29waWVkUm93cy5sZW5ndGggPT09IDApIHtcbiAgICBjb25zdCBhY3RpdmVDZWxsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFjdGl2ZS1jZWxsJyk7XG4gICAgaWYgKGFjdGl2ZUNlbGwpIHJldHVybiBbW2FjdGl2ZUNlbGwudGV4dENvbnRlbnQ/LnRyaW0oKSB8fCAnJ11dO1xuICB9XG5cbiAgY29uc3QgbWF4Q29scyA9IGNvcGllZFJvd3MucmVkdWNlKChtYXgsIHJvdykgPT4gTWF0aC5tYXgobWF4LCByb3cubGVuZ3RoKSwgMCk7XG4gIHJldHVybiBjb3BpZWRSb3dzLm1hcChyb3cgPT4ge1xuICAgIGNvbnN0IG5ld1JvdyA9IFsuLi5yb3ddO1xuICAgIHdoaWxlIChuZXdSb3cubGVuZ3RoIDwgbWF4Q29scykgbmV3Um93LnB1c2goJycpO1xuICAgIHJldHVybiBuZXdSb3c7XG4gIH0pO1xufVxuXG5cblxuXG4gIGNvcHlUb0NsaXBib2FyZChcbiAgICBzZWxlY3RlZERhdGE6IGFueVtdW10sXG4gICAgc2VsZWN0b3IgPSAnLnNlbGVjdGVkLWNlbGwsIC5hY3RpdmUtY2VsbCwgLnJvdy1zZWxlY3RlZCdcbiAgKTogdm9pZCB7XG4gICAgaWYgKCFzZWxlY3RlZERhdGEgfHwgc2VsZWN0ZWREYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IHRleHRUb0NvcHkgPSBzZWxlY3RlZERhdGFcbiAgICAgIC5tYXAocm93ID0+IHJvdy5tYXAoY2VsbCA9PiAoY2VsbCA/PyAnJykudG9TdHJpbmcoKSkuam9pbignXFx0JykpXG4gICAgICAuam9pbignXFxuJyk7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dFRvQ29weSkuY2F0Y2goZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICBzZWxlY3RlZEVscy5mb3JFYWNoKGVsID0+IGVsLmNsYXNzTGlzdC5hZGQoJ2ZsYXNoLWJnJykpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2VsZWN0ZWRFbHMuZm9yRWFjaChlbCA9PiBlbC5jbGFzc0xpc3QucmVtb3ZlKCdmbGFzaC1iZycpKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG5cbiAgdXBkYXRlUm93czogYW55W10gPSBbXTtcbiAgYXN5bmMgcGFzdGVGcm9tQ2xpcGJvYXJkVGV4dChcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgZGF0YVNldDogYW55W10sXG4gICAgY29sdW1uczogYW55W10sXG4gICAgc3RhcnRSb3dJbmRleDogbnVtYmVyLFxuICAgIHN0YXJ0Q29sSW5kZXg6IG51bWJlcixcbiAgICBzdGFydFN1YkNvbEluZGV4OiBudW1iZXIgPSAwXG4gICk6IFByb21pc2U8YW55W10+IHtcbiAgICBpZiAoIXRleHQpIHJldHVybiBbXTtcbiAgICB0aGlzLnVwZGF0ZVJvd3MgPSBbXTtcbiAgICBjb25zdCByb3dzID0gdGV4dC5zcGxpdCgvXFxyP1xcbi8pLm1hcChyID0+IHIuc3BsaXQoJ1xcdCcpKTtcbiAgICBjb25zdCBmbGF0dGVuZWRDb2x1bW5zOiBhbnlbXSA9IFtdO1xuICAgIGNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xuICAgICAgaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZDogYW55KSA9PiBmbGF0dGVuZWRDb2x1bW5zLnB1c2goeyBwYXJlbnQ6IGNvbCwgLi4uY2hpbGQgfSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmxhdHRlbmVkQ29sdW1ucy5wdXNoKGNvbCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgbGV0IHN0YXJ0RmxhdHRlbmVkSW5kZXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RhcnRDb2xJbmRleDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2wgPSBjb2x1bW5zW2ldO1xuICAgICAgc3RhcnRGbGF0dGVuZWRJbmRleCArPSBjb2wuY2hpbGRyZW4/Lmxlbmd0aCB8fCAxO1xuICAgIH1cbiAgICBjb25zdCBzdGFydENvbCA9IGNvbHVtbnNbc3RhcnRDb2xJbmRleF07XG4gICAgaWYgKHN0YXJ0Q29sPy5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICBzdGFydEZsYXR0ZW5lZEluZGV4ICs9IE1hdGgubWluKHN0YXJ0U3ViQ29sSW5kZXgsIHN0YXJ0Q29sLmNoaWxkcmVuLmxlbmd0aCAtIDEpO1xuICAgIH1cblxuICAgIHJvd3MuZm9yRWFjaCgocm93VmFsdWVzLCByT2Zmc2V0KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXRSb3dJbmRleCA9IHN0YXJ0Um93SW5kZXggKyByT2Zmc2V0O1xuICAgICAgY29uc3Qgcm93ID0gZGF0YVNldC5maW5kKHIgPT4gcj8uX192aXJ0dWFsSW5kZXggPT09IHRhcmdldFJvd0luZGV4KTtcbiAgICAgIGlmICghcm93KSByZXR1cm47XG5cbiAgICAgIHJvd1ZhbHVlcy5mb3JFYWNoKCh2YWx1ZSwgY09mZnNldCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRJbmRleCA9IHN0YXJ0RmxhdHRlbmVkSW5kZXggKyBjT2Zmc2V0O1xuICAgICAgICBpZiAodGFyZ2V0SW5kZXggPCAwIHx8IHRhcmdldEluZGV4ID49IGZsYXR0ZW5lZENvbHVtbnMubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0Q29sdW1uID0gZmxhdHRlbmVkQ29sdW1uc1t0YXJnZXRJbmRleF07XG4gICAgICAgIHRoaXMuc2V0TmVzdGVkVmFsdWUocm93LCB0YXJnZXRDb2x1bW4sIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMudXBkYXRlUm93cztcbiAgfVxuXG5cbiAgc2V0TmVzdGVkVmFsdWUob2JqOiBhbnksIGNvbHVtbjogYW55LCBvcHRpb246IGFueSwgY2FsbGVkRnJvbUlucHV0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICBkZWJ1Z2dlclxuICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2RhdGUnIHx8IGNvbHVtbi50eXBlID09PSAnaW1hZ2UnKSByZXR1cm47XG4gICAgY29uc3QgcGF0aCA9IGNvbHVtbi5maWVsZDtcbiAgICBpZiAoIXBhdGgpIHJldHVybjtcbiAgICBjb25zdCBrZXlzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGxhc3RLZXkgPSBrZXlzLnBvcCgpO1xuICAgIGNvbnN0IHBhcmVudCA9IGtleXMucmVkdWNlKChhY2M6IGFueSwga2V5OiBzdHJpbmcpID0+IChhY2Nba2V5XSA/Pz0ge30pLCBvYmopO1xuICAgIGlmIChwYXJlbnQgJiYgbGFzdEtleSkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBwYXJlbnRbbGFzdEtleV0gPSB7XG4gICAgICAgICAgaWQ6IG9wdGlvbi5pZCA/PyAxLFxuICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUgPz8gb3B0aW9uLFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyZW50W2xhc3RLZXldID0gb3B0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBzZW5kT2JqID0ge1xuICAgICAgZGF0YTogeyAuLi5vYmogfSxcbiAgICAgIGV2ZW50VHlwZTogJ29uQ2VsbEVkaXQnLFxuICAgIH07XG4gICAgdGhpcy51cGRhdGVSb3dzLnB1c2gob2JqKTtcbiAgfVxuXG5cbiAgY3V0U2VsZWN0ZWRTZWxlY3RlZERhdGEoXG4gICAgZGF0YVNldDogYW55W10sXG4gICAgcm93U2VsZWN0ZWRJbmRleGVzOiBTZXQ8bnVtYmVyPixcbiAgICBzZWxlY3RlZENlbGxzOiBhbnlbXSxcbiAgICBjb2x1bW5zOiBhbnlbXSxcbiAgICBzZXROZXN0ZWRWYWx1ZTogKG9iajogYW55LCBjb2x1bW46IGFueSwgdmFsdWU6IGFueSkgPT4gdm9pZFxuICApOiBhbnkge1xuICAgIGxldCB1cGRhdGVkRGF0YSA9IFsuLi5kYXRhU2V0XTtcbiAgICBpZiAocm93U2VsZWN0ZWRJbmRleGVzPy5zaXplKSB7XG4gICAgICBjb25zdCBpbmRleGVzID0gWy4uLnJvd1NlbGVjdGVkSW5kZXhlc107XG4gICAgICB1cGRhdGVkRGF0YSA9IHVwZGF0ZWREYXRhLmZpbHRlcihcbiAgICAgICAgKHJvdzogYW55KSA9PiAhaW5kZXhlcy5pbmNsdWRlcyhyb3cuX192aXJ0dWFsSW5kZXgpXG4gICAgICApO1xuICAgICAgLy8gcm93U2VsZWN0ZWRJbmRleGVzLmNsZWFyKCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHNlbGVjdGVkQ2VsbHM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy51cGRhdGVSb3dzID0gW107XG4gICAgICBmb3IgKGNvbnN0IGNlbGwgb2Ygc2VsZWN0ZWRDZWxscykge1xuICAgICAgICBjb25zdCByb3cgPSB1cGRhdGVkRGF0YS5maW5kKHIgPT4gci5fX3ZpcnR1YWxJbmRleCA9PT0gY2VsbC5yb3dJbmRleCk7XG4gICAgICAgIGlmICghcm93KSBjb250aW51ZTtcbiAgICAgICAgbGV0IGNvbCA9IGNvbHVtbnNbY2VsbC5jb2xJbmRleF07XG4gICAgICAgIGlmIChjb2w/LmNoaWxkcmVuICYmIGNvbC5jaGlsZHJlbltjZWxsLnN1YkNvbEluZGV4XSkge1xuICAgICAgICAgIGNvbCA9IGNvbC5jaGlsZHJlbltjZWxsLnN1YkNvbEluZGV4XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldE5lc3RlZFZhbHVlKHJvdywgY29sLCAnJyk7XG4gICAgICB9XG4gICAgICAvLyBzZWxlY3RlZENlbGxzLmxlbmd0aCA9IDA7XG4gICAgfVxuICAgIHJldHVybiB7dXBkYXRlZERhdGE6IHVwZGF0ZWREYXRhLCB1cGRhdGVkUm93czogdGhpcy51cGRhdGVSb3dzfTtcbiAgfVxuXG5cbiAgY3V0V2l0aEFuaW1hdGlvbihcbiAgICBzZWxlY3RlZERhdGE6IGFueVtdW10sXG4gICAgc2VsZWN0b3IgPSAnLnNlbGVjdGVkLWNlbGwsIC5hY3RpdmUtY2VsbCwgLnJvdy1zZWxlY3RlZCdcbiAgKTogdm9pZCB7XG4gICAgaWYgKCFzZWxlY3RlZERhdGEgfHwgc2VsZWN0ZWREYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgY29uc3QgdGV4dFRvQ29weSA9IHNlbGVjdGVkRGF0YVxuICAgICAgLm1hcChyb3cgPT4gcm93Lm1hcChjZWxsID0+IChjZWxsID8/ICcnKS50b1N0cmluZygpKS5qb2luKCdcXHQnKSlcbiAgICAgIC5qb2luKCdcXG4nKTtcblxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHRUb0NvcHkpLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpO1xuXG4gICAgLy8gQXBwbHkgcmVkIGN1dCBhbmltYXRpb25cbiAgICBjb25zdCBzZWxlY3RlZEVscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuICAgIHNlbGVjdGVkRWxzLmZvckVhY2goZWwgPT4gZWwuY2xhc3NMaXN0LmFkZCgnY3V0LWZsYXNoLWJnJykpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2VsZWN0ZWRFbHMuZm9yRWFjaChlbCA9PiBlbC5jbGFzc0xpc3QucmVtb3ZlKCdjdXQtZmxhc2gtYmcnKSk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuXG59XG4iXX0=
|
|
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
140
140
|
providedIn: 'root',
|
|
141
141
|
}]
|
|
142
142
|
}] });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY29sdW1ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXMtdGltZS1zaGVldC9zcmMvbGliL3NlcnZpY2VzL3NwbGl0LWNvbHVtbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLGNBQWMsQ0FBQyxPQUFjLEVBQUUsY0FBc0I7UUFDbkQsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBVSxFQUFFLENBQUM7UUFFeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sWUFBWSxHQUFVLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxjQUFjLEdBQVUsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLGFBQWEsR0FBVSxFQUFFLENBQUM7Z0JBRWhDLEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssS0FBSzt3QkFBRSxTQUFTO29CQUV6QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO29CQUNsRCxNQUFNLGVBQWUsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUU3QyxJQUFJLE1BQU0sS0FBSyxNQUFNO3dCQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7eUJBQ3JELElBQUksTUFBTSxLQUFLLE9BQU87d0JBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzs7d0JBQzVELGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzVDLENBQUM7Z0JBRUQsSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRixDQUFDO2dCQUNELElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTt3QkFDbEIsUUFBUSxFQUFFLGNBQWM7d0JBQ3hCLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxHQUFHO3FCQUN0QixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDekIsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDVCxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07d0JBQ2xCLFFBQVEsRUFBRSxhQUFhO3dCQUN2QixFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsR0FBRztxQkFDdEIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7Z0JBQ2xDLElBQUksTUFBTSxLQUFLLE1BQU07b0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDakMsSUFBSSxNQUFNLEtBQUssT0FBTztvQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOztvQkFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBYztRQUM1QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzFCLDhCQUE4QjtZQUM5Qix3Q0FBd0M7WUFDeEMsc0VBQXNFO1lBQ3RFLDJCQUEyQjtZQUMzQixzQ0FBc0M7WUFDdEMsNkJBQTZCO1lBQzdCLDZCQUE2QjtZQUM3Qix1Q0FBdUM7WUFDdkMsOEJBQThCO1lBQzlCLG9CQUFvQjtZQUNwQixXQUFXO1lBQ1gsUUFBUTtZQUNSLE1BQU07WUFDTixJQUFJO1lBQ0osOERBQThEO1lBQzlELGtCQUFrQjtZQUNsQixrQ0FBa0M7WUFDbEMseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixtQ0FBbUM7WUFDbkMsMEJBQTBCO1lBQzFCLGdCQUFnQjtZQUNoQixPQUFPO1lBQ1AsSUFBSTtRQUNOLENBQUM7UUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFQSxtQkFBbUIsQ0FBQyxPQUFjLEVBQUUsY0FBc0I7UUFDM0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTTtZQUFFLE9BQU8sT0FBTyxDQUFDO1FBRTVDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxJQUFJLFlBQVksR0FBRyxFQUFFO1lBQUUsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV6QyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVcsRUFBUyxFQUFFLENBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNmLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtvQkFDbEQscUNBQXFDO29CQUNyQyw2QkFBNkI7b0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQ2pCLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQzs0QkFDL0IsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQzt3QkFDbEMsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUM7d0JBQzNDLENBQUM7b0JBQ0gsQ0FBQztvQkFDRCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUMzQyxDQUFDO1lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQ2hDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUdTLHFCQUFxQixDQUFDLE9BQWM7UUFDMUMsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBRXpCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7WUFDMUIsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDekMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUNuQyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztZQUNsQyxDQUFDO2lCQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBN0lVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BsaXRDb2x1bW5zU2VydmljZSB7XHJcbiAgcHJlcGFyZUNvbHVtbnMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnkge1xyXG4gICAgY29uc3QgbGVmdDogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IGNlbnRlcjogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IHJpZ2h0OiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcclxuICAgICAgaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgbGVmdENoaWxkcmVuOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IGNlbnRlckNoaWxkcmVuOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHJpZ2h0Q2hpbGRyZW46IGFueVtdID0gW107XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY29sLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgICBpZiAoY2hpbGQuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAgIGNvbnN0IHBpbm5lZCA9IGNoaWxkLnBpbm5lZCA/PyBjb2wucGlubmVkID8/IG51bGw7XHJcbiAgICAgICAgICBjb25zdCBjaGlsZFdpdGhQaW5uZWQgPSB7IC4uLmNoaWxkLCBwaW5uZWQgfTtcclxuXHJcbiAgICAgICAgICBpZiAocGlubmVkID09PSAnbGVmdCcpIGxlZnRDaGlsZHJlbi5wdXNoKGNoaWxkV2l0aFBpbm5lZCk7XHJcbiAgICAgICAgICBlbHNlIGlmIChwaW5uZWQgPT09ICdyaWdodCcpIHJpZ2h0Q2hpbGRyZW4ucHVzaChjaGlsZFdpdGhQaW5uZWQpO1xyXG4gICAgICAgICAgZWxzZSBjZW50ZXJDaGlsZHJlbi5wdXNoKGNoaWxkV2l0aFBpbm5lZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobGVmdENoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgbGVmdC5wdXNoKHsgaGVhZGVyOiBjb2wuaGVhZGVyLCBjaGlsZHJlbjogbGVmdENoaWxkcmVuLCBpZDogY29sPy5pZCB8fCBjb2w/Ll9pZCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNlbnRlckNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgY2VudGVyLnB1c2goe1xyXG4gICAgICAgICAgICBoZWFkZXI6IGNvbC5oZWFkZXIsXHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjZW50ZXJDaGlsZHJlbixcclxuICAgICAgICAgICAgaWQ6IGNvbC5pZCB8fCBjb2wuX2lkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChyaWdodENoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgcmlnaHQucHVzaCh7XHJcbiAgICAgICAgICAgIGhlYWRlcjogY29sLmhlYWRlcixcclxuICAgICAgICAgICAgY2hpbGRyZW46IHJpZ2h0Q2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGlkOiBjb2wuaWQgfHwgY29sLl9pZCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChjb2wuaXNfdmlzaWJsZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICBjb25zdCBwaW5uZWQgPSBjb2wucGlubmVkID8/IG51bGw7XHJcbiAgICAgICAgaWYgKHBpbm5lZCA9PT0gJ2xlZnQnKSBsZWZ0LnB1c2goY29sKTtcclxuICAgICAgICBlbHNlIGlmIChwaW5uZWQgPT09ICdyaWdodCcpIHJpZ2h0LnB1c2goY29sKTtcclxuICAgICAgICBlbHNlIGNlbnRlci5wdXNoKGNvbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyBsZWZ0LCBjZW50ZXIsIHJpZ2h0IH07XHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5zUXVlcnkoY29sdW1uczogYW55W10pIHtcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcclxuICAgICAgLy8gaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb2wuY2hpbGRyZW4pIHtcclxuICAgICAgLy8gICAgIGlmICghY2hpbGQ/LnF1ZXJ5Py5maXJ0X3ZhbHVlICYmICFjaGlsZD8ucXVlcnk/Ll9pZHM/Lmxlbmd0aCkge1xyXG4gICAgICAvLyAgICAgICBjaGlsZFsncXVlcnknXSA9IHtcclxuICAgICAgLy8gICAgICAgICBmaXJzdF9jb25kaXRpb246ICdjb250YWluJyxcclxuICAgICAgLy8gICAgICAgICBmaXJzdF92YWx1ZTogbnVsbCxcclxuICAgICAgLy8gICAgICAgICBjb25kaXRpb246ICdub25lJyxcclxuICAgICAgLy8gICAgICAgICBzZWNvbmRfY29uZGl0aW9uOiAnY29udGFpbicsXHJcbiAgICAgIC8vICAgICAgICAgc2Vjb25kX3ZhbHVlOiBudWxsLFxyXG4gICAgICAvLyAgICAgICAgIF9pZHM6IFtdLFxyXG4gICAgICAvLyAgICAgICB9O1xyXG4gICAgICAvLyAgICAgfVxyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG4gICAgICAvLyBpZiAoIWNvbD8ucXVlcnk/LmZpcnRfdmFsdWUgJiYgIWNvbD8ucXVlcnk/Ll9pZHM/Lmxlbmd0aCkge1xyXG4gICAgICAvLyAgIGNvbC5xdWVyeSA9IHtcclxuICAgICAgLy8gICAgIGZpcnN0X2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxyXG4gICAgICAvLyAgICAgZmlyc3RfdmFsdWU6IG51bGwsXHJcbiAgICAgIC8vICAgICBjb25kaXRpb246ICdub25lJyxcclxuICAgICAgLy8gICAgIHNlY29uZF9jb25kaXRpb246ICdjb250YWluJyxcclxuICAgICAgLy8gICAgIHNlY29uZF92YWx1ZTogbnVsbCxcclxuICAgICAgLy8gICAgIF9pZHM6IFtdLFxyXG4gICAgICAvLyAgIH07XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLmxvZygnVXBkYXRlZCBDb2x1bW5zOiAnLCBjb2x1bW5zKTtcclxuXHJcbiAgICByZXR1cm4gY29sdW1ucztcclxuICB9XHJcblxyXG4gICBhc3NpZ25EZWZhdWx0V2lkdGhzKGNvbHVtbnM6IGFueVtdLCBjb250YWluZXJXaWR0aDogbnVtYmVyKTogYW55W10ge1xyXG4gIGNvbnN0IHZpc2libGVMZWFmQ29scyA9IHRoaXMuZ2V0VmlzaWJsZUxlYWZDb2x1bW5zKGNvbHVtbnMpO1xyXG5cclxuICBpZiAoIXZpc2libGVMZWFmQ29scy5sZW5ndGgpIHJldHVybiBjb2x1bW5zO1xyXG5cclxuICBsZXQgZGVmYXVsdFdpZHRoID0gTWF0aC5mbG9vcihjb250YWluZXJXaWR0aCAvIHZpc2libGVMZWFmQ29scy5sZW5ndGgpO1xyXG4gIGlmIChkZWZhdWx0V2lkdGggPCA4MCkgZGVmYXVsdFdpZHRoID0gODA7XHJcblxyXG4gIGNvbnN0IGNsb25lQ29sdW1ucyA9IChjb2xzOiBhbnlbXSk6IGFueVtdID0+XHJcbiAgICBjb2xzLm1hcCgoY29sKSA9PiB7XHJcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IG5ld0NoaWxkcmVuID0gY29sLmNoaWxkcmVuLm1hcCgoY2hpbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgLy8gSWYgdmlzaWJsZSDihpIgZHluYW1pYyBkZWZhdWx0IHdpZHRoXHJcbiAgICAgICAgICAvLyBJZiBpbnZpc2libGUg4oaSIGZpeGVkIDE1MHB4XHJcbiAgICAgICAgICBpZiAoIWNoaWxkLndpZHRoKSB7XHJcbiAgICAgICAgICAgIGlmIChjaGlsZC5pc192aXNpYmxlID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB7IC4uLmNoaWxkLCB3aWR0aDogMTUwIH07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uY2hpbGQsIHdpZHRoOiBkZWZhdWx0V2lkdGggfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHsgLi4uY2hpbGQgfTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHsgLi4uY29sLCBjaGlsZHJlbjogbmV3Q2hpbGRyZW4gfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFjb2wud2lkdGgpIHtcclxuICAgICAgICBpZiAoY29sLmlzX3Zpc2libGUgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICByZXR1cm4geyAuLi5jb2wsIHdpZHRoOiAxNTAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHsgLi4uY29sLCB3aWR0aDogZGVmYXVsdFdpZHRoIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4geyAuLi5jb2wgfTtcclxuICAgIH0pO1xyXG5cclxuICByZXR1cm4gY2xvbmVDb2x1bW5zKGNvbHVtbnMpO1xyXG59XHJcblxyXG5cclxuICBwcml2YXRlIGdldFZpc2libGVMZWFmQ29sdW1ucyhjb2x1bW5zOiBhbnlbXSk6IGFueVtdIHtcclxuICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IHZpc2libGVDaGlsZHJlbiA9IGNvbC5jaGlsZHJlbi5maWx0ZXIoXHJcbiAgICAgICAgICAoYzogYW55KSA9PiBjLmlzX3Zpc2libGUgIT09IGZhbHNlXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXN1bHQucHVzaCguLi52aXNpYmxlQ2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKGNvbC5pc192aXNpYmxlICE9PSBmYWxzZSkge1xyXG4gICAgICAgIHJlc3VsdC5wdXNoKGNvbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY29sdW1ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXMtdGltZS1zaGVldC9zcmMvbGliL3NlcnZpY2VzL3NwbGl0LWNvbHVtbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLGNBQWMsQ0FBQyxPQUFjLEVBQUUsY0FBc0I7UUFDbkQsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBVSxFQUFFLENBQUM7UUFFeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sWUFBWSxHQUFVLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxjQUFjLEdBQVUsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLGFBQWEsR0FBVSxFQUFFLENBQUM7Z0JBRWhDLEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssS0FBSzt3QkFBRSxTQUFTO29CQUV6QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO29CQUNsRCxNQUFNLGVBQWUsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUU3QyxJQUFJLE1BQU0sS0FBSyxNQUFNO3dCQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7eUJBQ3JELElBQUksTUFBTSxLQUFLLE9BQU87d0JBQUUsYUFBYSxDQUFDLElBQUksQ0FB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QUFxQixDQUFDLE9BQWM7UUFDMUMsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBRXpCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7WUFDMUIsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDekMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUNuQyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztZQUNsQyxDQUFDO2lCQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBN0lVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTcGxpdENvbHVtbnNTZXJ2aWNlIHtcbiAgcHJlcGFyZUNvbHVtbnMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnkge1xuICAgIGNvbnN0IGxlZnQ6IGFueVtdID0gW107XG4gICAgY29uc3QgY2VudGVyOiBhbnlbXSA9IFtdO1xuICAgIGNvbnN0IHJpZ2h0OiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xuICAgICAgaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGxlZnRDaGlsZHJlbjogYW55W10gPSBbXTtcbiAgICAgICAgY29uc3QgY2VudGVyQ2hpbGRyZW46IGFueVtdID0gW107XG4gICAgICAgIGNvbnN0IHJpZ2h0Q2hpbGRyZW46IGFueVtdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb2wuY2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoY2hpbGQuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgY29uc3QgcGlubmVkID0gY2hpbGQucGlubmVkID8/IGNvbC5waW5uZWQgPz8gbnVsbDtcbiAgICAgICAgICBjb25zdCBjaGlsZFdpdGhQaW5uZWQgPSB7IC4uLmNoaWxkLCBwaW5uZWQgfTtcblxuICAgICAgICAgIGlmIChwaW5uZWQgPT09ICdsZWZ0JykgbGVmdENoaWxkcmVuLnB1c2goY2hpbGRXaXRoUGlubmVkKTtcbiAgICAgICAgICBlbHNlIGlmIChwaW5uZWQgPT09ICdyaWdodCcpIHJpZ2h0Q2hpbGRyZW4ucHVzaChjaGlsZFdpdGhQaW5uZWQpO1xuICAgICAgICAgIGVsc2UgY2VudGVyQ2hpbGRyZW4ucHVzaChjaGlsZFdpdGhQaW5uZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxlZnRDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICBsZWZ0LnB1c2goeyBoZWFkZXI6IGNvbC5oZWFkZXIsIGNoaWxkcmVuOiBsZWZ0Q2hpbGRyZW4sIGlkOiBjb2w/LmlkIHx8IGNvbD8uX2lkIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjZW50ZXJDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICBjZW50ZXIucHVzaCh7XG4gICAgICAgICAgICBoZWFkZXI6IGNvbC5oZWFkZXIsXG4gICAgICAgICAgICBjaGlsZHJlbjogY2VudGVyQ2hpbGRyZW4sXG4gICAgICAgICAgICBpZDogY29sLmlkIHx8IGNvbC5faWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJpZ2h0Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgcmlnaHQucHVzaCh7XG4gICAgICAgICAgICBoZWFkZXI6IGNvbC5oZWFkZXIsXG4gICAgICAgICAgICBjaGlsZHJlbjogcmlnaHRDaGlsZHJlbixcbiAgICAgICAgICAgIGlkOiBjb2wuaWQgfHwgY29sLl9pZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjb2wuaXNfdmlzaWJsZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgcGlubmVkID0gY29sLnBpbm5lZCA/PyBudWxsO1xuICAgICAgICBpZiAocGlubmVkID09PSAnbGVmdCcpIGxlZnQucHVzaChjb2wpO1xuICAgICAgICBlbHNlIGlmIChwaW5uZWQgPT09ICdyaWdodCcpIHJpZ2h0LnB1c2goY29sKTtcbiAgICAgICAgZWxzZSBjZW50ZXIucHVzaChjb2wpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGxlZnQsIGNlbnRlciwgcmlnaHQgfTtcbiAgfVxuXG4gIHNldENvbHVtbnNRdWVyeShjb2x1bW5zOiBhbnlbXSkge1xuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcbiAgICAgIC8vIGlmIChjb2wuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgLy8gICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNvbC5jaGlsZHJlbikge1xuICAgICAgLy8gICAgIGlmICghY2hpbGQ/LnF1ZXJ5Py5maXJ0X3ZhbHVlICYmICFjaGlsZD8ucXVlcnk/Ll9pZHM/Lmxlbmd0aCkge1xuICAgICAgLy8gICAgICAgY2hpbGRbJ3F1ZXJ5J10gPSB7XG4gICAgICAvLyAgICAgICAgIGZpcnN0X2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxuICAgICAgLy8gICAgICAgICBmaXJzdF92YWx1ZTogbnVsbCxcbiAgICAgIC8vICAgICAgICAgY29uZGl0aW9uOiAnbm9uZScsXG4gICAgICAvLyAgICAgICAgIHNlY29uZF9jb25kaXRpb246ICdjb250YWluJyxcbiAgICAgIC8vICAgICAgICAgc2Vjb25kX3ZhbHVlOiBudWxsLFxuICAgICAgLy8gICAgICAgICBfaWRzOiBbXSxcbiAgICAgIC8vICAgICAgIH07XG4gICAgICAvLyAgICAgfVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgICAvLyBpZiAoIWNvbD8ucXVlcnk/LmZpcnRfdmFsdWUgJiYgIWNvbD8ucXVlcnk/Ll9pZHM/Lmxlbmd0aCkge1xuICAgICAgLy8gICBjb2wucXVlcnkgPSB7XG4gICAgICAvLyAgICAgZmlyc3RfY29uZGl0aW9uOiAnY29udGFpbicsXG4gICAgICAvLyAgICAgZmlyc3RfdmFsdWU6IG51bGwsXG4gICAgICAvLyAgICAgY29uZGl0aW9uOiAnbm9uZScsXG4gICAgICAvLyAgICAgc2Vjb25kX2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxuICAgICAgLy8gICAgIHNlY29uZF92YWx1ZTogbnVsbCxcbiAgICAgIC8vICAgICBfaWRzOiBbXSxcbiAgICAgIC8vICAgfTtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZygnVXBkYXRlZCBDb2x1bW5zOiAnLCBjb2x1bW5zKTtcblxuICAgIHJldHVybiBjb2x1bW5zO1xuICB9XG5cbiAgIGFzc2lnbkRlZmF1bHRXaWR0aHMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnlbXSB7XG4gIGNvbnN0IHZpc2libGVMZWFmQ29scyA9IHRoaXMuZ2V0VmlzaWJsZUxlYWZDb2x1bW5zKGNvbHVtbnMpO1xuXG4gIGlmICghdmlzaWJsZUxlYWZDb2xzLmxlbmd0aCkgcmV0dXJuIGNvbHVtbnM7XG5cbiAgbGV0IGRlZmF1bHRXaWR0aCA9IE1hdGguZmxvb3IoY29udGFpbmVyV2lkdGggLyB2aXNpYmxlTGVhZkNvbHMubGVuZ3RoKTtcbiAgaWYgKGRlZmF1bHRXaWR0aCA8IDgwKSBkZWZhdWx0V2lkdGggPSA4MDtcblxuICBjb25zdCBjbG9uZUNvbHVtbnMgPSAoY29sczogYW55W10pOiBhbnlbXSA9PlxuICAgIGNvbHMubWFwKChjb2wpID0+IHtcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBuZXdDaGlsZHJlbiA9IGNvbC5jaGlsZHJlbi5tYXAoKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyBJZiB2aXNpYmxlIOKGkiBkeW5hbWljIGRlZmF1bHQgd2lkdGhcbiAgICAgICAgICAvLyBJZiBpbnZpc2libGUg4oaSIGZpeGVkIDE1MHB4XG4gICAgICAgICAgaWYgKCFjaGlsZC53aWR0aCkge1xuICAgICAgICAgICAgaWYgKGNoaWxkLmlzX3Zpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7IC4uLmNoaWxkLCB3aWR0aDogMTUwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4geyAuLi5jaGlsZCwgd2lkdGg6IGRlZmF1bHRXaWR0aCB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4geyAuLi5jaGlsZCB9O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4geyAuLi5jb2wsIGNoaWxkcmVuOiBuZXdDaGlsZHJlbiB9O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWNvbC53aWR0aCkge1xuICAgICAgICBpZiAoY29sLmlzX3Zpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uY29sLCB3aWR0aDogMTUwIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uY29sLCB3aWR0aDogZGVmYXVsdFdpZHRoIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgLi4uY29sIH07XG4gICAgfSk7XG5cbiAgcmV0dXJuIGNsb25lQ29sdW1ucyhjb2x1bW5zKTtcbn1cblxuXG4gIHByaXZhdGUgZ2V0VmlzaWJsZUxlYWZDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogYW55W10ge1xuICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCB2aXNpYmxlQ2hpbGRyZW4gPSBjb2wuY2hpbGRyZW4uZmlsdGVyKFxuICAgICAgICAgIChjOiBhbnkpID0+IGMuaXNfdmlzaWJsZSAhPT0gZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnB1c2goLi4udmlzaWJsZUNoaWxkcmVuKTtcbiAgICAgIH0gZWxzZSBpZiAoY29sLmlzX3Zpc2libGUgIT09IGZhbHNlKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNvbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -5,4 +5,4 @@ export * from './lib/ms-time-sheet.service';
|
|
|
5
5
|
export * from './lib/ms-time-sheet.component';
|
|
6
6
|
export * from './lib/services/common.service';
|
|
7
7
|
export * from './lib/pipes/timezone-format.pipe';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21zLXRpbWUtc2hlZXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtcy10aW1lLXNoZWV0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbXMtdGltZS1zaGVldC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21zLXRpbWUtc2hlZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3RpbWV6b25lLWZvcm1hdC5waXBlJztcbiJdfQ==
|