@seniorsistemas/data-seniorx-core 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/core/config/dynamic-view-builder.config.d.ts +3 -0
  2. package/core/constants/dynamic-view-builder.const.d.ts +15 -0
  3. package/core/constants/picklist.const.d.ts +4 -0
  4. package/core/constants/timeline.const.d.ts +6 -0
  5. package/core/types/confirm.type.d.ts +1 -0
  6. package/core/types/dynamic-view-builder.type.d.ts +130 -0
  7. package/core/types/row-card.type.d.ts +10 -0
  8. package/core/types/timeline.type.d.ts +22 -0
  9. package/esm2022/core/config/dynamic-view-builder.config.mjs +396 -0
  10. package/esm2022/core/config/row-card.type.config.mjs +2 -1
  11. package/esm2022/core/constants/dynamic-view-builder.const.mjs +24 -0
  12. package/esm2022/core/constants/picklist.const.mjs +5 -1
  13. package/esm2022/core/constants/timeline.const.mjs +6 -0
  14. package/esm2022/core/handlers/sqlFormatter.mjs +3 -2
  15. package/esm2022/core/types/confirm.type.mjs +1 -1
  16. package/esm2022/core/types/dynamic-view-builder.type.mjs +2 -0
  17. package/esm2022/core/types/row-card.type.mjs +1 -1
  18. package/esm2022/core/types/timeline.type.mjs +2 -0
  19. package/esm2022/core/utils/layout.util.mjs +4 -4
  20. package/esm2022/core/utils/number-input.util.mjs +2 -2
  21. package/esm2022/features/breadcrumb/breadcrumb.component.mjs +21 -3
  22. package/esm2022/features/button/button.component.mjs +5 -5
  23. package/esm2022/features/card-list/card/card.component.mjs +4 -6
  24. package/esm2022/features/card-list/card-list.component.mjs +4 -7
  25. package/esm2022/features/code-editor/code-editor.component.mjs +5 -5
  26. package/esm2022/features/color-picker/color-picker.component.mjs +4 -4
  27. package/esm2022/features/combobox/combobox.component.mjs +8 -8
  28. package/esm2022/features/confirm/confirm.component.mjs +8 -4
  29. package/esm2022/features/country-phone-picker/country-phone-picker.component.mjs +6 -8
  30. package/esm2022/features/empty-state/empty-state.component.mjs +3 -3
  31. package/esm2022/features/hyperlink/hyperlink.component.mjs +10 -12
  32. package/esm2022/features/icon-picker/icon-picker.component.mjs +3 -3
  33. package/esm2022/features/info-sign/info-sign.component.mjs +3 -3
  34. package/esm2022/features/list/list.component.mjs +1 -1
  35. package/esm2022/features/loading-state/loading-state.component.mjs +20 -25
  36. package/esm2022/features/localized-number-input/localized-number-input.component.mjs +4 -4
  37. package/esm2022/features/mask/mask.component.mjs +4 -4
  38. package/esm2022/features/modal/modal.component.mjs +5 -5
  39. package/esm2022/features/modalc/modalc.component.mjs +1 -1
  40. package/esm2022/features/number-input/number-input.component.mjs +4 -4
  41. package/esm2022/features/numeric/numeric.component.mjs +4 -6
  42. package/esm2022/features/paginator/paginator.component.mjs +2 -2
  43. package/esm2022/features/password-strength/password-strength.component.mjs +3 -3
  44. package/esm2022/features/picklist/picklist.component.mjs +50 -9
  45. package/esm2022/features/radio/radio.component.mjs +12 -12
  46. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +32 -9
  47. package/esm2022/features/row-card-list/row-card-list.component.mjs +3 -3
  48. package/esm2022/features/searchbox/searchbox.component.mjs +1 -1
  49. package/esm2022/features/sidebar/sidebar.component.mjs +7 -3
  50. package/esm2022/features/switch/switch.component.mjs +3 -3
  51. package/esm2022/features/table/table.component.mjs +3 -3
  52. package/esm2022/features/textarea/textarea.component.mjs +4 -4
  53. package/esm2022/features/textbox/textbox.component.mjs +4 -4
  54. package/esm2022/features/timeline/timeline.component.mjs +90 -0
  55. package/esm2022/features/toast/toast.component.mjs +4 -6
  56. package/esm2022/features/tooltip/tooltip.component.mjs +3 -3
  57. package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2810 -0
  58. package/esm2022/locales/en.json +202 -1
  59. package/esm2022/locales/es-CO.json +202 -1
  60. package/esm2022/locales/pt.json +202 -1
  61. package/esm2022/public-api.mjs +6 -1
  62. package/features/breadcrumb/breadcrumb.component.d.ts +2 -0
  63. package/features/button/button.component.d.ts +2 -2
  64. package/features/code-editor/code-editor.component.d.ts +2 -2
  65. package/features/hyperlink/hyperlink.component.d.ts +3 -3
  66. package/features/loading-state/loading-state.component.d.ts +3 -4
  67. package/features/modal/modal.component.d.ts +2 -2
  68. package/features/picklist/picklist.component.d.ts +10 -1
  69. package/features/radio/radio.component.d.ts +4 -4
  70. package/features/row-card-list/row-card/row-card.component.d.ts +8 -1
  71. package/features/sidebar/sidebar.component.d.ts +2 -1
  72. package/features/timeline/timeline.component.d.ts +27 -0
  73. package/features/visual-sql-editor/visual-sql-editor.component.d.ts +560 -0
  74. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +4161 -176
  75. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  76. package/package.json +2 -2
  77. package/public-api.d.ts +7 -0
  78. package/src/locales/en.json +211 -1
  79. package/src/locales/es-CO.json +211 -1
  80. package/src/locales/pt.json +211 -1
  81. package/styles.css +1 -1
@@ -135,7 +135,7 @@ export class RowCardListComponent {
135
135
  this.options.set(cfg);
136
136
  }
