@skyux/layout 10.0.0-alpha.0 → 10.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/documentation.json +1067 -693
  2. package/esm2022/lib/modules/action-button/action-button-adapter-service.mjs +3 -3
  3. package/esm2022/lib/modules/action-button/action-button-container.component.mjs +3 -3
  4. package/esm2022/lib/modules/action-button/action-button-details.component.mjs +3 -3
  5. package/esm2022/lib/modules/action-button/action-button-header.component.mjs +3 -3
  6. package/esm2022/lib/modules/action-button/action-button-icon.component.mjs +3 -3
  7. package/esm2022/lib/modules/action-button/action-button.component.mjs +3 -3
  8. package/esm2022/lib/modules/action-button/action-button.module.mjs +4 -4
  9. package/esm2022/lib/modules/back-to-top/back-to-top-adapter.service.mjs +3 -3
  10. package/esm2022/lib/modules/back-to-top/back-to-top.component.mjs +3 -3
  11. package/esm2022/lib/modules/back-to-top/back-to-top.directive.mjs +3 -3
  12. package/esm2022/lib/modules/back-to-top/back-to-top.module.mjs +4 -4
  13. package/esm2022/lib/modules/box/box-content.component.mjs +3 -3
  14. package/esm2022/lib/modules/box/box-controls.component.mjs +3 -3
  15. package/esm2022/lib/modules/box/box-header.component.mjs +3 -3
  16. package/esm2022/lib/modules/box/box.component.mjs +3 -3
  17. package/esm2022/lib/modules/box/box.module.mjs +4 -4
  18. package/esm2022/lib/modules/card/card-actions.component.mjs +3 -3
  19. package/esm2022/lib/modules/card/card-content.component.mjs +3 -3
  20. package/esm2022/lib/modules/card/card-title.component.mjs +3 -3
  21. package/esm2022/lib/modules/card/card.component.mjs +3 -3
  22. package/esm2022/lib/modules/card/card.module.mjs +4 -4
  23. package/esm2022/lib/modules/definition-list/definition-list-content.component.mjs +3 -3
  24. package/esm2022/lib/modules/definition-list/definition-list-heading.component.mjs +3 -3
  25. package/esm2022/lib/modules/definition-list/definition-list-label.component.mjs +3 -3
  26. package/esm2022/lib/modules/definition-list/definition-list-value.component.mjs +3 -3
  27. package/esm2022/lib/modules/definition-list/definition-list.component.mjs +3 -3
  28. package/esm2022/lib/modules/definition-list/definition-list.module.mjs +4 -4
  29. package/esm2022/lib/modules/definition-list/definition-list.service.mjs +3 -3
  30. package/esm2022/lib/modules/description-list/description-list-adapter-service.mjs +3 -3
  31. package/esm2022/lib/modules/description-list/description-list-content.component.mjs +3 -3
  32. package/esm2022/lib/modules/description-list/description-list-description.component.mjs +3 -3
  33. package/esm2022/lib/modules/description-list/description-list-term.component.mjs +3 -3
  34. package/esm2022/lib/modules/description-list/description-list.component.mjs +3 -3
  35. package/esm2022/lib/modules/description-list/description-list.module.mjs +4 -4
  36. package/esm2022/lib/modules/description-list/description-list.service.mjs +3 -3
  37. package/esm2022/lib/modules/fluid-grid/column.component.mjs +3 -3
  38. package/esm2022/lib/modules/fluid-grid/fluid-grid.component.mjs +3 -3
  39. package/esm2022/lib/modules/fluid-grid/fluid-grid.module.mjs +4 -4
  40. package/esm2022/lib/modules/fluid-grid/row.component.mjs +3 -3
  41. package/esm2022/lib/modules/format/format.component.mjs +3 -3
  42. package/esm2022/lib/modules/format/format.module.mjs +4 -4
  43. package/esm2022/lib/modules/inline-delete/inline-delete-adapter.service.mjs +3 -3
  44. package/esm2022/lib/modules/inline-delete/inline-delete.component.mjs +3 -3
  45. package/esm2022/lib/modules/inline-delete/inline-delete.module.mjs +4 -4
  46. package/esm2022/lib/modules/page/page-theme-adapter.service.mjs +3 -3
  47. package/esm2022/lib/modules/page/page.component.mjs +3 -3
  48. package/esm2022/lib/modules/page/page.module.mjs +4 -4
  49. package/esm2022/lib/modules/page-summary/page-summary-adapter.service.mjs +3 -3
  50. package/esm2022/lib/modules/page-summary/page-summary-alert.component.mjs +3 -3
  51. package/esm2022/lib/modules/page-summary/page-summary-content.component.mjs +3 -3
  52. package/esm2022/lib/modules/page-summary/page-summary-image.component.mjs +3 -3
  53. package/esm2022/lib/modules/page-summary/page-summary-key-info.component.mjs +3 -3
  54. package/esm2022/lib/modules/page-summary/page-summary-status.component.mjs +3 -3
  55. package/esm2022/lib/modules/page-summary/page-summary-subtitle.component.mjs +3 -3
  56. package/esm2022/lib/modules/page-summary/page-summary-title.component.mjs +3 -3
  57. package/esm2022/lib/modules/page-summary/page-summary.component.mjs +3 -3
  58. package/esm2022/lib/modules/page-summary/page-summary.module.mjs +4 -4
  59. package/esm2022/lib/modules/shared/sky-layout-resources.module.mjs +5 -5
  60. package/esm2022/lib/modules/text-expand/text-expand-adapter.service.mjs +3 -3
  61. package/esm2022/lib/modules/text-expand/text-expand-modal.component.mjs +3 -3
  62. package/esm2022/lib/modules/text-expand/text-expand.component.mjs +3 -3
  63. package/esm2022/lib/modules/text-expand/text-expand.module.mjs +4 -4
  64. package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +3 -3
  65. package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +4 -4
  66. package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater.module.mjs +4 -4
  67. package/esm2022/lib/modules/toolbar/toolbar-item.component.mjs +3 -3
  68. package/esm2022/lib/modules/toolbar/toolbar-section.component.mjs +3 -3
  69. package/esm2022/lib/modules/toolbar/toolbar-view-actions.component.mjs +3 -3
  70. package/esm2022/lib/modules/toolbar/toolbar.component.mjs +3 -3
  71. package/esm2022/lib/modules/toolbar/toolbar.module.mjs +4 -4
  72. package/fesm2022/skyux-layout.mjs +225 -225
  73. package/fesm2022/skyux-layout.mjs.map +1 -1
  74. package/package.json +16 -16
