@coolon/angular-ui-powerups 16.1.0-aplpha.98 → 16.1.0-aplpha.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/assets/table.scss CHANGED
@@ -29,8 +29,22 @@
29
29
  }
30
30
 
31
31
  tr.mat-mdc-footer-row {
32
- height: auto;
33
32
  min-height: 0;
33
+ > td {
34
+ aup-table-footer-row {
35
+ // same as mat-md-cell
36
+ border-top-color: var(--mat-table-row-item-outline-color, rgba(0, 0, 0, 0.12));
37
+ border-top-width: var(--mat-table-row-item-outline-width, 1px);
38
+ border-top-style: solid;
39
+
40
+ padding: 0 var(--resolved-first-column-padding-left) var(--resolved-last-column-padding-right);
41
+ height: var(--resolved-row-height);
42
+ &.no-padding {
43
+ padding: 0;
44
+ height: auto;
45
+ }
46
+ }
47
+ }
34
48
  }
35
49
 
36
50
  .mdc-data-table__cell, .mdc-data-table__header-cell {
@@ -66,6 +66,7 @@ import { SelectionHeaderCellComponent } from './tables/renderer/select-header-ce
66
66
  import { SelectionCellComponent } from './tables/renderer/selection-cell/selection-cell.component';
67
67
  import { TableBodyComponent, TableRowAttributesDirective } from './tables/renderer/table-body/table-body.component';
68
68
  import { TableCellComponent } from './tables/renderer/table-cell/table-cell.component';
69
+ import { TableFooterRow } from "./tables/renderer/table-footer-row/table-footer-row.component";
69
70
  import { TableHeaderCellComponent } from './tables/renderer/table-header-cell/table-header-cell.component';
70
71
  import { TableMoreMenuPopupComponent } from "./tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component";
71
72
  import { TableMoreMenuComponent } from "./tables/renderer/table-more-menu/table-more-menu.component";
@@ -135,7 +136,8 @@ export class ComponentsModule {
135
136
  TableBodyComponent,
136
137
  TableMoreMenuComponent,
137
138
  TableMoreMenuPopupComponent,
138
- SearchInputComponent], imports: [CommonModule,
139
+ SearchInputComponent,
140
+ TableFooterRow], imports: [CommonModule,
139
141
  BrowserAnimationsModule,
140
142
  FormsModule,
141
143
  MatInputModule,
@@ -156,7 +158,8 @@ export class ComponentsModule {
156
158
  MatProgressSpinnerModule,
157
159
  MatProgressBarModule,
158
160
  ScrollingModule,
159
- TableVirtualScrollModule], exports: [NumberInputComponent,
161
+ TableVirtualScrollModule], exports: [TableFooterRow,
162
+ NumberInputComponent,
160
163
  StringInputComponent,
161
164
  TextInputComponent,
162
165
  PasswordInputComponent,
@@ -306,9 +309,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
306
309
  TableBodyComponent,
307
310
  TableMoreMenuComponent,
308
311
  TableMoreMenuPopupComponent,
309
- SearchInputComponent
312
+ SearchInputComponent,
313
+ TableFooterRow
310
314
  ],
311
315
  exports: [
316
+ TableFooterRow,
312
317
  NumberInputComponent,
313
318
  StringInputComponent,
314
319
  TextInputComponent,
@@ -356,4 +361,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
356
361
  ]
357
362
  }]
358
363
  }] });
