@eui/mobile-core 17.0.0-next.1 → 17.0.0-next.2

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 (87) hide show
  1. package/docs/components/EuiMUserProfileActionComponent.html +1 -1
  2. package/docs/components/EuiMUserProfileAvatarComponent.html +1 -1
  3. package/docs/components/EuiMUserProfileInfosComponent.html +1 -1
  4. package/docs/components/EuiMUserProfileInfosItemComponent.html +1 -1
  5. package/docs/components/EuimAlertMessageComponent.html +1 -1
  6. package/docs/components/EuimAppComponent.html +1 -1
  7. package/docs/components/EuimAppSidebarComponent.html +1 -1
  8. package/docs/components/EuimAppSidebarFooterComponent.html +1 -1
  9. package/docs/components/EuimAppSidebarHeaderComponent.html +1 -1
  10. package/docs/components/EuimAppSidebarMenuComponent.html +1 -1
  11. package/docs/components/EuimAvatarComponent.html +1 -1
  12. package/docs/components/EuimAvatarIconComponent.html +1 -1
  13. package/docs/components/EuimBadgeComponent.html +1 -1
  14. package/docs/components/EuimChipSelectorComponent.html +143 -2
  15. package/docs/components/EuimControlFeedbackComponent.html +1 -1
  16. package/docs/components/EuimDataSummaryColComponent.html +1 -1
  17. package/docs/components/EuimDataSummaryComponent.html +1 -1
  18. package/docs/components/EuimEmptyListPlaceholderComponent.html +1 -1
  19. package/docs/components/EuimFieldSetComponent.html +1 -1
  20. package/docs/components/EuimFieldsetActionsComponent.html +1 -1
  21. package/docs/components/EuimFieldsetLegendComponent.html +1 -1
  22. package/docs/components/EuimHeaderDetailsComponent.html +1 -1
  23. package/docs/components/EuimInfoScreenComponent.html +1 -1
  24. package/docs/components/EuimLabelComponent.html +1 -1
  25. package/docs/components/EuimLanguageListComponent.html +1 -1
  26. package/docs/components/EuimLanguageSelectorComponent.html +1 -1
  27. package/docs/components/EuimMediaHeaderComponent.html +1 -1
  28. package/docs/components/EuimMenuComponent.html +1 -1
  29. package/docs/components/EuimMessageComponent.html +1 -1
  30. package/docs/components/EuimMessageTitleComponent.html +1 -1
  31. package/docs/components/EuimMultiselectComponent.html +1 -1
  32. package/docs/components/EuimMultiselectFilterComponent.html +35 -1
  33. package/docs/components/EuimMultiselectInfoComponent.html +1 -1
  34. package/docs/components/EuimMultiselectListComponent.html +1 -1
  35. package/docs/components/EuimMultiselectToolbarComponent.html +1 -1
  36. package/docs/components/EuimNotificationItemComponent.html +1 -1
  37. package/docs/components/EuimPdfWrapperComponent.html +828 -0
  38. package/docs/components/EuimScrollerXComponent.html +1 -1
  39. package/docs/components/EuimSidebarComponent.html +1 -1
  40. package/docs/components/EuimSidebarContentComponent.html +1 -1
  41. package/docs/components/EuimSkeletonListComponent.html +1 -1
  42. package/docs/components/EuimSkeletonListItemComponent.html +1 -1
  43. package/docs/components/EuimSlideComponent.html +1 -1
  44. package/docs/components/EuimSlideInfoScreenComponent.html +1 -1
  45. package/docs/components/EuimSliderComponent.html +1 -1
  46. package/docs/components/EuimSliderInfoScreenComponent.html +1 -1
  47. package/docs/components/EuimSpinnerComponent.html +1 -1
  48. package/docs/components/EuimSpinnerDescriptionComponent.html +1 -1
  49. package/docs/components/EuimSpinnerMessageComponent.html +1 -1
  50. package/docs/components/EuimStepperComponent.html +1 -1
  51. package/docs/components/EuimToolbarActionItemsComponent.html +1 -1
  52. package/docs/components/EuimToolbarComponent.html +1 -1
  53. package/docs/components/EuimToolbarTitleComponent.html +1 -1
  54. package/docs/components/EuimUserProfileComponent.html +1 -1
  55. package/docs/dependencies.html +6 -2
  56. package/docs/index.html +2 -2
  57. package/docs/js/menu-wc.js +23 -3
  58. package/docs/js/menu-wc_es5.js +4 -5
  59. package/docs/js/search/search_index.js +2 -2
  60. package/docs/miscellaneous/variables.html +34 -0
  61. package/docs/modules/EuimPdfWrapperModule.html +228 -0
  62. package/docs/modules.html +12 -0
  63. package/esm2022/lib/components/euim-chip-selector/euim-chip-selector.component.mjs +34 -4
  64. package/esm2022/lib/components/euim-multiselect/euim-multiselect-all/euim-multiselect-all.directive.mjs +1 -7
  65. package/esm2022/lib/components/euim-multiselect/euim-multiselect-filter/euim-multiselect-filter.component.mjs +21 -1
  66. package/esm2022/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.component.mjs +87 -0
  67. package/esm2022/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.mjs +43 -0
  68. package/esm2022/lib/components/euim-pdf-wrapper/index.mjs +3 -0
  69. package/esm2022/lib/components/index.mjs +2 -1
  70. package/esm2022/lib/euim-all.module.mjs +1 -1
  71. package/fesm2022/eui-mobile-core.mjs +212 -52
  72. package/fesm2022/eui-mobile-core.mjs.map +1 -1
  73. package/lib/components/euim-chip-selector/euim-chip-selector.component.d.ts +5 -1
  74. package/lib/components/euim-chip-selector/euim-chip-selector.component.d.ts.map +1 -1
  75. package/lib/components/euim-multiselect/euim-multiselect-all/euim-multiselect-all.directive.d.ts.map +1 -1
  76. package/lib/components/euim-multiselect/euim-multiselect-filter/euim-multiselect-filter.component.d.ts +1 -0
  77. package/lib/components/euim-multiselect/euim-multiselect-filter/euim-multiselect-filter.component.d.ts.map +1 -1
  78. package/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.component.d.ts +25 -0
  79. package/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.component.d.ts.map +1 -0
  80. package/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.d.ts +13 -0
  81. package/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.d.ts.map +1 -0
  82. package/lib/components/euim-pdf-wrapper/index.d.ts +3 -0
  83. package/lib/components/euim-pdf-wrapper/index.d.ts.map +1 -0
  84. package/lib/components/index.d.ts +1 -0
  85. package/lib/components/index.d.ts.map +1 -1
  86. package/lib/euim-all.module.d.ts.map +1 -1
  87. package/package.json +3 -1
