@energycap/components 0.44.2-github-actions.20250919-1816 → 0.44.2-github-actions.20250919-1421

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 (184) hide show
  1. package/README.md +188 -188
  2. package/esm2022/lib/components.module.mjs +1 -1
  3. package/esm2022/lib/controls/banner/banner.component.mjs +3 -3
  4. package/esm2022/lib/controls/button/button.component.mjs +3 -3
  5. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +1 -1
  6. package/esm2022/lib/controls/button/copy-button.directive.mjs +1 -1
  7. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +1 -1
  8. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +1 -1
  9. package/esm2022/lib/controls/calendar/calendar.component.mjs +3 -3
  10. package/esm2022/lib/controls/calendar/calendar.types.mjs +1 -1
  11. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +3 -3
  12. package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +1 -1
  13. package/esm2022/lib/controls/combobox/combobox.component.mjs +3 -3
  14. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +1 -1
  15. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +1 -1
  16. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +1 -1
  17. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +1 -1
  18. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +1 -1
  19. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +1 -1
  20. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +1 -1
  21. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +1 -1
  22. package/esm2022/lib/controls/date-input/date-input.component.mjs +3 -3
  23. package/esm2022/lib/controls/date-input/date-input.types.mjs +1 -1
  24. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +3 -3
  25. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +3 -3
  26. package/esm2022/lib/controls/form-control/form-control.component.mjs +3 -3
  27. package/esm2022/lib/controls/form-control-base.mjs +1 -1
  28. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +3 -3
  29. package/esm2022/lib/controls/form-group/form-group.component.mjs +3 -3
  30. package/esm2022/lib/controls/help-popover/help-popover.component.mjs +3 -3
  31. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +3 -3
  32. package/esm2022/lib/controls/link-button/link-button.component.mjs +1 -1
  33. package/esm2022/lib/controls/menu/menu.component.mjs +3 -3
  34. package/esm2022/lib/controls/navigation/link-item.mjs +1 -1
  35. package/esm2022/lib/controls/navigation/nav-group.mjs +1 -1
  36. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +1 -1
  37. package/esm2022/lib/controls/navigation/nav-item.mjs +1 -1
  38. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +3 -3
  39. package/esm2022/lib/controls/popover/popover.component.mjs +3 -3
  40. package/esm2022/lib/controls/radio-button/radio-button-option.mjs +1 -1
  41. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +3 -3
  42. package/esm2022/lib/controls/select/select.component.mjs +3 -3
  43. package/esm2022/lib/controls/tabs/tabs.component.mjs +3 -3
  44. package/esm2022/lib/controls/textbox/textbox.component.mjs +3 -3
  45. package/esm2022/lib/core/cache.service.mjs +1 -1
  46. package/esm2022/lib/core/custom-validators.mjs +1 -1
  47. package/esm2022/lib/core/date-time-helper.mjs +1 -1
  48. package/esm2022/lib/core/error.service.mjs +1 -1
  49. package/esm2022/lib/core/router-helper.service.mjs +1 -1
  50. package/esm2022/lib/core/scroll.service.mjs +1 -1
  51. package/esm2022/lib/core/telemetry-tracker.service.mjs +1 -1
  52. package/esm2022/lib/core/telemetry.service.mjs +1 -1
  53. package/esm2022/lib/core/validation-message.service.mjs +1 -1
  54. package/esm2022/lib/core/validation-patterns.mjs +1 -1
  55. package/esm2022/lib/core/window.service.mjs +1 -1
  56. package/esm2022/lib/display/app-bar/app-bar.component.mjs +3 -3
  57. package/esm2022/lib/display/avatar/avatar.component.mjs +1 -1
  58. package/esm2022/lib/display/avatar/avatar.service.mjs +1 -1
  59. package/esm2022/lib/display/confirm/confirm.component.mjs +3 -3
  60. package/esm2022/lib/display/dialog/dialog-content.mjs +1 -1
  61. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +3 -3
  62. package/esm2022/lib/display/dialog/dialog-types.mjs +1 -1
  63. package/esm2022/lib/display/dialog/dialog.component.mjs +1 -1
  64. package/esm2022/lib/display/dialog/dialog.service.mjs +1 -1
  65. package/esm2022/lib/display/help/help-types.mjs +1 -1
  66. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +1 -1
  67. package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +1 -1
  68. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +3 -3
  69. package/esm2022/lib/display/item-display/item-display.component.mjs +3 -3
  70. package/esm2022/lib/display/json-display/json-display.component.mjs +3 -3
  71. package/esm2022/lib/display/resizable/resizable-base.mjs +1 -1
  72. package/esm2022/lib/display/resizable/resizable.component.mjs +7 -7
  73. package/esm2022/lib/display/spinner/spinner.component.mjs +3 -3
  74. package/esm2022/lib/display/splash/splash.component.mjs +3 -3
  75. package/esm2022/lib/display/splash/splash.service.mjs +1 -1
  76. package/esm2022/lib/display/table/resizable-column.component.mjs +3 -3
  77. package/esm2022/lib/display/table/resizable-table.directive.mjs +1 -1
  78. package/esm2022/lib/display/table/searchable-table.component.mjs +3 -3
  79. package/esm2022/lib/display/table/table-detail-row.component.mjs +11 -11
  80. package/esm2022/lib/display/table/table-locked-column.component.mjs +1 -1
  81. package/esm2022/lib/display/table/table-master-header-row.component.mjs +1 -1
  82. package/esm2022/lib/display/table/table-master-row.component.mjs +3 -3
  83. package/esm2022/lib/display/table/table-pagination.component.mjs +3 -3
  84. package/esm2022/lib/display/table/table-selectable-row.component.mjs +3 -3
  85. package/esm2022/lib/display/table/table.component.mjs +3 -3
  86. package/esm2022/lib/display/tags/tag.mjs +1 -1
  87. package/esm2022/lib/display/tags/tags.component.mjs +3 -3
  88. package/esm2022/lib/display/toast/toast/toast.component.mjs +3 -3
  89. package/esm2022/lib/display/toast/toast-types.mjs +1 -1
  90. package/esm2022/lib/display/toast/toast.service.mjs +1 -1
  91. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +3 -3
  92. package/esm2022/lib/display/tooltip/tooltip.component.mjs +3 -3
  93. package/esm2022/lib/display/tooltip/tooltip.service.mjs +1 -1
  94. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +1 -1
  95. package/esm2022/lib/display/tree/tree.component.mjs +3 -3
  96. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +3 -3
  97. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +1 -1
  98. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +1 -1
  99. package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +1 -1
  100. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +1 -1
  101. package/esm2022/lib/shared/display/pipes/date-display-2.pipe.mjs +1 -1
  102. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +1 -1
  103. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +1 -1
  104. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +1 -1
  105. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +1 -1
  106. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +1 -1
  107. package/esm2022/lib/shared/display.mjs +1 -1
  108. package/esm2022/lib/shared/form-group.helper.mjs +1 -1
  109. package/esm2022/lib/shared/json-helper.mjs +1 -1
  110. package/esm2022/lib/shared/lodash-helper.mjs +1 -1
  111. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +1 -1
  112. package/esm2022/lib/shared/page/page-statuses.mjs +1 -1
  113. package/esm2022/lib/shared/page/page-title/page-title.component.mjs +3 -3
  114. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +3 -3
  115. package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +1 -1
  116. package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +1 -1
  117. package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +1 -1
  118. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +1 -1
  119. package/esm2022/lib/shared/testing/public-mocks.spec.mjs +1 -1
  120. package/esm2022/lib/shared/testing/spy-factory.spec.mjs +1 -1
  121. package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +1 -1
  122. package/esm2022/lib/shared/user-preference.service.mjs +1 -1
  123. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +1 -1
  124. package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +3 -3
  125. package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +3 -3
  126. package/esm2022/public-api.mjs +1 -1
  127. package/fesm2022/energycap-components.mjs +104 -104
  128. package/fesm2022/energycap-components.mjs.map +1 -1
  129. package/package.json +1 -1
  130. package/schematics/collection.json +4 -4
  131. package/src/assets/images/favicon-ech.svg +14 -14
  132. package/src/assets/images/favicon-esa.svg +6 -6
  133. package/src/assets/images/favicon-eum.svg +13 -13
  134. package/src/assets/images/favicon-whitelabel.svg +4 -4
  135. package/src/assets/images/favicon.svg +12 -12
  136. package/src/assets/images/icon-carbonhub.svg +10 -10
  137. package/src/assets/images/icon-eum.svg +5 -5
  138. package/src/assets/images/icon-ucp.svg +12 -12
  139. package/src/assets/images/icon-wattics.svg +5 -5
  140. package/src/assets/images/icon.svg +11 -11
  141. package/src/assets/images/logo.svg +10 -10
  142. package/src/assets/images/splash-electric.svg +3 -3
  143. package/src/assets/images/splash-interval.svg +3 -3
  144. package/src/assets/images/splash-seedling.svg +11 -11
  145. package/src/assets/images/splash-water.svg +3 -3
  146. package/src/assets/locales/en_US.json +58 -58
  147. package/src/assets/scripts/unsupported-browser.js +17 -17
  148. package/src/styles/_base.scss +38 -38
  149. package/src/styles/_colors.scss +96 -96
  150. package/src/styles/_core.scss +3 -3
  151. package/src/styles/_functions.scss +114 -114
  152. package/src/styles/_global-variables.scss +229 -229
  153. package/src/styles/_icons.scss +23 -23
  154. package/src/styles/bootstrap/_grid.scss +33 -33
  155. package/src/styles/bootstrap/_reboot.scss +322 -322
  156. package/src/styles/components/_card.scss +21 -21
  157. package/src/styles/components/_link-icons.scss +37 -37
  158. package/src/styles/components/_splash.scss +150 -150
  159. package/src/styles/components/_tag.scss +18 -18
  160. package/src/styles/components/_unsupported-browsers.scss +23 -23
  161. package/src/styles/email/_email-base.scss +227 -227
  162. package/src/styles/email/email.scss +42 -42
  163. package/src/styles/index.scss +28 -28
  164. package/src/styles/mixins/_animations.scss +17 -17
  165. package/src/styles/mixins/_button-base.scss +185 -185
  166. package/src/styles/mixins/_card-base.scss +40 -40
  167. package/src/styles/mixins/_common.scss +51 -51
  168. package/src/styles/mixins/_dialog-base.scss +95 -95
  169. package/src/styles/mixins/_form-control-base.scss +640 -640
  170. package/src/styles/mixins/_login.scss +74 -74
  171. package/src/styles/mixins/_menu-base.scss +153 -153
  172. package/src/styles/mixins/_overlay-base.scss +32 -32
  173. package/src/styles/mixins/_resizable-base.scss +57 -57
  174. package/src/styles/mixins/_spinner-base.scss +34 -34
  175. package/src/styles/mixins/_table-base.scss +297 -297
  176. package/src/styles/mixins/_tabs-base.scss +146 -146
  177. package/src/styles/mixins/_tags-base.scss +121 -121
  178. package/src/styles/mixins/_text.scss +89 -89
  179. package/src/styles/mixins.scss +14 -14
  180. package/src/styles/utilities/_borders.scss +29 -29
  181. package/src/styles/utilities/_common.scss +49 -49
  182. package/src/styles/utilities/_layout.scss +115 -115
  183. package/src/styles/utilities/_spacing.scss +64 -64
  184. package/src/styles/utilities/_text.scss +139 -139
@@ -130,13 +130,13 @@ export class TablePaginationComponent {
130
130
  });
131
131
  }
132
132
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TablePaginationComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TablePaginationComponent, selector: "ec-table-pagination", inputs: { id: "id", totalItems: "totalItems", pageSize: "pageSize", pageNumber: "pageNumber", maxTabs: "maxTabs", disablePaginationControls: "disablePaginationControls" }, outputs: { pageChanged: "pageChanged" }, host: { classAttribute: "d-flex px-2 align-items-center" }, usesOnChanges: true, ngImport: i0, template: "<ec-tabs id=\"{{id}}_pages\"\n class=\"my-2 is-condensed\"\n [tabGroup]=\"currentTabs\"\n tabStyle=\"tiles\">\n</ec-tabs>\n<ec-dropdown id=\"{{id}}_morePages\"\n *ngIf=\"dropdownItems.length > 1\"\n class=\"my-1 ml-1\"\n menuTemplateType=\"label\"\n icon=\"icon-more\"\n menuPosition=\"left\"\n [menuMinWidth]=\"80\"\n [showArrow]=\"false\"\n [popupFixed]=\"true\"\n [items]=\"dropdownItems\"\n [disabled]=\"disablePaginationControls\"\n (itemSelected)=\"onItemSelected($event)\">\n</ec-dropdown>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TabsComponent, selector: "ec-tabs", inputs: ["id", "tabindex", "tabStyle", "tabGroup"] }, { kind: "component", type: i3.DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }] }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TablePaginationComponent, selector: "ec-table-pagination", inputs: { id: "id", totalItems: "totalItems", pageSize: "pageSize", pageNumber: "pageNumber", maxTabs: "maxTabs", disablePaginationControls: "disablePaginationControls" }, outputs: { pageChanged: "pageChanged" }, host: { classAttribute: "d-flex px-2 align-items-center" }, usesOnChanges: true, ngImport: i0, template: "<ec-tabs id=\"{{id}}_pages\"\r\n class=\"my-2 is-condensed\"\r\n [tabGroup]=\"currentTabs\"\r\n tabStyle=\"tiles\">\r\n</ec-tabs>\r\n<ec-dropdown id=\"{{id}}_morePages\"\r\n *ngIf=\"dropdownItems.length > 1\"\r\n class=\"my-1 ml-1\"\r\n menuTemplateType=\"label\"\r\n icon=\"icon-more\"\r\n menuPosition=\"left\"\r\n [menuMinWidth]=\"80\"\r\n [showArrow]=\"false\"\r\n [popupFixed]=\"true\"\r\n [items]=\"dropdownItems\"\r\n [disabled]=\"disablePaginationControls\"\r\n (itemSelected)=\"onItemSelected($event)\">\r\n</ec-dropdown>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TabsComponent, selector: "ec-tabs", inputs: ["id", "tabindex", "tabStyle", "tabGroup"] }, { kind: "component", type: i3.DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }] }); }
134
134
  }
