@colijnit/transaction 12.1.155 → 12.1.156

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 (56) hide show
  1. package/bundles/colijnit-transaction.umd.js +9886 -9920
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +390 -391
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +391 -392
  6. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +40 -26
  7. package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +16 -10
  8. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +4 -4
  9. package/esm2015/lib/component/transaction/transaction.component.js +17 -302
  10. package/esm2015/lib/component/transaction/transaction.module.js +10 -76
  11. package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.module.js +9 -5
  12. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.js +1 -2
  13. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +330 -0
  14. package/esm2015/lib/component/transaction-internal/transaction-internal.module.js +47 -0
  15. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.module.js +28 -2
  16. package/esm2015/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.component.js +6 -6
  17. package/esm2015/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.component.js +15 -13
  18. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  19. package/esm2015/lib/service/cart-screen-configuration.service.js +51 -0
  20. package/esm2015/lib/service/transaction-base.service.js +3 -11
  21. package/esm2015/lib/service/transaction-connector-adapter.service.js +1 -13
  22. package/esm2015/lib/service/transaction-connector.service.js +1 -4
  23. package/esm2015/lib/service/transaction.service.js +17 -17
  24. package/esm2015/lib/transaction-version.js +3 -3
  25. package/fesm2015/colijnit-transaction.js +10585 -10667
  26. package/fesm2015/colijnit-transaction.js.map +1 -1
  27. package/lib/component/shopping-cart/shopping-cart.component.d.ts +7 -3
  28. package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +2 -2
  29. package/lib/component/transaction/style/_layout.scss +0 -72
  30. package/lib/component/transaction/style/_material-definition.scss +0 -9
  31. package/lib/component/transaction/style/_theme.scss +0 -2
  32. package/lib/component/transaction/style/material.scss +1 -14
  33. package/lib/component/transaction/transaction.component.d.ts +5 -75
  34. package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/style/_layout.scss +1 -1
  35. package/lib/component/transaction-internal/style/_layout.scss +74 -0
  36. package/lib/component/transaction-internal/style/_material-definition.scss +9 -0
  37. package/lib/component/transaction-internal/style/_theme.scss +4 -0
  38. package/lib/component/transaction-internal/style/material.scss +18 -0
  39. package/lib/component/transaction-internal/transaction-internal.component.d.ts +87 -0
  40. package/lib/component/transaction-internal/transaction-internal.module.d.ts +2 -0
  41. package/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.component.d.ts +10 -9
  42. package/lib/res/dictionary/dictionaries.d.ts +1 -0
  43. package/lib/service/cart-screen-configuration.service.d.ts +13 -0
  44. package/lib/service/transaction-base.service.d.ts +0 -1
  45. package/lib/service/transaction-connector-adapter.service.d.ts +0 -1
  46. package/lib/service/transaction-connector.service.d.ts +0 -1
  47. package/package.json +5 -5
  48. package/colijnit-transaction-12.1.153.tgz +0 -0
  49. package/esm2015/lib/component/transaction-batch-order-picking/transaction-batch-order-picking.component.js +0 -25
  50. package/esm2015/lib/component/transaction-batch-order-picking/transaction-batch-order-picking.module.js +0 -21
  51. package/esm2015/lib/component/transaction-tile/transaction-tile.component.js +0 -109
  52. package/esm2015/lib/component/transaction-tile/transaction-tile.module.js +0 -30
  53. package/lib/component/transaction-batch-order-picking/transaction-batch-order-picking.component.d.ts +0 -5
  54. package/lib/component/transaction-batch-order-picking/transaction-batch-order-picking.module.d.ts +0 -2
  55. package/lib/component/transaction-tile/transaction-tile.component.d.ts +0 -13
  56. package/lib/component/transaction-tile/transaction-tile.module.d.ts +0 -2
@@ -1,97 +1,22 @@
1
- import { __awaiter } from "tslib";
2
- import { ApplicationRef, Component, HostBinding, HostListener, Input, ViewChildren, ViewEncapsulation } from '@angular/core';
3
- import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
4
- import { TransactionService } from '../../service/transaction.service';
5
- import { BaseModuleScreenConfigService, ContentViewMode } from '@colijnit/corecomponents_v12';
6
- import { Icon } from '../../enum/icon.enum';
7
- import { IconCacheService } from '../../service/icon-cache.service';
8
- import { TransactionTypeCategory } from '../../enum/transaction-type-category.enum';
9
- import { DynamicComponentService } from '../../service/dynamic-component.service';
10
- import { TransactionLineSidePanelComponent } from '../transaction-line-side-panel/transaction-line-side-panel.component';
1
+ import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
11
2
  import { CustomerFullObject } from '@colijnit/relationapi/build/model/customer-full-object.bo';
12
- import { TransactionEventService } from '../../service/transaction-event.service';
3
+ import { BaseModuleScreenConfigService } from '@colijnit/corecomponents_v12';
13
4
  import { TransactionScreenConfigurationService } from '../../service/transaction-screen-configuration.service';
14
- import { DialogService } from '../../service/dialog.service';
15
- import { LineSelectionService } from '../../service/line-selection.service';
16
- import { TransactionCfgName } from '../../enum/transaction-cfg-name.enum';
17
5
  import { take } from 'rxjs/operators';
