@skyux/ag-grid 7.8.0 → 8.0.0-alpha.0

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.
Files changed (60) hide show
  1. package/css/sky-ag-grid.css +7 -7
  2. package/documentation.json +1833 -1292
  3. package/esm2020/lib/modules/ag-grid/ag-grid-adapter.service.mjs +4 -4
  4. package/esm2020/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.mjs +4 -4
  5. package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.component.mjs +4 -4
  6. package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.directive.mjs +4 -4
  7. package/esm2020/lib/modules/ag-grid/ag-grid-wrapper.component.mjs +4 -4
  8. package/esm2020/lib/modules/ag-grid/ag-grid.module.mjs +5 -5
  9. package/esm2020/lib/modules/ag-grid/ag-grid.service.mjs +4 -4
  10. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.mjs +5 -5
  11. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.mjs +5 -5
  12. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.mjs +5 -5
  13. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.mjs +5 -5
  14. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.mjs +4 -4
  15. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.mjs +5 -5
  16. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.mjs +4 -4
  17. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.mjs +5 -5
  18. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.mjs +5 -5
  19. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.mjs +5 -5
  20. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.mjs +5 -5
  21. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.mjs +5 -5
  22. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.mjs +4 -4
  23. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.mjs +5 -5
  24. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.mjs +5 -5
  25. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.mjs +5 -5
  26. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.mjs +5 -5
  27. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.mjs +5 -5
  28. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.mjs +5 -5
  29. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.mjs +4 -4
  30. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.mjs +5 -5
  31. package/esm2020/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.mjs +4 -4
  32. package/esm2020/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.mjs +5 -5
  33. package/esm2020/lib/modules/ag-grid/header/header-group.component.mjs +5 -5
  34. package/esm2020/lib/modules/ag-grid/header/header.component.mjs +4 -4
  35. package/esm2020/lib/modules/ag-grid/types/header-group-info.mjs +4 -4
  36. package/esm2020/lib/modules/ag-grid/types/header-info.mjs +4 -4
  37. package/esm2020/lib/modules/shared/sky-ag-grid-resources.module.mjs +5 -5
  38. package/fesm2015/skyux-ag-grid.mjs +126 -126
  39. package/fesm2015/skyux-ag-grid.mjs.map +1 -1
  40. package/fesm2020/skyux-ag-grid.mjs +126 -126
  41. package/fesm2020/skyux-ag-grid.mjs.map +1 -1
  42. package/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.d.ts +1 -1
  43. package/lib/modules/ag-grid/ag-grid-row-delete.component.d.ts +1 -1
  44. package/lib/modules/ag-grid/ag-grid-row-delete.directive.d.ts +1 -1
  45. package/lib/modules/ag-grid/ag-grid-wrapper.component.d.ts +1 -1
  46. package/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.d.ts +1 -1
  47. package/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.d.ts +1 -1
  48. package/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.d.ts +1 -1
  49. package/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.d.ts +1 -1
  50. package/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.d.ts +1 -1
  51. package/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.d.ts +1 -1
  52. package/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.d.ts +1 -1
  53. package/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.d.ts +1 -1
  54. package/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.d.ts +1 -1
  55. package/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.d.ts +1 -1
  56. package/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.d.ts +1 -1
  57. package/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.d.ts +1 -1
  58. package/lib/modules/ag-grid/header/header-group.component.d.ts +1 -1
  59. package/lib/modules/ag-grid/header/header.component.d.ts +1 -1
  60. package/package.json +15 -15
@@ -49,12 +49,12 @@ export class SkyAgGridAdapterService {
49
49
  }
50
50
  }
51
51
  _SkyAgGridAdapterService_skyAdapterService = new WeakMap();
52
- SkyAgGridAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
53
- SkyAgGridAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, providedIn: 'root' });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, decorators: [{
52
+ SkyAgGridAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
53
+ SkyAgGridAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridAdapterService, providedIn: 'root' });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridAdapterService, decorators: [{
55
55
  type: Injectable,
56
56
  args: [{
57
57
  providedIn: 'root',
58
58
  }]
59
59
  }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQVksaUJBQXdDO1FBRnBELDZEQUEwQztRQUd4Qyx1QkFBQSxJQUFJLDhDQUFzQixpQkFBaUIsTUFBQSxDQUFDO0lBQzlDLENBQUM7SUFFTSwyQkFBMkIsQ0FDaEMsT0FBb0IsRUFDcEIsU0FBaUI7UUFFakIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDcEQsT0FBTyxPQUFPLENBQUM7U0FDaEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMzRTtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUFxQixFQUFFLFFBQWdCO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBZ0IsQ0FBQztRQUV0RSwwQkFBMEI7UUFDMUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sUUFBUSxDQUFDLGFBQTRCLENBQUM7SUFDL0MsQ0FBQztJQUVNLHVCQUF1QixDQUM1QixTQUFzQixFQUN0QixRQUFzQixFQUN0QixhQUF1QjtRQUV2QixJQUFJLFFBQVEsRUFBRTtZQUNaLE1BQU0saUJBQWlCLEdBQ3JCLHVCQUFBLElBQUksa0RBQW1CLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekQsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakUsTUFBTSxTQUFTLEdBQUcsYUFBYTtnQkFDN0IsQ0FBQyxDQUFDLG1CQUFtQixHQUFHLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7WUFFNUIsSUFDRSxDQUFDLENBQUMsYUFBYSxJQUFJLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7Z0JBQ3pELENBQUMsYUFBYSxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFDakM7Z0JBQ0EsT0FBTyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNyQztTQUNGO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLHdCQUF3QixDQUFDLE9BQW9CO1FBQ2xELE1BQU0saUJBQWlCLEdBQ3JCLHVCQUFBLElBQUksa0RBQW1CLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEQsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDNUIsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDOzs7cUhBaEVVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUNvcmVBZGFwdGVyU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlIHtcbiAgI3NreUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3Ioc2t5QWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZSkge1xuICAgIHRoaXMuI3NreUFkYXB0ZXJTZXJ2aWNlID0gc2t5QWRhcHRlclNlcnZpY2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIGNsYXNzTmFtZTogc3RyaW5nXG4gICk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKGVsZW1lbnQucGFyZW50RWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldEZvY3VzZWRFbGVtZW50QnlJZChwYXJlbnRFbDogSFRNTEVsZW1lbnQsIHNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gcGFyZW50RWwucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YCkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEZvY3VzZWRFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0Rm9jdXNhYmxlRWxlbWVudChcbiAgICBjdXJyZW50RWw6IEhUTUxFbGVtZW50LFxuICAgIHBhcmVudEVsPzogSFRNTEVsZW1lbnQsXG4gICAgbW92ZUZvY3VzTGVmdD86IGJvb2xlYW5cbiAgKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChwYXJlbnRFbCkge1xuICAgICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPVxuICAgICAgICB0aGlzLiNza3lBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihwYXJlbnRFbCk7XG4gICAgICBjb25zdCBjdXJyZW50RWxlbWVudEluZGV4ID0gZm9jdXNhYmxlQ2hpbGRyZW4uaW5kZXhPZihjdXJyZW50RWwpO1xuICAgICAgY29uc3QgbmV4dEluZGV4ID0gbW92ZUZvY3VzTGVmdFxuICAgICAgICA/IGN1cnJlbnRFbGVtZW50SW5kZXggLSAxXG4gICAgICAgIDogY3VycmVudEVsZW1lbnRJbmRleCArIDE7XG5cbiAgICAgIGlmIChcbiAgICAgICAgKCFtb3ZlRm9jdXNMZWZ0ICYmIGZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA+PSBuZXh0SW5kZXgpIHx8XG4gICAgICAgIChtb3ZlRm9jdXNMZWZ0ICYmIG5leHRJbmRleCA+PSAwKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBmb2N1c2FibGVDaGlsZHJlbltuZXh0SW5kZXhdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNPbkZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPVxuICAgICAgdGhpcy4jc2t5QWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWxlbWVudCk7XG5cbiAgICBpZiAoZm9jdXNhYmxlQ2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBmb2N1c2FibGVDaGlsZHJlblswXS5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQVksaUJBQXdDO1FBRnBELDZEQUEwQztRQUd4Qyx1QkFBQSxJQUFJLDhDQUFzQixpQkFBaUIsTUFBQSxDQUFDO0lBQzlDLENBQUM7SUFFTSwyQkFBMkIsQ0FDaEMsT0FBb0IsRUFDcEIsU0FBaUI7UUFFakIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDcEQsT0FBTyxPQUFPLENBQUM7U0FDaEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMzRTtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUFxQixFQUFFLFFBQWdCO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBZ0IsQ0FBQztRQUV0RSwwQkFBMEI7UUFDMUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sUUFBUSxDQUFDLGFBQTRCLENBQUM7SUFDL0MsQ0FBQztJQUVNLHVCQUF1QixDQUM1QixTQUFzQixFQUN0QixRQUFzQixFQUN0QixhQUF1QjtRQUV2QixJQUFJLFFBQVEsRUFBRTtZQUNaLE1BQU0saUJBQWlCLEdBQ3JCLHVCQUFBLElBQUksa0RBQW1CLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekQsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakUsTUFBTSxTQUFTLEdBQUcsYUFBYTtnQkFDN0IsQ0FBQyxDQUFDLG1CQUFtQixHQUFHLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7WUFFNUIsSUFDRSxDQUFDLENBQUMsYUFBYSxJQUFJLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7Z0JBQ3pELENBQUMsYUFBYSxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFDakM7Z0JBQ0EsT0FBTyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNyQztTQUNGO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLHdCQUF3QixDQUFDLE9BQW9CO1FBQ2xELE1BQU0saUJBQWlCLEdBQ3JCLHVCQUFBLElBQUksa0RBQW1CLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEQsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDNUIsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDOzs7b0hBaEVVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUNvcmVBZGFwdGVyU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlIHtcbiAgI3NreUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3Ioc2t5QWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZSkge1xuICAgIHRoaXMuI3NreUFkYXB0ZXJTZXJ2aWNlID0gc2t5QWRhcHRlclNlcnZpY2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIGNsYXNzTmFtZTogc3RyaW5nXG4gICk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKGVsZW1lbnQucGFyZW50RWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldEZvY3VzZWRFbGVtZW50QnlJZChwYXJlbnRFbDogSFRNTEVsZW1lbnQsIHNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gcGFyZW50RWwucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YCkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEZvY3VzZWRFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0Rm9jdXNhYmxlRWxlbWVudChcbiAgICBjdXJyZW50RWw6IEhUTUxFbGVtZW50LFxuICAgIHBhcmVudEVsPzogSFRNTEVsZW1lbnQsXG4gICAgbW92ZUZvY3VzTGVmdD86IGJvb2xlYW5cbiAgKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChwYXJlbnRFbCkge1xuICAgICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPVxuICAgICAgICB0aGlzLiNza3lBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihwYXJlbnRFbCk7XG4gICAgICBjb25zdCBjdXJyZW50RWxlbWVudEluZGV4ID0gZm9jdXNhYmxlQ2hpbGRyZW4uaW5kZXhPZihjdXJyZW50RWwpO1xuICAgICAgY29uc3QgbmV4dEluZGV4ID0gbW92ZUZvY3VzTGVmdFxuICAgICAgICA/IGN1cnJlbnRFbGVtZW50SW5kZXggLSAxXG4gICAgICAgIDogY3VycmVudEVsZW1lbnRJbmRleCArIDE7XG5cbiAgICAgIGlmIChcbiAgICAgICAgKCFtb3ZlRm9jdXNMZWZ0ICYmIGZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA+PSBuZXh0SW5kZXgpIHx8XG4gICAgICAgIChtb3ZlRm9jdXNMZWZ0ICYmIG5leHRJbmRleCA+PSAwKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBmb2N1c2FibGVDaGlsZHJlbltuZXh0SW5kZXhdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNPbkZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPVxuICAgICAgdGhpcy4jc2t5QWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWxlbWVudCk7XG5cbiAgICBpZiAoZm9jdXNhYmxlQ2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBmb2N1c2FibGVDaGlsZHJlblswXS5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -214,9 +214,9 @@ _SkyAgGridDataManagerAdapterDirective_currentAgGrid = new WeakMap(), _SkyAgGridD
214
214
  const agGrid = this.agGridList?.first;
215
215
  agGrid?.api.deselectAll();
216
216
  };
