ecabs-components 1.0.70 → 1.0.73
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/esm2022/lib/base/directives/date-mask.directive.mjs +22 -6
- package/esm2022/lib/base/directives/time-mask.directive.mjs +61 -0
- package/esm2022/lib/base/directives/time-mask.directive.module.mjs +18 -0
- package/esm2022/lib/base/models/select.models.mjs +2 -0
- package/esm2022/lib/base/utils/object-utils.mjs +27 -0
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +2 -2
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +4 -4
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +9 -10
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +3 -3
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +2 -2
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +2 -2
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +1 -1
- package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +1 -1
- package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +6 -2
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +42 -83
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +17 -4
- package/esm2022/public-api.mjs +5 -2
- package/fesm2022/ecabs-components.mjs +148 -121
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/directives/date-mask.directive.d.ts +3 -0
- package/lib/base/directives/time-mask.directive.d.ts +15 -0
- package/lib/base/directives/time-mask.directive.module.d.ts +8 -0
- package/lib/base/models/select.models.d.ts +5 -0
- package/lib/base/utils/object-utils.d.ts +6 -0
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.d.ts +14 -14
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +2 -5
- package/lib/ecabs-select/ecabs-select.component.d.ts +2 -4
- package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +7 -4
- package/lib/ecabs-timepicker/ecabs-timepicker.module.d.ts +3 -1
- package/package.json +1 -1
- package/public-api.d.ts +4 -1
- package/src/assets/styles/tailwind/index.scss +1 -1
- package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +0 -62
- package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +0 -15
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
68
68
|
}], changed: [{
|
|
69
69
|
type: Output
|
|
70
70
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcmFkaW8tYnV0dG9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0L2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1yYWRpby1idXR0b24tbGlzdC9lY2Ficy1yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBZXhELE1BQU0sT0FBTyw2QkFDWCxTQUFRLG9CQUFvQjtJQXNCUjtJQW5CWCxLQUFLLENBQWlCO0lBQ3RCLFNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBRW5ELE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRTVDLEdBQUcsQ0FBUztJQUVaLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsR0FBRztRQUNYLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtZQUN6QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxZQUFvQixRQUFrQjtRQUNwQyxLQUFLLEVBQUUsQ0FBQztRQURVLGFBQVEsR0FBUixRQUFRLENBQVU7SUFFdEMsQ0FBQztJQUVELFFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDekIsT0FBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUV4QixlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBNkIsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO3dHQS9DVSw2QkFBNkI7NEZBQTdCLDZCQUE2Qix1SUFSN0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsNkJBQTZCO2dCQUMxQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDM0JILDhsQkFtQkE7OzRGRFVhLDZCQUE2QjtrQkFaekMsU0FBUzsrQkFDRSx5QkFBeUIsYUFHeEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVywrQkFBK0I7NEJBQzFDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOytGQU1RLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIE5nQ29udHJvbCxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4uL2Jhc2UvbW9kZWxzL3NlbGVjdC5tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1yYWRpby1idXR0b24tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnZWNhYnMtcmFkaW8tYnV0dG9uLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1JhZGlvQnV0dG9uTGlzdENvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1JhZGlvQnV0dG9uTGlzdENvbXBvbmVudFxyXG4gIGV4dGVuZHMgRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XHJcbntcclxuICBASW5wdXQoKSBpdGVtczogU2VsZWN0T3B0aW9uW107XHJcbiAgQElucHV0KCkgZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xyXG5cclxuICBAT3V0cHV0KCkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICB2YWw6IHN0cmluZztcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWwgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2godmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPG1hdC1yYWRpby1ncm91cFxyXG4gICAgW25nQ2xhc3NdPVwieyAnZmxleCBmbGV4LWNvbCBteS0xJzogZGlyZWN0aW9uID09PSAndmVydGljYWwnIH1cIlxyXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgKGNoYW5nZSk9XCJjaGFuZ2VkLmVtaXQoJGV2ZW50LnZhbHVlKVwiXHJcbiAgPlxyXG4gICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7ICdteS0xJzogZGlyZWN0aW9uID09PSAndmVydGljYWwnIH1cIlxyXG4gICAgICBjbGFzcz1cIm1yLTRcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXHJcbiAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCJcclxuICAgID5cclxuICAgICAge3sgaXRlbS5sYWJlbCB9fVxyXG4gICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
|
|
@@ -343,4 +343,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
343
343
|
type: ViewChild,
|
|
344
344
|
args: [MatSelectSearchComponent]
|
|
345
345
|
}] } });
|
|
346
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixHQUFHLEVBQ0gsWUFBWSxHQUNiLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFheEQsTUFBTSxPQUFPLG9CQUNYLFNBQVEsb0JBQW9CO0lBb0VUO0lBQ0E7SUFsRVYsS0FBSyxDQUFtQztJQUN4QyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQzdCLHNCQUFzQixHQUFHLFFBQVEsQ0FBQztJQUNsQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQiwrQkFBK0IsR0FBRyxJQUFJLENBQUM7SUFDdkMsY0FBYyxHQUFRLENBQUMsQ0FBQztJQUN4QixtQkFBbUIsR0FBRyxtQkFB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UUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csK0JBQStCO3NCQUF2QyxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRW1CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFFeEIsd0JBQXdCO3NCQUR2QixTQUFTO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgTmdDb250cm9sLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdFNlYXJjaENvbXBvbmVudCB9IGZyb20gJ25neC1tYXQtc2VsZWN0LXNlYXJjaCc7XHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIGNvbWJpbmVMYXRlc3QsXHJcbiAgZGVib3VuY2VUaW1lLFxyXG4gIG1hcCxcclxuICBTdWJzY3JpcHRpb24sXHJcbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNTZWxlY3RDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNTZWxlY3RDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XHJcbntcclxuICBASW5wdXQoKSBpdGVtcyE6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W107XHJcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSB1c2VOb25lT3B0aW9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXNlT25seURpc2FibGVkQ2xhc3MgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hGaWVsZFBsYWNlaG9sZGVyID0gJ1NlYXJjaCc7XHJcbiAgQElucHV0KCkgdXNlU2VhcmNoT3B0aW9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXNlU2VsZWN0QWxsT3B0aW9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0QWxsT3B0aW9uQWZ0ZXJDaG9zZW5BbGxJdGVtcyA9IHRydWU7XHJcbiAgQElucHV0KCkgc2VsZWN0QWxsVmFsdWU6IGFueSA9IDA7XHJcbiAgQElucHV0KCkgbm9FbnRyaWVzRm91bmRMYWJlbCA9ICdObyBtYXRjaGluZyBmb3VuZCc7XHJcbiAgQElucHV0KCkgbm9uZUxhYmVsID0gJ05vbmUnO1xyXG4gIEBJbnB1dCgpIGFsbExhYmVsID0gJ0FsbCc7XHJcbiAgQElucHV0KCkgb3RoZXJMYWJlbCA9ICdPdGhlcic7XHJcbiAgQElucHV0KCkgb3RoZXJzTGFiZWwgPSAnT3RoZXJzJztcclxuICBAT3V0cHV0KCkgdXBkYXRlRmlsdGVySXRlbXM6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2FsbFNlbGVjdGVkJykgYWxsU2VsZWN0ZWQhOiBNYXRPcHRpb247XHJcbiAgQFZpZXdDaGlsZChNYXRTZWxlY3RTZWFyY2hDb21wb25lbnQpXHJcbiAgbWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50ITogTWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50O1xyXG5cclxuICB2YWwhOiBhbnk7XHJcbiAgZmlsdGVyZWRJdGVtcyQ6IEJlaGF2aW9yU3ViamVjdDx7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdPiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W10+KFtdKTtcclxuICBpdGVtRmlsdGVyQ3RybDogVW50eXBlZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xyXG4gIGlzQ2xlYXJBbGwgPSBmYWxzZTtcclxuICBzaG93RmlsdGVyZWRBbGxPcHRpb24gPSB0cnVlO1xyXG4gIHNlbGVjdGVkSXRlbXM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W10gPSBbXTtcclxuICBub3RTZWxlY3RlZEl0ZW1zOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBnZXQgdHJpZ2dlcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZ2V0QWxsU2VsZWN0ZWRDaGVja2VkKCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYWxsTGFiZWw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaXJzdENob3NlblZhbHVlID1cclxuICAgICAgdGhpcy52YWwgJiYgdGhpcy5tdWx0aXBsZVxyXG4gICAgICAgID8gdGhpcy5nZXRMYWJlbCh0aGlzLnZhbFswXSlcclxuICAgICAgICA6IHRoaXMuZ2V0TGFiZWwodGhpcy52YWwpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLm11bHRpcGxlICYmIHRoaXMudmFsdWU/Lmxlbmd0aCA+IDFcclxuICAgICAgPyBgJHtmaXJzdENob3NlblZhbHVlfSAoKyR7XHJcbiAgICAgICAgICB0aGlzLnVzZVNlbGVjdEFsbE9wdGlvbiAmJiB0aGlzLmFsbFNlbGVjdGVkPy5zZWxlY3RlZFxyXG4gICAgICAgICAgICA/IHRoaXMudmFsdWU/Lmxlbmd0aCAtIDJcclxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlPy5sZW5ndGggLSAxXHJcbiAgICAgICAgfVxyXG4gICAgICAgICAgJHt0aGlzLnZhbHVlPy5sZW5ndGggPT09IDIgPyB0aGlzLm90aGVyTGFiZWwgOiB0aGlzLm90aGVyc0xhYmVsfSlgXHJcbiAgICAgIDogZmlyc3RDaG9zZW5WYWx1ZTtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSh2YWwpIHtcclxuICAgIGlmICh0aGlzLnZhbCAhPT0gdmFsKSB7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkSXRlbXMoKTtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2godmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGl0ZW1zIH0gPSBjaGFuZ2VzO1xyXG5cclxuICAgIGlmIChpdGVtcyAmJiBpdGVtcy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJdGVtcygpO1xyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMubXVsdGlwbGUgJiZcclxuICAgICAgICB0aGlzLnVzZVNlbGVjdEFsbE9wdGlvbiAmJlxyXG4gICAgICAgIHRoaXMuYWxsU2VsZWN0ZWQ/LnNlbGVjdGVkXHJcbiAgICAgICkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUoXHJcbiAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAuLi50aGlzLmZpbHRlcmVkSXRlbXMkLnZhbHVlLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZSksXHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RBbGxWYWx1ZSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoXHJcbiAgICAgIE5nQ29udHJvbCxcclxuICAgICAgbnVsbCxcclxuICAgICkgYXMgTmdDb250cm9sO1xyXG5cclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1hdFNlbGVjdFNlYXJjaENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLm1hdFNlbGVjdFNlYXJjaENvbXBvbmVudC5fc2hvd05vRW50cmllc0ZvdW5kJCA9IGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICAgIHRoaXMuaXRlbUZpbHRlckN0cmwudmFsdWVDaGFuZ2VzLFxyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQsXHJcbiAgICAgIF0pLnBpcGUoXHJcbiAgICAgICAgbWFwKFxyXG4gICAgICAgICAgKFt2YWx1ZSwgaXRlbXNdKSA9PlxyXG4gICAgICAgICAgICB0aGlzLm1hdFNlbGVjdFNlYXJjaENvbXBvbmVudC5ub0VudHJpZXNGb3VuZExhYmVsICYmXHJcbiAgICAgICAgICAgIHZhbHVlICYmXHJcbiAgICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMCxcclxuICAgICAgICApLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxyXG4gICAgICB0aGlzLml0ZW1GaWx0ZXJDdHJsLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgyMDApKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVySXRlbXMoKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVySXRlbXMuZW1pdCh2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuaXNDbGVhckFsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShbXSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xlYXJBbGwgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgdG9nZ2xlQWxsU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQuc2VsZWN0ZWQpIHtcclxuICAgICAgaWYgKHRoaXMudXNlU2VhcmNoT3B0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUoW1xyXG4gICAgICAgICAgLi4udGhpcy5maWx0ZXJlZEl0ZW1zJC52YWx1ZS5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpLFxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxWYWx1ZSxcclxuICAgICAgICBdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShbXHJcbiAgICAgICAgICAuLi50aGlzLml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZSksXHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbFZhbHVlLFxyXG4gICAgICAgIF0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShbXSk7XHJcbiAgICAgIHRoaXMuaXNDbGVhckFsbCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVQZXJPbmUoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQpIHtcclxuICAgICAgICBpZiAodGhpcy5hbGxTZWxlY3RlZC5zZWxlY3RlZCkge1xyXG4gICAgICAgICAgdGhpcy5hbGxTZWxlY3RlZC5kZXNlbGVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnNldEFsbE9wdGlvbkFmdGVyQ2hvc2VuQWxsSXRlbXMgJiZcclxuICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZS5sZW5ndGggPT09IHRoaXMuaXRlbXMubGVuZ3RoXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkLnNlbGVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0NsZWFyQWxsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVOb25lKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XHJcbiAgfVxyXG5cclxuICBnZXRBbGxTZWxlY3RlZENoZWNrZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hbGxTZWxlY3RlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWxsU2VsZWN0ZWQuc2VsZWN0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbCh2YWw6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMudXNlU2VsZWN0QWxsT3B0aW9uICYmXHJcbiAgICAgIHRoaXMuYWxsU2VsZWN0ZWQ/LnNlbGVjdGVkICYmXHJcbiAgICAgIHRoaXMuaXRlbXMgJiZcclxuICAgICAgdGhpcy5pdGVtcy5sZW5ndGggPiAwXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbMF0ubGFiZWw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGl0ZW06IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9O1xyXG5cclxuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodGhpcy51c2VTZWFyY2hPcHRpb24pIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvd1xyXG4gICAgICAgICAgaXRlbSA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB2YWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XHJcbiAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB2YWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGl0ZW0gPyBpdGVtLmxhYmVsIDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWx0ZXJJdGVtcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRJdGVtcygpO1xyXG5cclxuICAgIGlmICghdGhpcy5pdGVtcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxyXG4gICAgbGV0IHNlYXJjaDogc3RyaW5nID0gdGhpcy5pdGVtRmlsdGVyQ3RybC52YWx1ZTtcclxuXHJcbiAgICBpZiAoIXNlYXJjaCB8fCBzZWFyY2ggPT09ICcnKSB7XHJcbiAgICAgIGlmICh0aGlzLnVzZVNlYXJjaE9wdGlvbiAmJiAhdGhpcy5pdGVtcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zJC5uZXh0KFsuLi50aGlzLnNlbGVjdGVkSXRlbXNdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLm5leHQodGhpcy5pdGVtcz8uc2xpY2UoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2hvd0ZpbHRlcmVkQWxsT3B0aW9uID0gdHJ1ZTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICB0aGlzLnNob3dGaWx0ZXJlZEFsbE9wdGlvbiA9XHJcbiAgICAgIHRoaXMuYWxsTGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9Mb3dlckNhc2UoKSkgfHxcclxuICAgICAgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJlxyXG4gICAgICAgIHRoaXMudmFsdWUuaW5jbHVkZXModGhpcy5zZWxlY3RBbGxWYWx1ZSkpIHx8XHJcbiAgICAgICghKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5zZWxlY3RBbGxWYWx1ZSk7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICBpZiAodGhpcy51c2VTZWFyY2hPcHRpb24pIHtcclxuICAgICAgY29uc3QgZmlsdGVyZWRJdGVtcyA9XHJcbiAgICAgICAgdGhpcy5ub3RTZWxlY3RlZEl0ZW1zPy5sZW5ndGggPiAwXHJcbiAgICAgICAgICA/IHRoaXMubm90U2VsZWN0ZWRJdGVtcy5maWx0ZXIoKGl0ZW0pID0+XHJcbiAgICAgICAgICAgICAgaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvd2VyQ2FzZSgpKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgOiBbXTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zJC5uZXh0KFsuLi50aGlzLnNlbGVjdGVkSXRlbXMsIC4uLmZpbHRlcmVkSXRlbXNdKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQubmV4dChcclxuICAgICAgICB0aGlzLml0ZW1zPy5sZW5ndGggPiAwXHJcbiAgICAgICAgICA/IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtKSA9PlxyXG4gICAgICAgICAgICAgIGl0ZW0ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9Mb3dlckNhc2UoKSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIDogW10sXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFNlbGVjdGVkSXRlbXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51c2VTZWFyY2hPcHRpb24pIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG5cclxuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICBjb25zdCBza2lwU3RlcHMgPSB0aGlzLnZhbHVlLmluY2x1ZGVzKHRoaXMuc2VsZWN0QWxsVmFsdWUpO1xyXG5cclxuICAgICAgICAgIGlmICghc2tpcFN0ZXBzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUuZm9yRWFjaCgodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJdGVtcz8uZmluZEluZGV4KFxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLnZhbHVlID09PSB2YWx1ZSxcclxuICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnB1c2godGhpcy5zZWxlY3RlZEl0ZW1zW2luZGV4XSk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtcz8uZmluZCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHNlbGVjdGVkSXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy52YWx1ZS5maW5kKFxyXG4gICAgICAgICAgICAgICAgKHZhbHVlKSA9PiBzZWxlY3RlZEl0ZW0udmFsdWUgPT09IHZhbHVlLFxyXG4gICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXHJcbiAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS52YWx1ZSA9PT0gdGhpcy52YWx1ZSxcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnB1c2godGhpcy5zZWxlY3RlZEl0ZW1zW2luZGV4XSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvd1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB0aGlzLnZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtZGVwdGhcclxuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFsuLi5zZWxlY3RlZEl0ZW1zXTtcclxuICAgICAgICB0aGlzLm5vdFNlbGVjdGVkSXRlbXMgPSB0aGlzLml0ZW1zPy5maWx0ZXIoXHJcbiAgICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleChcclxuICAgICAgICAgICAgICAoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0udmFsdWUgPT09IGl0ZW0udmFsdWUsXHJcbiAgICAgICAgICAgICkgPT09IC0xLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ub3RTZWxlY3RlZEl0ZW1zID0gdGhpcy5pdGVtcz8uc2xpY2UoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8bWF0LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogdXNlT25seURpc2FibGVkQ2xhc3MgfVwiPlxyXG4gICAgPG1hdC1zZWxlY3RcclxuICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19zZWxlY3RcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgKGNsb3NlZCk9XCJvblRvdWNoKClcIlxyXG4gICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcclxuICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXHJcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCJ0cmlnZ2VyXCJcclxuICAgICAgYXBwVG9vbHRpcElmVHJ1bmNhdGVkXHJcbiAgICAgIFtjbGFzc05hbWVUcnVuY2F0ZWRUb29sdGlwXT1cIidtYXQtc2VsZWN0LXZhbHVlJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgICAgPHNwYW4+e3sgdHJpZ2dlciB9fTwvc3Bhbj5cclxuICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwidXNlU2VhcmNoT3B0aW9uXCI+XHJcbiAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cIml0ZW1GaWx0ZXJDdHJsXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cInNlYXJjaEZpZWxkUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwibm9FbnRyaWVzRm91bmRMYWJlbFwiXHJcbiAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwidXNlTm9uZU9wdGlvblwiIChjbGljayk9XCJ0b2dnbGVOb25lKClcIj57eyBub25lTGFiZWwgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgI2FsbFNlbGVjdGVkXHJcbiAgICAgICAgKm5nSWY9XCJ1c2VTZWxlY3RBbGxPcHRpb24gJiYgc2hvd0ZpbHRlcmVkQWxsT3B0aW9uXCJcclxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlQWxsU2VsZWN0aW9uKClcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJzZWxlY3RBbGxWYWx1ZVwiXHJcbiAgICAgID5cclxuICAgICAgICB7e2FsbExhYmVsIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zJCB8IGFzeW5jXCJcclxuICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBlck9uZSgpXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtLmxhYmVsXCJcclxuICAgICAgICBhcHBUb29sdGlwSWZUcnVuY2F0ZWRcclxuICAgICAgICBbY2xhc3NOYW1lVHJ1bmNhdGVkVG9vbHRpcF09XCInbWF0LW9wdGlvbi10ZXh0J1wiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBpdGVtLmxhYmVsIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixHQUFHLEVBQ0gsWUFBWSxHQUNiLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFjeEQsTUFBTSxPQUFPLG9CQUNYLFNBQVEsb0JBQW9CO0lBb0VUO0lBQ0E7SUFsRVYsS0FBSyxDQUFrQjtJQUN2QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQzdCLHNCQUFzQixHQUFHLFFBQVEsQ0FBQztJQUNsQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQiwrQkFBK0IsR0FBRyxJQUFJLENBQUM7SUFDdkMsY0FBYyxHQUFRLENBQUMsQ0FBQztJQUN4QixtQkFBbUIsR0FBRyxtQkFB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UUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csK0JBQStCO3NCQUF2QyxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRW1CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFFeEIsd0JBQXdCO3NCQUR2QixTQUFTO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgTmdDb250cm9sLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdFNlYXJjaENvbXBvbmVudCB9IGZyb20gJ25neC1tYXQtc2VsZWN0LXNlYXJjaCc7XHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIGNvbWJpbmVMYXRlc3QsXHJcbiAgZGVib3VuY2VUaW1lLFxyXG4gIG1hcCxcclxuICBTdWJzY3JpcHRpb24sXHJcbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4uL2Jhc2UvbW9kZWxzL3NlbGVjdC5tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzU2VsZWN0Q29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgQElucHV0KCkgaXRlbXMhOiBTZWxlY3RPcHRpb25bXTtcclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHVzZU5vbmVPcHRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSB1c2VPbmx5RGlzYWJsZWRDbGFzcyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlYXJjaEZpZWxkUGxhY2Vob2xkZXIgPSAnU2VhcmNoJztcclxuICBASW5wdXQoKSB1c2VTZWFyY2hPcHRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSB1c2VTZWxlY3RBbGxPcHRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXRBbGxPcHRpb25BZnRlckNob3NlbkFsbEl0ZW1zID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzZWxlY3RBbGxWYWx1ZTogYW55ID0gMDtcclxuICBASW5wdXQoKSBub0VudHJpZXNGb3VuZExhYmVsID0gJ05vIG1hdGNoaW5nIGZvdW5kJztcclxuICBASW5wdXQoKSBub25lTGFiZWwgPSAnTm9uZSc7XHJcbiAgQElucHV0KCkgYWxsTGFiZWwgPSAnQWxsJztcclxuICBASW5wdXQoKSBvdGhlckxhYmVsID0gJ090aGVyJztcclxuICBASW5wdXQoKSBvdGhlcnNMYWJlbCA9ICdPdGhlcnMnO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVGaWx0ZXJJdGVtczogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnYWxsU2VsZWN0ZWQnKSBhbGxTZWxlY3RlZCE6IE1hdE9wdGlvbjtcclxuICBAVmlld0NoaWxkKE1hdFNlbGVjdFNlYXJjaENvbXBvbmVudClcclxuICBtYXRTZWxlY3RTZWFyY2hDb21wb25lbnQhOiBNYXRTZWxlY3RTZWFyY2hDb21wb25lbnQ7XHJcblxyXG4gIHZhbCE6IGFueTtcclxuICBmaWx0ZXJlZEl0ZW1zJDogQmVoYXZpb3JTdWJqZWN0PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W10+ID1cclxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH1bXT4oW10pO1xyXG4gIGl0ZW1GaWx0ZXJDdHJsOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XHJcbiAgaXNDbGVhckFsbCA9IGZhbHNlO1xyXG4gIHNob3dGaWx0ZXJlZEFsbE9wdGlvbiA9IHRydWU7XHJcbiAgc2VsZWN0ZWRJdGVtczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIG5vdFNlbGVjdGVkSXRlbXM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W10gPSBbXTtcclxuICBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIGdldCB0cmlnZ2VyKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5nZXRBbGxTZWxlY3RlZENoZWNrZWQoKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5hbGxMYWJlbDtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0Q2hvc2VuVmFsdWUgPVxyXG4gICAgICB0aGlzLnZhbCAmJiB0aGlzLm11bHRpcGxlXHJcbiAgICAgICAgPyB0aGlzLmdldExhYmVsKHRoaXMudmFsWzBdKVxyXG4gICAgICAgIDogdGhpcy5nZXRMYWJlbCh0aGlzLnZhbCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgJiYgdGhpcy52YWx1ZT8ubGVuZ3RoID4gMVxyXG4gICAgICA/IGAke2ZpcnN0Q2hvc2VuVmFsdWV9ICgrJHtcclxuICAgICAgICAgIHRoaXMudXNlU2VsZWN0QWxsT3B0aW9uICYmIHRoaXMuYWxsU2VsZWN0ZWQ/LnNlbGVjdGVkXHJcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZT8ubGVuZ3RoIC0gMlxyXG4gICAgICAgICAgICA6IHRoaXMudmFsdWU/Lmxlbmd0aCAtIDFcclxuICAgICAgICB9XHJcbiAgICAgICAgICAke3RoaXMudmFsdWU/Lmxlbmd0aCA9PT0gMiA/IHRoaXMub3RoZXJMYWJlbCA6IHRoaXMub3RoZXJzTGFiZWx9KWBcclxuICAgICAgOiBmaXJzdENob3NlblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKHZhbCkge1xyXG4gICAgaWYgKHRoaXMudmFsICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJdGVtcygpO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCh2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLmZpbHRlckl0ZW1zKCk7XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5tdWx0aXBsZSAmJlxyXG4gICAgICAgIHRoaXMudXNlU2VsZWN0QWxsT3B0aW9uICYmXHJcbiAgICAgICAgdGhpcy5hbGxTZWxlY3RlZD8uc2VsZWN0ZWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShcclxuICAgICAgICAgICAgW1xyXG4gICAgICAgICAgICAgIC4uLnRoaXMuZmlsdGVyZWRJdGVtcyQudmFsdWUubWFwKChpdGVtKSA9PiBpdGVtLnZhbHVlKSxcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdEFsbFZhbHVlLFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChcclxuICAgICAgTmdDb250cm9sLFxyXG4gICAgICBudWxsLFxyXG4gICAgKSBhcyBOZ0NvbnRyb2w7XHJcblxyXG4gICAgaWYgKG5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMubWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50Ll9zaG93Tm9FbnRyaWVzRm91bmQkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgICAgdGhpcy5pdGVtRmlsdGVyQ3RybC52YWx1ZUNoYW5nZXMsXHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zJCxcclxuICAgICAgXSkucGlwZShcclxuICAgICAgICBtYXAoXHJcbiAgICAgICAgICAoW3ZhbHVlLCBpdGVtc10pID0+XHJcbiAgICAgICAgICAgIHRoaXMubWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50Lm5vRW50cmllc0ZvdW5kTGFiZWwgJiZcclxuICAgICAgICAgICAgdmFsdWUgJiZcclxuICAgICAgICAgICAgaXRlbXMubGVuZ3RoID09PSAwLFxyXG4gICAgICAgICksXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXHJcbiAgICAgIHRoaXMuaXRlbUZpbHRlckN0cmwudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJJdGVtcygpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJJdGVtcy5lbWl0KHZhbHVlKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5pc0NsZWFyQWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKFtdLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGVhckFsbCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICB0b2dnbGVBbGxTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hbGxTZWxlY3RlZC5zZWxlY3RlZCkge1xyXG4gICAgICBpZiAodGhpcy51c2VTZWFyY2hPcHRpb24pIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShbXHJcbiAgICAgICAgICAuLi50aGlzLmZpbHRlcmVkSXRlbXMkLnZhbHVlLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZSksXHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbFZhbHVlLFxyXG4gICAgICAgIF0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKFtcclxuICAgICAgICAgIC4uLnRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnZhbHVlKSxcclxuICAgICAgICAgIHRoaXMuc2VsZWN0QWxsVmFsdWUsXHJcbiAgICAgICAgXSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKFtdKTtcclxuICAgICAgdGhpcy5pc0NsZWFyQWxsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVBlck9uZSgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5hbGxTZWxlY3RlZCkge1xyXG4gICAgICAgIGlmICh0aGlzLmFsbFNlbGVjdGVkLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkLmRlc2VsZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMuc2V0QWxsT3B0aW9uQWZ0ZXJDaG9zZW5BbGxJdGVtcyAmJlxyXG4gICAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlLmxlbmd0aCA9PT0gdGhpcy5pdGVtcy5sZW5ndGhcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuYWxsU2VsZWN0ZWQuc2VsZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzQ2xlYXJBbGwgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZU5vbmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcclxuICB9XHJcblxyXG4gIGdldEFsbFNlbGVjdGVkQ2hlY2tlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmFsbFNlbGVjdGVkICE9PSB1bmRlZmluZWQgJiYgdGhpcy5hbGxTZWxlY3RlZC5zZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIGdldExhYmVsKHZhbDogYW55KTogc3RyaW5nIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy51c2VTZWxlY3RBbGxPcHRpb24gJiZcclxuICAgICAgdGhpcy5hbGxTZWxlY3RlZD8uc2VsZWN0ZWQgJiZcclxuICAgICAgdGhpcy5pdGVtcyAmJlxyXG4gICAgICB0aGlzLml0ZW1zLmxlbmd0aCA+IDBcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtc1swXS5sYWJlbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaXRlbTogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH07XHJcblxyXG4gICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnVzZVNlYXJjaE9wdGlvbikge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XHJcbiAgICAgICAgICBpdGVtID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IHZhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3dcclxuICAgICAgICAgIGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IHZhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gaXRlbSA/IGl0ZW0ubGFiZWwgOiAnJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlckl0ZW1zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZEl0ZW1zKCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLml0ZW1zKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBnZXQgdGhlIHNlYXJjaCBrZXl3b3JkXHJcbiAgICBsZXQgc2VhcmNoOiBzdHJpbmcgPSB0aGlzLml0ZW1GaWx0ZXJDdHJsLnZhbHVlO1xyXG5cclxuICAgIGlmICghc2VhcmNoIHx8IHNlYXJjaCA9PT0gJycpIHtcclxuICAgICAgaWYgKHRoaXMudXNlU2VhcmNoT3B0aW9uICYmICF0aGlzLml0ZW1zPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLm5leHQoWy4uLnRoaXMuc2VsZWN0ZWRJdGVtc10pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQubmV4dCh0aGlzLml0ZW1zPy5zbGljZSgpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zaG93RmlsdGVyZWRBbGxPcHRpb24gPSB0cnVlO1xyXG5cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHNlYXJjaCA9IHNlYXJjaC50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgIHRoaXMuc2hvd0ZpbHRlcmVkQWxsT3B0aW9uID1cclxuICAgICAgdGhpcy5hbGxMYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvd2VyQ2FzZSgpKSB8fFxyXG4gICAgICAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmXHJcbiAgICAgICAgdGhpcy52YWx1ZS5pbmNsdWRlcyh0aGlzLnNlbGVjdEFsbFZhbHVlKSkgfHxcclxuICAgICAgKCEodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSAmJiB0aGlzLnZhbHVlID09PSB0aGlzLnNlbGVjdEFsbFZhbHVlKTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIGlmICh0aGlzLnVzZVNlYXJjaE9wdGlvbikge1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZEl0ZW1zID1cclxuICAgICAgICB0aGlzLm5vdFNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDBcclxuICAgICAgICAgID8gdGhpcy5ub3RTZWxlY3RlZEl0ZW1zLmZpbHRlcigoaXRlbSkgPT5cclxuICAgICAgICAgICAgICBpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICA6IFtdO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLm5leHQoWy4uLnRoaXMuc2VsZWN0ZWRJdGVtcywgLi4uZmlsdGVyZWRJdGVtc10pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zJC5uZXh0KFxyXG4gICAgICAgIHRoaXMuaXRlbXM/Lmxlbmd0aCA+IDBcclxuICAgICAgICAgID8gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+XHJcbiAgICAgICAgICAgICAgaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvd2VyQ2FzZSgpKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgOiBbXSxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRJdGVtcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVzZVNlYXJjaE9wdGlvbikge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gW107XHJcblxyXG4gICAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgIGNvbnN0IHNraXBTdGVwcyA9IHRoaXMudmFsdWUuaW5jbHVkZXModGhpcy5zZWxlY3RBbGxWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgaWYgKCFza2lwU3RlcHMpIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZS5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW1zPy5maW5kSW5kZXgoXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0udmFsdWUgPT09IHZhbHVlLFxyXG4gICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh0aGlzLnNlbGVjdGVkSXRlbXNbaW5kZXhdKTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3dcclxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zPy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoc2VsZWN0ZWRJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnZhbHVlLmZpbmQoXHJcbiAgICAgICAgICAgICAgICAodmFsdWUpID0+IHNlbGVjdGVkSXRlbS52YWx1ZSA9PT0gdmFsdWUsXHJcbiAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleChcclxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLnZhbHVlID09PSB0aGlzLnZhbHVlLFxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh0aGlzLnNlbGVjdGVkSXRlbXNbaW5kZXhdKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IHRoaXMudmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1kZXB0aFxyXG4gICAgICAgICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gWy4uLnNlbGVjdGVkSXRlbXNdO1xyXG4gICAgICAgIHRoaXMubm90U2VsZWN0ZWRJdGVtcyA9IHRoaXMuaXRlbXM/LmZpbHRlcihcclxuICAgICAgICAgIChpdGVtKSA9PlxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZmluZEluZGV4KFxyXG4gICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS52YWx1ZSA9PT0gaXRlbS52YWx1ZSxcclxuICAgICAgICAgICAgKSA9PT0gLTEsXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm5vdFNlbGVjdGVkSXRlbXMgPSB0aGlzLml0ZW1zPy5zbGljZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiB1c2VPbmx5RGlzYWJsZWRDbGFzcyB9XCI+XHJcbiAgICA8bWF0LXNlbGVjdFxyXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX3NlbGVjdFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAoY2xvc2VkKT1cIm9uVG91Y2goKVwiXHJcbiAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxyXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcclxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cInRyaWdnZXJcIlxyXG4gICAgICBhcHBUb29sdGlwSWZUcnVuY2F0ZWRcclxuICAgICAgW2NsYXNzTmFtZVRydW5jYXRlZFRvb2x0aXBdPVwiJ21hdC1zZWxlY3QtdmFsdWUnXCJcclxuICAgID5cclxuICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cclxuICAgICAgICA8c3Bhbj57eyB0cmlnZ2VyIH19PC9zcGFuPlxyXG4gICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJ1c2VTZWFyY2hPcHRpb25cIj5cclxuICAgICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaXRlbUZpbHRlckN0cmxcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyTGFiZWxdPVwic2VhcmNoRmllbGRQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJub0VudHJpZXNGb3VuZExhYmVsXCJcclxuICAgICAgICA+PC9uZ3gtbWF0LXNlbGVjdC1zZWFyY2g+XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJ1c2VOb25lT3B0aW9uXCIgKGNsaWNrKT1cInRvZ2dsZU5vbmUoKVwiPnt7IG5vbmVMYWJlbCB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAjYWxsU2VsZWN0ZWRcclxuICAgICAgICAqbmdJZj1cInVzZVNlbGVjdEFsbE9wdGlvbiAmJiBzaG93RmlsdGVyZWRBbGxPcHRpb25cIlxyXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVBbGxTZWxlY3Rpb24oKVwiXHJcbiAgICAgICAgW3ZhbHVlXT1cInNlbGVjdEFsbFZhbHVlXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7YWxsTGFiZWwgfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkSXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCJcclxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGVyT25lKClcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0ubGFiZWxcIlxyXG4gICAgICAgIGFwcFRvb2x0aXBJZlRydW5jYXRlZFxyXG4gICAgICAgIFtjbGFzc05hbWVUcnVuY2F0ZWRUb29sdGlwXT1cIidtYXQtb3B0aW9uLXRleHQnXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|
|
@@ -40,7 +40,7 @@ export class EcabsTimeListPanelComponent {
|
|
|
40
40
|
}
|
|
41
41
|
this.scrollTo(this.hoveredItemIndex);
|
|
42
42
|
break;
|
|
43
|
-
case 'Enter':
|
|
43
|
+
case 'Enter' || ' ':
|
|
44
44
|
this.setTime(this.timeList[this.hoveredItemIndex].value);
|
|
45
45
|
break;
|
|
46
46
|
}
|
|
@@ -106,8 +106,12 @@ export class EcabsTimeListPanelComponent {
|
|
|
106
106
|
selectTypedValue(value) {
|
|
107
107
|
if (value) {
|
|
108
108
|
const hour = parseInt(value.split(':')[0], 10);
|
|
109
|
+
const mins = parseInt(value.split(':')[1], 10);
|
|
109
110
|
if (hour || hour === 0) {
|
|
110
111
|
this.hoveredItemIndex = hour * 2;
|
|
112
|
+
if (mins >= 30) {
|
|
113
|
+
this.hoveredItemIndex++;
|
|
114
|
+
}
|
|
111
115
|
this.scrollTo(this.hoveredItemIndex);
|
|
112
116
|
}
|
|
113
117
|
}
|
|
@@ -158,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
158
162
|
type: HostListener,
|
|
159
163
|
args: ['document:keydown', ['$event']]
|
|
160
164
|
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7O0FBV3ZCLE1BQU0sT0FBTywyQkFBMkI7SUEyQjVCO0lBQ0E7SUEzQkQsVUFBVSxDQUFNO0lBQ2hCLGFBQWEsR0FBa0IsTUFBTSxDQUFDO0lBQ3RDLFlBQVksR0FBaUIsRUFBRSxDQUFDO0lBR3pDLGFBQWEsQ0FBUztJQUd0QixXQUFXLENBQVM7SUFFWCxRQUFRLENBQVU7SUFDbEIsR0FBRyxDQUFVO0lBQ2IsR0FBRyxDQUFVO0lBQ2IsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLFFBQVEsR0FBaUIsRUFBRSxDQUFDO0lBRTNCLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztJQUM5RCxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU1QyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDckIsUUFBUSxHQUFvQyxFQUFFLENBQUM7SUFFdkMsY0FBYyxDQUFPO0lBRTdCLFlBQ1UsVUFBc0IsRUFD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QUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBYVAsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIExpc3RQbGFjZW1lbnQsXHJcbiAgTGlzdFBvc2l0aW9uLFxyXG59IGZyb20gJy4uLy4uLy4uL2Jhc2UvbW9kZWxzL3RpbWVwaWNrZXIubW9kZWxzJztcclxuaW1wb3J0IHsgRm9ybVRpbWVQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWNhYnMtdGltZXBpY2tlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtdGltZS1saXN0LXBhbmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzVGltZUxpc3RQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB0eXBlZFZhbHVlOiBhbnk7XHJcbiAgQElucHV0KCkgbGlzdFBsYWNlbWVudDogTGlzdFBsYWNlbWVudCA9ICdhdXRvJztcclxuICBASW5wdXQoKSBsaXN0UG9zaXRpb246IExpc3RQb3NpdGlvbiA9IHt9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRheVN0YXJ0TGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBkYXlFbmRMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBhcHBlbmRUbyE6IHN0cmluZztcclxuICBASW5wdXQoKSBtaW4hOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dEYXlTdGFydCA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0RheUVuZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiBMaXN0UG9zaXRpb24gPSB7fTtcclxuXHJcbiAgQE91dHB1dCgpIG9uc2Nyb2xsID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0OiBudW1iZXI7IGVuZDogbnVtYmVyIH0+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlTWUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgaG92ZXJlZEl0ZW1JbmRleCA9IDA7XHJcbiAgdGltZUxpc3Q6IHsgdmFsdWU6IGFueTsgdGl0bGU6IHN0cmluZyB9W10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBsaXN0SXRlbUhlaWdodCE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHRpbWVwaWNrZXJTZXJ2aWNlOiBGb3JtVGltZVBpY2tlclNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlkb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBrZXkgfSA9ICRldmVudDtcclxuXHJcbiAgICBzd2l0Y2ggKGtleSkge1xyXG4gICAgICBjYXNlICdBcnJvd1VwJzpcclxuICAgICAgICBpZiAodGhpcy5ob3ZlcmVkSXRlbUluZGV4KSB7XHJcbiAgICAgICAgICB0aGlzLmhvdmVyZWRJdGVtSW5kZXgtLTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2Nyb2xsVG8odGhpcy5ob3ZlcmVkSXRlbUluZGV4KTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XHJcbiAgICAgICAgaWYgKHRoaXMuaG92ZXJlZEl0ZW1JbmRleCArIDEgPCB0aGlzLnRpbWVMaXN0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4Kys7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNjcm9sbFRvKHRoaXMuaG92ZXJlZEl0ZW1JbmRleCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdFbnRlcic6XHJcbiAgICAgICAgdGhpcy5zZXRUaW1lKHRoaXMudGltZUxpc3RbdGhpcy5ob3ZlcmVkSXRlbUluZGV4XS52YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsY0xpc3RJdGVtcygpO1xyXG4gICAgaWYgKHRoaXMuYXBwZW5kVG8pIHtcclxuICAgICAgdGhpcy5hcHBlbmRMaXN0VG8oKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5saXN0SXRlbUhlaWdodCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XHJcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoJ2xpJylcclxuICAgICAgICAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnNlbGVjdFR5cGVkVmFsdWUodGhpcy50eXBlZFZhbHVlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXBwZW5kTGlzdFRvKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGFyZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLmFwcGVuZFRvKTtcclxuICAgIGlmICghcGFyZW50KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBgYXBwZW5kVG8gc2VsZWN0b3IgJHt0aGlzLmFwcGVuZFRvfSBkaWQgbm90IGZvdW5kIGFueSBwYXJlbnQgZWxlbWVudGAsXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgY2FsY0xpc3RJdGVtcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNob3dEYXlTdGFydCkge1xyXG4gICAgICBjb25zdCB0aXRsZSA9XHJcbiAgICAgICAgdGhpcy5kYXlTdGFydExhYmVsIHx8IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuZGF5U3RhcnQ7XHJcblxyXG4gICAgICB0aGlzLnRpbWVMaXN0LnB1c2goe1xyXG4gICAgICAgIHZhbHVlOiAnMDA6MDAnLFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAyNDsgaW5kZXgrKykge1xyXG4gICAgICBmb3IgKGNvbnN0IG1pbnV0ZSBvZiBbJzAwJywgJzMwJ10pIHtcclxuICAgICAgICBpZiAoaW5kZXggPT09IDAgJiYgbWludXRlID09PSAnMDAnKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aW1lTGlzdC5wdXNoKHtcclxuICAgICAgICAgIHZhbHVlOiAoaW5kZXggPiA5ID8gaW5kZXggKyAnJyA6ICcwJyArIGluZGV4KSArICc6JyArIG1pbnV0ZSxcclxuICAgICAgICAgIHRpdGxlOiAoaW5kZXggPiA5ID8gaW5kZXggKyAnJyA6ICcwJyArIGluZGV4KSArICc6JyArIG1pbnV0ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2hvd0RheUVuZCkge1xyXG4gICAgICBjb25zdCB0aXRsZSA9XHJcbiAgICAgICAgdGhpcy5kYXlFbmRMYWJlbCB8fCB0aGlzLnRpbWVwaWNrZXJTZXJ2aWNlLmdldENvbmZpZygpLmRheUVuZDtcclxuXHJcbiAgICAgIHRoaXMudGltZUxpc3QucHVzaCh7XHJcbiAgICAgICAgdmFsdWU6ICcyMzo1OScsXHJcbiAgICAgICAgdGl0bGUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdFR5cGVkVmFsdWUodGhpcy50eXBlZFZhbHVlKTtcclxuICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSB0aGlzLmxpc3RQb3NpdGlvbi50b3AgKyAncHgnO1xyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gdGhpcy5saXN0UG9zaXRpb24ubGVmdCArICdweCc7XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID1cclxuICAgICAgICB0aGlzLmxpc3RQb3NpdGlvbi53aWR0aCArICdweCc7XHJcbiAgICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUeXBlZFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBjb25zdCBob3VyID0gcGFyc2VJbnQodmFsdWUuc3BsaXQoJzonKVswXSwgMTApO1xyXG4gICAgICBpZiAoaG91ciB8fCBob3VyID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4ID0gaG91ciAqIDI7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0aGlzLmhvdmVyZWRJdGVtSW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUbyhpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuaW5uZXItc2Nyb2xsJykuc2Nyb2xsVG9wID1cclxuICAgICAgaW5kZXggKiB0aGlzLmxpc3RJdGVtSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTWUuZW1pdChudWxsKTtcclxuICB9XHJcblxyXG4gIHNldFRpbWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9zZU1lLmVtaXQodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGlzdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPCEtLSBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgLS0+XHJcbiAgICAgICAgPGxpXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaSBvZiB0aW1lTGlzdDsgbGV0IGNvdW50ZXIgPSBpbmRleFwiICAgICAgICAgIFxyXG4gICAgICAgICAgKGNsaWNrKT1cInNldFRpbWUoaS52YWx1ZSlcIlxyXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZEl0ZW1JbmRleCA9IGNvdW50ZXJcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IHR5cGVkVmFsdWUgPT09IGkudmFsdWUsIGhvdmVyZWQ6IGNvdW50ZXIgPT09IGhvdmVyZWRJdGVtSW5kZXggfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgaS50aXRsZSB9fVxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7O0FBV3ZCLE1BQU0sT0FBTywyQkFBMkI7SUEyQjVCO0lBQ0E7SUEzQkQsVUFBVSxDQUFNO0lBQ2hCLGFBQWEsR0FBa0IsTUFBTSxDQUFDO0lBQ3RDLFlBQVksR0FBaUIsRUFBRSxDQUFDO0lBR3pDLGFBQWEsQ0FBUztJQUd0QixXQUFXLENBQVM7SUFFWCxRQUFRLENBQVU7SUFDbEIsR0FBRyxDQUFVO0lBQ2IsR0FBRyxDQUFVO0lBQ2IsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLFFBQVEsR0FBaUIsRUFBRSxDQUFDO0lBRTNCLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztJQUM5RCxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU1QyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDckIsUUFBUSxHQUFvQyxFQUFFLENBQUM7SUFFdkMsY0FBYyxDQUFPO0lBRTdCLFlBQ1UsVUFBc0IsRUFD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O2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQWFQLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBMaXN0UGxhY2VtZW50LFxyXG4gIExpc3RQb3NpdGlvbixcclxufSBmcm9tICcuLi8uLi8uLi9iYXNlL21vZGVscy90aW1lcGlja2VyLm1vZGVscyc7XHJcbmltcG9ydCB7IEZvcm1UaW1lUGlja2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2VjYWJzLXRpbWVwaWNrZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRpbWUtbGlzdC1wYW5lbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXRpbWUtbGlzdC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RpbWVMaXN0UGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdHlwZWRWYWx1ZTogYW55O1xyXG4gIEBJbnB1dCgpIGxpc3RQbGFjZW1lbnQ6IExpc3RQbGFjZW1lbnQgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgbGlzdFBvc2l0aW9uOiBMaXN0UG9zaXRpb24gPSB7fTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXlTdGFydExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF5RW5kTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgYXBwZW5kVG8hOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWluITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heCE6IHN0cmluZztcclxuICBASW5wdXQoKSBzaG93RGF5U3RhcnQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dEYXlFbmQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwb3NpdGlvbjogTGlzdFBvc2l0aW9uID0ge307XHJcblxyXG4gIEBPdXRwdXQoKSBvbnNjcm9sbCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9PigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZU1lID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGhvdmVyZWRJdGVtSW5kZXggPSAwO1xyXG4gIHRpbWVMaXN0OiB7IHZhbHVlOiBhbnk7IHRpdGxlOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG4gIHByaXZhdGUgbGlzdEl0ZW1IZWlnaHQhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSB0aW1lcGlja2VyU2VydmljZTogRm9ybVRpbWVQaWNrZXJTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5ZG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsga2V5IH0gPSAkZXZlbnQ7XHJcblxyXG4gICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgY2FzZSAnQXJyb3dVcCc6XHJcbiAgICAgICAgaWYgKHRoaXMuaG92ZXJlZEl0ZW1JbmRleCkge1xyXG4gICAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4LS07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNjcm9sbFRvKHRoaXMuaG92ZXJlZEl0ZW1JbmRleCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxyXG4gICAgICAgIGlmICh0aGlzLmhvdmVyZWRJdGVtSW5kZXggKyAxIDwgdGhpcy50aW1lTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1JbmRleCsrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0aGlzLmhvdmVyZWRJdGVtSW5kZXgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnRW50ZXInIHx8ICcgJzpcclxuICAgICAgICB0aGlzLnNldFRpbWUodGhpcy50aW1lTGlzdFt0aGlzLmhvdmVyZWRJdGVtSW5kZXhdLnZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxjTGlzdEl0ZW1zKCk7XHJcbiAgICBpZiAodGhpcy5hcHBlbmRUbykge1xyXG4gICAgICB0aGlzLmFwcGVuZExpc3RUbygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmxpc3RJdGVtSGVpZ2h0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcclxuICAgICAgICAucXVlcnlTZWxlY3RvcignbGknKVxyXG4gICAgICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0VHlwZWRWYWx1ZSh0aGlzLnR5cGVkVmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhcHBlbmRMaXN0VG8oKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXJlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuYXBwZW5kVG8pO1xyXG4gICAgaWYgKCFwYXJlbnQpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBhcHBlbmRUbyBzZWxlY3RvciAke3RoaXMuYXBwZW5kVG99IGRpZCBub3QgZm91bmQgYW55IHBhcmVudCBlbGVtZW50YCxcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBjYWxjTGlzdEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2hvd0RheVN0YXJ0KSB7XHJcbiAgICAgIGNvbnN0IHRpdGxlID1cclxuICAgICAgICB0aGlzLmRheVN0YXJ0TGFiZWwgfHwgdGhpcy50aW1lcGlja2VyU2VydmljZS5nZXRDb25maWcoKS5kYXlTdGFydDtcclxuXHJcbiAgICAgIHRoaXMudGltZUxpc3QucHVzaCh7XHJcbiAgICAgICAgdmFsdWU6ICcwMDowMCcsXHJcbiAgICAgICAgdGl0bGUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IDI0OyBpbmRleCsrKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbWludXRlIG9mIFsnMDAnLCAnMzAnXSkge1xyXG4gICAgICAgIGlmIChpbmRleCA9PT0gMCAmJiBtaW51dGUgPT09ICcwMCcpIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWVMaXN0LnB1c2goe1xyXG4gICAgICAgICAgdmFsdWU6IChpbmRleCA+IDkgPyBpbmRleCArICcnIDogJzAnICsgaW5kZXgpICsgJzonICsgbWludXRlLFxyXG4gICAgICAgICAgdGl0bGU6IChpbmRleCA+IDkgPyBpbmRleCArICcnIDogJzAnICsgaW5kZXgpICsgJzonICsgbWludXRlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zaG93RGF5RW5kKSB7XHJcbiAgICAgIGNvbnN0IHRpdGxlID1cclxuICAgICAgICB0aGlzLmRheUVuZExhYmVsIHx8IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuZGF5RW5kO1xyXG5cclxuICAgICAgdGhpcy50aW1lTGlzdC5wdXNoKHtcclxuICAgICAgICB2YWx1ZTogJzIzOjU5JyxcclxuICAgICAgICB0aXRsZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0VHlwZWRWYWx1ZSh0aGlzLnR5cGVkVmFsdWUpO1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9IHRoaXMubGlzdFBvc2l0aW9uLnRvcCArICdweCc7XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSB0aGlzLmxpc3RQb3NpdGlvbi5sZWZ0ICsgJ3B4JztcclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPVxyXG4gICAgICAgIHRoaXMubGlzdFBvc2l0aW9uLndpZHRoICsgJ3B4JztcclxuICAgICAgaWYgKHRoaXMuYXBwZW5kVG8pIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdFR5cGVkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IGhvdXIgPSBwYXJzZUludCh2YWx1ZS5zcGxpdCgnOicpWzBdLCAxMCk7XHJcbiAgICAgIGNvbnN0IG1pbnMgPSBwYXJzZUludCh2YWx1ZS5zcGxpdCgnOicpWzFdLCAxMCk7XHJcblxyXG4gICAgICBpZiAoaG91ciB8fCBob3VyID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4ID0gaG91ciAqIDI7XHJcbiAgICAgICAgaWYgKG1pbnMgPj0gMzApIHtcclxuICAgICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1JbmRleCsrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0aGlzLmhvdmVyZWRJdGVtSW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUbyhpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuaW5uZXItc2Nyb2xsJykuc2Nyb2xsVG9wID1cclxuICAgICAgaW5kZXggKiB0aGlzLmxpc3RJdGVtSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTWUuZW1pdChudWxsKTtcclxuICB9XHJcblxyXG4gIHNldFRpbWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9zZU1lLmVtaXQodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGlzdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPCEtLSBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgLS0+XHJcbiAgICAgICAgPGxpXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaSBvZiB0aW1lTGlzdDsgbGV0IGNvdW50ZXIgPSBpbmRleFwiICAgICAgICAgIFxyXG4gICAgICAgICAgKGNsaWNrKT1cInNldFRpbWUoaS52YWx1ZSlcIlxyXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZEl0ZW1JbmRleCA9IGNvdW50ZXJcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IHR5cGVkVmFsdWUgPT09IGkudmFsdWUsIGhvdmVyZWQ6IGNvdW50ZXIgPT09IGhvdmVyZWRJdGVtSW5kZXggfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgaS50aXRsZSB9fVxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|