@@ -140,6 +140,9 @@
140
140
  <li>
141
141
  <a href="#COMPONENTS" title="packages/eui-mobile/packages/core/src/lib/components/euim-multiselect/euim-multiselect.module.ts" ><b>COMPONENTS</b>&nbsp;&nbsp;&nbsp;(packages/.../euim-multiselect.module.ts)</a>
142
142
  </li>
143
+ <li>
144
+ <a href="#COMPONENTS" title="packages/eui-mobile/packages/core/src/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.ts" ><b>COMPONENTS</b>&nbsp;&nbsp;&nbsp;(packages/.../euim-pdf-wrapper.module.ts)</a>
145
+ </li>
143
146
  <li>
144
147
  <a href="#COMPONENTS" title="packages/eui-mobile/packages/core/src/lib/components/euim-skeleton-list/euim-skeleton-list.module.ts" ><b>COMPONENTS</b>&nbsp;&nbsp;&nbsp;(packages/.../euim-skeleton-list.module.ts)</a>
145
148
  </li>
@@ -414,6 +417,37 @@
414
417
  </tr>
415
418
 
416
419
 
420
+ </tbody>
421
+ </table>
422
+ </section>
423
+ <h3>packages/eui-mobile/packages/core/src/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.ts</h3>
424
+ <section data-compodoc="block-properties">
425
+ <h3></h3> <table class="table table-sm table-bordered">
426
+ <tbody>
427
+ <tr>
428
+ <td class="col-md-4">
429
+ <a name="COMPONENTS"></a>
430
+ <span class="name">
431
+ <span ><b>COMPONENTS</b></span>
432
+ <a href="#COMPONENTS"><span class="icon ion-ios-link"></span></a>
433
+ </span>
434
+ </td>
435
+ </tr>
436
+ <tr>
437
+ <td class="col-md-4">
438
+ <i>Type : </i> <code>[]</code>
439
+
440
+ </td>
441
+ </tr>
442
+ <tr>
443
+ <td class="col-md-4">
444
+ <i>Default value : </i><code>[
445
+ EuimPdfWrapperComponent,
446
+ ]</code>
447
+ </td>
448
+ </tr>
449
+
450
+
417
451
  </tbody>
418
452
  </table>
419
453
  </section>
@@ -0,0 +1,228 @@
1
+ <!doctype html>
2
+ <html class="no-js" lang="">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
6
+ <title>csdr documentation</title>
7
+ <meta name="description" content="">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+
10
+ <link rel="icon" type="image/x-icon" href="../images/favicon.ico">
11
+ <link rel="stylesheet" href="../styles/style.css">
12
+ <link rel="stylesheet" href="../styles/dark.css">
13
+ <link rel="stylesheet" href="../styles/material.css">
14
+ </head>
15
+ <body>
16
+ <script>
17
+ // Blocking script to avaoid flickering dark mode
18
+ // Dark mode toggle button
19
+ var useDark = window.matchMedia('(prefers-color-scheme: dark)');
20
+ var darkModeState = useDark.matches;
21
+ var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
22
+ var $darkModeToggles = document.querySelectorAll('.dark-mode-switch');
23
+ var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state');
24
+
25
+ function checkToggle(check) {
26
+ for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
27
+ $darkModeToggleSwitchers[i].checked = check;
28
+ }
29
+ }
30
+
31
+ function toggleDarkMode(state) {
32
+ if (window.localStorage) {
33
+ localStorage.setItem('compodoc_darkmode-state', state);
34
+ }
35
+
36
+ checkToggle(state);
37
+
38
+ const hasClass = document.body.classList.contains('dark');
39
+
40
+ if (state) {
41
+ for (var i = 0; i < $darkModeToggles.length; i++) {
42
+ $darkModeToggles[i].classList.add('dark');
43
+ }
44
+ if (!hasClass) {
45
+ document.body.classList.add('dark');
46
+ }
47
+ } else {
48
+ for (var i = 0; i < $darkModeToggles.length; i++) {
49
+ $darkModeToggles[i].classList.remove('dark');
50
+ }
51
+ if (hasClass) {
52
+ document.body.classList.remove('dark');
53
+ }
54
+ }
55
+ }
56
+
57
+ useDark.addEventListener('change', function (evt) {
58
+ toggleDarkMode(evt.matches);
59
+ });
60
+ if (darkModeStateLocal) {
61
+ darkModeState = darkModeStateLocal === 'true';
62
+ }
63
+ toggleDarkMode(darkModeState);
64
+
65
+ if ($darkModeToggles.length > 0) {
66
+ for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
67
+ $darkModeToggleSwitchers[i].addEventListener('change', function (event) {
68
+ darkModeState = !darkModeState;
69
+ toggleDarkMode(darkModeState);
70
+ });
71
+ }
72
+ }
73
+ </script>
74
+
75
+ <div class="navbar navbar-default navbar-fixed-top d-block d-sm-none">
76
+ <a href="../" class="navbar-brand">csdr documentation</a>
77
+ <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
78
+ </div>
79
+
80
+ <div class="xs-menu menu" id="mobile-menu">
81
+ <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
82
+ </div>
83
+
84
+ <div class="container-fluid main">
85
+ <div class="row main">
86
+ <div class="hidden-xs menu">
87
+ <compodoc-menu mode="normal"></compodoc-menu>
88
+ </div>
89
+ <!-- START CONTENT -->
90
+ <div class="content module">
91
+ <div class="content-data">
92
+
93
+
94
+
95
+ <ol class="breadcrumb">
96
+ <li class="breadcrumb-item">Modules</li>
97
+ <li class="breadcrumb-item" >EuimPdfWrapperModule</li>
98
+ </ol>
99
+
100
+
101
+ <ul class="nav nav-tabs" role="tablist">
102
+ <li class="nav-item">
103
+ <a href="#info"
104
+ class="nav-link"
105
+ class="nav-link active"
106
+ role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a>
107
+ </li>
108
+ </ul>
109
+
110
+ <div class="tab-content">
111
+ <div class="tab-pane fade active in" id="info">
112
+
113
+ <p class="comment">
114
+ <h3>File</h3>
115
+ </p>
116
+ <p class="comment">
117
+ <code>packages/eui-mobile/packages/core/src/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.ts</code>
118
+ </p>
119
+
120
+
121
+
122
+
123
+
124
+ <div class="container-fluid module">
125
+ <div class="row">
126
+ <div class="col-sm-3">
127
+ <h3>Declarations<a href="https://angular.io/api/core/NgModule#declarations" target="_blank" rel="noopener noreferrer"
128
+ title="Official documentation about module declarations"><span class="icon ion-ios-information-circle-outline"></span></a></h3>
129
+ <ul class="list-group">
130
+ <li class="list-group-item">
131
+ <a href="../components/EuimAlertMessageComponent.html">EuimAlertMessageComponent</a>
132
+ </li>
133
+ </ul>
134
+ </div>
135
+ <div class="col-sm-3">
136
+ <h3>Exports<a href="https://angular.io/api/core/NgModule#exports" target="_blank" rel="noopener noreferrer"
137
+ title="Official documentation about module exports"><span
138
+ class="icon ion-ios-information-circle-outline"></a></h3>
139
+ <ul class="list-group">
140
+ <li class="list-group-item">
141
+ <a href="../components/EuimAlertMessageComponent.html">EuimAlertMessageComponent</a>
142
+ </li>
143
+ </ul>
144
+ </div>
145
+ </div>
146
+ </div>
147
+
148
+
149
+ </div>
150
+
151
+
152
+ </div>
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ </div><div class="search-results">
171
+ <div class="has-results">
172
+ <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
173
+ <ul class="search-results-list"></ul>
174
+ </div>
175
+ <div class="no-results">
176
+ <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
177
+ </div>
178
+ </div>
179
+ </div>
180
+ <!-- END CONTENT -->
181
+ </div>
182
+ </div>
183
+
184
+ <label class="dark-mode-switch">
185
+ <input type="checkbox">
186
+ <span class="slider">
187
+ <svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg">
188
+ <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
189
+ </svg>
190
+ </span>
191
+ </label>
192
+
193
+ <script>
194
+ var COMPODOC_CURRENT_PAGE_DEPTH = 1;
195
+ var COMPODOC_CURRENT_PAGE_CONTEXT = 'module';
196
+ var COMPODOC_CURRENT_PAGE_URL = 'EuimPdfWrapperModule.html';
197
+ var MAX_SEARCH_RESULTS = 15;
198
+ </script>
199
+
200
+ <script src="../js/libs/custom-elements.min.js"></script>
201
+ <script src="../js/libs/lit-html.js"></script>
202
+
203
+ <script src="../js/menu-wc.js" defer></script>
204
+ <script nomodule src="../js/menu-wc_es5.js" defer></script>
205
+
206
+ <script src="../js/libs/bootstrap-native.js"></script>
207
+
208
+ <script src="../js/libs/es6-shim.min.js"></script>
209
+ <script src="../js/libs/EventDispatcher.js"></script>
210
+ <script src="../js/libs/promise.min.js"></script>
211
+ <script src="../js/libs/zepto.min.js"></script>
212
+
213
+ <script src="../js/compodoc.js"></script>
214
+
215
+ <script src="../js/tabs.js"></script>
216
+ <script src="../js/menu.js"></script>
217
+ <script src="../js/libs/clipboard.min.js"></script>
218
+ <script src="../js/libs/prism.js"></script>
219
+ <script src="../js/sourceCode.js"></script>
220
+ <script src="../js/search/search.js"></script>
221
+ <script src="../js/search/lunr.min.js"></script>
222
+ <script src="../js/search/search-lunr.js"></script>
223
+ <script src="../js/search/search_index.js"></script>
224
+ <script src="../js/lazy-load-graphs.js"></script>
225
+
226
+
227
+ </body>
228
+ </html>
package/docs/modules.html CHANGED
@@ -385,6 +385,18 @@
385
385
  </div>