6
+ import { TransactionEventService } from '../../service/transaction-event.service';
7
+ import { TransactionService } from '../../service/transaction.service';
8
+ import { TransactionCfgName } from '../../enum/transaction-cfg-name.enum';
18
9
  export class TransactionComponent {
19
- constructor(iconCacheService, service, _appRef, _dynamicComponentService, _transactionEventService, _screenConfigurationService, _dialogService, _lineSelectionService) {
20
- this.iconCacheService = iconCacheService;
10
+ constructor(service, _transactionEventService, _screenConfigurationService) {
21
11
  this.service = service;
22
- this._appRef = _appRef;
23
- this._dynamicComponentService = _dynamicComponentService;
24
12
  this._transactionEventService = _transactionEventService;
25
13
  this._screenConfigurationService = _screenConfigurationService;
26
- this._dialogService = _dialogService;
27
- this._lineSelectionService = _lineSelectionService;
28
- this.categories = TransactionTypeCategory;
29
- this.viewModes = ContentViewMode;
30
- this.icons = Icon;
31
14
  this.cfgNames = TransactionCfgName;
32
15
  this.relation = new CustomerFullObject();
33
16
  this.showHeader = true;
34
17
  this.showQuickAccess = true;
35
18
  this.showButtonBar = true;
36
- this.activeViewMode = ContentViewMode.List;
37
- this.showSidePanel = false;
38
- this.showArticleTextOverview = false;
39
- this.showTransactionText = false;
40
- this.showArticleText = false;
41
- this.showCopyOrderDialog = false;
42
- this.loaded = false;
43
19
  this.screenConfigLoaded = false;
44
- this.statusBarConfigNames = {
45
- statusBarBT: this.cfgNames.StatusBarBT,
46
- statusBarTG: this.cfgNames.StatusBarTG,
47
- statusBarPA: this.cfgNames.StatusBarPA,
48
- statusBarPV: this.cfgNames.StatusBarPV,
49
- statusBarTP: this.cfgNames.StatusBarTP,
50
- statusBarGT: this.cfgNames.StatusBarGT,
51
- statusBarGP: this.cfgNames.StatusBarGP,
52
- statusBarGL: this.cfgNames.StatusBarGL,
53
- statusBarGF: this.cfgNames.StatusBarGF,
54
- statusBarIB: this.cfgNames.StatusBarIB,
55
- statusBarNT: this.cfgNames.StatusBarNT,
56
- statusBarBN: this.cfgNames.StatusBarBN,
57
- statusBarBG: this.cfgNames.StatusBarBG,
58
- statusBarFC: this.cfgNames.StatusBarFC
59
- };
60
- this._subs = [];
61
- this._transaction = new TransactionInfoResponse();
62
- this._typeForConfig = "V";
63
- this._subs.push(this.service.transactionUpdated.subscribe((transaction) => {
64
- if (transaction) {
65
- this._transaction = transaction;
66
- this.updateTransactionLine();
67
- }
68
- }), this.service.relationUpdated.subscribe((relation) => {
69
- if (relation) {
70
- this.relation = relation;
71
- }
72
- }), this.service.transactionKindSet.subscribe((set) => {
73
- if (set) {
74
- this.activeCategory = this.service.activeRubric;
75
- }
76
- }), this._transactionEventService.connectionInitialized.subscribe((initialized) => {
77
- if (initialized) {
78
- this.loaded = true;
79
- }
80
- }), this._transactionEventService.openSidePanel.subscribe((line) => this.handleShowSidePanel(line)), this._transactionEventService.openArticleTextOverview.subscribe((line) => this.handleShowArticleTextOverview(line)), this._transactionEventService.addTransactionText.subscribe((line) => this.handleShowTransactionText(line)), this._transactionEventService.addArticleText.subscribe((line) => this.handleShowArticleText(line)), this._transactionEventService.editTransactionText.subscribe((line) => this.handleEditTransactionText(line)), this._transactionEventService.editArticleText.subscribe((line) => this.handleEditArticleText(line)), this._transactionEventService.historicReportLinesToShow
81
- .subscribe((lines) => this.historicTransactionLines = lines), this._transactionEventService.showError.subscribe((e) => this._dialogService.showError(e.message, e.localize, e.details)), this._transactionEventService.copyOrder.subscribe(() => this.showCopyOrderDialog = true));
82
- this.screenWidth = window.innerWidth;
83
- }
84
- set transaction(value) {
85
- if (value) {
86
- // being set from shopping cart
87
- this._screenConfigurationService.loadConfig(["W"]).then((configObjects) => {
88
- this._transaction = value;
89
- this.screenConfigLoaded = true;
90
- });
91
- }
92
- }
93
- get transaction() {
94
- return this._transaction;
95
20
  }
96
21
  set transactionKind(value) {
97
22
  if (this._transactionKind !== value) {
@@ -114,99 +39,6 @@ export class TransactionComponent {
114
39
  showClass() {
115
40
  return true;
116
41
  }
117
- onResize(event) {
118
- this.screenWidth = event.target.innerWidth;
119
- }
120
- ngOnDestroy() {
121
- this._subs.forEach(s => s.unsubscribe());
122
- }
123
- handleButtonBarButtonClicked(button) {
124
- this.activeCategory = button.category;
125
- }
126
- handleShowSidePanel(line) {
127
- if (line) {
128
- this.sidePanelTransactionLine = line;
129
- this.showSidePanel = true;
130
- }
131
- }
132
- handleShowArticleTextOverview(line) {
133
- if (line) {
134
- this.transactionLine = line;
135
- this.showArticleTextOverview = true;
136
- }
137
- }
138
- handleShowTransactionText(line) {
139
- this.transactionLine = undefined;
140
- this.textToEdit = undefined;
141
- this.showTransactionTextDialog();
142
- }
143
- handleShowArticleText(line) {
144
- if (line) {
145
- this.textToEdit = undefined;
146
- this.transactionLine = line;
147
- this.showArticleTextDialog();
148
- }
149
- }
150
- saveTransactionLineText(data) {
151
- return __awaiter(this, void 0, void 0, function* () {
152
- if (!data.new) { //update
153
- yield this.service.updateTextLine(data.request.transactionUuid, this.transactionLine.uuid, data.request.showOnDocuments, data.request.text);
154
- }
155
- else {
156
- yield this.service.addTextLine(data.request.showOnDocuments, data.request.text, 0, data.request.articleBound, 0, 0, 0);
157
- }
158
- this._hideTransactionTextDialog();
159
- });
160
- }
161
- saveArticleLineText(data) {
162
- return __awaiter(this, void 0, void 0, function* () {
163
- if (!data.new) { //update
164
- yield this.service.updateTextLine(data.request.transactionUuid, this.transactionLine.uuid, data.request.showOnDocuments, data.request.text);
165
- }
166
- else {
167
- yield this.service.addTextLine(data.request.showOnDocuments, data.request.text, 0, true, data.request.refArticleLineNr);
168
- }
169
- this._hideArticleTextDialog();
170
- });
171
- }
172
- handleEditTransactionText(line) {
173
- this.transactionLine = line;
174
- this.textToEdit = line.text;
175
- if (line.isText) {
176
- this.showTransactionTextDialog();
177
- }
178
- // if (line.articleBoundConcatenatedText && line.articleBoundConcatenatedText.length > 0) {
179
- // this.showArticleTextOverviewDialog();
180
- // }
181
- }
182
- handleEditArticleText(line) {
183
- this.textToEdit = line.text;
184
- this.transactionLine = line;
185
- this._hideArticleTextOverviewDialog();
186
- this.showArticleTextDialog();
187
- }
188
- closeArticleText() {
189
- this._hideArticleTextDialog();
190
- }
191
- closeTransactionText() {
192
- this._hideTransactionTextDialog();
193
- }
194
- closeArticleTextOverview() {
195
- this._hideArticleTextOverviewDialog();
196
- }
197
- showTransactionTextDialog() {
198
- this.showTransactionText = true;
199
- }
200
- showArticleTextDialog() {
201
- this.showArticleText = true;
202
- }
203
- showArticleTextOverviewDialog() {
204
- this.showArticleTextOverview = true;
205
- }
206
- shouldShowTiles() {
207
- // Adjust the width condition as needed
208
- return this.screenWidth < 1280; // Show the div if screen width is smaller than 1280px
209
- }
210
42
  addExternalOrderLines(request) {
211
43
  this.service.addExternalCatalogArticle(request);
212
44
  }
@@ -223,25 +55,6 @@ export class TransactionComponent {
223
55
  });
224
56
  }
225
57
  }
226
- _hideArticleTextDialog() {
227
- this.showArticleText = false;
228
- }
229
- _hideTransactionTextDialog() {
230
- this.showTransactionText = false;
231
- }
232
- _hideArticleTextOverviewDialog() {
233
- this.showArticleTextOverview = false;
234
- }
235
- updateTransactionLine() {
236
- if (this.transactionLine) {
237
- this.transactionLine = this.transaction.transactionLines
238
- .find((line) => line.lineNr === this.transactionLine.lineNr);
239
- }
240
- if (this.sidePanelTransactionLine) {
241
- this.sidePanelTransactionLine = this.transaction.transactionLines
242
- .find((line) => line.lineNr === this.sidePanelTransactionLine.lineNr);
243
- }
244
- }
245
58
  _prepareHeader() {
246
59
  if (this._screenConfigurationService.getObjectConfigurationFor(this.cfgNames.RelationInfoHeader).immediatelyHidden() &&
247
60
  this._screenConfigurationService.getObjectConfigurationFor(this.cfgNames.OrderInfoHeader).immediatelyHidden() &&
@@ -256,102 +69,12 @@ TransactionComponent.decorators = [
256
69
  { type: Component, args: [{
257
70
  selector: 'co-transaction',
258
71
  template: `
259
- <ng-container *ngIf="loaded && screenConfigLoaded">
260
- <co-transaction-header *ngIf="showHeader" [transaction]="transaction" [relation]="relation"></co-transaction-header>
261
-
262
- <div class="transaction-lines-header">
263
- <co-transaction-quick-access *ngIf="showQuickAccess" class="transaction-lines-header-item"
264
- [relation]="relation"
265
- [transaction]="transaction"
266
- [activeCategory]="activeCategory"
267
- ></co-transaction-quick-access>
268
- <co-transaction-button-bar *ngIf="showButtonBar" class="transaction-lines-header-item"
269
- [selectedCategory]="activeCategory"
270
- (buttonClicked)="handleButtonBarButtonClicked($event)"
271
- ></co-transaction-button-bar>
272
- <div class="transaction-lines-header-item right">
273
- <co-avatar class="transaction-sales-avatar" [relationId]="transaction.transactionInfo.salesPerson"></co-avatar>
274
- <co-avatar class="transaction-sales-avatar" [relationId]="transaction.transactionInfo.branch?.relationNr"></co-avatar>
275
- <co-view-mode-buttons *ngIf="!shouldShowTiles()" [showViewModes]="[viewModes.List, viewModes.Tiles]"
276
- (viewModeChange)="activeViewMode = $event"></co-view-mode-buttons>
277
- </div>
278
- </div>
279
-
280
-
281
- <!--<co-transaction-document-button-bar [transaction]="transaction"></co-transaction-document-button-bar>-->
282
-
283
- <div class="transaction-tiles-wrapper" *ngIf="activeViewMode === viewModes.Tiles || shouldShowTiles()">
284
- <co-transaction-card
285
- *ngFor="let line of (historicTransactionLines ? historicTransactionLines : transaction.transactionLines)"
286
- [statusBarConfigNames]="statusBarConfigNames"
287
- [transaction]="transaction"
288
- [transactionLine]="line"
289
- [readonly]="historicTransactionLines !== null"
290
- [activeCategory]="activeCategory"
291
- ></co-transaction-card>
292
- </div>
293
- <div class="transaction-lines-wrapper" *ngIf="activeViewMode === viewModes.List && !shouldShowTiles()">
294
- <co-transaction-lines
295
- [transaction]="transaction"
296
- [activeCategory]="activeCategory"
297
- (saveTransactionLine)="saveTransactionLineText($event)"
298
- ></co-transaction-lines>
299
- </div>
300
- <div class="transaction-footer-wrapper">
301
- <co-add-product
302
- *ngIf="activeCategory === categories.SalesOrderOverview || activeCategory === categories.PurchaseOrderOverview || activeCategory === categories.SalesOrderQuotation"></co-add-product>
303
- <co-transaction-totals
304
- [transactionInfo]="transaction.transactionInfo"
305
- [transactionTotal]="transaction.transactionTotal"
306
- [showDiscount]="true"
307
- ></co-transaction-totals>
308
- </div>
309
- <co-transaction-line-side-panel *ngIf="showSidePanel"
310
- [transactionInfo]="transaction.transactionInfo"
311
- [transactionLine]="sidePanelTransactionLine"
312
- [activeCategory]="activeCategory"
313
- (cancelClick)="showSidePanel = false"
314
- ></co-transaction-line-side-panel>
315
-
316
- <!--Popup voor wijzigen volgorde van tekstregels-->
317
- <co-transaction-article-text-overview *ngIf="showArticleTextOverview"
318
- [transactionInfo]="transaction.transactionInfo"
319
- [transactionLine]="transactionLine"
320
- (closeClick)="closeArticleTextOverview()"
321
- (cancelClick)="closeArticleTextOverview()"
322
- ></co-transaction-article-text-overview>
323
-
324
- <!--Popup voor aanmaken en updaten transactietekstregels-->
325
- <co-transaction-article-text *ngIf="showTransactionText"
326
- [header]="'ORDER_TEXT_LINE' | localize"
327
- [transactionUuid]="transaction.transactionInfo.uuid"
328
- [editText]="textToEdit"
329
- [transactionLine]="transactionLine"
330
- (saveClick)="saveTransactionLineText($event)"
331
- (closeClick)="closeTransactionText()"
332
- (cancelClick)="closeTransactionText()"
333
- ></co-transaction-article-text>
334
-
335
- <!--Popup voor aanmaken en updaten artikeltekstregels-->
336
- <co-transaction-article-text *ngIf="showArticleText"
337
- [header]="'PRODUCT_DESCRIPTION_AND_TEXTS' | localize"
338
- [transactionUuid]="transaction.transactionInfo.uuid"
339
- [showArticleImageDescription]="transactionLine.articleBound"
340
- [showImage]="false"
341
- [articleLineNr]="transactionLine.lineNr"
342
- [articleRef]="transactionLine.articleNumber"
343
- [transactionLine]="transactionLine"
344
- [editText]="textToEdit"
345
- (saveClick)="saveArticleLineText($event)"
346
- (closeClick)="closeArticleText()"
347
- (cancelClick)="closeArticleText()"
348
- ></co-transaction-article-text>
349
-
350
- <co-transaction-copy-order *ngIf="showCopyOrderDialog"
351
- [transaction]="transaction"
352
- (closeDialog)="showCopyOrderDialog = false"
353
- ></co-transaction-copy-order>
354
- </ng-container>
72
+ <co-transaction-internal *ngIf="screenConfigLoaded"
73
+ [relation]="relation"
74
+ [showHeader]="showHeader"
75
+ [showQuickAccess]="showQuickAccess"
76
+ [showButtonBar]="showButtonBar"
77
+ ></co-transaction-internal>
355
78
  `,
356
79
  providers: [
357
80
  { provide: BaseModuleScreenConfigService, useExisting: TransactionScreenConfigurationService }
@@ -360,25 +83,17 @@ TransactionComponent.decorators = [
360
83
  },] }
361
84
  ];
362
85
  TransactionComponent.ctorParameters = () => [
363
- { type: IconCacheService },
364
86
  { type: TransactionService },
365
- { type: ApplicationRef },
366
- { type: DynamicComponentService },
367
87
  { type: TransactionEventService },
368
- { type: TransactionScreenConfigurationService },
369
- { type: DialogService },
370
- { type: LineSelectionService }
88
+ { type: TransactionScreenConfigurationService }
371
89
  ];
372
90
  TransactionComponent.propDecorators = {
373
- sidePanelComponents: [{ type: ViewChildren, args: [TransactionLineSidePanelComponent,] }],
374
91
  relation: [{ type: Input }],
375
- transaction: [{ type: Input }],
376
92
  transactionKind: [{ type: Input }],
377
93
  transactionNr: [{ type: Input }],
378
94
  showHeader: [{ type: Input }],
379
- showQuickAccess: [{ type: HostBinding, args: ['class.show-quick-access',] }, { type: Input }],
380
- showButtonBar: [{ type: HostBinding, args: ['class.show-button-bar',] }, { type: Input }],
381
- showClass: [{ type: HostBinding, args: ['class.co-transaction',] }],
382
- onResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
95
+ showQuickAccess: [{ type: Input }],
96
+ showButtonBar: [{ type: Input }],
97
+ showClass: [{ type: HostBinding, args: ['class.co-transaction',] }]
383
98
  };
384
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFHTCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyw2QkFBNkIsRUFBRSxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFJbEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFFdkgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDN0csT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8s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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBcHBsaWNhdGlvblJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBWaWV3Q2hpbGRyZW4sXHJcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7QmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2UsIENvbnRlbnRWaWV3TW9kZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWFkZC10ZXh0LWxpbmUtcmVxdWVzdC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXJCdXR0b259IGZyb20gJy4uLy4uL21vZGVsL3RyYW5zYWN0aW9uLWJhci1idXR0b24nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7RHluYW1pY0NvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsQ29tcG9uZW50fSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwvdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVsYXRpb25BbnlUeXBlfSBmcm9tICcuLi8uLi9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZSc7XHJcbmltcG9ydCB7Q3VzdG9tZXJGdWxsT2JqZWN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xpbmVTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2xpbmUtc2VsZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ2ZnTmFtZX0gZnJvbSAnLi4vLi4vZW51bS90cmFuc2FjdGlvbi1jZmctbmFtZS5lbnVtJztcclxuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vYmplY3QtY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7U3RhdHVzQmFyQ2ZnTmFtZXN9IGZyb20gJy4uLy4uL2ludGVyZmFjZS9zdGF0dXMtYmFyLWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICBFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtY2F0YWxvZy1hZGQtYXJ0aWNsZS1yZXF1ZXN0XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24nLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVkICYmIHNjcmVlbkNvbmZpZ0xvYWRlZFwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyICpuZ0lmPVwic2hvd0hlYWRlclwiIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiPjwvY28tdHJhbnNhY3Rpb24taGVhZGVyPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2VzcyAqbmdJZj1cInNob3dRdWlja0FjY2Vzc1wiIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtaGVhZGVyLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiYWN0aXZlQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzPlxyXG4gICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWJ1dHRvbi1iYXIgKm5nSWY9XCJzaG93QnV0dG9uQmFyXCIgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXItaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJoYW5kbGVCdXR0b25CYXJCdXR0b25DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXItaXRlbSByaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1hdmF0YXIgY2xhc3M9XCJ0cmFuc2FjdGlvbi1zYWxlcy1hdmF0YXJcIiBbcmVsYXRpb25JZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uc2FsZXNQZXJzb25cIj48L2NvLWF2YXRhcj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28tYXZhdGFyIGNsYXNzPVwidHJhbnNhY3Rpb24tc2FsZXMtYXZhdGFyXCIgW3JlbGF0aW9uSWRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmJyYW5jaD8ucmVsYXRpb25OclwiPjwvY28tYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby12aWV3LW1vZGUtYnV0dG9ucyAqbmdJZj1cIiFzaG91bGRTaG93VGlsZXMoKVwiIFtzaG93Vmlld01vZGVzXT1cIlt2aWV3TW9kZXMuTGlzdCwgdmlld01vZGVzLlRpbGVzXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2aWV3TW9kZUNoYW5nZSk9XCJhY3RpdmVWaWV3TW9kZSA9ICRldmVudFwiPjwvY28tdmlldy1tb2RlLWJ1dHRvbnM+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgPCEtLTxjby10cmFuc2FjdGlvbi1kb2N1bWVudC1idXR0b24tYmFyIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiPjwvY28tdHJhbnNhY3Rpb24tZG9jdW1lbnQtYnV0dG9uLWJhcj4tLT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi10aWxlcy13cmFwcGVyXCIgKm5nSWY9XCJhY3RpdmVWaWV3TW9kZSA9PT0gdmlld01vZGVzLlRpbGVzIHx8IHNob3VsZFNob3dUaWxlcygpXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGluZSBvZiAoaGlzdG9yaWNUcmFuc2FjdGlvbkxpbmVzID8gaGlzdG9yaWNUcmFuc2FjdGlvbkxpbmVzIDogdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3RhdHVzQmFyQ29uZmlnTmFtZXNdPVwic3RhdHVzQmFyQ29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cImxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaGlzdG9yaWNUcmFuc2FjdGlvbkxpbmVzICE9PSBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImFjdGl2ZUNhdGVnb3J5XCJcclxuICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNhcmQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtd3JhcHBlclwiICpuZ0lmPVwiYWN0aXZlVmlld01vZGUgPT09IHZpZXdNb2Rlcy5MaXN0ICYmICFzaG91bGRTaG93VGlsZXMoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlVHJhbnNhY3Rpb25MaW5lKT1cInNhdmVUcmFuc2FjdGlvbkxpbmVUZXh0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZXM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZm9vdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1hZGQtcHJvZHVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlNhbGVzT3JkZXJPdmVydmlldyB8fCBhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5QdXJjaGFzZU9yZGVyT3ZlcnZpZXcgfHwgYWN0aXZlQ2F0ZWdvcnkgPT09IGNhdGVnb3JpZXMuU2FsZXNPcmRlclF1b3RhdGlvblwiPjwvY28tYWRkLXByb2R1Y3Q+XHJcbiAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tdG90YWxzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVG90YWxdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25Ub3RhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93RGlzY291bnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi10b3RhbHM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsICpuZ0lmPVwic2hvd1NpZGVQYW5lbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwic2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiYWN0aXZlQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxDbGljayk9XCJzaG93U2lkZVBhbmVsID0gZmFsc2VcIlxyXG4gICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWw+XHJcblxyXG4gICAgICAgICAgICA8IS0tUG9wdXAgdm9vciB3aWp6aWdlbiB2b2xnb3JkZSB2YW4gdGVrc3RyZWdlbHMtLT5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dC1vdmVydmlldyAqbmdJZj1cInNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlQXJ0aWNsZVRleHRPdmVydmlldygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dE92ZXJ2aWV3KClcIlxyXG4gICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXc+XHJcblxyXG4gICAgICAgICAgICA8IS0tUG9wdXAgdm9vciBhYW5tYWtlbiBlbiB1cGRhdGVuIHRyYW5zYWN0aWV0ZWtzdHJlZ2Vscy0tPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0ICpuZ0lmPVwic2hvd1RyYW5zYWN0aW9uVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlcl09XCInT1JERVJfVEVYVF9MSU5FJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdFRleHRdPVwidGV4dFRvRWRpdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZVRyYW5zYWN0aW9uTGluZVRleHQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwiY2xvc2VUcmFuc2FjdGlvblRleHQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNsb3NlVHJhbnNhY3Rpb25UZXh0KClcIlxyXG4gICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQ+XHJcblxyXG4gICAgICAgICAgICA8IS0tUG9wdXAgdm9vciBhYW5tYWtlbiBlbiB1cGRhdGVuIGFydGlrZWx0ZWtzdHJlZ2Vscy0tPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0ICpuZ0lmPVwic2hvd0FydGljbGVUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVyXT1cIidQUk9EVUNUX0RFU0NSSVBUSU9OX0FORF9URVhUUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dBcnRpY2xlSW1hZ2VEZXNjcmlwdGlvbl09XCJ0cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0ltYWdlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZUxpbmVOcl09XCJ0cmFuc2FjdGlvbkxpbmUubGluZU5yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVJlZl09XCJ0cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZU51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0VGV4dF09XCJ0ZXh0VG9FZGl0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZUNsaWNrKT1cInNhdmVBcnRpY2xlTGluZVRleHQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dCgpXCJcclxuICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0PlxyXG5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWNvcHktb3JkZXIgKm5nSWY9XCJzaG93Q29weU9yZGVyRGlhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlRGlhbG9nKT1cInNob3dDb3B5T3JkZXJEaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNvcHktb3JkZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICBgLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge3Byb3ZpZGU6IEJhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLCB1c2VFeGlzdGluZzogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX1cclxuICAgIF0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2F0ZWdvcmllczogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmlld01vZGVzOiB0eXBlb2YgQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2ZnTmFtZXM6IHR5cGVvZiBUcmFuc2FjdGlvbkNmZ05hbWUgPSBUcmFuc2FjdGlvbkNmZ05hbWU7XHJcbiAgICBwdWJsaWMgc2NyZWVuV2lkdGg6IG51bWJlcjtcclxuXHJcbiAgICBAVmlld0NoaWxkcmVuKFRyYW5zYWN0aW9uTGluZVNpZGVQYW5lbENvbXBvbmVudClcclxuICAgIHB1YmxpYyBzaWRlUGFuZWxDb21wb25lbnRzOiBRdWVyeUxpc3Q8VHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsQ29tcG9uZW50PjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBuZXcgQ3VzdG9tZXJGdWxsT2JqZWN0KCk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb24odmFsdWU6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIC8vIGJlaW5nIHNldCBmcm9tIHNob3BwaW5nIGNhcnRcclxuICAgICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UubG9hZENvbmZpZyhbXCJXXCJdKS50aGVuKChjb25maWdPYmplY3RzOiBPYmplY3RDb25maWd1cmF0aW9uW10pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcmVlbkNvbmZpZ0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbktpbmQodmFsdWU6IFRyYW5zYWN0aW9uS2luZCkge1xyXG4gICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbktpbmQgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uS2luZCA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl9nZXRUcmFuc2FjdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uS2luZCgpOiBUcmFuc2FjdGlvbktpbmQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbktpbmQ7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25Ocih2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uTnIgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uTnIgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fZ2V0VHJhbnNhY3Rpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbk5yKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uTnI7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctcXVpY2stYWNjZXNzJylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd1F1aWNrQWNjZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctYnV0dG9uLWJhcicpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNob3dCdXR0b25CYXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24nKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICAgIG9uUmVzaXplKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNjcmVlbldpZHRoID0gZXZlbnQudGFyZ2V0LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFjdGl2ZVZpZXdNb2RlOiBDb250ZW50Vmlld01vZGUgPSBDb250ZW50Vmlld01vZGUuTGlzdDtcclxuICAgIHB1YmxpYyBhY3RpdmVDYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgICBwdWJsaWMgc2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbztcclxuICAgIHB1YmxpYyBzaG93U2lkZVBhbmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2hvd0FydGljbGVUZXh0T3ZlcnZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25UZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2hvd0FydGljbGVUZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2hvd0NvcHlPcmRlckRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHRleHRUb0VkaXQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBoaXN0b3JpY1RyYW5zYWN0aW9uTGluZXM6IFRyYW5zYWN0aW9uTGluZUluZm9bXSB8IG51bGw7XHJcblxyXG5cclxuICAgIHB1YmxpYyBzdGF0dXNCYXJDb25maWdOYW1lczogU3RhdHVzQmFyQ2ZnTmFtZXMgPSB7XHJcbiAgICAgICAgc3RhdHVzQmFyQlQ6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyQlQsXHJcbiAgICAgICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICAgICAgc3RhdHVzQmFyUEE6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyUEEsXHJcbiAgICAgICAgc3RhdHVzQmFyUFY6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyUFYsXHJcbiAgICAgICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICAgICAgc3RhdHVzQmFyR1Q6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR1QsXHJcbiAgICAgICAgc3RhdHVzQmFyR1A6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR1AsXHJcbiAgICAgICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICAgICAgc3RhdHVzQmFyR0Y6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0YsXHJcbiAgICAgICAgc3RhdHVzQmFySUI6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFySUIsXHJcbiAgICAgICAgc3RhdHVzQmFyTlQ6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyTlQsXHJcbiAgICAgICAgc3RhdHVzQmFyQk46IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyQk4sXHJcbiAgICAgICAgc3RhdHVzQmFyQkc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyQkcsXHJcbiAgICAgICAgc3RhdHVzQmFyRkM6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyRkNcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlID0gbmV3IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKCk7XHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbktpbmQ6IFRyYW5zYWN0aW9uS2luZDtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uTnI6IG51bWJlcjtcclxuICAgIHByaXZhdGUgX3R5cGVGb3JDb25maWc6IHN0cmluZyA9IFwiVlwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgICAgICBwcml2YXRlIF9keW5hbWljQ29tcG9uZW50U2VydmljZTogRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfbGluZVNlbGVjdGlvblNlcnZpY2U6IExpbmVTZWxlY3Rpb25TZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS50cmFuc2FjdGlvblVwZGF0ZWQuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUcmFuc2FjdGlvbkxpbmUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5yZWxhdGlvblVwZGF0ZWQuc3Vic2NyaWJlKChyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVsYXRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbGF0aW9uID0gcmVsYXRpb247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UudHJhbnNhY3Rpb25LaW5kU2V0LnN1YnNjcmliZSgoc2V0OiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2V0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeSA9IHRoaXMuc2VydmljZS5hY3RpdmVSdWJyaWM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jb25uZWN0aW9uSW5pdGlhbGl6ZWQuc3Vic2NyaWJlKChpbml0aWFsaXplZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGluaXRpYWxpemVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3BlblNpZGVQYW5lbC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbChsaW5lKSksXHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5BcnRpY2xlVGV4dE92ZXJ2aWV3LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVTaG93QXJ0aWNsZVRleHRPdmVydmlldyhsaW5lKSksXHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFkZFRyYW5zYWN0aW9uVGV4dC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd1RyYW5zYWN0aW9uVGV4dChsaW5lKSksXHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFkZEFydGljbGVUZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVTaG93QXJ0aWNsZVRleHQobGluZSkpLFxyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5lZGl0VHJhbnNhY3Rpb25UZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVFZGl0VHJhbnNhY3Rpb25UZXh0KGxpbmUpKSxcclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuZWRpdEFydGljbGVUZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVFZGl0QXJ0aWNsZVRleHQobGluZSkpLFxyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5oaXN0b3JpY1JlcG9ydExpbmVzVG9TaG93XHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChsaW5lcykgPT4gdGhpcy5oaXN0b3JpY1RyYW5zYWN0aW9uTGluZXMgPSBsaW5lcyksXHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNob3dFcnJvci5zdWJzY3JpYmUoKGUpID0+XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcihlLm1lc3NhZ2UsIGUubG9jYWxpemUsIGUuZGV0YWlscykpLFxyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jb3B5T3JkZXIuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvd0NvcHlPcmRlckRpYWxvZyA9IHRydWUpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUJ1dHRvbkJhckJ1dHRvbkNsaWNrZWQoYnV0dG9uOiBUcmFuc2FjdGlvbkJhckJ1dHRvbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBidXR0b24uY2F0ZWdvcnk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVNob3dTaWRlUGFuZWwobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgICAgIGlmIChsaW5lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lID0gbGluZTtcclxuICAgICAgICAgICAgdGhpcy5zaG93U2lkZVBhbmVsID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3KGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgICAgICBpZiAobGluZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0FydGljbGVUZXh0T3ZlcnZpZXcgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlU2hvd1RyYW5zYWN0aW9uVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy50ZXh0VG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVTaG93QXJ0aWNsZVRleHQobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgICAgIGlmIChsaW5lKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dFRvRWRpdCA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUgPSBsaW5lO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dBcnRpY2xlVGV4dERpYWxvZygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc2F2ZVRyYW5zYWN0aW9uTGluZVRleHQoZGF0YTogeyByZXF1ZXN0OiBUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdCwgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoIWRhdGEubmV3KSB7IC8vdXBkYXRlXHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2VydmljZS51cGRhdGVUZXh0TGluZShkYXRhLnJlcXVlc3QudHJhbnNhY3Rpb25VdWlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS51dWlkLCBkYXRhLnJlcXVlc3Quc2hvd09uRG9jdW1lbnRzLCBkYXRhLnJlcXVlc3QudGV4dCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmFkZFRleHRMaW5lKFxyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cyxcclxuICAgICAgICAgICAgICAgIGRhdGEucmVxdWVzdC50ZXh0LFxyXG4gICAgICAgICAgICAgICAgMCxcclxuICAgICAgICAgICAgICAgIGRhdGEucmVxdWVzdC5hcnRpY2xlQm91bmQsXHJcbiAgICAgICAgICAgICAgICAwLFxyXG4gICAgICAgICAgICAgICAgMCxcclxuICAgICAgICAgICAgICAgIDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5faGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzYXZlQXJ0aWNsZUxpbmVUZXh0KGRhdGE6IHsgcmVxdWVzdDogVHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3QsIG5ldzogYm9vbGVhbiB9KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKCFkYXRhLm5ldykgeyAvL3VwZGF0ZVxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRleHQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5hZGRUZXh0TGluZShcclxuICAgICAgICAgICAgICAgIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsXHJcbiAgICAgICAgICAgICAgICBkYXRhLnJlcXVlc3QudGV4dCxcclxuICAgICAgICAgICAgICAgIDAsXHJcbiAgICAgICAgICAgICAgICB0cnVlLFxyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXF1ZXN0LnJlZkFydGljbGVMaW5lTnJcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUVkaXRUcmFuc2FjdGlvblRleHQobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gbGluZTtcclxuICAgICAgICB0aGlzLnRleHRUb0VkaXQgPSBsaW5lLnRleHQ7XHJcblxyXG4gICAgICAgIGlmIChsaW5lLmlzVGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dUcmFuc2FjdGlvblRleHREaWFsb2coKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaWYgKGxpbmUuYXJ0aWNsZUJvdW5kQ29uY2F0ZW5hdGVkVGV4dCAmJiBsaW5lLmFydGljbGVCb3VuZENvbmNhdGVuYXRlZFRleHQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vICAgdGhpcy5zaG93QXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlRWRpdEFydGljbGVUZXh0KGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRleHRUb0VkaXQgPSBsaW5lLnRleHQ7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUgPSBsaW5lO1xyXG5cclxuICAgICAgICB0aGlzLl9oaWRlQXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgICAgIHRoaXMuc2hvd0FydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlQXJ0aWNsZVRleHQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlVHJhbnNhY3Rpb25UZXh0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2hpZGVUcmFuc2FjdGlvblRleHREaWFsb2coKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xvc2VBcnRpY2xlVGV4dE92ZXJ2aWV3KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2hpZGVBcnRpY2xlVGV4dE92ZXJ2aWV3RGlhbG9nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3dUcmFuc2FjdGlvblRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93VHJhbnNhY3Rpb25UZXh0ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvd0FydGljbGVUZXh0RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd0FydGljbGVUZXh0ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvd0FydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93QXJ0aWNsZVRleHRPdmVydmlldyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3VsZFNob3dUaWxlcygpOiBib29sZWFuIHtcclxuICAgICAgICAvLyBBZGp1c3QgdGhlIHdpZHRoIGNvbmRpdGlvbiBhcyBuZWVkZWRcclxuICAgICAgICByZXR1cm4gdGhpcy5zY3JlZW5XaWR0aCA8IDEyODA7IC8vIFNob3cgdGhlIGRpdiBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlciB0aGFuIDEyODBweFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRFeHRlcm5hbE9yZGVyTGluZXMocmVxdWVzdDpFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLnNlcnZpY2UuYWRkRXh0ZXJuYWxDYXRhbG9nQXJ0aWNsZShyZXF1ZXN0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRUcmFuc2FjdGlvbigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy50cmFuc2FjdGlvbk5yICYmIHRoaXMudHJhbnNhY3Rpb25LaW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmNvbm5lY3Rpb25Jbml0aWFsaXplZC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgobG9hZGVkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UubG9hZENvbmZpZyhbdGhpcy50cmFuc2FjdGlvbktpbmRdKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmdldFRyYW5zYWN0aW9uQnlOckFuZEtpbmQodGhpcy50cmFuc2FjdGlvbk5yLCB0aGlzLnRyYW5zYWN0aW9uS2luZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3ByZXBhcmVIZWFkZXIoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JlZW5Db25maWdMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9oaWRlQXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93QXJ0aWNsZVRleHQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2hpZGVBcnRpY2xlVGV4dE92ZXJ2aWV3RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd0FydGljbGVUZXh0T3ZlcnZpZXcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZVRyYW5zYWN0aW9uTGluZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUpIHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUgPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXNcclxuICAgICAgICAgICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzXHJcbiAgICAgICAgICAgICAgICAuZmluZCgobGluZSkgPT4gbGluZS5saW5lTnIgPT09IHRoaXMuc2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lLmxpbmVOcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ByZXBhcmVIZWFkZXIoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5SZWxhdGlvbkluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAgICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLk9yZGVySW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSAmJlxyXG4gICAgICAgICAgICB0aGlzLl9zY3JlZW5Db25maWd1cmF0aW9uU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuUGF5bWVudEluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAgICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLkRlbGl2ZXJ5SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSkge1xyXG4gICAgICAgICAgICAvLyBub3RoaW5nIHRvIHNlZSBoZXJlXHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0hlYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUU3RixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFrQnhFLE1BQU0sT0FBTyxvQkFBb0I7SUFpRDdCLFlBQ1csT0FBMkIsRUFDMUIsd0JBQWlELEVBQ2pELDJCQUFrRTtRQUZuRSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMxQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBQ2pELGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBdUM7UUFuRDlELGFBQVEsR0FBOEIsa0JBQWtCLENBQUM7UUFHbEUsYUFBUSxHQUFvQixJQUFJLGtCQUFrQixFQUFFLENBQUM7UUEyQnJELGVBQVUsR0FBWSxJQUFJLENBQUM7UUFHM0Isb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFHaEMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFPOUIsdUJBQWtC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QUFLOzRCQUdMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJy4uLy4uL21vZGVsL3JlbGF0aW9uLWFueS10eXBlJztcclxuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge0Jhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DZmdOYW1lfSBmcm9tICcuLi8uLi9lbnVtL3RyYW5zYWN0aW9uLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge0V4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtY2F0YWxvZy1hZGQtYXJ0aWNsZS1yZXF1ZXN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbicsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1pbnRlcm5hbCAqbmdJZj1cInNjcmVlbkNvbmZpZ0xvYWRlZFwiXHJcbiAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dIZWFkZXJdPVwic2hvd0hlYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd1F1aWNrQWNjZXNzXT1cInNob3dRdWlja0FjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICBbc2hvd0J1dHRvbkJhcl09XCJzaG93QnV0dG9uQmFyXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1pbnRlcm5hbD5cclxuICAgIGAsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7cHJvdmlkZTogQmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2UsIHVzZUV4aXN0aW5nOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfVxyXG4gICAgXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBjZmdOYW1lczogdHlwZW9mIFRyYW5zYWN0aW9uQ2ZnTmFtZSA9IFRyYW5zYWN0aW9uQ2ZnTmFtZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBuZXcgQ3VzdG9tZXJGdWxsT2JqZWN0KCk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25LaW5kKHZhbHVlOiBUcmFuc2FjdGlvbktpbmQpIHtcclxuICAgICAgICBpZiAodGhpcy5fdHJhbnNhY3Rpb25LaW5kICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbktpbmQgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fZ2V0VHJhbnNhY3Rpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbktpbmQoKTogVHJhbnNhY3Rpb25LaW5kIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uTnIodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbk5yICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbk5yID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuX2dldFRyYW5zYWN0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb25OcigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbk5yO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93UXVpY2tBY2Nlc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd0J1dHRvbkJhcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby10cmFuc2FjdGlvbicpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzY3JlZW5Db25maWdMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbktpbmQ6IFRyYW5zYWN0aW9uS2luZDtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uTnI6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9zY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRFeHRlcm5hbE9yZGVyTGluZXMocmVxdWVzdDogRXh0ZXJuYWxDYXRhbG9nQWRkQXJ0aWNsZVJlcXVlc3QpIHtcclxuICAgICAgICB0aGlzLnNlcnZpY2UuYWRkRXh0ZXJuYWxDYXRhbG9nQXJ0aWNsZShyZXF1ZXN0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRUcmFuc2FjdGlvbigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy50cmFuc2FjdGlvbk5yICYmIHRoaXMudHJhbnNhY3Rpb25LaW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmNvbm5lY3Rpb25Jbml0aWFsaXplZC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgobG9hZGVkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UubG9hZENvbmZpZyhbdGhpcy50cmFuc2FjdGlvbktpbmRdKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmdldFRyYW5zYWN0aW9uQnlOckFuZEtpbmQodGhpcy50cmFuc2FjdGlvbk5yLCB0aGlzLnRyYW5zYWN0aW9uS2luZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3ByZXBhcmVIZWFkZXIoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JlZW5Db25maWdMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJlcGFyZUhlYWRlcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLlJlbGF0aW9uSW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSAmJlxyXG4gICAgICAgICAgICB0aGlzLl9zY3JlZW5Db25maWd1cmF0aW9uU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuT3JkZXJJbmZvSGVhZGVyKS5pbW1lZGlhdGVseUhpZGRlbigpICYmXHJcbiAgICAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5QYXltZW50SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSAmJlxyXG4gICAgICAgICAgICB0aGlzLl9zY3JlZW5Db25maWd1cmF0aW9uU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuRGVsaXZlcnlJbmZvSGVhZGVyKS5pbW1lZGlhdGVseUhpZGRlbigpKSB7XHJcbiAgICAgICAgICAgIC8vIG5vdGhpbmcgdG8gc2VlIGhlcmVcclxuICAgICAgICAgICAgdGhpcy5zaG93SGVhZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,42 +1,12 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { CoreModule } from '../core/core.module';
4
- import { TransactionArticleTextOverviewModule } from '../shared/transaction-article-text-overview/transaction-article-text-overview.module';
5
- import { TransactionArticleTextModule } from '../shared/transaction-article-text/transaction-article-text.module';
6
4
  import { TransactionComponent } from './transaction.component';
7
- import { TransactionLinesModule } from '../transaction-lines/transaction-lines.module';
8
- import { TransactionTotalsModule } from '../transaction-totals/transaction-totals.module';
9
- import { TransactionHeaderModule } from '../transaction-header/transaction-header/transaction-header.module';
10
- import { BaseModuleScreenConfigService, BaseModuleService, ButtonModule, CoDialogModule, FormModule, InputTextModule, ScreenConfigurationModule, ViewModeButtonsModule } from '@colijnit/corecomponents_v12';
11
- import { TransactionLinesGridModule } from '../transaction-grid/transaction-lines-grid/transaction-lines-grid.module';
12
- import { TransactionQuickAccessModule } from '../transaction-quick-access/transaction-quick-access/transaction-quick-access.module';
13
- import { TransactionButtonBarModule } from '../transaction-button-bar/transaction-button-bar.module';
14
- import { PipeModule } from '../../pipe/pipe.module';
15
- import { TransactionLineSidePanelModule } from '../transaction-line-side-panel/transaction-line-side-panel.module';
16
- import { TransactionOrderConfirmationGridModule } from '../transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module';
5
+ import { TransactionInternalModule } from '../transaction-internal/transaction-internal.module';
17
6
  import { TransactionGridModule } from '../transaction-grid/transaction-grid/transaction-grid.module';
18
- import { TransactionTileModule } from '../transaction-tile/transaction-tile.module';
19
- import { TransactionOverviewLineModule } from '../transaction-line/transaction-overview-line/transaction-overview-line.module';
20
- import { TransactionOrderDeliveryLineModule } from '../transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module';
21
- import { TransactionReceiveGoodsLineModule } from '../transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module';
22
- import { TransactionPurchaseLineModule } from '../transaction-line/transaction-purchase-line/transaction-purchase-line.module';
23
- import { QuickSendButtonModule } from '../quick-send-button/quick-send-button.module';
24
- import { TransactionGoodsAllocationLineModule } from '../transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module';
25
- import { TransactionPurchaseOrderLineModule } from '../transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.module';
26
- import { TransactionCardModule } from '../transaction-card/transaction-card/transaction-card.module';
27
- import { AvatarModule } from '../avatar/avatar.module';
28
- import { TransactionInvoiceLineModule } from '../transaction-line/transaction-invoice-line/transaction-invoice-line.module';
29
- import { TransactionPurchaseOverviewLineModule } from '../transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.module';
30
- import { TransactionTextLineModule } from '../transaction-line/transaction-text-line/transaction-text-line.module';
31
- import { TransactionPickedLineModule } from '../transaction-line/transaction-picked-line/transaction-picked-line.module';
32
- import { TransactionToBePickedLineModule } from '../transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.module';
33
- import { TransactionBatchOrderPickingModule } from '../transaction-batch-order-picking/transaction-batch-order-picking.module';
34
- import { AddProductModule } from '../add-product/add-product.module';
35
- import { TransactionCashRegisterOrderLineModule } from '../transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.module';
36
- import { TransactionSalesOrderQuotationLineModule } from '../transaction-line/transaction-sales-order-quotation-line/transaction-sales-order-quotation-line.module';
37
- import { TransactionCopyOrderModule } from '../transaction-copy-order/transaction-copy-order.module';
38
- import { TransactionService } from '../../service/transaction.service';
7
+ import { BaseModuleScreenConfigService, BaseModuleService } from '@colijnit/corecomponents_v12';
39
8
  import { TransactionScreenConfigurationService } from '../../service/transaction-screen-configuration.service';
9
+ import { TransactionService } from '../../service/transaction.service';
40
10
  export class TransactionModule {
41
11
  }
42
12
  TransactionModule.decorators = [
@@ -44,55 +14,19 @@ TransactionModule.decorators = [
44
14
  imports: [
45
15
  CommonModule,
46
16
  CoreModule,
47
- TransactionHeaderModule,
48
- TransactionLinesModule,
49
- TransactionTotalsModule,
50
- ButtonModule,
51
- TransactionLinesGridModule,
52
- CoDialogModule,
53
- FormModule,
54
- InputTextModule,
55
- TransactionQuickAccessModule,
56
- TransactionButtonBarModule,
57
- PipeModule,
58
- TransactionLineSidePanelModule,
59
- TransactionOrderConfirmationGridModule,
60
- ViewModeButtonsModule,
61
- TransactionGridModule,
62
- TransactionTileModule,
63
- TransactionOverviewLineModule,
64
- TransactionOrderDeliveryLineModule,
65
- TransactionReceiveGoodsLineModule,
66
- TransactionPurchaseLineModule,
67
- TransactionInvoiceLineModule,
68
- QuickSendButtonModule,
69
- TransactionGoodsAllocationLineModule,
70
- TransactionPurchaseOrderLineModule,
71
- TransactionPurchaseOverviewLineModule,
72
- TransactionCardModule,
73
- AvatarModule,
74
- TransactionArticleTextOverviewModule,
75
- TransactionArticleTextModule,
76
- TransactionTextLineModule,
77
- TransactionPickedLineModule,
78
- TransactionToBePickedLineModule,
79
- TransactionBatchOrderPickingModule,
80
- AddProductModule,
81
- TransactionCashRegisterOrderLineModule,
82
- TransactionSalesOrderQuotationLineModule,
83
- TransactionCopyOrderModule,
84
- ScreenConfigurationModule
17
+ TransactionInternalModule,
18
+ TransactionGridModule
85
19
  ],
86
20
  declarations: [
87
21
  TransactionComponent
88
22
  ],
89
- exports: [
90
- TransactionComponent
91
- ],
92
23
  providers: [
93
24
  { provide: BaseModuleService, useExisting: TransactionService },
94
- { provide: BaseModuleScreenConfigService, useExisting: TransactionScreenConfigurationService },
25
+ { provide: BaseModuleScreenConfigService, useExisting: TransactionScreenConfigurationService }
26
+ ],
27
+ exports: [
28
+ TransactionComponent
95
29
  ]
96
30
  },] }
97
31
  ];
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSxzRkFBc0YsQ0FBQztBQUMxSSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUMzRyxPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixlQUFlLEVBQ2YseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ3BILE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHNGQUFzRixDQUFDO0FBQ2xJLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVB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LEVBQUU7b0JBQ1AsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFDO29CQUM3RCxFQUFDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxXQUFXLEVBQUUscUNBQXFDLEVBQUM7aUJBQy9GO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSAnLi4vY29yZS9jb3JlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BcnRpY2xlVGV4dE92ZXJ2aWV3TW9kdWxlfSBmcm9tICcuLi9zaGFyZWQvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3L3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC1vdmVydmlldy5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQXJ0aWNsZVRleHRNb2R1bGV9IGZyb20gJy4uL3NoYXJlZC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0Lm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db21wb25lbnR9IGZyb20gJy4vdHJhbnNhY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVzTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lcy90cmFuc2FjdGlvbi1saW5lcy5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVG90YWxzTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi10b3RhbHMvdHJhbnNhY3Rpb24tdG90YWxzLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXIvdHJhbnNhY3Rpb24taGVhZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZSxcclxuICAgIEJhc2VNb2R1bGVTZXJ2aWNlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBGb3JtTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZSxcclxuICAgIFZpZXdNb2RlQnV0dG9uc01vZHVsZVxyXG59IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZXNHcmlkTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLWxpbmVzLWdyaWQvdHJhbnNhY3Rpb24tbGluZXMtZ3JpZC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUXVpY2tBY2Nlc3NNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CdXR0b25CYXJNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGUvcGlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVNpZGVQYW5lbE1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsL3RyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25PcmRlckNvbmZpcm1hdGlvbkdyaWRNb2R1bGVcclxufSBmcm9tICcuLi90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLW9yZGVyLWNvbmZpcm1hdGlvbi1ncmlkL3RyYW5zYWN0aW9uLW9yZGVyLWNvbmZpcm1hdGlvbi1ncmlkLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25HcmlkTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tZ3JpZC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVGlsZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tdGlsZS90cmFuc2FjdGlvbi10aWxlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25PdmVydmlld0xpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS90cmFuc2FjdGlvbi1vdmVydmlldy1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbk9yZGVyRGVsaXZlcnlMaW5lTW9kdWxlXHJcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1vcmRlci1kZWxpdmVyeS1saW5lL3RyYW5zYWN0aW9uLW9yZGVyLWRlbGl2ZXJ5LWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblJlY2VpdmVHb29kc0xpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcmVjZWl2ZS1nb29kcy1saW5lL3RyYW5zYWN0aW9uLXJlY2VpdmUtZ29vZHMtbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUHVyY2hhc2VMaW5lTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2UtbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1F1aWNrU2VuZEJ1dHRvbk1vZHVsZX0gZnJvbSAnLi4vcXVpY2stc2VuZC1idXR0b24vcXVpY2stc2VuZC1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uR29vZHNBbGxvY2F0aW9uTGluZU1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tZ29vZHMtYWxsb2NhdGlvbi1saW5lL3RyYW5zYWN0aW9uLWdvb2RzLWFsbG9jYXRpb24tbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZU1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXJkTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC5tb2R1bGUnO1xyXG5pbXBvcnQge0F2YXRhck1vZHVsZX0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW52b2ljZUxpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lL3RyYW5zYWN0aW9uLWludm9pY2UtbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZU92ZXJ2aWV3TGluZU1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3ZlcnZpZXctbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vdmVydmlldy1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UZXh0TGluZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi10ZXh0LWxpbmUvdHJhbnNhY3Rpb24tdGV4dC1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QaWNrZWRMaW5lTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXBpY2tlZC1saW5lL3RyYW5zYWN0aW9uLXBpY2tlZC1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Ub0JlUGlja2VkTGluZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi10by1iZS1waWNrZWQtbGluZS90cmFuc2FjdGlvbi10by1iZS1waWNrZWQtbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmF0Y2hPcmRlclBpY2tpbmdNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWJhdGNoLW9yZGVyLXBpY2tpbmcvdHJhbnNhY3Rpb24tYmF0Y2gtb3JkZXItcGlja2luZy5tb2R1bGUnO1xyXG5pbXBvcnQge0FkZFByb2R1Y3RNb2R1bGV9IGZyb20gJy4uL2FkZC1wcm9kdWN0L2FkZC1wcm9kdWN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyTGluZU1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1saW5lL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc09yZGVyUXVvdGF0aW9uTGluZU1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItcXVvdGF0aW9uLWxpbmUvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItcXVvdGF0aW9uLWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvcHlPcmRlck1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tY29weS1vcmRlci90cmFuc2FjdGlvbi1jb3B5LW9yZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBDb3JlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uTGluZXNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25Ub3RhbHNNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uTGluZXNHcmlkTW9kdWxlLFxyXG4gICAgICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgICAgIEZvcm1Nb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25CdXR0b25CYXJNb2R1bGUsXHJcbiAgICAgICAgUGlwZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkxpbmVTaWRlUGFuZWxNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25PcmRlckNvbmZpcm1hdGlvbkdyaWRNb2R1bGUsXHJcbiAgICAgICAgVmlld01vZGVCdXR0b25zTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uR3JpZE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvblRpbGVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25PdmVydmlld0xpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25PcmRlckRlbGl2ZXJ5TGluZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvblJlY2VpdmVHb29kc0xpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25QdXJjaGFzZUxpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25JbnZvaWNlTGluZU1vZHVsZSxcclxuICAgICAgICBRdWlja1NlbmRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25Hb29kc0FsbG9jYXRpb25MaW5lTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckxpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25QdXJjaGFzZU92ZXJ2aWV3TGluZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkNhcmRNb2R1bGUsXHJcbiAgICAgICAgQXZhdGFyTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRPdmVydmlld01vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkFydGljbGVUZXh0TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uVGV4dExpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25QaWNrZWRMaW5lTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uVG9CZVBpY2tlZExpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25CYXRjaE9yZGVyUGlja2luZ01vZHVsZSxcclxuICAgICAgICBBZGRQcm9kdWN0TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyT3JkZXJMaW5lTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uU2FsZXNPcmRlclF1b3RhdGlvbkxpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25Db3B5T3JkZXJNb2R1bGUsXHJcbiAgICAgICAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFRyYW5zYWN0aW9uQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFRyYW5zYWN0aW9uQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge3Byb3ZpZGU6IEJhc2VNb2R1bGVTZXJ2aWNlLCB1c2VFeGlzdGluZzogVHJhbnNhY3Rpb25TZXJ2aWNlfSxcclxuICAgICAgICB7cHJvdmlkZTogQmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2UsIHVzZUV4aXN0aW5nOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSxcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTW9kdWxlIHtcclxufVxyXG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM5RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsNkJBQTZCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQW9CckUsTUFBTSxPQUFPLGlCQUFpQjs7O1lBbEI3QixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osVUFBVTtvQkFDVix5QkFBeUI7b0JBQ3pCLHFCQUFxQjtpQkFDeEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLG9CQUFvQjtpQkFDdkI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBQztvQkFDN0QsRUFBQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsV0FBVyxFQUFFLHFDQUFxQyxFQUFDO2lCQUMvRjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsb0JBQW9CO2lCQUN2QjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gJy4uL2NvcmUvY29yZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbnRlcm5hbE1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taW50ZXJuYWwvdHJhbnNhY3Rpb24taW50ZXJuYWwubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkdyaWRNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tZ3JpZC90cmFuc2FjdGlvbi1ncmlkLm1vZHVsZSc7XHJcbmltcG9ydCB7QmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2UsIEJhc2VNb2R1bGVTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIENvcmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25JbnRlcm5hbE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkdyaWRNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtwcm92aWRlOiBCYXNlTW9kdWxlU2VydmljZSwgdXNlRXhpc3Rpbmc6IFRyYW5zYWN0aW9uU2VydmljZX0sXHJcbiAgICAgICAge3Byb3ZpZGU6IEJhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLCB1c2VFeGlzdGluZzogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX1cclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgVHJhbnNhY3Rpb25Db21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTW9kdWxlIHtcclxufVxyXG4iXX0=