137
137
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowCardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
138
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowCardListComponent, isStandalone: true, selector: "sdc-row-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick", cardClick: "cardClick" }, queries: [{ propertyName: "detailTemplate", first: true, predicate: ["rowCardDetail"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<section\n class=\"sdc-row-card-list\"\n [class.align-content-center]=\"isLoading()\"\n [attr.aria-label]=\"'platform.datacore.accessibility.row_card_list' | translate\"\n [attr.aria-busy]=\"isLoading()\"\n>\n <sdc-loading-state\n [loading]=\"isLoading()\"\n [blockWindow]=\"false\"\n [indicator]=\"'dots'\"\n class=\"sdc-cardlist-loading-state\"\n [blockDelayMs]=\"0\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n >\n @if (showSkeleton()) {\n <ul class=\"sdc-row-card-items\">\n @for (i of skeletonRows(); track i) {\n <li class=\"sdc-row-card-item sdc-row-card-item--skeleton\">\n <article class=\"sdc-row-card-skeleton\" aria-hidden=\"true\"></article>\n </li>\n }\n </ul>\n } @else if (pagedData().length) {\n <ul class=\"sdc-row-card-items\">\n @for (card of pagedData(); track card.id) {\n <li class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (cardClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n [infoTooltip]=\"options().customCard?.infoTooltip!\"\n >\n </sdc-row-card>\n </li>\n }\n </ul>\n } @else if (!isLoading()) {\n <sdc-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-cardlist-empty-state\"\n >\n </sdc-empty-state>\n }\n\n @if (options().enablePagination) {\n <nav\n class=\"sdc-paginator-wrap flex justify-content-start\"\n [class.justify-content-center]=\"isMobile || isTablet\"\n [attr.aria-label]=\"'platform.datacore.accessibility.pagination_navigation' | translate\"\n >\n <sdc-paginator\n class=\"w-full\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"options().rowsPerPageOptions ?? []\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </nav>\n }\n </sdc-loading-state>\n</section>\n", styles: [":host{display:block;--sdc-row-card-padding: .5rem}.bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-cardlist-loading-state{display:block;width:100%}.sdc-row-card-list{min-height:30rem;min-width:17rem}.sdc-row-card-list .sdc-row-card-items{list-style:none;margin:0;padding:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0;min-height:var(--sdc-row-card-height, 6.5rem);padding:var(--sdc-row-card-padding)!important;box-sizing:border-box}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton .sdc-row-card-skeleton{width:100%;min-height:var(--sdc-row-card-height, 6.5rem);padding:var(--sdc-row-card-padding)!important;background:var(--p-surface-0, #fff);border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0;box-sizing:border-box;display:flex;align-items:center}.sdc-row-card-list .sdc-row-card-item--skeleton:first-child .sdc-row-card-skeleton{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton:not(:last-child) .sdc-row-card-skeleton{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list .sdc-row-card-item--skeleton:last-child .sdc-row-card-skeleton{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton:only-child .sdc-row-card-skeleton{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}.sdc-paginator-wrap{min-height:auto}.sdc-cardlist-empty-state{width:100%;min-height:var(--sdc-row-card-list-empty-min-height, 12rem);border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius);display:flex;align-items:center;justify-content:center;padding:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: RowCardComponent, selector: "sdc-row-card", inputs: ["data", "options", "isExpanded", "detailTemplate", "infoTooltip"], outputs: ["cardClick", "cardButtonClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "showRowsPerPageSelector", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "component", type: EmptyStateComponent, selector: "sdc-empty-state", inputs: ["id", "title", "variant", "titleParams", "iconClass", "description", "descriptionParams", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "primaryActionLabelParams", "secondaryActionLabel", "secondaryActionLabelParams", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "component", type: LoadingStateComponent, selector: "sdc-loading-state", inputs: ["indicator", "id", "blockWindow", "blockDelayMs", "unblockDelayMs", "loading"] }] });
138
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowCardListComponent, isStandalone: true, selector: "sdc-row-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick", cardClick: "cardClick" }, queries: [{ propertyName: "detailTemplate", first: true, predicate: ["rowCardDetail"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<section\n class=\"sdc-row-card-list\"\n [class.align-content-center]=\"isLoading()\"\n [attr.aria-label]=\"'platform.datacore.accessibility.row_card_list' | translate\"\n [attr.aria-busy]=\"isLoading()\"\n>\n <sdc-loading-state\n [loading]=\"isLoading()\"\n [blockWindow]=\"false\"\n [indicator]=\"'dots'\"\n class=\"sdc-cardlist-loading-state\"\n [blockDelayMs]=\"0\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n >\n @if (showSkeleton()) {\n <ul class=\"sdc-row-card-items\">\n @for (i of skeletonRows(); track i) {\n <li class=\"sdc-row-card-item sdc-row-card-item--skeleton\">\n <article class=\"sdc-row-card-skeleton\" aria-hidden=\"true\"></article>\n </li>\n }\n </ul>\n } @else if (pagedData().length) {\n <ul class=\"sdc-row-card-items\">\n @for (card of pagedData(); track card.id) {\n <li class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (cardClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n [infoTooltip]=\"options().customCard?.infoTooltip!\"\n [statusTooltip]=\"options().customCard?.statusTooltip!\"\n >\n </sdc-row-card>\n </li>\n }\n </ul>\n } @else if (!isLoading()) {\n <sdc-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-cardlist-empty-state\"\n >\n </sdc-empty-state>\n }\n\n @if (options().enablePagination) {\n <nav\n class=\"sdc-paginator-wrap flex justify-content-start\"\n [class.justify-content-center]=\"isMobile || isTablet\"\n [attr.aria-label]=\"'platform.datacore.accessibility.pagination_navigation' | translate\"\n >\n <sdc-paginator\n class=\"w-full\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"options().rowsPerPageOptions ?? []\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </nav>\n }\n </sdc-loading-state>\n</section>\n", styles: [":host{display:block;--sdc-row-card-padding: .5rem;--sdc-row-card-height: 5rem}.bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-cardlist-loading-state{display:block;width:100%}.sdc-row-card-list{min-height:30rem;min-width:17rem}.sdc-row-card-list .sdc-row-card-items{list-style:none;margin:0;padding:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0;min-height:var(--sdc-row-card-height, 6.5rem);padding:var(--sdc-row-card-padding)!important;box-sizing:border-box}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton .sdc-row-card-skeleton{width:100%;min-height:var(--sdc-row-card-height, 6.5rem);padding:var(--sdc-row-card-padding)!important;background:var(--p-surface-0, #fff);border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0;box-sizing:border-box;display:flex;align-items:center}.sdc-row-card-list .sdc-row-card-item--skeleton:first-child .sdc-row-card-skeleton{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton:not(:last-child) .sdc-row-card-skeleton{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list .sdc-row-card-item--skeleton:last-child .sdc-row-card-skeleton{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton:only-child .sdc-row-card-skeleton{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}.sdc-paginator-wrap{min-height:auto}.sdc-cardlist-empty-state{width:100%;min-height:var(--sdc-row-card-list-empty-min-height, 12rem);border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius);display:flex;align-items:center;justify-content:center;padding:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: RowCardComponent, selector: "sdc-row-card", inputs: ["data", "options", "isExpanded", "detailTemplate", "infoTooltip", "statusTooltip"], outputs: ["cardClick", "cardButtonClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "showRowsPerPageSelector", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "component", type: EmptyStateComponent, selector: "sdc-empty-state", inputs: ["id", "title", "variant", "titleParams", "iconClass", "description", "descriptionParams", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "primaryActionLabelParams", "secondaryActionLabel", "secondaryActionLabelParams", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "component", type: LoadingStateComponent, selector: "sdc-loading-state", inputs: ["indicator", "id", "blockWindow", "blockDelayMs", "unblockDelayMs", "loading"] }] });
139
139
  }
140
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowCardListComponent, decorators: [{
141
141
  type: Component,
@@ -146,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
146
146
  PaginatorComponent,
147
147
  EmptyStateComponent,
148
148
  LoadingStateComponent
149
- ], encapsulation: ViewEncapsulation.Emulated, template: "<section\n class=\"sdc-row-card-list\"\n [class.align-content-center]=\"isLoading()\"\n [attr.aria-label]=\"'platform.datacore.accessibility.row_card_list' | translate\"\n [attr.aria-busy]=\"isLoading()\"\n>\n <sdc-loading-state\n [loading]=\"isLoading()\"\n [blockWindow]=\"false\"\n [indicator]=\"'dots'\"\n class=\"sdc-cardlist-loading-state\"\n [blockDelayMs]=\"0\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n >\n @if (showSkeleton()) {\n <ul class=\"sdc-row-card-items\">\n @for (i of skeletonRows(); track i) {\n <li class=\"sdc-row-card-item sdc-row-card-item--skeleton\">\n <article class=\"sdc-row-card-skeleton\" aria-hidden=\"true\"></article>\n </li>\n }\n </ul>\n } @else if (pagedData().length) {\n <ul class=\"sdc-row-card-items\">\n @for (card of pagedData(); track card.id) {\n <li class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (cardClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n [infoTooltip]=\"options().customCard?.infoTooltip!\"\n >\n </sdc-row-card>\n </li>\n }\n </ul>\n } @else if (!isLoading()) {\n <sdc-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-cardlist-empty-state\"\n >\n </sdc-empty-state>\n }\n\n @if (options().enablePagination) {\n <nav\n class=\"sdc-paginator-wrap flex justify-content-start\"\n [class.justify-content-center]=\"isMobile || isTablet\"\n [attr.aria-label]=\"'platform.datacore.accessibility.pagination_navigation' | translate\"\n >\n <sdc-paginator\n class=\"w-full\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"options().rowsPerPageOptions ?? []\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </nav>\n }\n </sdc-loading-state>\n</section>\n", styles: [":host{display:block;--sdc-row-card-padding: .5rem}.bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-cardlist-loading-state{display:block;width:100%}.sdc-row-card-list{min-height:30rem;min-width:17rem}.sdc-row-card-list .sdc-row-card-items{list-style:none;margin:0;padding:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0;min-height:var(--sdc-row-card-height, 6.5rem);padding:var(--sdc-row-card-padding)!important;box-sizing:border-box}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton .sdc-row-card-skeleton{width:100%;min-height:var(--sdc-row-card-height, 6.5rem);padding:var(--sdc-row-card-padding)!important;background:var(--p-surface-0, #fff);border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0;box-sizing:border-box;display:flex;align-items:center}.sdc-row-card-list .sdc-row-card-item--skeleton:first-child .sdc-row-card-skeleton{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton:not(:last-child) .sdc-row-card-skeleton{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list .sdc-row-card-item--skeleton:last-child .sdc-row-card-skeleton{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton:only-child .sdc-row-card-skeleton{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}.sdc-paginator-wrap{min-height:auto}.sdc-cardlist-empty-state{width:100%;min-height:var(--sdc-row-card-list-empty-min-height, 12rem);border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius);display:flex;align-items:center;justify-content:center;padding:1rem}\n"] }]
149
+ ], encapsulation: ViewEncapsulation.Emulated, template: "<section\n class=\"sdc-row-card-list\"\n [class.align-content-center]=\"isLoading()\"\n [attr.aria-label]=\"'platform.datacore.accessibility.row_card_list' | translate\"\n [attr.aria-busy]=\"isLoading()\"\n>\n <sdc-loading-state\n [loading]=\"isLoading()\"\n [blockWindow]=\"false\"\n [indicator]=\"'dots'\"\n class=\"sdc-cardlist-loading-state\"\n [blockDelayMs]=\"0\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n >\n @if (showSkeleton()) {\n <ul class=\"sdc-row-card-items\">\n @for (i of skeletonRows(); track i) {\n <li class=\"sdc-row-card-item sdc-row-card-item--skeleton\">\n <article class=\"sdc-row-card-skeleton\" aria-hidden=\"true\"></article>\n </li>\n }\n </ul>\n } @else if (pagedData().length) {\n <ul class=\"sdc-row-card-items\">\n @for (card of pagedData(); track card.id) {\n <li class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (cardClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n [infoTooltip]=\"options().customCard?.infoTooltip!\"\n [statusTooltip]=\"options().customCard?.statusTooltip!\"\n >\n </sdc-row-card>\n </li>\n }\n </ul>\n } @else if (!isLoading()) {\n <sdc-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-cardlist-empty-state\"\n >\n </sdc-empty-state>\n }\n\n @if (options().enablePagination) {\n <nav\n class=\"sdc-paginator-wrap flex justify-content-start\"\n [class.justify-content-center]=\"isMobile || isTablet\"\n [attr.aria-label]=\"'platform.datacore.accessibility.pagination_navigation' | translate\"\n >\n <sdc-paginator\n class=\"w-full\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"options().rowsPerPageOptions ?? []\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </nav>\n }\n </sdc-loading-state>\n</section>\n", styles: [":host{display:block;--sdc-row-card-padding: .5rem;--sdc-row-card-height: 5rem}.bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-cardlist-loading-state{display:block;width:100%}.sdc-row-card-list{min-height:30rem;min-width:17rem}.sdc-row-card-list .sdc-row-card-items{list-style:none;margin:0;padding:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0;min-height:var(--sdc-row-card-height, 6.5rem);padding:var(--sdc-row-card-padding)!important;box-sizing:border-box}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton .sdc-row-card-skeleton{width:100%;min-height:var(--sdc-row-card-height, 6.5rem);padding:var(--sdc-row-card-padding)!important;background:var(--p-surface-0, #fff);border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0;box-sizing:border-box;display:flex;align-items:center}.sdc-row-card-list .sdc-row-card-item--skeleton:first-child .sdc-row-card-skeleton{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton:not(:last-child) .sdc-row-card-skeleton{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list .sdc-row-card-item--skeleton:last-child .sdc-row-card-skeleton{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list .sdc-row-card-item--skeleton:only-child .sdc-row-card-skeleton{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}.sdc-paginator-wrap{min-height:auto}.sdc-cardlist-empty-state{width:100%;min-height:var(--sdc-row-card-list-empty-min-height, 12rem);border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius);display:flex;align-items:center;justify-content:center;padding:1rem}\n"] }]
150
150
  }], propDecorators: { data: [{
151
151
  type: Input
152
152
  }], loading: [{
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
161
161
  type: ContentChild,
162
162
  args: ['rowCardDetail', { read: TemplateRef }]
163
163
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNhcmQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Jvdy1jYXJkLWxpc3Qvcm93LWNhcmQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Jvdy1jYXJkLWxpc3Qvcm93LWNhcmQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RixPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLHdCQUF3QixFQUN4QiwrQkFBK0IsRUFDaEMsTUFBTSwwQ0FBMEMsQ0FBQztBQUdsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBaUJqRSxNQUFNLE9BQU8sb0JBQW9CO0lBQ3RCLElBQUksR0FBYyxFQUFF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Q0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7d0dBM0pVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLDhTQWFRLFdBQVcsa0RDNURwRCxnMUVBdUVBLHUrRkRuQ0ksWUFBWSw4QkFDWixlQUFlLDRGQUNmLGdCQUFnQixnTEFDaEIsa0JBQWtCLGdOQUNsQixtQkFBbUIsbVhBQ25CLHFCQUFxQjs7NEZBTVosb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHFCQUFxQjtxQkFDdEIsaUJBR2MsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsSUFBSTtzQkFBWixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUUrQyxjQUFjO3NCQUFuRSxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERvQ2hlY2ssXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgREVGQVVMVF9ST1dfQ0FSRF9MSVNUX09QVElPTlMgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZy9yb3ctY2FyZC50eXBlLmNvbmZpZyc7XG5pbXBvcnQge1xuICBST1dfQ0FSRF9MSVNUX0ZBTExCQUNLX0lOSVRJQUxfUk9XUyxcbiAgUk9XX0NBUkRfTElTVF9GSVJTVF9QQUdFLFxuICBST1dfQ0FSRF9MSVNUX01JTl9TS0VMRVRPTl9ST1dTXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL3Jvdy1jYXJkLWxpc3QuY29uc3QnO1xuaW1wb3J0IHR5cGUgeyBQYWdpbmF0b3JTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvcGFnaW5hdG9yLnR5cGUnO1xuaW1wb3J0IHsgUm93Q2FyZCwgUm93Q2FyZExpc3RPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9yb3ctY2FyZC50eXBlJztcbmltcG9ydCB7IGlzTW9iaWxlLCBpc1RhYmxldCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvbGF5b3V0LnV0aWwnO1xuaW1wb3J0IHsgc3RhYmxlU3RyaW5naWZ5IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm93Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vcm93LWNhcmQvcm93LWNhcmQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXJvdy1jYXJkLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBSb3dDYXJkQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIExvYWRpbmdTdGF0ZUNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcm93LWNhcmQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yb3ctY2FyZC1saXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgUm93Q2FyZExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIERvQ2hlY2sge1xuICBASW5wdXQoKSBkYXRhOiBSb3dDYXJkW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMubG9hZGluZ1N0YXRlLnNldCghIXZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGNvbmZpZzogUm93Q2FyZExpc3RPcHRpb25zID0gREVGQVVMVF9ST1dfQ0FSRF9MSVNUX09QVElPTlM7XG5cbiAgQE91dHB1dCgpIGNhcmRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Um93Q2FyZD4oKTtcbiAgQE91dHB1dCgpIGNhcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Um93Q2FyZD4oKTtcblxuICBAQ29udGVudENoaWxkKCdyb3dDYXJkRGV0YWlsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBkZXRhaWxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc01vYmlsZSA9IGlzTW9iaWxlKCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1RhYmxldCA9IGlzVGFibGV0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nU3RhdGUgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxSb3dDYXJkTGlzdE9wdGlvbnM+KERFRkFVTFRfUk9XX0NBUkRfTElTVF9PUFRJT05TKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1wdHlUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLmVtcHR5Py50aXRsZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBlbXB0eVRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5lbXB0eT8ubWVzc2FnZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b3RhbFJlY29yZHNMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLnRvdGFsUmVjb3Jkc0xhYmVsID8/ICcnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kZWRDYXJkSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJlZCA9IHNpZ25hbDxSb3dDYXJkW10+KFtdKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnZSA9IHNpZ25hbCh7XG4gICAgZmlyc3Q6IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSxcbiAgICByb3dzOiBERUZBVUxUX1JPV19DQVJEX0xJU1RfT1BUSU9OUy5pbml0aWFsUm93cyA/PyBST1dfQ0FSRF9MSVNUX0ZBTExCQUNLX0lOSVRJQUxfUk9XU1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd1NrZWxldG9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sb2FkaW5nU3RhdGUoKSAmJiB0aGlzLmZpbHRlcmVkKCkubGVuZ3RoID09PSAwKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2tlbGV0b25Sb3dzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSB0aGlzLnBhZ2UoKS5yb3dzID8/IHRoaXMucmVzb2x2ZVJvd3MoKTtcbiAgICBjb25zdCB0b3RhbCA9IE1hdGgubWF4KHJvd3MsIFJPV19DQVJEX0xJU1RfTUlOX1NLRUxFVE9OX1JPV1MpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0b3RhbCB9LCAoXywgaW5kZXgpID0+IGluZGV4KTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRmlyc3RQYWdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYWdlKCkuZmlyc3QgPT09IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTGFzdFBhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMuZmlsdGVyZWQoKTtcbiAgICBjb25zdCB7IGZpcnN0LCByb3dzIH0gPSB0aGlzLnBhZ2UoKTtcbiAgICBjb25zdCBlbmQgPSB0aGlzLm9wdGlvbnMoKS5lbmFibGVQYWdpbmF0aW9uID8gZmlyc3QgKyByb3dzIDogbGlzdC5sZW5ndGg7XG4gICAgcmV0dXJuIGVuZCA+PSBsaXN0Lmxlbmd0aDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2VkRGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5maWx0ZXJlZCgpO1xuICAgIGlmICghdGhpcy5vcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuXG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgcmV0dXJuIGxpc3Quc2xpY2UoZmlyc3QsIGZpcnN0ICsgcm93cyk7XG4gIH0pO1xuXG4gIHByaXZhdGUgY29uZmlnSGFzaCA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGF0YSddKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGF0YSA/PyBbXTtcbiAgICAgIHRoaXMuZmlsdGVyZWQuc2V0KHZhbHVlKTtcbiAgICAgIHRoaXMucGFnZS5zZXQoe1xuICAgICAgICBmaXJzdDogUk9XX0NBUkRfTElTVF9GSVJTVF9QQUdFLFxuICAgICAgICByb3dzOiB0aGlzLnJlc29sdmVSb3dzKClcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5hcHBseUNvbmZpZ09wdGlvbnMoKTtcbiAgICAgIHRoaXMucGFnZS5zZXQoe1xuICAgICAgICBmaXJzdDogUk9XX0NBUkRfTElTVF9GSVJTVF9QQUdFLFxuICAgICAgICByb3dzOiB0aGlzLnJlc29sdmVSb3dzKClcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jb25maWdIYXNoID0gc3RhYmxlU3RyaW5naWZ5KHRoaXMuY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dEhhc2ggPSBzdGFibGVTdHJpbmdpZnkodGhpcy5jb25maWcpO1xuICAgIGlmIChuZXh0SGFzaCAhPT0gdGhpcy5jb25maWdIYXNoKSB7XG4gICAgICB0aGlzLmNvbmZpZ0hhc2ggPSBuZXh0SGFzaDtcbiAgICAgIHRoaXMuYXBwbHlDb25maWdPcHRpb25zKCk7XG4gICAgICB0aGlzLnBhZ2Uuc2V0KHtcbiAgICAgICAgZmlyc3Q6IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSxcbiAgICAgICAgcm93czogdGhpcy5yZXNvbHZlUm93cygpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlUGFnaW5hdG9yKGV2ZW50OiBQYWdpbmF0b3JTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMucGFnZS5zZXQoe1xuICAgICAgZmlyc3Q6IGV2ZW50LmZpcnN0ID8/IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSxcbiAgICAgIHJvd3M6IGV2ZW50LnJvd3MgPz8gdGhpcy5yZXNvbHZlUm93cygpXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMoKS5lbmFibGVQYWdpbmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgaWYgKHRoaXMuZmlsdGVyZWQoKS5sZW5ndGggPiBmaXJzdCArIHJvd3MpIHtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogZmlyc3QgKyByb3dzLCByb3dzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucygpLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGZpcnN0LCByb3dzIH0gPSB0aGlzLnBhZ2UoKTtcbiAgICBpZiAoZmlyc3QgLSByb3dzID49IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSkge1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBmaXJzdCAtIHJvd3MsIHJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2FyZEJ1dHRvbkNsaWNrKGNhcmQ6IFJvd0NhcmQpOiB2b2lkIHtcbiAgICB0aGlzLmNhcmRCdXR0b25DbGljay5lbWl0KGNhcmQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQnV0dG9uRXhwYW5kKGNhcmQ6IFJvd0NhcmQpOiB2b2lkIHtcbiAgICBjb25zdCBpc09wZW4gPSB0aGlzLmV4cGFuZGVkQ2FyZElkKCkgPT09IGNhcmQuaWQ7XG4gICAgdGhpcy5leHBhbmRlZENhcmRJZC5zZXQoaXNPcGVuID8gbnVsbCA6IGNhcmQuaWQpO1xuICAgIHRoaXMuY2FyZENsaWNrLmVtaXQoY2FyZCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVSb3dzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucygpLmluaXRpYWxSb3dzID8/IERFRkFVTFRfUk9XX0NBUkRfTElTVF9PUFRJT05TLmluaXRpYWxSb3dzID8/IFJPV19DQVJEX0xJU1RfRkFMTEJBQ0tfSU5JVElBTF9ST1dTO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUNvbmZpZ09wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYmFzZSA9IERFRkFVTFRfUk9XX0NBUkRfTElTVF9PUFRJT05TO1xuXG4gICAgY29uc3QgY2ZnOiBSb3dDYXJkTGlzdE9wdGlvbnMgPSB7XG4gICAgICAuLi5iYXNlLFxuICAgICAgLi4uKHRoaXMuY29uZmlnID8/IHt9KVxuICAgIH07XG5cbiAgICBjZmcuY3VzdG9tQ2FyZCA9IHtcbiAgICAgIC4uLmJhc2UuY3VzdG9tQ2FyZCxcbiAgICAgIC4uLih0aGlzLmNvbmZpZz8uY3VzdG9tQ2FyZCA/PyB7fSlcbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLnNldChjZmcpO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBjbGFzcz1cInNkYy1yb3ctY2FyZC1saXN0XCJcbiAgW2NsYXNzLmFsaWduLWNvbnRlbnQtY2VudGVyXT1cImlzTG9hZGluZygpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5yb3dfY2FyZF9saXN0JyB8IHRyYW5zbGF0ZVwiXG4gIFthdHRyLmFyaWEtYnVzeV09XCJpc0xvYWRpbmcoKVwiXG4+XG4gIDxzZGMtbG9hZGluZy1zdGF0ZVxuICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZygpXCJcbiAgICBbYmxvY2tXaW5kb3ddPVwiZmFsc2VcIlxuICAgIFtpbmRpY2F0b3JdPVwiJ2RvdHMnXCJcbiAgICBjbGFzcz1cInNkYy1jYXJkbGlzdC1sb2FkaW5nLXN0YXRlXCJcbiAgICBbYmxvY2tEZWxheU1zXT1cIjBcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkubG9hZGluZycgfCB0cmFuc2xhdGVcIlxuICA+XG4gICAgQGlmIChzaG93U2tlbGV0b24oKSkge1xuICAgIDx1bCBjbGFzcz1cInNkYy1yb3ctY2FyZC1pdGVtc1wiPlxuICAgICAgQGZvciAoaSBvZiBza2VsZXRvblJvd3MoKTsgdHJhY2sgaSkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLXJvdy1jYXJkLWl0ZW0gc2RjLXJvdy1jYXJkLWl0ZW0tLXNrZWxldG9uXCI+XG4gICAgICAgIDxhcnRpY2xlIGNsYXNzPVwic2RjLXJvdy1jYXJkLXNrZWxldG9uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9hcnRpY2xlPlxuICAgICAgPC9saT5cbiAgICAgIH1cbiAgICA8L3VsPlxuICAgIH0gQGVsc2UgaWYgKHBhZ2VkRGF0YSgpLmxlbmd0aCkge1xuICAgIDx1bCBjbGFzcz1cInNkYy1yb3ctY2FyZC1pdGVtc1wiPlxuICAgICAgQGZvciAoY2FyZCBvZiBwYWdlZERhdGEoKTsgdHJhY2sgY2FyZC5pZCkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLXJvdy1jYXJkLWl0ZW1cIj5cbiAgICAgICAgPHNkYy1yb3ctY2FyZFxuICAgICAgICAgIChjYXJkQnV0dG9uQ2xpY2spPVwib25DYXJkQnV0dG9uQ2xpY2soY2FyZClcIlxuICAgICAgICAgIChjYXJkQ2xpY2spPVwib25CdXR0b25FeHBhbmQoY2FyZClcIlxuICAgICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnMoKS5jdXN0b21DYXJkXCJcbiAgICAgICAgICBbZGF0YV09XCJjYXJkXCJcbiAgICAgICAgICBbaXNFeHBhbmRlZF09XCJleHBhbmRlZENhcmRJZCgpID09PSBjYXJkLmlkXCJcbiAgICAgICAgICBbZGV0YWlsVGVtcGxhdGVdPVwiZGV0YWlsVGVtcGxhdGVcIlxuICAgICAgICAgIFtpbmZvVG9vbHRpcF09XCJvcHRpb25zKCkuY3VzdG9tQ2FyZD8uaW5mb1Rvb2x0aXAhXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NkYy1yb3ctY2FyZD5cbiAgICAgIDwvbGk+XG4gICAgICB9XG4gICAgPC91bD5cbiAgICB9IEBlbHNlIGlmICghaXNMb2FkaW5nKCkpIHtcbiAgICA8c2RjLWVtcHR5LXN0YXRlXG4gICAgICBpZD1cImNhcmRsaXN0LWVtcHR5XCJcbiAgICAgIGljb25DbGFzcz1cImZhIGZhLWluYm94XCJcbiAgICAgIFt0aXRsZV09XCJlbXB0eVRpdGxlKClcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cImVtcHR5VGV4dCgpXCJcbiAgICAgIGNsYXNzPVwic2RjLWNhcmRsaXN0LWVtcHR5LXN0YXRlXCJcbiAgICA+XG4gICAgPC9zZGMtZW1wdHktc3RhdGU+XG4gICAgfVxuXG4gICAgQGlmIChvcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgIDxuYXZcbiAgICAgIGNsYXNzPVwic2RjLXBhZ2luYXRvci13cmFwIGZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0XCJcbiAgICAgIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXT1cImlzTW9iaWxlIHx8IGlzVGFibGV0XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkucGFnaW5hdGlvbl9uYXZpZ2F0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgPlxuICAgICAgPHNkYy1wYWdpbmF0b3JcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICBbdG90YWxSZWNvcmRzTGFiZWxdPVwidG90YWxSZWNvcmRzTGFiZWwoKVwiXG4gICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnaW5hdG9yKCRldmVudClcIlxuICAgICAgICBbZmlyc3RdPVwicGFnZSgpLmZpcnN0XCJcbiAgICAgICAgW3Jvd3NdPVwicGFnZSgpLnJvd3NcIlxuICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cIm9wdGlvbnMoKS5yb3dzUGVyUGFnZU9wdGlvbnMgPz8gW11cIlxuICAgICAgICBbdG90YWxSZWNvcmRzXT1cImZpbHRlcmVkKCkubGVuZ3RoXCJcbiAgICAgICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgID5cbiAgICAgIDwvc2RjLXBhZ2luYXRvcj5cbiAgICA8L25hdj5cbiAgICB9XG4gIDwvc2RjLWxvYWRpbmctc3RhdGU+XG48L3NlY3Rpb24+XG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNhcmQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Jvdy1jYXJkLWxpc3Qvcm93LWNhcmQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Jvdy1jYXJkLWxpc3Qvcm93LWNhcmQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RixPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLHdCQUF3QixFQUN4QiwrQkFBK0IsRUFDaEMsTUFBTSwwQ0FBMEMsQ0FBQztBQUdsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBaUJqRSxNQUFNLE9BQU8sb0JBQW9CO0lBQ3RCLElBQUksR0FBYyxFQUFF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Q0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7d0dBM0pVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLDhTQWFRLFdBQVcsa0RDNURwRCxvNUVBd0VBLG1nR0RwQ0ksWUFBWSw4QkFDWixlQUFlLDRGQUNmLGdCQUFnQixpTUFDaEIsa0JBQWtCLGdOQUNsQixtQkFBbUIsbVhBQ25CLHFCQUFxQjs7NEZBTVosb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHFCQUFxQjtxQkFDdEIsaUJBR2MsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsSUFBSTtzQkFBWixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUUrQyxjQUFjO3NCQUFuRSxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERvQ2hlY2ssXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgREVGQVVMVF9ST1dfQ0FSRF9MSVNUX09QVElPTlMgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZy9yb3ctY2FyZC50eXBlLmNvbmZpZyc7XG5pbXBvcnQge1xuICBST1dfQ0FSRF9MSVNUX0ZBTExCQUNLX0lOSVRJQUxfUk9XUyxcbiAgUk9XX0NBUkRfTElTVF9GSVJTVF9QQUdFLFxuICBST1dfQ0FSRF9MSVNUX01JTl9TS0VMRVRPTl9ST1dTXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL3Jvdy1jYXJkLWxpc3QuY29uc3QnO1xuaW1wb3J0IHR5cGUgeyBQYWdpbmF0b3JTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvcGFnaW5hdG9yLnR5cGUnO1xuaW1wb3J0IHsgUm93Q2FyZCwgUm93Q2FyZExpc3RPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9yb3ctY2FyZC50eXBlJztcbmltcG9ydCB7IGlzTW9iaWxlLCBpc1RhYmxldCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvbGF5b3V0LnV0aWwnO1xuaW1wb3J0IHsgc3RhYmxlU3RyaW5naWZ5IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm93Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vcm93LWNhcmQvcm93LWNhcmQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXJvdy1jYXJkLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBSb3dDYXJkQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIExvYWRpbmdTdGF0ZUNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcm93LWNhcmQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yb3ctY2FyZC1saXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgUm93Q2FyZExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIERvQ2hlY2sge1xuICBASW5wdXQoKSBkYXRhOiBSb3dDYXJkW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMubG9hZGluZ1N0YXRlLnNldCghIXZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGNvbmZpZzogUm93Q2FyZExpc3RPcHRpb25zID0gREVGQVVMVF9ST1dfQ0FSRF9MSVNUX09QVElPTlM7XG5cbiAgQE91dHB1dCgpIGNhcmRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Um93Q2FyZD4oKTtcbiAgQE91dHB1dCgpIGNhcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Um93Q2FyZD4oKTtcblxuICBAQ29udGVudENoaWxkKCdyb3dDYXJkRGV0YWlsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBkZXRhaWxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc01vYmlsZSA9IGlzTW9iaWxlKCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1RhYmxldCA9IGlzVGFibGV0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nU3RhdGUgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxSb3dDYXJkTGlzdE9wdGlvbnM+KERFRkFVTFRfUk9XX0NBUkRfTElTVF9PUFRJT05TKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1wdHlUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLmVtcHR5Py50aXRsZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBlbXB0eVRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5lbXB0eT8ubWVzc2FnZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b3RhbFJlY29yZHNMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLnRvdGFsUmVjb3Jkc0xhYmVsID8/ICcnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kZWRDYXJkSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJlZCA9IHNpZ25hbDxSb3dDYXJkW10+KFtdKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnZSA9IHNpZ25hbCh7XG4gICAgZmlyc3Q6IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSxcbiAgICByb3dzOiBERUZBVUxUX1JPV19DQVJEX0xJU1RfT1BUSU9OUy5pbml0aWFsUm93cyA/PyBST1dfQ0FSRF9MSVNUX0ZBTExCQUNLX0lOSVRJQUxfUk9XU1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd1NrZWxldG9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sb2FkaW5nU3RhdGUoKSAmJiB0aGlzLmZpbHRlcmVkKCkubGVuZ3RoID09PSAwKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2tlbGV0b25Sb3dzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSB0aGlzLnBhZ2UoKS5yb3dzID8/IHRoaXMucmVzb2x2ZVJvd3MoKTtcbiAgICBjb25zdCB0b3RhbCA9IE1hdGgubWF4KHJvd3MsIFJPV19DQVJEX0xJU1RfTUlOX1NLRUxFVE9OX1JPV1MpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0b3RhbCB9LCAoXywgaW5kZXgpID0+IGluZGV4KTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRmlyc3RQYWdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYWdlKCkuZmlyc3QgPT09IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTGFzdFBhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMuZmlsdGVyZWQoKTtcbiAgICBjb25zdCB7IGZpcnN0LCByb3dzIH0gPSB0aGlzLnBhZ2UoKTtcbiAgICBjb25zdCBlbmQgPSB0aGlzLm9wdGlvbnMoKS5lbmFibGVQYWdpbmF0aW9uID8gZmlyc3QgKyByb3dzIDogbGlzdC5sZW5ndGg7XG4gICAgcmV0dXJuIGVuZCA+PSBsaXN0Lmxlbmd0aDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2VkRGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5maWx0ZXJlZCgpO1xuICAgIGlmICghdGhpcy5vcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuXG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgcmV0dXJuIGxpc3Quc2xpY2UoZmlyc3QsIGZpcnN0ICsgcm93cyk7XG4gIH0pO1xuXG4gIHByaXZhdGUgY29uZmlnSGFzaCA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGF0YSddKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGF0YSA/PyBbXTtcbiAgICAgIHRoaXMuZmlsdGVyZWQuc2V0KHZhbHVlKTtcbiAgICAgIHRoaXMucGFnZS5zZXQoe1xuICAgICAgICBmaXJzdDogUk9XX0NBUkRfTElTVF9GSVJTVF9QQUdFLFxuICAgICAgICByb3dzOiB0aGlzLnJlc29sdmVSb3dzKClcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5hcHBseUNvbmZpZ09wdGlvbnMoKTtcbiAgICAgIHRoaXMucGFnZS5zZXQoe1xuICAgICAgICBmaXJzdDogUk9XX0NBUkRfTElTVF9GSVJTVF9QQUdFLFxuICAgICAgICByb3dzOiB0aGlzLnJlc29sdmVSb3dzKClcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jb25maWdIYXNoID0gc3RhYmxlU3RyaW5naWZ5KHRoaXMuY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dEhhc2ggPSBzdGFibGVTdHJpbmdpZnkodGhpcy5jb25maWcpO1xuICAgIGlmIChuZXh0SGFzaCAhPT0gdGhpcy5jb25maWdIYXNoKSB7XG4gICAgICB0aGlzLmNvbmZpZ0hhc2ggPSBuZXh0SGFzaDtcbiAgICAgIHRoaXMuYXBwbHlDb25maWdPcHRpb25zKCk7XG4gICAgICB0aGlzLnBhZ2Uuc2V0KHtcbiAgICAgICAgZmlyc3Q6IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSxcbiAgICAgICAgcm93czogdGhpcy5yZXNvbHZlUm93cygpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlUGFnaW5hdG9yKGV2ZW50OiBQYWdpbmF0b3JTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMucGFnZS5zZXQoe1xuICAgICAgZmlyc3Q6IGV2ZW50LmZpcnN0ID8/IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSxcbiAgICAgIHJvd3M6IGV2ZW50LnJvd3MgPz8gdGhpcy5yZXNvbHZlUm93cygpXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMoKS5lbmFibGVQYWdpbmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgaWYgKHRoaXMuZmlsdGVyZWQoKS5sZW5ndGggPiBmaXJzdCArIHJvd3MpIHtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogZmlyc3QgKyByb3dzLCByb3dzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucygpLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGZpcnN0LCByb3dzIH0gPSB0aGlzLnBhZ2UoKTtcbiAgICBpZiAoZmlyc3QgLSByb3dzID49IFJPV19DQVJEX0xJU1RfRklSU1RfUEFHRSkge1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBmaXJzdCAtIHJvd3MsIHJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2FyZEJ1dHRvbkNsaWNrKGNhcmQ6IFJvd0NhcmQpOiB2b2lkIHtcbiAgICB0aGlzLmNhcmRCdXR0b25DbGljay5lbWl0KGNhcmQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQnV0dG9uRXhwYW5kKGNhcmQ6IFJvd0NhcmQpOiB2b2lkIHtcbiAgICBjb25zdCBpc09wZW4gPSB0aGlzLmV4cGFuZGVkQ2FyZElkKCkgPT09IGNhcmQuaWQ7XG4gICAgdGhpcy5leHBhbmRlZENhcmRJZC5zZXQoaXNPcGVuID8gbnVsbCA6IGNhcmQuaWQpO1xuICAgIHRoaXMuY2FyZENsaWNrLmVtaXQoY2FyZCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVSb3dzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucygpLmluaXRpYWxSb3dzID8/IERFRkFVTFRfUk9XX0NBUkRfTElTVF9PUFRJT05TLmluaXRpYWxSb3dzID8/IFJPV19DQVJEX0xJU1RfRkFMTEJBQ0tfSU5JVElBTF9ST1dTO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUNvbmZpZ09wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYmFzZSA9IERFRkFVTFRfUk9XX0NBUkRfTElTVF9PUFRJT05TO1xuXG4gICAgY29uc3QgY2ZnOiBSb3dDYXJkTGlzdE9wdGlvbnMgPSB7XG4gICAgICAuLi5iYXNlLFxuICAgICAgLi4uKHRoaXMuY29uZmlnID8/IHt9KVxuICAgIH07XG5cbiAgICBjZmcuY3VzdG9tQ2FyZCA9IHtcbiAgICAgIC4uLmJhc2UuY3VzdG9tQ2FyZCxcbiAgICAgIC4uLih0aGlzLmNvbmZpZz8uY3VzdG9tQ2FyZCA/PyB7fSlcbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLnNldChjZmcpO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBjbGFzcz1cInNkYy1yb3ctY2FyZC1saXN0XCJcbiAgW2NsYXNzLmFsaWduLWNvbnRlbnQtY2VudGVyXT1cImlzTG9hZGluZygpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5yb3dfY2FyZF9saXN0JyB8IHRyYW5zbGF0ZVwiXG4gIFthdHRyLmFyaWEtYnVzeV09XCJpc0xvYWRpbmcoKVwiXG4+XG4gIDxzZGMtbG9hZGluZy1zdGF0ZVxuICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZygpXCJcbiAgICBbYmxvY2tXaW5kb3ddPVwiZmFsc2VcIlxuICAgIFtpbmRpY2F0b3JdPVwiJ2RvdHMnXCJcbiAgICBjbGFzcz1cInNkYy1jYXJkbGlzdC1sb2FkaW5nLXN0YXRlXCJcbiAgICBbYmxvY2tEZWxheU1zXT1cIjBcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkubG9hZGluZycgfCB0cmFuc2xhdGVcIlxuICA+XG4gICAgQGlmIChzaG93U2tlbGV0b24oKSkge1xuICAgIDx1bCBjbGFzcz1cInNkYy1yb3ctY2FyZC1pdGVtc1wiPlxuICAgICAgQGZvciAoaSBvZiBza2VsZXRvblJvd3MoKTsgdHJhY2sgaSkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLXJvdy1jYXJkLWl0ZW0gc2RjLXJvdy1jYXJkLWl0ZW0tLXNrZWxldG9uXCI+XG4gICAgICAgIDxhcnRpY2xlIGNsYXNzPVwic2RjLXJvdy1jYXJkLXNrZWxldG9uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9hcnRpY2xlPlxuICAgICAgPC9saT5cbiAgICAgIH1cbiAgICA8L3VsPlxuICAgIH0gQGVsc2UgaWYgKHBhZ2VkRGF0YSgpLmxlbmd0aCkge1xuICAgIDx1bCBjbGFzcz1cInNkYy1yb3ctY2FyZC1pdGVtc1wiPlxuICAgICAgQGZvciAoY2FyZCBvZiBwYWdlZERhdGEoKTsgdHJhY2sgY2FyZC5pZCkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLXJvdy1jYXJkLWl0ZW1cIj5cbiAgICAgICAgPHNkYy1yb3ctY2FyZFxuICAgICAgICAgIChjYXJkQnV0dG9uQ2xpY2spPVwib25DYXJkQnV0dG9uQ2xpY2soY2FyZClcIlxuICAgICAgICAgIChjYXJkQ2xpY2spPVwib25CdXR0b25FeHBhbmQoY2FyZClcIlxuICAgICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnMoKS5jdXN0b21DYXJkXCJcbiAgICAgICAgICBbZGF0YV09XCJjYXJkXCJcbiAgICAgICAgICBbaXNFeHBhbmRlZF09XCJleHBhbmRlZENhcmRJZCgpID09PSBjYXJkLmlkXCJcbiAgICAgICAgICBbZGV0YWlsVGVtcGxhdGVdPVwiZGV0YWlsVGVtcGxhdGVcIlxuICAgICAgICAgIFtpbmZvVG9vbHRpcF09XCJvcHRpb25zKCkuY3VzdG9tQ2FyZD8uaW5mb1Rvb2x0aXAhXCJcbiAgICAgICAgICBbc3RhdHVzVG9vbHRpcF09XCJvcHRpb25zKCkuY3VzdG9tQ2FyZD8uc3RhdHVzVG9vbHRpcCFcIlxuICAgICAgICA+XG4gICAgICAgIDwvc2RjLXJvdy1jYXJkPlxuICAgICAgPC9saT5cbiAgICAgIH1cbiAgICA8L3VsPlxuICAgIH0gQGVsc2UgaWYgKCFpc0xvYWRpbmcoKSkge1xuICAgIDxzZGMtZW1wdHktc3RhdGVcbiAgICAgIGlkPVwiY2FyZGxpc3QtZW1wdHlcIlxuICAgICAgaWNvbkNsYXNzPVwiZmEgZmEtaW5ib3hcIlxuICAgICAgW3RpdGxlXT1cImVtcHR5VGl0bGUoKVwiXG4gICAgICBbZGVzY3JpcHRpb25dPVwiZW1wdHlUZXh0KClcIlxuICAgICAgY2xhc3M9XCJzZGMtY2FyZGxpc3QtZW1wdHktc3RhdGVcIlxuICAgID5cbiAgICA8L3NkYy1lbXB0eS1zdGF0ZT5cbiAgICB9XG5cbiAgICBAaWYgKG9wdGlvbnMoKS5lbmFibGVQYWdpbmF0aW9uKSB7XG4gICAgPG5hdlxuICAgICAgY2xhc3M9XCJzZGMtcGFnaW5hdG9yLXdyYXAgZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIlxuICAgICAgW2NsYXNzLmp1c3RpZnktY29udGVudC1jZW50ZXJdPVwiaXNNb2JpbGUgfHwgaXNUYWJsZXRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5wYWdpbmF0aW9uX25hdmlnYXRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgICA8c2RjLXBhZ2luYXRvclxuICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgIFt0b3RhbFJlY29yZHNMYWJlbF09XCJ0b3RhbFJlY29yZHNMYWJlbCgpXCJcbiAgICAgICAgKHBhZ2VDaGFuZ2UpPVwib25DaGFuZ2VQYWdpbmF0b3IoJGV2ZW50KVwiXG4gICAgICAgIFtmaXJzdF09XCJwYWdlKCkuZmlyc3RcIlxuICAgICAgICBbcm93c109XCJwYWdlKCkucm93c1wiXG4gICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwib3B0aW9ucygpLnJvd3NQZXJQYWdlT3B0aW9ucyA/PyBbXVwiXG4gICAgICAgIFt0b3RhbFJlY29yZHNdPVwiZmlsdGVyZWQoKS5sZW5ndGhcIlxuICAgICAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgICAgPlxuICAgICAgPC9zZGMtcGFnaW5hdG9yPlxuICAgIDwvbmF2PlxuICAgIH1cbiAgPC9zZGMtbG9hZGluZy1zdGF0ZT5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -130,7 +130,7 @@ export class SearchboxComponent extends InputsComponent {
130
130
  useExisting: forwardRef(() => SearchboxComponent),
131
131
  multi: true
132
132
  }
133
- ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-searchbox\" [class.sdc-searchbox--disabled]=\"disabled\">\n @if (labelKey()) {\n <label [for]=\"identity.id\">\n <span>{{ labelKey() | translate }}</span>\n @if (required) {\n <span class=\"required-field\" [attr.aria-label]=\"'platform.datacore.accessibility.required_field' | translate\">\n &bull;\n </span>\n }\n </label>\n }\n\n <div class=\"sdc-searchbox__group\" [ngStyle]=\"getStyles()\">\n @if (triggerMode === 'submit') {\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--leading\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onSearch()\"\n (keydown.enter)=\"onSearch()\"\n (keydown.space)=\"$event.preventDefault(); onSearch()\"\n [icon]=\"'fas fa-search'\"\n [ariaLabel]=\"'platform.datacore.accessibility.search_action'\"\n ></sdc-button>\n </div>\n }\n\n <input\n #inputRef\n [id]=\"identity.id\"\n [ngClass]=\"getInvalidClass()\"\n class=\"sdc-searchbox__input\"\n type=\"search\"\n [ngModel]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ('platform.datacore.search' | translate)\"\n (ngModelChange)=\"onValueChange($event)\"\n (keyup.enter)=\"onEnterKey()\"\n (keyup.esc)=\"onEscapeKey()\"\n [attr.role]=\"inputRole\"\n [attr.autocomplete]=\"inputAutocomplete\"\n [attr.aria-label]=\"inputAriaLabel | translate\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-controls]=\"inputAriaControls\"\n [attr.aria-describedby]=\"inputDescribedBy\"\n [attr.aria-activedescendant]=\"inputAriaActiveDescendant\"\n [attr.aria-haspopup]=\"inputAriaHaspopup\"\n [attr.aria-expanded]=\"inputAriaExpanded\"\n />\n\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--trailing\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onClear()\"\n (keydown.enter)=\"onClear()\"\n (keydown.space)=\"$event.preventDefault(); onClear()\"\n [icon]=\"'fas fa-times'\"\n [ariaLabel]=\"'platform.datacore.accessibility.clear_field'\"\n ></sdc-button>\n </div>\n </div>\n\n @if (messageKey()) {\n <small [id]=\"identity.id + '-error'\" [ngClass]=\"getInvalidMessageClass()\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-searchbox input[type=search]{-webkit-appearance:textfield!important;appearance:textfield!important}.sdc-searchbox input[type=search]::-webkit-search-cancel-button,.sdc-searchbox input[type=search]::-webkit-search-decoration,.sdc-searchbox input[type=search]::-webkit-search-results-button,.sdc-searchbox input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none!important;appearance:none!important;display:none!important}.sdc-searchbox input[type=search]::-ms-clear,.sdc-searchbox input[type=search]::-ms-reveal{display:none!important;width:0!important;height:0!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:var(--sdc-form-label-row-mb);line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-searchbox .required-field{margin-left:var(--sdc-form-required-ml)}.sdc-searchbox__group{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:var(--sdc-formfield-default-bg)!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-searchbox__group:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-searchbox__input{flex:1 1 auto;width:100%;min-width:0;height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0 .875rem!important;line-height:var(--sdc-formfield-default-line-height)!important;color:var(--p-text-color, var(--sdc-text-default, #111827))!important;caret-color:currentColor!important}.sdc-searchbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox__addon{display:flex;align-items:center;justify-content:center;flex:0 0 var(--sdc-searchbox-addon-width, 48px);width:var(--sdc-searchbox-addon-width, 48px);min-width:var(--sdc-searchbox-addon-width, 48px);padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox__addon--leading{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox__addon--trailing{border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-searchbox-addon-bg, var(--sdc-button-bg, #eceeef))!important}.sdc-searchbox__addon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox__addon ::ng-deep sdc-button{display:flex!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button>div{width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el{display:flex!important;width:100%!important;height:100%!important;background:transparent!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el button,.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el .s-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox__addon ::ng-deep sdc-button button:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff)!important;outline-offset:-2px!important;box-shadow:0 0 0 3px #007bff40!important}.sdc-searchbox__addon ::ng-deep sdc-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox__addon ::ng-deep sdc-button i{color:var(--sdc-button-icon-default)!important;height:auto!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__group{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon:hover{background-color:var(--sdc-formfield-disabled-bg)!important;transition:none!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button{opacity:.6}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button button{cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button i{opacity:.6}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["onClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
133
+ ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-searchbox\" [class.sdc-searchbox--disabled]=\"disabled\">\n @if (labelKey()) {\n <label [for]=\"identity.id\">\n <span>{{ labelKey() | translate }}</span>\n @if (required) {\n <span class=\"required-field\" [attr.aria-label]=\"'platform.datacore.accessibility.required_field' | translate\">\n &bull;\n </span>\n }\n </label>\n }\n\n <div class=\"sdc-searchbox__group\" [ngStyle]=\"getStyles()\">\n @if (triggerMode === 'submit') {\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--leading\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onSearch()\"\n (keydown.enter)=\"onSearch()\"\n (keydown.space)=\"$event.preventDefault(); onSearch()\"\n [icon]=\"'fas fa-search'\"\n [ariaLabel]=\"'platform.datacore.accessibility.search_action'\"\n ></sdc-button>\n </div>\n }\n\n <input\n #inputRef\n [id]=\"identity.id\"\n [ngClass]=\"getInvalidClass()\"\n class=\"sdc-searchbox__input\"\n type=\"search\"\n [ngModel]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ('platform.datacore.search' | translate)\"\n (ngModelChange)=\"onValueChange($event)\"\n (keyup.enter)=\"onEnterKey()\"\n (keyup.esc)=\"onEscapeKey()\"\n [attr.role]=\"inputRole\"\n [attr.autocomplete]=\"inputAutocomplete\"\n [attr.aria-label]=\"inputAriaLabel | translate\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-controls]=\"inputAriaControls\"\n [attr.aria-describedby]=\"inputDescribedBy\"\n [attr.aria-activedescendant]=\"inputAriaActiveDescendant\"\n [attr.aria-haspopup]=\"inputAriaHaspopup\"\n [attr.aria-expanded]=\"inputAriaExpanded\"\n />\n\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--trailing\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onClear()\"\n (keydown.enter)=\"onClear()\"\n (keydown.space)=\"$event.preventDefault(); onClear()\"\n [icon]=\"'fas fa-times'\"\n [ariaLabel]=\"'platform.datacore.accessibility.clear_field'\"\n ></sdc-button>\n </div>\n </div>\n\n @if (messageKey()) {\n <small [id]=\"identity.id + '-error'\" [ngClass]=\"getInvalidMessageClass()\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-searchbox input[type=search]{-webkit-appearance:textfield!important;appearance:textfield!important}.sdc-searchbox input[type=search]::-webkit-search-cancel-button,.sdc-searchbox input[type=search]::-webkit-search-decoration,.sdc-searchbox input[type=search]::-webkit-search-results-button,.sdc-searchbox input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none!important;appearance:none!important;display:none!important}.sdc-searchbox input[type=search]::-ms-clear,.sdc-searchbox input[type=search]::-ms-reveal{display:none!important;width:0!important;height:0!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:var(--sdc-form-label-row-mb);line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-searchbox .required-field{margin-left:var(--sdc-form-required-ml)}.sdc-searchbox__group{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:var(--sdc-formfield-default-bg)!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-searchbox__group:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-searchbox__input{flex:1 1 auto;width:100%;min-width:0;height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0 .875rem!important;line-height:var(--sdc-formfield-default-line-height)!important;color:var(--p-text-color, var(--sdc-text-default, #111827))!important;caret-color:currentColor!important}.sdc-searchbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox__addon{display:flex;align-items:center;justify-content:center;flex:0 0 var(--sdc-searchbox-addon-width, 48px);width:var(--sdc-searchbox-addon-width, 48px);min-width:var(--sdc-searchbox-addon-width, 48px);padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox__addon--leading{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox__addon--trailing{border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-searchbox-addon-bg, var(--sdc-button-bg, #eceeef))!important}.sdc-searchbox__addon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox__addon ::ng-deep sdc-button{display:flex!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button>div{width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el{display:flex!important;width:100%!important;height:100%!important;background:transparent!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el button,.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el .s-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox__addon ::ng-deep sdc-button button:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff)!important;outline-offset:-2px!important;box-shadow:0 0 0 3px #007bff40!important}.sdc-searchbox__addon ::ng-deep sdc-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox__addon ::ng-deep sdc-button i{color:var(--sdc-button-icon-default)!important;height:auto!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__group{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon:hover{background-color:var(--sdc-formfield-disabled-bg)!important;transition:none!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button{opacity:.6}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button button{cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button i{opacity:.6}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
134
  }
135
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchboxComponent, decorators: [{
136
136
  type: Component,
@@ -14,6 +14,7 @@ export class SidebarComponent {
14
14
  width = SIDEBAR_DEFAULT_WIDTH;
15
15
  showClose = true;
16
16
  visibleChange = new EventEmitter();
17
+ headerTpl;
17
18
  contentTpl;
18
19
  footerTpl;
19
20
  panelRef;
@@ -86,11 +87,11 @@ export class SidebarComponent {
86
87
  focusFirstDescendant(panel, this.closeButtonRef?.nativeElement ?? panel);
87
88
  }
88
89
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
89
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SidebarComponent, isStandalone: true, selector: "sdc-sidebar", inputs: { visible: "visible", header: "header", largeSized: "largeSized", closeOnBackdrop: "closeOnBackdrop", width: "width", showClose: "showClose" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "document:keydown": "onDocumentKeydown($event)" } }, queries: [{ propertyName: "contentTpl", first: true, predicate: ["content"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "panelRef", first: true, predicate: ["panelRef"], descendants: true }, { propertyName: "closeButtonRef", first: true, predicate: ["closeButtonRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-overlay\" [class.sdc-overlay--open]=\"visible\" [attr.aria-hidden]=\"!visible\">\n <div class=\"sdc-backdrop\" (click)=\"onBackdropClick()\"></div>\n\n <section\n #panelRef\n class=\"sdc-sidebar-panel\"\n [class.sdc-sidebar-panel--open]=\"visible\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"'sidebar-header'\"\n [style.width]=\"sidebarWidth\"\n tabindex=\"-1\"\n >\n <div class=\"sdc-sidebar-header\">\n <h2 class=\"sdc-sidebar-title\" id=\"sidebar-header\">{{ header | translate }}</h2>\n\n @if (showClose) {\n <button\n #closeButtonRef\n type=\"button\"\n class=\"sdc-sidebar-close\"\n (click)=\"close()\"\n [attr.aria-label]=\"'platform.datacore.accessibility.close_sidebar' | translate\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n\n <div class=\"sdc-sidebar-content\">\n @if (contentTpl) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @else {\n <ng-content></ng-content>\n }\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n @if (footerTpl) {\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n }\n </div>\n </div>\n </section>\n</div>\n", styles: [":host{display:block}.sdc-overlay{position:fixed;inset:0;z-index:1100;pointer-events:none}.sdc-overlay--open{pointer-events:auto}.sdc-backdrop{position:absolute;inset:0;background:var(--sdc-sidebar-backdrop-bg, rgba(51, 51, 51, .8));opacity:0;transition:opacity var(--sdc-transition-medium, .26s ease)}.sdc-overlay--open .sdc-backdrop{opacity:1}.sdc-sidebar-panel{position:absolute;right:0;top:0;height:100vh;background:var(--sdc-sidebar-panel-bg, #ffffff);display:flex;flex-direction:column;max-width:100%;box-shadow:var(--sdc-sidebar-shadow, 0 0 0 1px rgba(0, 0, 0, .04), 0 10px 30px rgba(0, 0, 0, .2));width:var(--sdc-sidebar-width, 70%);transform:translate(100%);transition:transform var(--sdc-transition-medium-emphasized, .26s cubic-bezier(.2, .8, .2, 1));will-change:transform}.sdc-sidebar-panel--open{transform:translate(0)}.sdc-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sdc-sidebar-header-padding, .75rem 1rem);border-bottom:1px solid var(--sdc-sidebar-border-color, #e5e7eb);font-size:var(--sdc-sidebar-title-size, .9rem);text-transform:uppercase}.sdc-sidebar-title{font-weight:600;font-size:var(--sdc-sidebar-title-size, .9rem);margin:0}.sdc-sidebar-close{background:transparent;border:0;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1}.sdc-sidebar-close:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff);outline-offset:-2px;box-shadow:0 0 0 3px #007bff40}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:var(--sdc-sidebar-content-padding, 0 1rem)}.sdc-sidebar-footer{background:var(--sdc-sidebar-panel-bg, #ffffff);position:sticky;bottom:0;padding:var(--sdc-sidebar-footer-padding, 0 1rem 1rem)}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid var(--sdc-sidebar-divider-color, #dcdcdc)}.sdc-footer-actions{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.sdc-body-locked{overflow:hidden}@media (prefers-reduced-motion: reduce){.sdc-backdrop,.sdc-sidebar-panel{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SidebarComponent, isStandalone: true, selector: "sdc-sidebar", inputs: { visible: "visible", header: "header", largeSized: "largeSized", closeOnBackdrop: "closeOnBackdrop", width: "width", showClose: "showClose" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "document:keydown": "onDocumentKeydown($event)" } }, queries: [{ propertyName: "headerTpl", first: true, predicate: ["header"], descendants: true, read: TemplateRef }, { propertyName: "contentTpl", first: true, predicate: ["content"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "panelRef", first: true, predicate: ["panelRef"], descendants: true }, { propertyName: "closeButtonRef", first: true, predicate: ["closeButtonRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-overlay\" [class.sdc-overlay--open]=\"visible\" [attr.aria-hidden]=\"!visible\">\n <div class=\"sdc-backdrop\" (click)=\"onBackdropClick()\"></div>\n\n <section\n #panelRef\n class=\"sdc-sidebar-panel\"\n [class.sdc-sidebar-panel--open]=\"visible\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"'sidebar-header'\"\n [style.width]=\"sidebarWidth\"\n tabindex=\"-1\"\n >\n <div class=\"sdc-sidebar-header\">\n <h2 class=\"sdc-sidebar-title\" id=\"sidebar-header\">{{ header | translate }}</h2>\n\n <div class=\"sdc-sidebar-header-actions\">\n @if (headerTpl) {\n <div class=\"sdc-sidebar-header-extra\">\n <ng-container *ngTemplateOutlet=\"headerTpl\"></ng-container>\n </div>\n }\n\n @if (showClose) {\n <button\n #closeButtonRef\n type=\"button\"\n class=\"sdc-sidebar-close\"\n (click)=\"close()\"\n [attr.aria-label]=\"'platform.datacore.accessibility.close_sidebar' | translate\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n </div>\n\n <div class=\"sdc-sidebar-content\">\n @if (contentTpl) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @else {\n <ng-content></ng-content>\n }\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n @if (footerTpl) {\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n }\n </div>\n </div>\n </section>\n</div>\n", styles: [":host{display:block}.sdc-overlay{position:fixed;inset:0;z-index:1100;pointer-events:none}.sdc-overlay--open{pointer-events:auto}.sdc-backdrop{position:absolute;inset:0;background:var(--sdc-sidebar-backdrop-bg, rgba(51, 51, 51, .8));opacity:0;transition:opacity var(--sdc-transition-medium, .26s ease)}.sdc-overlay--open .sdc-backdrop{opacity:1}.sdc-sidebar-panel{position:absolute;right:0;top:0;height:100vh;background:var(--sdc-sidebar-panel-bg, #ffffff);display:flex;flex-direction:column;max-width:100%;box-shadow:var(--sdc-sidebar-shadow, 0 0 0 1px rgba(0, 0, 0, .04), 0 10px 30px rgba(0, 0, 0, .2));width:var(--sdc-sidebar-width, 70%);transform:translate(100%);transition:transform var(--sdc-transition-medium-emphasized, .26s cubic-bezier(.2, .8, .2, 1));will-change:transform}.sdc-sidebar-panel--open{transform:translate(0)}.sdc-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sdc-sidebar-header-padding, .75rem 1rem);border-bottom:1px solid var(--sdc-sidebar-border-color, #e5e7eb);font-size:var(--sdc-sidebar-title-size, .9rem);text-transform:uppercase}.sdc-sidebar-title{font-weight:600;font-size:var(--sdc-sidebar-title-size, .9rem);margin:0;min-width:0}.sdc-sidebar-header-actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;min-width:0}.sdc-sidebar-header-extra{display:inline-flex;align-items:center;min-width:0}.sdc-sidebar-close{background:transparent;border:0;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1}.sdc-sidebar-close:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff);outline-offset:-2px;box-shadow:0 0 0 3px #007bff40}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:var(--sdc-sidebar-content-padding, 0 1rem)}.sdc-sidebar-footer{background:var(--sdc-sidebar-panel-bg, #ffffff);position:sticky;bottom:0;padding:var(--sdc-sidebar-footer-padding, 0 1rem 1rem)}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid var(--sdc-sidebar-divider-color, #dcdcdc)}.sdc-footer-actions{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.sdc-body-locked{overflow:hidden}@media (prefers-reduced-motion: reduce){.sdc-backdrop,.sdc-sidebar-panel{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
91
  }
91
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SidebarComponent, decorators: [{
92
93
  type: Component,
93
- args: [{ selector: 'sdc-sidebar', standalone: true, imports: [CommonModule, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-overlay\" [class.sdc-overlay--open]=\"visible\" [attr.aria-hidden]=\"!visible\">\n <div class=\"sdc-backdrop\" (click)=\"onBackdropClick()\"></div>\n\n <section\n #panelRef\n class=\"sdc-sidebar-panel\"\n [class.sdc-sidebar-panel--open]=\"visible\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"'sidebar-header'\"\n [style.width]=\"sidebarWidth\"\n tabindex=\"-1\"\n >\n <div class=\"sdc-sidebar-header\">\n <h2 class=\"sdc-sidebar-title\" id=\"sidebar-header\">{{ header | translate }}</h2>\n\n @if (showClose) {\n <button\n #closeButtonRef\n type=\"button\"\n class=\"sdc-sidebar-close\"\n (click)=\"close()\"\n [attr.aria-label]=\"'platform.datacore.accessibility.close_sidebar' | translate\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n\n <div class=\"sdc-sidebar-content\">\n @if (contentTpl) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @else {\n <ng-content></ng-content>\n }\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n @if (footerTpl) {\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n }\n </div>\n </div>\n </section>\n</div>\n", styles: [":host{display:block}.sdc-overlay{position:fixed;inset:0;z-index:1100;pointer-events:none}.sdc-overlay--open{pointer-events:auto}.sdc-backdrop{position:absolute;inset:0;background:var(--sdc-sidebar-backdrop-bg, rgba(51, 51, 51, .8));opacity:0;transition:opacity var(--sdc-transition-medium, .26s ease)}.sdc-overlay--open .sdc-backdrop{opacity:1}.sdc-sidebar-panel{position:absolute;right:0;top:0;height:100vh;background:var(--sdc-sidebar-panel-bg, #ffffff);display:flex;flex-direction:column;max-width:100%;box-shadow:var(--sdc-sidebar-shadow, 0 0 0 1px rgba(0, 0, 0, .04), 0 10px 30px rgba(0, 0, 0, .2));width:var(--sdc-sidebar-width, 70%);transform:translate(100%);transition:transform var(--sdc-transition-medium-emphasized, .26s cubic-bezier(.2, .8, .2, 1));will-change:transform}.sdc-sidebar-panel--open{transform:translate(0)}.sdc-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sdc-sidebar-header-padding, .75rem 1rem);border-bottom:1px solid var(--sdc-sidebar-border-color, #e5e7eb);font-size:var(--sdc-sidebar-title-size, .9rem);text-transform:uppercase}.sdc-sidebar-title{font-weight:600;font-size:var(--sdc-sidebar-title-size, .9rem);margin:0}.sdc-sidebar-close{background:transparent;border:0;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1}.sdc-sidebar-close:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff);outline-offset:-2px;box-shadow:0 0 0 3px #007bff40}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:var(--sdc-sidebar-content-padding, 0 1rem)}.sdc-sidebar-footer{background:var(--sdc-sidebar-panel-bg, #ffffff);position:sticky;bottom:0;padding:var(--sdc-sidebar-footer-padding, 0 1rem 1rem)}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid var(--sdc-sidebar-divider-color, #dcdcdc)}.sdc-footer-actions{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.sdc-body-locked{overflow:hidden}@media (prefers-reduced-motion: reduce){.sdc-backdrop,.sdc-sidebar-panel{transition:none}}\n"] }]
94
+ args: [{ selector: 'sdc-sidebar', standalone: true, imports: [CommonModule, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-overlay\" [class.sdc-overlay--open]=\"visible\" [attr.aria-hidden]=\"!visible\">\n <div class=\"sdc-backdrop\" (click)=\"onBackdropClick()\"></div>\n\n <section\n #panelRef\n class=\"sdc-sidebar-panel\"\n [class.sdc-sidebar-panel--open]=\"visible\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"'sidebar-header'\"\n [style.width]=\"sidebarWidth\"\n tabindex=\"-1\"\n >\n <div class=\"sdc-sidebar-header\">\n <h2 class=\"sdc-sidebar-title\" id=\"sidebar-header\">{{ header | translate }}</h2>\n\n <div class=\"sdc-sidebar-header-actions\">\n @if (headerTpl) {\n <div class=\"sdc-sidebar-header-extra\">\n <ng-container *ngTemplateOutlet=\"headerTpl\"></ng-container>\n </div>\n }\n\n @if (showClose) {\n <button\n #closeButtonRef\n type=\"button\"\n class=\"sdc-sidebar-close\"\n (click)=\"close()\"\n [attr.aria-label]=\"'platform.datacore.accessibility.close_sidebar' | translate\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n </div>\n\n <div class=\"sdc-sidebar-content\">\n @if (contentTpl) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @else {\n <ng-content></ng-content>\n }\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n @if (footerTpl) {\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n }\n </div>\n </div>\n </section>\n</div>\n", styles: [":host{display:block}.sdc-overlay{position:fixed;inset:0;z-index:1100;pointer-events:none}.sdc-overlay--open{pointer-events:auto}.sdc-backdrop{position:absolute;inset:0;background:var(--sdc-sidebar-backdrop-bg, rgba(51, 51, 51, .8));opacity:0;transition:opacity var(--sdc-transition-medium, .26s ease)}.sdc-overlay--open .sdc-backdrop{opacity:1}.sdc-sidebar-panel{position:absolute;right:0;top:0;height:100vh;background:var(--sdc-sidebar-panel-bg, #ffffff);display:flex;flex-direction:column;max-width:100%;box-shadow:var(--sdc-sidebar-shadow, 0 0 0 1px rgba(0, 0, 0, .04), 0 10px 30px rgba(0, 0, 0, .2));width:var(--sdc-sidebar-width, 70%);transform:translate(100%);transition:transform var(--sdc-transition-medium-emphasized, .26s cubic-bezier(.2, .8, .2, 1));will-change:transform}.sdc-sidebar-panel--open{transform:translate(0)}.sdc-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sdc-sidebar-header-padding, .75rem 1rem);border-bottom:1px solid var(--sdc-sidebar-border-color, #e5e7eb);font-size:var(--sdc-sidebar-title-size, .9rem);text-transform:uppercase}.sdc-sidebar-title{font-weight:600;font-size:var(--sdc-sidebar-title-size, .9rem);margin:0;min-width:0}.sdc-sidebar-header-actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;min-width:0}.sdc-sidebar-header-extra{display:inline-flex;align-items:center;min-width:0}.sdc-sidebar-close{background:transparent;border:0;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1}.sdc-sidebar-close:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff);outline-offset:-2px;box-shadow:0 0 0 3px #007bff40}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:var(--sdc-sidebar-content-padding, 0 1rem)}.sdc-sidebar-footer{background:var(--sdc-sidebar-panel-bg, #ffffff);position:sticky;bottom:0;padding:var(--sdc-sidebar-footer-padding, 0 1rem 1rem)}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid var(--sdc-sidebar-divider-color, #dcdcdc)}.sdc-footer-actions{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.sdc-body-locked{overflow:hidden}@media (prefers-reduced-motion: reduce){.sdc-backdrop,.sdc-sidebar-panel{transition:none}}\n"] }]
94
95
  }], propDecorators: { visible: [{
95
96
  type: Input,
96
97
  args: [{ required: true }]
@@ -107,6 +108,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
107
108
  type: Input
108
109
  }], visibleChange: [{
109
110
  type: Output
111
+ }], headerTpl: [{
112
+ type: ContentChild,
113
+ args: ['header', { read: TemplateRef }]
110
114
  }], contentTpl: [{
111
115
  type: ContentChild,
112
116
  args: ['content', { read: TemplateRef }]
@@ -123,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
123
127
  type: HostListener,
124
128
  args: ['document:keydown', ['$event']]
125
129
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBV3ZHLE1BQU0sT0FBTyxnQkFBZ0I7SUFDQSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLE1BQU0sR0FBRywwQkFBMEIsQ0FBQztJQUN0RCxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDdkIsS0FBSyxHQUFvQixxQkFBcUIsQ0FBQztJQUMvQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRWhCLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRU4sVUFBVSxDQUF3QjtJQUNuQyxTQUFTLENBQXdCO0lBQ3pELFFBQVEsQ0FBMkI7SUFDN0IsY0FBYyxDQUFpQztJQUVwRSxzQkFBc0IsR0FBdUIsSUFBSSxDQUFDO0lB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QVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDUSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkF5QzNCLGlCQUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgU0lERUJBUl9DT01QQUNUX1dJRFRILCBTSURFQkFSX0RFRkFVTFRfSEVBREVSX0tFWSwgU0lERUJBUl9ERUZBVUxUX1dJRFRIIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvc2lkZWJhci5jb25zdCc7XG5pbXBvcnQgeyBmb2N1c0ZpcnN0RGVzY2VuZGFudCwgcmVzdG9yZUZvY3VzLCB0cmFwRm9jdXNJbkNvbnRhaW5lciB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvZm9jdXMudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zaWRlYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB2aXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGhlYWRlciA9IFNJREVCQVJfREVGQVVMVF9IRUFERVJfS0VZO1xuICBASW5wdXQoKSBsYXJnZVNpemVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xvc2VPbkJhY2tkcm9wID0gdHJ1ZTtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9IFNJREVCQVJfREVGQVVMVF9XSURUSDtcbiAgQElucHV0KCkgc2hvd0Nsb3NlID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAQ29udGVudENoaWxkKCdjb250ZW50JywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBjb250ZW50VHBsPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIEBDb250ZW50Q2hpbGQoJ2Zvb3RlcicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgZm9vdGVyVHBsPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIEBWaWV3Q2hpbGQoJ3BhbmVsUmVmJykgcGFuZWxSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY2xvc2VCdXR0b25SZWYnKSBjbG9zZUJ1dHRvblJlZj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgcHJldmlvdXNGb2N1c2VkRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3Zpc2libGUnXSkge1xuICAgICAgdGhpcy5sb2NrQm9keSh0aGlzLnZpc2libGUpO1xuICAgICAgdGhpcy5oYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKGNoYW5nZXNbJ3Zpc2libGUnXS5wcmV2aW91c1ZhbHVlLCBjaGFuZ2VzWyd2aXNpYmxlJ10uY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2tCb2R5KGZhbHNlKTtcbiAgfVxuXG4gIG9uQmFja2Ryb3BDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aXNpYmxlICYmIHRoaXMuY2xvc2VPbkJhY2tkcm9wKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy5sb2NrQm9keShmYWxzZSk7XG4gICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gcmVzdG9yZUZvY3VzKHRoaXMucHJldmlvdXNGb2N1c2VkRWxlbWVudCkpO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIGdldCBzaWRlYmFyV2lkdGgoKTogc3RyaW5nIHtcbiAgICBpZiAodHlwZW9mIHRoaXMud2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy53aWR0aH0lYDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy53aWR0aCkge1xuICAgICAgcmV0dXJuIFN0cmluZyh0aGlzLndpZHRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sYXJnZVNpemVkID8gU0lERUJBUl9ERUZBVUxUX1dJRFRIIDogU0lERUJBUl9DT01QQUNUX1dJRFRIO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnZpc2libGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInICYmIHRoaXMucGFuZWxSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRyYXBGb2N1c0luQ29udGFpbmVyKFxuICAgICAgICBldmVudCxcbiAgICAgICAgdGhpcy5wYW5lbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICAgICAgdGhpcy5jbG9zZUJ1dHRvblJlZj8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLnBhbmVsUmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2NrQm9keShsb2NrOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoJ3NkYy1ib2R5LWxvY2tlZCcsICEhbG9jayk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UocHJldmlvdXNWYWx1ZTogYm9vbGVhbiwgY3VycmVudFZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKCFwcmV2aW91c1ZhbHVlICYmIGN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5wcmV2aW91c0ZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50XG4gICAgICAgID8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudFxuICAgICAgICA6IG51bGw7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB0aGlzLmZvY3VzUGFuZWwoKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzVmFsdWUgJiYgIWN1cnJlbnRWYWx1ZSkge1xuICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gcmVzdG9yZUZvY3VzKHRoaXMucHJldmlvdXNGb2N1c2VkRWxlbWVudCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNQYW5lbCgpOiB2b2lkIHtcbiAgICBjb25zdCBwYW5lbCA9IHRoaXMucGFuZWxSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAoIXBhbmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9jdXNGaXJzdERlc2NlbmRhbnQocGFuZWwsIHRoaXMuY2xvc2VCdXR0b25SZWY/Lm5hdGl2ZUVsZW1lbnQgPz8gcGFuZWwpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLW92ZXJsYXlcIiBbY2xhc3Muc2RjLW92ZXJsYXktLW9wZW5dPVwidmlzaWJsZVwiIFthdHRyLmFyaWEtaGlkZGVuXT1cIiF2aXNpYmxlXCI+XG4gIDxkaXYgY2xhc3M9XCJzZGMtYmFja2Ryb3BcIiAoY2xpY2spPVwib25CYWNrZHJvcENsaWNrKClcIj48L2Rpdj5cblxuICA8c2VjdGlvblxuICAgICNwYW5lbFJlZlxuICAgIGNsYXNzPVwic2RjLXNpZGViYXItcGFuZWxcIlxuICAgIFtjbGFzcy5zZGMtc2lkZWJhci1wYW5lbC0tb3Blbl09XCJ2aXNpYmxlXCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidzaWRlYmFyLWhlYWRlcidcIlxuICAgIFtzdHlsZS53aWR0aF09XCJzaWRlYmFyV2lkdGhcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1zaWRlYmFyLWhlYWRlclwiPlxuICAgICAgPGgyIGNsYXNzPVwic2RjLXNpZGViYXItdGl0bGVcIiBpZD1cInNpZGViYXItaGVhZGVyXCI+e3sgaGVhZGVyIHwgdHJhbnNsYXRlIH19PC9oMj5cblxuICAgICAgQGlmIChzaG93Q2xvc2UpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNjbG9zZUJ1dHRvblJlZlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLXNpZGViYXItY2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmNsb3NlX3NpZGViYXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZGMtc2lkZWJhci1jb250ZW50XCI+XG4gICAgICBAaWYgKGNvbnRlbnRUcGwpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNpZGViYXItZm9vdGVyXCI+XG4gICAgICA8aHIgY2xhc3M9XCJzZGMtZm9vdGVyLWRpdmlkZXJcIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1mb290ZXItYWN0aW9uc1wiPlxuICAgICAgICBAaWYgKGZvb3RlclRwbCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBV3ZHLE1BQU0sT0FBTyxnQkFBZ0I7SUFDQSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLE1BQU0sR0FBRywwQkFBMEIsQ0FBQztJQUN0RCxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDdkIsS0FBSyxHQUFvQixxQkFBcUIsQ0FBQztJQUMvQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRWhCLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRVAsU0FBUyxDQUF3QjtJQUNoQyxVQUFVLENBQXdCO0lBQ25DLFNBQVMsQ0FBd0I7SUFDekQsUUFBUSxDQUEyQjtJQUM3QixjQUFjLENBQWlDO0lBRXBFLHNCQUFzQixH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QUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNDLFNBQVM7c0JBQXZELFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDdEIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNRLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQXlDM0IsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBTSURFQkFSX0NPTVBBQ1RfV0lEVEgsIFNJREVCQVJfREVGQVVMVF9IRUFERVJfS0VZLCBTSURFQkFSX0RFRkFVTFRfV0lEVEggfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9zaWRlYmFyLmNvbnN0JztcbmltcG9ydCB7IGZvY3VzRmlyc3REZXNjZW5kYW50LCByZXN0b3JlRm9jdXMsIHRyYXBGb2N1c0luQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9mb2N1cy51dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXNpZGViYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHZpc2libGUgPSBmYWxzZTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgaGVhZGVyID0gU0lERUJBUl9ERUZBVUxUX0hFQURFUl9LRVk7XG4gIEBJbnB1dCgpIGxhcmdlU2l6ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBjbG9zZU9uQmFja2Ryb3AgPSB0cnVlO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nIHwgbnVtYmVyID0gU0lERUJBUl9ERUZBVUxUX1dJRFRIO1xuICBASW5wdXQoKSBzaG93Q2xvc2UgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgaGVhZGVyVHBsPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGNvbnRlbnRUcGw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQENvbnRlbnRDaGlsZCgnZm9vdGVyJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBmb290ZXJUcGw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQFZpZXdDaGlsZCgncGFuZWxSZWYnKSBwYW5lbFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdjbG9zZUJ1dHRvblJlZicpIGNsb3NlQnV0dG9uUmVmPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgcHJpdmF0ZSBwcmV2aW91c0ZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndmlzaWJsZSddKSB7XG4gICAgICB0aGlzLmxvY2tCb2R5KHRoaXMudmlzaWJsZSk7XG4gICAgICB0aGlzLmhhbmRsZVZpc2liaWxpdHlDaGFuZ2UoY2hhbmdlc1sndmlzaWJsZSddLnByZXZpb3VzVmFsdWUsIGNoYW5nZXNbJ3Zpc2libGUnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubG9ja0JvZHkoZmFsc2UpO1xuICB9XG5cbiAgb25CYWNrZHJvcENsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZpc2libGUgJiYgdGhpcy5jbG9zZU9uQmFja2Ryb3ApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLmxvY2tCb2R5KGZhbHNlKTtcbiAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiByZXN0b3JlRm9jdXModGhpcy5wcmV2aW91c0ZvY3VzZWRFbGVtZW50KSk7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgZ2V0IHNpZGViYXJXaWR0aCgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdGhpcy53aWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLndpZHRofSVgO1xuICAgIH1cblxuICAgIGlmICh0aGlzLndpZHRoKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKHRoaXMud2lkdGgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxhcmdlU2l6ZWQgPyBTSURFQkFSX0RFRkFVTFRfV0lEVEggOiBTSURFQkFSX0NPTVBBQ1RfV0lEVEg7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25Eb2N1bWVudEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudmlzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgdGhpcy5wYW5lbFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdHJhcEZvY3VzSW5Db250YWluZXIoXG4gICAgICAgIGV2ZW50LFxuICAgICAgICB0aGlzLnBhbmVsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgICAgICB0aGlzLmNsb3NlQnV0dG9uUmVmPy5uYXRpdmVFbGVtZW50ID8/IHRoaXMucGFuZWxSZWYubmF0aXZlRWxlbWVudFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvY2tCb2R5KGxvY2s6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgnc2RjLWJvZHktbG9ja2VkJywgISFsb2NrKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZShwcmV2aW91c1ZhbHVlOiBib29sZWFuLCBjdXJyZW50VmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXByZXZpb3VzVmFsdWUgJiYgY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnByZXZpb3VzRm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnRcbiAgICAgICAgPyBkb2N1bWVudC5hY3RpdmVFbGVtZW50XG4gICAgICAgIDogbnVsbDtcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMuZm9jdXNQYW5lbCgpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocHJldmlvdXNWYWx1ZSAmJiAhY3VycmVudFZhbHVlKSB7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiByZXN0b3JlRm9jdXModGhpcy5wcmV2aW91c0ZvY3VzZWRFbGVtZW50KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1BhbmVsKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhbmVsID0gdGhpcy5wYW5lbFJlZj8ubmF0aXZlRWxlbWVudDtcblxuICAgIGlmICghcGFuZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb2N1c0ZpcnN0RGVzY2VuZGFudChwYW5lbCwgdGhpcy5jbG9zZUJ1dHRvblJlZj8ubmF0aXZlRWxlbWVudCA/PyBwYW5lbCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtb3ZlcmxheVwiIFtjbGFzcy5zZGMtb3ZlcmxheS0tb3Blbl09XCJ2aXNpYmxlXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXZpc2libGVcIj5cbiAgPGRpdiBjbGFzcz1cInNkYy1iYWNrZHJvcFwiIChjbGljayk9XCJvbkJhY2tkcm9wQ2xpY2soKVwiPjwvZGl2PlxuXG4gIDxzZWN0aW9uXG4gICAgI3BhbmVsUmVmXG4gICAgY2xhc3M9XCJzZGMtc2lkZWJhci1wYW5lbFwiXG4gICAgW2NsYXNzLnNkYy1zaWRlYmFyLXBhbmVsLS1vcGVuXT1cInZpc2libGVcIlxuICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3NpZGViYXItaGVhZGVyJ1wiXG4gICAgW3N0eWxlLndpZHRoXT1cInNpZGViYXJXaWR0aFwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNpZGViYXItaGVhZGVyXCI+XG4gICAgICA8aDIgY2xhc3M9XCJzZGMtc2lkZWJhci10aXRsZVwiIGlkPVwic2lkZWJhci1oZWFkZXJcIj57eyBoZWFkZXIgfCB0cmFuc2xhdGUgfX08L2gyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2RjLXNpZGViYXItaGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgQGlmIChoZWFkZXJUcGwpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RjLXNpZGViYXItaGVhZGVyLWV4dHJhXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKHNob3dDbG9zZSkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICNjbG9zZUJ1dHRvblJlZlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1zaWRlYmFyLWNsb3NlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuY2xvc2Vfc2lkZWJhcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZGMtc2lkZWJhci1jb250ZW50XCI+XG4gICAgICBAaWYgKGNvbnRlbnRUcGwpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNpZGViYXItZm9vdGVyXCI+XG4gICAgICA8aHIgY2xhc3M9XCJzZGMtZm9vdGVyLWRpdmlkZXJcIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1mb290ZXItYWN0aW9uc1wiPlxuICAgICAgICBAaWYgKGZvb3RlclRwbCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
@@ -125,11 +125,11 @@ export class SwitchComponent extends InputsComponent {
125
125
  return `${toggleLabel}: ${state}`;
126
126
  }
127
127
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
128
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SwitchComponent, isStandalone: true, selector: "sdc-switch", inputs: { infoTooltip: "infoTooltip", infoTooltipPosition: "infoTooltipPosition", infoTooltipEvent: "infoTooltipEvent", trueLabel: "trueLabel", falseLabel: "falseLabel", readonly: "readonly", disabled: "disabled", ariaLabel: "ariaLabel", interceptChange: "interceptChange" }, outputs: { change: "onChange", changeRequest: "onChangeRequest" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n <div class=\"sdc-switch__label-row\" *ngIf=\"labelKey() || hasTooltip\">\n <label\n *ngIf=\"labelKey()\"\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n <span *ngIf=\"required\" class=\"required-field\" aria-hidden=\"true\">*</span>\n <span *ngIf=\"required\" class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n </span>\n </label>\n\n <sdc-tooltip\n *ngIf=\"hasTooltip\"\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n </div>\n\n <ng-container *ngIf=\"!interceptChange; else interceptedSwitch\">\n <s-switch\n class=\"sdc-switch__control\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n [inputId]=\"controlId\"\n [inputName]=\"identity.name\"\n [readonly]=\"readonly\"\n [trueLabel]=\"trueLabelText\"\n [falseLabel]=\"falseLabelText\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (ngModelChange)=\"onInnerChange($event)\"\n (blur)=\"onBlur()\"\n ></s-switch>\n </ng-container>\n\n <ng-template #interceptedSwitch>\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n aria-checked=\"false\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <s-switch\n class=\"sdc-switch__inner\"\n [inputId]=\"controlId\"\n [inputName]=\"identity.name\"\n [readonly]=\"switchReadonly\"\n [trueLabel]=\"trueLabelText\"\n [falseLabel]=\"falseLabelText\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n ></s-switch>\n </div>\n </ng-template>\n\n <small\n *ngIf=\"messageKey()\"\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}.sdc-switch .sdc-switch__inner{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SwitchModule }, { kind: "component", type: i4.SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "inputName", "disabled", "value"], outputs: ["valueChanged"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
128
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwitchComponent, isStandalone: true, selector: "sdc-switch", inputs: { infoTooltip: "infoTooltip", infoTooltipPosition: "infoTooltipPosition", infoTooltipEvent: "infoTooltipEvent", trueLabel: "trueLabel", falseLabel: "falseLabel", readonly: "readonly", disabled: "disabled", ariaLabel: "ariaLabel", interceptChange: "interceptChange" }, outputs: { change: "onChange", changeRequest: "onChangeRequest" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n @if (!interceptChange) {\n <s-switch\n class=\"sdc-switch__control\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n [inputId]=\"controlId\"\n [inputName]=\"identity.name\"\n [readonly]=\"readonly\"\n [trueLabel]=\"trueLabelText\"\n [falseLabel]=\"falseLabelText\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (ngModelChange)=\"onInnerChange($event)\"\n (blur)=\"onBlur()\"\n ></s-switch>\n } @else {\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <s-switch\n class=\"sdc-switch__inner\"\n [inputId]=\"controlId\"\n [inputName]=\"identity.name\"\n [readonly]=\"switchReadonly\"\n [trueLabel]=\"trueLabelText\"\n [falseLabel]=\"falseLabelText\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n ></s-switch>\n </div>\n }\n\n\n @if (messageKey()) {\n <small\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}.sdc-switch .sdc-switch__inner{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SwitchModule }, { kind: "component", type: i4.SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "inputName", "disabled", "value"], outputs: ["valueChanged"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
129
129
  }
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, decorators: [{
131
131
  type: Component,
132
- args: [{ selector: 'sdc-switch', standalone: true, imports: [CommonModule, FormsModule, SwitchModule, TooltipComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n <div class=\"sdc-switch__label-row\" *ngIf=\"labelKey() || hasTooltip\">\n <label\n *ngIf=\"labelKey()\"\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n <span *ngIf=\"required\" class=\"required-field\" aria-hidden=\"true\">*</span>\n <span *ngIf=\"required\" class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n </span>\n </label>\n\n <sdc-tooltip\n *ngIf=\"hasTooltip\"\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n </div>\n\n <ng-container *ngIf=\"!interceptChange; else interceptedSwitch\">\n <s-switch\n class=\"sdc-switch__control\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n [inputId]=\"controlId\"\n [inputName]=\"identity.name\"\n [readonly]=\"readonly\"\n [trueLabel]=\"trueLabelText\"\n [falseLabel]=\"falseLabelText\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (ngModelChange)=\"onInnerChange($event)\"\n (blur)=\"onBlur()\"\n ></s-switch>\n </ng-container>\n\n <ng-template #interceptedSwitch>\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n aria-checked=\"false\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <s-switch\n class=\"sdc-switch__inner\"\n [inputId]=\"controlId\"\n [inputName]=\"identity.name\"\n [readonly]=\"switchReadonly\"\n [trueLabel]=\"trueLabelText\"\n [falseLabel]=\"falseLabelText\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n ></s-switch>\n </div>\n </ng-template>\n\n <small\n *ngIf=\"messageKey()\"\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}.sdc-switch .sdc-switch__inner{pointer-events:none}\n"] }]
132
+ args: [{ selector: 'sdc-switch', standalone: true, imports: [CommonModule, FormsModule, SwitchModule, TooltipComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n @if (!interceptChange) {\n <s-switch\n class=\"sdc-switch__control\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n [inputId]=\"controlId\"\n [inputName]=\"identity.name\"\n [readonly]=\"readonly\"\n [trueLabel]=\"trueLabelText\"\n [falseLabel]=\"falseLabelText\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (ngModelChange)=\"onInnerChange($event)\"\n (blur)=\"onBlur()\"\n ></s-switch>\n } @else {\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <s-switch\n class=\"sdc-switch__inner\"\n [inputId]=\"controlId\"\n [inputName]=\"identity.name\"\n [readonly]=\"switchReadonly\"\n [trueLabel]=\"trueLabelText\"\n [falseLabel]=\"falseLabelText\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n ></s-switch>\n </div>\n }\n\n\n @if (messageKey()) {\n <small\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}.sdc-switch .sdc-switch__inner{pointer-events:none}\n"] }]
133
133
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }], propDecorators: { infoTooltip: [{
134
134
  type: Input
135
135
  }], infoTooltipPosition: [{
@@ -155,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
155
155
  type: Output,
156
156
  args: ['onChangeRequest']
157
157
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBWWhFLE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQXdCO0lBcUJ4QztJQUNBO0lBckJWLFdBQVcsR0FBa0IsSUFBSSxDQUFDO0lBQ2xDLG1CQUFtQixHQUFvQixPQUFP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QUFpQixDQUFDLFFBQVEsYUFDOUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztxSEFHL0YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNZLFFBQVE7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVjLE1BQU07c0JBQXpCLE1BQU07dUJBQUMsVUFBVTtnQkFDUyxhQUFhO3NCQUF2QyxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTd2l0Y2hNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3N3aXRjaCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBTV0lUQ0hfREVGQVVMVF9GQUxTRV9MQUJFTF9LRVksIFNXSVRDSF9ERUZBVUxUX1RSVUVfTEFCRUxfS0VZIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvc3dpdGNoLmNvbnN0JztcbmltcG9ydCB7IElucHV0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9pbnB1dHMuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHsgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3Rvb2x0aXAudHlwZSc7XG5pbXBvcnQgeyBuZXh0U2VxdWVudGlhbElkIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pZC51dGlsJztcbmltcG9ydCB7IHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQsIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc3dpdGNoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVG9vbHRpcENvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3aXRjaENvbXBvbmVudCksIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENvbXBvbmVudCBleHRlbmRzIElucHV0c0NvbXBvbmVudDxib29sZWFuPiB7XG4gIEBJbnB1dCgpIGluZm9Ub29sdGlwOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBFdmVudDogVG9vbHRpcEV2ZW50ID0gJ2JvdGgnO1xuXG4gIEBJbnB1dCgpIHRydWVMYWJlbCA9IFNXSVRDSF9ERUZBVUxUX1RSVUVfTEFCRUxfS0VZO1xuICBASW5wdXQoKSBmYWxzZUxhYmVsID0gU1dJVENIX0RFRkFVTFRfRkFMU0VfTEFCRUxfS0VZO1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBvdmVycmlkZSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGludGVyY2VwdENoYW5nZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoJ29uQ2hhbmdlJykgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdvbkNoYW5nZVJlcXVlc3QnKSBjaGFuZ2VSZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2VuZXJhdGVkSWQgPSBuZXh0U2VxdWVudGlhbElkKCdzZGMtc3dpdGNoJyk7XG4gIHByaXZhdGUgY29udHJvbERpc2FibGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZT8ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsOiBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSAhIXZhbDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbERpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBjb250cm9sSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eS5pZCA/PyB0aGlzLmdlbmVyYXRlZElkO1xuICB9XG5cbiAgZ2V0IGxhYmVsSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sSWR9LWxhYmVsYDtcbiAgfVxuXG4gIGdldCBtZXNzYWdlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sSWR9LWVycm9yYDtcbiAgfVxuXG4gIGdldCBkZXNjcmliZWRCeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlS2V5KCkgPyB0aGlzLm1lc3NhZ2VJZCA6IG51bGw7XG4gIH1cblxuICBnZXQgY29tcHV0ZWREaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmNvbnRyb2xEaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBoYXNUb29sdGlwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaW5mb1Rvb2x0aXBUZXh0O1xuICB9XG5cbiAgZ2V0IHN3aXRjaFJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5IHx8IHRoaXMuaW50ZXJjZXB0Q2hhbmdlO1xuICB9XG5cbiAgZ2V0IHN3aXRjaFRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5ID8gLTEgOiAwO1xuICB9XG5cbiAgZ2V0IGluZm9Ub29sdGlwVGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuaW5mb1Rvb2x0aXApO1xuICB9XG5cbiAgZ2V0IHRydWVMYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLnRydWVMYWJlbCk7XG4gIH1cblxuICBnZXQgZmFsc2VMYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLmZhbHNlTGFiZWwpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkQXJpYUxhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGN1c3RvbUFyaWFMYWJlbCA9IHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLmFyaWFMYWJlbCk7XG5cbiAgICBpZiAoY3VzdG9tQXJpYUxhYmVsKSB7XG4gICAgICByZXR1cm4gY3VzdG9tQXJpYUxhYmVsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxhYmVsS2V5KCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFN3aXRjaEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkQXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRBcmlhTGFiZWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxhYmVsS2V5KCkgPyB0aGlzLmxhYmVsSWQgOiBudWxsO1xuICB9XG5cbiAgZ2V0IHN3aXRjaEFyaWFDaGVja2VkKCk6ICd0cnVlJyB8ICdmYWxzZScge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgfVxuXG4gIG9uSW5uZXJDaGFuZ2UobmV4dDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY29tbWl0VmFsdWUoISFuZXh0KTtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25JbnRlcmNlcHRUb2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmNvbXB1dGVkRGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlUmVxdWVzdC5lbWl0KCF0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uSW50ZXJjZXB0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdFbnRlcicgJiYgZXZlbnQua2V5ICE9PSAnICcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uSW50ZXJjZXB0VG9nZ2xlKGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTd2l0Y2hBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMudmFsdWUgPyB0aGlzLnRydWVMYWJlbFRleHQgOiB0aGlzLmZhbHNlTGFiZWxUZXh0O1xuICAgIGNvbnN0IHRvZ2dsZUxhYmVsID0gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQoXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICBudWxsLFxuICAgICAgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuc3dpdGNoX3RvZ2dsZSdcbiAgICApO1xuXG4gICAgcmV0dXJuIGAke3RvZ2dsZUxhYmVsfTogJHtzdGF0ZX1gO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaCBmaWVsZC1ib3hcIiBbbmdTdHlsZV09XCJnZXRTdHlsZXMoKVwiPlxuICA8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWwtcm93XCIgKm5nSWY9XCJsYWJlbEtleSgpIHx8IGhhc1Rvb2x0aXBcIj5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0lmPVwibGFiZWxLZXkoKVwiXG4gICAgICBbYXR0ci5pZF09XCJsYWJlbElkXCJcbiAgICAgIFthdHRyLmZvcl09XCJpbnRlcmNlcHRDaGFuZ2UgPyBudWxsIDogY29udHJvbElkXCJcbiAgICAgIGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWxcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWwtdGV4dFwiPlxuICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cInJlcXVpcmVkLWZpZWxkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJyZXF1aXJlZFwiIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgIHt7ICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LnJlcXVpcmVkX2ZpZWxkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cblxuICAgIDxzZGMtdG9vbHRpcFxuICAgICAgKm5nSWY9XCJoYXNUb29sdGlwXCJcbiAgICAgIGNsYXNzPVwic2RjLXN3aXRjaF9faW5mby10b29sdGlwLXdyYXBcIlxuICAgICAgW3BUb29sdGlwXT1cImluZm9Ub29sdGlwVGV4dFwiXG4gICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImluZm9Ub29sdGlwUG9zaXRpb25cIlxuICAgICAgW3Rvb2x0aXBFdmVudF09XCJpbmZvVG9vbHRpcEV2ZW50XCJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICA+XG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZSBzZGMtc3dpdGNoX19pbmZvLXRvb2x0aXAtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICA8L3NkYy10b29sdGlwPlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWludGVyY2VwdENoYW5nZTsgZWxzZSBpbnRlcmNlcHRlZFN3aXRjaFwiPlxuICAgIDxzLXN3aXRjaFxuICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19jb250cm9sXCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgW2lucHV0SWRdPVwiY29udHJvbElkXCJcbiAgICAgIFtpbnB1dE5hbWVdPVwiaWRlbnRpdHkubmFtZVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3RydWVMYWJlbF09XCJ0cnVlTGFiZWxUZXh0XCJcbiAgICAgIFtmYWxzZUxhYmVsXT1cImZhbHNlTGFiZWxUZXh0XCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZWRBcmlhTGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInJlc29sdmVkQXJpYUxhYmVsbGVkQnlcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZGVzY3JpYmVkQnlcIlxuICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInN3aXRjaEFyaWFDaGVja2VkXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uSW5uZXJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgPjwvcy1zd2l0Y2g+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjaW50ZXJjZXB0ZWRTd2l0Y2g+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19jb250cm9sIHNkYy1zd2l0Y2hfX2NvbnRyb2wtLWludGVyY2VwdFwiXG4gICAgICBbY2xhc3Muc2RjLXN3aXRjaF9fY29udHJvbC0taW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1kaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgICAgYXJpYS1jaGVja2VkPVwiZmFsc2VcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwic3dpdGNoVGFiSW5kZXhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwicmVzb2x2ZWRBcmlhTGFiZWxsZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3dpdGNoQXJpYUNoZWNrZWRcIlxuICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkIHx8IHJlYWRvbmx5ID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXNjcmliZWRCeVwiXG4gICAgICAoY2xpY2spPVwib25JbnRlcmNlcHRUb2dnbGUoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bik9XCJvbkludGVyY2VwdEtleWRvd24oJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgPlxuICAgICAgPHMtc3dpdGNoXG4gICAgICAgIGNsYXNzPVwic2RjLXN3aXRjaF9faW5uZXJcIlxuICAgICAgICBbaW5wdXRJZF09XCJjb250cm9sSWRcIlxuICAgICAgICBbaW5wdXROYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgICAgICBbcmVhZG9ubHldPVwic3dpdGNoUmVhZG9ubHlcIlxuICAgICAgICBbdHJ1ZUxhYmVsXT1cInRydWVMYWJlbFRleHRcIlxuICAgICAgICBbZmFsc2VMYWJlbF09XCJmYWxzZUxhYmVsVGV4dFwiXG4gICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIndHJ1ZSdcIlxuICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInN3aXRjaEFyaWFDaGVja2VkXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICA+PC9zLXN3aXRjaD5cbiAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPHNtYWxsXG4gICAgKm5nSWY9XCJtZXNzYWdlS2V5KClcIlxuICAgIFtpZF09XCJtZXNzYWdlSWRcIlxuICAgIFtuZ0NsYXNzXT1cImdldEludmFsaWRNZXNzYWdlQ2xhc3MoKVwiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICA+XG4gICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG48L2Rpdj5cbiJdfQ==
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBWWhFLE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQXdCO0lBcUJ4QztJQUNBO0lBckJWLFdBQVcsR0FBa0IsSUFBSSxDQUFDO0lBQ2xDLG1CQUFtQixHQUFvQixPQUFP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QUFpQixDQUFDLFFBQVEsYUFDOUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztxSEFHL0YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNZLFFBQVE7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVjLE1BQU07c0JBQXpCLE1BQU07dUJBQUMsVUFBVTtnQkFDUyxhQUFhO3NCQUF2QyxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTd2l0Y2hNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3N3aXRjaCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBTV0lUQ0hfREVGQVVMVF9GQUxTRV9MQUJFTF9LRVksIFNXSVRDSF9ERUZBVUxUX1RSVUVfTEFCRUxfS0VZIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvc3dpdGNoLmNvbnN0JztcbmltcG9ydCB7IElucHV0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9pbnB1dHMuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHsgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3Rvb2x0aXAudHlwZSc7XG5pbXBvcnQgeyBuZXh0U2VxdWVudGlhbElkIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pZC51dGlsJztcbmltcG9ydCB7IHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQsIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc3dpdGNoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVG9vbHRpcENvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3aXRjaENvbXBvbmVudCksIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENvbXBvbmVudCBleHRlbmRzIElucHV0c0NvbXBvbmVudDxib29sZWFuPiB7XG4gIEBJbnB1dCgpIGluZm9Ub29sdGlwOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBFdmVudDogVG9vbHRpcEV2ZW50ID0gJ2JvdGgnO1xuXG4gIEBJbnB1dCgpIHRydWVMYWJlbCA9IFNXSVRDSF9ERUZBVUxUX1RSVUVfTEFCRUxfS0VZO1xuICBASW5wdXQoKSBmYWxzZUxhYmVsID0gU1dJVENIX0RFRkFVTFRfRkFMU0VfTEFCRUxfS0VZO1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBvdmVycmlkZSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGludGVyY2VwdENoYW5nZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoJ29uQ2hhbmdlJykgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdvbkNoYW5nZVJlcXVlc3QnKSBjaGFuZ2VSZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2VuZXJhdGVkSWQgPSBuZXh0U2VxdWVudGlhbElkKCdzZGMtc3dpdGNoJyk7XG4gIHByaXZhdGUgY29udHJvbERpc2FibGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZT8ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsOiBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSAhIXZhbDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbERpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBjb250cm9sSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eS5pZCA/PyB0aGlzLmdlbmVyYXRlZElkO1xuICB9XG5cbiAgZ2V0IGxhYmVsSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sSWR9LWxhYmVsYDtcbiAgfVxuXG4gIGdldCBtZXNzYWdlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sSWR9LWVycm9yYDtcbiAgfVxuXG4gIGdldCBkZXNjcmliZWRCeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlS2V5KCkgPyB0aGlzLm1lc3NhZ2VJZCA6IG51bGw7XG4gIH1cblxuICBnZXQgY29tcHV0ZWREaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmNvbnRyb2xEaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBoYXNUb29sdGlwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaW5mb1Rvb2x0aXBUZXh0O1xuICB9XG5cbiAgZ2V0IHN3aXRjaFJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5IHx8IHRoaXMuaW50ZXJjZXB0Q2hhbmdlO1xuICB9XG5cbiAgZ2V0IHN3aXRjaFRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5ID8gLTEgOiAwO1xuICB9XG5cbiAgZ2V0IGluZm9Ub29sdGlwVGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuaW5mb1Rvb2x0aXApO1xuICB9XG5cbiAgZ2V0IHRydWVMYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLnRydWVMYWJlbCk7XG4gIH1cblxuICBnZXQgZmFsc2VMYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLmZhbHNlTGFiZWwpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkQXJpYUxhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGN1c3RvbUFyaWFMYWJlbCA9IHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLmFyaWFMYWJlbCk7XG5cbiAgICBpZiAoY3VzdG9tQXJpYUxhYmVsKSB7XG4gICAgICByZXR1cm4gY3VzdG9tQXJpYUxhYmVsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxhYmVsS2V5KCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFN3aXRjaEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkQXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRBcmlhTGFiZWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxhYmVsS2V5KCkgPyB0aGlzLmxhYmVsSWQgOiBudWxsO1xuICB9XG5cbiAgZ2V0IHN3aXRjaEFyaWFDaGVja2VkKCk6ICd0cnVlJyB8ICdmYWxzZScge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgfVxuXG4gIG9uSW5uZXJDaGFuZ2UobmV4dDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY29tbWl0VmFsdWUoISFuZXh0KTtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25JbnRlcmNlcHRUb2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmNvbXB1dGVkRGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlUmVxdWVzdC5lbWl0KCF0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uSW50ZXJjZXB0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdFbnRlcicgJiYgZXZlbnQua2V5ICE9PSAnICcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uSW50ZXJjZXB0VG9nZ2xlKGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTd2l0Y2hBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMudmFsdWUgPyB0aGlzLnRydWVMYWJlbFRleHQgOiB0aGlzLmZhbHNlTGFiZWxUZXh0O1xuICAgIGNvbnN0IHRvZ2dsZUxhYmVsID0gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQoXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICBudWxsLFxuICAgICAgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuc3dpdGNoX3RvZ2dsZSdcbiAgICApO1xuXG4gICAgcmV0dXJuIGAke3RvZ2dsZUxhYmVsfTogJHtzdGF0ZX1gO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaCBmaWVsZC1ib3hcIiBbbmdTdHlsZV09XCJnZXRTdHlsZXMoKVwiPlxuICBAaWYgKGxhYmVsS2V5KCkgfHwgaGFzVG9vbHRpcCkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtc3dpdGNoX19sYWJlbC1yb3dcIj5cbiAgICAgIEBpZiAobGFiZWxLZXkoKSkge1xuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBbYXR0ci5pZF09XCJsYWJlbElkXCJcbiAgICAgICAgICBbYXR0ci5mb3JdPVwiaW50ZXJjZXB0Q2hhbmdlID8gbnVsbCA6IGNvbnRyb2xJZFwiXG4gICAgICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWwtdGV4dFwiPlxuICAgICAgICAgICAge3sgbGFiZWxLZXkoKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLWZpZWxkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkucmVxdWlyZWRfZmllbGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG4gICAgICBAaWYgKGhhc1Rvb2x0aXApIHtcbiAgICAgICAgPHNkYy10b29sdGlwXG4gICAgICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19pbmZvLXRvb2x0aXAtd3JhcFwiXG4gICAgICAgICAgW3BUb29sdGlwXT1cImluZm9Ub29sdGlwVGV4dFwiXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJpbmZvVG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICAgICBbdG9vbHRpcEV2ZW50XT1cImluZm9Ub29sdGlwRXZlbnRcIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIChrZXlkb3duKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIHNkYy1zd2l0Y2hfX2luZm8tdG9vbHRpcC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L3NkYy10b29sdGlwPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmICghaW50ZXJjZXB0Q2hhbmdlKSB7XG4gICAgPHMtc3dpdGNoXG4gICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2NvbnRyb2xcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICBbY2xhc3Muc2RjLXN3aXRjaF9fY29udHJvbC0tZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICBbaW5wdXRJZF09XCJjb250cm9sSWRcIlxuICAgICAgW2lucHV0TmFtZV09XCJpZGVudGl0eS5uYW1lXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbdHJ1ZUxhYmVsXT1cInRydWVMYWJlbFRleHRcIlxuICAgICAgW2ZhbHNlTGFiZWxdPVwiZmFsc2VMYWJlbFRleHRcIlxuICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwicmVzb2x2ZWRBcmlhTGFiZWxsZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXNjcmliZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3dpdGNoQXJpYUNoZWNrZWRcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Jbm5lckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICA+PC9zLXN3aXRjaD5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19jb250cm9sIHNkYy1zd2l0Y2hfX2NvbnRyb2wtLWludGVyY2VwdFwiXG4gICAgICBbY2xhc3Muc2RjLXN3aXRjaF9fY29udHJvbC0taW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1kaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwic3dpdGNoVGFiSW5kZXhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwicmVzb2x2ZWRBcmlhTGFiZWxsZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3dpdGNoQXJpYUNoZWNrZWRcIlxuICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkIHx8IHJlYWRvbmx5ID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXNjcmliZWRCeVwiXG4gICAgICAoY2xpY2spPVwib25JbnRlcmNlcHRUb2dnbGUoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bik9XCJvbkludGVyY2VwdEtleWRvd24oJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICA+XG4gICAgICA8cy1zd2l0Y2hcbiAgICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19pbm5lclwiXG4gICAgICAgIFtpbnB1dElkXT1cImNvbnRyb2xJZFwiXG4gICAgICAgIFtpbnB1dE5hbWVdPVwiaWRlbnRpdHkubmFtZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJzd2l0Y2hSZWFkb25seVwiXG4gICAgICAgIFt0cnVlTGFiZWxdPVwidHJ1ZUxhYmVsVGV4dFwiXG4gICAgICAgIFtmYWxzZUxhYmVsXT1cImZhbHNlTGFiZWxUZXh0XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIid0cnVlJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJzd2l0Y2hBcmlhQ2hlY2tlZFwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICAgID48L3Mtc3dpdGNoPlxuICAgIDwvZGl2PlxuICB9XG5cblxuICBAaWYgKG1lc3NhZ2VLZXkoKSkge1xuICAgIDxzbWFsbFxuICAgICAgW2lkXT1cIm1lc3NhZ2VJZFwiXG4gICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICA+XG4gICAgICB7eyBtZXNzYWdlS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NtYWxsPlxuICB9XG48L2Rpdj5cbiJdfQ==