386
386
  </div>
387
387
  </div>
388
+ <div class="col-md-6 col-lg-4">
389
+ <div class="card card-module">
390
+ <div class="card-header">
391
+ <h4 class="card-title">EuimPdfWrapperModule</h4>
392
+ </div>
393
+ <div class="card-block">
394
+ <footer class="text-center">
395
+ <a href="./modules/EuimPdfWrapperModule.html" class="btn btn-default">Browse</a>
396
+ </footer>
397
+ </div>
398
+ </div>
399
+ </div>
388
400
  <div class="col-md-6 col-lg-4">
389
401
  <div class="card card-module">
390
402
  <div class="card-header">
@@ -3,7 +3,9 @@ import { Component, ChangeDetectionStrategy, ContentChildren, HostBinding, Input
3
3
  import { coerceBoolean } from '@eui/base';
4
4
  import { EuimChipSelectorItemDirective } from './euim-chip-selector-item/euim-chip-selector-item.directive';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../euim-scroller-x/euim-scroller-x.component";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@ionic/angular";
8
+ import * as i3 from "../euim-scroller-x/euim-scroller-x.component";
7
9
  export class EuimChipSelectorComponent {
8
10
  constructor() {
9
11
  this.backgroundColor = 'primary';
@@ -18,10 +20,13 @@ export class EuimChipSelectorComponent {
18
20
  this.sourceData = [];
19
21
  this.selectedChips = [];
20
22
  this.isMultiSelectionMode = false;
23
+ this.euimKeepSelection = false;
24
+ this.hasSearchbar = false;
21
25
  this.filterData = new EventEmitter();
22
26
  this.clickItems = new EventEmitter();
23
27
  this.filteredData = [...this.sourceData];
24
28
  this.filterConditions = [];
29
+ this.searchInput = '';
25
30
  }
26
31
  get cssClasses() {
27
32
  return this.getCssClasses();
@@ -85,6 +90,21 @@ export class EuimChipSelectorComponent {
85
90
  });
86
91
  });
87
92
  }
93
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
+ handleChange(event) {
95
+ this.searchInput = event.detail.value.toLowerCase();
96
+ if (!this.euimKeepSelection)
97
+ return;
98
+ let filteredDataWithSearch = [];
99
+ if (this.searchInput !== '') {
100
+ filteredDataWithSearch = (this.selectedChips[0] !== '0') ? this.filteredData : this.sourceData;
101
+ filteredDataWithSearch = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
102
+ }
103
+ else {
104
+ filteredDataWithSearch = (this.selectedChips[0] !== '0') ? this.filteredData : this.sourceData;
105
+ }
106
+ this.filterData.emit(filteredDataWithSearch);
107
+ }
88
108
  clearFiltersAndSelectAll() {
89
109
  this.clearAllSelections();
90
110
  let isFirstElement = true;
@@ -185,14 +205,20 @@ export class EuimChipSelectorComponent {
185
205
  this.selectedChips = ['0'];
186
206
  }
187
207
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimChipSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
188
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: "isMultiSelectionMode" }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;align-items:center}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "component", type: i1.EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
208
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: "isMultiSelectionMode", euimKeepSelection: "euimKeepSelection", hasSearchbar: "hasSearchbar" }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-searchbar *ngIf=\"hasSearchbar\" (ionChange)=\"handleChange($event)\"\n class=\"euim-chip-selector__searchbar\"></ion-searchbar>\n<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;justify-content:center;flex-direction:column}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector ion-searchbar{padding-inline-start:0;padding-top:0;padding-bottom:var(--eui-base-spacing-s)}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i3.EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
189
209
  }