@@ -166,8 +166,8 @@ export class SkyTextExpandRepeaterComponent {
166
166
  }
167
167
  }
168
168
  }
169
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i0.ElementRef }, { token: i2.SkyTextExpandRepeaterAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
170
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyTextExpandRepeaterComponent, selector: "sky-text-expand-repeater", inputs: { data: "data", itemTemplate: "itemTemplate", listStyle: "listStyle", maxItems: "maxItems" }, providers: [SkyTextExpandRepeaterAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of data\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [":host{display:block}.sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0;margin-top:var(--sky-compat-text-expand-repeater-margin-top, 0)}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyTextExpandRepeaterComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i0.ElementRef }, { token: i2.SkyTextExpandRepeaterAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
170
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyTextExpandRepeaterComponent, selector: "sky-text-expand-repeater", inputs: { data: "data", itemTemplate: "itemTemplate", listStyle: "listStyle", maxItems: "maxItems" }, providers: [SkyTextExpandRepeaterAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of data\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [":host{display:block}.sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0;margin-top:var(--sky-compat-text-expand-repeater-margin-top, 0)}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
171
171
  trigger('expansionAnimation', [
172
172
  transition(':enter', []),
173
173
  state('true', style({
@@ -182,7 +182,7 @@ export class SkyTextExpandRepeaterComponent {
182
182
  ]),
183
183
  ] }); }
184
184
  }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, decorators: [{
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyTextExpandRepeaterComponent, decorators: [{
186
186
  type: Component,
187
187
  args: [{ animations: [
188
188
  trigger('expansionAnimation', [
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
213
213
  static: false,
214
214
  }]
215
215
  }] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBR0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQUc3Rjs7R0FFRztBQUNILElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQThCZixNQUFNLE9BQU8sOEJBQThCO0lBQ3pDOztPQUVHO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBd0I7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIscUVBQXFFO1FBQ3JFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FB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LEVBQUU7NEJBQzVCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDOzRCQUN4QixLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxLQUFLLENBQ0gsT0FBTyxFQUNQLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzs0QkFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO3lCQUM1QixDQUFDO3FCQUNILFlBQ1MsMEJBQTBCLGFBR3pCLENBQUMsbUNBQW1DLENBQUM7c01BT3JDLElBQUk7c0JBRGQsS0FBSztnQkFtQkMsWUFBWTtzQkFEbEIsS0FBSztnQkFRQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkF3QkMsV0FBVztzQkFKakIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1yZXBlYXRlci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZFJlcGVhdGVyTGlzdFN0eWxlVHlwZSB9IGZyb20gJy4vdHlwZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS10eXBlJztcblxuLyoqXG4gKiBBdXRvLWluY3JlbWVudGluZyBpbnRlZ2VyIHVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIGlkcyBmb3IgdGV4dCBleHBhbmQgcmVwZWF0ZXIgY29tcG9uZW50cy5cbiAqL1xubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZXhwYW5zaW9uQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW10pLFxuICAgICAgc3RhdGUoXG4gICAgICAgICd0cnVlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG1heEhlaWdodDogJ3t7dHJhbnNpdGlvbkhlaWdodH19cHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogMCB9IH0sXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdmYWxzZScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBtYXhIZWlnaHQ6ICd7e3RyYW5zaXRpb25IZWlnaHR9fXB4JyxcbiAgICAgICAgfSksXG4gICAgICAgIHsgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IDAgfSB9LFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ3RydWUgPT4gZmFsc2UnLCBhbmltYXRlKCcyNTBtcyBlYXNlJykpLFxuICAgICAgdHJhbnNpdGlvbignZmFsc2UgPT4gdHJ1ZScsIGFuaW1hdGUoJzI1MG1zIGVhc2UnKSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXSksXG4gICAgXSksXG4gIF0sXG4gIHNlbGVjdG9yOiAnc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZXhwYW5kLXJlcGVhdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBkYXRhIHRvIHRydW5jYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhKHZhbHVlOiBhbnlbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhID0gdmFsdWU7XG5cbiAgICAvLyBXYWl0IGZvciB0aGUgZG9tIHRvIHJlbmRlciB0aGUgbmV3IGl0ZW1zIGJhc2VkIG9uIHRoZSB1cGRhdGVkIGRhdGFcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2h0bWxJdGVtcyA9IHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIuZ2V0SXRlbXModGhpcy4jZWxSZWYpO1xuICAgICAgdGhpcy4jc2V0dXAodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhKCk6IGFueVtdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIGZvciBpdGVtcyBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGUgb2YgYnVsbGV0IHRvIHVzZVxuICAgKiBAZGVmYXVsdCBcInVub3JkZXJlZFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGlzdFN0eWxlOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJMaXN0U3R5bGVUeXBlIHwgdW5kZWZpbmVkID1cbiAgICAndW5vcmRlcmVkJztcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IGJlZm9yZSB0cnVuY2F0aW5nIHRoZSBsaXN0LiBJZiBub3Qgc3VwcGxpZWQsIGFsbCBpdGVtcyBhcmUgc2hvd24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEl0ZW1zKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWF4SXRlbXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNzZXR1cCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYXhJdGVtcygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbWF4SXRlbXM7XG4gIH1cblxuICBwdWJsaWMgYnV0dG9uVGV4dCA9ICcnO1xuICBwdWJsaWMgZXhwYW5kYWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgY29udGVudFNlY3Rpb25JZCA9IGBza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItY29udGVudC0keysrbmV4dElkfWA7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyB0cmFuc2l0aW9uSGVpZ2h0ID0gMTtcblxuICAjc2VlTW9yZVRleHQgPSAnJztcbiAgI3NlZUxlc3NUZXh0ID0gJyc7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRhaW5lckVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNodG1sSXRlbXM6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gICNfZGF0YTogYW55W10gfCB1bmRlZmluZWQ7XG4gICNfbWF4SXRlbXM6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG4gICN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjogU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLiNyZXNvdXJjZXMgPSByZXNvdXJjZXM7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyID0gdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4oW1xuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmUnKSxcbiAgICAgIHRoaXMuI3Jlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9sZXNzJyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy4jc2VlTW9yZVRleHQgPSByZXNvdXJjZXNbMF07XG4gICAgICAgIHRoaXMuI3NlZUxlc3NUZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVMZXNzVGV4dDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIGFsbCBpdGVtcyB0aGF0IHNob3VsZCBiZSBoaWRkZW4gYXJlIGhpZGRlbi4gVGhpcyBpcyBiZWNhdXNlIHdlIG5lZWQgdGhlbSBzaG93biBkdXJpbmcgdGhlIGFuaW1hdGlvbiB3aW5kb3cgZm9yIHZpc3VhbCBwdXJwb3Nlcy5cbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy4jaGlkZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBzZXQgdGltZW91dCBpcyBuZWVkZWQgYXMgdGhlIGBhbmltYXRpb25FbmRgIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgYW5ndWxhciBhbmltYXRpb24gY2FsbGJhY2sgcHJpb3IgdG8gdGhlIGFuaW1hdGlvbiBzZXR0aW5nIHRoZSBzdHlsZSBvbiB0aGUgZWxlbWVudFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgICAgLy8gU2V0IGhlaWdodCBiYWNrIHRvIGF1dG8gc28gdGhlIGJyb3dzZXIgY2FuIGNoYW5nZSB0aGUgaGVpZ2h0IGFzIG5lZWRlZCB3aXRoIHdpbmRvdyBjaGFuZ2VzXG4gICAgICAgIHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIucmVtb3ZlQ29udGFpbmVyTWF4SGVpZ2h0KFxuICAgICAgICAgIHRoaXMuY29udGFpbmVyRWwsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVwZWF0ZXJFeHBhbmQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuI2FuaW1hdGVSZXBlYXRlcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jYW5pbWF0ZVJlcGVhdGVyKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAjYW5pbWF0ZVJlcGVhdGVyKGV4cGFuZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWw7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgaWYgKGV4cGFuZGluZykge1xuICAgICAgICB0aGlzLiNzaG93SXRlbXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI2hpZGVJdGVtcygpO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gYWRhcHRlci5nZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyKTtcbiAgICAgIHRoaXMudHJhbnNpdGlvbkhlaWdodCA9IG5ld0hlaWdodDtcbiAgICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZU1vcmVUZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTGVzc1RleHQ7XG4gICAgICB9XG4gICAgICBpZiAoIWV4cGFuZGluZykge1xuICAgICAgICAvLyBTaG93IGFsbCBpdGVtcyBkdXJpbmcgYW5pbWF0aW9uIGZvciB2aXN1YWwgcHVycG9zZXMuXG4gICAgICAgIHRoaXMuI3Nob3dJdGVtcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZXhwYW5kaW5nO1xuICAgIH1cbiAgfVxuXG4gICNzZXR1cCh2YWx1ZTogQXJyYXk8dW5rbm93bj4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcbiAgICAgIGlmICh0aGlzLm1heEl0ZW1zICYmIGxlbmd0aCA+IHRoaXMubWF4SXRlbXMpIHtcbiAgICAgICAgdGhpcy5leHBhbmRhYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTW9yZVRleHQ7XG4gICAgICAgIHRoaXMuI2hpZGVJdGVtcygpO1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXJFbCkge1xuICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkhlaWdodCA9XG4gICAgICAgICAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChcbiAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJFbCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjaGlkZUl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNodG1sSXRlbXMgJiYgdGhpcy5tYXhJdGVtcykge1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMubWF4SXRlbXM7IGkgPCB0aGlzLiNodG1sSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5oaWRlSXRlbSh0aGlzLiNodG1sSXRlbXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzaG93SXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2h0bWxJdGVtcyAmJiB0aGlzLm1heEl0ZW1zKSB7XG4gICAgICBmb3IgKGxldCBpID0gdGhpcy5tYXhJdGVtczsgaSA8IHRoaXMuI2h0bWxJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLnNob3dJdGVtKHRoaXMuI2h0bWxJdGVtc1tpXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyXCI+XG4gIDx1bFxuICAgICpuZ0lmPVwibGlzdFN0eWxlICE9PSAnb3JkZXJlZCdcIlxuICAgIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWNvbnRhaW5lclwiXG4gICAgW0BleHBhbnNpb25BbmltYXRpb25dPVwie1xuICAgICAgdmFsdWU6IGlzRXhwYW5kZWQsXG4gICAgICBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogdHJhbnNpdGlvbkhlaWdodCB9XG4gICAgfVwiXG4gICAgKEBleHBhbnNpb25BbmltYXRpb24uZG9uZSk9XCJhbmltYXRpb25FbmQoKVwiXG4gICAgW2lkXT1cImNvbnRlbnRTZWN0aW9uSWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS1ub25lJzogbGlzdFN0eWxlID09PSAndW5zdHlsZWQnXG4gICAgfVwiXG4gICAgI2NvbnRhaW5lclxuICA+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RJdGVtVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L3VsPlxuICA8b2xcbiAgICAqbmdJZj1cImxpc3RTdHlsZSA9PT0gJ29yZGVyZWQnXCJcbiAgICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1jb250YWluZXJcIlxuICAgIFtAZXhwYW5zaW9uQW5pbWF0aW9uXT1cIntcbiAgICAgIHZhbHVlOiBpc0V4cGFuZGVkLFxuICAgICAgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IHRyYW5zaXRpb25IZWlnaHQgfVxuICAgIH1cIlxuICAgIChAZXhwYW5zaW9uQW5pbWF0aW9uLmRvbmUpPVwiYW5pbWF0aW9uRW5kKClcIlxuICAgIFtpZF09XCJjb250ZW50U2VjdGlvbklkXCJcbiAgICAjY29udGFpbmVyXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvb2w+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cImV4cGFuZGFibGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmstaW5saW5lIHNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1zZWUtbW9yZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhIWlzRXhwYW5kZWRcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiY29udGVudFNlY3Rpb25JZFwiXG4gICAgKGNsaWNrKT1cInJlcGVhdGVyRXhwYW5kKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItc2VlLW1vcmUtbGlzdC1zdHlsZS1ub25lJzpcbiAgICAgICAgbGlzdFN0eWxlID09PSAndW5zdHlsZWQnXG4gICAgfVwiXG4gID5cbiAgICB7eyBidXR0b25UZXh0IH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZT5cbiAge3sgaXRlbSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaXN0SXRlbVRlbXBsYXRlPlxuICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWl0ZW1cIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBR0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQUc3Rjs7R0FFRztBQUNILElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQThCZixNQUFNLE9BQU8sOEJBQThCO0lBQ3pDOztPQUVHO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBd0I7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIscUVBQXFFO1FBQ3JFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FB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LEVBQUU7NEJBQzVCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDOzRCQUN4QixLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxLQUFLLENBQ0gsT0FBTyxFQUNQLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzs0QkFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO3lCQUM1QixDQUFDO3FCQUNILFlBQ1MsMEJBQTBCLGFBR3pCLENBQUMsbUNBQW1DLENBQUM7c01BT3JDLElBQUk7c0JBRGQsS0FBSztnQkFtQkMsWUFBWTtzQkFEbEIsS0FBSztnQkFRQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkF3QkMsV0FBVztzQkFKakIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1yZXBlYXRlci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZFJlcGVhdGVyTGlzdFN0eWxlVHlwZSB9IGZyb20gJy4vdHlwZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS10eXBlJztcblxuLyoqXG4gKiBBdXRvLWluY3JlbWVudGluZyBpbnRlZ2VyIHVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIGlkcyBmb3IgdGV4dCBleHBhbmQgcmVwZWF0ZXIgY29tcG9uZW50cy5cbiAqL1xubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZXhwYW5zaW9uQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW10pLFxuICAgICAgc3RhdGUoXG4gICAgICAgICd0cnVlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG1heEhlaWdodDogJ3t7dHJhbnNpdGlvbkhlaWdodH19cHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogMCB9IH0sXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdmYWxzZScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBtYXhIZWlnaHQ6ICd7e3RyYW5zaXRpb25IZWlnaHR9fXB4JyxcbiAgICAgICAgfSksXG4gICAgICAgIHsgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IDAgfSB9LFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ3RydWUgPT4gZmFsc2UnLCBhbmltYXRlKCcyNTBtcyBlYXNlJykpLFxuICAgICAgdHJhbnNpdGlvbignZmFsc2UgPT4gdHJ1ZScsIGFuaW1hdGUoJzI1MG1zIGVhc2UnKSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXSksXG4gICAgXSksXG4gIF0sXG4gIHNlbGVjdG9yOiAnc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZXhwYW5kLXJlcGVhdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBkYXRhIHRvIHRydW5jYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhKHZhbHVlOiBhbnlbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhID0gdmFsdWU7XG5cbiAgICAvLyBXYWl0IGZvciB0aGUgZG9tIHRvIHJlbmRlciB0aGUgbmV3IGl0ZW1zIGJhc2VkIG9uIHRoZSB1cGRhdGVkIGRhdGFcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2h0bWxJdGVtcyA9IHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIuZ2V0SXRlbXModGhpcy4jZWxSZWYpO1xuICAgICAgdGhpcy4jc2V0dXAodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhKCk6IGFueVtdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIGZvciBpdGVtcyBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGUgb2YgYnVsbGV0IHRvIHVzZVxuICAgKiBAZGVmYXVsdCBcInVub3JkZXJlZFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGlzdFN0eWxlOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJMaXN0U3R5bGVUeXBlIHwgdW5kZWZpbmVkID1cbiAgICAndW5vcmRlcmVkJztcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IGJlZm9yZSB0cnVuY2F0aW5nIHRoZSBsaXN0LiBJZiBub3Qgc3VwcGxpZWQsIGFsbCBpdGVtcyBhcmUgc2hvd24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEl0ZW1zKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWF4SXRlbXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNzZXR1cCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYXhJdGVtcygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbWF4SXRlbXM7XG4gIH1cblxuICBwdWJsaWMgYnV0dG9uVGV4dCA9ICcnO1xuICBwdWJsaWMgZXhwYW5kYWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgY29udGVudFNlY3Rpb25JZCA9IGBza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItY29udGVudC0keysrbmV4dElkfWA7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyB0cmFuc2l0aW9uSGVpZ2h0ID0gMTtcblxuICAjc2VlTW9yZVRleHQgPSAnJztcbiAgI3NlZUxlc3NUZXh0ID0gJyc7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRhaW5lckVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNodG1sSXRlbXM6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gICNfZGF0YTogYW55W10gfCB1bmRlZmluZWQ7XG4gICNfbWF4SXRlbXM6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG4gICN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjogU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLiNyZXNvdXJjZXMgPSByZXNvdXJjZXM7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyID0gdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4oW1xuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmUnKSxcbiAgICAgIHRoaXMuI3Jlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9sZXNzJyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy4jc2VlTW9yZVRleHQgPSByZXNvdXJjZXNbMF07XG4gICAgICAgIHRoaXMuI3NlZUxlc3NUZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVMZXNzVGV4dDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIGFsbCBpdGVtcyB0aGF0IHNob3VsZCBiZSBoaWRkZW4gYXJlIGhpZGRlbi4gVGhpcyBpcyBiZWNhdXNlIHdlIG5lZWQgdGhlbSBzaG93biBkdXJpbmcgdGhlIGFuaW1hdGlvbiB3aW5kb3cgZm9yIHZpc3VhbCBwdXJwb3Nlcy5cbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy4jaGlkZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBzZXQgdGltZW91dCBpcyBuZWVkZWQgYXMgdGhlIGBhbmltYXRpb25FbmRgIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgYW5ndWxhciBhbmltYXRpb24gY2FsbGJhY2sgcHJpb3IgdG8gdGhlIGFuaW1hdGlvbiBzZXR0aW5nIHRoZSBzdHlsZSBvbiB0aGUgZWxlbWVudFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgICAgLy8gU2V0IGhlaWdodCBiYWNrIHRvIGF1dG8gc28gdGhlIGJyb3dzZXIgY2FuIGNoYW5nZSB0aGUgaGVpZ2h0IGFzIG5lZWRlZCB3aXRoIHdpbmRvdyBjaGFuZ2VzXG4gICAgICAgIHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIucmVtb3ZlQ29udGFpbmVyTWF4SGVpZ2h0KFxuICAgICAgICAgIHRoaXMuY29udGFpbmVyRWwsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVwZWF0ZXJFeHBhbmQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuI2FuaW1hdGVSZXBlYXRlcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jYW5pbWF0ZVJlcGVhdGVyKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAjYW5pbWF0ZVJlcGVhdGVyKGV4cGFuZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWw7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgaWYgKGV4cGFuZGluZykge1xuICAgICAgICB0aGlzLiNzaG93SXRlbXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI2hpZGVJdGVtcygpO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gYWRhcHRlci5nZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyKTtcbiAgICAgIHRoaXMudHJhbnNpdGlvbkhlaWdodCA9IG5ld0hlaWdodDtcbiAgICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZU1vcmVUZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTGVzc1RleHQ7XG4gICAgICB9XG4gICAgICBpZiAoIWV4cGFuZGluZykge1xuICAgICAgICAvLyBTaG93IGFsbCBpdGVtcyBkdXJpbmcgYW5pbWF0aW9uIGZvciB2aXN1YWwgcHVycG9zZXMuXG4gICAgICAgIHRoaXMuI3Nob3dJdGVtcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZXhwYW5kaW5nO1xuICAgIH1cbiAgfVxuXG4gICNzZXR1cCh2YWx1ZTogdW5rbm93bltdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBsZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgICBpZiAodGhpcy5tYXhJdGVtcyAmJiBsZW5ndGggPiB0aGlzLm1heEl0ZW1zKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZU1vcmVUZXh0O1xuICAgICAgICB0aGlzLiNoaWRlSXRlbXMoKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgICAgICB0aGlzLnRyYW5zaXRpb25IZWlnaHQgPVxuICAgICAgICAgICAgdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5nZXRDb250YWluZXJIZWlnaHQoXG4gICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyRWwsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmlzRXhwYW5kZWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI2hpZGVJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jaHRtbEl0ZW1zICYmIHRoaXMubWF4SXRlbXMpIHtcbiAgICAgIGZvciAobGV0IGkgPSB0aGlzLm1heEl0ZW1zOyBpIDwgdGhpcy4jaHRtbEl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIuaGlkZUl0ZW0odGhpcy4jaHRtbEl0ZW1zW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjc2hvd0l0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNodG1sSXRlbXMgJiYgdGhpcy5tYXhJdGVtcykge1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMubWF4SXRlbXM7IGkgPCB0aGlzLiNodG1sSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5zaG93SXRlbSh0aGlzLiNodG1sSXRlbXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlclwiPlxuICA8dWxcbiAgICAqbmdJZj1cImxpc3RTdHlsZSAhPT0gJ29yZGVyZWQnXCJcbiAgICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1jb250YWluZXJcIlxuICAgIFtAZXhwYW5zaW9uQW5pbWF0aW9uXT1cIntcbiAgICAgIHZhbHVlOiBpc0V4cGFuZGVkLFxuICAgICAgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IHRyYW5zaXRpb25IZWlnaHQgfVxuICAgIH1cIlxuICAgIChAZXhwYW5zaW9uQW5pbWF0aW9uLmRvbmUpPVwiYW5pbWF0aW9uRW5kKClcIlxuICAgIFtpZF09XCJjb250ZW50U2VjdGlvbklkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWxpc3Qtc3R5bGUtbm9uZSc6IGxpc3RTdHlsZSA9PT0gJ3Vuc3R5bGVkJ1xuICAgIH1cIlxuICAgICNjb250YWluZXJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0SXRlbVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC91bD5cbiAgPG9sXG4gICAgKm5nSWY9XCJsaXN0U3R5bGUgPT09ICdvcmRlcmVkJ1wiXG4gICAgY2xhc3M9XCJza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItY29udGFpbmVyXCJcbiAgICBbQGV4cGFuc2lvbkFuaW1hdGlvbl09XCJ7XG4gICAgICB2YWx1ZTogaXNFeHBhbmRlZCxcbiAgICAgIHBhcmFtczogeyB0cmFuc2l0aW9uSGVpZ2h0OiB0cmFuc2l0aW9uSGVpZ2h0IH1cbiAgICB9XCJcbiAgICAoQGV4cGFuc2lvbkFuaW1hdGlvbi5kb25lKT1cImFuaW1hdGlvbkVuZCgpXCJcbiAgICBbaWRdPVwiY29udGVudFNlY3Rpb25JZFwiXG4gICAgI2NvbnRhaW5lclxuICA+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RJdGVtVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L29sPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJleHBhbmRhYmxlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rLWlubGluZSBza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItc2VlLW1vcmVcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiISFpc0V4cGFuZGVkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImNvbnRlbnRTZWN0aW9uSWRcIlxuICAgIChjbGljayk9XCJyZXBlYXRlckV4cGFuZCgpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLXNlZS1tb3JlLWxpc3Qtc3R5bGUtbm9uZSc6XG4gICAgICAgIGxpc3RTdHlsZSA9PT0gJ3Vuc3R5bGVkJ1xuICAgIH1cIlxuICA+XG4gICAge3sgYnV0dG9uVGV4dCB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgbGV0LWl0ZW0gI2RlZmF1bHRJdGVtVGVtcGxhdGU+XG4gIHt7IGl0ZW0gfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdEl0ZW1UZW1wbGF0ZT5cbiAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFcIiBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1pdGVtXCI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGUgfHwgZGVmYXVsdEl0ZW1UZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -4,11 +4,11 @@ import { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module'
4
4
  import { SkyTextExpandRepeaterComponent } from './text-expand-repeater.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class SkyTextExpandRepeaterModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterModule, declarations: [SkyTextExpandRepeaterComponent], imports: [SkyLayoutResourcesModule, CommonModule], exports: [SkyTextExpandRepeaterComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterModule, imports: [SkyLayoutResourcesModule, CommonModule] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyTextExpandRepeaterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SkyTextExpandRepeaterModule, declarations: [SkyTextExpandRepeaterComponent], imports: [SkyLayoutResourcesModule, CommonModule], exports: [SkyTextExpandRepeaterComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyTextExpandRepeaterModule, imports: [SkyLayoutResourcesModule, CommonModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyTextExpandRepeaterModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyTextExpandRepeaterModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [SkyTextExpandRepeaterComponent],
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
4
4
  * Specifies a container for an item in the toolbar.
5
5
  */
6
6
  export class SkyToolbarItemComponent {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyToolbarItemComponent, selector: "sky-toolbar-item", ngImport: i0, template: "<div class=\"sky-toolbar-item\">\n <ng-content />\n</div>\n", styles: [".sky-toolbar-item{margin-right:5px;margin-bottom:5px}:host-context(.sky-theme-modern) .sky-toolbar-item{margin-bottom:0;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-item{margin-bottom:0;margin-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyToolbarItemComponent, selector: "sky-toolbar-item", ngImport: i0, template: "<div class=\"sky-toolbar-item\">\n <ng-content />\n</div>\n", styles: [".sky-toolbar-item{margin-right:5px;margin-bottom:5px}:host-context(.sky-theme-modern) .sky-toolbar-item{margin-bottom:0;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-item{margin-bottom:0;margin-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarItemComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarItemComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'sky-toolbar-item', template: "<div class=\"sky-toolbar-item\">\n <ng-content />\n</div>\n", styles: [".sky-toolbar-item{margin-right:5px;margin-bottom:5px}:host-context(.sky-theme-modern) .sky-toolbar-item{margin-bottom:0;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}:host-context(.sky-theme-modern) .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-item{margin-bottom:0;margin-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn{padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled){background-color:transparent;border:none}.sky-theme-modern .sky-toolbar-item ::ng-deep .sky-btn.sky-btn-default:not(:disabled):not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"] }]
13
13
  }] });
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
4
4
  * Specifies a section to group items within the toolbar. The section displays items in a separate horizontal row.
5
5
  */
6
6
  export class SkyToolbarSectionComponent {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyToolbarSectionComponent, selector: "sky-toolbar-section", ngImport: i0, template: "<div class=\"sky-toolbar-section\">\n <div class=\"sky-toolbar-section-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: [".sky-toolbar-section{display:flex;flex-wrap:nowrap;padding:5px 10px 0;min-height:49px;align-items:center;position:relative;overflow-x:auto}.sky-toolbar-section-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern) .sky-toolbar-section{padding:10px 0}.sky-theme-modern .sky-toolbar-section{padding:10px 0}\n"] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyToolbarSectionComponent, selector: "sky-toolbar-section", ngImport: i0, template: "<div class=\"sky-toolbar-section\">\n <div class=\"sky-toolbar-section-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: [".sky-toolbar-section{display:flex;flex-wrap:nowrap;padding:5px 10px 0;min-height:49px;align-items:center;position:relative;overflow-x:auto}.sky-toolbar-section-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern) .sky-toolbar-section{padding:10px 0}.sky-theme-modern .sky-toolbar-section{padding:10px 0}\n"] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarSectionComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarSectionComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'sky-toolbar-section', template: "<div class=\"sky-toolbar-section\">\n <div class=\"sky-toolbar-section-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: [".sky-toolbar-section{display:flex;flex-wrap:nowrap;padding:5px 10px 0;min-height:49px;align-items:center;position:relative;overflow-x:auto}.sky-toolbar-section-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern) .sky-toolbar-section{padding:10px 0}.sky-theme-modern .sky-toolbar-section{padding:10px 0}\n"] }]
13
13
  }] });
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  * the view of the content container. This includes simple filters and view switchers.
6
6
  */
7
7
  export class SkyToolbarViewActionsComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarViewActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyToolbarViewActionsComponent, selector: "sky-toolbar-view-actions", ngImport: i0, template: "<div class=\"sky-toolbar-view-actions\">\n <ng-content />\n</div>\n", styles: [":host{margin-left:auto}.sky-toolbar-view-actions{display:flex;align-items:center;margin-bottom:5px}.sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-right:5px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions{margin-bottom:0}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-view-actions{margin-bottom:0}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarViewActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyToolbarViewActionsComponent, selector: "sky-toolbar-view-actions", ngImport: i0, template: "<div class=\"sky-toolbar-view-actions\">\n <ng-content />\n</div>\n", styles: [":host{margin-left:auto}.sky-toolbar-view-actions{display:flex;align-items:center;margin-bottom:5px}.sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-right:5px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions{margin-bottom:0}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-view-actions{margin-bottom:0}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarViewActionsComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarViewActionsComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'sky-toolbar-view-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-toolbar-view-actions\">\n <ng-content />\n</div>\n", styles: [":host{margin-left:auto}.sky-toolbar-view-actions{display:flex;align-items:center;margin-bottom:5px}.sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-right:5px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions{margin-bottom:0}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-toolbar-view-actions{margin-bottom:0}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep>:not(:last-child){margin-top:5px;margin-bottom:5px;margin-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn{background-color:transparent;border:none;padding-left:10px;padding-right:10px}.sky-theme-modern .sky-toolbar-view-actions ::ng-deep .sky-btn:not(:hover):not(:active):not(:focus){box-shadow:inset 0 0 0 1px transparent}\n"] }]
14
14
  }] });