359
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDekYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDdkYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFDTCwwQkFBMEIsRUFDM0IsTUFBTSwrRUFBK0UsQ0FBQztBQUN2RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUNwRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN4QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQ3JILE9BQU8sRUFDTCxrQ0FBa0MsRUFDbkMsTUFBTSx1RkFBdUYsQ0FBQztBQUMvRixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUNsSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUdqRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNsSCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNyRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN6RyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzVCLE1BQU0seUZBQXlGLENBQUM7QUFDakcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDbkcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQ3ZILE9BQU8sRUFDTCw4QkFBOEIsRUFDL0IsTUFBTSxpRkFBaUYsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQzs7QUFzSTlHLE1BQU0sT0FBTyxnQkFBZ0I7dUdBQWhCLGdCQUFnQjt3R0FBaEIsZ0JBQWdCLGlCQTFHekIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQiwwQkFBMEI7WUFDMUIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQiw0QkFBNEI7WUFDNUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLHVCQUF1QjtZQUN2QiwrQkFBK0I7WUFDL0Isa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsMkJBQTJCO1lBQzNCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsNEJBQTRCO1lBQzVCLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsNEJBQTRCO1lBQzVCLGtDQUFrQztZQUNsQyx3QkFBd0I7WUFDeEIsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsa0JBQWtCO1lBQ2xCLDRCQUE0QjtZQUM1Qiw4QkFBOEI7WUFDOUIsb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLDhCQUE4QjtZQUM5QixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQixvQkFBb0IsYUFoRnBCLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsV0FBVztZQUNYLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsY0FBYztZQUNkLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsZUFBZTtZQUNmLHdCQUF3QixhQThEeEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQix3QkFBd0I7WUFDeEIsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLHVCQUF1QjtZQUN2QiwrQkFBK0I7WUFDL0Isa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2QixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLHFCQUFxQjtZQUNyQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIsaUJBQWlCO1lBQ2pCLHNCQUFzQjtZQUN0QiwyQkFBMkI7WUFDM0Isb0JBQW9CO3dHQVFYLGdCQUFnQixhQU5oQjtZQUNULG1CQUFtQjtZQUNuQixlQUFlO1NBQ2hCLFlBL0hDLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsV0FBVztZQUNYLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsY0FBYztZQUNkLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsZUFBZTtZQUNmLHdCQUF3Qjs7MkZBNkdmLGdCQUFnQjtrQkFwSTVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixXQUFXO3dCQUNYLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLHdCQUF3QjtxQkFDekI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2QiwrQkFBK0I7d0JBQy9CLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsa0NBQWtDO3dCQUNsQyx3QkFBd0I7d0JBQ3hCLGFBQWE7d0JBQ2Isc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGtCQUFrQjt3QkFDbEIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsOEJBQThCO3dCQUM5QixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4QixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIseUJBQXlCO3dCQUN6QixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQixvQkFBb0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCO2lCQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQb3J0YWxNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtDZGtTY3JvbGxhYmxlTW9kdWxlLCBTY3JvbGxpbmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdENoZWNrYm94TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQge01hdERpdmlkZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7TWF0TWVudU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge01hdFByb2dyZXNzQmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHtNYXRTZWxlY3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQge01hdFRhYnNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7QnJvd3NlckFuaW1hdGlvbnNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1RhYmxlVmlydHVhbFNjcm9sbE1vZHVsZX0gZnJvbSBcIm5nLXRhYmxlLXZpcnR1YWwtc2Nyb2xsXCI7XG5pbXBvcnQge0RpcmVjdGl2ZXNNb2R1bGV9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUnO1xuaW1wb3J0IHtGb2N1c0JpbmRpbmdGYWN0b3J5fSBmcm9tICcuLi9kaXJlY3RpdmVzL2ZvY3VzLWJpbmRpbmctZmFjdG9yeSc7XG5pbXBvcnQge01hcmtkb3duU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbWFya2Rvd24vbWFya2Rvd24uc2VydmljZSc7XG5pbXBvcnQge0J1c3lPdmVybGF5Q29tcG9uZW50fSBmcm9tICcuL2J1c3ktb3ZlcmxheS9idXN5LW92ZXJsYXkuY29tcG9uZW50JztcbmltcG9ydCB7QWJzdHJhY3RDYXJkQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2NhcmRzL2Fic3RyYWN0LWNhcmQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0NhcmRDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vY2FyZHMvY2FyZC1jb250YWluZXIvY2FyZC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7Q29tbWFuZEZhY2VDb21wb25lbnR9IGZyb20gJy4vY29tbWFuZHMvY29tbWFuZC1mYWNlL2NvbW1hbmQtZmFjZS5jb21wb25lbnQnO1xuaW1wb3J0IHtDb21tYW5kQ29tcG9uZW50fSBmcm9tICcuL2NvbW1hbmRzL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnQnO1xuaW1wb3J0IHtGbGV4Q29tcG9uZW50fSBmcm9tICcuL2NvbW1hbmRzL2ZsZXguY29tcG9uZW50JztcbmltcG9ydCB7QWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnR9IGZyb20gJy4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9hYnN0cmFjdC1wb3B1cC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge01vcmVNZW51Q29tcG9uZW50fSBmcm9tICcuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvbW9yZS1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQb3B1cE1lbnVSZW5kZXJlckNvbXBvbmVudFxufSBmcm9tICcuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvcG9wdXAtbWVudS1yZW5kZXJlci9wb3B1cC1tZW51LXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1BvcHVwTWVudUNvbXBvbmVudH0gZnJvbSAnLi9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L3BvcHVwLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7VG9vbEJhckNvbXBvbmVudH0gZnJvbSAnLi9jb21tYW5kcy9ncm91cC90b29sLWJhci90b29sLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtTZXBhcmF0b3JDb21wb25lbnR9IGZyb20gJy4vY29tbWFuZHMvc2VwYXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge0VtcHR5U3RhdGVDb21wb25lbnR9IGZyb20gJy4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7Rm9jdXNDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vZm9jdXMtY29udGFpbmVyL2ZvY3VzLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtGb2N1c2FibGVDb21wb25lbnR9IGZyb20gJy4vZm9jdXNhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQge0Fic3RyYWN0SW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvYWJzdHJhY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7QWJzdHJhY3RMaXN0SW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvYWJzdHJhY3QtbGlzdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvYWJzdHJhY3QtdmFsdWUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7QXV0b2NvbXBsZXRlSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvYXV0b2NvbXBsZXRlLWlucHV0L2F1dG9jb21wbGV0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtDaGVja2JveElucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL2NoZWNrYm94LWlucHV0L2NoZWNrYm94LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge011bHRpcGxlU2VsZWN0SW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvbXVsdGlwbGUtc2VsZWN0LWlucHV0L211bHRpcGxlLXNlbGVjdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtOdW1iZXJJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9mb3Jtcy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1Bhc3N3b3JkSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7U2VhcmNoSW5wdXRDb21wb25lbnR9IGZyb20gXCIuL2Zvcm1zL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50XCI7XG5pbXBvcnQge1NlbGVjdElucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7U3RyaW5nSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvc3RyaW5nLWlucHV0L3N0cmluZy1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0SW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0ljb25Db21wb25lbnR9IGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQge0xhYmVsbGVkVmFsdWVDb21wb25lbnR9IGZyb20gJy4vbGFiZWxsZWQtdmFsdWUvbGFiZWxsZWQtdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7TG9hZGluZ0NvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi9sb2FkaW5nLWNvbnRhaW5lci9sb2FkaW5nLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtOb29wQ29tcG9uZW50fSBmcm9tICcuL25vb3Avbm9vcC5jb21wb25lbnQnO1xuaW1wb3J0IHtTY3JvbGxDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vc2Nyb2xsLWNvbnRhaW5lci9zY3JvbGwtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlY3Rpb25IZWFkZXJDb21wb25lbnR9IGZyb20gJy4vc2VjdGlvbi1oZWFkZXIvc2VjdGlvbi1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFN3aXRjaENhc2VDb21wb25lbnQsXG4gIFN3aXRjaENhc2VEZWZhdWx0RGlyZWN0aXZlLFxuICBTd2l0Y2hDYXNlV2hlbkRpcmVjdGl2ZVxufSBmcm9tICcuL3N3aXRjaC1jYXNlL3N3aXRjaC1jYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0Fic3RyYWN0VGFibGVDb21wb25lbnR9IGZyb20gJy4vdGFibGVzL2Fic3RyYWN0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbHVtblRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tICcuL3RhYmxlcy9jb2x1bW4vY29sdW1uLXRlbXBsYXRlL2NvbHVtbi10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFZGl0Um93Q29udHJvbHNDb21wb25lbnR9IGZyb20gJy4vdGFibGVzL2VkaXRvci9lZGl0LXJvdy1jb250cm9scy9lZGl0LXJvdy1jb250cm9scy5jb21wb25lbnQnO1xuaW1wb3J0IHtQYWdpbmF0b3JDb21wb25lbnR9IGZyb20gJy4vdGFibGVzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7RGVmYXVsdENlbGxSZW5kZXJlckNvbXBvbmVudH0gZnJvbSAnLi90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudFxufSBmcm9tICcuL3RhYmxlcy9yZW5kZXJlci9kZWZhdWx0LWhlYWRlci1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0aW9uSGVhZGVyQ2VsbENvbXBvbmVudH0gZnJvbSAnLi90YWJsZXMvcmVuZGVyZXIvc2VsZWN0LWhlYWRlci1jZWxsL3NlbGVjdGlvbi1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3Rpb25DZWxsQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy9yZW5kZXJlci9zZWxlY3Rpb24tY2VsbC9zZWxlY3Rpb24tY2VsbC5jb21wb25lbnQnO1xuXG5cbmltcG9ydCB7VGFibGVCb2R5Q29tcG9uZW50LCBUYWJsZVJvd0F0dHJpYnV0ZXNEaXJlY3RpdmV9IGZyb20gJy4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWJvZHkvdGFibGUtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJsZUNlbGxDb21wb25lbnR9IGZyb20gJy4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWNlbGwvdGFibGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJsZUhlYWRlckNlbGxDb21wb25lbnR9IGZyb20gJy4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWhlYWRlci1jZWxsL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnRcbn0gZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUtcG9wdXAvdGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUYWJsZU1vcmVNZW51Q29tcG9uZW50fSBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtbW9yZS1tZW51L3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7VGFibGVSb3dNZW51Q29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy90YWJsZS1yb3ctbWVudS90YWJsZS1yb3ctbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJsZUNvbXBvbmVudH0gZnJvbSAnLi90YWJsZXMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7VHJlZUluaGVyaXRhbmNlSWNvbkNvbXBvbmVudH0gZnJvbSAnLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLWluaGVyaXRhbmNlLWljb24vdHJlZS1pbmhlcml0YW5jZS1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBUcmVlTGFiZWxDZWxsUmVuZGVyZXJDb21wb25lbnRcbn0gZnJvbSAnLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLWxhYmVsLWNlbGwtcmVuZGVyZXIvdHJlZS1sYWJlbC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1RyZWVUYWJsZUNvbXBvbmVudH0gZnJvbSAnLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLXRhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQge01hcmtkb3duQ29tcG9uZW50fSBmcm9tICcuL3RleHQvbWFya2Rvd24vbWFya2Rvd24uY29tcG9uZW50JztcbmltcG9ydCB7VmVydGljYWxGb2N1c0NvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi92ZXJ0aWNhbC1mb2N1cy1jb250YWluZXIvdmVydGljYWwtZm9jdXMtY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIENka1Njcm9sbGFibGVNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBTY3JvbGxpbmdNb2R1bGUsXG4gICAgVGFibGVWaXJ0dWFsU2Nyb2xsTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFic3RyYWN0SW5wdXRDb21wb25lbnQsXG4gICAgQWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50LFxuICAgIEFic3RyYWN0TGlzdElucHV0Q29tcG9uZW50LFxuICAgIE51bWJlcklucHV0Q29tcG9uZW50LFxuICAgIFN0cmluZ0lucHV0Q29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBQYXNzd29yZElucHV0Q29tcG9uZW50LFxuICAgIFNlbGVjdElucHV0Q29tcG9uZW50LFxuICAgIE11bHRpcGxlU2VsZWN0SW5wdXRDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlSW5wdXRDb21wb25lbnQsXG4gICAgQ2hlY2tib3hJbnB1dENvbXBvbmVudCxcbiAgICBTY3JvbGxDb250YWluZXJDb21wb25lbnQsXG4gICAgTm9vcENvbXBvbmVudCxcbiAgICBTd2l0Y2hDYXNlQ29tcG9uZW50LFxuICAgIFN3aXRjaENhc2VXaGVuRGlyZWN0aXZlLFxuICAgIFN3aXRjaENhc2VEZWZhdWx0RGlyZWN0aXZlLFxuICAgIEZvY3VzQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFZlcnRpY2FsRm9jdXNDb250YWluZXJDb21wb25lbnQsXG4gICAgRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgIENhcmRDb250YWluZXJDb21wb25lbnQsXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgVGFibGVSb3dBdHRyaWJ1dGVzRGlyZWN0aXZlLFxuICAgIEVkaXRSb3dDb250cm9sc0NvbXBvbmVudCxcbiAgICBDb2x1bW5UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFRhYmxlQ2VsbENvbXBvbmVudCxcbiAgICBTZWxlY3Rpb25DZWxsQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbkhlYWRlckNlbGxDb21wb25lbnQsXG4gICAgRGVmYXVsdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCxcbiAgICBUYWJsZUhlYWRlckNlbGxDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBTZWN0aW9uSGVhZGVyQ29tcG9uZW50LFxuICAgIFRhYmxlUm93TWVudUNvbXBvbmVudCxcbiAgICBUb29sQmFyQ29tcG9uZW50LFxuICAgIENvbW1hbmRDb21wb25lbnQsXG4gICAgUG9wdXBNZW51Q29tcG9uZW50LFxuICAgIENvbW1hbmRGYWNlQ29tcG9uZW50LFxuICAgIE1vcmVNZW51Q29tcG9uZW50LFxuICAgIFNlcGFyYXRvckNvbXBvbmVudCxcbiAgICBGbGV4Q29tcG9uZW50LFxuICAgIEFic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50LFxuICAgIFBvcHVwTWVudVJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFRyZWVUYWJsZUNvbXBvbmVudCxcbiAgICBUcmVlSW5oZXJpdGFuY2VJY29uQ29tcG9uZW50LFxuICAgIFRyZWVMYWJlbENlbGxSZW5kZXJlckNvbXBvbmVudCxcbiAgICBCdXN5T3ZlcmxheUNvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBBYnN0cmFjdFRhYmxlQ29tcG9uZW50LFxuICAgIEFic3RyYWN0Q2FyZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBMYWJlbGxlZFZhbHVlQ29tcG9uZW50LFxuICAgIExvYWRpbmdDb250YWluZXJDb21wb25lbnQsXG4gICAgTWFya2Rvd25Db21wb25lbnQsXG4gICAgVGFibGVCb2R5Q29tcG9uZW50LFxuICAgIFRhYmxlTW9yZU1lbnVDb21wb25lbnQsXG4gICAgVGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50LFxuICAgIFNlYXJjaElucHV0Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOdW1iZXJJbnB1dENvbXBvbmVudCxcbiAgICBTdHJpbmdJbnB1dENvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgUGFzc3dvcmRJbnB1dENvbXBvbmVudCxcbiAgICBDaGVja2JveElucHV0Q29tcG9uZW50LFxuICAgIFNlbGVjdElucHV0Q29tcG9uZW50LFxuICAgIE11bHRpcGxlU2VsZWN0SW5wdXRDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlSW5wdXRDb21wb25lbnQsXG4gICAgU2Nyb2xsQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIE5vb3BDb21wb25lbnQsXG4gICAgU3dpdGNoQ2FzZUNvbXBvbmVudCxcbiAgICBTd2l0Y2hDYXNlV2hlbkRpcmVjdGl2ZSxcbiAgICBTd2l0Y2hDYXNlRGVmYXVsdERpcmVjdGl2ZSxcbiAgICBGb2N1c0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBWZXJ0aWNhbEZvY3VzQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgICBDYXJkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIEVkaXRSb3dDb250cm9sc0NvbXBvbmVudCxcbiAgICBDb2x1bW5UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIFNlY3Rpb25IZWFkZXJDb21wb25lbnQsXG4gICAgVGFibGVSb3dNZW51Q29tcG9uZW50LFxuICAgIFRvb2xCYXJDb21wb25lbnQsXG4gICAgQ29tbWFuZENvbXBvbmVudCxcbiAgICBQb3B1cE1lbnVDb21wb25lbnQsXG4gICAgQ29tbWFuZEZhY2VDb21wb25lbnQsXG4gICAgTW9yZU1lbnVDb21wb25lbnQsXG4gICAgU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgIEZsZXhDb21wb25lbnQsXG4gICAgVHJlZVRhYmxlQ29tcG9uZW50LFxuICAgIEJ1c3lPdmVybGF5Q29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIExhYmVsbGVkVmFsdWVDb21wb25lbnQsXG4gICAgTG9hZGluZ0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNYXJrZG93bkNvbXBvbmVudCxcbiAgICBUYWJsZU1vcmVNZW51Q29tcG9uZW50LFxuICAgIFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudCxcbiAgICBTZWFyY2hJbnB1dENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb2N1c0JpbmRpbmdGYWN0b3J5LFxuICAgIE1hcmtkb3duU2VydmljZVxuICBdXG5cbn0pXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50c01vZHVsZSB7XG5cbn1cbiJdfQ==
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxF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QWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3FCQUNyQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsbUJBQW1CO3dCQUNuQixlQUFlO3FCQUNoQjtpQkFFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UG9ydGFsTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7Q2RrU2Nyb2xsYWJsZU1vZHVsZSwgU2Nyb2xsaW5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtNYXRUYWJsZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHtNYXRUYWJzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7TWF0VG9vbHRpcE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQge0Jyb3dzZXJBbmltYXRpb25zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUYWJsZVZpcnR1YWxTY3JvbGxNb2R1bGV9IGZyb20gXCJuZy10YWJsZS12aXJ0dWFsLXNjcm9sbFwiO1xuaW1wb3J0IHtEaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7Rm9jdXNCaW5kaW5nRmFjdG9yeX0gZnJvbSAnLi4vZGlyZWN0aXZlcy9mb2N1cy1iaW5kaW5nLWZhY3RvcnknO1xuaW1wb3J0IHtNYXJrZG93blNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHtCdXN5T3ZlcmxheUNvbXBvbmVudH0gZnJvbSAnLi9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge0Fic3RyYWN0Q2FyZENvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi9jYXJkcy9hYnN0cmFjdC1jYXJkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtDYXJkQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2NhcmRzL2NhcmQtY29udGFpbmVyL2NhcmQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1hbmRGYWNlQ29tcG9uZW50fSBmcm9tICcuL2NvbW1hbmRzL2NvbW1hbmQtZmFjZS9jb21tYW5kLWZhY2UuY29tcG9uZW50JztcbmltcG9ydCB7Q29tbWFuZENvbXBvbmVudH0gZnJvbSAnLi9jb21tYW5kcy9jb21tYW5kL2NvbW1hbmQuY29tcG9uZW50JztcbmltcG9ydCB7RmxleENvbXBvbmVudH0gZnJvbSAnLi9jb21tYW5kcy9mbGV4LmNvbXBvbmVudCc7XG5pbXBvcnQge0Fic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50fSBmcm9tICcuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtNb3JlTWVudUNvbXBvbmVudH0gZnJvbSAnLi9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L21vcmUtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUG9wdXBNZW51UmVuZGVyZXJDb21wb25lbnRcbn0gZnJvbSAnLi9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L3BvcHVwLW1lbnUtcmVuZGVyZXIvcG9wdXAtbWVudS1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHtQb3B1cE1lbnVDb21wb25lbnR9IGZyb20gJy4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9wb3B1cC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge1Rvb2xCYXJDb21wb25lbnR9IGZyb20gJy4vY29tbWFuZHMvZ3JvdXAvdG9vbC1iYXIvdG9vbC1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7U2VwYXJhdG9yQ29tcG9uZW50fSBmcm9tICcuL2NvbW1hbmRzL3NlcGFyYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtFbXB0eVN0YXRlQ29tcG9uZW50fSBmcm9tICcuL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZvY3VzQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2ZvY3VzLWNvbnRhaW5lci9mb2N1cy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7Rm9jdXNhYmxlQ29tcG9uZW50fSBmcm9tICcuL2ZvY3VzYWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtBYnN0cmFjdElucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL2Fic3RyYWN0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Fic3RyYWN0TGlzdElucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL2Fic3RyYWN0LWxpc3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7QWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL2Fic3RyYWN0LXZhbHVlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0F1dG9jb21wbGV0ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL2F1dG9jb21wbGV0ZS1pbnB1dC9hdXRvY29tcGxldGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7Q2hlY2tib3hJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9mb3Jtcy9jaGVja2JveC1pbnB1dC9jaGVja2JveC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtNdWx0aXBsZVNlbGVjdElucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL211bHRpcGxlLXNlbGVjdC1pbnB1dC9tdWx0aXBsZS1zZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7TnVtYmVySW5wdXRDb21wb25lbnR9IGZyb20gJy4vZm9ybXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtQYXNzd29yZElucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NlYXJjaElucHV0Q29tcG9uZW50fSBmcm9tIFwiLi9mb3Jtcy9zZWFyY2gtaW5wdXQvc2VhcmNoLWlucHV0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTZWxlY3RJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9mb3Jtcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1N0cmluZ0lucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL3N0cmluZy1pbnB1dC9zdHJpbmctaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7VGV4dElucHV0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm1zL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtJY29uQ29tcG9uZW50fSBmcm9tICcuL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtMYWJlbGxlZFZhbHVlQ29tcG9uZW50fSBmcm9tICcuL2xhYmVsbGVkLXZhbHVlL2xhYmVsbGVkLXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQge0xvYWRpbmdDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vbG9hZGluZy1jb250YWluZXIvbG9hZGluZy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7Tm9vcENvbXBvbmVudH0gZnJvbSAnLi9ub29wL25vb3AuY29tcG9uZW50JztcbmltcG9ydCB7U2Nyb2xsQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL3Njcm9sbC1jb250YWluZXIvc2Nyb2xsLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWN0aW9uSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL3NlY3Rpb24taGVhZGVyL3NlY3Rpb24taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBTd2l0Y2hDYXNlQ29tcG9uZW50LFxuICBTd2l0Y2hDYXNlRGVmYXVsdERpcmVjdGl2ZSxcbiAgU3dpdGNoQ2FzZVdoZW5EaXJlY3RpdmVcbn0gZnJvbSAnLi9zd2l0Y2gtY2FzZS9zd2l0Y2gtY2FzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtBYnN0cmFjdFRhYmxlQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy9hYnN0cmFjdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtDb2x1bW5UZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSAnLi90YWJsZXMvY29sdW1uL2NvbHVtbi10ZW1wbGF0ZS9jb2x1bW4tdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7RWRpdFJvd0NvbnRyb2xzQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy9lZGl0b3IvZWRpdC1yb3ctY29udHJvbHMvZWRpdC1yb3ctY29udHJvbHMuY29tcG9uZW50JztcbmltcG9ydCB7UGFnaW5hdG9yQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge0RlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnR9IGZyb20gJy4vdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIERlZmF1bHRIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnRcbn0gZnJvbSAnLi90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci9kZWZhdWx0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGlvbkhlYWRlckNlbGxDb21wb25lbnR9IGZyb20gJy4vdGFibGVzL3JlbmRlcmVyL3NlbGVjdC1oZWFkZXItY2VsbC9zZWxlY3Rpb24taGVhZGVyLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0aW9uQ2VsbENvbXBvbmVudH0gZnJvbSAnLi90YWJsZXMvcmVuZGVyZXIvc2VsZWN0aW9uLWNlbGwvc2VsZWN0aW9uLWNlbGwuY29tcG9uZW50JztcblxuXG5pbXBvcnQge1RhYmxlQm9keUNvbXBvbmVudCwgVGFibGVSb3dBdHRyaWJ1dGVzRGlyZWN0aXZlfSBmcm9tICcuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7VGFibGVDZWxsQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7VGFibGVGb290ZXJSb3d9IGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1mb290ZXItcm93L3RhYmxlLWZvb3Rlci1yb3cuY29tcG9uZW50XCI7XG5pbXBvcnQge1RhYmxlSGVhZGVyQ2VsbENvbXBvbmVudH0gZnJvbSAnLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudFxufSBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtbW9yZS1tZW51L3RhYmxlLW1vcmUtbWVudS1wb3B1cC90YWJsZS1tb3JlLW1lbnUtcG9wdXAuY29tcG9uZW50XCI7XG5pbXBvcnQge1RhYmxlTW9yZU1lbnVDb21wb25lbnR9IGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1tb3JlLW1lbnUvdGFibGUtbW9yZS1tZW51LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUYWJsZVJvd01lbnVDb21wb25lbnR9IGZyb20gJy4vdGFibGVzL3RhYmxlLXJvdy1tZW51L3RhYmxlLXJvdy1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge1RhYmxlQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmVlSW5oZXJpdGFuY2VJY29uQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtaW5oZXJpdGFuY2UtaWNvbi90cmVlLWluaGVyaXRhbmNlLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRyZWVMYWJlbENlbGxSZW5kZXJlckNvbXBvbmVudFxufSBmcm9tICcuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtbGFiZWwtY2VsbC1yZW5kZXJlci90cmVlLWxhYmVsLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7VHJlZVRhYmxlQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtdGFibGUtY29tcG9uZW50JztcbmltcG9ydCB7TWFya2Rvd25Db21wb25lbnR9IGZyb20gJy4vdGV4dC9tYXJrZG93bi9tYXJrZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHtWZXJ0aWNhbEZvY3VzQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL3ZlcnRpY2FsLWZvY3VzLWNvbnRhaW5lci92ZXJ0aWNhbC1mb2N1cy1jb250YWluZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgRGlyZWN0aXZlc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQ2RrU2Nyb2xsYWJsZU1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBUYWJsZVZpcnR1YWxTY3JvbGxNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQWJzdHJhY3RJbnB1dENvbXBvbmVudCxcbiAgICBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQsXG4gICAgQWJzdHJhY3RMaXN0SW5wdXRDb21wb25lbnQsXG4gICAgTnVtYmVySW5wdXRDb21wb25lbnQsXG4gICAgU3RyaW5nSW5wdXRDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIFBhc3N3b3JkSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0SW5wdXRDb21wb25lbnQsXG4gICAgTXVsdGlwbGVTZWxlY3RJbnB1dENvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVJbnB1dENvbXBvbmVudCxcbiAgICBDaGVja2JveElucHV0Q29tcG9uZW50LFxuICAgIFNjcm9sbENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBOb29wQ29tcG9uZW50LFxuICAgIFN3aXRjaENhc2VDb21wb25lbnQsXG4gICAgU3dpdGNoQ2FzZVdoZW5EaXJlY3RpdmUsXG4gICAgU3dpdGNoQ2FzZURlZmF1bHREaXJlY3RpdmUsXG4gICAgRm9jdXNDb250YWluZXJDb21wb25lbnQsXG4gICAgVmVydGljYWxGb2N1c0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGb2N1c2FibGVDb21wb25lbnQsXG4gICAgQ2FyZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBUYWJsZVJvd0F0dHJpYnV0ZXNEaXJlY3RpdmUsXG4gICAgRWRpdFJvd0NvbnRyb2xzQ29tcG9uZW50LFxuICAgIENvbHVtblRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQsXG4gICAgVGFibGVDZWxsQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbkNlbGxDb21wb25lbnQsXG4gICAgU2VsZWN0aW9uSGVhZGVyQ2VsbENvbXBvbmVudCxcbiAgICBEZWZhdWx0SGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIFNlY3Rpb25IZWFkZXJDb21wb25lbnQsXG4gICAgVGFibGVSb3dNZW51Q29tcG9uZW50LFxuICAgIFRvb2xCYXJDb21wb25lbnQsXG4gICAgQ29tbWFuZENvbXBvbmVudCxcbiAgICBQb3B1cE1lbnVDb21wb25lbnQsXG4gICAgQ29tbWFuZEZhY2VDb21wb25lbnQsXG4gICAgTW9yZU1lbnVDb21wb25lbnQsXG4gICAgU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgIEZsZXhDb21wb25lbnQsXG4gICAgQWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnQsXG4gICAgUG9wdXBNZW51UmVuZGVyZXJDb21wb25lbnQsXG4gICAgVHJlZVRhYmxlQ29tcG9uZW50LFxuICAgIFRyZWVJbmhlcml0YW5jZUljb25Db21wb25lbnQsXG4gICAgVHJlZUxhYmVsQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIEJ1c3lPdmVybGF5Q29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIEFic3RyYWN0VGFibGVDb21wb25lbnQsXG4gICAgQWJzdHJhY3RDYXJkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIExhYmVsbGVkVmFsdWVDb21wb25lbnQsXG4gICAgTG9hZGluZ0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNYXJrZG93bkNvbXBvbmVudCxcbiAgICBUYWJsZUJvZHlDb21wb25lbnQsXG4gICAgVGFibGVNb3JlTWVudUNvbXBvbmVudCxcbiAgICBUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gICAgVGFibGVGb290ZXJSb3dcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRhYmxlRm9vdGVyUm93LFxuICAgIE51bWJlcklucHV0Q29tcG9uZW50LFxuICAgIFN0cmluZ0lucHV0Q29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBQYXNzd29yZElucHV0Q29tcG9uZW50LFxuICAgIENoZWNrYm94SW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0SW5wdXRDb21wb25lbnQsXG4gICAgTXVsdGlwbGVTZWxlY3RJbnB1dENvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVJbnB1dENvbXBvbmVudCxcbiAgICBTY3JvbGxDb250YWluZXJDb21wb25lbnQsXG4gICAgTm9vcENvbXBvbmVudCxcbiAgICBTd2l0Y2hDYXNlQ29tcG9uZW50LFxuICAgIFN3aXRjaENhc2VXaGVuRGlyZWN0aXZlLFxuICAgIFN3aXRjaENhc2VEZWZhdWx0RGlyZWN0aXZlLFxuICAgIEZvY3VzQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFZlcnRpY2FsRm9jdXNDb250YWluZXJDb21wb25lbnQsXG4gICAgRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgIENhcmRDb250YWluZXJDb21wb25lbnQsXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgRWRpdFJvd0NvbnRyb2xzQ29tcG9uZW50LFxuICAgIENvbHVtblRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgU2VjdGlvbkhlYWRlckNvbXBvbmVudCxcbiAgICBUYWJsZVJvd01lbnVDb21wb25lbnQsXG4gICAgVG9vbEJhckNvbXBvbmVudCxcbiAgICBDb21tYW5kQ29tcG9uZW50LFxuICAgIFBvcHVwTWVudUNvbXBvbmVudCxcbiAgICBDb21tYW5kRmFjZUNvbXBvbmVudCxcbiAgICBNb3JlTWVudUNvbXBvbmVudCxcbiAgICBTZXBhcmF0b3JDb21wb25lbnQsXG4gICAgRmxleENvbXBvbmVudCxcbiAgICBUcmVlVGFibGVDb21wb25lbnQsXG4gICAgQnVzeU92ZXJsYXlDb21wb25lbnQsXG4gICAgRW1wdHlTdGF0ZUNvbXBvbmVudCxcbiAgICBQYWdpbmF0b3JDb21wb25lbnQsXG4gICAgTGFiZWxsZWRWYWx1ZUNvbXBvbmVudCxcbiAgICBMb2FkaW5nQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIE1hcmtkb3duQ29tcG9uZW50LFxuICAgIFRhYmxlTW9yZU1lbnVDb21wb25lbnQsXG4gICAgVGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50LFxuICAgIFNlYXJjaElucHV0Q29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEZvY3VzQmluZGluZ0ZhY3RvcnksXG4gICAgTWFya2Rvd25TZXJ2aWNlXG4gIF1cblxufSlcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRzTW9kdWxlIHtcblxufVxuIl19
@@ -66,6 +66,7 @@ export * from "./tables/filter/column-text-search-formatter";
66
66
  export * from "./tables/filter/enable-cell-text-search.decorator";