217
- SkyAgGridDataManagerAdapterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyDataManagerService }], target: i0.ɵɵFactoryTarget.Directive });
218
- SkyAgGridDataManagerAdapterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridDataManagerAdapterDirective, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: "viewId" }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true }], ngImport: i0 });
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, decorators: [{
217
+ SkyAgGridDataManagerAdapterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyDataManagerService }], target: i0.ɵɵFactoryTarget.Directive });
218
+ SkyAgGridDataManagerAdapterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: SkyAgGridDataManagerAdapterDirective, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: "viewId" }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true }], ngImport: i0 });
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, decorators: [{
220
220
  type: Directive,
221
221
  args: [{
222
222
  selector: '[skyAgGridDataManagerAdapter]',
@@ -230,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
230
230
  type: ContentChildren,
231
231
  args: [SkyAgGridWrapperComponent, { descendants: true }]
232
232
  }] } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWRhdGEtbWFuYWdlci1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxlQUFlLEVBQ2YsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRaEQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRXhFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9DQUFvQztJQXFCL0MsWUFDRSxjQUFpQyxFQUNqQyxjQUFxQzs7UUFYdkMsc0VBQTBDO1FBQzFDLHlFQUFtRDtRQUNuRCxnRkFBZ0U7UUFDaEUscUVBQXdDO1FBQ3hDLG1FQUEyQztRQUMzQyw4REFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUNyQyx1RUFBbUM7UUFDbkMsdUVBQXVDO1FBTXJDLHVCQUFBLElBQUksd0RBQW1CLGNBQWMsTUFBQSxDQUFDO1FBQ3RDLHVCQUFBLElBQUksd0RBQW1CLGNBQWMsTUFBQSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsdUJBQUEsSUFBSSw0REFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN2RSx1QkFBQSxJQUFJ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QUM7SUFDdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUM1QixDQUFDO2tJQW5UVSxvQ0FBb0M7c0hBQXBDLG9DQUFvQyw4SEFNOUIsYUFBYSwwRUFHYix5QkFBeUI7NEZBVC9CLG9DQUFvQztrQkFIaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO2lCQUMxQzs0SUFLUSxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsZUFBZTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk5QyxvQkFBb0I7c0JBRDFCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlLFxuICBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24sXG4gIFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gIFNreURhdGFWaWV3Q29uZmlnLFxufSBmcm9tICdAc2t5dXgvZGF0YS1tYW5hZ2VyJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDb2x1bW5BcGksXG4gIENvbHVtbk1vdmVkRXZlbnQsXG4gIENvbHVtblN0YXRlLFxuICBEcmFnU3RvcHBlZEV2ZW50LFxuICBSb3dTZWxlY3RlZEV2ZW50LFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWREYXRhTWFuYWdlckFkYXB0ZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgcHVibGljIHZpZXdJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQWdHcmlkQW5ndWxhciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgYWdHcmlkTGlzdDogUXVlcnlMaXN0PEFnR3JpZEFuZ3VsYXI+IHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgc2t5QWdHcmlkV3JhcHBlckxpc3Q6IFF1ZXJ5TGlzdDxTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudEFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcbiAgI2N1cnJlbnREYXRhU3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUgfCB1bmRlZmluZWQ7XG4gICNjdXJyZW50U2t5QWdHcmlkV3JhcHBlcjogU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI2RhdGFTdGF0ZVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjdmlld0NvbmZpZzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2RhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGRhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclN2YyA9IGRhdGFNYW5hZ2VyU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aWV3SWQpIHtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnNldFZpZXdrZWVwZXJDbGFzc2VzKHRoaXMudmlld0lkLCBbJy5hZy1oZWFkZXInXSk7XG4gICAgICB0aGlzLiN2aWV3Q29uZmlnID0gdGhpcy4jZGF0YU1hbmFnZXJTdmMuZ2V0Vmlld0J5SWQodGhpcy52aWV3SWQpO1xuXG4gICAgICB0aGlzLiNjaGVja0ZvckFnR3JpZCgpO1xuICAgICAgdGhpcy4jY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk7XG5cbiAgICAgIHRoaXMuYWdHcmlkTGlzdD8uY2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jY2hlY2tGb3JBZ0dyaWQoKSk7XG5cbiAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3Q/LmNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuI2NoZWNrRm9yU2t5QWdHcmlkV3JhcHBlcigpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2NoZWNrRm9yQWdHcmlkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZExpc3QpIHtcbiAgICAgIGNvbnN0IGFnR3JpZENvdW50ID0gdGhpcy5hZ0dyaWRMaXN0Lmxlbmd0aDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChhZ0dyaWRDb3VudCA9PT0gMCkge1xuICAgICAgICB0aGlzLiN1bnJlZ2lzdGVyQWdHcmlkKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuYWdHcmlkTGlzdC5maXJzdCAhPT0gdGhpcy4jY3VycmVudEFnR3JpZCkge1xuICAgICAgICB0aGlzLiNyZWdpc3RlckFnR3JpZCgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoYWdHcmlkQ291bnQgPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnTW9yZSB0aGFuIG9uZSBhZy1ncmlkIGNoaWxkIGNvbXBvbmVudCB3YXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCBhZy1HcmlkLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0KSB7XG4gICAgICBjb25zdCBza3lBZ0dyaWRXcmFwcGVyQ291bnQgPSB0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0Lmxlbmd0aDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChza3lBZ0dyaWRXcmFwcGVyQ291bnQgPT09IDApIHtcbiAgICAgICAgdGhpcy4jdW5yZWdpc3RlclNreUFnR3JpZFdyYXBwZXIoKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QuZmlyc3QgIT09IHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyXG4gICAgICApIHtcbiAgICAgICAgdGhpcy4jcmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChza3lBZ0dyaWRXcmFwcGVyQ291bnQgPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnTW9yZSB0aGFuIG9uZSBhZy1ncmlkIGNoaWxkIGNvbXBvbmVudCB3YXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCBhZy1HcmlkLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjdW5yZWdpc3RlckFnR3JpZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50QWdHcmlkID0gdW5kZWZpbmVkO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHRoaXMuI2RhdGFTdGF0ZVN1Yikge1xuICAgICAgdGhpcy4jZGF0YVN0YXRlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgI3VucmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgI3JlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpOiB2b2lkIHtcbiAgICB0aGlzLiN1bnJlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpO1xuICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdGhpcy5za3lBZ0dyaWRXcmFwcGVyTGlzdD8uZmlyc3Q7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLiNjdXJyZW50U2t5QWdHcmlkV3JhcHBlcikge1xuICAgICAgICB0aGlzLiNjdXJyZW50U2t5QWdHcmlkV3JhcHBlci52aWV3a2VlcGVyQ2xhc3NlcyA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI3JlZ2lzdGVyQWdHcmlkKCk6IHZvaWQge1xuICAgIHRoaXMuI3VucmVnaXN0ZXJBZ0dyaWQoKTtcblxuICAgIGNvbnN0IGFnR3JpZCA9IHRoaXMuYWdHcmlkTGlzdD8uZmlyc3Q7XG5cbiAgICB0aGlzLiNjdXJyZW50QWdHcmlkID0gYWdHcmlkO1xuXG4gICAgaWYgKGFnR3JpZCkge1xuICAgICAgYWdHcmlkLmdyaWRSZWFkeS5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuI3ZpZXdDb25maWcgJiYgdGhpcy52aWV3SWQpIHtcbiAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLm9uU2VsZWN0QWxsQ2xpY2sgPSB0aGlzLiNzZWxlY3RBbGwuYmluZCh0aGlzKTtcbiAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLm9uQ2xlYXJBbGxDbGljayA9IHRoaXMuI2NsZWFyQWxsLmJpbmQodGhpcyk7XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlVmlld0NvbmZpZyh0aGlzLiN2aWV3Q29uZmlnKTtcbiAgICAgICAgICB0aGlzLiNkYXRhU3RhdGVTdWIgPSB0aGlzLiNkYXRhTWFuYWdlclN2Y1xuICAgICAgICAgICAgLmdldERhdGFTdGF0ZVVwZGF0ZXModGhpcy4jdmlld0NvbmZpZy5pZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlID0gZGF0YVN0YXRlO1xuICAgICAgICAgICAgICB0aGlzLiNkaXNwbGF5Q29sdW1ucyhkYXRhU3RhdGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoYWdHcmlkLmdyaWRPcHRpb25zLmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMuc2V0Vmlld2tlZXBlckNsYXNzZXModGhpcy52aWV3SWQsIFtcbiAgICAgICAgICAgICAgJy5hZy1oZWFkZXInLFxuICAgICAgICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYWdHcmlkLmFwaS5zaXplQ29sdW1uc1RvRml0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQuY29sdW1uTW92ZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChldmVudDogQ29sdW1uTW92ZWRFdmVudCkgPT5cbiAgICAgICAgICAgICAgIVtcbiAgICAgICAgICAgICAgICAnZ3JpZEluaXRpYWxpemluZycsXG4gICAgICAgICAgICAgICAgJ3VpQ29sdW1uUmVzaXplZCcsXG4gICAgICAgICAgICAgICAgJ3VpQ29sdW1uRHJhZ2dlZCcsXG4gICAgICAgICAgICAgICAgJ2FwaScsXG4gICAgICAgICAgICAgIF0uaW5jbHVkZXMoZXZlbnQuc291cmNlKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogQ29sdW1uTW92ZWRFdmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUNvbHVtbnNJbkN1cnJlbnREYXRhU3RhdGUodmFsdWUuY29sdW1uQXBpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIGFnR3JpZC5kcmFnU3RvcHBlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBEcmFnU3RvcHBlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQ29sdW1uc0luQ3VycmVudERhdGFTdGF0ZSh2YWx1ZS5jb2x1bW5BcGkpO1xuICAgICAgICB9KTtcblxuICAgICAgYWdHcmlkLnJvd1NlbGVjdGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IFJvd1NlbGVjdGVkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLiNjdXJyZW50RGF0YVN0YXRlKSB7XG4gICAgICAgICAgICBjb25zdCByb3cgPSBldmVudC5ub2RlO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLnNlbGVjdGVkSWRzIHx8IFtdO1xuICAgICAgICAgICAgY29uc3Qgcm93SW5kZXggPSBzZWxlY3RlZElkcy5pbmRleE9mKHJvdy5kYXRhLmlkKTtcblxuICAgICAgICAgICAgaWYgKHJvdy5pc1NlbGVjdGVkKCkgJiYgcm93SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGVkSWRzLnB1c2gocm93LmRhdGEuaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcm93LmlzU2VsZWN0ZWQoKSAmJiByb3dJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZHMuc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy4jY3VycmVudERhdGFTdGF0ZS5zZWxlY3RlZElkcyA9IHNlbGVjdGVkSWRzO1xuICAgICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLFxuICAgICAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQuc29ydENoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGdyaWRDb2x1bW5TdGF0ZXM6IENvbHVtblN0YXRlW10gPVxuICAgICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuZ2V0Q29sdW1uU3RhdGUoKTtcblxuICAgICAgICBsZXQgc29ydE9wdGlvbjogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChncmlkQ29sdW1uU3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSA9IGdyaWRDb2x1bW5TdGF0ZXMuZmluZChcbiAgICAgICAgICAgIChhR3JpZENvbHVtblN0YXRlKSA9PiBhR3JpZENvbHVtblN0YXRlLnNvcnRJbmRleCA9PT0gMFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBkYXRhTWFuYWdlckNvbmZpZyA9XG4gICAgICAgICAgICB0aGlzLiNkYXRhTWFuYWdlclN2Yy5nZXRDdXJyZW50RGF0YU1hbmFnZXJDb25maWcoKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zICYmIGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSkge1xuICAgICAgICAgICAgc29ydE9wdGlvbiA9IGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgIChvcHRpb246IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICBvcHRpb24ucHJvcGVydHlOYW1lID09PSBhY3RpdmVTb3J0Q29sdW1uU3RhdGUuY29sSWQgJiZcbiAgICAgICAgICAgICAgICAgIG9wdGlvbi5kZXNjZW5kaW5nID09PSAoYWN0aXZlU29ydENvbHVtblN0YXRlLnNvcnQgPT09ICdkZXNjJylcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzb3J0T3B0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLiN2aWV3Q29uZmlnICYmIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUpIHtcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUsXG4gICAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUNvbHVtbnNJbkN1cnJlbnREYXRhU3RhdGUoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLiNjdXJyZW50RGF0YVN0YXRlKSB7XG4gICAgICBjb25zdCBjb2x1bW5PcmRlciA9IHRoaXMuI2dldENvbHVtbk9yZGVyKGNvbHVtbkFwaSk7XG5cbiAgICAgIGNvbnN0IHZpZXdTdGF0ZSA9IHRoaXMuI2N1cnJlbnREYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZChcbiAgICAgICAgdGhpcy4jdmlld0NvbmZpZy5pZFxuICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICB2aWV3U3RhdGUgJiZcbiAgICAgICAgKHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMubGVuZ3RoICE9PSBjb2x1bW5PcmRlci5sZW5ndGggfHxcbiAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzLnNvbWUoKGNvbCwgaSkgPT4gY29sICE9PSBjb2x1bW5PcmRlcltpXSkpXG4gICAgICApIHtcbiAgICAgICAgdmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcyA9IGNvbHVtbk9yZGVyO1xuXG4gICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWQsXG4gICAgICAgICAgICB2aWV3U3RhdGVcbiAgICAgICAgICApLFxuICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0Q29sdW1uT3JkZXIoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGNvbHVtbkFwaVxuICAgICAgLmdldENvbHVtblN0YXRlKClcbiAgICAgIC5maWx0ZXIoKHN0YXRlKSA9PiAhc3RhdGUuaGlkZSlcbiAgICAgIC5tYXAoKHN0YXRlKSA9PiBzdGF0ZS5jb2xJZCk7XG4gIH1cblxuICAjZGlzcGxheUNvbHVtbnMoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy4jY3VycmVudEFnR3JpZDtcblxuICAgIGlmIChhZ0dyaWQgJiYgdGhpcy4jdmlld0NvbmZpZykge1xuICAgICAgY29uc3Qgdmlld1N0YXRlID0gZGF0YVN0YXRlLmdldFZpZXdTdGF0ZUJ5SWQodGhpcy4jdmlld0NvbmZpZy5pZCk7XG4gICAgICBsZXQgZGlzcGxheWVkQ29sdW1uSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgIGlmICh2aWV3U3RhdGU/LmRpc3BsYXllZENvbHVtbklkcykge1xuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMgPSB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb2x1bW5PcmRlciA9IHRoaXMuI2dldENvbHVtbk9yZGVyKGFnR3JpZC5jb2x1bW5BcGkpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRpc3BsYXllZENvbHVtbklkcy5sZW5ndGggIT09IGNvbHVtbk9yZGVyLmxlbmd0aCB8fFxuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMuc29tZSgoY29sLCBpKSA9PiBjb2wgIT09IGNvbHVtbk9yZGVyW2ldKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGhpZGVDb2x1bW5zID0gYWdHcmlkLmNvbHVtbkFwaVxuICAgICAgICAgIC5nZXRDb2x1bW5TdGF0ZSgpXG4gICAgICAgICAgLm1hcCgoY29sKSA9PiBjb2wuY29sSWQpXG4gICAgICAgICAgLmZpbHRlcigoY29sSWQpID0+ICFkaXNwbGF5ZWRDb2x1bW5JZHMuaW5jbHVkZXMoY29sSWQpKTtcblxuICAgICAgICBhZ0dyaWQuY29sdW1uQXBpLnNldENvbHVtbnNWaXNpYmxlKGhpZGVDb2x1bW5zLCBmYWxzZSk7XG4gICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuc2V0Q29sdW1uc1Zpc2libGUoZGlzcGxheWVkQ29sdW1uSWRzLCB0cnVlKTtcbiAgICAgICAgYWdHcmlkLmNvbHVtbkFwaS5tb3ZlQ29sdW1ucyhkaXNwbGF5ZWRDb2x1bW5JZHMsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy5hZ0dyaWRMaXN0Py5maXJzdDtcbiAgICBhZ0dyaWQ/LmFwaS5zZWxlY3RBbGwoKTtcbiAgfVxuXG4gICNjbGVhckFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCBhZ0dyaWQgPSB0aGlzLmFnR3JpZExpc3Q/LmZpcnN0O1xuICAgIGFnR3JpZD8uYXBpLmRlc2VsZWN0QWxsKCk7XG4gIH1cbn1cbiJdfQ==
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWRhdGEtbWFuYWdlci1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxlQUFlLEVBQ2YsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRaEQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRXhFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9DQUFvQztJQXFCL0MsWUFDRSxjQUFpQyxFQUNqQyxjQUFxQzs7UUFYdkMsc0VBQTBDO1FBQzFDLHlFQUFtRDtRQUNuRCxnRkFBZ0U7UUFDaEUscUVBQXdDO1FBQ3hDLG1FQUEyQztRQUMzQyw4REFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUNyQyx1RUFBbUM7UUFDbkMsdUVBQXVDO1FBTXJDLHVCQUFBLElBQUksd0RBQW1CLGNBQWMsTUFBQSxDQUFDO1FBQ3RDLHVCQUFBLElBQUksd0RBQW1CLGNBQWMsTUFBQSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsdUJBQUEsSUFBSSw0REFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN2RSx1QkFBQSxJQUFJ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QUM7SUFDdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUM1QixDQUFDO2lJQW5UVSxvQ0FBb0M7cUhBQXBDLG9DQUFvQyw4SEFNOUIsYUFBYSwwRUFHYix5QkFBeUI7MkZBVC9CLG9DQUFvQztrQkFIaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO2lCQUMxQzs0SUFLUSxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsZUFBZTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk5QyxvQkFBb0I7c0JBRDFCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlLFxuICBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24sXG4gIFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gIFNreURhdGFWaWV3Q29uZmlnLFxufSBmcm9tICdAc2t5dXgvZGF0YS1tYW5hZ2VyJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDb2x1bW5BcGksXG4gIENvbHVtbk1vdmVkRXZlbnQsXG4gIENvbHVtblN0YXRlLFxuICBEcmFnU3RvcHBlZEV2ZW50LFxuICBSb3dTZWxlY3RlZEV2ZW50LFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWREYXRhTWFuYWdlckFkYXB0ZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgcHVibGljIHZpZXdJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQWdHcmlkQW5ndWxhciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgYWdHcmlkTGlzdDogUXVlcnlMaXN0PEFnR3JpZEFuZ3VsYXI+IHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgc2t5QWdHcmlkV3JhcHBlckxpc3Q6IFF1ZXJ5TGlzdDxTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudEFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcbiAgI2N1cnJlbnREYXRhU3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUgfCB1bmRlZmluZWQ7XG4gICNjdXJyZW50U2t5QWdHcmlkV3JhcHBlcjogU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI2RhdGFTdGF0ZVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjdmlld0NvbmZpZzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2RhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGRhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclN2YyA9IGRhdGFNYW5hZ2VyU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aWV3SWQpIHtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnNldFZpZXdrZWVwZXJDbGFzc2VzKHRoaXMudmlld0lkLCBbJy5hZy1oZWFkZXInXSk7XG4gICAgICB0aGlzLiN2aWV3Q29uZmlnID0gdGhpcy4jZGF0YU1hbmFnZXJTdmMuZ2V0Vmlld0J5SWQodGhpcy52aWV3SWQpO1xuXG4gICAgICB0aGlzLiNjaGVja0ZvckFnR3JpZCgpO1xuICAgICAgdGhpcy4jY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk7XG5cbiAgICAgIHRoaXMuYWdHcmlkTGlzdD8uY2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jY2hlY2tGb3JBZ0dyaWQoKSk7XG5cbiAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3Q/LmNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuI2NoZWNrRm9yU2t5QWdHcmlkV3JhcHBlcigpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2NoZWNrRm9yQWdHcmlkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZExpc3QpIHtcbiAgICAgIGNvbnN0IGFnR3JpZENvdW50ID0gdGhpcy5hZ0dyaWRMaXN0Lmxlbmd0aDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChhZ0dyaWRDb3VudCA9PT0gMCkge1xuICAgICAgICB0aGlzLiN1bnJlZ2lzdGVyQWdHcmlkKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuYWdHcmlkTGlzdC5maXJzdCAhPT0gdGhpcy4jY3VycmVudEFnR3JpZCkge1xuICAgICAgICB0aGlzLiNyZWdpc3RlckFnR3JpZCgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoYWdHcmlkQ291bnQgPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnTW9yZSB0aGFuIG9uZSBhZy1ncmlkIGNoaWxkIGNvbXBvbmVudCB3YXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCBhZy1HcmlkLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0KSB7XG4gICAgICBjb25zdCBza3lBZ0dyaWRXcmFwcGVyQ291bnQgPSB0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0Lmxlbmd0aDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChza3lBZ0dyaWRXcmFwcGVyQ291bnQgPT09IDApIHtcbiAgICAgICAgdGhpcy4jdW5yZWdpc3RlclNreUFnR3JpZFdyYXBwZXIoKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QuZmlyc3QgIT09IHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyXG4gICAgICApIHtcbiAgICAgICAgdGhpcy4jcmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChza3lBZ0dyaWRXcmFwcGVyQ291bnQgPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnTW9yZSB0aGFuIG9uZSBhZy1ncmlkIGNoaWxkIGNvbXBvbmVudCB3YXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCBhZy1HcmlkLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjdW5yZWdpc3RlckFnR3JpZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50QWdHcmlkID0gdW5kZWZpbmVkO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHRoaXMuI2RhdGFTdGF0ZVN1Yikge1xuICAgICAgdGhpcy4jZGF0YVN0YXRlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgI3VucmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgI3JlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpOiB2b2lkIHtcbiAgICB0aGlzLiN1bnJlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpO1xuICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdGhpcy5za3lBZ0dyaWRXcmFwcGVyTGlzdD8uZmlyc3Q7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLiNjdXJyZW50U2t5QWdHcmlkV3JhcHBlcikge1xuICAgICAgICB0aGlzLiNjdXJyZW50U2t5QWdHcmlkV3JhcHBlci52aWV3a2VlcGVyQ2xhc3NlcyA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI3JlZ2lzdGVyQWdHcmlkKCk6IHZvaWQge1xuICAgIHRoaXMuI3VucmVnaXN0ZXJBZ0dyaWQoKTtcblxuICAgIGNvbnN0IGFnR3JpZCA9IHRoaXMuYWdHcmlkTGlzdD8uZmlyc3Q7XG5cbiAgICB0aGlzLiNjdXJyZW50QWdHcmlkID0gYWdHcmlkO1xuXG4gICAgaWYgKGFnR3JpZCkge1xuICAgICAgYWdHcmlkLmdyaWRSZWFkeS5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuI3ZpZXdDb25maWcgJiYgdGhpcy52aWV3SWQpIHtcbiAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLm9uU2VsZWN0QWxsQ2xpY2sgPSB0aGlzLiNzZWxlY3RBbGwuYmluZCh0aGlzKTtcbiAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLm9uQ2xlYXJBbGxDbGljayA9IHRoaXMuI2NsZWFyQWxsLmJpbmQodGhpcyk7XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlVmlld0NvbmZpZyh0aGlzLiN2aWV3Q29uZmlnKTtcbiAgICAgICAgICB0aGlzLiNkYXRhU3RhdGVTdWIgPSB0aGlzLiNkYXRhTWFuYWdlclN2Y1xuICAgICAgICAgICAgLmdldERhdGFTdGF0ZVVwZGF0ZXModGhpcy4jdmlld0NvbmZpZy5pZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlID0gZGF0YVN0YXRlO1xuICAgICAgICAgICAgICB0aGlzLiNkaXNwbGF5Q29sdW1ucyhkYXRhU3RhdGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoYWdHcmlkLmdyaWRPcHRpb25zLmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMuc2V0Vmlld2tlZXBlckNsYXNzZXModGhpcy52aWV3SWQsIFtcbiAgICAgICAgICAgICAgJy5hZy1oZWFkZXInLFxuICAgICAgICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYWdHcmlkLmFwaS5zaXplQ29sdW1uc1RvRml0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQuY29sdW1uTW92ZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChldmVudDogQ29sdW1uTW92ZWRFdmVudCkgPT5cbiAgICAgICAgICAgICAgIVtcbiAgICAgICAgICAgICAgICAnZ3JpZEluaXRpYWxpemluZycsXG4gICAgICAgICAgICAgICAgJ3VpQ29sdW1uUmVzaXplZCcsXG4gICAgICAgICAgICAgICAgJ3VpQ29sdW1uRHJhZ2dlZCcsXG4gICAgICAgICAgICAgICAgJ2FwaScsXG4gICAgICAgICAgICAgIF0uaW5jbHVkZXMoZXZlbnQuc291cmNlKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogQ29sdW1uTW92ZWRFdmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUNvbHVtbnNJbkN1cnJlbnREYXRhU3RhdGUodmFsdWUuY29sdW1uQXBpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIGFnR3JpZC5kcmFnU3RvcHBlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBEcmFnU3RvcHBlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQ29sdW1uc0luQ3VycmVudERhdGFTdGF0ZSh2YWx1ZS5jb2x1bW5BcGkpO1xuICAgICAgICB9KTtcblxuICAgICAgYWdHcmlkLnJvd1NlbGVjdGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IFJvd1NlbGVjdGVkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLiNjdXJyZW50RGF0YVN0YXRlKSB7XG4gICAgICAgICAgICBjb25zdCByb3cgPSBldmVudC5ub2RlO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLnNlbGVjdGVkSWRzIHx8IFtdO1xuICAgICAgICAgICAgY29uc3Qgcm93SW5kZXggPSBzZWxlY3RlZElkcy5pbmRleE9mKHJvdy5kYXRhLmlkKTtcblxuICAgICAgICAgICAgaWYgKHJvdy5pc1NlbGVjdGVkKCkgJiYgcm93SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGVkSWRzLnB1c2gocm93LmRhdGEuaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcm93LmlzU2VsZWN0ZWQoKSAmJiByb3dJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZHMuc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy4jY3VycmVudERhdGFTdGF0ZS5zZWxlY3RlZElkcyA9IHNlbGVjdGVkSWRzO1xuICAgICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLFxuICAgICAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQuc29ydENoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGdyaWRDb2x1bW5TdGF0ZXM6IENvbHVtblN0YXRlW10gPVxuICAgICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuZ2V0Q29sdW1uU3RhdGUoKTtcblxuICAgICAgICBsZXQgc29ydE9wdGlvbjogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChncmlkQ29sdW1uU3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSA9IGdyaWRDb2x1bW5TdGF0ZXMuZmluZChcbiAgICAgICAgICAgIChhR3JpZENvbHVtblN0YXRlKSA9PiBhR3JpZENvbHVtblN0YXRlLnNvcnRJbmRleCA9PT0gMFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBkYXRhTWFuYWdlckNvbmZpZyA9XG4gICAgICAgICAgICB0aGlzLiNkYXRhTWFuYWdlclN2Yy5nZXRDdXJyZW50RGF0YU1hbmFnZXJDb25maWcoKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zICYmIGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSkge1xuICAgICAgICAgICAgc29ydE9wdGlvbiA9IGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgIChvcHRpb246IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICBvcHRpb24ucHJvcGVydHlOYW1lID09PSBhY3RpdmVTb3J0Q29sdW1uU3RhdGUuY29sSWQgJiZcbiAgICAgICAgICAgICAgICAgIG9wdGlvbi5kZXNjZW5kaW5nID09PSAoYWN0aXZlU29ydENvbHVtblN0YXRlLnNvcnQgPT09ICdkZXNjJylcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzb3J0T3B0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLiN2aWV3Q29uZmlnICYmIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUpIHtcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUsXG4gICAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUNvbHVtbnNJbkN1cnJlbnREYXRhU3RhdGUoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLiNjdXJyZW50RGF0YVN0YXRlKSB7XG4gICAgICBjb25zdCBjb2x1bW5PcmRlciA9IHRoaXMuI2dldENvbHVtbk9yZGVyKGNvbHVtbkFwaSk7XG5cbiAgICAgIGNvbnN0IHZpZXdTdGF0ZSA9IHRoaXMuI2N1cnJlbnREYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZChcbiAgICAgICAgdGhpcy4jdmlld0NvbmZpZy5pZFxuICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICB2aWV3U3RhdGUgJiZcbiAgICAgICAgKHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMubGVuZ3RoICE9PSBjb2x1bW5PcmRlci5sZW5ndGggfHxcbiAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzLnNvbWUoKGNvbCwgaSkgPT4gY29sICE9PSBjb2x1bW5PcmRlcltpXSkpXG4gICAgICApIHtcbiAgICAgICAgdmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcyA9IGNvbHVtbk9yZGVyO1xuXG4gICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWQsXG4gICAgICAgICAgICB2aWV3U3RhdGVcbiAgICAgICAgICApLFxuICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0Q29sdW1uT3JkZXIoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGNvbHVtbkFwaVxuICAgICAgLmdldENvbHVtblN0YXRlKClcbiAgICAgIC5maWx0ZXIoKHN0YXRlKSA9PiAhc3RhdGUuaGlkZSlcbiAgICAgIC5tYXAoKHN0YXRlKSA9PiBzdGF0ZS5jb2xJZCk7XG4gIH1cblxuICAjZGlzcGxheUNvbHVtbnMoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy4jY3VycmVudEFnR3JpZDtcblxuICAgIGlmIChhZ0dyaWQgJiYgdGhpcy4jdmlld0NvbmZpZykge1xuICAgICAgY29uc3Qgdmlld1N0YXRlID0gZGF0YVN0YXRlLmdldFZpZXdTdGF0ZUJ5SWQodGhpcy4jdmlld0NvbmZpZy5pZCk7XG4gICAgICBsZXQgZGlzcGxheWVkQ29sdW1uSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgIGlmICh2aWV3U3RhdGU/LmRpc3BsYXllZENvbHVtbklkcykge1xuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMgPSB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb2x1bW5PcmRlciA9IHRoaXMuI2dldENvbHVtbk9yZGVyKGFnR3JpZC5jb2x1bW5BcGkpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRpc3BsYXllZENvbHVtbklkcy5sZW5ndGggIT09IGNvbHVtbk9yZGVyLmxlbmd0aCB8fFxuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMuc29tZSgoY29sLCBpKSA9PiBjb2wgIT09IGNvbHVtbk9yZGVyW2ldKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGhpZGVDb2x1bW5zID0gYWdHcmlkLmNvbHVtbkFwaVxuICAgICAgICAgIC5nZXRDb2x1bW5TdGF0ZSgpXG4gICAgICAgICAgLm1hcCgoY29sKSA9PiBjb2wuY29sSWQpXG4gICAgICAgICAgLmZpbHRlcigoY29sSWQpID0+ICFkaXNwbGF5ZWRDb2x1bW5JZHMuaW5jbHVkZXMoY29sSWQpKTtcblxuICAgICAgICBhZ0dyaWQuY29sdW1uQXBpLnNldENvbHVtbnNWaXNpYmxlKGhpZGVDb2x1bW5zLCBmYWxzZSk7XG4gICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuc2V0Q29sdW1uc1Zpc2libGUoZGlzcGxheWVkQ29sdW1uSWRzLCB0cnVlKTtcbiAgICAgICAgYWdHcmlkLmNvbHVtbkFwaS5tb3ZlQ29sdW1ucyhkaXNwbGF5ZWRDb2x1bW5JZHMsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy5hZ0dyaWRMaXN0Py5maXJzdDtcbiAgICBhZ0dyaWQ/LmFwaS5zZWxlY3RBbGwoKTtcbiAgfVxuXG4gICNjbGVhckFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCBhZ0dyaWQgPSB0aGlzLmFnR3JpZExpc3Q/LmZpcnN0O1xuICAgIGFnR3JpZD8uYXBpLmRlc2VsZWN0QWxsKCk7XG4gIH1cbn1cbiJdfQ==
@@ -8,8 +8,8 @@ import * as i2 from "@skyux/layout";
8
8
  */
9
9
  export class SkyAgGridRowDeleteComponent {
10
10
  }
11
- SkyAgGridRowDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridRowDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- SkyAgGridRowDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridRowDeleteComponent, selector: "ng-component", viewQueries: [{ propertyName: "inlineDeleteTemplateRef", first: true, predicate: ["inlineDeleteTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "inlineDeleteRefs", predicate: ["inlineDeleteRef"], descendants: true }], ngImport: i0, template: `
11
+ SkyAgGridRowDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridRowDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ SkyAgGridRowDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyAgGridRowDeleteComponent, selector: "ng-component", viewQueries: [{ propertyName: "inlineDeleteTemplateRef", first: true, predicate: ["inlineDeleteTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "inlineDeleteRefs", predicate: ["inlineDeleteRef"], descendants: true }], ngImport: i0, template: `
13
13
  <ng-template
14
14
  let-row
15
15
  let-tableWidth="tableWidth()"
@@ -36,7 +36,7 @@ SkyAgGridRowDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
36
36
  </div>
37
37
  </ng-template>
38
38
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.λ8, selector: "sky-inline-delete", inputs: ["pending"], outputs: ["cancelTriggered", "deleteTriggered"] }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridRowDeleteComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridRowDeleteComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{
42
42
  template: `
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
74
74
  type: ViewChild,
75
75
  args: ['inlineDeleteTemplateRef', { read: TemplateRef }]
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQzs7OztBQUV2Qjs7O0dBR0c7QUE4QkgsTUFBTSxPQUFPLDJCQUEyQjs7eUhBQTNCLDJCQUEyQjs2R0FBM0IsMkJBQTJCLG1LQUdRLFdBQVcsc0hBL0IvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7NEZBRVUsMkJBQTJCO2tCQTdCdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUO2lCQUNGOzhCQUdRLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBR3hCLHVCQUF1QjtzQkFEN0IsU0FBUzt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHJlbmRlcmluZyB0aGUgaW5saW5lIGRlbGV0ZSB0ZW1wbGF0ZSBpbiB0aGUgb3ZlcmxheS5cbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGxldC1yb3dcbiAgICAgIGxldC10YWJsZVdpZHRoPVwidGFibGVXaWR0aCgpXCJcbiAgICAgIGxldC1nZXRSb3dEZWxldGVJdGVtPVwiZ2V0Um93RGVsZXRlSXRlbVwiXG4gICAgICBsZXQtY2FuY2VsUm93RGVsZXRlPVwiY2FuY2VsUm93RGVsZXRlXCJcbiAgICAgIGxldC1jb25maXJtUm93RGVsZXRlPVwiY29uZmlybVJvd0RlbGV0ZVwiXG4gICAgICAjaW5saW5lRGVsZXRlVGVtcGxhdGVSZWZcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LWFnLWdyaWQtcm93LWRlbGV0ZVwiXG4gICAgICAgIFtpZF09XCIncm93LWRlbGV0ZS1yZWYtJyArIHJvdy5pZFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICBoZWlnaHQ6IHJvdy5yb3dIZWlnaHQgKyAncHgnLFxuICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgIHdpZHRoOiB0YWJsZVdpZHRoICsgJ3B4J1xuICAgICAgICB9XCJcbiAgICAgICAgI2lubGluZURlbGV0ZVJlZlxuICAgICAgPlxuICAgICAgICA8c2t5LWlubGluZS1kZWxldGVcbiAgICAgICAgICBbcGVuZGluZ109XCJnZXRSb3dEZWxldGVJdGVtKHJvdykucGVuZGluZ1wiXG4gICAgICAgICAgKGNhbmNlbFRyaWdnZXJlZCk9XCJjYW5jZWxSb3dEZWxldGUocm93KVwiXG4gICAgICAgICAgKGRlbGV0ZVRyaWdnZXJlZCk9XCJjb25maXJtUm93RGVsZXRlKHJvdylcIlxuICAgICAgICA+PC9za3ktaW5saW5lLWRlbGV0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGRyZW4oJ2lubGluZURlbGV0ZVJlZicpXG4gIHB1YmxpYyBpbmxpbmVEZWxldGVSZWZzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj4gfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2lubGluZURlbGV0ZVRlbXBsYXRlUmVmJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBwdWJsaWMgaW5saW5lRGVsZXRlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xufVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQzs7OztBQUV2Qjs7O0dBR0c7QUE4QkgsTUFBTSxPQUFPLDJCQUEyQjs7d0hBQTNCLDJCQUEyQjs0R0FBM0IsMkJBQTJCLG1LQUdRLFdBQVcsc0hBL0IvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7MkZBRVUsMkJBQTJCO2tCQTdCdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUO2lCQUNGOzhCQUdRLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBR3hCLHVCQUF1QjtzQkFEN0IsU0FBUzt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHJlbmRlcmluZyB0aGUgaW5saW5lIGRlbGV0ZSB0ZW1wbGF0ZSBpbiB0aGUgb3ZlcmxheS5cbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGxldC1yb3dcbiAgICAgIGxldC10YWJsZVdpZHRoPVwidGFibGVXaWR0aCgpXCJcbiAgICAgIGxldC1nZXRSb3dEZWxldGVJdGVtPVwiZ2V0Um93RGVsZXRlSXRlbVwiXG4gICAgICBsZXQtY2FuY2VsUm93RGVsZXRlPVwiY2FuY2VsUm93RGVsZXRlXCJcbiAgICAgIGxldC1jb25maXJtUm93RGVsZXRlPVwiY29uZmlybVJvd0RlbGV0ZVwiXG4gICAgICAjaW5saW5lRGVsZXRlVGVtcGxhdGVSZWZcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LWFnLWdyaWQtcm93LWRlbGV0ZVwiXG4gICAgICAgIFtpZF09XCIncm93LWRlbGV0ZS1yZWYtJyArIHJvdy5pZFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICBoZWlnaHQ6IHJvdy5yb3dIZWlnaHQgKyAncHgnLFxuICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgIHdpZHRoOiB0YWJsZVdpZHRoICsgJ3B4J1xuICAgICAgICB9XCJcbiAgICAgICAgI2lubGluZURlbGV0ZVJlZlxuICAgICAgPlxuICAgICAgICA8c2t5LWlubGluZS1kZWxldGVcbiAgICAgICAgICBbcGVuZGluZ109XCJnZXRSb3dEZWxldGVJdGVtKHJvdykucGVuZGluZ1wiXG4gICAgICAgICAgKGNhbmNlbFRyaWdnZXJlZCk9XCJjYW5jZWxSb3dEZWxldGUocm93KVwiXG4gICAgICAgICAgKGRlbGV0ZVRyaWdnZXJlZCk9XCJjb25maXJtUm93RGVsZXRlKHJvdylcIlxuICAgICAgICA+PC9za3ktaW5saW5lLWRlbGV0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGRyZW4oJ2lubGluZURlbGV0ZVJlZicpXG4gIHB1YmxpYyBpbmxpbmVEZWxldGVSZWZzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj4gfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2lubGluZURlbGV0ZVRlbXBsYXRlUmVmJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBwdWJsaWMgaW5saW5lRGVsZXRlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xufVxuIl19
@@ -205,9 +205,9 @@ _SkyAgGridRowDeleteDirective_rowDeleteConfigs = new WeakMap(), _SkyAgGridRowDele
205
205
  });
206
206
  __classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_changeDetector, "f").markForCheck();
207
207
  };
208
- SkyAgGridRowDeleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridRowDeleteDirective, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyOverlayService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
209
- SkyAgGridRowDeleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridRowDeleteDirective, selector: "[skyAgGridRowDelete]", inputs: { rowDeleteIds: "rowDeleteIds" }, outputs: { rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm", rowDeleteIdsChange: "rowDeleteIdsChange" }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true }], ngImport: i0 });
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridRowDeleteDirective, decorators: [{
208
+ SkyAgGridRowDeleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridRowDeleteDirective, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyOverlayService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
209
+ SkyAgGridRowDeleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: SkyAgGridRowDeleteDirective, selector: "[skyAgGridRowDelete]", inputs: { rowDeleteIds: "rowDeleteIds" }, outputs: { rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm", rowDeleteIdsChange: "rowDeleteIdsChange" }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true }], ngImport: i0 });
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridRowDeleteDirective, decorators: [{
211
211
  type: Directive,
212
212
  args: [{
213
213
  selector: '[skyAgGridRowDelete]',
@@ -224,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
224
224
  type: ContentChild,
225
225
  args: [AgGridAngular]
226
226
  }] } });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBR0wsWUFBWSxFQUNaLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsc0JBQXNCLEdBSXZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBUzdFLE1BQU0sT0FBTywyQkFBMkI7SUFnSXRDLFlBQ0UsWUFBNkIsRUFDN0IsY0FBaUMsRUFDakMsVUFBc0IsRUFDdEIsY0FBaUMsRUFDakMsZ0JBQWtDOztRQXZDcEM7O1dBRUc7UUFFSSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBRTFFOztXQUVHO1FBRUkscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFFNUU7O1dBRUc7UUFFSSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXpELHdEQUFnRCxFQUFFLEVBQUM7UUFLbkQscURBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFDckMsa0VBQTZEO1FBQzdELHlEQUFtRSxFQUFFLEVBQUM7UUFFdEUsb0VBQTRDO1FBQzVDLDREQUErQjtRQUMvQiw4REFBbUM7UUFDbkMsMERBQXdCO1FBQ3hC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S0FBSyxFQUFFLENBQzVCLE1BQUEsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSx5REFBc0IsQ0FBQyxDQUFDO0tBQzFEO0FBQ0gsQ0FBQztJQUdDLHVCQUFBLElBQUkscURBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBZ0MsRUFBRSxFQUFFO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNDLHVCQUFBLElBQUksNkZBQWtCLE1BQXRCLElBQUksRUFBbUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDTCw4SEFBOEg7WUFDOUgsbUJBQW1CO1lBQ25CLHVCQUFBLElBQUksdUZBQVksTUFBaEIsSUFBSSxFQUFhLHVCQUFBLElBQUksc0RBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILHVCQUFBLElBQUksbURBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7QUFDdEMsQ0FBQzt5SEEzUVUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsMlFBa0h4QixhQUFhOzRGQWxIaEIsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzhOQVFZLFlBQVk7c0JBRHRCLEtBQUs7Z0JBNEZDLGVBQWU7c0JBRHJCLE1BQU07Z0JBT0EsZ0JBQWdCO3NCQUR0QixNQUFNO2dCQU9BLGtCQUFrQjtzQkFEeEIsTUFBTTtnQkFNQSxNQUFNO3NCQURaLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lPdmVybGF5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY2FuY2VsLWFyZ3MnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlnJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlybS1hcmdzJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbnRlbnRzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29udGVudHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5QWdHcmlkUm93RGVsZXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogVGhlIElEcyBvZiB0aGUgZGF0YSBpbiB0aGUgcm93cyB3aGVyZSB0aGUgaW5saW5lIGRlbGV0ZSBhcHBlYXJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByb3dEZWxldGVJZHModmFsdWU6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWwgPSB2YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShjb25maWcuaWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaWQgb2YgdmFsdWUpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQ29uZmlnID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKFxuICAgICAgICAoY29uZmlnKSA9PiBjb25maWcuaWQgPT09IGlkXG4gICAgICApO1xuICAgICAgaWYgKGV4aXN0aW5nQ29uZmlnKSB7XG4gICAgICAgIGV4aXN0aW5nQ29uZmlnLnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4jcm93RGVsZXRlQ29tcG9uZW50ICYmIHRoaXMuYWdHcmlkKSB7XG4gICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MucHVzaCh7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIHBlbmRpbmc6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvdmVybGF5ID0gdGhpcy4jb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuI3Jvd0RlbGV0ZUNvbXBvbmVudC5pbmxpbmVEZWxldGVUZW1wbGF0ZVJlZikge1xuICAgICAgICAgIG92ZXJsYXkuYXR0YWNoVGVtcGxhdGUoXG4gICAgICAgICAgICB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQuaW5saW5lRGVsZXRlVGVtcGxhdGVSZWYsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5hZ0dyaWQuYXBpLmdldFJvd05vZGUoaWQpLFxuICAgICAgICAgICAgICB0YWJsZVdpZHRoOiAoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LWFnLWdyaWQnKVxuICAgICAgICAgICAgICAgICAgLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgICBnZXRSb3dEZWxldGVJdGVtOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmdldFJvd0RlbGV0ZUl0ZW0ocm93KSxcbiAgICAgICAgICAgICAgY2FuY2VsUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNhbmNlbFJvd0RlbGV0ZShyb3cpLFxuICAgICAgICAgICAgICBjb25maXJtUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNvbmZpcm1Sb3dEZWxldGUocm93KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdlIGFyZSBtYW51YWxseSBzZXR0aW5nIHRoZSB6LWluZGV4IGhlcmUgYmVjYXVzZSBvdmVybGF5cyB3aWxsIGFsd2F5cyBiZSBvbiB0b3Agb2ZcbiAgICAgICAgICogdGhlIG9tbmliYXIuIFRoaXMgbWFudWFsIHNldHRpbmcgaXMgMiBsZXNzIHRoYW4gdGhlIG9tbmliYXIncyB6LWluZGV4IG9mIDEwMDAgYW5kIG9uZSBsZXNzIHRoYW5cbiAgICAgICAgICogdGhlIGhlYWRlciByb3cncyB2aWV3a2VlcGVyIHdoaWNoIGlzIDk5OS4gV2UgZGlzY3Vzc2VkIGNoYW5naW5nIHRoZSBvdmVybGF5IHNlcnZpY2UgdG8gYWxsb3cgZm9yIHRoaXNcbiAgICAgICAgICogYnV0IGRlY2lkZWQgYWdhaW5zdCB0aGF0IGNoYW5nZSBhdCB0aGlzIHRpbWUgZHVlIHRvIGl0cyBuaWNoZSBuYXR1cmUuXG4gICAgICAgICAqL1xuICAgICAgICBvdmVybGF5LmNvbXBvbmVudFJlZi5pbnN0YW5jZS56SW5kZXggPSAnOTk4JztcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmxpbmVEZWxldGVSZWYgPSB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQ/LmlubGluZURlbGV0ZVJlZnNcbiAgICAgICAgICAgID8udG9BcnJheSgpXG4gICAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgICAgKGVsUmVmKSA9PiBlbFJlZi5uYXRpdmVFbGVtZW50LmlkID09PSAncm93LWRlbGV0ZS1yZWYtJyArIGlkXG4gICAgICAgICAgICApIGFzIEVsZW1lbnRSZWY7XG4gICAgICAgICAgY29uc3QgYWZmaXhlciA9IHRoaXMuI2FmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKGlubGluZURlbGV0ZVJlZik7XG5cbiAgICAgICAgICB0aGlzLiNhZmZpeFRvUm93KGFmZml4ZXIsIGlkKTtcblxuICAgICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXSA9IHtcbiAgICAgICAgICAgIGFmZml4ZXI6IGFmZml4ZXIsXG4gICAgICAgICAgICBvdmVybGF5OiBvdmVybGF5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGNvbmZpZy5pZCkgPCAwKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCByb3dEZWxldGVJZHMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY2FuY2VsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUFnR3JpZFJvd0RlbGV0ZUNhbmNlbEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY29uZmlybWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZ0dyaWRSb3dEZWxldGVDb25maXJtQXJncz4oKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgbGlzdCBvZiBpZHMgb2YgdGhlIGRhdGEgaW4gdGhlIHJvd3Mgd2hlcmUgaW5saW5lIGRlbGV0ZXMgYXJlIHNob3duIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJvd0RlbGV0ZUlkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgI3Jvd0RlbGV0ZUNvbmZpZ3M6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZ1tdID0gW107XG5cbiAgQENvbnRlbnRDaGlsZChBZ0dyaWRBbmd1bGFyKVxuICBwdWJsaWMgYWdHcmlkOiBBZ0dyaWRBbmd1bGFyIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI3Jvd0RlbGV0ZUNvbXBvbmVudDogU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICAjcm93RGVsZXRlQ29udGVudHM6IHsgW2lkOiBzdHJpbmddOiBTa3lBZ0dyaWRSb3dEZWxldGVDb250ZW50cyB9ID0ge307XG5cbiAgI3Jvd0RlbGV0ZUlkc0ludGVybmFsOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgI2FmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI292ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZTtcbiAgI3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7XG4gICAgdGhpcy4jYWZmaXhTZXJ2aWNlID0gYWZmaXhTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UgPSBvdmVybGF5U2VydmljZTtcbiAgICB0aGlzLiN2aWV3Q29udGFpbmVyUmVmID0gdmlld0NvbnRhaW5lclJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jcm93RGVsZXRlQ29tcG9uZW50ID0gdGhpcy4jdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICBTa3lBZ0dyaWRSb3dEZWxldGVDb21wb25lbnRcbiAgICApLmluc3RhbmNlO1xuXG4gICAgaWYgKHRoaXMuYWdHcmlkKSB7XG4gICAgICB0aGlzLmFnR3JpZC5yb3dEYXRhVXBkYXRlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hZ0dyaWQuc29ydENoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWdHcmlkLmZpbHRlckNoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIE9iamVjdC5rZXlzKHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzKS5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShpZCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsUm93RGVsZXRlKHJvdzogUm93Tm9kZSk6IHZvaWQge1xuICAgIGlmIChyb3cuaWQpIHtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MgPSB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbHRlcihcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkICE9PSByb3cuaWRcbiAgICAgICk7XG4gICAgICB0aGlzLnJvd0RlbGV0ZUNhbmNlbC5lbWl0KHsgaWQ6IHJvdy5pZCB9KTtcblxuICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShyb3cuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb25maXJtUm93RGVsZXRlKHJvdzogUm93Tm9kZSk6IHZvaWQge1xuICAgIGlmIChyb3cuaWQpIHtcbiAgICAgIGNvbnN0IHJvd0NvbmZpZyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZmluZChcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkID09PSByb3cuaWRcbiAgICAgICk7XG5cbiAgICAgIGlmIChyb3dDb25maWcpIHtcbiAgICAgICAgcm93Q29uZmlnLnBlbmRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnJvd0RlbGV0ZUNvbmZpcm0uZW1pdCh7IGlkOiByb3cuaWQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFJvd0RlbGV0ZUl0ZW0ocm93OiBSb3dOb2RlKTogU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKChyb3dEZWxldGUpID0+IHJvd0RlbGV0ZS5pZCA9PT0gcm93LmlkKTtcbiAgfVxuXG4gICNhZmZpeFRvUm93KGFmZml4ZXI6IFNreUFmZml4ZXIsIGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgcm93RWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgXG4gICAgICBbcm93LWlkPVwiJHtpZH1cIl0gZGl2W2FyaWEtY29saW5kZXg9XCIxXCJdLFxuICAgICAgLmFnLXJvdy5za3ktYWctZ3JpZC1yb3ctJHtpZH0gZGl2W2FyaWEtY29saW5kZXg9XCIxXCJdXG4gICAgYCk7XG5cbiAgICAvLyBUaGlzIGNvdmVycyBjYXNlcyB3aGVyZSBBRyBHcmlkIHBsYWNlcyB0aGUgY29sdW1uIGluZGV4IG9uIGFuIGlubmVyIGVsZW1lbnQgKHN1Y2ggYXMgd2l0aCB0aGUgYGVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uYCBvcHRpb24pXG4gICAgLy8gVGhpcyBhcHBlYXJzIHRvIGhhdmUgYmVlbiBmaXhlZCBieSBBRyBHcmlkIGluIHZlcnNpb24gMjQgYW5kIHNvIGl0IGlzIG5vdCB0ZXN0YWJsZSBhZnRlciB0aGF0IHZlcnNpb24uXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFyb3dFbGVtZW50KSB7XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICdbcm93LWlkPVwiJyArIGlkICsgJ1wiXSA+IGRpdidcbiAgICAgICk7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoY29sdW1uc1tpXS5xdWVyeVNlbGVjdG9yKCdbYXJpYS1jb2xpbmRleD1cIjFcIl0nKSkge1xuICAgICAgICAgIHJvd0VsZW1lbnQgPSBjb2x1bW5zW2ldO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYWZmaXhlci5hZmZpeFRvKHJvd0VsZW1lbnQsIHtcbiAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICBwbGFjZW1lbnQ6ICdhYm92ZScsXG4gICAgICB2ZXJ0aWNhbEFsaWdubWVudDogJ3RvcCcsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAnbGVmdCcsXG4gICAgICBlbmFibGVBdXRvRml0OiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gICNkZXN0cm95Um93RGVsZXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCByb3dEZWxldGVDb250ZW50cyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXTtcblxuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHJvd0RlbGV0ZUNvbnRlbnRzKSB7XG4gICAgICByb3dEZWxldGVDb250ZW50cy5hZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuI292ZXJsYXlTZXJ2aWNlLmNsb3NlKHJvd0RlbGV0ZUNvbnRlbnRzLm92ZXJsYXkpO1xuICAgICAgZGVsZXRlIHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXTtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MgPSB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbHRlcihcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkICE9PSBpZFxuICAgICAgKTtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUlkc0ludGVybmFsID0gdGhpcy5yb3dEZWxldGVJZHM/LmZpbHRlcihcbiAgICAgICAgKGFycmF5SWQpID0+IGFycmF5SWQgIT09IGlkXG4gICAgICApO1xuICAgICAgdGhpcy5yb3dEZWxldGVJZHNDaGFuZ2UuZW1pdCh0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbCk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZvckVhY2goKGNvbmZpZzogU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuYWdHcmlkPy5hcGkuZ2V0Um93Tm9kZShjb25maWcuaWQpKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlIG11c3QgcmVhZmZpeCB0aGluZ3Mgd2hlbiB0aGUgZGF0YSBjaGFuZ2VzIGJlY2F1c2UgdGhlIHJvd3MgcmVyZW5kZXIgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IHRoYXQgdGhlIGRlbGV0ZSB3YXMgYWZmaXhlZFxuICAgICAgICAvLyB0byBpcyBkZXN0cm95ZWQuXG4gICAgICAgIHRoaXMuI2FmZml4VG9Sb3codGhpcy4jcm93RGVsZXRlQ29udGVudHNbY29uZmlnLmlkXS5hZmZpeGVyLCBjb25maWcuaWQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBR0wsWUFBWSxFQUNaLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsc0JBQXNCLEdBSXZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBUzdFLE1BQU0sT0FBTywyQkFBMkI7SUFnSXRDLFlBQ0UsWUFBNkIsRUFDN0IsY0FBaUMsRUFDakMsVUFBc0IsRUFDdEIsY0FBaUMsRUFDakMsZ0JBQWtDOztRQXZDcEM7O1dBRUc7UUFFSSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBRTFFOztXQUVHO1FBRUkscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFFNUU7O1dBRUc7UUFFSSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXpELHdEQUFnRCxFQUFFLEVBQUM7UUFLbkQscURBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFDckMsa0VBQTZEO1FBQzdELHlEQUFtRSxFQUFFLEVBQUM7UUFFdEUsb0VBQTRDO1FBQzVDLDREQUErQjtRQUMvQiw4REFBbUM7UUFDbkMsMERBQXdCO1FBQ3hC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S0FBSyxFQUFFLENBQzVCLE1BQUEsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSx5REFBc0IsQ0FBQyxDQUFDO0tBQzFEO0FBQ0gsQ0FBQztJQUdDLHVCQUFBLElBQUkscURBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBZ0MsRUFBRSxFQUFFO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNDLHVCQUFBLElBQUksNkZBQWtCLE1BQXRCLElBQUksRUFBbUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDTCw4SEFBOEg7WUFDOUgsbUJBQW1CO1lBQ25CLHVCQUFBLElBQUksdUZBQVksTUFBaEIsSUFBSSxFQUFhLHVCQUFBLElBQUksc0RBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILHVCQUFBLElBQUksbURBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7QUFDdEMsQ0FBQzt3SEEzUVUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsMlFBa0h4QixhQUFhOzJGQWxIaEIsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzhOQVFZLFlBQVk7c0JBRHRCLEtBQUs7Z0JBNEZDLGVBQWU7c0JBRHJCLE1BQU07Z0JBT0EsZ0JBQWdCO3NCQUR0QixNQUFNO2dCQU9BLGtCQUFrQjtzQkFEeEIsTUFBTTtnQkFNQSxNQUFNO3NCQURaLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lPdmVybGF5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY2FuY2VsLWFyZ3MnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlnJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlybS1hcmdzJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbnRlbnRzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29udGVudHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5QWdHcmlkUm93RGVsZXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogVGhlIElEcyBvZiB0aGUgZGF0YSBpbiB0aGUgcm93cyB3aGVyZSB0aGUgaW5saW5lIGRlbGV0ZSBhcHBlYXJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByb3dEZWxldGVJZHModmFsdWU6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWwgPSB2YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShjb25maWcuaWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaWQgb2YgdmFsdWUpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQ29uZmlnID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKFxuICAgICAgICAoY29uZmlnKSA9PiBjb25maWcuaWQgPT09IGlkXG4gICAgICApO1xuICAgICAgaWYgKGV4aXN0aW5nQ29uZmlnKSB7XG4gICAgICAgIGV4aXN0aW5nQ29uZmlnLnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4jcm93RGVsZXRlQ29tcG9uZW50ICYmIHRoaXMuYWdHcmlkKSB7XG4gICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MucHVzaCh7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIHBlbmRpbmc6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvdmVybGF5ID0gdGhpcy4jb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuI3Jvd0RlbGV0ZUNvbXBvbmVudC5pbmxpbmVEZWxldGVUZW1wbGF0ZVJlZikge1xuICAgICAgICAgIG92ZXJsYXkuYXR0YWNoVGVtcGxhdGUoXG4gICAgICAgICAgICB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQuaW5saW5lRGVsZXRlVGVtcGxhdGVSZWYsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5hZ0dyaWQuYXBpLmdldFJvd05vZGUoaWQpLFxuICAgICAgICAgICAgICB0YWJsZVdpZHRoOiAoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LWFnLWdyaWQnKVxuICAgICAgICAgICAgICAgICAgLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgICBnZXRSb3dEZWxldGVJdGVtOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmdldFJvd0RlbGV0ZUl0ZW0ocm93KSxcbiAgICAgICAgICAgICAgY2FuY2VsUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNhbmNlbFJvd0RlbGV0ZShyb3cpLFxuICAgICAgICAgICAgICBjb25maXJtUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNvbmZpcm1Sb3dEZWxldGUocm93KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdlIGFyZSBtYW51YWxseSBzZXR0aW5nIHRoZSB6LWluZGV4IGhlcmUgYmVjYXVzZSBvdmVybGF5cyB3aWxsIGFsd2F5cyBiZSBvbiB0b3Agb2ZcbiAgICAgICAgICogdGhlIG9tbmliYXIuIFRoaXMgbWFudWFsIHNldHRpbmcgaXMgMiBsZXNzIHRoYW4gdGhlIG9tbmliYXIncyB6LWluZGV4IG9mIDEwMDAgYW5kIG9uZSBsZXNzIHRoYW5cbiAgICAgICAgICogdGhlIGhlYWRlciByb3cncyB2aWV3a2VlcGVyIHdoaWNoIGlzIDk5OS4gV2UgZGlzY3Vzc2VkIGNoYW5naW5nIHRoZSBvdmVybGF5IHNlcnZpY2UgdG8gYWxsb3cgZm9yIHRoaXNcbiAgICAgICAgICogYnV0IGRlY2lkZWQgYWdhaW5zdCB0aGF0IGNoYW5nZSBhdCB0aGlzIHRpbWUgZHVlIHRvIGl0cyBuaWNoZSBuYXR1cmUuXG4gICAgICAgICAqL1xuICAgICAgICBvdmVybGF5LmNvbXBvbmVudFJlZi5pbnN0YW5jZS56SW5kZXggPSAnOTk4JztcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmxpbmVEZWxldGVSZWYgPSB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQ/LmlubGluZURlbGV0ZVJlZnNcbiAgICAgICAgICAgID8udG9BcnJheSgpXG4gICAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgICAgKGVsUmVmKSA9PiBlbFJlZi5uYXRpdmVFbGVtZW50LmlkID09PSAncm93LWRlbGV0ZS1yZWYtJyArIGlkXG4gICAgICAgICAgICApIGFzIEVsZW1lbnRSZWY7XG4gICAgICAgICAgY29uc3QgYWZmaXhlciA9IHRoaXMuI2FmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKGlubGluZURlbGV0ZVJlZik7XG5cbiAgICAgICAgICB0aGlzLiNhZmZpeFRvUm93KGFmZml4ZXIsIGlkKTtcblxuICAgICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXSA9IHtcbiAgICAgICAgICAgIGFmZml4ZXI6IGFmZml4ZXIsXG4gICAgICAgICAgICBvdmVybGF5OiBvdmVybGF5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGNvbmZpZy5pZCkgPCAwKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCByb3dEZWxldGVJZHMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY2FuY2VsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUFnR3JpZFJvd0RlbGV0ZUNhbmNlbEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY29uZmlybWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZ0dyaWRSb3dEZWxldGVDb25maXJtQXJncz4oKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgbGlzdCBvZiBpZHMgb2YgdGhlIGRhdGEgaW4gdGhlIHJvd3Mgd2hlcmUgaW5saW5lIGRlbGV0ZXMgYXJlIHNob3duIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJvd0RlbGV0ZUlkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgI3Jvd0RlbGV0ZUNvbmZpZ3M6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZ1tdID0gW107XG5cbiAgQENvbnRlbnRDaGlsZChBZ0dyaWRBbmd1bGFyKVxuICBwdWJsaWMgYWdHcmlkOiBBZ0dyaWRBbmd1bGFyIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI3Jvd0RlbGV0ZUNvbXBvbmVudDogU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICAjcm93RGVsZXRlQ29udGVudHM6IHsgW2lkOiBzdHJpbmddOiBTa3lBZ0dyaWRSb3dEZWxldGVDb250ZW50cyB9ID0ge307XG5cbiAgI3Jvd0RlbGV0ZUlkc0ludGVybmFsOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgI2FmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI292ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZTtcbiAgI3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7XG4gICAgdGhpcy4jYWZmaXhTZXJ2aWNlID0gYWZmaXhTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UgPSBvdmVybGF5U2VydmljZTtcbiAgICB0aGlzLiN2aWV3Q29udGFpbmVyUmVmID0gdmlld0NvbnRhaW5lclJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jcm93RGVsZXRlQ29tcG9uZW50ID0gdGhpcy4jdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICBTa3lBZ0dyaWRSb3dEZWxldGVDb21wb25lbnRcbiAgICApLmluc3RhbmNlO1xuXG4gICAgaWYgKHRoaXMuYWdHcmlkKSB7XG4gICAgICB0aGlzLmFnR3JpZC5yb3dEYXRhVXBkYXRlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hZ0dyaWQuc29ydENoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWdHcmlkLmZpbHRlckNoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIE9iamVjdC5rZXlzKHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzKS5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShpZCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsUm93RGVsZXRlKHJvdzogUm93Tm9kZSk6IHZvaWQge1xuICAgIGlmIChyb3cuaWQpIHtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MgPSB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbHRlcihcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkICE9PSByb3cuaWRcbiAgICAgICk7XG4gICAgICB0aGlzLnJvd0RlbGV0ZUNhbmNlbC5lbWl0KHsgaWQ6IHJvdy5pZCB9KTtcblxuICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShyb3cuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb25maXJtUm93RGVsZXRlKHJvdzogUm93Tm9kZSk6IHZvaWQge1xuICAgIGlmIChyb3cuaWQpIHtcbiAgICAgIGNvbnN0IHJvd0NvbmZpZyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZmluZChcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkID09PSByb3cuaWRcbiAgICAgICk7XG5cbiAgICAgIGlmIChyb3dDb25maWcpIHtcbiAgICAgICAgcm93Q29uZmlnLnBlbmRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnJvd0RlbGV0ZUNvbmZpcm0uZW1pdCh7IGlkOiByb3cuaWQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFJvd0RlbGV0ZUl0ZW0ocm93OiBSb3dOb2RlKTogU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKChyb3dEZWxldGUpID0+IHJvd0RlbGV0ZS5pZCA9PT0gcm93LmlkKTtcbiAgfVxuXG4gICNhZmZpeFRvUm93KGFmZml4ZXI6IFNreUFmZml4ZXIsIGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgcm93RWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgXG4gICAgICBbcm93LWlkPVwiJHtpZH1cIl0gZGl2W2FyaWEtY29saW5kZXg9XCIxXCJdLFxuICAgICAgLmFnLXJvdy5za3ktYWctZ3JpZC1yb3ctJHtpZH0gZGl2W2FyaWEtY29saW5kZXg9XCIxXCJdXG4gICAgYCk7XG5cbiAgICAvLyBUaGlzIGNvdmVycyBjYXNlcyB3aGVyZSBBRyBHcmlkIHBsYWNlcyB0aGUgY29sdW1uIGluZGV4IG9uIGFuIGlubmVyIGVsZW1lbnQgKHN1Y2ggYXMgd2l0aCB0aGUgYGVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uYCBvcHRpb24pXG4gICAgLy8gVGhpcyBhcHBlYXJzIHRvIGhhdmUgYmVlbiBmaXhlZCBieSBBRyBHcmlkIGluIHZlcnNpb24gMjQgYW5kIHNvIGl0IGlzIG5vdCB0ZXN0YWJsZSBhZnRlciB0aGF0IHZlcnNpb24uXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFyb3dFbGVtZW50KSB7XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICdbcm93LWlkPVwiJyArIGlkICsgJ1wiXSA+IGRpdidcbiAgICAgICk7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoY29sdW1uc1tpXS5xdWVyeVNlbGVjdG9yKCdbYXJpYS1jb2xpbmRleD1cIjFcIl0nKSkge1xuICAgICAgICAgIHJvd0VsZW1lbnQgPSBjb2x1bW5zW2ldO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYWZmaXhlci5hZmZpeFRvKHJvd0VsZW1lbnQsIHtcbiAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICBwbGFjZW1lbnQ6ICdhYm92ZScsXG4gICAgICB2ZXJ0aWNhbEFsaWdubWVudDogJ3RvcCcsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAnbGVmdCcsXG4gICAgICBlbmFibGVBdXRvRml0OiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gICNkZXN0cm95Um93RGVsZXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCByb3dEZWxldGVDb250ZW50cyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXTtcblxuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHJvd0RlbGV0ZUNvbnRlbnRzKSB7XG4gICAgICByb3dEZWxldGVDb250ZW50cy5hZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuI292ZXJsYXlTZXJ2aWNlLmNsb3NlKHJvd0RlbGV0ZUNvbnRlbnRzLm92ZXJsYXkpO1xuICAgICAgZGVsZXRlIHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXTtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MgPSB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbHRlcihcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkICE9PSBpZFxuICAgICAgKTtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUlkc0ludGVybmFsID0gdGhpcy5yb3dEZWxldGVJZHM/LmZpbHRlcihcbiAgICAgICAgKGFycmF5SWQpID0+IGFycmF5SWQgIT09IGlkXG4gICAgICApO1xuICAgICAgdGhpcy5yb3dEZWxldGVJZHNDaGFuZ2UuZW1pdCh0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbCk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZvckVhY2goKGNvbmZpZzogU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuYWdHcmlkPy5hcGkuZ2V0Um93Tm9kZShjb25maWcuaWQpKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlIG11c3QgcmVhZmZpeCB0aGluZ3Mgd2hlbiB0aGUgZGF0YSBjaGFuZ2VzIGJlY2F1c2UgdGhlIHJvd3MgcmVyZW5kZXIgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IHRoYXQgdGhlIGRlbGV0ZSB3YXMgYWZmaXhlZFxuICAgICAgICAvLyB0byBpcyBkZXN0cm95ZWQuXG4gICAgICAgIHRoaXMuI2FmZml4VG9Sb3codGhpcy4jcm93RGVsZXRlQ29udGVudHNbY29uZmlnLmlkXS5hZmZpeGVyLCBjb25maWcuaWQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
@@ -204,9 +204,9 @@ _SkyAgGridWrapperComponent__viewkeeperClasses = new WeakMap(), _SkyAgGridWrapper
204
204
  }
205
205
  }
206
206
  };
207
- SkyAgGridWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridWrapperComponent, deps: [{ token: i1.SkyAgGridAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: i2.SkyAgGridService }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
208
- SkyAgGridWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridWrapperComponent, selector: "sky-ag-grid-wrapper", queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, static: true }], ngImport: i0, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n tabindex=\"0\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content></ng-content>\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridWrapperComponent, decorators: [{
207
+ SkyAgGridWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridWrapperComponent, deps: [{ token: i1.SkyAgGridAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: i2.SkyAgGridService }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
208
+ SkyAgGridWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyAgGridWrapperComponent, selector: "sky-ag-grid-wrapper", queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, static: true }], ngImport: i0, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n tabindex=\"0\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content></ng-content>\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridWrapperComponent, decorators: [{
210
210
  type: Component,
211
211
  args: [{ selector: 'sky-ag-grid-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n tabindex=\"0\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content></ng-content>\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n" }]
212
212
  }], ctorParameters: function () { return [{ type: i1.SkyAgGridAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: Document, decorators: [{
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
220
220
  static: true,
221
221
  }]
222
222
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLE1BQU0sRUFHTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUszQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFPaEIsTUFBTSxPQUFPLHlCQUF5QjtJQXVEcEMsWUFDRSxjQUF1QyxFQUN2QyxjQUFpQyxFQUNqQyxVQUFzQixFQUNKLFFBQWtCLEVBQ3BDLGFBQStCLEVBQ25CLFFBQTBCOztRQWxCeEMsd0RBQWdDLEVBQUUsRUFBQztRQUVuQywyREFBaUM7UUFDakMsbURBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFDckMsc0RBQXVDO1FBQ3ZDLG9EQUFrQixJQUFJLGVBQWUsQ0FBVyxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBQztRQUMxRSxrREFBOEMsU0FBUyxFQUFDO1FBQ3hELDREQUF5QztRQUN6Qyw0REFBbUM7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LGFBQWEsOERDakM3Qix3cEJBNkJBOzRGRENhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTs7MEJBNkQ1QyxNQUFNOzJCQUFDLFFBQVE7OzBCQUVmLFFBQVE7NENBdkRKLE1BQU07c0JBSFosWUFBWTt1QkFBQyxhQUFhLEVBQUU7d0JBQzNCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlLCBTa3lUaGVtZVNldHRpbmdzIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBDZWxsRWRpdGluZ1N0YXJ0ZWRFdmVudCwgRGV0YWlsR3JpZEluZm8gfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2FnLWdyaWQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFnR3JpZFNlcnZpY2UgfSBmcm9tICcuL2FnLWdyaWQuc2VydmljZSc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFnLWdyaWQtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gIEBDb250ZW50Q2hpbGQoQWdHcmlkQW5ndWxhciwge1xuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYWZ0ZXJBbmNob3JJZDogc3RyaW5nO1xuICBwdWJsaWMgYmVmb3JlQW5jaG9ySWQ6IHN0cmluZztcbiAgcHVibGljIGdyaWRJZDogc3RyaW5nO1xuICBwdWJsaWMgd3JhcHBlckNsYXNzZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICBwdWJsaWMgZ2V0IHZpZXdrZWVwZXJDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZpZXdrZWVwZXJDbGFzc2VzO1xuICB9XG5cbiAgcHVibGljIHNldCB2aWV3a2VlcGVyQ2xhc3Nlcyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLiNfdmlld2tlZXBlckNsYXNzZXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCAjaXNJbkVkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWdHcmlkICYmIHRoaXMuYWdHcmlkLmFwaSkge1xuICAgICAgY29uc3QgcHJpbWFyeUdyaWRFZGl0aW5nID0gdGhpcy5hZ0dyaWQuYXBpLmdldEVkaXRpbmdDZWxscygpLmxlbmd0aCA+IDA7XG4gICAgICBpZiAocHJpbWFyeUdyaWRFZGl0aW5nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGlubmVyRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFnR3JpZC5hcGkuZm9yRWFjaERldGFpbEdyaWRJbmZvKChkZXRhaWxHcmlkOiBEZXRhaWxHcmlkSW5mbykgPT4ge1xuICAgICAgICAgIGlmIChkZXRhaWxHcmlkPy5hcGkgJiYgZGV0YWlsR3JpZC5hcGkuZ2V0RWRpdGluZ0NlbGxzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaW5uZXJFZGl0aW5nID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpbm5lckVkaXRpbmc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAjX3ZpZXdrZWVwZXJDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICNhZ0dyaWRTZXJ2aWNlOiBTa3lBZ0dyaWRTZXJ2aWNlO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICN0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjd3JhcHBlckNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbYGFnLXRoZW1lLXNreS1kZWZhdWx0YF0pO1xuICAjY3VycmVudFRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAjYWRhcHRlclNlcnZpY2U6IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI2RvY3VtZW50OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZGFwdGVyU2VydmljZTogU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIGFnR3JpZFNlcnZpY2U6IFNreUFnR3JpZFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI2RvY3VtZW50ID0gZG9jdW1lbnQ7XG5cbiAgICBpZEluZGV4Kys7XG4gICAgdGhpcy5hZnRlckFuY2hvcklkID0gJ3NreS1hZy1ncmlkLW5hdi1hbmNob3ItYWZ0ZXItJyArIGlkSW5kZXg7XG4gICAgdGhpcy5iZWZvcmVBbmNob3JJZCA9ICdza3ktYWctZ3JpZC1uYXYtYW5jaG9yLWJlZm9yZS0nICsgaWRJbmRleDtcbiAgICB0aGlzLmdyaWRJZCA9ICdza3ktYWctZ3JpZC0nICsgaWRJbmRleDtcbiAgICB0aGlzLiNhZ0dyaWRTZXJ2aWNlID0gYWdHcmlkU2VydmljZTtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICAgIHRoaXMud3JhcHBlckNsYXNzZXMkID0gdGhpcy4jd3JhcHBlckNsYXNzZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZCkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucyAmJlxuICAgICAgICB0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucy5kb21MYXlvdXQgPT09ICdhdXRvSGVpZ2h0J1xuICAgICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucy5jb250ZXh0Py5lbmFibGVUb3BTY3JvbGwpIHtcbiAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goXG4gICAgICAgICAgICAnLmFnLWhlYWRlcicsXG4gICAgICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goJy5hZy1oZWFkZXInKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5hZ0dyaWQuZ3JpZFJlYWR5XG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbW92ZUhvcml6b250YWxTY3JvbGwoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5maXJzdERhdGFSZW5kZXJlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI21vdmVIb3Jpem9udGFsU2Nyb2xsKCk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQucm93RGF0YVVwZGF0ZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNtb3ZlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuYWdHcmlkLmNlbGxFZGl0aW5nU3RhcnRlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogQ2VsbEVkaXRpbmdTdGFydGVkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocGFyYW1zLmNvbERlZi50eXBlKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlcyA9IEFycmF5LmlzQXJyYXkocGFyYW1zLmNvbERlZi50eXBlKVxuICAgICAgICAgICAgICA/IHBhcmFtcy5jb2xEZWYudHlwZVxuICAgICAgICAgICAgICA6IFtwYXJhbXMuY29sRGVmLnR5cGVdO1xuICAgICAgICAgICAgY29uc3QgYWRkQ2xhc3NlcyA9IHR5cGVzLm1hcChcbiAgICAgICAgICAgICAgKHQpID0+IGBza3ktYWctZ3JpZC1jZWxsLWVkaXRpbmctJHt0fWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFtcbiAgICAgICAgICAgICAgLi4udGhpcy4jd3JhcHBlckNsYXNzZXMuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgICAgLi4uYWRkQ2xhc3NlcyxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5jZWxsRWRpdGluZ1N0b3BwZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFxuICAgICAgICAgICAgdGhpcy4jd3JhcHBlckNsYXNzZXNcbiAgICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gYy5zdGFydHNXaXRoKCdhZy10aGVtZS0nKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3RoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc2V0dGluZ3MpID0+IHtcbiAgICAgICAgbGV0IGFnVGhlbWVDbGFzczogc3RyaW5nO1xuICAgICAgICBpZiAoc2V0dGluZ3MuY3VycmVudFNldHRpbmdzLnRoZW1lLm5hbWUgPT09ICdtb2Rlcm4nKSB7XG4gICAgICAgICAgYWdUaGVtZUNsYXNzID0gYGFnLXRoZW1lLXNreS1tb2Rlcm4tJHtzZXR0aW5ncy5jdXJyZW50U2V0dGluZ3MubW9kZS5uYW1lfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWdUaGVtZUNsYXNzID0gYGFnLXRoZW1lLXNreS1kZWZhdWx0YDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFtcbiAgICAgICAgICAuLi50aGlzLiN3cmFwcGVyQ2xhc3Nlc1xuICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+ICFjLnN0YXJ0c1dpdGgoJ2FnLXRoZW1lLScpKSxcbiAgICAgICAgICBhZ1RoZW1lQ2xhc3MsXG4gICAgICAgIF0pO1xuICAgICAgICBpZiAoIXRoaXMuI2N1cnJlbnRUaGVtZSkge1xuICAgICAgICAgIC8vIEluaXRpYWwgdGhlbWUgc2V0dGluZ3MuXG4gICAgICAgICAgdGhpcy4jY3VycmVudFRoZW1lID0gc2V0dGluZ3MuY3VycmVudFNldHRpbmdzO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdHcmlkPy5hcGkpIHtcbiAgICAgICAgICAvLyBPbiBzdWJzZXF1ZW50IHRoZW1lIGNoYW5nZXMsIHdlIG5lZWQgdG8gY2FsbCB0aGUgYXBpIHRvIHJlLXJlbmRlciB0aGUgZ3JpZC5cbiAgICAgICAgICB0aGlzLiNjdXJyZW50VGhlbWUgPSBzZXR0aW5ncy5jdXJyZW50U2V0dGluZ3M7XG4gICAgICAgICAgdGhpcy5hZ0dyaWQuYXBpLnNldEhlYWRlckhlaWdodChcbiAgICAgICAgICAgIHRoaXMuI2FnR3JpZFNlcnZpY2UuZ2V0SGVhZGVySGVpZ2h0KClcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuYWdHcmlkLmFwaS5yZXNldFJvd0hlaWdodHMoKTtcbiAgICAgICAgICB0aGlzLmFnR3JpZC5hcGkucmVmcmVzaENlbGxzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgY2xvc2luZyBhIG1vZGFsIHdoZW4gZm9jdXNlZCBpbiBBRyBHcmlkLlxuICAgKi9cbiAgcHVibGljIG9uS2V5VXBFc2NhcGUoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmFnR3JpZD8uYXBpLnN0b3BFZGl0aW5nKHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uR3JpZEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZ0dyaWQgJiYgIXRoaXMuI2lzSW5FZGl0TW9kZSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICBjb25zdCBpZFRvRm9jdXMgPSBldmVudC5zaGlmdEtleVxuICAgICAgICA/IHRoaXMuYmVmb3JlQW5jaG9ySWRcbiAgICAgICAgOiB0aGlzLmFmdGVyQW5jaG9ySWQ7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRGb2N1c2VkRWxlbWVudEJ5SWQoXG4gICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgaWRUb0ZvY3VzXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkFuY2hvckZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZ3JpZElkID0gdGhpcy5ncmlkSWQ7XG4gICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgcHJldmlvdXNGb2N1c2VkSWQgPSByZWxhdGVkVGFyZ2V0ICYmIHJlbGF0ZWRUYXJnZXQuaWQ7XG4gICAgY29uc3QgcHJldmlvdXNXYXNDZWxsID1cbiAgICAgIHJlbGF0ZWRUYXJnZXQgJiZcbiAgICAgICEhdGhpcy4jYWRhcHRlclNlcnZpY2UuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgICAgICByZWxhdGVkVGFyZ2V0LFxuICAgICAgICAnYWctY2VsbCdcbiAgICAgICk7XG5cbiAgICBpZiAocHJldmlvdXNGb2N1c2VkSWQgIT09IGdyaWRJZCAmJiAhcHJldmlvdXNXYXNDZWxsKSB7XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5hZ0dyaWQ/LmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRDb2x1bW5zKCk7XG4gICAgICBjb25zdCBmaXJzdENvbHVtbiA9IGNvbHVtbnM/LlswXTtcbiAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5hZ0dyaWQ/LmFwaS5nZXRGaXJzdERpc3BsYXllZFJvdygpO1xuXG4gICAgICBpZiAoZmlyc3RDb2x1bW4gJiYgcm93SW5kZXggIT09IHVuZGVmaW5lZCAmJiByb3dJbmRleCA+PSAwKSB7XG4gICAgICAgIHRoaXMuYWdHcmlkPy5hcGkuc2V0Rm9jdXNlZENlbGwocm93SW5kZXgsIGZpcnN0Q29sdW1uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbW92ZUhvcml6b250YWxTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWdHcmlkICYmIHRoaXMuYWdHcmlkLmFwaSkge1xuICAgICAgY29uc3QgdG9Ub3AgPSAhIXRoaXMuYWdHcmlkLmdyaWRPcHRpb25zLmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbDtcbiAgICAgIGNvbnN0IHJvb3Q6IEhUTUxFbGVtZW50ID1cbiAgICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hZy1yb290Jyk7XG4gICAgICBjb25zdCBoZWFkZXI6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFnLWhlYWRlcicpO1xuICAgICAgY29uc3QgZmxvYXRpbmdCb3R0b206IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IHJvb3QucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJy5hZy1mbG9hdGluZy1ib3R0b20nXG4gICAgICApO1xuICAgICAgY29uc3Qgc2Nyb2xsYmFyOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSByb290LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCdcbiAgICAgICk7XG4gICAgICBpZiAoaGVhZGVyICYmIGZsb2F0aW5nQm90dG9tICYmIHNjcm9sbGJhcikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLmhlaWdodCAhPT1cbiAgICAgICAgICBzY3JvbGxiYXIuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgICAgICctLXNreS1hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXdpZHRoJ1xuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tc2t5LWFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtd2lkdGgnLFxuICAgICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLmhlaWdodFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNUb3AgPSAhIXJvb3QuY2hpbGRyZW5bMV0ubWF0Y2hlcygnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnKTtcbiAgICAgICAgaWYgKHRvVG9wICYmICFpc1RvcCkge1xuICAgICAgICAgIGNvbnN0IGZyYWdtZW50ID0gdGhpcy4jZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKHNjcm9sbGJhcik7XG4gICAgICAgICAgaGVhZGVyLmFmdGVyKGZyYWdtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICghdG9Ub3AgJiYgaXNUb3ApIHtcbiAgICAgICAgICBjb25zdCBmcmFnbWVudCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChzY3JvbGxiYXIpO1xuICAgICAgICAgIGZsb2F0aW5nQm90dG9tLmFmdGVyKGZyYWdtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgY2xhc3M9XCJuYXYtYW5jaG9yXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW2lkXT1cImJlZm9yZUFuY2hvcklkXCJcbiAgKGZvY3VzaW4pPVwib25BbmNob3JGb2N1cygkZXZlbnQpXCJcbj5cbjwvc3Bhbj5cbjxkaXZcbiAgY2xhc3M9XCJza3ktYWctZ3JpZFwiXG4gIFtjbGFzcy5za3ktYWctZ3JpZC10b3Atc2Nyb2xsYmFyXT1cIlxuICAgIGFnR3JpZD8uZ3JpZE9wdGlvbnM/LmNvbnRleHQgJiZcbiAgICBhZ0dyaWQ/LmdyaWRPcHRpb25zPy5jb250ZXh0WydlbmFibGVUb3BTY3JvbGwnXVxuICBcIlxuICBbbmdDbGFzc109XCJ3cmFwcGVyQ2xhc3NlcyQgfCBhc3luY1wiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFtpZF09XCJncmlkSWRcIlxuICBbc2t5Vmlld2tlZXBlcl09XCJ2aWV3a2VlcGVyQ2xhc3Nlc1wiXG4gIChrZXlkb3duKT1cIm9uR3JpZEtleWRvd24oJGV2ZW50KVwiXG4gIChrZXl1cC5lc2NhcGUpPVwib25LZXlVcEVzY2FwZSgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48c3BhblxuICB0YWJpbmRleD1cIjBcIlxuICBjbGFzcz1cIm5hdi1hbmNob3JcIlxuICBbaWRdPVwiYWZ0ZXJBbmNob3JJZFwiXG4gIChmb2N1c2luKT1cIm9uQW5jaG9yRm9jdXMoJGV2ZW50KVwiXG4+XG48L3NwYW4+XG4iXX0=
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLE1BQU0sRUFHTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUszQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFPaEIsTUFBTSxPQUFPLHlCQUF5QjtJQXVEcEMsWUFDRSxjQUF1QyxFQUN2QyxjQUFpQyxFQUNqQyxVQUFzQixFQUNKLFFBQWtCLEVBQ3BDLGFBQStCLEVBQ25CLFFBQTBCOztRQWxCeEMsd0RBQWdDLEVBQUUsRUFBQztRQUVuQywyREFBaUM7UUFDakMsbURBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFDckMsc0RBQXVDO1FBQ3ZDLG9EQUFrQixJQUFJLGVBQWUsQ0FBVyxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBQztRQUMxRSxrREFBOEMsU0FBUyxFQUFDO1FBQ3hELDREQUF5QztRQUN6Qyw0REFBbUM7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LGFBQWEsOERDakM3Qix3cEJBNkJBOzJGRENhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTs7MEJBNkQ1QyxNQUFNOzJCQUFDLFFBQVE7OzBCQUVmLFFBQVE7NENBdkRKLE1BQU07c0JBSFosWUFBWTt1QkFBQyxhQUFhLEVBQUU7d0JBQzNCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlLCBTa3lUaGVtZVNldHRpbmdzIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBDZWxsRWRpdGluZ1N0YXJ0ZWRFdmVudCwgRGV0YWlsR3JpZEluZm8gfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2FnLWdyaWQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFnR3JpZFNlcnZpY2UgfSBmcm9tICcuL2FnLWdyaWQuc2VydmljZSc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFnLWdyaWQtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gIEBDb250ZW50Q2hpbGQoQWdHcmlkQW5ndWxhciwge1xuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYWZ0ZXJBbmNob3JJZDogc3RyaW5nO1xuICBwdWJsaWMgYmVmb3JlQW5jaG9ySWQ6IHN0cmluZztcbiAgcHVibGljIGdyaWRJZDogc3RyaW5nO1xuICBwdWJsaWMgd3JhcHBlckNsYXNzZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICBwdWJsaWMgZ2V0IHZpZXdrZWVwZXJDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZpZXdrZWVwZXJDbGFzc2VzO1xuICB9XG5cbiAgcHVibGljIHNldCB2aWV3a2VlcGVyQ2xhc3Nlcyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLiNfdmlld2tlZXBlckNsYXNzZXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCAjaXNJbkVkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWdHcmlkICYmIHRoaXMuYWdHcmlkLmFwaSkge1xuICAgICAgY29uc3QgcHJpbWFyeUdyaWRFZGl0aW5nID0gdGhpcy5hZ0dyaWQuYXBpLmdldEVkaXRpbmdDZWxscygpLmxlbmd0aCA+IDA7XG4gICAgICBpZiAocHJpbWFyeUdyaWRFZGl0aW5nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGlubmVyRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFnR3JpZC5hcGkuZm9yRWFjaERldGFpbEdyaWRJbmZvKChkZXRhaWxHcmlkOiBEZXRhaWxHcmlkSW5mbykgPT4ge1xuICAgICAgICAgIGlmIChkZXRhaWxHcmlkPy5hcGkgJiYgZGV0YWlsR3JpZC5hcGkuZ2V0RWRpdGluZ0NlbGxzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaW5uZXJFZGl0aW5nID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpbm5lckVkaXRpbmc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAjX3ZpZXdrZWVwZXJDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICNhZ0dyaWRTZXJ2aWNlOiBTa3lBZ0dyaWRTZXJ2aWNlO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICN0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjd3JhcHBlckNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbYGFnLXRoZW1lLXNreS1kZWZhdWx0YF0pO1xuICAjY3VycmVudFRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAjYWRhcHRlclNlcnZpY2U6IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI2RvY3VtZW50OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZGFwdGVyU2VydmljZTogU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIGFnR3JpZFNlcnZpY2U6IFNreUFnR3JpZFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI2RvY3VtZW50ID0gZG9jdW1lbnQ7XG5cbiAgICBpZEluZGV4Kys7XG4gICAgdGhpcy5hZnRlckFuY2hvcklkID0gJ3NreS1hZy1ncmlkLW5hdi1hbmNob3ItYWZ0ZXItJyArIGlkSW5kZXg7XG4gICAgdGhpcy5iZWZvcmVBbmNob3JJZCA9ICdza3ktYWctZ3JpZC1uYXYtYW5jaG9yLWJlZm9yZS0nICsgaWRJbmRleDtcbiAgICB0aGlzLmdyaWRJZCA9ICdza3ktYWctZ3JpZC0nICsgaWRJbmRleDtcbiAgICB0aGlzLiNhZ0dyaWRTZXJ2aWNlID0gYWdHcmlkU2VydmljZTtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICAgIHRoaXMud3JhcHBlckNsYXNzZXMkID0gdGhpcy4jd3JhcHBlckNsYXNzZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZCkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucyAmJlxuICAgICAgICB0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucy5kb21MYXlvdXQgPT09ICdhdXRvSGVpZ2h0J1xuICAgICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucy5jb250ZXh0Py5lbmFibGVUb3BTY3JvbGwpIHtcbiAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goXG4gICAgICAgICAgICAnLmFnLWhlYWRlcicsXG4gICAgICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goJy5hZy1oZWFkZXInKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5hZ0dyaWQuZ3JpZFJlYWR5XG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbW92ZUhvcml6b250YWxTY3JvbGwoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5maXJzdERhdGFSZW5kZXJlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI21vdmVIb3Jpem9udGFsU2Nyb2xsKCk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQucm93RGF0YVVwZGF0ZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNtb3ZlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuYWdHcmlkLmNlbGxFZGl0aW5nU3RhcnRlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogQ2VsbEVkaXRpbmdTdGFydGVkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocGFyYW1zLmNvbERlZi50eXBlKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlcyA9IEFycmF5LmlzQXJyYXkocGFyYW1zLmNvbERlZi50eXBlKVxuICAgICAgICAgICAgICA/IHBhcmFtcy5jb2xEZWYudHlwZVxuICAgICAgICAgICAgICA6IFtwYXJhbXMuY29sRGVmLnR5cGVdO1xuICAgICAgICAgICAgY29uc3QgYWRkQ2xhc3NlcyA9IHR5cGVzLm1hcChcbiAgICAgICAgICAgICAgKHQpID0+IGBza3ktYWctZ3JpZC1jZWxsLWVkaXRpbmctJHt0fWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFtcbiAgICAgICAgICAgICAgLi4udGhpcy4jd3JhcHBlckNsYXNzZXMuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgICAgLi4uYWRkQ2xhc3NlcyxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5jZWxsRWRpdGluZ1N0b3BwZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFxuICAgICAgICAgICAgdGhpcy4jd3JhcHBlckNsYXNzZXNcbiAgICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gYy5zdGFydHNXaXRoKCdhZy10aGVtZS0nKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3RoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc2V0dGluZ3MpID0+IHtcbiAgICAgICAgbGV0IGFnVGhlbWVDbGFzczogc3RyaW5nO1xuICAgICAgICBpZiAoc2V0dGluZ3MuY3VycmVudFNldHRpbmdzLnRoZW1lLm5hbWUgPT09ICdtb2Rlcm4nKSB7XG4gICAgICAgICAgYWdUaGVtZUNsYXNzID0gYGFnLXRoZW1lLXNreS1tb2Rlcm4tJHtzZXR0aW5ncy5jdXJyZW50U2V0dGluZ3MubW9kZS5uYW1lfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWdUaGVtZUNsYXNzID0gYGFnLXRoZW1lLXNreS1kZWZhdWx0YDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFtcbiAgICAgICAgICAuLi50aGlzLiN3cmFwcGVyQ2xhc3Nlc1xuICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+ICFjLnN0YXJ0c1dpdGgoJ2FnLXRoZW1lLScpKSxcbiAgICAgICAgICBhZ1RoZW1lQ2xhc3MsXG4gICAgICAgIF0pO1xuICAgICAgICBpZiAoIXRoaXMuI2N1cnJlbnRUaGVtZSkge1xuICAgICAgICAgIC8vIEluaXRpYWwgdGhlbWUgc2V0dGluZ3MuXG4gICAgICAgICAgdGhpcy4jY3VycmVudFRoZW1lID0gc2V0dGluZ3MuY3VycmVudFNldHRpbmdzO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdHcmlkPy5hcGkpIHtcbiAgICAgICAgICAvLyBPbiBzdWJzZXF1ZW50IHRoZW1lIGNoYW5nZXMsIHdlIG5lZWQgdG8gY2FsbCB0aGUgYXBpIHRvIHJlLXJlbmRlciB0aGUgZ3JpZC5cbiAgICAgICAgICB0aGlzLiNjdXJyZW50VGhlbWUgPSBzZXR0aW5ncy5jdXJyZW50U2V0dGluZ3M7XG4gICAgICAgICAgdGhpcy5hZ0dyaWQuYXBpLnNldEhlYWRlckhlaWdodChcbiAgICAgICAgICAgIHRoaXMuI2FnR3JpZFNlcnZpY2UuZ2V0SGVhZGVySGVpZ2h0KClcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuYWdHcmlkLmFwaS5yZXNldFJvd0hlaWdodHMoKTtcbiAgICAgICAgICB0aGlzLmFnR3JpZC5hcGkucmVmcmVzaENlbGxzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgY2xvc2luZyBhIG1vZGFsIHdoZW4gZm9jdXNlZCBpbiBBRyBHcmlkLlxuICAgKi9cbiAgcHVibGljIG9uS2V5VXBFc2NhcGUoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmFnR3JpZD8uYXBpLnN0b3BFZGl0aW5nKHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uR3JpZEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZ0dyaWQgJiYgIXRoaXMuI2lzSW5FZGl0TW9kZSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICBjb25zdCBpZFRvRm9jdXMgPSBldmVudC5zaGlmdEtleVxuICAgICAgICA/IHRoaXMuYmVmb3JlQW5jaG9ySWRcbiAgICAgICAgOiB0aGlzLmFmdGVyQW5jaG9ySWQ7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRGb2N1c2VkRWxlbWVudEJ5SWQoXG4gICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgaWRUb0ZvY3VzXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkFuY2hvckZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZ3JpZElkID0gdGhpcy5ncmlkSWQ7XG4gICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgcHJldmlvdXNGb2N1c2VkSWQgPSByZWxhdGVkVGFyZ2V0ICYmIHJlbGF0ZWRUYXJnZXQuaWQ7XG4gICAgY29uc3QgcHJldmlvdXNXYXNDZWxsID1cbiAgICAgIHJlbGF0ZWRUYXJnZXQgJiZcbiAgICAgICEhdGhpcy4jYWRhcHRlclNlcnZpY2UuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgICAgICByZWxhdGVkVGFyZ2V0LFxuICAgICAgICAnYWctY2VsbCdcbiAgICAgICk7XG5cbiAgICBpZiAocHJldmlvdXNGb2N1c2VkSWQgIT09IGdyaWRJZCAmJiAhcHJldmlvdXNXYXNDZWxsKSB7XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5hZ0dyaWQ/LmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRDb2x1bW5zKCk7XG4gICAgICBjb25zdCBmaXJzdENvbHVtbiA9IGNvbHVtbnM/LlswXTtcbiAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5hZ0dyaWQ/LmFwaS5nZXRGaXJzdERpc3BsYXllZFJvdygpO1xuXG4gICAgICBpZiAoZmlyc3RDb2x1bW4gJiYgcm93SW5kZXggIT09IHVuZGVmaW5lZCAmJiByb3dJbmRleCA+PSAwKSB7XG4gICAgICAgIHRoaXMuYWdHcmlkPy5hcGkuc2V0Rm9jdXNlZENlbGwocm93SW5kZXgsIGZpcnN0Q29sdW1uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbW92ZUhvcml6b250YWxTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWdHcmlkICYmIHRoaXMuYWdHcmlkLmFwaSkge1xuICAgICAgY29uc3QgdG9Ub3AgPSAhIXRoaXMuYWdHcmlkLmdyaWRPcHRpb25zLmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbDtcbiAgICAgIGNvbnN0IHJvb3Q6IEhUTUxFbGVtZW50ID1cbiAgICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hZy1yb290Jyk7XG4gICAgICBjb25zdCBoZWFkZXI6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFnLWhlYWRlcicpO1xuICAgICAgY29uc3QgZmxvYXRpbmdCb3R0b206IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IHJvb3QucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJy5hZy1mbG9hdGluZy1ib3R0b20nXG4gICAgICApO1xuICAgICAgY29uc3Qgc2Nyb2xsYmFyOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSByb290LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCdcbiAgICAgICk7XG4gICAgICBpZiAoaGVhZGVyICYmIGZsb2F0aW5nQm90dG9tICYmIHNjcm9sbGJhcikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLmhlaWdodCAhPT1cbiAgICAgICAgICBzY3JvbGxiYXIuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgICAgICctLXNreS1hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXdpZHRoJ1xuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tc2t5LWFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtd2lkdGgnLFxuICAgICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLmhlaWdodFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNUb3AgPSAhIXJvb3QuY2hpbGRyZW5bMV0ubWF0Y2hlcygnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnKTtcbiAgICAgICAgaWYgKHRvVG9wICYmICFpc1RvcCkge1xuICAgICAgICAgIGNvbnN0IGZyYWdtZW50ID0gdGhpcy4jZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKHNjcm9sbGJhcik7XG4gICAgICAgICAgaGVhZGVyLmFmdGVyKGZyYWdtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICghdG9Ub3AgJiYgaXNUb3ApIHtcbiAgICAgICAgICBjb25zdCBmcmFnbWVudCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChzY3JvbGxiYXIpO1xuICAgICAgICAgIGZsb2F0aW5nQm90dG9tLmFmdGVyKGZyYWdtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgY2xhc3M9XCJuYXYtYW5jaG9yXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW2lkXT1cImJlZm9yZUFuY2hvcklkXCJcbiAgKGZvY3VzaW4pPVwib25BbmNob3JGb2N1cygkZXZlbnQpXCJcbj5cbjwvc3Bhbj5cbjxkaXZcbiAgY2xhc3M9XCJza3ktYWctZ3JpZFwiXG4gIFtjbGFzcy5za3ktYWctZ3JpZC10b3Atc2Nyb2xsYmFyXT1cIlxuICAgIGFnR3JpZD8uZ3JpZE9wdGlvbnM/LmNvbnRleHQgJiZcbiAgICBhZ0dyaWQ/LmdyaWRPcHRpb25zPy5jb250ZXh0WydlbmFibGVUb3BTY3JvbGwnXVxuICBcIlxuICBbbmdDbGFzc109XCJ3cmFwcGVyQ2xhc3NlcyQgfCBhc3luY1wiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFtpZF09XCJncmlkSWRcIlxuICBbc2t5Vmlld2tlZXBlcl09XCJ2aWV3a2VlcGVyQ2xhc3Nlc1wiXG4gIChrZXlkb3duKT1cIm9uR3JpZEtleWRvd24oJGV2ZW50KVwiXG4gIChrZXl1cC5lc2NhcGUpPVwib25LZXlVcEVzY2FwZSgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48c3BhblxuICB0YWJpbmRleD1cIjBcIlxuICBjbGFzcz1cIm5hdi1hbmNob3JcIlxuICBbaWRdPVwiYWZ0ZXJBbmNob3JJZFwiXG4gIChmb2N1c2luKT1cIm9uQW5jaG9yRm9jdXMoJGV2ZW50KVwiXG4+XG48L3NwYW4+XG4iXX0=
@@ -27,8 +27,8 @@ import { SkyAgGridHeaderComponent } from './header/header.component';
27
27
  import * as i0 from "@angular/core";
28
28
  export class SkyAgGridModule {
29
29
  }
30
- SkyAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
- SkyAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridModule, declarations: [SkyAgGridDataManagerAdapterDirective,
30
+ SkyAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
+ SkyAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridModule, declarations: [SkyAgGridDataManagerAdapterDirective,
32
32
  SkyAgGridHeaderComponent,
33
33
  SkyAgGridHeaderGroupComponent,
34
34
  SkyAgGridRowDeleteComponent,
@@ -57,7 +57,7 @@ SkyAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
57
57
  SkyAgGridWrapperComponent,
58
58
  SkyAgGridHeaderComponent,
59
59
  SkyAgGridHeaderGroupComponent] });
60
- SkyAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridModule, imports: [AgGridModule,
60
+ SkyAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridModule, imports: [AgGridModule,
61
61
  CommonModule,
62
62
  SkyAgGridCellEditorAutocompleteModule,
63
63
  SkyAgGridCellEditorDatepickerModule,
@@ -76,7 +76,7 @@ SkyAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
76
76
  SkyInlineDeleteModule,
77
77
  SkyViewkeeperModule,
78
78
  SkyThemeModule] });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridModule, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyAgGridModule, decorators: [{
80
80
  type: NgModule,
81
81
  args: [{
82
82
  declarations: [
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
118
118
  ],
119
119
  }]
120
120
  }] });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQzFILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzVILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLHlGQUF5RixDQUFDO0FBQ3RKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQXlDckUsTUFBTSxPQUFPLGVBQWU7OzZHQUFmLGVBQWU7OEdBQWYsZUFBZSxpQkFyQ3hCLG9DQUFvQztRQUNwQyx3QkFBd0I7UUFDeEIsNkJBQTZCO1FBQzdCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IseUJBQXlCLGFBR3pCLFlBQVk7UUFDWixZQUFZO1FBQ1oscUNBQXFDO1FBQ3JDLG1DQUFtQztRQUNuQywrQkFBK0I7UUFDL0IsK0JBQStCO1FBQy9CLGlDQUFpQztRQUNqQyxtQ0FBbUM7UUFDbkMsaUNBQWlDO1FBQ2pDLHNDQUFzQztRQUN0QywyQ0FBMkM7UUFDM0MsNEJBQTRCO1FBQzVCLDZCQUE2QjtRQUM3QixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGNBQWMsYUFHZCxvQ0FBb0M7UUFDcEMsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLDZCQUE2Qjs4R0FHcEIsZUFBZSxZQTdCeEIsWUFBWTtRQUNaLFlBQVk7UUFDWixxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLCtCQUErQjtRQUMvQiwrQkFBK0I7UUFDL0IsaUNBQWlDO1FBQ2pDLG1DQUFtQztRQUNuQyxpQ0FBaUM7UUFDakMsc0NBQXNDO1FBQ3RDLDJDQUEyQztRQUMzQyw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsYUFBYTtRQUNiLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsY0FBYzs0RkFXTCxlQUFlO2tCQXZDM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0NBQW9DO3dCQUNwQyx3QkFBd0I7d0JBQ3hCLDZCQUE2Qjt3QkFDN0IsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixxQ0FBcUM7d0JBQ3JDLG1DQUFtQzt3QkFDbkMsK0JBQStCO3dCQUMvQiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyxpQ0FBaUM7d0JBQ2pDLHNDQUFzQzt3QkFDdEMsMkNBQTJDO3dCQUMzQyw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFDN0Isb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9DQUFvQzt3QkFDcEMsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvZGF0YS1tYW5hZ2VyJztcbmltcG9ydCB7IFNreUkxOG5Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5SW5saW5lRGVsZXRlTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5cbmltcG9ydCB7IFNreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXJvdy1kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1jdXJyZW5jeS9jZWxsLWVkaXRvci1jdXJyZW5jeS5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1kYXRlcGlja2VyL2NlbGwtZWRpdG9yLWRhdGVwaWNrZXIubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JMb29rdXBNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1sb29rdXAvY2VsbC1lZGl0b3ItbG9va3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyTW9kdWxlIH0gZnJvbSAnLi9jZWxsLWVkaXRvcnMvY2VsbC1lZGl0b3ItbnVtYmVyL2NlbGwtZWRpdG9yLW51bWJlci5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclRleHRNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci10ZXh0L2NlbGwtZWRpdG9yLXRleHQubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5TW9kdWxlIH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5L2NlbGwtcmVuZGVyZXItY3VycmVuY3kubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cE1vZHVsZSB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1sb29rdXAvY2VsbC1yZW5kZXJlci1sb29rdXAubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcC9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yTW9kdWxlIH0gZnJvbSAnLi9jZWxsLXZhbGlkYXRvci9hZy1ncmlkLWNlbGwtdmFsaWRhdG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlckRpcmVjdGl2ZSxcbiAgICBTa3lBZ0dyaWRIZWFkZXJDb21wb25lbnQsXG4gICAgU2t5QWdHcmlkSGVhZGVyR3JvdXBDb21wb25lbnQsXG4gICAgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50LFxuICAgIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZSxcbiAgICBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQWdHcmlkTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxFZGl0b3JEYXRlcGlja2VyTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxFZGl0b3JMb29rdXBNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbEVkaXRvck51bWJlck1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyQ3VycmVuY3lNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyTG9va3VwTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxSZW5kZXJlclZhbGlkYXRvclRvb2x0aXBNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbFZhbGlkYXRvck1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsRWRpdG9yVGV4dE1vZHVsZSxcbiAgICBTa3lEYXRhTWFuYWdlck1vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5SW5saW5lRGVsZXRlTW9kdWxlLFxuICAgIFNreVZpZXdrZWVwZXJNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lBZ0dyaWREYXRhTWFuYWdlckFkYXB0ZXJEaXJlY3RpdmUsXG4gICAgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50LFxuICAgIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZSxcbiAgICBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50LFxuICAgIFNreUFnR3JpZEhlYWRlckNvbXBvbmVudCxcbiAgICBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkTW9kdWxlIHt9XG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQzFILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzVILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLHlGQUF5RixDQUFDO0FBQ3RKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQXlDckUsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFyQ3hCLG9DQUFvQztRQUNwQyx3QkFBd0I7UUFDeEIsNkJBQTZCO1FBQzdCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IseUJBQXlCLGFBR3pCLFlBQVk7UUFDWixZQUFZO1FBQ1oscUNBQXFDO1FBQ3JDLG1DQUFtQztRQUNuQywrQkFBK0I7UUFDL0IsK0JBQStCO1FBQy9CLGlDQUFpQztRQUNqQyxtQ0FBbUM7UUFDbkMsaUNBQWlDO1FBQ2pDLHNDQUFzQztRQUN0QywyQ0FBMkM7UUFDM0MsNEJBQTRCO1FBQzVCLDZCQUE2QjtRQUM3QixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGNBQWMsYUFHZCxvQ0FBb0M7UUFDcEMsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLDZCQUE2Qjs2R0FHcEIsZUFBZSxZQTdCeEIsWUFBWTtRQUNaLFlBQVk7UUFDWixxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLCtCQUErQjtRQUMvQiwrQkFBK0I7UUFDL0IsaUNBQWlDO1FBQ2pDLG1DQUFtQztRQUNuQyxpQ0FBaUM7UUFDakMsc0NBQXNDO1FBQ3RDLDJDQUEyQztRQUMzQyw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsYUFBYTtRQUNiLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsY0FBYzsyRkFXTCxlQUFlO2tCQXZDM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0NBQW9DO3dCQUNwQyx3QkFBd0I7d0JBQ3hCLDZCQUE2Qjt3QkFDN0IsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixxQ0FBcUM7d0JBQ3JDLG1DQUFtQzt3QkFDbkMsK0JBQStCO3dCQUMvQiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyxpQ0FBaUM7d0JBQ2pDLHNDQUFzQzt3QkFDdEMsMkNBQTJDO3dCQUMzQyw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFDN0Isb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9DQUFvQzt3QkFDcEMsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvZGF0YS1tYW5hZ2VyJztcbmltcG9ydCB7IFNreUkxOG5Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5SW5saW5lRGVsZXRlTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5cbmltcG9ydCB7IFNreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXJvdy1kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1jdXJyZW5jeS9jZWxsLWVkaXRvci1jdXJyZW5jeS5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1kYXRlcGlja2VyL2NlbGwtZWRpdG9yLWRhdGVwaWNrZXIubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JMb29rdXBNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1sb29rdXAvY2VsbC1lZGl0b3ItbG9va3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyTW9kdWxlIH0gZnJvbSAnLi9jZWxsLWVkaXRvcnMvY2VsbC1lZGl0b3ItbnVtYmVyL2NlbGwtZWRpdG9yLW51bWJlci5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclRleHRNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci10ZXh0L2NlbGwtZWRpdG9yLXRleHQubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5TW9kdWxlIH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5L2NlbGwtcmVuZGVyZXItY3VycmVuY3kubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cE1vZHVsZSB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1sb29rdXAvY2VsbC1yZW5kZXJlci1sb29rdXAubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcC9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yTW9kdWxlIH0gZnJvbSAnLi9jZWxsLXZhbGlkYXRvci9hZy1ncmlkLWNlbGwtdmFsaWRhdG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlckRpcmVjdGl2ZSxcbiAgICBTa3lBZ0dyaWRIZWFkZXJDb21wb25lbnQsXG4gICAgU2t5QWdHcmlkSGVhZGVyR3JvdXBDb21wb25lbnQsXG4gICAgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50LFxuICAgIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZSxcbiAgICBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQWdHcmlkTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxFZGl0b3JEYXRlcGlja2VyTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxFZGl0b3JMb29rdXBNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbEVkaXRvck51bWJlck1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyQ3VycmVuY3lNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyTG9va3VwTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxSZW5kZXJlclZhbGlkYXRvclRvb2x0aXBNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbFZhbGlkYXRvck1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsRWRpdG9yVGV4dE1vZHVsZSxcbiAgICBTa3lEYXRhTWFuYWdlck1vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5SW5saW5lRGVsZXRlTW9kdWxlLFxuICAgIFNreVZpZXdrZWVwZXJNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lBZ0dyaWREYXRhTWFuYWdlckFkYXB0ZXJEaXJlY3RpdmUsXG4gICAgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50LFxuICAgIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZSxcbiAgICBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50LFxuICAgIFNreUFnR3JpZEhlYWRlckNvbXBvbmVudCxcbiAgICBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkTW9kdWxlIHt9XG4iXX0=