@odx/angular 1.0.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/cdk/autocomplete-control/README.md +3 -0
  2. package/cdk/autocomplete-control/index.d.ts +3 -0
  3. package/cdk/autocomplete-control/lib/abstract/base-search-field.directive.d.ts +13 -0
  4. package/cdk/autocomplete-control/lib/abstract/index.d.ts +1 -0
  5. package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +39 -0
  6. package/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.d.ts +11 -0
  7. package/cdk/autocomplete-control/lib/pipes/index.d.ts +1 -0
  8. package/cdk/option-control/README.md +3 -0
  9. package/cdk/option-control/index.d.ts +1 -0
  10. package/cdk/option-control/lib/option-control.d.ts +17 -0
  11. package/components/autocomplete/README.md +3 -0
  12. package/components/autocomplete/index.d.ts +6 -0
  13. package/components/autocomplete/lib/autocomplete.component.d.ts +30 -0
  14. package/components/autocomplete/lib/autocomplete.module.d.ts +11 -0
  15. package/components/autocomplete/lib/autocomplete.tokens.d.ts +3 -0
  16. package/components/autocomplete/lib/components/index.d.ts +1 -0
  17. package/components/autocomplete/lib/components/option/autocomplete-option.component.d.ts +9 -0
  18. package/components/autocomplete/lib/directives/autocomplete-search-field.directive.d.ts +9 -0
  19. package/components/autocomplete/lib/directives/index.d.ts +1 -0
  20. package/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.d.ts +12 -0
  21. package/components/autocomplete/lib/pipes/index.d.ts +1 -0
  22. package/components/chip/index.d.ts +1 -1
  23. package/components/chip/lib/{chip.component.d.ts → components/chip/chip.component.d.ts} +1 -1
  24. package/components/chip/lib/components/chip-list/chip-list.component.d.ts +6 -0
  25. package/components/chip/lib/components/chip-list-row/chip-list-row.component.d.ts +6 -0
  26. package/components/chip/lib/components/index.d.ts +3 -0
  27. package/components/dropdown/lib/dropdown.directive.d.ts +2 -1
  28. package/components/form-field/lib/models/form-field-variant.d.ts +1 -0
  29. package/components/main-menu/lib/directives/index.d.ts +1 -0
  30. package/components/main-menu/lib/directives/main-menu-close.directive.d.ts +7 -0
  31. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +3 -4
  32. package/components/main-menu/lib/main-menu.module.d.ts +3 -2
  33. package/components/menu/lib/directives/menu-item.directive.d.ts +1 -1
  34. package/components/select/index.d.ts +0 -1
  35. package/components/select/lib/components/index.d.ts +1 -1
  36. package/components/select/lib/components/select-option/select-option.component.d.ts +19 -0
  37. package/components/select/lib/directives/select-search-field.directive.d.ts +3 -7
  38. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +8 -8
  39. package/components/select/lib/select.component.d.ts +15 -30
  40. package/components/select/lib/select.module.d.ts +2 -2
  41. package/components/select/lib/select.tokens.d.ts +2 -2
  42. package/components/table/README.md +3 -0
  43. package/components/table/index.d.ts +5 -0
  44. package/components/table/lib/components/check-cell/check-cell.component.d.ts +11 -0
  45. package/components/table/lib/components/header-title/header-title.component.d.ts +28 -0
  46. package/components/table/lib/components/index.d.ts +2 -0
  47. package/components/table/lib/directives/index.d.ts +2 -0
  48. package/components/table/lib/directives/table-cell.directive.d.ts +6 -0
  49. package/components/table/lib/directives/table-row.directive.d.ts +6 -0
  50. package/components/table/lib/interfaces/index.d.ts +3 -0
  51. package/components/table/lib/models/index.d.ts +2 -0
  52. package/components/table/lib/models/sort-variant.d.ts +6 -0
  53. package/components/table/lib/models/table-variant.d.ts +5 -0
  54. package/components/table/lib/table.component.d.ts +29 -0
  55. package/components/table/lib/table.config.d.ts +4 -0
  56. package/components/table/lib/table.module.d.ts +11 -0
  57. package/components/wizard/README.md +3 -0
  58. package/components/wizard/index.d.ts +3 -0
  59. package/components/wizard/lib/components/index.d.ts +1 -0
  60. package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +17 -0
  61. package/components/wizard/lib/wizard.component.d.ts +31 -0
  62. package/components/wizard/lib/wizard.module.d.ts +9 -0
  63. package/esm2020/cdk/autocomplete-control/index.mjs +4 -0
  64. package/esm2020/cdk/autocomplete-control/lib/abstract/base-search-field.directive.mjs +38 -0
  65. package/esm2020/cdk/autocomplete-control/lib/abstract/index.mjs +2 -0
  66. package/esm2020/cdk/autocomplete-control/lib/autocomplete-control.mjs +90 -0
  67. package/esm2020/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +32 -0
  68. package/esm2020/cdk/autocomplete-control/lib/pipes/index.mjs +2 -0
  69. package/esm2020/cdk/autocomplete-control/odx-angular-cdk-autocomplete-control.mjs +5 -0
  70. package/esm2020/cdk/option-control/index.mjs +2 -0
  71. package/esm2020/cdk/option-control/lib/option-control.mjs +47 -0
  72. package/esm2020/cdk/option-control/odx-angular-cdk-option-control.mjs +5 -0
  73. package/esm2020/components/autocomplete/index.mjs +7 -0
  74. package/esm2020/components/autocomplete/lib/autocomplete.component.mjs +162 -0
  75. package/esm2020/components/autocomplete/lib/autocomplete.module.mjs +21 -0
  76. package/esm2020/components/autocomplete/lib/autocomplete.tokens.mjs +3 -0
  77. package/esm2020/components/autocomplete/lib/components/index.mjs +2 -0
  78. package/esm2020/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +33 -0
  79. package/esm2020/components/autocomplete/lib/directives/autocomplete-search-field.directive.mjs +26 -0
  80. package/esm2020/components/autocomplete/lib/directives/index.mjs +2 -0
  81. package/esm2020/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +30 -0
  82. package/esm2020/components/autocomplete/lib/pipes/index.mjs +2 -0
  83. package/esm2020/components/autocomplete/odx-angular-components-autocomplete.mjs +5 -0
  84. package/esm2020/components/card/lib/card.component.mjs +2 -2
  85. package/esm2020/components/chip/index.mjs +2 -2
  86. package/esm2020/components/chip/lib/{chip.component.mjs → components/chip/chip.component.mjs} +2 -2
  87. package/esm2020/components/chip/lib/components/chip-list/chip-list.component.mjs +21 -0
  88. package/esm2020/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +21 -0
  89. package/esm2020/components/chip/lib/components/index.mjs +4 -0
  90. package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
  91. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +10 -2
  92. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  93. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  94. package/esm2020/components/form-field/lib/form-field.service.mjs +2 -2
  95. package/esm2020/components/form-field/lib/models/form-field-variant.mjs +2 -1
  96. package/esm2020/components/main-menu/lib/directives/index.mjs +2 -1
  97. package/esm2020/components/main-menu/lib/directives/main-menu-close.directive.mjs +24 -0
  98. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +6 -12
  99. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  100. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +3 -3
  101. package/esm2020/components/select/index.mjs +1 -2
  102. package/esm2020/components/select/lib/components/index.mjs +2 -2
  103. package/esm2020/components/select/lib/components/select-option/select-option.component.mjs +75 -0
  104. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +9 -21
  105. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +12 -33
  106. package/esm2020/components/select/lib/select.component.mjs +44 -86
  107. package/esm2020/components/select/lib/select.module.mjs +5 -5
  108. package/esm2020/components/select/lib/select.tokens.mjs +2 -2
  109. package/esm2020/components/table/index.mjs +6 -0
  110. package/esm2020/components/table/lib/components/check-cell/check-cell.component.mjs +29 -0
  111. package/esm2020/components/table/lib/components/header-title/header-title.component.mjs +86 -0
  112. package/esm2020/components/table/lib/components/index.mjs +3 -0
  113. package/esm2020/components/table/lib/directives/index.mjs +3 -0
  114. package/esm2020/components/table/lib/directives/table-cell.directive.mjs +27 -0
  115. package/esm2020/components/table/lib/directives/table-row.directive.mjs +28 -0
  116. package/esm2020/components/table/lib/interfaces/index.mjs +4 -0
  117. package/esm2020/components/table/lib/models/index.mjs +3 -0
  118. package/esm2020/components/table/lib/models/sort-variant.mjs +6 -0
  119. package/esm2020/components/table/lib/models/table-variant.mjs +5 -0
  120. package/esm2020/components/table/lib/table.component.mjs +86 -0
  121. package/esm2020/components/table/lib/table.config.mjs +3 -0
  122. package/esm2020/components/table/lib/table.module.mjs +21 -0
  123. package/esm2020/components/table/odx-angular-components-table.mjs +5 -0
  124. package/esm2020/components/wizard/index.mjs +4 -0
  125. package/esm2020/components/wizard/lib/components/index.mjs +2 -0
  126. package/esm2020/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +73 -0
  127. package/esm2020/components/wizard/lib/wizard.component.mjs +155 -0
  128. package/esm2020/components/wizard/lib/wizard.module.mjs +19 -0
  129. package/esm2020/components/wizard/odx-angular-components-wizard.mjs +5 -0
  130. package/esm2020/lib/services/window-ref.mjs +4 -1
  131. package/fesm2015/odx-angular-cdk-autocomplete-control.mjs +164 -0
  132. package/fesm2015/odx-angular-cdk-autocomplete-control.mjs.map +1 -0
  133. package/fesm2015/odx-angular-cdk-option-control.mjs +55 -0
  134. package/fesm2015/odx-angular-cdk-option-control.mjs.map +1 -0
  135. package/fesm2015/odx-angular-components-autocomplete.mjs +263 -0
  136. package/fesm2015/odx-angular-components-autocomplete.mjs.map +1 -0
  137. package/fesm2015/odx-angular-components-card.mjs +1 -1
  138. package/fesm2015/odx-angular-components-card.mjs.map +1 -1
  139. package/fesm2015/odx-angular-components-chip.mjs +35 -5
  140. package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
  141. package/fesm2015/odx-angular-components-dropdown.mjs +11 -3
  142. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  143. package/fesm2015/odx-angular-components-form-field.mjs +5 -4
  144. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  145. package/fesm2015/odx-angular-components-main-menu.mjs +28 -14
  146. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  147. package/fesm2015/odx-angular-components-menu.mjs +2 -2
  148. package/fesm2015/odx-angular-components-menu.mjs.map +1 -1
  149. package/fesm2015/odx-angular-components-select.mjs +80 -175
  150. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  151. package/fesm2015/odx-angular-components-table.mjs +264 -0
  152. package/fesm2015/odx-angular-components-table.mjs.map +1 -0
  153. package/fesm2015/odx-angular-components-wizard.mjs +242 -0
  154. package/fesm2015/odx-angular-components-wizard.mjs.map +1 -0
  155. package/fesm2015/odx-angular.mjs +3 -0
  156. package/fesm2015/odx-angular.mjs.map +1 -1
  157. package/fesm2020/odx-angular-cdk-autocomplete-control.mjs +160 -0
  158. package/fesm2020/odx-angular-cdk-autocomplete-control.mjs.map +1 -0
  159. package/fesm2020/odx-angular-cdk-option-control.mjs +54 -0
  160. package/fesm2020/odx-angular-cdk-option-control.mjs.map +1 -0
  161. package/fesm2020/odx-angular-components-autocomplete.mjs +254 -0
  162. package/fesm2020/odx-angular-components-autocomplete.mjs.map +1 -0
  163. package/fesm2020/odx-angular-components-card.mjs +1 -1
  164. package/fesm2020/odx-angular-components-card.mjs.map +1 -1
  165. package/fesm2020/odx-angular-components-chip.mjs +35 -5
  166. package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
  167. package/fesm2020/odx-angular-components-dropdown.mjs +11 -3
  168. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  169. package/fesm2020/odx-angular-components-form-field.mjs +5 -4
  170. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  171. package/fesm2020/odx-angular-components-main-menu.mjs +28 -14
  172. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  173. package/fesm2020/odx-angular-components-menu.mjs +2 -2
  174. package/fesm2020/odx-angular-components-menu.mjs.map +1 -1
  175. package/fesm2020/odx-angular-components-select.mjs +77 -170
  176. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  177. package/fesm2020/odx-angular-components-table.mjs +259 -0
  178. package/fesm2020/odx-angular-components-table.mjs.map +1 -0
  179. package/fesm2020/odx-angular-components-wizard.mjs +239 -0
  180. package/fesm2020/odx-angular-components-wizard.mjs.map +1 -0
  181. package/fesm2020/odx-angular.mjs +3 -0
  182. package/fesm2020/odx-angular.mjs.map +1 -1
  183. package/lib/services/window-ref.d.ts +1 -0
  184. package/package.json +42 -2
  185. package/components/select/lib/abstract/index.d.ts +0 -2
  186. package/components/select/lib/abstract/select-control-option.d.ts +0 -9
  187. package/components/select/lib/abstract/select-control.d.ts +0 -12
  188. package/components/select/lib/components/option/option.component.d.ts +0 -26
  189. package/esm2020/components/select/lib/abstract/index.mjs +0 -3
  190. package/esm2020/components/select/lib/abstract/select-control-option.mjs +0 -2
  191. package/esm2020/components/select/lib/abstract/select-control.mjs +0 -2
  192. package/esm2020/components/select/lib/components/option/option.component.mjs +0 -95