67
67
  export * from "./tables/filter/table-filter-model";
68
68
  export * from "./tables/filter/text-search-predicate";
69
+ export * from "./tables/footer/footer-row-model";
69
70
  export * from "./tables/paginator/paginator.component";
70
71
  export * from "./tables/renderer/cell-editors";
71
72
  export * from "./tables/renderer/cell-portal-ref";
@@ -76,6 +77,7 @@ export * from "./tables/renderer/select-header-cell/selection-header-cell.compon
76
77
  export * from "./tables/renderer/selection-cell/selection-cell.component";
77
78
  export * from "./tables/renderer/table-body/table-body.component";
78
79
  export * from "./tables/renderer/table-cell/table-cell.component";
80
+ export * from "./tables/renderer/table-footer-row/table-footer-row.component";
79
81
  export * from "./tables/renderer/table-header-cell/table-header-cell.component";
80
82
  export * from "./tables/renderer/table-more-menu/table-more-menu.component";
81
83
  export * from "./tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component";
@@ -96,4 +98,4 @@ export * from "./types/dimension.class";
96
98
  export * from "./types/loadable";
97
99
  export * from "./types/point.class";
98
100
  export * from "./vertical-focus-container/vertical-focus-container.component";
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5RUFBeUUsQ0FBQztBQUN4RixjQUFjLHVGQUF1RixDQUFDO0FBQ3RHLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMseUZBQXlGLENBQUM7QUFDeEcsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyRUFBMkUsQ0FBQztBQUMxRixjQUFjLGlGQUFpRixDQUFDO0FBQ2hHLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLCtEQUErRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWxpZ25tZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZvY3VzYWJsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvYWRhYmxlLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVzaXplLWF3YXJlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJhY2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2J1c3ktb3ZlcmxheS9idXN5LW92ZXJsYXkuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jYXJkcy9hYnN0cmFjdC1jYXJkLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhcmRzL2NhcmQtY29udGFpbmVyL2NhcmQtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvY29tbWFuZC1mYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9mbGV4LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvc2VwYXJhdG9yLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvY29tbWFuZC9jb21tYW5kLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvY29tbWFuZC1mYWNlL2NvbW1hbmQtZmFjZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL2NvbW1hbmQtY29udGFpbmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9wb3B1cC1hd2FyZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLWNvbnRhaW5lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9hYnN0cmFjdC1wb3B1cC1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9tb3JlLW1lbnUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L3BvcHVwLW1lbnUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L3BvcHVwLW1lbnUtcmVuZGVyZXIvcG9wdXAtbWVudS1yZW5kZXJlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3Rvb2wtYmFyL3Rvb2wtYmFyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb2N1cy1jb250YWluZXIvZm9jdXMtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvYWJzdHJhY3QtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9hYnN0cmFjdC1saXN0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvYWJzdHJhY3QtdmFsdWUtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9mb3JtLWZpZWxkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9hdXRvY29tcGxldGUtaW5wdXQvYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvY2hlY2tib3gtaW5wdXQvY2hlY2tib3gtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9tdWx0aXBsZS1zZWxlY3QtaW5wdXQvbXVsdGlwbGUtc2VsZWN0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9zdHJpbmctaW5wdXQvc3RyaW5nLWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGFiZWxsZWQtdmFsdWUvbGFiZWxsZWQtdmFsdWUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2FkaW5nLWNvbnRhaW5lci9sb2FkaW5nLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vb3Avbm9vcC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Njcm9sbC1jb250YWluZXIvc2Nyb2xsLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlY3Rpb24taGVhZGVyL3NlY3Rpb24taGVhZGVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3dpdGNoLWNhc2Uvc3dpdGNoLWNhc2UuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvYWJzdHJhY3QtdGFibGUtbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9hYnN0cmFjdC10YWJsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY29sdW1uLW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2NvbHVtbi1vcmRlci1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2NvbHVtbi10ZXh0LXByb3BlcnRpZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY3VzdG9tLXRlbXBsYXRlLWNvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9jdXN0b20tdmFsdWUtY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2VkaXRvci1jb250cm9scy1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vbGlzdC1wcm9wZXJ5LWNvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9wcm9wZXJ0eS1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vc2VsZWN0aW9uLWNvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9jb2x1bW4tdGVtcGxhdGUvY29sdW1uLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2VkaXRvci9lZGl0LXNlc3Npb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9lZGl0b3IvZWRpdGFibGUtY2VsbC1yZW5kZXJlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2VkaXRvci9lZGl0LXJvdy1jb250cm9scy9lZGl0LXJvdy1jb250cm9scy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9maWx0ZXIvY29sdW1uLXRleHQtc2VhcmNoLWZvcm1hdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2ZpbHRlci9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9maWx0ZXIvdGFibGUtZmlsdGVyLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvZmlsdGVyL3RleHQtc2VhcmNoLXByZWRpY2F0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1lZGl0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1wb3J0YWwtcmVmXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1yZW5kZXJlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci9kZWZhdWx0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3NlbGVjdC1oZWFkZXItY2VsbC9zZWxlY3Rpb24taGVhZGVyLWNlbGwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvc2VsZWN0aW9uLWNlbGwvc2VsZWN0aW9uLWNlbGwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWNlbGwvdGFibGUtY2VsbC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1oZWFkZXItY2VsbC90YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1tb3JlLW1lbnUvdGFibGUtbW9yZS1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUtcG9wdXAvdGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RhYmxlL3RhYmxlLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdGFibGUvdGFibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdGFibGUtcm93LW1lbnUvdGFibGUtcm93LW1lbnUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS9kZWNvcmF0ZWQtdHJlZS1ub2RlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS9mbGF0dGVuZWQtdHJlZS1saXN0LW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLWV4cGFuc2lvbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS1sYWJlbC1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtdGFibGUtY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLXRhYmxlLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLWluaGVyaXRhbmNlLWljb24vdHJlZS1pbmhlcml0YW5jZS1pY29uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS1sYWJlbC1jZWxsLXJlbmRlcmVyL3RyZWUtbGFiZWwtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RleHQvbWFya2Rvd24vbWFya2Rvd24uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy9ib3VuZHMuY2xhc3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzL2RpbWVuc2lvbi5jbGFzc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMvbG9hZGFibGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzL3BvaW50LmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJ0aWNhbC1mb2N1cy1jb250YWluZXIvdmVydGljYWwtZm9jdXMtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywrREFBK0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2FsaWdubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Rpc3Bvc2FibGUtY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb2N1c2FibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2FkYWJsZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jlc2l6ZS1hd2FyZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyYWNrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2FyZHMvYWJzdHJhY3QtY2FyZC1jb250YWluZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jYXJkcy9jYXJkLWNvbnRhaW5lci9jYXJkLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2NvbW1hbmQtZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZmxleC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL3NlcGFyYXRvci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2NvbW1hbmQtZmFjZS9jb21tYW5kLWZhY2UuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9jb21tYW5kLWNvbnRhaW5lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtYXdhcmUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9wb3B1cC1jb250YWluZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvbW9yZS1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9wb3B1cC1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9wb3B1cC1tZW51LXJlbmRlcmVyL3BvcHVwLW1lbnUtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC90b29sLWJhci90b29sLWJhci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9jdXMtY29udGFpbmVyL2ZvY3VzLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL2Fic3RyYWN0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvYWJzdHJhY3QtbGlzdC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL2Fic3RyYWN0LXZhbHVlLWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvZm9ybS1maWVsZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvYXV0b2NvbXBsZXRlLWlucHV0L2F1dG9jb21wbGV0ZS1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL2NoZWNrYm94LWlucHV0L2NoZWNrYm94LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvbXVsdGlwbGUtc2VsZWN0LWlucHV0L211bHRpcGxlLXNlbGVjdC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvc3RyaW5nLWlucHV0L3N0cmluZy1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ljb24vaWNvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xhYmVsbGVkLXZhbHVlL2xhYmVsbGVkLXZhbHVlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9hZGluZy1jb250YWluZXIvbG9hZGluZy1jb250YWluZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub29wL25vb3AuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zY3JvbGwtY29udGFpbmVyL3Njcm9sbC1jb250YWluZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZWN0aW9uLWhlYWRlci9zZWN0aW9uLWhlYWRlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N3aXRjaC1jYXNlL3N3aXRjaC1jYXNlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2Fic3RyYWN0LXRhYmxlLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvYWJzdHJhY3QtdGFibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2NvbHVtbi1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2NvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9jb2x1bW4tb3JkZXItbWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9jb2x1bW4tdGV4dC1wcm9wZXJ0aWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2N1c3RvbS10ZW1wbGF0ZS1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY3VzdG9tLXZhbHVlLWNvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9lZGl0b3ItY29udHJvbHMtY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2xpc3QtcHJvcGVyeS1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vcHJvcGVydHktY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL3NlbGVjdGlvbi1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY29sdW1uLXRlbXBsYXRlL2NvbHVtbi10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvZWRpdG9yL2VkaXRhYmxlLWNlbGwtcmVuZGVyZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9lZGl0b3IvZWRpdC1yb3ctY29udHJvbHMvZWRpdC1yb3ctY29udHJvbHMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvZmlsdGVyL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9maWx0ZXIvZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvZmlsdGVyL3RhYmxlLWZpbHRlci1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2ZpbHRlci90ZXh0LXNlYXJjaC1wcmVkaWNhdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9mb290ZXIvZm9vdGVyLXJvdy1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1lZGl0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1wb3J0YWwtcmVmXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1yZW5kZXJlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci9kZWZhdWx0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3NlbGVjdC1oZWFkZXItY2VsbC9zZWxlY3Rpb24taGVhZGVyLWNlbGwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvc2VsZWN0aW9uLWNlbGwvc2VsZWN0aW9uLWNlbGwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWNlbGwvdGFibGUtY2VsbC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1mb290ZXItcm93L3RhYmxlLWZvb3Rlci1yb3cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtbW9yZS1tZW51L3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1tb3JlLW1lbnUvdGFibGUtbW9yZS1tZW51LXBvcHVwL3RhYmxlLW1vcmUtbWVudS1wb3B1cC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90YWJsZS90YWJsZS1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RhYmxlL3RhYmxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RhYmxlLXJvdy1tZW51L3RhYmxlLXJvdy1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvZGVjb3JhdGVkLXRyZWUtbm9kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvZmxhdHRlbmVkLXRyZWUtbGlzdC1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS1leHBhbnNpb24tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtbGFiZWwtY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLXRhYmxlLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS10YWJsZS1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS1pbmhlcml0YW5jZS1pY29uL3RyZWUtaW5oZXJpdGFuY2UtaWNvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtbGFiZWwtY2VsbC1yZW5kZXJlci90cmVlLWxhYmVsLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXh0L21hcmtkb3duL21hcmtkb3duLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMvYm91bmRzLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy9kaW1lbnNpb24uY2xhc3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzL2xvYWRhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy9wb2ludC5jbGFzc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVydGljYWwtZm9jdXMtY29udGFpbmVyL3ZlcnRpY2FsLWZvY3VzLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbiJdfQ==
@@ -11,7 +11,7 @@ import { PropertyColumnModel } from "./column/property-column-model";
11
11
  import { SelectionColumnModel } from "./column/selection-column-model";
12
12
  import { EditSession } from "./editor/edit-session";
13
13
  import { ColumnTextSearchFormatter } from "./filter/column-text-search-formatter";
14
- import { FooterRowPortalRef } from "./renderer/footer-row-portal-ref";
14
+ import { FooterRowModel } from "./footer/footer-row-model";
15
15
  import { TableMoreMenuComponent } from "./renderer/table-more-menu/table-more-menu.component";
16
16
  var DefaultArrayFormatter = ColumnTextSearchFormatter.DefaultArrayFormatter;
17
17
  var DefaultValueFormatter = ColumnTextSearchFormatter.DefaultValueFormatter;
@@ -60,7 +60,7 @@ export class AbstractTableModel extends GarbageCollector {
60
60
  selectedItems$;
61
61
  leadSelection$;
62
62
  hasSelection$;
63
- footerRowPortalRef;
63
+ footerRowModel;
64
64
  constructor() {
65
65
  super();
66
66
  const { chain } = Dsl.disposeWith(this);
@@ -208,8 +208,9 @@ export class AbstractTableModel extends GarbageCollector {
208
208
  });
209
209
  }
210
210
  addFooterRow(component, initialiseCallback) {
211
- assert.isNil(this.footerRowPortalRef);
212
- this.footerRowPortalRef = new FooterRowPortalRef(component, initialiseCallback);
211
+ assert.isNil(this.footerRowModel);
212
+ this.footerRowModel = new FooterRowModel.Impl(component, initialiseCallback);
213
+ return this.footerRowModel;
213
214
  }
214
215
  addTemplateColumn(columnId) {
215
216
  return this.addColumn(new CustomTemplateColumnModel(columnId, this.columnManager, () => this.getColumnTextProperties(columnId)));
@@ -284,4 +285,4 @@ export class AbstractTableModel extends GarbageCollector {
284
285
  }
285
286
  }
