@fundamental-ngx/platform 0.43.39 → 0.43.40
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/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +8 -23
- package/esm2020/table/table.component.mjs +8 -6
- package/esm2020/table-helpers/directives/table-virtual-scroll.directive.mjs +4 -1
- package/esm2020/table-helpers/table.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +3 -0
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +15 -27
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +3 -0
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +14 -27
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.43.40.tgz +0 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/table/components/table-p13-dialog/columns/columns.component.d.ts +0 -8
- package/table-helpers/table.d.ts +2 -0
- package/fundamental-ngx-platform-v0.43.39.tgz +0 -0
|
@@ -272,6 +272,9 @@ export class TableVirtualScrollDirective extends TableVirtualScroll {
|
|
|
272
272
|
tableScrollMockContainer.scrollBy({ top: count * this.rowHeight });
|
|
273
273
|
}
|
|
274
274
|
this._lastMockScrollPosition = tableScrollMockContainer.scrollTop;
|
|
275
|
+
if (this._table.pageScrolling) {
|
|
276
|
+
this._table.tableScrolled.emit(this._lastMockScrollPosition);
|
|
277
|
+
}
|
|
275
278
|
}
|
|
276
279
|
/**
|
|
277
280
|
* @hidden
|
|
@@ -323,4 +326,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
323
326
|
type: HostListener,
|
|
324
327
|
args: ['keydown', ['$event']]
|
|
325
328
|
}] } });
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlydHVhbC1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlLWhlbHBlcnMvZGlyZWN0aXZlcy90YWJsZS12aXJ0dWFsLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUF5QixPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWM5RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsa0JBQWtCO0lBWm5FOztRQWFJOztXQUVHO1FBRUgsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFtQnRCLHdFQUF3RTtRQUV4RSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQU1qQjs7O1dBR0c7UUFFSCxjQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUUsQ0FBQztRQUVyRCxjQUFjO1FBQ2QsNkJBQXdCLEdBQUcsQ0FBQyxDQUFDO1FBRTdCLGNBQWM7UUFDZCw0QkFBdUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUt6RCxjQUFjO1FBQ04sd0JBQW1CLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFL0YsY0FBYztRQUNHLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBRS9FLGNBQWM7UUFDRyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFNUQsY0FBYztRQUNHLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVF0RCxjQUFjO1FBQ04sNEJBQXVCLEdBQUcsQ0FBQyxDQUFDO1FBUXBDLGNBQWM7UUFDTiw0QkFBdUIsR0FBa0IsSUFBSSxDQUFDO1FBRXRELGNBQWM7UUFDTixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUF5S2pDOzs7O1dBSUc7UUFDSyxpQ0FBNEIsR0FBRyxDQUFDLEtBQWlCLEVBQVEsRUFBRTtZQUMvRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNqRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ3BCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ25EO2dCQUNELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQzVCLElBQUksTUFBTSxFQUFFO29CQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRTt3QkFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3pDLENBQUMsQ0FBQyxDQUFDO2lCQUNOO2FBQ0o7UUFDTCxDQUFDLENBQUM7UUFFRjs7OztXQUlHO1FBQ0ssbUNBQThCLEdBQUcsQ0FBQyxLQUFZLEVBQVEsRUFBRTtZQUM1RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3pCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUN4RDtZQUNELE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLENBQUM7WUFDcEYsSUFBSSxNQUFNLEdBQUcsd0JBQXdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztZQUMvRSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUN4RCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHdCQUF3QixDQUFDLFNBQVMsQ0FBQztnQkFDbEUsSUFBSSx3QkFBd0IsQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO29CQUMxQyx5RkFBeUY7b0JBQ3pGLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BCO2dCQUNELElBQ0ksd0JBQXdCLENBQUMsU0FBUyxHQUFHLHdCQUF3QixDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTTtvQkFDNUYsd0JBQXdCLENBQUMsWUFBWSxFQUN2QztvQkFDRSw0RkFBNEY7b0JBQzVGLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7b0JBQ2xHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztpQkFDcEM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztLQWdETDtJQXBWRzs7OztPQUlHO0lBQ0gsSUFDSSxlQUFlLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQTJERCxjQUFjO0lBRWQsZUFBZSxDQUFDLEtBQW9CO1FBQ2hDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDekUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLEdBQUcsRUFBRTtvQkFDekYsTUFBTSxXQUFXLEdBQUc7d0JBQ2hCLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVE7d0JBQ3BDLFFBQVEsRUFBRSxDQUFDO3FCQUNkLENBQUM7b0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNyRDtnQkFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkI7aUJBQU0sSUFDSCxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsS0FBSyxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0JBQ2hFLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUN0QztnQkFDRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQzlCLE9BQU87U0FDVjtRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUU7WUFDcEcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixRQUFRLENBQUMsS0FBWTtRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsMEJBQTBCO1FBQ3RCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFO2dCQUNsQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN6RixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDekMsT0FBTzthQUNWO1lBRUQsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDaEUsSUFBSSxTQUFTLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtvQkFDdkQsY0FBYyxHQUFHLENBQUMsQ0FBQztpQkFDdEI7YUFDSjtZQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBQzVELElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUVwRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLENBQUM7WUFDL0UsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3pEO2FBQU07WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3pDLE9BQU87YUFDVjtZQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBRXJDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7WUFDbEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFN0QsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUMxRSxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFFN0MsSUFBSSxnQkFBZ0IsR0FDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3hHLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBRS9FLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBRTlELG9EQUFvRDtZQUNwRCxNQUFNLFFBQVEsR0FDVixjQUFjLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWM7Z0JBQzFELGdCQUFnQixLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0I7Z0JBQzlELGNBQWMsS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYztnQkFDMUQsaUdBQWlHO2dCQUNqRyxjQUFjLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXpDLElBQUksUUFBUSxFQUFFO2dCQUNWLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsQ0FBQztZQUNoRixJQUFJLENBQUMsd0JBQXdCLEdBQUcsY0FBYyxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7WUFDMUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FDekIsY0FBYyxFQUNkLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sQ0FDOUUsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILHFCQUFxQjtRQUNqQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7Z0JBQ2xHLE9BQU8sRUFBRSxLQUFLO2FBQ2pCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUMvRCxRQUFRLEVBQ1IsSUFBSSxDQUFDLDhCQUE4QixFQUNuQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FDckIsQ0FBQztTQUNMO2FBQU07WUFDSCxJQUFJLENBQUMsc0JBQXNCO2lCQUN0QixrQkFBa0IsRUFBRTtpQkFDcEIsSUFBSSxDQUNELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQ3JELFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzVCO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7b0JBQ3RCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7b0JBQzlCLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUU7aUJBQy9DLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLHlCQUF5QjtRQUM3QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDaEUsSUFBSSxXQUFXLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQztRQUM5QyxXQUFXLEdBQUcsV0FBVyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQy9FLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFO1lBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7U0FDL0M7YUFBTTtZQUNILE9BQU8sWUFBWSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQztJQXVERDs7Ozs7O09BTUc7SUFDSyxVQUFVLENBQUMsS0FBYSxFQUFFLHlCQUF5QixHQUFHLEtBQUs7UUFDL0QsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLHVCQUF1QixLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsdUJBQXVCLElBQUksQ0FBQyxFQUFFO1lBQzVFLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7U0FDL0M7UUFDRCxJQUNJLFlBQVksR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNO1lBQy9GLEtBQUssR0FBRyxDQUFDLEVBQ1g7WUFDRSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDbEQ7UUFDRCxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7WUFDbEIsWUFBWSxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUNELHlGQUF5RjtRQUN6RixJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksWUFBWSxLQUFLLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUN6RixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUIsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLGFBQWEsQ0FBQztRQUNwRixJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDNUIsd0JBQXdCLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyx3QkFBd0IsQ0FBQyxTQUFTLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxRQUFRLENBQUMsWUFBb0I7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDOUIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZO1NBQ25ELENBQUMsQ0FBQztJQUNQLENBQUM7O3dIQTFWUSwyQkFBMkI7NEdBQTNCLDJCQUEyQixvU0FSekI7UUFDUCxnQkFBZ0I7UUFDaEI7WUFDSSxPQUFPLEVBQUUsa0NBQWtDO1lBQzNDLFdBQVcsRUFBRSwyQkFBMkI7U0FDM0M7S0FDSjsyRkFFUSwyQkFBMkI7a0JBWnZDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEI7NEJBQ0ksT0FBTyxFQUFFLGtDQUFrQzs0QkFDM0MsV0FBVyw2QkFBNkI7eUJBQzNDO3FCQUNKO2lCQUNKOzhCQU1HLGFBQWE7c0JBRFosS0FBSztnQkFTRixlQUFlO3NCQURsQixLQUFLO2dCQWNOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixVQUFVO3NCQURULEtBQUs7Z0JBUU4sU0FBUztzQkFEUixLQUFLO2dCQStDTixlQUFlO3NCQURkLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UsIEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbiwgS2V5VXRpbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRkRQX1RBQkxFX1ZJUlRVQUxfU0NST0xMX0RJUkVDVElWRSwgUk9XX0hFSUdIVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUYWJsZVZpcnR1YWxTY3JvbGwgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVTY3JvbGxEaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLXNjcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi90YWJsZSc7XG5pbXBvcnQgeyBET1dOX0FSUk9XLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBUYWJsZVJvd1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90YWJsZS1yb3cuc2VydmljZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZmRwLXRhYmxlW3ZpcnR1YWxTY3JvbGxdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRFBfVEFCTEVfVklSVFVBTF9TQ1JPTExfRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRhYmxlVmlydHVhbFNjcm9sbERpcmVjdGl2ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVZpcnR1YWxTY3JvbGxEaXJlY3RpdmUgZXh0ZW5kcyBUYWJsZVZpcnR1YWxTY3JvbGwgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICAvKiogV2hldGhlciB0byBzaG93IG9ubHkgdmlzaWJsZSByb3dzIGluIG1hdHRlciBvZiBwZXJmb3JtYW5jZVxuICAgICAqIGZhbHNlIGJ5IGRlZmF1bHQsIHdoZW4gdHJ1ZSBzZXR0aW5nIGJvZHlIZWlnaHQgYW5kIHJvd0hlaWdodCBpcyByZXF1aXJlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gc2Nyb2xsIHdob2xlIHJvd3MgcmF0aGVyIHRoYW4gcGl4ZWwgYnkgcGl4ZWwgd2hlbiB0aGUgdXNlciBwZXJmb3JtcyBhIHNjcm9sbC5cbiAgICAgKiBUaGlzIGdpdmVzIGdyZWF0ZXIgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIGJ1dCBhbHNvIGxlbmRzIHRvIHNvbWUgcG90ZW50aWFsbHkgdW5kZXNpcmFibGUgVVggY2hhbmdlcy5cbiAgICAgKiBBIFwicm93SGVpZ2h0XCIgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHVzaW5nIHRoaXMgZmVhdHVyZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzY3JvbGxXaG9sZVJvd3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsV2hvbGVSb3dzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbFdob2xlUm93cykge1xuICAgICAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBzY3JvbGxXaG9sZVJvd3MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxXaG9sZVJvd3M7XG4gICAgfVxuXG4gICAgLyoqIENhY2hlIHNpemUgZm9yIHRoZSB2aXJ0dWFsU2Nyb2xsLCBkZWZhdWx0IGlzIDQwIGluIGVhY2ggZGlyZWN0aW9uICovXG4gICAgQElucHV0KClcbiAgICByZW5kZXJBaGVhZCA9IDQwO1xuXG4gICAgLyoqIEJvZHkgaGVpZ2h0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYm9keUhlaWdodDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSGVpZ2h0IG9mIHRoZSByb3csIHJlcXVpcmVkIGZvciB0aGUgdmlydHVhbFNjcm9sbCxcbiAgICAgKiBkZWZhdWx0IGlzIDQ0cHggaW4gY296eSwgMzJweCBpbiBjb21wYWN0IGFuZCAyNHB4IGluIGNvbmRlbnNlZCAoc2V0IGF1dG9tYXRpY2FsbHkpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByb3dIZWlnaHQgPSBST1dfSEVJR0hULmdldChDb250ZW50RGVuc2l0eU1vZGUuQ09aWSkhO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB2aXJ0dWFsU2Nyb2xsVG90YWxIZWlnaHQgPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB2aXJ0dWFsU2Nyb2xsVHJhbnNmb3JtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFibGU6IFRhYmxlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXJ0dWFsU2Nyb2xsQ2FjaGUgPSB7IHN0YXJ0Tm9kZUluZGV4OiAtMSwgdmlzaWJsZU5vZGVDb3VudDogLTEsIHRvdGFsTm9kZUNvdW50OiAtMSB9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZVNjcm9sbERpc3BhdGNoZXIgPSBpbmplY3QoVGFibGVTY3JvbGxEaXNwYXRjaGVyU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlUm93U2VydmljZSA9IGluamVjdChUYWJsZVJvd1NlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGluamVjdChEZXN0cm95ZWRTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfd2hlZWxUaW1lb3V0OiBhbnk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Njcm9sbE1vY2tUaW1lb3V0OiBhbnk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xhc3RNb2NrU2Nyb2xsUG9zaXRpb24gPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb2N1c2FibGVHcmlkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvY3VzZWRDZWxsOiBGb2N1c2FibGVJdGVtUG9zaXRpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ByZXZpb3VzU3RhcnROb2RlSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zY3JvbGxXaG9sZVJvd3MgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgX2tleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbFdob2xlUm93cykge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2ZvY3VzZWRDZWxsPy5yb3dJbmRleCA9PT0gMCAmJiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgVVBfQVJST1cpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3RhYmxlLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndHInKVsxXS5hcmlhUm93SW5kZXggIT09ICcwJykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsVG9Gb2N1cyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbEluZGV4OiB0aGlzLl9mb2N1c2VkQ2VsbC5jb2xJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0luZGV4OiAxXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlLl9mb2N1c2FibGVHcmlkLmZvY3VzQ2VsbChjZWxsVG9Gb2N1cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX3Njcm9sbFJvdygtMSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRDZWxsPy5yb3dJbmRleCA9PT0gdGhpcy5fZ2V0TnVtYmVyT2ZSb3dzVG9EaXNwbGF5KCkgJiZcbiAgICAgICAgICAgICAgICBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRE9XTl9BUlJPVylcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Njcm9sbFJvdygxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbFdob2xlUm93cyAmJiAhdGhpcy52aXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fdGFibGUudGFibGVTY3JvbGxhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbCAmJiAoY2hhbmdlc1sncm93SGVpZ2h0J10gfHwgY2hhbmdlc1sndmlydHVhbFNjcm9sbCddIHx8IGNoYW5nZXNbJ3JlbmRlckFoZWFkJ10pKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVZpcnR1YWxTY3JvbGxSb3dzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c2FibGVHcmlkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBTZXRzIHRhYmxlIHJlZmVyZW5jZS4gKi9cbiAgICBzZXRUYWJsZSh0YWJsZTogVGFibGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUgPSB0YWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGRldGVybWluZXMgaG93IG1hbnkgcm93cyBjYW4gYmUgZGlzcGxheWVkIGluIHRoZSB0YWJsZSwgYW5kIHNldHMgdGhlIHJvd3MgaW4gdGhlIHRhYmxlIGJhc2VkIG9uIHRoZVxuICAgICAqIHN0YXJ0IG5vZGUgaW5kZXgsIHdoaWNoIG1heSBjb21lIGZyb20gdGhlIHRhYmxlIHN0YXRlXG4gICAgICovXG4gICAgY2FsY3VsYXRlVmlydHVhbFNjcm9sbFJvd3MoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbFdob2xlUm93cykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9mb2N1c2FibGVHcmlkU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZm9jdXNhYmxlR3JpZFN1YnNjcmlwdGlvbiA9IHRoaXMuX3RhYmxlLl9mb2N1c2FibGVHcmlkLml0ZW1Gb2N1c2VkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9jdXNlZENlbGwgPSBldmVudDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy52aXJ0dWFsU2Nyb2xsIHx8ICF0aGlzLmJvZHlIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBzdGFydE5vZGVJbmRleCA9IDA7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLl90YWJsZS5nZXRUYWJsZVN0YXRlKCkuc2Nyb2xsVG9wUG9zaXRpb247XG4gICAgICAgICAgICBpZiAoc2Nyb2xsVG9wICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgc3RhcnROb2RlSW5kZXggPSBNYXRoLmZsb29yKHNjcm9sbFRvcCAvIHRoaXMucm93SGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnROb2RlSW5kZXggPiB0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnROb2RlSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdG90YWxOb2RlQ291bnQgPSB0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZS5sZW5ndGg7XG4gICAgICAgICAgICBsZXQgdmlzaWJsZU5vZGVDb3VudCA9IE1hdGguZmxvb3IodGhpcy5fdGFibGUudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLyB0aGlzLnJvd0hlaWdodCk7XG4gICAgICAgICAgICB2aXNpYmxlTm9kZUNvdW50ID0gTWF0aC5taW4odG90YWxOb2RlQ291bnQgLSBzdGFydE5vZGVJbmRleCwgdmlzaWJsZU5vZGVDb3VudCk7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxUb3RhbEhlaWdodCA9IHRvdGFsTm9kZUNvdW50ICogdGhpcy5yb3dIZWlnaHQgLSB2aXNpYmxlTm9kZUNvdW50ICogdGhpcy5yb3dIZWlnaHQ7XG5cbiAgICAgICAgICAgIHRoaXMuX3NldFJvd3Moc3RhcnROb2RlSW5kZXgpO1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsTW9ja0NvbnRhaW5lciA9IHRoaXMuX3RhYmxlLnRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgc2Nyb2xsTW9ja0NvbnRhaW5lci5zdHlsZS5tYXhIZWlnaHQgPSB0aGlzLmJvZHlIZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMudmlydHVhbFNjcm9sbCB8fCAhdGhpcy5ib2R5SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByb3dIZWlnaHQgPSB0aGlzLnJvd0hlaWdodCArIDE7XG5cbiAgICAgICAgICAgIGNvbnN0IHJvd3NWaXNpYmxlID0gdGhpcy5fdGFibGUuX3RhYmxlUm93c1Zpc2libGU7XG4gICAgICAgICAgICBjb25zdCByb3dzSW5WaWV3UG9ydCA9IHRoaXMuX3RhYmxlLmdldFJvd3NJblZpZXdwb3J0KCk7XG4gICAgICAgICAgICBjb25zdCB0b3RhbE5vZGVDb3VudCA9IHJvd3NWaXNpYmxlLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuX3RhYmxlLnRhYmxlU2Nyb2xsYWJsZS5nZXRTY3JvbGxUb3AoKTtcblxuICAgICAgICAgICAgbGV0IHN0YXJ0Tm9kZUluZGV4ID0gTWF0aC5mbG9vcihzY3JvbGxUb3AgLyByb3dIZWlnaHQpIC0gdGhpcy5yZW5kZXJBaGVhZDtcbiAgICAgICAgICAgIHN0YXJ0Tm9kZUluZGV4ID0gTWF0aC5tYXgoMCwgc3RhcnROb2RlSW5kZXgpO1xuXG4gICAgICAgICAgICBsZXQgdmlzaWJsZU5vZGVDb3VudCA9XG4gICAgICAgICAgICAgICAgTWF0aC5jZWlsKHRoaXMuX3RhYmxlLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IC8gcm93SGVpZ2h0KSArIDIgKiB0aGlzLnJlbmRlckFoZWFkO1xuICAgICAgICAgICAgdmlzaWJsZU5vZGVDb3VudCA9IE1hdGgubWluKHRvdGFsTm9kZUNvdW50IC0gc3RhcnROb2RlSW5kZXgsIHZpc2libGVOb2RlQ291bnQpO1xuXG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxUcmFuc2Zvcm0kLm5leHQoc3RhcnROb2RlSW5kZXggKiByb3dIZWlnaHQpO1xuXG4gICAgICAgICAgICAvLyBTaW1wbGUgY2FjaGluZyB0byBhdm9pZCB1bm5lY2Vzc2FyeSByZS1yZW5kZXJpbmdzXG4gICAgICAgICAgICBjb25zdCBpc0NhY2hlZCA9XG4gICAgICAgICAgICAgICAgc3RhcnROb2RlSW5kZXggPT09IHRoaXMuX3ZpcnR1YWxTY3JvbGxDYWNoZS5zdGFydE5vZGVJbmRleCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVOb2RlQ291bnQgPT09IHRoaXMuX3ZpcnR1YWxTY3JvbGxDYWNoZS52aXNpYmxlTm9kZUNvdW50ICYmXG4gICAgICAgICAgICAgICAgdG90YWxOb2RlQ291bnQgPT09IHRoaXMuX3ZpcnR1YWxTY3JvbGxDYWNoZS50b3RhbE5vZGVDb3VudCAmJlxuICAgICAgICAgICAgICAgIC8vIE9uIHJvd3MgY2hhbmdlLCBldmVuIGlmIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyBpcyB0aGUgc2FtZSwgdGhlIHJvdyBvYmplY3Qgd2lsbCBiZSBkaWZmZXJlbnRcbiAgICAgICAgICAgICAgICBzdGFydE5vZGVJbmRleCA9PT0gcm93c0luVmlld1BvcnRbMF07XG5cbiAgICAgICAgICAgIGlmIChpc0NhY2hlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlID0geyBzdGFydE5vZGVJbmRleCwgdmlzaWJsZU5vZGVDb3VudCwgdG90YWxOb2RlQ291bnQgfTtcbiAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFRvdGFsSGVpZ2h0ID0gdG90YWxOb2RlQ291bnQgKiByb3dIZWlnaHQgLSB2aXNpYmxlTm9kZUNvdW50ICogcm93SGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy5fdGFibGUuc2V0Um93c0luVmlld3BvcnQoXG4gICAgICAgICAgICAgICAgc3RhcnROb2RlSW5kZXgsXG4gICAgICAgICAgICAgICAgcm93c1Zpc2libGUuc2xpY2Uoc3RhcnROb2RlSW5kZXgsIHN0YXJ0Tm9kZUluZGV4ICsgdmlzaWJsZU5vZGVDb3VudCkubGVuZ3RoXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEluaXRpYWxpc2VzIHNjcm9sbCBsaXN0ZW5lcnMuXG4gICAgICovXG4gICAgbGlzdGVuT25WaXJ0dWFsU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxXaG9sZVJvd3MpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCB0aGlzLl93aGVlbFNjcm9sbExpc3RlbmVyRnVuY3Rpb24sIHtcbiAgICAgICAgICAgICAgICBwYXNzaXZlOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl90YWJsZS50YWJsZVNjcm9sbE1vY2tDb250YWluZXIubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgICAgICdzY3JvbGwnLFxuICAgICAgICAgICAgICAgIHRoaXMuX21vY2tTY3JvbGxiYXJMaXN0ZW5lckZ1bmN0aW9uLFxuICAgICAgICAgICAgICAgIHsgcGFzc2l2ZTogZmFsc2UgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlU2Nyb2xsRGlzcGF0Y2hlclxuICAgICAgICAgICAgICAgIC52ZXJ0aWNhbGx5U2Nyb2xsZWQoKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy52aXJ0dWFsU2Nyb2xsICYmICEhdGhpcy5ib2R5SGVpZ2h0KSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzY3JvbGxhYmxlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlVmlydHVhbFNjcm9sbFJvd3MoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGUuc2V0VGFibGVTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLl90YWJsZS5nZXRUYWJsZVN0YXRlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3BQb3NpdGlvbjogc2Nyb2xsYWJsZS5nZXRTY3JvbGxUb3AoKVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0TnVtYmVyT2ZSb3dzVG9EaXNwbGF5KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRhYmxlQ29udGFpbmVyID0gdGhpcy5fdGFibGUudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IHRhYmxlSGVpZ2h0ID0gdGFibGVDb250YWluZXIuY2xpZW50SGVpZ2h0O1xuICAgICAgICB0YWJsZUhlaWdodCA9IHRhYmxlSGVpZ2h0IC0gdGFibGVDb250YWluZXIucXVlcnlTZWxlY3RvcigndGhlYWQnKS5jbGllbnRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IG51bWJlck9mUm93cyA9IE1hdGguZmxvb3IodGFibGVIZWlnaHQgLyAodGhpcy5yb3dIZWlnaHQgKyAyKSk7XG4gICAgICAgIGlmICh0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZS5sZW5ndGggPCBudW1iZXJPZlJvd3MpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZS5sZW5ndGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVtYmVyT2ZSb3dzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgcGVyZm9ybXMgYSB3aGVlbCBldmVudC4gSXQgZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgdXNlciBoYXMgc2Nyb2xsZWRcbiAgICAgKiB1cCBvciBkb3duIHVzaW5nIHRoZSBldmVudCdzIGRlbHRhWCBwcm9wZXJ0eSwgYW5kIHNjcm9sbHMgdGhlIHRhYmxlIGJ5IG9uZSByb3cuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfd2hlZWxTY3JvbGxMaXN0ZW5lckZ1bmN0aW9uID0gKGV2ZW50OiBXaGVlbEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIGlmIChNYXRoLmFicyhldmVudC5kZWx0YVgpIDwgTWF0aC5hYnMoZXZlbnQuZGVsdGFZKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3doZWVsVGltZW91dCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl93aGVlbFRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGVsdGFZID0gZXZlbnQuZGVsdGFZO1xuICAgICAgICAgICAgaWYgKGRlbHRhWSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3doZWVsVGltZW91dCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zY3JvbGxSb3coZGVsdGFZID4gMCA/IDEgOiAtMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIG1vY2sgc2Nyb2xsYmFyICh3aGVuIHVzaW5nICdzY3JvbGxXaG9sZVJvd3MnKSBpcyBtb3ZlZC4gSXQgZGV0ZXJtaW5lcyBpZiB0aGVcbiAgICAgKiBzY3JvbGwgd2FzIHVwIG9yIGRvd24gYnkgY29tcGFyaW5nIHRoZSBjdXJyZW50IHNjcm9sbCB0b3AgdG8gdGhlIHByZXZpb3VzIHNjcm9sbCB0b3AgYW5kIHNjcm9sbHMgcm93cyBhY2NvcmRpbmdseS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9tb2NrU2Nyb2xsYmFyTGlzdGVuZXJGdW5jdGlvbiA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLl9zY3JvbGxNb2NrVGltZW91dCkge1xuICAgICAgICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Njcm9sbE1vY2tUaW1lb3V0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YWJsZVNjcm9sbE1vY2tDb250YWluZXIgPSB0aGlzLl90YWJsZS50YWJsZVNjcm9sbE1vY2tDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IGRlbHRhWSA9IHRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5zY3JvbGxUb3AgLSB0aGlzLl9sYXN0TW9ja1Njcm9sbFBvc2l0aW9uO1xuICAgICAgICBkZWx0YVkgPSBNYXRoLmNlaWwoZGVsdGFZIC8gdGhpcy5yb3dIZWlnaHQpO1xuICAgICAgICB0aGlzLl9zY3JvbGxNb2NrVGltZW91dCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2Nyb2xsUm93KGRlbHRhWSwgdHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLl9sYXN0TW9ja1Njcm9sbFBvc2l0aW9uID0gdGFibGVTY3JvbGxNb2NrQ29udGFpbmVyLnNjcm9sbFRvcDtcbiAgICAgICAgICAgIGlmICh0YWJsZVNjcm9sbE1vY2tDb250YWluZXIuc2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICAgICAgICAgICAgLy8gQWx3YXlzIGRpc3BsYXkgdGhlIGZpcnN0IHJvdyBvZiB0aGUgdGFibGUgd2hlbiB0aGUgdXNlciBzY3JvbGxzIGFsbCB0aGUgd2F5IHRvIHRoZSB0b3BcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRSb3dzKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5zY3JvbGxUb3AgKyB0YWJsZVNjcm9sbE1vY2tDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0ID09PVxuICAgICAgICAgICAgICAgIHRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5zY3JvbGxIZWlnaHRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBkaXNwbGF5IHRoZSBsYXN0IHJvd3Mgb2YgdGhlIHRhYmxlIHdoZW4gdGhlIHVzZXIgc2Nyb2xscyBhbGwgdGhlIHdheSB0byB0aGUgYm90dG9tXG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRpbmdOb2RlSW5kZXggPSB0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZS5sZW5ndGggLSB0aGlzLl9nZXROdW1iZXJPZlJvd3NUb0Rpc3BsYXkoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRSb3dzKHN0YXJ0aW5nTm9kZUluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGlzIGZ1bmN0aW9uLCB1c2VkIG9ubHkgd2hlbiAnc2Nyb2xsV2hvbGVSb3dzJyBpcyB0cnV0aHksIGNhbGN1bGF0ZXMgd2hhdCBzaG91bGQgYmUgdGhlIG5ldyBzdGFydGluZyBub2RlLCBiYXNlZFxuICAgICAqIG9mZiB0aGUgcHJldmlvdXMgc3RhcnRpbmcgbm9kZSBhbmQgdGhlIHByb3ZpZGVkICdjb3VudCcgcGFyYW1ldGVyLiBGb3IgZXhhbXBsZSBpZiB0aGUgcHJldmlvdXMgc3RhcnQgbm9kZSB3YXMgMTBcbiAgICAgKiBhbmQgdGhlIGNvdW50IHBhcmFtZXRlciBpcyAtMiwgdGhlIG5ldyBzdGFydGluZyBub2RlIHdpbGwgYmUgOC4gVGhpcyBmdW5jdGlvbiBhbHNvIHByb2dyYW1tYXRpY2FsbHkgbW92ZXMgdGhlXG4gICAgICogbW9jayBzY3JvbGxiYXIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2Nyb2xsUm93KGNvdW50OiBudW1iZXIsIGZyb21Nb2NrU2Nyb2xsYmFyTGlzdGVuZXIgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBsZXQgc3RhcnRpbmdOb2RlID0gMDtcbiAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU3RhcnROb2RlSW5kZXggIT09IG51bGwgJiYgdGhpcy5fcHJldmlvdXNTdGFydE5vZGVJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBzdGFydGluZ05vZGUgPSB0aGlzLl9wcmV2aW91c1N0YXJ0Tm9kZUluZGV4O1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHN0YXJ0aW5nTm9kZSArIGNvdW50ICsgdGhpcy5fZ2V0TnVtYmVyT2ZSb3dzVG9EaXNwbGF5KCkgPD0gdGhpcy5fdGFibGUuX3RhYmxlUm93c1Zpc2libGUubGVuZ3RoIHx8XG4gICAgICAgICAgICBjb3VudCA8IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBzdGFydGluZ05vZGUgPSBNYXRoLmNlaWwoc3RhcnRpbmdOb2RlICsgY291bnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydGluZ05vZGUgPCAwKSB7XG4gICAgICAgICAgICBzdGFydGluZ05vZGUgPSAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoaXMgbmV4dCAnaWYnIHN0YXRlbWVudCBpcyBmb3IgdHJpZ2dlcmluZyBuZXcgcGFnZSBsb2FkcyB3aGVuICdwYWdlU2Nyb2xsaW5nJyBpcyB0cnVlXG4gICAgICAgIGlmIChjb3VudCA+IDAgJiYgc3RhcnRpbmdOb2RlID09PSB0aGlzLl9wcmV2aW91c1N0YXJ0Tm9kZUluZGV4ICYmIHRoaXMuX3RhYmxlLnBhZ2VTY3JvbGxpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlLl9vblNweUludGVyc2VjdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRSb3dzKHN0YXJ0aW5nTm9kZSk7XG4gICAgICAgIGNvbnN0IHRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lciA9IHRoaXMuX3RhYmxlLnRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoIWZyb21Nb2NrU2Nyb2xsYmFyTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5zY3JvbGxCeSh7IHRvcDogY291bnQgKiB0aGlzLnJvd0hlaWdodCB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9sYXN0TW9ja1Njcm9sbFBvc2l0aW9uID0gdGFibGVTY3JvbGxNb2NrQ29udGFpbmVyLnNjcm9sbFRvcDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhpcyBmdW5jdGlvbiBzZXRzIHJvd3MgaW4gdGhlIHRhYmxlJ3Mgdmlld3BvcnQgZGVwZW5kaW5nIG9uIHRoZSBwcm92aWRlZCBzdGFydGluZyBub2RlLiBJdCBhbHNvIHNldHMgdGhlIHRhYmxlXG4gICAgICogc3RhdGUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2V0Um93cyhzdGFydGluZ05vZGU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5zZXRSb3dzSW5WaWV3cG9ydChzdGFydGluZ05vZGUsIHRoaXMuX2dldE51bWJlck9mUm93c1RvRGlzcGxheSgpKTtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNTdGFydE5vZGVJbmRleCA9IHN0YXJ0aW5nTm9kZTtcbiAgICAgICAgdGhpcy5fdGFibGUuc2V0VGFibGVTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLl90YWJsZS5nZXRUYWJsZVN0YXRlKCksXG4gICAgICAgICAgICBzY3JvbGxUb3BQb3NpdGlvbjogdGhpcy5yb3dIZWlnaHQgKiBzdGFydGluZ05vZGVcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlydHVhbC1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlLWhlbHBlcnMvZGlyZWN0aXZlcy90YWJsZS12aXJ0dWFsLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUF5QixPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWM5RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsa0JBQWtCO0lBWm5FOztRQWFJOztXQUVHO1FBRUgsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFtQnRCLHdFQUF3RTtRQUV4RSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQU1qQjs7O1dBR0c7UUFFSCxjQUFT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dmUsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWVkU2VydmljZSwgRm9jdXNhYmxlSXRlbVBvc2l0aW9uLCBLZXlVdGlsIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2RlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGRFBfVEFCTEVfVklSVFVBTF9TQ1JPTExfRElSRUNUSVZFLCBST1dfSEVJR0hUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRhYmxlVmlydHVhbFNjcm9sbCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL3RhYmxlJztcbmltcG9ydCB7IERPV05fQVJST1csIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFRhYmxlUm93U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLXJvdy5zZXJ2aWNlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdmZHAtdGFibGVbdmlydHVhbFNjcm9sbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIERlc3Ryb3llZFNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEUF9UQUJMRV9WSVJUVUFMX1NDUk9MTF9ESVJFQ1RJVkUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVGFibGVWaXJ0dWFsU2Nyb2xsRGlyZWN0aXZlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlVmlydHVhbFNjcm9sbERpcmVjdGl2ZSBleHRlbmRzIFRhYmxlVmlydHVhbFNjcm9sbCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgb25seSB2aXNpYmxlIHJvd3MgaW4gbWF0dGVyIG9mIHBlcmZvcm1hbmNlXG4gICAgICogZmFsc2UgYnkgZGVmYXVsdCwgd2hlbiB0cnVlIHNldHRpbmcgYm9keUhlaWdodCBhbmQgcm93SGVpZ2h0IGlzIHJlcXVpcmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmlydHVhbFNjcm9sbCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzY3JvbGwgd2hvbGUgcm93cyByYXRoZXIgdGhhbiBwaXhlbCBieSBwaXhlbCB3aGVuIHRoZSB1c2VyIHBlcmZvcm1zIGEgc2Nyb2xsLlxuICAgICAqIFRoaXMgZ2l2ZXMgZ3JlYXRlciBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgYnV0IGFsc28gbGVuZHMgdG8gc29tZSBwb3RlbnRpYWxseSB1bmRlc2lyYWJsZSBVWCBjaGFuZ2VzLlxuICAgICAqIEEgXCJyb3dIZWlnaHRcIiBtdXN0IGJlIHByb3ZpZGVkIHdoZW4gdXNpbmcgdGhpcyBmZWF0dXJlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNjcm9sbFdob2xlUm93cyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zY3JvbGxXaG9sZVJvd3MgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5fc2Nyb2xsV2hvbGVSb3dzKSB7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHNjcm9sbFdob2xlUm93cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbFdob2xlUm93cztcbiAgICB9XG5cbiAgICAvKiogQ2FjaGUgc2l6ZSBmb3IgdGhlIHZpcnR1YWxTY3JvbGwsIGRlZmF1bHQgaXMgNDAgaW4gZWFjaCBkaXJlY3Rpb24gKi9cbiAgICBASW5wdXQoKVxuICAgIHJlbmRlckFoZWFkID0gNDA7XG5cbiAgICAvKiogQm9keSBoZWlnaHQuICovXG4gICAgQElucHV0KClcbiAgICBib2R5SGVpZ2h0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBIZWlnaHQgb2YgdGhlIHJvdywgcmVxdWlyZWQgZm9yIHRoZSB2aXJ0dWFsU2Nyb2xsLFxuICAgICAqIGRlZmF1bHQgaXMgNDRweCBpbiBjb3p5LCAzMnB4IGluIGNvbXBhY3QgYW5kIDI0cHggaW4gY29uZGVuc2VkIChzZXQgYXV0b21hdGljYWxseSlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJvd0hlaWdodCA9IFJPV19IRUlHSFQuZ2V0KENvbnRlbnREZW5zaXR5TW9kZS5DT1pZKSE7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHZpcnR1YWxTY3JvbGxUb3RhbEhlaWdodCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHZpcnR1YWxTY3JvbGxUcmFuc2Zvcm0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJsZTogVGFibGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZpcnR1YWxTY3JvbGxDYWNoZSA9IHsgc3RhcnROb2RlSW5kZXg6IC0xLCB2aXNpYmxlTm9kZUNvdW50OiAtMSwgdG90YWxOb2RlQ291bnQ6IC0xIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlU2Nyb2xsRGlzcGF0Y2hlciA9IGluamVjdChUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVSb3dTZXJ2aWNlID0gaW5qZWN0KFRhYmxlUm93U2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3llZFNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF93aGVlbFRpbWVvdXQ6IGFueTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2Nyb2xsTW9ja1RpbWVvdXQ6IGFueTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGFzdE1vY2tTY3JvbGxQb3NpdGlvbiA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvY3VzYWJsZUdyaWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNlZENlbGw6IEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJldmlvdXNTdGFydE5vZGVJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Njcm9sbFdob2xlUm93cyA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBfa2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsV2hvbGVSb3dzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZm9jdXNlZENlbGw/LnJvd0luZGV4ID09PSAwICYmIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBVUF9BUlJPVykpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGFibGUudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0cicpWzFdLmFyaWFSb3dJbmRleCAhPT0gJzAnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxUb0ZvY3VzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sSW5kZXg6IHRoaXMuX2ZvY3VzZWRDZWxsLmNvbEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgcm93SW5kZXg6IDFcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGUuX2ZvY3VzYWJsZUdyaWQuZm9jdXNDZWxsKGNlbGxUb0ZvY3VzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fc2Nyb2xsUm93KC0xKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5fZm9jdXNlZENlbGw/LnJvd0luZGV4ID09PSB0aGlzLl9nZXROdW1iZXJPZlJvd3NUb0Rpc3BsYXkoKSAmJlxuICAgICAgICAgICAgICAgIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2Nyb2xsUm93KDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsV2hvbGVSb3dzICYmICF0aGlzLnZpcnR1YWxTY3JvbGwpIHtcbiAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl90YWJsZS50YWJsZVNjcm9sbGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52aXJ0dWFsU2Nyb2xsICYmIChjaGFuZ2VzWydyb3dIZWlnaHQnXSB8fCBjaGFuZ2VzWyd2aXJ0dWFsU2Nyb2xsJ10gfHwgY2hhbmdlc1sncmVuZGVyQWhlYWQnXSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlVmlydHVhbFNjcm9sbFJvd3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvY3VzYWJsZUdyaWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdGFibGUgcmVmZXJlbmNlLiAqL1xuICAgIHNldFRhYmxlKHRhYmxlOiBUYWJsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZSA9IHRhYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyBob3cgbWFueSByb3dzIGNhbiBiZSBkaXNwbGF5ZWQgaW4gdGhlIHRhYmxlLCBhbmQgc2V0cyB0aGUgcm93cyBpbiB0aGUgdGFibGUgYmFzZWQgb24gdGhlXG4gICAgICogc3RhcnQgbm9kZSBpbmRleCwgd2hpY2ggbWF5IGNvbWUgZnJvbSB0aGUgdGFibGUgc3RhdGVcbiAgICAgKi9cbiAgICBjYWxjdWxhdGVWaXJ0dWFsU2Nyb2xsUm93cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsV2hvbGVSb3dzKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2ZvY3VzYWJsZUdyaWRTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c2FibGVHcmlkU3Vic2NyaXB0aW9uID0gdGhpcy5fdGFibGUuX2ZvY3VzYWJsZUdyaWQuaXRlbUZvY3VzZWQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c2VkQ2VsbCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLnZpcnR1YWxTY3JvbGwgfHwgIXRoaXMuYm9keUhlaWdodCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IHN0YXJ0Tm9kZUluZGV4ID0gMDtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuX3RhYmxlLmdldFRhYmxlU3RhdGUoKS5zY3JvbGxUb3BQb3NpdGlvbjtcbiAgICAgICAgICAgIGlmIChzY3JvbGxUb3AgIT09IDApIHtcbiAgICAgICAgICAgICAgICBzdGFydE5vZGVJbmRleCA9IE1hdGguZmxvb3Ioc2Nyb2xsVG9wIC8gdGhpcy5yb3dIZWlnaHQpO1xuICAgICAgICAgICAgICAgIGlmIChzdGFydE5vZGVJbmRleCA+IHRoaXMuX3RhYmxlLl90YWJsZVJvd3NWaXNpYmxlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBzdGFydE5vZGVJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0b3RhbE5vZGVDb3VudCA9IHRoaXMuX3RhYmxlLl90YWJsZVJvd3NWaXNpYmxlLmxlbmd0aDtcbiAgICAgICAgICAgIGxldCB2aXNpYmxlTm9kZUNvdW50ID0gTWF0aC5mbG9vcih0aGlzLl90YWJsZS50YWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAvIHRoaXMucm93SGVpZ2h0KTtcbiAgICAgICAgICAgIHZpc2libGVOb2RlQ291bnQgPSBNYXRoLm1pbih0b3RhbE5vZGVDb3VudCAtIHN0YXJ0Tm9kZUluZGV4LCB2aXNpYmxlTm9kZUNvdW50KTtcbiAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFRvdGFsSGVpZ2h0ID0gdG90YWxOb2RlQ291bnQgKiB0aGlzLnJvd0hlaWdodCAtIHZpc2libGVOb2RlQ291bnQgKiB0aGlzLnJvd0hlaWdodDtcblxuICAgICAgICAgICAgdGhpcy5fc2V0Um93cyhzdGFydE5vZGVJbmRleCk7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxNb2NrQ29udGFpbmVyID0gdGhpcy5fdGFibGUudGFibGVTY3JvbGxNb2NrQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBzY3JvbGxNb2NrQ29udGFpbmVyLnN0eWxlLm1heEhlaWdodCA9IHRoaXMuYm9keUhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghdGhpcy52aXJ0dWFsU2Nyb2xsIHx8ICF0aGlzLmJvZHlIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJvd0hlaWdodCA9IHRoaXMucm93SGVpZ2h0ICsgMTtcblxuICAgICAgICAgICAgY29uc3Qgcm93c1Zpc2libGUgPSB0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZTtcbiAgICAgICAgICAgIGNvbnN0IHJvd3NJblZpZXdQb3J0ID0gdGhpcy5fdGFibGUuZ2V0Um93c0luVmlld3BvcnQoKTtcbiAgICAgICAgICAgIGNvbnN0IHRvdGFsTm9kZUNvdW50ID0gcm93c1Zpc2libGUubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5fdGFibGUudGFibGVTY3JvbGxhYmxlLmdldFNjcm9sbFRvcCgpO1xuXG4gICAgICAgICAgICBsZXQgc3RhcnROb2RlSW5kZXggPSBNYXRoLmZsb29yKHNjcm9sbFRvcCAvIHJvd0hlaWdodCkgLSB0aGlzLnJlbmRlckFoZWFkO1xuICAgICAgICAgICAgc3RhcnROb2RlSW5kZXggPSBNYXRoLm1heCgwLCBzdGFydE5vZGVJbmRleCk7XG5cbiAgICAgICAgICAgIGxldCB2aXNpYmxlTm9kZUNvdW50ID1cbiAgICAgICAgICAgICAgICBNYXRoLmNlaWwodGhpcy5fdGFibGUudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLyByb3dIZWlnaHQpICsgMiAqIHRoaXMucmVuZGVyQWhlYWQ7XG4gICAgICAgICAgICB2aXNpYmxlTm9kZUNvdW50ID0gTWF0aC5taW4odG90YWxOb2RlQ291bnQgLSBzdGFydE5vZGVJbmRleCwgdmlzaWJsZU5vZGVDb3VudCk7XG5cbiAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFRyYW5zZm9ybSQubmV4dChzdGFydE5vZGVJbmRleCAqIHJvd0hlaWdodCk7XG5cbiAgICAgICAgICAgIC8vIFNpbXBsZSBjYWNoaW5nIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHJlLXJlbmRlcmluZ3NcbiAgICAgICAgICAgIGNvbnN0IGlzQ2FjaGVkID1cbiAgICAgICAgICAgICAgICBzdGFydE5vZGVJbmRleCA9PT0gdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlLnN0YXJ0Tm9kZUluZGV4ICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZU5vZGVDb3VudCA9PT0gdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlLnZpc2libGVOb2RlQ291bnQgJiZcbiAgICAgICAgICAgICAgICB0b3RhbE5vZGVDb3VudCA9PT0gdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlLnRvdGFsTm9kZUNvdW50ICYmXG4gICAgICAgICAgICAgICAgLy8gT24gcm93cyBjaGFuZ2UsIGV2ZW4gaWYgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzIGlzIHRoZSBzYW1lLCB0aGUgcm93IG9iamVjdCB3aWxsIGJlIGRpZmZlcmVudFxuICAgICAgICAgICAgICAgIHN0YXJ0Tm9kZUluZGV4ID09PSByb3dzSW5WaWV3UG9ydFswXTtcblxuICAgICAgICAgICAgaWYgKGlzQ2FjaGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl92aXJ0dWFsU2Nyb2xsQ2FjaGUgPSB7IHN0YXJ0Tm9kZUluZGV4LCB2aXNpYmxlTm9kZUNvdW50LCB0b3RhbE5vZGVDb3VudCB9O1xuICAgICAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsVG90YWxIZWlnaHQgPSB0b3RhbE5vZGVDb3VudCAqIHJvd0hlaWdodCAtIHZpc2libGVOb2RlQ291bnQgKiByb3dIZWlnaHQ7XG4gICAgICAgICAgICB0aGlzLl90YWJsZS5zZXRSb3dzSW5WaWV3cG9ydChcbiAgICAgICAgICAgICAgICBzdGFydE5vZGVJbmRleCxcbiAgICAgICAgICAgICAgICByb3dzVmlzaWJsZS5zbGljZShzdGFydE5vZGVJbmRleCwgc3RhcnROb2RlSW5kZXggKyB2aXNpYmxlTm9kZUNvdW50KS5sZW5ndGhcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogSW5pdGlhbGlzZXMgc2Nyb2xsIGxpc3RlbmVycy5cbiAgICAgKi9cbiAgICBsaXN0ZW5PblZpcnR1YWxTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbFdob2xlUm93cykge1xuICAgICAgICAgICAgdGhpcy5fdGFibGUudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIHRoaXMuX3doZWVsU2Nyb2xsTGlzdGVuZXJGdW5jdGlvbiwge1xuICAgICAgICAgICAgICAgIHBhc3NpdmU6IGZhbHNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlLnRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgJ3Njcm9sbCcsXG4gICAgICAgICAgICAgICAgdGhpcy5fbW9ja1Njcm9sbGJhckxpc3RlbmVyRnVuY3Rpb24sXG4gICAgICAgICAgICAgICAgeyBwYXNzaXZlOiBmYWxzZSB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdGFibGVTY3JvbGxEaXNwYXRjaGVyXG4gICAgICAgICAgICAgICAgLnZlcnRpY2FsbHlTY3JvbGxlZCgpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnZpcnR1YWxTY3JvbGwgJiYgISF0aGlzLmJvZHlIZWlnaHQpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNjcm9sbGFibGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVWaXJ0dWFsU2Nyb2xsUm93cygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90YWJsZS5zZXRUYWJsZVN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuX3RhYmxlLmdldFRhYmxlU3RhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcFBvc2l0aW9uOiBzY3JvbGxhYmxlLmdldFNjcm9sbFRvcCgpXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXROdW1iZXJPZlJvd3NUb0Rpc3BsYXkoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdGFibGVDb250YWluZXIgPSB0aGlzLl90YWJsZS50YWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgICBsZXQgdGFibGVIZWlnaHQgPSB0YWJsZUNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG4gICAgICAgIHRhYmxlSGVpZ2h0ID0gdGFibGVIZWlnaHQgLSB0YWJsZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCd0aGVhZCcpLmNsaWVudEhlaWdodDtcbiAgICAgICAgY29uc3QgbnVtYmVyT2ZSb3dzID0gTWF0aC5mbG9vcih0YWJsZUhlaWdodCAvICh0aGlzLnJvd0hlaWdodCArIDIpKTtcbiAgICAgICAgaWYgKHRoaXMuX3RhYmxlLl90YWJsZVJvd3NWaXNpYmxlLmxlbmd0aCA8IG51bWJlck9mUm93cykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxlLl90YWJsZVJvd3NWaXNpYmxlLmxlbmd0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudW1iZXJPZlJvd3M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBwZXJmb3JtcyBhIHdoZWVsIGV2ZW50LiBJdCBkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSB1c2VyIGhhcyBzY3JvbGxlZFxuICAgICAqIHVwIG9yIGRvd24gdXNpbmcgdGhlIGV2ZW50J3MgZGVsdGFYIHByb3BlcnR5LCBhbmQgc2Nyb2xscyB0aGUgdGFibGUgYnkgb25lIHJvdy5cbiAgICAgKi9cbiAgICBwcml2YXRlIF93aGVlbFNjcm9sbExpc3RlbmVyRnVuY3Rpb24gPSAoZXZlbnQ6IFdoZWVsRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKE1hdGguYWJzKGV2ZW50LmRlbHRhWCkgPCBNYXRoLmFicyhldmVudC5kZWx0YVkpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fd2hlZWxUaW1lb3V0KSB7XG4gICAgICAgICAgICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3doZWVsVGltZW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkZWx0YVkgPSBldmVudC5kZWx0YVk7XG4gICAgICAgICAgICBpZiAoZGVsdGFZKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fd2hlZWxUaW1lb3V0ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Njcm9sbFJvdyhkZWx0YVkgPiAwID8gMSA6IC0xKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgbW9jayBzY3JvbGxiYXIgKHdoZW4gdXNpbmcgJ3Njcm9sbFdob2xlUm93cycpIGlzIG1vdmVkLiBJdCBkZXRlcm1pbmVzIGlmIHRoZVxuICAgICAqIHNjcm9sbCB3YXMgdXAgb3IgZG93biBieSBjb21wYXJpbmcgdGhlIGN1cnJlbnQgc2Nyb2xsIHRvcCB0byB0aGUgcHJldmlvdXMgc2Nyb2xsIHRvcCBhbmQgc2Nyb2xscyByb3dzIGFjY29yZGluZ2x5LlxuICAgICAqL1xuICAgIHByaXZhdGUgX21vY2tTY3JvbGxiYXJMaXN0ZW5lckZ1bmN0aW9uID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbE1vY2tUaW1lb3V0KSB7XG4gICAgICAgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fc2Nyb2xsTW9ja1RpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lciA9IHRoaXMuX3RhYmxlLnRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgICBsZXQgZGVsdGFZID0gdGFibGVTY3JvbGxNb2NrQ29udGFpbmVyLnNjcm9sbFRvcCAtIHRoaXMuX2xhc3RNb2NrU2Nyb2xsUG9zaXRpb247XG4gICAgICAgIGRlbHRhWSA9IE1hdGguY2VpbChkZWx0YVkgLyB0aGlzLnJvd0hlaWdodCk7XG4gICAgICAgIHRoaXMuX3Njcm9sbE1vY2tUaW1lb3V0ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zY3JvbGxSb3coZGVsdGFZLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RNb2NrU2Nyb2xsUG9zaXRpb24gPSB0YWJsZVNjcm9sbE1vY2tDb250YWluZXIuc2Nyb2xsVG9wO1xuICAgICAgICAgICAgaWYgKHRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5zY3JvbGxUb3AgPT09IDApIHtcbiAgICAgICAgICAgICAgICAvLyBBbHdheXMgZGlzcGxheSB0aGUgZmlyc3Qgcm93IG9mIHRoZSB0YWJsZSB3aGVuIHRoZSB1c2VyIHNjcm9sbHMgYWxsIHRoZSB3YXkgdG8gdGhlIHRvcFxuICAgICAgICAgICAgICAgIHRoaXMuX3NldFJvd3MoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGFibGVTY3JvbGxNb2NrQ29udGFpbmVyLnNjcm9sbFRvcCArIHRhYmxlU2Nyb2xsTW9ja0NvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgPT09XG4gICAgICAgICAgICAgICAgdGFibGVTY3JvbGxNb2NrQ29udGFpbmVyLnNjcm9sbEhlaWdodFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gQWx3YXlzIGRpc3BsYXkgdGhlIGxhc3Qgcm93cyBvZiB0aGUgdGFibGUgd2hlbiB0aGUgdXNlciBzY3JvbGxzIGFsbCB0aGUgd2F5IHRvIHRoZSBib3R0b21cbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydGluZ05vZGVJbmRleCA9IHRoaXMuX3RhYmxlLl90YWJsZVJvd3NWaXNpYmxlLmxlbmd0aCAtIHRoaXMuX2dldE51bWJlck9mUm93c1RvRGlzcGxheSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldFJvd3Moc3RhcnRpbmdOb2RlSW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoaXMgZnVuY3Rpb24sIHVzZWQgb25seSB3aGVuICdzY3JvbGxXaG9sZVJvd3MnIGlzIHRydXRoeSwgY2FsY3VsYXRlcyB3aGF0IHNob3VsZCBiZSB0aGUgbmV3IHN0YXJ0aW5nIG5vZGUsIGJhc2VkXG4gICAgICogb2ZmIHRoZSBwcmV2aW91cyBzdGFydGluZyBub2RlIGFuZCB0aGUgcHJvdmlkZWQgJ2NvdW50JyBwYXJhbWV0ZXIuIEZvciBleGFtcGxlIGlmIHRoZSBwcmV2aW91cyBzdGFydCBub2RlIHdhcyAxMFxuICAgICAqIGFuZCB0aGUgY291bnQgcGFyYW1ldGVyIGlzIC0yLCB0aGUgbmV3IHN0YXJ0aW5nIG5vZGUgd2lsbCBiZSA4LiBUaGlzIGZ1bmN0aW9uIGFsc28gcHJvZ3JhbW1hdGljYWxseSBtb3ZlcyB0aGVcbiAgICAgKiBtb2NrIHNjcm9sbGJhci5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9zY3JvbGxSb3coY291bnQ6IG51bWJlciwgZnJvbU1vY2tTY3JvbGxiYXJMaXN0ZW5lciA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGxldCBzdGFydGluZ05vZGUgPSAwO1xuICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTdGFydE5vZGVJbmRleCAhPT0gbnVsbCAmJiB0aGlzLl9wcmV2aW91c1N0YXJ0Tm9kZUluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHN0YXJ0aW5nTm9kZSA9IHRoaXMuX3ByZXZpb3VzU3RhcnROb2RlSW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgc3RhcnRpbmdOb2RlICsgY291bnQgKyB0aGlzLl9nZXROdW1iZXJPZlJvd3NUb0Rpc3BsYXkoKSA8PSB0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZS5sZW5ndGggfHxcbiAgICAgICAgICAgIGNvdW50IDwgMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHN0YXJ0aW5nTm9kZSA9IE1hdGguY2VpbChzdGFydGluZ05vZGUgKyBjb3VudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXJ0aW5nTm9kZSA8IDApIHtcbiAgICAgICAgICAgIHN0YXJ0aW5nTm9kZSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhpcyBuZXh0ICdpZicgc3RhdGVtZW50IGlzIGZvciB0cmlnZ2VyaW5nIG5ldyBwYWdlIGxvYWRzIHdoZW4gJ3BhZ2VTY3JvbGxpbmcnIGlzIHRydWVcbiAgICAgICAgaWYgKGNvdW50ID4gMCAmJiBzdGFydGluZ05vZGUgPT09IHRoaXMuX3ByZXZpb3VzU3RhcnROb2RlSW5kZXggJiYgdGhpcy5fdGFibGUucGFnZVNjcm9sbGluZykge1xuICAgICAgICAgICAgdGhpcy5fdGFibGUuX29uU3B5SW50ZXJzZWN0KHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldFJvd3Moc3RhcnRpbmdOb2RlKTtcbiAgICAgICAgY29uc3QgdGFibGVTY3JvbGxNb2NrQ29udGFpbmVyID0gdGhpcy5fdGFibGUudGFibGVTY3JvbGxNb2NrQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmICghZnJvbU1vY2tTY3JvbGxiYXJMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGFibGVTY3JvbGxNb2NrQ29udGFpbmVyLnNjcm9sbEJ5KHsgdG9wOiBjb3VudCAqIHRoaXMucm93SGVpZ2h0IH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2xhc3RNb2NrU2Nyb2xsUG9zaXRpb24gPSB0YWJsZVNjcm9sbE1vY2tDb250YWluZXIuc2Nyb2xsVG9wO1xuICAgICAgICBpZiAodGhpcy5fdGFibGUucGFnZVNjcm9sbGluZykge1xuICAgICAgICAgICAgdGhpcy5fdGFibGUudGFibGVTY3JvbGxlZC5lbWl0KHRoaXMuX2xhc3RNb2NrU2Nyb2xsUG9zaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoaXMgZnVuY3Rpb24gc2V0cyByb3dzIGluIHRoZSB0YWJsZSdzIHZpZXdwb3J0IGRlcGVuZGluZyBvbiB0aGUgcHJvdmlkZWQgc3RhcnRpbmcgbm9kZS4gSXQgYWxzbyBzZXRzIHRoZSB0YWJsZVxuICAgICAqIHN0YXRlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3NldFJvd3Moc3RhcnRpbmdOb2RlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuc2V0Um93c0luVmlld3BvcnQoc3RhcnRpbmdOb2RlLCB0aGlzLl9nZXROdW1iZXJPZlJvd3NUb0Rpc3BsYXkoKSk7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzU3RhcnROb2RlSW5kZXggPSBzdGFydGluZ05vZGU7XG4gICAgICAgIHRoaXMuX3RhYmxlLnNldFRhYmxlU3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5fdGFibGUuZ2V0VGFibGVTdGF0ZSgpLFxuICAgICAgICAgICAgc2Nyb2xsVG9wUG9zaXRpb246IHRoaXMucm93SGVpZ2h0ICogc3RhcnRpbmdOb2RlXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -12,4 +12,4 @@ export class Table {
|
|
|
12
12
|
this.openTableColumnSettings = new EventEmitter();
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFjLFlBQVksRUFBWSxNQUFNLGVBQWUsQ0FBQztBQWlCbkUsTUFBTSxPQUFnQixLQUFLO0lBQTNCO1FBMktJLCtDQUErQztRQUN0QywwQkFBcUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU5RSxpREFBaUQ7UUFDeEMsNEJBQXVCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEYsZ0RBQWdEO1FBQ3ZDLDJCQUFzQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRS9FLGlEQUFpRDtRQUN4Qyw0QkFBdUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQVVwRixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nICovXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2VhcmNoLWZpZWxkJztcbmltcG9ydCB7IFByZXNldE1hbmFnZWRDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZvY3VzYWJsZUdyaWREaXJlY3RpdmUsIE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgVGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkZpbHRlciB9IGZyb20gJy4vaW50ZXJmYWNlcy9jb2xsZWN0aW9uLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkdyb3VwIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbGxlY3Rpb24tZ3JvdXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbGxlY3Rpb25Tb3J0IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbGxlY3Rpb24tc29ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGFibGVTdGF0ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy90YWJsZS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGxhdGZvcm1UYWJsZU1hbmFnZWRQcmVzZXQsIFNhdmVSb3dzRXZlbnQsIFRhYmxlSW5pdGlhbFN0YXRlLCBUYWJsZVJvdywgVGFibGVWaXJ0dWFsU2Nyb2xsIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVTY3JvbGxhYmxlIH0gZnJvbSAnLi9zZXJ2aWNlcy90YWJsZS1zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZVZhbHVlIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWJsZTxUID0gYW55PiBpbXBsZW1lbnRzIFByZXNldE1hbmFnZWRDb21wb25lbnQ8UGxhdGZvcm1UYWJsZU1hbmFnZWRQcmVzZXQ+IHtcbiAgICBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgX2xvYWRQcmV2aW91c1BhZ2VzOiBib29sZWFuO1xuXG4gICAgYWJzdHJhY3QgcGFnZVNjcm9sbGluZzogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IGxvYWRQYWdlc0JlZm9yZTogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IHBhZ2VTaXplOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgYWJzdHJhY3QgZnJlZXplQ29sdW1uc1RvOiBzdHJpbmc7XG5cbiAgICBhYnN0cmFjdCBmcmVlemVFbmRDb2x1bW5zVG86IHN0cmluZztcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gY3VycmVudCBwcmVzZXQgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBjaGFuZ2VkLiAqL1xuICAgIGFic3RyYWN0IHByZXNldENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxQbGF0Zm9ybVRhYmxlTWFuYWdlZFByZXNldD47XG5cbiAgICAvKiogU3VtIG9mIHdpZHRocyBvZiBmaXhlZCBjb2x1bW5zIChzZW1hbnRpYyBoaWdobGlnaHRpbmcsIHNlbGVjdGlvbikgKi9cbiAgICBhYnN0cmFjdCBnZXQgX2ZpeGVkQ29sdW1uc1BhZGRpbmcoKTogbnVtYmVyO1xuXG4gICAgLyoqIEZyZWV6YWJsZSBjb2x1bW4gbmFtZXMgYW5kIHRoZWlyIHJlc3BlY3RpdmUgaW5kZXhlcyAqL1xuICAgIGFic3RyYWN0IGdldCBfZnJlZXphYmxlQ29sdW1ucygpOiBSZWFkb25seU1hcDxzdHJpbmcsIG51bWJlcj47XG5cbiAgICAvKiogRnJlZXphYmxlIGNvbHVtbiBuYW1lcyBhbmQgdGhlaXIgcmVzcGVjdGl2ZSBpbmRleGVzICovXG4gICAgYWJzdHJhY3QgZ2V0IF9mcmVlemFibGVFbmRDb2x1bW5zKCk6IFJlYWRvbmx5TWFwPHN0cmluZywgbnVtYmVyPjtcblxuICAgIC8qKiBXaWR0aCBvZiB0aGUgdGFibGUgZWxlbWVudCBpbiBweCAqL1xuICAgIGFic3RyYWN0IGdldCBfdGFibGVXaWR0aFB4KCk6IG51bWJlcjtcblxuICAgIGFic3RyYWN0IGdldCBsb2FkaW5nU3RhdGUoKTogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IGluaXRpYWxTdGF0ZTogVGFibGVJbml0aWFsU3RhdGUgfCBudWxsO1xuXG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgZGVmaW5pdGlvbiBsaXN0ICovXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgdGFibGVDb2x1bW5zU3RyZWFtOiBPYnNlcnZhYmxlPFRhYmxlQ29sdW1uW10+O1xuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgdGFibGVDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSB0YWJsZVNjcm9sbE1vY2tDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSB0YWJsZVNjcm9sbGFibGU6IFRhYmxlU2Nyb2xsYWJsZTtcblxuICAgIGFic3RyYWN0IF92aXJ0dWFsU2Nyb2xsRGlyZWN0aXZlOiBUYWJsZVZpcnR1YWxTY3JvbGwgfCBudWxsO1xuXG4gICAgYWJzdHJhY3QgX3RhYmxlUm93c1Zpc2libGU6IFRhYmxlUm93PFQ+W107XG5cbiAgICBhYnN0cmFjdCBfdGFibGVSb3dzOiBUYWJsZVJvdzxUPltdO1xuXG4gICAgYWJzdHJhY3QgX3RhYmxlUm93c0luVmlld1BvcnRQbGFjZWhvbGRlcjogbnVtYmVyW107XG5cbiAgICBhYnN0cmFjdCBfZm9jdXNhYmxlR3JpZDogRm9jdXNhYmxlR3JpZERpcmVjdGl2ZTtcblxuICAgIGFic3RyYWN0IF9zZWxlY3Rpb25Nb2RlOiBTZWxlY3Rpb25Nb2RlVmFsdWU7XG5cbiAgICBhYnN0cmFjdCBjb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyO1xuXG4gICAgLyoqIEdldCB0YWJsZSBzdGF0ZSAqL1xuICAgIGFic3RyYWN0IGdldFRhYmxlU3RhdGUoKTogVGFibGVTdGF0ZTtcblxuICAgIC8qKiBTZXQgdGFibGUgc3RhdGUgKi9cbiAgICBhYnN0cmFjdCBzZXRUYWJsZVN0YXRlKHRhYmxlU3RhdGU6IFRhYmxlU3RhdGUpOiB2b2lkO1xuXG4gICAgLyoqIEdldCB0YWJsZSBjb2x1bW5zIGRlZmluaXRpb24gbGlzdCAqL1xuICAgIGFic3RyYWN0IGdldFRhYmxlQ29sdW1ucygpOiBUYWJsZUNvbHVtbltdO1xuXG4gICAgLyoqIEdldCBhIGxpc3Qgb2YgdmlzaWJsZSB0YWJsZSBjb2x1bW5zLiAqL1xuICAgIGFic3RyYWN0IGdldFZpc2libGVUYWJsZUNvbHVtbnMoKTogVGFibGVDb2x1bW5bXTtcblxuICAgIC8qKiBTZXQgU29ydGluZyBydWxlcyAqL1xuICAgIGFic3RyYWN0IHNvcnQoc29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZDtcblxuICAgIC8qKiBBZGQgU29ydGluZyBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFic3RyYWN0IGFkZFNvcnQoc29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZDtcblxuICAgIC8qKiBTZXQgRmlsdGVyaW5nIHJ1bGVzICovXG4gICAgYWJzdHJhY3QgZmlsdGVyKGZpbHRlclJ1bGVzOiBDb2xsZWN0aW9uRmlsdGVyW10pOiB2b2lkO1xuXG4gICAgLyoqIEFkZCBGaWx0ZXIgcnVsZXMgdG8gdGhlIGV4aXN0aW5nIG9uZXMgKi9cbiAgICBhYnN0cmFjdCBhZGRGaWx0ZXIoZmlsdGVyUnVsZXM6IENvbGxlY3Rpb25GaWx0ZXJbXSk6IHZvaWQ7XG5cbiAgICAvKiogU2V0IGdyb3VwaW5nIHJ1bGVzICovXG4gICAgYWJzdHJhY3QgZ3JvdXAoZ3JvdXBSdWxlczogQ29sbGVjdGlvbkdyb3VwW10pOiB2b2lkO1xuXG4gICAgLyoqIEFkZCBHcm91cCBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFic3RyYWN0IGFkZEdyb3VwKGdyb3VwUnVsZXM6IENvbGxlY3Rpb25Hcm91cFtdKTogdm9pZDtcblxuICAgIC8qKiBTZXQgdGFibGUgY29sdW1ucyAqL1xuICAgIGFic3RyYWN0IHNldENvbHVtbnMoY29sdW1uczogc3RyaW5nW10pOiB2b2lkO1xuXG4gICAgLyoqIFRvZ2dsZSByb3cgY2hlY2tlZCBzdGF0ZS4gKi9cbiAgICBhYnN0cmFjdCB0b2dnbGVTZWxlY3RhYmxlUm93KHJvd0luZGV4OiBudW1iZXIpOiB2b2lkO1xuXG4gICAgLyoqIEZyZWV6ZSB0YWJsZSBjb2x1bW5zIHRvIGluY2x1ZGluZyAqL1xuICAgIGFic3RyYWN0IGZyZWV6ZVRvQ29sdW1uKGNvbHVtbktleTogc3RyaW5nLCBlbmQ/OiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBVbmZyZWV6ZSBjb2x1bW4gKi9cbiAgICBhYnN0cmFjdCB1bmZyZWV6ZShjb2x1bW5LZXk6IHN0cmluZywgZW5kPzogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogU2VhcmNoIGluIGFsbCB0YWJsZSBjb2x1bW5zICovXG4gICAgYWJzdHJhY3Qgc2VhcmNoKHNlYXJjaElucHV0OiBTZWFyY2hJbnB1dCk6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBTb3J0IFNldHRpbmdzIGJ1dHRvbiB2aXNpYmlsaXR5ICovXG4gICAgYWJzdHJhY3Qgc2hvd1NvcnRTZXR0aW5nc0luVG9vbGJhcihzaG93U29ydFNldHRpbmdzOiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBUb29sYmFyIEZpbHRlciBTZXR0aW5ncyBidXR0b24gdmlzaWJpbGl0eSAqL1xuICAgIGFic3RyYWN0IHNob3dGaWx0ZXJTZXR0aW5nc0luVG9vbGJhcihzaG93RmlsdGVyU2V0dGluZ3M6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFRvb2xiYXIgR3JvdXAgU2V0dGluZ3MgYnV0dG9uIHZpc2liaWxpdHkgKi9cbiAgICBhYnN0cmFjdCBzaG93R3JvdXBTZXR0aW5nc0luVG9vbGJhcihzaG93R3JvdXBTZXR0aW5nczogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBDb2x1bW5zIFNldHRpbmdzIGJ1dHRvbiB2aXNpYmlsaXR5ICovXG4gICAgYWJzdHJhY3Qgc2hvd0NvbHVtblNldHRpbmdzSW5Ub29sYmFyKHNob3dDb2x1bW5TZXR0aW5nczogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogRGlzYWJsZSBmaWx0ZXJpbmcgYnkgaGVhZGVyIGNvbHVtbiBtZW51ICovXG4gICAgYWJzdHJhY3Qgc2V0SGVhZGVyQ29sdW1uRmlsdGVyaW5nRGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFNldCBjdXJyZW50IHBhZ2UgKi9cbiAgICBhYnN0cmFjdCBzZXRDdXJyZW50UGFnZShjdXJyZW50UGFnZTogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKiBHZXRzIHRoZSBtYXggYWxsb3dlZCB3aWR0aCBmb3IgYWxsIGZyZWV6YWJsZSBjb2x1bW5zICovXG4gICAgYWJzdHJhY3QgZ2V0TWF4QWxsb3dlZEZyZWV6YWJsZUNvbHVtbnNXaWR0aCgpOiBudW1iZXI7XG5cbiAgICAvKiogR2V0IHRhYmxlIGRhdGEgc291cmNlICovXG4gICAgYWJzdHJhY3QgZ2V0RGF0YVNvdXJjZSgpOiBUYWJsZURhdGFTb3VyY2U8VD47XG5cbiAgICAvKiogTWFudWFsbHkgdHJpZ2dlcnMgY29sdW1ucyB3aWR0aCByZWNhbGN1bGF0aW9uICovXG4gICAgYWJzdHJhY3QgcmVjYWxjdWxhdGVUYWJsZUNvbHVtbldpZHRoKCk6IHZvaWQ7XG5cbiAgICAvKiogRmV0Y2ggZGF0YSBzb3VyY2UgZGF0YS4gKi9cbiAgICBhYnN0cmFjdCBmZXRjaCgpOiB2b2lkO1xuXG4gICAgLyoqIEFkZHMgZW1wdHkgcm93IGZvciBlZGl0aW5nIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJvd3MgYXJyYXkuICovXG4gICAgYWJzdHJhY3QgYWRkUm93KCk6IHZvaWQ7XG5cbiAgICAvKiogRW1pdHMgc2F2ZSBldmVudCBhbmQgcmVzZXRzIGVkaXRhYmxlIHJvd3MgYXJyYXkuICovXG4gICAgYWJzdHJhY3Qgc2F2ZVJvd3MoKTogdm9pZDtcblxuICAgIC8qKiBDYW5jZWxzIGVkaXRpbmcgYW5kIGRpc2NhcmRzIG5ld2x5IGFkZGVkIHJvd3MgKi9cbiAgICBhYnN0cmFjdCBjYW5jZWxFZGl0aW5nKCk6IHZvaWQ7XG5cbiAgICAvKiogRXhwYW5kIGFsbCB0aGUgcm93cyBvZiB0aGUgdGFibGUgKi9cbiAgICBhYnN0cmFjdCBleHBhbmRBbGwoKTogdm9pZDtcblxuICAgIC8qKiBDb2xsYXBzZSBhbGwgdGhlIHJvd3Mgb2YgdGhlIHRhYmxlICovXG4gICAgYWJzdHJhY3QgY29sbGFwc2VBbGwoKTogdm9pZDtcblxuICAgIC8qKiBTZXRzIHNlbGVjdGVkIHByZXNldC4gKi9cbiAgICBhYnN0cmFjdCBzZXRQcmVzZXQoZGF0YTogUGxhdGZvcm1UYWJsZU1hbmFnZWRQcmVzZXQpOiB2b2lkO1xuXG4gICAgLyoqIFJldHVybnMgY3VycmVudCBwcmVzZXQuICovXG4gICAgYWJzdHJhY3QgZ2V0Q3VycmVudFByZXNldCgpOiBQbGF0Zm9ybVRhYmxlTWFuYWdlZFByZXNldDtcblxuICAgIGFic3RyYWN0IGdldFJvd3NJblZpZXdwb3J0KCk6IG51bWJlcltdO1xuXG4gICAgYWJzdHJhY3Qgc2V0Um93c0luVmlld3BvcnQoc3RhcnRJbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcik6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCB0b2dnbGVFeHBhbmRhYmxlVGFibGVSb3cocm93OiBUYWJsZVJvdzxUPiwgZm9yY2VGZXRjaD86IGJvb2xlYW4pO1xuXG4gICAgYWJzdHJhY3Qgb25UYWJsZVJvd3NDaGFuZ2VkKCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCByZWZyZXNoRG5kTGlzdCgpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgY2xlYXJUYWJsZVJvd3MoKTogdm9pZDtcblxuICAgIGFic3RyYWN0IF9vblNweUludGVyc2VjdChpbnRlcnNlY3RlZDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBTb3J0IFNldHRpbmdzIGJ1dHRvbiBjbGljayBldmVudCAqL1xuICAgIHJlYWRvbmx5IG9wZW5UYWJsZVNvcnRTZXR0aW5nczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIFRvb2xiYXIgRmlsdGVyIFNldHRpbmdzIGJ1dHRvbiBjbGljayBldmVudCAqL1xuICAgIHJlYWRvbmx5IG9wZW5UYWJsZUZpbHRlclNldHRpbmdzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG9vbGJhciBHcm91cCBTZXR0aW5ncyBidXR0b24gY2xpY2sgZXZlbnQgKi9cbiAgICByZWFkb25seSBvcGVuVGFibGVHcm91cFNldHRpbmdzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG9vbGJhciBDb2x1bW4gU2V0dGluZ3MgYnV0dG9uIGNsaWNrIGV2ZW50ICovXG4gICAgcmVhZG9ubHkgb3BlblRhYmxlQ29sdW1uU2V0dGluZ3M6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIGVtcHR5IHJvdyBhZGRlZC4gKi9cbiAgICByZWFkb25seSBlbXB0eVJvd0FkZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiBzYXZlIGJ1dHRvbiBwcmVzc2VkLiAqL1xuICAgIHJlYWRvbmx5IHNhdmU6IEV2ZW50RW1pdHRlcjxTYXZlUm93c0V2ZW50PFQ+PjtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIGNhbmNlbCBidXR0b24gcHJlc3NlZC4gKi9cbiAgICByZWFkb25seSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbn1cbiJdfQ==
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFjLFlBQVksRUFBWSxNQUFNLGVBQWUsQ0FBQztBQWlCbkUsTUFBTSxPQUFnQixLQUFLO0lBQTNCO1FBMktJLCtDQUErQztRQUN0QywwQkFBcUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU5RSxpREFBaUQ7UUFDeEMsNEJBQXVCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEYsZ0RBQWdEO1FBQ3ZDLDJCQUFzQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRS9FLGlEQUFpRDtRQUN4Qyw0QkFBdUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQWFwRixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nICovXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2VhcmNoLWZpZWxkJztcbmltcG9ydCB7IFByZXNldE1hbmFnZWRDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZvY3VzYWJsZUdyaWREaXJlY3RpdmUsIE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgVGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkZpbHRlciB9IGZyb20gJy4vaW50ZXJmYWNlcy9jb2xsZWN0aW9uLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkdyb3VwIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbGxlY3Rpb24tZ3JvdXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbGxlY3Rpb25Tb3J0IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbGxlY3Rpb24tc29ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGFibGVTdGF0ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy90YWJsZS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGxhdGZvcm1UYWJsZU1hbmFnZWRQcmVzZXQsIFNhdmVSb3dzRXZlbnQsIFRhYmxlSW5pdGlhbFN0YXRlLCBUYWJsZVJvdywgVGFibGVWaXJ0dWFsU2Nyb2xsIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVTY3JvbGxhYmxlIH0gZnJvbSAnLi9zZXJ2aWNlcy90YWJsZS1zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZVZhbHVlIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWJsZTxUID0gYW55PiBpbXBsZW1lbnRzIFByZXNldE1hbmFnZWRDb21wb25lbnQ8UGxhdGZvcm1UYWJsZU1hbmFnZWRQcmVzZXQ+IHtcbiAgICBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgX2xvYWRQcmV2aW91c1BhZ2VzOiBib29sZWFuO1xuXG4gICAgYWJzdHJhY3QgcGFnZVNjcm9sbGluZzogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IGxvYWRQYWdlc0JlZm9yZTogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IHBhZ2VTaXplOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgYWJzdHJhY3QgZnJlZXplQ29sdW1uc1RvOiBzdHJpbmc7XG5cbiAgICBhYnN0cmFjdCBmcmVlemVFbmRDb2x1bW5zVG86IHN0cmluZztcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gY3VycmVudCBwcmVzZXQgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBjaGFuZ2VkLiAqL1xuICAgIGFic3RyYWN0IHByZXNldENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxQbGF0Zm9ybVRhYmxlTWFuYWdlZFByZXNldD47XG5cbiAgICAvKiogU3VtIG9mIHdpZHRocyBvZiBmaXhlZCBjb2x1bW5zIChzZW1hbnRpYyBoaWdobGlnaHRpbmcsIHNlbGVjdGlvbikgKi9cbiAgICBhYnN0cmFjdCBnZXQgX2ZpeGVkQ29sdW1uc1BhZGRpbmcoKTogbnVtYmVyO1xuXG4gICAgLyoqIEZyZWV6YWJsZSBjb2x1bW4gbmFtZXMgYW5kIHRoZWlyIHJlc3BlY3RpdmUgaW5kZXhlcyAqL1xuICAgIGFic3RyYWN0IGdldCBfZnJlZXphYmxlQ29sdW1ucygpOiBSZWFkb25seU1hcDxzdHJpbmcsIG51bWJlcj47XG5cbiAgICAvKiogRnJlZXphYmxlIGNvbHVtbiBuYW1lcyBhbmQgdGhlaXIgcmVzcGVjdGl2ZSBpbmRleGVzICovXG4gICAgYWJzdHJhY3QgZ2V0IF9mcmVlemFibGVFbmRDb2x1bW5zKCk6IFJlYWRvbmx5TWFwPHN0cmluZywgbnVtYmVyPjtcblxuICAgIC8qKiBXaWR0aCBvZiB0aGUgdGFibGUgZWxlbWVudCBpbiBweCAqL1xuICAgIGFic3RyYWN0IGdldCBfdGFibGVXaWR0aFB4KCk6IG51bWJlcjtcblxuICAgIGFic3RyYWN0IGdldCBsb2FkaW5nU3RhdGUoKTogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IGluaXRpYWxTdGF0ZTogVGFibGVJbml0aWFsU3RhdGUgfCBudWxsO1xuXG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgZGVmaW5pdGlvbiBsaXN0ICovXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgdGFibGVDb2x1bW5zU3RyZWFtOiBPYnNlcnZhYmxlPFRhYmxlQ29sdW1uW10+O1xuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgdGFibGVDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSB0YWJsZVNjcm9sbE1vY2tDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSB0YWJsZVNjcm9sbGFibGU6IFRhYmxlU2Nyb2xsYWJsZTtcblxuICAgIGFic3RyYWN0IF92aXJ0dWFsU2Nyb2xsRGlyZWN0aXZlOiBUYWJsZVZpcnR1YWxTY3JvbGwgfCBudWxsO1xuXG4gICAgYWJzdHJhY3QgX3RhYmxlUm93c1Zpc2libGU6IFRhYmxlUm93PFQ+W107XG5cbiAgICBhYnN0cmFjdCBfdGFibGVSb3dzOiBUYWJsZVJvdzxUPltdO1xuXG4gICAgYWJzdHJhY3QgX3RhYmxlUm93c0luVmlld1BvcnRQbGFjZWhvbGRlcjogbnVtYmVyW107XG5cbiAgICBhYnN0cmFjdCBfZm9jdXNhYmxlR3JpZDogRm9jdXNhYmxlR3JpZERpcmVjdGl2ZTtcblxuICAgIGFic3RyYWN0IF9zZWxlY3Rpb25Nb2RlOiBTZWxlY3Rpb25Nb2RlVmFsdWU7XG5cbiAgICBhYnN0cmFjdCBjb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyO1xuXG4gICAgLyoqIEdldCB0YWJsZSBzdGF0ZSAqL1xuICAgIGFic3RyYWN0IGdldFRhYmxlU3RhdGUoKTogVGFibGVTdGF0ZTtcblxuICAgIC8qKiBTZXQgdGFibGUgc3RhdGUgKi9cbiAgICBhYnN0cmFjdCBzZXRUYWJsZVN0YXRlKHRhYmxlU3RhdGU6IFRhYmxlU3RhdGUpOiB2b2lkO1xuXG4gICAgLyoqIEdldCB0YWJsZSBjb2x1bW5zIGRlZmluaXRpb24gbGlzdCAqL1xuICAgIGFic3RyYWN0IGdldFRhYmxlQ29sdW1ucygpOiBUYWJsZUNvbHVtbltdO1xuXG4gICAgLyoqIEdldCBhIGxpc3Qgb2YgdmlzaWJsZSB0YWJsZSBjb2x1bW5zLiAqL1xuICAgIGFic3RyYWN0IGdldFZpc2libGVUYWJsZUNvbHVtbnMoKTogVGFibGVDb2x1bW5bXTtcblxuICAgIC8qKiBTZXQgU29ydGluZyBydWxlcyAqL1xuICAgIGFic3RyYWN0IHNvcnQoc29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZDtcblxuICAgIC8qKiBBZGQgU29ydGluZyBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFic3RyYWN0IGFkZFNvcnQoc29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZDtcblxuICAgIC8qKiBTZXQgRmlsdGVyaW5nIHJ1bGVzICovXG4gICAgYWJzdHJhY3QgZmlsdGVyKGZpbHRlclJ1bGVzOiBDb2xsZWN0aW9uRmlsdGVyW10pOiB2b2lkO1xuXG4gICAgLyoqIEFkZCBGaWx0ZXIgcnVsZXMgdG8gdGhlIGV4aXN0aW5nIG9uZXMgKi9cbiAgICBhYnN0cmFjdCBhZGRGaWx0ZXIoZmlsdGVyUnVsZXM6IENvbGxlY3Rpb25GaWx0ZXJbXSk6IHZvaWQ7XG5cbiAgICAvKiogU2V0IGdyb3VwaW5nIHJ1bGVzICovXG4gICAgYWJzdHJhY3QgZ3JvdXAoZ3JvdXBSdWxlczogQ29sbGVjdGlvbkdyb3VwW10pOiB2b2lkO1xuXG4gICAgLyoqIEFkZCBHcm91cCBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFic3RyYWN0IGFkZEdyb3VwKGdyb3VwUnVsZXM6IENvbGxlY3Rpb25Hcm91cFtdKTogdm9pZDtcblxuICAgIC8qKiBTZXQgdGFibGUgY29sdW1ucyAqL1xuICAgIGFic3RyYWN0IHNldENvbHVtbnMoY29sdW1uczogc3RyaW5nW10pOiB2b2lkO1xuXG4gICAgLyoqIFRvZ2dsZSByb3cgY2hlY2tlZCBzdGF0ZS4gKi9cbiAgICBhYnN0cmFjdCB0b2dnbGVTZWxlY3RhYmxlUm93KHJvd0luZGV4OiBudW1iZXIpOiB2b2lkO1xuXG4gICAgLyoqIEZyZWV6ZSB0YWJsZSBjb2x1bW5zIHRvIGluY2x1ZGluZyAqL1xuICAgIGFic3RyYWN0IGZyZWV6ZVRvQ29sdW1uKGNvbHVtbktleTogc3RyaW5nLCBlbmQ/OiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBVbmZyZWV6ZSBjb2x1bW4gKi9cbiAgICBhYnN0cmFjdCB1bmZyZWV6ZShjb2x1bW5LZXk6IHN0cmluZywgZW5kPzogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogU2VhcmNoIGluIGFsbCB0YWJsZSBjb2x1bW5zICovXG4gICAgYWJzdHJhY3Qgc2VhcmNoKHNlYXJjaElucHV0OiBTZWFyY2hJbnB1dCk6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBTb3J0IFNldHRpbmdzIGJ1dHRvbiB2aXNpYmlsaXR5ICovXG4gICAgYWJzdHJhY3Qgc2hvd1NvcnRTZXR0aW5nc0luVG9vbGJhcihzaG93U29ydFNldHRpbmdzOiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBUb29sYmFyIEZpbHRlciBTZXR0aW5ncyBidXR0b24gdmlzaWJpbGl0eSAqL1xuICAgIGFic3RyYWN0IHNob3dGaWx0ZXJTZXR0aW5nc0luVG9vbGJhcihzaG93RmlsdGVyU2V0dGluZ3M6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFRvb2xiYXIgR3JvdXAgU2V0dGluZ3MgYnV0dG9uIHZpc2liaWxpdHkgKi9cbiAgICBhYnN0cmFjdCBzaG93R3JvdXBTZXR0aW5nc0luVG9vbGJhcihzaG93R3JvdXBTZXR0aW5nczogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBDb2x1bW5zIFNldHRpbmdzIGJ1dHRvbiB2aXNpYmlsaXR5ICovXG4gICAgYWJzdHJhY3Qgc2hvd0NvbHVtblNldHRpbmdzSW5Ub29sYmFyKHNob3dDb2x1bW5TZXR0aW5nczogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogRGlzYWJsZSBmaWx0ZXJpbmcgYnkgaGVhZGVyIGNvbHVtbiBtZW51ICovXG4gICAgYWJzdHJhY3Qgc2V0SGVhZGVyQ29sdW1uRmlsdGVyaW5nRGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFNldCBjdXJyZW50IHBhZ2UgKi9cbiAgICBhYnN0cmFjdCBzZXRDdXJyZW50UGFnZShjdXJyZW50UGFnZTogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKiBHZXRzIHRoZSBtYXggYWxsb3dlZCB3aWR0aCBmb3IgYWxsIGZyZWV6YWJsZSBjb2x1bW5zICovXG4gICAgYWJzdHJhY3QgZ2V0TWF4QWxsb3dlZEZyZWV6YWJsZUNvbHVtbnNXaWR0aCgpOiBudW1iZXI7XG5cbiAgICAvKiogR2V0IHRhYmxlIGRhdGEgc291cmNlICovXG4gICAgYWJzdHJhY3QgZ2V0RGF0YVNvdXJjZSgpOiBUYWJsZURhdGFTb3VyY2U8VD47XG5cbiAgICAvKiogTWFudWFsbHkgdHJpZ2dlcnMgY29sdW1ucyB3aWR0aCByZWNhbGN1bGF0aW9uICovXG4gICAgYWJzdHJhY3QgcmVjYWxjdWxhdGVUYWJsZUNvbHVtbldpZHRoKCk6IHZvaWQ7XG5cbiAgICAvKiogRmV0Y2ggZGF0YSBzb3VyY2UgZGF0YS4gKi9cbiAgICBhYnN0cmFjdCBmZXRjaCgpOiB2b2lkO1xuXG4gICAgLyoqIEFkZHMgZW1wdHkgcm93IGZvciBlZGl0aW5nIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJvd3MgYXJyYXkuICovXG4gICAgYWJzdHJhY3QgYWRkUm93KCk6IHZvaWQ7XG5cbiAgICAvKiogRW1pdHMgc2F2ZSBldmVudCBhbmQgcmVzZXRzIGVkaXRhYmxlIHJvd3MgYXJyYXkuICovXG4gICAgYWJzdHJhY3Qgc2F2ZVJvd3MoKTogdm9pZDtcblxuICAgIC8qKiBDYW5jZWxzIGVkaXRpbmcgYW5kIGRpc2NhcmRzIG5ld2x5IGFkZGVkIHJvd3MgKi9cbiAgICBhYnN0cmFjdCBjYW5jZWxFZGl0aW5nKCk6IHZvaWQ7XG5cbiAgICAvKiogRXhwYW5kIGFsbCB0aGUgcm93cyBvZiB0aGUgdGFibGUgKi9cbiAgICBhYnN0cmFjdCBleHBhbmRBbGwoKTogdm9pZDtcblxuICAgIC8qKiBDb2xsYXBzZSBhbGwgdGhlIHJvd3Mgb2YgdGhlIHRhYmxlICovXG4gICAgYWJzdHJhY3QgY29sbGFwc2VBbGwoKTogdm9pZDtcblxuICAgIC8qKiBTZXRzIHNlbGVjdGVkIHByZXNldC4gKi9cbiAgICBhYnN0cmFjdCBzZXRQcmVzZXQoZGF0YTogUGxhdGZvcm1UYWJsZU1hbmFnZWRQcmVzZXQpOiB2b2lkO1xuXG4gICAgLyoqIFJldHVybnMgY3VycmVudCBwcmVzZXQuICovXG4gICAgYWJzdHJhY3QgZ2V0Q3VycmVudFByZXNldCgpOiBQbGF0Zm9ybVRhYmxlTWFuYWdlZFByZXNldDtcblxuICAgIGFic3RyYWN0IGdldFJvd3NJblZpZXdwb3J0KCk6IG51bWJlcltdO1xuXG4gICAgYWJzdHJhY3Qgc2V0Um93c0luVmlld3BvcnQoc3RhcnRJbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcik6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCB0b2dnbGVFeHBhbmRhYmxlVGFibGVSb3cocm93OiBUYWJsZVJvdzxUPiwgZm9yY2VGZXRjaD86IGJvb2xlYW4pO1xuXG4gICAgYWJzdHJhY3Qgb25UYWJsZVJvd3NDaGFuZ2VkKCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCByZWZyZXNoRG5kTGlzdCgpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgY2xlYXJUYWJsZVJvd3MoKTogdm9pZDtcblxuICAgIGFic3RyYWN0IF9vblNweUludGVyc2VjdChpbnRlcnNlY3RlZDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBTb3J0IFNldHRpbmdzIGJ1dHRvbiBjbGljayBldmVudCAqL1xuICAgIHJlYWRvbmx5IG9wZW5UYWJsZVNvcnRTZXR0aW5nczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIFRvb2xiYXIgRmlsdGVyIFNldHRpbmdzIGJ1dHRvbiBjbGljayBldmVudCAqL1xuICAgIHJlYWRvbmx5IG9wZW5UYWJsZUZpbHRlclNldHRpbmdzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG9vbGJhciBHcm91cCBTZXR0aW5ncyBidXR0b24gY2xpY2sgZXZlbnQgKi9cbiAgICByZWFkb25seSBvcGVuVGFibGVHcm91cFNldHRpbmdzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG9vbGJhciBDb2x1bW4gU2V0dGluZ3MgYnV0dG9uIGNsaWNrIGV2ZW50ICovXG4gICAgcmVhZG9ubHkgb3BlblRhYmxlQ29sdW1uU2V0dGluZ3M6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIGVtcHR5IHJvdyBhZGRlZC4gKi9cbiAgICByZWFkb25seSBlbXB0eVJvd0FkZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiBzYXZlIGJ1dHRvbiBwcmVzc2VkLiAqL1xuICAgIHJlYWRvbmx5IHNhdmU6IEV2ZW50RW1pdHRlcjxTYXZlUm93c0V2ZW50PFQ+PjtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIGNhbmNlbCBidXR0b24gcHJlc3NlZC4gKi9cbiAgICByZWFkb25seSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPjtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIHRhYmxlIGlzIHNjcm9sbGVkIHdoaWxlIHVzaW5nIHBhZ2VTY3JvbGxpbmcuICovXG4gICAgcmVhZG9ubHkgdGFibGVTY3JvbGxlZDogRXZlbnRFbWl0dGVyPG51bWJlcj47XG59XG4iXX0=
|
|
@@ -2697,6 +2697,9 @@ class TableVirtualScrollDirective extends TableVirtualScroll {
|
|
|
2697
2697
|
tableScrollMockContainer.scrollBy({ top: count * this.rowHeight });
|
|
2698
2698
|
}
|
|
2699
2699
|
this._lastMockScrollPosition = tableScrollMockContainer.scrollTop;
|
|
2700
|
+
if (this._table.pageScrolling) {
|
|
2701
|
+
this._table.tableScrolled.emit(this._lastMockScrollPosition);
|
|
2702
|
+
}
|
|
2700
2703
|
}
|
|
2701
2704
|
/**
|
|
2702
2705
|
* @hidden
|