ps-toolkit-ui 1.8.69 → 1.8.71
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/bundles/ps-toolkit-ui.umd.js +2 -5
- package/bundles/ps-toolkit-ui.umd.js.map +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
- package/esm2015/lib/components/form/table/form.table.component.js +2 -2
- package/esm2015/lib/components/sidebar/sidebar.component.js +2 -2
- package/esm2015/lib/components/table/row/table.row.component.js +1 -4
- package/fesm2015/ps-toolkit-ui.js +2 -5
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -77,7 +77,7 @@ export class FormTableComponent {
|
|
|
77
77
|
this.inp.setValue(this.inp.default === null ? [] : this.inp.default, false);
|
|
78
78
|
};
|
|
79
79
|
this.inp.data = () => {
|
|
80
|
-
return this.inp.table.rows;
|
|
80
|
+
return this.inp.table.rows.map(x => x.Data);
|
|
81
81
|
};
|
|
82
82
|
if (this.inp.default) {
|
|
83
83
|
this.inp.setValue(this.inp.default, false);
|
|
@@ -99,4 +99,4 @@ FormTableComponent.propDecorators = {
|
|
|
99
99
|
inp: [{ type: Input }],
|
|
100
100
|
changeIndex: [{ type: Output }]
|
|
101
101
|
};
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS50YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS90YWJsZS9mb3JtLnRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ25CLE1BQU0sNkJBQTZCLENBQUM7QUFPckMsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QjtRQURBLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUV6QyxDQUFDO0lBQ0QsUUFBUTtRQUNOLE1BQU0sQ0FBQyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN4QixPQUFPLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUN6QyxPQUFPLENBQUMsVUFBVSxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQztRQUNuRCxPQUFPLENBQUMsV0FBVyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQztRQUNyRCxPQUFPLENBQUMsU0FBUyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQztRQUNq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QVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHFqQkFBMEM7O2FBRTNDOzs7O2tCQUVFLEtBQUs7MEJBRUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtQZXJtaXNzaW9uQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvcGVybWlzc2lvbi5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgSW5wdXRFcnJvcixcclxuICBJbnB1dFR5cGUsXHJcbiAgUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLFxyXG4gIFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0sXHJcbiAgUGVybWlzc2lvbklucHV0VHlwZUVudW0sXHJcbiAgUGVybWlzc2lvblR5cGVFbnVtXHJcbn0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLnRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLnRhYmxlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5wOiBJbnB1dENsYXNzO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZUluZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgY29uc3RydWN0b3IoKXtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZHtcclxuICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICBwLlR5cGUgPSBQZXJtaXNzaW9uVHlwZUVudW0uRm9ybTtcclxuICAgIGNvbnN0IGxBY2Nlc3MgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICBsQWNjZXNzLkFjdGlvbiA9ICdMaXN0JztcclxuICAgIGxBY2Nlc3MuVHlwZSA9IFBlcm1pc3Npb25UeXBlRW51bS5BY2Nlc3M7XHJcbiAgICBsQWNjZXNzLkFjY2Vzc1R5cGUgPSBQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uTGlzdDtcclxuICAgIGxBY2Nlc3MuSW5wdXRBY3Rpb24gPSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLk5vbmU7XHJcbiAgICBsQWNjZXNzLklucHV0VHlwZSA9IFBlcm1pc3Npb25JbnB1dFR5cGVFbnVtLkljb247XHJcbiAgICBjb25zdCBpQWNjZXNzID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgaUFjY2Vzcy5BY3Rpb24gPSAnSW5zZXJ0JztcclxuICAgIGlBY2Nlc3MuVHlwZSA9IFBlcm1pc3Npb25UeXBlRW51bS5BY2Nlc3M7XHJcbiAgICBpQWNjZXNzLklucHV0QWN0aW9uID0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5Nb2RhbDtcclxuICAgIGlBY2Nlc3MuSW5wdXRUeXBlID0gUGVybWlzc2lvbklucHV0VHlwZUVudW0uQnV0dG9uO1xyXG4gICAgaUFjY2Vzcy5BY2Nlc3NUeXBlID0gUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLkluc2VydDtcclxuICAgIHAuQWNjZXNzZXMgPSBbXHJcbiAgICAgIGxBY2Nlc3MsXHJcbiAgICAgIGlBY2Nlc3MsXHJcbiAgICBdO1xyXG4gICAgdGhpcy5pbnAudGFibGUucGVybWlzc2lvbnMgPSBwO1xyXG4gICAgdGhpcy5pbnAudGFibGUuZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICB0aGlzLmlucC50YWJsZS5zdHlsZSA9IHtwYWRkaW5nOiAwLCBib3hTaGFkb3c6ICd1bnNldCd9O1xyXG4gICAgdGhpcy5pbnAudGFibGUucGVybWlzc2lvbnMgPSBwO1xyXG4gICAgdGhpcy5pbnAudGFibGUuc2hvd0V4dHJhQnV0dG9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbnAudGFibGUubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbnAudGFibGUuY29scy5mb3JFYWNoKHggPT4geC5zb3J0ID0gZmFsc2UpO1xyXG4gICAgaWYgKHRoaXMuaW5wLnRhYmxlLmZvcm0pe1xyXG4gICAgICB0aGlzLmlucC50YWJsZS5mb3JtLm9uVG9wID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pbnAudGFibGUuZm9ybS5pbnB1dHMucHVzaChuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgJ0lkJywgbnVsbCwgSW5wdXRUeXBlLkhpZGRlbiwgJycsIG51bGwsIGZhbHNlKSk7XHJcbiAgICAgIHRoaXMuaW5wLnRhYmxlLmZvcm0uaW5wdXRzLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgeC5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgICAgICB4LmNsYXNzICs9ICcgaC0zMCc7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnAuc2V0VmFsdWUgPSAodikgPT4ge1xyXG4gICAgICB0aGlzLmlucC50YWJsZS5yb3dzID0gdiA9PT0gbnVsbCA/IFtdIDogdjtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5mb2N1cyA9ICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaW5wLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgIHRoaXMuaW5wLnRhYmxlLmZvcm0uaW5wdXRzLmZpbmQoXyA9PiB0cnVlKS5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuaXNWYWxpZCA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy5pbnAudGFibGUucm93cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuUmVxdWlyZWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghdGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy5pbnAudGFibGUucm93cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy5pbnAubWluTGVuZ3RoICE9PSAtMSAmJiB0aGlzLmlucC5taW5MZW5ndGggPT09IHRoaXMuaW5wLm1heExlbmd0aCAmJlxyXG4gICAgICAgIHRoaXMuaW5wLnRhYmxlLnJvd3MubGVuZ3RoICE9PSB0aGlzLmlucC5taW5MZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuTGVuZ3RoO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy5pbnAubWluTGVuZ3RoICE9PSAtMSAmJiB0aGlzLmlucC50YWJsZS5yb3dzLmxlbmd0aCA8IHRoaXMuaW5wLm1pbkxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5NaW5MZW5ndGg7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZXF1aXJlZCAmJiB0aGlzLmlucC5tYXhMZW5ndGggIT09IC0xICYmIHRoaXMuaW5wLnRhYmxlLnJvd3MubGVuZ3RoID4gdGhpcy5pbnAubWF4TGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLk1heExlbmd0aDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuY2xlYXIgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgdGhpcy5pbnAuc2V0VmFsdWUodGhpcy5pbnAuZGVmYXVsdCA9PT0gbnVsbCA/IFtdIDogdGhpcy5pbnAuZGVmYXVsdCwgZmFsc2UpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmRhdGEgPSAoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlucC50YWJsZS5yb3dzO1xyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLmlucC5kZWZhdWx0KXtcclxuICAgICAgdGhpcy5pbnAuc2V0VmFsdWUodGhpcy5pbnAuZGVmYXVsdCwgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjaGFuZ2VSb3dzKGUpOiB2b2lke1xyXG4gICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS50YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS90YWJsZS9mb3JtLnRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ25CLE1BQU0sNkJBQTZCLENBQUM7QUFPckMsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QjtRQURBLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUV6QyxDQUFDO0lBQ0QsUUFBUTtRQUNOLE1BQU0sQ0FBQyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN4QixPQUFPLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUN6QyxPQUFPLENBQUMsVUFBVSxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQztRQUNuRCxPQUFPLENBQUMsV0FBVyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQztRQUNyRCxPQUFPLENBQUMsU0FBUyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQztRQUNq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QUssR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQzs7O1lBM0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixxakJBQTBDOzthQUUzQzs7OztrQkFFRSxLQUFLOzBCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lucHV0Q2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7UGVybWlzc2lvbkNsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3Blcm1pc3Npb24uY2xhc3MnO1xyXG5pbXBvcnQge1xyXG4gIElucHV0RXJyb3IsXHJcbiAgSW5wdXRUeXBlLFxyXG4gIFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bSxcclxuICBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLFxyXG4gIFBlcm1pc3Npb25JbnB1dFR5cGVFbnVtLFxyXG4gIFBlcm1pc3Npb25UeXBlRW51bVxyXG59IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1mb3JtLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS50YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS50YWJsZS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKVxyXG4gIGlucDogSW5wdXRDbGFzcztcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VJbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWR7XHJcbiAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgcC5UeXBlID0gUGVybWlzc2lvblR5cGVFbnVtLkZvcm07XHJcbiAgICBjb25zdCBsQWNjZXNzID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgbEFjY2Vzcy5BY3Rpb24gPSAnTGlzdCc7XHJcbiAgICBsQWNjZXNzLlR5cGUgPSBQZXJtaXNzaW9uVHlwZUVudW0uQWNjZXNzO1xyXG4gICAgbEFjY2Vzcy5BY2Nlc3NUeXBlID0gUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLkxpc3Q7XHJcbiAgICBsQWNjZXNzLklucHV0QWN0aW9uID0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5Ob25lO1xyXG4gICAgbEFjY2Vzcy5JbnB1dFR5cGUgPSBQZXJtaXNzaW9uSW5wdXRUeXBlRW51bS5JY29uO1xyXG4gICAgY29uc3QgaUFjY2VzcyA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgIGlBY2Nlc3MuQWN0aW9uID0gJ0luc2VydCc7XHJcbiAgICBpQWNjZXNzLlR5cGUgPSBQZXJtaXNzaW9uVHlwZUVudW0uQWNjZXNzO1xyXG4gICAgaUFjY2Vzcy5JbnB1dEFjdGlvbiA9IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTW9kYWw7XHJcbiAgICBpQWNjZXNzLklucHV0VHlwZSA9IFBlcm1pc3Npb25JbnB1dFR5cGVFbnVtLkJ1dHRvbjtcclxuICAgIGlBY2Nlc3MuQWNjZXNzVHlwZSA9IFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bS5JbnNlcnQ7XHJcbiAgICBwLkFjY2Vzc2VzID0gW1xyXG4gICAgICBsQWNjZXNzLFxyXG4gICAgICBpQWNjZXNzLFxyXG4gICAgXTtcclxuICAgIHRoaXMuaW5wLnRhYmxlLnBlcm1pc3Npb25zID0gcDtcclxuICAgIHRoaXMuaW5wLnRhYmxlLmRpc3BsYXlMYWJlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbnAudGFibGUuc3R5bGUgPSB7cGFkZGluZzogMCwgYm94U2hhZG93OiAndW5zZXQnfTtcclxuICAgIHRoaXMuaW5wLnRhYmxlLnBlcm1pc3Npb25zID0gcDtcclxuICAgIHRoaXMuaW5wLnRhYmxlLnNob3dFeHRyYUJ1dHRvbnMgPSBmYWxzZTtcclxuICAgIHRoaXMuaW5wLnRhYmxlLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuaW5wLnRhYmxlLmNvbHMuZm9yRWFjaCh4ID0+IHguc29ydCA9IGZhbHNlKTtcclxuICAgIGlmICh0aGlzLmlucC50YWJsZS5mb3JtKXtcclxuICAgICAgdGhpcy5pbnAudGFibGUuZm9ybS5vblRvcCA9IHRydWU7XHJcbiAgICAgIHRoaXMuaW5wLnRhYmxlLmZvcm0uaW5wdXRzLnB1c2gobmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsICdJZCcsIG51bGwsIElucHV0VHlwZS5IaWRkZW4sICcnLCBudWxsLCBmYWxzZSkpO1xyXG4gICAgICB0aGlzLmlucC50YWJsZS5mb3JtLmlucHV0cy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgIHguZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgICAgeC5jbGFzcyArPSAnIGgtMzAnO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wLnNldFZhbHVlID0gKHYpID0+IHtcclxuICAgICAgdGhpcy5pbnAudGFibGUucm93cyA9IHYgPT09IG51bGwgPyBbXSA6IHY7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZm9jdXMgPSAoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlucC50YWJsZS5mb3JtKXtcclxuICAgICAgICB0aGlzLmlucC50YWJsZS5mb3JtLmlucHV0cy5maW5kKF8gPT4gdHJ1ZSkuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmlzVmFsaWQgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgaWYgKHRoaXMuaW5wLnJlcXVpcmVkICYmIHRoaXMuaW5wLnRhYmxlLnJvd3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLlJlcXVpcmVkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMuaW5wLnJlcXVpcmVkICYmIHRoaXMuaW5wLnRhYmxlLnJvd3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5wLnJlcXVpcmVkICYmIHRoaXMuaW5wLm1pbkxlbmd0aCAhPT0gLTEgJiYgdGhpcy5pbnAubWluTGVuZ3RoID09PSB0aGlzLmlucC5tYXhMZW5ndGggJiZcclxuICAgICAgICB0aGlzLmlucC50YWJsZS5yb3dzLmxlbmd0aCAhPT0gdGhpcy5pbnAubWluTGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLkxlbmd0aDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5wLnJlcXVpcmVkICYmIHRoaXMuaW5wLm1pbkxlbmd0aCAhPT0gLTEgJiYgdGhpcy5pbnAudGFibGUucm93cy5sZW5ndGggPCB0aGlzLmlucC5taW5MZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuTWluTGVuZ3RoO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy5pbnAubWF4TGVuZ3RoICE9PSAtMSAmJiB0aGlzLmlucC50YWJsZS5yb3dzLmxlbmd0aCA+IHRoaXMuaW5wLm1heExlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5NYXhMZW5ndGg7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmNsZWFyID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIHRoaXMuaW5wLnNldFZhbHVlKHRoaXMuaW5wLmRlZmF1bHQgPT09IG51bGwgPyBbXSA6IHRoaXMuaW5wLmRlZmF1bHQsIGZhbHNlKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5kYXRhID0gKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbnAudGFibGUucm93cy5tYXAoeCA9PiB4LkRhdGEpO1xyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLmlucC5kZWZhdWx0KXtcclxuICAgICAgdGhpcy5pbnAuc2V0VmFsdWUodGhpcy5pbnAuZGVmYXVsdCwgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjaGFuZ2VSb3dzKGUpOiB2b2lke1xyXG4gICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -30,7 +30,7 @@ export class SidebarComponent {
|
|
|
30
30
|
this.setActive();
|
|
31
31
|
}
|
|
32
32
|
getSidebar(parentId = null) {
|
|
33
|
-
return this.currentData.permissions.filter(x => x.Type === PermissionTypeEnum.Item && x.ParentId === parentId
|
|
33
|
+
return this.currentData.permissions.filter(x => x.Type === PermissionTypeEnum.Item && x.ParentId === parentId).map((s) => {
|
|
34
34
|
return new SidebarClass(this.l, s.Id, s.Name, s.Controller, s.Action, s.Url, s.Icon, this.getSidebar(s.Id), s.Count);
|
|
35
35
|
});
|
|
36
36
|
}
|
|
@@ -64,4 +64,4 @@ SidebarComponent.ctorParameters = () => [
|
|
|
64
64
|
SidebarComponent.propDecorators = {
|
|
65
65
|
currentData: [{ type: Input }]
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFRNUIsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUFtQixNQUFnQyxFQUFVLE1BQWM7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSDNFLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBSTNCLE1BQU0sSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBVSxFQUFFO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7UUFDRixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM5QixJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFNBQVM7UUFDUCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxVQUFVLENBQUMsV0FBbUIsSUFBSTtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckgsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2SCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxJQUFvQixFQUFFLE1BQU07UUFDM0MsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUM7WUFDbkIsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssTUFBTSxFQUFDO2dCQUN2RCxPQUFPLENBQUMsQ0FBQzthQUNWO1lBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDckQsSUFBSSxFQUFFLEVBQUM7Z0JBQ0wsT0FBTyxFQUFFLENBQUM7YUFDWDtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsYUFBYTtRQUNYLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7OztZQWpERixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLDR3QkFBdUM7O2FBRTFDOzs7WUFiTyx3QkFBd0I7WUFHVCxNQUFNOzs7MEJBWTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xhbmdDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sYW5nLmNsYXNzJztcclxuaW1wb3J0IHtTaWRlYmFyQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvc2lkZWJhci5jbGFzcyc7XHJcbmltcG9ydCB7TmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UGVybWlzc2lvblR5cGVFbnVtfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7Q3VycmVudERhdGFDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jdXJyZW50RGF0YUNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItc2lkZWJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKVxyXG4gIGN1cnJlbnREYXRhOiBDdXJyZW50RGF0YUNsYXNzO1xyXG4gIHNpZGViYXI6IFNpZGViYXJDbGFzc1tdID0gW107XHJcbiAgY3VycmVudFNpZGViYXI7XHJcbiAgbDogKGssIHY/KSA9PiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbmZpZzogUHNUb29sa2l0VWlDb25maWdTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKXtcclxuICAgIGNvbnN0IGxhbmcgPSBuZXcgTGFuZ0NsYXNzKGNvbmZpZy5jdXJyZW50TGFuZywgY29uZmlnLnN0cmluZ3MpO1xyXG4gICAgdGhpcy5sID0gKGtleTogc3RyaW5nLCB2ID0gbnVsbCk6IHN0cmluZyA9PiB7XHJcbiAgICAgIHJldHVybiBsYW5nLmdldCgnUHVibGljJywgJ1NpZGViYXInLCBrZXksIHYpO1xyXG4gICAgfTtcclxuICAgIHJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgIHRoaXMuc2V0QWN0aXZlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBzZXRBY3RpdmUoKTogdm9pZHtcclxuICAgIGNvbnN0IGFjdGl2ZSA9IEhlbHBlckNsYXNzLmdldERhdGEoJ2FjdGl2ZScsIHRoaXMucm91dGVyLnJvdXRlclN0YXRlLCB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290KVswXTtcclxuICAgIHRoaXMuY3VycmVudFNpZGViYXIgPSB0aGlzLmdldFNpZGViYXJBY3RpdmUodGhpcy5zaWRlYmFyLCBhY3RpdmUpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2lkZWJhciA9IHRoaXMuZ2V0U2lkZWJhcigpO1xyXG4gICAgdGhpcy5zZXRBY3RpdmUoKTtcclxuICB9XHJcbiAgZ2V0U2lkZWJhcihwYXJlbnRJZDogc3RyaW5nID0gbnVsbCk6IFNpZGViYXJDbGFzc1tde1xyXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudERhdGEucGVybWlzc2lvbnMuZmlsdGVyKHggPT4geC5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uSXRlbSAmJiB4LlBhcmVudElkID09PSBwYXJlbnRJZCkubWFwKChzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTaWRlYmFyQ2xhc3ModGhpcy5sLCBzLklkLCBzLk5hbWUsIHMuQ29udHJvbGxlciwgcy5BY3Rpb24sIHMuVXJsLCBzLkljb24sIHRoaXMuZ2V0U2lkZWJhcihzLklkKSwgcy5Db3VudCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBnZXRTaWRlYmFyQWN0aXZlKGl0ZW06IFNpZGViYXJDbGFzc1tdLCBhY3RpdmUpOiBTaWRlYmFyQ2xhc3N7XHJcbiAgICBmb3IgKGNvbnN0IGkgb2YgaXRlbSl7XHJcbiAgICAgIGlmIChpLmNvbnRyb2xsZXIgKyAoaS5hY3Rpb24gPyBpLmFjdGlvbiA6ICcnKSA9PT0gYWN0aXZlKXtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjYSA9IHRoaXMuZ2V0U2lkZWJhckFjdGl2ZShpLmNoaWxkcmVuLCBhY3RpdmUpO1xyXG4gICAgICBpZiAoY2Epe1xyXG4gICAgICAgIHJldHVybiBjYTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIHRvZ2dsZVNpZGViYXIoKTogdm9pZHtcclxuICAgICQoJyNTaWRlYmFyJykudG9nZ2xlQ2xhc3MoJ29wZW4nKS50b2dnbGVDbGFzcygnY2xvc2UnKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -169,10 +169,7 @@ export class TableRowComponent {
|
|
|
169
169
|
this.table.form.clear();
|
|
170
170
|
}
|
|
171
171
|
if (this.table.permissions.Type === PermissionTypeEnum.Form) {
|
|
172
|
-
console.log(this.row.Data.Id);
|
|
173
|
-
console.log(this.table.rows);
|
|
174
172
|
this.table.rows = this.table.rows.filter(x => x.Data.Id !== this.row.Data.Id);
|
|
175
|
-
console.log(this.table.rows);
|
|
176
173
|
this.changeRows.emit(this.row.Data);
|
|
177
174
|
}
|
|
178
175
|
else {
|
|
@@ -428,4 +425,4 @@ TableRowComponent.propDecorators = {
|
|
|
428
425
|
loadParent: [{ type: Output }],
|
|
429
426
|
childrenDiv: [{ type: ViewChild, args: ['childrenDiv',] }]
|
|
430
427
|
};
|
|
431
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90YWJsZS9yb3cvdGFibGUucm93LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQUUsd0JBQXdCLEVBQ2hDLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sMEJBQTBCLENBQUM7QUFPbEMsTUFBTSxPQUFPLGlCQUFpQjtJQW9CNUIsWUFBbUIsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFsQnBELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVF4QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd4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QUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNuRyxDQUFDOzs7WUF6WUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixxdEVBQXlDOzthQUUxQzs7O1lBVE8sd0JBQXdCOzs7MEJBVzdCLE1BQU07eUJBRU4sTUFBTTtvQkFFTixLQUFLO29CQUVMLEtBQUs7a0JBRUwsS0FBSzt5QkFFTCxNQUFNOzBCQVFOLFNBQVMsU0FBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7VGFibGVDbGFzcywgVGFibGVDb2xsQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvdGFibGUuY2xhc3MnO1xyXG5pbXBvcnQge1xyXG4gIEVudW1VdGlscyxcclxuICBJbnB1dFR5cGUsXHJcbiAgTWV0aG9kLCBQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0sXHJcbiAgUGVybWlzc2lvbklucHV0QWN0aW9uRW51bSxcclxuICBQZXJtaXNzaW9uSW5wdXRUeXBlRW51bSxcclxuICBQZXJtaXNzaW9uVHlwZUVudW0sXHJcbiAgVGFibGVDb2xsVHlwZSxcclxuICBUYWJsZU9wdGlvblR5cGVcclxufSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0Q2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuaW1wb3J0IHtQZXJtaXNzaW9uQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvcGVybWlzc2lvbi5jbGFzcyc7XHJcbmltcG9ydCAnanF1ZXJ5LXVpLWRpc3QvanF1ZXJ5LXVpJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlLXJvdycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLnJvdy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUucm93LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVSb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQE91dHB1dCgpXHJcbiAgY29uZmlybVNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VSb3dzID0gbmV3IEV2ZW50RW1pdHRlcjxvYmplY3Q+KCk7XHJcbiAgQElucHV0KClcclxuICBsZXZlbDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpXHJcbiAgdGFibGU6IFRhYmxlQ2xhc3M7XHJcbiAgQElucHV0KClcclxuICByb3c7XHJcbiAgQE91dHB1dCgpXHJcbiAgbG9hZFBhcmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGdldCB0eXBlKCk6IHR5cGVvZiBJbnB1dFR5cGUgeyByZXR1cm4gSW5wdXRUeXBlOyB9XHJcbiAgZ2V0IHRhYmxlT3B0aW9uVHlwZSgpOiB0eXBlb2YgVGFibGVPcHRpb25UeXBleyByZXR1cm4gVGFibGVPcHRpb25UeXBlOyB9XHJcbiAgc2hvd0NoaWxkcmVuOiBJbnB1dENsYXNzID0gbnVsbDtcclxuICBhZGRDaGlsZHJlbjogSW5wdXRDbGFzcyA9IG51bGw7XHJcbiAgY2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgb3B0aW9uczogYW55W10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdjaGlsZHJlbkRpdicpIGNoaWxkcmVuRGl2OiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbil7XHJcbiAgICAgIGlmICghdGhpcy50YWJsZS5jaGlsZHJlbkF1dG9Mb2FkKXtcclxuICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhpcy5nZXRDaGlsZHJlbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLmhhc0FjY2VzcyhQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uSW5zZXJ0KSl7XHJcbiAgICAgICAgdGhpcy5hZGRDaGlsZHJlbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgdGhpcy50YWJsZS5uYW1lICsgJ0FkZFN1YnNldFRpdGxlJyxcclxuICAgICAgICAgICdmYS1kdW90b25lIGZhLXBsdXMgZmEtcm90YXRlLTkwJywgSW5wdXRUeXBlLkljb24sXHJcbiAgICAgICAgICAnZ3JlZW4gbS1oLTUgaC0yNSBkLWliIHZhLW0gZi11Jyk7XHJcbiAgICAgICAgdGhpcy5hZGRDaGlsZHJlbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dDaGlsZHJlbi50eXBlID0gSW5wdXRUeXBlLkljb247XHJcbiAgICAgICAgICAgIHRoaXMubG9hZENoaWxkcmVuKHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2hvd0luc2VydE1vZGFsKHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zaG93Q2hpbGRyZW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIHRoaXMudGFibGUubmFtZSArICdTdWJzZXRUaXRsZScsICdmYS1kdW90b25lIGZhLWFuZ2xlLWxlZnQgZi1zLTIyJyxcclxuICAgICAgICB0aGlzLnJvdy5EYXRhLkNvdW50Q2hpbGQgPiAwIHx8ICghdGhpcy50YWJsZS5jaGlsZHJlbkF1dG9Mb2FkICYmIHRoaXMuY2hpbGRyZW4ubGVuZ3RoID4gMCkgPyBJbnB1dFR5cGUuSWNvbiA6IElucHV0VHlwZS5IaWRkZW4sICdoLTI1IG0taC01IGQtaWIgdmEtbSBmLXUnKTtcclxuICAgICAgdGhpcy5zaG93Q2hpbGRyZW4ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBpZiAoJCh0aGlzLmNoaWxkcmVuRGl2Lm5hdGl2ZUVsZW1lbnQpLmlzKCc6dmlzaWJsZScpKXtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZVVwKCk7XHJcbiAgICAgICAgICB0aGlzLnNob3dDaGlsZHJlbi5pY29uID0gJ2ZhLWR1b3RvbmUgZmEtYW5nbGUtbGVmdCBmLXMtMjInO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jaGlsZHJlbi5sZW5ndGggPT09IDApe1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4odGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZURvd24oKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuLmljb24gPSAnZmEtZHVvdG9uZSBmYS1hbmdsZS1kb3duIGYtcy0yMic7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnNldFNvcnRSb3coKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0T3B0aW9ucygpO1xyXG4gIH1cclxuICBsb2FkQ2hpbGRyZW4ocCk6IHZvaWR7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBQYWdlOiAxLCBQZXJQYWdlOiAtMSxcclxuICAgICAgU29ydDogdGhpcy50YWJsZS5zb3J0YWJsZSA/ICdQcmlvcml0eScgOiAnSUQnLFxyXG4gICAgICBTb3J0VHlwZTogdGhpcy50YWJsZS5zb3J0YWJsZSA/ICdBc2MnIDogJ0RFU0MnXHJcbiAgICB9O1xyXG4gICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQodGhpcy50YWJsZS51cmwgKyBgLyR7cH1gLCBNZXRob2QuUG9zdCxcclxuICAgICAgZGF0YSwgdGhpcy5zaG93Q2hpbGRyZW4sIChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmNoaWxkcmVuID0gcmVzdWx0Lkxpc3Q7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAkKHRoaXMuY2hpbGRyZW5EaXYubmF0aXZlRWxlbWVudCkuc2xpZGVEb3duKCk7XHJcbiAgICAgICAgICB0aGlzLnNob3dDaGlsZHJlbi5pY29uID0gJ2ZhLWR1b3RvbmUgZmEtYW5nbGUtZG93biBmLXMtMjInO1xyXG4gICAgICAgIH0sIDUwKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHNlbGVjdCgpOiB2b2lke1xyXG4gICAgdGhpcy5yb3cuRGF0YS5zZWxlY3RlZCA9ICF0aGlzLnJvdy5EYXRhLnNlbGVjdGVkO1xyXG4gIH1cclxuICBvbkNoYW5nZVJvd3MoZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VSb3dzLmVtaXQoZSk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybVNob3coZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maXJtU2hvdy5lbWl0KGUpO1xyXG4gIH1cclxuICBzZXRTb3J0Um93KCk6IHZvaWR7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMudGFibGUuaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgJCh0aGlzLmNoaWxkcmVuRGl2Lm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKHtcclxuICAgICAgICAgIGF4aXM6ICd5JyxcclxuICAgICAgICAgIGl0ZW1zOiAnLnJvdycsXHJcbiAgICAgICAgICBoYW5kbGU6ICc+IC5oYW5kbGUtY29uID4gLmhhbmRsZS5oYW5kbGUtc29ydGFibGUnLFxyXG4gICAgICAgICAgdXBkYXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBbXTtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAkKHRoaXMuY2hpbGRyZW5EaXYubmF0aXZlRWxlbWVudCkuc29ydGFibGUoJ3RvQXJyYXknLCB7YXR0cmlidXRlOiAnZGF0YS1pZCd9KS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgICAgIGRhdGEucHVzaChwYXJzZUludCh4LCAxMCkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgICAgcC5BcmVhID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICAgIHAuQWN0aW9uID0gJ3NvcnQnO1xyXG4gICAgICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZChwLmdldFVybCgpLnRvTG93ZXJDYXNlKCksIE1ldGhvZC5Qb3N0LCB7SWRzOiBkYXRhfSwgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLm9uU29ydCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLm9uU29ydCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sIDUwMCk7XHJcbiAgfVxyXG5cclxuICBnZXRPcHRpb25VcmwodXJsLCByZWxhdGVkSWQsIHJvd0lkKTogc3RyaW5ne1xyXG4gICAgcmV0dXJuIChyZWxhdGVkSWQgPyB1cmwucmVwbGFjZSgne30nLCByZWxhdGVkSWQpIDogdXJsKS5yZXBsYWNlKCd7fScsIHJvd0lkKTtcclxuICB9XHJcbiAgc2V0T3B0aW9ucygpOiB2b2lke1xyXG4gICAgY29uc3Qgb3B0cyA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBvcHRpb24gb2YgdGhpcy5yb3cuT3B0aW9ucy5maWx0ZXIoeCA9PiB4LlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb24gJiYgeC5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5JbnB1dCkpe1xyXG4gICAgICBjb25zdCBpbnAgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIG51bGwsIG51bGwsIElucHV0VHlwZS5DaGVjaywgJ2gtMjUgd2l0aG91dC1ib3JkZXIgbS1oLTUgcC0wIHctdScsIHRoaXMucm93LkRhdGFbb3B0aW9uLkFjdGlvbl0gPT09IHRydWUpO1xyXG4gICAgICBpbnAucm93ID0gdGhpcy5yb3c7XHJcbiAgICAgIGlucC50b29sdGlwID0gb3B0aW9uLk5hbWU7XHJcbiAgICAgIGlucC5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnJvdy5EYXRhW29wdGlvbi5BY3Rpb25dID0gIWlucC5kYXRhKCk7XHJcbiAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQob3B0aW9uLlVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpLCBNZXRob2QuUG9zdCwgbnVsbCwgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICBpbnAuZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgIG9wdHMucHVzaChpbnApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYWRkQ2hpbGRyZW4gIT09IG51bGwgJiYgKHRoaXMudGFibGUubGV2ZWwgPT09IG51bGwgfHwgdGhpcy50YWJsZS5sZXZlbCA+IHRoaXMubGV2ZWwpKXtcclxuICAgICAgb3B0cy5wdXNoKHRoaXMuYWRkQ2hpbGRyZW4pO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBvcHRpb24gb2YgdGhpcy5yb3cuT3B0aW9ucy5maWx0ZXIoeCA9PiB4LlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb24gJiYgeC5JbnB1dEFjdGlvbiAhPT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5JbnB1dCkpe1xyXG4gICAgICBjb25zdCBvcHQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIG9wdGlvbi5OYW1lLCBvcHRpb24uSWNvbixcclxuICAgICAgICBvcHRpb24uSW5wdXRUeXBlID09PSBQZXJtaXNzaW9uSW5wdXRUeXBlRW51bS5JY29uID8gSW5wdXRUeXBlLkljb24gOiBJbnB1dFR5cGUuQnV0dG9uLCAnYmx1ZSBoLTI1IG0taC01IGQtaWIgdmEtbSBmLXUnKTtcclxuICAgICAgb3B0LnJvdyA9IHRoaXMucm93O1xyXG4gICAgICBpZiAob3B0aW9uLkFjY2Vzc1R5cGUgPT09IFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bS5VcGRhdGUpe1xyXG4gICAgICAgIGlmICh0aGlzLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgb3B0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUuZm9ybS51cmwgPSB0aGlzLmdldE9wdGlvblVybChvcHRpb24uVXJsLCB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZCwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLmhhc0NoaWxkcmVuICYmIHRoaXMucm93LkRhdGEuUGFyZW50SWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS5tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50YWJsZS5jaGlsZHJlbkF1dG9Mb2FkKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUGFyZW50LmVtaXQodGhpcy5yb3cuRGF0YS5QYXJlbnRJZCk7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0ub25TdWNjZXNzQmFzZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50YWJsZS5mb3JtLm9uVG9wKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0uY2xlYXIoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5lZGl0KG9wdCwgb3B0aW9uKTtcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9wdC51cmwgPSB0aGlzLmdldE9wdGlvblVybChvcHRpb24uVXJsLCB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZCwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdGlvbi5BY2Nlc3NUeXBlID09PSBQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uRGVsZXRlKXtcclxuICAgICAgICBvcHQuY2xhc3MgPSBvcHQuY2xhc3MucmVwbGFjZSgnYmx1ZScsICdyZWQnKTtcclxuICAgICAgICBvcHQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0uY2xlYXIoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMudGFibGUucm93cyk7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUucm93cyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiB4LkRhdGEuSWQgIT09IHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnRhYmxlLnJvd3MpO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZVJvd3MuZW1pdCh0aGlzLnJvdy5EYXRhKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlybVNob3cuZW1pdCh7XHJcbiAgICAgICAgICAgICAgYWN0aW9uOiBvcHRpb24uQWN0aW9uLFxyXG4gICAgICAgICAgICAgIHVybDogdGhpcy5nZXRPcHRpb25Vcmwob3B0aW9uLlVybCwgdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQsIHRoaXMucm93LkRhdGEuSWQpLFxyXG4gICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuaGFzQ2hpbGRyZW4gJiYgdGhpcy50YWJsZS5jaGlsZHJlbkF1dG9Mb2FkICYmIHRoaXMucm93LkRhdGEuUGFyZW50SWQgIT0gbnVsbCApe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxvYWRQYXJlbnQuZW1pdCh0aGlzLnJvdy5EYXRhLlBhcmVudElkKTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9fSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uQWNjZXNzVHlwZSA9PT0gUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLlJlcG9ydCl7XHJcbiAgICAgICAgb3B0LnVybCA9ICcvcmVwb3J0JyArIG9wdGlvbi5VcmwucmVwbGFjZSgne30nLCB0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTGluayB8fCBvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTGlua05ld1RhYil7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBvcHQudXJsID0gb3B0aW9uLlVybCArICcvJyArIHRoaXMucm93LkRhdGEuSWQ7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5MaW5rTmV3VGFiO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5Nb2RhbCl7XHJcbiAgICAgICAgb3B0Lm1vZGFsID0gdGhpcy50YWJsZS5vcHRpb25zQWN0aW9ucy5maW5kKHggPT4geC5uYW1lID09PSBvcHRpb24uQWN0aW9uKTtcclxuICAgICAgICBvcHQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUpe1xyXG4gICAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucm93LkRhdGEuSWQ7XHJcbiAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgcC5Db250cm9sbGVyID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICAgIHAuQWNjZXNzZXMgPSB0aGlzLnJvdy5PcHRpb25zLmZpbHRlcih4ID0+IHguUGFyZW50SWQgPT09IG9wdGlvbi5JZCk7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5wZXJtaXNzaW9ucyA9IHA7XHJcbiAgICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLmZvcm0udXJsID0gb3B0aW9uLlVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpICsgJy1pbnNlcnQnO1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5mb3JtLmJhc2VVcmwgPSBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCkgKyAnLWluc2VydCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLnNldCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG9wdC5tb2RhbC5mb3JtKXtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubmFtZSA9IG9wdGlvbi5OYW1lO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS51cmwgPSBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCkgKyAnLXVwZGF0ZSc7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLmxvYWREYXRhKG9wdGlvbi5VcmwucmVwbGFjZSgne30nLCB0aGlzLnJvdy5EYXRhLklkKSArICctZ2V0Jyk7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLmhpZGUoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvcHQubW9kYWwuYWNjb3JkaW9uKXtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByIG9mIG9wdC5tb2RhbC5hY2NvcmRpb24ucm93cyl7XHJcbiAgICAgICAgICAgICAgaWYgKHIudGFibGUpe1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5yb3cuT3B0aW9ucykpO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgcm93T3B0aW9uID0gb3B0aW9ucy5maW5kKHggPT4geC5QYXJlbnRJZCA9PT0gb3B0aW9uLklkICYmIHguQWN0aW9uID09PSByLm5hbWUpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5yb3cuRGF0YS5JZDtcclxuICAgICAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgICAgIHAuQ29udHJvbGxlciA9IG9wdGlvbi5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICAgICAgcC5BY3Rpb24gPSByLm5hbWU7XHJcbiAgICAgICAgICAgICAgICBwLkFjY2Vzc2VzID0gb3B0aW9ucy5maWx0ZXIoeCA9PiB4LlBhcmVudElkID09PSByb3dPcHRpb24uSWQpO1xyXG4gICAgICAgICAgICAgICAgci50YWJsZS5wZXJtaXNzaW9ucyA9IHA7XHJcbiAgICAgICAgICAgICAgICBpZiAoci50YWJsZS5mb3JtKXtcclxuICAgICAgICAgICAgICAgICAgci50YWJsZS5mb3JtLnVybCA9IG9wdGlvbi5VcmwgKyAnaW5zZXJ0JztcclxuICAgICAgICAgICAgICAgICAgci50YWJsZS5mb3JtLmJhc2VVcmwgPSBvcHRpb24uVXJsICsgJ2luc2VydCc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByLnRhYmxlLnNldCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLkZpbGUpe1xyXG4gICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgcC5SZWxhdGVkSWQgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZDtcclxuICAgICAgICBwLkFyZWEgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgcC5Db250cm9sbGVyID0gb3B0aW9uLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgcC5BY3Rpb24gPSBvcHRpb24uQWN0aW9uO1xyXG4gICAgICAgIG9wdC51cmwgPSAnL2ZpbGUnICsgdGhpcy5nZXRPcHRpb25Vcmwob3B0aW9uLlVybCwgdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgIG9wdC51cmxOZXdUYWIgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5Db25maXJtKXtcclxuICAgICAgICBvcHQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgICAgcC5BcmVhID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgICAgcC5Db250cm9sbGVyID0gb3B0aW9uLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLnNob3dDb25maXJtKHRoaXMudGFibGUubChvcHRpb24uQWN0aW9uICsgJ0NvbmZpcm0nKSwgb3B0aW9uLlVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uT25DbGljayl7XHJcbiAgICAgICAgb3B0Lm9uQ2xpY2sgPSAoYnRuKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLm9wdGlvbnNBY3Rpb25zLmZpbmQoeCA9PiB4Lm5hbWUgPT09IG9wdGlvbi5BY3Rpb24pLm9uQ2xpY2soYnRuKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIG9wdHMucHVzaChvcHQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0cztcclxuICAgIC8vIHJldHVybiAodGhpcy5hZGRDaGlsZHJlbiAhPT0gbnVsbCAmJiAodGhpcy50YWJsZS5sZXZlbCA9PT0gbnVsbCB8fCB0aGlzLnRhYmxlLmxldmVsID4gdGhpcy5sZXZlbCkgPyBbdGhpcy5hZGRDaGlsZHJlbl0gOiBbXSlcclxuICAgIC8vICAgLmNvbmNhdCh0aGlzLnRhYmxlLm9wdGlvbnMuZmlsdGVyKHggPT4geC5jb25kaXRpb24gPT0gbnVsbCB8fFxyXG4gICAgLy8gICAgICh4LmNvbmRpdGlvbi5zdGFydHNXaXRoKCchJykgPyAhdGhpcy5yb3cuRGF0YVt4LmNvbmRpdGlvbi5zdWJzdHJpbmcoMSldIDogdGhpcy5yb3cuRGF0YVt4LmNvbmRpdGlvbl0pKS5tYXAoKG8pID0+IHtcclxuICAgIC8vICAgICBjb25zdCBpID0gSGVscGVyQ2xhc3MuY2xvbmUobyk7XHJcbiAgICAvLyAgICAgaWYgKGkudXJsKXtcclxuICAgIC8vICAgICAgIGkudXJsID0gaS51cmwucmVwbGFjZSgne30nLCB0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgaS5yb3cgPSB0aGlzLnJvdy5EYXRhO1xyXG4gICAgLy8gICAgIGkuY2xhc3MgPSBpLmNsYXNzICsgJyBtLWgtNSBoLTI1IGQtaWIgdmEtbSBmLXUnO1xyXG4gICAgLy8gICAgIHJldHVybiBpO1xyXG4gICAgLy8gfSkpLmNvbmNhdCh0aGlzLnRhYmxlLmhhc1N0YXR1cyA/IFt0aGlzLm9wdFN0YXR1c10gOiBbXSlcclxuICAgIC8vICAgICAuY29uY2F0KHRoaXMudGFibGUucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdVcGRhdGUnKSA/IFt0aGlzLm9wdEVkaXRdIDogW10pXHJcbiAgICAvLyAgICAgLmNvbmNhdCh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLmhhc0FjY2VzcygnRGVsZXRlJykgPyBbdGhpcy5vcHREZWxldGVdIDogW10pO1xyXG4gIH1cclxuICBnZXRDZWxsKGNvbDogVGFibGVDb2xsQ2xhc3MpOiBhbnl7XHJcbiAgICBjb25zb2xlLmxvZygnZ2V0Q2VsbCcpO1xyXG4gICAgY29uc3QgY3YgPSBfLmdldCh0aGlzLnJvdy5EYXRhLCBjb2wubmFtZSk7XHJcbiAgICBpZiAoY3YgPT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIGNvbC5kZWZhdWx0ID8gY29sLmRlZmF1bHQgOiAnJztcclxuICAgIH0gZWxzZSBpZiAoY29sLmZ1biAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBjb2wuZnVuKHRoaXMucm93LkRhdGEpO1xyXG4gICAgfSBlbHNlIGlmIChjb2wuZW51bSAhPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50YWJsZS5sKEVudW1VdGlscy5nZXRLZXlCeVZhbHVlKGNvbC5lbnVtLCBjdikpO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5EYXRlRGlmKSB7XHJcbiAgICAgIHJldHVybiBIZWxwZXJDbGFzcy5nZXREYXRlRGlmKHRoaXMudGFibGUubCwgY3YpO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5EYXRlKSB7XHJcbiAgICAgIHJldHVybiBIZWxwZXJDbGFzcy5nZXREYXRlKGN2KTtcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuRGF0ZVRpbWUpIHtcclxuICAgICAgcmV0dXJuICc8c3BhbiBjbGFzcz1cImx0clwiPicgKyBIZWxwZXJDbGFzcy5nZXREYXRlVGltZShjdikgKyAnPC9zcGFuPic7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlRpbWUpIHtcclxuICAgICAgcmV0dXJuIEhlbHBlckNsYXNzLmdldFRpbWUoY3YpO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5Db2xvcikge1xyXG4gICAgICByZXR1cm4gJzxkaXYgY2xhc3M9XCJjb2xvclwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogJyArIGN2ICsgJzsgY29sb3I6ICcgKyBIZWxwZXJDbGFzcy5nZXRDb2xvckJ5QmdDb2xvcihjdikgKyAnXCI+JyArIGN2ICsgJzwvZGl2Pic7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlVybCkge1xyXG4gICAgICByZXR1cm4gJzxhIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwibHRyXCIgaHJlZj1cIicgKyBjdiArICdcIj4nICsgY3YgKyAnPC9hPic7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkltYWdlKSB7XHJcbiAgICAgIHJldHVybiAnPGltZyBzdHlsZT1cImhlaWdodDogJyArIHRoaXMudGFibGUuaGVpZ2h0ICsgJ3B4XCIgYWx0PVwiXCIgc3JjPVwiJyArIHRoaXMuc2VydmljZS5lbnZpcm9ubWVudC51cmwgKyBjdiArICdcIi8+JztcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuRmlsZVNpemUpIHtcclxuICAgICAgcmV0dXJuIEhlbHBlckNsYXNzLmdldEZpbGVTaXplKGN2KTtcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuUHJpY2UpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChjdikudG9Mb2NhbGVTdHJpbmcoKSArICcgJyArIHRoaXMudGFibGUubCgnUmlhbCcpO1xyXG4gICAgICB9Y2F0Y2gge31cclxuICAgIH0gIGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLk51bWJlcikge1xyXG4gICAgICByZXR1cm4gY3YudG9Mb2NhbGVTdHJpbmcoKTtcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuUGxhcXVlKSB7XHJcbiAgICAgIGNvbnN0IHBhcnRzID0gY3Yuc3BsaXQoJ18nKTtcclxuICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gNCkge1xyXG4gICAgICAgIHJldHVybiAnPGRpdiBkYXRhLWNvcHk9XCInICsgcGFydHMuam9pbignICcpICsgJ1wiIGNsYXNzPVwicGxhcXVlJyArIChwYXJ0c1sxXSA9PT0gJ9i5JyA/ICcgcCcgOiAnJykgKyAocGFydHNbMV0gPT09ICfYpycgPyAnIGcnIDogJycpICsgJ1wiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDJcIj4nICsgcGFydHNbMV0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cInBhcnQzXCI+JyArIHBhcnRzWzJdICsgJzwvZGl2PicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0NFwiPicgKyBwYXJ0c1szXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8L2Rpdj4nO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMiAmJiBwYXJ0cy5ldmVyeSh4ID0+IC9eWzAtOV0rJC8udGVzdCh4KSkpe1xyXG4gICAgICAgIHJldHVybiAnPGRpdiBkYXRhLWNvcHk9XCInICsgcGFydHMuam9pbignICcpICsgJ1wiIGNsYXNzPVwicGxhcXVlIHBsYXF1ZS1tXCI+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cInBhcnQxXCI+JyArIHBhcnRzWzBdICsgJzwvZGl2PicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MlwiPicgKyBwYXJ0c1sxXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8L2Rpdj4nO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMil7XHJcbiAgICAgICAgcmV0dXJuICc8ZGl2IGRhdGEtY29weT1cIicgKyBwYXJ0cy5qb2luKCcgJykgKyAnXCIgY2xhc3M9XCJwbGFxdWUgcGxhcXVlLWZcIj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDFcIj4nICsgcGFydHNbMF0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cInBhcnQyXCI+JyArIHBhcnRzWzFdICsgJzwvZGl2PicgK1xyXG4gICAgICAgICAgJzwvZGl2Pic7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFydHMubGVuZ3RoID09PSAxKXtcclxuICAgICAgICByZXR1cm4gJzxkaXYgZGF0YS1jb3B5PVwiJyArIHBhcnRzWzBdICsgJ1wiIGNsYXNzPVwicGxhcXVlIHBsYXF1ZS1nXCI+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cInBhcnQxXCI+JyArIHBhcnRzWzBdICsgJzwvZGl2PicgK1xyXG4gICAgICAgICAgJzwvZGl2Pic7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuUGxhcXVlVGV4dCkge1xyXG4gICAgICBjb25zdCBwYXJ0cyA9IGN2LnNwbGl0KCdfJyk7XHJcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDQpe1xyXG4gICAgICAgIHJldHVybiBgPGRpdiBjbGFzcz1cImx0clwiPiR7cGFydHNbMF19ICR7cGFydHNbMV19JmxybTsgJHtwYXJ0c1syXX0gJHtwYXJ0c1szXX08L2Rpdj5gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5sKGN2KTtcclxuICB9XHJcbiAgZ2V0Q29sKG4pOiBzdHJpbmd7XHJcbiAgICBsZXQgYyA9IHRoaXMucm93LkRhdGE7XHJcbiAgICBuLnNwbGl0KCcuJykuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICBjID0gY1t4XTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGM7XHJcbiAgfVxyXG4gIGVkaXQob3B0OiBJbnB1dENsYXNzLCBvcHRpb246IFBlcm1pc3Npb25DbGFzcyk6IHZvaWR7XHJcbiAgICB0aGlzLnRhYmxlLmZvcm0uaXNFZGl0ID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtKXtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLm5hbWUgPSBvcHQubmFtZTtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLnNldERhdGEodGhpcy5yb3cuRGF0YSk7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5zZXRCdXR0b25zKHRoaXMudGFibGUuZm9ybS5vblRvcCwgdHJ1ZSwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5pbnB1dHMuZmlsdGVyKHggPT4geC5pbkVkaXREaXNhYmxlZCkuZm9yRWFjaCh4ID0+IHguZGlzYWJsZWQgPSB0cnVlKTtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gZmFsc2UpO1xyXG4gICAgICB0aGlzLnRhYmxlLmZvcm0uaW5wdXRzLmZvckVhY2goeCA9PiB4LnJlcXVpcmVkID0geC5pbkVkaXRSZXF1aXJlZCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQodGhpcy5nZXRPcHRpb25Vcmwob3B0aW9uLlVybC5yZXBsYWNlKCd1cGRhdGUnLCAnZ2V0JyksIHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkLCB0aGlzLnJvdy5EYXRhLklkKSwgTWV0aG9kLlBvc3QsXHJcbiAgICAgICAgbnVsbCwgb3B0LCAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0ubmFtZSA9IG9wdC5uYW1lO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLnNldERhdGEocmVzdWx0KTtcclxuICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5zZXRCdXR0b25zKHRoaXMudGFibGUuZm9ybS5vblRvcCwgdHJ1ZSwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0uaW5wdXRzLmZpbHRlcih4ID0+IHguaW5FZGl0RGlzYWJsZWQpLmZvckVhY2goeCA9PiB4LmRpc2FibGVkID0gdHJ1ZSk7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0uaW5wdXRzLmZpbHRlcih4ID0+ICF4LmluRWRpdFZpc2libGUpLmZvckVhY2goeCA9PiB4LnZpc2libGUgPSBmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0uaW5wdXRzLmZvckVhY2goeCA9PiB4LnJlcXVpcmVkID0geC5pbkVkaXRSZXF1aXJlZCk7XHJcbiAgICAgICAgICBpZiAodGhpcy50YWJsZS5tb2RhbCl7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUubW9kYWwuc2hvdyh0cnVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnRhYmxlLmZvcm0ub25Mb2FkKXtcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm9uTG9hZChyZXN1bHQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRDaGlsZHJlbigpOiBhbnlbXXtcclxuICAgIHJldHVybiB0aGlzLnJvdy5EYXRhLklkID8gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+IHguRGF0YS5QYXJlbnRJZCA9PT0gdGhpcy5yb3cuRGF0YS5JZCkgOiBbXTtcclxuICB9XHJcbn1cclxuIl19
|
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90YWJsZS9yb3cvdGFibGUucm93LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQUUsd0JBQXdCLEVBQ2hDLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sMEJBQTBCLENBQUM7QUFPbEMsTUFBTSxPQUFPLGlCQUFpQjtJQW9CNUIsWUFBbUIsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFsQnBELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVF4QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd4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QU07MEJBUU4sU0FBUyxTQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHtUYWJsZUNsYXNzLCBUYWJsZUNvbGxDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy90YWJsZS5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgRW51bVV0aWxzLFxyXG4gIElucHV0VHlwZSxcclxuICBNZXRob2QsIFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bSxcclxuICBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLFxyXG4gIFBlcm1pc3Npb25JbnB1dFR5cGVFbnVtLFxyXG4gIFBlcm1pc3Npb25UeXBlRW51bSxcclxuICBUYWJsZUNvbGxUeXBlLFxyXG4gIFRhYmxlT3B0aW9uVHlwZVxyXG59IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvaGVscGVyLmNsYXNzJztcclxuaW1wb3J0IHtQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQge1Blcm1pc3Npb25DbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9wZXJtaXNzaW9uLmNsYXNzJztcclxuaW1wb3J0ICdqcXVlcnktdWktZGlzdC9qcXVlcnktdWknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUtcm93JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUucm93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5yb3cuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVJvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBAT3V0cHV0KClcclxuICBjb25maXJtU2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZVJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcclxuICBASW5wdXQoKVxyXG4gIGxldmVsOiBudW1iZXI7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBASW5wdXQoKVxyXG4gIHJvdztcclxuICBAT3V0cHV0KClcclxuICBsb2FkUGFyZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZSB7IHJldHVybiBJbnB1dFR5cGU7IH1cclxuICBnZXQgdGFibGVPcHRpb25UeXBlKCk6IHR5cGVvZiBUYWJsZU9wdGlvblR5cGV7IHJldHVybiBUYWJsZU9wdGlvblR5cGU7IH1cclxuICBzaG93Q2hpbGRyZW46IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIGFkZENoaWxkcmVuOiBJbnB1dENsYXNzID0gbnVsbDtcclxuICBjaGlsZHJlbjogYW55W10gPSBbXTtcclxuICBvcHRpb25zOiBhbnlbXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ2NoaWxkcmVuRGl2JykgY2hpbGRyZW5EaXY6IEVsZW1lbnRSZWY7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSkge1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRhYmxlLmhhc0NoaWxkcmVuKXtcclxuICAgICAgaWYgKCF0aGlzLnRhYmxlLmNoaWxkcmVuQXV0b0xvYWQpe1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLmdldENoaWxkcmVuKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGFibGUucGVybWlzc2lvbnMuaGFzQWNjZXNzKFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bS5JbnNlcnQpKXtcclxuICAgICAgICB0aGlzLmFkZENoaWxkcmVuID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCB0aGlzLnRhYmxlLm5hbWUgKyAnQWRkU3Vic2V0VGl0bGUnLFxyXG4gICAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtcGx1cyBmYS1yb3RhdGUtOTAnLCBJbnB1dFR5cGUuSWNvbixcclxuICAgICAgICAgICdncmVlbiBtLWgtNSBoLTI1IGQtaWIgdmEtbSBmLXUnKTtcclxuICAgICAgICB0aGlzLmFkZENoaWxkcmVuLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0ub25TdWNjZXNzQmFzZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuLnR5cGUgPSBJbnB1dFR5cGUuSWNvbjtcclxuICAgICAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4odGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5zaG93SW5zZXJ0TW9kYWwodGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNob3dDaGlsZHJlbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgdGhpcy50YWJsZS5uYW1lICsgJ1N1YnNldFRpdGxlJywgJ2ZhLWR1b3RvbmUgZmEtYW5nbGUtbGVmdCBmLXMtMjInLFxyXG4gICAgICAgIHRoaXMucm93LkRhdGEuQ291bnRDaGlsZCA+IDAgfHwgKCF0aGlzLnRhYmxlLmNoaWxkcmVuQXV0b0xvYWQgJiYgdGhpcy5jaGlsZHJlbi5sZW5ndGggPiAwKSA/IElucHV0VHlwZS5JY29uIDogSW5wdXRUeXBlLkhpZGRlbiwgJ2gtMjUgbS1oLTUgZC1pYiB2YS1tIGYtdScpO1xyXG4gICAgICB0aGlzLnNob3dDaGlsZHJlbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGlmICgkKHRoaXMuY2hpbGRyZW5EaXYubmF0aXZlRWxlbWVudCkuaXMoJzp2aXNpYmxlJykpe1xyXG4gICAgICAgICAgJCh0aGlzLmNoaWxkcmVuRGl2Lm5hdGl2ZUVsZW1lbnQpLnNsaWRlVXAoKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuLmljb24gPSAnZmEtZHVvdG9uZSBmYS1hbmdsZS1sZWZ0IGYtcy0yMic7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCl7XHJcbiAgICAgICAgICB0aGlzLmxvYWRDaGlsZHJlbih0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgJCh0aGlzLmNoaWxkcmVuRGl2Lm5hdGl2ZUVsZW1lbnQpLnNsaWRlRG93bigpO1xyXG4gICAgICAgICAgdGhpcy5zaG93Q2hpbGRyZW4uaWNvbiA9ICdmYS1kdW90b25lIGZhLWFuZ2xlLWRvd24gZi1zLTIyJztcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50YWJsZS5zb3J0YWJsZSl7XHJcbiAgICAgIHRoaXMuc2V0U29ydFJvdygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRPcHRpb25zKCk7XHJcbiAgfVxyXG4gIGxvYWRDaGlsZHJlbihwKTogdm9pZHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIFBhZ2U6IDEsIFBlclBhZ2U6IC0xLFxyXG4gICAgICBTb3J0OiB0aGlzLnRhYmxlLnNvcnRhYmxlID8gJ1ByaW9yaXR5JyA6ICdJRCcsXHJcbiAgICAgIFNvcnRUeXBlOiB0aGlzLnRhYmxlLnNvcnRhYmxlID8gJ0FzYycgOiAnREVTQydcclxuICAgIH07XHJcbiAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArIGAvJHtwfWAsIE1ldGhvZC5Qb3N0LFxyXG4gICAgICBkYXRhLCB0aGlzLnNob3dDaGlsZHJlbiwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSByZXN1bHQuTGlzdDtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZURvd24oKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuLmljb24gPSAnZmEtZHVvdG9uZSBmYS1hbmdsZS1kb3duIGYtcy0yMic7XHJcbiAgICAgICAgfSwgNTApO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgc2VsZWN0KCk6IHZvaWR7XHJcbiAgICB0aGlzLnJvdy5EYXRhLnNlbGVjdGVkID0gIXRoaXMucm93LkRhdGEuc2VsZWN0ZWQ7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlUm93cyhlKTogdm9pZHtcclxuICAgIHJldHVybiB0aGlzLmNoYW5nZVJvd3MuZW1pdChlKTtcclxuICB9XHJcbiAgb25Db25maXJtU2hvdyhlKTogdm9pZHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1TaG93LmVtaXQoZSk7XHJcbiAgfVxyXG4gIHNldFNvcnRSb3coKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAkKHRoaXMuY2hpbGRyZW5EaXYubmF0aXZlRWxlbWVudCkuc29ydGFibGUoe1xyXG4gICAgICAgICAgYXhpczogJ3knLFxyXG4gICAgICAgICAgaXRlbXM6ICcucm93JyxcclxuICAgICAgICAgIGhhbmRsZTogJz4gLmhhbmRsZS1jb24gPiAuaGFuZGxlLmhhbmRsZS1zb3J0YWJsZScsXHJcbiAgICAgICAgICB1cGRhdGU6ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zb3J0YWJsZSgndG9BcnJheScsIHthdHRyaWJ1dGU6ICdkYXRhLWlkJ30pLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgICAgZGF0YS5wdXNoKHBhcnNlSW50KHgsIDEwKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgICBwLkFyZWEgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICAgICAgcC5BY3Rpb24gPSAnc29ydCc7XHJcbiAgICAgICAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHAuZ2V0VXJsKCkudG9Mb3dlckNhc2UoKSwgTWV0aG9kLlBvc3QsIHtJZHM6IGRhdGF9LCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGUub25Tb3J0KXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGFibGUub25Tb3J0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIGdldE9wdGlvblVybCh1cmwsIHJlbGF0ZWRJZCwgcm93SWQpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gKHJlbGF0ZWRJZCA/IHVybC5yZXBsYWNlKCd7fScsIHJlbGF0ZWRJZCkgOiB1cmwpLnJlcGxhY2UoJ3t9Jywgcm93SWQpO1xyXG4gIH1cclxuICBzZXRPcHRpb25zKCk6IHZvaWR7XHJcbiAgICBjb25zdCBvcHRzID0gW107XHJcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLnJvdy5PcHRpb25zLmZpbHRlcih4ID0+IHguVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbiAmJiB4LklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLklucHV0KSl7XHJcbiAgICAgIGNvbnN0IGlucCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgbnVsbCwgbnVsbCwgSW5wdXRUeXBlLkNoZWNrLCAnaC0yNSB3aXRob3V0LWJvcmRlciBtLWgtNSBwLTAgdy11JywgdGhpcy5yb3cuRGF0YVtvcHRpb24uQWN0aW9uXSA9PT0gdHJ1ZSk7XHJcbiAgICAgIGlucC5yb3cgPSB0aGlzLnJvdztcclxuICAgICAgaW5wLnRvb2x0aXAgPSBvcHRpb24uTmFtZTtcclxuICAgICAgaW5wLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucm93LkRhdGFbb3B0aW9uLkFjdGlvbl0gPSAhaW5wLmRhdGEoKTtcclxuICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZChvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCksIE1ldGhvZC5Qb3N0LCBudWxsLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGlucC5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgICAgb3B0cy5wdXNoKGlucCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5hZGRDaGlsZHJlbiAhPT0gbnVsbCAmJiAodGhpcy50YWJsZS5sZXZlbCA9PT0gbnVsbCB8fCB0aGlzLnRhYmxlLmxldmVsID4gdGhpcy5sZXZlbCkpe1xyXG4gICAgICBvcHRzLnB1c2godGhpcy5hZGRDaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLnJvdy5PcHRpb25zLmZpbHRlcih4ID0+IHguVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbiAmJiB4LklucHV0QWN0aW9uICE9PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLklucHV0KSl7XHJcbiAgICAgIGNvbnN0IG9wdCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgb3B0aW9uLk5hbWUsIG9wdGlvbi5JY29uLFxyXG4gICAgICAgIG9wdGlvbi5JbnB1dFR5cGUgPT09IFBlcm1pc3Npb25JbnB1dFR5cGVFbnVtLkljb24gPyBJbnB1dFR5cGUuSWNvbiA6IElucHV0VHlwZS5CdXR0b24sICdibHVlIGgtMjUgbS1oLTUgZC1pYiB2YS1tIGYtdScpO1xyXG4gICAgICBvcHQucm93ID0gdGhpcy5yb3c7XHJcbiAgICAgIGlmIChvcHRpb24uQWNjZXNzVHlwZSA9PT0gUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLlVwZGF0ZSl7XHJcbiAgICAgICAgaWYgKHRoaXMudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICBvcHQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLnVybCA9IHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwsIHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkLCB0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuaGFzQ2hpbGRyZW4gJiYgdGhpcy5yb3cuRGF0YS5QYXJlbnRJZCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLm1vZGFsLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLmNoaWxkcmVuQXV0b0xvYWQpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxvYWRQYXJlbnQuZW1pdCh0aGlzLnJvdy5EYXRhLlBhcmVudElkKTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRhYmxlLmZvcm0ub25Ub3Ape1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLm1vZGFsLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmVkaXQob3B0LCBvcHRpb24pO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0LnVybCA9IHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwsIHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkLCB0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLkFjY2Vzc1R5cGUgPT09IFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bS5EZWxldGUpe1xyXG4gICAgICAgIG9wdC5jbGFzcyA9IG9wdC5jbGFzcy5yZXBsYWNlKCdibHVlJywgJ3JlZCcpO1xyXG4gICAgICAgIG9wdC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5jbGVhcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMudGFibGUucGVybWlzc2lvbnMuVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLkZvcm0pe1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLnJvd3MgPSB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5EYXRhLklkICE9PSB0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VSb3dzLmVtaXQodGhpcy5yb3cuRGF0YSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1TaG93LmVtaXQoe1xyXG4gICAgICAgICAgICAgIGFjdGlvbjogb3B0aW9uLkFjdGlvbixcclxuICAgICAgICAgICAgICB1cmw6IHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwsIHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkLCB0aGlzLnJvdy5EYXRhLklkKSxcclxuICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLmhhc0NoaWxkcmVuICYmIHRoaXMudGFibGUuY2hpbGRyZW5BdXRvTG9hZCAmJiB0aGlzLnJvdy5EYXRhLlBhcmVudElkICE9IG51bGwgKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUGFyZW50LmVtaXQodGhpcy5yb3cuRGF0YS5QYXJlbnRJZCk7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfX0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLkFjY2Vzc1R5cGUgPT09IFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bS5SZXBvcnQpe1xyXG4gICAgICAgIG9wdC51cmwgPSAnL3JlcG9ydCcgKyBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLkxpbmsgfHwgb3B0aW9uLklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLkxpbmtOZXdUYWIpe1xyXG4gICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgb3B0LnVybCA9IG9wdGlvbi5VcmwgKyAnLycgKyB0aGlzLnJvdy5EYXRhLklkO1xyXG4gICAgICAgIG9wdC51cmxOZXdUYWIgPSBvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTGlua05ld1RhYjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTW9kYWwpe1xyXG4gICAgICAgIG9wdC5tb2RhbCA9IHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmluZCh4ID0+IHgubmFtZSA9PT0gb3B0aW9uLkFjdGlvbik7XHJcbiAgICAgICAgb3B0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAob3B0Lm1vZGFsLnRhYmxlKXtcclxuICAgICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgICAgcC5SZWxhdGVkSWQgPSB0aGlzLnJvdy5EYXRhLklkO1xyXG4gICAgICAgICAgICBwLkFyZWEgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICAgICAgcC5BY3Rpb24gPSBvcHRpb24uQWN0aW9uO1xyXG4gICAgICAgICAgICBwLkFjY2Vzc2VzID0gdGhpcy5yb3cuT3B0aW9ucy5maWx0ZXIoeCA9PiB4LlBhcmVudElkID09PSBvcHRpb24uSWQpO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwudGFibGUucGVybWlzc2lvbnMgPSBwO1xyXG4gICAgICAgICAgICBpZiAob3B0Lm1vZGFsLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5mb3JtLnVybCA9IG9wdGlvbi5VcmwucmVwbGFjZSgne30nLCB0aGlzLnJvdy5EYXRhLklkKSArICctaW5zZXJ0JztcclxuICAgICAgICAgICAgICBvcHQubW9kYWwudGFibGUuZm9ybS5iYXNlVXJsID0gb3B0aW9uLlVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpICsgJy1pbnNlcnQnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5zZXQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvcHQubW9kYWwuZm9ybSl7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLm5hbWUgPSBvcHRpb24uTmFtZTtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0udXJsID0gb3B0aW9uLlVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpICsgJy11cGRhdGUnO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS5sb2FkRGF0YShvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCkgKyAnLWdldCcpO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob3B0Lm1vZGFsLmFjY29yZGlvbil7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgciBvZiBvcHQubW9kYWwuYWNjb3JkaW9uLnJvd3Mpe1xyXG4gICAgICAgICAgICAgIGlmIChyLnRhYmxlKXtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMucm93Lk9wdGlvbnMpKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJvd09wdGlvbiA9IG9wdGlvbnMuZmluZCh4ID0+IHguUGFyZW50SWQgPT09IG9wdGlvbi5JZCAmJiB4LkFjdGlvbiA9PT0gci5uYW1lKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucm93LkRhdGEuSWQ7XHJcbiAgICAgICAgICAgICAgICBwLkFyZWEgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICAgICAgICBwLkNvbnRyb2xsZXIgPSBvcHRpb24uQ29udHJvbGxlcjtcclxuICAgICAgICAgICAgICAgIHAuQWN0aW9uID0gci5uYW1lO1xyXG4gICAgICAgICAgICAgICAgcC5BY2Nlc3NlcyA9IG9wdGlvbnMuZmlsdGVyKHggPT4geC5QYXJlbnRJZCA9PT0gcm93T3B0aW9uLklkKTtcclxuICAgICAgICAgICAgICAgIHIudGFibGUucGVybWlzc2lvbnMgPSBwO1xyXG4gICAgICAgICAgICAgICAgaWYgKHIudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICAgICAgICAgIHIudGFibGUuZm9ybS51cmwgPSBvcHRpb24uVXJsICsgJ2luc2VydCc7XHJcbiAgICAgICAgICAgICAgICAgIHIudGFibGUuZm9ybS5iYXNlVXJsID0gb3B0aW9uLlVybCArICdpbnNlcnQnO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgci50YWJsZS5zZXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5GaWxlKXtcclxuICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgcC5BcmVhID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgIHAuQ29udHJvbGxlciA9IG9wdGlvbi5Db250cm9sbGVyO1xyXG4gICAgICAgIHAuQWN0aW9uID0gb3B0aW9uLkFjdGlvbjtcclxuICAgICAgICBvcHQudXJsID0gJy9maWxlJyArIHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwsIHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkLCB0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uQ29uZmlybSl7XHJcbiAgICAgICAgb3B0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgcC5SZWxhdGVkSWQgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZDtcclxuICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgIHAuQ29udHJvbGxlciA9IG9wdGlvbi5Db250cm9sbGVyO1xyXG4gICAgICAgICAgcC5BY3Rpb24gPSBvcHRpb24uQWN0aW9uO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5zaG93Q29uZmlybSh0aGlzLnRhYmxlLmwob3B0aW9uLkFjdGlvbiArICdDb25maXJtJyksIG9wdGlvbi5VcmwucmVwbGFjZSgne30nLCB0aGlzLnJvdy5EYXRhLklkKSwgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLk9uQ2xpY2spe1xyXG4gICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5vcHRpb25zQWN0aW9ucy5maW5kKHggPT4geC5uYW1lID09PSBvcHRpb24uQWN0aW9uKS5vbkNsaWNrKGJ0bik7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBvcHRzLnB1c2gob3B0KTtcclxuICAgIH1cclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdHM7XHJcbiAgICAvLyByZXR1cm4gKHRoaXMuYWRkQ2hpbGRyZW4gIT09IG51bGwgJiYgKHRoaXMudGFibGUubGV2ZWwgPT09IG51bGwgfHwgdGhpcy50YWJsZS5sZXZlbCA+IHRoaXMubGV2ZWwpID8gW3RoaXMuYWRkQ2hpbGRyZW5dIDogW10pXHJcbiAgICAvLyAgIC5jb25jYXQodGhpcy50YWJsZS5vcHRpb25zLmZpbHRlcih4ID0+IHguY29uZGl0aW9uID09IG51bGwgfHxcclxuICAgIC8vICAgICAoeC5jb25kaXRpb24uc3RhcnRzV2l0aCgnIScpID8gIXRoaXMucm93LkRhdGFbeC5jb25kaXRpb24uc3Vic3RyaW5nKDEpXSA6IHRoaXMucm93LkRhdGFbeC5jb25kaXRpb25dKSkubWFwKChvKSA9PiB7XHJcbiAgICAvLyAgICAgY29uc3QgaSA9IEhlbHBlckNsYXNzLmNsb25lKG8pO1xyXG4gICAgLy8gICAgIGlmIChpLnVybCl7XHJcbiAgICAvLyAgICAgICBpLnVybCA9IGkudXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIGkucm93ID0gdGhpcy5yb3cuRGF0YTtcclxuICAgIC8vICAgICBpLmNsYXNzID0gaS5jbGFzcyArICcgbS1oLTUgaC0yNSBkLWliIHZhLW0gZi11JztcclxuICAgIC8vICAgICByZXR1cm4gaTtcclxuICAgIC8vIH0pKS5jb25jYXQodGhpcy50YWJsZS5oYXNTdGF0dXMgPyBbdGhpcy5vcHRTdGF0dXNdIDogW10pXHJcbiAgICAvLyAgICAgLmNvbmNhdCh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLmhhc0FjY2VzcygnVXBkYXRlJykgPyBbdGhpcy5vcHRFZGl0XSA6IFtdKVxyXG4gICAgLy8gICAgIC5jb25jYXQodGhpcy50YWJsZS5wZXJtaXNzaW9ucy5oYXNBY2Nlc3MoJ0RlbGV0ZScpID8gW3RoaXMub3B0RGVsZXRlXSA6IFtdKTtcclxuICB9XHJcbiAgZ2V0Q2VsbChjb2w6IFRhYmxlQ29sbENsYXNzKTogYW55e1xyXG4gICAgY29uc29sZS5sb2coJ2dldENlbGwnKTtcclxuICAgIGNvbnN0IGN2ID0gXy5nZXQodGhpcy5yb3cuRGF0YSwgY29sLm5hbWUpO1xyXG4gICAgaWYgKGN2ID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBjb2wuZGVmYXVsdCA/IGNvbC5kZWZhdWx0IDogJyc7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC5mdW4gIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gY29sLmZ1bih0aGlzLnJvdy5EYXRhKTtcclxuICAgIH0gZWxzZSBpZiAoY29sLmVudW0gIT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudGFibGUubChFbnVtVXRpbHMuZ2V0S2V5QnlWYWx1ZShjb2wuZW51bSwgY3YpKTtcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuRGF0ZURpZikge1xyXG4gICAgICByZXR1cm4gSGVscGVyQ2xhc3MuZ2V0RGF0ZURpZih0aGlzLnRhYmxlLmwsIGN2KTtcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuRGF0ZSkge1xyXG4gICAgICByZXR1cm4gSGVscGVyQ2xhc3MuZ2V0RGF0ZShjdik7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGVUaW1lKSB7XHJcbiAgICAgIHJldHVybiAnPHNwYW4gY2xhc3M9XCJsdHJcIj4nICsgSGVscGVyQ2xhc3MuZ2V0RGF0ZVRpbWUoY3YpICsgJzwvc3Bhbj4nO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5UaW1lKSB7XHJcbiAgICAgIHJldHVybiBIZWxwZXJDbGFzcy5nZXRUaW1lKGN2KTtcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuQ29sb3IpIHtcclxuICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPVwiY29sb3JcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICcgKyBjdiArICc7IGNvbG9yOiAnICsgSGVscGVyQ2xhc3MuZ2V0Q29sb3JCeUJnQ29sb3IoY3YpICsgJ1wiPicgKyBjdiArICc8L2Rpdj4nO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5VcmwpIHtcclxuICAgICAgcmV0dXJuICc8YSB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cImx0clwiIGhyZWY9XCInICsgY3YgKyAnXCI+JyArIGN2ICsgJzwvYT4nO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5JbWFnZSkge1xyXG4gICAgICByZXR1cm4gJzxpbWcgc3R5bGU9XCJoZWlnaHQ6ICcgKyB0aGlzLnRhYmxlLmhlaWdodCArICdweFwiIGFsdD1cIlwiIHNyYz1cIicgKyB0aGlzLnNlcnZpY2UuZW52aXJvbm1lbnQudXJsICsgY3YgKyAnXCIvPic7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkZpbGVTaXplKSB7XHJcbiAgICAgIHJldHVybiBIZWxwZXJDbGFzcy5nZXRGaWxlU2l6ZShjdik7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlByaWNlKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQoY3YpLnRvTG9jYWxlU3RyaW5nKCkgKyAnICcgKyB0aGlzLnRhYmxlLmwoJ1JpYWwnKTtcclxuICAgICAgfWNhdGNoIHt9XHJcbiAgICB9ICBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5OdW1iZXIpIHtcclxuICAgICAgcmV0dXJuIGN2LnRvTG9jYWxlU3RyaW5nKCk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlBsYXF1ZSkge1xyXG4gICAgICBjb25zdCBwYXJ0cyA9IGN2LnNwbGl0KCdfJyk7XHJcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDQpIHtcclxuICAgICAgICByZXR1cm4gJzxkaXYgZGF0YS1jb3B5PVwiJyArIHBhcnRzLmpvaW4oJyAnKSArICdcIiBjbGFzcz1cInBsYXF1ZScgKyAocGFydHNbMV0gPT09ICfYuScgPyAnIHAnIDogJycpICsgKHBhcnRzWzFdID09PSAn2KcnID8gJyBnJyA6ICcnKSArICdcIj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDFcIj4nICsgcGFydHNbMF0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cInBhcnQyXCI+JyArIHBhcnRzWzFdICsgJzwvZGl2PicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0M1wiPicgKyBwYXJ0c1syXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDRcIj4nICsgcGFydHNbM10gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPC9kaXY+JztcclxuICAgICAgfSBlbHNlIGlmIChwYXJ0cy5sZW5ndGggPT09IDIgJiYgcGFydHMuZXZlcnkoeCA9PiAvXlswLTldKyQvLnRlc3QoeCkpKXtcclxuICAgICAgICByZXR1cm4gJzxkaXYgZGF0YS1jb3B5PVwiJyArIHBhcnRzLmpvaW4oJyAnKSArICdcIiBjbGFzcz1cInBsYXF1ZSBwbGFxdWUtbVwiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDJcIj4nICsgcGFydHNbMV0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPC9kaXY+JztcclxuICAgICAgfSBlbHNlIGlmIChwYXJ0cy5sZW5ndGggPT09IDIpe1xyXG4gICAgICAgIHJldHVybiAnPGRpdiBkYXRhLWNvcHk9XCInICsgcGFydHMuam9pbignICcpICsgJ1wiIGNsYXNzPVwicGxhcXVlIHBsYXF1ZS1mXCI+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cInBhcnQxXCI+JyArIHBhcnRzWzBdICsgJzwvZGl2PicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MlwiPicgKyBwYXJ0c1sxXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8L2Rpdj4nO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgICAgcmV0dXJuICc8ZGl2IGRhdGEtY29weT1cIicgKyBwYXJ0c1swXSArICdcIiBjbGFzcz1cInBsYXF1ZSBwbGFxdWUtZ1wiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8L2Rpdj4nO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlBsYXF1ZVRleHQpIHtcclxuICAgICAgY29uc3QgcGFydHMgPSBjdi5zcGxpdCgnXycpO1xyXG4gICAgICBpZiAocGFydHMubGVuZ3RoID09PSA0KXtcclxuICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJsdHJcIj4ke3BhcnRzWzBdfSAke3BhcnRzWzFdfSZscm07ICR7cGFydHNbMl19ICR7cGFydHNbM119PC9kaXY+YDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMudGFibGUubChjdik7XHJcbiAgfVxyXG4gIGdldENvbChuKTogc3RyaW5ne1xyXG4gICAgbGV0IGMgPSB0aGlzLnJvdy5EYXRhO1xyXG4gICAgbi5zcGxpdCgnLicpLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgYyA9IGNbeF07XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjO1xyXG4gIH1cclxuICBlZGl0KG9wdDogSW5wdXRDbGFzcywgb3B0aW9uOiBQZXJtaXNzaW9uQ2xhc3MpOiB2b2lke1xyXG4gICAgdGhpcy50YWJsZS5mb3JtLmlzRWRpdCA9IHRydWU7XHJcbiAgICBpZiAodGhpcy50YWJsZS5wZXJtaXNzaW9ucy5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uRm9ybSl7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5uYW1lID0gb3B0Lm5hbWU7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5zZXREYXRhKHRoaXMucm93LkRhdGEpO1xyXG4gICAgICB0aGlzLnRhYmxlLmZvcm0uc2V0QnV0dG9ucyh0aGlzLnRhYmxlLmZvcm0ub25Ub3AsIHRydWUsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICB0aGlzLnRhYmxlLmZvcm0uaW5wdXRzLmZpbHRlcih4ID0+IHguaW5FZGl0RGlzYWJsZWQpLmZvckVhY2goeCA9PiB4LmRpc2FibGVkID0gdHJ1ZSk7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5pbnB1dHMuZmlsdGVyKHggPT4gIXguaW5FZGl0VmlzaWJsZSkuZm9yRWFjaCh4ID0+IHgudmlzaWJsZSA9IGZhbHNlKTtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5mb3JFYWNoKHggPT4geC5yZXF1aXJlZCA9IHguaW5FZGl0UmVxdWlyZWQpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwucmVwbGFjZSgndXBkYXRlJywgJ2dldCcpLCB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZCwgdGhpcy5yb3cuRGF0YS5JZCksIE1ldGhvZC5Qb3N0LFxyXG4gICAgICAgIG51bGwsIG9wdCwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm5hbWUgPSBvcHQubmFtZTtcclxuICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5zZXREYXRhKHJlc3VsdCk7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0uc2V0QnV0dG9ucyh0aGlzLnRhYmxlLmZvcm0ub25Ub3AsIHRydWUsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiB4LmluRWRpdERpc2FibGVkKS5mb3JFYWNoKHggPT4geC5kaXNhYmxlZCA9IHRydWUpO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gZmFsc2UpO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5mb3JFYWNoKHggPT4geC5yZXF1aXJlZCA9IHguaW5FZGl0UmVxdWlyZWQpO1xyXG4gICAgICAgICAgaWYgKHRoaXMudGFibGUubW9kYWwpe1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLm1vZGFsLnNob3codHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy50YWJsZS5mb3JtLm9uTG9hZCl7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5vbkxvYWQocmVzdWx0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0Q2hpbGRyZW4oKTogYW55W117XHJcbiAgICByZXR1cm4gdGhpcy5yb3cuRGF0YS5JZCA/IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiB4LkRhdGEuUGFyZW50SWQgPT09IHRoaXMucm93LkRhdGEuSWQpIDogW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1822,7 +1822,7 @@ class SidebarComponent {
|
|
|
1822
1822
|
this.setActive();
|
|
1823
1823
|
}
|
|
1824
1824
|
getSidebar(parentId = null) {
|
|
1825
|
-
return this.currentData.permissions.filter(x => x.Type === PermissionTypeEnum.Item && x.ParentId === parentId
|
|
1825
|
+
return this.currentData.permissions.filter(x => x.Type === PermissionTypeEnum.Item && x.ParentId === parentId).map((s) => {
|
|
1826
1826
|
return new SidebarClass(this.l, s.Id, s.Name, s.Controller, s.Action, s.Url, s.Icon, this.getSidebar(s.Id), s.Count);
|
|
1827
1827
|
});
|
|
1828
1828
|
}
|
|
@@ -2238,10 +2238,7 @@ class TableRowComponent {
|
|
|
2238
2238
|
this.table.form.clear();
|
|
2239
2239
|
}
|
|
2240
2240
|
if (this.table.permissions.Type === PermissionTypeEnum.Form) {
|
|
2241
|
-
console.log(this.row.Data.Id);
|
|
2242
|
-
console.log(this.table.rows);
|
|
2243
2241
|
this.table.rows = this.table.rows.filter(x => x.Data.Id !== this.row.Data.Id);
|
|
2244
|
-
console.log(this.table.rows);
|
|
2245
2242
|
this.changeRows.emit(this.row.Data);
|
|
2246
2243
|
}
|
|
2247
2244
|
else {
|
|
@@ -4995,7 +4992,7 @@ class FormTableComponent {
|
|
|
4995
4992
|
this.inp.setValue(this.inp.default === null ? [] : this.inp.default, false);
|
|
4996
4993
|
};
|
|
4997
4994
|
this.inp.data = () => {
|
|
4998
|
-
return this.inp.table.rows;
|
|
4995
|
+
return this.inp.table.rows.map(x => x.Data);
|
|
4999
4996
|
};
|
|
5000
4997
|
if (this.inp.default) {
|
|
5001
4998
|
this.inp.setValue(this.inp.default, false);
|