135
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TablePaginationComponent, decorators: [{
136
136
  type: Component,
137
137
  args: [{ selector: 'ec-table-pagination', host: {
138
138
  class: 'd-flex px-2 align-items-center'
139
- }, template: "<ec-tabs id=\"{{id}}_pages\"\n class=\"my-2 is-condensed\"\n [tabGroup]=\"currentTabs\"\n tabStyle=\"tiles\">\n</ec-tabs>\n<ec-dropdown id=\"{{id}}_morePages\"\n *ngIf=\"dropdownItems.length > 1\"\n class=\"my-1 ml-1\"\n menuTemplateType=\"label\"\n icon=\"icon-more\"\n menuPosition=\"left\"\n [menuMinWidth]=\"80\"\n [showArrow]=\"false\"\n [popupFixed]=\"true\"\n [items]=\"dropdownItems\"\n [disabled]=\"disablePaginationControls\"\n (itemSelected)=\"onItemSelected($event)\">\n</ec-dropdown>" }]
139
+ }, template: "<ec-tabs id=\"{{id}}_pages\"\r\n class=\"my-2 is-condensed\"\r\n [tabGroup]=\"currentTabs\"\r\n tabStyle=\"tiles\">\r\n</ec-tabs>\r\n<ec-dropdown id=\"{{id}}_morePages\"\r\n *ngIf=\"dropdownItems.length > 1\"\r\n class=\"my-1 ml-1\"\r\n menuTemplateType=\"label\"\r\n icon=\"icon-more\"\r\n menuPosition=\"left\"\r\n [menuMinWidth]=\"80\"\r\n [showArrow]=\"false\"\r\n [popupFixed]=\"true\"\r\n [items]=\"dropdownItems\"\r\n [disabled]=\"disablePaginationControls\"\r\n (itemSelected)=\"onItemSelected($event)\">\r\n</ec-dropdown>" }]
140
140
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { id: [{
141
141
  type: Input
142
142
  }], totalItems: [{
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
152
152
  }], pageChanged: [{
153
153
  type: Output
154
154
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWJsZS90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RhYmxlL3RhYmxlLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7OztBQXVCL0QsTUFBTSxPQUFPLHdCQUF3QjtJQTBEbkMsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUEzQ2xDOzs7V0FHRztRQUNNLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDTSxZQUFPLEdBQVksRUFBRSxDQUFDO1FBRS9CLHNFQUFzRTtRQUM3RCw4QkFBeUIsR0FBYSxLQUFLLENBQUM7UUFFckQ7Ozs7Ozs7Ozs7Ozs7Ozs7V0FnQkc7UUFDTyxnQkFBVyxHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJFOztXQUVHO1FBQ0ksa0JBQWEsR0FBMEIsRUFBRSxDQUFDO1FBRWpEOztXQUVHO1FBQ0ksZ0JBQVcsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBRVIsQ0FBQztJQUd2QyxXQUFXO1FBQ1QsSUFBRyxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNsQyxPQUFP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RSxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUM7U0FDOUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6SlUsd0JBQXdCO21HQUF4Qix3QkFBd0IsaVdDMUJyQyw4b0JBaUJjOzs0RkRTRCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UscUJBQXFCLFFBRXpCO3dCQUNKLEtBQUssRUFBRSxnQ0FBZ0M7cUJBQ3hDOytFQUlRLEVBQUU7c0JBQVYsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQW1CSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9jb250cm9scy9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IE5hdkl0ZW0gfSBmcm9tICcuLi8uLi9jb250cm9scy9uYXZpZ2F0aW9uL25hdi1pdGVtJztcbmltcG9ydCB7IE5hdkdyb3VwIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvbmF2aWdhdGlvbi9uYXYtZ3JvdXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luZ0luZm8ge1xuICAvKipOdW1iZXIgb2YgaXRlbXMgdG8gc2tpcCB0byBnZXQgdG8gdGhpcyBwYWdlKi9cbiAgc2tpcDogbnVtYmVyLFxuICAvKipOdW1iZXIgb2YgaXRlbXMgaW4gdGhpcyBwYWdlKi9cbiAgcGFnZVNpemU6IG51bWJlcixcbiAgLyoqVGhlIG51bWJlciBvZiB0aGUgcGFnZSovXG4gIHBhZ2VOdW1iZXI6IG51bWJlclxufVxuXG5pbnRlcmZhY2UgUGFnZVJhbmdlIHtcbiAgZmlyc3RQYWdlOiBudW1iZXIsXG4gIGxhc3RQYWdlOiBudW1iZXJcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWMtdGFibGUtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1mbGV4IHB4LTIgYWxpZ24taXRlbXMtY2VudGVyJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRvdGFsIG51bWJlciBvZiByb3dzIHRoYXQgd2UgbmVlZCB0byBwYWdlIHRocm91Z2guXG4gICAqIGkuZS4gdGhlIHN1bSBvZiBhbGwgcm93cyBvbiBhbGwgcGFnZXMuXG4gICAqL1xuICBASW5wdXQoKSB0b3RhbEl0ZW1zITogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXggc2l6ZSBvZiBhIHBhZ2UuXG4gICAqL1xuICBASW5wdXQoKSBwYWdlU2l6ZSE6IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhZ2UuXG4gICAqIEluaXRpYWwgdmFsdWUgaXMgMSwgY2FuIGJlIG92ZXJyaWRkZW4gdG8gY2hhbmdlIHRoZSBzdGFydGluZyBwYWdlIG51bWJlci5cbiAgICovXG4gIEBJbnB1dCgpIHBhZ2VOdW1iZXI6IG51bWJlciA9IDE7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIHBhZ2UgdGFicyB0byBzaG93XG4gICAqL1xuICBASW5wdXQoKSBtYXhUYWJzPzogbnVtYmVyID0gMTA7XG5cbiAgLyoqIFdoZW4gdHJ1ZSB0aGUgdGFicyBhbmQgdGhlIG1vcmUgcGFnZXMgZHJvcGRvd24gd2lsbCBiZSBkaXNhYmxlZCAqL1xuICBASW5wdXQoKSBkaXNhYmxlUGFnaW5hdGlvbkNvbnRyb2xzPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBwYWdlIGNoYW5nZXMuXG4gICAqIFxuICAgKiBCaW5kIHRvIHRoZSBldmVudCBpbiBhIHRlbXBsYXRlIHVzaW5nIGEgZnVuY3Rpb24gdGhhdCB1c2VzIHRoZSBcInNraXBcIiBhbmQgXCJwYWdlU2l6ZVwiXG4gICAqIHByb3BlcnRpZXMgdG8gc2xpY2UgdGhlIG5ldyBwYWdlIGZyb20geW91ciBkYXRhIHNldC5cbiAgICogXG4gICAqIEBleGFtcGxlXG4gICAqIC8vLmh0bWxcbiAgICogKHBhZ2VDaGFuZ2VkKT1cIm9uUGFnZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAqIC8vLnRzXG4gICAqIHB1YmxpYyBvblBhZ2VDaGFuZ2VkKGV2ZW50OiBQYWdpbmdJbmZvKSB7XG4gICAqICB0aGlzLmN1cnJlbnRQYWdlSXRlbXMgPSB0aGlzLnBhZ2luYXRlZFRhYmxlSXRlbXMuc2xpY2UoZXZlbnQuc2tpcCwgZXZlbnQuc2tpcCArIGV2ZW50LnBhZ2VTaXplKTtcbiAgICogfVxuICAgKiAvL1NpbmNlIHBhZ2VDaGFuZ2VkIGRvZXNuJ3QgZW1pdCBmb3IgdGhlIGluaXRpYWwgcGFnZSwgb25QYWdlQ2hhbmdlZCBzaG91bGQgYmUgbWFudWFsbHkgY2FsbGVkIGR1cmluZyBpbml0aWFsaXphdGlvbiBcbiAgICogLy91c2luZyBnZXRQYWdpbmdJbmZvOlxuICAgKiB0aGlzLm9uUGFnZUNoYW5nZWQoVGFibGVQYWdpbmF0aW9uQ29tcG9uZW50LmdldFBhZ2luZ0luZm8odGhpcy5zdGFydGluZ1BhZ2VOdW1iZXIsIHRoaXMucGFnZVNpemUpKTtcbiAgICovXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFBhZ2luZ0luZm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBBbGwgcG9zc2libGUgaXRlbXMgaW4gdGhlIGRyb3Bkb3duIG1lbnUuXG4gICAqL1xuICBwdWJsaWMgZHJvcGRvd25JdGVtczogTWVudUl0ZW08UGFnZVJhbmdlPltdID0gW107XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgdGFicyBiZWluZyBkaXNwbGF5ZWQuXG4gICAqL1xuICBwdWJsaWMgY3VycmVudFRhYnM6IE5hdkdyb3VwID0gbmV3IE5hdkdyb3VwKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XG5cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZih0aGlzLnRvdGFsSXRlbXMgPT09IDApIHtcbiAgICAgIHRoaXMuZHJvcGRvd25JdGVtcyA9IFtdO1xuICAgICAgdGhpcy5jdXJyZW50VGFicyA9IG5ldyBOYXZHcm91cCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNldERyb3Bkb3duSXRlbXMoKTtcblxuICAgIC8vRmluZCB0aGUgbWVudSBpdGVtIHRoYXQgdGhlIHBhZ2UgY29ycmVzcG9uZGluZyB0byB0aGlzLnBhZ2VOdW1iZXIgbGllcyBpblxuICAgIGxldCBmaXJzdE1lbnVJdGVtID0gdGhpcy5kcm9wZG93bkl0ZW1zLmZpbmQoaXRlbSA9PiB7XG4gICAgICByZXR1cm4gaXRlbS52YWx1ZSEuZmlyc3RQYWdlIDw9IHRoaXMucGFnZU51bWJlciAmJiBpdGVtLnZhbHVlIS5sYXN0UGFnZSA+PSB0aGlzLnBhZ2VOdW1iZXI7XG4gICAgfSk7XG4gICAgaWYoIWZpcnN0TWVudUl0ZW0pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFBhZ2UgJHt0aGlzLnBhZ2VOdW1iZXJ9IGRvZXMgbm90IGV4aXN0LiBTZXR0aW5nIHRoZSBzdGFydGluZyBwYWdlIG51bWJlciB0byAxLmApO1xuICAgICAgZmlyc3RNZW51SXRlbSA9IHRoaXMuZHJvcGRvd25JdGVtc1swXTtcbiAgICAgIHRoaXMucGFnZU51bWJlciA9IDE7XG4gICAgfVxuICAgIC8vU2V0IHRoZSB0YWJzIHRvIHRob3NlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZpcnN0IG1lbnUgaXRlbS5cbiAgICAvL05vdGUgdGhhdCB3ZSBkb250IGVtaXQgYSBwYWdlQ2hhbmdlZCBldmVudCBoZXJlIGJlY2F1c2UgdGhlIGNvbnN1bWVyIGFscmVhZHkga25vd3Mgd2hhdCB0aGUgZmlyc3QgcGFnZSBpcy5cbiAgICB0aGlzLnNldFRhYnMoZmlyc3RNZW51SXRlbSwgdGhpcy5wYWdlTnVtYmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlbiB0aGUgbnVtYmVyIG9mIGEgcGFnZSBhbmQgdGhlIHBhZ2VTaXplLCByZXR1cm4gdGhlIFBhZ2luZ0luZm8gb2JqZWN0IGZvciB0aGF0IHBhZ2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldFBhZ2luZ0luZm8ocGFnZU51bWJlcjogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHsgc2tpcDogKHBhZ2VOdW1iZXIgLSAxKSpwYWdlU2l6ZSwgcGFnZVNpemU6IHBhZ2VTaXplLCBwYWdlTnVtYmVyOiBwYWdlTnVtYmVyIH07XG4gIH1cblxuICBwdWJsaWMgb25JdGVtU2VsZWN0ZWQobWVudUl0ZW06IE1lbnVJdGVtPFBhZ2VSYW5nZT4pIHsgIFxuICAgIHRoaXMuc2V0VGFicyhtZW51SXRlbSk7XG4gICAgdGhpcy5vblBhZ2VDaGFuZ2UocGFyc2VJbnQodGhpcy5jdXJyZW50VGFicy5zZWxlY3RlZCEubGFiZWwhKSk7XG4gICAgLy9mb2N1cyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhYiB0byBoZWxwIGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRhYi5hY3RpdmUnKS5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHRhYiBmb3IgZWFjaCBpdGVtIGluIHRoZSByYW5nZSByZXByZXNlbnRlZCBpbiB0aGUgTWVudUl0ZW1cbiAgICovXG4gIHByaXZhdGUgc2V0VGFicyhtZW51SXRlbTogTWVudUl0ZW08UGFnZVJhbmdlPiwgcGFnZU51bWJlcj86IG51bWJlcikge1xuICAgIGxldCB0YWJJdGVtczogTmF2SXRlbVtdID0gW107XG4gICAgZm9yKGxldCBpID0gbWVudUl0ZW0udmFsdWUhLmZpcnN0UGFnZTsgaSA8PSBtZW51SXRlbS52YWx1ZSEubGFzdFBhZ2U7IGkrKykge1xuICAgICAgdGFiSXRlbXMucHVzaCh7XG4gICAgICAgIGxhYmVsOiBgJHtpfWAsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVQYWdpbmF0aW9uQ29udHJvbHMsXG4gICAgICAgIG9uQ2xpY2s6ICgpID0+IHt0aGlzLm9uUGFnZUNoYW5nZShpKX1cbiAgICAgIH0pO1xuICAgIH1cbiAgICAvL2lmIGEgcGFnZU51bWJlciBpcyBwcm92aWRlZCwgc2VsZWN0IHRoZSB0YWIgd2l0aCB0aGF0IHBhZ2UgbnVtYmVyLlxuICAgIC8vb3RoZXJ3aXNlLCBzZWxlY3QgdGhlIGZpcnN0IHRhYi5cbiAgICBsZXQgc2VsZWN0ZWRUYWI6IE5hdkl0ZW0gPSBwYWdlTnVtYmVyID8gdGFiSXRlbXMuZmluZCh0YWIgPT4ge3JldHVybiBwYXJzZUludCh0YWIubGFiZWwhKSA9PT0gcGFnZU51bWJlcn0pIVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0YWJJdGVtc1swXTtcbiAgICB0aGlzLmN1cnJlbnRUYWJzID0gbmV3IE5hdkdyb3VwKHRhYkl0ZW1zLCBzZWxlY3RlZFRhYik7XG4gIH1cblxuICBwcml2YXRlIG9uUGFnZUNoYW5nZShwYWdlTnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyO1xuICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdChUYWJsZVBhZ2luYXRpb25Db21wb25lbnQuZ2V0UGFnaW5nSW5mbyhwYWdlTnVtYmVyLCB0aGlzLnBhZ2VTaXplKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYWxsIHRoZSBpdGVtcyBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4gICAqIEEgZHJvcGRvd24gaXRlbSByZXByZXNlbnRzIGEgcGFnZSByYW5nZSAoZS5nLiAxLTEwLCAxMS0yMCwgb3IgMjEtMjUpLlxuICAgKiBBIHNpbmdsZSBkcm9wZG93biBpdGVtIGNhbiByZXByZXNlbnQgYSByYW5nZSBvZiB1cCB0byAxMCBwYWdlcyAodGhlIGxhc3QgaXRlbSBjb3VsZCBoYXZlIGxlc3MgdGhhbiAxMCkuXG4gICAqL1xuICBwcml2YXRlIHNldERyb3Bkb3duSXRlbXMoKSB7XG4gICAgdGhpcy5kcm9wZG93bkl0ZW1zID0gW107XG4gICAgLy9maW5kIHRoZSBsYXN0IHBhZ2VcbiAgICBsZXQgZGl2aWRlbmQgPSBNYXRoLmZsb29yKHRoaXMudG90YWxJdGVtcyAvIHRoaXMucGFnZVNpemUpO1xuICAgIGxldCByZW1haW5kZXIgPSB0aGlzLnRvdGFsSXRlbXMgJSB0aGlzLnBhZ2VTaXplO1xuICAgIGNvbnN0IGxhc3RQYWdlID0gKHJlbWFpbmRlciA9PT0gMCkgPyBkaXZpZGVuZCA6IGRpdmlkZW5kICsgMTtcblxuICAgIC8va2VlcCBidWlsZGluZyBtZW51IGl0ZW1zIG9mIHRoZSBmb3JtIDEtMTAsIDExLTIwLCAyMS0zMCwgZXRjIHVudGlsICBcbiAgICAvL2VuZCA+PSBsYXN0UGFnZSwgd2hpY2ggbWVhbnMgd2UndmUgZm91bmQgdGhlIHJhbmdlIHRoYXQgY29udGFpbnMgdGhlIGxhc3QgcGFnZS5cbiAgICBsZXQgc3RhcnQgPSAxO1xuXG4gICAgbGV0IG1heFRhYnMgPSB0aGlzLm1heFRhYnMgfHwgMTA7XG4gICAgbGV0IGVuZCA9IG1heFRhYnM7XG5cbiAgICB3aGlsZShlbmQgPCBsYXN0UGFnZSkge1xuICAgICAgdGhpcy5kcm9wZG93bkl0ZW1zLnB1c2goe1xuICAgICAgICBsYWJlbDogYCR7c3RhcnR9LSR7ZW5kfWAsXG4gICAgICAgIHZhbHVlOiB7Zmlyc3RQYWdlOiBzdGFydCwgbGFzdFBhZ2U6IGVuZH1cbiAgICAgIH0pO1xuICAgICAgc3RhcnQgPSBzdGFydCArIG1heFRhYnM7XG4gICAgICBlbmQgPSBlbmQgKyBtYXhUYWJzO1xuICAgIH1cbiAgICAvL2FkZCB0aGUgbWVudSBpdGVtIHRoYXQgY29udGFpbnMgdGhlIGxhc3QgcGFnZS5cbiAgICB0aGlzLmRyb3Bkb3duSXRlbXMucHVzaCh7XG4gICAgICBsYWJlbDogKHN0YXJ0ID09PSBsYXN0UGFnZSkgPyBgJHtzdGFydH1gOiBgJHtzdGFydH0tJHtsYXN0UGFnZX1gLFxuICAgICAgdmFsdWU6IHtmaXJzdFBhZ2U6IHN0YXJ0LCBsYXN0UGFnZTogbGFzdFBhZ2V9XG4gICAgfSk7XG4gIH1cblxufSIsIjxlYy10YWJzIGlkPVwie3tpZH19X3BhZ2VzXCJcbiAgICAgICAgIGNsYXNzPVwibXktMiBpcy1jb25kZW5zZWRcIlxuICAgICAgICAgW3RhYkdyb3VwXT1cImN1cnJlbnRUYWJzXCJcbiAgICAgICAgIHRhYlN0eWxlPVwidGlsZXNcIj5cbjwvZWMtdGFicz5cbjxlYy1kcm9wZG93biBpZD1cInt7aWR9fV9tb3JlUGFnZXNcIlxuICAgICAgICAgICAgICpuZ0lmPVwiZHJvcGRvd25JdGVtcy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgICBjbGFzcz1cIm15LTEgbWwtMVwiXG4gICAgICAgICAgICAgbWVudVRlbXBsYXRlVHlwZT1cImxhYmVsXCJcbiAgICAgICAgICAgICBpY29uPVwiaWNvbi1tb3JlXCJcbiAgICAgICAgICAgICBtZW51UG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgICBbbWVudU1pbldpZHRoXT1cIjgwXCJcbiAgICAgICAgICAgICBbc2hvd0Fycm93XT1cImZhbHNlXCJcbiAgICAgICAgICAgICBbcG9wdXBGaXhlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICBbaXRlbXNdPVwiZHJvcGRvd25JdGVtc1wiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVQYWdpbmF0aW9uQ29udHJvbHNcIlxuICAgICAgICAgICAgIChpdGVtU2VsZWN0ZWQpPVwib25JdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPlxuPC9lYy1kcm9wZG93bj4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWJsZS90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RhYmxlL3RhYmxlLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7OztBQXVCL0QsTUFBTSxPQUFPLHdCQUF3QjtJQTBEbkMsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUEzQ2xDOzs7V0FHRztRQUNNLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDTSxZQUFPLEdBQVksRUFBRSxDQUFDO1FBRS9CLHNFQUFzRTtRQUM3RCw4QkFBeUIsR0FBYSxLQUFLLENBQUM7UUFFckQ7Ozs7Ozs7Ozs7Ozs7Ozs7V0FnQkc7UUFDTyxnQkFBVyxHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJFOztXQUVHO1FBQ0ksa0JBQWEsR0FBMEIsRUFBRSxDQUFDO1FBRWpEOztXQUVHO1FBQ0ksZ0JBQVcsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBRVIsQ0FBQztJQUd2QyxXQUFXO1FBQ1QsSUFBRyxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNsQyxPQUFP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RSxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUM7U0FDOUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6SlUsd0JBQXdCO21HQUF4Qix3QkFBd0IsaVdDMUJyQyxnckJBaUJjOzs0RkRTRCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UscUJBQXFCLFFBRXpCO3dCQUNKLEtBQUssRUFBRSxnQ0FBZ0M7cUJBQ3hDOytFQUlRLEVBQUU7c0JBQVYsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQW1CSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZJdGVtIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvbmF2aWdhdGlvbi9uYXYtaXRlbSc7XHJcbmltcG9ydCB7IE5hdkdyb3VwIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvbmF2aWdhdGlvbi9uYXYtZ3JvdXAnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdJbmZvIHtcclxuICAvKipOdW1iZXIgb2YgaXRlbXMgdG8gc2tpcCB0byBnZXQgdG8gdGhpcyBwYWdlKi9cclxuICBza2lwOiBudW1iZXIsXHJcbiAgLyoqTnVtYmVyIG9mIGl0ZW1zIGluIHRoaXMgcGFnZSovXHJcbiAgcGFnZVNpemU6IG51bWJlcixcclxuICAvKipUaGUgbnVtYmVyIG9mIHRoZSBwYWdlKi9cclxuICBwYWdlTnVtYmVyOiBudW1iZXJcclxufVxyXG5cclxuaW50ZXJmYWNlIFBhZ2VSYW5nZSB7XHJcbiAgZmlyc3RQYWdlOiBudW1iZXIsXHJcbiAgbGFzdFBhZ2U6IG51bWJlclxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXRhYmxlLXBhZ2luYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2QtZmxleCBweC0yIGFsaWduLWl0ZW1zLWNlbnRlcidcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBpZD86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogVG90YWwgbnVtYmVyIG9mIHJvd3MgdGhhdCB3ZSBuZWVkIHRvIHBhZ2UgdGhyb3VnaC5cclxuICAgKiBpLmUuIHRoZSBzdW0gb2YgYWxsIHJvd3Mgb24gYWxsIHBhZ2VzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvdGFsSXRlbXMhOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1heCBzaXplIG9mIGEgcGFnZS5cclxuICAgKi9cclxuICBASW5wdXQoKSBwYWdlU2l6ZSE6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogTnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhZ2UuXHJcbiAgICogSW5pdGlhbCB2YWx1ZSBpcyAxLCBjYW4gYmUgb3ZlcnJpZGRlbiB0byBjaGFuZ2UgdGhlIHN0YXJ0aW5nIHBhZ2UgbnVtYmVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VOdW1iZXI6IG51bWJlciA9IDE7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIHBhZ2UgdGFicyB0byBzaG93XHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4VGFicz86IG51bWJlciA9IDEwO1xyXG5cclxuICAvKiogV2hlbiB0cnVlIHRoZSB0YWJzIGFuZCB0aGUgbW9yZSBwYWdlcyBkcm9wZG93biB3aWxsIGJlIGRpc2FibGVkICovXHJcbiAgQElucHV0KCkgZGlzYWJsZVBhZ2luYXRpb25Db250cm9scz86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgd2hlbiB0aGUgcGFnZSBjaGFuZ2VzLlxyXG4gICAqIFxyXG4gICAqIEJpbmQgdG8gdGhlIGV2ZW50IGluIGEgdGVtcGxhdGUgdXNpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgdGhlIFwic2tpcFwiIGFuZCBcInBhZ2VTaXplXCJcclxuICAgKiBwcm9wZXJ0aWVzIHRvIHNsaWNlIHRoZSBuZXcgcGFnZSBmcm9tIHlvdXIgZGF0YSBzZXQuXHJcbiAgICogXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiAvLy5odG1sXHJcbiAgICogKHBhZ2VDaGFuZ2VkKT1cIm9uUGFnZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICogLy8udHNcclxuICAgKiBwdWJsaWMgb25QYWdlQ2hhbmdlZChldmVudDogUGFnaW5nSW5mbykge1xyXG4gICAqICB0aGlzLmN1cnJlbnRQYWdlSXRlbXMgPSB0aGlzLnBhZ2luYXRlZFRhYmxlSXRlbXMuc2xpY2UoZXZlbnQuc2tpcCwgZXZlbnQuc2tpcCArIGV2ZW50LnBhZ2VTaXplKTtcclxuICAgKiB9XHJcbiAgICogLy9TaW5jZSBwYWdlQ2hhbmdlZCBkb2Vzbid0IGVtaXQgZm9yIHRoZSBpbml0aWFsIHBhZ2UsIG9uUGFnZUNoYW5nZWQgc2hvdWxkIGJlIG1hbnVhbGx5IGNhbGxlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gXHJcbiAgICogLy91c2luZyBnZXRQYWdpbmdJbmZvOlxyXG4gICAqIHRoaXMub25QYWdlQ2hhbmdlZChUYWJsZVBhZ2luYXRpb25Db21wb25lbnQuZ2V0UGFnaW5nSW5mbyh0aGlzLnN0YXJ0aW5nUGFnZU51bWJlciwgdGhpcy5wYWdlU2l6ZSkpO1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFBhZ2luZ0luZm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBBbGwgcG9zc2libGUgaXRlbXMgaW4gdGhlIGRyb3Bkb3duIG1lbnUuXHJcbiAgICovXHJcbiAgcHVibGljIGRyb3Bkb3duSXRlbXM6IE1lbnVJdGVtPFBhZ2VSYW5nZT5bXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBDdXJyZW50IHRhYnMgYmVpbmcgZGlzcGxheWVkLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjdXJyZW50VGFiczogTmF2R3JvdXAgPSBuZXcgTmF2R3JvdXAoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMudG90YWxJdGVtcyA9PT0gMCkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMgPSBbXTtcclxuICAgICAgdGhpcy5jdXJyZW50VGFicyA9IG5ldyBOYXZHcm91cCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldERyb3Bkb3duSXRlbXMoKTtcclxuXHJcbiAgICAvL0ZpbmQgdGhlIG1lbnUgaXRlbSB0aGF0IHRoZSBwYWdlIGNvcnJlc3BvbmRpbmcgdG8gdGhpcy5wYWdlTnVtYmVyIGxpZXMgaW5cclxuICAgIGxldCBmaXJzdE1lbnVJdGVtID0gdGhpcy5kcm9wZG93bkl0ZW1zLmZpbmQoaXRlbSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtLnZhbHVlIS5maXJzdFBhZ2UgPD0gdGhpcy5wYWdlTnVtYmVyICYmIGl0ZW0udmFsdWUhLmxhc3RQYWdlID49IHRoaXMucGFnZU51bWJlcjtcclxuICAgIH0pO1xyXG4gICAgaWYoIWZpcnN0TWVudUl0ZW0pIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgUGFnZSAke3RoaXMucGFnZU51bWJlcn0gZG9lcyBub3QgZXhpc3QuIFNldHRpbmcgdGhlIHN0YXJ0aW5nIHBhZ2UgbnVtYmVyIHRvIDEuYCk7XHJcbiAgICAgIGZpcnN0TWVudUl0ZW0gPSB0aGlzLmRyb3Bkb3duSXRlbXNbMF07XHJcbiAgICAgIHRoaXMucGFnZU51bWJlciA9IDE7XHJcbiAgICB9XHJcbiAgICAvL1NldCB0aGUgdGFicyB0byB0aG9zZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBmaXJzdCBtZW51IGl0ZW0uXHJcbiAgICAvL05vdGUgdGhhdCB3ZSBkb250IGVtaXQgYSBwYWdlQ2hhbmdlZCBldmVudCBoZXJlIGJlY2F1c2UgdGhlIGNvbnN1bWVyIGFscmVhZHkga25vd3Mgd2hhdCB0aGUgZmlyc3QgcGFnZSBpcy5cclxuICAgIHRoaXMuc2V0VGFicyhmaXJzdE1lbnVJdGVtLCB0aGlzLnBhZ2VOdW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2l2ZW4gdGhlIG51bWJlciBvZiBhIHBhZ2UgYW5kIHRoZSBwYWdlU2l6ZSwgcmV0dXJuIHRoZSBQYWdpbmdJbmZvIG9iamVjdCBmb3IgdGhhdCBwYWdlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGFnaW5nSW5mbyhwYWdlTnVtYmVyOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB7IHNraXA6IChwYWdlTnVtYmVyIC0gMSkqcGFnZVNpemUsIHBhZ2VTaXplOiBwYWdlU2l6ZSwgcGFnZU51bWJlcjogcGFnZU51bWJlciB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uSXRlbVNlbGVjdGVkKG1lbnVJdGVtOiBNZW51SXRlbTxQYWdlUmFuZ2U+KSB7ICBcclxuICAgIHRoaXMuc2V0VGFicyhtZW51SXRlbSk7XHJcbiAgICB0aGlzLm9uUGFnZUNoYW5nZShwYXJzZUludCh0aGlzLmN1cnJlbnRUYWJzLnNlbGVjdGVkIS5sYWJlbCEpKTtcclxuICAgIC8vZm9jdXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0YWIgdG8gaGVscCBrZXlib2FyZCBuYXZpZ2F0aW9uXHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRhYi5hY3RpdmUnKS5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgdGFiIGZvciBlYWNoIGl0ZW0gaW4gdGhlIHJhbmdlIHJlcHJlc2VudGVkIGluIHRoZSBNZW51SXRlbVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0VGFicyhtZW51SXRlbTogTWVudUl0ZW08UGFnZVJhbmdlPiwgcGFnZU51bWJlcj86IG51bWJlcikge1xyXG4gICAgbGV0IHRhYkl0ZW1zOiBOYXZJdGVtW10gPSBbXTtcclxuICAgIGZvcihsZXQgaSA9IG1lbnVJdGVtLnZhbHVlIS5maXJzdFBhZ2U7IGkgPD0gbWVudUl0ZW0udmFsdWUhLmxhc3RQYWdlOyBpKyspIHtcclxuICAgICAgdGFiSXRlbXMucHVzaCh7XHJcbiAgICAgICAgbGFiZWw6IGAke2l9YCxcclxuICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlUGFnaW5hdGlvbkNvbnRyb2xzLFxyXG4gICAgICAgIG9uQ2xpY2s6ICgpID0+IHt0aGlzLm9uUGFnZUNoYW5nZShpKX1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvL2lmIGEgcGFnZU51bWJlciBpcyBwcm92aWRlZCwgc2VsZWN0IHRoZSB0YWIgd2l0aCB0aGF0IHBhZ2UgbnVtYmVyLlxyXG4gICAgLy9vdGhlcndpc2UsIHNlbGVjdCB0aGUgZmlyc3QgdGFiLlxyXG4gICAgbGV0IHNlbGVjdGVkVGFiOiBOYXZJdGVtID0gcGFnZU51bWJlciA/IHRhYkl0ZW1zLmZpbmQodGFiID0+IHtyZXR1cm4gcGFyc2VJbnQodGFiLmxhYmVsISkgPT09IHBhZ2VOdW1iZXJ9KSFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0YWJJdGVtc1swXTtcclxuICAgIHRoaXMuY3VycmVudFRhYnMgPSBuZXcgTmF2R3JvdXAodGFiSXRlbXMsIHNlbGVjdGVkVGFiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25QYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlTnVtYmVyID0gcGFnZU51bWJlcjtcclxuICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdChUYWJsZVBhZ2luYXRpb25Db21wb25lbnQuZ2V0UGFnaW5nSW5mbyhwYWdlTnVtYmVyLCB0aGlzLnBhZ2VTaXplKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhbGwgdGhlIGl0ZW1zIGZvciB0aGUgZHJvcGRvd24gbWVudS5cclxuICAgKiBBIGRyb3Bkb3duIGl0ZW0gcmVwcmVzZW50cyBhIHBhZ2UgcmFuZ2UgKGUuZy4gMS0xMCwgMTEtMjAsIG9yIDIxLTI1KS5cclxuICAgKiBBIHNpbmdsZSBkcm9wZG93biBpdGVtIGNhbiByZXByZXNlbnQgYSByYW5nZSBvZiB1cCB0byAxMCBwYWdlcyAodGhlIGxhc3QgaXRlbSBjb3VsZCBoYXZlIGxlc3MgdGhhbiAxMCkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXREcm9wZG93bkl0ZW1zKCkge1xyXG4gICAgdGhpcy5kcm9wZG93bkl0ZW1zID0gW107XHJcbiAgICAvL2ZpbmQgdGhlIGxhc3QgcGFnZVxyXG4gICAgbGV0IGRpdmlkZW5kID0gTWF0aC5mbG9vcih0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLnBhZ2VTaXplKTtcclxuICAgIGxldCByZW1haW5kZXIgPSB0aGlzLnRvdGFsSXRlbXMgJSB0aGlzLnBhZ2VTaXplO1xyXG4gICAgY29uc3QgbGFzdFBhZ2UgPSAocmVtYWluZGVyID09PSAwKSA/IGRpdmlkZW5kIDogZGl2aWRlbmQgKyAxO1xyXG5cclxuICAgIC8va2VlcCBidWlsZGluZyBtZW51IGl0ZW1zIG9mIHRoZSBmb3JtIDEtMTAsIDExLTIwLCAyMS0zMCwgZXRjIHVudGlsICBcclxuICAgIC8vZW5kID49IGxhc3RQYWdlLCB3aGljaCBtZWFucyB3ZSd2ZSBmb3VuZCB0aGUgcmFuZ2UgdGhhdCBjb250YWlucyB0aGUgbGFzdCBwYWdlLlxyXG4gICAgbGV0IHN0YXJ0ID0gMTtcclxuXHJcbiAgICBsZXQgbWF4VGFicyA9IHRoaXMubWF4VGFicyB8fCAxMDtcclxuICAgIGxldCBlbmQgPSBtYXhUYWJzO1xyXG5cclxuICAgIHdoaWxlKGVuZCA8IGxhc3RQYWdlKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25JdGVtcy5wdXNoKHtcclxuICAgICAgICBsYWJlbDogYCR7c3RhcnR9LSR7ZW5kfWAsXHJcbiAgICAgICAgdmFsdWU6IHtmaXJzdFBhZ2U6IHN0YXJ0LCBsYXN0UGFnZTogZW5kfVxyXG4gICAgICB9KTtcclxuICAgICAgc3RhcnQgPSBzdGFydCArIG1heFRhYnM7XHJcbiAgICAgIGVuZCA9IGVuZCArIG1heFRhYnM7XHJcbiAgICB9XHJcbiAgICAvL2FkZCB0aGUgbWVudSBpdGVtIHRoYXQgY29udGFpbnMgdGhlIGxhc3QgcGFnZS5cclxuICAgIHRoaXMuZHJvcGRvd25JdGVtcy5wdXNoKHtcclxuICAgICAgbGFiZWw6IChzdGFydCA9PT0gbGFzdFBhZ2UpID8gYCR7c3RhcnR9YDogYCR7c3RhcnR9LSR7bGFzdFBhZ2V9YCxcclxuICAgICAgdmFsdWU6IHtmaXJzdFBhZ2U6IHN0YXJ0LCBsYXN0UGFnZTogbGFzdFBhZ2V9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59IiwiPGVjLXRhYnMgaWQ9XCJ7e2lkfX1fcGFnZXNcIlxyXG4gICAgICAgICBjbGFzcz1cIm15LTIgaXMtY29uZGVuc2VkXCJcclxuICAgICAgICAgW3RhYkdyb3VwXT1cImN1cnJlbnRUYWJzXCJcclxuICAgICAgICAgdGFiU3R5bGU9XCJ0aWxlc1wiPlxyXG48L2VjLXRhYnM+XHJcbjxlYy1kcm9wZG93biBpZD1cInt7aWR9fV9tb3JlUGFnZXNcIlxyXG4gICAgICAgICAgICAgKm5nSWY9XCJkcm9wZG93bkl0ZW1zLmxlbmd0aCA+IDFcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJteS0xIG1sLTFcIlxyXG4gICAgICAgICAgICAgbWVudVRlbXBsYXRlVHlwZT1cImxhYmVsXCJcclxuICAgICAgICAgICAgIGljb249XCJpY29uLW1vcmVcIlxyXG4gICAgICAgICAgICAgbWVudVBvc2l0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgICBbbWVudU1pbldpZHRoXT1cIjgwXCJcclxuICAgICAgICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgW3BvcHVwRml4ZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBbaXRlbXNdPVwiZHJvcGRvd25JdGVtc1wiXHJcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVBhZ2luYXRpb25Db250cm9sc1wiXHJcbiAgICAgICAgICAgICAoaXRlbVNlbGVjdGVkKT1cIm9uSXRlbVNlbGVjdGVkKCRldmVudClcIj5cclxuPC9lYy1kcm9wZG93bj4iXX0=
@@ -195,11 +195,11 @@ export class TableSelectableRowComponent {
195
195
  this.context.rowCheckboxes.controls.forEach(control => control.setValue(false));
196
196
  }
197
197
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableSelectableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableSelectableRowComponent, selector: "[ecTableSelectableRow]", inputs: { id: "id", isSelectionEnabled: ["ecTableSelectableRow", "isSelectionEnabled"], context: ["selectionContext", "context"], rowIndex: "rowIndex", lockedColOptions: "lockedColOptions", isSelected: "isSelected", isCheckboxDisabled: "isCheckboxDisabled" }, host: { listeners: { "click": "rowClicked($event)" }, properties: { "attr.id": "this.id", "class.is-enabled": "this.isSelectionEnabled", "class.is-selected": "this.isSelected", "class.is-header": "this.isHeader" } }, usesOnChanges: true, ngImport: i0, template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\n<ng-content select=\".before-checkbox\"></ng-content>\n<ng-container *ngIf=\"isSelectionEnabled\">\n <th *ngIf=\"isHeader\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <ec-checkbox id=\"{{id}}_selectAll\"\n class=\"m-0\"\n *ngIf=\"context?.selectAllCheckbox\"\n [formModel]=\"context?.selectAllCheckbox\"\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\n [ignoreDisabledDependents]=\"false\">\n </ec-checkbox>\n </th>\n <td *ngIf=\"!isHeader && formControl\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\n and allow the value to be visible to other components (for example, when they subscribe\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\n [readonly]=\"isCheckboxDisabled\"\n [attr.id]=\"checkboxAttributeID\"\n class=\"m-0 row-checkbox\"\n [formModel]=\"formControl\">\n </ec-checkbox>\n </td>\n</ng-container>\n<!-- The rest of the table row -->\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }, { kind: "component", type: i3.TableLockedColumnComponent, selector: "[ecTableLockedColumn]", inputs: ["ecTableLockedColumn"] }] }); }
198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableSelectableRowComponent, selector: "[ecTableSelectableRow]", inputs: { id: "id", isSelectionEnabled: ["ecTableSelectableRow", "isSelectionEnabled"], context: ["selectionContext", "context"], rowIndex: "rowIndex", lockedColOptions: "lockedColOptions", isSelected: "isSelected", isCheckboxDisabled: "isCheckboxDisabled" }, host: { listeners: { "click": "rowClicked($event)" }, properties: { "attr.id": "this.id", "class.is-enabled": "this.isSelectionEnabled", "class.is-selected": "this.isSelected", "class.is-header": "this.isHeader" } }, usesOnChanges: true, ngImport: i0, template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\r\n<ng-content select=\".before-checkbox\"></ng-content>\r\n<ng-container *ngIf=\"isSelectionEnabled\">\r\n <th *ngIf=\"isHeader\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <ec-checkbox id=\"{{id}}_selectAll\"\r\n class=\"m-0\"\r\n *ngIf=\"context?.selectAllCheckbox\"\r\n [formModel]=\"context?.selectAllCheckbox\"\r\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\r\n [ignoreDisabledDependents]=\"false\">\r\n </ec-checkbox>\r\n </th>\r\n <td *ngIf=\"!isHeader && formControl\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\r\n and allow the value to be visible to other components (for example, when they subscribe\r\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\r\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\r\n [readonly]=\"isCheckboxDisabled\"\r\n [attr.id]=\"checkboxAttributeID\"\r\n class=\"m-0 row-checkbox\"\r\n [formModel]=\"formControl\">\r\n </ec-checkbox>\r\n </td>\r\n</ng-container>\r\n<!-- The rest of the table row -->\r\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }, { kind: "component", type: i3.TableLockedColumnComponent, selector: "[ecTableLockedColumn]", inputs: ["ecTableLockedColumn"] }] }); }
199
199
  }
200
200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableSelectableRowComponent, decorators: [{
201
201
  type: Component,
202
- args: [{ selector: '[ecTableSelectableRow]', template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\n<ng-content select=\".before-checkbox\"></ng-content>\n<ng-container *ngIf=\"isSelectionEnabled\">\n <th *ngIf=\"isHeader\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <ec-checkbox id=\"{{id}}_selectAll\"\n class=\"m-0\"\n *ngIf=\"context?.selectAllCheckbox\"\n [formModel]=\"context?.selectAllCheckbox\"\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\n [ignoreDisabledDependents]=\"false\">\n </ec-checkbox>\n </th>\n <td *ngIf=\"!isHeader && formControl\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\n and allow the value to be visible to other components (for example, when they subscribe\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\n [readonly]=\"isCheckboxDisabled\"\n [attr.id]=\"checkboxAttributeID\"\n class=\"m-0 row-checkbox\"\n [formModel]=\"formControl\">\n </ec-checkbox>\n </td>\n</ng-container>\n<!-- The rest of the table row -->\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"] }]
202
+ args: [{ selector: '[ecTableSelectableRow]', template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\r\n<ng-content select=\".before-checkbox\"></ng-content>\r\n<ng-container *ngIf=\"isSelectionEnabled\">\r\n <th *ngIf=\"isHeader\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <ec-checkbox id=\"{{id}}_selectAll\"\r\n class=\"m-0\"\r\n *ngIf=\"context?.selectAllCheckbox\"\r\n [formModel]=\"context?.selectAllCheckbox\"\r\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\r\n [ignoreDisabledDependents]=\"false\">\r\n </ec-checkbox>\r\n </th>\r\n <td *ngIf=\"!isHeader && formControl\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\r\n and allow the value to be visible to other components (for example, when they subscribe\r\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\r\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\r\n [readonly]=\"isCheckboxDisabled\"\r\n [attr.id]=\"checkboxAttributeID\"\r\n class=\"m-0 row-checkbox\"\r\n [formModel]=\"formControl\">\r\n </ec-checkbox>\r\n </td>\r\n</ng-container>\r\n<!-- The rest of the table row -->\r\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"] }]
203
203
  }], propDecorators: { id: [{
204
204
  type: HostBinding,
205
205
  args: ['attr.id']
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
232
232
  type: HostListener,
233
233
  args: ['click', ['$event']]
234
234
  }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFekQsTUFBTSxPQUFPLHlCQUF5QjtJQUF0QztRQUNFOzs7V0FHRztRQUNJLHNCQUFpQixHQUFvQixJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFFOzs7OztXQUtHO1FBQ0ksa0JBQWEsR0FBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsRTs7O1dBR0c7UUFDSSxxQkFBZ0IsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUVyQzs7O1dBR0c7UUFDSSxzQkFBaUIsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV4RDs7V0FFRztRQUNJLG9DQUErQixHQUFZLEtBQUssQ0FBQztRQUV4RDs7V0FFRztRQUNJLDJCQUFzQixHQUFhLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0NBQUE7QUFPRCxNQUFNLE9BQU8sMkJBQTJCO0lBTHhD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QUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDOytHQWpNVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixnakJDaER4Qyx5N0NBNkJ5Qjs7NEZEbUJaLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx3QkFBd0I7OEJBUTNCLEVBQUU7c0JBRlIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFNSyxrQkFBa0I7c0JBRjVCLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBUXRCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBTWxCLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBTUMsVUFBVTtzQkFGaEIsV0FBVzt1QkFBQyxtQkFBbUI7O3NCQUMvQixLQUFLO2dCQUtDLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBVXZCLGtCQUFrQjtzQkFEeEIsS0FBSztnQkF5RUMsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVTZWxlY3RhYmxlUm93Q29udGV4dCB7XG4gIC8qKnNwZWNpZnkgdGhlIGZvcm0gY29udHJvbCB0byB1c2UgZm9yIHRoZSBzZWxlY3RBbGwgY2hlY2tib3ggb3IgcHJvdmlkZSB5b3VyIG93bi5cbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBjaGFuZ2VzIHRvIGNoYW5nZSBidXR0b24gc3RhdGVzIGFzIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xuICAgKiBvciBpZiB5b3Ugd2FudCB0byBhZGQgaXQgdG8gYW4gYWxyZWFkeS1leGlzdGluZyBmb3JtIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0QWxsQ2hlY2tib3g6IEFic3RyYWN0Q29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZmFsc2UpO1xuXG4gIC8qKnNwZWNpZnkgdGhlIEZvcm1BcnJheSB0byB1c2UgZm9yIHRoZSBkZXBlbmRlbnQgY2hlY2tib3hlcyBvZiB0aGUgc2VsZWN0QWxsIGNoZWNrYm94XG4gICAqIFRoZSBkZXBlbmRlbnQgY2hlY2tib3hlcyB3aWxsIGFkZCBhbmQgcmVtb3ZlIHRoZW1zZWx2ZXMgYXV0b21hdGljYWxseSBhbmQgdGhlIHNlbGVjdEFsbFxuICAgKiBib3ggd2lsbCByZWFjdCBhY2NvcmRpbmdseS4gRG8gbm90IHByb3ZpZGUgeW91ciBvd24gY29udHJvbHNcbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBjaGFuZ2VzIHRvIGNoYW5nZSBidXR0b24gc3RhdGVzIGFzIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xuICAgKiBvciBpZiB5b3Ugd2FudCB0byBhZGQgaXQgdG8gYW4gYWxyZWFkeS1leGlzdGluZyBmb3JtIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgcm93Q2hlY2tib3hlczogVW50eXBlZEZvcm1BcnJheSA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KFtdKTtcblxuICAvKipUaGUgaW5kZXggb2YgdGhlIGxhc3Qgcm93IHRoZSB1c2VyIGNsaWNrZWQuIFRoaXMgYWxsb3dzIG11bHRpcGxlIGRpcmVjdGl2ZXMgb24gYSBzY3JlZW4gdG8gY29vcmRpbmF0ZVxuICAgKiBmb3IgcmVhY3RpbmcgdG8gc2hpZnQrY2xpY2sgYWN0aW9ucyB0aGF0IHNob3VsZCBhdXRvbWF0aWNhbGx5IHNlbGVjdCBtdWx0aXBsZSByb3dzIGJldHdlZW4gdGhlIGNsaWNrZWQgcm93c1xuICAgKiBkZWZhdWx0cyB0byAtMSB0byBpbmRpY2F0ZSB0aGF0IG5vIHVzZXIgY2xpY2sgaGFzIGJlZW4gY2FwdHVyZWRcbiAgICovXG4gIHB1YmxpYyBsYXN0Q2xpY2tlZEluZGV4OiBudW1iZXIgPSAtMTtcblxuICAvKipBIHN1YmplY3QgdGhhdCBpcyB0cmlnZ2VyZWQgd2hlbiBhIHJvdy1iYXNlZCBkaXJlY3RpdmUgaXMgYWRkZWQgb3IgcmVtb3ZlZC4gSXQgYWxsb3dzXG4gICAqIHRoZSBtYXN0ZXIgY2hlY2tib3ggaW4gdGhlIGhlYWRlciB0byBrbm93IHRoYXQgaXQgbmVlZHMgdG8gcmVzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb25cbiAgICogd2l0aG91dCByZXBsYWNpbmcgdGhlIGFjdHVhbCBGb3JtQXJyYXkgdGhhdCB0aGUgaG9zdGluZyBjb21wb25lbnQgbWF5IGJlIHN1YnNjcmliZWQgdG8gZm9yIGNoYW5nZXNcbiAgICovXG4gIHB1YmxpYyByb3dBZGRlZE9yUmVtb3ZlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIHRvIGRpc2FibGUgU2hpZnQtQ2xpY2svQ3RybC1DbGljayBmdW5jdGlvbmFsaXR5XG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZUFkdmFuY2VkUm93Q2xpY2tCZWhhdmlvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gbGlzdCBvZiBpbmRpY2VzIG9mIGNvbnRyb2xzIHRoYXQgc2hvdWxkIG5vdCB0b2dnbGUgd2hlbiBtYXN0ZXIvaGVhZGVyIGNoZWNrYm94IHRvZ2dsZXNcbiAgICovXG4gIHB1YmxpYyBub25EZXBlbmRlbnRDaGVja2JveGVzOiBudW1iZXJbXSA9IFtdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbZWNUYWJsZVNlbGVjdGFibGVSb3ddJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXNlbGVjdGFibGUtcm93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNlbGVjdGFibGVSb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgLyoqVGhlIElEIHJvb3QgdG8gdXNlIGZvciB0aGUgY2hlY2tib3ggYW5kIHRhYmxlIGNlbGwgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgQElucHV0KClcbiAgcHVibGljIGlkOiBzdHJpbmcgPSAnJztcblxuICAvKiogRGlzYWJsZXMgdGhlIHNlbGVjdGlvbiBmdW5jdGlvbmFsaXR5IHdoZW4gZmFsc2UgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1lbmFibGVkJylcbiAgQElucHV0KCdlY1RhYmxlU2VsZWN0YWJsZVJvdycpXG4gIHB1YmxpYyBzZXQgaXNTZWxlY3Rpb25FbmFibGVkKHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCkgeyB0aGlzLl9zZWxlY3Rpb25FbmFibGVkID0gdmFsdWUgIT09IGZhbHNlOyB9XG4gIHB1YmxpYyBnZXQgaXNTZWxlY3Rpb25FbmFibGVkKCkgeyByZXR1cm4gdGhpcy5fc2VsZWN0aW9uRW5hYmxlZDsgfVxuICBwcml2YXRlIF9zZWxlY3Rpb25FbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipTaGFyZWQgY29udGV4dCBiZXR3ZWVuIG1hc3RlciBhbmQgY2hpbGRyZW4uIENoaWxkIGRpcmVjdGl2ZSBhZGRzIGl0cyBvd24gRm9ybUNvbnRyb2wgdG8gdGhpc1xuICBhbmQgcmVtb3ZlcyBpdCBvbkRlc3Ryb3kuIFRoZSBzYW1lIGNvbnRleHQgb2JqZWN0IG11c3QgYmUgdXNlZCBmb3IgYWxsIGRpcmVjdGl2ZXMgaW4gYSBzaW5nbGUgdGFibGUqL1xuICBASW5wdXQoJ3NlbGVjdGlvbkNvbnRleHQnKVxuICBwdWJsaWMgY29udGV4dCE6IFRhYmxlU2VsZWN0YWJsZVJvd0NvbnRleHQ7XG5cbiAgLypSZXF1aXJlZCBmb3IgYWxsIHJvd3MuIFRoZSByb3cgaW5kZXggdGhpcyBjb21wb25lbnQgcmVwcmVzZW50cywgdG8gYWxsb3cgaXQgdG8ga25vdyBob3cgdG8gaGFuZGxlIHNoaWZ0K2NsaWNrcy5cbiAgICBEZWZhdWx0cyB0byAtMSB3aGljaCB3aWxsIGNhdXNlIHRoZSBkaXJlY3RpdmUgdG8gYmVoYXZlIGFzIGEgaGVhZGVyIHJvdyovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dJbmRleDogbnVtYmVyID0gLTE7XG5cbiAgLyoqVGhlIG9wdGlvbnMgdXNlZCB0byBsb2NrIHRoZSBjaGVja2JveCBjb2x1bW4gdG8gdGhlIGxlZnQgb2YgdGhlIHRhYmxlLCBtdXN0IGJlIG1vZGlmaWVkIGJ5IGhvc3RcbiAgICogaWYgdGhlIGNoZWNrYm94IGlzIG5vdCB0aGUgZmlyc3QgY29sdW1uIGluIHRoZSB0YWJsZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxvY2tlZENvbE9wdGlvbnM6IHsgYm9yZGVyOiBib29sZWFuLCBsZWZ0PzogbnVtYmVyLCByaWdodD86IG51bWJlciB9ID0geyBib3JkZXI6IGZhbHNlLCBsZWZ0OiAwIH07XG5cbiAgLyoqIEF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUgYmFzZWQgb24gY2hlY2tib3ggc3RhdGUsIHVzZWQgdG8gaGlnaGxpZ2h0IHRoZSByb3cgdG8gbWF0Y2ggb3VyIHRhYmxlIHNlbGVjdGVkIHJvdyBzdHlsZXMgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgLyoqIEF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUgaWYgbm8gcm93SW5kZXggaXMgcHJvdmlkZWQgb3IgdGhlIHJvdyBpbmRleCBpcyBsZXNzIHRoYW4gemVybyAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWhlYWRlcicpXG4gIHB1YmxpYyBpc0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSBpZiB5b3Ugd2FudCB0aGUgY2hlY2tib3ggdG8gYmUgZGlzYWJsZWQuXG4gICAqXG4gICAqIFdoZW4geW91IHVzZSB0aGlzIHByb3BlcnR5LCBtYWtlIHN1cmUgeW91IHNldCBgZGlzYWJsZUFkdmFuY2VkUm93Q2xpY2tCZWhhdmlvcjogdHJ1ZWBcbiAgICogaW4gdGhlIGBUYWJsZVNlbGVjdGFibGVSb3dDb250ZXh0YCwgb3IgdW5kZXNpcmVkIHNpZGUtZWZmZWN0cyB3aWxsIG9jY3VyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGlzQ2hlY2tib3hEaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiBBIHJlZmVyZW5jZSB0aGF0IHdlIGNhbiBjaGFuZ2Ugd2hlbiBhIGNvbnRyb2wgaXMgcmVwbGFjZWQgdG8gZm9yY2UgdGhlIG1hc3RlciBjaGVja2JveCByZWZlcmVuY2UgdG8gdXBkYXRlXG4gICAgIHdpdGhvdXQgYWxzbyByZXBsYWNpbmcgdGhlIGZvcm0gYXJyYXkgdGhhdCB0aGUgaG9zdCBjb21wb25lbnQgbWF5IGJlIHdhdGNoaW5nIGZvciBzZWxlY3RlZCByb3cgY2hhbmdlcyAqL1xuICBwdWJsaWMgZGVwZW5kZW50Q2hlY2tib3hlc1JlZmVyZW5jZTogeyBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gfSA9IHsgY29udHJvbHM6IFtdIH07XG5cbiAgLypDYXB0dXJlIHRoZSBmb3JtIGNvbnRyb2wgdGhpcyBjb21wb25lbnQgY3JlYXRlcyB0byBhbGxvdyBjbGVhbnVwIGxhdGVyIG9uIGFuZCBleHBvc2UgaXQgdG8gdGhlIHJvdyovXG4gIHB1YmxpYyBmb3JtQ29udHJvbCE6IEFic3RyYWN0Q29udHJvbDtcblxuICBwdWJsaWMgY2hlY2tib3hBdHRyaWJ1dGVJRDogc3RyaW5nID0gJyc7XG5cbiAgLyoqU2VuZHMgYW4gZXZlbnQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZCBzbyB0aGF0IGl0IGNhbiB1bnN1YnNjcmliZSBmcm9tIGFueSBvYnNlcnZhYmxlcyAqL1xuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqVmFsaWRhdGUgYW5kIHBvcHVsYXRlIHRoZSBjb250ZXh0IGFzIHRoZSB0YWJsZSBpcyBkeW5hbWljYWxseSBidWlsdC4gQmVjYXVzZSB0aGUgY29udGV4dCBpcyBzaGFyZWQgYmV0d2VlbiB0aGVcbiAgICogaGVhZGVyIGFuZCBlYWNoIG9mIHRoZSByb3dzLCBjaGFuZ2VzIHRvIGl0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGF0IGlzIGhhcHBlbmluZyBhbmQgaG9vayB1cCB0aGUgY29ycmVjdFxuICAgKiBzdWJzY3JpcHRpb25zIGZvciBzZWxlY3RBbGwuIFRoZSB1c2VyIGNhbiBwcm92aWRlIGFuIGV4aXN0aW5nIGZvcm1BcnJheSBmb3IgdGhlIHJvd3MgYW5kIGZvcm0gY29udHJvbCBmb3IgdGhlIGhlYWRlcixcbiAgICogb3IgaXQgY2FuIGp1c3QgYmUgdGhlIGRlZmF1bHQgZW1wdHkgb25lcyBjcmVhdGVkIGJ5IHRoZSBjb250ZXh0IGNsYXNzLlxuICAqL1xuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc0hlYWRlciA9IHRoaXMucm93SW5kZXggPCAwO1xuICAgIGlmICghdGhpcy5jb250ZXh0KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdlY1RhYmxlU2VsZWN0YWJsZVJvdyByZXF1aXJlcyBhIGRlZmluZWQgU2VsZWN0YWJsZVRhYmxlUm93Q29udGV4dCB0byBiZSBzaGFyZWQgd2l0aCBhbGwgaW5zdGFuY2VzIGluIG9uZSB0YWJsZS4nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHJvd0NoZWNrYm94ID0gdGhpcy5jb250ZXh0Py5yb3dDaGVja2JveGVzPy5hdCh0aGlzLnJvd0luZGV4KTtcblxuICAgICAgaWYgKCF0aGlzLmlzSGVhZGVyICYmICFyb3dDaGVja2JveCkge1xuICAgICAgICByb3dDaGVja2JveCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy5pc1NlbGVjdGVkKTtcbiAgICAgICAgdGhpcy5jb250ZXh0Py5yb3dDaGVja2JveGVzLnB1c2gocm93Q2hlY2tib3gpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvcm1Db250cm9sID0gdGhpcy5pc0hlYWRlciA/IHRoaXMuY29udGV4dC5zZWxlY3RBbGxDaGVja2JveCA6IHJvd0NoZWNrYm94O1xuICAgICAgdGhpcy53YXRjaEZvckNoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipXYXRjaCBmb3IgY2hhbmdlcyB0byB0aGUgcm93IGluZGV4IHRoYXQgY2FuIG9jY3VyIGlmIHRoZSB0YWJsZSBpcyByZW9yZGVyZWQgaW4tcGxhY2UgaW5zdGVhZCBvZlxuICAgKiByZWNyZWF0ZWQgZnJvbSBzY3JhdGNoLiBSZS1jYXB0dXJlIHRoZSBjb3JyZWN0IGZvcm0gY29udHJvbCB0byBrZWVwIGV2ZXJ5dGhpbmcgaW4gc3luY1xuICAgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5yb3dJbmRleCAmJiAhdGhpcy5pc0hlYWRlcikge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbCA9IHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmF0KHRoaXMucm93SW5kZXgpO1xuICAgICAgdGhpcy5jaGVja2JveEF0dHJpYnV0ZUlEID0gYCR7dGhpcy5pZH1fcm93JHt0aGlzLnJvd0luZGV4fV9lY0NoZWNrYm94YDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5pc1NlbGVjdGlvbkVuYWJsZWQgJiYgIXRoaXMuaXNTZWxlY3Rpb25FbmFibGVkICYmIHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5pc1NlbGVjdGVkICYmIHRoaXMuZm9ybUNvbnRyb2wpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5pc1NlbGVjdGVkKTtcbiAgICB9XG4gIH1cblxuICAvKiogVGVsbCB0aGUgaGVhZGVyIGNoZWNrYm94IHRvIHJlZnJlc2ggdGhlIHNlbGVjdEFsbCBzdWJzY3JpcHRpb24gYmVjYXVzZSBhIHJvdyB3YXMgcmVtb3ZlZCovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAoIXRoaXMuaXNIZWFkZXIgJiYgdGhpcy5mb3JtQ29udHJvbCkge1xuICAgICAgdGhpcy5jb250ZXh0LnJvd0FkZGVkT3JSZW1vdmVkLm5leHQoKTtcblxuICAgICAgLy9maW5kIHRoZSBsb2NhdGlvbiBpbiB0aGUgYXJyYXkgdGhhdCBtYXRjaGVzIHRoZSBjaGVja2JveC4gSWYgbWFueSByb3dzIGFyZSBiZWluZyByZW1vdmVkIGl0IG1heSBub3QgbWF0Y2ggcm93SW5kZXggeWV0XG4gICAgICBsZXQgbWF0Y2hJbmRleCA9IHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmNvbnRyb2xzLmZpbmRJbmRleChjID0+IGMgPT0gdGhpcy5mb3JtQ29udHJvbCk7XG4gICAgICBpZiAobWF0Y2hJbmRleCA+PSAwKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLnJlbW92ZUF0KG1hdGNoSW5kZXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKkhhbmRsZSB3aGVuIGEgdXNlciBjbGlja3Mgb24gYSB0YWJsZSByb3cgKG9yIHNvbWV0aGluZyBpbnNpZGUgaXQgd2hpY2ggYnViYmxlcyB1cCkgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGZvciByb3cgc2VsZWN0aW9uXG4gICAqIE9ubHkgd29yayBvbiB0aGUgdGFibGUgYm9keSAobm90IHRoZSBoZWFkZXIpIGJlY2F1c2UgdGhlIGhlYWRlciBtYXkgaGF2ZSBvdGhlciBjbGljayBoYW5kbGVycyBmb3Igc29ydCBldGMgdGhhdCB3ZSBkb24ndCBjYXJlIGFib3V0LlxuICAgKiBIYW5kbGUgc2hpZnQgYW5kIGNvbnRyb2wgc2VsZWN0IGFzIHdlbGwgYXMgY2hlY2tib3ggY2xpY2sgbGlrZSB3aW5kb3dzIGV4cGxvcmVyIG9yIHRoZSBvcmlnaW5hbCBiaWxsIGxpc3RzIGRvLlxuICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyByb3dDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlzSGVhZGVyICYmIHRoaXMuaXNTZWxlY3Rpb25FbmFibGVkICYmICF0aGlzLmlzQ2hlY2tib3hEaXNhYmxlZCkge1xuICAgICAgbGV0IHRhcmdldEVsID0gZXZlbnQ/LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgLy9jbGlja2luZyBvbiBhIHJvdyBhbHdheXMgdG9nZ2xlcyB0aGF0IHJvdy4gU29tZXRpbWVzIHRoZSBzaGlmdC1zZWxlY3Qgd2lsbCB0b2dnbGUgaXQgYmFja1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSghdGhpcy5mb3JtQ29udHJvbC52YWx1ZSk7XG5cbiAgICAgIGlmICghdGhpcy5jb250ZXh0LmRpc2FibGVBZHZhbmNlZFJvd0NsaWNrQmVoYXZpb3IpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVTaGlmdFNlbGVjdChldmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaEZvckNoYW5nZXMoKSB7XG4gICAgLy93YXRjaCBmb3Igcm93cyBiZWluZyByZXBsYWNlZCBzbyB0aGF0IHRoZSBtYXN0ZXIgY2hlY2tib3ggYW5kIHNoaWZ0LXNlbGVjdCBzdXBwb3J0IGNhbiBiZSByZXNldCB0byBtYXRjaFxuICAgIC8vdGhpcyBrZWVwcyB0aGUgbWFzdGVyIGluIHN5bmMgYXMgdGhlIHRhYmxlIGNoYW5nZXMgcGFnZXMgZXRjIGFuZCBzdG9wcyB1bmV4cGVjdGVkIHJvd3MgZnJvbSBiZWluZyBzZWxlY3RlZCBhZnRlciByZWRyYXdcbiAgICBpZiAodGhpcy5pc0hlYWRlcikge1xuICAgICAgdGhpcy5jb250ZXh0LnJvd0FkZGVkT3JSZW1vdmVkLnBpcGUoZGVib3VuY2VUaW1lKDEwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lmxhc3RDbGlja2VkSW5kZXggPSAtMTtcblxuICAgICAgICAvLyBleGNsdWRlIG5vbkRlcGVuZGVudENoZWNrYm94ZXMgKHNvbWUgbWF5IG5vdCBiZSBhbGxvd2VkIHRvIGJlIGRlc2VsZWN0ZWQpXG4gICAgICAgIGxldCBkZXBlbmRlbnRDaGVja2JveGVzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdO1xuICAgICAgICB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5jb250cm9scy5mb3JFYWNoKChjb250cm9sLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5jb250ZXh0Lm5vbkRlcGVuZGVudENoZWNrYm94ZXMuaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgICAgICBkZXBlbmRlbnRDaGVja2JveGVzLnB1c2goY29udHJvbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRlcGVuZGVudENoZWNrYm94ZXNSZWZlcmVuY2UgPSB7IGNvbnRyb2xzOiBkZXBlbmRlbnRDaGVja2JveGVzIH07XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb250ZXh0LnJvd0FkZGVkT3JSZW1vdmVkLm5leHQoKTtcblxuICAgICAgLy93YXRjaCBmb3IgdGhlIGNoZWNrYm94IHN0YXRlIHRvIGNoYW5nZSBvbiBhIGNoaWxkIHJvdyBhbmQgc2V0IHRoZSByb3cgaXNTZWxlY3RlZCBjbGFzcyAvIGhpZ2hsaWdodCB0byBtYXRjaFxuICAgICAgLy90aGlzIHdheSB0aGUgcm93cyBtYXRjaCBldmVuIGlmIGV4dGVybmFsIGNvZGUgdXBkYXRlcyB0aGUgZm9ybSBtb2RlbFxuICAgICAgdGhpcy5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAgKiBJZiB0aGV5IGFyZSBob2xkaW5nIHRoZSBzaGlmdCBrZXksIHRyeSB0byBzZWxlY3QgYWxsIHRoZSBjaGVja2JveGVzIGJldHdlZW4gdGhlaXIgbGFzdCBzZWxlY3Rpb25cbiAgICAqIGFuZCBtb3N0IHJlY2VudCBzZWxlY3Rpb24uIFRoZSBsb2dpYyBpcyBzZXR1cCB0byBiZWhhdmUgdGhlIHdheSB3aW5kb3dzIGV4cGxvcmVyIGJlaGF2ZXNcbiAgICAqIFdlIGRvbid0IGFsbG93IGRyYWctdG8tc2VsZWN0IGxpa2UgdGhlIGtlbmRvIHRhYmxlcywgYnV0IGl0IG1lYW5zIHVzZXJzIGNhbiBoaWdobGlnaHQgdGV4dCBhbmQgY29weStwYXN0ZSB0byBleGNlbCBldGNcbiAgICAqIHNvIEkgdGhpbmsgdGhpcyBpcyBhY3R1YWxseSBwcmVmZXJhYmxlXG4gICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVTaGlmdFNlbGVjdChldmVudDogTW91c2VFdmVudCkge1xuICAgIGxldCBsYXN0SW5kZXggPSB0aGlzLmNvbnRleHQubGFzdENsaWNrZWRJbmRleDtcbiAgICBsZXQgY3VySW5kZXggPSB0aGlzLnJvd0luZGV4O1xuICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBsYXN0SW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5jbGVhckFsbFJvd3MoKTtcbiAgICAgIGlmIChjdXJJbmRleCA+IGxhc3RJbmRleCkge1xuICAgICAgICBmb3IgKHZhciBpbmRleCA9IGxhc3RJbmRleDsgaW5kZXggPD0gY3VySW5kZXg7IGluZGV4KyspIHtcbiAgICAgICAgICB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5hdChpbmRleCkuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY3VySW5kZXggPCBsYXN0SW5kZXgpIHtcbiAgICAgICAgZm9yICh2YXIgaW5kZXggPSBsYXN0SW5kZXg7IGluZGV4ID49IGN1ckluZGV4OyBpbmRleC0tKSB7XG4gICAgICAgICAgdGhpcy5jb250ZXh0LnJvd0NoZWNrYm94ZXMuYXQoaW5kZXgpLnNldFZhbHVlKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGN1ckluZGV4ID09PSBsYXN0SW5kZXgpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL3JlY29yZCB0aGUgY3VycmVudCByb3cgaW5kZXggZm9yIGZ1dHVyZSByb3cgY2xpY2tzIHRvIGtub3cgd2hlcmUgdGhleSBsYXN0IGludGVyYWN0ZWRcbiAgICAgIC8vYnV0IG9ubHkgaWYgdGhleSBkb24ndCBoYXZlIHNoaWZ0IGRvd24gZm9yIHRoaXMgY2xpY2suIElmIHNoaWZ0IGlzIGRvd24gdGhlbiB0aGUgbmV4dCBzaGlmdCtjbGlja1xuICAgICAgLy9zaG91bGQgYmUgY29uc2lkZXJlZCBhbiBleHRlbnNpb24gKG9yIGNvbnRyYWN0aW9uKSBvZiB0aGUgb3JpZ2luYWwgbXVsdGktcm93IHNlbGVjdGlvblxuICAgICAgdGhpcy5jb250ZXh0Lmxhc3RDbGlja2VkSW5kZXggPSB0aGlzLnJvd0luZGV4O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJBbGxSb3dzKCkge1xuICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiBjb250cm9sLnNldFZhbHVlKGZhbHNlKSk7XG4gIH1cbn1cbiIsIjwhLS0gYW55IGVsZW1lbnRzIG9mIHRoZSBleGlzdGluZyB0YWJsZSByb3cgdGhhdCBtdXN0IGdvIGJlZm9yZSB0aGUgcm93IHNlbGVjdGlvbiBjaGVja2JveCBjYW4gYmUgbWFya2VkIHdpdGggYSBjbGFzcyBvZiBiZWZvcmUtY2hlY2tib3ggLS0+XG48bmctY29udGVudCBzZWxlY3Q9XCIuYmVmb3JlLWNoZWNrYm94XCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2VsZWN0aW9uRW5hYmxlZFwiPlxuICA8dGggKm5nSWY9XCJpc0hlYWRlclwiXG4gICAgICBjbGFzcz1cImNoZWNrYm94XCJcbiAgICAgIFtlY1RhYmxlTG9ja2VkQ29sdW1uXT1cImxvY2tlZENvbE9wdGlvbnNcIj5cbiAgICA8ZWMtY2hlY2tib3ggaWQ9XCJ7e2lkfX1fc2VsZWN0QWxsXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTBcIlxuICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQ/LnNlbGVjdEFsbENoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Nb2RlbF09XCJjb250ZXh0Py5zZWxlY3RBbGxDaGVja2JveFwiXG4gICAgICAgICAgICAgICAgIFtkZXBlbmRlbnRDaGVja2JveGVzR3JvdXBdPVwiZGVwZW5kZW50Q2hlY2tib3hlc1JlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgIFtpZ25vcmVEaXNhYmxlZERlcGVuZGVudHNdPVwiZmFsc2VcIj5cbiAgICA8L2VjLWNoZWNrYm94PlxuICA8L3RoPlxuICA8dGQgKm5nSWY9XCIhaXNIZWFkZXIgJiYgZm9ybUNvbnRyb2xcIlxuICAgICAgY2xhc3M9XCJjaGVja2JveFwiXG4gICAgICBbZWNUYWJsZUxvY2tlZENvbHVtbl09XCJsb2NrZWRDb2xPcHRpb25zXCI+XG4gICAgPCEtLSBVc2UgW3JlYWRvbmx5XSBhbmQgbm90IFtkaXNhYmxlZF0gZm9yIGlzQ2hlY2tib3hEaXNhYmxlZCB0byBwcmV2ZW50IHVzZXIgaW50ZXJhY3Rpb25cbiAgICAgICAgIGFuZCBhbGxvdyB0aGUgdmFsdWUgdG8gYmUgdmlzaWJsZSB0byBvdGhlciBjb21wb25lbnRzIChmb3IgZXhhbXBsZSwgd2hlbiB0aGV5IHN1YnNjcmliZVxuICAgICAgICAgdG8gdmFsdWVDaGFuZ2VzIG9uIHRoZSBGb3JtQXJyYXkgdGhhdCBjb250YWlucyBhbGwgdGhlIGNoZWNrYm94IEZvcm1Db250cm9scykuIC0tPlxuICAgIDxlYy1jaGVja2JveCBpZD1cInt7aWR9fV9yb3d7e3Jvd0luZGV4fX1fY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaXNDaGVja2JveERpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiY2hlY2tib3hBdHRyaWJ1dGVJRFwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwibS0wIHJvdy1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgIFtmb3JtTW9kZWxdPVwiZm9ybUNvbnRyb2xcIj5cbiAgICA8L2VjLWNoZWNrYm94PlxuICA8L3RkPlxuPC9uZy1jb250YWluZXI+XG48IS0tIFRoZSByZXN0IG9mIHRoZSB0YWJsZSByb3cgLS0+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+Il19
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFekQsTUFBTSxPQUFPLHlCQUF5QjtJQUF0QztRQUNFOzs7V0FHRztRQUNJLHNCQUFpQixHQUFvQixJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFFOzs7OztXQUtHO1FBQ0ksa0JBQWEsR0FBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsRTs7O1dBR0c7UUFDSSxxQkFBZ0IsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUVyQzs7O1dBR0c7UUFDSSxzQkFBaUIsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV4RDs7V0FFRztRQUNJLG9DQUErQixHQUFZLEtBQUssQ0FBQztRQUV4RDs7V0FFRztRQUNJLDJCQUFzQixHQUFhLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0NBQUE7QUFPRCxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBTUUsd0RBQXdEO1FBR2pELE9BQUUsR0FBVyxFQUFFLENBQUM7UUFPZixzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFPMUM7bUZBQzJFO1FBRXBFLGFBQVEsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUU3Qjs7V0FFRztRQUVJLHFCQUFnQixHQUF1RCxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRXpHLDBIQUEwSDtRQUduSCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRTFCLDhGQUE4RjtRQUV2RixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRWpDOzs7OztXQUtHO1FBRUksdUJBQWtCLEdBQWEsS0FBSyxDQUFDO1FBRTVDO29IQUM0RztRQUNyRyxpQ0FBNEIsR0FBb0MsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFLakYsd0JBQW1CLEdBQVcsRUFBRSxDQUFDO1FBRXhDLG9HQUFvRztRQUM1RixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQXlJekM7SUE1TEMsc0RBQXNEO0lBQ3RELElBRVcsa0JBQWtCLENBQUMsS0FBaUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUcsSUFBVyxrQkFBa0IsS0FBSyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFpRGxFOzs7O01BSUU7SUFDSyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUhBQWlILENBQUMsQ0FBQztRQUNuSSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFakUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkMsV0FBVyxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxhQUFhLENBQUM7UUFDekUsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQy9GLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELDhGQUE4RjtJQUN2RixXQUFXO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1lBRXRDLHdIQUF3SDtZQUN4SCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzRixJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7TUFHRTtJQUVLLFVBQVUsQ0FBQyxLQUFpQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxRSxJQUFJLFFBQVEsR0FBRyxLQUFLLEVBQUUsTUFBcUIsQ0FBQztZQUU1QywyRkFBMkY7WUFDM0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRW5ELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLDBHQUEwRztRQUMxRyx5SEFBeUg7UUFDekgsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM5RixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUVuQyw0RUFBNEU7Z0JBQzVFLElBQUksbUJBQW1CLEdBQXNCLEVBQUUsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ3pELG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDcEMsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztZQUN4RSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUV0Qyw2R0FBNkc7WUFDN0csc0VBQXNFO1lBQ3RFLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7Z0JBQzFGLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUVILENBQUM7SUFFRDs7Ozs7UUFLSTtJQUNJLGlCQUFpQixDQUFDLEtBQWlCO1FBQ3pDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLFFBQVEsR0FBRyxTQUFTLEVBQUUsQ0FBQztnQkFDekIsS0FBSyxJQUFJLEtBQUssR0FBRyxTQUFTLEVBQUUsS0FBSyxJQUFJLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0RCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLFFBQVEsR0FBRyxTQUFTLEVBQUUsQ0FBQztnQkFDaEMsS0FBSyxJQUFJLEtBQUssR0FBRyxTQUFTLEVBQUUsS0FBSyxJQUFJLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0RCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUVELFFBQVEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLHVGQUF1RjtZQUN2RixtR0FBbUc7WUFDbkcsd0ZBQXdGO1lBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDOytHQWpNVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixnakJDaER4QyxtL0NBNkJ5Qjs7NEZEbUJaLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx3QkFBd0I7OEJBUTNCLEVBQUU7c0JBRlIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFNSyxrQkFBa0I7c0JBRjVCLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBUXRCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBTWxCLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBTUMsVUFBVTtzQkFGaEIsV0FBVzt1QkFBQyxtQkFBbUI7O3NCQUMvQixLQUFLO2dCQUtDLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBVXZCLGtCQUFrQjtzQkFEeEIsS0FBSztnQkF5RUMsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlU2VsZWN0YWJsZVJvd0NvbnRleHQge1xyXG4gIC8qKnNwZWNpZnkgdGhlIGZvcm0gY29udHJvbCB0byB1c2UgZm9yIHRoZSBzZWxlY3RBbGwgY2hlY2tib3ggb3IgcHJvdmlkZSB5b3VyIG93bi5cclxuICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gc3Vic2NyaWJlIHRvIGNoYW5nZXMgdG8gY2hhbmdlIGJ1dHRvbiBzdGF0ZXMgYXMgdGhlIHNlbGVjdGlvbiBjaGFuZ2VzXHJcbiAgICogb3IgaWYgeW91IHdhbnQgdG8gYWRkIGl0IHRvIGFuIGFscmVhZHktZXhpc3RpbmcgZm9ybSBncm91cFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3RBbGxDaGVja2JveDogQWJzdHJhY3RDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChmYWxzZSk7XHJcblxyXG4gIC8qKnNwZWNpZnkgdGhlIEZvcm1BcnJheSB0byB1c2UgZm9yIHRoZSBkZXBlbmRlbnQgY2hlY2tib3hlcyBvZiB0aGUgc2VsZWN0QWxsIGNoZWNrYm94XHJcbiAgICogVGhlIGRlcGVuZGVudCBjaGVja2JveGVzIHdpbGwgYWRkIGFuZCByZW1vdmUgdGhlbXNlbHZlcyBhdXRvbWF0aWNhbGx5IGFuZCB0aGUgc2VsZWN0QWxsXHJcbiAgICogYm94IHdpbGwgcmVhY3QgYWNjb3JkaW5nbHkuIERvIG5vdCBwcm92aWRlIHlvdXIgb3duIGNvbnRyb2xzXHJcbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBjaGFuZ2VzIHRvIGNoYW5nZSBidXR0b24gc3RhdGVzIGFzIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xyXG4gICAqIG9yIGlmIHlvdSB3YW50IHRvIGFkZCBpdCB0byBhbiBhbHJlYWR5LWV4aXN0aW5nIGZvcm0gZ3JvdXBcclxuICAgKi9cclxuICBwdWJsaWMgcm93Q2hlY2tib3hlczogVW50eXBlZEZvcm1BcnJheSA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KFtdKTtcclxuXHJcbiAgLyoqVGhlIGluZGV4IG9mIHRoZSBsYXN0IHJvdyB0aGUgdXNlciBjbGlja2VkLiBUaGlzIGFsbG93cyBtdWx0aXBsZSBkaXJlY3RpdmVzIG9uIGEgc2NyZWVuIHRvIGNvb3JkaW5hdGVcclxuICAgKiBmb3IgcmVhY3RpbmcgdG8gc2hpZnQrY2xpY2sgYWN0aW9ucyB0aGF0IHNob3VsZCBhdXRvbWF0aWNhbGx5IHNlbGVjdCBtdWx0aXBsZSByb3dzIGJldHdlZW4gdGhlIGNsaWNrZWQgcm93c1xyXG4gICAqIGRlZmF1bHRzIHRvIC0xIHRvIGluZGljYXRlIHRoYXQgbm8gdXNlciBjbGljayBoYXMgYmVlbiBjYXB0dXJlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBsYXN0Q2xpY2tlZEluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgLyoqQSBzdWJqZWN0IHRoYXQgaXMgdHJpZ2dlcmVkIHdoZW4gYSByb3ctYmFzZWQgZGlyZWN0aXZlIGlzIGFkZGVkIG9yIHJlbW92ZWQuIEl0IGFsbG93c1xyXG4gICAqIHRoZSBtYXN0ZXIgY2hlY2tib3ggaW4gdGhlIGhlYWRlciB0byBrbm93IHRoYXQgaXQgbmVlZHMgdG8gcmVzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb25cclxuICAgKiB3aXRob3V0IHJlcGxhY2luZyB0aGUgYWN0dWFsIEZvcm1BcnJheSB0aGF0IHRoZSBob3N0aW5nIGNvbXBvbmVudCBtYXkgYmUgc3Vic2NyaWJlZCB0byBmb3IgY2hhbmdlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyByb3dBZGRlZE9yUmVtb3ZlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0byB0cnVlIHRvIGRpc2FibGUgU2hpZnQtQ2xpY2svQ3RybC1DbGljayBmdW5jdGlvbmFsaXR5XHJcbiAgICovXHJcbiAgcHVibGljIGRpc2FibGVBZHZhbmNlZFJvd0NsaWNrQmVoYXZpb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRvIGxpc3Qgb2YgaW5kaWNlcyBvZiBjb250cm9scyB0aGF0IHNob3VsZCBub3QgdG9nZ2xlIHdoZW4gbWFzdGVyL2hlYWRlciBjaGVja2JveCB0b2dnbGVzXHJcbiAgICovXHJcbiAgcHVibGljIG5vbkRlcGVuZGVudENoZWNrYm94ZXM6IG51bWJlcltdID0gW107XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnW2VjVGFibGVTZWxlY3RhYmxlUm93XScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXNlbGVjdGFibGUtcm93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1zZWxlY3RhYmxlLXJvdy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVNlbGVjdGFibGVSb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICAvKipUaGUgSUQgcm9vdCB0byB1c2UgZm9yIHRoZSBjaGVja2JveCBhbmQgdGFibGUgY2VsbCAqL1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKiogRGlzYWJsZXMgdGhlIHNlbGVjdGlvbiBmdW5jdGlvbmFsaXR5IHdoZW4gZmFsc2UgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWVuYWJsZWQnKVxyXG4gIEBJbnB1dCgnZWNUYWJsZVNlbGVjdGFibGVSb3cnKVxyXG4gIHB1YmxpYyBzZXQgaXNTZWxlY3Rpb25FbmFibGVkKHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCkgeyB0aGlzLl9zZWxlY3Rpb25FbmFibGVkID0gdmFsdWUgIT09IGZhbHNlOyB9XHJcbiAgcHVibGljIGdldCBpc1NlbGVjdGlvbkVuYWJsZWQoKSB7IHJldHVybiB0aGlzLl9zZWxlY3Rpb25FbmFibGVkOyB9XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlNoYXJlZCBjb250ZXh0IGJldHdlZW4gbWFzdGVyIGFuZCBjaGlsZHJlbi4gQ2hpbGQgZGlyZWN0aXZlIGFkZHMgaXRzIG93biBGb3JtQ29udHJvbCB0byB0aGlzXHJcbiAgYW5kIHJlbW92ZXMgaXQgb25EZXN0cm95LiBUaGUgc2FtZSBjb250ZXh0IG9iamVjdCBtdXN0IGJlIHVzZWQgZm9yIGFsbCBkaXJlY3RpdmVzIGluIGEgc2luZ2xlIHRhYmxlKi9cclxuICBASW5wdXQoJ3NlbGVjdGlvbkNvbnRleHQnKVxyXG4gIHB1YmxpYyBjb250ZXh0ITogVGFibGVTZWxlY3RhYmxlUm93Q29udGV4dDtcclxuXHJcbiAgLypSZXF1aXJlZCBmb3IgYWxsIHJvd3MuIFRoZSByb3cgaW5kZXggdGhpcyBjb21wb25lbnQgcmVwcmVzZW50cywgdG8gYWxsb3cgaXQgdG8ga25vdyBob3cgdG8gaGFuZGxlIHNoaWZ0K2NsaWNrcy5cclxuICAgIERlZmF1bHRzIHRvIC0xIHdoaWNoIHdpbGwgY2F1c2UgdGhlIGRpcmVjdGl2ZSB0byBiZWhhdmUgYXMgYSBoZWFkZXIgcm93Ki9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3dJbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8qKlRoZSBvcHRpb25zIHVzZWQgdG8gbG9jayB0aGUgY2hlY2tib3ggY29sdW1uIHRvIHRoZSBsZWZ0IG9mIHRoZSB0YWJsZSwgbXVzdCBiZSBtb2RpZmllZCBieSBob3N0XHJcbiAgICogaWYgdGhlIGNoZWNrYm94IGlzIG5vdCB0aGUgZmlyc3QgY29sdW1uIGluIHRoZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxvY2tlZENvbE9wdGlvbnM6IHsgYm9yZGVyOiBib29sZWFuLCBsZWZ0PzogbnVtYmVyLCByaWdodD86IG51bWJlciB9ID0geyBib3JkZXI6IGZhbHNlLCBsZWZ0OiAwIH07XHJcblxyXG4gIC8qKiBBdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlIGJhc2VkIG9uIGNoZWNrYm94IHN0YXRlLCB1c2VkIHRvIGhpZ2hsaWdodCB0aGUgcm93IHRvIG1hdGNoIG91ciB0YWJsZSBzZWxlY3RlZCByb3cgc3R5bGVzICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuICAvKiogQXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZSBpZiBubyByb3dJbmRleCBpcyBwcm92aWRlZCBvciB0aGUgcm93IGluZGV4IGlzIGxlc3MgdGhhbiB6ZXJvICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1oZWFkZXInKVxyXG4gIHB1YmxpYyBpc0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdG8gdHJ1ZSBpZiB5b3Ugd2FudCB0aGUgY2hlY2tib3ggdG8gYmUgZGlzYWJsZWQuXHJcbiAgICpcclxuICAgKiBXaGVuIHlvdSB1c2UgdGhpcyBwcm9wZXJ0eSwgbWFrZSBzdXJlIHlvdSBzZXQgYGRpc2FibGVBZHZhbmNlZFJvd0NsaWNrQmVoYXZpb3I6IHRydWVgXHJcbiAgICogaW4gdGhlIGBUYWJsZVNlbGVjdGFibGVSb3dDb250ZXh0YCwgb3IgdW5kZXNpcmVkIHNpZGUtZWZmZWN0cyB3aWxsIG9jY3VyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQ2hlY2tib3hEaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyogQSByZWZlcmVuY2UgdGhhdCB3ZSBjYW4gY2hhbmdlIHdoZW4gYSBjb250cm9sIGlzIHJlcGxhY2VkIHRvIGZvcmNlIHRoZSBtYXN0ZXIgY2hlY2tib3ggcmVmZXJlbmNlIHRvIHVwZGF0ZVxyXG4gICAgIHdpdGhvdXQgYWxzbyByZXBsYWNpbmcgdGhlIGZvcm0gYXJyYXkgdGhhdCB0aGUgaG9zdCBjb21wb25lbnQgbWF5IGJlIHdhdGNoaW5nIGZvciBzZWxlY3RlZCByb3cgY2hhbmdlcyAqL1xyXG4gIHB1YmxpYyBkZXBlbmRlbnRDaGVja2JveGVzUmVmZXJlbmNlOiB7IGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSB9ID0geyBjb250cm9sczogW10gfTtcclxuXHJcbiAgLypDYXB0dXJlIHRoZSBmb3JtIGNvbnRyb2wgdGhpcyBjb21wb25lbnQgY3JlYXRlcyB0byBhbGxvdyBjbGVhbnVwIGxhdGVyIG9uIGFuZCBleHBvc2UgaXQgdG8gdGhlIHJvdyovXHJcbiAgcHVibGljIGZvcm1Db250cm9sITogQWJzdHJhY3RDb250cm9sO1xyXG5cclxuICBwdWJsaWMgY2hlY2tib3hBdHRyaWJ1dGVJRDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlNlbmRzIGFuIGV2ZW50IHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQgc28gdGhhdCBpdCBjYW4gdW5zdWJzY3JpYmUgZnJvbSBhbnkgb2JzZXJ2YWJsZXMgKi9cclxuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIC8qKlZhbGlkYXRlIGFuZCBwb3B1bGF0ZSB0aGUgY29udGV4dCBhcyB0aGUgdGFibGUgaXMgZHluYW1pY2FsbHkgYnVpbHQuIEJlY2F1c2UgdGhlIGNvbnRleHQgaXMgc2hhcmVkIGJldHdlZW4gdGhlXHJcbiAgICogaGVhZGVyIGFuZCBlYWNoIG9mIHRoZSByb3dzLCBjaGFuZ2VzIHRvIGl0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGF0IGlzIGhhcHBlbmluZyBhbmQgaG9vayB1cCB0aGUgY29ycmVjdFxyXG4gICAqIHN1YnNjcmlwdGlvbnMgZm9yIHNlbGVjdEFsbC4gVGhlIHVzZXIgY2FuIHByb3ZpZGUgYW4gZXhpc3RpbmcgZm9ybUFycmF5IGZvciB0aGUgcm93cyBhbmQgZm9ybSBjb250cm9sIGZvciB0aGUgaGVhZGVyLFxyXG4gICAqIG9yIGl0IGNhbiBqdXN0IGJlIHRoZSBkZWZhdWx0IGVtcHR5IG9uZXMgY3JlYXRlZCBieSB0aGUgY29udGV4dCBjbGFzcy5cclxuICAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaXNIZWFkZXIgPSB0aGlzLnJvd0luZGV4IDwgMDtcclxuICAgIGlmICghdGhpcy5jb250ZXh0KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2VjVGFibGVTZWxlY3RhYmxlUm93IHJlcXVpcmVzIGEgZGVmaW5lZCBTZWxlY3RhYmxlVGFibGVSb3dDb250ZXh0IHRvIGJlIHNoYXJlZCB3aXRoIGFsbCBpbnN0YW5jZXMgaW4gb25lIHRhYmxlLicpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHJvd0NoZWNrYm94ID0gdGhpcy5jb250ZXh0Py5yb3dDaGVja2JveGVzPy5hdCh0aGlzLnJvd0luZGV4KTtcclxuXHJcbiAgICAgIGlmICghdGhpcy5pc0hlYWRlciAmJiAhcm93Q2hlY2tib3gpIHtcclxuICAgICAgICByb3dDaGVja2JveCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy5pc1NlbGVjdGVkKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQ/LnJvd0NoZWNrYm94ZXMucHVzaChyb3dDaGVja2JveCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmlzSGVhZGVyID8gdGhpcy5jb250ZXh0LnNlbGVjdEFsbENoZWNrYm94IDogcm93Q2hlY2tib3g7XHJcbiAgICAgIHRoaXMud2F0Y2hGb3JDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipXYXRjaCBmb3IgY2hhbmdlcyB0byB0aGUgcm93IGluZGV4IHRoYXQgY2FuIG9jY3VyIGlmIHRoZSB0YWJsZSBpcyByZW9yZGVyZWQgaW4tcGxhY2UgaW5zdGVhZCBvZlxyXG4gICAqIHJlY3JlYXRlZCBmcm9tIHNjcmF0Y2guIFJlLWNhcHR1cmUgdGhlIGNvcnJlY3QgZm9ybSBjb250cm9sIHRvIGtlZXAgZXZlcnl0aGluZyBpbiBzeW5jXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLnJvd0luZGV4ICYmICF0aGlzLmlzSGVhZGVyKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5hdCh0aGlzLnJvd0luZGV4KTtcclxuICAgICAgdGhpcy5jaGVja2JveEF0dHJpYnV0ZUlEID0gYCR7dGhpcy5pZH1fcm93JHt0aGlzLnJvd0luZGV4fV9lY0NoZWNrYm94YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlcy5pc1NlbGVjdGlvbkVuYWJsZWQgJiYgIXRoaXMuaXNTZWxlY3Rpb25FbmFibGVkICYmIHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzLmlzU2VsZWN0ZWQgJiYgdGhpcy5mb3JtQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuaXNTZWxlY3RlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogVGVsbCB0aGUgaGVhZGVyIGNoZWNrYm94IHRvIHJlZnJlc2ggdGhlIHNlbGVjdEFsbCBzdWJzY3JpcHRpb24gYmVjYXVzZSBhIHJvdyB3YXMgcmVtb3ZlZCovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKCF0aGlzLmlzSGVhZGVyICYmIHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250ZXh0LnJvd0FkZGVkT3JSZW1vdmVkLm5leHQoKTtcclxuXHJcbiAgICAgIC8vZmluZCB0aGUgbG9jYXRpb24gaW4gdGhlIGFycmF5IHRoYXQgbWF0Y2hlcyB0aGUgY2hlY2tib3guIElmIG1hbnkgcm93cyBhcmUgYmVpbmcgcmVtb3ZlZCBpdCBtYXkgbm90IG1hdGNoIHJvd0luZGV4IHlldFxyXG4gICAgICBsZXQgbWF0Y2hJbmRleCA9IHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmNvbnRyb2xzLmZpbmRJbmRleChjID0+IGMgPT0gdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgICAgIGlmIChtYXRjaEluZGV4ID49IDApIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5yZW1vdmVBdChtYXRjaEluZGV4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqSGFuZGxlIHdoZW4gYSB1c2VyIGNsaWNrcyBvbiBhIHRhYmxlIHJvdyAob3Igc29tZXRoaW5nIGluc2lkZSBpdCB3aGljaCBidWJibGVzIHVwKSB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgZm9yIHJvdyBzZWxlY3Rpb25cclxuICAgKiBPbmx5IHdvcmsgb24gdGhlIHRhYmxlIGJvZHkgKG5vdCB0aGUgaGVhZGVyKSBiZWNhdXNlIHRoZSBoZWFkZXIgbWF5IGhhdmUgb3RoZXIgY2xpY2sgaGFuZGxlcnMgZm9yIHNvcnQgZXRjIHRoYXQgd2UgZG9uJ3QgY2FyZSBhYm91dC5cclxuICAgKiBIYW5kbGUgc2hpZnQgYW5kIGNvbnRyb2wgc2VsZWN0IGFzIHdlbGwgYXMgY2hlY2tib3ggY2xpY2sgbGlrZSB3aW5kb3dzIGV4cGxvcmVyIG9yIHRoZSBvcmlnaW5hbCBiaWxsIGxpc3RzIGRvLlxyXG4gICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyByb3dDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuaXNIZWFkZXIgJiYgdGhpcy5pc1NlbGVjdGlvbkVuYWJsZWQgJiYgIXRoaXMuaXNDaGVja2JveERpc2FibGVkKSB7XHJcbiAgICAgIGxldCB0YXJnZXRFbCA9IGV2ZW50Py50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAvL2NsaWNraW5nIG9uIGEgcm93IGFsd2F5cyB0b2dnbGVzIHRoYXQgcm93LiBTb21ldGltZXMgdGhlIHNoaWZ0LXNlbGVjdCB3aWxsIHRvZ2dsZSBpdCBiYWNrXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoIXRoaXMuZm9ybUNvbnRyb2wudmFsdWUpO1xyXG5cclxuICAgICAgaWYgKCF0aGlzLmNvbnRleHQuZGlzYWJsZUFkdmFuY2VkUm93Q2xpY2tCZWhhdmlvcikge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2hpZnRTZWxlY3QoZXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHdhdGNoRm9yQ2hhbmdlcygpIHtcclxuICAgIC8vd2F0Y2ggZm9yIHJvd3MgYmVpbmcgcmVwbGFjZWQgc28gdGhhdCB0aGUgbWFzdGVyIGNoZWNrYm94IGFuZCBzaGlmdC1zZWxlY3Qgc3VwcG9ydCBjYW4gYmUgcmVzZXQgdG8gbWF0Y2hcclxuICAgIC8vdGhpcyBrZWVwcyB0aGUgbWFzdGVyIGluIHN5bmMgYXMgdGhlIHRhYmxlIGNoYW5nZXMgcGFnZXMgZXRjIGFuZCBzdG9wcyB1bmV4cGVjdGVkIHJvd3MgZnJvbSBiZWluZyBzZWxlY3RlZCBhZnRlciByZWRyYXdcclxuICAgIGlmICh0aGlzLmlzSGVhZGVyKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dC5yb3dBZGRlZE9yUmVtb3ZlZC5waXBlKGRlYm91bmNlVGltZSgxMCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0Lmxhc3RDbGlja2VkSW5kZXggPSAtMTtcclxuXHJcbiAgICAgICAgLy8gZXhjbHVkZSBub25EZXBlbmRlbnRDaGVja2JveGVzIChzb21lIG1heSBub3QgYmUgYWxsb3dlZCB0byBiZSBkZXNlbGVjdGVkKVxyXG4gICAgICAgIGxldCBkZXBlbmRlbnRDaGVja2JveGVzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5ub25EZXBlbmRlbnRDaGVja2JveGVzLmluY2x1ZGVzKGluZGV4KSkge1xyXG4gICAgICAgICAgICBkZXBlbmRlbnRDaGVja2JveGVzLnB1c2goY29udHJvbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGVwZW5kZW50Q2hlY2tib3hlc1JlZmVyZW5jZSA9IHsgY29udHJvbHM6IGRlcGVuZGVudENoZWNrYm94ZXMgfTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnRleHQucm93QWRkZWRPclJlbW92ZWQubmV4dCgpO1xyXG5cclxuICAgICAgLy93YXRjaCBmb3IgdGhlIGNoZWNrYm94IHN0YXRlIHRvIGNoYW5nZSBvbiBhIGNoaWxkIHJvdyBhbmQgc2V0IHRoZSByb3cgaXNTZWxlY3RlZCBjbGFzcyAvIGhpZ2hsaWdodCB0byBtYXRjaFxyXG4gICAgICAvL3RoaXMgd2F5IHRoZSByb3dzIG1hdGNoIGV2ZW4gaWYgZXh0ZXJuYWwgY29kZSB1cGRhdGVzIHRoZSBmb3JtIG1vZGVsXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB2YWx1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICAqIElmIHRoZXkgYXJlIGhvbGRpbmcgdGhlIHNoaWZ0IGtleSwgdHJ5IHRvIHNlbGVjdCBhbGwgdGhlIGNoZWNrYm94ZXMgYmV0d2VlbiB0aGVpciBsYXN0IHNlbGVjdGlvblxyXG4gICAgKiBhbmQgbW9zdCByZWNlbnQgc2VsZWN0aW9uLiBUaGUgbG9naWMgaXMgc2V0dXAgdG8gYmVoYXZlIHRoZSB3YXkgd2luZG93cyBleHBsb3JlciBiZWhhdmVzXHJcbiAgICAqIFdlIGRvbid0IGFsbG93IGRyYWctdG8tc2VsZWN0IGxpa2UgdGhlIGtlbmRvIHRhYmxlcywgYnV0IGl0IG1lYW5zIHVzZXJzIGNhbiBoaWdobGlnaHQgdGV4dCBhbmQgY29weStwYXN0ZSB0byBleGNlbCBldGNcclxuICAgICogc28gSSB0aGluayB0aGlzIGlzIGFjdHVhbGx5IHByZWZlcmFibGVcclxuICAgICovXHJcbiAgcHJpdmF0ZSBoYW5kbGVTaGlmdFNlbGVjdChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgbGV0IGxhc3RJbmRleCA9IHRoaXMuY29udGV4dC5sYXN0Q2xpY2tlZEluZGV4O1xyXG4gICAgbGV0IGN1ckluZGV4ID0gdGhpcy5yb3dJbmRleDtcclxuICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBsYXN0SW5kZXggPj0gMCkge1xyXG4gICAgICB0aGlzLmNsZWFyQWxsUm93cygpO1xyXG4gICAgICBpZiAoY3VySW5kZXggPiBsYXN0SW5kZXgpIHtcclxuICAgICAgICBmb3IgKHZhciBpbmRleCA9IGxhc3RJbmRleDsgaW5kZXggPD0gY3VySW5kZXg7IGluZGV4KyspIHtcclxuICAgICAgICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmF0KGluZGV4KS5zZXRWYWx1ZSh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoY3VySW5kZXggPCBsYXN0SW5kZXgpIHtcclxuICAgICAgICBmb3IgKHZhciBpbmRleCA9IGxhc3RJbmRleDsgaW5kZXggPj0gY3VySW5kZXg7IGluZGV4LS0pIHtcclxuICAgICAgICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmF0KGluZGV4KS5zZXRWYWx1ZSh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoY3VySW5kZXggPT09IGxhc3RJbmRleCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpPy5yZW1vdmVBbGxSYW5nZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vcmVjb3JkIHRoZSBjdXJyZW50IHJvdyBpbmRleCBmb3IgZnV0dXJlIHJvdyBjbGlja3MgdG8ga25vdyB3aGVyZSB0aGV5IGxhc3QgaW50ZXJhY3RlZFxyXG4gICAgICAvL2J1dCBvbmx5IGlmIHRoZXkgZG9uJ3QgaGF2ZSBzaGlmdCBkb3duIGZvciB0aGlzIGNsaWNrLiBJZiBzaGlmdCBpcyBkb3duIHRoZW4gdGhlIG5leHQgc2hpZnQrY2xpY2tcclxuICAgICAgLy9zaG91bGQgYmUgY29uc2lkZXJlZCBhbiBleHRlbnNpb24gKG9yIGNvbnRyYWN0aW9uKSBvZiB0aGUgb3JpZ2luYWwgbXVsdGktcm93IHNlbGVjdGlvblxyXG4gICAgICB0aGlzLmNvbnRleHQubGFzdENsaWNrZWRJbmRleCA9IHRoaXMucm93SW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyQWxsUm93cygpIHtcclxuICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiBjb250cm9sLnNldFZhbHVlKGZhbHNlKSk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gYW55IGVsZW1lbnRzIG9mIHRoZSBleGlzdGluZyB0YWJsZSByb3cgdGhhdCBtdXN0IGdvIGJlZm9yZSB0aGUgcm93IHNlbGVjdGlvbiBjaGVja2JveCBjYW4gYmUgbWFya2VkIHdpdGggYSBjbGFzcyBvZiBiZWZvcmUtY2hlY2tib3ggLS0+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cIi5iZWZvcmUtY2hlY2tib3hcIj48L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NlbGVjdGlvbkVuYWJsZWRcIj5cclxuICA8dGggKm5nSWY9XCJpc0hlYWRlclwiXHJcbiAgICAgIGNsYXNzPVwiY2hlY2tib3hcIlxyXG4gICAgICBbZWNUYWJsZUxvY2tlZENvbHVtbl09XCJsb2NrZWRDb2xPcHRpb25zXCI+XHJcbiAgICA8ZWMtY2hlY2tib3ggaWQ9XCJ7e2lkfX1fc2VsZWN0QWxsXCJcclxuICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMFwiXHJcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZXh0Py5zZWxlY3RBbGxDaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Nb2RlbF09XCJjb250ZXh0Py5zZWxlY3RBbGxDaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgW2RlcGVuZGVudENoZWNrYm94ZXNHcm91cF09XCJkZXBlbmRlbnRDaGVja2JveGVzUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICBbaWdub3JlRGlzYWJsZWREZXBlbmRlbnRzXT1cImZhbHNlXCI+XHJcbiAgICA8L2VjLWNoZWNrYm94PlxyXG4gIDwvdGg+XHJcbiAgPHRkICpuZ0lmPVwiIWlzSGVhZGVyICYmIGZvcm1Db250cm9sXCJcclxuICAgICAgY2xhc3M9XCJjaGVja2JveFwiXHJcbiAgICAgIFtlY1RhYmxlTG9ja2VkQ29sdW1uXT1cImxvY2tlZENvbE9wdGlvbnNcIj5cclxuICAgIDwhLS0gVXNlIFtyZWFkb25seV0gYW5kIG5vdCBbZGlzYWJsZWRdIGZvciBpc0NoZWNrYm94RGlzYWJsZWQgdG8gcHJldmVudCB1c2VyIGludGVyYWN0aW9uXHJcbiAgICAgICAgIGFuZCBhbGxvdyB0aGUgdmFsdWUgdG8gYmUgdmlzaWJsZSB0byBvdGhlciBjb21wb25lbnRzIChmb3IgZXhhbXBsZSwgd2hlbiB0aGV5IHN1YnNjcmliZVxyXG4gICAgICAgICB0byB2YWx1ZUNoYW5nZXMgb24gdGhlIEZvcm1BcnJheSB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgY2hlY2tib3ggRm9ybUNvbnRyb2xzKS4gLS0+XHJcbiAgICA8ZWMtY2hlY2tib3ggaWQ9XCJ7e2lkfX1fcm93e3tyb3dJbmRleH19X2NoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaXNDaGVja2JveERpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJjaGVja2JveEF0dHJpYnV0ZUlEXCJcclxuICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMCByb3ctY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgIFtmb3JtTW9kZWxdPVwiZm9ybUNvbnRyb2xcIj5cclxuICAgIDwvZWMtY2hlY2tib3g+XHJcbiAgPC90ZD5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gVGhlIHJlc3Qgb2YgdGhlIHRhYmxlIHJvdyAtLT5cclxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiJdfQ==
@@ -188,11 +188,11 @@ export class TableComponent {
188
188
  });
189
189
  }