@@ -1,95 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, inject, Input, ViewEncapsulation } from '@angular/core';
4
- import { CoreModule, detectControllerChanges, DisabledController } from '@odx/angular';
5
- import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
6
- import { CheckboxComponent } from '@odx/angular/components/checkbox';
7
- import { CSSComponent } from '@odx/angular/internal';
8
- import { injectElement, Transform, untilDestroyed } from '@odx/angular/utils';
9
- import { SELECT_CONTROL } from '../../select.tokens';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- let OptionComponent = class OptionComponent {
13
- get disabled() {
14
- return !!this.disabledController?.disabled;
15
- }
16
- constructor() {
17
- this.disabledController = DisabledController.inject();
18
- this.takeUntilDestroyed = untilDestroyed();
19
- this.cdr = inject(ChangeDetectorRef);
20
- this.selectControl = inject(SELECT_CONTROL);
21
- this.isActive = false;
22
- this.element = injectElement();
23
- this.isSelected = false;
24
- this.value = null;
25
- this.notFoundMessage = false;
26
- if (!this.selectControl.multiple) {
27
- detectControllerChanges(this.selectControl)
28
- .pipe(this.takeUntilDestroyed())
29
- .subscribe(() => {
30
- this.isSelected = this.selectControl.isOptionSelected(this);
31
- });
32
- }
33
- }
34
- ngOnInit() {
35
- this.isSelected = this.selectControl.isOptionSelected(this);
36
- }
37
- getLabel() {
38
- return this.element.nativeElement.textContent ?? '';
39
- }
40
- setActiveStyles() {
41
- if (this.disabled)
42
- return;
43
- this.isActive = true;
44
- if (this.selectControl.isOpen) {
45
- this.selectControl.scrollOptionIntoView(this);
46
- }
47
- else {
48
- this.selectControl.selectOption(this);
49
- }
50
- }
51
- setInactiveStyles() {
52
- this.isActive = false;
53
- }
54
- switchCheckbox() {
55
- if (this.selectControl.multiple) {
56
- this.isSelected = !this.isSelected;
57
- this.cdr.markForCheck();
58
- }
59
- }
60
- select(event) {
61
- event.stopPropagation();
62
- event.preventDefault();
63
- this.selectControl.selectOption(this);
64
- }
65
- };
66
- OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
- OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OptionComponent, isStandalone: true, selector: "odx-option", inputs: { value: "value", notFoundMessage: "notFoundMessage" }, host: { attributes: { "role": "option" }, listeners: { "click": "select($event)" }, properties: { "attr.aria-selected": "isSelected", "attr.aria-disabled": "disabled || null", "class.is-disabled": "disabled", "class.is-selected": "isSelected", "class.is-active": "isActive" } }, providers: [DisabledController.connect()], ngImport: i0, template: "<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
68
- __decorate([
69
- Transform(coerceBooleanProperty),
70
- __metadata("design:type", Object)
71
- ], OptionComponent.prototype, "notFoundMessage", void 0);
72
- OptionComponent = __decorate([
73
- CSSComponent('option'),
74
- __metadata("design:paramtypes", [])
75
- ], OptionComponent);
76
- export { OptionComponent };
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OptionComponent, decorators: [{
78
- type: Component,
79
- args: [{ standalone: true, selector: 'odx-option', imports: [CoreModule, DynamicViewDirective, CheckboxComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect()], host: {
80
- '[attr.aria-selected]': 'isSelected',
81
- '[attr.aria-disabled]': 'disabled || null',
82
- '[class.is-disabled]': 'disabled',
83
- '[class.is-selected]': 'isSelected',
84
- '[class.is-active]': 'isActive',
85
- role: 'option',
86
- }, template: "<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
87
- }], ctorParameters: function () { return []; }, propDecorators: { value: [{
88
- type: Input
89
- }], notFoundMessage: [{
90
- type: Input
91
- }], select: [{
92
- type: HostListener,
93
- args: ['click', ['$event']]
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3NlbGVjdC9zcmMvbGliL2NvbXBvbmVudHMvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9jb21wb25lbnRzL29wdGlvbi9vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBb0I5QyxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBb0IxQixJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7UUFyQmlCLHVCQUFrQixH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VTt3QkFDakMscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMsbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0IsSUFBSSxFQUFFLFFBQVE7cUJBQ2Y7MEVBZ0JNLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxlQUFlO3NCQURyQixLQUFLO2dCQStDSSxNQUFNO3NCQURmLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXMsIERpc2FibGVkQ29udHJvbGxlciB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBEeW5hbWljVmlld0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIFRyYW5zZm9ybSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0Q29udHJvbE9wdGlvbiB9IGZyb20gJy4uLy4uL2Fic3RyYWN0JztcbmltcG9ydCB7IFNFTEVDVF9DT05UUk9MIH0gZnJvbSAnLi4vLi4vc2VsZWN0LnRva2Vucyc7XG5cbkBDU1NDb21wb25lbnQoJ29wdGlvbicpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtb3B0aW9uJyxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIER5bmFtaWNWaWV3RGlyZWN0aXZlLCBDaGVja2JveENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbRGlzYWJsZWRDb250cm9sbGVyLmNvbm5lY3QoKV0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnaXNTZWxlY3RlZCcsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmlzLXNlbGVjdGVkXSc6ICdpc1NlbGVjdGVkJyxcbiAgICAnW2NsYXNzLmlzLWFjdGl2ZV0nOiAnaXNBY3RpdmUnLFxuICAgIHJvbGU6ICdvcHRpb24nLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25Db21wb25lbnQ8VCA9IHVua25vd24+IGltcGxlbWVudHMgT25Jbml0LCBTZWxlY3RDb250cm9sT3B0aW9uPFQ+IHtcbiAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9ub3RGb3VuZE1lc3NhZ2U6IEJvb2xlYW5JbnB1dDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVkQ29udHJvbGxlciA9IERpc2FibGVkQ29udHJvbGxlci5pbmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdENvbnRyb2wgPSBpbmplY3QoU0VMRUNUX0NPTlRST0wpO1xuICBwcm90ZWN0ZWQgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcbiAgcHVibGljIGlzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICBAVHJhbnNmb3JtKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSlcbiAgQElucHV0KClcbiAgcHVibGljIG5vdEZvdW5kTWVzc2FnZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kaXNhYmxlZENvbnRyb2xsZXI/LmRpc2FibGVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdENvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMuc2VsZWN0Q29udHJvbClcbiAgICAgICAgLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5zZWxlY3RDb250cm9sLmlzT3B0aW9uU2VsZWN0ZWQodGhpcyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdENvbnRyb2wuaXNPcHRpb25TZWxlY3RlZCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5zZWxlY3RDb250cm9sLmlzT3Blbikge1xuICAgICAgdGhpcy5zZWxlY3RDb250cm9sLnNjcm9sbE9wdGlvbkludG9WaWV3KHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2VsZWN0T3B0aW9uKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc3dpdGNoQ2hlY2tib3goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0Q29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5pc1NlbGVjdGVkID0gIXRoaXMuaXNTZWxlY3RlZDtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIHNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZWxlY3RPcHRpb24odGhpcyk7XG4gIH1cbn1cbiIsIjxvZHgtY2hlY2tib3ggW2NoZWNrZWRdPVwiaXNTZWxlY3RlZFwiICpuZ0lmPVwic2VsZWN0Q29udHJvbC5tdWx0aXBsZSAmJiAhbm90Rm91bmRNZXNzYWdlOyBlbHNlIHNpbmdsZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9vZHgtY2hlY2tib3g+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19