@fundamental-ngx/core 0.33.3 → 0.33.4-rc.11

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 (174) hide show
  1. package/README.md +1 -3
  2. package/action-bar/package.json +1 -1
  3. package/action-sheet/package.json +1 -1
  4. package/alert/package.json +1 -1
  5. package/avatar/package.json +1 -1
  6. package/avatar-group/package.json +1 -1
  7. package/bar/package.json +1 -1
  8. package/breadcrumb/package.json +1 -1
  9. package/busy-indicator/package.json +1 -1
  10. package/button/package.json +1 -1
  11. package/calendar/package.json +1 -1
  12. package/card/package.json +1 -1
  13. package/carousel/package.json +1 -1
  14. package/checkbox/checkbox/checkbox.component.d.ts +30 -35
  15. package/checkbox/esm2020/checkbox/checkbox.component.mjs +61 -80
  16. package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs +59 -77
  17. package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  18. package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs +59 -77
  19. package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  20. package/checkbox/package.json +1 -1
  21. package/combobox/package.json +1 -1
  22. package/date-picker/package.json +1 -1
  23. package/datetime/package.json +1 -1
  24. package/datetime-picker/package.json +1 -1
  25. package/dialog/package.json +1 -1
  26. package/dynamic-page/package.json +1 -1
  27. package/dynamic-side-content/package.json +1 -1
  28. package/esm2020/checkbox/checkbox/checkbox.component.mjs +61 -80
  29. package/esm2020/list/list-item/list-item.component.mjs +6 -2
  30. package/esm2020/message-box/message-box-body/message-box-body.component.mjs +12 -10
  31. package/esm2020/message-box/message-box-footer/message-box-footer.component.mjs +12 -9
  32. package/esm2020/message-box/message-box-header/message-box-header.component.mjs +30 -16
  33. package/esm2020/message-box/message-box-semantic-icon/message-box-semantic-icon.component.mjs +12 -14
  34. package/esm2020/message-box/message-box.component.mjs +5 -15
  35. package/esm2020/message-box/utils/message-box-config.class.mjs +3 -2
  36. package/esm2020/multi-input/multi-input.component.mjs +38 -11
  37. package/esm2020/upload-collection/upload-collection-item.directive.mjs +81 -8
  38. package/esm2020/utils/helpers/range-selector.mjs +113 -0
  39. package/esm2020/utils/public_api.mjs +2 -1
  40. package/facets/package.json +1 -1
  41. package/feed-input/package.json +1 -1
  42. package/feed-list-item/package.json +1 -1
  43. package/fesm2015/fundamental-ngx-core-checkbox.mjs +59 -77
  44. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  45. package/fesm2015/fundamental-ngx-core-list.mjs +5 -1
  46. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  47. package/fesm2015/fundamental-ngx-core-message-box.mjs +67 -56
  48. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  49. package/fesm2015/fundamental-ngx-core-multi-input.mjs +40 -11
  50. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  51. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +80 -7
  52. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  53. package/fesm2015/fundamental-ngx-core-utils.mjs +114 -1
  54. package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  55. package/fesm2020/fundamental-ngx-core-checkbox.mjs +59 -77
  56. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  57. package/fesm2020/fundamental-ngx-core-list.mjs +5 -1
  58. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  59. package/fesm2020/fundamental-ngx-core-message-box.mjs +62 -55
  60. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  61. package/fesm2020/fundamental-ngx-core-multi-input.mjs +38 -11
  62. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  63. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +80 -7
  64. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  65. package/fesm2020/fundamental-ngx-core-utils.mjs +114 -1
  66. package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  67. package/file-uploader/package.json +1 -1
  68. package/fixed-card-layout/package.json +1 -1
  69. package/flexible-column-layout/package.json +1 -1
  70. package/form/package.json +1 -1
  71. package/formatted-text/package.json +1 -1
  72. package/grid-list/package.json +1 -1
  73. package/icon/package.json +1 -1
  74. package/illustrated-message/package.json +1 -1
  75. package/infinite-scroll/package.json +1 -1
  76. package/info-label/package.json +1 -1
  77. package/inline-help/package.json +1 -1
  78. package/input-group/package.json +1 -1
  79. package/layout-grid/package.json +1 -1
  80. package/layout-panel/package.json +1 -1
  81. package/link/package.json +1 -1
  82. package/list/esm2020/list-item/list-item.component.mjs +6 -2
  83. package/list/fesm2015/fundamental-ngx-core-list.mjs +5 -1
  84. package/list/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  85. package/list/fesm2020/fundamental-ngx-core-list.mjs +5 -1
  86. package/list/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  87. package/list/package.json +1 -1
  88. package/menu/package.json +1 -1
  89. package/message-box/esm2020/message-box-body/message-box-body.component.mjs +12 -10
  90. package/message-box/esm2020/message-box-footer/message-box-footer.component.mjs +12 -9
  91. package/message-box/esm2020/message-box-header/message-box-header.component.mjs +30 -16
  92. package/message-box/esm2020/message-box-semantic-icon/message-box-semantic-icon.component.mjs +12 -14
  93. package/message-box/esm2020/message-box.component.mjs +5 -15
  94. package/message-box/esm2020/utils/message-box-config.class.mjs +3 -2
  95. package/message-box/fesm2015/fundamental-ngx-core-message-box.mjs +67 -56
  96. package/message-box/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  97. package/message-box/fesm2020/fundamental-ngx-core-message-box.mjs +62 -55
  98. package/message-box/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  99. package/message-box/message-box-body/message-box-body.component.d.ts +6 -4
  100. package/message-box/message-box-footer/message-box-footer.component.d.ts +6 -4
  101. package/message-box/message-box-header/message-box-header.component.d.ts +16 -8
  102. package/message-box/message-box-semantic-icon/message-box-semantic-icon.component.d.ts +6 -4
  103. package/message-box/message-box.component.d.ts +4 -9
  104. package/message-box/package.json +1 -1
  105. package/message-box/utils/message-box-config.class.d.ts +2 -4
  106. package/message-strip/package.json +1 -1
  107. package/message-toast/package.json +1 -1
  108. package/micro-process-flow/package.json +1 -1
  109. package/mobile-mode/package.json +1 -1
  110. package/multi-input/esm2020/multi-input.component.mjs +38 -11
  111. package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs +40 -11
  112. package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  113. package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs +38 -11
  114. package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  115. package/multi-input/multi-input.component.d.ts +8 -1
  116. package/multi-input/package.json +1 -1
  117. package/nested-list/package.json +1 -1
  118. package/notification/package.json +1 -1
  119. package/object-identifier/package.json +1 -1
  120. package/object-marker/package.json +1 -1
  121. package/object-number/package.json +1 -1
  122. package/object-status/package.json +1 -1
  123. package/package.json +1 -1
  124. package/pagination/package.json +1 -1
  125. package/panel/package.json +1 -1
  126. package/popover/package.json +1 -1
  127. package/product-switch/package.json +1 -1
  128. package/progress-indicator/package.json +1 -1
  129. package/quick-view/package.json +1 -1
  130. package/radio/package.json +1 -1
  131. package/rating-indicator/package.json +1 -1
  132. package/resizable-card-layout/package.json +1 -1
  133. package/scroll-spy/package.json +1 -1
  134. package/scrollbar/package.json +1 -1
  135. package/segmented-button/package.json +1 -1
  136. package/select/package.json +1 -1
  137. package/shared/package.json +1 -1
  138. package/shellbar/package.json +1 -1
  139. package/side-navigation/package.json +1 -1
  140. package/slider/package.json +1 -1
  141. package/split-button/package.json +1 -1
  142. package/splitter/package.json +1 -1
  143. package/status-indicator/package.json +1 -1
  144. package/step-input/package.json +1 -1
  145. package/switch/package.json +1 -1
  146. package/table/package.json +1 -1
  147. package/tabs/package.json +1 -1
  148. package/text/package.json +1 -1
  149. package/tile/package.json +1 -1
  150. package/time/package.json +1 -1
  151. package/time-picker/package.json +1 -1
  152. package/timeline/package.json +1 -1
  153. package/title/package.json +1 -1
  154. package/token/package.json +1 -1
  155. package/toolbar/package.json +1 -1
  156. package/tree/package.json +1 -1
  157. package/upload-collection/esm2020/upload-collection-item.directive.mjs +81 -8
  158. package/upload-collection/fesm2015/fundamental-ngx-core-upload-collection.mjs +80 -7
  159. package/upload-collection/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  160. package/upload-collection/fesm2020/fundamental-ngx-core-upload-collection.mjs +80 -7
  161. package/upload-collection/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  162. package/upload-collection/package.json +1 -1
  163. package/upload-collection/upload-collection-item.directive.d.ts +32 -2
  164. package/utils/esm2020/helpers/range-selector.mjs +113 -0
  165. package/utils/esm2020/public_api.mjs +2 -1
  166. package/utils/fesm2015/fundamental-ngx-core-utils.mjs +114 -1
  167. package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  168. package/utils/fesm2020/fundamental-ngx-core-utils.mjs +114 -1
  169. package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  170. package/utils/helpers/range-selector.d.ts +84 -0
  171. package/utils/package.json +1 -1
  172. package/utils/public_api.d.ts +1 -0
  173. package/vertical-navigation/package.json +1 -1
  174. package/wizard/package.json +1 -1