190
190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableComponent, selector: "ec-table", inputs: { id: "id", scrollable: "scrollable", resizable: "resizable", condensed: "condensed", sortable: "sortable", selectionContext: "selectionContext", selectionToolbarTemplate: "selectionToolbarTemplate", headerTitleTemplate: "headerTitleTemplate", selectable: "selectable", isForm: "isForm", sort: "sort", searchableTableResizableColumns: ["resizableColumns", "searchableTableResizableColumns"] }, outputs: { sortChange: "sortChange" }, host: { properties: { "attr.id": "this.id", "class.is-scrollable": "this.scrollable", "class.is-resizable": "this.resizable", "class.is-condensed": "this.condensed", "class.is-sortable": "this.sortable", "class.has-title": "this.hasHeaderTitleTemplate", "class.is-selectable": "this.selectable", "class.is-form-table": "this.isForm", "class.is-master-detail": "this.hasMasterDetailRows" } }, queries: [{ propertyName: "masterRows", predicate: TableMasterRowComponent, descendants: true }, { propertyName: "_resizableColumns", predicate: ResizableColumnComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (headerTitleTemplate) {\n<header class=\"table-title\">\n <ng-container *ngTemplateOutlet=\"headerTitleTemplate\"></ng-container>\n</header>\n}\n\n<div class=\"selectable-table-toolbar\"\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\n</div>\n\n<div id=\"{{id}}-scroll-container\" \n class=\"table-scroll-container\"\n cdkScrollable>\n <table class=\"main-table\"\n id=\"{{id}}\"\n [ecResizableTable]=\"resizable\"\n [containerEl]=\"el\"\n [sortableTable]=\"sortable\"\n [resizableColumns]=\"resizableColumns\">\n <ng-content></ng-content>\n </table>\n</div>\n", styles: ["ec-table{display:flex;flex-direction:column;position:relative;min-height:0}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ec-font-size-label)}ec-table .main-table th{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;vertical-align:middle}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--ec-border-color);vertical-align:top}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected>td,ec-table .main-table tbody>tr.is-selected{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;text-transform:uppercase;padding-bottom:0;vertical-align:bottom;border-top:0}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table th.actions-col,ec-table .main-table td.actions-col{padding:0}ec-table .main-table th.actions-1,ec-table .main-table td.actions-1{width:2.0625rem}ec-table .main-table th.actions-2,ec-table .main-table td.actions-2{width:4.0625rem}ec-table .main-table th.actions-3,ec-table .main-table td.actions-3{width:6.0625rem}ec-table .main-table th.actions-4,ec-table .main-table td.actions-4{width:8.0625rem}ec-table .main-table th.actions-5,ec-table .main-table td.actions-5{width:10.0625rem}ec-table.is-condensed th,ec-table.is-condensed td{padding-top:.25rem;padding-bottom:.25rem;height:1.5rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .table-title{height:2.5rem;display:flex;align-items:center;padding:0 .5rem}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;padding:0 .5rem;position:absolute;left:calc(var(--selection-toolbar-left, 0rem) + 1.625rem);top:0;height:2.5rem;right:0;z-index:calc(var(--ec-z-index-sticky-header) + 3)}ec-table.has-title .selectable-table-toolbar{left:0}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);position:sticky!important;bottom:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{display:flex;cursor:pointer}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{flex:none;width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before{font:var(--fa-font-solid);content:\"\\f062\";display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{position:relative;overflow:visible;z-index:var(--ec-z-index-sticky-header)}ec-table.is-resizable th.is-resizable.is-active{-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{position:absolute;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter);right:0;padding:.5rem 0 .5rem 10px}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{content:\"\";display:block;width:1px;background-color:var(--ec-border-color);position:absolute;top:.5rem;bottom:.5rem;right:0}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:2.5rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-top:.75rem;padding-bottom:.75rem}ec-table.is-selectable th.is-resizable .handle:before{top:.75rem;bottom:.75rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{padding-bottom:.25rem;padding-top:.25rem;height:2.5rem;line-height:2rem;border-top:0;font-size:var(--ec-font-size-body)}ec-table.is-form-table tr:first-child td{padding-top:.5rem;height:2.75rem}ec-table.is-form-table tr:last-child td{padding-bottom:.5rem;height:2.75rem}ec-table.is-fixed .main-table{table-layout:fixed}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i3.ResizableTableDirective, selector: "[ecResizableTable]", inputs: ["ecResizableTable", "containerEl", "sortableTable", "resizableColumns"] }], encapsulation: i0.ViewEncapsulation.None }); }
191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableComponent, selector: "ec-table", inputs: { id: "id", scrollable: "scrollable", resizable: "resizable", condensed: "condensed", sortable: "sortable", selectionContext: "selectionContext", selectionToolbarTemplate: "selectionToolbarTemplate", headerTitleTemplate: "headerTitleTemplate", selectable: "selectable", isForm: "isForm", sort: "sort", searchableTableResizableColumns: ["resizableColumns", "searchableTableResizableColumns"] }, outputs: { sortChange: "sortChange" }, host: { properties: { "attr.id": "this.id", "class.is-scrollable": "this.scrollable", "class.is-resizable": "this.resizable", "class.is-condensed": "this.condensed", "class.is-sortable": "this.sortable", "class.has-title": "this.hasHeaderTitleTemplate", "class.is-selectable": "this.selectable", "class.is-form-table": "this.isForm", "class.is-master-detail": "this.hasMasterDetailRows" } }, queries: [{ propertyName: "masterRows", predicate: TableMasterRowComponent, descendants: true }, { propertyName: "_resizableColumns", predicate: ResizableColumnComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (headerTitleTemplate) {\r\n<header class=\"table-title\">\r\n <ng-container *ngTemplateOutlet=\"headerTitleTemplate\"></ng-container>\r\n</header>\r\n}\r\n\r\n<div class=\"selectable-table-toolbar\"\r\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\r\n</div>\r\n\r\n<div id=\"{{id}}-scroll-container\" \r\n class=\"table-scroll-container\"\r\n cdkScrollable>\r\n <table class=\"main-table\"\r\n id=\"{{id}}\"\r\n [ecResizableTable]=\"resizable\"\r\n [containerEl]=\"el\"\r\n [sortableTable]=\"sortable\"\r\n [resizableColumns]=\"resizableColumns\">\r\n <ng-content></ng-content>\r\n </table>\r\n</div>\r\n", styles: ["ec-table{display:flex;flex-direction:column;position:relative;min-height:0}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ec-font-size-label)}ec-table .main-table th{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;vertical-align:middle}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--ec-border-color);vertical-align:top}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected>td,ec-table .main-table tbody>tr.is-selected{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;text-transform:uppercase;padding-bottom:0;vertical-align:bottom;border-top:0}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table th.actions-col,ec-table .main-table td.actions-col{padding:0}ec-table .main-table th.actions-1,ec-table .main-table td.actions-1{width:2.0625rem}ec-table .main-table th.actions-2,ec-table .main-table td.actions-2{width:4.0625rem}ec-table .main-table th.actions-3,ec-table .main-table td.actions-3{width:6.0625rem}ec-table .main-table th.actions-4,ec-table .main-table td.actions-4{width:8.0625rem}ec-table .main-table th.actions-5,ec-table .main-table td.actions-5{width:10.0625rem}ec-table.is-condensed th,ec-table.is-condensed td{padding-top:.25rem;padding-bottom:.25rem;height:1.5rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .table-title{height:2.5rem;display:flex;align-items:center;padding:0 .5rem}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;padding:0 .5rem;position:absolute;left:calc(var(--selection-toolbar-left, 0rem) + 1.625rem);top:0;height:2.5rem;right:0;z-index:calc(var(--ec-z-index-sticky-header) + 3)}ec-table.has-title .selectable-table-toolbar{left:0}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);position:sticky!important;bottom:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{display:flex;cursor:pointer}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{flex:none;width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before{font:var(--fa-font-solid);content:\"\\f062\";display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{position:relative;overflow:visible;z-index:var(--ec-z-index-sticky-header)}ec-table.is-resizable th.is-resizable.is-active{-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{position:absolute;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter);right:0;padding:.5rem 0 .5rem 10px}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{content:\"\";display:block;width:1px;background-color:var(--ec-border-color);position:absolute;top:.5rem;bottom:.5rem;right:0}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:2.5rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-top:.75rem;padding-bottom:.75rem}ec-table.is-selectable th.is-resizable .handle:before{top:.75rem;bottom:.75rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{padding-bottom:.25rem;padding-top:.25rem;height:2.5rem;line-height:2rem;border-top:0;font-size:var(--ec-font-size-body)}ec-table.is-form-table tr:first-child td{padding-top:.5rem;height:2.75rem}ec-table.is-form-table tr:last-child td{padding-bottom:.5rem;height:2.75rem}ec-table.is-fixed .main-table{table-layout:fixed}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i3.ResizableTableDirective, selector: "[ecResizableTable]", inputs: ["ecResizableTable", "containerEl", "sortableTable", "resizableColumns"] }], encapsulation: i0.ViewEncapsulation.None }); }
192
192
  }
193
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
194
194
  type: Component,
195
- args: [{ selector: 'ec-table', encapsulation: ViewEncapsulation.None, template: "@if (headerTitleTemplate) {\n<header class=\"table-title\">\n <ng-container *ngTemplateOutlet=\"headerTitleTemplate\"></ng-container>\n</header>\n}\n\n<div class=\"selectable-table-toolbar\"\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\n</div>\n\n<div id=\"{{id}}-scroll-container\" \n class=\"table-scroll-container\"\n cdkScrollable>\n <table class=\"main-table\"\n id=\"{{id}}\"\n [ecResizableTable]=\"resizable\"\n [containerEl]=\"el\"\n [sortableTable]=\"sortable\"\n [resizableColumns]=\"resizableColumns\">\n <ng-content></ng-content>\n </table>\n</div>\n", styles: ["ec-table{display:flex;flex-direction:column;position:relative;min-height:0}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ec-font-size-label)}ec-table .main-table th{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;vertical-align:middle}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--ec-border-color);vertical-align:top}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected>td,ec-table .main-table tbody>tr.is-selected{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;text-transform:uppercase;padding-bottom:0;vertical-align:bottom;border-top:0}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table th.actions-col,ec-table .main-table td.actions-col{padding:0}ec-table .main-table th.actions-1,ec-table .main-table td.actions-1{width:2.0625rem}ec-table .main-table th.actions-2,ec-table .main-table td.actions-2{width:4.0625rem}ec-table .main-table th.actions-3,ec-table .main-table td.actions-3{width:6.0625rem}ec-table .main-table th.actions-4,ec-table .main-table td.actions-4{width:8.0625rem}ec-table .main-table th.actions-5,ec-table .main-table td.actions-5{width:10.0625rem}ec-table.is-condensed th,ec-table.is-condensed td{padding-top:.25rem;padding-bottom:.25rem;height:1.5rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .table-title{height:2.5rem;display:flex;align-items:center;padding:0 .5rem}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;padding:0 .5rem;position:absolute;left:calc(var(--selection-toolbar-left, 0rem) + 1.625rem);top:0;height:2.5rem;right:0;z-index:calc(var(--ec-z-index-sticky-header) + 3)}ec-table.has-title .selectable-table-toolbar{left:0}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);position:sticky!important;bottom:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{display:flex;cursor:pointer}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{flex:none;width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before{font:var(--fa-font-solid);content:\"\\f062\";display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{position:relative;overflow:visible;z-index:var(--ec-z-index-sticky-header)}ec-table.is-resizable th.is-resizable.is-active{-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{position:absolute;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter);right:0;padding:.5rem 0 .5rem 10px}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{content:\"\";display:block;width:1px;background-color:var(--ec-border-color);position:absolute;top:.5rem;bottom:.5rem;right:0}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:2.5rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-top:.75rem;padding-bottom:.75rem}ec-table.is-selectable th.is-resizable .handle:before{top:.75rem;bottom:.75rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{padding-bottom:.25rem;padding-top:.25rem;height:2.5rem;line-height:2rem;border-top:0;font-size:var(--ec-font-size-body)}ec-table.is-form-table tr:first-child td{padding-top:.5rem;height:2.75rem}ec-table.is-form-table tr:last-child td{padding-bottom:.5rem;height:2.75rem}ec-table.is-fixed .main-table{table-layout:fixed}\n"] }]
195
+ args: [{ selector: 'ec-table', encapsulation: ViewEncapsulation.None, template: "@if (headerTitleTemplate) {\r\n<header class=\"table-title\">\r\n <ng-container *ngTemplateOutlet=\"headerTitleTemplate\"></ng-container>\r\n</header>\r\n}\r\n\r\n<div class=\"selectable-table-toolbar\"\r\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\r\n</div>\r\n\r\n<div id=\"{{id}}-scroll-container\" \r\n class=\"table-scroll-container\"\r\n cdkScrollable>\r\n <table class=\"main-table\"\r\n id=\"{{id}}\"\r\n [ecResizableTable]=\"resizable\"\r\n [containerEl]=\"el\"\r\n [sortableTable]=\"sortable\"\r\n [resizableColumns]=\"resizableColumns\">\r\n <ng-content></ng-content>\r\n </table>\r\n</div>\r\n", styles: ["ec-table{display:flex;flex-direction:column;position:relative;min-height:0}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ec-font-size-label)}ec-table .main-table th{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;vertical-align:middle}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--ec-border-color);vertical-align:top}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected>td,ec-table .main-table tbody>tr.is-selected{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;text-transform:uppercase;padding-bottom:0;vertical-align:bottom;border-top:0}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table th.actions-col,ec-table .main-table td.actions-col{padding:0}ec-table .main-table th.actions-1,ec-table .main-table td.actions-1{width:2.0625rem}ec-table .main-table th.actions-2,ec-table .main-table td.actions-2{width:4.0625rem}ec-table .main-table th.actions-3,ec-table .main-table td.actions-3{width:6.0625rem}ec-table .main-table th.actions-4,ec-table .main-table td.actions-4{width:8.0625rem}ec-table .main-table th.actions-5,ec-table .main-table td.actions-5{width:10.0625rem}ec-table.is-condensed th,ec-table.is-condensed td{padding-top:.25rem;padding-bottom:.25rem;height:1.5rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .table-title{height:2.5rem;display:flex;align-items:center;padding:0 .5rem}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;padding:0 .5rem;position:absolute;left:calc(var(--selection-toolbar-left, 0rem) + 1.625rem);top:0;height:2.5rem;right:0;z-index:calc(var(--ec-z-index-sticky-header) + 3)}ec-table.has-title .selectable-table-toolbar{left:0}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);position:sticky!important;bottom:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{display:flex;cursor:pointer}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{flex:none;width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before{font:var(--fa-font-solid);content:\"\\f062\";display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{position:relative;overflow:visible;z-index:var(--ec-z-index-sticky-header)}ec-table.is-resizable th.is-resizable.is-active{-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{position:absolute;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter);right:0;padding:.5rem 0 .5rem 10px}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{content:\"\";display:block;width:1px;background-color:var(--ec-border-color);position:absolute;top:.5rem;bottom:.5rem;right:0}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:2.5rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-top:.75rem;padding-bottom:.75rem}ec-table.is-selectable th.is-resizable .handle:before{top:.75rem;bottom:.75rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{padding-bottom:.25rem;padding-top:.25rem;height:2.5rem;line-height:2rem;border-top:0;font-size:var(--ec-font-size-body)}ec-table.is-form-table tr:first-child td{padding-top:.5rem;height:2.75rem}ec-table.is-form-table tr:last-child td{padding-bottom:.5rem;height:2.75rem}ec-table.is-fixed .main-table{table-layout:fixed}\n"] }]
196
196
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { id: [{
197
197
  type: HostBinding,
198
198
  args: ['attr.id']
@@ -254,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
254
254
  type: Input,
255
255
  args: ['resizableColumns']
256
256
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQUUsZUFBZSxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUF3QixNQUFNLEVBQW9ELGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdPLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQWV2RSxNQUFNLE9BQU8sY0FBYztJQWdFekIsSUFDVyxzQkFBc0I7UUFDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7SUFtREQsWUFBb0IsUUFBbUIsRUFBUyxFQUFjO1FBQTFDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBcEhyRCxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBRWpCOzs7V0FHRztRQUVNLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUI7OztXQUdHO1FBRU0sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQjs7OztXQUlHO1FBRU0sY0FBUyxHQUFHLEtBQUss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QUk7c0JBQVosS0FBSztnQkFLSSxVQUFVO3NCQUFuQixNQUFNO2dCQUtnQyxtQkFBbUI7c0JBQXpELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUUwQixVQUFVO3NCQUF4RSxlQUFlO3VCQUFDLHVCQUF1QixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFHRyxpQkFBaUI7c0JBQWhGLGVBQWU7dUJBQUMsd0JBQXdCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQUVuQywrQkFBK0I7c0JBQXpELEtBQUs7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3V0cHV0LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzaXphYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNpemFibGUtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZU1hc3RlclJvd0NvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtbWFzdGVyLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVTZWxlY3RhYmxlUm93Q29udGV4dCB9IGZyb20gJy4vdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgVGFibGVTb3J0RGlyZWN0aW9uID0gJ2Rlc2MnIHwgJ2FzYyc7XG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlU29ydCB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIGRpcmVjdGlvbjogVGFibGVTb3J0RGlyZWN0aW9uO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlYy10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgQElucHV0KCkgaWQgPSAnJztcblxuICAvKipcbiAgICogRW5hYmxlcyB0YWJsZSBzY3JvbGxpbmcgd2l0aCBhIHN0aWNreSBoZWFkZXIgYW5kIGZvb3Rlci4gVXNlXG4gICAqIDx0aGVhZD4gYW5kIDx0Zm9vdD4gZWxlbWVudHMgZm9yIHN0eWxlcyB0byBiZSBhcHBsaWVkIGNvcnJlY3RseS4gXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNjcm9sbGFibGUnKVxuICBASW5wdXQoKSBzY3JvbGxhYmxlID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogRW5hYmxlcyByZXNpemFibGUgdGFibGUgY29sdW1ucy4gQXBwbHkgdGhlICdpcy1yZXNpemFibGUnIGNsYXNzXG4gICAqIHRvIHRoZSA8dGg+IG9mIGEgdGFibGUgY29sdW1uIHRoYW4gY2FuIGJlIHJlc2l6ZWQuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXJlc2l6YWJsZScpXG4gIEBJbnB1dCgpIHJlc2l6YWJsZSA9IGZhbHNlO1xuICBcbiAgLyoqIFxuICAgKiBUdXJucyBvbiBjb25kZW5zZWQgdGFibGUgc3R5bGluZy4gQnkgZGVmYXVsdCBhIGNvbmRlbnNlZCB0YWJsZVxuICAgKiBoYXMgbm8gcm93IGJvcmRlcnMuIFRvIHNob3cgYm9yZGVycywgYXBwbHkgdGhlICdoYXMtYm9yZGVycycgY2xhc3NcbiAgICogdG8gdGhlIDxlYy10YWJsZT4gZWxlbWVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1jb25kZW5zZWQnKVxuICBASW5wdXQoKSBjb25kZW5zZWQgPSBmYWxzZTtcbiAgXG4gIC8qKiBcbiAgICogRW5hYmxlcyBzb3J0aW5nIGJ5IGNsaWNraW5nIG9uIHRhYmxlIGNvbHVtbnMuIFRvIG1ha2UgYSBjb2x1bW4gc29ydGFibGVcbiAgICogYXBwbHkgdGhlIGBkYXRhLXNvcnRhYmxlYCBhdHRyaWJ1dGUgdG8gdGhlIGNvbHVtbnMgYDx0aD5gIGVsZW1lbnQgd2l0aCBcbiAgICogdGhlIHZhbHVlIG9mIHRoZSBmaWVsZCB1c2VkIHRvIHNvcnQgdGhlIGNvbHVtbi4gV2hlbiBhIGNvbHVtbiBpcyBjbGlja2VkXG4gICAqIHRoZSBmaWVsZHMgYW5kIGN1cnJlbnQgc29ydCBkaXJlY3Rpb24gaXMgZW1pdHRlZCBmcm9tIHRoZSBgc29ydENoYW5nZWBcbiAgICogb3V0cHV0XG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxlYy10YWJsZSBbc29ydGFibGVdPVwidHJ1ZVwiIFtzb3J0XT1cImN1cnJlbnRTb3J0XCIgKHNvcnRDaGFuZ2UpPVwib25Tb3J0KCRldmVudClcIj5cbiAgICogIDx0aGVhZD5cbiAgICogICAgPHRoIGRhdGEtc29ydGFibGU9XCJuYW1lXCI+TmFtZTwvdGg+XG4gICAqICAgIDx0aCBkYXRhLXNvcnRhYmxlPVwicXR5XCI+UXR5LjwvdGg+XG4gICAqICAgIDx0aCBkYXRhLXNvcnRhYmxlPVwicHJpY2VcIj5QcmljZTwvdGg+XG4gICAqICA8L3RoZWFkPlxuICAgKiAgLi4uXG4gICAqIDwvZWMtdGFibGU+XG4gICAqIGBgYFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zb3J0YWJsZScpXG4gIEBJbnB1dCgpIHNvcnRhYmxlID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogU2hhcmVkIGNvbnRleHQgb2YgVGFibGVTZWxlY3RhYmxlUm93Q29tcG9uZW50cyBpbiB0aGUgdGFibGUuIFdpbGwgdHVybiBvbiBoaWdobGlnaHRpbmcgb24gcm93IGhvdmVyLlxuICAgKiBBZGQgdGhlIGBUYWJsZVNlbGVjdGFibGVSb3dDb21wb25lbnRgIHRvIHRoZSB0YWJsZSBjb250ZW50IHRvIGFkZCBjaGVja2JveGVzIHRvIGVhY2ggcm93IGFuZCBhc3NpZ24gYSBcbiAgICogVGVtcGxhdGVSZWYgdG8gdGhlIGBbc2VsZWN0aW9uVG9vbGJhclRlbXBsYXRlXWAgaW5wdXQgdGhhdCBpbmNsdWRlcyBhY3Rpb25zIHRvIHRha2Ugb24gc2VsZWN0ZWQgaXRlbXMgXG4gICAqIHRoYXQgd2lsbCBhcHBlYXIgb3ZlciB0aGUgdGFibGUgaGVhZGVyIHdoZW4gMSBvciBtb3JlIHJvd3MgYXJlIHNlbGVjdGVkLlxuICAgKi9cbiAgQElucHV0KCkgc2VsZWN0aW9uQ29udGV4dD86IFRhYmxlU2VsZWN0YWJsZVJvd0NvbnRleHQ7XG5cbiAgLyoqIEluY2x1ZGUgYWN0aW9ucyB0byBkaXNwbGF5IGluIGEgYmFyIG92ZXIgdGhlIHRhYmxlIGhlYWRlciB3aGVuIDEgb3IgbW9yZSByb3dzIGFyZSBzZWxlY3RlZC4gUmVxdWlyZXMgYFtzZWxlY3Rpb25Db250ZXh0XWAgdG8gYmUgZGVmaW5lZCAqL1xuICBASW5wdXQoKSBzZWxlY3Rpb25Ub29sYmFyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBcbiAgLyoqIEluY2x1ZGUgYSB0ZW1wbGF0ZSB0byBkaXNwbGF5IGluIHRoZSB0YWJsZSBoZWFkZXIuIFRoaXMgd2lsbCBiZSBkaXNwbGF5ZWQgYWJvdmUgdGhlIHRhYmxlIGNvbnRlbnQuIFdoZW4gcGFpcmVkIHdpdGggdGhlIHNlbGVjdGlvblRvb2xiYXJUZW1wbGF0ZVxuICAgKiAgdGhlIGhlYWRlclRpdGxlVGVtcGxhdGUgd2lsbCBzd2FwIHBvc2l0aW9ucyB3aXRoIHRoZSBzZWxlY3Rpb24gdG9vbGJhciBhbmQgbm90IGNvdmVyIHVwIHRoZSB0YWJsZSBjb2x1bW4gaGVhZGVycy5cbiAgKi9cbiAgQElucHV0KCkgaGVhZGVyVGl0bGVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtdGl0bGUnKVxuICBwdWJsaWMgZ2V0IGhhc0hlYWRlclRpdGxlVGVtcGxhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5oZWFkZXJUaXRsZVRlbXBsYXRlO1xuICB9XG5cbiAgLyoqIFNldCB0byB0cnVlIGlmIHNlbGVjdGlvbkNvbnRleHQgaXMgZGVmaW5lZCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlbGVjdGFibGUnKVxuICBASW5wdXQoKSBzZWxlY3RhYmxlID0gZmFsc2U7XG5cbiAgLyoqIEhpZGVzL3Nob3dzIHRoZSBzZWxlY3Rpb24gdG9vbGJhciB0ZW1wbGF0ZSB3aGVuIDEgb3IgbW9yZSByb3dzIGlzIHNlbGVjdGVkICovXG4gIGhhc1NlbGVjdGlvbiA9IGZhbHNlXG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgZm9ybSB0YWJsZSBzdHlsaW5nIHRvIGFsbG93IGZvcm0gY29udHJvbHMgaW5zaWRlIHRhYmxlIGNlbGxzLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1mb3JtLXRhYmxlJylcbiAgQElucHV0KCkgaXNGb3JtID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc29ydCBmaWVsZCBhbmQgZGlyZWN0aW9uICgnZGVzYycgb3IgJ2FzYycpXG4gICAqL1xuICBASW5wdXQoKSBzb3J0PzogVGFibGVTb3J0IHwgVGFibGVTb3J0W107XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBuZXcgc29ydCB2YWx1ZSB3aGVuZXZlciBhIHNvcnRhYmxlIGNvbHVtbiBpcyBjbGlja2VkXG4gICAqL1xuICBAT3V0cHV0KCkgc29ydENoYW5nZTogRXZlbnRFbWl0dGVyPFRhYmxlU29ydCB8IFRhYmxlU29ydFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVHJ1ZSBpZiBhIFRhYmxlTWFzdGVyUm93Q29tcG9uZW50IGV4aXN0cyBpbiB0aGUgdGFibGUgY29udGVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1tYXN0ZXItZGV0YWlsJykgaGFzTWFzdGVyRGV0YWlsUm93cyA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFibGVNYXN0ZXJSb3dDb21wb25lbnQsIHtkZXNjZW5kYW50czogdHJ1ZX0pIG1hc3RlclJvd3MhOiBRdWVyeUxpc3Q8VGFibGVNYXN0ZXJSb3dDb21wb25lbnQ+O1xuXG4gIHB1YmxpYyByZXNpemFibGVDb2x1bW5zITogUXVlcnlMaXN0PFJlc2l6YWJsZUNvbHVtbkNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oUmVzaXphYmxlQ29sdW1uQ29tcG9uZW50LCB7ZGVzY2VuZGFudHM6IHRydWV9KSBfcmVzaXphYmxlQ29sdW1ucyE6IFF1ZXJ5TGlzdDxSZXNpemFibGVDb2x1bW5Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgncmVzaXphYmxlQ29sdW1ucycpIHNlYXJjaGFibGVUYWJsZVJlc2l6YWJsZUNvbHVtbnM/OiBRdWVyeUxpc3Q8UmVzaXphYmxlQ29sdW1uQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogVW5saXN0ZW4gZnVuY3Rpb24gcmV0dXJuZWQgYnkgYHJlbmRlcmVyLmxpc3RlbigpYCB0aGF0IGFyZSBjYWxsZWRcbiAgICogT25EZXN0cm95IHRvIGNsZWFuIHVwIGFsbCBsaXN0ZW5lcnNcbiAgICovXG4gIHByaXZhdGUgdW5saXN0ZW5lcnM6ICgoKSA9PiB2b2lkKVtdID0gW107XG4gIFxuICAvKiogVGhlIGN1cnJlbnQgc29ydCB2YWx1ZSAqL1xuICBwcml2YXRlIGN1cnJlbnRTb3J0PzogVGFibGVTb3J0IHwgVGFibGVTb3J0W107XG4gIFxuICAvKiogQSBtYXAgb2Ygc29ydGFibGUgYDx0aD5gIGVsZW1lbnRzICovXG4gIHByaXZhdGUgc29ydGFibGVDb2xzOiB7W2ZpZWxkOiBzdHJpbmddOiBIVE1MVGFibGVIZWFkZXJDZWxsRWxlbWVudH0gPSB7fTtcblxuICBwcml2YXRlIGRlc3Ryb3llZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc29ydGFibGUgJiYgY2hhbmdlcy5zb3J0ICYmIGNoYW5nZXMuc29ydC5jdXJyZW50VmFsdWUgJiYgIWNoYW5nZXMuc29ydC5maXJzdENoYW5nZSkge1xuICAgICAgY29uc3QgbmV3VmFsdWU6IFRhYmxlU29ydCB8IFRhYmxlU29ydFtdID0gY2hhbmdlcy5zb3J0LmN1cnJlbnRWYWx1ZTtcbiAgICAgIGlmICghdGhpcy5jdXJyZW50U29ydCB8fCAhaXNFcXVhbChuZXdWYWx1ZSwgdGhpcy5jdXJyZW50U29ydCkpe1xuICAgICAgICB0aGlzLm9uU29ydChuZXdWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzTWFzdGVyRGV0YWlsUm93cyA9ICEhdGhpcy5tYXN0ZXJSb3dzLmxlbmd0aDtcbiAgICBcbiAgICB0aGlzLm1hc3RlclJvd3MuY2hhbmdlcy5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGFzTWFzdGVyRGV0YWlsUm93cyA9ICEhdGhpcy5tYXN0ZXJSb3dzLmxlbmd0aDtcbiAgICB9KTtcblxuICAgIHRoaXMucmVzaXphYmxlQ29sdW1ucyA9IHRoaXMuc2VhcmNoYWJsZVRhYmxlUmVzaXphYmxlQ29sdW1ucyB8fCB0aGlzLl9yZXNpemFibGVDb2x1bW5zO1xuICB9XG4gIFxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc29ydGFibGUpIHtcbiAgICAgIHRoaXMuaW5pdFNvcnRhYmxlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5pbml0U2VsZWN0YWJsZSgpO1xuICAgIH1cbiAgfVxuICBcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudW5saXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVubGlzdGVuZXJzLmZvckVhY2godW5saXN0ZW4gPT4gdW5saXN0ZW4oKSk7XG4gICAgfVxuICAgIFxuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgZWxlbWVudHMgaW5zaWRlIHRoZSBob3N0IGVsZW1lbnQgdGhhdCBtYXRjaCBhIHNlbGVjdG9yIFxuICAgKiBAcGFyYW0gc2VsZWN0b3IgLSBBbnkgdmFsaWQgc2VsZWN0b3IgZm9yIFtxdWVyeVNlbGVjdG9yQWxsXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRG9jdW1lbnQvcXVlcnlTZWxlY3RvckFsbClcbiAgICovXG4gIHByaXZhdGUgcXVlcnlFbGVtZW50czxUPihzZWxlY3Rvcjogc3RyaW5nKTogVFtdIHtcbiAgICBjb25zdCB0YWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgYSBgPHRoPmAgZm9yIGVhY2ggc29ydGFibGUgY29sdW1uIGFuZCBhdHRhY2ggYSBjbGlja1xuICAgKiBldmVudCBsaXN0ZW5lci4gXG4gICAqL1xuICBwcml2YXRlIGluaXRTb3J0YWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5RWxlbWVudHM8SFRNTFRhYmxlSGVhZGVyQ2VsbEVsZW1lbnQ+KCd0aCcpLmZvckVhY2godGggPT4ge1xuICAgICAgaWYgKHRoLmhhc0F0dHJpYnV0ZSgnZGF0YS1zb3J0ZmllbGQnKSkge1xuICAgICAgICBcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aC5nZXRBdHRyaWJ1dGUoJ2RhdGEtc29ydGZpZWxkJyk7XG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgIHRoaXMuc29ydGFibGVDb2xzW2ZpZWxkXSA9IHRoO1xuICAgICAgICAgIGNvbnN0IHVubGlzdGVuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGgsICdjbGljaycsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuXG4gICAgICAgICAgICAvLyBEbyBub3Qgc29ydCBpZiB0aGUgZXZlbnQgdGFyZ2V0IHdhcyB0aGUgcmVzaXphYmxlIGhhbmRsZVxuICAgICAgICAgICAgaWYgKHRoLmNsYXNzTGlzdC5jb250YWlucygnaXMtcmVzaXphYmxlJykgJiYgZXZlbnQudGFyZ2V0ICYmICg8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5jbGFzc0xpc3QuY29udGFpbnMoJ2hhbmRsZScpKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbjogVGFibGVTb3J0RGlyZWN0aW9uO1xuXG4gICAgICAgICAgICBpZiAodGguY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1zb3J0ZWQtZGVzYycpKSB7XG4gICAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdhc2MnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGlyZWN0aW9uID0gJ2Rlc2MnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm9uU29ydCh7IGZpZWxkLCBkaXJlY3Rpb24gfSk7XG4gICAgICAgICAgfSk7XG4gIFxuICAgICAgICAgIC8vIFN0b3JlIHVubGlzdGVuIGZ1bmN0aW9uIHRvIHJlbW92ZSBsaXN0ZW5lciB3aGVuIGNvbXBvbmVudCBpcyBkZXN0cm95ZWRcbiAgICAgICAgICB0aGlzLnVubGlzdGVuZXJzLnB1c2godW5saXN0ZW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYGRhdGEtc29ydGZpZWxkIGF0dHJpYnV0ZSB3YXMgbm90IGFzc2lnbmVkIGEgdmFsdWUuYCwgdGgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBTZXQgdGhlIGluaXRpYWwgc29ydFxuICAgIGlmICh0aGlzLnNvcnQpIHtcbiAgICAgIHRoaXMub25Tb3J0KHRoaXMuc29ydCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgdGhlIHNvcnRlZCBjb2x1bW4gYW5kIGFwcGx5IHRoZSBkZXNjIG9yIGFzYyBjbGFzcyBpbiBvcmRlclxuICAgKiB0byBzaG93IHRoZSBjb3JyZWN0IHNvcnQgaWNvbi4gSWYgYW5vdGhlciBmaWVsZCB3YXMgc29ydGVkLCByZXNldCBpdC5cbiAgICogRW1pdCB0aGUgY3VycmVudCBmaWVsZCBhbmQgZGlyZWN0aW9uIG9mIHRoZSBzb3J0ZWQgY29sdW1uXG4gICAqIEBwYXJhbSBmaWVsZCBcbiAgICovXG4gIHByaXZhdGUgb25Tb3J0KHNvcnQ6IFRhYmxlU29ydCB8IFRhYmxlU29ydFtdKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhclNvcnQoKTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHNvcnQpKSB7XG4gICAgICBzb3J0LmZvckVhY2gocyA9PiB0aGlzLmFwcGx5U29ydChzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBwbHlTb3J0KHNvcnQpO1xuICAgIH1cblxuICAgIHRoaXMuY3VycmVudFNvcnQgPSBjbG9uZURlZXAoc29ydCk7XG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQodGhpcy5jdXJyZW50U29ydCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyU29ydCgpIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuc29ydGFibGVDb2xzKS5mb3JFYWNoKHRoID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGgsIGBpcy1zb3J0ZWQtYXNjYCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoLCBgaXMtc29ydGVkLWRlc2NgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTb3J0KHNvcnQ6IFRhYmxlU29ydCkge1xuICAgIGNvbnN0IHRoID0gdGhpcy5zb3J0YWJsZUNvbHNbc29ydC5maWVsZF07XG4gICAgaWYgKCF0aCkgeyByZXR1cm47IH1cblxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGgsIGBpcy1zb3J0ZWQtJHtzb3J0LmRpcmVjdGlvbn1gKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNlbGVjdGFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25Db250ZXh0IS5yb3dDaGVja2JveGVzLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICkuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbltdKSA9PiB7XG4gICAgICB0aGlzLmhhc1NlbGVjdGlvbiA9IHZhbHVlLnNvbWUodiA9PiB2KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmIChoZWFkZXJUaXRsZVRlbXBsYXRlKSB7XG48aGVhZGVyIGNsYXNzPVwidGFibGUtdGl0bGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRpdGxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvaGVhZGVyPlxufVxuXG48ZGl2IGNsYXNzPVwic2VsZWN0YWJsZS10YWJsZS10b29sYmFyXCJcbiAgICAgKm5nSWY9XCJoYXNTZWxlY3Rpb24gJiYgc2VsZWN0aW9uVG9vbGJhclRlbXBsYXRlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWxlY3Rpb25Ub29sYmFyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGlkPVwie3tpZH19LXNjcm9sbC1jb250YWluZXJcIiBcbiAgICAgY2xhc3M9XCJ0YWJsZS1zY3JvbGwtY29udGFpbmVyXCJcbiAgICAgY2RrU2Nyb2xsYWJsZT5cbiAgPHRhYmxlIGNsYXNzPVwibWFpbi10YWJsZVwiXG4gICAgICAgICBpZD1cInt7aWR9fVwiXG4gICAgICAgICBbZWNSZXNpemFibGVUYWJsZV09XCJyZXNpemFibGVcIlxuICAgICAgICAgW2NvbnRhaW5lckVsXT1cImVsXCJcbiAgICAgICAgIFtzb3J0YWJsZVRhYmxlXT1cInNvcnRhYmxlXCJcbiAgICAgICAgIFtyZXNpemFibGVDb2x1bW5zXT1cInJlc2l6YWJsZUNvbHVtbnNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQUUsZUFBZSxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUF3QixNQUFNLEVBQW9ELGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdPLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQWV2RSxNQUFNLE9BQU8sY0FBYztJQWdFekIsSUFDVyxzQkFBc0I7UUFDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7SUFtREQsWUFBb0IsUUFBbUIsRUFBUyxFQUFjO1FBQTFDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBcEhyRCxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBRWpCOzs7V0FHRztRQUVNLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUI7OztXQUdHO1FBRU0sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQjs7OztXQUlHO1FBRU0sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBa0JHO1FBRU0sYUFBUSxHQUFHLEtBQUssQ0FBQztRQXVCMUIsaURBQWlEO1FBRXhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUIsaUZBQWlGO1FBQ2pGLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBRXBCOztXQUVHO1FBRU0sV0FBTSxHQUFHLEtBQUssQ0FBQztRQU94Qjs7V0FFRztRQUNPLGVBQVUsR0FBMEMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRjs7V0FFRztRQUNvQyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFTbkU7OztXQUdHO1FBQ0ssZ0JBQVcsR0FBbUIsRUFBRSxDQUFDO1FBS3pDLHdDQUF3QztRQUNoQyxpQkFBWSxHQUFrRCxFQUFFLENBQUM7UUFFakUsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWdCLENBQUM7SUFFbEUsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1RixNQUFNLFFBQVEsR0FBNEIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRXBELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDMUIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsK0JBQStCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3pGLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhLENBQUksUUFBZ0I7UUFDdkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDcEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQTZCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNoRSxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUV0QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ2hELElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUU7d0JBRXZFLDJEQUEyRDt3QkFDM0QsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFrQixLQUFLLENBQUMsTUFBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzs0QkFDdEgsT0FBTzt3QkFDVCxDQUFDO3dCQUVELElBQUksU0FBNkIsQ0FBQzt3QkFFbEMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7NEJBQzVDLFNBQVMsR0FBRyxLQUFLLENBQUM7d0JBQ3BCLENBQUM7NkJBQU0sQ0FBQzs0QkFDTixTQUFTLEdBQUcsTUFBTSxDQUFDO3dCQUNyQixDQUFDO3dCQUVELElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztvQkFDcEMsQ0FBQyxDQUFDLENBQUM7b0JBRUgseUVBQXlFO29CQUN6RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbEMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0RBQW9ELEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFFLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssTUFBTSxDQUFDLElBQTZCO1FBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVqQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBZTtRQUMvQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsYUFBYSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsZ0JBQWlCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3BELFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBZ0IsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EzUFUsY0FBYzttR0FBZCxjQUFjLDQ0QkFpR1IsdUJBQXVCLHVFQUd2Qix3QkFBd0IscUVDeEgzQyxxdkJBdUJBOzs0RkRIYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLFVBQVUsaUJBR0wsaUJBQWlCLENBQUMsSUFBSTt1R0FJNUIsRUFBRTtzQkFEVixXQUFXO3VCQUFDLFNBQVM7O3NCQUNyQixLQUFLO2dCQU9HLFVBQVU7c0JBRGxCLFdBQVc7dUJBQUMscUJBQXFCOztzQkFDakMsS0FBSztnQkFPRyxTQUFTO3NCQURqQixXQUFXO3VCQUFDLG9CQUFvQjs7c0JBQ2hDLEtBQUs7Z0JBUUcsU0FBUztzQkFEakIsV0FBVzt1QkFBQyxvQkFBb0I7O3NCQUNoQyxLQUFLO2dCQXNCRyxRQUFRO3NCQURoQixXQUFXO3VCQUFDLG1CQUFtQjs7c0JBQy9CLEtBQUs7Z0JBUUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFLRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR0ssc0JBQXNCO3NCQURoQyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFPckIsVUFBVTtzQkFEbEIsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQVNHLE1BQU07c0JBRGQsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLSSxVQUFVO3NCQUFuQixNQUFNO2dCQUtnQyxtQkFBbUI7c0JBQXpELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUUwQixVQUFVO3NCQUF4RSxlQUFlO3VCQUFDLHVCQUF1QixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFHRyxpQkFBaUI7c0JBQWhGLGVBQWU7dUJBQUMsd0JBQXdCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQUVuQywrQkFBK0I7c0JBQXpELEtBQUs7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3V0cHV0LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSZXNpemFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL3Jlc2l6YWJsZS1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVNYXN0ZXJSb3dDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLW1hc3Rlci1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVTZWxlY3RhYmxlUm93Q29udGV4dCB9IGZyb20gJy4vdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB0eXBlIFRhYmxlU29ydERpcmVjdGlvbiA9ICdkZXNjJyB8ICdhc2MnO1xyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlU29ydCB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICBkaXJlY3Rpb246IFRhYmxlU29ydERpcmVjdGlvbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXR7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcclxuICBASW5wdXQoKSBpZCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBFbmFibGVzIHRhYmxlIHNjcm9sbGluZyB3aXRoIGEgc3RpY2t5IGhlYWRlciBhbmQgZm9vdGVyLiBVc2VcclxuICAgKiA8dGhlYWQ+IGFuZCA8dGZvb3Q+IGVsZW1lbnRzIGZvciBzdHlsZXMgdG8gYmUgYXBwbGllZCBjb3JyZWN0bHkuIFxyXG4gICAqL1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2Nyb2xsYWJsZScpXHJcbiAgQElucHV0KCkgc2Nyb2xsYWJsZSA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEVuYWJsZXMgcmVzaXphYmxlIHRhYmxlIGNvbHVtbnMuIEFwcGx5IHRoZSAnaXMtcmVzaXphYmxlJyBjbGFzc1xyXG4gICAqIHRvIHRoZSA8dGg+IG9mIGEgdGFibGUgY29sdW1uIHRoYW4gY2FuIGJlIHJlc2l6ZWQuXHJcbiAgICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1yZXNpemFibGUnKVxyXG4gIEBJbnB1dCgpIHJlc2l6YWJsZSA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKiBcclxuICAgKiBUdXJucyBvbiBjb25kZW5zZWQgdGFibGUgc3R5bGluZy4gQnkgZGVmYXVsdCBhIGNvbmRlbnNlZCB0YWJsZVxyXG4gICAqIGhhcyBubyByb3cgYm9yZGVycy4gVG8gc2hvdyBib3JkZXJzLCBhcHBseSB0aGUgJ2hhcy1ib3JkZXJzJyBjbGFzc1xyXG4gICAqIHRvIHRoZSA8ZWMtdGFibGU+IGVsZW1lbnRcclxuICAgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWNvbmRlbnNlZCcpXHJcbiAgQElucHV0KCkgY29uZGVuc2VkID0gZmFsc2U7XHJcbiAgXHJcbiAgLyoqIFxyXG4gICAqIEVuYWJsZXMgc29ydGluZyBieSBjbGlja2luZyBvbiB0YWJsZSBjb2x1bW5zLiBUbyBtYWtlIGEgY29sdW1uIHNvcnRhYmxlXHJcbiAgICogYXBwbHkgdGhlIGBkYXRhLXNvcnRhYmxlYCBhdHRyaWJ1dGUgdG8gdGhlIGNvbHVtbnMgYDx0aD5gIGVsZW1lbnQgd2l0aCBcclxuICAgKiB0aGUgdmFsdWUgb2YgdGhlIGZpZWxkIHVzZWQgdG8gc29ydCB0aGUgY29sdW1uLiBXaGVuIGEgY29sdW1uIGlzIGNsaWNrZWRcclxuICAgKiB0aGUgZmllbGRzIGFuZCBjdXJyZW50IHNvcnQgZGlyZWN0aW9uIGlzIGVtaXR0ZWQgZnJvbSB0aGUgYHNvcnRDaGFuZ2VgXHJcbiAgICogb3V0cHV0XHJcbiAgICogXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiBgYGBodG1sXHJcbiAgICogPGVjLXRhYmxlIFtzb3J0YWJsZV09XCJ0cnVlXCIgW3NvcnRdPVwiY3VycmVudFNvcnRcIiAoc29ydENoYW5nZSk9XCJvblNvcnQoJGV2ZW50KVwiPlxyXG4gICAqICA8dGhlYWQ+XHJcbiAgICogICAgPHRoIGRhdGEtc29ydGFibGU9XCJuYW1lXCI+TmFtZTwvdGg+XHJcbiAgICogICAgPHRoIGRhdGEtc29ydGFibGU9XCJxdHlcIj5RdHkuPC90aD5cclxuICAgKiAgICA8dGggZGF0YS1zb3J0YWJsZT1cInByaWNlXCI+UHJpY2U8L3RoPlxyXG4gICAqICA8L3RoZWFkPlxyXG4gICAqICAuLi5cclxuICAgKiA8L2VjLXRhYmxlPlxyXG4gICAqIGBgYFxyXG4gICAqL1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc29ydGFibGUnKVxyXG4gIEBJbnB1dCgpIHNvcnRhYmxlID0gZmFsc2U7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogU2hhcmVkIGNvbnRleHQgb2YgVGFibGVTZWxlY3RhYmxlUm93Q29tcG9uZW50cyBpbiB0aGUgdGFibGUuIFdpbGwgdHVybiBvbiBoaWdobGlnaHRpbmcgb24gcm93IGhvdmVyLlxyXG4gICAqIEFkZCB0aGUgYFRhYmxlU2VsZWN0YWJsZVJvd0NvbXBvbmVudGAgdG8gdGhlIHRhYmxlIGNvbnRlbnQgdG8gYWRkIGNoZWNrYm94ZXMgdG8gZWFjaCByb3cgYW5kIGFzc2lnbiBhIFxyXG4gICAqIFRlbXBsYXRlUmVmIHRvIHRoZSBgW3NlbGVjdGlvblRvb2xiYXJUZW1wbGF0ZV1gIGlucHV0IHRoYXQgaW5jbHVkZXMgYWN0aW9ucyB0byB0YWtlIG9uIHNlbGVjdGVkIGl0ZW1zIFxyXG4gICAqIHRoYXQgd2lsbCBhcHBlYXIgb3ZlciB0aGUgdGFibGUgaGVhZGVyIHdoZW4gMSBvciBtb3JlIHJvd3MgYXJlIHNlbGVjdGVkLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlbGVjdGlvbkNvbnRleHQ/OiBUYWJsZVNlbGVjdGFibGVSb3dDb250ZXh0O1xyXG5cclxuICAvKiogSW5jbHVkZSBhY3Rpb25zIHRvIGRpc3BsYXkgaW4gYSBiYXIgb3ZlciB0aGUgdGFibGUgaGVhZGVyIHdoZW4gMSBvciBtb3JlIHJvd3MgYXJlIHNlbGVjdGVkLiBSZXF1aXJlcyBgW3NlbGVjdGlvbkNvbnRleHRdYCB0byBiZSBkZWZpbmVkICovXHJcbiAgQElucHV0KCkgc2VsZWN0aW9uVG9vbGJhclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBcclxuICAvKiogSW5jbHVkZSBhIHRlbXBsYXRlIHRvIGRpc3BsYXkgaW4gdGhlIHRhYmxlIGhlYWRlci4gVGhpcyB3aWxsIGJlIGRpc3BsYXllZCBhYm92ZSB0aGUgdGFibGUgY29udGVudC4gV2hlbiBwYWlyZWQgd2l0aCB0aGUgc2VsZWN0aW9uVG9vbGJhclRlbXBsYXRlXHJcbiAgICogIHRoZSBoZWFkZXJUaXRsZVRlbXBsYXRlIHdpbGwgc3dhcCBwb3NpdGlvbnMgd2l0aCB0aGUgc2VsZWN0aW9uIHRvb2xiYXIgYW5kIG5vdCBjb3ZlciB1cCB0aGUgdGFibGUgY29sdW1uIGhlYWRlcnMuXHJcbiAgKi9cclxuICBASW5wdXQoKSBoZWFkZXJUaXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtdGl0bGUnKVxyXG4gIHB1YmxpYyBnZXQgaGFzSGVhZGVyVGl0bGVUZW1wbGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuaGVhZGVyVGl0bGVUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIC8qKiBTZXQgdG8gdHJ1ZSBpZiBzZWxlY3Rpb25Db250ZXh0IGlzIGRlZmluZWQgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlbGVjdGFibGUnKVxyXG4gIEBJbnB1dCgpIHNlbGVjdGFibGUgPSBmYWxzZTtcclxuXHJcbiAgLyoqIEhpZGVzL3Nob3dzIHRoZSBzZWxlY3Rpb24gdG9vbGJhciB0ZW1wbGF0ZSB3aGVuIDEgb3IgbW9yZSByb3dzIGlzIHNlbGVjdGVkICovXHJcbiAgaGFzU2VsZWN0aW9uID0gZmFsc2VcclxuXHJcbiAgLyoqXHJcbiAgICogRW5hYmxlcyBmb3JtIHRhYmxlIHN0eWxpbmcgdG8gYWxsb3cgZm9ybSBjb250cm9scyBpbnNpZGUgdGFibGUgY2VsbHMuXHJcbiAgICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1mb3JtLXRhYmxlJylcclxuICBASW5wdXQoKSBpc0Zvcm0gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAgKiBUaGUgY3VycmVudCBzb3J0IGZpZWxkIGFuZCBkaXJlY3Rpb24gKCdkZXNjJyBvciAnYXNjJylcclxuICAgKi9cclxuICBASW5wdXQoKSBzb3J0PzogVGFibGVTb3J0IHwgVGFibGVTb3J0W107XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBuZXcgc29ydCB2YWx1ZSB3aGVuZXZlciBhIHNvcnRhYmxlIGNvbHVtbiBpcyBjbGlja2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUYWJsZVNvcnQgfCBUYWJsZVNvcnRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRydWUgaWYgYSBUYWJsZU1hc3RlclJvd0NvbXBvbmVudCBleGlzdHMgaW4gdGhlIHRhYmxlIGNvbnRlbnRcclxuICAgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLW1hc3Rlci1kZXRhaWwnKSBoYXNNYXN0ZXJEZXRhaWxSb3dzID0gZmFsc2U7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFibGVNYXN0ZXJSb3dDb21wb25lbnQsIHtkZXNjZW5kYW50czogdHJ1ZX0pIG1hc3RlclJvd3MhOiBRdWVyeUxpc3Q8VGFibGVNYXN0ZXJSb3dDb21wb25lbnQ+O1xyXG5cclxuICBwdWJsaWMgcmVzaXphYmxlQ29sdW1ucyE6IFF1ZXJ5TGlzdDxSZXNpemFibGVDb2x1bW5Db21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oUmVzaXphYmxlQ29sdW1uQ29tcG9uZW50LCB7ZGVzY2VuZGFudHM6IHRydWV9KSBfcmVzaXphYmxlQ29sdW1ucyE6IFF1ZXJ5TGlzdDxSZXNpemFibGVDb2x1bW5Db21wb25lbnQ+O1xyXG5cclxuICBASW5wdXQoJ3Jlc2l6YWJsZUNvbHVtbnMnKSBzZWFyY2hhYmxlVGFibGVSZXNpemFibGVDb2x1bW5zPzogUXVlcnlMaXN0PFJlc2l6YWJsZUNvbHVtbkNvbXBvbmVudD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFVubGlzdGVuIGZ1bmN0aW9uIHJldHVybmVkIGJ5IGByZW5kZXJlci5saXN0ZW4oKWAgdGhhdCBhcmUgY2FsbGVkXHJcbiAgICogT25EZXN0cm95IHRvIGNsZWFuIHVwIGFsbCBsaXN0ZW5lcnNcclxuICAgKi9cclxuICBwcml2YXRlIHVubGlzdGVuZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xyXG4gIFxyXG4gIC8qKiBUaGUgY3VycmVudCBzb3J0IHZhbHVlICovXHJcbiAgcHJpdmF0ZSBjdXJyZW50U29ydD86IFRhYmxlU29ydCB8IFRhYmxlU29ydFtdO1xyXG4gIFxyXG4gIC8qKiBBIG1hcCBvZiBzb3J0YWJsZSBgPHRoPmAgZWxlbWVudHMgKi9cclxuICBwcml2YXRlIHNvcnRhYmxlQ29sczoge1tmaWVsZDogc3RyaW5nXTogSFRNTFRhYmxlSGVhZGVyQ2VsbEVsZW1lbnR9ID0ge307XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveWVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyBlbDogRWxlbWVudFJlZikge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc29ydGFibGUgJiYgY2hhbmdlcy5zb3J0ICYmIGNoYW5nZXMuc29ydC5jdXJyZW50VmFsdWUgJiYgIWNoYW5nZXMuc29ydC5maXJzdENoYW5nZSkge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZTogVGFibGVTb3J0IHwgVGFibGVTb3J0W10gPSBjaGFuZ2VzLnNvcnQuY3VycmVudFZhbHVlO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVudFNvcnQgfHwgIWlzRXF1YWwobmV3VmFsdWUsIHRoaXMuY3VycmVudFNvcnQpKXtcclxuICAgICAgICB0aGlzLm9uU29ydChuZXdWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGFzTWFzdGVyRGV0YWlsUm93cyA9ICEhdGhpcy5tYXN0ZXJSb3dzLmxlbmd0aDtcclxuICAgIFxyXG4gICAgdGhpcy5tYXN0ZXJSb3dzLmNoYW5nZXMucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmhhc01hc3RlckRldGFpbFJvd3MgPSAhIXRoaXMubWFzdGVyUm93cy5sZW5ndGg7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlc2l6YWJsZUNvbHVtbnMgPSB0aGlzLnNlYXJjaGFibGVUYWJsZVJlc2l6YWJsZUNvbHVtbnMgfHwgdGhpcy5fcmVzaXphYmxlQ29sdW1ucztcclxuICB9XHJcbiAgXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc29ydGFibGUpIHtcclxuICAgICAgdGhpcy5pbml0U29ydGFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RhYmxlKSB7XHJcbiAgICAgIHRoaXMuaW5pdFNlbGVjdGFibGUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51bmxpc3RlbmVycy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51bmxpc3RlbmVycy5mb3JFYWNoKHVubGlzdGVuID0+IHVubGlzdGVuKCkpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBlbGVtZW50cyBpbnNpZGUgdGhlIGhvc3QgZWxlbWVudCB0aGF0IG1hdGNoIGEgc2VsZWN0b3IgXHJcbiAgICogQHBhcmFtIHNlbGVjdG9yIC0gQW55IHZhbGlkIHNlbGVjdG9yIGZvciBbcXVlcnlTZWxlY3RvckFsbF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0RvY3VtZW50L3F1ZXJ5U2VsZWN0b3JBbGwpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBxdWVyeUVsZW1lbnRzPFQ+KHNlbGVjdG9yOiBzdHJpbmcpOiBUW10ge1xyXG4gICAgY29uc3QgdGFibGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9yZSBhIGA8dGg+YCBmb3IgZWFjaCBzb3J0YWJsZSBjb2x1bW4gYW5kIGF0dGFjaCBhIGNsaWNrXHJcbiAgICogZXZlbnQgbGlzdGVuZXIuIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaW5pdFNvcnRhYmxlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5xdWVyeUVsZW1lbnRzPEhUTUxUYWJsZUhlYWRlckNlbGxFbGVtZW50PigndGgnKS5mb3JFYWNoKHRoID0+IHtcclxuICAgICAgaWYgKHRoLmhhc0F0dHJpYnV0ZSgnZGF0YS1zb3J0ZmllbGQnKSkge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGguZ2V0QXR0cmlidXRlKCdkYXRhLXNvcnRmaWVsZCcpO1xyXG4gICAgICAgIGlmIChmaWVsZCkge1xyXG4gICAgICAgICAgdGhpcy5zb3J0YWJsZUNvbHNbZmllbGRdID0gdGg7XHJcbiAgICAgICAgICBjb25zdCB1bmxpc3RlbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoLCAnY2xpY2snLCAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIERvIG5vdCBzb3J0IGlmIHRoZSBldmVudCB0YXJnZXQgd2FzIHRoZSByZXNpemFibGUgaGFuZGxlXHJcbiAgICAgICAgICAgIGlmICh0aC5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLXJlc2l6YWJsZScpICYmIGV2ZW50LnRhcmdldCAmJiAoPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdoYW5kbGUnKSkge1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbjogVGFibGVTb3J0RGlyZWN0aW9uO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoLmNsYXNzTGlzdC5jb250YWlucygnaXMtc29ydGVkLWRlc2MnKSkge1xyXG4gICAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdhc2MnO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdkZXNjJztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5vblNvcnQoeyBmaWVsZCwgZGlyZWN0aW9uIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgICAvLyBTdG9yZSB1bmxpc3RlbiBmdW5jdGlvbiB0byByZW1vdmUgbGlzdGVuZXIgd2hlbiBjb21wb25lbnQgaXMgZGVzdHJveWVkXHJcbiAgICAgICAgICB0aGlzLnVubGlzdGVuZXJzLnB1c2godW5saXN0ZW4pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBkYXRhLXNvcnRmaWVsZCBhdHRyaWJ1dGUgd2FzIG5vdCBhc3NpZ25lZCBhIHZhbHVlLmAsIHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFNldCB0aGUgaW5pdGlhbCBzb3J0XHJcbiAgICBpZiAodGhpcy5zb3J0KSB7XHJcbiAgICAgIHRoaXMub25Tb3J0KHRoaXMuc29ydCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kIHRoZSBzb3J0ZWQgY29sdW1uIGFuZCBhcHBseSB0aGUgZGVzYyBvciBhc2MgY2xhc3MgaW4gb3JkZXJcclxuICAgKiB0byBzaG93IHRoZSBjb3JyZWN0IHNvcnQgaWNvbi4gSWYgYW5vdGhlciBmaWVsZCB3YXMgc29ydGVkLCByZXNldCBpdC5cclxuICAgKiBFbWl0IHRoZSBjdXJyZW50IGZpZWxkIGFuZCBkaXJlY3Rpb24gb2YgdGhlIHNvcnRlZCBjb2x1bW5cclxuICAgKiBAcGFyYW0gZmllbGQgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvblNvcnQoc29ydDogVGFibGVTb3J0IHwgVGFibGVTb3J0W10pOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXJTb3J0KCk7XHJcblxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc29ydCkpIHtcclxuICAgICAgc29ydC5mb3JFYWNoKHMgPT4gdGhpcy5hcHBseVNvcnQocykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hcHBseVNvcnQoc29ydCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jdXJyZW50U29ydCA9IGNsb25lRGVlcChzb3J0KTtcclxuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHRoaXMuY3VycmVudFNvcnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclNvcnQoKSB7XHJcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuc29ydGFibGVDb2xzKS5mb3JFYWNoKHRoID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aCwgYGlzLXNvcnRlZC1hc2NgKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aCwgYGlzLXNvcnRlZC1kZXNjYCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlTb3J0KHNvcnQ6IFRhYmxlU29ydCkge1xyXG4gICAgY29uc3QgdGggPSB0aGlzLnNvcnRhYmxlQ29sc1tzb3J0LmZpZWxkXTtcclxuICAgIGlmICghdGgpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aCwgYGlzLXNvcnRlZC0ke3NvcnQuZGlyZWN0aW9ufWApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0U2VsZWN0YWJsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ29udGV4dCEucm93Q2hlY2tib3hlcy52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUoKHZhbHVlOiBib29sZWFuW10pID0+IHtcclxuICAgICAgdGhpcy5oYXNTZWxlY3Rpb24gPSB2YWx1ZS5zb21lKHYgPT4gdik7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChoZWFkZXJUaXRsZVRlbXBsYXRlKSB7XHJcbjxoZWFkZXIgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUaXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbjwvaGVhZGVyPlxyXG59XHJcblxyXG48ZGl2IGNsYXNzPVwic2VsZWN0YWJsZS10YWJsZS10b29sYmFyXCJcclxuICAgICAqbmdJZj1cImhhc1NlbGVjdGlvbiAmJiBzZWxlY3Rpb25Ub29sYmFyVGVtcGxhdGVcIj5cclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0aW9uVG9vbGJhclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBpZD1cInt7aWR9fS1zY3JvbGwtY29udGFpbmVyXCIgXHJcbiAgICAgY2xhc3M9XCJ0YWJsZS1zY3JvbGwtY29udGFpbmVyXCJcclxuICAgICBjZGtTY3JvbGxhYmxlPlxyXG4gIDx0YWJsZSBjbGFzcz1cIm1haW4tdGFibGVcIlxyXG4gICAgICAgICBpZD1cInt7aWR9fVwiXHJcbiAgICAgICAgIFtlY1Jlc2l6YWJsZVRhYmxlXT1cInJlc2l6YWJsZVwiXHJcbiAgICAgICAgIFtjb250YWluZXJFbF09XCJlbFwiXHJcbiAgICAgICAgIFtzb3J0YWJsZVRhYmxlXT1cInNvcnRhYmxlXCJcclxuICAgICAgICAgW3Jlc2l6YWJsZUNvbHVtbnNdPVwicmVzaXphYmxlQ29sdW1uc1wiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvdGFibGU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -15,4 +15,4 @@ export class Tag {
15
15
  }
16
16
  }
17
17
  ;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsZ0VBQWdFO0FBQ2hFLE1BQU0sT0FBTyxHQUFHO0lBbUJkLFlBQVksS0FBYSxFQUFFLElBQWMsRUFBRSxTQUFrQixFQUFFLElBQWEsRUFBRSxhQUF1QixFQUFFLE9BQWdCLEVBQUUsR0FBWSxFQUFFLE1BQW1CO1FBRm5KLFdBQU0sR0FBZ0IsT0FBTyxDQUFDO1FBR25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsSUFBSSxLQUFLLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFaEMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRhZyB0eXBlIHVzZWQgdG8gc3R5bGUgdGhlIHRhZyAqL1xuZXhwb3J0IHR5cGUgVGFnVHlwZSA9IFwiaW5mb1wiIHwgXCJzdWNjZXNzXCIgfCBcIndhcm5pbmdcIiB8IFwiZGFuZ2VyXCIgfCBcImFjY2VudFwiIHwgXCJjaGFyZ2ViYWNrXCIgfCBcImFjY3J1YWxcIiB8IFwiaW52ZXJ0ZWRcIiB8IFwic3lzdGVtXCIgfCBcImludGVydmFsXCI7XG5cbi8qKiBMaW5rIHRhcmdldCBvcHRpb25zLCBzaGFyZWQgYW1vbmdzdCB0YWcsIG1lbnUgYW5kIGl0ZW0gZGlzcGxheSAqL1xuZXhwb3J0IHR5cGUgTGlua1RhcmdldCA9ICdfc2VsZicgfCAnX2JsYW5rJyB8ICdfcGFyZW50JyB8ICdfdG9wJztcblxuLyoqIFRhZyBjb250YWlucyBhIGxhYmVsIGFuZCB0eXBlLiBUeXBlIGlzIGRlZmF1bHQgYnkgZGVmYXVsdCAqL1xuZXhwb3J0IGNsYXNzIFRhZyB7XG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuXG4gIHB1YmxpYyB0eXBlOiBUYWdUeXBlO1xuXG4gIHB1YmxpYyBpY29uPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBpc0Rpc21pc3NhYmxlPzogYm9vbGVhbjtcblxuICAvKiogQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGFnIGZvciBjdXN0b20gc3R5bGluZyAqL1xuICBwdWJsaWMgY2xhc3NMaXN0Pzogc3RyaW5nO1xuXG4gIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nO1xuXG4gIC8qKiBXaGVuIHNldCBhIGh5cGVybGluayB3aWxsIGJlIHNob3duIGxpbmtpbmcgdG8gdGhlIHZhbHVlIHNldCAqL1xuICBwdWJsaWMgdXJsPzogc3RyaW5nO1xuXG4gIHB1YmxpYyB0YXJnZXQ/OiBMaW5rVGFyZ2V0ID0gJ19zZWxmJztcblxuICBjb25zdHJ1Y3RvcihsYWJlbDogc3RyaW5nLCB0eXBlPzogVGFnVHlwZSwgY2xhc3NMaXN0Pzogc3RyaW5nLCBpY29uPzogc3RyaW5nLCBpc0Rpc21pc3NhYmxlPzogYm9vbGVhbiwgdG9vbHRpcD86IHN0cmluZywgdXJsPzogc3RyaW5nLCB0YXJnZXQ/OiBMaW5rVGFyZ2V0ICkge1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLnR5cGUgPSB0eXBlIHx8ICdpbmZvJztcbiAgICB0aGlzLmljb24gPSBpY29uO1xuICAgIHRoaXMuaXNEaXNtaXNzYWJsZSA9IGlzRGlzbWlzc2FibGUgPz8gZmFsc2U7XG4gICAgdGhpcy50b29sdGlwID0gdG9vbHRpcDtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldCB8fCAnX3NlbGYnO1xuXG4gICAgaWYgKGNsYXNzTGlzdCkge1xuICAgICAgdGhpcy5jbGFzc0xpc3QgPSBjbGFzc0xpc3Q7XG4gICAgfVxuICB9XG59OyJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsZ0VBQWdFO0FBQ2hFLE1BQU0sT0FBTyxHQUFHO0lBbUJkLFlBQVksS0FBYSxFQUFFLElBQWMsRUFBRSxTQUFrQixFQUFFLElBQWEsRUFBRSxhQUF1QixFQUFFLE9BQWdCLEVBQUUsR0FBWSxFQUFFLE1BQW1CO1FBRm5KLFdBQU0sR0FBZ0IsT0FBTyxDQUFDO1FBR25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsSUFBSSxLQUFLLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFaEMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRhZyB0eXBlIHVzZWQgdG8gc3R5bGUgdGhlIHRhZyAqL1xyXG5leHBvcnQgdHlwZSBUYWdUeXBlID0gXCJpbmZvXCIgfCBcInN1Y2Nlc3NcIiB8IFwid2FybmluZ1wiIHwgXCJkYW5nZXJcIiB8IFwiYWNjZW50XCIgfCBcImNoYXJnZWJhY2tcIiB8IFwiYWNjcnVhbFwiIHwgXCJpbnZlcnRlZFwiIHwgXCJzeXN0ZW1cIiB8IFwiaW50ZXJ2YWxcIjtcclxuXHJcbi8qKiBMaW5rIHRhcmdldCBvcHRpb25zLCBzaGFyZWQgYW1vbmdzdCB0YWcsIG1lbnUgYW5kIGl0ZW0gZGlzcGxheSAqL1xyXG5leHBvcnQgdHlwZSBMaW5rVGFyZ2V0ID0gJ19zZWxmJyB8ICdfYmxhbmsnIHwgJ19wYXJlbnQnIHwgJ190b3AnO1xyXG5cclxuLyoqIFRhZyBjb250YWlucyBhIGxhYmVsIGFuZCB0eXBlLiBUeXBlIGlzIGRlZmF1bHQgYnkgZGVmYXVsdCAqL1xyXG5leHBvcnQgY2xhc3MgVGFnIHtcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHR5cGU6IFRhZ1R5cGU7XHJcblxyXG4gIHB1YmxpYyBpY29uPzogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgaXNEaXNtaXNzYWJsZT86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBDU1MgY2xhc3NlcyB0byBhcHBseSB0byB0YWcgZm9yIGN1c3RvbSBzdHlsaW5nICovXHJcbiAgcHVibGljIGNsYXNzTGlzdD86IHN0cmluZztcclxuXHJcbiAgcHVibGljIHRvb2x0aXA/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBXaGVuIHNldCBhIGh5cGVybGluayB3aWxsIGJlIHNob3duIGxpbmtpbmcgdG8gdGhlIHZhbHVlIHNldCAqL1xyXG4gIHB1YmxpYyB1cmw/OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyB0YXJnZXQ/OiBMaW5rVGFyZ2V0ID0gJ19zZWxmJztcclxuXHJcbiAgY29uc3RydWN0b3IobGFiZWw6IHN0cmluZywgdHlwZT86IFRhZ1R5cGUsIGNsYXNzTGlzdD86IHN0cmluZywgaWNvbj86IHN0cmluZywgaXNEaXNtaXNzYWJsZT86IGJvb2xlYW4sIHRvb2x0aXA/OiBzdHJpbmcsIHVybD86IHN0cmluZywgdGFyZ2V0PzogTGlua1RhcmdldCApIHtcclxuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcclxuICAgIHRoaXMudHlwZSA9IHR5cGUgfHwgJ2luZm8nO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICAgIHRoaXMuaXNEaXNtaXNzYWJsZSA9IGlzRGlzbWlzc2FibGUgPz8gZmFsc2U7XHJcbiAgICB0aGlzLnRvb2x0aXAgPSB0b29sdGlwO1xyXG4gICAgdGhpcy51cmwgPSB1cmw7XHJcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldCB8fCAnX3NlbGYnO1xyXG5cclxuICAgIGlmIChjbGFzc0xpc3QpIHtcclxuICAgICAgdGhpcy5jbGFzc0xpc3QgPSBjbGFzc0xpc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG59OyJdfQ==
@@ -58,11 +58,11 @@ export class TagsComponent {
58
58
  this.tagClosed.emit(tag);
59
59
  }
60
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TagsComponent, selector: "ec-tags", inputs: { id: "id", tags: "tags", wrap: "wrap", isCondensed: "isCondensed" }, outputs: { tagClosed: "tagClosed" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\">{{tag.label | translate}}</span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TagsComponent, selector: "ec-tags", inputs: { id: "id", tags: "tags", wrap: "wrap", isCondensed: "isCondensed" }, outputs: { tagClosed: "tagClosed" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"tags\"\r\n [class.is-wrapped]=\"wrap\">\r\n <li *ngFor=\"let tag of tagsArray; index as i\"\r\n id=\"{{id}}_tag_{{i}}\"\r\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\r\n [class.is-condensed]=\"isCondensed\"\r\n title=\"{{tag.tooltip | translate}}\">\r\n <i *ngIf=\"tag.icon\"\r\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\r\n <span *ngIf=\"!tag.url\">{{tag.label | translate}}</span>\r\n\r\n <a *ngIf=\"tag.url\"\r\n id=\"{{id}}_tag_{{i}}_link\"\r\n class=\"font-weight-bold\"\r\n href=\"{{tag.url}}\"\r\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\r\n\r\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\r\n *ngIf=\"tag.isDismissable\"\r\n (click)=\"closeTag(tag)\"\r\n class=\"tag-close-btn\">\r\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\r\n </button>\r\n </li>\r\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsComponent, decorators: [{
64
64
  type: Component,
65
- args: [{ selector: 'ec-tags', template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\">{{tag.label | translate}}</span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}\n"] }]
65
+ args: [{ selector: 'ec-tags', template: "<ul class=\"tags\"\r\n [class.is-wrapped]=\"wrap\">\r\n <li *ngFor=\"let tag of tagsArray; index as i\"\r\n id=\"{{id}}_tag_{{i}}\"\r\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\r\n [class.is-condensed]=\"isCondensed\"\r\n title=\"{{tag.tooltip | translate}}\">\r\n <i *ngIf=\"tag.icon\"\r\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\r\n <span *ngIf=\"!tag.url\">{{tag.label | translate}}</span>\r\n\r\n <a *ngIf=\"tag.url\"\r\n id=\"{{id}}_tag_{{i}}_link\"\r\n class=\"font-weight-bold\"\r\n href=\"{{tag.url}}\"\r\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\r\n\r\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\r\n *ngIf=\"tag.isDismissable\"\r\n (click)=\"closeTag(tag)\"\r\n class=\"tag-close-btn\">\r\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\r\n </button>\r\n </li>\r\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}\n"] }]
66
66
  }], ctorParameters: () => [], propDecorators: { id: [{
67
67
  type: Input
68
68
  }], tags: [{
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
74
74
  }], tagClosed: [{
75
75
  type: Output
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWdzL3RhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWpHLE1BQU0sT0FBTyxhQUFhO0lBdUN4QjtRQXJDQSxnQ0FBZ0M7UUFDaEIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQVVoQzs7Ozs7V0FLRztRQUNhLFNBQUksR0FBWSxJQUFJLENBQUM7UUFFckM7O1dBRUc7UUFDYSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3Qzs7V0FFRztRQUNjLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4RTs7Ozs7V0FLRztRQUNJLGNBQVMsR0FBVSxFQUFFLENBQUM7SUFFYixDQUFDO0lBRWpCOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCw4RUFBOEU7Z0JBQzlFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUM3QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTix3Q0FBd0M7Z0JBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFRO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FuRVUsYUFBYTttR0FBYixhQUFhLHVMQ1IxQixxNUJBd0JLOzs0RkRoQlEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxTQUFTO3dEQU9ILEVBQUU7c0JBQWpCLEtBQUs7Z0JBUVUsSUFBSTtzQkFBbkIsS0FBSztnQkFRVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1csU0FBUztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4vdGFnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWMtdGFncycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFncy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIC8qKlRoZSBJRCBvZiB0aGlzIHNldCBvZiB0YWdzICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIE9uZSBvciBtb3JlIHRhZ3NcbiAgICogXG4gICAqIEB0eXBlIHsoVGFnIHwgVGFnW10pfVxuICAgKiBAbWVtYmVyb2YgVGFnc0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHRhZ3M/OiBUYWcgfCBUYWdbXTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB0YWdzIHdpbGwgd3JhcCBvciBub3RcbiAgICogXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgVGFnc0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHdyYXA6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0aGUgdGFncyBpbiBjb25kZW5zZWQgbW9kZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGlzQ29uZGVuc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB0YWcgaXRlbSB3aGVuIHRoZSB0YWcncyBjbG9zZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyB0YWdDbG9zZWQ6IEV2ZW50RW1pdHRlcjxUYWc+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYWc+KCk7XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gYmUgZGlzcGxheWVkXG4gICAqIFxuICAgKiBAdHlwZSB7VGFnW119XG4gICAqIEBtZW1iZXJvZiBUYWdzQ29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgdGFnc0FycmF5OiBUYWdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgLyoqXG4gICAqIEFuZ3VsYXIgb25DaGFuZ2VzIGxpZmVjeWNsZSBob29rXG4gICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9saWZlY3ljbGUtaG9va3MgfCBMaWZlLWN5Y2xlIGhvb2tzfVxuICAgKiBcbiAgICogQHBhcmFtIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzIFxuICAgKiBAbWVtYmVyb2YgVGFnc0NvbXBvbmVudFxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnRhZ3MpIHtcbiAgICAgIGlmICh0aGlzLnRhZ3MpIHtcbiAgICAgICAgLy8gSWYgb25seSBnaXZlbiBhIHNpbmdsZSBpdGVtLCBwdXQgaXQgaW4gYW4gYXJyYXkgc28gaXQgd29ya3MgaW4gdGhlIHRlbXBsYXRlXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudGFncykpIHtcbiAgICAgICAgICB0aGlzLnRhZ3NBcnJheSA9IHRoaXMudGFncztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnRhZ3NBcnJheSA9IFt0aGlzLnRhZ3NdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyByZXNldCBhcnJheSBpZiB0YWdzIGJlY29tZXMgdW5kZWZpbmVkXG4gICAgICAgIHRoaXMudGFnc0FycmF5ID0gW107XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlVGFnKHRhZzogVGFnKSB7XG4gICAgdGhpcy50YWdzQXJyYXkgPSB0aGlzLnRhZ3NBcnJheS5maWx0ZXIodCA9PiB0ICE9PSB0YWcpO1xuICAgIHRoaXMudGFnQ2xvc2VkLmVtaXQodGFnKTtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwidGFnc1wiXG4gICAgW2NsYXNzLmlzLXdyYXBwZWRdPVwid3JhcFwiPlxuICAgPGxpICpuZ0Zvcj1cImxldCB0YWcgb2YgdGFnc0FycmF5OyBpbmRleCBhcyBpXCJcbiAgICAgICBpZD1cInt7aWR9fV90YWdfe3tpfX1cIlxuICAgICAgIGNsYXNzPVwidGFnIGlzLXt7dGFnLnR5cGV9fSB7e3RhZy5jbGFzc0xpc3R9fSBtci0xXCJcbiAgICAgICBbY2xhc3MuaXMtY29uZGVuc2VkXT1cImlzQ29uZGVuc2VkXCJcbiAgICAgICB0aXRsZT1cInt7dGFnLnRvb2x0aXAgfCB0cmFuc2xhdGV9fVwiPlxuICAgICAgPGkgKm5nSWY9XCJ0YWcuaWNvblwiXG4gICAgICAgICBjbGFzcz1cImVjLWljb24ge3t0YWcuaWNvbn19IGVjLWljb24tc21cIj48L2k+XG4gICAgICA8c3BhbiAqbmdJZj1cIiF0YWcudXJsXCI+e3t0YWcubGFiZWwgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cblxuICAgICAgPGEgKm5nSWY9XCJ0YWcudXJsXCJcbiAgICAgICAgIGlkPVwie3tpZH19X3RhZ197e2l9fV9saW5rXCJcbiAgICAgICAgIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZFwiXG4gICAgICAgICBocmVmPVwie3t0YWcudXJsfX1cIlxuICAgICAgICAgdGFyZ2V0PVwie3t0YWcudGFyZ2V0fX1cIj57e3RhZy5sYWJlbCB8IHRyYW5zbGF0ZX19PC9hPlxuXG4gICAgICA8YnV0dG9uIGlkPVwie3tpZH19X3RhZ197e2l9fV9kaXNtaXNzQnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0YWcuaXNEaXNtaXNzYWJsZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhZyh0YWcpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWctY2xvc2UtYnRuXCI+XG4gICAgICAgICA8aSBjbGFzcz1cImVjLWljb24gZWMtaWNvbi1zbSBpY29uLWNhbmNlbFwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgPC9saT5cbjwvdWw+Il19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWdzL3RhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWpHLE1BQU0sT0FBTyxhQUFhO0lBdUN4QjtRQXJDQSxnQ0FBZ0M7UUFDaEIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQVVoQzs7Ozs7V0FLRztRQUNhLFNBQUksR0FBWSxJQUFJLENBQUM7UUFFckM7O1dBRUc7UUFDYSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3Qzs7V0FFRztRQUNjLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4RTs7Ozs7V0FLRztRQUNJLGNBQVMsR0FBVSxFQUFFLENBQUM7SUFFYixDQUFDO0lBRWpCOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCw4RUFBOEU7Z0JBQzlFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUM3QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTix3Q0FBd0M7Z0JBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFRO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FuRVUsYUFBYTttR0FBYixhQUFhLHVMQ1IxQixxOEJBd0JLOzs0RkRoQlEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxTQUFTO3dEQU9ILEVBQUU7c0JBQWpCLEtBQUs7Z0JBUVUsSUFBSTtzQkFBbkIsS0FBSztnQkFRVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1csU0FBUztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi90YWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy10YWdzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFncy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFncy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgLyoqVGhlIElEIG9mIHRoaXMgc2V0IG9mIHRhZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBPbmUgb3IgbW9yZSB0YWdzXHJcbiAgICogXHJcbiAgICogQHR5cGUgeyhUYWcgfCBUYWdbXSl9XHJcbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdGFncz86IFRhZyB8IFRhZ1tdO1xyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRhZ3Mgd2lsbCB3cmFwIG9yIG5vdFxyXG4gICAqIFxyXG4gICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBUYWdzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHdyYXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5cyB0aGUgdGFncyBpbiBjb25kZW5zZWQgbW9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0NvbmRlbnNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyB0aGUgdGFnIGl0ZW0gd2hlbiB0aGUgdGFnJ3MgY2xvc2UgYnV0dG9uIGlzIGNsaWNrZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIHRhZ0Nsb3NlZDogRXZlbnRFbWl0dGVyPFRhZz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhZz4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGFncyB0byBiZSBkaXNwbGF5ZWRcclxuICAgKiBcclxuICAgKiBAdHlwZSB7VGFnW119XHJcbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcclxuICAgKi9cclxuICBwdWJsaWMgdGFnc0FycmF5OiBUYWdbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBbmd1bGFyIG9uQ2hhbmdlcyBsaWZlY3ljbGUgaG9va1xyXG4gICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9saWZlY3ljbGUtaG9va3MgfCBMaWZlLWN5Y2xlIGhvb2tzfVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7U2ltcGxlQ2hhbmdlc30gY2hhbmdlcyBcclxuICAgKiBAbWVtYmVyb2YgVGFnc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLnRhZ3MpIHtcclxuICAgICAgaWYgKHRoaXMudGFncykge1xyXG4gICAgICAgIC8vIElmIG9ubHkgZ2l2ZW4gYSBzaW5nbGUgaXRlbSwgcHV0IGl0IGluIGFuIGFycmF5IHNvIGl0IHdvcmtzIGluIHRoZSB0ZW1wbGF0ZVxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudGFncykpIHtcclxuICAgICAgICAgIHRoaXMudGFnc0FycmF5ID0gdGhpcy50YWdzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRhZ3NBcnJheSA9IFt0aGlzLnRhZ3NdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyByZXNldCBhcnJheSBpZiB0YWdzIGJlY29tZXMgdW5kZWZpbmVkXHJcbiAgICAgICAgdGhpcy50YWdzQXJyYXkgPSBbXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlVGFnKHRhZzogVGFnKSB7XHJcbiAgICB0aGlzLnRhZ3NBcnJheSA9IHRoaXMudGFnc0FycmF5LmZpbHRlcih0ID0+IHQgIT09IHRhZyk7XHJcbiAgICB0aGlzLnRhZ0Nsb3NlZC5lbWl0KHRhZyk7XHJcbiAgfVxyXG59XHJcbiIsIjx1bCBjbGFzcz1cInRhZ3NcIlxyXG4gICAgW2NsYXNzLmlzLXdyYXBwZWRdPVwid3JhcFwiPlxyXG4gICA8bGkgKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzQXJyYXk7IGluZGV4IGFzIGlcIlxyXG4gICAgICAgaWQ9XCJ7e2lkfX1fdGFnX3t7aX19XCJcclxuICAgICAgIGNsYXNzPVwidGFnIGlzLXt7dGFnLnR5cGV9fSB7e3RhZy5jbGFzc0xpc3R9fSBtci0xXCJcclxuICAgICAgIFtjbGFzcy5pcy1jb25kZW5zZWRdPVwiaXNDb25kZW5zZWRcIlxyXG4gICAgICAgdGl0bGU9XCJ7e3RhZy50b29sdGlwIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgICAgPGkgKm5nSWY9XCJ0YWcuaWNvblwiXHJcbiAgICAgICAgIGNsYXNzPVwiZWMtaWNvbiB7e3RhZy5pY29ufX0gZWMtaWNvbi1zbVwiPjwvaT5cclxuICAgICAgPHNwYW4gKm5nSWY9XCIhdGFnLnVybFwiPnt7dGFnLmxhYmVsIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcblxyXG4gICAgICA8YSAqbmdJZj1cInRhZy51cmxcIlxyXG4gICAgICAgICBpZD1cInt7aWR9fV90YWdfe3tpfX1fbGlua1wiXHJcbiAgICAgICAgIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZFwiXHJcbiAgICAgICAgIGhyZWY9XCJ7e3RhZy51cmx9fVwiXHJcbiAgICAgICAgIHRhcmdldD1cInt7dGFnLnRhcmdldH19XCI+e3t0YWcubGFiZWwgfCB0cmFuc2xhdGV9fTwvYT5cclxuXHJcbiAgICAgIDxidXR0b24gaWQ9XCJ7e2lkfX1fdGFnX3t7aX19X2Rpc21pc3NCdXR0b25cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwidGFnLmlzRGlzbWlzc2FibGVcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhZyh0YWcpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInRhZy1jbG9zZS1idG5cIj5cclxuICAgICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIGVjLWljb24tc20gaWNvbi1jYW5jZWxcIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICA8L2xpPlxyXG48L3VsPiJdfQ==