@@ -24,10 +24,10 @@ export class SkyToolbarComponent {
24
24
  });
25
25
  }
26
26
  #contentInfoProvider;
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyToolbarComponent, selector: "sky-toolbar", inputs: { listDescriptor: "listDescriptor" }, providers: [SkyContentInfoProvider], queries: [{ propertyName: "sectionComponents", predicate: SkyToolbarSectionComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-toolbar-container\"\n [ngClass]=\"{ 'sky-toolbar-sectioned': hasSections }\"\n>\n <ng-content select=\"sky-toolbar-section\" />\n <div class=\"sky-toolbar-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: ["sky-toolbar+:host .sky-toolbar-container{border-top:none}.sky-toolbar-container{min-height:49px;background-color:#fff;padding:5px 10px 0;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;display:flex;flex-wrap:wrap;align-items:center;position:relative}.sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #cdcfd2}.sky-toolbar-container:not(.sky-toolbar-sectioned){flex-wrap:nowrap}.sky-toolbar-sectioned{display:block;padding:0}.sky-toolbar-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#fcfcfc}:host-context(.sky-theme-modern.sky-theme-mode-dark .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#121212}:host-context(.sky-theme-modern) .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}:host-context(.sky-theme-modern) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}:host-context(.sky-theme-modern) .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}:host-context(.sky-theme-modern) .sky-toolbar-sectioned{padding:0}.sky-theme-modern .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}.sky-theme-modern .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}.sky-theme-modern .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}.sky-theme-modern .sky-toolbar-sectioned{padding:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyToolbarComponent, selector: "sky-toolbar", inputs: { listDescriptor: "listDescriptor" }, providers: [SkyContentInfoProvider], queries: [{ propertyName: "sectionComponents", predicate: SkyToolbarSectionComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-toolbar-container\"\n [ngClass]=\"{ 'sky-toolbar-sectioned': hasSections }\"\n>\n <ng-content select=\"sky-toolbar-section\" />\n <div class=\"sky-toolbar-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: ["sky-toolbar+:host .sky-toolbar-container{border-top:none}.sky-toolbar-container{min-height:49px;background-color:#fff;padding:5px 10px 0;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;display:flex;flex-wrap:wrap;align-items:center;position:relative}.sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #cdcfd2}.sky-toolbar-container:not(.sky-toolbar-sectioned){flex-wrap:nowrap}.sky-toolbar-sectioned{display:block;padding:0}.sky-toolbar-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#fcfcfc}:host-context(.sky-theme-modern.sky-theme-mode-dark .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#121212}:host-context(.sky-theme-modern) .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}:host-context(.sky-theme-modern) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}:host-context(.sky-theme-modern) .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}:host-context(.sky-theme-modern) .sky-toolbar-sectioned{padding:0}.sky-theme-modern .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}.sky-theme-modern .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}.sky-theme-modern .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}.sky-theme-modern .sky-toolbar-sectioned{padding:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'sky-toolbar', providers: [SkyContentInfoProvider], template: "<div\n class=\"sky-toolbar-container\"\n [ngClass]=\"{ 'sky-toolbar-sectioned': hasSections }\"\n>\n <ng-content select=\"sky-toolbar-section\" />\n <div class=\"sky-toolbar-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n", styles: ["sky-toolbar+:host .sky-toolbar-container{border-top:none}.sky-toolbar-container{min-height:49px;background-color:#fff;padding:5px 10px 0;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;display:flex;flex-wrap:wrap;align-items:center;position:relative}.sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #cdcfd2}.sky-toolbar-container:not(.sky-toolbar-sectioned){flex-wrap:nowrap}.sky-toolbar-sectioned{display:block;padding:0}.sky-toolbar-items{display:flex;flex-wrap:wrap;align-items:center}:host-context(.sky-theme-modern .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#fcfcfc}:host-context(.sky-theme-modern.sky-theme-mode-dark .sky-viewkeeper-fixed) .sky-toolbar-container{background-color:#121212}:host-context(.sky-theme-modern) .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}:host-context(.sky-theme-modern) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}:host-context(.sky-theme-modern) .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}:host-context(.sky-theme-modern) .sky-toolbar-sectioned{padding:0}.sky-theme-modern .sky-toolbar-container{background-color:transparent;border:none;padding:10px 0}.sky-theme-modern .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#fcfcfc}.sky-theme-modern .sky-toolbar-container ::ng-deep sky-toolbar-section:not(:first-child) .sky-toolbar-section{border-top:1px solid #d2d2d2}.sky-theme-modern .sky-toolbar-sectioned{padding:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-toolbar-container.sky-viewkeeper-fixed{background-color:#121212}\n"] }]
33
33
  }], propDecorators: { sectionComponents: [{
@@ -6,17 +6,17 @@ import { SkyToolbarViewActionsComponent } from './toolbar-view-actions.component
6
6
  import { SkyToolbarComponent } from './toolbar.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class SkyToolbarModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarModule, declarations: [SkyToolbarComponent,
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarModule, declarations: [SkyToolbarComponent,
11
11
  SkyToolbarItemComponent,
12
12
  SkyToolbarSectionComponent,
13
13
  SkyToolbarViewActionsComponent], imports: [CommonModule], exports: [SkyToolbarComponent,
14
14
  SkyToolbarItemComponent,
15
15
  SkyToolbarSectionComponent,
16
16
  SkyToolbarViewActionsComponent] }); }
17
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarModule, imports: [CommonModule] }); }
17
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarModule, imports: [CommonModule] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyToolbarModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyToolbarModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  declarations: [