@datorama/core 22.12.8-rc → 22.12.8
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/datorama-core.umd.js +57 -86
- package/bundles/datorama-core.umd.js.map +1 -1
- package/bundles/datorama-core.umd.min.js +14 -14
- package/bundles/datorama-core.umd.min.js.map +1 -1
- package/datorama-core.d.ts +0 -1
- package/datorama-core.metadata.json +1 -1
- package/esm2015/datorama-core.js +1 -2
- package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +2 -4
- package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
- package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +2 -5
- package/esm2015/lib/grid-v2/grid-settings.js +2 -2
- package/esm2015/lib/grid-v2/grid-store/grid.service.js +8 -8
- package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +4 -10
- package/esm2015/lib/rich-text/rich-text.directive.js +38 -20
- package/esm2015/lib/select/select.component.js +9 -4
- package/esm2015/lib/version.js +2 -2
- package/esm5/datorama-core.js +1 -2
- package/esm5/lib/breadcrumbs/breadcrumbs.component.js +2 -4
- package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
- package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +2 -5
- package/esm5/lib/grid-v2/grid-settings.js +2 -2
- package/esm5/lib/grid-v2/grid-store/grid.service.js +8 -8
- package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +4 -16
- package/esm5/lib/rich-text/rich-text.directive.js +39 -21
- package/esm5/lib/select/select.component.js +9 -4
- package/esm5/lib/version.js +2 -2
- package/fesm2015/datorama-core.js +57 -78
- package/fesm2015/datorama-core.js.map +1 -1
- package/fesm5/datorama-core.js +58 -86
- package/fesm5/datorama-core.js.map +1 -1
- package/lib/grid-v2/grid/grid-v2.types.d.ts +0 -1
- package/lib/grid-v2/grid-settings.d.ts +2 -2
- package/lib/grid-v2/grid-store/grid.service.d.ts +3 -3
- package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +1 -3
- package/lib/rich-text/rich-text.directive.d.ts +6 -4
- package/package.json +2 -2
- package/esm2015/lib/rich-text/rich-text.service.js +0 -50
- package/esm5/lib/rich-text/rich-text.service.js +0 -51
- package/lib/rich-text/rich-text.service.d.ts +0 -10
package/esm2015/datorama-core.js
CHANGED
|
@@ -14,6 +14,5 @@ export { DatoGridV2ToolbarMoreMenuComponent as ɵm } from './lib/grid-v2/grid-to
|
|
|
14
14
|
export { DatoGridHelper as ɵc } from './lib/grid/grid-helper';
|
|
15
15
|
export { DatoListSelectAllComponent as ɵj } from './lib/list-v2/list-select-all.component';
|
|
16
16
|
export { ListStore as ɵi } from './lib/list-v2/list-v2-state';
|
|
17
|
-
export { RichTextService as ɵo } from './lib/rich-text/rich-text.service';
|
|
18
17
|
export { Popper as ɵd } from './lib/services/popper';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0b3JhbWEtY29yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsiZGF0b3JhbWEtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBa0IsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRixPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0saUdBQWlHLENBQUM7QUFDdEosT0FBTyxFQUFDLHdDQUF3QyxJQUFJLEVBQUUsRUFBQyxNQUFNLDhGQUE4RixDQUFDO0FBQzVKLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsU0FBUyxJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDbEksT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDekYsT0FBTyxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsTUFBTSxJQUFJLEVBQUUsRUFBQyxNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0NvcmVDb25maWcgYXMgybVhLERBVE9fQ09SRV9DT05GSUcgYXMgybVifSBmcm9tICcuL2xpYi9jb25maWcnO1xuZXhwb3J0IHtEYXRvRGF0ZVJhbmdlc0ZpbHRlclBpcGUgYXMgybVofSBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci9yYW5nZXMtZmlsdGVyLnBpcGUnO1xuZXhwb3J0IHtEYXRvR3JpZEl0ZW1zQ291bnRDZWxsQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9saWIvZ3JpZC12Mi9ncmlkLWNvbHVtbi1jZWxsLWNvbXBvbmVudHMvZ3JpZC1pdGVtcy1jb3VudC1jZWxsL2dyaWQtaXRlbXMtY291bnQtY2VsbC5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRvR3JpZE11bHRpU2VsZWN0Q29sdW1uSGVhZGVyQ29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9saWIvZ3JpZC12Mi9ncmlkLWNvbHVtbi1oZWFkZXIvZ3JpZC1tdWx0aS1zZWxlY3QtaGVhZGVyL2dyaWQtbXVsdGktc2VsZWN0LWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRvR3JpZFNlYXJjaEJhckNvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2dyaWQtdjIvZ3JpZC1zZWFyY2gtYmFyL2dyaWQtc2VhcmNoLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHtHcmlkUXVlcnkgYXMgybVlfSBmcm9tICcuL2xpYi9ncmlkLXYyL2dyaWQtc3RvcmUvZ3JpZC5xdWVyeSc7XG5leHBvcnQge0dyaWRTZXJ2aWNlIGFzIMm1Z30gZnJvbSAnLi9saWIvZ3JpZC12Mi9ncmlkLXN0b3JlL2dyaWQuc2VydmljZSc7XG5leHBvcnQge0dyaWRTdG9yZSBhcyDJtWZ9IGZyb20gJy4vbGliL2dyaWQtdjIvZ3JpZC1zdG9yZS9ncmlkLnN0b3JlJztcbmV4cG9ydCB7RGF0b0dyaWRWMlRvb2xiYXJNb3JlTWVudUNvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2dyaWQtdjIvZ3JpZC10b29sYmFyL2dyaWQtdG9vbGJhci1tb3JlLW1lbnUvZ3JpZC10b29sYmFyLW1vcmUtbWVudSc7XG5leHBvcnQge0RhdG9HcmlkSGVscGVyIGFzIMm1Y30gZnJvbSAnLi9saWIvZ3JpZC9ncmlkLWhlbHBlcic7XG5leHBvcnQge0RhdG9MaXN0U2VsZWN0QWxsQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvbGlzdC12Mi9saXN0LXNlbGVjdC1hbGwuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdFN0b3JlIGFzIMm1aX0gZnJvbSAnLi9saWIvbGlzdC12Mi9saXN0LXYyLXN0YXRlJztcbmV4cG9ydCB7UG9wcGVyIGFzIMm1ZH0gZnJvbSAnLi9saWIvc2VydmljZXMvcG9wcGVyJzsiXX0=
|
|
@@ -71,9 +71,7 @@ let DatoBreadcrumbsComponent = class DatoBreadcrumbsComponent {
|
|
|
71
71
|
this._breadcrumbs = [...start, ...dots, ...end];
|
|
72
72
|
}
|
|
73
73
|
initEditableHeader() {
|
|
74
|
-
this.headerControl.valueChanges
|
|
75
|
-
.pipe(debounceTime(300), untilDestroyed(this))
|
|
76
|
-
.subscribe((res) => {
|
|
74
|
+
this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe((res) => {
|
|
77
75
|
this.updateEditableText.emit(res);
|
|
78
76
|
this.cdr.detectChanges();
|
|
79
77
|
});
|
|
@@ -148,4 +146,4 @@ DatoBreadcrumbsComponent = __decorate([
|
|
|
148
146
|
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
149
147
|
], DatoBreadcrumbsComponent);
|
|
150
148
|
export { DatoBreadcrumbsComponent };
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2NvcmUvIiwic291cmNlcyI6WyJsaWIvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7QUFFSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVN4RCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQXFDbkMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFmakMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLG1CQUFtQixDQUFDO1FBQ3ZDLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNoQyw4QkFBeUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUU1QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUlqQyxrQ0FBNkIsR0FBRyxDQUFDLENBQUM7UUFDM0MsNkJBQXdCLEdBQUcsSUFBSSxD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LENBQUMsS0FBSyxDQUFDLGlDQUFpQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO1NBQ3RGO2FBQU07WUFDTCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsR0FBRyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztDQUNGLENBQUE7O1lBcEQwQixpQkFBaUI7O0FBbkMxQztJQURDLEtBQUssRUFBRTs7O3VFQU1QO0FBR0Q7SUFEQyxLQUFLLEVBQUU7OzsyREFPUDtBQUtRO0lBQVIsS0FBSyxFQUFFOzhCQUFnQixXQUFXOytEQUFDO0FBQzNCO0lBQVIsS0FBSyxFQUFFOztpRUFBeUI7QUFDeEI7SUFBUixLQUFLLEVBQUU7O2dFQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTs7a0VBQXlCO0FBQ3hCO0lBQVIsS0FBSyxFQUFFOztrRUFBd0M7QUFDdkM7SUFBUixLQUFLLEVBQUU7O3lFQUFpQztBQUNoQztJQUFSLEtBQUssRUFBRTs7MkVBQThDO0FBRTVDO0lBQVQsTUFBTSxFQUFFOztpRUFBc0M7QUFDckM7SUFBVCxNQUFNLEVBQUU7O29FQUF5QztBQTlCdkMsd0JBQXdCO0lBUHBDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsdzFDQUEyQztRQUUzQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtRQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDaEQsQ0FBQztxQ0FzQ3lCLGlCQUFpQjtHQXJDL0Isd0JBQXdCLENBeUZwQztTQXpGWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgRGF0b3JhbWEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gQXBhY2hlIExpY2Vuc2UgMi4wIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL2RhdG9yYW1hL2NsaWVudC1jb3JlL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcmVhZGNydW1iIH0gZnJvbSAnLi9icmVhZGNydW1icy50eXBlcyc7XG5pbXBvcnQgeyBzaXplIH0gZnJvbSAnLi4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4uL3V0aWxzL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRvLWJyZWFkY3J1bWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYnMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGF0b0JyZWFkY3J1bWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBzZXQgbWF4RGlzcGxheWVkQnJlYWRjcnVtYnMobWF4OiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmlsKHRoaXMub3JpZ2luYWxCcmVhZGNydW1icykpIHtcbiAgICAgIHRoaXMuc2V0TWF4RGlzcGxheWVkQnJlYWRjcnVtYnMobWF4KTtcbiAgICAgIHRoaXMuaW5pdEJyZWFkY3J1bWJzKHRoaXMub3JpZ2luYWxCcmVhZGNydW1icyk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGJyZWFkY3J1bWJzKGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10pIHtcbiAgICB0aGlzLm9yaWdpbmFsQnJlYWRjcnVtYnMgPSBicmVhZGNydW1icztcbiAgICBpZiAodGhpcy5fbWF4RGlzcGxheWVkQnJlYWRjcnVtYnMgPiAwKSB7XG4gICAgICB0aGlzLnNldE1heERpc3BsYXllZEJyZWFkY3J1bWJzKHRoaXMuX21heERpc3BsYXllZEJyZWFkY3J1bWJzKTtcbiAgICAgIHRoaXMuaW5pdEJyZWFkY3J1bWJzKGJyZWFkY3J1bWJzKTtcbiAgICB9XG4gIH1cblxuICBnZXQgYnJlYWRjcnVtYnMoKTogQnJlYWRjcnVtYltdIHtcbiAgICByZXR1cm4gdGhpcy5fYnJlYWRjcnVtYnM7XG4gIH1cbiAgQElucHV0KCkgaGVhZGVyQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIHNob3dBcnJvd0luTGFzdCA9IGZhbHNlO1xuICBASW5wdXQoKSBsYXN0QXJyb3dDbGFzcyA9ICcnO1xuICBASW5wdXQoKSBtYXJrTGFzdEFzQWN0aXZlID0gdHJ1ZTtcbiAgQElucHV0KCkgZGF0YUF1dG9JZFByZWZpeCA9ICdkYXRvLWJyZWFkY3J1bWJzLSc7XG4gIEBJbnB1dCgpIGlzSGVhZGVyQ29udHJvbERpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhlYWRlckNvbnRyb2xBdXRvSWRTdWZmaXggPSAnaGVhZGVyLWNvbnRyb2wnO1xuXG4gIEBPdXRwdXQoKSBicmVhZGNydW1iQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSB1cGRhdGVFZGl0YWJsZVRleHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBvcmlnaW5hbEJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW107XG4gIHByaXZhdGUgX2JyZWFkY3J1bWJzOiBCcmVhZGNydW1iW107XG4gIHByaXZhdGUgcmVhZG9ubHkgSU5JVElBTF9ESVNQTEFZRURfQlJFQURDUlVNQlMgPSAzO1xuICBwcml2YXRlIF9tYXhEaXNwbGF5ZWRCcmVhZGNydW1icyA9IHRoaXMuSU5JVElBTF9ESVNQTEFZRURfQlJFQURDUlVNQlM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhlYWRlckNvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW5pdEVkaXRhYmxlSGVhZGVyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLyoqIEltcGxlbWVudGVkIGR1ZSB0byB1bnRpbERlc3Ryb3llZCAqL1xuICB9XG5cbiAgb25DbGljayh7IGRhdGEsIG9uQ2xpY2sgfTogQnJlYWRjcnVtYikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmJyZWFkY3J1bWJDbGljay5lbWl0KGRhdGEpO1xuICAgIH1cblxuICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICBvbkNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgc2hvdWxkSGF2ZUFycm93KGxhc3Q6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gIWxhc3QgfHwgKGxhc3QgJiYgdGhpcy5zaG93QXJyb3dJbkxhc3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0QnJlYWRjcnVtYnMoYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJbXSkge1xuICAgIGNvbnN0IHNob3VsZERpc3BsYXlBbGxCcmVhZGNydW1icyA9IHNpemUoYnJlYWRjcnVtYnMpIDw9IHRoaXMuX21heERpc3BsYXllZEJyZWFkY3J1bWJzO1xuICAgIGNvbnN0IGRvdHMgPSBzaG91bGREaXNwbGF5QWxsQnJlYWRjcnVtYnMgPyBbXSA6IFt7IHRleHQ6ICcuLi4nIH1dO1xuICAgIGNvbnN0IHN0YXJ0ID0gYnJlYWRjcnVtYnMuc2xpY2UoMCwgMSk7XG4gICAgY29uc3QgZW5kID0gc2hvdWxkRGlzcGxheUFsbEJyZWFkY3J1bWJzXG4gICAgICA/IGJyZWFkY3J1bWJzLnNsaWNlKDEpXG4gICAgICA6IGJyZWFkY3J1bWJzLnNsaWNlKGJyZWFkY3J1bWJzLmxlbmd0aCAtIHRoaXMuX21heERpc3BsYXllZEJyZWFkY3J1bWJzICsgMSk7XG5cbiAgICB0aGlzLl9icmVhZGNydW1icyA9IFsuLi5zdGFydCwgLi4uZG90cywgLi4uZW5kXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEVkaXRhYmxlSGVhZGVyKCkge1xuICAgIHRoaXMuaGVhZGVyQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMzAwKSwgdW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlRWRpdGFibGVUZXh0LmVtaXQocmVzKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TWF4RGlzcGxheWVkQnJlYWRjcnVtYnMobWF4OiBudW1iZXIpIHtcbiAgICBpZiAobWF4IDwgdGhpcy5JTklUSUFMX0RJU1BMQVlFRF9CUkVBRENSVU1CUykge1xuICAgICAgdGhpcy5fbWF4RGlzcGxheWVkQnJlYWRjcnVtYnMgPSB0aGlzLklOSVRJQUxfRElTUExBWUVEX0JSRUFEQ1JVTUJTO1xuICAgICAgY29uc29sZS5lcnJvcihgTWluaW11bSBicmVhZGNydW1icyBudW1iZXIgaXMgJHt0aGlzLklOSVRJQUxfRElTUExBWUVEX0JSRUFEQ1JVTUJTfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tYXhEaXNwbGF5ZWRCcmVhZGNydW1icyA9IG1heDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -49,4 +49,4 @@ export var GridStatusColumnTypes;
|
|
|
49
49
|
GridStatusColumnTypes["PENDING"] = "PENDING";
|
|
50
50
|
GridStatusColumnTypes["WAITING"] = "WAITING";
|
|
51
51
|
})(GridStatusColumnTypes || (GridStatusColumnTypes = {}));
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC9ncmlkLXYyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FDcEQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHVDQUF1QyxNQUFNLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUU5RixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxDQUNyRCxNQUEyQixFQUMzQixVQUFrQixFQUNsQixTQUFrQixFQUNsQixFQUFFO0lBQ0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sdUNBQXVDLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQztBQUNuSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUN6QyxNQUEyQixFQUMzQixVQUFrQixFQUNsQixTQUFTLEdBQUcsSUFBSSxFQUNSLEVBQUU7SUFDVixJQUFJLFNBQVMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV6RSxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMvQjtTQUFNO1FBQ0wsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDM0M7SUFFRCxVQUFVLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFdkMsT0FBTyxVQUFVO1FBQ2YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsR0FBRyxTQUFTLENBQUM7UUFDbEgsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDLENBQUM7QUE0SEYsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qix5REFBYSxDQUFBO0lBQ2IsNkRBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFTWDtBQVRELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLHdDQUFpQixDQUFBO0lBQ2pCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0lBQ2YsZ0RBQXlCLENBQUE7SUFDekIsNENBQXFCLENBQUE7SUFDckIsd0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFTOUI7QUFjRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBZ0JELE1BQU0sQ0FBTixJQUFZLHFCQU1YO0FBTkQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsNENBQW1CLENBQUE7SUFDbkIsb0RBQTJCLENBQUE7SUFDM0IsNENBQW1CLENBQUE7SUFDbkIsNENBQW1CLENBQUE7QUFDckIsQ0FBQyxFQU5XLHFCQUFxQixLQUFyQixxQkFBcUIsUUFNaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xEZWYsIEdyaWRPcHRpb25zLCBJQ2VsbFJlbmRlcmVyUGFyYW1zLCBJR2V0Um93c1BhcmFtcywgTWVudUl0ZW1EZWYsIFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyLCBEYXRvR3JpZEZpbHRlclNlY3Rpb25zLCBMaXN0SXRlbSB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9TZXJ2ZXJQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3QvbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuLi9ncmlkLWNvbnRyb2xsZXIvZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRNb3JlTWVudUFjdGlvbnMgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXItbW9yZS1tZW51L2dyaWQtY29sdW1uLWhlYWRlci1tb3JlLW1lbnUudHlwZXMnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IENvcmVFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vZXZlbnQtbG9nZ2VyJztcbmltcG9ydCB7IERhdG9HcmlkT3ZlcmxheUlucHV0IH0gZnJvbSAnLi4vZ3JpZC1uby1kYXRhLW92ZXJsYXkvZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkudHlwZXMnO1xuaW1wb3J0IHsgT3BlcmF0b3JUeXBlcyB9IGZyb20gJy4uLy4uL29wZXJhdG9yLXRvZ2dsZXIvb3BlcmF0b3ItdG9nZ2xlci50eXBlcyc7XG5pbXBvcnQgeyBlc2NhcGUgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuaW1wb3J0IERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRhYmxlQ29sdW1uUmVuZGVyZXIgPSBwYXJhbXMgPT5cbiAgcGFyYW1zICYmIHBhcmFtcy52YWx1ZSA/IGA8ZGl2IGNsYXNzPVwidmFsdWUtd3JhcHBlciBlbGxpcHNpc1wiPiR7cGFyYW1zLnZhbHVlfTwvZGl2PmAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgZWRpdGFibGVDZWxsUmVuZGVyZXJXaXRoU2VhcmNoSGlnaGxpZ2h0ID0gKFxuICBwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMsXG4gIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgYWxsb3dIVE1MOiBib29sZWFuXG4pID0+IHtcbiAgaWYgKCFwYXJhbXMgfHwgIXBhcmFtcy52YWx1ZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cInZhbHVlLXdyYXBwZXIgZWxsaXBzaXNcIj4ke3NlYXJjaEhpZ2hsaWdodENlbGxSZW5kZXJlcihwYXJhbXMsIHNlYXJjaFRlcm0sIGFsbG93SFRNTCl9PC9kaXY+YDtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hIaWdobGlnaHRDZWxsUmVuZGVyZXIgPSAoXG4gIHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyxcbiAgc2VhcmNoVGVybTogc3RyaW5nLFxuICBhbGxvd0hUTUwgPSB0cnVlXG4pOiBzdHJpbmcgPT4ge1xuICBsZXQgY2VsbFZhbHVlID0gKHBhcmFtcy52YWx1ZUZvcm1hdHRlZCB8fCBwYXJhbXMudmFsdWUgfHwgJycpLnRvU3RyaW5nKCk7XG5cbiAgaWYgKCFhbGxvd0hUTUwpIHtcbiAgICBjZWxsVmFsdWUgPSBlc2NhcGUoY2VsbFZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICBjZWxsVmFsdWUgPSBET01QdXJpZnkuc2FuaXRpemUoY2VsbFZhbHVlKTtcbiAgfVxuXG4gIHNlYXJjaFRlcm0gPSAoc2VhcmNoVGVybSB8fCAnJykudHJpbSgpO1xuXG4gIHJldHVybiBzZWFyY2hUZXJtXG4gICAgPyBjZWxsVmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKHNlYXJjaFRlcm0sICdnaScpLCAoc3RyOiBzdHJpbmcpID0+IGA8c3BhbiBjbGFzcz1cInNlYXJjaC1oaWdobGlnaHRcIj4ke3N0cn08L3NwYW4+YClcbiAgICA6IGNlbGxWYWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkQ29sdW1uRGVmID0ge1xuICBmaWx0ZXJzQ29uZmlnPzogRGF0b0dyaWRGaWx0ZXJDb25maWc7XG4gIG1vcmVNZW51QWN0aW9ucz86IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zW107XG4gIGluZm8/OiBzdHJpbmc7XG4gIG9yaWdpbmFsV2lkdGg/OiBudW1iZXI7XG4gIGluY2x1ZGVJblNlYXJjaD86IGJvb2xlYW47XG4gIGN1c3RvbUNlbGxDb25maWc/OiBEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc7XG4gIHZhbHVlVG9DdXN0b21DZWxsQ29uZmlnPzogSGFzaE1hcDxEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc+O1xuICBjdXN0b21IZWFkZXJUb29sdGlwPzogc3RyaW5nO1xufSAmIENvbERlZjtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRDdXN0b21DZWxsQ29uZmlnID0ge1xuICB0ZXh0Q3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGljb25Dc3NDbGFzcz86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgbWluV2lkdGg/OiBudW1iZXI7XG4gIHNob3dTcGlubmVyPzogYm9vbGVhbjtcbiAgbWF4TGFiZWxzPzogbnVtYmVyO1xuICBnZXRBZGRpdGlvbmFsVGV4dD86IChkYXRhOiBhbnkpID0+IHN0cmluZztcbiAgYWRkaXRpb25hbFRleHRDc3NDbGFzcz86IHN0cmluZztcbiAgZ2V0SW1hZ2VVcmw/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGluaXRpYWxzQ29uZmlnPzogRGF0b0dyaWRJbml0aWFsc0NlbGxDb25maWc7XG4gIGdldElzVmlzaWJsZT86IChkYXRhOiBhbnkpID0+IGJvb2xlYW47XG4gIGdldEl0ZW1zPzogKGRhdGE6IGFueSkgPT4gc3RyaW5nW107XG4gIHN0YXR1cz86IEdyaWRTdGF0dXNDb2x1bW5UeXBlcztcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkSW5pdGlhbHNDZWxsQ29uZmlnID0ge1xuICBmaXJzdE5hbWVGaWVsZD86IHN0cmluZztcbiAgbGFzdE5hbWVGaWVsZD86IHN0cmluZztcbiAgZnVsbE5hbWVGaWVsZD86IHN0cmluZztcbiAgZ2V0RnVsbE5hbWU/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGlzQm9sZD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZEZpbHRlckNvbmZpZyA9IHtcbiAgc2VjdGlvbnM/OiBEYXRvR3JpZEZpbHRlclNlY3Rpb25zO1xuICBwcmVkZWZpbmVkTGlzdFZhbHVlcz86IChzdHJpbmcgfCBMaXN0SXRlbSlbXTtcbiAga2VlcFByZWRlZmluZWRMaXN0T3JpZ2luYWxPcmRlcj86IGJvb2xlYW47XG4gIHNob3dFbXB0eUNvbmRpdGlvbnM/OiBib29sZWFuO1xuICBzaG93Q2xlYXJGaWx0ZXJzQnV0dG9uPzogYm9vbGVhbjtcbiAgaW5wdXRDb25kaXRpb25zT3BlcmF0b3I/OiBPcGVyYXRvclR5cGVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZERhdGFDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBZ0dyaWRFdmVudCB7XG4gIHR5cGU6ICdTZXJ2ZXJEYXRhTG9hZGVkJyB8ICdyb3dEYXRhQ2hhbmdlZCcgfCAncm93RGF0YVVwZGF0ZWQnO1xuICBwYWdpbmF0aW9uUGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZEdldFJvd3NQYXJhbXMgZXh0ZW5kcyBJR2V0Um93c1BhcmFtcyB7XG4gIHNlcnZlckNvbmZpZzogRGF0b1NlcnZlclBhZ2luYXRpb25Db25maWc7XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRXhwb3J0UGFyYW1zID0gRGF0b0dyaWRBcGkgJiBEYXRvR3JpZFNldHRpbmdzO1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZE9uSG92ZXJDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBtYXhEaXNwbGF5ZWRJdGVtcz86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRPcHRpb25zIGV4dGVuZHMgR3JpZE9wdGlvbnMge1xuICBncmlkTmFtZTogc3RyaW5nO1xuICBjb2x1bW5EZWZzOiBEYXRvR3JpZENvbHVtbkRlZltdO1xuICBzYXZlU2V0dGluZ3M/OiBib29sZWFuO1xuICBlbmFibGVWMl8xPzogYm9vbGVhbjtcbiAgaXNHbG9iYWxTZXR0aW5ncz86IGJvb2xlYW47XG4gIGV4cG9ydEdyaWQ/KHBhcmFtczogRGF0b0dyaWRFeHBvcnRQYXJhbXMpOiB2b2lkO1xuICBkZWZhdWx0Q29sRGVmPzogRGF0b0dyaWRDb2x1bW5EZWY7XG4gIGRhdGFzb3VyY2U/OiB7XG4gICAgZ2V0Um93cyhwYXJhbXM6IERhdG9HcmlkR2V0Um93c1BhcmFtcyk6IHZvaWQ7XG4gICAgLy8gb3B0aW9uYWwgZGVzdHJveSBtZXRob2QsIGlmIHlvdXIgZGF0YXNvdXJjZSBoYXMgc3RhdGUgaXQgbmVlZHMgdG8gY2xlYW4gdXBcbiAgICBkZXN0cm95PygpOiB2b2lkO1xuICB9O1xuICBjdXN0b21Db250ZXh0TWVudT8ocm93QWN0aW9uczogUm93QWN0aW9uW10pOiBSb3dBY3Rpb25bXTtcbiAgaG92ZXJDb25maWc/OiBEYXRvR3JpZE9uSG92ZXJDb25maWc7XG4gIG92ZXJsYXlzQ29uZmlnPzogRGF0b0dyaWRPdmVybGF5SW5wdXQ7XG4gIGRpc3RpbmN0UmVzdWx0cz86IGJvb2xlYW47XG4gIG1heERlcHRoPzogbnVtYmVyO1xuICBlbmFibGVTZWFyY2g/OiBib29sZWFuO1xuICBlbmFibGVTZWFyY2hIaWdobGlnaHQ/OiBib29sZWFuO1xuICBjb2x1bW5zSW5jbHVkZWRJblNlYXJjaEJ5RGVmYXVsdD86IGJvb2xlYW47XG4gIHNlYXJjaERlYm91bmNlVGltZT86IG51bWJlcjtcbiAgaW5jbHVkZUhpZGRlbkNvbHVtbnNJblNlYXJjaD86IGJvb2xlYW47XG4gIHNob3dNdWx0aVNlbGVjdGlvbkNoZWNrYm94ZXM/OiBib29sZWFuO1xuICBlbmFibGVBbGxQYWdlc1NlbGVjdGlvbj86IGJvb2xlYW47XG4gIGlkQ29sdW1uS2V5Pzogc3RyaW5nO1xuICBlbmFibGVCYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgc2hvd0JvdHRvbUNvbnRyb2xzPzogYm9vbGVhbjtcbiAgc29ydEJ5U3RvcmU/OiBib29sZWFuO1xuICB1c2VQaXZvdEdyaWRTdHlsZT86IGJvb2xlYW47XG4gIGRpc2FibGVkSFRNTFJlbmRlcmluZ0ZpZWxkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudUl0ZW0gPSBzdHJpbmcgfCBNZW51SXRlbURlZjtcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db252ZXJ0ZXJQYXJhbXMge1xuICBub2RlOiBSb3dOb2RlO1xuICB0b29sYmFyQWN0aW9uczogUm93QWN0aW9uW107XG4gIHNlbGVjdGVkUm93czogUm93Tm9kZVtdO1xuICBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeTtcbiAgbG9nZ2VyPzoge1xuICAgIGxvZyhldmVudFR5cGU6IENvcmVFdmVudFR5cGVzLkdSSURfVEFCTEVfQUNUSU9OLCBldmVudFByb3BlcnRpZXM/OiBIYXNoTWFwPGFueT4pOiB2b2lkO1xuICAgIGV2ZW50T3JpZ2luPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBEYXRvR3JpZFNvcnREaXJlY3Rpb24gPSAnYXNjJyB8ICdkZXNjJztcbmV4cG9ydCB0eXBlIERhdG9HcmlkU29ydCA9IHtcbiAgY29sSWQ6IHN0cmluZztcbiAgc29ydDogRGF0b0dyaWRTb3J0RGlyZWN0aW9uO1xuICBmaWVsZD86IHN0cmluZztcbiAgc29ydEluZGV4PzogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIERhdG9HcmlkU2VydmVyU29ydERpcmVjdGlvbiA9ICdBU0MnIHwgJ0RFU0MnO1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTZXJ2ZXJTb3J0ID0geyBjb2x1bW46IHN0cmluZzsgc29ydE9yZGVyOiBEYXRvR3JpZFNlcnZlclNvcnREaXJlY3Rpb24gfTtcblxuZXhwb3J0IGNvbnN0IGVudW0gRGF0b0dyaWRBbGlnbm1lbnQge1xuICBGSVRfVE9fQ09OVEFJTkVSLFxuICBGSVRfVE9fQ09OVEVOVCxcbiAgQ1VTVE9NXG59XG5cbmV4cG9ydCBlbnVtIEdyaWRNaW5XaWR0aHMge1xuICBEZWZhdWx0ID0gMTA3LFxuICBXaXRoX0luZm8gPSAxMzFcbn1cblxuZXhwb3J0IGVudW0gRGF0b0dyaWRDb2x1bW5UeXBlcyB7XG4gIFN0cmluZyA9ICdTdHJpbmcnLFxuICBOdW1iZXIgPSAnTnVtYmVyJyxcbiAgRGF0ZSA9ICdEYXRlJyxcbiAgU3RhdHVzID0gJ1N0YXR1cycsXG4gIEl0ZW1zID0gJ0l0ZW1zJyxcbiAgSXRlbXNDb3VudCA9ICdJdGVtc0NvdW50JyxcbiAgSW5pdGlhbHMgPSAnSW5pdGlhbHMnLFxuICBBdmF0YXIgPSAnQXZhdGFyJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdG9HcmlkVHJlZUNvbmZpZyB7XG4gIGlkS2V5OiBzdHJpbmc7XG4gIHBhcmVudElES2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFnR3JpZFJvd0ljb24gPVxuICB8IHN0cmluZ1xuICB8IHtcbiAgICAgIGV4cGFuZGVkOiBzdHJpbmc7XG4gICAgICBjb2xsYXBzZWQ6IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgZW51bSBHcmlkUm93U2VsZWN0aW9uVHlwZSB7XG4gIFNJTkdMRSA9ICdzaW5nbGUnLFxuICBNVUxUSVBMRSA9ICdtdWx0aXBsZSdcbn1cblxuZXhwb3J0IHR5cGUgR3JpZFJvd3NTZWxlY3Rpb25EYXRhID0ge1xuICB0b3RhbFJvd3NDb3VudDogbnVtYmVyO1xuICBzZWxlY3RlZFJvd3NDb3VudDogbnVtYmVyO1xuICBzZWxlY3RlZFBhZ2VSb3dzQ291bnQ6IG51bWJlcjtcbiAgaXNBbGxQYWdlUm93c1NlbGVjdGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgR3JpZENoYW5nZUV2ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGRhdGE6IFJvd05vZGVbXTtcbiAgZmlsdGVyOiBEYXRvR3JpZEV4dGVybmFsRmlsdGVyW107XG4gIHNvcnQ6IERhdG9HcmlkU29ydDtcbn07XG5cbmV4cG9ydCBlbnVtIEdyaWRTdGF0dXNDb2x1bW5UeXBlcyB7XG4gIFNVQ0NFU1MgPSAnU1VDQ0VTUycsXG4gIEZBSUxVUkUgPSAnRkFJTFVSRScsXG4gIElOX1BST0dSRVNTID0gJ0lOX1BST0dSRVNTJyxcbiAgUEVORElORyA9ICdQRU5ESU5HJyxcbiAgV0FJVElORyA9ICdXQUlUSU5HJ1xufVxuIl19
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC9ncmlkLXYyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FDcEQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHVDQUF1QyxNQUFNLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUU5RixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxDQUNyRCxNQUEyQixFQUMzQixVQUFrQixFQUNsQixTQUFrQixFQUNsQixFQUFFO0lBQ0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sdUNBQXVDLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQztBQUNuSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUN6QyxNQUEyQixFQUMzQixVQUFrQixFQUNsQixTQUFTLEdBQUcsSUFBSSxFQUNSLEVBQUU7SUFDVixJQUFJLFNBQVMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV6RSxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMvQjtTQUFNO1FBQ0wsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDM0M7SUFFRCxVQUFVLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFdkMsT0FBTyxVQUFVO1FBQ2YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsR0FBRyxTQUFTLENBQUM7UUFDbEgsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDLENBQUM7QUEySEYsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qix5REFBYSxDQUFBO0lBQ2IsNkRBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFTWDtBQVRELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLHdDQUFpQixDQUFBO0lBQ2pCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0lBQ2YsZ0RBQXlCLENBQUE7SUFDekIsNENBQXFCLENBQUE7SUFDckIsd0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFTOUI7QUFjRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBZ0JELE1BQU0sQ0FBTixJQUFZLHFCQU1YO0FBTkQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsNENBQW1CLENBQUE7SUFDbkIsb0RBQTJCLENBQUE7SUFDM0IsNENBQW1CLENBQUE7SUFDbkIsNENBQW1CLENBQUE7QUFDckIsQ0FBQyxFQU5XLHFCQUFxQixLQUFyQixxQkFBcUIsUUFNaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xEZWYsIEdyaWRPcHRpb25zLCBJQ2VsbFJlbmRlcmVyUGFyYW1zLCBJR2V0Um93c1BhcmFtcywgTWVudUl0ZW1EZWYsIFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyLCBEYXRvR3JpZEZpbHRlclNlY3Rpb25zLCBMaXN0SXRlbSB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9TZXJ2ZXJQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3QvbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuLi9ncmlkLWNvbnRyb2xsZXIvZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRNb3JlTWVudUFjdGlvbnMgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXItbW9yZS1tZW51L2dyaWQtY29sdW1uLWhlYWRlci1tb3JlLW1lbnUudHlwZXMnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IENvcmVFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vZXZlbnQtbG9nZ2VyJztcbmltcG9ydCB7IERhdG9HcmlkT3ZlcmxheUlucHV0IH0gZnJvbSAnLi4vZ3JpZC1uby1kYXRhLW92ZXJsYXkvZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkudHlwZXMnO1xuaW1wb3J0IHsgT3BlcmF0b3JUeXBlcyB9IGZyb20gJy4uLy4uL29wZXJhdG9yLXRvZ2dsZXIvb3BlcmF0b3ItdG9nZ2xlci50eXBlcyc7XG5pbXBvcnQgeyBlc2NhcGUgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuaW1wb3J0IERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRhYmxlQ29sdW1uUmVuZGVyZXIgPSBwYXJhbXMgPT5cbiAgcGFyYW1zICYmIHBhcmFtcy52YWx1ZSA/IGA8ZGl2IGNsYXNzPVwidmFsdWUtd3JhcHBlciBlbGxpcHNpc1wiPiR7cGFyYW1zLnZhbHVlfTwvZGl2PmAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgZWRpdGFibGVDZWxsUmVuZGVyZXJXaXRoU2VhcmNoSGlnaGxpZ2h0ID0gKFxuICBwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMsXG4gIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgYWxsb3dIVE1MOiBib29sZWFuXG4pID0+IHtcbiAgaWYgKCFwYXJhbXMgfHwgIXBhcmFtcy52YWx1ZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cInZhbHVlLXdyYXBwZXIgZWxsaXBzaXNcIj4ke3NlYXJjaEhpZ2hsaWdodENlbGxSZW5kZXJlcihwYXJhbXMsIHNlYXJjaFRlcm0sIGFsbG93SFRNTCl9PC9kaXY+YDtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hIaWdobGlnaHRDZWxsUmVuZGVyZXIgPSAoXG4gIHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyxcbiAgc2VhcmNoVGVybTogc3RyaW5nLFxuICBhbGxvd0hUTUwgPSB0cnVlXG4pOiBzdHJpbmcgPT4ge1xuICBsZXQgY2VsbFZhbHVlID0gKHBhcmFtcy52YWx1ZUZvcm1hdHRlZCB8fCBwYXJhbXMudmFsdWUgfHwgJycpLnRvU3RyaW5nKCk7XG5cbiAgaWYgKCFhbGxvd0hUTUwpIHtcbiAgICBjZWxsVmFsdWUgPSBlc2NhcGUoY2VsbFZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICBjZWxsVmFsdWUgPSBET01QdXJpZnkuc2FuaXRpemUoY2VsbFZhbHVlKTtcbiAgfVxuXG4gIHNlYXJjaFRlcm0gPSAoc2VhcmNoVGVybSB8fCAnJykudHJpbSgpO1xuXG4gIHJldHVybiBzZWFyY2hUZXJtXG4gICAgPyBjZWxsVmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKHNlYXJjaFRlcm0sICdnaScpLCAoc3RyOiBzdHJpbmcpID0+IGA8c3BhbiBjbGFzcz1cInNlYXJjaC1oaWdobGlnaHRcIj4ke3N0cn08L3NwYW4+YClcbiAgICA6IGNlbGxWYWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkQ29sdW1uRGVmID0ge1xuICBmaWx0ZXJzQ29uZmlnPzogRGF0b0dyaWRGaWx0ZXJDb25maWc7XG4gIG1vcmVNZW51QWN0aW9ucz86IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zW107XG4gIGluZm8/OiBzdHJpbmc7XG4gIG9yaWdpbmFsV2lkdGg/OiBudW1iZXI7XG4gIGluY2x1ZGVJblNlYXJjaD86IGJvb2xlYW47XG4gIGN1c3RvbUNlbGxDb25maWc/OiBEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc7XG4gIHZhbHVlVG9DdXN0b21DZWxsQ29uZmlnPzogSGFzaE1hcDxEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc+O1xuICBjdXN0b21IZWFkZXJUb29sdGlwPzogc3RyaW5nO1xufSAmIENvbERlZjtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRDdXN0b21DZWxsQ29uZmlnID0ge1xuICB0ZXh0Q3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGljb25Dc3NDbGFzcz86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgbWluV2lkdGg/OiBudW1iZXI7XG4gIHNob3dTcGlubmVyPzogYm9vbGVhbjtcbiAgbWF4TGFiZWxzPzogbnVtYmVyO1xuICBnZXRBZGRpdGlvbmFsVGV4dD86IChkYXRhOiBhbnkpID0+IHN0cmluZztcbiAgYWRkaXRpb25hbFRleHRDc3NDbGFzcz86IHN0cmluZztcbiAgZ2V0SW1hZ2VVcmw/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGluaXRpYWxzQ29uZmlnPzogRGF0b0dyaWRJbml0aWFsc0NlbGxDb25maWc7XG4gIGdldElzVmlzaWJsZT86IChkYXRhOiBhbnkpID0+IGJvb2xlYW47XG4gIGdldEl0ZW1zPzogKGRhdGE6IGFueSkgPT4gc3RyaW5nW107XG4gIHN0YXR1cz86IEdyaWRTdGF0dXNDb2x1bW5UeXBlcztcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkSW5pdGlhbHNDZWxsQ29uZmlnID0ge1xuICBmaXJzdE5hbWVGaWVsZD86IHN0cmluZztcbiAgbGFzdE5hbWVGaWVsZD86IHN0cmluZztcbiAgZnVsbE5hbWVGaWVsZD86IHN0cmluZztcbiAgZ2V0RnVsbE5hbWU/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGlzQm9sZD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZEZpbHRlckNvbmZpZyA9IHtcbiAgc2VjdGlvbnM/OiBEYXRvR3JpZEZpbHRlclNlY3Rpb25zO1xuICBwcmVkZWZpbmVkTGlzdFZhbHVlcz86IChzdHJpbmcgfCBMaXN0SXRlbSlbXTtcbiAga2VlcFByZWRlZmluZWRMaXN0T3JpZ2luYWxPcmRlcj86IGJvb2xlYW47XG4gIHNob3dFbXB0eUNvbmRpdGlvbnM/OiBib29sZWFuO1xuICBzaG93Q2xlYXJGaWx0ZXJzQnV0dG9uPzogYm9vbGVhbjtcbiAgaW5wdXRDb25kaXRpb25zT3BlcmF0b3I/OiBPcGVyYXRvclR5cGVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZERhdGFDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBZ0dyaWRFdmVudCB7XG4gIHR5cGU6ICdTZXJ2ZXJEYXRhTG9hZGVkJyB8ICdyb3dEYXRhQ2hhbmdlZCcgfCAncm93RGF0YVVwZGF0ZWQnO1xuICBwYWdpbmF0aW9uUGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZEdldFJvd3NQYXJhbXMgZXh0ZW5kcyBJR2V0Um93c1BhcmFtcyB7XG4gIHNlcnZlckNvbmZpZzogRGF0b1NlcnZlclBhZ2luYXRpb25Db25maWc7XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRXhwb3J0UGFyYW1zID0gRGF0b0dyaWRBcGkgJiBEYXRvR3JpZFNldHRpbmdzO1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZE9uSG92ZXJDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBtYXhEaXNwbGF5ZWRJdGVtcz86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRPcHRpb25zIGV4dGVuZHMgR3JpZE9wdGlvbnMge1xuICBncmlkTmFtZTogc3RyaW5nO1xuICBjb2x1bW5EZWZzOiBEYXRvR3JpZENvbHVtbkRlZltdO1xuICBzYXZlU2V0dGluZ3M/OiBib29sZWFuO1xuICBlbmFibGVWMl8xPzogYm9vbGVhbjtcbiAgZXhwb3J0R3JpZD8ocGFyYW1zOiBEYXRvR3JpZEV4cG9ydFBhcmFtcyk6IHZvaWQ7XG4gIGRlZmF1bHRDb2xEZWY/OiBEYXRvR3JpZENvbHVtbkRlZjtcbiAgZGF0YXNvdXJjZT86IHtcbiAgICBnZXRSb3dzKHBhcmFtczogRGF0b0dyaWRHZXRSb3dzUGFyYW1zKTogdm9pZDtcbiAgICAvLyBvcHRpb25hbCBkZXN0cm95IG1ldGhvZCwgaWYgeW91ciBkYXRhc291cmNlIGhhcyBzdGF0ZSBpdCBuZWVkcyB0byBjbGVhbiB1cFxuICAgIGRlc3Ryb3k/KCk6IHZvaWQ7XG4gIH07XG4gIGN1c3RvbUNvbnRleHRNZW51Pyhyb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSk6IFJvd0FjdGlvbltdO1xuICBob3ZlckNvbmZpZz86IERhdG9HcmlkT25Ib3ZlckNvbmZpZztcbiAgb3ZlcmxheXNDb25maWc/OiBEYXRvR3JpZE92ZXJsYXlJbnB1dDtcbiAgZGlzdGluY3RSZXN1bHRzPzogYm9vbGVhbjtcbiAgbWF4RGVwdGg/OiBudW1iZXI7XG4gIGVuYWJsZVNlYXJjaD86IGJvb2xlYW47XG4gIGVuYWJsZVNlYXJjaEhpZ2hsaWdodD86IGJvb2xlYW47XG4gIGNvbHVtbnNJbmNsdWRlZEluU2VhcmNoQnlEZWZhdWx0PzogYm9vbGVhbjtcbiAgc2VhcmNoRGVib3VuY2VUaW1lPzogbnVtYmVyO1xuICBpbmNsdWRlSGlkZGVuQ29sdW1uc0luU2VhcmNoPzogYm9vbGVhbjtcbiAgc2hvd011bHRpU2VsZWN0aW9uQ2hlY2tib3hlcz86IGJvb2xlYW47XG4gIGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgaWRDb2x1bW5LZXk/OiBzdHJpbmc7XG4gIGVuYWJsZUJhY2tncm91bmQ/OiBib29sZWFuO1xuICBzaG93Qm90dG9tQ29udHJvbHM/OiBib29sZWFuO1xuICBzb3J0QnlTdG9yZT86IGJvb2xlYW47XG4gIHVzZVBpdm90R3JpZFN0eWxlPzogYm9vbGVhbjtcbiAgZGlzYWJsZWRIVE1MUmVuZGVyaW5nRmllbGRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW51SXRlbSA9IHN0cmluZyB8IE1lbnVJdGVtRGVmO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnZlcnRlclBhcmFtcyB7XG4gIG5vZGU6IFJvd05vZGU7XG4gIHRvb2xiYXJBY3Rpb25zOiBSb3dBY3Rpb25bXTtcbiAgc2VsZWN0ZWRSb3dzOiBSb3dOb2RlW107XG4gIGljb25SZWdpc3RyeTogSWNvblJlZ2lzdHJ5O1xuICBsb2dnZXI/OiB7XG4gICAgbG9nKGV2ZW50VHlwZTogQ29yZUV2ZW50VHlwZXMuR1JJRF9UQUJMRV9BQ1RJT04sIGV2ZW50UHJvcGVydGllcz86IEhhc2hNYXA8YW55Pik6IHZvaWQ7XG4gICAgZXZlbnRPcmlnaW4/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkU29ydERpcmVjdGlvbiA9ICdhc2MnIHwgJ2Rlc2MnO1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTb3J0ID0ge1xuICBjb2xJZDogc3RyaW5nO1xuICBzb3J0OiBEYXRvR3JpZFNvcnREaXJlY3Rpb247XG4gIGZpZWxkPzogc3RyaW5nO1xuICBzb3J0SW5kZXg/OiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTZXJ2ZXJTb3J0RGlyZWN0aW9uID0gJ0FTQycgfCAnREVTQyc7XG5leHBvcnQgdHlwZSBEYXRvR3JpZFNlcnZlclNvcnQgPSB7IGNvbHVtbjogc3RyaW5nOyBzb3J0T3JkZXI6IERhdG9HcmlkU2VydmVyU29ydERpcmVjdGlvbiB9O1xuXG5leHBvcnQgY29uc3QgZW51bSBEYXRvR3JpZEFsaWdubWVudCB7XG4gIEZJVF9UT19DT05UQUlORVIsXG4gIEZJVF9UT19DT05URU5ULFxuICBDVVNUT01cbn1cblxuZXhwb3J0IGVudW0gR3JpZE1pbldpZHRocyB7XG4gIERlZmF1bHQgPSAxMDcsXG4gIFdpdGhfSW5mbyA9IDEzMVxufVxuXG5leHBvcnQgZW51bSBEYXRvR3JpZENvbHVtblR5cGVzIHtcbiAgU3RyaW5nID0gJ1N0cmluZycsXG4gIE51bWJlciA9ICdOdW1iZXInLFxuICBEYXRlID0gJ0RhdGUnLFxuICBTdGF0dXMgPSAnU3RhdHVzJyxcbiAgSXRlbXMgPSAnSXRlbXMnLFxuICBJdGVtc0NvdW50ID0gJ0l0ZW1zQ291bnQnLFxuICBJbml0aWFscyA9ICdJbml0aWFscycsXG4gIEF2YXRhciA9ICdBdmF0YXInXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRUcmVlQ29uZmlnIHtcbiAgaWRLZXk6IHN0cmluZztcbiAgcGFyZW50SURLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQWdHcmlkUm93SWNvbiA9XG4gIHwgc3RyaW5nXG4gIHwge1xuICAgICAgZXhwYW5kZWQ6IHN0cmluZztcbiAgICAgIGNvbGxhcHNlZDogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCBlbnVtIEdyaWRSb3dTZWxlY3Rpb25UeXBlIHtcbiAgU0lOR0xFID0gJ3NpbmdsZScsXG4gIE1VTFRJUExFID0gJ211bHRpcGxlJ1xufVxuXG5leHBvcnQgdHlwZSBHcmlkUm93c1NlbGVjdGlvbkRhdGEgPSB7XG4gIHRvdGFsUm93c0NvdW50OiBudW1iZXI7XG4gIHNlbGVjdGVkUm93c0NvdW50OiBudW1iZXI7XG4gIHNlbGVjdGVkUGFnZVJvd3NDb3VudDogbnVtYmVyO1xuICBpc0FsbFBhZ2VSb3dzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBHcmlkQ2hhbmdlRXZlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgZGF0YTogUm93Tm9kZVtdO1xuICBmaWx0ZXI6IERhdG9HcmlkRXh0ZXJuYWxGaWx0ZXJbXTtcbiAgc29ydDogRGF0b0dyaWRTb3J0O1xufTtcblxuZXhwb3J0IGVudW0gR3JpZFN0YXR1c0NvbHVtblR5cGVzIHtcbiAgU1VDQ0VTUyA9ICdTVUNDRVNTJyxcbiAgRkFJTFVSRSA9ICdGQUlMVVJFJyxcbiAgSU5fUFJPR1JFU1MgPSAnSU5fUFJPR1JFU1MnLFxuICBQRU5ESU5HID0gJ1BFTkRJTkcnLFxuICBXQUlUSU5HID0gJ1dBSVRJTkcnXG59XG4iXX0=
|
|
@@ -86,10 +86,7 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
|
|
|
86
86
|
.pipe(switchMap(() => {
|
|
87
87
|
this.gridOptions = this.normalizeOptions();
|
|
88
88
|
agGrid.gridOptions = this.gridOptions;
|
|
89
|
-
const
|
|
90
|
-
const settingsLoader = this.gridOptions.saveSettings === false
|
|
91
|
-
? of(null)
|
|
92
|
-
: this.storageAPI.get(this.gridOptions.gridName, isGlobal);
|
|
89
|
+
const settingsLoader = this.gridOptions.saveSettings === false ? of(null) : this.storageAPI.get(this.gridOptions.gridName);
|
|
93
90
|
return combineLatest([agGrid.gridReady, settingsLoader]);
|
|
94
91
|
}), untilDestroyed(this))
|
|
95
92
|
.subscribe(([{ api, columnApi }, savedSettings = {}]) => {
|
|
@@ -488,4 +485,4 @@ DatoGridControllerComponent = __decorate([
|
|
|
488
485
|
DatoHotkeys, Object])
|
|
489
486
|
], DatoGridControllerComponent);
|
|
490
487
|
export { DatoGridControllerComponent };
|
|
491
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb250cm9sbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBYXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUlyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxx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LGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDOztLQUMvQyxDQUFDO0lBcURHLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7cUNBVFYsV0FBVztRQUNiLFNBQVM7UUFDZCxpQkFBaUI7UUFDUixZQUFZO1FBQ2Ysb0JBQW9CO1FBQ3pCLFVBQVU7UUFDTixRQUFRO1FBQ1Isd0JBQXdCO1FBQ3pCLFdBQVc7R0FuRG5CLDJCQUEyQixDQStmdkM7U0EvZlksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFnR3JpZE5nMiB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtcbiAgQm9keVNjcm9sbEV2ZW50LFxuICBDZWxsQ2xpY2tlZEV2ZW50LFxuICBDZWxsRXZlbnQsXG4gIENlbGxNb3VzZU91dEV2ZW50LFxuICBDZWxsTW91c2VPdmVyRXZlbnQsXG4gIENvbHVtblJlc2l6ZWRFdmVudCxcbiAgQ29sdW1uUm93R3JvdXBDaGFuZ2VkRXZlbnQsXG4gIERldGFpbEdyaWRJbmZvLFxuICBHcmlkQXBpLFxuICBSb3dHcm91cE9wZW5lZEV2ZW50XG59IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IEdyaWRRdWVyeSB9IGZyb20gJy4uL2dyaWQtc3RvcmUvZ3JpZC5xdWVyeSc7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4uL2dyaWQtc3RvcmUvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldENvbHVtbnNTaXplcywgaXNIdG1sQWxsb3dlZEZvckNvbCB9IGZyb20gJy4uL2dyaWQtc3RvcmUvdXRpbCc7XG5pbXBvcnQgeyBHcmlkU3RvcmUgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUnO1xuaW1wb3J0IHsgRGF0b0dyaWRTZXR0aW5ncyB9IGZyb20gJy4uL2dyaWQtc3RvcmUvZ3JpZC5zdG9yZS50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZEFwaSB9IGZyb20gJy4vZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkQWxpZ25tZW50LCBEYXRvR3JpZE9wdGlvbnMsIERhdG9HcmlkU29ydCwgR3JpZENoYW5nZUV2ZW50IH0gZnJvbSAnLi4vZ3JpZC9ncmlkLXYyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgZGVlcG1lcmdlIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwvZGVlcC1tZXJnZSc7XG5pbXBvcnQgeyBEYXRvQ3VzdG9tSGVhZGVyVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWN1c3RvbS1oZWFkZXIvY3VzdG9tLWhlYWRlci10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IEdyaWRBY3Rpb24sIFJvd0FjdGlvbiB9IGZyb20gJy4uL2dyaWQtdG9vbGJhci9ncmlkLXRvb2xiYXIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBEQVRPX0dSSURfU1RPUkFHRV9BUEksIEdyaWRTdG9yYWdlQVBJIH0gZnJvbSAnLi4vZ3JpZC1zZXR0aW5ncyc7XG5pbXBvcnQgeyBhdWRpdFRpbWUsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBza2lwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGFkZENsYXNzLCBhcHBlbmRDaGlsZCwgcXVlcnkgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9oZWxwZXJzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ3Rvb2x0aXAuanMnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzJztcbmltcG9ydCB7IGNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvZHluYW1pYy1jb21wb25lbnRzJztcbmltcG9ydCB7IERhdG9HcmlkT25Ib3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtb24taG92ZXIvZ3JpZC1vbi1ob3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgY29udmVydEZyb21UcmVlRGF0YSwgZGVmYXVsdEdyaWRPcHRpb25zLCBkZWZhdWx0VHJlZU9wdGlvbnMgfSBmcm9tICcuLi9ncmlkL2dyaWQtdjIuY29uZmlnJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuaW1wb3J0IHsgRGF0b0hvdGtleXMgfSBmcm9tICcuLi8uLi9ob3RrZXlzL2hvdGtleXMuc2VydmljZSc7XG5pbXBvcnQgRE9NUHVyaWZ5IGZyb20gJ2RvbXB1cmlmeSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyIH0gZnJvbSAnLi4vZ3JpZC1maWx0ZXIvZ3JpZC1maWx0ZXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRvLWdyaWQtY29udHJvbGxlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLWNvbnRyb2xsZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0dyaWRRdWVyeSwgR3JpZFNlcnZpY2UsIEdyaWRTdG9yZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQENvbnRlbnRDaGlsZHJlbihEYXRvQ3VzdG9tSGVhZGVyVGVtcGxhdGVDb21wb25lbnQpIGN1c3RvbUhlYWRlcnNUZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxcbiAgICBEYXRvQ3VzdG9tSGVhZGVyVGVtcGxhdGVDb21wb25lbnRcbiAgPjtcblxuICBAT3V0cHV0KCkgb25HcmlkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkQ2hhbmdlRXZlbnQ+KCk7XG4gIEBJbnB1dCgpIHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG4gIEBJbnB1dCgpIGdyaWRBY3Rpb25zOiBHcmlkQWN0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgc2V0IGdyaWRPcHRpb25zKGdyaWRPcHRpb25zOiBEYXRvR3JpZE9wdGlvbnMpIHtcbiAgICB0aGlzLl9ncmlkT3B0aW9ucyA9IGdyaWRPcHRpb25zO1xuICAgIHRoaXMuZ3JpZFNlcnZpY2UudHJlZURhdGEgPSBncmlkT3B0aW9ucy50cmVlRGF0YTtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLmlzUGl2b3RNb2RlID0gZ3JpZE9wdGlvbnMucGl2b3RNb2RlO1xuXG4gICAgaWYgKHRoaXMuYWdHcmlkRWwpIHtcbiAgICAgIGlmIChncmlkT3B0aW9ucy50cmVlRGF0YSkge1xuICAgICAgICAhdGhpcy5hZ0dyaWRFbC5jbGFzc0xpc3QuY29udGFpbnModGhpcy50cmVlR3JpZENsYXNzKSAmJiB0aGlzLmFnR3JpZEVsLmNsYXNzTGlzdC5hZGQodGhpcy50cmVlR3JpZENsYXNzKTtcbiAgICAgIH0gZWxzZSBpZiAoIWdyaWRPcHRpb25zLmVuYWJsZVYyXzEpIHtcbiAgICAgICAgdGhpcy5hZ0dyaWRFbC5jbGFzc0xpc3QuYWRkKHRoaXMudHJlZUdyaWRDbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGdyaWRPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9ncmlkT3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgY29udGVudEluaXQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHRvb2x0aXA7XG4gIHByaXZhdGUgX2dyaWRPcHRpb25zOiBEYXRvR3JpZE9wdGlvbnM7XG4gIGdyaWRSZWFkeSQgPSB0aGlzLmdyaWRRdWVyeS5ncmlkUmVhZHkkO1xuICBhZ0dyaWRFbDogSFRNTEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByb3dIb3ZlckNvbXBvbmVudDogQ29tcG9uZW50UmVmPERhdG9HcmlkT25Ib3ZlckNvbXBvbmVudD47XG4gIHByaXZhdGUgbGFzdEhvdmVyZWRSb3c6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGdyaWRFbGVtZW50cyA9IHtcbiAgICBjZW50ZXJWaWV3cG9ydDogbnVsbCxcbiAgICBjZW50ZXJDb250YWluZXI6IG51bGwsXG4gICAgYm9keVZpZXdwb3J0OiBudWxsXG4gIH07XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJlZUdyaWRDbGFzcyA9ICd0cmVlJztcbiAgcHJpdmF0ZSBjZWxsTW91c2VPdXRUaW1lcjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXG4gICAgcHVibGljIGdyaWRRdWVyeTogR3JpZFF1ZXJ5LFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogSWNvblJlZ2lzdHJ5LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBEYXRvVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaG90a2V5czogRGF0b0hvdGtleXMsXG4gICAgQEluamVjdChEQVRPX0dSSURfU1RPUkFHRV9BUEkpIHByaXZhdGUgc3RvcmFnZUFQSTogR3JpZFN0b3JhZ2VBUElcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY29udGVudEluaXQuY29tcGxldGUoKTtcbiAgICB0aGlzLmNsZWFyVG9vbHRpcCgpO1xuICAgIHRoaXMucm93SG92ZXJDb21wb25lbnQgJiYgdGhpcy5yb3dIb3ZlckNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgdGhpcy5yb3dIb3ZlckNvbXBvbmVudCA9IG51bGw7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jb250ZW50SW5pdC5uZXh0KCk7XG4gICAgdGhpcy5jb250ZW50SW5pdC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyogQGludGVybmFsICovXG4gIF9pbml0aWFsaXplR3JpZChhZ0dyaWQ6IEFnR3JpZE5nMiwgYWdHcmlkRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5hZ0dyaWRFbCA9IGFnR3JpZEVsO1xuICAgIHRoaXMuY29udGVudEluaXRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucyA9IHRoaXMubm9ybWFsaXplT3B0aW9ucygpO1xuICAgICAgICAgIGFnR3JpZC5ncmlkT3B0aW9ucyA9IHRoaXMuZ3JpZE9wdGlvbnM7XG4gICAgICAgICAgY29uc3QgaXNHbG9iYWwgPSB0aGlzLmdyaWRPcHRpb25zLmlzR2xvYmFsU2V0dGluZ3M7XG4gICAgICAgICAgY29uc3Qgc2V0dGluZ3NMb2FkZXIgPVxuICAgICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5zYXZlU2V0dGluZ3MgPT09IGZhbHNlXG4gICAgICAgICAgICAgID8gb2YobnVsbClcbiAgICAgICAgICAgICAgOiB0aGlzLnN0b3JhZ2VBUEkuZ2V0KHRoaXMuZ3JpZE9wdGlvbnMuZ3JpZE5hbWUsIGlzR2xvYmFsKTtcbiAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbYWdHcmlkLmdyaWRSZWFkeSwgc2V0dGluZ3NMb2FkZXJdKTtcbiAgICAgICAgfSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbeyBhcGksIGNvbHVtbkFwaSB9LCBzYXZlZFNldHRpbmdzID0ge31dOiBbRGV0YWlsR3JpZEluZm8sIFBhcnRpYWw8RGF0b0dyaWRTZXR0aW5ncz5dKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5ncmlkT3B0aW9ucy5yb3dEYXRhKSB7XG4gICAgICAgICAgYXBpLnNob3dMb2FkaW5nT3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5ncmlkT3B0aW9ucy5zdGF0dXNCYXIpIHtcbiAgICAgICAgICAvKiogRml4IGFnLWdyaWQgYnVnIHRoYXQgZG9lc24ndCBhZGQgYWctaGlkZGVuIGNsYXNzIHRvIHRoZSBzdGF0dXMgYmFyLCB3aGljaCBvbmx5IGdldCBmaXhlZCBpbiBsYXRlciB2ZXJzaW9ucyAqL1xuICAgICAgICAgIGNvbnN0IGVsID0gYWdHcmlkRWwucXVlcnlTZWxlY3RvcignLmFnLXN0YXR1cy1iYXInKTtcblxuICAgICAgICAgIGFkZENsYXNzKGVsLCAnYWctaGlkZGVuJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZ3JpZEFwaTogRGF0b0dyaWRBcGkgPSB7IGdyaWQ6IGFwaSwgY29sdW1uczogY29sdW1uQXBpIH07XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuX3NldEFwaShncmlkQXBpLCBhZ0dyaWQpO1xuICAgICAgICB0aGlzLmdyaWRRdWVyeS5fc2V0QXBpKGdyaWRBcGksIGFnR3JpZCk7XG5cbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5pbml0U2V0dGluZ3Moc2F2ZWRTZXR0aW5ncyB8fCB7fSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJTZXR0aW5nc0xpc3RlbmVycyhncmlkQXBpLCBhZ0dyaWQpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyR3JpZExpc3RlbmVycyhncmlkQXBpLCBhZ0dyaWQpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzVHJpZ2dlcmluZ0NsZWFyU2VsZWN0ZWRSb3dzKGFnR3JpZCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJQYWdpbmF0aW9uQ2hhbmdlZChhZ0dyaWQpO1xuICAgICAgICB0aGlzLmdyaWRRdWVyeS5fZ3JpZFJlYWR5Lm5leHQodHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMudHJlZURhdGEpIHtcbiAgICAgICAgICB0aGlzLmFnR3JpZEVsLmNsYXNzTGlzdC5hZGQoJ3RyZWUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy5yb3dIZWlnaHQpIHtcbiAgICAgICAgICB0aGlzLmFnR3JpZEVsLmNsYXNzTGlzdC5hZGQoYHJvdy1oZWlnaHQtJHt0aGlzLmdyaWRPcHRpb25zLnJvd0hlaWdodH1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZU9wdGlvbnMoKSB7XG4gICAgLyoqXG4gICAgICogV2hlbiB0cmVlRGF0YSBpcyBlbmFibGVkLCBQYWdpbmF0aW9uIG11c3QgYmUgdHVybmVkIG9mZlxuICAgICAqL1xuICAgIGlmICh0aGlzLmdyaWRPcHRpb25zLnRyZWVEYXRhKSB7XG4gICAgICB0aGlzLmdyaWRPcHRpb25zID0ge1xuICAgICAgICAuLi50aGlzLmdyaWRPcHRpb25zLFxuICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgZ3JpZE9wdGlvbnM6IHRoaXMuZ3JpZE9wdGlvbnMsXG4gICAgICBjdXN0b21IZWFkZXJzVGVtcGxhdGVzOiB0aGlzLmN1c3RvbUhlYWRlcnNUZW1wbGF0ZXMsXG4gICAgICByb3dBY3Rpb25zOiB0aGlzLnJvd0FjdGlvbnNcbiAgICB9O1xuXG4gICAgbGV0IG5vcm1hbGl6ZWQgPSB0aGlzLmdyaWRTZXJ2aWNlLm5vcm1hbGl6ZU9wdGlvbnMocGFyYW1zKTtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIC4uLmRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIC4uLih0aGlzLmdyaWRPcHRpb25zLnRyZWVEYXRhID8gZGVmYXVsdFRyZWVPcHRpb25zIDoge30pLFxuICAgICAgaWNvbnM6IHRoaXMuZ2V0R3JpZEljb25zKCksXG4gICAgICBkaXNhYmxlZEhUTUxSZW5kZXJpbmdGaWVsZHM6XG4gICAgICAgIG5vcm1hbGl6ZWQuZGlzYWJsZWRIVE1MUmVuZGVyaW5nRmllbGRzIHx8IGRlZmF1bHRHcmlkT3B0aW9ucy5kaXNhYmxlZEhUTUxSZW5kZXJpbmdGaWVsZHNcbiAgICB9O1xuICAgIHJldHVybiBkZWVwbWVyZ2UoZGVmYXVsdHMsIG5vcm1hbGl6ZWQpO1xuICB9XG5cbiAgc2V0R3JpZFJvd3M8VD4oZGF0YTogVFtdKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zZXRSb3dzPFQ+KGRhdGEpO1xuICB9XG5cbiAgc2V0R3JpZEZpbHRlcnMoZmlsdGVyczogRGF0b0dyaWRFeHRlcm5hbEZpbHRlcltdKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zZXRHcmlkRmlsdGVycyhmaWx0ZXJzKTtcbiAgfVxuXG4gIHNldEdyaWRTb3J0KHNvcnQ6IERhdG9HcmlkU29ydCkge1xuICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2V0R3JpZFNvcnQoc29ydCk7XG4gIH1cblxuICBwcml2YXRlIGdldEdyaWRJY29ucygpOiBIYXNoTWFwPHN0cmluZz4ge1xuICAgIGNvbnN0IG1vdmVDb2x1bW5JY29uID0gYDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIHBvaW50ZXIgZC1mbGV4IGNvbHVtbi1tb3ZlXCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoXG4gICAgICAnbW92ZS1jb2x1bW4nXG4gICAgKX08L3NwYW4+YDtcbiAgICByZXR1cm4ge1xuICAgICAgZ3JvdXBFeHBhbmRlZDogYDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIHBvaW50ZXIgZ3JvdXAtZXhwYW5kZWQtaWNvblwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKFxuICAgICAgICAnYXJyb3ctcmlnaHQnXG4gICAgICApfTwvc3Bhbj5gLFxuICAgICAgZ3JvdXBDb250cmFjdGVkOiBgPHNwYW4gY2xhc3M9XCJkYS1ncmlkLWljb24gcG9pbnRlciBncm91cC1jb250cmFjdGVkLWljb25cIj4ke3RoaXMuaWNvblJlZ2lzdHJ5LmdldFN2ZyhcbiAgICAgICAgJ2Fycm93LXJpZ2h0J1xuICAgICAgKX08L3NwYW4+YCxcbiAgICAgIGNvbHVtbk1vdmVQaW46IGA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBwb2ludGVyIGQtZmxleCBwcmltYXJ5LTMwMC1maWxsIGNvbHVtbi1tb3ZlLXBpblwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKFxuICAgICAgICAncGluJ1xuICAgICAgKX08L3NwYW4+YCxcbiAgICAgIGNvbHVtbk1vdmVIaWRlOiBgPHNwYW4gY2xhc3M9XCJkYS1ncmlkLWljb24gcG9pbnRlciBkLWZsZXggY29sdW1uLW1vdmUtaGlkZVwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKFxuICAgICAgICAnZXllLWhpZGUnXG4gICAgICApfTwvc3Bhbj5gLFxuICAgICAgY29sdW1uTW92ZU1vdmU6IG1vdmVDb2x1bW5JY29uLFxuICAgICAgY29sdW1uTW92ZUxlZnQ6IG1vdmVDb2x1bW5JY29uLFxuICAgICAgY29sdW1uTW92ZVJpZ2h0OiBtb3ZlQ29sdW1uSWNvbixcbiAgICAgIHJvd0RyYWc6IGA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBkcmFnIGQtZmxleFwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKCdkcmFnLTAxJyl9PC9zcGFuPmBcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclNldHRpbmdzTGlzdGVuZXJzKGFwaTogRGF0b0dyaWRBcGksIGFnR3JpZDogQWdHcmlkTmcyKSB7XG4gICAgdGhpcy5saXN0ZW5Ub0NvbHVtblJlc2l6ZShhcGksIGFnR3JpZCk7XG4gICAgdGhpcy5saXN0ZW5Ub0dyaWRFdmVudHMoYWdHcmlkKTtcbiAgICB0aGlzLmxpc3RlblRvU3RvcmVTZXR0aW5nc0NoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9Db2x1bW5SZXNpemUoYXBpOiBEYXRvR3JpZEFwaSwgeyBjb2x1bW5SZXNpemVkIH06IEFnR3JpZE5nMikge1xuICAgIGxldCBvYnNlcnZhYmxlID0gY29sdW1uUmVzaXplZC5hc09ic2VydmFibGUoKTtcbiAgICBpZiAodGhpcy5vbkhvdmVyRW5hYmxlZCgpKSB7XG4gICAgICBvYnNlcnZhYmxlID0gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgc291cmNlIH06IENvbHVtblJlc2l6ZWRFdmVudCkgPT4gc291cmNlID09PSAndWlDb2x1bW5EcmFnZ2VkJyksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZU9uSG92ZXJQb3MoKSlcbiAgICAgICk7XG4gICAgfVxuICAgIG9ic2VydmFibGVcbiAgICAgIC5waXBlKFxuICAgICAgICBhdWRpdFRpbWUoMTAwKSxcbiAgICAgICAgZmlsdGVyKCh7IGZpbmlzaGVkLCBzb3VyY2UgfTogQ29sdW1uUmVzaXplZEV2ZW50KSA9PiBmaW5pc2hlZCAmJiBzb3VyY2UgPT09ICd1aUNvbHVtbkRyYWdnZWQnKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgIGNvbnN0IFtjb2x1bW5dID0gZS5jb2x1bW5zO1xuICAgICAgICBsZXQgY29sdW1uc1NpemVzID0geyAuLi50aGlzLmdyaWRRdWVyeS5nZXRDb2x1bW5TaXplcygpIH07XG4gICAgICAgIGlmIChjb2x1bW5zU2l6ZXMpIHtcbiAgICAgICAgICBjb2x1bW5zU2l6ZXNbY29sdW1uLmdldENvbElkKCldID0gY29sdW1uLmdldEFjdHVhbFdpZHRoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29sdW1uc1NpemVzID0gZ2V0Q29sdW1uc1NpemVzKGFwaS5jb2x1bW5zLmdldEFsbEdyaWRDb2x1bW5zKCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UudXBkYXRlU2V0dGluZ3MoeyBncmlkQWxpZ25tZW50OiBEYXRvR3JpZEFsaWdubWVudC5DVVNUT00sIGNvbHVtbnNTaXplcyB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0dyaWRFdmVudHMoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICBjb25zdCB7IGNvbHVtblZpc2libGUsIHNvcnRDaGFuZ2VkLCBjb2x1bW5Sb3dHcm91cENoYW5nZWQsIGNvbHVtblBpbm5lZCwgZHJhZ1N0b3BwZWQsIGZpbHRlckNoYW5nZWQgfSA9IGFnR3JpZDtcbiAgICBtZXJnZShjb2x1bW5WaXNpYmxlLCBzb3J0Q2hhbmdlZCwgY29sdW1uUm93R3JvdXBDaGFuZ2VkLCBjb2x1bW5QaW5uZWQsIGRyYWdTdG9wcGVkLCBmaWx0ZXJDaGFuZ2VkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8qIFNraXAgdGhlIGluaXRpYWwgc29ydGluZyBldmVudCBmaXJlZCBieSB0aGUgZ3JpZCB3aGVuIGFkZGluZyByb3dzICovXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IHR5cGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBzZXR0aW5nc0RpZmYgPSB0aGlzLmdyaWRTZXJ2aWNlLmdldFNldHRpbmdzRGlmZigpO1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLnVwZGF0ZVNldHRpbmdzKHNldHRpbmdzRGlmZik7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldEdyaWREYXRhKCk7XG4gICAgICAgIHRoaXMub25HcmlkQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgIGZpbHRlcjogdGhpcy5ncmlkUXVlcnkuZ2V0RXh0ZXJuYWxGaWx0ZXIoKSxcbiAgICAgICAgICBzb3J0OiB0aGlzLmdyaWRRdWVyeS5nZXRTb3J0KCksXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICBkYXRhXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvU3RvcmVTZXR0aW5nc0NoYW5nZXMoKSB7XG4gICAgdGhpcy5ncmlkUXVlcnlcbiAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuc2V0dGluZ3MpXG4gICAgICAucGlwZShcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNldHRpbmdzRGlmZiA9IHRoaXMuZ3JpZFNlcnZpY2UuZ2V0U2V0dGluZ3NEaWZmKCk7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2F2ZVNldHRpbmdzVG9TZXJ2ZXIoc2V0dGluZ3NEaWZmKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckdyaWRMaXN0ZW5lcnMoYXBpOiBEYXRvR3JpZEFwaSwgYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICB0aGlzLmdyaWRFbGVtZW50cyA9IHtcbiAgICAgIGNlbnRlckNvbnRhaW5lcjogcXVlcnkoJy5hZy1jZW50ZXItY29scy1jb250YWluZXInLCB0aGlzLmFnR3JpZEVsKSxcbiAgICAgIGNlbnRlclZpZXdwb3J0OiBxdWVyeSgnLmFnLWNlbnRlci1jb2xzLXZpZXdwb3J0JywgdGhpcy5hZ0dyaWRFbCksXG4gICAgICBib2R5Vmlld3BvcnQ6IHF1ZXJ5KCcuYWctYm9keS12aWV3cG9ydCcsIHRoaXMuYWdHcmlkRWwpXG4gICAgfTtcbiAgICB0aGlzLnJlZ2lzdGVyR3JpZENsaWNrTGlzdGVuZXIoYXBpLmdyaWQpO1xuICAgIHRoaXMucmVnaXN0ZXJHcmlkR3JvdXBMaXN0ZW5lcnMoYWdHcmlkKTtcbiAgICB0aGlzLnJlZ2lzdGVyR3JpZE1vdXNlTGlzdGVuZXJzKGFnR3JpZCk7XG4gICAgdGhpcy5yZWdpc3RlckdyaWRLZXlib2FyZExpc3RlbmVyKGFwaSk7XG4gICAgdGhpcy5yZWdpc3RlcldpbmRvd1Jlc2l6ZUxpc3RlbmVyKCk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyR3JpZEdyb3VwTGlzdGVuZXJzKGFnR3JpZDogQWdHcmlkTmcyKSB7XG4gICAgLyogTWFrZSBncm91cCBleHBhbmQvY29sbGFwc2Ugb24gYSBzaW5nbGUgY2xpY2sgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBkb3VibGUgY2xpY2sgKi9cbiAgICBhZ0dyaWQuY29sdW1uUm93R3JvdXBDaGFuZ2VkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh7IGNvbHVtbnMgfTogQ29sdW1uUm93R3JvdXBDaGFuZ2VkRXZlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gY29sdW1ucy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgID8gRU1QVFlcbiAgICAgICAgICAgIDogYWdHcmlkLmNlbGxDbGlja2VkLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh7IHZhbHVlLCBub2RlIH06IENlbGxDbGlja2VkRXZlbnQpID0+IHZhbHVlICE9PSB1bmRlZmluZWQgJiYgbm9kZS5ncm91cCA9PT0gdHJ1ZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IG5vZGUgfTogQ2VsbENsaWNrZWRFdmVudCkgPT4ge1xuICAgICAgICBub2RlLnNldEV4cGFuZGVkKCFub2RlLmV4cGFuZGVkKTtcbiAgICAgIH0pO1xuICAgIC8qIFdoZW4gY2xvc2luZyBhIGdyb3VwZWQgcm93IHdlIHdhbnQgdG8gaGlkZSB0aGUgb24gaG92ZXIgYWN0aW9ucyAqL1xuICAgIGlmICh0aGlzLm9uSG92ZXJFbmFibGVkKCkpIHtcbiAgICAgIGFnR3JpZC5yb3dHcm91cE9wZW5lZFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKHsgbm9kZSB9OiBSb3dHcm91cE9wZW5lZEV2ZW50KSA9PiBub2RlLmV4cGFuZGVkID09PSBmYWxzZSksXG4gICAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxhc3RIb3ZlcmVkUm93ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnNldE9uSG92ZXJTdGF0ZShmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIGNsaWNrIHdhcyBwZXJmb3JtZWQgb24gdGhlIGdyaWRzIGJvZHkgYW5kIG5vdCBhIHJvdywgY2xlYXIgdGhlIHJvd3Mgc2VsZWN0aW9uXG4gICAqL1xuICBwcml2YXRlIHJlZ2lzdGVyR3JpZENsaWNrTGlzdGVuZXIoYXBpOiBHcmlkQXBpKSB7XG4gICAgY29uc3QgeyBib2R5Vmlld3BvcnQsIGNlbnRlclZpZXdwb3J0IH0gPSB0aGlzLmdyaWRFbGVtZW50cztcbiAgICBmcm9tRXZlbnQoYm9keVZpZXdwb3J0LCAnY2xpY2snKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGV2ZW50LnRhcmdldCA9PT0gYm9keVZpZXdwb3J0IHx8IGV2ZW50LnRhcmdldCA9PT0gY2VudGVyVmlld3BvcnQpICYmIGFwaS5nZXRTZWxlY3RlZFJvd3MoKS5sZW5ndGggPiAwO1xuICAgICAgICB9KSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gYXBpLmRlc2VsZWN0QWxsKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkhvdmVyRW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9ucy5ob3ZlckNvbmZpZy5lbmFibGVkICYmIHRoaXMucm93QWN0aW9ucy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckdyaWRNb3VzZUxpc3RlbmVycyhhZ0dyaWQ6IEFnR3JpZE5nMikge1xuICAgIGNvbnN0IHsgYm9keVZpZXdwb3J0LCBjZW50ZXJDb250YWluZXIgfSA9IHRoaXMuZ3JpZEVsZW1lbnRzO1xuICAgIGxldCBsYXN0SG92ZXJlZENlbGw7XG4gICAgY29uc3Qgb25Ib3ZlckVuYWJsZWQgPSB0aGlzLm9uSG92ZXJFbmFibGVkKCk7XG4gICAgaWYgKG9uSG92ZXJFbmFibGVkKSB7XG4gICAgICBmcm9tRXZlbnQoY2VudGVyQ29udGFpbmVyLCAnbW91c2VsZWF2ZScpXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVJvd0hvdmVyQ2xhc3ModGhpcy5sYXN0SG92ZXJlZFJvdyk7XG4gICAgICAgICAgdGhpcy5sYXN0SG92ZXJlZFJvdyA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zZXRPbkhvdmVyU3RhdGUoZmFsc2UpO1xuICAgICAgICAgIGxhc3RIb3ZlcmVkQ2VsbCA9IG51bGw7XG4gICAgICAgIH0pO1xuICAgICAgbWVyZ2UoXG4gICAgICAgIGFnR3JpZC5ib2R5U2Nyb2xsLnBpcGUoZmlsdGVyKCh7IGRpcmVjdGlvbiB9OiBCb2R5U2Nyb2xsRXZlbnQpID0+IGRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSksXG4gICAgICAgIGFnR3JpZC5yb3dEYXRhQ2hhbmdlZFxuICAgICAgKVxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVPbkhvdmVyUG9zKCk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZGRPbkhvdmVyRWxlbWVudCgpO1xuICAgIH1cbiAgICBhZ0dyaWQuY2VsbE1vdXNlT3Zlci5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKGV2ZW50OiBDZWxsTW91c2VPdmVyRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgbm9kZSwgY29sdW1uIH0gPSBldmVudDtcbiAgICAgIGlmIChsYXN0SG92ZXJlZENlbGwgPT09IGAke25vZGUuaWR9LSR7Y29sdW1uLmdldENvbElkKCl9YCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jZWxsTW91c2VPdXRUaW1lcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxhc3RIb3ZlcmVkQ2VsbCA9IGAke25vZGUuaWR9LSR7Y29sdW1uLmdldENvbElkKCl9YDtcbiAgICAgIHRoaXMuc2hvd1Rvb2x0aXAoZXZlbnQpO1xuICAgICAgY29uc3Qgcm93ID0gKGV2ZW50LmV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudDtcbiAgICAgIGlmIChvbkhvdmVyRW5hYmxlZCAmJiAobm9kZS5ncm91cCA9PT0gZmFsc2UgfHwgaXNOaWwobm9kZS5ncm91cCkpICYmIHRoaXMubGFzdEhvdmVyZWRSb3cgIT09IHJvdykge1xuICAgICAgICBjb25zdCBwcmV2aW91c05vZGUgPSB0aGlzLmxhc3RIb3ZlcmVkUm93O1xuICAgICAgICB0aGlzLmxhc3RIb3ZlcmVkUm93ID0gcm93O1xuICAgICAgICB0aGlzLnRvZ2dsZVJvd0hvdmVyQ2xhc3MoW3ByZXZpb3VzTm9kZSwgdGhpcy5sYXN0SG92ZXJlZFJvd10pO1xuICAgICAgICB0aGlzLnNldE9uSG92ZXJTdGF0ZSh0cnVlLCBldmVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3Qgb25Ub29sdGlwT3V0ID0gbWVyZ2UoZnJvbUV2ZW50KGJvZHlWaWV3cG9ydCwgJ3Njcm9sbCcpLCBmcm9tRXZlbnQodGhpcy5hZ0dyaWRFbCwgJ21vdXNlbGVhdmUnKSk7XG4gICAgb25Ub29sdGlwT3V0LnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBsYXN0SG92ZXJlZENlbGwgPSBudWxsO1xuICAgICAgdGhpcy5jbGVhclRvb2x0aXAoKTtcbiAgICB9KTtcblxuICAgIGFnR3JpZC5jZWxsTW91c2VPdXRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gIWlzTmlsKHRoaXMudG9vbHRpcCkpLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2VsbE1vdXNlT3V0VGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsZWFyVG9vbHRpcCgpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3Bvc2UgdGhlIHRvb2x0aXBcbiAgICovXG4gIGNsZWFyVG9vbHRpcCgpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2x0aXAgJiYgdGhpcy50b29sdGlwLmRpc3Bvc2UoKTtcbiAgICB0aGlzLnRvb2x0aXAgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93VG9vbHRpcChldmVudDogQ2VsbEV2ZW50KSB7XG4gICAgbGV0IGNlbGw6IEhUTUxFbGVtZW50ID0gZXZlbnQuZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGlmIChjZWxsLnRhZ05hbWUgPT09ICdTUEFOJyAmJiBjZWxsLnNjcm9sbFdpZHRoID09PSAwKSB7XG4gICAgICBjZWxsID0gY2VsbC5wYXJlbnRFbGVtZW50O1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY29sRGVmLmVkaXRhYmxlKSB7XG4gICAgICBjZWxsID0gY2VsbC5xdWVyeVNlbGVjdG9yKCcudmFsdWUtd3JhcHBlcicpIHx8IGNlbGw7XG4gICAgfVxuICAgIGNvbnN0IHRleHRPdmVyZmxvdyA9IGNlbGwub2Zmc2V0V2lkdGggPCBjZWxsLnNjcm9sbFdpZHRoO1xuICAgIGlmICh0ZXh0T3ZlcmZsb3cpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNlbGxNb3VzZU91dFRpbWVyKTtcbiAgICAgIGNvbnN0IGFsbG93SFRNTCA9IGlzSHRtbEFsbG93ZWRGb3JDb2wodGhpcy5ncmlkT3B0aW9ucywgZXZlbnQuY29sRGVmKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsgY2VsbCwgdmFsdWU6IGNlbGwuaW5uZXJUZXh0LCBhbGxvd0hUTUwgfTtcblxuICAgICAgaXNOaWwodGhpcy50b29sdGlwKSA/IHRoaXMuY3JlYXRlQW5kU2hvd1Rvb2x0aXAocGFyYW1zKSA6IHRoaXMudXBkYXRlVG9vbHRpcChwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQW5kU2hvd1Rvb2x0aXAoeyBjZWxsLCB2YWx1ZSwgYWxsb3dIVE1MIH0pIHtcbiAgICB0aGlzLnRvb2x0aXAgPSBuZXcgVG9vbHRpcChjZWxsLCB7XG4gICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgY29udGFpbmVyOiBkb2N1bWVudC5ib2R5LFxuICAgICAgdHJpZ2dlcjogJ21hbnVhbCcsXG4gICAgICB0aXRsZTogYWxsb3dIVE1MID8gRE9NUHVyaWZ5LnNhbml0aXplKHZhbHVlKSA6IHZhbHVlLFxuICAgICAgaHRtbDogYWxsb3dIVE1MLFxuICAgICAgcG9wcGVyT3B0aW9uczoge1xuICAgICAgICBtb2RpZmllcnM6IHtcbiAgICAgICAgICBwcmV2ZW50T3ZlcmZsb3c6IHsgZW5hYmxlZDogZmFsc2UgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdGVtcGxhdGU6XG4gICAgICAgICc8ZGl2IGNsYXNzPVwidG9vbHRpcCBkYXRvLXRvb2x0aXAgY29tbW9uLXRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiPjxkaXYgY2xhc3M9XCJ0b29sdGlwLWFycm93XCI+PC9kaXY+PGRpdiBjbGFzcz1cInRvb2x0aXAtaW5uZXJcIj48L2Rpdj48L2Rpdj4nXG4gICAgfSk7XG5cbiAgICB0aGlzLnRvb2x0aXAuc2hvdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgdG9vbHRpcCBlbGVtZW50IHJlZiBhbmQgY29udGVudFxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVUb29sdGlwKHsgY2VsbCwgdmFsdWUgfSk6IHZvaWQge1xuICAgIGlmIChjZWxsICE9PSB0aGlzLnRvb2x0aXAucmVmZXJlbmNlKSB7XG4gICAgICB0aGlzLnRvb2x0aXAucmVmZXJlbmNlID0gY2VsbDtcbiAgICAgIHRoaXMudG9vbHRpcC5wb3BwZXJJbnN0YW5jZS5yZWZlcmVuY2UgPSBjZWxsO1xuICAgICAgdGhpcy50b29sdGlwLnVwZGF0ZVRpdGxlQ29udGVudCh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMudG9vbHRpcC5zaG93KCk7XG4gIH1cblxuICBwcml2YXRlIGFkZE9uSG92ZXJFbGVtZW50KCkge1xuICAgIHRoaXMucm93SG92ZXJDb21wb25lbnQgPSBjcmVhdGVDb21wb25lbnQ8RGF0b0dyaWRPbkhvdmVyQ29tcG9uZW50Pih7XG4gICAgICBjb21wb25lbnQ6IERhdG9HcmlkT25Ib3ZlckNvbXBvbmVudCxcbiAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxuICAgICAgcmVzb2x2ZXI6IHRoaXMucmVzb2x2ZXJcbiAgICB9KTtcbiAgICBjb25zdCB7IGluc3RhbmNlLCBob3N0VmlldyB9ID0gdGhpcy5yb3dIb3ZlckNvbXBvbmVudDtcbiAgICBpbnN0YW5jZS5jb25maWcgPSB7IC4uLnRoaXMuZ3JpZE9wdGlvbnMuaG92ZXJDb25maWcsIGFjdGlvbnM6IHRoaXMucm93QWN0aW9ucy5zbGljZSgpIH07XG4gICAgaG9zdFZpZXcuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGFwcGVuZENoaWxkKHRoaXMuZ3JpZEVsZW1lbnRzLmNlbnRlckNvbnRhaW5lciwgdGhpcy5yb3dIb3ZlckVsKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHJvd0hvdmVyRWwoKSB7XG4gICAgcmV0dXJuIHRoaXMucm93SG92ZXJDb21wb25lbnQubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T25Ib3ZlclN0YXRlKHZpc2libGU6IGJvb2xlYW4sIGV2ZW50PzogQ2VsbE1vdXNlT3V0RXZlbnQpIHtcbiAgICBjb25zdCB7IGluc3RhbmNlIH0gPSB0aGlzLnJvd0hvdmVyQ29tcG9uZW50O1xuICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICBpbnN0YW5jZS5zaG93KGV2ZW50KTtcbiAgICAgIHRoaXMudXBkYXRlT25Ib3ZlclBvcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnN0YW5jZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVPbkhvdmVyUG9zKCkge1xuICAgIGNvbnN0IHsgY2VudGVyVmlld3BvcnQsIGNlbnRlckNvbnRhaW5lciB9ID0gdGhpcy5ncmlkRWxlbWVudHM7XG4gICAgY29uc3QgdGFyZ2V0ID0gY2VudGVyQ29udGFpbmVyLmNsaWVudFdpZHRoID4gY2VudGVyVmlld3BvcnQuY2xpZW50V2lkdGggPyBjZW50ZXJWaWV3cG9ydCA6IGNlbnRlckNvbnRhaW5lcjtcbiAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBzY3JvbGxMZWZ0IH0gPSB0YXJnZXQ7XG4gICAgdGhpcy5yb3dIb3ZlckNvbXBvbmVudC5pbnN0YW5jZS51cGRhdGVTY3JvbGxQb3MoY2xpZW50V2lkdGggKyBzY3JvbGxMZWZ0KTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlUm93SG92ZXJDbGFzcyhyb3dzOiBIVE1MRWxlbWVudCB8IEhUTUxFbGVtZW50W10pIHtcbiAgICBjb2VyY2VBcnJheShyb3dzKS5mb3JFYWNoKHJvdyA9PiByb3cgJiYgcm93LmNsYXNzTGlzdC50b2dnbGUoJ2FjdGlvbnMtaG92ZXJlZCcpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJHcmlkS2V5Ym9hcmRMaXN0ZW5lcih7IGdyaWQsIGNvbHVtbnMgfTogRGF0b0dyaWRBcGkpIHtcbiAgICB0aGlzLmhvdGtleXNcbiAgICAgIC5hZGRTaG9ydGN1dCh7XG4gICAgICAgIGVsZW1lbnQ6IHRoaXMuYWdHcmlkRWwsXG4gICAgICAgIGtleXM6ICdtZXRhLmEnLFxuICAgICAgICBpZ25vcmVJbkVkaXRhYmxlOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5zZWxlY3RBbGxDdXJyZW50UGFnZVJvd3MoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlcldpbmRvd1Jlc2l6ZUxpc3RlbmVyKCkge1xuICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5ncmlkUXVlcnkuZ3JpZEFsaWdubWVudCAhPT0gRGF0b0dyaWRBbGlnbm1lbnQuQ1VTVE9NKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBmaXRUbyA9IHRoaXMuZ3JpZFF1ZXJ5LmdyaWRBbGlnbm1lbnQgPT09IERhdG9HcmlkQWxpZ25tZW50LkZJVF9UT19DT05UQUlORVIgPyAnY29udGFpbmVyJyA6ICdjb250ZW50JztcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5maXRHcmlkKGZpdFRvKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRHcmlkRGF0YSgpIHtcbiAgICBjb25zdCBncmlkTW9kZWwgPSB0aGlzLmdyaWRTZXJ2aWNlLmFwaS5ncmlkLmdldE1vZGVsKCkgYXMgYW55O1xuICAgIGlmICh0aGlzLmdyaWRPcHRpb25zLnRyZWVEYXRhKSB7XG4gICAgICBjb25zdCBncmlkRGF0YSA9IGdyaWRNb2RlbC5yb3dzVG9EaXNwbGF5Lm1hcCgoeyBkYXRhIH0pID0+IGRhdGEpO1xuICAgICAgcmV0dXJuIGNvbnZlcnRGcm9tVHJlZURhdGEoZ3JpZERhdGEsIHRoaXMuZ3JpZFNlcnZpY2UudHJlZUNvbmZpZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBncmlkTW9kZWwucm93c1RvRGlzcGxheTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyRXZlbnRzVHJpZ2dlcmluZ0NsZWFyU2VsZWN0ZWRSb3dzKGFnR3JpZDogQWdHcmlkTmcyKSB7XG4gICAgY29uc3QgZXZlbnRzJCA9IHRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2lkZVxuICAgICAgPyBtZXJnZShhZ0dyaWQuc29ydENoYW5nZWQsIGFnR3JpZC5maWx0ZXJDaGFuZ2VkKVxuICAgICAgOiBhZ0dyaWQuZmlsdGVyQ2hhbmdlZDtcbiAgICAoZXZlbnRzJCBhcyBPYnNlcnZhYmxlPGFueT4pLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmdyaWRTZXJ2aWNlLmRlc2VsZWN0QWxsUm93cygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclBhZ2luYXRpb25DaGFuZ2VkKGFnR3JpZDogQWdHcmlkTmcyKSB7XG4gICAgaWYgKCF0aGlzLmdyaWRRdWVyeS5pc1NlcnZlclNpZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYWdHcmlkLnBhZ2luYXRpb25DaGFuZ2VkLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTZWxlY3RBbGxSb3dzRW5hYmxlZCkge1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLnNlbGVjdEFsbEN1cnJlbnRQYWdlUm93cyh0cnVlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
488
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb250cm9sbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBYXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUlyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLE9BQU8sTUFBTSxZQUFZLENBQUM7QUFDakMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQVlsQyxJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUEyQjtJQTBDdEMsWUFDUyxXQUF3QixFQUN4QixTQUFvQixFQUNuQixHQUFzQixFQUN0QixZQUEwQixFQUMxQixTQUErQixFQUMvQixJQUFnQixFQUNoQixRQUFrQixFQUNsQixRQUFrQyxFQUNsQyxPQUFvQixFQUNXLFVBQTBCO1FBVDFELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDVyxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQS9DekQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUNwRCxlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFtQmhDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUdwQyxlQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFLL0IsaUJBQVksR0FBRztZQUNyQixjQUFjLEVBQUUsSUFBSTtZQUNwQixlQUFlLEVBQUUsSUFBSTtZQUNyQixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBQ2Usa0JBQWEsR0FBRyxNQUFNLENBQUM7SUFjckMsQ0FBQztJQTdDSyxJQUFJLFdBQVcsQ0FBQyxXQUE0QjtRQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFFckQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRTtnQkFDeEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDMUc7aUJBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDakQ7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQStCRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlO0lBQ2YsZUFBZSxDQUFDLE1BQWlCLEVBQUUsUUFBcUI7UUFDdEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVc7YUFDYixZQUFZLEVBQUU7YUFDZCxJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0MsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3RDLE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0RyxPQUFPLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsRUFDRixjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxhQUFhLEdBQUcsRUFBRSxDQUE4QyxFQUFFLEVBQUU7WUFDbkcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUM3QixHQUFHLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMxQjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRTtnQkFDL0IsaUhBQWlIO2dCQUNqSCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBRXBELFFBQVEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7YUFDM0I7WUFDRCxNQUFNLE9BQU8sR0FBZ0IsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXhDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFckMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO2FBQ3pFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCOztXQUVHO1FBQ0gsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUM3QixJQUFJLENBQUMsV0FBVyxtQ0FDWCxJQUFJLENBQUMsV0FBVyxLQUNuQixVQUFVLEVBQUUsS0FBSyxHQUNsQixDQUFDO1NBQ0g7UUFDRCxNQUFNLE1BQU0sR0FBRztZQUNiLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixzQkFBc0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ25ELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDO1FBRUYsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxNQUFNLFFBQVEsaURBQ1Qsa0JBQWtCLEdBQ2xCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FDeEQsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFDMUIsMkJBQTJCLEVBQ3pCLFVBQVUsQ0FBQywyQkFBMkIsSUFBSSxrQkFBa0IsQ0FBQywyQkFBMkIsR0FDM0YsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFJLElBQVM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUksSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFpQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWtCO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sY0FBYyxHQUFHLHlEQUF5RCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FDdEcsYUFBYSxDQUNkLFNBQVMsQ0FBQztRQUNYLE9BQU87WUFDTCxhQUFhLEVBQUUsMERBQTBELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUMvRixhQUFhLENBQ2QsU0FBUztZQUNWLGVBQWUsRUFBRSw0REFBNEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQ25HLGFBQWEsQ0FDZCxTQUFTO1lBQ1YsYUFBYSxFQUFFLDhFQUE4RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FDbkgsS0FBSyxDQUNOLFNBQVM7WUFDVixjQUFjLEVBQUUsOERBQThELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUNwRyxVQUFVLENBQ1gsU0FBUztZQUNWLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGVBQWUsRUFBRSxjQUFjO1lBQy9CLE9BQU8sRUFBRSwwQ0FBMEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVM7U0FDaEcsQ0FBQztJQUNKLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxHQUFnQixFQUFFLE1BQWlCO1FBQ25FLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxHQUFnQixFQUFFLEVBQUUsYUFBYSxFQUFhO1FBQ3pFLElBQUksVUFBVSxHQUFHLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUN6QixVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDMUIsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQXNCLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxFQUN4RSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FDbkMsQ0FBQztTQUNIO1FBQ0QsVUFBVTthQUNQLElBQUksQ0FDSCxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQ2QsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFzQixFQUFFLEVBQUUsQ0FBQyxRQUFRLElBQUksTUFBTSxLQUFLLGlCQUFpQixDQUFDLEVBQzlGLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FDckI7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUMzQixJQUFJLFlBQVkscUJBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBRSxDQUFDO1lBQzFELElBQUksWUFBWSxFQUFFO2dCQUNoQixZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQzNEO2lCQUFNO2dCQUNMLFlBQVksR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7YUFDakU7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLGFBQWEsZ0JBQTBCLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM3RixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxNQUFpQjtRQUMxQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUMvRyxLQUFLLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQzthQUMvRixJQUFJO1FBQ0gsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO2dCQUM5QixJQUFJO2dCQUNKLElBQUk7YUFDTCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLFNBQVM7YUFDWCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQy9CLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUNsQixjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxHQUFnQixFQUFFLE1BQWlCO1FBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDbEIsZUFBZSxFQUFFLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2xFLGNBQWMsRUFBRSxLQUFLLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNoRSxZQUFZLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEQsQ0FBQztRQUNGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLDBCQUEwQixDQUFDLE1BQWlCO1FBQ2xELHNGQUFzRjtRQUN0RixNQUFNLENBQUMscUJBQXFCO2FBQ3pCLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBOEIsRUFBRSxFQUFFO1lBQ3BELE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUN6QixDQUFDLENBQUMsS0FBSztnQkFDUCxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBb0IsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUMxRixDQUFDO1FBQ1IsQ0FBQyxDQUFDLEVBQ0YsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUNyQjthQUNBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFvQixFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNMLHFFQUFxRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUN6QixNQUFNLENBQUMsY0FBYztpQkFDbEIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxFQUNsRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2lCQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLHlCQUF5QixDQUFDLEdBQVk7UUFDNUMsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzNELFNBQVMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDO2FBQzdCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssWUFBWSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEgsQ0FBQyxDQUFDLEVBQ0YsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUNyQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVPLDBCQUEwQixDQUFDLE1BQWlCO1FBQ2xELE1BQU0sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM1RCxJQUFJLGVBQWUsQ0FBQztRQUNwQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsSUFBSSxjQUFjLEVBQUU7WUFDbEIsU0FBUyxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUM7aUJBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzFCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7WUFDTCxLQUFLLENBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQW1CLEVBQUUsRUFBRSxDQUFDLFNBQVMsS0FBSyxZQUFZLENBQUMsQ0FBQyxFQUM5RixNQUFNLENBQUMsY0FBYyxDQUN0QjtpQkFDRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMxQixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7UUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUF5QixFQUFFLEVBQUU7WUFDdEYsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxlQUFlLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFO2dCQUN6RCxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3JDLE9BQU87YUFDUjtZQUNELGVBQWUsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQXNCLENBQUMsYUFBYSxDQUFDO1lBQzlELElBQUksY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssR0FBRyxFQUFFO2dCQUNoRyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNuQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUN0RyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDckQsZUFBZSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsWUFBWTthQUNoQixJQUFJLENBQ0gsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUNsQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWdCO1FBQ2xDLElBQUksSUFBSSxHQUFnQixLQUFLLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDMUQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRTtZQUNyRCxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjtRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDekIsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUM7U0FDckQ7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDekQsSUFBSSxZQUFZLEVBQUU7WUFDaEIsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBRTFELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0RjtJQUNILENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQy9CLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSTtZQUN4QixPQUFPLEVBQUUsUUFBUTtZQUNqQixLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3BELElBQUksRUFBRSxTQUFTO1lBQ2YsYUFBYSxFQUFFO2dCQUNiLFNBQVMsRUFBRTtvQkFDVCxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO2lCQUNwQzthQUNGO1lBQ0QsUUFBUSxFQUNOLDBJQUEwSTtTQUM3SSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7UUFDbkMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZUFBZSxDQUEyQjtZQUNqRSxTQUFTLEVBQUUsd0JBQXdCO1lBQ25DLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDdEQsUUFBUSxDQUFDLE1BQU0sbUNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEtBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUUsQ0FBQztRQUN4RixRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUFnQixFQUFFLEtBQXlCO1FBQ2pFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDNUMsSUFBSSxPQUFPLEVBQUU7WUFDWCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO2FBQU07WUFDTCxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE1BQU0sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM5RCxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQzNHLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU8sbUJBQW1CLENBQUMsSUFBaUM7UUFDM0QsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVPLDRCQUE0QixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBZTtRQUNqRSxJQUFJLENBQUMsT0FBTzthQUNULFdBQVcsQ0FBQztZQUNYLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixJQUFJLEVBQUUsUUFBUTtZQUNkLGdCQUFnQixFQUFFLElBQUk7U0FDdkIsQ0FBQzthQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyw0QkFBNEI7UUFDbEMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7YUFDeEIsSUFBSSxDQUNILFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxtQkFBNkIsQ0FBQyxFQUN2RSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSw2QkFBdUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFTLENBQUM7UUFDOUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUM3QixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbkU7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTyx5Q0FBeUMsQ0FBQyxNQUFpQjtRQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVk7WUFDekMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDakQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDeEIsT0FBMkIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHlCQUF5QixDQUFDLE1BQWlCO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUNoQyxPQUFPO1NBQ1I7UUFDRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUE0QixFQUFFO2dCQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7O1lBamR1QixXQUFXO1lBQ2IsU0FBUztZQUNkLGlCQUFpQjtZQUNSLFlBQVk7WUFDZixvQkFBb0I7WUFDekIsVUFBVTtZQUNOLFFBQVE7WUFDUix3QkFBd0I7WUFDekIsV0FBVzs0Q0FDM0IsTUFBTSxTQUFDLHFCQUFxQjs7QUFuRHFCO0lBQW5ELGVBQWUsQ0FBQyxpQ0FBaUMsQ0FBQzs4QkFBeUIsU0FBUzsyRUFFbkY7QUFFUTtJQUFULE1BQU0sRUFBRTs7aUVBQW9EO0FBQ3BEO0lBQVIsS0FBSyxFQUFFOzsrREFBOEI7QUFDN0I7SUFBUixLQUFLLEVBQUU7O2dFQUFnQztBQUMvQjtJQUFSLEtBQUssRUFBRTs7OzhEQVlQO0FBcEJVLDJCQUEyQjtJQVR2QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFFBQVEsRUFBRTs7R0FFVDtRQUVELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDOztLQUMvQyxDQUFDO0lBcURHLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7cUNBVFYsV0FBVztRQUNiLFNBQVM7UUFDZCxpQkFBaUI7UUFDUixZQUFZO1FBQ2Ysb0JBQW9CO1FBQ3pCLFVBQVU7UUFDTixRQUFRO1FBQ1Isd0JBQXdCO1FBQ3pCLFdBQVc7R0FuRG5CLDJCQUEyQixDQTRmdkM7U0E1ZlksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFnR3JpZE5nMiB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtcbiAgQm9keVNjcm9sbEV2ZW50LFxuICBDZWxsQ2xpY2tlZEV2ZW50LFxuICBDZWxsRXZlbnQsXG4gIENlbGxNb3VzZU91dEV2ZW50LFxuICBDZWxsTW91c2VPdmVyRXZlbnQsXG4gIENvbHVtblJlc2l6ZWRFdmVudCxcbiAgQ29sdW1uUm93R3JvdXBDaGFuZ2VkRXZlbnQsXG4gIERldGFpbEdyaWRJbmZvLFxuICBHcmlkQXBpLFxuICBSb3dHcm91cE9wZW5lZEV2ZW50XG59IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IEdyaWRRdWVyeSB9IGZyb20gJy4uL2dyaWQtc3RvcmUvZ3JpZC5xdWVyeSc7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4uL2dyaWQtc3RvcmUvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldENvbHVtbnNTaXplcywgaXNIdG1sQWxsb3dlZEZvckNvbCB9IGZyb20gJy4uL2dyaWQtc3RvcmUvdXRpbCc7XG5pbXBvcnQgeyBHcmlkU3RvcmUgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUnO1xuaW1wb3J0IHsgRGF0b0dyaWRTZXR0aW5ncyB9IGZyb20gJy4uL2dyaWQtc3RvcmUvZ3JpZC5zdG9yZS50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZEFwaSB9IGZyb20gJy4vZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkQWxpZ25tZW50LCBEYXRvR3JpZE9wdGlvbnMsIERhdG9HcmlkU29ydCwgR3JpZENoYW5nZUV2ZW50IH0gZnJvbSAnLi4vZ3JpZC9ncmlkLXYyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgZGVlcG1lcmdlIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwvZGVlcC1tZXJnZSc7XG5pbXBvcnQgeyBEYXRvQ3VzdG9tSGVhZGVyVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWN1c3RvbS1oZWFkZXIvY3VzdG9tLWhlYWRlci10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IEdyaWRBY3Rpb24sIFJvd0FjdGlvbiB9IGZyb20gJy4uL2dyaWQtdG9vbGJhci9ncmlkLXRvb2xiYXIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBEQVRPX0dSSURfU1RPUkFHRV9BUEksIEdyaWRTdG9yYWdlQVBJIH0gZnJvbSAnLi4vZ3JpZC1zZXR0aW5ncyc7XG5pbXBvcnQgeyBhdWRpdFRpbWUsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBza2lwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGFkZENsYXNzLCBhcHBlbmRDaGlsZCwgcXVlcnkgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9oZWxwZXJzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ3Rvb2x0aXAuanMnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzJztcbmltcG9ydCB7IGNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvZHluYW1pYy1jb21wb25lbnRzJztcbmltcG9ydCB7IERhdG9HcmlkT25Ib3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtb24taG92ZXIvZ3JpZC1vbi1ob3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgY29udmVydEZyb21UcmVlRGF0YSwgZGVmYXVsdEdyaWRPcHRpb25zLCBkZWZhdWx0VHJlZU9wdGlvbnMgfSBmcm9tICcuLi9ncmlkL2dyaWQtdjIuY29uZmlnJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuaW1wb3J0IHsgRGF0b0hvdGtleXMgfSBmcm9tICcuLi8uLi9ob3RrZXlzL2hvdGtleXMuc2VydmljZSc7XG5pbXBvcnQgRE9NUHVyaWZ5IGZyb20gJ2RvbXB1cmlmeSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyIH0gZnJvbSAnLi4vZ3JpZC1maWx0ZXIvZ3JpZC1maWx0ZXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRvLWdyaWQtY29udHJvbGxlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLWNvbnRyb2xsZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0dyaWRRdWVyeSwgR3JpZFNlcnZpY2UsIEdyaWRTdG9yZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQENvbnRlbnRDaGlsZHJlbihEYXRvQ3VzdG9tSGVhZGVyVGVtcGxhdGVDb21wb25lbnQpIGN1c3RvbUhlYWRlcnNUZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxcbiAgICBEYXRvQ3VzdG9tSGVhZGVyVGVtcGxhdGVDb21wb25lbnRcbiAgPjtcblxuICBAT3V0cHV0KCkgb25HcmlkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkQ2hhbmdlRXZlbnQ+KCk7XG4gIEBJbnB1dCgpIHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG4gIEBJbnB1dCgpIGdyaWRBY3Rpb25zOiBHcmlkQWN0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgc2V0IGdyaWRPcHRpb25zKGdyaWRPcHRpb25zOiBEYXRvR3JpZE9wdGlvbnMpIHtcbiAgICB0aGlzLl9ncmlkT3B0aW9ucyA9IGdyaWRPcHRpb25zO1xuICAgIHRoaXMuZ3JpZFNlcnZpY2UudHJlZURhdGEgPSBncmlkT3B0aW9ucy50cmVlRGF0YTtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLmlzUGl2b3RNb2RlID0gZ3JpZE9wdGlvbnMucGl2b3RNb2RlO1xuXG4gICAgaWYgKHRoaXMuYWdHcmlkRWwpIHtcbiAgICAgIGlmIChncmlkT3B0aW9ucy50cmVlRGF0YSkge1xuICAgICAgICAhdGhpcy5hZ0dyaWRFbC5jbGFzc0xpc3QuY29udGFpbnModGhpcy50cmVlR3JpZENsYXNzKSAmJiB0aGlzLmFnR3JpZEVsLmNsYXNzTGlzdC5hZGQodGhpcy50cmVlR3JpZENsYXNzKTtcbiAgICAgIH0gZWxzZSBpZiAoIWdyaWRPcHRpb25zLmVuYWJsZVYyXzEpIHtcbiAgICAgICAgdGhpcy5hZ0dyaWRFbC5jbGFzc0xpc3QuYWRkKHRoaXMudHJlZUdyaWRDbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGdyaWRPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9ncmlkT3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgY29udGVudEluaXQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHRvb2x0aXA7XG4gIHByaXZhdGUgX2dyaWRPcHRpb25zOiBEYXRvR3JpZE9wdGlvbnM7XG4gIGdyaWRSZWFkeSQgPSB0aGlzLmdyaWRRdWVyeS5ncmlkUmVhZHkkO1xuICBhZ0dyaWRFbDogSFRNTEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByb3dIb3ZlckNvbXBvbmVudDogQ29tcG9uZW50UmVmPERhdG9HcmlkT25Ib3ZlckNvbXBvbmVudD47XG4gIHByaXZhdGUgbGFzdEhvdmVyZWRSb3c6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGdyaWRFbGVtZW50cyA9IHtcbiAgICBjZW50ZXJWaWV3cG9ydDogbnVsbCxcbiAgICBjZW50ZXJDb250YWluZXI6IG51bGwsXG4gICAgYm9keVZpZXdwb3J0OiBudWxsXG4gIH07XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJlZUdyaWRDbGFzcyA9ICd0cmVlJztcbiAgcHJpdmF0ZSBjZWxsTW91c2VPdXRUaW1lcjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXG4gICAgcHVibGljIGdyaWRRdWVyeTogR3JpZFF1ZXJ5LFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogSWNvblJlZ2lzdHJ5LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBEYXRvVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaG90a2V5czogRGF0b0hvdGtleXMsXG4gICAgQEluamVjdChEQVRPX0dSSURfU1RPUkFHRV9BUEkpIHByaXZhdGUgc3RvcmFnZUFQSTogR3JpZFN0b3JhZ2VBUElcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY29udGVudEluaXQuY29tcGxldGUoKTtcbiAgICB0aGlzLmNsZWFyVG9vbHRpcCgpO1xuICAgIHRoaXMucm93SG92ZXJDb21wb25lbnQgJiYgdGhpcy5yb3dIb3ZlckNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgdGhpcy5yb3dIb3ZlckNvbXBvbmVudCA9IG51bGw7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jb250ZW50SW5pdC5uZXh0KCk7XG4gICAgdGhpcy5jb250ZW50SW5pdC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyogQGludGVybmFsICovXG4gIF9pbml0aWFsaXplR3JpZChhZ0dyaWQ6IEFnR3JpZE5nMiwgYWdHcmlkRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5hZ0dyaWRFbCA9IGFnR3JpZEVsO1xuICAgIHRoaXMuY29udGVudEluaXRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucyA9IHRoaXMubm9ybWFsaXplT3B0aW9ucygpO1xuICAgICAgICAgIGFnR3JpZC5ncmlkT3B0aW9ucyA9IHRoaXMuZ3JpZE9wdGlvbnM7XG4gICAgICAgICAgY29uc3Qgc2V0dGluZ3NMb2FkZXIgPVxuICAgICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5zYXZlU2V0dGluZ3MgPT09IGZhbHNlID8gb2YobnVsbCkgOiB0aGlzLnN0b3JhZ2VBUEkuZ2V0KHRoaXMuZ3JpZE9wdGlvbnMuZ3JpZE5hbWUpO1xuICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFthZ0dyaWQuZ3JpZFJlYWR5LCBzZXR0aW5nc0xvYWRlcl0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFt7IGFwaSwgY29sdW1uQXBpIH0sIHNhdmVkU2V0dGluZ3MgPSB7fV06IFtEZXRhaWxHcmlkSW5mbywgUGFydGlhbDxEYXRvR3JpZFNldHRpbmdzPl0pID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmdyaWRPcHRpb25zLnJvd0RhdGEpIHtcbiAgICAgICAgICBhcGkuc2hvd0xvYWRpbmdPdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmdyaWRPcHRpb25zLnN0YXR1c0Jhcikge1xuICAgICAgICAgIC8qKiBGaXggYWctZ3JpZCBidWcgdGhhdCBkb2Vzbid0IGFkZCBhZy1oaWRkZW4gY2xhc3MgdG8gdGhlIHN0YXR1cyBiYXIsIHdoaWNoIG9ubHkgZ2V0IGZpeGVkIGluIGxhdGVyIHZlcnNpb25zICovXG4gICAgICAgICAgY29uc3QgZWwgPSBhZ0dyaWRFbC5xdWVyeVNlbGVjdG9yKCcuYWctc3RhdHVzLWJhcicpO1xuXG4gICAgICAgICAgYWRkQ2xhc3MoZWwsICdhZy1oaWRkZW4nKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBncmlkQXBpOiBEYXRvR3JpZEFwaSA9IHsgZ3JpZDogYXBpLCBjb2x1bW5zOiBjb2x1bW5BcGkgfTtcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5fc2V0QXBpKGdyaWRBcGksIGFnR3JpZCk7XG4gICAgICAgIHRoaXMuZ3JpZFF1ZXJ5Ll9zZXRBcGkoZ3JpZEFwaSwgYWdHcmlkKTtcblxuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLmluaXRTZXR0aW5ncyhzYXZlZFNldHRpbmdzIHx8IHt9KTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclNldHRpbmdzTGlzdGVuZXJzKGdyaWRBcGksIGFnR3JpZCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJHcmlkTGlzdGVuZXJzKGdyaWRBcGksIGFnR3JpZCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHNUcmlnZ2VyaW5nQ2xlYXJTZWxlY3RlZFJvd3MoYWdHcmlkKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclBhZ2luYXRpb25DaGFuZ2VkKGFnR3JpZCk7XG4gICAgICAgIHRoaXMuZ3JpZFF1ZXJ5Ll9ncmlkUmVhZHkubmV4dCh0cnVlKTtcblxuICAgICAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy50cmVlRGF0YSkge1xuICAgICAgICAgIHRoaXMuYWdHcmlkRWwuY2xhc3NMaXN0LmFkZCgndHJlZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmdyaWRPcHRpb25zLnJvd0hlaWdodCkge1xuICAgICAgICAgIHRoaXMuYWdHcmlkRWwuY2xhc3NMaXN0LmFkZChgcm93LWhlaWdodC0ke3RoaXMuZ3JpZE9wdGlvbnMucm93SGVpZ2h0fWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplT3B0aW9ucygpIHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHRyZWVEYXRhIGlzIGVuYWJsZWQsIFBhZ2luYXRpb24gbXVzdCBiZSB0dXJuZWQgb2ZmXG4gICAgICovXG4gICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMudHJlZURhdGEpIHtcbiAgICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICAgIC4uLnRoaXMuZ3JpZE9wdGlvbnMsXG4gICAgICAgIHBhZ2luYXRpb246IGZhbHNlXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBncmlkT3B0aW9uczogdGhpcy5ncmlkT3B0aW9ucyxcbiAgICAgIGN1c3RvbUhlYWRlcnNUZW1wbGF0ZXM6IHRoaXMuY3VzdG9tSGVhZGVyc1RlbXBsYXRlcyxcbiAgICAgIHJvd0FjdGlvbnM6IHRoaXMucm93QWN0aW9uc1xuICAgIH07XG5cbiAgICBsZXQgbm9ybWFsaXplZCA9IHRoaXMuZ3JpZFNlcnZpY2Uubm9ybWFsaXplT3B0aW9ucyhwYXJhbXMpO1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgLi4uZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgLi4uKHRoaXMuZ3JpZE9wdGlvbnMudHJlZURhdGEgPyBkZWZhdWx0VHJlZU9wdGlvbnMgOiB7fSksXG4gICAgICBpY29uczogdGhpcy5nZXRHcmlkSWNvbnMoKSxcbiAgICAgIGRpc2FibGVkSFRNTFJlbmRlcmluZ0ZpZWxkczpcbiAgICAgICAgbm9ybWFsaXplZC5kaXNhYmxlZEhUTUxSZW5kZXJpbmdGaWVsZHMgfHwgZGVmYXVsdEdyaWRPcHRpb25zLmRpc2FibGVkSFRNTFJlbmRlcmluZ0ZpZWxkc1xuICAgIH07XG4gICAgcmV0dXJuIGRlZXBtZXJnZShkZWZhdWx0cywgbm9ybWFsaXplZCk7XG4gIH1cblxuICBzZXRHcmlkUm93czxUPihkYXRhOiBUW10pIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNldFJvd3M8VD4oZGF0YSk7XG4gIH1cblxuICBzZXRHcmlkRmlsdGVycyhmaWx0ZXJzOiBEYXRvR3JpZEV4dGVybmFsRmlsdGVyW10pIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNldEdyaWRGaWx0ZXJzKGZpbHRlcnMpO1xuICB9XG5cbiAgc2V0R3JpZFNvcnQoc29ydDogRGF0b0dyaWRTb3J0KSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zZXRHcmlkU29ydChzb3J0KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0R3JpZEljb25zKCk6IEhhc2hNYXA8c3RyaW5nPiB7XG4gICAgY29uc3QgbW92ZUNvbHVtbkljb24gPSBgPHNwYW4gY2xhc3M9XCJkYS1ncmlkLWljb24gcG9pbnRlciBkLWZsZXggY29sdW1uLW1vdmVcIj4ke3RoaXMuaWNvblJlZ2lzdHJ5LmdldFN2ZyhcbiAgICAgICdtb3ZlLWNvbHVtbidcbiAgICApfTwvc3Bhbj5gO1xuICAgIHJldHVybiB7XG4gICAgICBncm91cEV4cGFuZGVkOiBgPHNwYW4gY2xhc3M9XCJkYS1ncmlkLWljb24gcG9pbnRlciBncm91cC1leHBhbmRlZC1pY29uXCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoXG4gICAgICAgICdhcnJvdy1yaWdodCdcbiAgICAgICl9PC9zcGFuPmAsXG4gICAgICBncm91cENvbnRyYWN0ZWQ6IGA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBwb2ludGVyIGdyb3VwLWNvbnRyYWN0ZWQtaWNvblwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKFxuICAgICAgICAnYXJyb3ctcmlnaHQnXG4gICAgICApfTwvc3Bhbj5gLFxuICAgICAgY29sdW1uTW92ZVBpbjogYDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIHBvaW50ZXIgZC1mbGV4IHByaW1hcnktMzAwLWZpbGwgY29sdW1uLW1vdmUtcGluXCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoXG4gICAgICAgICdwaW4nXG4gICAgICApfTwvc3Bhbj5gLFxuICAgICAgY29sdW1uTW92ZUhpZGU6IGA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBwb2ludGVyIGQtZmxleCBjb2x1bW4tbW92ZS1oaWRlXCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoXG4gICAgICAgICdleWUtaGlkZSdcbiAgICAgICl9PC9zcGFuPmAsXG4gICAgICBjb2x1bW5Nb3ZlTW92ZTogbW92ZUNvbHVtbkljb24sXG4gICAgICBjb2x1bW5Nb3ZlTGVmdDogbW92ZUNvbHVtbkljb24sXG4gICAgICBjb2x1bW5Nb3ZlUmlnaHQ6IG1vdmVDb2x1bW5JY29uLFxuICAgICAgcm93RHJhZzogYDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIGRyYWcgZC1mbGV4XCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoJ2RyYWctMDEnKX08L3NwYW4+YFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyU2V0dGluZ3NMaXN0ZW5lcnMoYXBpOiBEYXRvR3JpZEFwaSwgYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICB0aGlzLmxpc3RlblRvQ29sdW1uUmVzaXplKGFwaSwgYWdHcmlkKTtcbiAgICB0aGlzLmxpc3RlblRvR3JpZEV2ZW50cyhhZ0dyaWQpO1xuICAgIHRoaXMubGlzdGVuVG9TdG9yZVNldHRpbmdzQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0NvbHVtblJlc2l6ZShhcGk6IERhdG9HcmlkQXBpLCB7IGNvbHVtblJlc2l6ZWQgfTogQWdHcmlkTmcyKSB7XG4gICAgbGV0IG9ic2VydmFibGUgPSBjb2x1bW5SZXNpemVkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIGlmICh0aGlzLm9uSG92ZXJFbmFibGVkKCkpIHtcbiAgICAgIG9ic2VydmFibGUgPSBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICAgIGZpbHRlcigoeyBzb3VyY2UgfTogQ29sdW1uUmVzaXplZEV2ZW50KSA9PiBzb3VyY2UgPT09ICd1aUNvbHVtbkRyYWdnZWQnKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMudXBkYXRlT25Ib3ZlclBvcygpKVxuICAgICAgKTtcbiAgICB9XG4gICAgb2JzZXJ2YWJsZVxuICAgICAgLnBpcGUoXG4gICAgICAgIGF1ZGl0VGltZSgxMDApLFxuICAgICAgICBmaWx0ZXIoKHsgZmluaXNoZWQsIHNvdXJjZSB9OiBDb2x1bW5SZXNpemVkRXZlbnQpID0+IGZpbmlzaGVkICYmIHNvdXJjZSA9PT0gJ3VpQ29sdW1uRHJhZ2dlZCcpLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgY29uc3QgW2NvbHVtbl0gPSBlLmNvbHVtbnM7XG4gICAgICAgIGxldCBjb2x1bW5zU2l6ZXMgPSB7IC4uLnRoaXMuZ3JpZFF1ZXJ5LmdldENvbHVtblNpemVzKCkgfTtcbiAgICAgICAgaWYgKGNvbHVtbnNTaXplcykge1xuICAgICAgICAgIGNvbHVtbnNTaXplc1tjb2x1bW4uZ2V0Q29sSWQoKV0gPSBjb2x1bW4uZ2V0QWN0dWFsV2lkdGgoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb2x1bW5zU2l6ZXMgPSBnZXRDb2x1bW5zU2l6ZXMoYXBpLmNvbHVtbnMuZ2V0QWxsR3JpZENvbHVtbnMoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS51cGRhdGVTZXR0aW5ncyh7IGdyaWRBbGlnbm1lbnQ6IERhdG9HcmlkQWxpZ25tZW50LkNVU1RPTSwgY29sdW1uc1NpemVzIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvR3JpZEV2ZW50cyhhZ0dyaWQ6IEFnR3JpZE5nMikge1xuICAgIGNvbnN0IHsgY29sdW1uVmlzaWJsZSwgc29ydENoYW5nZWQsIGNvbHVtblJvd0dyb3VwQ2hhbmdlZCwgY29sdW1uUGlubmVkLCBkcmFnU3RvcHBlZCwgZmlsdGVyQ2hhbmdlZCB9ID0gYWdHcmlkO1xuICAgIG1lcmdlKGNvbHVtblZpc2libGUsIHNvcnRDaGFuZ2VkLCBjb2x1bW5Sb3dHcm91cENoYW5nZWQsIGNvbHVtblBpbm5lZCwgZHJhZ1N0b3BwZWQsIGZpbHRlckNoYW5nZWQpXG4gICAgICAucGlwZShcbiAgICAgICAgLyogU2tpcCB0aGUgaW5pdGlhbCBzb3J0aW5nIGV2ZW50IGZpcmVkIGJ5IHRoZSBncmlkIHdoZW4gYWRkaW5nIHJvd3MgKi9cbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgdHlwZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHNldHRpbmdzRGlmZiA9IHRoaXMuZ3JpZFNlcnZpY2UuZ2V0U2V0dGluZ3NEaWZmKCk7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UudXBkYXRlU2V0dGluZ3Moc2V0dGluZ3NEaWZmKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0R3JpZERhdGEoKTtcbiAgICAgICAgdGhpcy5vbkdyaWRDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgZmlsdGVyOiB0aGlzLmdyaWRRdWVyeS5nZXRFeHRlcm5hbEZpbHRlcigpLFxuICAgICAgICAgIHNvcnQ6IHRoaXMuZ3JpZFF1ZXJ5LmdldFNvcnQoKSxcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGRhdGFcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9TdG9yZVNldHRpbmdzQ2hhbmdlcygpIHtcbiAgICB0aGlzLmdyaWRRdWVyeVxuICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5zZXR0aW5ncylcbiAgICAgIC5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2V0dGluZ3NEaWZmID0gdGhpcy5ncmlkU2VydmljZS5nZXRTZXR0aW5nc0RpZmYoKTtcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5zYXZlU2V0dGluZ3NUb1NlcnZlcihzZXR0aW5nc0RpZmYpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyR3JpZExpc3RlbmVycyhhcGk6IERhdG9HcmlkQXBpLCBhZ0dyaWQ6IEFnR3JpZE5nMikge1xuICAgIHRoaXMuZ3JpZEVsZW1lbnRzID0ge1xuICAgICAgY2VudGVyQ29udGFpbmVyOiBxdWVyeSgnLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lcicsIHRoaXMuYWdHcmlkRWwpLFxuICAgICAgY2VudGVyVmlld3BvcnQ6IHF1ZXJ5KCcuYWctY2VudGVyLWNvbHMtdmlld3BvcnQnLCB0aGlzLmFnR3JpZEVsKSxcbiAgICAgIGJvZHlWaWV3cG9ydDogcXVlcnkoJy5hZy1ib2R5LXZpZXdwb3J0JywgdGhpcy5hZ0dyaWRFbClcbiAgICB9O1xuICAgIHRoaXMucmVnaXN0ZXJHcmlkQ2xpY2tMaXN0ZW5lcihhcGkuZ3JpZCk7XG4gICAgdGhpcy5yZWdpc3RlckdyaWRHcm91cExpc3RlbmVycyhhZ0dyaWQpO1xuICAgIHRoaXMucmVnaXN0ZXJHcmlkTW91c2VMaXN0ZW5lcnMoYWdHcmlkKTtcbiAgICB0aGlzLnJlZ2lzdGVyR3JpZEtleWJvYXJkTGlzdGVuZXIoYXBpKTtcbiAgICB0aGlzLnJlZ2lzdGVyV2luZG93UmVzaXplTGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJHcmlkR3JvdXBMaXN0ZW5lcnMoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICAvKiBNYWtlIGdyb3VwIGV4cGFuZC9jb2xsYXBzZSBvbiBhIHNpbmdsZSBjbGljayBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGRvdWJsZSBjbGljayAqL1xuICAgIGFnR3JpZC5jb2x1bW5Sb3dHcm91cENoYW5nZWRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHsgY29sdW1ucyB9OiBDb2x1bW5Sb3dHcm91cENoYW5nZWRFdmVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiBjb2x1bW5zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgPyBFTVBUWVxuICAgICAgICAgICAgOiBhZ0dyaWQuY2VsbENsaWNrZWQucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHsgdmFsdWUsIG5vZGUgfTogQ2VsbENsaWNrZWRFdmVudCkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiBub2RlLmdyb3VwID09PSB0cnVlKVxuICAgICAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgbm9kZSB9OiBDZWxsQ2xpY2tlZEV2ZW50KSA9PiB7XG4gICAgICAgIG5vZGUuc2V0RXhwYW5kZWQoIW5vZGUuZXhwYW5kZWQpO1xuICAgICAgfSk7XG4gICAgLyogV2hlbiBjbG9zaW5nIGEgZ3JvdXBlZCByb3cgd2Ugd2FudCB0byBoaWRlIHRoZSBvbiBob3ZlciBhY3Rpb25zICovXG4gICAgaWYgKHRoaXMub25Ib3ZlckVuYWJsZWQoKSkge1xuICAgICAgYWdHcmlkLnJvd0dyb3VwT3BlbmVkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoeyBub2RlIH06IFJvd0dyb3VwT3BlbmVkRXZlbnQpID0+IG5vZGUuZXhwYW5kZWQgPT09IGZhbHNlKSxcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubGFzdEhvdmVyZWRSb3cgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2V0T25Ib3ZlclN0YXRlKGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgY2xpY2sgd2FzIHBlcmZvcm1lZCBvbiB0aGUgZ3JpZHMgYm9keSBhbmQgbm90IGEgcm93LCBjbGVhciB0aGUgcm93cyBzZWxlY3Rpb25cbiAgICovXG4gIHByaXZhdGUgcmVnaXN0ZXJHcmlkQ2xpY2tMaXN0ZW5lcihhcGk6IEdyaWRBcGkpIHtcbiAgICBjb25zdCB7IGJvZHlWaWV3cG9ydCwgY2VudGVyVmlld3BvcnQgfSA9IHRoaXMuZ3JpZEVsZW1lbnRzO1xuICAgIGZyb21FdmVudChib2R5Vmlld3BvcnQsICdjbGljaycpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiAoZXZlbnQudGFyZ2V0ID09PSBib2R5Vmlld3BvcnQgfHwgZXZlbnQudGFyZ2V0ID09PSBjZW50ZXJWaWV3cG9ydCkgJiYgYXBpLmdldFNlbGVjdGVkUm93cygpLmxlbmd0aCA+IDA7XG4gICAgICAgIH0pLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiBhcGkuZGVzZWxlY3RBbGwoKSk7XG4gIH1cblxuICBwcml2YXRlIG9uSG92ZXJFbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmdyaWRPcHRpb25zLmhvdmVyQ29uZmlnLmVuYWJsZWQgJiYgdGhpcy5yb3dBY3Rpb25zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyR3JpZE1vdXNlTGlzdGVuZXJzKGFnR3JpZDogQWdHcmlkTmcyKSB7XG4gICAgY29uc3QgeyBib2R5Vmlld3BvcnQsIGNlbnRlckNvbnRhaW5lciB9ID0gdGhpcy5ncmlkRWxlbWVudHM7XG4gICAgbGV0IGxhc3RIb3ZlcmVkQ2VsbDtcbiAgICBjb25zdCBvbkhvdmVyRW5hYmxlZCA9IHRoaXMub25Ib3ZlckVuYWJsZWQoKTtcbiAgICBpZiAob25Ib3ZlckVuYWJsZWQpIHtcbiAgICAgIGZyb21FdmVudChjZW50ZXJDb250YWluZXIsICdtb3VzZWxlYXZlJylcbiAgICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9nZ2xlUm93SG92ZXJDbGFzcyh0aGlzLmxhc3RIb3ZlcmVkUm93KTtcbiAgICAgICAgICB0aGlzLmxhc3RIb3ZlcmVkUm93ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnNldE9uSG92ZXJTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgbGFzdEhvdmVyZWRDZWxsID0gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgICBtZXJnZShcbiAgICAgICAgYWdHcmlkLmJvZHlTY3JvbGwucGlwZShmaWx0ZXIoKHsgZGlyZWN0aW9uIH06IEJvZHlTY3JvbGxFdmVudCkgPT4gZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcpKSxcbiAgICAgICAgYWdHcmlkLnJvd0RhdGFDaGFuZ2VkXG4gICAgICApXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU9uSG92ZXJQb3MoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFkZE9uSG92ZXJFbGVtZW50KCk7XG4gICAgfVxuICAgIGFnR3JpZC5jZWxsTW91c2VPdmVyLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoZXZlbnQ6IENlbGxNb3VzZU92ZXJFdmVudCkgPT4ge1xuICAgICAgY29uc3QgeyBub2RlLCBjb2x1bW4gfSA9IGV2ZW50O1xuICAgICAgaWYgKGxhc3RIb3ZlcmVkQ2VsbCA9PT0gYCR7bm9kZS5pZH0tJHtjb2x1bW4uZ2V0Q29sSWQoKX1gKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNlbGxNb3VzZU91dFRpbWVyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGFzdEhvdmVyZWRDZWxsID0gYCR7bm9kZS5pZH0tJHtjb2x1bW4uZ2V0Q29sSWQoKX1gO1xuICAgICAgdGhpcy5zaG93VG9vbHRpcChldmVudCk7XG4gICAgICBjb25zdCByb3cgPSAoZXZlbnQuZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50O1xuICAgICAgaWYgKG9uSG92ZXJFbmFibGVkICYmIChub2RlLmdyb3VwID09PSBmYWxzZSB8fCBpc05pbChub2RlLmdyb3VwKSkgJiYgdGhpcy5sYXN0SG92ZXJlZFJvdyAhPT0gcm93KSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzTm9kZSA9IHRoaXMubGFzdEhvdmVyZWRSb3c7XG4gICAgICAgIHRoaXMubGFzdEhvdmVyZWRSb3cgPSByb3c7XG4gICAgICAgIHRoaXMudG9nZ2xlUm93SG92ZXJDbGFzcyhbcHJldmlvdXNOb2RlLCB0aGlzLmxhc3RIb3ZlcmVkUm93XSk7XG4gICAgICAgIHRoaXMuc2V0T25Ib3ZlclN0YXRlKHRydWUsIGV2ZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBvblRvb2x0aXBPdXQgPSBtZXJnZShmcm9tRXZlbnQoYm9keVZpZXdwb3J0LCAnc2Nyb2xsJyksIGZyb21FdmVudCh0aGlzLmFnR3JpZEVsLCAnbW91c2VsZWF2ZScpKTtcbiAgICBvblRvb2x0aXBPdXQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGxhc3RIb3ZlcmVkQ2VsbCA9IG51bGw7XG4gICAgICB0aGlzLmNsZWFyVG9vbHRpcCgpO1xuICAgIH0pO1xuXG4gICAgYWdHcmlkLmNlbGxNb3VzZU91dFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiAhaXNOaWwodGhpcy50b29sdGlwKSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jZWxsTW91c2VPdXRUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xlYXJUb29sdGlwKCkpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZSB0aGUgdG9vbHRpcFxuICAgKi9cbiAgY2xlYXJUb29sdGlwKCk6IHZvaWQge1xuICAgIHRoaXMudG9vbHRpcCAmJiB0aGlzLnRvb2x0aXAuZGlzcG9zZSgpO1xuICAgIHRoaXMudG9vbHRpcCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNob3dUb29sdGlwKGV2ZW50OiBDZWxsRXZlbnQpIHtcbiAgICBsZXQgY2VsbDogSFRNTEVsZW1lbnQgPSBldmVudC5ldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKGNlbGwudGFnTmFtZSA9PT0gJ1NQQU4nICYmIGNlbGwuc2Nyb2xsV2lkdGggPT09IDApIHtcbiAgICAgIGNlbGwgPSBjZWxsLnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuICAgIGlmIChldmVudC5jb2xEZWYuZWRpdGFibGUpIHtcbiAgICAgIGNlbGwgPSBjZWxsLnF1ZXJ5U2VsZWN0b3IoJy52YWx1ZS13cmFwcGVyJykgfHwgY2VsbDtcbiAgICB9XG4gICAgY29uc3QgdGV4dE92ZXJmbG93ID0gY2VsbC5vZmZzZXRXaWR0aCA8IGNlbGwuc2Nyb2xsV2lkdGg7XG4gICAgaWYgKHRleHRPdmVyZmxvdykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2VsbE1vdXNlT3V0VGltZXIpO1xuICAgICAgY29uc3QgYWxsb3dIVE1MID0gaXNIdG1sQWxsb3dlZEZvckNvbCh0aGlzLmdyaWRPcHRpb25zLCBldmVudC5jb2xEZWYpO1xuICAgICAgY29uc3QgcGFyYW1zID0geyBjZWxsLCB2YWx1ZTogY2VsbC5pbm5lclRleHQsIGFsbG93SFRNTCB9O1xuXG4gICAgICBpc05pbCh0aGlzLnRvb2x0aXApID8gdGhpcy5jcmVhdGVBbmRTaG93VG9vbHRpcChwYXJhbXMpIDogdGhpcy51cGRhdGVUb29sdGlwKHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBbmRTaG93VG9vbHRpcCh7IGNlbGwsIHZhbHVlLCBhbGxvd0hUTUwgfSkge1xuICAgIHRoaXMudG9vbHRpcCA9IG5ldyBUb29sdGlwKGNlbGwsIHtcbiAgICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgICBjb250YWluZXI6IGRvY3VtZW50LmJvZHksXG4gICAgICB0cmlnZ2VyOiAnbWFudWFsJyxcbiAgICAgIHRpdGxlOiBhbGxvd0hUTUwgPyBET01QdXJpZnkuc2FuaXRpemUodmFsdWUpIDogdmFsdWUsXG4gICAgICBodG1sOiBhbGxvd0hUTUwsXG4gICAgICBwb3BwZXJPcHRpb25zOiB7XG4gICAgICAgIG1vZGlmaWVyczoge1xuICAgICAgICAgIHByZXZlbnRPdmVyZmxvdzogeyBlbmFibGVkOiBmYWxzZSB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0ZW1wbGF0ZTpcbiAgICAgICAgJzxkaXYgY2xhc3M9XCJ0b29sdGlwIGRhdG8tdG9vbHRpcCBjb21tb24tdG9vbHRpcFwiIHJvbGU9XCJ0b29sdGlwXCI+PGRpdiBjbGFzcz1cInRvb2x0aXAtYXJyb3dcIj48L2Rpdj48ZGl2IGNsYXNzPVwidG9vbHRpcC1pbm5lclwiPjwvZGl2PjwvZGl2PidcbiAgICB9KTtcblxuICAgIHRoaXMudG9vbHRpcC5zaG93KCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSB0b29sdGlwIGVsZW1lbnQgcmVmIGFuZCBjb250ZW50XG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRvb2x0aXAoeyBjZWxsLCB2YWx1ZSB9KTogdm9pZCB7XG4gICAgaWYgKGNlbGwgIT09IHRoaXMudG9vbHRpcC5yZWZlcmVuY2UpIHtcbiAgICAgIHRoaXMudG9vbHRpcC5yZWZlcmVuY2UgPSBjZWxsO1xuICAgICAgdGhpcy50b29sdGlwLnBvcHBlckluc3RhbmNlLnJlZmVyZW5jZSA9IGNlbGw7XG4gICAgICB0aGlzLnRvb2x0aXAudXBkYXRlVGl0bGVDb250ZW50KHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy50b29sdGlwLnNob3coKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkT25Ib3ZlckVsZW1lbnQoKSB7XG4gICAgdGhpcy5yb3dIb3ZlckNvbXBvbmVudCA9IGNyZWF0ZUNvbXBvbmVudDxEYXRvR3JpZE9uSG92ZXJDb21wb25lbnQ+KHtcbiAgICAgIGNvbXBvbmVudDogRGF0b0dyaWRPbkhvdmVyQ29tcG9uZW50LFxuICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICByZXNvbHZlcjogdGhpcy5yZXNvbHZlclxuICAgIH0pO1xuICAgIGNvbnN0IHsgaW5zdGFuY2UsIGhvc3RWaWV3IH0gPSB0aGlzLnJvd0hvdmVyQ29tcG9uZW50O1xuICAgIGluc3RhbmNlLmNvbmZpZyA9IHsgLi4udGhpcy5ncmlkT3B0aW9ucy5ob3ZlckNvbmZpZywgYWN0aW9uczogdGhpcy5yb3dBY3Rpb25zLnNsaWNlKCkgfTtcbiAgICBob3N0Vmlldy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgYXBwZW5kQ2hpbGQodGhpcy5ncmlkRWxlbWVudHMuY2VudGVyQ29udGFpbmVyLCB0aGlzLnJvd0hvdmVyRWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcm93SG92ZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3dIb3ZlckNvbXBvbmVudC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRPbkhvdmVyU3RhdGUodmlzaWJsZTogYm9vbGVhbiwgZXZlbnQ/OiBDZWxsTW91c2VPdXRFdmVudCkge1xuICAgIGNvbnN0IHsgaW5zdGFuY2UgfSA9IHRoaXMucm93SG92ZXJDb21wb25lbnQ7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIGluc3RhbmNlLnNob3coZXZlbnQpO1xuICAgICAgdGhpcy51cGRhdGVPbkhvdmVyUG9zKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc3RhbmNlLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU9uSG92ZXJQb3MoKSB7XG4gICAgY29uc3QgeyBjZW50ZXJWaWV3cG9ydCwgY2VudGVyQ29udGFpbmVyIH0gPSB0aGlzLmdyaWRFbGVtZW50cztcbiAgICBjb25zdCB0YXJnZXQgPSBjZW50ZXJDb250YWluZXIuY2xpZW50V2lkdGggPiBjZW50ZXJWaWV3cG9ydC5jbGllbnRXaWR0aCA/IGNlbnRlclZpZXdwb3J0IDogY2VudGVyQ29udGFpbmVyO1xuICAgIGNvbnN0IHsgY2xpZW50V2lkdGgsIHNjcm9sbExlZnQgfSA9IHRhcmdldDtcbiAgICB0aGlzLnJvd0hvdmVyQ29tcG9uZW50Lmluc3RhbmNlLnVwZGF0ZVNjcm9sbFBvcyhjbGllbnRXaWR0aCArIHNjcm9sbExlZnQpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVSb3dIb3ZlckNsYXNzKHJvd3M6IEhUTUxFbGVtZW50IHwgSFRNTEVsZW1lbnRbXSkge1xuICAgIGNvZXJjZUFycmF5KHJvd3MpLmZvckVhY2gocm93ID0+IHJvdyAmJiByb3cuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aW9ucy1ob3ZlcmVkJykpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckdyaWRLZXlib2FyZExpc3RlbmVyKHsgZ3JpZCwgY29sdW1ucyB9OiBEYXRvR3JpZEFwaSkge1xuICAgIHRoaXMuaG90a2V5c1xuICAgICAgLmFkZFNob3J0Y3V0KHtcbiAgICAgICAgZWxlbWVudDogdGhpcy5hZ0dyaWRFbCxcbiAgICAgICAga2V5czogJ21ldGEuYScsXG4gICAgICAgIGlnbm9yZUluRWRpdGFibGU6IHRydWVcbiAgICAgIH0pXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLnNlbGVjdEFsbEN1cnJlbnRQYWdlUm93cygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyV2luZG93UmVzaXplTGlzdGVuZXIoKSB7XG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmdyaWRRdWVyeS5ncmlkQWxpZ25tZW50ICE9PSBEYXRvR3JpZEFsaWdubWVudC5DVVNUT00pLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpdFRvID0gdGhpcy5ncmlkUXVlcnkuZ3JpZEFsaWdubWVudCA9PT0gRGF0b0dyaWRBbGlnbm1lbnQuRklUX1RPX0NPTlRBSU5FUiA/ICdjb250YWluZXInIDogJ2NvbnRlbnQnO1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLmZpdEdyaWQoZml0VG8pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEdyaWREYXRhKCkge1xuICAgIGNvbnN0IGdyaWRNb2RlbCA9IHRoaXMuZ3JpZFNlcnZpY2UuYXBpLmdyaWQuZ2V0TW9kZWwoKSBhcyBhbnk7XG4gICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMudHJlZURhdGEpIHtcbiAgICAgIGNvbnN0IGdyaWREYXRhID0gZ3JpZE1vZGVsLnJvd3NUb0Rpc3BsYXkubWFwKCh7IGRhdGEgfSkgPT4gZGF0YSk7XG4gICAgICByZXR1cm4gY29udmVydEZyb21UcmVlRGF0YShncmlkRGF0YSwgdGhpcy5ncmlkU2VydmljZS50cmVlQ29uZmlnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGdyaWRNb2RlbC5yb3dzVG9EaXNwbGF5O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJFdmVudHNUcmlnZ2VyaW5nQ2xlYXJTZWxlY3RlZFJvd3MoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICBjb25zdCBldmVudHMkID0gdGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTaWRlXG4gICAgICA/IG1lcmdlKGFnR3JpZC5zb3J0Q2hhbmdlZCwgYWdHcmlkLmZpbHRlckNoYW5nZWQpXG4gICAgICA6IGFnR3JpZC5maWx0ZXJDaGFuZ2VkO1xuICAgIChldmVudHMkIGFzIE9ic2VydmFibGU8YW55PikucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuZGVzZWxlY3RBbGxSb3dzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyUGFnaW5hdGlvbkNoYW5nZWQoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICBpZiAoIXRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2lkZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhZ0dyaWQucGFnaW5hdGlvbkNoYW5nZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmdyaWRRdWVyeS5pc1NlcnZlclNlbGVjdEFsbFJvd3NFbmFibGVkKSB7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2VsZWN0QWxsQ3VycmVudFBhZ2VSb3dzKHRydWUsIHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const DATO_GRID_STORAGE_API = new InjectionToken('
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_API');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUy9DLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFpQix1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuL2dyaWQtc3RvcmUvZ3JpZC5zdG9yZS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFN0b3JhZ2VBUEkge1xuICBnZXQoZ3JpZE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8UGFydGlhbDxEYXRvR3JpZFNldHRpbmdzPj47XG4gIHNldChncmlkTmFtZTogc3RyaW5nLCBzdGF0ZTogUGFydGlhbDxEYXRvR3JpZFNldHRpbmdzPik6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBEQVRPX0dSSURfU1RPUkFHRV9BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW48R3JpZFN0b3JhZ2VBUEk+KCdEQVRPX0dSSURfU1RPUkFHRV9BUEknKTtcbiJdfQ==
|