@bravobit/bb-foundation 0.44.7 → 0.45.1

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 (170) hide show
  1. package/dialog/lib/dialog-container/dialog-container.component.d.ts +8 -12
  2. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +6 -14
  3. package/dialog/lib/dialog.interfaces.d.ts +1 -2
  4. package/dialog/lib/dialog.ref.d.ts +2 -2
  5. package/esm2022/auth/lib/auth.interceptor.mjs +4 -4
  6. package/esm2022/auth/lib/auth.module.mjs +5 -5
  7. package/esm2022/auth/lib/auth.service.mjs +4 -4
  8. package/esm2022/auth/lib/directives/authenticated.directive.mjs +4 -4
  9. package/esm2022/collections/lib/collections.module.mjs +5 -5
  10. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +4 -4
  11. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +4 -4
  12. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +4 -4
  13. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +4 -4
  14. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +4 -4
  15. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +4 -4
  16. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +4 -4
  17. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +4 -4
  18. package/esm2022/collections/lib/directives/collections-data.directive.mjs +4 -4
  19. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +4 -4
  20. package/esm2022/collections/lib/directives/collections-error.directive.mjs +4 -4
  21. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +4 -4
  22. package/esm2022/collections/lib/directives/collections-item.directive.mjs +4 -4
  23. package/esm2022/combobox/combobox/combobox-container.directive.mjs +4 -4
  24. package/esm2022/combobox/combobox/combobox.component.mjs +4 -4
  25. package/esm2022/combobox/combobox-label.directive.mjs +4 -4
  26. package/esm2022/combobox/combobox-option.directive.mjs +4 -4
  27. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +4 -4
  28. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +4 -4
  29. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +4 -4
  30. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +4 -4
  31. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +4 -4
  32. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +4 -4
  33. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +4 -4
  34. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +4 -4
  35. package/esm2022/dashboard/lib/dashboard.module.mjs +5 -5
  36. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +4 -4
  37. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +4 -4
  38. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +22 -56
  39. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +4 -4
  40. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +4 -4
  41. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +5 -5
  42. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +24 -67
  43. package/esm2022/dialog/lib/dialog.insertion.mjs +4 -4
  44. package/esm2022/dialog/lib/dialog.interfaces.mjs +2 -3
  45. package/esm2022/dialog/lib/dialog.module.mjs +5 -5
  46. package/esm2022/dialog/lib/dialog.ref.mjs +3 -7
  47. package/esm2022/dialog/lib/dialog.service.mjs +8 -5
  48. package/esm2022/dialog/lib/directives/confirm.directive.mjs +4 -4
  49. package/esm2022/elements/lib/avatar/avatar.component.mjs +4 -4
  50. package/esm2022/elements/lib/button/button.component.mjs +7 -7
  51. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +4 -4
  52. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +4 -4
  53. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +4 -4
  54. package/esm2022/elements/lib/directives/addon.directive.mjs +7 -7
  55. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +4 -4
  56. package/esm2022/elements/lib/directives/file-drop.directive.mjs +4 -4
  57. package/esm2022/elements/lib/directives/form-submit.directive.mjs +4 -4
  58. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +4 -4
  59. package/esm2022/elements/lib/directives/image-upload.directive.mjs +4 -4
  60. package/esm2022/elements/lib/directives/input.directive.mjs +4 -4
  61. package/esm2022/elements/lib/elements.module.mjs +5 -5
  62. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +4 -4
  63. package/esm2022/elements/lib/form-control/form-control.component.mjs +4 -4
  64. package/esm2022/elements/lib/form-error/form-error.component.mjs +4 -4
  65. package/esm2022/elements/lib/form-group/form-group.component.mjs +4 -4
  66. package/esm2022/elements/lib/icon/icon.component.mjs +4 -4
  67. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +4 -4
  68. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +4 -4
  69. package/esm2022/elements/lib/pipes/date.pipe.mjs +4 -4
  70. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +4 -4
  71. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +4 -4
  72. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +4 -4
  73. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +4 -4
  74. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +4 -4
  75. package/esm2022/elements/lib/spinner/spinner.component.mjs +4 -4
  76. package/esm2022/http/lib/http.module.mjs +5 -5
  77. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +4 -4
  78. package/esm2022/http/lib/interceptors/error.interceptor.mjs +4 -4
  79. package/esm2022/lib/core/functions/route-cache.utils.mjs +23 -0
  80. package/esm2022/lib/core/services/exif.service.mjs +4 -4
  81. package/esm2022/lib/core/services/file-loader.service.mjs +4 -4
  82. package/esm2022/lib/core/services/files.service.mjs +4 -4
  83. package/esm2022/lib/core/services/image-converter.service.mjs +4 -4
  84. package/esm2022/lib/core/services/languages.service.mjs +4 -4
  85. package/esm2022/lib/core/services/network.service.mjs +4 -4
  86. package/esm2022/lib/core/services/patch.service.mjs +4 -4
  87. package/esm2022/localize/lib/localize.module.mjs +5 -5
  88. package/esm2022/localize/lib/localize.pipe.mjs +4 -4
  89. package/esm2022/localize/lib/localize.service.mjs +4 -4
  90. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +4 -4
  91. package/esm2022/localize/lib/views/localize-template.directive.mjs +4 -4
  92. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +4 -4
  93. package/esm2022/masking/lib/directives/date-mask.directive.mjs +4 -4
  94. package/esm2022/masking/lib/directives/input-mask.directive.mjs +4 -4
  95. package/esm2022/masking/lib/masking.module.mjs +5 -5
  96. package/esm2022/masking/lib/masking.service.mjs +4 -4
  97. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +4 -4
  98. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +4 -4
  99. package/esm2022/notifications/lib/notifications.module.mjs +5 -5
  100. package/esm2022/notifications/lib/notifications.service.mjs +4 -4
  101. package/esm2022/permissions/lib/directives/permission.directive.mjs +4 -4
  102. package/esm2022/permissions/lib/permissions.module.mjs +5 -5
  103. package/esm2022/permissions/lib/permissions.service.mjs +4 -4
  104. package/esm2022/public_api.mjs +2 -1
  105. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +4 -4
  106. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +4 -4
  107. package/esm2022/recaptcha/lib/recaptcha.module.mjs +5 -5
  108. package/esm2022/select/lib/select/select.component.mjs +4 -4
  109. package/esm2022/select/lib/select-label.directive.mjs +4 -4
  110. package/esm2022/select/lib/select-multi-label.directive.mjs +4 -4
  111. package/esm2022/select/lib/select-option-group.directive.mjs +4 -4
  112. package/esm2022/select/lib/select-option.directive.mjs +4 -4
  113. package/esm2022/select/lib/select.module.mjs +5 -5
  114. package/esm2022/storage/lib/storage.service.mjs +4 -4
  115. package/esm2022/table/lib/components/table/table.component.mjs +10 -10
  116. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +4 -4
  117. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +4 -4
  118. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +4 -4
  119. package/esm2022/table/lib/table.module.mjs +5 -5
  120. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +4 -4
  121. package/esm2022/tooltip/lib/tooltip.directive.mjs +4 -4
  122. package/esm2022/tooltip/lib/tooltip.module.mjs +5 -5
  123. package/esm2022/utils/lib/directives/autosize.directive.mjs +4 -4
  124. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +4 -4
  125. package/esm2022/utils/lib/directives/focus.directive.mjs +4 -4
  126. package/esm2022/utils/lib/directives/template.directive.mjs +4 -4
  127. package/esm2022/utils/lib/utils.module.mjs +5 -5
  128. package/fesm2022/bravobit-bb-foundation-auth.mjs +13 -13
  129. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  130. package/fesm2022/bravobit-bb-foundation-collections.mjs +43 -43
  131. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  132. package/fesm2022/bravobit-bb-foundation-combobox.mjs +15 -15
  133. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  134. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +25 -25
  135. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  136. package/fesm2022/bravobit-bb-foundation-dialog.mjs +78 -208
  137. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  138. package/fesm2022/bravobit-bb-foundation-elements.mjs +88 -88
  139. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  140. package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
  141. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  142. package/fesm2022/bravobit-bb-foundation-localize.mjs +16 -16
  143. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  144. package/fesm2022/bravobit-bb-foundation-masking.mjs +16 -16
  145. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  146. package/fesm2022/bravobit-bb-foundation-notifications.mjs +13 -13
  147. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  148. package/fesm2022/bravobit-bb-foundation-permissions.mjs +10 -10
  149. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  150. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +10 -10
  151. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  152. package/fesm2022/bravobit-bb-foundation-select.mjs +19 -19
  153. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  154. package/fesm2022/bravobit-bb-foundation-storage.mjs +3 -3
  155. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  156. package/fesm2022/bravobit-bb-foundation-table.mjs +22 -22
  157. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  158. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +10 -10
  159. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  160. package/fesm2022/bravobit-bb-foundation-utils.mjs +16 -16
  161. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  162. package/fesm2022/bravobit-bb-foundation.mjs +44 -23
  163. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  164. package/lib/core/functions/route-cache.utils.d.ts +10 -0
  165. package/package.json +20 -20
  166. package/public_api.d.ts +1 -0
  167. package/dialog/lib/dialog-container/dialog-container.animations.d.ts +0 -1
  168. package/dialog/lib/dialog-overlay/dialog-overlay.animations.d.ts +0 -1
  169. package/esm2022/dialog/lib/dialog-container/dialog-container.animations.mjs +0 -29
  170. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.animations.mjs +0 -26
@@ -10,10 +10,10 @@ import { BbLocalize } from '@bravobit/bb-foundation/localize';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/forms";
12
12
  export class BbTableColumnDef {
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTableColumnDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: BbTableColumnDef, isStandalone: true, selector: "[bbTableColumnDef]", ngImport: i0 });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTableColumnDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbTableColumnDef, isStandalone: true, selector: "[bbTableColumnDef]", ngImport: i0 });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTableColumnDef, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTableColumnDef, decorators: [{
17
17
  type: Directive,
18
18
  args: [{
19
19
  selector: '[bbTableColumnDef]',
@@ -21,10 +21,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
21
21
  }]
22
22
  }] });