@@ -1,11 +1,12 @@
1
- import { ContentChild, Directive, EventEmitter, Input, Output } from '@angular/core';
1
+ import { ContentChild, Directive, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
2
  import { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';
3
3
  import { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';
4
4
  import { Subscription } from 'rxjs';
5
5
  import { UploadCollectionTitleContainerDirective, UploadCollectionTitleDirective } from './upload-collection-simple.directives';
6
6
  import * as i0 from "@angular/core";
7
7
  export class UploadCollectionItemDirective {
8
- constructor() {
8
+ constructor(elementRef) {
9
+ this.elementRef = elementRef;
9
10
  /** Event emitted when the user changes a file name. */
10
11
  this.fileNameChanged = new EventEmitter();
11
12
  /** Event emitted when presses the delete button. */
@@ -15,23 +16,52 @@ export class UploadCollectionItemDirective {
15
16
  }
16
17
  /** @hidden */
17
18
  ngAfterContentInit() {
18
- this._titleDirective.elRef.nativeElement.innerHTML = this.fileName + '.' + this.extension;
19
+ this.fileNameFull = this.fileName + '.' + this.extension;
20
+ this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;
19
21
  this._handleDeleteClickedSubscription();
20
22
  this._handleOkClickedSubscription();
21
23
  this._handleEditClickedSubscription();
22
24
  this._handleFormItemInputChangedSubscription();
23
25
  }
24
26
  /** @hidden */
27
+ ngAfterViewInit() {
28
+ this.onResize();
29
+ }
30
+ /** @hidden */
25
31
  ngOnDestroy() {
26
32
  this._subscriptions.unsubscribe();
27
33
  }
28
34
  /** @hidden */
35
+ onResize() {
36
+ if (!this.elementRef.nativeElement.parentElement) {
37
+ return;
38
+ }
39
+ this.titleWidth = this.getTitleWidth();
40
+ this.containerWidth = this.getContainerWidth();
41
+ // if first load and no previous container width, or if container boundary is resized to smaller than before
42
+ if (!this.previousContainerWidth || this.containerWidth < this.previousContainerWidth) {
43
+ // and the title extends past the container, 1.05x padding to prevent jaggy resizing.
44
+ if (this.titleWidth * 1.05 >= this.containerWidth) {
45
+ this.resizeFileTitle(this._titleDirective.elRef.nativeElement.innerHTML);
46
+ }
47
+ }
48
+ else if (this.previousContainerWidth && this.containerWidth > this.previousContainerWidth) {
49
+ // Looks to expand file title if container width is resized to greater than before
50
+ // reset file title to initial
51
+ this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;
52
+ this.resizeFileTitle(this.fileNameFull);
53
+ }
54
+ this.previousContainerWidth = this.containerWidth;
55
+ }
56
+ /** @hidden */
29
57
  _handleOkClickedSubscription() {
30
58
  this._subscriptions.add(this._buttonGroupComponent.okClicked.subscribe(() => {
31
59
  if (this._formItemComponent.fileName && this._formItemComponent.fileName !== '') {
32
60
  this.fileName = this._formItemComponent.fileName;
33
61
  this._titleDirective.elRef.nativeElement.style.display = 'inline-block';
34
- this._titleDirective.elRef.nativeElement.innerHTML = this.fileName + '.' + this.extension;
62
+ this.fileNameFull = this.fileName + '.' + this.extension;
63
+ this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;
64
+ this.resizeFileTitle(this.fileNameFull);
35
65
  this._formItemComponent._editMode = false;
36
66
  this._buttonGroupComponent._editMode = false;
37
67
  this.fileNameChanged.emit(this);
@@ -72,9 +102,49 @@ export class UploadCollectionItemDirective {
72
102
  this._buttonGroupComponent._okButton.buildComponentCssClass();
73
103
  }));
74
104
  }
105
+ /** @hidden */
106
+ getTitleWidth() {
107
+ return this._titleDirective.elRef.nativeElement.getBoundingClientRect().width;
108
+ }
109
+ /** @hidden */
110
+ getContainerWidth() {
111
+ return this._titleDirective.elRef.nativeElement.parentElement.getBoundingClientRect().width;
112
+ }
113
+ /**
114
+ * @hidden
115
+ *
116
+ * truncates the string by cutting out excess length in the middle and replacing with '...'
117
+ */
118
+ truncateTitle(str) {
119
+ const cutLength = Math.floor(str.length * 0.8);
120
+ if (str.length > cutLength) {
121
+ const stringLeftIndex = Math.floor(cutLength / 2);
122
+ const stringRightIndex = str.length - stringLeftIndex + 3;
123
+ return str.substring(0, stringLeftIndex) + '... ' + str.substring(stringRightIndex, str.length);
124
+ }
125
+ return str;
126
+ }
127
+ /**
128
+ * @hidden
129
+ *
130
+ * determines if file title needs to be truncated given container constraint.
131
+ */
132
+ resizeFileTitle(titleStr) {
133
+ let curTitle = titleStr;
134
+ this.containerWidth = this.getContainerWidth();
135
+ this.titleWidth = this.getTitleWidth();
136
+ // repeatedly truncate the title until it fits inside container
137
+ while (this.titleWidth * 1.05 >= this.containerWidth) {
138
+ const truncatedTitleStr = this.truncateTitle(curTitle);
139
+ this._titleDirective.elRef.nativeElement.innerHTML = truncatedTitleStr;
140
+ curTitle = truncatedTitleStr;
141
+ this.titleWidth = this.getTitleWidth();
142
+ this.containerWidth = this.getContainerWidth();
143
+ }
144
+ }
75
145
  }
76
- UploadCollectionItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: UploadCollectionItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
77
- UploadCollectionItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.2", type: UploadCollectionItemDirective, selector: "[fd-upload-collection-item]", inputs: { fileName: "fileName", extension: "extension" }, outputs: { fileNameChanged: "fileNameChanged", deleteClicked: "deleteClicked" }, host: { classAttribute: "fd-upload-collection__item" }, queries: [{ propertyName: "_formItemComponent", first: true, predicate: UploadCollectionFormItemComponent, descendants: true }, { propertyName: "_titleDirective", first: true, predicate: UploadCollectionTitleDirective, descendants: true }, { propertyName: "_buttonGroupComponent", first: true, predicate: UploadCollectionButtonGroupComponent, descendants: true }, { propertyName: "_titleContainerDirective", first: true, predicate: UploadCollectionTitleContainerDirective, descendants: true }], ngImport: i0 });
146
+ UploadCollectionItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: UploadCollectionItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
147
+ UploadCollectionItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.2", type: UploadCollectionItemDirective, selector: "[fd-upload-collection-item]", inputs: { fileName: "fileName", extension: "extension" }, outputs: { fileNameChanged: "fileNameChanged", deleteClicked: "deleteClicked" }, host: { listeners: { "window:resize": "onResize()" }, classAttribute: "fd-upload-collection__item" }, queries: [{ propertyName: "_formItemComponent", first: true, predicate: UploadCollectionFormItemComponent, descendants: true }, { propertyName: "_titleDirective", first: true, predicate: UploadCollectionTitleDirective, descendants: true }, { propertyName: "_buttonGroupComponent", first: true, predicate: UploadCollectionButtonGroupComponent, descendants: true }, { propertyName: "_titleContainerDirective", first: true, predicate: UploadCollectionTitleContainerDirective, descendants: true }], ngImport: i0 });
78
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: UploadCollectionItemDirective, decorators: [{
79
149
  type: Directive,
80
150
  args: [{
@@ -82,7 +152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
82
152
  selector: '[fd-upload-collection-item]',
83
153
  host: { class: 'fd-upload-collection__item' }
84
154
  }]
85
- }], propDecorators: { fileName: [{
155
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { fileName: [{
86
156
  type: Input
87
157
  }], extension: [{
88
158
  type: Input
@@ -102,5 +172,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
102
172
  type: Output
103
173
  }], deleteClicked: [{
104
174
  type: Output
175
+ }], onResize: [{
176
+ type: HostListener,
177
+ args: ['window:resize', []]
105
178
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWNvbGxlY3Rpb24taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91cGxvYWQtY29sbGVjdGlvbi91cGxvYWQtY29sbGVjdGlvbi1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUFDakksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQ0gsdUNBQXVDLEVBQ3ZDLDhCQUE4QixFQUNqQyxNQUFNLHVDQUF1QyxDQUFDOztBQU8vQyxNQUFNLE9BQU8sNkJBQTZCO0lBTDFDO1FBOEJJLHVEQUF1RDtRQUU5QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbkQsb0RBQW9EO1FBRTNDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVqRCxjQUFjO1FBQ04sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBMEUvQztJQXhFRyxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFGLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyx1Q0FB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QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjO0lBQ04sdUNBQXVDO1FBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzswSEEzR1EsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsc1RBVXhCLGlDQUFpQyxrRkFJakMsOEJBQThCLHdGQUk5QixvQ0FBb0MsMkZBSXBDLHVDQUF1QzsyRkF0QjVDLDZCQUE2QjtrQkFMekMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSw0QkFBNEIsRUFBRTtpQkFDaEQ7OEJBSUcsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsaUNBQWlDO2dCQUsvQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsOEJBQThCO2dCQUs1QyxxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsb0NBQW9DO2dCQUtsRCx3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsdUNBQXVDO2dCQUs1QyxlQUFlO3NCQUR2QixNQUFNO2dCQUtFLGFBQWE7c0JBRHJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVwbG9hZENvbGxlY3Rpb25Gb3JtSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkLWNvbGxlY3Rpb24tZm9ybS1pdGVtL3VwbG9hZC1jb2xsZWN0aW9uLWZvcm0taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkQ29sbGVjdGlvbkJ1dHRvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtY29sbGVjdGlvbi1idXR0b24tZ3JvdXAvdXBsb2FkLWNvbGxlY3Rpb24tYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgVXBsb2FkQ29sbGVjdGlvblRpdGxlQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgIFVwbG9hZENvbGxlY3Rpb25UaXRsZURpcmVjdGl2ZVxufSBmcm9tICcuL3VwbG9hZC1jb2xsZWN0aW9uLXNpbXBsZS5kaXJlY3RpdmVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZC11cGxvYWQtY29sbGVjdGlvbi1pdGVtXScsXG4gICAgaG9zdDogeyBjbGFzczogJ2ZkLXVwbG9hZC1jb2xsZWN0aW9uX19pdGVtJyB9XG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZENvbGxlY3Rpb25JdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIGZpbGUsIG5vdCBpbmNsdWRpbmcgdGhlIHR5cGUgZXh0ZW5zaW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsZU5hbWU6IHN0cmluZztcblxuICAgIC8qKiBUaGUgZmlsZSB0eXBlIGV4dGVuc2lvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGV4dGVuc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFVwbG9hZENvbGxlY3Rpb25Gb3JtSXRlbUNvbXBvbmVudClcbiAgICBfZm9ybUl0ZW1Db21wb25lbnQ6IFVwbG9hZENvbGxlY3Rpb25Gb3JtSXRlbUNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChVcGxvYWRDb2xsZWN0aW9uVGl0bGVEaXJlY3RpdmUpXG4gICAgX3RpdGxlRGlyZWN0aXZlOiBVcGxvYWRDb2xsZWN0aW9uVGl0bGVEaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoVXBsb2FkQ29sbGVjdGlvbkJ1dHRvbkdyb3VwQ29tcG9uZW50KVxuICAgIF9idXR0b25Hcm91cENvbXBvbmVudDogVXBsb2FkQ29sbGVjdGlvbkJ1dHRvbkdyb3VwQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFVwbG9hZENvbGxlY3Rpb25UaXRsZUNvbnRhaW5lckRpcmVjdGl2ZSlcbiAgICBfdGl0bGVDb250YWluZXJEaXJlY3RpdmU6IFVwbG9hZENvbGxlY3Rpb25UaXRsZUNvbnRhaW5lckRpcmVjdGl2ZTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHVzZXIgY2hhbmdlcyBhIGZpbGUgbmFtZS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBmaWxlTmFtZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gcHJlc3NlcyB0aGUgZGVsZXRlIGJ1dHRvbi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBkZWxldGVDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGl0bGVEaXJlY3RpdmUuZWxSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmZpbGVOYW1lICsgJy4nICsgdGhpcy5leHRlbnNpb247XG4gICAgICAgIHRoaXMuX2hhbmRsZURlbGV0ZUNsaWNrZWRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy5faGFuZGxlT2tDbGlja2VkU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuX2hhbmRsZUVkaXRDbGlja2VkU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuX2hhbmRsZUZvcm1JdGVtSW5wdXRDaGFuZ2VkU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlT2tDbGlja2VkU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX2J1dHRvbkdyb3VwQ29tcG9uZW50Lm9rQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9mb3JtSXRlbUNvbXBvbmVudC5maWxlTmFtZSAmJiB0aGlzLl9mb3JtSXRlbUNvbXBvbmVudC5maWxlTmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlTmFtZSA9IHRoaXMuX2Zvcm1JdGVtQ29tcG9uZW50LmZpbGVOYW1lO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aXRsZURpcmVjdGl2ZS5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGl0bGVEaXJlY3RpdmUuZWxSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmZpbGVOYW1lICsgJy4nICsgdGhpcy5leHRlbnNpb247XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1JdGVtQ29tcG9uZW50Ll9lZGl0TW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9idXR0b25Hcm91cENvbXBvbmVudC5fZWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlTmFtZUNoYW5nZWQuZW1pdCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlRWRpdENsaWNrZWRTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgdGhpcy5fYnV0dG9uR3JvdXBDb21wb25lbnQuZWRpdENsaWNrZWQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1JdGVtQ29tcG9uZW50Ll9lZGl0TW9kZSA9IGV2ZW50O1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl90aXRsZUNvbnRhaW5lckRpcmVjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aXRsZUNvbnRhaW5lckRpcmVjdGl2ZS5hcHBseUNvbnRhaW5lckNsYXNzID0gIWV2ZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBzdHlsZXMgPSBbXTtcbiAgICAgICAgICAgICAgICBzdHlsZXMucHVzaCh0aGlzLl90aXRsZURpcmVjdGl2ZS5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90aXRsZUNvbnRhaW5lckRpcmVjdGl2ZT8uX29iamVjdE1hcmtlckNvbXBvbmVudHM/LmZvckVhY2goKG9iamVjdE1hcmtlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZXMucHVzaChvYmplY3RNYXJrZXIuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGV2ZW50XG4gICAgICAgICAgICAgICAgICAgID8gc3R5bGVzLmZvckVhY2goKHN0eWxlKSA9PiAoc3R5bGUuZGlzcGxheSA9ICdub25lJykpXG4gICAgICAgICAgICAgICAgICAgIDogc3R5bGVzLmZvckVhY2goKHN0eWxlKSA9PiAoc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snKSk7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1JdGVtQ29tcG9uZW50Ll9leHRlbnNpb24gPSB0aGlzLmV4dGVuc2lvbjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9ybUl0ZW1Db21wb25lbnQuZmlsZU5hbWUgPSB0aGlzLmZpbGVOYW1lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVEZWxldGVDbGlja2VkU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX2J1dHRvbkdyb3VwQ29tcG9uZW50LmRlbGV0ZUNsaWNrZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUNsaWNrZWQuZW1pdCh0aGlzKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVGb3JtSXRlbUlucHV0Q2hhbmdlZFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICB0aGlzLl9mb3JtSXRlbUNvbXBvbmVudC5maWxlTmFtZUNoYW5nZWQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2J1dHRvbkdyb3VwQ29tcG9uZW50Ll9va0J1dHRvbi5kaXNhYmxlZCA9IGV2ZW50ID09PSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLl9idXR0b25Hcm91cENvbXBvbmVudC5fb2tCdXR0b24uYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWNvbGxlY3Rpb24taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91cGxvYWQtY29sbGVjdGlvbi91cGxvYWQtY29sbGVjdGlvbi1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNILHVDQUF1QyxFQUN2Qyw4QkFBOEIsRUFDakMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLDZCQUE2QjtJQW9FdEMsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTNDekMsdURBQXVEO1FBRTlDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVuRCxvREFBb0Q7UUFFM0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWpELGNBQWM7UUFDTixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFrQ0EsQ0FBQztJQXBCN0MsY0FBYztJQUNkLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkUsSUFB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QUN2QyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUU7aUJBQ2hEO2lHQUlHLFFBQVE7c0JBRFAsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLGlDQUFpQztnQkFLL0MsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLDhCQUE4QjtnQkFLNUMscUJBQXFCO3NCQURwQixZQUFZO3VCQUFDLG9DQUFvQztnQkFLbEQsd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLHVDQUF1QztnQkFLNUMsZUFBZTtzQkFEdkIsTUFBTTtnQkFLRSxhQUFhO3NCQURyQixNQUFNO2dCQTBDUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXBsb2FkQ29sbGVjdGlvbkZvcm1JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtY29sbGVjdGlvbi1mb3JtLWl0ZW0vdXBsb2FkLWNvbGxlY3Rpb24tZm9ybS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcGxvYWRDb2xsZWN0aW9uQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC1jb2xsZWN0aW9uLWJ1dHRvbi1ncm91cC91cGxvYWQtY29sbGVjdGlvbi1idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBVcGxvYWRDb2xsZWN0aW9uVGl0bGVDb250YWluZXJEaXJlY3RpdmUsXG4gICAgVXBsb2FkQ29sbGVjdGlvblRpdGxlRGlyZWN0aXZlXG59IGZyb20gJy4vdXBsb2FkLWNvbGxlY3Rpb24tc2ltcGxlLmRpcmVjdGl2ZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVwbG9hZC1jb2xsZWN0aW9uLWl0ZW1dJyxcbiAgICBob3N0OiB7IGNsYXNzOiAnZmQtdXBsb2FkLWNvbGxlY3Rpb25fX2l0ZW0nIH1cbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkQ29sbGVjdGlvbkl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgZmlsZSwgbm90IGluY2x1ZGluZyB0aGUgdHlwZSBleHRlbnNpb24uICovXG4gICAgQElucHV0KClcbiAgICBmaWxlTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIFRoZSBmaWxlIHR5cGUgZXh0ZW5zaW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXh0ZW5zaW9uOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoVXBsb2FkQ29sbGVjdGlvbkZvcm1JdGVtQ29tcG9uZW50KVxuICAgIF9mb3JtSXRlbUNvbXBvbmVudDogVXBsb2FkQ29sbGVjdGlvbkZvcm1JdGVtQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFVwbG9hZENvbGxlY3Rpb25UaXRsZURpcmVjdGl2ZSlcbiAgICBfdGl0bGVEaXJlY3RpdmU6IFVwbG9hZENvbGxlY3Rpb25UaXRsZURpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChVcGxvYWRDb2xsZWN0aW9uQnV0dG9uR3JvdXBDb21wb25lbnQpXG4gICAgX2J1dHRvbkdyb3VwQ29tcG9uZW50OiBVcGxvYWRDb2xsZWN0aW9uQnV0dG9uR3JvdXBDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoVXBsb2FkQ29sbGVjdGlvblRpdGxlQ29udGFpbmVyRGlyZWN0aXZlKVxuICAgIF90aXRsZUNvbnRhaW5lckRpcmVjdGl2ZTogVXBsb2FkQ29sbGVjdGlvblRpdGxlQ29udGFpbmVyRGlyZWN0aXZlO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjaGFuZ2VzIGEgZmlsZSBuYW1lLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGZpbGVOYW1lQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBwcmVzc2VzIHRoZSBkZWxldGUgYnV0dG9uLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGRlbGV0ZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZmlsZU5hbWVGdWxsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRpdGxlV2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuIHVzZWQgdG8gY29tcGFyZSB0byB0aGUgY3VycmVudCB3aWR0aCB0byBrbm93IHdoZXRoZXIgdG8gY29sbGFwc2Ugb3IgZXhwYW5kIHRpdGxlICovXG4gICAgcHJldmlvdXNDb250YWluZXJXaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb250YWluZXJXaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsZU5hbWVGdWxsID0gdGhpcy5maWxlTmFtZSArICcuJyArIHRoaXMuZXh0ZW5zaW9uO1xuICAgICAgICB0aGlzLl90aXRsZURpcmVjdGl2ZS5lbFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuZmlsZU5hbWVGdWxsO1xuICAgICAgICB0aGlzLl9oYW5kbGVEZWxldGVDbGlja2VkU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuX2hhbmRsZU9rQ2xpY2tlZFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB0aGlzLl9oYW5kbGVFZGl0Q2xpY2tlZFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB0aGlzLl9oYW5kbGVGb3JtSXRlbUlucHV0Q2hhbmdlZFN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uUmVzaXplKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgW10pXG4gICAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGl0bGVXaWR0aCA9IHRoaXMuZ2V0VGl0bGVXaWR0aCgpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lcldpZHRoID0gdGhpcy5nZXRDb250YWluZXJXaWR0aCgpO1xuXG4gICAgICAgIC8vIGlmIGZpcnN0IGxvYWQgYW5kIG5vIHByZXZpb3VzIGNvbnRhaW5lciB3aWR0aCwgb3IgaWYgY29udGFpbmVyIGJvdW5kYXJ5IGlzIHJlc2l6ZWQgdG8gc21hbGxlciB0aGFuIGJlZm9yZVxuICAgICAgICBpZiAoIXRoaXMucHJldmlvdXNDb250YWluZXJXaWR0aCB8fCB0aGlzLmNvbnRhaW5lcldpZHRoIDwgdGhpcy5wcmV2aW91c0NvbnRhaW5lcldpZHRoKSB7XG4gICAgICAgICAgICAvLyBhbmQgdGhlIHRpdGxlIGV4dGVuZHMgcGFzdCB0aGUgY29udGFpbmVyLCAxLjA1eCBwYWRkaW5nIHRvIHByZXZlbnQgamFnZ3kgcmVzaXppbmcuXG4gICAgICAgICAgICBpZiAodGhpcy50aXRsZVdpZHRoICogMS4wNSA+PSB0aGlzLmNvbnRhaW5lcldpZHRoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNpemVGaWxlVGl0bGUodGhpcy5fdGl0bGVEaXJlY3RpdmUuZWxSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMucHJldmlvdXNDb250YWluZXJXaWR0aCAmJiB0aGlzLmNvbnRhaW5lcldpZHRoID4gdGhpcy5wcmV2aW91c0NvbnRhaW5lcldpZHRoKSB7XG4gICAgICAgICAgICAvLyBMb29rcyB0byBleHBhbmQgZmlsZSB0aXRsZSBpZiBjb250YWluZXIgd2lkdGggaXMgcmVzaXplZCB0byBncmVhdGVyIHRoYW4gYmVmb3JlXG4gICAgICAgICAgICAvLyByZXNldCBmaWxlIHRpdGxlIHRvIGluaXRpYWxcbiAgICAgICAgICAgIHRoaXMuX3RpdGxlRGlyZWN0aXZlLmVsUmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5maWxlTmFtZUZ1bGw7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUZpbGVUaXRsZSh0aGlzLmZpbGVOYW1lRnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZpb3VzQ29udGFpbmVyV2lkdGggPSB0aGlzLmNvbnRhaW5lcldpZHRoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlT2tDbGlja2VkU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX2J1dHRvbkdyb3VwQ29tcG9uZW50Lm9rQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9mb3JtSXRlbUNvbXBvbmVudC5maWxlTmFtZSAmJiB0aGlzLl9mb3JtSXRlbUNvbXBvbmVudC5maWxlTmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlTmFtZSA9IHRoaXMuX2Zvcm1JdGVtQ29tcG9uZW50LmZpbGVOYW1lO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aXRsZURpcmVjdGl2ZS5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlTmFtZUZ1bGwgPSB0aGlzLmZpbGVOYW1lICsgJy4nICsgdGhpcy5leHRlbnNpb247XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpdGxlRGlyZWN0aXZlLmVsUmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5maWxlTmFtZUZ1bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXplRmlsZVRpdGxlKHRoaXMuZmlsZU5hbWVGdWxsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9ybUl0ZW1Db21wb25lbnQuX2VkaXRNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2J1dHRvbkdyb3VwQ29tcG9uZW50Ll9lZGl0TW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVOYW1lQ2hhbmdlZC5lbWl0KHRoaXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVFZGl0Q2xpY2tlZFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICB0aGlzLl9idXR0b25Hcm91cENvbXBvbmVudC5lZGl0Q2xpY2tlZC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZm9ybUl0ZW1Db21wb25lbnQuX2VkaXRNb2RlID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3RpdGxlQ29udGFpbmVyRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpdGxlQ29udGFpbmVyRGlyZWN0aXZlLmFwcGx5Q29udGFpbmVyQ2xhc3MgPSAhZXZlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHN0eWxlcyA9IFtdO1xuICAgICAgICAgICAgICAgIHN0eWxlcy5wdXNoKHRoaXMuX3RpdGxlRGlyZWN0aXZlLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RpdGxlQ29udGFpbmVyRGlyZWN0aXZlPy5fb2JqZWN0TWFya2VyQ29tcG9uZW50cz8uZm9yRWFjaCgob2JqZWN0TWFya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlcy5wdXNoKG9iamVjdE1hcmtlci5lbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudC5zdHlsZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgPyBzdHlsZXMuZm9yRWFjaCgoc3R5bGUpID0+IChzdHlsZS5kaXNwbGF5ID0gJ25vbmUnKSlcbiAgICAgICAgICAgICAgICAgICAgOiBzdHlsZXMuZm9yRWFjaCgoc3R5bGUpID0+IChzdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jaycpKTtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9ybUl0ZW1Db21wb25lbnQuX2V4dGVuc2lvbiA9IHRoaXMuZXh0ZW5zaW9uO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb3JtSXRlbUNvbXBvbmVudC5maWxlTmFtZSA9IHRoaXMuZmlsZU5hbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZURlbGV0ZUNsaWNrZWRTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgdGhpcy5fYnV0dG9uR3JvdXBDb21wb25lbnQuZGVsZXRlQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlQ2xpY2tlZC5lbWl0KHRoaXMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUZvcm1JdGVtSW5wdXRDaGFuZ2VkU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1JdGVtQ29tcG9uZW50LmZpbGVOYW1lQ2hhbmdlZC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYnV0dG9uR3JvdXBDb21wb25lbnQuX29rQnV0dG9uLmRpc2FibGVkID0gZXZlbnQgPT09ICcnO1xuICAgICAgICAgICAgICAgIHRoaXMuX2J1dHRvbkdyb3VwQ29tcG9uZW50Ll9va0J1dHRvbi5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXRUaXRsZVdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aXRsZURpcmVjdGl2ZS5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXRDb250YWluZXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGl0bGVEaXJlY3RpdmUuZWxSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKlxuICAgICAqIHRydW5jYXRlcyB0aGUgc3RyaW5nIGJ5IGN1dHRpbmcgb3V0IGV4Y2VzcyBsZW5ndGggaW4gdGhlIG1pZGRsZSBhbmQgcmVwbGFjaW5nIHdpdGggJy4uLidcbiAgICAgKi9cbiAgICBwcml2YXRlIHRydW5jYXRlVGl0bGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjdXRMZW5ndGggPSBNYXRoLmZsb29yKHN0ci5sZW5ndGggKiAwLjgpO1xuXG4gICAgICAgIGlmIChzdHIubGVuZ3RoID4gY3V0TGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBzdHJpbmdMZWZ0SW5kZXggPSBNYXRoLmZsb29yKGN1dExlbmd0aCAvIDIpO1xuICAgICAgICAgICAgY29uc3Qgc3RyaW5nUmlnaHRJbmRleCA9IHN0ci5sZW5ndGggLSBzdHJpbmdMZWZ0SW5kZXggKyAzO1xuICAgICAgICAgICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgc3RyaW5nTGVmdEluZGV4KSArICcuLi4gJyArIHN0ci5zdWJzdHJpbmcoc3RyaW5nUmlnaHRJbmRleCwgc3RyLmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICpcbiAgICAgKiBkZXRlcm1pbmVzIGlmIGZpbGUgdGl0bGUgbmVlZHMgdG8gYmUgdHJ1bmNhdGVkIGdpdmVuIGNvbnRhaW5lciBjb25zdHJhaW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVzaXplRmlsZVRpdGxlKHRpdGxlU3RyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgbGV0IGN1clRpdGxlID0gdGl0bGVTdHI7XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkdGggPSB0aGlzLmdldENvbnRhaW5lcldpZHRoKCk7XG4gICAgICAgIHRoaXMudGl0bGVXaWR0aCA9IHRoaXMuZ2V0VGl0bGVXaWR0aCgpO1xuXG4gICAgICAgIC8vIHJlcGVhdGVkbHkgdHJ1bmNhdGUgdGhlIHRpdGxlIHVudGlsIGl0IGZpdHMgaW5zaWRlIGNvbnRhaW5lclxuICAgICAgICB3aGlsZSAodGhpcy50aXRsZVdpZHRoICogMS4wNSA+PSB0aGlzLmNvbnRhaW5lcldpZHRoKSB7XG4gICAgICAgICAgICBjb25zdCB0cnVuY2F0ZWRUaXRsZVN0ciA9IHRoaXMudHJ1bmNhdGVUaXRsZShjdXJUaXRsZSk7XG4gICAgICAgICAgICB0aGlzLl90aXRsZURpcmVjdGl2ZS5lbFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRydW5jYXRlZFRpdGxlU3RyO1xuICAgICAgICAgICAgY3VyVGl0bGUgPSB0cnVuY2F0ZWRUaXRsZVN0cjtcbiAgICAgICAgICAgIHRoaXMudGl0bGVXaWR0aCA9IHRoaXMuZ2V0VGl0bGVXaWR0aCgpO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXJXaWR0aCA9IHRoaXMuZ2V0Q29udGFpbmVyV2lkdGgoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Utility type, that allows to track and select ranges of elements while using multi-selection.
3
+ *
4
+ * @usage
5
+ * Imagine we have a simple list of checkboxes:
6
+ * ```html
7
+ * <input
8
+ * #checkboxInput
9
+ * *ngFor="let o of options; let idx = index"
10
+ * type="checkbox"
11
+ * [checked]="selectionModel.checked(o)"
12
+ * (click)="toggle(idx, $event)"
13
+ * >
14
+ * ```
15
+ * With the given layout the logic should be as follows:
16
+ * ```typescript
17
+ * export class YourComponent {
18
+ * options = ['a', 'b', 'c'];
19
+ * readonly selectionModel = new SelectionModel(true);
20
+ *
21
+ * private readonly _rangeSelector = new RangeSelector();
22
+ *
23
+ *
24
+ * toggle(idx: number, event: PointerEvent): void {
25
+ * // getting the toggled value of the checkbox
26
+ * const toggledSelection = event.target.value;
27
+ *
28
+ * // registering the selection of current checkbox
29
+ * this._rangeSelector.onRangeElementToggled(idx, event);
30
+ *
31
+ * // Apply value to each element in range.
32
+ * // If checkbox was toggled without shift pressed or without previously selected one,
33
+ * // this method will select only it.
34
+ * this._rangeSelector.applyValueToEachInRange(idx => {
35
+ * if (toggledSelection) {
36
+ * this.selectionModel.select(options[idx]);
37
+ * } else {
38
+ * this.selectionModel.deselect(options[idx]);
39
+ * }
40
+ * });
41
+ * }
42
+ * }
43
+ * ```
44
+ */
45
+ export class RangeSelector {
46
+ constructor() {
47
+ /** @hidden */
48
+ this._previousSelectedIndex = null;
49
+ }
50
+ /**
51
+ * Last registered selection state (either multiple or single).
52
+ * Is updated on each `onRangeElementClicked` invokation. Will be `null` initially or once `reset()` is called.
53
+ */
54
+ get lastRangeSelectionState() {
55
+ return this._state ? { ...this._state } : null;
56
+ }
57
+ /**
58
+ * The method that should be used to register each checkbox toggle.
59
+ * Accepts two arguments: `index` and `event`. If none provided, will reset existing state.
60
+ * Otherwise will register current index as last checked.
61
+ *
62
+ * If toggling was done with "shift" pressed and there's a previously registered index, will register a range selection.
63
+ * At the same time if checkbox was toggled without shift pressed or without previously selected one, this method will select only it.
64
+ *
65
+ * After calling this method it's recommended to use `applyValueToEachInRange` to actually toggle each checkbox in range.
66
+ *
67
+ * See usage example on this class itself.
68
+ */
69
+ onRangeElementToggled(index, event) {
70
+ if (this._isNonNegativeInteger(this._previousSelectedIndex) &&
71
+ this._isNonNegativeInteger(index) &&
72
+ event?.shiftKey) {
73
+ this._state = {
74
+ isRangeSelection: true,
75
+ from: Math.min(this._previousSelectedIndex, index),
76
+ to: Math.max(this._previousSelectedIndex, index)
77
+ };
78
+ this._previousSelectedIndex = index;
79
+ }
80
+ else if (this._isNonNegativeInteger(index)) {
81
+ this._state = { isRangeSelection: false, from: index, to: index };
82
+ this._previousSelectedIndex = index;
83
+ }
84
+ else {
85
+ this.reset();
86
+ }
87
+ return this.lastRangeSelectionState;
88
+ }
89
+ /**
90
+ * Allows to apply selection to each item in selection range.
91
+ * Accepts a function to apply selection to each item by registered index.
92
+ *
93
+ * See usage example on this class itself.
94
+ */
95
+ applyValueToEachInRange(selectionMethod) {
96
+ const state = this.lastRangeSelectionState;
97
+ if (this._isNonNegativeInteger(state?.from) && this._isNonNegativeInteger(state.to)) {
98
+ for (let index = state.from; index <= state.to; index++) {
99
+ selectionMethod(index);
100
+ }
101
+ }
102
+ }
103
+ /** Resets selection state. Useful when the list of selectable items is changed (e.g. by filtering, sorting, page change) */
104
+ reset() {
105
+ this._state = null;
106
+ this._previousSelectedIndex = null;
107
+ }
108
+ /** @hidden */
109
+ _isNonNegativeInteger(num) {
110
+ return Number.isInteger(num) && num >= 0;
111
+ }
112
+ }
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9oZWxwZXJzL3JhbmdlLXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFDSSxjQUFjO1FBQ04sMkJBQXNCLEdBQWtCLElBQUksQ0FBQztJQXdFekQsQ0FBQztJQXBFRzs7O09BR0c7SUFDSCxJQUFJLHVCQUF1QjtRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxxQkFBcUIsQ0FBQyxLQUFjLEVBQUUsS0FBK0M7UUFDakYsSUFDSSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1lBQ3ZELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7WUFDakMsS0FBSyxFQUFFLFFBQVEsRUFDakI7WUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHO2dCQUNWLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUM7Z0JBQ2xELEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUM7YUFDbkQsQ0FBQztZQUNGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7U0FDdkM7YUFBTSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7U0FDdkM7YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtRQUVELE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHVCQUF1QixDQUFDLGVBQXdDO1FBQzVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNqRixLQUFLLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JELGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMxQjtTQUNKO0lBQ0wsQ0FBQztJQUVELDRIQUE0SDtJQUM1SCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYztJQUNOLHFCQUFxQixDQUFDLEdBQVc7UUFDckMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVdGlsaXR5IHR5cGUsIHRoYXQgYWxsb3dzIHRvIHRyYWNrIGFuZCBzZWxlY3QgcmFuZ2VzIG9mIGVsZW1lbnRzIHdoaWxlIHVzaW5nIG11bHRpLXNlbGVjdGlvbi5cbiAqXG4gKiBAdXNhZ2VcbiAqIEltYWdpbmUgd2UgaGF2ZSBhIHNpbXBsZSBsaXN0IG9mIGNoZWNrYm94ZXM6XG4gKiBgYGBodG1sXG4gKiA8aW5wdXRcbiAqICAjY2hlY2tib3hJbnB1dFxuICogICpuZ0Zvcj1cImxldCBvIG9mIG9wdGlvbnM7IGxldCBpZHggPSBpbmRleFwiXG4gKiAgdHlwZT1cImNoZWNrYm94XCJcbiAqICBbY2hlY2tlZF09XCJzZWxlY3Rpb25Nb2RlbC5jaGVja2VkKG8pXCJcbiAqICAoY2xpY2spPVwidG9nZ2xlKGlkeCwgJGV2ZW50KVwiXG4gKiAgPlxuICogYGBgXG4gKiBXaXRoIHRoZSBnaXZlbiBsYXlvdXQgdGhlIGxvZ2ljIHNob3VsZCBiZSBhcyBmb2xsb3dzOlxuICogYGBgdHlwZXNjcmlwdFxuICogZXhwb3J0IGNsYXNzIFlvdXJDb21wb25lbnQge1xuICogIG9wdGlvbnMgPSBbJ2EnLCAnYicsICdjJ107XG4gKiAgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWwodHJ1ZSk7XG4gKlxuICogIHByaXZhdGUgcmVhZG9ubHkgX3JhbmdlU2VsZWN0b3IgPSBuZXcgUmFuZ2VTZWxlY3RvcigpO1xuICpcbiAqXG4gKiAgdG9nZ2xlKGlkeDogbnVtYmVyLCBldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gKiAgICAgIC8vIGdldHRpbmcgdGhlIHRvZ2dsZWQgdmFsdWUgb2YgdGhlIGNoZWNrYm94XG4gKiAgICAgIGNvbnN0IHRvZ2dsZWRTZWxlY3Rpb24gPSBldmVudC50YXJnZXQudmFsdWU7XG4gKlxuICogICAgICAvLyByZWdpc3RlcmluZyB0aGUgc2VsZWN0aW9uIG9mIGN1cnJlbnQgY2hlY2tib3hcbiAqICAgICAgdGhpcy5fcmFuZ2VTZWxlY3Rvci5vblJhbmdlRWxlbWVudFRvZ2dsZWQoaWR4LCBldmVudCk7XG4gKlxuICogICAgICAvLyBBcHBseSB2YWx1ZSB0byBlYWNoIGVsZW1lbnQgaW4gcmFuZ2UuXG4gKiAgICAgIC8vIElmIGNoZWNrYm94IHdhcyB0b2dnbGVkIHdpdGhvdXQgc2hpZnQgcHJlc3NlZCBvciB3aXRob3V0IHByZXZpb3VzbHkgc2VsZWN0ZWQgb25lLFxuICogICAgICAvLyB0aGlzIG1ldGhvZCB3aWxsIHNlbGVjdCBvbmx5IGl0LlxuICogICAgICB0aGlzLl9yYW5nZVNlbGVjdG9yLmFwcGx5VmFsdWVUb0VhY2hJblJhbmdlKGlkeCA9PiB7XG4gKiAgICAgICAgICBpZiAodG9nZ2xlZFNlbGVjdGlvbikge1xuICogICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0KG9wdGlvbnNbaWR4XSk7XG4gKiAgICAgICAgICB9IGVsc2Uge1xuICogICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3Qob3B0aW9uc1tpZHhdKTtcbiAqICAgICAgICAgIH1cbiAqICAgICAgfSk7XG4gKiAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBSYW5nZVNlbGVjdG9yIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ByZXZpb3VzU2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdGF0ZTogUmFuZ2VTZWxlY3Rpb25TdGF0ZSB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBMYXN0IHJlZ2lzdGVyZWQgc2VsZWN0aW9uIHN0YXRlIChlaXRoZXIgbXVsdGlwbGUgb3Igc2luZ2xlKS5cbiAgICAgKiBJcyB1cGRhdGVkIG9uIGVhY2ggYG9uUmFuZ2VFbGVtZW50Q2xpY2tlZGAgaW52b2thdGlvbi4gV2lsbCBiZSBgbnVsbGAgaW5pdGlhbGx5IG9yIG9uY2UgYHJlc2V0KClgIGlzIGNhbGxlZC5cbiAgICAgKi9cbiAgICBnZXQgbGFzdFJhbmdlU2VsZWN0aW9uU3RhdGUoKTogUmFuZ2VTZWxlY3Rpb25TdGF0ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGUgPyB7IC4uLnRoaXMuX3N0YXRlIH0gOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBtZXRob2QgdGhhdCBzaG91bGQgYmUgdXNlZCB0byByZWdpc3RlciBlYWNoIGNoZWNrYm94IHRvZ2dsZS5cbiAgICAgKiBBY2NlcHRzIHR3byBhcmd1bWVudHM6IGBpbmRleGAgYW5kIGBldmVudGAuIElmIG5vbmUgcHJvdmlkZWQsIHdpbGwgcmVzZXQgZXhpc3Rpbmcgc3RhdGUuXG4gICAgICogT3RoZXJ3aXNlIHdpbGwgcmVnaXN0ZXIgY3VycmVudCBpbmRleCBhcyBsYXN0IGNoZWNrZWQuXG4gICAgICpcbiAgICAgKiBJZiB0b2dnbGluZyB3YXMgZG9uZSB3aXRoIFwic2hpZnRcIiBwcmVzc2VkIGFuZCB0aGVyZSdzIGEgcHJldmlvdXNseSByZWdpc3RlcmVkIGluZGV4LCB3aWxsIHJlZ2lzdGVyIGEgcmFuZ2Ugc2VsZWN0aW9uLlxuICAgICAqIEF0IHRoZSBzYW1lIHRpbWUgaWYgY2hlY2tib3ggd2FzIHRvZ2dsZWQgd2l0aG91dCBzaGlmdCBwcmVzc2VkIG9yIHdpdGhvdXQgcHJldmlvdXNseSBzZWxlY3RlZCBvbmUsIHRoaXMgbWV0aG9kIHdpbGwgc2VsZWN0IG9ubHkgaXQuXG4gICAgICpcbiAgICAgKiBBZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kIGl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIGBhcHBseVZhbHVlVG9FYWNoSW5SYW5nZWAgdG8gYWN0dWFsbHkgdG9nZ2xlIGVhY2ggY2hlY2tib3ggaW4gcmFuZ2UuXG4gICAgICpcbiAgICAgKiBTZWUgdXNhZ2UgZXhhbXBsZSBvbiB0aGlzIGNsYXNzIGl0c2VsZi5cbiAgICAgKi9cbiAgICBvblJhbmdlRWxlbWVudFRvZ2dsZWQoaW5kZXg/OiBudW1iZXIsIGV2ZW50PzogS2V5Ym9hcmRFdmVudCB8IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogUmFuZ2VTZWxlY3Rpb25TdGF0ZSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuX2lzTm9uTmVnYXRpdmVJbnRlZ2VyKHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWRJbmRleCkgJiZcbiAgICAgICAgICAgIHRoaXMuX2lzTm9uTmVnYXRpdmVJbnRlZ2VyKGluZGV4KSAmJlxuICAgICAgICAgICAgZXZlbnQ/LnNoaWZ0S2V5XG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgaXNSYW5nZVNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmcm9tOiBNYXRoLm1pbih0aGlzLl9wcmV2aW91c1NlbGVjdGVkSW5kZXgsIGluZGV4KSxcbiAgICAgICAgICAgICAgICB0bzogTWF0aC5tYXgodGhpcy5fcHJldmlvdXNTZWxlY3RlZEluZGV4LCBpbmRleClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLl9wcmV2aW91c1NlbGVjdGVkSW5kZXggPSBpbmRleDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9pc05vbk5lZ2F0aXZlSW50ZWdlcihpbmRleCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlID0geyBpc1JhbmdlU2VsZWN0aW9uOiBmYWxzZSwgZnJvbTogaW5kZXgsIHRvOiBpbmRleCB9O1xuICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNTZWxlY3RlZEluZGV4ID0gaW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5sYXN0UmFuZ2VTZWxlY3Rpb25TdGF0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbGxvd3MgdG8gYXBwbHkgc2VsZWN0aW9uIHRvIGVhY2ggaXRlbSBpbiBzZWxlY3Rpb24gcmFuZ2UuXG4gICAgICogQWNjZXB0cyBhIGZ1bmN0aW9uIHRvIGFwcGx5IHNlbGVjdGlvbiB0byBlYWNoIGl0ZW0gYnkgcmVnaXN0ZXJlZCBpbmRleC5cbiAgICAgKlxuICAgICAqIFNlZSB1c2FnZSBleGFtcGxlIG9uIHRoaXMgY2xhc3MgaXRzZWxmLlxuICAgICAqL1xuICAgIGFwcGx5VmFsdWVUb0VhY2hJblJhbmdlKHNlbGVjdGlvbk1ldGhvZDogKGluZGV4OiBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmxhc3RSYW5nZVNlbGVjdGlvblN0YXRlO1xuXG4gICAgICAgIGlmICh0aGlzLl9pc05vbk5lZ2F0aXZlSW50ZWdlcihzdGF0ZT8uZnJvbSkgJiYgdGhpcy5faXNOb25OZWdhdGl2ZUludGVnZXIoc3RhdGUudG8pKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IHN0YXRlLmZyb207IGluZGV4IDw9IHN0YXRlLnRvOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uTWV0aG9kKGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZXNldHMgc2VsZWN0aW9uIHN0YXRlLiBVc2VmdWwgd2hlbiB0aGUgbGlzdCBvZiBzZWxlY3RhYmxlIGl0ZW1zIGlzIGNoYW5nZWQgKGUuZy4gYnkgZmlsdGVyaW5nLCBzb3J0aW5nLCBwYWdlIGNoYW5nZSkgKi9cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLl9wcmV2aW91c1NlbGVjdGVkSW5kZXggPSBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNOb25OZWdhdGl2ZUludGVnZXIobnVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIobnVtKSAmJiBudW0gPj0gMDtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VTZWxlY3Rpb25TdGF0ZSB7XG4gICAgaXNSYW5nZVNlbGVjdGlvbjogYm9vbGVhbjtcbiAgICBmcm9tOiBudW1iZXI7XG4gICAgdG86IG51bWJlcjtcbn1cbiJdfQ==
@@ -42,6 +42,7 @@ export * from './dynamic-component/dynamic-component-config';
42
42
  export * from './dynamic-component/dynamic-component-injector';
43
43
  export * from './dynamic-component/dynamic-component.service';
44
44
  export * from './dynamic-component/dynamic-component-container';
45
+ export * from './helpers/range-selector';
45
46
  export * from './utils.module';
46
47
  export * from './datatypes/hash.datatype';
47
48
  export * from './datatypes/size.datatype';
@@ -56,4 +57,4 @@ export * from './abstract-fd-ngx-class';
56
57
  export * from './list-item/list-item-utils';
57
58
  export * from './mixins/apply-mixin';
58
59
  export * from './services/focus-trap.service';
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsaUVBQWlFLENBQUM7QUFFaEYsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYywrREFBK0QsQ0FBQztBQUU5RSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxzREFBc0QsQ0FBQztBQUVyRSxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3RlbXBsYXRlL3RlbXBsYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdGVtcGxhdGUvdGVtcGxhdGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9vbmx5LWRpZ2l0cy9vbmx5LWRpZ2l0cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL29ubHktZGlnaXRzL29ubHktZGlnaXRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcmVzaXplL3Jlc2l6ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3Jlc2l6ZS9yZXNpemUtaGFuZGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcmVzaXplL3Jlc2l6ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2luaXRpYWwtZm9jdXMvaW5pdGlhbC1mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2xpbmUtY2xhbXAvbGluZS1jbGFtcC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2xpbmUtY2xhbXAvbGluZS1jbGFtcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2luaXRpYWwtZm9jdXMvaW5pdGlhbC1mb2N1cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL292ZXJmbG93LWxpc3Qvb3ZlcmZsb3ctbGlzdC1pdGVtLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGlzdC9vdmVyZmxvdy1saXN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGlzdC9vdmVyZmxvdy1saXN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdHJ1bmNhdGUvdHJ1bmNhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy90cnVuY2F0ZS90cnVuY2F0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2ZvY3VzLWtleS1tYW5hZ2VyL2ZvY3VzLWtleS1tYW5hZ2VyLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9mb2N1cy1rZXktbWFuYWdlci9mb2N1cy1rZXktbWFuYWdlci1saXN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZm9jdXMta2V5LW1hbmFnZXIvZm9jdXMta2V5LW1hbmFnZXItaGVscGVycy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3BpcGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbGlzdC1ncm91cC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZGlzcGxheUZuLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy90d28tZGlnaXRzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zZWFyY2gtaGlnaGxpZ2h0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zYWZlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9pcy1jb21wYWN0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy92YWx1ZS1ieS1wYXRoLnBpcGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RyYWctYW5kLWRyb3AvZHJhZy1hbmQtZHJvcC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLWFuZC1kcm9wL2RuZC1saXN0L2RuZC1saXN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RyYWctYW5kLWRyb3AvZG5kLWl0ZW0vZG5kLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZy1hbmQtZHJvcC9kbmQta2V5Ym9hcmQtZ3JvdXAvZG5kLWtleWJvYXJkLWdyb3VwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RyYWctYW5kLWRyb3AvZG5kLWtleWJvYXJkLWl0ZW0vZG5kLWtleWJvYXJkLWl0ZW0uZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2Nzcy1jbGFzcy1idWlsZGVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvY3NzLXN0eWxlLWJ1aWxkZXIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9oYXMtZWxlbWVudC1yZWYuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9rZXlib2FyZC1zdXBwb3J0LWl0ZW0uaW50ZXJmYWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2FwcGx5LWNzcy1jbGFzcy5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2FwcGx5LWNzcy1zdHlsZS5kZWNvcmF0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LWluamVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LWNvbnRhaW5lcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhdHlwZXMvaGFzaC5kYXRhdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGF0eXBlcy9zaXplLmRhdGF0eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXR5cGVzL2NvbG9yLWFjY2VudC5kYXRhdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvbnRlbnQtZGVuc2l0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcnRsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy90aGVtZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2tleWJvYXJkLXN1cHBvcnQva2V5Ym9hcmQtc3VwcG9ydC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mdW5jdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QtZmQtbmd4LWNsYXNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLXV0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi9taXhpbnMvYXBwbHktbWl4aW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2ZvY3VzLXRyYXAuc2VydmljZSc7XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsaUVBQWlFLENBQUM7QUFFaEYsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYywrREFBK0QsQ0FBQztBQUU5RSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNEQUFzRCxDQUFDO0FBRXJFLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdGVtcGxhdGUvdGVtcGxhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy90ZW1wbGF0ZS90ZW1wbGF0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL29ubHktZGlnaXRzL29ubHktZGlnaXRzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvb25seS1kaWdpdHMvb25seS1kaWdpdHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9yZXNpemUvcmVzaXplLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcmVzaXplL3Jlc2l6ZS1oYW5kbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9yZXNpemUvcmVzaXplLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvaW5pdGlhbC1mb2N1cy9pbml0aWFsLWZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvbGluZS1jbGFtcC9saW5lLWNsYW1wLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvbGluZS1jbGFtcC9saW5lLWNsYW1wLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvaW5pdGlhbC1mb2N1cy9pbml0aWFsLWZvY3VzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGlzdC9vdmVyZmxvdy1saXN0LWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9vdmVyZmxvdy1saXN0L292ZXJmbG93LWxpc3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9vdmVyZmxvdy1saXN0L292ZXJmbG93LWxpc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy90cnVuY2F0ZS90cnVuY2F0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3RydW5jYXRlL3RydW5jYXRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZm9jdXMta2V5LW1hbmFnZXIvZm9jdXMta2V5LW1hbmFnZXItaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2ZvY3VzLWtleS1tYW5hZ2VyL2ZvY3VzLWtleS1tYW5hZ2VyLWxpc3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9mb2N1cy1rZXktbWFuYWdlci9mb2N1cy1rZXktbWFuYWdlci1oZWxwZXJzLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcGlwZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9saXN0LWdyb3VwLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9kaXNwbGF5Rm4ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3R3by1kaWdpdHMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3NlYXJjaC1oaWdobGlnaHQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3NhZmUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2lzLWNvbXBhY3QucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3ZhbHVlLWJ5LXBhdGgucGlwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZHJhZy1hbmQtZHJvcC9kcmFnLWFuZC1kcm9wLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RyYWctYW5kLWRyb3AvZG5kLWxpc3QvZG5kLWxpc3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZy1hbmQtZHJvcC9kbmQtaXRlbS9kbmQtaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLWFuZC1kcm9wL2RuZC1rZXlib2FyZC1ncm91cC9kbmQta2V5Ym9hcmQtZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZy1hbmQtZHJvcC9kbmQta2V5Ym9hcmQtaXRlbS9kbmQta2V5Ym9hcmQtaXRlbS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvY3NzLWNsYXNzLWJ1aWxkZXIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jc3Mtc3R5bGUtYnVpbGRlci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2hhcy1lbGVtZW50LXJlZi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2tleWJvYXJkLXN1cHBvcnQtaXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYXBwbHktY3NzLWNsYXNzLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYXBwbHktY3NzLXN0eWxlLmRlY29yYXRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtaW5qZWN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtY29udGFpbmVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL3JhbmdlLXNlbGVjdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi91dGlscy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0eXBlcy9oYXNoLmRhdGF0eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXR5cGVzL3NpemUuZGF0YXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdHlwZXMvY29sb3ItYWNjZW50LmRhdGF0eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29udGVudC1kZW5zaXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9ydGwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3RoZW1lcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMva2V5Ym9hcmQtc3VwcG9ydC9rZXlib2FyZC1zdXBwb3J0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Z1bmN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29uc3RzJztcblxuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1mZC1uZ3gtY2xhc3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0tdXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL21peGlucy9hcHBseS1taXhpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZm9jdXMtdHJhcC5zZXJ2aWNlJztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/facets",
3
- "version": "0.33.3",
3
+ "version": "0.33.4-rc.11",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13,.0.0",
6
6
  "@angular/core": "^13,.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/feed-input",
3
- "version": "0.33.3",
3
+ "version": "0.33.4-rc.11",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13,.0.0",
6
6
  "@angular/core": "^13,.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/feed-list-item",
3
- "version": "0.33.3",
3
+ "version": "0.33.4-rc.11",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13,.0.0",
6
6
  "@angular/core": "^13,.0.0"