190
210
  __decorate([
191
211
  coerceBoolean
192
212
  ], EuimChipSelectorComponent.prototype, "isMultiSelectionMode", void 0);
213
+ __decorate([
214
+ coerceBoolean
215
+ ], EuimChipSelectorComponent.prototype, "euimKeepSelection", void 0);
216
+ __decorate([
217
+ coerceBoolean
218
+ ], EuimChipSelectorComponent.prototype, "hasSearchbar", void 0);
193
219
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimChipSelectorComponent, decorators: [{
194
220
  type: Component,
195
- args: [{ selector: 'euim-chip-selector', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;align-items:center}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"] }]
221
+ args: [{ selector: 'euim-chip-selector', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-searchbar *ngIf=\"hasSearchbar\" (ionChange)=\"handleChange($event)\"\n class=\"euim-chip-selector__searchbar\"></ion-searchbar>\n<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;justify-content:center;flex-direction:column}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector ion-searchbar{padding-inline-start:0;padding-top:0;padding-bottom:var(--eui-base-spacing-s)}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"] }]
196
222
  }], propDecorators: { backgroundColor: [{
197
223
  type: Input
198
224
  }], chipColor: [{
@@ -209,6 +235,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
209
235
  type: Input
210
236
  }], isMultiSelectionMode: [{
211
237
  type: Input
238
+ }], euimKeepSelection: [{
239
+ type: Input
240
+ }], hasSearchbar: [{
241
+ type: Input
212
242
  }], filterData: [{
213
243
  type: Output
214
244
  }], clickItems: [{
@@ -220,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
220
250
  type: ContentChildren,
221
251
  args: [EuimChipSelectorItemDirective, { descendants: true }]
222
252
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdk4sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7O0FBVTVHLE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFTYSxvQkFBZSxHQUE0QixTQUFTLENBQUM7UUFDOUQ7OztXQUdHO1FBQ00sY0FBUyxHQUF5RixPQUFPLENBQUM7UUFDMUcsVUFBSyxHQUF5RixPQUFPLENBQUM7UUFDdEcsc0JBQWlCLEdBQXFCLE9BQU8sQ0FBQztRQUM5QyxhQUFRLEdBQWdFLFNBQVMsQ0FBQztRQUNsRixlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUc1Qix5QkFBb0IsR0FBaUIsS0FBSyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQVNwRCxpQkFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMscUJBQWdCLEdBQUcsRUFBRSxDQUFB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QUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUgsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTXBCLDZCQUE2QjtzQkFENUIsZUFBZTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFF1ZXJ5TGlzdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29udGVudENoaWxkcmVuLCBBZnRlckNvbnRlbnRJbml0LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBBZnRlclZpZXdJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tY2hpcC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblxufSlcbmV4cG9ydCBjbGFzcyBFdWltQ2hpcFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB8J3doaXRlJyB8ICcnID0gJ3ByaW1hcnknO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2MTcuXG4gICAgICogUGxlYXNlIHVzZSB7QGxpbmsgY29sb3J9IHByb3BlcnR5IGluc3RlYWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjaGlwQ29sb3I6ICdkZWZhdWx0JyB8ICdkYXJrJyB8ICd3aGl0ZScgfCAncHJpbWFyeScgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY29sb3I6ICdkZWZhdWx0JyB8ICdkYXJrJyB8ICd3aGl0ZScgfCAncHJpbWFyeScgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY2hpcFNlbGVjdGVkQ29sb3I6ICdkYXJrJyB8ICd3aGl0ZScgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNoaXBGaWxsOiAnZGVmYXVsdCcgfCAnY2xlYXInIHwgJ291dGxpbmUnIHwgJ291dGxpbmUtc29saWQnIHwgJ3NvbGlkJyA9ICdkZWZhdWx0JztcbiAgICBASW5wdXQoKSBzb3VyY2VEYXRhOiBGaWx0ZXJlZERhdGFbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkQ2hpcHMgPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNNdWx0aVNlbGVjdGlvbk1vZGU6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJlZERhdGFbXT4oKTtcbiAgICBAT3V0cHV0KCkgY2xpY2tJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudDogUXVlcnlMaXN0PEV1aW1DaGlwU2VsZWN0b3JJdGVtRGlyZWN0aXZlPiA7XG5cbiAgICBmaWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXTtcbiAgICBmaWx0ZXJDb25kaXRpb25zID0gW11cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50ICYmIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZSAmJiBjaGFuZ2VzLnNlbGVjdGVkQ2hpcHMuY3VycmVudFZhbHVlLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gJzAnKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckZpbHRlcnNBbmRTZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyBgZXVpbS1jaGlwLXNlbGVjdG9yLS1iYWNrZ3JvdW5kLWNvbG9yLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgc2V0Q3NzSXRlbUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmdldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDc3NJdGVtQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudENvbG9yID0gJ3doaXRlJyA7XG4gICAgICAgIC8vIGlmIGNvbG9yIHByb3BlcnR5IGlzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgb25lICh3aGl0ZSkgdGhhbiB1c2UgY2hpcCBjb2xvclxuICAgICAgICAvLyBtZWFucyB1c2luZyB0aGUgZGVwcmVjYXRlZCBjaGlwQ29sb3IgcHJvcGVydHksXG4gICAgICAgIC8vIG5lZWRlZCBhcyBpbiBWMTggd2lsbCBiZSByZW1vdmVkIGNoaXBDb2xvclxuICAgICAgICBpZiAodGhpcy5jaGlwQ29sb3IgPT09ICd3aGl0ZScgJiYgdGhpcy5jb2xvciAhPSAnd2hpdGUnKSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSAgdGhpcy5jb2xvcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA9ICB0aGlzLmNoaXBDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNoaXBGaWxsID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tZmlsbC0ke3RoaXMuY2hpcEZpbGx9YCA6ICcnLFxuICAgICAgICAgICAgY3VycmVudENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tY29sb3ItJHtjdXJyZW50Q29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNoaXAuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcblxuICAgICAgICAgICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8IHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoY2hpcC5pZC50b1N0cmluZygpLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbGVhckZpbHRlcnNBbmRTZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJBbGxTZWxlY3Rpb25zKCk7XG4gICAgICAgIGxldCBpc0ZpcnN0RWxlbWVudCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgaWYgKGlzRmlyc3RFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlzRmlyc3RFbGVtZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuc291cmNlRGF0YSk7XG4gICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hpcHNBbmRGaWx0ZXJEYXRhQWZ0ZXJJbml0KCk6IHZvaWQge1xuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKGNoaXAuaWQgPT09IHVuZGVmaW5lZCAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmlkID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKChjaGlwKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGlwSWQgPSBjaGlwLmlkO1xuXG4gICAgICAgICAgICBpZiAoY2hpcElkICYmIHRoaXMuc2VsZWN0ZWRDaGlwcy5pbmNsdWRlcyhjaGlwSWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIobnVsbCwgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsLCB0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDaGlwcy5sZW5ndGggPT09IDAgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuc291cmNlRGF0YSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2UoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcihmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCB0aGlzLmZpbHRlckNvbmRpdGlvbnMpO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzQWxsRmlsdGVyOiBCb29sZWFuSW5wdXQsIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9uczogc3RyaW5nW10pOiB2b2lkIHtcblxuICAgICAgICBpZiAoaXNBbGxGaWx0ZXIgJiYgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8IG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdLmZpbHRlcihpdGVtID0+IG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5pbmNsdWRlcyhpdGVtLmZpbHRlcklkKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmZpbHRlcklkID09PSBmaWx0ZXJDb25kaXRpb247XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tc2VsZWN0ZWQtLWNvbG9yLSR7dGhpcy5jaGlwU2VsZWN0ZWRDb2xvcn1gKTtcbiAgICAgICAgaXRlbS5zZXRBdHRyaWJ1dGUoJ3NlbGVjdGVkJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICByZW1vdmVTZWxlY3RlZFN0eWxlcyhpdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZShgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLXNlbGVjdGVkLS1jb2xvci0ke3RoaXMuY2hpcFNlbGVjdGVkQ29sb3J9YCk7XG4gICAgICAgIGl0ZW0ucmVtb3ZlQXR0cmlidXRlKCdzZWxlY3RlZCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0LCBpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNGaWx0ZXJBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IHRoaXMuc2VsZWN0ZWRDaGlwcztcbiAgICAgICAgICAgIGlmICghdGhpcy5maWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGZpbHRlckNvbmRpdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMucHVzaChmaWx0ZXJDb25kaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gdGhpcy5maWx0ZXJDb25kaXRpb25zLmZpbHRlcihjaGlwID0+IGNoaXAgIT09IGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5maWx0ZXIoZWwgPT4gZWwgIT09ICcwJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQWxsU2VsZWN0aW9ucygpO1xuICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2luZ2xlU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNGaWx0ZXJBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gW2ZpbHRlckNvbmRpdGlvbl07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyQWxsU2VsZWN0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEZpbHRlcmVkRGF0YSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIiwiPGV1aW0tc2Nyb2xsZXIteD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2V1aW0tc2Nyb2xsZXIteD5cbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdk4sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7QUFVNUcsTUFBTSxPQUFPLHlCQUF5QjtJQVJ0QztRQVNhLG9CQUFlLEdBQTZCLFNBQVMsQ0FBQztRQUMvRDs7O1dBR0c7UUFDTSxjQUFTLEdBQXlGLE9BQU8sQ0FBQztRQUMxRyxVQUFLLEdBQXlGLE9BQU8sQ0FBQztRQUN0RyxzQkFBaUIsR0FBcUIsT0FBTyxDQUFDO1FBQzlDLGFBQVEsR0FBZ0UsU0FBUyxDQUFDO1FBQ2xGLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRzVCLHlCQUFvQixHQUFpQixLQUFLLENBQUM7UUFHM0Msc0JBQWlCLEdBQWlCLEtBQUssQ0FBQztRQUd4QyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBU3BELGlCQUFZLEdBQUcsQ0FB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QUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUgsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTXBCLDZCQUE2QjtzQkFENUIsZUFBZTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFF1ZXJ5TGlzdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29udGVudENoaWxkcmVuLCBBZnRlckNvbnRlbnRJbml0LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBBZnRlclZpZXdJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tY2hpcC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblxufSlcbmV4cG9ydCBjbGFzcyBFdWltQ2hpcFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB8ICd3aGl0ZScgfCAnJyA9ICdwcmltYXJ5JztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjE3LlxuICAgICAqIFBsZWFzZSB1c2Uge0BsaW5rIGNvbG9yfSBwcm9wZXJ0eSBpbnN0ZWFkXG4gICAgICovXG4gICAgQElucHV0KCkgY2hpcENvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNoaXBTZWxlY3RlZENvbG9yOiAnZGFyaycgfCAnd2hpdGUnID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwRmlsbDogJ2RlZmF1bHQnIHwgJ2NsZWFyJyB8ICdvdXRsaW5lJyB8ICdvdXRsaW5lLXNvbGlkJyB8ICdzb2xpZCcgPSAnZGVmYXVsdCc7XG4gICAgQElucHV0KCkgc291cmNlRGF0YTogRmlsdGVyZWREYXRhW10gPSBbXTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZENoaXBzID0gW107XG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGlzTXVsdGlTZWxlY3Rpb25Nb2RlOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgZXVpbUtlZXBTZWxlY3Rpb246IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBoYXNTZWFyY2hiYXI6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJlZERhdGFbXT4oKTtcbiAgICBAT3V0cHV0KCkgY2xpY2tJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudDogUXVlcnlMaXN0PEV1aW1DaGlwU2VsZWN0b3JJdGVtRGlyZWN0aXZlPjtcblxuICAgIGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgIGZpbHRlckNvbmRpdGlvbnMgPSBbXVxuICAgIHNlYXJjaElucHV0ID0gJyc7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0Q3NzSXRlbUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJEYXRhQWZ0ZXJJbml0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudCAmJiB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUgJiYgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgPT09ICcwJykpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvci0tYmFja2dyb3VuZC1jb2xvci0ke3RoaXMuYmFja2dyb3VuZENvbG9yfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIHNldENzc0l0ZW1DbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5nZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBjbGFzc2VzLnNwbGl0KCcgJykuZm9yRWFjaChjbGFzc05hbWUgPT4ge1xuICAgICAgICAgICAgICAgIGNoaXAuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q3NzSXRlbUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGN1cnJlbnRDb2xvciA9ICd3aGl0ZSc7XG4gICAgICAgIC8vIGlmIGNvbG9yIHByb3BlcnR5IGlzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgb25lICh3aGl0ZSkgdGhhbiB1c2UgY2hpcCBjb2xvclxuICAgICAgICAvLyBtZWFucyB1c2luZyB0aGUgZGVwcmVjYXRlZCBjaGlwQ29sb3IgcHJvcGVydHksXG4gICAgICAgIC8vIG5lZWRlZCBhcyBpbiBWMTggd2lsbCBiZSByZW1vdmVkIGNoaXBDb2xvclxuICAgICAgICBpZiAodGhpcy5jaGlwQ29sb3IgPT09ICd3aGl0ZScgJiYgdGhpcy5jb2xvciAhPSAnd2hpdGUnKSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSB0aGlzLmNvbG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudENvbG9yID0gdGhpcy5jaGlwQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jaGlwRmlsbCA/IGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tLWZpbGwtJHt0aGlzLmNoaXBGaWxsfWAgOiAnJyxcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA/IGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tLWNvbG9yLSR7Y3VycmVudENvbG9yfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCB0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKGNoaXAuaWQudG9TdHJpbmcoKSwgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsLCBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0ID0gZXZlbnQuZGV0YWlsLnZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmV1aW1LZWVwU2VsZWN0aW9uKSByZXR1cm47XG5cbiAgICAgICAgbGV0IGZpbHRlcmVkRGF0YVdpdGhTZWFyY2ggPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQgIT09ICcnKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gKHRoaXMuc2VsZWN0ZWRDaGlwc1swXSAhPT0gJzAnKSA/IHRoaXMuZmlsdGVyZWREYXRhIDogdGhpcy5zb3VyY2VEYXRhO1xuICAgICAgICAgICAgZmlsdGVyZWREYXRhV2l0aFNlYXJjaCA9IGZpbHRlcmVkRGF0YVdpdGhTZWFyY2guZmlsdGVyKG9iaiA9PiBvYmoudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaElucHV0KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gKHRoaXMuc2VsZWN0ZWRDaGlwc1swXSAhPT0gJzAnKSA/IHRoaXMuZmlsdGVyZWREYXRhIDogdGhpcy5zb3VyY2VEYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQoZmlsdGVyZWREYXRhV2l0aFNlYXJjaCk7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyQWxsU2VsZWN0aW9ucygpO1xuICAgICAgICBsZXQgaXNGaXJzdEVsZW1lbnQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ZpcnN0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpc0ZpcnN0RWxlbWVudCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpOiB2b2lkIHtcblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgIGlmIChjaGlwLmlkID09PSB1bmRlZmluZWQgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgY2hpcC5pZCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaCgoY2hpcCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpcElkID0gY2hpcC5pZDtcblxuICAgICAgICAgICAgaWYgKGNoaXBJZCAmJiB0aGlzLnNlbGVjdGVkQ2hpcHMuaW5jbHVkZXMoY2hpcElkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKG51bGwsIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHMubGVuZ3RoID09PSAwICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgIH1cblxuICAgIG9uRmlsdGVyQ2hhbmdlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0LCBpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU11bHRpU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCBpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2luZ2xlU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uLCBpc0ZpbHRlckFsbCwgdGhpcy5maWx0ZXJDb25kaXRpb25zKTtcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgIH1cblxuICAgIGFwcGx5RmlsdGVyKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0FsbEZpbHRlcjogQm9vbGVhbklucHV0LCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnM6IHN0cmluZ1tdKTogdm9pZCB7XG5cbiAgICAgICAgaWYgKGlzQWxsRmlsdGVyICYmIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoaXRlbS5maWx0ZXJJZCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5maWx0ZXJJZCA9PT0gZmlsdGVyQ29uZGl0aW9uO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZChgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLXNlbGVjdGVkLS1jb2xvci0ke3RoaXMuY2hpcFNlbGVjdGVkQ29sb3J9YCk7XG4gICAgICAgIGl0ZW0uc2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnJlbW92ZUF0dHJpYnV0ZSgnc2VsZWN0ZWQnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU11bHRpU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCwgaXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzRmlsdGVyQWxsKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLnNlbGVjdGVkQ2hpcHM7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZmlsdGVyQ29uZGl0aW9ucy5pbmNsdWRlcyhmaWx0ZXJDb25kaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zLnB1c2goZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5maWx0ZXIoY2hpcCA9PiBjaGlwICE9PSBmaWx0ZXJDb25kaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGVsID0+IGVsICE9PSAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhckFsbFNlbGVjdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNpbmdsZVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRmlsdGVyQWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFtmaWx0ZXJDb25kaXRpb25dO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckFsbFNlbGVjdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBGaWx0ZXJlZERhdGEge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cbiIsIjxpb24tc2VhcmNoYmFyICpuZ0lmPVwiaGFzU2VhcmNoYmFyXCIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tY2hpcC1zZWxlY3Rvcl9fc2VhcmNoYmFyXCI+PC9pb24tc2VhcmNoYmFyPlxuPGV1aW0tc2Nyb2xsZXIteD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2V1aW0tc2Nyb2xsZXIteD5cblxuIl19
@@ -11,15 +11,9 @@ export class EuimMultiselectAllDirective {
11
11
  this.euimMulti.indeterminate = false;
12
12
  if (event.detail.checked) {
13
13
  this.euimMulti.numberOfSelected = this.euimMulti.currentDataProvider?.length;
14
- if (this.euimMulti.euimKeepSelection) {
15
- this.euimMulti.initialDataProvider?.forEach((item) => (item.selected = true));
16
- }
17
14
  }
18
15
  else {
19
16
  this.euimMulti.numberOfSelected = 0;
20
- if (this.euimMulti.euimKeepSelection) {
21
- this.euimMulti.initialDataProvider?.forEach((item) => (item.selected = false));
22
- }
23
17
  }
24
18
  }
25
19
  get indeterminate() {
@@ -49,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
49
43
  type: HostBinding,
50
44
  args: ['checked']
51
45
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1tdWx0aXNlbGVjdC1hbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1hbGwvZXVpbS1tdWx0aXNlbGVjdC1hbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTywyQkFBMkI7SUFHcEMsWUFBb0IsU0FBa0M7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGaEMsY0FBUyxHQUFHLHVCQUF1QixDQUFDO0lBRzFELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNyQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7WUFDOUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFO2dCQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pELENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQy9CO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUksQ0FBQyxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNoQztTQUNKO0lBQ0wsQ0FBQztJQUVELElBQWtDLGFBQWE7UUFDM0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBRTtJQUN6QyxDQUFDO0lBQ0QsSUFBNEIsT0FBTztRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7aUlBOUJRLDJCQUEyQjtxSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DOzZGQUV5QixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBS3BCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0JILGFBQWE7c0JBQTlDLFdBQVc7dUJBQUMsZUFBZTtnQkFHQSxPQUFPO3NCQUFsQyxXQUFXO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aW1NdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL2V1aW0tbXVsdGlzZWxlY3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZXVpbU11bHRpc2VsZWN0QWxsXScsXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1NdWx0aXNlbGVjdEFsbERpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICdldWltLW11bHRpc2VsZWN0X19hbGwnO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBldWltTXVsdGk6RXVpbU11bHRpc2VsZWN0Q29tcG9uZW50KSB7XG4gICAgfVxuICAgIEBIb3N0TGlzdGVuZXIoJ2lvbkNoYW5nZScsIFsnJGV2ZW50J10pXG4gICAgb25Jb25DaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbU11bHRpLmN1cnJlbnREYXRhUHJvdmlkZXI/LmZvckVhY2goKGl0ZW0pID0+XG4gICAgICAgICAgICAoaXRlbS5zZWxlY3RlZCA9IGV2ZW50LmRldGFpbC5jaGVja2VkKSk7XG4gICAgICAgIHRoaXMuZXVpbU11bHRpLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGV2ZW50LmRldGFpbC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLmV1aW1NdWx0aS5udW1iZXJPZlNlbGVjdGVkID0gIHRoaXMuZXVpbU11bHRpLmN1cnJlbnREYXRhUHJvdmlkZXI/Lmxlbmd0aDtcbiAgICAgICAgICAgIGlmICh0aGlzLmV1aW1NdWx0aS5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpbU11bHRpLmluaXRpYWxEYXRhUHJvdmlkZXI/LmZvckVhY2goKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgIChpdGVtLnNlbGVjdGVkID0gdHJ1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ldWltTXVsdGkubnVtYmVyT2ZTZWxlY3RlZCA9ICAwO1xuICAgICAgICAgICAgaWYgKHRoaXMuZXVpbU11bHRpLmV1aW1LZWVwU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldWltTXVsdGkuaW5pdGlhbERhdGFQcm92aWRlcj8uZm9yRWFjaCgoaXRlbSkgPT5cbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdpbmRldGVybWluYXRlJykgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV1aW1NdWx0aS5pbmRldGVybWluYXRlIDtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjaGVja2VkJykgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiAge1xuICAgICAgICByZXR1cm4gdGhpcy5ldWltTXVsdGkuc2VsZWN0QWxsO1xuICAgIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1tdWx0aXNlbGVjdC1hbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1hbGwvZXVpbS1tdWx0aXNlbGVjdC1hbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTywyQkFBMkI7SUFHcEMsWUFBb0IsU0FBa0M7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGaEMsY0FBUyxHQUFHLHVCQUF1QixDQUFDO0lBRzFELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNyQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7U0FDakY7YUFBTTtZQUNILElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUksQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUVELElBQWtDLGFBQWE7UUFDM0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBRTtJQUN6QyxDQUFDO0lBQ0QsSUFBNEIsT0FBTztRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7aUlBdEJRLDJCQUEyQjtxSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DOzZGQUV5QixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBS3BCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWUgsYUFBYTtzQkFBOUMsV0FBVzt1QkFBQyxlQUFlO2dCQUdBLE9BQU87c0JBQWxDLFdBQVc7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpbU11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vZXVpbS1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tldWltTXVsdGlzZWxlY3RBbGxdJyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbU11bHRpc2VsZWN0QWxsRGlyZWN0aXZlIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tbXVsdGlzZWxlY3RfX2FsbCc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV1aW1NdWx0aTpFdWltTXVsdGlzZWxlY3RDb21wb25lbnQpIHtcbiAgICB9XG4gICAgQEhvc3RMaXN0ZW5lcignaW9uQ2hhbmdlJywgWyckZXZlbnQnXSlcbiAgICBvbklvbkNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWltTXVsdGkuY3VycmVudERhdGFQcm92aWRlcj8uZm9yRWFjaCgoaXRlbSkgPT5cbiAgICAgICAgICAgIChpdGVtLnNlbGVjdGVkID0gZXZlbnQuZGV0YWlsLmNoZWNrZWQpKTtcbiAgICAgICAgdGhpcy5ldWltTXVsdGkuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoZXZlbnQuZGV0YWlsLmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZXVpbU11bHRpLm51bWJlck9mU2VsZWN0ZWQgPSAgdGhpcy5ldWltTXVsdGkuY3VycmVudERhdGFQcm92aWRlcj8ubGVuZ3RoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ldWltTXVsdGkubnVtYmVyT2ZTZWxlY3RlZCA9ICAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdpbmRldGVybWluYXRlJykgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV1aW1NdWx0aS5pbmRldGVybWluYXRlIDtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjaGVja2VkJykgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiAge1xuICAgICAgICByZXR1cm4gdGhpcy5ldWltTXVsdGkuc2VsZWN0QWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -23,11 +23,31 @@ export class EuimMultiselectFilterComponent {
23
23
  else {
24
24
  this.multiselect.currentDataProvider =
25
25
  this.multiselect.initialDataProvider;
26
+ this.applyStatusToSelectAllCheckControl();
26
27
  }
27
28
  }
28
29
  else {
29
30
  this.multiselect.currentDataProvider =
30
31
  this.multiselect.initialDataProvider?.filter(item => this.filterByFieldsNames.some(fieldName => item[fieldName].toString().toLowerCase().includes(query)));
32
+ if (this.multiselect.euimKeepSelection) {
33
+ this.applyStatusToSelectAllCheckControl();
34
+ }
35
+ }
36
+ }
37
+ applyStatusToSelectAllCheckControl() {
38
+ const isSelectAll = this.multiselect.currentDataProvider?.every((item) => item.selected);
39
+ this.multiselect.indeterminate = !isSelectAll && this.multiselect.currentDataProvider?.some((item) => item.selected);
40
+ if (!this.multiselect.indeterminate) {
41
+ this.multiselect.selectAll = isSelectAll;
42
+ if (isSelectAll) {
43
+ this.multiselect.numberOfSelected = this.multiselect.currentDataProvider?.length;
44
+ }
45
+ else {
46
+ this.multiselect.numberOfSelected = 0;
47
+ }
48
+ }
49
+ else {
50
+ this.multiselect.numberOfSelected = this.multiselect.countSelectedItems();
31
51
  }
32
52
  }
33
53
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimMultiselectFilterComponent, deps: [{ token: i1.EuimMultiselectComponent }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -42,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
42
62
  }], filterByFieldsNames: [{
43
63
  type: Input
44
64
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFHLE1BQU0sT0FBTyw4QkFBOEI7SUFLdkMsWUFBcUIsV0FBb0M7UUFBcEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBSm5DLGNBQVMsR0FBRyx5QkFBeUIsQ0FBQztJQUs1RCxDQUFDO0lBQ0QsOERBQThEO0lBQzlELFlBQVksQ0FBQyxLQUFVO1FBQ25CLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNuRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtvQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzthQUM1QztpQkFBTTtnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtvQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzthQUM1QztTQUVKO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtnQkFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUMzRCxDQUNKLENBQUM7U0FDTDtJQUVMLENBQUM7aUlBbkNRLDhCQUE4QjtxSEFBOUIsOEJBQThCLDRLQ1YzQyxxSUFFQTs7MkZEUWEsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNJLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs2RkFHZixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBRVgsbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpbU11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vZXVpbS1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tbXVsdGlzZWxlY3QtZmlsdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1NdWx0aXNlbGVjdEZpbHRlckNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICdldWltLW11bHRpc2VsZWN0LWZpbHRlcic7XG5cbiAgICBASW5wdXQoKSBmaWx0ZXJCeUZpZWxkc05hbWVzOiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKCBwcml2YXRlIG11bHRpc2VsZWN0OkV1aW1NdWx0aXNlbGVjdENvbXBvbmVudCkge1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGhhbmRsZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQuZGV0YWlsLnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdC5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5zZWxlY3RBbGwgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyPy5mb3JFYWNoKChpdGVtKSA9PlxuICAgICAgICAgICAgICAgIChpdGVtLnNlbGVjdGVkID0gZmFsc2UpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChxdWVyeSA9PT0gJycpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdC5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QuY3VycmVudERhdGFQcm92aWRlciA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QuaW5pdGlhbERhdGFQcm92aWRlcjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5pbml0aWFsRGF0YVByb3ZpZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmN1cnJlbnREYXRhUHJvdmlkZXIgPVxuICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5pbml0aWFsRGF0YVByb3ZpZGVyPy5maWx0ZXIoaXRlbSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQnlGaWVsZHNOYW1lcy5zb21lKGZpZWxkTmFtZSA9PlxuICAgICAgICAgICAgICAgICAgICBpdGVtW2ZpZWxkTmFtZV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCI8aW9uLXNlYXJjaGJhciAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXJfX3NlYXJjaGJhclwiPjwvaW9uLXNlYXJjaGJhcj5cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFHLE1BQU0sT0FBTyw4QkFBOEI7SUFLdkMsWUFBcUIsV0FBb0M7UUFBcEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBSm5DLGNBQVMsR0FBRyx5QkFBeUIsQ0FBQztJQUs1RCxDQUFDO0lBQ0QsOERBQThEO0lBQzlELFlBQVksQ0FBQyxLQUFVO1FBQ25CLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNuRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtvQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzthQUM1QztpQkFBTTtnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtvQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7YUFDN0M7U0FFSjthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUI7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDM0QsQ0FDSixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO2dCQUNwQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQzthQUM3QztTQUNKO0lBQ0wsQ0FBQztJQUVELGtDQUFrQztRQUU5QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztZQUN6QyxJQUFJLFdBQVcsRUFBRTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixHQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO2FBQ3JGO2lCQUFNO2dCQUNILElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEdBQUksQ0FBQyxDQUFDO2FBQzFDO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzdFO0lBQ0wsQ0FBQztpSUF0RFEsOEJBQThCO3FIQUE5Qiw4QkFBOEIsNEtDVjNDLHFJQUVBOzsyRkRRYSw4QkFBOEI7a0JBUDFDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzZGQUdmLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTztnQkFFWCxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWltTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9ldWltLW11bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWltLW11bHRpc2VsZWN0LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbU11bHRpc2VsZWN0RmlsdGVyQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tbXVsdGlzZWxlY3QtZmlsdGVyJztcblxuICAgIEBJbnB1dCgpIGZpbHRlckJ5RmllbGRzTmFtZXM6IHN0cmluZ1tdO1xuXG4gICAgY29uc3RydWN0b3IoIHByaXZhdGUgbXVsdGlzZWxlY3Q6RXVpbU11bHRpc2VsZWN0Q29tcG9uZW50KSB7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcXVlcnkgPSBldmVudC5kZXRhaWwudmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0LmV1aW1LZWVwU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LnNlbGVjdEFsbCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmN1cnJlbnREYXRhUHJvdmlkZXI/LmZvckVhY2goKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgKGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHF1ZXJ5ID09PSAnJykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0LmV1aW1LZWVwU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5pbml0aWFsRGF0YVByb3ZpZGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmN1cnJlbnREYXRhUHJvdmlkZXIgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmluaXRpYWxEYXRhUHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBseVN0YXR1c1RvU2VsZWN0QWxsQ2hlY2tDb250cm9sKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QuY3VycmVudERhdGFQcm92aWRlciA9XG4gICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmluaXRpYWxEYXRhUHJvdmlkZXI/LmZpbHRlcihpdGVtID0+XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJCeUZpZWxkc05hbWVzLnNvbWUoZmllbGROYW1lID0+XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGROYW1lXS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QuZXVpbUtlZXBTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5U3RhdHVzVG9TZWxlY3RBbGxDaGVja0NvbnRyb2woKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGx5U3RhdHVzVG9TZWxlY3RBbGxDaGVja0NvbnRyb2woKTp2b2lkIHtcblxuICAgICAgICBjb25zdCBpc1NlbGVjdEFsbCA9IHRoaXMubXVsdGlzZWxlY3QuY3VycmVudERhdGFQcm92aWRlcj8uZXZlcnkoKGl0ZW0pID0+IGl0ZW0uc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmluZGV0ZXJtaW5hdGUgPSAhaXNTZWxlY3RBbGwgJiYgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyPy5zb21lKChpdGVtKSA9PiBpdGVtLnNlbGVjdGVkKTtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0LmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3Quc2VsZWN0QWxsID0gaXNTZWxlY3RBbGw7XG4gICAgICAgICAgICBpZiAoaXNTZWxlY3RBbGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Lm51bWJlck9mU2VsZWN0ZWQgPSAgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyPy5sZW5ndGg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QubnVtYmVyT2ZTZWxlY3RlZCA9ICAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5udW1iZXJPZlNlbGVjdGVkID0gdGhpcy5tdWx0aXNlbGVjdC5jb3VudFNlbGVjdGVkSXRlbXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiPGlvbi1zZWFyY2hiYXIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tbXVsdGlzZWxlY3QtZmlsdGVyX19zZWFyY2hiYXJcIj48L2lvbi1zZWFyY2hiYXI+XG4iXX0=