23
23
  export class BbTableRowDef {
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTableRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: BbTableRowDef, isStandalone: true, selector: "[bbTableRowDef]", ngImport: i0 });
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTableRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbTableRowDef, isStandalone: true, selector: "[bbTableRowDef]", ngImport: i0 });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTableRowDef, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTableRowDef, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  selector: '[bbTableRowDef]',
@@ -170,10 +170,10 @@ export class BbTable {
170
170
  getFormChanges() {
171
171
  return merge(this.form.valueChanges, defer(() => of(this.form?.value)));
172
172
  }
173
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: BbTable, isStandalone: true, selector: "bb-table", inputs: { identifier: "identifier", dataSource: "dataSource", queryFields: "queryFields", sortingStrategy: "sortingStrategy", header: "header", footer: "footer", sizes: "sizes" }, host: { classAttribute: "bb-table" }, queries: [{ propertyName: "tableRowTemplate", first: true, predicate: BbTableRowDef, descendants: true, read: TemplateRef }, { propertyName: "tableColumnTemplates", predicate: BbTableColumnDef, read: TemplateRef }], ngImport: i0, template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n@if ((header === true ? headerTemplate : header); as template) {\n <header class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </header>\n}\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n @if (isLoading$ | async) {\n <div class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n }\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody>\n @if (data$ | async; as data) {\n @switch (data?.state) {\n @case ('success') {\n @if (!!tableRowTemplate) {\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data ?? []}\"></ng-container>\n } @else {\n @for (item of data?.result?.data; track (identifier ? item[identifier] : $index)) {\n <tr>\n @for (template of tableColumnTemplates; track $index) {\n <ng-container\n *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n }\n </tr>\n }\n }\n }\n @case ('empty') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_datasource') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_not_found') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_server') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_down') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @default {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n }\n\n } @else {\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n\n@if ((footer === true ? footerTemplate : footer); as template) {\n <footer class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </footer>\n}\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n @if (queryControl?.value?.length <= 0) {\n <bb-icon bbSuffix\n src=\"material:search\">\n </bb-icon>\n } @else {\n <button (click)=\"queryControl?.patchValue('')\"\n bbSuffix\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n }\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n @if (sizes?.length > 1) {\n <bb-form-control>\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n @for (item of sizes; track item) {\n <option [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n }\n </select>\n </bb-form-control>\n }\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<ng-template #errorTemplate\n let-state=\"state\"\n let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 41\"\n width=\"4rem\"\n height=\"2.5625rem\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n @if (state; as stateLabel) {\n <span>{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n }\n @if (status; as statusCode) {\n <span class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n }\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;background-color:#fff;justify-content:flex-end;padding:1.5rem 1.5rem .75rem;border-top-left-radius:.25rem;border-bottom:1px solid #d8d8d8;border-top-right-radius:.25rem}.bb-table-top-actions>*{margin-left:0;margin-bottom:.75rem}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:4rem;display:flex;overflow-x:auto;padding:0 1.5rem;align-items:center;background-color:#fff;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{display:flex;color:#3d464d;padding:1.5rem;line-height:1.2;font-weight:400;text-align:center;font-size:.875rem;min-height:8.75rem;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:.75rem}.bb-table-template-content-code{opacity:.5;margin-top:.25rem;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;display:block;height:.25rem;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:.25rem;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:.75rem;margin-bottom:.75rem}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "component", type: BbFormControl, selector: "bb-form-control", inputs: ["label", "hint", "grouped", "hideErrors"] }, { kind: "directive", type: BbInput, selector: "input[bbInput],textarea[bbInput],select[bbInput]", inputs: ["required"] }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: BbSuffix, selector: "[bbSuffix]" }, { kind: "component", type: BbTablePager, selector: "bb-table-pager", inputs: ["amountOfButtons", "showArrowButtons", "disabled", "pageNumber", "totalPages"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
173
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbTable, isStandalone: true, selector: "bb-table", inputs: { identifier: "identifier", dataSource: "dataSource", queryFields: "queryFields", sortingStrategy: "sortingStrategy", header: "header", footer: "footer", sizes: "sizes" }, host: { classAttribute: "bb-table" }, queries: [{ propertyName: "tableRowTemplate", first: true, predicate: BbTableRowDef, descendants: true, read: TemplateRef }, { propertyName: "tableColumnTemplates", predicate: BbTableColumnDef, read: TemplateRef }], ngImport: i0, template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n@if ((header === true ? headerTemplate : header); as template) {\n <header class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </header>\n}\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n @if (isLoading$ | async) {\n <div class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n }\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody>\n @if (data$ | async; as data) {\n @switch (data?.state) {\n @case ('success') {\n @if (!!tableRowTemplate) {\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data ?? []}\"></ng-container>\n } @else {\n @for (item of data?.result?.data; track (identifier ? item[identifier] : $index)) {\n <tr>\n @for (template of tableColumnTemplates; track $index) {\n <ng-container\n *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n }\n </tr>\n }\n }\n }\n @case ('empty') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_datasource') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_not_found') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_server') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_down') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @default {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n }\n\n } @else {\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n\n@if ((footer === true ? footerTemplate : footer); as template) {\n <footer class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </footer>\n}\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n @if (queryControl?.value?.length <= 0) {\n <bb-icon bbSuffix\n src=\"material:search\">\n </bb-icon>\n } @else {\n <button (click)=\"queryControl?.patchValue('')\"\n bbSuffix\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n }\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n @if (sizes?.length > 1) {\n <bb-form-control>\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n @for (item of sizes; track item) {\n <option [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n }\n </select>\n </bb-form-control>\n }\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<ng-template #errorTemplate\n let-state=\"state\"\n let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 41\"\n width=\"4rem\"\n height=\"2.5625rem\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n @if (state; as stateLabel) {\n <span>{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n }\n @if (status; as statusCode) {\n <span class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n }\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;background-color:#fff;justify-content:flex-end;padding:1.5rem 1.5rem .75rem;border-top-left-radius:.25rem;border-bottom:1px solid #d8d8d8;border-top-right-radius:.25rem}.bb-table-top-actions>*{margin-left:0;margin-bottom:.75rem}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:4rem;display:flex;overflow-x:auto;padding:0 1.5rem;align-items:center;background-color:#fff;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{display:flex;color:#3d464d;padding:1.5rem;line-height:1.2;font-weight:400;text-align:center;font-size:.875rem;min-height:8.75rem;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:.75rem}.bb-table-template-content-code{opacity:.5;margin-top:.25rem;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;display:block;height:.25rem;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:.25rem;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:.75rem;margin-bottom:.75rem}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "component", type: BbFormControl, selector: "bb-form-control", inputs: ["label", "hint", "grouped", "hideErrors"] }, { kind: "directive", type: BbInput, selector: "input[bbInput],textarea[bbInput],select[bbInput]", inputs: ["required"] }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: BbSuffix, selector: "[bbSuffix]" }, { kind: "component", type: BbTablePager, selector: "bb-table-pager", inputs: ["amountOfButtons", "showArrowButtons", "disabled", "pageNumber", "totalPages"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
175
175
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTable, decorators: [{
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTable, decorators: [{
177
177
  type: Component,
178
178
  args: [{ selector: 'bb-table', host: { 'class': 'bb-table' }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, imports: [NgTemplateOutlet, AsyncPipe, BbLocalize, BbFormControl, BbInput, BbIcon, ReactiveFormsModule, BbSuffix, BbTablePager, BbLocalize], template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n@if ((header === true ? headerTemplate : header); as template) {\n <header class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </header>\n}\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n @if (isLoading$ | async) {\n <div class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n }\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody>\n @if (data$ | async; as data) {\n @switch (data?.state) {\n @case ('success') {\n @if (!!tableRowTemplate) {\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data ?? []}\"></ng-container>\n } @else {\n @for (item of data?.result?.data; track (identifier ? item[identifier] : $index)) {\n <tr>\n @for (template of tableColumnTemplates; track $index) {\n <ng-container\n *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n }\n </tr>\n }\n }\n }\n @case ('empty') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_datasource') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_not_found') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_server') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_down') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @default {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n }\n\n } @else {\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n\n@if ((footer === true ? footerTemplate : footer); as template) {\n <footer class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </footer>\n}\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n @if (queryControl?.value?.length <= 0) {\n <bb-icon bbSuffix\n src=\"material:search\">\n </bb-icon>\n } @else {\n <button (click)=\"queryControl?.patchValue('')\"\n bbSuffix\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n }\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n @if (sizes?.length > 1) {\n <bb-form-control>\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n @for (item of sizes; track item) {\n <option [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n }\n </select>\n </bb-form-control>\n }\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<ng-template #errorTemplate\n let-state=\"state\"\n let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 41\"\n width=\"4rem\"\n height=\"2.5625rem\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n @if (state; as stateLabel) {\n <span>{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n }\n @if (status; as statusCode) {\n <span class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n }\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;background-color:#fff;justify-content:flex-end;padding:1.5rem 1.5rem .75rem;border-top-left-radius:.25rem;border-bottom:1px solid #d8d8d8;border-top-right-radius:.25rem}.bb-table-top-actions>*{margin-left:0;margin-bottom:.75rem}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:4rem;display:flex;overflow-x:auto;padding:0 1.5rem;align-items:center;background-color:#fff;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{display:flex;color:#3d464d;padding:1.5rem;line-height:1.2;font-weight:400;text-align:center;font-size:.875rem;min-height:8.75rem;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:.75rem}.bb-table-template-content-code{opacity:.5;margin-top:.25rem;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;display:block;height:.25rem;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:.25rem;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:.75rem;margin-bottom:.75rem}}\n"] }]
179
179
  }], propDecorators: { tableColumnTemplates: [{
@@ -197,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
197
197
  }], sizes: [{
198
198
  type: Input
199
199
  }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxFQUlMLFdBQVcsRUFDWCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFGLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRS9FLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFhLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7OztBQU01RCxNQUFNLE9BQU8s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QURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmJGb3JtQ29udHJvbCwgQmJJY29uLCBCYklucHV0LCBCYlN1ZmZpeH0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vZWxlbWVudHMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBkZWZlciwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEYXRhU291cmNlUGFnZVJlc3BvbnNlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtEYXRhU291cmNlLCBEYXRhU291cmNlUmVxdWVzdH0gZnJvbSAnLi4vLi4vZGF0YS9kYXRhc291cmNlLmRhdGEnO1xuaW1wb3J0IHtCYlRhYmxlUGFnZXJ9IGZyb20gJy4uL3RhYmxlLXBhZ2VyL3RhYmxlLXBhZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0FzeW5jUGlwZSwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QmJMb2NhbGl6ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYlRhYmxlQ29sdW1uRGVmXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYlRhYmxlQ29sdW1uRGVmIHtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJUYWJsZVJvd0RlZl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJUYWJsZVJvd0RlZiB7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLXRhYmxlJ30sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGUsIEJiTG9jYWxpemUsIEJiRm9ybUNvbnRyb2wsIEJiSW5wdXQsIEJiSWNvbiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQmJTdWZmaXgsIEJiVGFibGVQYWdlciwgQmJMb2NhbGl6ZV1cbn0pXG5leHBvcnQgY2xhc3MgQmJUYWJsZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIENvbnRlbnQuXG4gICAgQENvbnRlbnRDaGlsZHJlbihCYlRhYmxlQ29sdW1uRGVmLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSB0YWJsZUNvbHVtblRlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xuICAgIEBDb250ZW50Q2hpbGQoQmJUYWJsZVJvd0RlZiwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlfSkgdGFibGVSb3dUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgICBASW5wdXQoKSBxdWVyeUZpZWxkczogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSBzb3J0aW5nU3RyYXRlZ3k6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyA9ICdzaW5nbGUnO1xuICAgIEBJbnB1dCgpIGhlYWRlcjogVGVtcGxhdGVSZWY8YW55PiB8IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGZvb3RlcjogVGVtcGxhdGVSZWY8YW55PiB8IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLy8gU2l6ZXMuXG4gICAgcHJpdmF0ZSBfc2l6ZXM6IG51bWJlcltdID0gWzI1LCA1MCwgNzUsIDEwMF07XG5cbiAgICBnZXQgc2l6ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplcztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaXplcyhuZXdWYWx1ZTogbnVtYmVyW10pIHtcbiAgICAgICAgdGhpcy51cGRhdGVTaXplcyhuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gRGF0YS5cbiAgICByZXF1ZXN0OiBEYXRhU291cmNlUmVxdWVzdDtcbiAgICBkYXRhJDogT2JzZXJ2YWJsZTx7IHN0YXRlOiBzdHJpbmcsIHN0YXR1c0NvZGU/OiBudW1iZXIsIHJlc3VsdD86IERhdGFTb3VyY2VQYWdlUmVzcG9uc2UgfT47XG4gICAgaXNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIC8vIEZvcm0uXG4gICAgZm9ybTogRm9ybUdyb3VwO1xuICAgIHF1ZXJ5Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBwcml2YXRlIF9oZWFkZXJDb3VudDogbnVtYmVyID0gMDtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb21wb3NlRm9ybSgpO1xuICAgICAgICB0aGlzLndhdGNoRGF0YUNoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdldCBoZWFkZXJDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlYWRlckNvdW50O1xuICAgIH1cblxuICAgIGdldCBzb3J0Q29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybT8uZ2V0KCdzb3J0JykgYXMgRm9ybUdyb3VwO1xuICAgIH1cblxuICAgIGdldCBwYWdlTnVtYmVyQ29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybT8uZ2V0KCdwYWdlTnVtYmVyJykgYXMgRm9ybUNvbnRyb2w8bnVtYmVyPjtcbiAgICB9XG5cbiAgICBnZXQgcGFnZVNpemVDb250cm9sKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtPy5nZXQoJ3BhZ2VTaXplJykgYXMgRm9ybUNvbnRyb2w8bnVtYmVyPjtcbiAgICB9XG5cbiAgICByZWZyZXNoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0LnVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHNldEhlYWRlckNvdW50KGFtb3VudDogLTEgfCAxKSB7XG4gICAgICAgIHRoaXMuX2hlYWRlckNvdW50ICs9IGFtb3VudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNpemVzKG5ld1ZhbHVlOiBudW1iZXJbXSkge1xuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgc2l6ZXMgaGFzIGF0IGxlYXN0IG9uZSB2YWx1ZS5cbiAgICAgICAgaWYgKG5ld1ZhbHVlLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzZXQgYW4gZW1wdHkgYXJyYXkgYXMgdGhlIHNpemVzLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHRoZSBuZXcgc2l6ZS5cbiAgICAgICAgdGhpcy5fc2l6ZXMgPSBuZXdWYWx1ZTtcblxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBmb3JtIGV4aXN0cyBhbHJlYWR5LlxuICAgICAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgdmFsdWUgaXNcbiAgICAgICAgLy8gaW4gdGhlIG5ldyBzaXplcyBhcnJheS5cbiAgICAgICAgY29uc3QgcGFnZVNpemVDb250cm9sID0gdGhpcy5mb3JtLmdldCgncGFnZVNpemUnKTtcbiAgICAgICAgaWYgKHRoaXMuX3NpemVzLmluY2x1ZGVzKHBhZ2VTaXplQ29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB0aGUgZmlyc3QgdmFsdWUgaW4gdGhlIGFycmF5IGFzXG4gICAgICAgIC8vIHRoZSBuZXcgdmFsdWUuXG4gICAgICAgIGNvbnN0IGZpcnN0VmFsdWUgPSB0aGlzLl9zaXplc1swXTtcbiAgICAgICAgcGFnZVNpemVDb250cm9sLnNldFZhbHVlKGZpcnN0VmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcG9zZUZvcm0oKSB7XG4gICAgICAgIC8vIFNldHVwIHRoZSBmb3JtLlxuICAgICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgICAgIHBhZ2VTaXplOiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPih0aGlzLl9zaXplc1swXSksXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigxKSxcbiAgICAgICAgICAgIHNvcnQ6IG5ldyBGb3JtR3JvdXAoe30pXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2F0Y2hEYXRhQ2hhbmdlcygpIHtcbiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IHJlcXVlc3QuXG4gICAgICAgIHRoaXMucmVxdWVzdCA9IG5ldyBEYXRhU291cmNlUmVxdWVzdCgpO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyQgPSB0aGlzLnJlcXVlc3QubG9hZGluZztcblxuICAgICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhJCA9IG9mKHtzdGF0ZTogJ2Vycm9yX2RhdGFzb3VyY2UnfSkucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5yZXF1ZXN0LnN0b3BMb2FkaW5nKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGFzcyB0aGUgcmVxdWVzdCB0byB0aGUgZGF0YSBzb3VyY2UuXG4gICAgICAgIHRoaXMuZGF0YSQgPSB0aGlzLmRhdGFTb3VyY2UuaGFuZGxlKHRoaXMucmVxdWVzdCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLnJlcXVlc3Quc3RvcExvYWRpbmcoKSksXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3VudCA9IChyZXN1bHQgJiYgcmVzdWx0LmRhdGEgJiYgcmVzdWx0LmRhdGEubGVuZ3RoKSB8fCAwO1xuICAgICAgICAgICAgICAgIGlmIChjb3VudCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7c3RhdGU6ICdlbXB0eScsIHJlc3VsdH07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtzdGF0ZTogJ3N1Y2Nlc3MnLCByZXN1bHR9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3Quc3RvcExvYWRpbmcoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBlcnJvcj8uc3RhdHVzID8/IG51bGw7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0ge1xuICAgICAgICAgICAgICAgICAgICAwOiAnZXJyb3JfZG93bicsXG4gICAgICAgICAgICAgICAgICAgIDQwMTogJ2Vycm9yX3VuYXV0aG9yaXplZCcsXG4gICAgICAgICAgICAgICAgICAgIDQwMzogJ2Vycm9yX2ZvcmJpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgIDQwNDogJ2Vycm9yX25vdF9mb3VuZCcsXG4gICAgICAgICAgICAgICAgICAgIDUwMDogJ2Vycm9yX3NlcnZlcidcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHtzdGF0ZTogc3RhdGVzPy5bc3RhdHVzQ29kZV0gPz8gJ2Vycm9yX3Vua25vd24nLCBzdGF0dXNDb2RlOiBzdGF0dXNDb2RlfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgZGF0YSBjaGFuZ2VzLlxuICAgICAgICB0aGlzLnN1YnNjcmliZVRvQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlVG9DaGFuZ2VzKCkge1xuICAgICAgICBjb25zdCBmb3JtJCA9IHRoaXMuZ2V0Rm9ybUNoYW5nZXMoKTtcbiAgICAgICAgY29uc3QgcXVlcnkkID0gdGhpcy5nZXRRdWVyeUNoYW5nZXMoKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtmb3JtJCwgcXVlcnkkXSkuc3Vic2NyaWJlKChbZm9ybSwgcXVlcnldKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7cGFnZU51bWJlciwgcGFnZVNpemV9ID0gZm9ybTtcbiAgICAgICAgICAgIGNvbnN0IHNvcnQgPSBPYmplY3Qua2V5cyhmb3JtLnNvcnQpXG4gICAgICAgICAgICAgICAgLm1hcChuYW1lID0+ICh7bmFtZSwgZGlyZWN0aW9uOiBmb3JtLnNvcnRbbmFtZV19KSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gWydhc2MnLCAnZGVzYyddLmluY2x1ZGVzKGl0ZW0uZGlyZWN0aW9uKSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVxdWVzdC5zdGFydExvYWRpbmcoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QudXBkYXRlKHtcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplLFxuICAgICAgICAgICAgICAgIHBhZ2VOdW1iZXIsXG4gICAgICAgICAgICAgICAgcXVlcnlGaWVsZHM6IHRoaXMucXVlcnlGaWVsZHNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFF1ZXJ5Q2hhbmdlcygpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKHRoaXMucXVlcnlDb250cm9sLnZhbHVlQ2hhbmdlcywgZGVmZXIoKCkgPT4gb2YodGhpcy5xdWVyeUNvbnRyb2w/LnZhbHVlKSkpLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoNDAwKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm1DaGFuZ2VzKCkge1xuICAgICAgICByZXR1cm4gbWVyZ2UodGhpcy5mb3JtLnZhbHVlQ2hhbmdlcywgZGVmZXIoKCkgPT4gb2YodGhpcy5mb3JtPy52YWx1ZSkpKTtcbiAgICB9XG5cbn1cbiIsIjwhLS1cbiAgICBUaGlzIGlzIHRoZSBoZWFkZXIgb2YgdGhlIHRhYmxlLiBJdCBjYW4gYmUgYSB1c2VyXG4gICAgZGVmaW5lZCBjdXN0b20gaGVhZGVyIG9yIGp1c3QgdGhlIGRlZmF1bHQgaGVhZGVyLlxuLS0+XG5cbkBpZiAoKGhlYWRlciA9PT0gdHJ1ZSA/IGhlYWRlclRlbXBsYXRlIDogaGVhZGVyKTsgYXMgdGVtcGxhdGUpIHtcbiAgICA8aGVhZGVyIGNsYXNzPVwiYmItdGFibGUtdG9wLWFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9oZWFkZXI+XG59XG5cbjwhLS1cbiAgICBUaGlzIGlzIHRoZSB0YWJsZSB0aGF0IGNvbnRhaW5zIHRoZVxuICAgIHJvd3MgYW5kIGNvbHVtbnMuXG4tLT5cblxuPGRpdiBjbGFzcz1cImJiLXRhYmxlLXdyYXBwZXJcIj5cbiAgICBAaWYgKGlzTG9hZGluZyQgfCBhc3luYykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYmItdGFibGUtcHJvZ3Jlc3NcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYi10YWJsZS1pbmRldGVybWluYXRlXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8dGFibGUgY2xhc3M9XCJiYi10YWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImJiLXRhYmxlLWhlYWRlci1jZWxsXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgQGlmIChkYXRhJCB8IGFzeW5jOyBhcyBkYXRhKSB7XG4gICAgICAgICAgICAgICAgQHN3aXRjaCAoZGF0YT8uc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdzdWNjZXNzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghIXRhYmxlUm93VGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVSb3dUZW1wbGF0ZTsgY29udGV4dDoge2RhdGE6IGRhdGE/LnJlc3VsdD8uZGF0YSA/PyBbXX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZGF0YT8ucmVzdWx0Py5kYXRhOyB0cmFjayAoaWRlbnRpZmllciA/IGl0ZW1baWRlbnRpZmllcl0gOiAkaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHRlbXBsYXRlIG9mIHRhYmxlQ29sdW1uVGVtcGxhdGVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGU7IGNvbnRleHQ6IHtpdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2VtcHR5Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGU7IGNvbnRleHQ6IGRhdGFcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2Vycm9yX2RhdGFzb3VyY2UnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXJyb3JUZW1wbGF0ZTsgY29udGV4dDogZGF0YVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBjYXNlICgnZXJyb3Jfbm90X2ZvdW5kJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGU7IGNvbnRleHQ6IGRhdGFcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2Vycm9yX3NlcnZlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvclRlbXBsYXRlOyBjb250ZXh0OiBkYXRhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdlcnJvcl9kb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGU7IGNvbnRleHQ6IGRhdGFcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXJyb3JUZW1wbGF0ZTsgY29udGV4dDogZGF0YVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImhlYWRlckNvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItdGFibGUtdGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYi10YWJsZS10ZW1wbGF0ZS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3RhYmxlcy5sb2FkaW5nJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbjwvZGl2PlxuXG5AaWYgKChmb290ZXIgPT09IHRydWUgPyBmb290ZXJUZW1wbGF0ZSA6IGZvb3Rlcik7IGFzIHRlbXBsYXRlKSB7XG4gICAgPGZvb3RlciBjbGFzcz1cImJiLXRhYmxlLWJvdHRvbS1hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZm9vdGVyPlxufVxuXG48IS0tXG4gICAgVGhpcyBpcyB0aGUgdGVtcGxhdGUgdGhhdCB3aWxsIGJlIHVzZWQgd2hlbiB0aGUgdXNlciBoYXMgbm90XG4gICAgc3VwcGxpZWQgYSBjdXN0b20gaGVhZGVyIHRlbXBsYXRlLlxuLS0+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxiYi1mb3JtLWNvbnRyb2w+XG4gICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xdPVwicXVlcnlDb250cm9sXCJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIndGFibGVzLnNlYXJjaCcgfCBiYkxvY2FsaXplXCJcbiAgICAgICAgICAgICAgIGJiSW5wdXRcbiAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICAgICAgICBAaWYgKHF1ZXJ5Q29udHJvbD8udmFsdWU/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICA8YmItaWNvbiBiYlN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgc3JjPVwibWF0ZXJpYWw6c2VhcmNoXCI+XG4gICAgICAgICAgICA8L2JiLWljb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicXVlcnlDb250cm9sPy5wYXRjaFZhbHVlKCcnKVwiXG4gICAgICAgICAgICAgICAgICAgIGJiU3VmZml4XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLXRhYmxlLXByb2dyZXNzLWNsb3NlLXF1ZXJ5XCI+XG4gICAgICAgICAgICAgICAgPGJiLWljb24gc3JjPVwibWF0ZXJpYWw6Y2xvc2VcIj48L2JiLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvYmItZm9ybS1jb250cm9sPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLVxuICAgIFRoaXMgaXMgdGhlIHRlbXBsYXRlIHRoYXQgd2lsbCBiZSB1c2VkIHdoZW4gdGhlIHVzZXIgaGFzIG5vdFxuICAgIHN1cHBsaWVkIGEgY3VzdG9tIGZvb3RlciB0ZW1wbGF0ZS5cbi0tPlxuXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxuICAgIEBpZiAoc2l6ZXM/Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgPGJiLWZvcm0tY29udHJvbD5cbiAgICAgICAgICAgIDxzZWxlY3QgW2Zvcm1Db250cm9sXT1cInBhZ2VTaXplQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIGJiSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJTaXplc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygc2l6ZXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtIH19IC8ge3sgJ3RhYmxlcy5wYWdlJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvYmItZm9ybS1jb250cm9sPlxuICAgIH1cblxuICAgIDxiYi10YWJsZS1wYWdlciBbdG90YWxQYWdlc109XCIoZGF0YSQgfCBhc3luYyk/LnJlc3VsdD8udG90YWxQYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwYWdlTnVtYmVyQ29udHJvbFwiPlxuICAgIDwvYmItdGFibGUtcGFnZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Vycm9yVGVtcGxhdGVcbiAgICAgICAgICAgICBsZXQtc3RhdGU9XCJzdGF0ZVwiXG4gICAgICAgICAgICAgbGV0LXN0YXR1cz1cInN0YXR1c0NvZGVcIj5cbiAgICA8dHI+XG4gICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImhlYWRlckNvdW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYmItdGFibGUtdGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYi10YWJsZS10ZW1wbGF0ZS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNjQgNDFcIlxuICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI0cmVtXCJcbiAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjIuNTYyNXJlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZyBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAxKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGVsbGlwc2UgY3g9XCIzMlwiIGN5PVwiMzNcIiBmaWxsPVwiI0Y1RjVGNVwiIHJ4PVwiMzJcIiByeT1cIjdcIj48L2VsbGlwc2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWxsLXJ1bGU9XCJub256ZXJvXCIgc3Ryb2tlPVwiI0Q5RDlEOVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNTUgMTIuNzYwNTYwNEw0NC44NTQzMDQ3IDEuMjU3Mzk2MzNDNDQuMzY3NDQxNC40NzM4MjY2MSA0My42NTU4Nzg5IDAgNDIuOTA2NzYxNyAwSDIxLjA5MzIzODNjLS43NDkxMTcyIDAtMS40NjA2Nzk3LjQ3Mzk1MDI1LTEuOTQ3NTQzIDEuMjU3Mzk2MzNMOSAxMi43NjA1NjA0VjIyaDQ2di05LjIzOTQzOTZ6XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjRkFGQUZBXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQxLjYxMzI4MTMgMTUuOTMxNWMwLTEuNjA1NjQ4OS45OTM2NzE4LTIuOTMxMjY2IDIuMjI2NDE3OS0yLjkzMTVINTV2MTguMTM3MTI3N0M1NSAzMy4yNTg5NTc0IDUzLjY3OTM4NjcgMzUgNTIuMDUwNDI5NyAzNUgxMS45NDk1NzAzMUMxMC4zMjA1MjM0NCAzNSA5IDMzLjI1ODg0MDQgOSAzMS4xMzcxMjc3VjEzaDExLjE2MDMwMDhjMS4yMzI3NDYxIDAgMi4yMjY0MTggMS4zMjI4MDg1IDIuMjI2NDE4IDIuOTI4NDU3NHYuMDIxMTgwOWMwIDEuNjA1NjQ4OSAxLjAwNDk5MjEgMi45MDE1NDI2IDIuMjM3NzM4MiAyLjkwMTU0MjZoMTQuNzUxMDg2YzEuMjMyNzQ2MSAwIDIuMjM3NzM4My0xLjMwNzgyOTggMi4yMzc3MzgzLTIuOTEzNDc4OFYxNS45MzE1elwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIEBpZiAoc3RhdGU7IGFzIHN0YXRlTGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgKCd0YWJsZXMuJyArIHN0YXRlTGFiZWwpIHwgYmJMb2NhbGl6ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChzdGF0dXM7IGFzIHN0YXR1c0NvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYi10YWJsZS10ZW1wbGF0ZS1jb250ZW50LWNvZGVcIj4oSFRUUCB7eyBzdGF0dXNDb2RlIH19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICA8L3RyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxFQUlMLFdBQVcsRUFDWCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFGLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRS9FLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFhLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7OztBQU01RCxNQUFNLE9BQU8s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QURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmJGb3JtQ29udHJvbCwgQmJJY29uLCBCYklucHV0LCBCYlN1ZmZpeH0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vZWxlbWVudHMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBkZWZlciwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEYXRhU291cmNlUGFnZVJlc3BvbnNlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtEYXRhU291cmNlLCBEYXRhU291cmNlUmVxdWVzdH0gZnJvbSAnLi4vLi4vZGF0YS9kYXRhc291cmNlLmRhdGEnO1xuaW1wb3J0IHtCYlRhYmxlUGFnZXJ9IGZyb20gJy4uL3RhYmxlLXBhZ2VyL3RhYmxlLXBhZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0FzeW5jUGlwZSwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QmJMb2NhbGl6ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYlRhYmxlQ29sdW1uRGVmXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYlRhYmxlQ29sdW1uRGVmIHtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJUYWJsZVJvd0RlZl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJUYWJsZVJvd0RlZiB7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLXRhYmxlJ30sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGUsIEJiTG9jYWxpemUsIEJiRm9ybUNvbnRyb2wsIEJiSW5wdXQsIEJiSWNvbiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQmJTdWZmaXgsIEJiVGFibGVQYWdlciwgQmJMb2NhbGl6ZV1cbn0pXG5leHBvcnQgY2xhc3MgQmJUYWJsZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIENvbnRlbnQuXG4gICAgQENvbnRlbnRDaGlsZHJlbihCYlRhYmxlQ29sdW1uRGVmLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSB0YWJsZUNvbHVtblRlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xuICAgIEBDb250ZW50Q2hpbGQoQmJUYWJsZVJvd0RlZiwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlfSkgdGFibGVSb3dUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgICBASW5wdXQoKSBxdWVyeUZpZWxkczogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSBzb3J0aW5nU3RyYXRlZ3k6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyA9ICdzaW5nbGUnO1xuICAgIEBJbnB1dCgpIGhlYWRlcjogVGVtcGxhdGVSZWY8YW55PiB8IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGZvb3RlcjogVGVtcGxhdGVSZWY8YW55PiB8IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLy8gU2l6ZXMuXG4gICAgcHJpdmF0ZSBfc2l6ZXM6IG51bWJlcltdID0gWzI1LCA1MCwgNzUsIDEwMF07XG5cbiAgICBnZXQgc2l6ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplcztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaXplcyhuZXdWYWx1ZTogbnVtYmVyW10pIHtcbiAgICAgICAgdGhpcy51cGRhdGVTaXplcyhuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gRGF0YS5cbiAgICByZXF1ZXN0OiBEYXRhU291cmNlUmVxdWVzdDtcbiAgICBkYXRhJDogT2JzZXJ2YWJsZTx7IHN0YXRlOiBzdHJpbmcsIHN0YXR1c0NvZGU/OiBudW1iZXIsIHJlc3VsdD86IERhdGFTb3VyY2VQYWdlUmVzcG9uc2UgfT47XG4gICAgaXNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIC8vIEZvcm0uXG4gICAgZm9ybTogRm9ybUdyb3VwO1xuICAgIHF1ZXJ5Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBwcml2YXRlIF9oZWFkZXJDb3VudDogbnVtYmVyID0gMDtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb21wb3NlRm9ybSgpO1xuICAgICAgICB0aGlzLndhdGNoRGF0YUNoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdldCBoZWFkZXJDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlYWRlckNvdW50O1xuICAgIH1cblxuICAgIGdldCBzb3J0Q29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybT8uZ2V0KCdzb3J0JykgYXMgRm9ybUdyb3VwO1xuICAgIH1cblxuICAgIGdldCBwYWdlTnVtYmVyQ29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybT8uZ2V0KCdwYWdlTnVtYmVyJykgYXMgRm9ybUNvbnRyb2w8bnVtYmVyPjtcbiAgICB9XG5cbiAgICBnZXQgcGFnZVNpemVDb250cm9sKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtPy5nZXQoJ3BhZ2VTaXplJykgYXMgRm9ybUNvbnRyb2w8bnVtYmVyPjtcbiAgICB9XG5cbiAgICByZWZyZXNoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0LnVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHNldEhlYWRlckNvdW50KGFtb3VudDogLTEgfCAxKSB7XG4gICAgICAgIHRoaXMuX2hlYWRlckNvdW50ICs9IGFtb3VudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNpemVzKG5ld1ZhbHVlOiBudW1iZXJbXSkge1xuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgc2l6ZXMgaGFzIGF0IGxlYXN0IG9uZSB2YWx1ZS5cbiAgICAgICAgaWYgKG5ld1ZhbHVlLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzZXQgYW4gZW1wdHkgYXJyYXkgYXMgdGhlIHNpemVzLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHRoZSBuZXcgc2l6ZS5cbiAgICAgICAgdGhpcy5fc2l6ZXMgPSBuZXdWYWx1ZTtcblxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBmb3JtIGV4aXN0cyBhbHJlYWR5LlxuICAgICAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgdmFsdWUgaXNcbiAgICAgICAgLy8gaW4gdGhlIG5ldyBzaXplcyBhcnJheS5cbiAgICAgICAgY29uc3QgcGFnZVNpemVDb250cm9sID0gdGhpcy5mb3JtLmdldCgncGFnZVNpemUnKTtcbiAgICAgICAgaWYgKHRoaXMuX3NpemVzLmluY2x1ZGVzKHBhZ2VTaXplQ29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB0aGUgZmlyc3QgdmFsdWUgaW4gdGhlIGFycmF5IGFzXG4gICAgICAgIC8vIHRoZSBuZXcgdmFsdWUuXG4gICAgICAgIGNvbnN0IGZpcnN0VmFsdWUgPSB0aGlzLl9zaXplc1swXTtcbiAgICAgICAgcGFnZVNpemVDb250cm9sLnNldFZhbHVlKGZpcnN0VmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcG9zZUZvcm0oKSB7XG4gICAgICAgIC8vIFNldHVwIHRoZSBmb3JtLlxuICAgICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgICAgIHBhZ2VTaXplOiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPih0aGlzLl9zaXplc1swXSksXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigxKSxcbiAgICAgICAgICAgIHNvcnQ6IG5ldyBGb3JtR3JvdXAoe30pXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2F0Y2hEYXRhQ2hhbmdlcygpIHtcbiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IHJlcXVlc3QuXG4gICAgICAgIHRoaXMucmVxdWVzdCA9IG5ldyBEYXRhU291cmNlUmVxdWVzdCgpO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyQgPSB0aGlzLnJlcXVlc3QubG9hZGluZztcblxuICAgICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhJCA9IG9mKHtzdGF0ZTogJ2Vycm9yX2RhdGFzb3VyY2UnfSkucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5yZXF1ZXN0LnN0b3BMb2FkaW5nKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGFzcyB0aGUgcmVxdWVzdCB0byB0aGUgZGF0YSBzb3VyY2UuXG4gICAgICAgIHRoaXMuZGF0YSQgPSB0aGlzLmRhdGFTb3VyY2UuaGFuZGxlKHRoaXMucmVxdWVzdCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLnJlcXVlc3Quc3RvcExvYWRpbmcoKSksXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3VudCA9IChyZXN1bHQgJiYgcmVzdWx0LmRhdGEgJiYgcmVzdWx0LmRhdGEubGVuZ3RoKSB8fCAwO1xuICAgICAgICAgICAgICAgIGlmIChjb3VudCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7c3RhdGU6ICdlbXB0eScsIHJlc3VsdH07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtzdGF0ZTogJ3N1Y2Nlc3MnLCByZXN1bHR9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3Quc3RvcExvYWRpbmcoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBlcnJvcj8uc3RhdHVzID8/IG51bGw7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0ge1xuICAgICAgICAgICAgICAgICAgICAwOiAnZXJyb3JfZG93bicsXG4gICAgICAgICAgICAgICAgICAgIDQwMTogJ2Vycm9yX3VuYXV0aG9yaXplZCcsXG4gICAgICAgICAgICAgICAgICAgIDQwMzogJ2Vycm9yX2ZvcmJpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgIDQwNDogJ2Vycm9yX25vdF9mb3VuZCcsXG4gICAgICAgICAgICAgICAgICAgIDUwMDogJ2Vycm9yX3NlcnZlcidcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHtzdGF0ZTogc3RhdGVzPy5bc3RhdHVzQ29kZV0gPz8gJ2Vycm9yX3Vua25vd24nLCBzdGF0dXNDb2RlOiBzdGF0dXNDb2RlfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgZGF0YSBjaGFuZ2VzLlxuICAgICAgICB0aGlzLnN1YnNjcmliZVRvQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlVG9DaGFuZ2VzKCkge1xuICAgICAgICBjb25zdCBmb3JtJCA9IHRoaXMuZ2V0Rm9ybUNoYW5nZXMoKTtcbiAgICAgICAgY29uc3QgcXVlcnkkID0gdGhpcy5nZXRRdWVyeUNoYW5nZXMoKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtmb3JtJCwgcXVlcnkkXSkuc3Vic2NyaWJlKChbZm9ybSwgcXVlcnldKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7cGFnZU51bWJlciwgcGFnZVNpemV9ID0gZm9ybTtcbiAgICAgICAgICAgIGNvbnN0IHNvcnQgPSBPYmplY3Qua2V5cyhmb3JtLnNvcnQpXG4gICAgICAgICAgICAgICAgLm1hcChuYW1lID0+ICh7bmFtZSwgZGlyZWN0aW9uOiBmb3JtLnNvcnRbbmFtZV19KSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gWydhc2MnLCAnZGVzYyddLmluY2x1ZGVzKGl0ZW0uZGlyZWN0aW9uKSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVxdWVzdC5zdGFydExvYWRpbmcoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QudXBkYXRlKHtcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplLFxuICAgICAgICAgICAgICAgIHBhZ2VOdW1iZXIsXG4gICAgICAgICAgICAgICAgcXVlcnlGaWVsZHM6IHRoaXMucXVlcnlGaWVsZHNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFF1ZXJ5Q2hhbmdlcygpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKHRoaXMucXVlcnlDb250cm9sLnZhbHVlQ2hhbmdlcywgZGVmZXIoKCkgPT4gb2YodGhpcy5xdWVyeUNvbnRyb2w/LnZhbHVlKSkpLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoNDAwKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm1DaGFuZ2VzKCkge1xuICAgICAgICByZXR1cm4gbWVyZ2UodGhpcy5mb3JtLnZhbHVlQ2hhbmdlcywgZGVmZXIoKCkgPT4gb2YodGhpcy5mb3JtPy52YWx1ZSkpKTtcbiAgICB9XG5cbn1cbiIsIjwhLS1cbiAgICBUaGlzIGlzIHRoZSBoZWFkZXIgb2YgdGhlIHRhYmxlLiBJdCBjYW4gYmUgYSB1c2VyXG4gICAgZGVmaW5lZCBjdXN0b20gaGVhZGVyIG9yIGp1c3QgdGhlIGRlZmF1bHQgaGVhZGVyLlxuLS0+XG5cbkBpZiAoKGhlYWRlciA9PT0gdHJ1ZSA/IGhlYWRlclRlbXBsYXRlIDogaGVhZGVyKTsgYXMgdGVtcGxhdGUpIHtcbiAgICA8aGVhZGVyIGNsYXNzPVwiYmItdGFibGUtdG9wLWFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9oZWFkZXI+XG59XG5cbjwhLS1cbiAgICBUaGlzIGlzIHRoZSB0YWJsZSB0aGF0IGNvbnRhaW5zIHRoZVxuICAgIHJvd3MgYW5kIGNvbHVtbnMuXG4tLT5cblxuPGRpdiBjbGFzcz1cImJiLXRhYmxlLXdyYXBwZXJcIj5cbiAgICBAaWYgKGlzTG9hZGluZyQgfCBhc3luYykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYmItdGFibGUtcHJvZ3Jlc3NcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYi10YWJsZS1pbmRldGVybWluYXRlXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8dGFibGUgY2xhc3M9XCJiYi10YWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImJiLXRhYmxlLWhlYWRlci1jZWxsXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgQGlmIChkYXRhJCB8IGFzeW5jOyBhcyBkYXRhKSB7XG4gICAgICAgICAgICAgICAgQHN3aXRjaCAoZGF0YT8uc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdzdWNjZXNzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghIXRhYmxlUm93VGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVSb3dUZW1wbGF0ZTsgY29udGV4dDoge2RhdGE6IGRhdGE/LnJlc3VsdD8uZGF0YSA/PyBbXX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZGF0YT8ucmVzdWx0Py5kYXRhOyB0cmFjayAoaWRlbnRpZmllciA/IGl0ZW1baWRlbnRpZmllcl0gOiAkaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHRlbXBsYXRlIG9mIHRhYmxlQ29sdW1uVGVtcGxhdGVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGU7IGNvbnRleHQ6IHtpdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2VtcHR5Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGU7IGNvbnRleHQ6IGRhdGFcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2Vycm9yX2RhdGFzb3VyY2UnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXJyb3JUZW1wbGF0ZTsgY29udGV4dDogZGF0YVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBjYXNlICgnZXJyb3Jfbm90X2ZvdW5kJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGU7IGNvbnRleHQ6IGRhdGFcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2Vycm9yX3NlcnZlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvclRlbXBsYXRlOyBjb250ZXh0OiBkYXRhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdlcnJvcl9kb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGU7IGNvbnRleHQ6IGRhdGFcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXJyb3JUZW1wbGF0ZTsgY29udGV4dDogZGF0YVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImhlYWRlckNvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItdGFibGUtdGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYi10YWJsZS10ZW1wbGF0ZS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3RhYmxlcy5sb2FkaW5nJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbjwvZGl2PlxuXG5AaWYgKChmb290ZXIgPT09IHRydWUgPyBmb290ZXJUZW1wbGF0ZSA6IGZvb3Rlcik7IGFzIHRlbXBsYXRlKSB7XG4gICAgPGZvb3RlciBjbGFzcz1cImJiLXRhYmxlLWJvdHRvbS1hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZm9vdGVyPlxufVxuXG48IS0tXG4gICAgVGhpcyBpcyB0aGUgdGVtcGxhdGUgdGhhdCB3aWxsIGJlIHVzZWQgd2hlbiB0aGUgdXNlciBoYXMgbm90XG4gICAgc3VwcGxpZWQgYSBjdXN0b20gaGVhZGVyIHRlbXBsYXRlLlxuLS0+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxiYi1mb3JtLWNvbnRyb2w+XG4gICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xdPVwicXVlcnlDb250cm9sXCJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIndGFibGVzLnNlYXJjaCcgfCBiYkxvY2FsaXplXCJcbiAgICAgICAgICAgICAgIGJiSW5wdXRcbiAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICAgICAgICBAaWYgKHF1ZXJ5Q29udHJvbD8udmFsdWU/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICA8YmItaWNvbiBiYlN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgc3JjPVwibWF0ZXJpYWw6c2VhcmNoXCI+XG4gICAgICAgICAgICA8L2JiLWljb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicXVlcnlDb250cm9sPy5wYXRjaFZhbHVlKCcnKVwiXG4gICAgICAgICAgICAgICAgICAgIGJiU3VmZml4XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLXRhYmxlLXByb2dyZXNzLWNsb3NlLXF1ZXJ5XCI+XG4gICAgICAgICAgICAgICAgPGJiLWljb24gc3JjPVwibWF0ZXJpYWw6Y2xvc2VcIj48L2JiLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvYmItZm9ybS1jb250cm9sPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLVxuICAgIFRoaXMgaXMgdGhlIHRlbXBsYXRlIHRoYXQgd2lsbCBiZSB1c2VkIHdoZW4gdGhlIHVzZXIgaGFzIG5vdFxuICAgIHN1cHBsaWVkIGEgY3VzdG9tIGZvb3RlciB0ZW1wbGF0ZS5cbi0tPlxuXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxuICAgIEBpZiAoc2l6ZXM/Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgPGJiLWZvcm0tY29udHJvbD5cbiAgICAgICAgICAgIDxzZWxlY3QgW2Zvcm1Db250cm9sXT1cInBhZ2VTaXplQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIGJiSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJTaXplc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygc2l6ZXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtIH19IC8ge3sgJ3RhYmxlcy5wYWdlJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvYmItZm9ybS1jb250cm9sPlxuICAgIH1cblxuICAgIDxiYi10YWJsZS1wYWdlciBbdG90YWxQYWdlc109XCIoZGF0YSQgfCBhc3luYyk/LnJlc3VsdD8udG90YWxQYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwYWdlTnVtYmVyQ29udHJvbFwiPlxuICAgIDwvYmItdGFibGUtcGFnZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Vycm9yVGVtcGxhdGVcbiAgICAgICAgICAgICBsZXQtc3RhdGU9XCJzdGF0ZVwiXG4gICAgICAgICAgICAgbGV0LXN0YXR1cz1cInN0YXR1c0NvZGVcIj5cbiAgICA8dHI+XG4gICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImhlYWRlckNvdW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYmItdGFibGUtdGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYi10YWJsZS10ZW1wbGF0ZS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNjQgNDFcIlxuICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI0cmVtXCJcbiAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjIuNTYyNXJlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZyBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAxKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGVsbGlwc2UgY3g9XCIzMlwiIGN5PVwiMzNcIiBmaWxsPVwiI0Y1RjVGNVwiIHJ4PVwiMzJcIiByeT1cIjdcIj48L2VsbGlwc2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWxsLXJ1bGU9XCJub256ZXJvXCIgc3Ryb2tlPVwiI0Q5RDlEOVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNTUgMTIuNzYwNTYwNEw0NC44NTQzMDQ3IDEuMjU3Mzk2MzNDNDQuMzY3NDQxNC40NzM4MjY2MSA0My42NTU4Nzg5IDAgNDIuOTA2NzYxNyAwSDIxLjA5MzIzODNjLS43NDkxMTcyIDAtMS40NjA2Nzk3LjQ3Mzk1MDI1LTEuOTQ3NTQzIDEuMjU3Mzk2MzNMOSAxMi43NjA1NjA0VjIyaDQ2di05LjIzOTQzOTZ6XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjRkFGQUZBXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQxLjYxMzI4MTMgMTUuOTMxNWMwLTEuNjA1NjQ4OS45OTM2NzE4LTIuOTMxMjY2IDIuMjI2NDE3OS0yLjkzMTVINTV2MTguMTM3MTI3N0M1NSAzMy4yNTg5NTc0IDUzLjY3OTM4NjcgMzUgNTIuMDUwNDI5NyAzNUgxMS45NDk1NzAzMUMxMC4zMjA1MjM0NCAzNSA5IDMzLjI1ODg0MDQgOSAzMS4xMzcxMjc3VjEzaDExLjE2MDMwMDhjMS4yMzI3NDYxIDAgMi4yMjY0MTggMS4zMjI4MDg1IDIuMjI2NDE4IDIuOTI4NDU3NHYuMDIxMTgwOWMwIDEuNjA1NjQ4OSAxLjAwNDk5MjEgMi45MDE1NDI2IDIuMjM3NzM4MiAyLjkwMTU0MjZoMTQuNzUxMDg2YzEuMjMyNzQ2MSAwIDIuMjM3NzM4My0xLjMwNzgyOTggMi4yMzc3MzgzLTIuOTEzNDc4OFYxNS45MzE1elwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIEBpZiAoc3RhdGU7IGFzIHN0YXRlTGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgKCd0YWJsZXMuJyArIHN0YXRlTGFiZWwpIHwgYmJMb2NhbGl6ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChzdGF0dXM7IGFzIHN0YXR1c0NvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYi10YWJsZS10ZW1wbGF0ZS1jb250ZW50LWNvZGVcIj4oSFRUUCB7eyBzdGF0dXNDb2RlIH19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICA8L3RyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class BbTableCell {
4
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTableCell, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BbTableCell, isStandalone: true, selector: "bb-table-cell", host: { classAttribute: "bb-table-cell" }, ngImport: i0, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;text-align:left;line-height:1.2;font-weight:400;display:table-cell;font-size:.875rem;word-wrap:break-word;vertical-align:middle;padding:.75rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTableCell, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BbTableCell, isStandalone: true, selector: "bb-table-cell", host: { classAttribute: "bb-table-cell" }, ngImport: i0, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;text-align:left;line-height:1.2;font-weight:400;display:table-cell;font-size:.875rem;word-wrap:break-word;vertical-align:middle;padding:.75rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTableCell, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTableCell, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: 'bb-table-cell', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'bb-table-cell' }, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;text-align:left;line-height:1.2;font-weight:400;display:table-cell;font-size:.875rem;word-wrap:break-word;vertical-align:middle;padding:.75rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"] }]
10
10
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3RhYmxlL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtY2VsbC90YWJsZS1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBWXBGLE1BQU0sT0FBTyxXQUFXO3VHQUFYLFdBQVc7MkZBQVgsV0FBVyxvSENaeEIsOENBRU07OzJGRFVPLFdBQVc7a0JBVnZCLFNBQVM7K0JBQ0ksZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBQyxpQkFDakIsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxjQUNkLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi10YWJsZS1jZWxsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnYmItdGFibGUtY2VsbCd9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYlRhYmxlQ2VsbCB7XG59XG4iLCI8ZGl2PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3RhYmxlL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtY2VsbC90YWJsZS1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBWXBGLE1BQU0sT0FBTyxXQUFXO3dHQUFYLFdBQVc7NEZBQVgsV0FBVyxvSENaeEIsOENBRU07OzRGRFVPLFdBQVc7a0JBVnZCLFNBQVM7K0JBQ0ksZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBQyxpQkFDakIsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxjQUNkLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi10YWJsZS1jZWxsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnYmItdGFibGUtY2VsbCd9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYlRhYmxlQ2VsbCB7XG59XG4iLCI8ZGl2PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PiJdfQ==
@@ -105,10 +105,10 @@ export class BbTableHeaderCell {
105
105
  logWarning = (message) => {
106
106
  console && console.warn && console.warn(message);
107
107
  };
108
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTableHeaderCell, deps: [{ token: i1.BbTable, host: true, optional: true }, { token: 'name', attribute: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
109
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: BbTableHeaderCell, isStandalone: true, selector: "bb-table-header-cell", inputs: { disabled: ["disabled", "disabled", booleanAttribute], sort: "sort" }, host: { listeners: { "click": "onClick()" }, properties: { "class.disabled": "isDisabled" }, classAttribute: "bb-table-header-cell" }, ngImport: i0, template: "<!-- The content. -->\n<ng-content></ng-content>\n\n<!-- The indicator for the sort direction. -->\n@if (valueChanges$ | async; as value) {\n @if (!isDisabled) {\n <button [class.asc]=\"value === 'asc'\"\n [class.desc]=\"value === 'desc'\"\n class=\"bb-table-header-cell-toggle\"\n type=\"button\"></button>\n }\n}\n", styles: [".bb-table-header-cell{height:3rem;color:#212529;cursor:pointer;font-size:1rem;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;display:table-cell;vertical-align:middle;padding:.75rem 1.5rem;border-bottom:1px solid #d8d8d8}.bb-table-header-cell:active>.bb-table-header-cell-toggle{background-color:#00000014}.bb-table-header-cell:not(.disabled){padding-right:3.25rem}.bb-table-header-cell.fit{width:1%;white-space:nowrap}.bb-table-header-cell.left{text-align:left}.bb-table-header-cell.center{text-align:center}.bb-table-header-cell.right{text-align:right}.bb-table-header-cell.disabled{cursor:default;pointer-events:none}.bb-table-header-cell-toggle{top:50%;right:1rem;border:none;width:1.5rem;height:1.5rem;margin-left:auto;position:absolute;border-radius:.25rem;transform:translateY(-50%);background-position:center;background-repeat:no-repeat;background-color:transparent;transition:background-color .2s cubic-bezier(0,0,.2,1);background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-table-header-cell-toggle.desc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"black\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-table-header-cell-toggle.asc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"black\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
108
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTableHeaderCell, deps: [{ token: i1.BbTable, host: true, optional: true }, { token: 'name', attribute: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
109
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbTableHeaderCell, isStandalone: true, selector: "bb-table-header-cell", inputs: { disabled: ["disabled", "disabled", booleanAttribute], sort: "sort" }, host: { listeners: { "click": "onClick()" }, properties: { "class.disabled": "isDisabled" }, classAttribute: "bb-table-header-cell" }, ngImport: i0, template: "<!-- The content. -->\n<ng-content></ng-content>\n\n<!-- The indicator for the sort direction. -->\n@if (valueChanges$ | async; as value) {\n @if (!isDisabled) {\n <button [class.asc]=\"value === 'asc'\"\n [class.desc]=\"value === 'desc'\"\n class=\"bb-table-header-cell-toggle\"\n type=\"button\"></button>\n }\n}\n", styles: [".bb-table-header-cell{height:3rem;color:#212529;cursor:pointer;font-size:1rem;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;display:table-cell;vertical-align:middle;padding:.75rem 1.5rem;border-bottom:1px solid #d8d8d8}.bb-table-header-cell:active>.bb-table-header-cell-toggle{background-color:#00000014}.bb-table-header-cell:not(.disabled){padding-right:3.25rem}.bb-table-header-cell.fit{width:1%;white-space:nowrap}.bb-table-header-cell.left{text-align:left}.bb-table-header-cell.center{text-align:center}.bb-table-header-cell.right{text-align:right}.bb-table-header-cell.disabled{cursor:default;pointer-events:none}.bb-table-header-cell-toggle{top:50%;right:1rem;border:none;width:1.5rem;height:1.5rem;margin-left:auto;position:absolute;border-radius:.25rem;transform:translateY(-50%);background-position:center;background-repeat:no-repeat;background-color:transparent;transition:background-color .2s cubic-bezier(0,0,.2,1);background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-table-header-cell-toggle.desc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"black\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-table-header-cell-toggle.asc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"black\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTableHeaderCell, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTableHeaderCell, decorators: [{
112
112
  type: Component,
113
113
  args: [{ selector: 'bb-table-header-cell', changeDetection: ChangeDetectionStrategy.OnPush, host: {
114
114
  'class': 'bb-table-header-cell',
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
132
132
  type: HostListener,
133
133
  args: ['click']
134
134
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6SyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFN0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBaUIxQyxNQUFNLE9BQU8saUJBQWlCO0lBNEJjO0lBQ1c7SUEzQm5ELGFBQWE7SUFDSSxlQUFlLEdBQThCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRSxRQUFRLEdBQUcsSUFBSSxXQUFXLENBQTBCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU5RixVQUFVO0lBQzRCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFaEUsUUFBUTtJQUNSLGFBQWEsQ0FBcUI7SUFFbEMsUUFBUTtJQUNSLElBQ0ksSUFBSSxDQUFDLEtBQThCO1FBQ25DLDJDQUEyQztRQUMzQyxJ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LE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUM7dUdBNUhPLGlCQUFpQixxRUE2QlMsTUFBTTsyRkE3QmhDLGlCQUFpQixxR0FPUCxnQkFBZ0Isa0xDN0J2Qyx3WEFZQSxtMUREUWMsU0FBUzs7MkZBRVYsaUJBQWlCO2tCQWQ3QixTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLE9BQU8sRUFBRSxzQkFBc0I7d0JBQy9CLGtCQUFrQixFQUFFLFlBQVk7cUJBQ25DLGlCQUNjLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssY0FDZCxJQUFJLFdBQ1AsQ0FBQyxTQUFTLENBQUM7OzBCQThCUCxRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQUksU0FBUzsyQkFBQyxNQUFNO3lDQXRCSCxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQU9oQyxJQUFJO3NCQURQLEtBQUs7Z0JBeUROLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdHRyaWJ1dGUsIGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3QsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZUNvbHVtblNvcnRTdHJhdGVneX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90YWJsZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7Z2V0Q29udHJvbFZhbHVlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9yeGpzJztcbmltcG9ydCB7QmJUYWJsZX0gZnJvbSAnLi4vdGFibGUvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi10YWJsZS1oZWFkZXItY2VsbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLXRhYmxlLWhlYWRlci1jZWxsJyxcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBCYlRhYmxlSGVhZGVyQ2VsbCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIENvbnN0YW50cy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zb3J0RGlyZWN0aW9uczogVGFibGVDb2x1bW5Tb3J0U3RyYXRlZ3lbXSA9IFsnbm9uZScsICdhc2MnLCAnZGVzYyddO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8VGFibGVDb2x1bW5Tb3J0U3RyYXRlZ3k+KHRoaXMuX3NvcnREaXJlY3Rpb25zWzBdKTtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBEYXRhLlxuICAgIHZhbHVlQ2hhbmdlcyQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIC8vIFNvcnQuXG4gICAgQElucHV0KClcbiAgICBzZXQgc29ydCh2YWx1ZTogVGFibGVDb2x1bW5Tb3J0U3RyYXRlZ3kpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG5ldyB2YWx1ZSBpcyBhIHZhbGlkIHZhbHVlLlxuICAgICAgICBpZiAoIXRoaXMuX3NvcnREaXJlY3Rpb25zLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHRoZSB2YWx1ZS5cbiAgICAgICAgdGhpcy5fY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHNvcnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250cm9sLnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfdGFibGU/OiBCYlRhYmxlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBBdHRyaWJ1dGUoJ25hbWUnKSBwcml2YXRlIF9uYW1lPzogc3RyaW5nKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIG5hbWUgYW5kIHRhYmxlIGFyZSBzZXQuXG4gICAgICAgIHRoaXMuX3RhYmxlPy5zZXRIZWFkZXJDb3VudD8uKDEpO1xuICAgICAgICBpZiAoIXRoaXMuX3RhYmxlIHx8ICF0aGlzLl9uYW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBpZiB0aGUgY29udHJvbCBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgdGFibGUuXG4gICAgICAgIGlmICh0aGlzLl90YWJsZS5zb3J0Q29udHJvbD8uY29udGFpbnModGhpcy5fbmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9nV2FybmluZyhgQmJUYWJsZUhlYWRlckNlbGw6IFRoZSBuYW1lIFwiJHt0aGlzLl9uYW1lfVwiIGlzIG5vdCB1bmlxdWUgaW4gdGhlIHRhYmxlOyBDb250cm9sIHdhcyBub3QgcmVnaXN0ZXJlZC5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlZ2lzdGVyIHRoZSBoZWFkZXIgY2VsbCB3aXRoIHRoZSB0YWJsZS5cbiAgICAgICAgdGhpcy5fdGFibGUuc29ydENvbnRyb2w/LmFkZENvbnRyb2wodGhpcy5fbmFtZSwgdGhpcy5fY29udHJvbCk7XG5cbiAgICAgICAgLy8gR2V0IGFsbCB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMkID0gZ2V0Q29udHJvbFZhbHVlKHRoaXMuX2NvbnRyb2wpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl90YWJsZT8uc2V0SGVhZGVyQ291bnQ/LigtMSk7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIG5hbWUgYW5kIHRhYmxlIGFyZSBzZXQuXG4gICAgICAgIGlmICghdGhpcy5fdGFibGUgfHwgIXRoaXMuX25hbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVuLXJlZ2lzdGVyIHRoZSBoZWFkZXIgY2VsbCB3aXRoIHRoZSB0YWJsZS5cbiAgICAgICAgaWYgKHRoaXMuX3RhYmxlPy5zb3J0Q29udHJvbD8uY29udGFpbnModGhpcy5fbmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlPy5zb3J0Q29udHJvbD8ucmVtb3ZlQ29udHJvbCh0aGlzLl9uYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpc0Rpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5fbmFtZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGhlYWRlciBjZWxsIGlzIGRpc2FibGVkLlxuICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaW5kIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBzb3J0IGFuZFxuICAgICAgICAvLyBjcmVhdGUgdGhlIG5ldyBpbmRleC5cbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9zb3J0RGlyZWN0aW9ucy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSB0aGlzLl9jb250cm9sLnZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV3SW5kZXggPSAoaW5kZXggKyAxKSAlIHRoaXMuX3NvcnREaXJlY3Rpb25zLmxlbmd0aDtcbiAgICAgICAgY29uc3QgbmV3U29ydCA9IHRoaXMuX3NvcnREaXJlY3Rpb25zW25ld0luZGV4XTtcblxuICAgICAgICAvLyBTZXQgdGhlIG5ldyBzb3J0LlxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVUYWJsZUFuZEhlYWRlckNlbGwobmV3U29ydCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUYWJsZUFuZEhlYWRlckNlbGwodmFsdWU6IFRhYmxlQ29sdW1uU29ydFN0cmF0ZWd5KSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBuZXcgdmFsdWUgaXMgYSB2YWxpZCB2YWx1ZS5cbiAgICAgICAgaWYgKCF0aGlzLl9zb3J0RGlyZWN0aW9ucy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSB0YWJsZSBleGlzdHMuXG4gICAgICAgIGlmICghdGhpcy5fdGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhhbmRsZSB0aGUgc2luZ2xlIHNvcnRpbmcgc3RyYXRlZ3kuXG4gICAgICAgIGlmICh0aGlzLl90YWJsZS5zb3J0aW5nU3RyYXRlZ3kgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVTaW5nbGVTb3J0aW5nU3RyYXRlZ3kodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmYXVsdCBjYXNlIHdoZW4gbm8gb3RoZXIgc3RyYXRlZ3lcbiAgICAgICAgLy8gaXMgdXNlZC5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2luZ2xlU29ydGluZ1N0cmF0ZWd5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBzb3J0IGNvbnRyb2wuXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl90YWJsZS5zb3J0Q29udHJvbDtcblxuICAgICAgICAvLyBTZXQgZWFjaCB2YWx1ZSB0byBmYWxzZSBzaW5jZSB3ZSBvbmx5IHdhbnQgdG9cbiAgICAgICAgLy8gc29ydCBvbiBvbmUgcHJvcGVydHkgYXQgYSB0aW1lIHdpdGggdGhpcyBzdHJhdGVneS5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICBwcmV2aW91c1tjdXJyZW50XSA9IGN1cnJlbnQgPT09IHRoaXMuX25hbWUgPyB2YWx1ZSA6ICdub25lJztcbiAgICAgICAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIC8vIFBhdGNoIHRoZSBlbnRpcmUgc29ydCB2YWx1ZS5cbiAgICAgICAgdGhpcy5fdGFibGU/LnNvcnRDb250cm9sPy5wYXRjaFZhbHVlKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZ1dhcm5pbmcgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnNvbGUgJiYgY29uc29sZS53YXJuICYmIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgICB9O1xuXG59XG4iLCI8IS0tIFRoZSBjb250ZW50LiAtLT5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuPCEtLSBUaGUgaW5kaWNhdG9yIGZvciB0aGUgc29ydCBkaXJlY3Rpb24uIC0tPlxuQGlmICh2YWx1ZUNoYW5nZXMkIHwgYXN5bmM7IGFzIHZhbHVlKSB7XG4gICAgQGlmICghaXNEaXNhYmxlZCkge1xuICAgICAgICA8YnV0dG9uIFtjbGFzcy5hc2NdPVwidmFsdWUgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGVzY109XCJ2YWx1ZSA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJiLXRhYmxlLWhlYWRlci1jZWxsLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPjwvYnV0dG9uPlxuICAgIH1cbn1cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6SyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFN0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBaUIxQyxNQUFNLE9BQU8saUJBQWlCO0lBNEJjO0lBQ1c7SUEzQm5ELGFBQWE7SUFDSSxlQUFlLEdBQThCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRSxRQUFRLEdBQUcsSUFBSSxXQUFXLENBQTBCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU5RixVQUFVO0lBQzRCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFaEUsUUFBUTtJQUNSLGFBQWEsQ0FBcUI7SUFFbEMsUUFBUTtJQUNSLElBQ0ksSUFBSSxDQUFDLEtBQThCO1FBQ25DLDJDQUEyQztRQUMzQyxJ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LE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUM7d0dBNUhPLGlCQUFpQixxRUE2QlMsTUFBTTs0RkE3QmhDLGlCQUFpQixxR0FPUCxnQkFBZ0Isa0xDN0J2Qyx3WEFZQSxtMUREUWMsU0FBUzs7NEZBRVYsaUJBQWlCO2tCQWQ3QixTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLE9BQU8sRUFBRSxzQkFBc0I7d0JBQy9CLGtCQUFrQixFQUFFLFlBQVk7cUJBQ25DLGlCQUNjLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssY0FDZCxJQUFJLFdBQ1AsQ0FBQyxTQUFTLENBQUM7OzBCQThCUCxRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQUksU0FBUzsyQkFBQyxNQUFNO3lDQXRCSCxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQU9oQyxJQUFJO3NCQURQLEtBQUs7Z0JBeUROLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdHRyaWJ1dGUsIGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3QsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZUNvbHVtblNvcnRTdHJhdGVneX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90YWJsZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7Z2V0Q29udHJvbFZhbHVlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9yeGpzJztcbmltcG9ydCB7QmJUYWJsZX0gZnJvbSAnLi4vdGFibGUvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi10YWJsZS1oZWFkZXItY2VsbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLXRhYmxlLWhlYWRlci1jZWxsJyxcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBCYlRhYmxlSGVhZGVyQ2VsbCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIENvbnN0YW50cy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zb3J0RGlyZWN0aW9uczogVGFibGVDb2x1bW5Tb3J0U3RyYXRlZ3lbXSA9IFsnbm9uZScsICdhc2MnLCAnZGVzYyddO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8VGFibGVDb2x1bW5Tb3J0U3RyYXRlZ3k+KHRoaXMuX3NvcnREaXJlY3Rpb25zWzBdKTtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBEYXRhLlxuICAgIHZhbHVlQ2hhbmdlcyQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIC8vIFNvcnQuXG4gICAgQElucHV0KClcbiAgICBzZXQgc29ydCh2YWx1ZTogVGFibGVDb2x1bW5Tb3J0U3RyYXRlZ3kpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG5ldyB2YWx1ZSBpcyBhIHZhbGlkIHZhbHVlLlxuICAgICAgICBpZiAoIXRoaXMuX3NvcnREaXJlY3Rpb25zLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHRoZSB2YWx1ZS5cbiAgICAgICAgdGhpcy5fY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHNvcnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250cm9sLnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfdGFibGU/OiBCYlRhYmxlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBBdHRyaWJ1dGUoJ25hbWUnKSBwcml2YXRlIF9uYW1lPzogc3RyaW5nKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIG5hbWUgYW5kIHRhYmxlIGFyZSBzZXQuXG4gICAgICAgIHRoaXMuX3RhYmxlPy5zZXRIZWFkZXJDb3VudD8uKDEpO1xuICAgICAgICBpZiAoIXRoaXMuX3RhYmxlIHx8ICF0aGlzLl9uYW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBpZiB0aGUgY29udHJvbCBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgdGFibGUuXG4gICAgICAgIGlmICh0aGlzLl90YWJsZS5zb3J0Q29udHJvbD8uY29udGFpbnModGhpcy5fbmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9nV2FybmluZyhgQmJUYWJsZUhlYWRlckNlbGw6IFRoZSBuYW1lIFwiJHt0aGlzLl9uYW1lfVwiIGlzIG5vdCB1bmlxdWUgaW4gdGhlIHRhYmxlOyBDb250cm9sIHdhcyBub3QgcmVnaXN0ZXJlZC5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlZ2lzdGVyIHRoZSBoZWFkZXIgY2VsbCB3aXRoIHRoZSB0YWJsZS5cbiAgICAgICAgdGhpcy5fdGFibGUuc29ydENvbnRyb2w/LmFkZENvbnRyb2wodGhpcy5fbmFtZSwgdGhpcy5fY29udHJvbCk7XG5cbiAgICAgICAgLy8gR2V0IGFsbCB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMkID0gZ2V0Q29udHJvbFZhbHVlKHRoaXMuX2NvbnRyb2wpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl90YWJsZT8uc2V0SGVhZGVyQ291bnQ/LigtMSk7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIG5hbWUgYW5kIHRhYmxlIGFyZSBzZXQuXG4gICAgICAgIGlmICghdGhpcy5fdGFibGUgfHwgIXRoaXMuX25hbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVuLXJlZ2lzdGVyIHRoZSBoZWFkZXIgY2VsbCB3aXRoIHRoZSB0YWJsZS5cbiAgICAgICAgaWYgKHRoaXMuX3RhYmxlPy5zb3J0Q29udHJvbD8uY29udGFpbnModGhpcy5fbmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlPy5zb3J0Q29udHJvbD8ucmVtb3ZlQ29udHJvbCh0aGlzLl9uYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpc0Rpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5fbmFtZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGhlYWRlciBjZWxsIGlzIGRpc2FibGVkLlxuICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaW5kIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBzb3J0IGFuZFxuICAgICAgICAvLyBjcmVhdGUgdGhlIG5ldyBpbmRleC5cbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9zb3J0RGlyZWN0aW9ucy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSB0aGlzLl9jb250cm9sLnZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV3SW5kZXggPSAoaW5kZXggKyAxKSAlIHRoaXMuX3NvcnREaXJlY3Rpb25zLmxlbmd0aDtcbiAgICAgICAgY29uc3QgbmV3U29ydCA9IHRoaXMuX3NvcnREaXJlY3Rpb25zW25ld0luZGV4XTtcblxuICAgICAgICAvLyBTZXQgdGhlIG5ldyBzb3J0LlxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVUYWJsZUFuZEhlYWRlckNlbGwobmV3U29ydCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUYWJsZUFuZEhlYWRlckNlbGwodmFsdWU6IFRhYmxlQ29sdW1uU29ydFN0cmF0ZWd5KSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBuZXcgdmFsdWUgaXMgYSB2YWxpZCB2YWx1ZS5cbiAgICAgICAgaWYgKCF0aGlzLl9zb3J0RGlyZWN0aW9ucy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSB0YWJsZSBleGlzdHMuXG4gICAgICAgIGlmICghdGhpcy5fdGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhhbmRsZSB0aGUgc2luZ2xlIHNvcnRpbmcgc3RyYXRlZ3kuXG4gICAgICAgIGlmICh0aGlzLl90YWJsZS5zb3J0aW5nU3RyYXRlZ3kgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVTaW5nbGVTb3J0aW5nU3RyYXRlZ3kodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmYXVsdCBjYXNlIHdoZW4gbm8gb3RoZXIgc3RyYXRlZ3lcbiAgICAgICAgLy8gaXMgdXNlZC5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2luZ2xlU29ydGluZ1N0cmF0ZWd5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBzb3J0IGNvbnRyb2wuXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl90YWJsZS5zb3J0Q29udHJvbDtcblxuICAgICAgICAvLyBTZXQgZWFjaCB2YWx1ZSB0byBmYWxzZSBzaW5jZSB3ZSBvbmx5IHdhbnQgdG9cbiAgICAgICAgLy8gc29ydCBvbiBvbmUgcHJvcGVydHkgYXQgYSB0aW1lIHdpdGggdGhpcyBzdHJhdGVneS5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICBwcmV2aW91c1tjdXJyZW50XSA9IGN1cnJlbnQgPT09IHRoaXMuX25hbWUgPyB2YWx1ZSA6ICdub25lJztcbiAgICAgICAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIC8vIFBhdGNoIHRoZSBlbnRpcmUgc29ydCB2YWx1ZS5cbiAgICAgICAgdGhpcy5fdGFibGU/LnNvcnRDb250cm9sPy5wYXRjaFZhbHVlKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZ1dhcm5pbmcgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnNvbGUgJiYgY29uc29sZS53YXJuICYmIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgICB9O1xuXG59XG4iLCI8IS0tIFRoZSBjb250ZW50LiAtLT5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuPCEtLSBUaGUgaW5kaWNhdG9yIGZvciB0aGUgc29ydCBkaXJlY3Rpb24uIC0tPlxuQGlmICh2YWx1ZUNoYW5nZXMkIHwgYXN5bmM7IGFzIHZhbHVlKSB7XG4gICAgQGlmICghaXNEaXNhYmxlZCkge1xuICAgICAgICA8YnV0dG9uIFtjbGFzcy5hc2NdPVwidmFsdWUgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGVzY109XCJ2YWx1ZSA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJiLXRhYmxlLWhlYWRlci1jZWxsLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPjwvYnV0dG9uPlxuICAgIH1cbn1cbiJdfQ==
@@ -108,12 +108,12 @@ export class BbTablePager {
108
108
  .filter(page => page > 0 && page <= totalPages)
109
109
  .map(page => ({ page, active: pageNumber === page }));
110
110
  }
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTablePager, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: BbTablePager, isStandalone: true, selector: "bb-table-pager", inputs: { amountOfButtons: "amountOfButtons", showArrowButtons: "showArrowButtons", disabled: ["disabled", "disabled", booleanAttribute], pageNumber: "pageNumber", totalPages: "totalPages" }, host: { properties: { "class.disabled": "disabled" }, classAttribute: "bb-table-pager" }, providers: [
111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTablePager, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbTablePager, isStandalone: true, selector: "bb-table-pager", inputs: { amountOfButtons: "amountOfButtons", showArrowButtons: "showArrowButtons", disabled: ["disabled", "disabled", booleanAttribute], pageNumber: "pageNumber", totalPages: "totalPages" }, host: { properties: { "class.disabled": "disabled" }, classAttribute: "bb-table-pager" }, providers: [
113
113
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbTablePager), multi: true }
114
114
  ], ngImport: i0, template: "<ul class=\"bb-pager-list\">\n <!-- The previous page arrow button. -->\n @if (showArrowButtons) {\n <li class=\"bb-pager-list-item\"\n title=\"Previous page\">\n <button [disabled]=\"isPreviousDisabled$ | async\"\n (click)=\"goToPrevious()\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n <bb-icon src=\"material:keyboard_arrow_left\"></bb-icon>\n </button>\n </li>\n }\n\n <!-- The list of number buttons to navigate through the list. -->\n @if (list$ | async; as list) {\n @for (item of list; track $index) {\n <li [title]=\"'Page ' + item?.page\"\n class=\"bb-pager-list-item\">\n <button (click)=\"goToIndex(item?.page)\"\n [class.active]=\"item?.active\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n {{ item?.page }}\n </button>\n </li>\n }\n }\n\n <!-- The next page arrow button. -->\n @if (showArrowButtons) {\n <li class=\"bb-pager-list-item\"\n title=\"Next page\">\n <button [disabled]=\"isNextDisabled$ | async\"\n (click)=\"goToNext()\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n <bb-icon src=\"material:keyboard_arrow_right\"></bb-icon>\n </button>\n </li>\n }\n</ul>\n", styles: [".bb-table-pager{flex:1;display:flex;align-items:center;justify-content:flex-end}.bb-table-pager.disabled{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-pager-list{display:flex}.bb-pager-list-item{margin-left:.5rem}.bb-pager-list-button{padding:0;color:#3d464d;line-height:1;min-width:2rem;font-size:1rem;appearance:none;font-weight:500;min-height:2rem;-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex;border-radius:.25rem;justify-content:center;border:1px solid #b6bbc1;transition-duration:.2s;background-color:transparent;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:0 .375rem .375rem -.375rem #0000001a;transition-property:color,border-color,opacity,background-color}.bb-pager-list-button:hover,.bb-pager-list-button:focus{background-color:#0000000a}.bb-pager-list-button.active,.bb-pager-list-button.active:hover{color:#2196f3;cursor:default;border-color:#2196f3;background-color:transparent}.bb-pager-list-button:disabled{opacity:.35;cursor:default;pointer-events:none}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BbTablePager, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbTablePager, decorators: [{
117
117
  type: Component,
118
118
  args: [{ selector: 'bb-table-pager', changeDetection: ChangeDetectionStrategy.OnPush, host: {
119
119
  'class': 'bb-table-pager',
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
133
133
  }], totalPages: [{
134
134
  type: Input
135
135
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcGFnZXIvdGFibGUtcGFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcGFnZXIvdGFibGUtcGFnZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDeEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBbUIxQyxNQUFNLE9BQU8sWUFBWTtJQUVyQixVQUFVO0lBQ0QsZUFBZSxHQUFXLENBQUMsQ0FBQztJQUM1QixnQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFDSixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRWhFLGVBQWU7SUFDZixtQkFBbUIsQ0FBc0I7SUFDekMsZUFBZSxDQUFzQjtJQUNyQyxLQUFLLENBQWtEO0lBRXZELFdBQVc7SUFDWCxRQUFRLEdBQStCLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEQsU0FBUyxHQUFl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aUJBQ2MsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxhQUNmO3dCQUNQLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7cUJBQ3pGLGNBQ1csSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQzs4QkFLbkIsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ2dDLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBc0NoQyxVQUFVO3NCQURiLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCYkljb259IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzJztcbmltcG9ydCB7bWFwLCBzaGFyZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItdGFibGUtcGFnZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1wYWdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtcGFnZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi10YWJsZS1wYWdlcicsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCYlRhYmxlUGFnZXIpLCBtdWx0aTogdHJ1ZX1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgQmJJY29uXVxufSlcbmV4cG9ydCBjbGFzcyBCYlRhYmxlUGFnZXIgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoKSBhbW91bnRPZkJ1dHRvbnM6IG51bWJlciA9IDU7XG4gICAgQElucHV0KCkgc2hvd0Fycm93QnV0dG9uczogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gT2JzZXJ2YWJsZXMuXG4gICAgaXNQcmV2aW91c0Rpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc05leHREaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgbGlzdCQ6IE9ic2VydmFibGU8eyBwYWdlOiBudW1iZXIsIGFjdGl2ZTogYm9vbGVhbiB9W10+O1xuXG4gICAgLy8gTWV0aG9kcy5cbiAgICBvbkNoYW5nZTogKG5ld1ZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuICAgIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG5cbiAgICAvLyBEYXRhLlxuICAgIHByaXZhdGUgX3RvdGFsUGFnZXMkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcbiAgICBwcml2YXRlIF9wYWdlTnVtYmVyJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIHByZXZpb3VzIGJ1dHRvbiBpcyBkaXNhYmxlZC5cbiAgICAgICAgdGhpcy5pc1ByZXZpb3VzRGlzYWJsZWQkID0gdGhpcy5fcGFnZU51bWJlciQucGlwZShcbiAgICAgICAgICAgIG1hcChwYWdlTnVtYmVyID0+IHBhZ2VOdW1iZXIgPT09IDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIG5leHQgYnV0dG9uIGlzIGRpc2FibGVkLlxuICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3BhZ2VOdW1iZXIkLCB0aGlzLl90b3RhbFBhZ2VzJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtwYWdlTnVtYmVyLCB0b3RhbFBhZ2VzXSkgPT4gcGFnZU51bWJlciA9PT0gdG90YWxQYWdlcylcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGxpc3Qgd2l0aCBwYWdlIG51bWJlcnMuXG4gICAgICAgIHRoaXMubGlzdCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9wYWdlTnVtYmVyJCwgdGhpcy5fdG90YWxQYWdlcyRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbcGFnZU51bWJlciwgdG90YWxQYWdlc10pID0+IHRoaXMuZmlsdGVyQWN0aXZlUGFnZXMocGFnZU51bWJlciwgdG90YWxQYWdlcykpLFxuICAgICAgICAgICAgc2hhcmUoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwYWdlTnVtYmVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFnZU51bWJlciQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBwYWdlTnVtYmVyKG5ld1ZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGdldCB0b3RhbFBhZ2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdG90YWxQYWdlcyQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0b3RhbFBhZ2VzKG5ld1ZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbmV3VG90YWxQYWdlcyA9IE1hdGgubWF4KDEsIG5ld1ZhbHVlKTtcbiAgICAgICAgdGhpcy5fdG90YWxQYWdlcyQubmV4dChuZXdUb3RhbFBhZ2VzKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShuZXdWYWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlKG5ld1ZhbHVlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ29Ub1ByZXZpb3VzKCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX3BhZ2VOdW1iZXIkLmdldFZhbHVlKCkgLSAxO1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGdvVG9OZXh0KCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX3BhZ2VOdW1iZXIkLmdldFZhbHVlKCkgKyAxO1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGdvVG9JbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZShpbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGUocGFnZU51bWJlcjogbnVtYmVyLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgICAgIC8vIFlvdSBjYW4gb25seSB1cGRhdGUgd2hlbiBub3QgZGlzYWJsZWQuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG5ldyB2YWx1ZS5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBNYXRoLm1pbihcbiAgICAgICAgICAgIHRoaXMudG90YWxQYWdlcyxcbiAgICAgICAgICAgIE1hdGgubWF4KDEsIHBhZ2VOdW1iZXIpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgaWYgdGhlIHBhZ2UgbnVtYmVyIGlzIHRoZSBzYW1lLlxuICAgICAgICBpZiAodGhpcy5fcGFnZU51bWJlciQuZ2V0VmFsdWUoKSA9PT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFB1c2ggdGhlIG5ldyB2YWx1ZS5cbiAgICAgICAgdGhpcy5fcGFnZU51bWJlciQubmV4dChuZXdWYWx1ZSk7XG5cbiAgICAgICAgaWYgKG5vdGlmeSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub25DaGFuZ2UocGFnZU51bWJlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VzKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgICAgICBjb25zdCBtaW4gPSAxO1xuICAgICAgICBjb25zdCBtYXggPSB0aGlzLnRvdGFsUGFnZXM7XG4gICAgICAgIGNvbnN0IGFtb3VudCA9IE1hdGgubWF4KDEsIHRoaXMuYW1vdW50T2ZCdXR0b25zKTtcblxuICAgICAgICBjb25zdCBkYXRhID0gQXJyYXkoYW1vdW50KVxuICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgIC5tYXAoKF8sIGluZGV4KSA9PiBwYWdlTnVtYmVyICsgKGluZGV4IC0gMSkpO1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIGlmIHRoZSBtaW5pbXVtIHZhbHVlIGxlc3MgdGhhblxuICAgICAgICAvLyB0aGUgZmlyc3QgdmFsdWUuXG4gICAgICAgIGlmIChkYXRhWzBdIDwgbWluKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiBpdGVtICsgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIGRpZmZlcmVuY2Ugd2l0aCB0aGUgbWF4XG4gICAgICAgIC8vIGlmIHRoaXMgdmFsdWUgaXMgaGlnaGVyIHRoYW4gMCB3ZSBzaG91bGQgbWludXMgaXQuXG4gICAgICAgIGNvbnN0IGxhc3RWYWx1ZUluQXJyYXkgPSBkYXRhW2RhdGEubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IGRpZmZlcmVuY2VXaXRoTWF4ID0gbGFzdFZhbHVlSW5BcnJheSAtIG1heDtcbiAgICAgICAgaWYgKGRpZmZlcmVuY2VXaXRoTWF4ID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEubWFwKGl0ZW0gPT4gaXRlbSAtIGRpZmZlcmVuY2VXaXRoTWF4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEp1c3QgcmV0dXJuIHRoZSBkZWZhdWx0IGRhdGEuXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyQWN0aXZlUGFnZXMocGFnZU51bWJlcjogbnVtYmVyLCB0b3RhbFBhZ2VzOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlUGFnZXMocGFnZU51bWJlcilcbiAgICAgICAgICAgIC5maWx0ZXIocGFnZSA9PiBwYWdlID4gMCAmJiBwYWdlIDw9IHRvdGFsUGFnZXMpXG4gICAgICAgICAgICAubWFwKHBhZ2UgPT4gKHtwYWdlLCBhY3RpdmU6IHBhZ2VOdW1iZXIgPT09IHBhZ2V9KSk7XG4gICAgfVxuXG59XG4iLCI8dWwgY2xhc3M9XCJiYi1wYWdlci1saXN0XCI+XG4gICAgPCEtLSBUaGUgcHJldmlvdXMgcGFnZSBhcnJvdyBidXR0b24uIC0tPlxuICAgIEBpZiAoc2hvd0Fycm93QnV0dG9ucykge1xuICAgICAgICA8bGkgY2xhc3M9XCJiYi1wYWdlci1saXN0LWl0ZW1cIlxuICAgICAgICAgICAgdGl0bGU9XCJQcmV2aW91cyBwYWdlXCI+XG4gICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1ByZXZpb3VzRGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1ByZXZpb3VzKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLXBhZ2VyLWxpc3QtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxiYi1pY29uIHNyYz1cIm1hdGVyaWFsOmtleWJvYXJkX2Fycm93X2xlZnRcIj48L2JiLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICB9XG5cbiAgICA8IS0tIFRoZSBsaXN0IG9mIG51bWJlciBidXR0b25zIHRvIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3QuIC0tPlxuICAgIEBpZiAobGlzdCQgfCBhc3luYzsgYXMgbGlzdCkge1xuICAgICAgICBAZm9yIChpdGVtIG9mIGxpc3Q7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGxpIFt0aXRsZV09XCInUGFnZSAnICsgaXRlbT8ucGFnZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1wYWdlci1saXN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvSW5kZXgoaXRlbT8ucGFnZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtPy5hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1wYWdlci1saXN0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0/LnBhZ2UgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA8IS0tIFRoZSBuZXh0IHBhZ2UgYXJyb3cgYnV0dG9uLiAtLT5cbiAgICBAaWYgKHNob3dBcnJvd0J1dHRvbnMpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwiYmItcGFnZXItbGlzdC1pdGVtXCJcbiAgICAgICAgICAgIHRpdGxlPVwiTmV4dCBwYWdlXCI+XG4gICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc05leHREaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvTmV4dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1wYWdlci1saXN0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICA8YmItaWNvbiBzcmM9XCJtYXRlcmlhbDprZXlib2FyZF9hcnJvd19yaWdodFwiPjwvYmItaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgIH1cbjwvdWw+XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcGFnZXIvdGFibGUtcGFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcGFnZXIvdGFibGUtcGFnZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDeEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBbUIxQyxNQUFNLE9BQU8sWUFBWTtJQUVyQixVQUFVO0lBQ0QsZUFBZSxHQUFXLENBQUMsQ0FBQztJQUM1QixnQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFDSixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRWhFLGVBQWU7SUFDZixtQkFBbUIsQ0FBc0I7SUFDekMsZUFBZSxDQUFzQjtJQUNyQyxLQUFLLENBQWtEO0lBRXZELFdBQVc7SUFDWCxRQUFRLEdBQStCLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEQsU0FBUyxHQUFl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aUJBQ2MsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxhQUNmO3dCQUNQLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7cUJBQ3pGLGNBQ1csSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQzs4QkFLbkIsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ2dDLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBc0NoQyxVQUFVO3NCQURiLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCYkljb259IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzJztcbmltcG9ydCB7bWFwLCBzaGFyZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItdGFibGUtcGFnZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1wYWdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtcGFnZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi10YWJsZS1wYWdlcicsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCYlRhYmxlUGFnZXIpLCBtdWx0aTogdHJ1ZX1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgQmJJY29uXVxufSlcbmV4cG9ydCBjbGFzcyBCYlRhYmxlUGFnZXIgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoKSBhbW91bnRPZkJ1dHRvbnM6IG51bWJlciA9IDU7XG4gICAgQElucHV0KCkgc2hvd0Fycm93QnV0dG9uczogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gT2JzZXJ2YWJsZXMuXG4gICAgaXNQcmV2aW91c0Rpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc05leHREaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgbGlzdCQ6IE9ic2VydmFibGU8eyBwYWdlOiBudW1iZXIsIGFjdGl2ZTogYm9vbGVhbiB9W10+O1xuXG4gICAgLy8gTWV0aG9kcy5cbiAgICBvbkNoYW5nZTogKG5ld1ZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuICAgIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG5cbiAgICAvLyBEYXRhLlxuICAgIHByaXZhdGUgX3RvdGFsUGFnZXMkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcbiAgICBwcml2YXRlIF9wYWdlTnVtYmVyJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIHByZXZpb3VzIGJ1dHRvbiBpcyBkaXNhYmxlZC5cbiAgICAgICAgdGhpcy5pc1ByZXZpb3VzRGlzYWJsZWQkID0gdGhpcy5fcGFnZU51bWJlciQucGlwZShcbiAgICAgICAgICAgIG1hcChwYWdlTnVtYmVyID0+IHBhZ2VOdW1iZXIgPT09IDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIG5leHQgYnV0dG9uIGlzIGRpc2FibGVkLlxuICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3BhZ2VOdW1iZXIkLCB0aGlzLl90b3RhbFBhZ2VzJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtwYWdlTnVtYmVyLCB0b3RhbFBhZ2VzXSkgPT4gcGFnZU51bWJlciA9PT0gdG90YWxQYWdlcylcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGxpc3Qgd2l0aCBwYWdlIG51bWJlcnMuXG4gICAgICAgIHRoaXMubGlzdCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9wYWdlTnVtYmVyJCwgdGhpcy5fdG90YWxQYWdlcyRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbcGFnZU51bWJlciwgdG90YWxQYWdlc10pID0+IHRoaXMuZmlsdGVyQWN0aXZlUGFnZXMocGFnZU51bWJlciwgdG90YWxQYWdlcykpLFxuICAgICAgICAgICAgc2hhcmUoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwYWdlTnVtYmVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFnZU51bWJlciQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBwYWdlTnVtYmVyKG5ld1ZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGdldCB0b3RhbFBhZ2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdG90YWxQYWdlcyQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0b3RhbFBhZ2VzKG5ld1ZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbmV3VG90YWxQYWdlcyA9IE1hdGgubWF4KDEsIG5ld1ZhbHVlKTtcbiAgICAgICAgdGhpcy5fdG90YWxQYWdlcyQubmV4dChuZXdUb3RhbFBhZ2VzKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShuZXdWYWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlKG5ld1ZhbHVlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ29Ub1ByZXZpb3VzKCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX3BhZ2VOdW1iZXIkLmdldFZhbHVlKCkgLSAxO1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGdvVG9OZXh0KCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX3BhZ2VOdW1iZXIkLmdldFZhbHVlKCkgKyAxO1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGdvVG9JbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZShpbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGUocGFnZU51bWJlcjogbnVtYmVyLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgICAgIC8vIFlvdSBjYW4gb25seSB1cGRhdGUgd2hlbiBub3QgZGlzYWJsZWQuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG5ldyB2YWx1ZS5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBNYXRoLm1pbihcbiAgICAgICAgICAgIHRoaXMudG90YWxQYWdlcyxcbiAgICAgICAgICAgIE1hdGgubWF4KDEsIHBhZ2VOdW1iZXIpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgaWYgdGhlIHBhZ2UgbnVtYmVyIGlzIHRoZSBzYW1lLlxuICAgICAgICBpZiAodGhpcy5fcGFnZU51bWJlciQuZ2V0VmFsdWUoKSA9PT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFB1c2ggdGhlIG5ldyB2YWx1ZS5cbiAgICAgICAgdGhpcy5fcGFnZU51bWJlciQubmV4dChuZXdWYWx1ZSk7XG5cbiAgICAgICAgaWYgKG5vdGlmeSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub25DaGFuZ2UocGFnZU51bWJlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VzKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgICAgICBjb25zdCBtaW4gPSAxO1xuICAgICAgICBjb25zdCBtYXggPSB0aGlzLnRvdGFsUGFnZXM7XG4gICAgICAgIGNvbnN0IGFtb3VudCA9IE1hdGgubWF4KDEsIHRoaXMuYW1vdW50T2ZCdXR0b25zKTtcblxuICAgICAgICBjb25zdCBkYXRhID0gQXJyYXkoYW1vdW50KVxuICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgIC5tYXAoKF8sIGluZGV4KSA9PiBwYWdlTnVtYmVyICsgKGluZGV4IC0gMSkpO1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIGlmIHRoZSBtaW5pbXVtIHZhbHVlIGxlc3MgdGhhblxuICAgICAgICAvLyB0aGUgZmlyc3QgdmFsdWUuXG4gICAgICAgIGlmIChkYXRhWzBdIDwgbWluKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiBpdGVtICsgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIGRpZmZlcmVuY2Ugd2l0aCB0aGUgbWF4XG4gICAgICAgIC8vIGlmIHRoaXMgdmFsdWUgaXMgaGlnaGVyIHRoYW4gMCB3ZSBzaG91bGQgbWludXMgaXQuXG4gICAgICAgIGNvbnN0IGxhc3RWYWx1ZUluQXJyYXkgPSBkYXRhW2RhdGEubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IGRpZmZlcmVuY2VXaXRoTWF4ID0gbGFzdFZhbHVlSW5BcnJheSAtIG1heDtcbiAgICAgICAgaWYgKGRpZmZlcmVuY2VXaXRoTWF4ID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEubWFwKGl0ZW0gPT4gaXRlbSAtIGRpZmZlcmVuY2VXaXRoTWF4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEp1c3QgcmV0dXJuIHRoZSBkZWZhdWx0IGRhdGEuXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyQWN0aXZlUGFnZXMocGFnZU51bWJlcjogbnVtYmVyLCB0b3RhbFBhZ2VzOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlUGFnZXMocGFnZU51bWJlcilcbiAgICAgICAgICAgIC5maWx0ZXIocGFnZSA9PiBwYWdlID4gMCAmJiBwYWdlIDw9IHRvdGFsUGFnZXMpXG4gICAgICAgICAgICAubWFwKHBhZ2UgPT4gKHtwYWdlLCBhY3RpdmU6IHBhZ2VOdW1iZXIgPT09IHBhZ2V9KSk7XG4gICAgfVxuXG59XG4iLCI8dWwgY2xhc3M9XCJiYi1wYWdlci1saXN0XCI+XG4gICAgPCEtLSBUaGUgcHJldmlvdXMgcGFnZSBhcnJvdyBidXR0b24uIC0tPlxuICAgIEBpZiAoc2hvd0Fycm93QnV0dG9ucykge1xuICAgICAgICA8bGkgY2xhc3M9XCJiYi1wYWdlci1saXN0LWl0ZW1cIlxuICAgICAgICAgICAgdGl0bGU9XCJQcmV2aW91cyBwYWdlXCI+XG4gICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1ByZXZpb3VzRGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1ByZXZpb3VzKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLXBhZ2VyLWxpc3QtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxiYi1pY29uIHNyYz1cIm1hdGVyaWFsOmtleWJvYXJkX2Fycm93X2xlZnRcIj48L2JiLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICB9XG5cbiAgICA8IS0tIFRoZSBsaXN0IG9mIG51bWJlciBidXR0b25zIHRvIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3QuIC0tPlxuICAgIEBpZiAobGlzdCQgfCBhc3luYzsgYXMgbGlzdCkge1xuICAgICAgICBAZm9yIChpdGVtIG9mIGxpc3Q7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGxpIFt0aXRsZV09XCInUGFnZSAnICsgaXRlbT8ucGFnZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1wYWdlci1saXN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvSW5kZXgoaXRlbT8ucGFnZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtPy5hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1wYWdlci1saXN0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0/LnBhZ2UgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA8IS0tIFRoZSBuZXh0IHBhZ2UgYXJyb3cgYnV0dG9uLiAtLT5cbiAgICBAaWYgKHNob3dBcnJvd0J1dHRvbnMpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwiYmItcGFnZXItbGlzdC1pdGVtXCJcbiAgICAgICAgICAgIHRpdGxlPVwiTmV4dCBwYWdlXCI+XG4gICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc05leHREaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvTmV4dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1wYWdlci1saXN0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICA8YmItaWNvbiBzcmM9XCJtYXRlcmlhbDprZXlib2FyZF9hcnJvd19yaWdodFwiPjwvYmItaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgIH1cbjwvdWw+XG4iXX0=
@@ -5,8 +5,8 @@ import { BbTableCell } from './components/table-cell/table-cell.component';
5
5
  import { NgModule } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  export class TableModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: TableModule, imports: [BbTable,
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: TableModule, imports: [BbTable,
10
10
  BbTableColumnDef,
11
11
  BbTableRowDef,
12
12
  BbTableHeaderCell,
@@ -17,10 +17,10 @@ export class TableModule {
17
17
  BbTableHeaderCell,
18
18
  BbTableCell,
19
19
  BbTablePager] });
20
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableModule, imports: [BbTable,
20
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableModule, imports: [BbTable,
21
21
  BbTablePager] });
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableModule, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableModule, decorators: [{
24
24
  type: NgModule,
25
25
  args: [{
26
26
  imports: [
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
41
41
  ]
42
42
  }]
43
43
  }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUM3RixPQUFPLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDekUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFvQnZDLE1BQU0sT0FBTyxXQUFXO3VHQUFYLFdBQVc7d0dBQVgsV0FBVyxZQWhCaEIsT0FBTztZQUNQLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxZQUFZLGFBR1osT0FBTztZQUNQLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxZQUFZO3dHQUdQLFdBQVcsWUFoQmhCLE9BQU87WUFLUCxZQUFZOzsyRkFXUCxXQUFXO2tCQWxCdkIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFlBQVk7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxZQUFZO3FCQUNmO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYlRhYmxlSGVhZGVyQ2VsbH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWhlYWRlci1jZWxsL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiVGFibGUsIEJiVGFibGVDb2x1bW5EZWYsIEJiVGFibGVSb3dEZWZ9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtCYlRhYmxlUGFnZXJ9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1wYWdlci90YWJsZS1wYWdlci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYlRhYmxlQ2VsbH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWNlbGwvdGFibGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBCYlRhYmxlLFxuICAgICAgICBCYlRhYmxlQ29sdW1uRGVmLFxuICAgICAgICBCYlRhYmxlUm93RGVmLFxuICAgICAgICBCYlRhYmxlSGVhZGVyQ2VsbCxcbiAgICAgICAgQmJUYWJsZUNlbGwsXG4gICAgICAgIEJiVGFibGVQYWdlclxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBCYlRhYmxlLFxuICAgICAgICBCYlRhYmxlQ29sdW1uRGVmLFxuICAgICAgICBCYlRhYmxlUm93RGVmLFxuICAgICAgICBCYlRhYmxlSGVhZGVyQ2VsbCxcbiAgICAgICAgQmJUYWJsZUNlbGwsXG4gICAgICAgIEJiVGFibGVQYWdlclxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUge1xufVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90YWJsZS9zcmMvbGliL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUM3RixPQUFPLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDekUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFvQnZDLE1BQU0sT0FBTyxXQUFXO3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxZQWhCaEIsT0FBTztZQUNQLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxZQUFZLGFBR1osT0FBTztZQUNQLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxZQUFZO3lHQUdQLFdBQVcsWUFoQmhCLE9BQU87WUFLUCxZQUFZOzs0RkFXUCxXQUFXO2tCQWxCdkIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFlBQVk7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxZQUFZO3FCQUNmO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYlRhYmxlSGVhZGVyQ2VsbH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWhlYWRlci1jZWxsL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiVGFibGUsIEJiVGFibGVDb2x1bW5EZWYsIEJiVGFibGVSb3dEZWZ9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtCYlRhYmxlUGFnZXJ9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1wYWdlci90YWJsZS1wYWdlci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYlRhYmxlQ2VsbH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWNlbGwvdGFibGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBCYlRhYmxlLFxuICAgICAgICBCYlRhYmxlQ29sdW1uRGVmLFxuICAgICAgICBCYlRhYmxlUm93RGVmLFxuICAgICAgICBCYlRhYmxlSGVhZGVyQ2VsbCxcbiAgICAgICAgQmJUYWJsZUNlbGwsXG4gICAgICAgIEJiVGFibGVQYWdlclxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBCYlRhYmxlLFxuICAgICAgICBCYlRhYmxlQ29sdW1uRGVmLFxuICAgICAgICBCYlRhYmxlUm93RGVmLFxuICAgICAgICBCYlRhYmxlSGVhZGVyQ2VsbCxcbiAgICAgICAgQmJUYWJsZUNlbGwsXG4gICAgICAgIEJiVGFibGVQYWdlclxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUge1xufVxuIl19
@@ -10,14 +10,14 @@ export class TooltipContainerComponent {
10
10
  .filter(item => !!item)
11
11
  .join(' ');
12
12
  }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TooltipContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: TooltipContainerComponent, isStandalone: true, selector: "bb-tooltip-container", host: { properties: { "class": "this.classBinding" }, classAttribute: "bb-tooltip-container" }, ngImport: i0, template: "<ng-template [bbTemplate]=\"data\">{{ data }}</ng-template>\n", styles: [".bb-tooltip-container{color:#fff;display:block;max-width:25rem;line-height:1.5;-webkit-user-select:none;user-select:none;position:relative;font-size:.875rem;pointer-events:none;border-radius:.5rem;padding:.5rem .75rem;background-color:#111}.bb-tooltip-container:after{width:0;height:0;content:\"\";display:block;position:absolute;border-style:solid}.bb-tooltip-container>small{display:block;font-size:.75rem;margin-top:.25rem;color:#fff6}.bb-tooltip-container-bottom,.bb-tooltip-container-top,.bb-tooltip-container-left,.bb-tooltip-container-right{pointer-events:none}.bb-tooltip-container-top .bb-tooltip-container:after{left:50%;top:100%;transform:translate(-50%);border-width:.5rem .5rem 0 .5rem;border-color:#111111 transparent transparent transparent}.bb-tooltip-container-bottom .bb-tooltip-container:after{left:50%;bottom:100%;transform:translate(-50%);border-width:0 .5rem .5rem .5rem;border-color:transparent transparent #111111 transparent}.bb-tooltip-container-left .bb-tooltip-container:after{top:50%;left:100%;transform:translateY(-50%);border-width:.5rem 0 .5rem .5rem;border-color:transparent transparent transparent #111111}.bb-tooltip-container-right .bb-tooltip-container:after{top:50%;right:100%;transform:translateY(-50%);border-width:.5rem .5rem .5rem 0;border-color:transparent #111111 transparent transparent}\n"], dependencies: [{ kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TooltipContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TooltipContainerComponent, isStandalone: true, selector: "bb-tooltip-container", host: { properties: { "class": "this.classBinding" }, classAttribute: "bb-tooltip-container" }, ngImport: i0, template: "<ng-template [bbTemplate]=\"data\">{{ data }}</ng-template>\n", styles: [".bb-tooltip-container{color:#fff;display:block;max-width:25rem;line-height:1.5;-webkit-user-select:none;user-select:none;position:relative;font-size:.875rem;pointer-events:none;border-radius:.5rem;padding:.5rem .75rem;background-color:#111}.bb-tooltip-container:after{width:0;height:0;content:\"\";display:block;position:absolute;border-style:solid}.bb-tooltip-container>small{display:block;font-size:.75rem;margin-top:.25rem;color:#fff6}.bb-tooltip-container-bottom,.bb-tooltip-container-top,.bb-tooltip-container-left,.bb-tooltip-container-right{pointer-events:none}.bb-tooltip-container-top .bb-tooltip-container:after{left:50%;top:100%;transform:translate(-50%);border-width:.5rem .5rem 0 .5rem;border-color:#111111 transparent transparent transparent}.bb-tooltip-container-bottom .bb-tooltip-container:after{left:50%;bottom:100%;transform:translate(-50%);border-width:0 .5rem .5rem .5rem;border-color:transparent transparent #111111 transparent}.bb-tooltip-container-left .bb-tooltip-container:after{top:50%;left:100%;transform:translateY(-50%);border-width:.5rem 0 .5rem .5rem;border-color:transparent transparent transparent #111111}.bb-tooltip-container-right .bb-tooltip-container:after{top:50%;right:100%;transform:translateY(-50%);border-width:.5rem .5rem .5rem 0;border-color:transparent #111111 transparent transparent}\n"], dependencies: [{ kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TooltipContainerComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TooltipContainerComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'bb-tooltip-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-tooltip-container' }, preserveWhitespaces: false, standalone: true, imports: [BbTemplate], template: "<ng-template [bbTemplate]=\"data\">{{ data }}</ng-template>\n", styles: [".bb-tooltip-container{color:#fff;display:block;max-width:25rem;line-height:1.5;-webkit-user-select:none;user-select:none;position:relative;font-size:.875rem;pointer-events:none;border-radius:.5rem;padding:.5rem .75rem;background-color:#111}.bb-tooltip-container:after{width:0;height:0;content:\"\";display:block;position:absolute;border-style:solid}.bb-tooltip-container>small{display:block;font-size:.75rem;margin-top:.25rem;color:#fff6}.bb-tooltip-container-bottom,.bb-tooltip-container-top,.bb-tooltip-container-left,.bb-tooltip-container-right{pointer-events:none}.bb-tooltip-container-top .bb-tooltip-container:after{left:50%;top:100%;transform:translate(-50%);border-width:.5rem .5rem 0 .5rem;border-color:#111111 transparent transparent transparent}.bb-tooltip-container-bottom .bb-tooltip-container:after{left:50%;bottom:100%;transform:translate(-50%);border-width:0 .5rem .5rem .5rem;border-color:transparent transparent #111111 transparent}.bb-tooltip-container-left .bb-tooltip-container:after{top:50%;left:100%;transform:translateY(-50%);border-width:.5rem 0 .5rem .5rem;border-color:transparent transparent transparent #111111}.bb-tooltip-container-right .bb-tooltip-container:after{top:50%;right:100%;transform:translateY(-50%);border-width:.5rem .5rem .5rem 0;border-color:transparent #111111 transparent transparent}\n"] }]
19
19
  }], propDecorators: { classBinding: [{
20
20
  type: HostBinding,
21
21
  args: ['class']
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90b29sdGlwL3NyYy9saWIvdG9vbHRpcC1jb250YWluZXIvdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90b29sdGlwL3NyYy9saWIvdG9vbHRpcC1jb250YWluZXIvdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFjLE1BQU0sdUJBQXVCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQWF6RCxNQUFNLE9BQU8seUJBQXlCO0lBRXpCLElBQUksR0FBZ0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sR0FBVyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFakQsSUFDSSxZQUFZO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQzt1R0FWUSx5QkFBeUI7MkZBQXpCLHlCQUF5QixnTENmdEMsK0RBQ0EsZzNDRFljLFVBQVU7OzJGQUVYLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBQyx1QkFDbEIsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLFVBQVUsQ0FBQzs4QkFRakIsWUFBWTtzQkFEZixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VE9PTFRJUF9DTEFTUywgVE9PTFRJUF9EQVRBLCBUb29sdGlwRGF0YX0gZnJvbSAnLi4vdG9vbHRpcC5pbnRlcmZhY2VzJztcbmltcG9ydCB7QmJUZW1wbGF0ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLXRvb2x0aXAtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rvb2x0aXAtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLXRvb2x0aXAtY29udGFpbmVyJ30sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQmJUZW1wbGF0ZV1cbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbnRhaW5lckNvbXBvbmVudCB7XG5cbiAgICByZWFkb25seSBkYXRhOiBUb29sdGlwRGF0YSA9IGluamVjdChUT09MVElQX0RBVEEpO1xuICAgIHJlYWRvbmx5IGNsYXNzZXM6IHN0cmluZyA9IGluamVjdChUT09MVElQX0NMQVNTKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjbGFzc0JpbmRpbmcoKSB7XG4gICAgICAgIHJldHVybiBbdGhpcy5jbGFzc2VzXVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+ICEhaXRlbSlcbiAgICAgICAgICAgIC5qb2luKCcgJyk7XG4gICAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwiZGF0YVwiPnt7IGRhdGEgfX08L25nLXRlbXBsYXRlPlxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90b29sdGlwL3NyYy9saWIvdG9vbHRpcC1jb250YWluZXIvdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90b29sdGlwL3NyYy9saWIvdG9vbHRpcC1jb250YWluZXIvdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFjLE1BQU0sdUJBQXVCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQWF6RCxNQUFNLE9BQU8seUJBQXlCO0lBRXpCLElBQUksR0FBZ0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sR0FBVyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFakQsSUFDSSxZQUFZO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQzt3R0FWUSx5QkFBeUI7NEZBQXpCLHlCQUF5QixnTENmdEMsK0RBQ0EsZzNDRFljLFVBQVU7OzRGQUVYLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBQyx1QkFDbEIsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLFVBQVUsQ0FBQzs4QkFRakIsWUFBWTtzQkFEZixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VE9PTFRJUF9DTEFTUywgVE9PTFRJUF9EQVRBLCBUb29sdGlwRGF0YX0gZnJvbSAnLi4vdG9vbHRpcC5pbnRlcmZhY2VzJztcbmltcG9ydCB7QmJUZW1wbGF0ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLXRvb2x0aXAtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rvb2x0aXAtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLXRvb2x0aXAtY29udGFpbmVyJ30sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQmJUZW1wbGF0ZV1cbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbnRhaW5lckNvbXBvbmVudCB7XG5cbiAgICByZWFkb25seSBkYXRhOiBUb29sdGlwRGF0YSA9IGluamVjdChUT09MVElQX0RBVEEpO1xuICAgIHJlYWRvbmx5IGNsYXNzZXM6IHN0cmluZyA9IGluamVjdChUT09MVElQX0NMQVNTKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjbGFzc0JpbmRpbmcoKSB7XG4gICAgICAgIHJldHVybiBbdGhpcy5jbGFzc2VzXVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+ICEhaXRlbSlcbiAgICAgICAgICAgIC5qb2luKCcgJyk7XG4gICAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwiZGF0YVwiPnt7IGRhdGEgfX08L25nLXRlbXBsYXRlPlxuIl19