286
287
  ProxyRegistry.registerOneTimeBinding(AbstractTableModel);
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9hYnN0cmFjdC10YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxNQUFNLEVBSU4sbUJBQW1CLEVBQ25CLGlCQUFpQixFQUVqQixHQUFHLEVBQ0gsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUdoQixnQkFBZ0IsRUFFaEIsT0FBTyxFQUNQLGFBQWEsRUFDYixjQUFjLEVBRWQsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWxELE9BQU8sRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUl0RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFHaEYsT0FBTyxF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QUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBRUY7QUFFRCxhQUFhLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7SW5qZWN0b3J9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBhc3NlcnQsXG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIENvbW1hbmQsXG4gIENvbnN0cnVjdGFibGUsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsXG4gIERpcnR5VHJhY2tpbmdGb3JtLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEV2ZW50TGlzdGVuZXJMaXN0LFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBMaXN0TW9kZWwsXG4gIE1hcE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIFByb3hpZmllZCxcbiAgcHJveGlmeSxcbiAgUHJveHlSZWdpc3RyeSxcbiAgU2VsZWN0aW9uTW9kZWwsXG4gIFR5cGVzLFxuICBWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge2xhbmd9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5cbmltcG9ydCB7aXNGdW5jdGlvbiwgaXNOaWx9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7Q29sdW1uTWFuYWdlcn0gZnJvbSBcIi4vY29sdW1uL2NvbHVtbi1tYW5hZ2VyXCI7XG5pbXBvcnQge0NlbGxSZW5kZXJlck9wdGlvbnMsIENvbHVtbk1vZGVsLCBPbkNvbXBvbmVudEluaXR9IGZyb20gXCIuL2NvbHVtbi9jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7Q29sdW1uT3JkZXJNYW5hZ2VyfSBmcm9tIFwiLi9jb2x1bW4vY29sdW1uLW9yZGVyLW1hbmFnZXJcIjtcbmltcG9ydCB7Q29sdW1uVGV4dFByb3BlcnRpZXN9IGZyb20gXCIuL2NvbHVtbi9jb2x1bW4tdGV4dC1wcm9wZXJ0aWVzXCI7XG5pbXBvcnQge0N1c3RvbVRlbXBsYXRlQ29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi9jdXN0b20tdGVtcGxhdGUtY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQge0N1c3RvbVZhbHVlQ29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi9jdXN0b20tdmFsdWUtY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQge0VkaXRvckNvbnRyb2xDb2x1bW5Nb2RlbH0gZnJvbSBcIi4vY29sdW1uL2VkaXRvci1jb250cm9scy1jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7TGlzdFByb3BlcnR5Q29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi9saXN0LXByb3BlcnktY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQge1Byb3BlcnR5Q29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi9wcm9wZXJ0eS1jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7U2VsZWN0aW9uQ29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi9zZWxlY3Rpb24tY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQge0VkaXRTZXNzaW9ufSBmcm9tIFwiLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5cbmltcG9ydCB7Q29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcn0gZnJvbSBcIi4vZmlsdGVyL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7VGV4dFNlYXJjaFByZWRpY2F0ZX0gZnJvbSBcIi4vZmlsdGVyL3RleHQtc2VhcmNoLXByZWRpY2F0ZVwiO1xuaW1wb3J0IHtDZWxsUmVuZGVyZXJ9IGZyb20gXCIuL3JlbmRlcmVyL2NlbGwtcmVuZGVyZXJcIjtcbmltcG9ydCB7Rm9vdGVyUm93UG9ydGFsUmVmfSBmcm9tIFwiLi9yZW5kZXJlci9mb290ZXItcm93LXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7XG4gIFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudFxufSBmcm9tIFwiLi9yZW5kZXJlci90YWJsZS1tb3JlLW1lbnUvdGFibGUtbW9yZS1tZW51LXBvcHVwL3RhYmxlLW1vcmUtbWVudS1wb3B1cC5jb21wb25lbnRcIjtcbmltcG9ydCB7VGFibGVNb3JlTWVudUNvbXBvbmVudH0gZnJvbSBcIi4vcmVuZGVyZXIvdGFibGUtbW9yZS1tZW51L3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCBEZWZhdWx0QXJyYXlGb3JtYXR0ZXIgPSBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlZmF1bHRBcnJheUZvcm1hdHRlcjtcbmltcG9ydCBEZWZhdWx0VmFsdWVGb3JtYXR0ZXIgPSBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlZmF1bHRWYWx1ZUZvcm1hdHRlcjtcblxuLy8gZXhwb3J0IHR5cGUgU3RyaW5nUHJvcGVydGllc09mPFQ+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIHN0cmluZyA/IEsgOiBuZXZlciB9W2tleW9mIFRdO1xuLy8gZXhwb3J0IHR5cGUgTnVtYmVyUHJvcGVydGllc09mPFQ+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIG51bWJlciA/IEsgOiBuZXZlciB9W2tleW9mIFRdO1xuXG5jbGFzcyBSb3dDbGFzczxSb3c+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IG1hdGNoZXM6IChyb3c6IFJvdykgPT4gYm9vbGVhbikge1xuICB9XG59XG5cbmNsYXNzIFJvd0F0dHJpYnV0ZTxSb3c+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYXR0cmlidXRlTmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgICByZWFkb25seSBnZXRWYWx1ZTogKHJvdzogUm93KSA9PiBzdHJpbmcpIHtcbiAgfVxufVxuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRhYmxlTW9kZWw8Um93IGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfZGF0YVNvdXJjZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxSb3c+KCkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2ZpbHRlcmVkUm93cyQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxSb3c+KCkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3Zpc2libGVSb3dzJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPFJvdz4oKSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbHVtbk1hbmFnZXIgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgQ29sdW1uTWFuYWdlcjxSb3c+KCkpO1xuXG4gIHByaXZhdGUgX2VkaXRvclNlc3Npb25zID0gbmV3IE11dGFibGVMaXN0TW9kZWw8RWRpdFNlc3Npb248Um93Pj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcm93c0JlaW5nRWRpdGVkJDogTXV0YWJsZUxpc3RNb2RlbDxSb3c+O1xuICBwcml2YXRlIHNhdmVDb21tYW5kRmFjdG9yeTogQ29tbWFuZC5GYWN0b3J5PERpcnR5VHJhY2tpbmdGb3JtPFJvdz4sIGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+PjtcbiAgcHJpdmF0ZSBfZWRpdG9yU2Vzc2lvbkJ5Um93SWQ6IE1hcE1vZGVsQ2hhaW48YW55LCBFZGl0U2Vzc2lvbjxSb3c+PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJvd0NsYXNzTmFtZVByZWRpY2F0ZXM6IFJvd0NsYXNzPFJvdz5bXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd0F0dHJpYnV0ZUdlbmVyYXRvcnM6IFJvd0F0dHJpYnV0ZTxSb3c+W10gPSBbXTtcblxuICBwcml2YXRlIF9jb2x1bW5UZXh0UHJvcGVydGllc0xvb2t1cDogeyBbY29sdW1uTmFtZTogc3RyaW5nXTogQ29sdW1uVGV4dFByb3BlcnRpZXMgfTtcblxuICByZWFkb25seSBlZGl0aW5nJDogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcmVhZG9ubHkgZmlyc3RFZGl0YWJsZUNvbHVtbiQ6IFZhbHVlTW9kZWxDaGFpbjxDb2x1bW5Nb2RlbDxSb3c+PjtcbiAgcHJpdmF0ZSBzZWxlY3Rpb25Db2x1bW5Nb2RlbDogU2VsZWN0aW9uQ29sdW1uTW9kZWw8Um93PjtcbiAgcHJpdmF0ZSByb3dTZWxlY3Rpb25EaXNhYmxlZE9uQWxsQ29sdW1ucyQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93Q2xpY2tMaXN0ZW5lcnMgPSBuZXcgRXZlbnRMaXN0ZW5lckxpc3Q8KHJvdzogUm93KSA9PiB2b2lkPigpO1xuICByZWFkb25seSBmaXJzdFZpc2libGVDb2x1bW4kOiBWYWx1ZU1vZGVsPENvbHVtbk1vZGVsPFJvdz4+O1xuICByZWFkb25seSBsYXN0VmlzaWJsZUNvbHVtbiQ6IFZhbHVlTW9kZWw8Q29sdW1uTW9kZWw8Um93Pj47XG5cbiAgcHJpdmF0ZSBfY3JlYXRlRm9ybTogKHJvdzogUm93KSA9PiBEaXJ0eVRyYWNraW5nRm9ybTxSb3c+ID0gKHJvdykgPT4gbmV3IERpcnR5VHJhY2tpbmdGb3JtPFJvdz4oKTtcbiAgcmVhZG9ubHkgdGV4dFNlYXJjaFByZWRpY2F0ZSQ6IFZhbHVlTW9kZWw8VGV4dFNlYXJjaFByZWRpY2F0ZTxSb3c+PjtcbiAgcHJvdGVjdGVkIGlkZW50aXR5T2Y6IChpdGVtOiBSb3cpID0+IGFueTtcbiAgcmVhZG9ubHkgZGF0YVNvdXJjZUVtcHR5JDogVmFsdWVNb2RlbDxib29sZWFuPjtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3Rpb25Nb2RlbFByb3h5ID0gcHJveGlmeShTZWxlY3Rpb25Nb2RlbDxSb3c+KSBhcyBQcm94aWZpZWQ8U2VsZWN0aW9uTW9kZWw8Um93Pj47XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtcyQ6IExpc3RNb2RlbDxSb3c+O1xuICByZWFkb25seSBsZWFkU2VsZWN0aW9uJDogVmFsdWVNb2RlbDxSb3c+O1xuICByZWFkb25seSBoYXNTZWxlY3Rpb24kOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICBmb290ZXJSb3dQb3J0YWxSZWY6IEZvb3RlclJvd1BvcnRhbFJlZjxhbnk+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5fcm93c0JlaW5nRWRpdGVkJCA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFJvdz4oW10sIHtcbiAgICAgIGlkZW50aWZpZWRXaXRoOiByb3cgPT4gdGhpcy5pZGVudGl0eU9mKHJvdylcbiAgICB9KTtcbiAgICB0aGlzLl9lZGl0b3JTZXNzaW9uQnlSb3dJZCA9IGNoYWluKHRoaXMuX2VkaXRvclNlc3Npb25zKS5pbmRleEJ5KFwicm93SWRcIik7XG4gICAgdGhpcy5lZGl0aW5nJCA9IGNoYWluKHRoaXMuX2VkaXRvclNlc3Npb25zKS5jb3VudCgpLmlzR3JlYXRlclRoYW4oMCk7XG5cbiAgICB0aGlzLnRleHRTZWFyY2hQcmVkaWNhdGUkID0gY2hhaW4odGhpcy52aXNpYmxlQ29sdW1ucyQpLnJlZHVjZUFsbChjb2x1bW5zID0+IHtcbiAgICAgIHJldHVybiAocm93OiBSb3csIHJlZ2V4OiBSZWdFeHApID0+IHtcbiAgICAgICAgcmV0dXJuICghcmVnZXggfHwgISFjb2x1bW5zLmZpbmQoYyA9PiByZWdleC50ZXN0KGMuZ2V0U2VhcmNoVGV4dEZvcihyb3cpKSkpO1xuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLmZpcnN0RWRpdGFibGVDb2x1bW4kID0gY2hhaW4odGhpcy5jb2x1bW5zJCkuc2VsZWN0KGMgPT4gYy5oYXNFZGl0b3JQb3J0YWwoKSkuZmlyc3QoKTtcbiAgICB0aGlzLmZpcnN0VmlzaWJsZUNvbHVtbiQgPSBjaGFpbih0aGlzLnZpc2libGVDb2x1bW5zJCkuZmlyc3QoKTtcbiAgICB0aGlzLmxhc3RWaXNpYmxlQ29sdW1uJCA9IGNoYWluKHRoaXMudmlzaWJsZUNvbHVtbnMkKS5sYXN0KCk7XG5cbiAgICB0aGlzLnJvd1NlbGVjdGlvbkRpc2FibGVkT25BbGxDb2x1bW5zJCA9IGNoYWluKHRoaXMuY29sdW1uTWFuYWdlci52aXNpYmxlQ29sdW1ucyQpLnNlbGVjdChjb2x1bW4gPT4gY29sdW1uLmlzUm93U2VsZWN0aW9uRW5hYmxlZCgpKS5jb3VudCgpLmVxdWFscygwKTtcblxuICAgIHRoaXMuZGF0YVNvdXJjZUVtcHR5JCA9IGNoYWluKHRoaXMuZGF0YVNvdXJjZSQpLmlzRW1wdHkoKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyQgPSB0aGlzLnNlbGVjdGlvbk1vZGVsUHJveHkuc2VsZWN0ZWRJdGVtcyQ7XG4gICAgdGhpcy5sZWFkU2VsZWN0aW9uJCA9IHRoaXMuc2VsZWN0aW9uTW9kZWxQcm94eS5sZWFkU2VsZWN0aW9uJDtcbiAgICB0aGlzLmhhc1NlbGVjdGlvbiQgPSBjaGFpbih0aGlzLnNlbGVjdGVkSXRlbXMkKS5pc05vdEVtcHR5KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0RGF0YVNvdXJjZShkYXRhU291cmNlJCkge1xuICAgIHRoaXMuX2RhdGFTb3VyY2UkLnNldERlbGVnYXRlKGRhdGFTb3VyY2UkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2RvOiBtYWtlIHRoaXMgZm9yY2Ugb25lIHRhYmxlIGF0IGEgdGltZVxuICAgKiBAcGFyYW0gaW5qZWN0b3JcbiAgICogQHBhcmFtIGlkZW50aXR5T2ZcbiAgICogQHBhcmFtIHJlc3RcbiAgICovXG4gIGluaXRpYWxpc2UoaW5qZWN0b3I6IEluamVjdG9yLCBpZGVudGl0eU9mOiAoaXRlbTogUm93KSA9PiBhbnkpIHtcbiAgICAvLyBub3Qgc3VyZSBpZiBJIHNob3VsZCBkZWZpbmUgdGhlc2UgYXQgdGhlIG1vZHVsZSBsZXZlbCBvciBub3QuLi5cbiAgICBjb25zdCBjdXN0b21JbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IERlZmF1bHRWYWx1ZUZvcm1hdHRlcn0sXG4gICAgICAgIHtwcm92aWRlOiBEZWZhdWx0QXJyYXlGb3JtYXR0ZXJ9XG4gICAgICBdLFxuICAgICAgcGFyZW50OiBpbmplY3RvclxuICAgIH0pO1xuICAgIHRoaXMuY29sdW1ucyQudmFsdWUuZm9yRWFjaChjID0+IGMuaW5pdGlhbGlzZShjdXN0b21JbmplY3RvcikpO1xuICAgIHRoaXMuaWRlbnRpdHlPZiA9IGlkZW50aXR5T2Y7XG4gIH1cblxuICBnZXQgZGF0YVNvdXJjZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2UkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByb3dzIHRoYXQgYXJlIHZpc2libGUgYWZ0ZXIgYW55IGZpbHRlcnMgYXJlIGFwcGxpZWQuICBJZiB0aGVyZSBhcmVcbiAgICogbm8gZmlsdGVycyB0aGVuIHRoaXMgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgcm9vdCBkYXRhc2V0LlxuICAgKi9cbiAgZ2V0IGZpbHRlcmVkUm93cyQoKTogTGlzdE1vZGVsPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJlZFJvd3MkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByb3dzIGFyZSBjdXJyZW50bHkgdmlzaWJsZSB0byB0aGUgdXNlci4gIEkuZS4gdGhlIGN1cnJlbnQgcGFnZSBpbiBhIHBhZ2VkIHRhYmxlIG9yIHRoZVxuICAgKiBleHBhbmRlZCByb3dzIGluIGEgdHJlZSB0YWJsZS5cbiAgICovXG4gIGdldCB2aXNpYmxlUm93cyQoKTogTGlzdE1vZGVsPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlUm93cyQucmVhZG9ubHkkO1xuICB9XG5cbiAgZ2V0IHJvd3NCZWluZ0VkaXRlZCQoKTogTGlzdE1vZGVsPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl9yb3dzQmVpbmdFZGl0ZWQkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIHN0YXJ0RWRpdFNlc3Npb24ocm93OiBSb3cpOiBFZGl0U2Vzc2lvbjxSb3c+IHtcbiAgICBjb25zdCByb3dJZCA9IHRoaXMuaWRlbnRpdHlPZihyb3cpO1xuICAgIGlmICh0aGlzLl9yb3dzQmVpbmdFZGl0ZWQkLnF1ZXJ5KCkuaW5kZXhPZihyb3cpID4gLTEpIHtcbiAgICAgIHJldHVybiBsYW5nLmlsbGVnYWxTdGF0ZShgUm93IHdpdGggaWQ9JHtyb3dJZH0gYWxyZWFkeSBiZWluZyBlZGl0ZWRgKTtcbiAgICB9XG5cbiAgICAvLyB0b2RvOiBwYXNzIHRoZSBmYWN0b3JpZXMgdG8gdGhlIGVkaXQgc2Vzc2lvbiBzbyB3ZSBjYW4gbWFrZSB0aGUgd2hvbGUgbG90IHBsdWdnYWJsZT9cbiAgICBjb25zdCBmb3JtID0gdGhpcy5fY3JlYXRlRm9ybShyb3cpO1xuICAgIGNvbnN0IHNhdmVDb21tYW5kID0gdGhpcy5zYXZlQ29tbWFuZEZhY3RvcnkuY3JlYXRlKGZvcm0sIHtkaXNwb3NlZFdpdGg6IHRoaXN9KTtcbiAgICBjb25zdCBlZGl0U2Vzc2lvbiA9IG5ldyBFZGl0U2Vzc2lvbjxSb3c+KHJvd0lkLCByb3csIGZvcm0sIHNhdmVDb21tYW5kKTtcbiAgICBjb25zdCB7d2hlbn0gPSBEc2wuZGlzcG9zZVdpdGgoZWRpdFNlc3Npb24pO1xuICAgIHdoZW4oZWRpdFNlc3Npb24ubGl2ZVJvd1ZhbHVlJCkuY2hhbmdlcygoZWRpdGVkVmFsdWUpID0+IHtcbiAgICAgIHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucmVwbGFjZU9yUHVzaChlZGl0ZWRWYWx1ZSk7XG4gICAgfSwge2luaXRpYWxWYWx1ZTogXCJ0cmlnZ2VyQ2hhbmdlVW5sZXNzTmlsXCJ9KTtcblxuICAgIHRoaXMuX2VkaXRvclNlc3Npb25zLnB1c2goZWRpdFNlc3Npb24pO1xuICAgIGVkaXRTZXNzaW9uLm9uRGlzcG9zZSgoKSA9PiB7XG4gICAgICB0aGlzLl9yb3dzQmVpbmdFZGl0ZWQkLnJlbW92ZShlZGl0U2Vzc2lvbi5saXZlUm93VmFsdWUkLnZhbHVlKTtcbiAgICAgIHRoaXMuX2VkaXRvclNlc3Npb25zLnJlbW92ZShlZGl0U2Vzc2lvbik7XG4gICAgfSk7XG4gICAgcmV0dXJuIGVkaXRTZXNzaW9uO1xuICB9XG5cbiAgZ2V0RWRpdFNlc3Npb25Gb3Iocm93OiBSb3cpOiBFZGl0U2Vzc2lvbjxSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yU2Vzc2lvbkJ5Um93SWQuZ2V0KHRoaXMuaWRlbnRpdHlPZihyb3cpKTtcbiAgfVxuXG4gIGNhbmNlbEFsbEVkaXRvclNlc3Npb25zKCkge1xuICAgIHRoaXMuX2VkaXRvclNlc3Npb25zLnJ1bkluVHJhbnNhY3Rpb24oKGRyYWZ0KSA9PiB7XG4gICAgICB0aGlzLl9yb3dzQmVpbmdFZGl0ZWQkLnJ1bkluVHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgICAgICBkcmFmdC52YWx1ZS5mb3JFYWNoKHNlc3Npb24gPT4gc2Vzc2lvbi5kaXNwb3NlKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuXG4gIGdldCBjb2x1bW5zJCgpOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj4ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbk1hbmFnZXIuYWxsQ29sdW1ucyQ7XG4gIH1cblxuICBnZXQgdmlzaWJsZUNvbHVtbnMkKCk6IExpc3RNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PiB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uTWFuYWdlci52aXNpYmxlQ29sdW1ucyQ7XG4gIH1cblxuICBwbHVjazxQIGV4dGVuZHMgVHlwZXMuVmFsdWVQcm9wZXJ0aWVzT2Y8Um93Pj4ocHJvcGVydHk6IFAsIG9wdGlvbnM/OiB7XG4gICAgY29sdW1uSWQ6IHN0cmluZ1xuICB9KTogUHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFA+IHtcbiAgICBjb25zdCBjb2x1bW5JZCA9IG9wdGlvbnM/LmNvbHVtbklkIHx8IHByb3BlcnR5LnRvU3RyaW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29sdW1uKG5ldyBQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUD4oY29sdW1uSWQsIHRoaXMuY29sdW1uTWFuYWdlciwgcHJvcGVydHksICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpKSk7XG4gIH1cblxuICBwbHVja0xpc3Q8UCBleHRlbmRzIFR5cGVzLkFycmF5UHJvcGVydGllc09mPFJvdz4+KHByb3BlcnR5OiBQLCBvcHRpb25zPzoge1xuICAgIGNvbHVtbklkOiBzdHJpbmdcbiAgfSk6IExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUD4ge1xuICAgIGNvbnN0IGNvbHVtbklkID0gb3B0aW9ucz8uY29sdW1uSWQgfHwgcHJvcGVydHkudG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUD4oY29sdW1uSWQsIHRoaXMuY29sdW1uTWFuYWdlciwgcHJvcGVydHksICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpKSk7XG4gIH1cblxuICAvLyBUT0RPOiBjbGVhbiB0aGlzIHVwIGFuZCBhc3NpZ24gdGhlIHNlbGVjdGlvbiBtb2RlbCBvbiB0ZWggdGFibGUgZGlyZWN0bHkuXG4gIC8vICAgICAgIHRhYmxlTW9kZWwudXNlU2VsZWN0aW9uTW9kZWwobW9kZWwpIGFuZCBoYXZlIHRoZSBzZWxlY2l0b24gY29sdW1uIGF1dG9tYXRpY2FsbHlcbiAgLy8gICAgICAgYWRkZWQuICBOZWVkIHRvIGxvb2sgYXQgaG93IHdlJ3JlIHVzaW5nIHRoZSB2aXNpYmlsaXR5IGNvbnRyb2xzIGFzIHdlbGwuXG4gIC8vICAgICAgIFNob3VsZCBhbHNvIGxhenkgY3JlYXRlIHRoZSBzZWxlY3Rpb24gY29sdW1uIG1vZGVsIGlmIHNvbWVvbmUgYWNjZXNzZXMgaXQuXG4gIHByb3RlY3RlZCBfYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsPzogU2VsZWN0aW9uTW9kZWw8Um93PiwgdmlzaWJsZT86IFZhbHVlTW9kZWw8Ym9vbGVhbj4gfCBib29sZWFuKTogU2VsZWN0aW9uQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWwpO1xuICAgIGNvbnN0IGNvbHVtbklkID0gXCJzZWxlY3Rpb24tY29sdW1uXCI7XG4gICAgdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3c+KGNvbHVtbklkLCB0aGlzLmNvbHVtbk1hbmFnZXIsICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpLCB0aGlzLnNlbGVjdGlvbk1vZGVsUHJveHkpO1xuICAgIHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWwudXNlU2VsZWN0aW9uTW9kZWwoc2VsZWN0aW9uTW9kZWwpXG4gICAgdGhpcy5hZGRSb3dDbGFzcyhcImF1cC1yb3ctc2VsZWN0ZWRcIiwgcm93ID0+IHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWwuaXNTZWxlY3RlZChyb3cpKTtcbiAgICBjb25zdCBzZWxlY3Rpb25Db2x1bW5Nb2RlbCA9IHRoaXMuYWRkQ29sdW1uKHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWwsIHtiZWZvcmU6IG51bGx9KTsgLy8gZmlyc3QgY29sdW1uXG4gICAgaWYgKCFpc05pbCh2aXNpYmxlKSkge1xuICAgICAgc2VsZWN0aW9uQ29sdW1uTW9kZWwudmlzaWJsZVdoaWxlKHZpc2libGUgaW5zdGFuY2VvZiBWYWx1ZU1vZGVsID8gdmlzaWJsZSA6IFZhbHVlTW9kZWwuY29uc3RhbnQodmlzaWJsZSkpO1xuICAgIH1cbiAgICByZXR1cm4gc2VsZWN0aW9uQ29sdW1uTW9kZWw7XG4gIH1cblxuXG4gIGFkZEVkaXRDb250cm9scyhzYXZlQ29tbWFuZEZhY3Rvcnk6IENvbW1hbmQuRmFjdG9yeTxEaXJ0eVRyYWNraW5nRm9ybTxSb3c+LCBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPj4sIGZvcm1GYWN0b3J5PzogKHJvdzogUm93KSA9PiBEaXJ0eVRyYWNraW5nRm9ybTxSb3c+KTogRWRpdG9yQ29udHJvbENvbHVtbk1vZGVsPFJvdz4ge1xuICAgIHRoaXMuc2F2ZUNvbW1hbmRGYWN0b3J5ID0gc2F2ZUNvbW1hbmRGYWN0b3J5O1xuICAgIGlmIChpc0Z1bmN0aW9uKGZvcm1GYWN0b3J5KSkge1xuICAgICAgdGhpcy5fY3JlYXRlRm9ybSA9IGZvcm1GYWN0b3J5O1xuICAgIH1cbiAgICBjb25zdCBjb2x1bW5JZCA9IFwiZWRpdENvbnRyb2xzXCI7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29sdW1uKG5ldyBFZGl0b3JDb250cm9sQ29sdW1uTW9kZWw8Um93Pihjb2x1bW5JZCwgdGhpcy5jb2x1bW5NYW5hZ2VyLCBzYXZlQ29tbWFuZEZhY3RvcnksICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpKSk7XG4gIH1cblxuICBhZGRDdXN0b21Db2x1bW48Vj4oY29sdW1uSWQ6IHN0cmluZywgZGF0YUFjY2Vzc29yOiAocm93OiBSb3cpID0+IFYpOiBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgVj4ge1xuICAgIHJldHVybiB0aGlzLmFkZENvbHVtbihuZXcgQ3VzdG9tVmFsdWVDb2x1bW5Nb2RlbDxSb3csIFY+KGNvbHVtbklkLCB0aGlzLmNvbHVtbk1hbmFnZXIsICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpLCBkYXRhQWNjZXNzb3IpKTtcbiAgfVxuXG4gIGFkZENvbXBvbmVudENvbHVtbjxDIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFBhcnRpYWw8Um93Pj4+KGNvbHVtbklkOiBzdHJpbmcsIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPiwgb25Jbml0PzogT25Db21wb25lbnRJbml0PEM+KTogQ3VzdG9tVmFsdWVDb2x1bW5Nb2RlbDxSb3csIFJvdz5cbiAgYWRkQ29tcG9uZW50Q29sdW1uPEMgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8UGFydGlhbDxSb3c+Pj4oY29sdW1uSWQ6IHN0cmluZywgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEM+LCBvcHRpb25zPzogQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEM+KTogQ3VzdG9tVmFsdWVDb2x1bW5Nb2RlbDxSb3csIFJvdz5cbiAgYWRkQ29tcG9uZW50Q29sdW1uPEMgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8UGFydGlhbDxSb3c+Pj4oY29sdW1uSWQ6IHN0cmluZywgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEM+LCBvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/OiBPbkNvbXBvbmVudEluaXQ8Qz4gfCBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgQz4pOiBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgUm93PiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29sdW1uKG5ldyBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgUm93Pihjb2x1bW5JZCwgdGhpcy5jb2x1bW5NYW5hZ2VyLCAoKSA9PiB0aGlzLmdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkKSwgcm93ID0+IHJvdykpLmNlbGxSZW5kZXJlcihjb21wb25lbnQsIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucyk7XG4gIH1cblxuICBhZGRNb3JlTWVudTxDIGV4dGVuZHMgVGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFJvdz4+KGNvbXBvbmVudENsYXNzOiBDb25zdHJ1Y3RhYmxlPEM+LCBpbml0aWFsaXNlQ2FsbGJhY2s/OiAoY29tcG9uZW50OiBDKSA9PiB2b2lkKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q29sdW1uKFwibW9yZS1tZW51XCIsIFRhYmxlTW9yZU1lbnVDb21wb25lbnQsIChjb21wb25lbnQ6IFRhYmxlTW9yZU1lbnVDb21wb25lbnQ8Um93PikgPT4ge1xuICAgICAgY29tcG9uZW50LmNvbmZpZ3VyZVBvcHVwQ29tcG9uZW50VHlwZShjb21wb25lbnRDbGFzcywgaW5pdGlhbGlzZUNhbGxiYWNrKTtcbiAgICB9KS5jb2x1bW5UZXh0UHJvcGVydGllcyh7XG4gICAgICBoZWFkZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBcIlwiXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhZGRGb290ZXJSb3c8Qz4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEM+LCBpbml0aWFsaXNlQ2FsbGJhY2s/OiAoY29tcG9uZW50OiBDKSA9PiB2b2lkKSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuZm9vdGVyUm93UG9ydGFsUmVmKTtcbiAgICB0aGlzLmZvb3RlclJvd1BvcnRhbFJlZiA9IG5ldyBGb290ZXJSb3dQb3J0YWxSZWYoY29tcG9uZW50LCBpbml0aWFsaXNlQ2FsbGJhY2spO1xuICB9XG5cbiAgYWRkVGVtcGxhdGVDb2x1bW48Vj4oY29sdW1uSWQ6IHN0cmluZyk6IEN1c3RvbVRlbXBsYXRlQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29sdW1uKG5ldyBDdXN0b21UZW1wbGF0ZUNvbHVtbk1vZGVsPFJvdz4oY29sdW1uSWQsIHRoaXMuY29sdW1uTWFuYWdlciwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCkpKTtcbiAgfVxuXG4gIGFkZFJvd0NsYXNzKGNsYXNzTmFtZTogc3RyaW5nLCBwcmVkaWNhdGU6IChyb3c6IFJvdykgPT4gYm9vbGVhbikge1xuICAgIHRoaXMucm93Q2xhc3NOYW1lUHJlZGljYXRlcy5wdXNoKG5ldyBSb3dDbGFzczxSb3c+KGNsYXNzTmFtZSwgcHJlZGljYXRlKSk7XG4gIH1cblxuICBhZGRSb3dBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZTogc3RyaW5nLCBnZXRWYWx1ZTogKHJvdzogUm93KSA9PiBzdHJpbmcpIHtcbiAgICB0aGlzLnJvd0F0dHJpYnV0ZUdlbmVyYXRvcnMucHVzaChuZXcgUm93QXR0cmlidXRlPFJvdz4oYXR0cmlidXRlTmFtZSwgZ2V0VmFsdWUpKTtcbiAgfVxuXG4gIGdldFJvd0NsYXNzZXMocm93OiBSb3cpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnJvd0NsYXNzTmFtZVByZWRpY2F0ZXMuZm9yRWFjaChpID0+IHtcbiAgICAgIGlmIChpLm1hdGNoZXMocm93KSkge1xuICAgICAgICBjbGFzc05hbWVzLnB1c2goaS5jbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjbGFzc05hbWVzO1xuICB9XG5cbiAgZ2V0Um93QXR0cmlidXRlcyhyb3c6IFJvdyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnJvd0F0dHJpYnV0ZUdlbmVyYXRvcnMucmVkdWNlKChyZXN1bHQsIGdlbmVyYXRvcikgPT4ge1xuICAgICAgcmV0dXJuIHsuLi5yZXN1bHQsIFtnZW5lcmF0b3IuYXR0cmlidXRlTmFtZV06IGdlbmVyYXRvci5nZXRWYWx1ZShyb3cpfVxuICAgIH0sIHt9KTtcbiAgfVxuXG5cbiAgcHJvdGVjdGVkIGFkZENvbHVtbjxDIGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93Pj4oY29sdW1uOiBDLCBwb3NpdGlvbj86IENvbHVtbk9yZGVyTWFuYWdlci5Qb3NpdGlvbik6IEMge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbk1hbmFnZXIuYWRkQ29sdW1uKGNvbHVtbiwgcG9zaXRpb24pO1xuICB9XG5cbiAgY29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uVGV4dFByb3BlcnRpZXM6IHsgW2NvbHVtbk5hbWU6IHN0cmluZ106IENvbHVtblRleHRQcm9wZXJ0aWVzIH0pIHtcbiAgICB0aGlzLl9jb2x1bW5UZXh0UHJvcGVydGllc0xvb2t1cCA9IGNvbHVtblRleHRQcm9wZXJ0aWVzO1xuICB9XG5cbiAgZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQ6IHN0cmluZyk6IENvbHVtblRleHRQcm9wZXJ0aWVzIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uVGV4dFByb3BlcnRpZXNMb29rdXAgPyB0aGlzLl9jb2x1bW5UZXh0UHJvcGVydGllc0xvb2t1cFtjb2x1bW5JZF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuXG4gIGlzUm93U2VsZWN0aW9uRW5hYmxlZEZvcihjb2x1bW46IENvbHVtbk1vZGVsPFJvdz4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKSAmJiBjb2x1bW4uaXNSb3dTZWxlY3Rpb25FbmFibGVkKCk7XG4gIH1cblxuICBpc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzVXNlclNlbGVjdGlvbk1vZGVsVGhhdElzRW5hYmxlZCgpICYmICF0aGlzLnJvd1NlbGVjdGlvbkRpc2FibGVkT25BbGxDb2x1bW5zJC52YWx1ZTtcbiAgfVxuXG4gIGhhc1VzZXJTZWxlY3Rpb25Nb2RlbFRoYXRJc0VuYWJsZWQoKSB7XG4gICAgY29uc3QgdXNlclNlbGVjdGlvbk1vZGVsID0gdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbD8uc2VsZWN0aW9uTW9kZWwuZ2V0UHJveHlUYXJnZXQoKTtcbiAgICByZXR1cm4gISF1c2VyU2VsZWN0aW9uTW9kZWwgJiYgdXNlclNlbGVjdGlvbk1vZGVsLmVuYWJsZWQkLnZhbHVlO1xuICB9XG5cbiAgZ2V0U2VsZWN0aW9uTW9kZWwoKTogU2VsZWN0aW9uTW9kZWw8Um93PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWw/LnNlbGVjdGlvbk1vZGVsO1xuICB9XG5cbiAgaXNIb3ZlckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNSb3dTZWxlY3Rpb25FbmFibGVkKCkgfHwgdGhpcy5yb3dDbGlja0xpc3RlbmVycy5saXN0ZW5lckNvdW50ID4gMDtcbiAgfVxuXG4gIGlzQ3Vyc29yRW5hYmxlZChjb2x1bW46IENvbHVtbk1vZGVsPFJvdz4pIHtcbiAgICByZXR1cm4gdGhpcy5pc1Jvd1NlbGVjdGlvbkVuYWJsZWRGb3IoY29sdW1uKSB8fCB0aGlzLnJvd0NsaWNrTGlzdGVuZXJzLmxpc3RlbmVyQ291bnQgPiAwO1xuICB9XG5cbiAgc2VsZWN0Um93KHJvdzogUm93KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbD8uc2VsZWN0Um93KHJvdyk7XG4gIH1cblxuICBvblJvd0NsaWNrZWQoY2FsbGJhY2s6IChyb3c6IFJvdykgPT4gdm9pZCk6IERpc3Bvc2FibGUge1xuICAgIHJldHVybiB0aGlzLnJvd0NsaWNrTGlzdGVuZXJzLmFkZChjYWxsYmFjayk7XG4gIH1cblxuICBfbm90aWZ5Q2VsbENsaWNrZWQoY29sdW1uTW9kZWw6IENvbHVtbk1vZGVsPFJvdz4sIHJvdzogUm93KSB7XG4gICAgaWYgKHRoaXMuaXNSb3dTZWxlY3Rpb25FbmFibGVkRm9yKGNvbHVtbk1vZGVsKSkge1xuICAgICAgdGhpcy5zZWxlY3RSb3cocm93KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29uc29sZS5sb2coe1xuICAgICAgLy8gICBoYXNFbmFibGVkVXNlclNlbGVjdGlvbk1vZGVsOiB0aGlzLmhhc1VzZXJTZWxlY3Rpb25Nb2RlbFRoYXRJc0VuYWJsZWQoKSxcbiAgICAgIC8vICAgYWxsU2VsZWN0aW9uRGlzYWJsZWQ6IHRoaXMucm93U2VsZWN0aW9uRGlzYWJsZWRPbkFsbENvbHVtbnMkLnZhbHVlLFxuICAgICAgLy8gICByb3dTZWxlY3Rpb25FbmFibGVkOiB0aGlzLmlzUm93U2VsZWN0aW9uRW5hYmxlZCgpLFxuICAgICAgLy8gICByb3dTZWxlY3Rpb25FbmFibGVkRm9yQ29sdW1uOiBjb2x1bW5Nb2RlbC5pc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKVxuICAgICAgLy8gfSlcbiAgICB9XG5cbiAgICB0aGlzLnJvd0NsaWNrTGlzdGVuZXJzLmZpcmUobCA9PiBsKHJvdykpO1xuICB9XG5cbn1cblxuUHJveHlSZWdpc3RyeS5yZWdpc3Rlck9uZVRpbWVCaW5kaW5nKEFic3RyYWN0VGFibGVNb2RlbClcbiJdfQ==
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9hYnN0cmFjdC10YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxNQUFNLEVBSU4sbUJBQW1CLEVBQ25CLGlCQUFpQixFQUVqQixHQUFHLEVBQ0gsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUdoQixnQkFBZ0IsRUFFaEIsT0FBTyxFQUNQLGFBQWEsRUFDYixjQUFjLEVBRWQsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWxELE9BQU8sRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUl0RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFHaEYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLElBQU8scUJBQXFCLEdBQUcseUJBQXlCLENBQUMscUJBQXFCLENBQUM7QUFDL0UsSUFBTyxxQkFBcUIsR0FBRyx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQztBQUUvRSxvR0FBb0c7QUFDcEcsb0dBQW9HO0FBRXBHLE1BQU0sUUFBUTtJQUNTO0lBQ0E7SUFEckIsWUFBcUIsU0FBaUIsRUFDakIsT0FBOEI7UUFEOUIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtJQUNuRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFlBQVk7SUFDSztJQUNBO0lBRHJCLFlBQXFCLGFBQXFCLEVBQ3JCLFFBQThCO1FBRDlCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQXNCO0lBQ25ELENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBZ0Isa0JBQXVDLFNBQVEsZ0JBQWdCO0lBRWhFLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxtQkFBbUIsRUFBTyxDQUFDLENBQUM7SUFDdkUsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG1CQUFtQixFQUFPLENBQUMsQ0FBQztJQUN6RSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksbUJBQW1CLEVBQU8sQ0FBQyxDQUFDO0lBRXhFLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxhQUFhLEVBQU8sQ0FBQyxDQUFDO0lBRTdFLGVBQWUsR0FBRyxJQUFJLGdCQUFnQixFQUFvQixDQUFDO0lBQ2xELGlCQUFpQixDQUF3QjtJQUNsRCxrQkFBa0IsQ0FBc0U7SUFDeEYscUJBQXFCLENBQXVDO0lBRW5ELHNCQUFzQixHQUFvQixFQUFFLENBQUM7SUFDN0Msc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUUxRCwyQkFBMkIsQ0FBaUQ7SUFFM0UsUUFBUSxDQUF5QjtJQUNqQyxvQkFBb0IsQ0FBb0M7SUFDekQsb0JBQW9CLENBQTRCO0lBQ2hELGlDQUFpQyxDQUF5QjtJQUNqRCxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixFQUFzQixDQUFDO0lBQ3hFLG1CQUFtQixDQUErQjtJQUNsRCxrQkFBa0IsQ0FBK0I7SUFFbEQsV0FBVyxHQUF5QyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxpQkFBaUIsRUFBTyxDQUFDO0lBQ3pGLG9CQUFvQixDQUF1QztJQUMxRCxVQUFVLENBQXFCO0lBQ2hDLGdCQUFnQixDQUFzQjtJQUM5QixtQkFBbUIsR0FBRyxPQUFPLENBQUMsQ0FBQSxjQUFtQixDQUFBLENBQW1DLENBQUM7SUFFN0YsY0FBYyxDQUFpQjtJQUMvQixjQUFjLENBQWtCO0lBQ2hDLGFBQWEsQ0FBeUI7SUFDL0MsY0FBYyxDQUEyQjtJQUV6QztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksZ0JBQWdCLENBQU0sRUFBRSxFQUFFO1lBQ3JELGNBQWMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1NBQzVDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxRSxPQUFPLENBQUMsR0FBUSxFQUFFLEtBQWEsRUFBRSxFQUFFO2dCQUNqQyxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RSxDQUFDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdELElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0SixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUxRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7UUFDOUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRVMsYUFBYSxDQUFDLFdBQVc7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLFFBQWtCLEVBQUUsVUFBOEI7UUFDM0Qsa0VBQWtFO1FBQ2xFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckMsU0FBUyxFQUFFO2dCQUNULEVBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFDO2dCQUNoQyxFQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBQzthQUNqQztZQUNELE1BQU0sRUFBRSxRQUFRO1NBQ2pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFRO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEtBQUssdUJBQXVCLENBQUMsQ0FBQztTQUN2RTtRQUVELHVGQUF1RjtRQUN2RixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDL0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQU0sS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDeEUsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELENBQUMsRUFBRSxFQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBQyxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQVE7UUFDeEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFO2dCQUMzQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7SUFDNUMsQ0FBQztJQUVELEtBQUssQ0FBeUMsUUFBVyxFQUFFLE9BRTFEO1FBQ0MsTUFBTSxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksbUJBQW1CLENBQVMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0ksQ0FBQztJQUVELFNBQVMsQ0FBeUMsUUFBVyxFQUFFLE9BRTlEO1FBQ0MsTUFBTSxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksdUJBQXVCLENBQVMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkosQ0FBQztJQUVELDRFQUE0RTtJQUM1RSx3RkFBd0Y7SUFDeEYsaUZBQWlGO0lBQ2pGLG1GQUFtRjtJQUN6RSxtQkFBbUIsQ0FBQyxjQUFvQyxFQUFFLE9BQXVDO1FBQ3pHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUM7UUFDcEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQU0sUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWU7UUFDdkcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDM0c7UUFDRCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7SUFHRCxlQUFlLENBQUMsa0JBQXVGLEVBQUUsV0FBa0Q7UUFDekosSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1NBQ2hDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLHdCQUF3QixDQUFNLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0osQ0FBQztJQUVELGVBQWUsQ0FBSSxRQUFnQixFQUFFLFlBQTZCO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLHNCQUFzQixDQUFTLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3RKLENBQUM7SUFJRCxrQkFBa0IsQ0FBdUMsUUFBZ0IsRUFBRSxTQUEyQixFQUFFLHdCQUEyRTtRQUNqTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxzQkFBc0IsQ0FBVyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUN4TSxDQUFDO0lBRUQsV0FBVyxDQUE2QyxjQUFnQyxFQUFFLGtCQUEyQztRQUNuSSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxTQUFzQyxFQUFFLEVBQUU7WUFDN0csU0FBUyxDQUFDLDJCQUEyQixDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQ3RCLFVBQVU7Z0JBQ1IsT0FBTyxFQUFFLENBQUE7WUFDWCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBSSxTQUEyQixFQUFFLGtCQUEyQztRQUN0RixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUM3RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQixDQUFJLFFBQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLHlCQUF5QixDQUFNLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQixFQUFFLFNBQWdDO1FBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQU0sU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGVBQWUsQ0FBQyxhQUFxQixFQUFFLFFBQThCO1FBQ25FLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLENBQU0sYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFRO1FBQ3BCLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFRO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUM5RCxPQUFPLEVBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFBO1FBQ3hFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFHUyxTQUFTLENBQTZCLE1BQVMsRUFBRSxRQUFzQztRQUMvRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsb0JBQW9FO1FBQ3ZGLElBQUksQ0FBQywyQkFBMkIsR0FBRyxvQkFBb0IsQ0FBQztJQUMxRCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsUUFBZ0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ25HLENBQUM7SUFHRCx3QkFBd0IsQ0FBQyxNQUF3QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUM7SUFDcEcsQ0FBQztJQUVELGtDQUFrQztRQUNoQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEYsT0FBTyxDQUFDLENBQUMsa0JBQWtCLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUNuRSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxDQUFDO0lBQ25ELENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQXdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBUTtRQUNoQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBNEI7UUFDdkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxXQUE2QixFQUFFLEdBQVE7UUFDeEQsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyQjthQUFNO1lBQ0wsZ0JBQWdCO1lBQ2hCLDZFQUE2RTtZQUM3RSx3RUFBd0U7WUFDeEUsdURBQXVEO1lBQ3ZELHNFQUFzRTtZQUN0RSxLQUFLO1NBQ047UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUVGO0FBRUQsYUFBYSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWx9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge0luamVjdG9yfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBDb21tYW5kLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nTGlzdE1vZGVsLFxuICBEaXJ0eVRyYWNraW5nRm9ybSxcbiAgRGlzcG9zYWJsZSxcbiAgRHNsLFxuICBFdmVudExpc3RlbmVyTGlzdCxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgTGlzdE1vZGVsLFxuICBNYXBNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBQcm94aWZpZWQsXG4gIHByb3hpZnksXG4gIFByb3h5UmVnaXN0cnksXG4gIFNlbGVjdGlvbk1vZGVsLFxuICBUeXBlcyxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtsYW5nfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuXG5pbXBvcnQge2lzRnVuY3Rpb24sIGlzTmlsfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge0NvbHVtbk1hbmFnZXJ9IGZyb20gXCIuL2NvbHVtbi9jb2x1bW4tbWFuYWdlclwiO1xuaW1wb3J0IHtDZWxsUmVuZGVyZXJPcHRpb25zLCBDb2x1bW5Nb2RlbCwgT25Db21wb25lbnRJbml0fSBmcm9tIFwiLi9jb2x1bW4vY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQge0NvbHVtbk9yZGVyTWFuYWdlcn0gZnJvbSBcIi4vY29sdW1uL2NvbHVtbi1vcmRlci1tYW5hZ2VyXCI7XG5pbXBvcnQge0NvbHVtblRleHRQcm9wZXJ0aWVzfSBmcm9tIFwiLi9jb2x1bW4vY29sdW1uLXRleHQtcHJvcGVydGllc1wiO1xuaW1wb3J0IHtDdXN0b21UZW1wbGF0ZUNvbHVtbk1vZGVsfSBmcm9tIFwiLi9jb2x1bW4vY3VzdG9tLXRlbXBsYXRlLWNvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHtDdXN0b21WYWx1ZUNvbHVtbk1vZGVsfSBmcm9tIFwiLi9jb2x1bW4vY3VzdG9tLXZhbHVlLWNvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHtFZGl0b3JDb250cm9sQ29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi9lZGl0b3ItY29udHJvbHMtY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQge0xpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsfSBmcm9tIFwiLi9jb2x1bW4vbGlzdC1wcm9wZXJ5LWNvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHtQcm9wZXJ0eUNvbHVtbk1vZGVsfSBmcm9tIFwiLi9jb2x1bW4vcHJvcGVydHktY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQge1NlbGVjdGlvbkNvbHVtbk1vZGVsfSBmcm9tIFwiLi9jb2x1bW4vc2VsZWN0aW9uLWNvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHtFZGl0U2Vzc2lvbn0gZnJvbSBcIi4vZWRpdG9yL2VkaXQtc2Vzc2lvblwiO1xuXG5pbXBvcnQge0NvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXJ9IGZyb20gXCIuL2ZpbHRlci9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQge1RleHRTZWFyY2hQcmVkaWNhdGV9IGZyb20gXCIuL2ZpbHRlci90ZXh0LXNlYXJjaC1wcmVkaWNhdGVcIjtcbmltcG9ydCB7Q2VsbFJlbmRlcmVyfSBmcm9tIFwiLi9yZW5kZXJlci9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQge0Zvb3RlclJvd01vZGVsfSBmcm9tIFwiLi9mb290ZXIvZm9vdGVyLXJvdy1tb2RlbFwiO1xuaW1wb3J0IHtcbiAgVGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50XG59IGZyb20gXCIuL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUtcG9wdXAvdGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUYWJsZU1vcmVNZW51Q29tcG9uZW50fSBmcm9tIFwiLi9yZW5kZXJlci90YWJsZS1tb3JlLW1lbnUvdGFibGUtbW9yZS1tZW51LmNvbXBvbmVudFwiO1xuaW1wb3J0IERlZmF1bHRBcnJheUZvcm1hdHRlciA9IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuRGVmYXVsdEFycmF5Rm9ybWF0dGVyO1xuaW1wb3J0IERlZmF1bHRWYWx1ZUZvcm1hdHRlciA9IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuRGVmYXVsdFZhbHVlRm9ybWF0dGVyO1xuXG4vLyBleHBvcnQgdHlwZSBTdHJpbmdQcm9wZXJ0aWVzT2Y8VD4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgc3RyaW5nID8gSyA6IG5ldmVyIH1ba2V5b2YgVF07XG4vLyBleHBvcnQgdHlwZSBOdW1iZXJQcm9wZXJ0aWVzT2Y8VD4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgbnVtYmVyID8gSyA6IG5ldmVyIH1ba2V5b2YgVF07XG5cbmNsYXNzIFJvd0NsYXNzPFJvdz4ge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjbGFzc05hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgbWF0Y2hlczogKHJvdzogUm93KSA9PiBib29sZWFuKSB7XG4gIH1cbn1cblxuY2xhc3MgUm93QXR0cmlidXRlPFJvdz4ge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGdldFZhbHVlOiAocm93OiBSb3cpID0+IHN0cmluZykge1xuICB9XG59XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VGFibGVNb2RlbDxSb3cgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kYXRhU291cmNlJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPFJvdz4oKSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfZmlsdGVyZWRSb3dzJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPFJvdz4oKSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfdmlzaWJsZVJvd3MkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8Um93PigpKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29sdW1uTWFuYWdlciA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBDb2x1bW5NYW5hZ2VyPFJvdz4oKSk7XG5cbiAgcHJpdmF0ZSBfZWRpdG9yU2Vzc2lvbnMgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxFZGl0U2Vzc2lvbjxSb3c+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3dzQmVpbmdFZGl0ZWQkOiBNdXRhYmxlTGlzdE1vZGVsPFJvdz47XG4gIHByaXZhdGUgc2F2ZUNvbW1hbmRGYWN0b3J5OiBDb21tYW5kLkZhY3Rvcnk8RGlydHlUcmFja2luZ0Zvcm08Um93PiwgYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4+O1xuICBwcml2YXRlIF9lZGl0b3JTZXNzaW9uQnlSb3dJZDogTWFwTW9kZWxDaGFpbjxhbnksIEVkaXRTZXNzaW9uPFJvdz4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcm93Q2xhc3NOYW1lUHJlZGljYXRlczogUm93Q2xhc3M8Um93PltdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93QXR0cmlidXRlR2VuZXJhdG9yczogUm93QXR0cmlidXRlPFJvdz5bXSA9IFtdO1xuXG4gIHByaXZhdGUgX2NvbHVtblRleHRQcm9wZXJ0aWVzTG9va3VwOiB7IFtjb2x1bW5OYW1lOiBzdHJpbmddOiBDb2x1bW5UZXh0UHJvcGVydGllcyB9O1xuXG4gIHJlYWRvbmx5IGVkaXRpbmckOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICByZWFkb25seSBmaXJzdEVkaXRhYmxlQ29sdW1uJDogVmFsdWVNb2RlbENoYWluPENvbHVtbk1vZGVsPFJvdz4+O1xuICBwcml2YXRlIHNlbGVjdGlvbkNvbHVtbk1vZGVsOiBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3c+O1xuICBwcml2YXRlIHJvd1NlbGVjdGlvbkRpc2FibGVkT25BbGxDb2x1bW5zJDogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcHJpdmF0ZSByZWFkb25seSByb3dDbGlja0xpc3RlbmVycyA9IG5ldyBFdmVudExpc3RlbmVyTGlzdDwocm93OiBSb3cpID0+IHZvaWQ+KCk7XG4gIHJlYWRvbmx5IGZpcnN0VmlzaWJsZUNvbHVtbiQ6IFZhbHVlTW9kZWw8Q29sdW1uTW9kZWw8Um93Pj47XG4gIHJlYWRvbmx5IGxhc3RWaXNpYmxlQ29sdW1uJDogVmFsdWVNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PjtcblxuICBwcml2YXRlIF9jcmVhdGVGb3JtOiAocm93OiBSb3cpID0+IERpcnR5VHJhY2tpbmdGb3JtPFJvdz4gPSAocm93KSA9PiBuZXcgRGlydHlUcmFja2luZ0Zvcm08Um93PigpO1xuICByZWFkb25seSB0ZXh0U2VhcmNoUHJlZGljYXRlJDogVmFsdWVNb2RlbDxUZXh0U2VhcmNoUHJlZGljYXRlPFJvdz4+O1xuICBwcm90ZWN0ZWQgaWRlbnRpdHlPZjogKGl0ZW06IFJvdykgPT4gYW55O1xuICByZWFkb25seSBkYXRhU291cmNlRW1wdHkkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGVsUHJveHkgPSBwcm94aWZ5KFNlbGVjdGlvbk1vZGVsPFJvdz4pIGFzIFByb3hpZmllZDxTZWxlY3Rpb25Nb2RlbDxSb3c+PjtcblxuICByZWFkb25seSBzZWxlY3RlZEl0ZW1zJDogTGlzdE1vZGVsPFJvdz47XG4gIHJlYWRvbmx5IGxlYWRTZWxlY3Rpb24kOiBWYWx1ZU1vZGVsPFJvdz47XG4gIHJlYWRvbmx5IGhhc1NlbGVjdGlvbiQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIGZvb3RlclJvd01vZGVsOiBGb290ZXJSb3dNb2RlbC5JbXBsPGFueT47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLl9yb3dzQmVpbmdFZGl0ZWQkID0gbmV3IE11dGFibGVMaXN0TW9kZWw8Um93PihbXSwge1xuICAgICAgaWRlbnRpZmllZFdpdGg6IHJvdyA9PiB0aGlzLmlkZW50aXR5T2Yocm93KVxuICAgIH0pO1xuICAgIHRoaXMuX2VkaXRvclNlc3Npb25CeVJvd0lkID0gY2hhaW4odGhpcy5fZWRpdG9yU2Vzc2lvbnMpLmluZGV4QnkoXCJyb3dJZFwiKTtcbiAgICB0aGlzLmVkaXRpbmckID0gY2hhaW4odGhpcy5fZWRpdG9yU2Vzc2lvbnMpLmNvdW50KCkuaXNHcmVhdGVyVGhhbigwKTtcblxuICAgIHRoaXMudGV4dFNlYXJjaFByZWRpY2F0ZSQgPSBjaGFpbih0aGlzLnZpc2libGVDb2x1bW5zJCkucmVkdWNlQWxsKGNvbHVtbnMgPT4ge1xuICAgICAgcmV0dXJuIChyb3c6IFJvdywgcmVnZXg6IFJlZ0V4cCkgPT4ge1xuICAgICAgICByZXR1cm4gKCFyZWdleCB8fCAhIWNvbHVtbnMuZmluZChjID0+IHJlZ2V4LnRlc3QoYy5nZXRTZWFyY2hUZXh0Rm9yKHJvdykpKSk7XG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMuZmlyc3RFZGl0YWJsZUNvbHVtbiQgPSBjaGFpbih0aGlzLmNvbHVtbnMkKS5zZWxlY3QoYyA9PiBjLmhhc0VkaXRvclBvcnRhbCgpKS5maXJzdCgpO1xuICAgIHRoaXMuZmlyc3RWaXNpYmxlQ29sdW1uJCA9IGNoYWluKHRoaXMudmlzaWJsZUNvbHVtbnMkKS5maXJzdCgpO1xuICAgIHRoaXMubGFzdFZpc2libGVDb2x1bW4kID0gY2hhaW4odGhpcy52aXNpYmxlQ29sdW1ucyQpLmxhc3QoKTtcblxuICAgIHRoaXMucm93U2VsZWN0aW9uRGlzYWJsZWRPbkFsbENvbHVtbnMkID0gY2hhaW4odGhpcy5jb2x1bW5NYW5hZ2VyLnZpc2libGVDb2x1bW5zJCkuc2VsZWN0KGNvbHVtbiA9PiBjb2x1bW4uaXNSb3dTZWxlY3Rpb25FbmFibGVkKCkpLmNvdW50KCkuZXF1YWxzKDApO1xuXG4gICAgdGhpcy5kYXRhU291cmNlRW1wdHkkID0gY2hhaW4odGhpcy5kYXRhU291cmNlJCkuaXNFbXB0eSgpO1xuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zJCA9IHRoaXMuc2VsZWN0aW9uTW9kZWxQcm94eS5zZWxlY3RlZEl0ZW1zJDtcbiAgICB0aGlzLmxlYWRTZWxlY3Rpb24kID0gdGhpcy5zZWxlY3Rpb25Nb2RlbFByb3h5LmxlYWRTZWxlY3Rpb24kO1xuICAgIHRoaXMuaGFzU2VsZWN0aW9uJCA9IGNoYWluKHRoaXMuc2VsZWN0ZWRJdGVtcyQpLmlzTm90RW1wdHkoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXREYXRhU291cmNlKGRhdGFTb3VyY2UkKSB7XG4gICAgdGhpcy5fZGF0YVNvdXJjZSQuc2V0RGVsZWdhdGUoZGF0YVNvdXJjZSQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZG86IG1ha2UgdGhpcyBmb3JjZSBvbmUgdGFibGUgYXQgYSB0aW1lXG4gICAqIEBwYXJhbSBpbmplY3RvclxuICAgKiBAcGFyYW0gaWRlbnRpdHlPZlxuICAgKiBAcGFyYW0gcmVzdFxuICAgKi9cbiAgaW5pdGlhbGlzZShpbmplY3RvcjogSW5qZWN0b3IsIGlkZW50aXR5T2Y6IChpdGVtOiBSb3cpID0+IGFueSkge1xuICAgIC8vIG5vdCBzdXJlIGlmIEkgc2hvdWxkIGRlZmluZSB0aGVzZSBhdCB0aGUgbW9kdWxlIGxldmVsIG9yIG5vdC4uLlxuICAgIGNvbnN0IGN1c3RvbUluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogRGVmYXVsdFZhbHVlRm9ybWF0dGVyfSxcbiAgICAgICAge3Byb3ZpZGU6IERlZmF1bHRBcnJheUZvcm1hdHRlcn1cbiAgICAgIF0sXG4gICAgICBwYXJlbnQ6IGluamVjdG9yXG4gICAgfSk7XG4gICAgdGhpcy5jb2x1bW5zJC52YWx1ZS5mb3JFYWNoKGMgPT4gYy5pbml0aWFsaXNlKGN1c3RvbUluamVjdG9yKSk7XG4gICAgdGhpcy5pZGVudGl0eU9mID0gaWRlbnRpdHlPZjtcbiAgfVxuXG4gIGdldCBkYXRhU291cmNlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZSQucmVhZG9ubHkkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJvd3MgdGhhdCBhcmUgdmlzaWJsZSBhZnRlciBhbnkgZmlsdGVycyBhcmUgYXBwbGllZC4gIElmIHRoZXJlIGFyZVxuICAgKiBubyBmaWx0ZXJzIHRoZW4gdGhpcyB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZSByb290IGRhdGFzZXQuXG4gICAqL1xuICBnZXQgZmlsdGVyZWRSb3dzJCgpOiBMaXN0TW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcmVkUm93cyQucmVhZG9ubHkkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJvd3MgYXJlIGN1cnJlbnRseSB2aXNpYmxlIHRvIHRoZSB1c2VyLiAgSS5lLiB0aGUgY3VycmVudCBwYWdlIGluIGEgcGFnZWQgdGFibGUgb3IgdGhlXG4gICAqIGV4cGFuZGVkIHJvd3MgaW4gYSB0cmVlIHRhYmxlLlxuICAgKi9cbiAgZ2V0IHZpc2libGVSb3dzJCgpOiBMaXN0TW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGVSb3dzJC5yZWFkb25seSQ7XG4gIH1cblxuICBnZXQgcm93c0JlaW5nRWRpdGVkJCgpOiBMaXN0TW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucmVhZG9ubHkkO1xuICB9XG5cbiAgc3RhcnRFZGl0U2Vzc2lvbihyb3c6IFJvdyk6IEVkaXRTZXNzaW9uPFJvdz4ge1xuICAgIGNvbnN0IHJvd0lkID0gdGhpcy5pZGVudGl0eU9mKHJvdyk7XG4gICAgaWYgKHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucXVlcnkoKS5pbmRleE9mKHJvdykgPiAtMSkge1xuICAgICAgcmV0dXJuIGxhbmcuaWxsZWdhbFN0YXRlKGBSb3cgd2l0aCBpZD0ke3Jvd0lkfSBhbHJlYWR5IGJlaW5nIGVkaXRlZGApO1xuICAgIH1cblxuICAgIC8vIHRvZG86IHBhc3MgdGhlIGZhY3RvcmllcyB0byB0aGUgZWRpdCBzZXNzaW9uIHNvIHdlIGNhbiBtYWtlIHRoZSB3aG9sZSBsb3QgcGx1Z2dhYmxlP1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLl9jcmVhdGVGb3JtKHJvdyk7XG4gICAgY29uc3Qgc2F2ZUNvbW1hbmQgPSB0aGlzLnNhdmVDb21tYW5kRmFjdG9yeS5jcmVhdGUoZm9ybSwge2Rpc3Bvc2VkV2l0aDogdGhpc30pO1xuICAgIGNvbnN0IGVkaXRTZXNzaW9uID0gbmV3IEVkaXRTZXNzaW9uPFJvdz4ocm93SWQsIHJvdywgZm9ybSwgc2F2ZUNvbW1hbmQpO1xuICAgIGNvbnN0IHt3aGVufSA9IERzbC5kaXNwb3NlV2l0aChlZGl0U2Vzc2lvbik7XG4gICAgd2hlbihlZGl0U2Vzc2lvbi5saXZlUm93VmFsdWUkKS5jaGFuZ2VzKChlZGl0ZWRWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy5fcm93c0JlaW5nRWRpdGVkJC5yZXBsYWNlT3JQdXNoKGVkaXRlZFZhbHVlKTtcbiAgICB9LCB7aW5pdGlhbFZhbHVlOiBcInRyaWdnZXJDaGFuZ2VVbmxlc3NOaWxcIn0pO1xuXG4gICAgdGhpcy5fZWRpdG9yU2Vzc2lvbnMucHVzaChlZGl0U2Vzc2lvbik7XG4gICAgZWRpdFNlc3Npb24ub25EaXNwb3NlKCgpID0+IHtcbiAgICAgIHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucmVtb3ZlKGVkaXRTZXNzaW9uLmxpdmVSb3dWYWx1ZSQudmFsdWUpO1xuICAgICAgdGhpcy5fZWRpdG9yU2Vzc2lvbnMucmVtb3ZlKGVkaXRTZXNzaW9uKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZWRpdFNlc3Npb247XG4gIH1cblxuICBnZXRFZGl0U2Vzc2lvbkZvcihyb3c6IFJvdyk6IEVkaXRTZXNzaW9uPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3JTZXNzaW9uQnlSb3dJZC5nZXQodGhpcy5pZGVudGl0eU9mKHJvdykpO1xuICB9XG5cbiAgY2FuY2VsQWxsRWRpdG9yU2Vzc2lvbnMoKSB7XG4gICAgdGhpcy5fZWRpdG9yU2Vzc2lvbnMucnVuSW5UcmFuc2FjdGlvbigoZHJhZnQpID0+IHtcbiAgICAgIHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucnVuSW5UcmFuc2FjdGlvbigoKSA9PiB7XG4gICAgICAgIGRyYWZ0LnZhbHVlLmZvckVhY2goc2Vzc2lvbiA9PiBzZXNzaW9uLmRpc3Bvc2UoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG5cbiAgZ2V0IGNvbHVtbnMkKCk6IExpc3RNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PiB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uTWFuYWdlci5hbGxDb2x1bW5zJDtcbiAgfVxuXG4gIGdldCB2aXNpYmxlQ29sdW1ucyQoKTogTGlzdE1vZGVsPENvbHVtbk1vZGVsPFJvdz4+IHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5NYW5hZ2VyLnZpc2libGVDb2x1bW5zJDtcbiAgfVxuXG4gIHBsdWNrPFAgZXh0ZW5kcyBUeXBlcy5WYWx1ZVByb3BlcnRpZXNPZjxSb3c+Pihwcm9wZXJ0eTogUCwgb3B0aW9ucz86IHtcbiAgICBjb2x1bW5JZDogc3RyaW5nXG4gIH0pOiBQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUD4ge1xuICAgIGNvbnN0IGNvbHVtbklkID0gb3B0aW9ucz8uY29sdW1uSWQgfHwgcHJvcGVydHkudG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IFByb3BlcnR5Q29sdW1uTW9kZWw8Um93LCBQPihjb2x1bW5JZCwgdGhpcy5jb2x1bW5NYW5hZ2VyLCBwcm9wZXJ0eSwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCkpKTtcbiAgfVxuXG4gIHBsdWNrTGlzdDxQIGV4dGVuZHMgVHlwZXMuQXJyYXlQcm9wZXJ0aWVzT2Y8Um93Pj4ocHJvcGVydHk6IFAsIG9wdGlvbnM/OiB7XG4gICAgY29sdW1uSWQ6IHN0cmluZ1xuICB9KTogTGlzdFByb3BlcnR5Q29sdW1uTW9kZWw8Um93LCBQPiB7XG4gICAgY29uc3QgY29sdW1uSWQgPSBvcHRpb25zPy5jb2x1bW5JZCB8fCBwcm9wZXJ0eS50b1N0cmluZygpO1xuICAgIHJldHVybiB0aGlzLmFkZENvbHVtbihuZXcgTGlzdFByb3BlcnR5Q29sdW1uTW9kZWw8Um93LCBQPihjb2x1bW5JZCwgdGhpcy5jb2x1bW5NYW5hZ2VyLCBwcm9wZXJ0eSwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCkpKTtcbiAgfVxuXG4gIC8vIFRPRE86IGNsZWFuIHRoaXMgdXAgYW5kIGFzc2lnbiB0aGUgc2VsZWN0aW9uIG1vZGVsIG9uIHRlaCB0YWJsZSBkaXJlY3RseS5cbiAgLy8gICAgICAgdGFibGVNb2RlbC51c2VTZWxlY3Rpb25Nb2RlbChtb2RlbCkgYW5kIGhhdmUgdGhlIHNlbGVjaXRvbiBjb2x1bW4gYXV0b21hdGljYWxseVxuICAvLyAgICAgICBhZGRlZC4gIE5lZWQgdG8gbG9vayBhdCBob3cgd2UncmUgdXNpbmcgdGhlIHZpc2liaWxpdHkgY29udHJvbHMgYXMgd2VsbC5cbiAgLy8gICAgICAgU2hvdWxkIGFsc28gbGF6eSBjcmVhdGUgdGhlIHNlbGVjdGlvbiBjb2x1bW4gbW9kZWwgaWYgc29tZW9uZSBhY2Nlc3NlcyBpdC5cbiAgcHJvdGVjdGVkIF9hZGRTZWxlY3Rpb25Db2x1bW4oc2VsZWN0aW9uTW9kZWw/OiBTZWxlY3Rpb25Nb2RlbDxSb3c+LCB2aXNpYmxlPzogVmFsdWVNb2RlbDxib29sZWFuPiB8IGJvb2xlYW4pOiBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3c+IHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbCk7XG4gICAgY29uc3QgY29sdW1uSWQgPSBcInNlbGVjdGlvbi1jb2x1bW5cIjtcbiAgICB0aGlzLnNlbGVjdGlvbkNvbHVtbk1vZGVsID0gbmV3IFNlbGVjdGlvbkNvbHVtbk1vZGVsPFJvdz4oY29sdW1uSWQsIHRoaXMuY29sdW1uTWFuYWdlciwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCksIHRoaXMuc2VsZWN0aW9uTW9kZWxQcm94eSk7XG4gICAgdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbC51c2VTZWxlY3Rpb25Nb2RlbChzZWxlY3Rpb25Nb2RlbClcbiAgICB0aGlzLmFkZFJvd0NsYXNzKFwiYXVwLXJvdy1zZWxlY3RlZFwiLCByb3cgPT4gdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbC5pc1NlbGVjdGVkKHJvdykpO1xuICAgIGNvbnN0IHNlbGVjdGlvbkNvbHVtbk1vZGVsID0gdGhpcy5hZGRDb2x1bW4odGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbCwge2JlZm9yZTogbnVsbH0pOyAvLyBmaXJzdCBjb2x1bW5cbiAgICBpZiAoIWlzTmlsKHZpc2libGUpKSB7XG4gICAgICBzZWxlY3Rpb25Db2x1bW5Nb2RlbC52aXNpYmxlV2hpbGUodmlzaWJsZSBpbnN0YW5jZW9mIFZhbHVlTW9kZWwgPyB2aXNpYmxlIDogVmFsdWVNb2RlbC5jb25zdGFudCh2aXNpYmxlKSk7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3Rpb25Db2x1bW5Nb2RlbDtcbiAgfVxuXG5cbiAgYWRkRWRpdENvbnRyb2xzKHNhdmVDb21tYW5kRmFjdG9yeTogQ29tbWFuZC5GYWN0b3J5PERpcnR5VHJhY2tpbmdGb3JtPFJvdz4sIGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+PiwgZm9ybUZhY3Rvcnk/OiAocm93OiBSb3cpID0+IERpcnR5VHJhY2tpbmdGb3JtPFJvdz4pOiBFZGl0b3JDb250cm9sQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgdGhpcy5zYXZlQ29tbWFuZEZhY3RvcnkgPSBzYXZlQ29tbWFuZEZhY3Rvcnk7XG4gICAgaWYgKGlzRnVuY3Rpb24oZm9ybUZhY3RvcnkpKSB7XG4gICAgICB0aGlzLl9jcmVhdGVGb3JtID0gZm9ybUZhY3Rvcnk7XG4gICAgfVxuICAgIGNvbnN0IGNvbHVtbklkID0gXCJlZGl0Q29udHJvbHNcIjtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IEVkaXRvckNvbnRyb2xDb2x1bW5Nb2RlbDxSb3c+KGNvbHVtbklkLCB0aGlzLmNvbHVtbk1hbmFnZXIsIHNhdmVDb21tYW5kRmFjdG9yeSwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCkpKTtcbiAgfVxuXG4gIGFkZEN1c3RvbUNvbHVtbjxWPihjb2x1bW5JZDogc3RyaW5nLCBkYXRhQWNjZXNzb3I6IChyb3c6IFJvdykgPT4gVik6IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBWPiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29sdW1uKG5ldyBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgVj4oY29sdW1uSWQsIHRoaXMuY29sdW1uTWFuYWdlciwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCksIGRhdGFBY2Nlc3NvcikpO1xuICB9XG5cbiAgYWRkQ29tcG9uZW50Q29sdW1uPEMgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8UGFydGlhbDxSb3c+Pj4oY29sdW1uSWQ6IHN0cmluZywgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEM+LCBvbkluaXQ/OiBPbkNvbXBvbmVudEluaXQ8Qz4pOiBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgUm93PlxuICBhZGRDb21wb25lbnRDb2x1bW48QyBleHRlbmRzIENlbGxSZW5kZXJlcjxQYXJ0aWFsPFJvdz4+Pihjb2x1bW5JZDogc3RyaW5nLCBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4sIG9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgQz4pOiBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgUm93PlxuICBhZGRDb21wb25lbnRDb2x1bW48QyBleHRlbmRzIENlbGxSZW5kZXJlcjxQYXJ0aWFsPFJvdz4+Pihjb2x1bW5JZDogc3RyaW5nLCBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4sIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz86IE9uQ29tcG9uZW50SW5pdDxDPiB8IENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBDPik6IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBSb3c+KGNvbHVtbklkLCB0aGlzLmNvbHVtbk1hbmFnZXIsICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpLCByb3cgPT4gcm93KSkuY2VsbFJlbmRlcmVyKGNvbXBvbmVudCwgb25Db21wb25lbnRJbml0T3JPcHRpb25zKTtcbiAgfVxuXG4gIGFkZE1vcmVNZW51PEMgZXh0ZW5kcyBUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnQ8Um93Pj4oY29tcG9uZW50Q2xhc3M6IENvbnN0cnVjdGFibGU8Qz4sIGluaXRpYWxpc2VDYWxsYmFjaz86IChjb21wb25lbnQ6IEMpID0+IHZvaWQpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDb2x1bW4oXCJtb3JlLW1lbnVcIiwgVGFibGVNb3JlTWVudUNvbXBvbmVudCwgKGNvbXBvbmVudDogVGFibGVNb3JlTWVudUNvbXBvbmVudDxSb3c+KSA9PiB7XG4gICAgICBjb21wb25lbnQuY29uZmlndXJlUG9wdXBDb21wb25lbnRUeXBlKGNvbXBvbmVudENsYXNzLCBpbml0aWFsaXNlQ2FsbGJhY2spO1xuICAgIH0pLmNvbHVtblRleHRQcm9wZXJ0aWVzKHtcbiAgICAgIGhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFwiXCJcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZEZvb3RlclJvdzxDPihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4sIGluaXRpYWxpc2VDYWxsYmFjaz86IChjb21wb25lbnQ6IEMpID0+IHZvaWQpOkZvb3RlclJvd01vZGVsPEM+IHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5mb290ZXJSb3dNb2RlbCk7XG4gICAgdGhpcy5mb290ZXJSb3dNb2RlbCA9IG5ldyBGb290ZXJSb3dNb2RlbC5JbXBsKGNvbXBvbmVudCwgaW5pdGlhbGlzZUNhbGxiYWNrKTtcbiAgICByZXR1cm4gdGhpcy5mb290ZXJSb3dNb2RlbDtcbiAgfVxuXG4gIGFkZFRlbXBsYXRlQ29sdW1uPFY+KGNvbHVtbklkOiBzdHJpbmcpOiBDdXN0b21UZW1wbGF0ZUNvbHVtbk1vZGVsPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLmFkZENvbHVtbihuZXcgQ3VzdG9tVGVtcGxhdGVDb2x1bW5Nb2RlbDxSb3c+KGNvbHVtbklkLCB0aGlzLmNvbHVtbk1hbmFnZXIsICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpKSk7XG4gIH1cblxuICBhZGRSb3dDbGFzcyhjbGFzc05hbWU6IHN0cmluZywgcHJlZGljYXRlOiAocm93OiBSb3cpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLnJvd0NsYXNzTmFtZVByZWRpY2F0ZXMucHVzaChuZXcgUm93Q2xhc3M8Um93PihjbGFzc05hbWUsIHByZWRpY2F0ZSkpO1xuICB9XG5cbiAgYWRkUm93QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWU6IHN0cmluZywgZ2V0VmFsdWU6IChyb3c6IFJvdykgPT4gc3RyaW5nKSB7XG4gICAgdGhpcy5yb3dBdHRyaWJ1dGVHZW5lcmF0b3JzLnB1c2gobmV3IFJvd0F0dHJpYnV0ZTxSb3c+KGF0dHJpYnV0ZU5hbWUsIGdldFZhbHVlKSk7XG4gIH1cblxuICBnZXRSb3dDbGFzc2VzKHJvdzogUm93KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzTmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgdGhpcy5yb3dDbGFzc05hbWVQcmVkaWNhdGVzLmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoaS5tYXRjaGVzKHJvdykpIHtcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGkuY2xhc3NOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2xhc3NOYW1lcztcbiAgfVxuXG4gIGdldFJvd0F0dHJpYnV0ZXMocm93OiBSb3cpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5yb3dBdHRyaWJ1dGVHZW5lcmF0b3JzLnJlZHVjZSgocmVzdWx0LCBnZW5lcmF0b3IpID0+IHtcbiAgICAgIHJldHVybiB7Li4ucmVzdWx0LCBbZ2VuZXJhdG9yLmF0dHJpYnV0ZU5hbWVdOiBnZW5lcmF0b3IuZ2V0VmFsdWUocm93KX1cbiAgICB9LCB7fSk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBhZGRDb2x1bW48QyBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4+KGNvbHVtbjogQywgcG9zaXRpb24/OiBDb2x1bW5PcmRlck1hbmFnZXIuUG9zaXRpb24pOiBDIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5NYW5hZ2VyLmFkZENvbHVtbihjb2x1bW4sIHBvc2l0aW9uKTtcbiAgfVxuXG4gIGNvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtblRleHRQcm9wZXJ0aWVzOiB7IFtjb2x1bW5OYW1lOiBzdHJpbmddOiBDb2x1bW5UZXh0UHJvcGVydGllcyB9KSB7XG4gICAgdGhpcy5fY29sdW1uVGV4dFByb3BlcnRpZXNMb29rdXAgPSBjb2x1bW5UZXh0UHJvcGVydGllcztcbiAgfVxuXG4gIGdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkOiBzdHJpbmcpOiBDb2x1bW5UZXh0UHJvcGVydGllcyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtblRleHRQcm9wZXJ0aWVzTG9va3VwID8gdGhpcy5fY29sdW1uVGV4dFByb3BlcnRpZXNMb29rdXBbY29sdW1uSWRdIDogdW5kZWZpbmVkO1xuICB9XG5cblxuICBpc1Jvd1NlbGVjdGlvbkVuYWJsZWRGb3IoY29sdW1uOiBDb2x1bW5Nb2RlbDxSb3c+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNSb3dTZWxlY3Rpb25FbmFibGVkKCkgJiYgY29sdW1uLmlzUm93U2VsZWN0aW9uRW5hYmxlZCgpO1xuICB9XG5cbiAgaXNSb3dTZWxlY3Rpb25FbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmhhc1VzZXJTZWxlY3Rpb25Nb2RlbFRoYXRJc0VuYWJsZWQoKSAmJiAhdGhpcy5yb3dTZWxlY3Rpb25EaXNhYmxlZE9uQWxsQ29sdW1ucyQudmFsdWU7XG4gIH1cblxuICBoYXNVc2VyU2VsZWN0aW9uTW9kZWxUaGF0SXNFbmFibGVkKCkge1xuICAgIGNvbnN0IHVzZXJTZWxlY3Rpb25Nb2RlbCA9IHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWw/LnNlbGVjdGlvbk1vZGVsLmdldFByb3h5VGFyZ2V0KCk7XG4gICAgcmV0dXJuICEhdXNlclNlbGVjdGlvbk1vZGVsICYmIHVzZXJTZWxlY3Rpb25Nb2RlbC5lbmFibGVkJC52YWx1ZTtcbiAgfVxuXG4gIGdldFNlbGVjdGlvbk1vZGVsKCk6IFNlbGVjdGlvbk1vZGVsPFJvdz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbkNvbHVtbk1vZGVsPy5zZWxlY3Rpb25Nb2RlbDtcbiAgfVxuXG4gIGlzSG92ZXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUm93U2VsZWN0aW9uRW5hYmxlZCgpIHx8IHRoaXMucm93Q2xpY2tMaXN0ZW5lcnMubGlzdGVuZXJDb3VudCA+IDA7XG4gIH1cblxuICBpc0N1cnNvckVuYWJsZWQoY29sdW1uOiBDb2x1bW5Nb2RlbDxSb3c+KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNSb3dTZWxlY3Rpb25FbmFibGVkRm9yKGNvbHVtbikgfHwgdGhpcy5yb3dDbGlja0xpc3RlbmVycy5saXN0ZW5lckNvdW50ID4gMDtcbiAgfVxuXG4gIHNlbGVjdFJvdyhyb3c6IFJvdykge1xuICAgIHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWw/LnNlbGVjdFJvdyhyb3cpO1xuICB9XG5cbiAgb25Sb3dDbGlja2VkKGNhbGxiYWNrOiAocm93OiBSb3cpID0+IHZvaWQpOiBEaXNwb3NhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5yb3dDbGlja0xpc3RlbmVycy5hZGQoY2FsbGJhY2spO1xuICB9XG5cbiAgX25vdGlmeUNlbGxDbGlja2VkKGNvbHVtbk1vZGVsOiBDb2x1bW5Nb2RlbDxSb3c+LCByb3c6IFJvdykge1xuICAgIGlmICh0aGlzLmlzUm93U2VsZWN0aW9uRW5hYmxlZEZvcihjb2x1bW5Nb2RlbCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0Um93KHJvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHtcbiAgICAgIC8vICAgaGFzRW5hYmxlZFVzZXJTZWxlY3Rpb25Nb2RlbDogdGhpcy5oYXNVc2VyU2VsZWN0aW9uTW9kZWxUaGF0SXNFbmFibGVkKCksXG4gICAgICAvLyAgIGFsbFNlbGVjdGlvbkRpc2FibGVkOiB0aGlzLnJvd1NlbGVjdGlvbkRpc2FibGVkT25BbGxDb2x1bW5zJC52YWx1ZSxcbiAgICAgIC8vICAgcm93U2VsZWN0aW9uRW5hYmxlZDogdGhpcy5pc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKSxcbiAgICAgIC8vICAgcm93U2VsZWN0aW9uRW5hYmxlZEZvckNvbHVtbjogY29sdW1uTW9kZWwuaXNSb3dTZWxlY3Rpb25FbmFibGVkKClcbiAgICAgIC8vIH0pXG4gICAgfVxuXG4gICAgdGhpcy5yb3dDbGlja0xpc3RlbmVycy5maXJlKGwgPT4gbChyb3cpKTtcbiAgfVxuXG59XG5cblByb3h5UmVnaXN0cnkucmVnaXN0ZXJPbmVUaW1lQmluZGluZyhBYnN0cmFjdFRhYmxlTW9kZWwpXG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { ComponentPortal } from "@angular/cdk/portal";
2
+ import { ProxyRegistry } from "@coolon/pectin";
3
+ class RowClass {
4
+ className;
5
+ matches;
6
+ constructor(className, matches) {
7
+ this.className = className;
8
+ this.matches = matches;
9
+ }
10
+ }
11
+ export class FooterRowModel {
12
+ _rowClasses = [];
13
+ noPadding() {
14
+ this.addClass("no-padding");
15
+ }
16
+ addClass(className, condition) {
17
+ this._rowClasses.push(new RowClass(className, condition ?? (() => true)));
18
+ }
19
+ }
20
+ (function (FooterRowModel) {
21
+ class Impl extends FooterRowModel {
22
+ component;
23
+ onInit;
24
+ portal;
25
+ constructor(component, onInit) {
26
+ super();
27
+ this.component = component;
28
+ this.onInit = onInit;
29
+ this.portal = new ComponentPortal(component);
30
+ }
31
+ getActiveRowClasses() {
32
+ return this._rowClasses.filter(c => c.matches()).map(c => c.className).join(" ");
33
+ }
34
+ }
35
+ FooterRowModel.Impl = Impl;
36
+ })(FooterRowModel || (FooterRowModel = {}));
37
+ ProxyRegistry.registerOneTimeBinding(FooterRowModel);
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLXJvdy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2Zvb3Rlci9mb290ZXItcm93LW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsTUFBTSxRQUFRO0lBQ1M7SUFDQTtJQURyQixZQUFxQixTQUFpQixFQUNqQixPQUFzQjtRQUR0QixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQWU7SUFDM0MsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFnQixjQUFjO0lBRWYsV0FBVyxHQUFlLEVBQUUsQ0FBQztJQUVoRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQWlCLEVBQUUsU0FBeUI7UUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBQ0Y7QUFFRCxXQUFpQixjQUFjO0lBQzdCLE1BQWEsSUFBUSxTQUFRLGNBQWlCO1FBR2I7UUFBc0M7UUFGNUQsTUFBTSxDQUFxQjtRQUVwQyxZQUErQixTQUEyQixFQUFXLE1BQTZCO1lBQ2hHLEtBQUssRUFBRSxDQUFDO1lBRHFCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1lBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7WUFFaEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUM5QyxDQUFDO1FBRUQsbUJBQW1CO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25GLENBQUM7S0FFRjtJQVpZLG1CQUFJLE9BWWhCLENBQUE7QUFDSCxDQUFDLEVBZGdCLGNBQWMsS0FBZCxjQUFjLFFBYzlCO0FBRUQsYUFBYSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnRUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHtQcm94eVJlZ2lzdHJ5fSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7QWJzdHJhY3RUYWJsZU1vZGVsfSBmcm9tIFwiLi4vYWJzdHJhY3QtdGFibGUtbW9kZWxcIjtcblxuY2xhc3MgUm93Q2xhc3Mge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjbGFzc05hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgbWF0Y2hlczogKCkgPT4gYm9vbGVhbikge1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb290ZXJSb3dNb2RlbDxDPiB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9yb3dDbGFzc2VzOiBSb3dDbGFzc1tdID0gW107XG5cbiAgbm9QYWRkaW5nKCkge1xuICAgIHRoaXMuYWRkQ2xhc3MoXCJuby1wYWRkaW5nXCIpO1xuICB9XG5cbiAgYWRkQ2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcsIGNvbmRpdGlvbj86ICgpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yb3dDbGFzc2VzLnB1c2gobmV3IFJvd0NsYXNzKGNsYXNzTmFtZSwgY29uZGl0aW9uID8/ICgoKSA9PiB0cnVlKSkpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRm9vdGVyUm93TW9kZWwge1xuICBleHBvcnQgY2xhc3MgSW1wbDxDPiBleHRlbmRzIEZvb3RlclJvd01vZGVsPEM+IHtcbiAgICByZWFkb25seSBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxDPjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4sIHJlYWRvbmx5IG9uSW5pdDogKGNvbXBvbmVudDpDKSA9PiB2b2lkKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudClcbiAgICB9XG5cbiAgICBnZXRBY3RpdmVSb3dDbGFzc2VzKCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3Jvd0NsYXNzZXMuZmlsdGVyKGMgPT4gYy5tYXRjaGVzKCkpLm1hcChjID0+IGMuY2xhc3NOYW1lKS5qb2luKFwiIFwiKTtcbiAgICB9XG5cbiAgfVxufVxuXG5Qcm94eVJlZ2lzdHJ5LnJlZ2lzdGVyT25lVGltZUJpbmRpbmcoRm9vdGVyUm93TW9kZWwpO1xuIl19