@colijnit/transaction 257.1.0 → 257.1.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 (54) hide show
  1. package/bundles/colijnit-transaction.umd.js +1109 -1034
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +653 -654
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +654 -655
  6. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +3 -3
  7. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +3 -3
  8. package/esm2015/lib/component/checkout/checkout.component.js +4 -4
  9. package/esm2015/lib/component/checkout/checkout.module.js +6 -8
  10. package/esm2015/lib/component/core/base/transaction-lines-base.component.js +41 -4
  11. package/esm2015/lib/component/purchase-confirmation-lines/purchase-confirmation-lines.component.js +10 -2
  12. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +143 -111
  13. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +4 -2
  14. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.js +2 -2
  15. package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.js +37 -21
  16. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +16 -14
  17. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +4 -36
  18. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +8 -37
  19. package/esm2015/lib/component/transaction-lines-popup/transaction-lines-popup.component.js +15 -10
  20. package/esm2015/lib/component/transaction-navigation-button/transaction-navigation-button.component.js +4 -2
  21. package/esm2015/lib/component/transaction-navigation-button-list/transaction-navigation-button-list.component.js +12 -5
  22. package/esm2015/lib/enum/checkout-cfg-name.enum.js +4 -4
  23. package/esm2015/lib/model/transaction-line-view-model.js +7 -0
  24. package/esm2015/lib/service/line-selection.service.js +18 -3
  25. package/esm2015/lib/service/purchase-confirmation.service.js +48 -1
  26. package/esm2015/lib/service/transaction-base.service.js +10 -6
  27. package/esm2015/lib/service/transaction-event.service.js +2 -1
  28. package/esm2015/lib/transaction-version.js +3 -3
  29. package/fesm2015/colijnit-transaction.js +583 -508
  30. package/fesm2015/colijnit-transaction.js.map +1 -1
  31. package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +2 -2
  32. package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +2 -2
  33. package/lib/component/checkout/checkout.component.d.ts +2 -2
  34. package/lib/component/core/base/transaction-lines-base.component.d.ts +23 -2
  35. package/lib/component/transaction-line/transaction-line-label/style/_layout.scss +6 -0
  36. package/lib/component/transaction-line/transaction-overview-line/style/_layout.scss +15 -0
  37. package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +8 -2
  38. package/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.d.ts +16 -9
  39. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +5 -4
  40. package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +0 -19
  41. package/lib/component/transaction-lines/transaction-lines.component.d.ts +1 -19
  42. package/lib/component/transaction-lines-popup/style/_layout.scss +4 -0
  43. package/lib/component/transaction-lines-popup/transaction-lines-popup.component.d.ts +3 -1
  44. package/lib/component/transaction-navigation-button/transaction-navigation-button.component.d.ts +1 -0
  45. package/lib/component/transaction-navigation-button-list/style/_layout.scss +2 -0
  46. package/lib/component/transaction-navigation-button-list/transaction-navigation-button-list.component.d.ts +4 -0
  47. package/lib/enum/checkout-cfg-name.enum.d.ts +3 -3
  48. package/lib/model/transaction-line-view-model.d.ts +7 -0
  49. package/lib/service/line-selection.service.d.ts +6 -0
  50. package/lib/service/purchase-confirmation.service.d.ts +14 -4
  51. package/lib/service/transaction-event.service.d.ts +1 -0
  52. package/package.json +1 -1
  53. package/esm2015/lib/component/checkout/service/checkout-screen-configuration.service.js +0 -48
  54. package/lib/component/checkout/service/checkout-screen-configuration.service.d.ts +0 -12
@@ -12,6 +12,7 @@ import { TransactionService } from '../../../service/transaction.service';
12
12
  import { TransactionLineBaseComponent } from '../../core/base/transaction-line-base.component';
13
13
  import { TransactionHeaderService } from '../../core/base/service/transaction-header.service';
14
14
  import { TransactionLineService } from '../../core/base/service/transaction-line.service';
15
+ import { Icon } from "../../../enum/icon.enum";
15
16
  export class TransactionOverviewLineComponent extends TransactionLineBaseComponent {
16
17
  constructor(orderLineSetService, transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector) {
17
18
  super(transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector);
@@ -26,6 +27,7 @@ export class TransactionOverviewLineComponent extends TransactionLineBaseCompone
26
27
  this.transactionService = transactionService;
27
28
  this.changeDetector = changeDetector;
28
29
  this.category = TransactionTypeCategory;
30
+ this.icons = Icon;
29
31
  this.descriptionDblClick = new EventEmitter();
30
32
  this.stock = StockStatus.Low;
31
33
  this.noLabel = false; // Temp test without labels
@@ -47,10 +49,21 @@ export class TransactionOverviewLineComponent extends TransactionLineBaseCompone
47
49
  lineDiscountSpecial: this.cfgNames.LineDiscountSpecial,
48
50
  lineDiscountQuantum: this.cfgNames.LineDiscountQuantum
49
51
  };
52
+ this._subs = [];
50
53
  }
51
54
  showClass() {
52
55
  return true;
53
56
  }
57
+ ngOnInit() {
58
+ super.ngOnInit();
59
+ this._subs.push(this.transactionEventService.transactionLineRefTransactionsChanged.subscribe((value) => {
60
+ this.detectChanges();
61
+ }));
62
+ }
63
+ ngOnDestroy() {
64
+ this._subs.forEach(s => s.unsubscribe());
65
+ super.ngOnDestroy();
66
+ }
54
67
  handleCheckBoxValueChanged(value) {
55
68
  if (value) {
56
69
  this.transactionLine.orderLineSetCode = this.orderLineSetService.currentOrderLineSetCode;
@@ -60,6 +73,9 @@ export class TransactionOverviewLineComponent extends TransactionLineBaseCompone
60
73
  }
61
74
  this.transactionService.changeTransactionLineOrderLineSet(this.transactionInfo.uuid, this.transactionLine.uuid, this.transactionLine.orderLineSetCode);
62
75
  }
76
+ handleServiceExistingOrderNavigation(transNr) {
77
+ this.transactionEventService.serviceExistingOrderNavigation.next(transNr);
78
+ }
63
79
  onDescriptionDblClick() {
64
80
  this.descriptionDblClick.emit();
65
81
  }
@@ -68,117 +84,133 @@ TransactionOverviewLineComponent.decorators = [
68
84
  { type: Component, args: [{
69
85
  selector: "co-transaction-overview-line",
70
86
  template: `
71
- <co-transaction-base-line
72
- [transactionInfo]="transactionInfo"
73
- [transactionLine]="transactionLine"
74
- [preview]="preview"
75
- [isFirst]="isFirst"
76
- [checkbox]="orderLineSetService.currentOrderLineSetCode && (!transactionLine.orderLineSetCode || transactionLine.orderLineSetCode === orderLineSetService.currentOrderLineSetCode)"
77
- [checkboxValue]="orderLineSetService.currentOrderLineSetCode === transactionLine.orderLineSetCode"
78
- (checkboxValueChanged)="handleCheckBoxValueChanged($event)">
79
- <ng-container *ngIf="transactionLine.isArticle">
80
- <div class="transaction-line-wrapper">
81
- <div *ngIf=!preview class="transaction-line-extended-wrapper">
82
- <div class="column1">
83
- <co-transaction-line-statusbar
84
- [screenConfigurationObject]="cfgNames.StatusBar"
85
- [configNames]="statusBarConfigNames"
86
- [activeCategory]="category.SalesOrderOverview"></co-transaction-line-statusbar>
87
- </div>
88
- <div class="column2 big-column">
89
- <div class="transaction-field-wrapper">
90
- <div class="inside-field">
91
- <co-transaction-line-label [insideLabel]="'COMMISSION_CODE'"></co-transaction-line-label>
92
- <co-transaction-line-commission-button
93
- [screenConfigurationObject]="cfgNames.LineCommission"
94
- ></co-transaction-line-commission-button>
95
- </div>
96
- </div>
97
- <div class="transaction-field-wrapper">
98
- <div class="inside-field">
99
- <co-transaction-line-label [insideLabel]="'WAREHOUSE'"></co-transaction-line-label>
100
- <co-transaction-line-warehouse-button
101
- [screenConfigurationObject]="cfgNames.LineWarehouse"
102
- ></co-transaction-line-warehouse-button>
103
- </div>
104
- </div>
105
- <div class="transaction-field-wrapper">
106
- <div class="inside-field">
107
- <co-transaction-line-label [insideLabel]="'DIRECT_SELL'"></co-transaction-line-label>
108
- <co-transaction-line-direct-sell-button
109
- ></co-transaction-line-direct-sell-button>
110
- </div>
111
- </div>
112
- </div>
113
- <div class="column3 min">
114
- <div class="transaction-field-wrapper">
115
- <div class="inside-field">
116
- <co-transaction-line-label [insideLabel]="'DELIVERY_METHOD'"></co-transaction-line-label>
117
- <co-transaction-line-delivery-button
118
- [screenConfigurationObject]="cfgNames.LineDeliveryMethod"
119
- ></co-transaction-line-delivery-button>
120
- </div>
121
- </div>
122
- <div class="transaction-field-wrapper">
123
- <div class="inside-field">
124
- <co-transaction-line-label [insideLabel]="'DELIVERY_DATE'"></co-transaction-line-label>
125
- <co-transaction-line-delivery-date-button class="transaction-line-delivery-date two-column"
126
- [screenConfigurationObject]="cfgNames.LineDeliveryDate"
127
- ></co-transaction-line-delivery-date-button>
128
- </div>
129
- </div>
130
- </div>
131
- <div class="column4">
132
- <div class="transaction-field-wrapper">
133
- <div class="inside-field">
134
- <co-transaction-line-label [insideLabel]="'VAT'"></co-transaction-line-label>
135
- <co-transaction-line-vat-button *ngIf="!preview"
136
- [screenConfigurationObject]="cfgNames.LineVat"
137
- ></co-transaction-line-vat-button>
138
- </div>
139
- </div>
140
- <div class="transaction-field-wrapper">
141
- <div class="inside-field">
142
- <co-transaction-line-label [insideLabel]="'PRICE'"></co-transaction-line-label>
143
- <co-transaction-line-price class="transaction-line-totals-price price"
144
- [screenConfigurationObject]="cfgNames.LinePrice"
145
- [showLabel]="false"
146
- [defaultEditMode]="false"
147
- ></co-transaction-line-price>
148
- </div>
149
- </div>
150
- <div class="transaction-field-wrapper">
151
- <div class="inside-field">
152
- <co-transaction-line-label [insideLabel]="'DISCOUNT'"></co-transaction-line-label>
153
- <co-transaction-line-discount-button *ngIf="!preview"
154
- [screenConfigurationObject]="cfgNames.LineDiscount"
155
- [configNames]="discountConfigNames"
156
- ></co-transaction-line-discount-button>
157
- </div>
158
- </div>
159
- <div class="transaction-field-wrapper">
160
- <div class="inside-field">
161
- <co-transaction-line-label [insideLabel]="'QUANTITY'"></co-transaction-line-label>
162
- <co-transaction-line-amount class="amount-number-picker"
163
- [screenConfigurationObject]="cfgNames.LineAmount"
164
- ></co-transaction-line-amount>
165
- </div>
166
- </div>
167
- <div class="transaction-field-wrapper">
168
- <div class="inside-field">
169
- <co-transaction-line-label [insideLabel]="'TOTAL'"></co-transaction-line-label>
170
- <co-editable-label class="transaction-line-totals-total price"
171
- [model]="transactionLine.netLineTotal | coCurrency: true"
172
- [editModel]="transactionLine.netLineTotal"
173
- [readonly]="true"
174
- ></co-editable-label>
175
- </div>
176
- </div>
177
- </div>
178
- </div>
87
+ <co-transaction-base-line
88
+ [transactionInfo]="transactionInfo"
89
+ [transactionLine]="transactionLine"
90
+ [preview]="preview"
91
+ [isFirst]="isFirst"
92
+ [checkbox]="orderLineSetService.currentOrderLineSetCode && (!transactionLine.orderLineSetCode || transactionLine.orderLineSetCode === orderLineSetService.currentOrderLineSetCode)"
93
+ [checkboxValue]="orderLineSetService.currentOrderLineSetCode === transactionLine.orderLineSetCode"
94
+ (checkboxValueChanged)="handleCheckBoxValueChanged($event)">
95
+ <ng-container *ngIf="transactionLine.isArticle">
96
+ <div class="transaction-line-wrapper">
97
+ <div *ngIf=!preview class="transaction-line-extended-wrapper">
98
+ <div class="column1">
99
+ <co-transaction-line-statusbar
100
+ [screenConfigurationObject]="cfgNames.StatusBar"
101
+ [configNames]="statusBarConfigNames"
102
+ [activeCategory]="category.SalesOrderOverview"></co-transaction-line-statusbar>
103
+ </div>
104
+ <div class="column2 big-column">
105
+ <div class="transaction-field-wrapper">
106
+ <div class="inside-field">
107
+ <co-transaction-line-label [insideLabel]="'COMMISSION_CODE'"></co-transaction-line-label>
108
+ <co-transaction-line-commission-button
109
+ [screenConfigurationObject]="cfgNames.LineCommission"
110
+ ></co-transaction-line-commission-button>
111
+ </div>
112
+ </div>
113
+ <div class="transaction-field-wrapper"
114
+ *ngIf="transactionLine.refServiceTransactions && transactionLine.refServiceTransactions.length > 0">
115
+ <div class="inside-field">
116
+ <co-transaction-line-label *ngIf="transactionLine.refServiceTransactions.length > 1" class="red-label"
117
+ [insideLabel]="'SERVICE_ORDERS'"></co-transaction-line-label>
118
+ <co-transaction-navigation-button-list class="red-navigation-button"
119
+ [showRelationButton]="false"
120
+ [navigationButtonIcon]="icons.ScrewdriverWrenchRegular"
121
+ [screenConfigurationObject]="cfgNames.LineRefTransactions"
122
+ [refTransactions]="transactionLine.refServiceTransactions"
123
+ [emptyLabel]="'NO_SERVICE_ORDER' | localize"
124
+ [insideLabel]="'SERVICE_ORDER' | localize"
125
+ (transactionClick)="handleServiceExistingOrderNavigation($event)"
126
+ ></co-transaction-navigation-button-list>
127
+ </div>
128
+ </div>
129
+ <div class="transaction-field-wrapper">
130
+ <div class="inside-field">
131
+ <co-transaction-line-label [insideLabel]="'WAREHOUSE'"></co-transaction-line-label>
132
+ <co-transaction-line-warehouse-button
133
+ [screenConfigurationObject]="cfgNames.LineWarehouse"
134
+ ></co-transaction-line-warehouse-button>
135
+ </div>
136
+ </div>
137
+ <div class="transaction-field-wrapper">
138
+ <div class="inside-field">
139
+ <co-transaction-line-label [insideLabel]="'DIRECT_SELL'"></co-transaction-line-label>
140
+ <co-transaction-line-direct-sell-button
141
+ ></co-transaction-line-direct-sell-button>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ <div class="column3 min">
146
+ <div class="transaction-field-wrapper">
147
+ <div class="inside-field">
148
+ <co-transaction-line-label [insideLabel]="'DELIVERY_METHOD'"></co-transaction-line-label>
149
+ <co-transaction-line-delivery-button
150
+ [screenConfigurationObject]="cfgNames.LineDeliveryMethod"
151
+ ></co-transaction-line-delivery-button>
152
+ </div>
153
+ </div>
154
+ <div class="transaction-field-wrapper">
155
+ <div class="inside-field">
156
+ <co-transaction-line-label [insideLabel]="'DELIVERY_DATE'"></co-transaction-line-label>
157
+ <co-transaction-line-delivery-date-button class="transaction-line-delivery-date two-column"
158
+ [screenConfigurationObject]="cfgNames.LineDeliveryDate"
159
+ ></co-transaction-line-delivery-date-button>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ <div class="column4">
164
+ <div class="transaction-field-wrapper">
165
+ <div class="inside-field">
166
+ <co-transaction-line-label [insideLabel]="'VAT'"></co-transaction-line-label>
167
+ <co-transaction-line-vat-button *ngIf="!preview"
168
+ [screenConfigurationObject]="cfgNames.LineVat"
169
+ ></co-transaction-line-vat-button>
170
+ </div>
171
+ </div>
172
+ <div class="transaction-field-wrapper">
173
+ <div class="inside-field">
174
+ <co-transaction-line-label [insideLabel]="'PRICE'"></co-transaction-line-label>
175
+ <co-transaction-line-price class="transaction-line-totals-price price"
176
+ [screenConfigurationObject]="cfgNames.LinePrice"
177
+ [showLabel]="false"
178
+ [defaultEditMode]="false"
179
+ ></co-transaction-line-price>
180
+ </div>
181
+ </div>
182
+ <div class="transaction-field-wrapper">
183
+ <div class="inside-field">
184
+ <co-transaction-line-label [insideLabel]="'DISCOUNT'"></co-transaction-line-label>
185
+ <co-transaction-line-discount-button *ngIf="!preview"
186
+ [screenConfigurationObject]="cfgNames.LineDiscount"
187
+ [configNames]="discountConfigNames"
188
+ ></co-transaction-line-discount-button>
189
+ </div>
190
+ </div>
191
+ <div class="transaction-field-wrapper">
192
+ <div class="inside-field">
193
+ <co-transaction-line-label [insideLabel]="'QUANTITY'"></co-transaction-line-label>
194
+ <co-transaction-line-amount class="amount-number-picker"
195
+ [screenConfigurationObject]="cfgNames.LineAmount"
196
+ ></co-transaction-line-amount>
197
+ </div>
198
+ </div>
199
+ <div class="transaction-field-wrapper">
200
+ <div class="inside-field">
201
+ <co-transaction-line-label [insideLabel]="'TOTAL'"></co-transaction-line-label>
202
+ <co-editable-label class="transaction-line-totals-total price"
203
+ [model]="transactionLine.netLineTotal | coCurrency: true"
204
+ [editModel]="transactionLine.netLineTotal"
205
+ [readonly]="true"
206
+ ></co-editable-label>
207
+ </div>
179
208
  </div>
180
- </ng-container>
181
- </co-transaction-base-line>
209
+ </div>
210
+ </div>
211
+ </div>
212
+ </ng-container>
213
+ </co-transaction-base-line>
182
214
  `,
183
215
  encapsulation: ViewEncapsulation.None,
184
216
  changeDetection: ChangeDetectionStrategy.OnPush
@@ -201,4 +233,4 @@ TransactionOverviewLineComponent.propDecorators = {
201
233
  descriptionDblClick: [{ type: Output }],
202
234
  showClass: [{ type: HostBinding, args: ["class.co-transaction-overview-line",] }]
203
235
  };
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlGQUFpRixDQUFDO0FBQ3RJLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBR3JGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFN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ZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekosQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7O1lBdExGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnSFQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7WUE3SE8sbUJBQW1CO1lBS25CLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFUdEIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFFckMsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFuQnhCLGlCQUFpQjs7OzJDQWlKaEIsU0FBUyxTQUFDLHFDQUFxQztrQ0FHL0MsTUFBTTt3QkFHTixXQUFXLFNBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcmVmY29kZS9zdG9jay1zdGF0dXMuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1hY3Rpb24tYnV0dG9ucy90cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7TGluZURpc2NvdW50Q2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9saW5lLWRpc2NvdW50LWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge09yZGVyTGluZVNldFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvb3JkZXItbGluZS1zZXQtc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWxpbmUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24taGVhZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWxpbmUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1vdmVydmlldy1saW5lXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLXRyYW5zYWN0aW9uLWJhc2UtbGluZVxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgW3ByZXZpZXddPVwicHJldmlld1wiXHJcbiAgICAgICAgICBbaXNGaXJzdF09XCJpc0ZpcnN0XCJcclxuICAgICAgICAgIFtjaGVja2JveF09XCJvcmRlckxpbmVTZXRTZXJ2aWNlLmN1cnJlbnRPcmRlckxpbmVTZXRDb2RlICYmICghdHJhbnNhY3Rpb25MaW5lLm9yZGVyTGluZVNldENvZGUgfHwgdHJhbnNhY3Rpb25MaW5lLm9yZGVyTGluZVNldENvZGUgPT09IG9yZGVyTGluZVNldFNlcnZpY2UuY3VycmVudE9yZGVyTGluZVNldENvZGUpXCJcclxuICAgICAgICAgIFtjaGVja2JveFZhbHVlXT1cIm9yZGVyTGluZVNldFNlcnZpY2UuY3VycmVudE9yZGVyTGluZVNldENvZGUgPT09IHRyYW5zYWN0aW9uTGluZS5vcmRlckxpbmVTZXRDb2RlXCJcclxuICAgICAgICAgIChjaGVja2JveFZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVDaGVja0JveFZhbHVlQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJhbnNhY3Rpb25MaW5lLmlzQXJ0aWNsZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0hcHJldmlldyBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZXh0ZW5kZWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbjFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuU3RhdHVzQmFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwic3RhdHVzQmFyQ29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJjYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbjIgYmlnLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsIFtpbnNpZGVMYWJlbF09XCInQ09NTUlTU0lPTl9DT0RFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUNvbW1pc3Npb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidXQVJFSE9VU0UnXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ0RJUkVDVF9TRUxMJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlyZWN0LXNlbGwtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlyZWN0LXNlbGwtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbjMgbWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidERUxJVkVSWV9NRVRIT0QnXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURlbGl2ZXJ5TWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ0RFTElWRVJZX0RBVEUnXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlIHR3by1jb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbjRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1ZBVCdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbiAqbmdJZj1cIiFwcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVWYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1BSSUNFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1wcmljZSBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXByaWNlIHByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2U+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidESVNDT1VOVCdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwiZGlzY291bnRDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidRVUFOVElUWSdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50IGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWFtb3VudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1RPVEFMJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tZWRpdGFibGUtbGFiZWwgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy10b3RhbCBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUubmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeTogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLm5ldExpbmVUb3RhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1lZGl0YWJsZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9jby10cmFuc2FjdGlvbi1iYXNlLWxpbmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZUNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uTGluZUJhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoVHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc0NvbXBvbmVudClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uczogVHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc0NvbXBvbmVudDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlc2NyaXB0aW9uRGJsQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9jazogU3RvY2tTdGF0dXMgPSBTdG9ja1N0YXR1cy5Mb3c7XHJcblxyXG4gIHB1YmxpYyBub0xhYmVsOiBib29sZWFuID0gZmFsc2U7IC8vIFRlbXAgdGVzdCB3aXRob3V0IGxhYmVsc1xyXG5cclxuICBwdWJsaWMgc3RhdHVzQmFyQ29uZmlnTmFtZXM6IFN0YXR1c0JhckNmZ05hbWVzID0ge1xyXG4gICAgICBzdGF0dXNCYXJCVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCVCxcclxuICAgICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICAgIHN0YXR1c0JhclBBOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBBLFxyXG4gICAgICBzdGF0dXNCYXJQVjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQVixcclxuICAgICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICAgIHN0YXR1c0JhckdUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdULFxyXG4gICAgICBzdGF0dXNCYXJHUDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHUCxcclxuICAgICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICAgIHN0YXR1c0JhckdGOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdGXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzY291bnRDb25maWdOYW1lczogTGluZURpc2NvdW50Q2ZnTmFtZXMgPSB7XHJcbiAgICAgIGxpbmVQcmljZUxpc3Q6IHRoaXMuY2ZnTmFtZXMuTGluZVByaWNlTGlzdCxcclxuICAgICAgbGluZURpc2NvdW50QW1vdW50OiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudEFtb3VudCxcclxuICAgICAgbGluZURpc2NvdW50UGVyY2VudGFnZTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgICBsaW5lRGlzY291bnRTcGVjaWFsOiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudFNwZWNpYWwsXHJcbiAgICAgIGxpbmVEaXNjb3VudFF1YW50dW06IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UXVhbnR1bVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3JkZXJMaW5lU2V0U2VydmljZTogT3JkZXJMaW5lU2V0U2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVTZXJ2aWNlOiBUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uTGluZVNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNoZWNrQm94VmFsdWVDaGFuZ2VkKHZhbHVlOmJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5vcmRlckxpbmVTZXRDb2RlID0gdGhpcy5vcmRlckxpbmVTZXRTZXJ2aWNlLmN1cnJlbnRPcmRlckxpbmVTZXRDb2RlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUub3JkZXJMaW5lU2V0Q29kZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVPcmRlckxpbmVTZXQodGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUub3JkZXJMaW5lU2V0Q29kZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25EZXNjcmlwdGlvbkRibENsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXNjcmlwdGlvbkRibENsaWNrLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIl19
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlGQUFpRixDQUFDO0FBQ3RJLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBR3JGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFN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Q2hEOzs7WUEvSU8sbUJBQW1CO1lBS25CLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFUdEIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFFckMsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFuQnhCLGlCQUFpQjs7OzJDQW9LaEIsU0FBUyxTQUFDLHFDQUFxQztrQ0FHL0MsTUFBTTt3QkFHTixXQUFXLFNBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlZmNvZGUvc3RvY2stc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnR9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMvdHJhbnNhY3Rpb24tbGluZS1hY3Rpb24tYnV0dG9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7U3RhdHVzQmFyQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9zdGF0dXMtYmFyLWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0xpbmVEaXNjb3VudENmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvbGluZS1kaXNjb3VudC1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtPcmRlckxpbmVTZXRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL29yZGVyLWxpbmUtc2V0LXNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1saW5lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1saW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWJhc2UtbGluZVxyXG4gICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgW3ByZXZpZXddPVwicHJldmlld1wiXHJcbiAgICAgIFtpc0ZpcnN0XT1cImlzRmlyc3RcIlxyXG4gICAgICBbY2hlY2tib3hdPVwib3JkZXJMaW5lU2V0U2VydmljZS5jdXJyZW50T3JkZXJMaW5lU2V0Q29kZSAmJiAoIXRyYW5zYWN0aW9uTGluZS5vcmRlckxpbmVTZXRDb2RlIHx8IHRyYW5zYWN0aW9uTGluZS5vcmRlckxpbmVTZXRDb2RlID09PSBvcmRlckxpbmVTZXRTZXJ2aWNlLmN1cnJlbnRPcmRlckxpbmVTZXRDb2RlKVwiXHJcbiAgICAgIFtjaGVja2JveFZhbHVlXT1cIm9yZGVyTGluZVNldFNlcnZpY2UuY3VycmVudE9yZGVyTGluZVNldENvZGUgPT09IHRyYW5zYWN0aW9uTGluZS5vcmRlckxpbmVTZXRDb2RlXCJcclxuICAgICAgKGNoZWNrYm94VmFsdWVDaGFuZ2VkKT1cImhhbmRsZUNoZWNrQm94VmFsdWVDaGFuZ2VkKCRldmVudClcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYW5zYWN0aW9uTGluZS5pc0FydGljbGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPSFwcmV2aWV3IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1leHRlbmRlZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4xXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyXHJcbiAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5TdGF0dXNCYXJcIlxyXG4gICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cInN0YXR1c0JhckNvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJjYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbjIgYmlnLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsIFtpbnNpZGVMYWJlbF09XCInQ09NTUlTU0lPTl9DT0RFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQ29tbWlzc2lvblwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uTGluZS5yZWZTZXJ2aWNlVHJhbnNhY3Rpb25zICYmIHRyYW5zYWN0aW9uTGluZS5yZWZTZXJ2aWNlVHJhbnNhY3Rpb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgKm5nSWY9XCJ0cmFuc2FjdGlvbkxpbmUucmVmU2VydmljZVRyYW5zYWN0aW9ucy5sZW5ndGggPiAxXCIgY2xhc3M9XCJyZWQtbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5zaWRlTGFiZWxdPVwiJ1NFUlZJQ0VfT1JERVJTJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLW5hdmlnYXRpb24tYnV0dG9uLWxpc3QgY2xhc3M9XCJyZWQtbmF2aWdhdGlvbi1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93UmVsYXRpb25CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uQnV0dG9uSWNvbl09XCJpY29ucy5TY3Jld2RyaXZlcldyZW5jaFJlZ3VsYXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVSZWZUcmFuc2FjdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWZUcmFuc2FjdGlvbnNdPVwidHJhbnNhY3Rpb25MaW5lLnJlZlNlcnZpY2VUcmFuc2FjdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlbXB0eUxhYmVsXT1cIidOT19TRVJWSUNFX09SREVSJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5zaWRlTGFiZWxdPVwiJ1NFUlZJQ0VfT1JERVInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICh0cmFuc2FjdGlvbkNsaWNrKT1cImhhbmRsZVNlcnZpY2VFeGlzdGluZ09yZGVyTmF2aWdhdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbmF2aWdhdGlvbi1idXR0b24tbGlzdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsIFtpbnNpZGVMYWJlbF09XCInV0FSRUhPVVNFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ0RJUkVDVF9TRUxMJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlyZWN0LXNlbGwtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlyZWN0LXNlbGwtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uMyBtaW5cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ0RFTElWRVJZX01FVEhPRCdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeU1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidERUxJVkVSWV9EQVRFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24gY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUgdHdvLWNvbHVtblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uNFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsIFtpbnNpZGVMYWJlbF09XCInVkFUJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbiAqbmdJZj1cIiFwcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lVmF0XCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidQUklDRSdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXByaWNlIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtcHJpY2UgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRFZGl0TW9kZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2U+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ0RJU0NPVU5UJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURpc2NvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJkaXNjb3VudENvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1FVQU5USVRZJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50IGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidUT1RBTCdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1lZGl0YWJsZS1sYWJlbCBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXRvdGFsIHByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUubmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeTogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdE1vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5uZXRMaW5lVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1lZGl0YWJsZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvY28tdHJhbnNhY3Rpb24tYmFzZS1saW5lPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25PdmVydmlld0xpbmVDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoVHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc0NvbXBvbmVudClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uczogVHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc0NvbXBvbmVudDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlc2NyaXB0aW9uRGJsQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9jazogU3RvY2tTdGF0dXMgPSBTdG9ja1N0YXR1cy5Mb3c7XHJcblxyXG4gIHB1YmxpYyBub0xhYmVsOiBib29sZWFuID0gZmFsc2U7IC8vIFRlbXAgdGVzdCB3aXRob3V0IGxhYmVsc1xyXG5cclxuICBwdWJsaWMgc3RhdHVzQmFyQ29uZmlnTmFtZXM6IFN0YXR1c0JhckNmZ05hbWVzID0ge1xyXG4gICAgICBzdGF0dXNCYXJCVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCVCxcclxuICAgICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICAgIHN0YXR1c0JhclBBOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBBLFxyXG4gICAgICBzdGF0dXNCYXJQVjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQVixcclxuICAgICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICAgIHN0YXR1c0JhckdUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdULFxyXG4gICAgICBzdGF0dXNCYXJHUDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHUCxcclxuICAgICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICAgIHN0YXR1c0JhckdGOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdGXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzY291bnRDb25maWdOYW1lczogTGluZURpc2NvdW50Q2ZnTmFtZXMgPSB7XHJcbiAgICAgIGxpbmVQcmljZUxpc3Q6IHRoaXMuY2ZnTmFtZXMuTGluZVByaWNlTGlzdCxcclxuICAgICAgbGluZURpc2NvdW50QW1vdW50OiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudEFtb3VudCxcclxuICAgICAgbGluZURpc2NvdW50UGVyY2VudGFnZTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgICBsaW5lRGlzY291bnRTcGVjaWFsOiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudFNwZWNpYWwsXHJcbiAgICAgIGxpbmVEaXNjb3VudFF1YW50dW06IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UXVhbnR1bVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3JkZXJMaW5lU2V0U2VydmljZTogT3JkZXJMaW5lU2V0U2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVTZXJ2aWNlOiBUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uTGluZVNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZVJlZlRyYW5zYWN0aW9uc0NoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2hlY2tCb3hWYWx1ZUNoYW5nZWQodmFsdWU6Ym9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLm9yZGVyTGluZVNldENvZGUgPSB0aGlzLm9yZGVyTGluZVNldFNlcnZpY2UuY3VycmVudE9yZGVyTGluZVNldENvZGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5vcmRlckxpbmVTZXRDb2RlID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmNoYW5nZVRyYW5zYWN0aW9uTGluZU9yZGVyTGluZVNldCh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS51dWlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS5vcmRlckxpbmVTZXRDb2RlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZXJ2aWNlRXhpc3RpbmdPcmRlck5hdmlnYXRpb24odHJhbnNOcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlcnZpY2VFeGlzdGluZ09yZGVyTmF2aWdhdGlvbi5uZXh0KHRyYW5zTnIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRGVzY3JpcHRpb25EYmxDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzY3JpcHRpb25EYmxDbGljay5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -27,6 +27,7 @@ import { TransactionPlanningLineModule } from "../transaction-planning-line/tran
27
27
  import { TransactionMarginInfoLineModule } from "../transaction-margin-info-line/transaction-margin-info-line.module";
28
28
  import { TransactionLineLabelModule } from "../transaction-line-label/transaction-line-label.module";
29
29
  import { TransactionLineDirectSellButtonModule } from '../../transaction-line-fields/transaction-line-direct-sell-button.module';
30
+ import { TransactionNavigationButtonListModule } from "../../transaction-navigation-button-list/transaction-navigation-button-list.module";
30
31
  export class TransactionOverviewLineModule {
31
32
  }
32
33
  TransactionOverviewLineModule.decorators = [
@@ -62,7 +63,8 @@ TransactionOverviewLineModule.decorators = [
62
63
  ObserveVisibilityModule,
63
64
  ScreenConfigurationModule,
64
65
  TransactionLineLabelModule,
65
- TransactionLineDirectSellButtonModule
66
+ TransactionLineDirectSellButtonModule,
67
+ TransactionNavigationButtonListModule
66
68
  ],
67
69
  declarations: [
68
70
  TransactionOverviewLineComponent,
@@ -72,4 +74,4 @@ TransactionOverviewLineModule.decorators = [
72
74
  ]
73
75
  },] }
74
76
  ];
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNILFlBQVksRUFDWixVQUFVLEVBQ1YsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDNUIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUNuSCxPQUFPLEVBQ0gsb0NBQW9DLEVBQ3ZDLE1BQU0seUZBQXlGLENBQUM7QUFDakcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUNoSSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0seUVBQXlFLENBQUM7QUFDOUgsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDNUgsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDMUgsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDbkksT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sOEZBQThGLENBQUM7QUFDNUksT0FBTyxFQUNILG1DQUFtQyxFQUN0QyxNQUFNLHdHQUF3RyxDQUFDO0FBQ2hILE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ2xILE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQzlILE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQzFILE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzVHLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ3BILE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBMkMvSCxNQUFNLE9BQU8sNkJBQTZCOzs7WUF6Q3pDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixVQUFVO29CQUNWLFlBQVk7b0JBQ1osdUJBQXVCO29CQUN2Qiw0QkFBNEI7b0JBQzVCLG9DQUFvQztvQkFDcEMsVUFBVTtvQkFDVixrQ0FBa0M7b0JBQ2xDLFVBQVU7b0JBQ1YsbUJBQW1CO29CQUNuQiwwQkFBMEI7b0JBQzFCLGdDQUFnQztvQkFDaEMseUJBQXlCO29CQUN6QixjQUFjO29CQUNkLHFDQUFxQztvQkFDckMsb0NBQW9DO29CQUNwQyxtQ0FBbUM7b0JBQ25DLHVDQUF1QztvQkFDdkMsOEJBQThCO29CQUM5QixtQ0FBbUM7b0JBQ25DLDhCQUE4QjtvQkFDOUIsMkJBQTJCO29CQUMzQiw4QkFBOEI7b0JBQzlCLG1DQUFtQztvQkFDbkMsaUNBQWlDO29CQUNqQywrQkFBK0I7b0JBQy9CLDZCQUE2QjtvQkFDN0IsdUJBQXVCO29CQUN2Qix5QkFBeUI7b0JBQ3pCLDBCQUEwQjtvQkFDMUIscUNBQXFDO2lCQUN0QztnQkFDRCxZQUFZLEVBQUU7b0JBQ1osZ0NBQWdDO2lCQUNqQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZ0NBQWdDO2lCQUNqQzthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgT2JzZXJ2ZVZpc2liaWxpdHlNb2R1bGUsXHJcbiAgICBTY3JlZW5Db25maWd1cmF0aW9uTW9kdWxlXHJcbn0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BcnRpY2xlVGV4dE1vZHVsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRPdmVydmlld01vZHVsZVxyXG59IGZyb20gJy4uLy4uL3NoYXJlZC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3Lm1vZHVsZSc7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSAnLi4vLi4vY29yZS9jb3JlLm1vZHVsZSc7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc01vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1hY3Rpb24tYnV0dG9ucy90cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zLm1vZHVsZSc7XHJcbmltcG9ydCB7RWRpdGFibGVMYWJlbE1vZHVsZX0gZnJvbSAnLi4vLi4vZWRpdGFibGUtbGFiZWwvZWRpdGFibGUtbGFiZWwubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVEZXNjcmlwdGlvbk1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1maWVsZHMvdHJhbnNhY3Rpb24tbGluZS1kZXNjcmlwdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uT3ZlcnZpZXdMaW5lQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VMaW5lTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1iYXNlLWxpbmUvdHJhbnNhY3Rpb24tYmFzZS1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7RHJhZ0Ryb3BNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUNvbW1pc3Npb25CdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2VCdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZURlbGl2ZXJ5QnV0dG9uTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lLWZpZWxkcy90cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZURlbGl2ZXJ5RGF0ZUJ1dHRvbk1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1maWVsZHMvdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge0RpYWxvZ1RyYW5zYWN0aW9uTGluZVZhdE1vZHVsZX0gZnJvbSAnLi4vLi4vZGlhbG9nL3RyYW5zYWN0aW9uLWxpbmUvZGlhbG9nLXRyYW5zYWN0aW9uLWxpbmUtdmF0L2RpYWxvZy10cmFuc2FjdGlvbi1saW5lLXZhdC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgRGlhbG9nVHJhbnNhY3Rpb25MaW5lRGlzY291bnRNb2R1bGVcclxufSBmcm9tICcuLi8uLi9kaWFsb2cvdHJhbnNhY3Rpb24tbGluZS9kaWFsb2ctdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC9kaWFsb2ctdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVN0YXR1c2Jhck1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXIvdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXIubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVBbW91bnRNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtYW1vdW50Lm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lUHJpY2VNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtcHJpY2UvdHJhbnNhY3Rpb24tbGluZS1wcmljZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVZhdEJ1dHRvbk1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1maWVsZHMvdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lRGlzY291bnRCdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lRGVsaXZlcnlEYXRlTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lLWZpZWxkcy90cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblBsYW5uaW5nTGluZU1vZHVsZX0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUvdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbk1hcmdpbkluZm9MaW5lTW9kdWxlfSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24tbWFyZ2luLWluZm8tbGluZS90cmFuc2FjdGlvbi1tYXJnaW4taW5mby1saW5lLm1vZHVsZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUxhYmVsTW9kdWxlfSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24tbGluZS1sYWJlbC90cmFuc2FjdGlvbi1saW5lLWxhYmVsLm1vZHVsZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZURpcmVjdFNlbGxCdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtZGlyZWN0LXNlbGwtYnV0dG9uLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXdNb2R1bGUsXHJcbiAgICBQaXBlTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc01vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBFZGl0YWJsZUxhYmVsTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lUHJpY2VNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkxpbmVEZXNjcmlwdGlvbk1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uQmFzZUxpbmVNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uTGluZUNvbW1pc3Npb25CdXR0b25Nb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2VCdXR0b25Nb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkxpbmVEZWxpdmVyeUJ1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uTGluZURlbGl2ZXJ5RGF0ZUJ1dHRvbk1vZHVsZSxcclxuICAgIERpYWxvZ1RyYW5zYWN0aW9uTGluZVZhdE1vZHVsZSxcclxuICAgIERpYWxvZ1RyYW5zYWN0aW9uTGluZURpc2NvdW50TW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lU3RhdHVzYmFyTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lQW1vdW50TW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lVmF0QnV0dG9uTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lRGlzY291bnRCdXR0b25Nb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkxpbmVEZWxpdmVyeURhdGVNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbk1hcmdpbkluZm9MaW5lTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25QbGFubmluZ0xpbmVNb2R1bGUsXHJcbiAgICBPYnNlcnZlVmlzaWJpbGl0eU1vZHVsZSxcclxuICAgIFNjcmVlbkNvbmZpZ3VyYXRpb25Nb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkxpbmVMYWJlbE1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uTGluZURpcmVjdFNlbGxCdXR0b25Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhbnNhY3Rpb25PdmVydmlld0xpbmVDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uT3ZlcnZpZXdMaW5lTW9kdWxlIHt9XHJcbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNILFlBQVksRUFDWixVQUFVLEVBQ1YsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDNUIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUNuSCxPQUFPLEVBQ0gsb0NBQW9DLEVBQ3ZDLE1BQU0seUZBQXlGLENBQUM7QUFDakcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUNoSSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0seUVBQXlFLENBQUM7QUFDOUgsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDNUgsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDMUgsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDbkksT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sOEZBQThGLENBQUM7QUFDNUksT0FBTyxFQUNILG1DQUFtQyxFQUN0QyxNQUFNLHdHQUF3RyxDQUFDO0FBQ2hILE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ2xILE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQzlILE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQzFILE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzVHLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ3BILE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQy9ILE9BQU8sRUFDSCxxQ0FBcUMsRUFDeEMsTUFBTSxvRkFBb0YsQ0FBQztBQTRDNUYsTUFBTSxPQUFPLDZCQUE2Qjs7O1lBMUN6QyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixZQUFZO29CQUNaLHVCQUF1QjtvQkFDdkIsNEJBQTRCO29CQUM1QixvQ0FBb0M7b0JBQ3BDLFVBQVU7b0JBQ1Ysa0NBQWtDO29CQUNsQyxVQUFVO29CQUNWLG1CQUFtQjtvQkFDbkIsMEJBQTBCO29CQUMxQixnQ0FBZ0M7b0JBQ2hDLHlCQUF5QjtvQkFDekIsY0FBYztvQkFDZCxxQ0FBcUM7b0JBQ3JDLG9DQUFvQztvQkFDcEMsbUNBQW1DO29CQUNuQyx1Q0FBdUM7b0JBQ3ZDLDhCQUE4QjtvQkFDOUIsbUNBQW1DO29CQUNuQyw4QkFBOEI7b0JBQzlCLDJCQUEyQjtvQkFDM0IsOEJBQThCO29CQUM5QixtQ0FBbUM7b0JBQ25DLGlDQUFpQztvQkFDakMsK0JBQStCO29CQUMvQiw2QkFBNkI7b0JBQzdCLHVCQUF1QjtvQkFDdkIseUJBQXlCO29CQUN6QiwwQkFBMEI7b0JBQzFCLHFDQUFxQztvQkFDckMscUNBQXFDO2lCQUN4QztnQkFDSCxZQUFZLEVBQUU7b0JBQ1osZ0NBQWdDO2lCQUNqQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZ0NBQWdDO2lCQUNqQzthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgT2JzZXJ2ZVZpc2liaWxpdHlNb2R1bGUsXHJcbiAgICBTY3JlZW5Db25maWd1cmF0aW9uTW9kdWxlXHJcbn0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BcnRpY2xlVGV4dE1vZHVsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRPdmVydmlld01vZHVsZVxyXG59IGZyb20gJy4uLy4uL3NoYXJlZC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3Lm1vZHVsZSc7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSAnLi4vLi4vY29yZS9jb3JlLm1vZHVsZSc7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc01vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1hY3Rpb24tYnV0dG9ucy90cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zLm1vZHVsZSc7XHJcbmltcG9ydCB7RWRpdGFibGVMYWJlbE1vZHVsZX0gZnJvbSAnLi4vLi4vZWRpdGFibGUtbGFiZWwvZWRpdGFibGUtbGFiZWwubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVEZXNjcmlwdGlvbk1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1maWVsZHMvdHJhbnNhY3Rpb24tbGluZS1kZXNjcmlwdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uT3ZlcnZpZXdMaW5lQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VMaW5lTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1iYXNlLWxpbmUvdHJhbnNhY3Rpb24tYmFzZS1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7RHJhZ0Ryb3BNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUNvbW1pc3Npb25CdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2VCdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZURlbGl2ZXJ5QnV0dG9uTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lLWZpZWxkcy90cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZURlbGl2ZXJ5RGF0ZUJ1dHRvbk1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1maWVsZHMvdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge0RpYWxvZ1RyYW5zYWN0aW9uTGluZVZhdE1vZHVsZX0gZnJvbSAnLi4vLi4vZGlhbG9nL3RyYW5zYWN0aW9uLWxpbmUvZGlhbG9nLXRyYW5zYWN0aW9uLWxpbmUtdmF0L2RpYWxvZy10cmFuc2FjdGlvbi1saW5lLXZhdC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgRGlhbG9nVHJhbnNhY3Rpb25MaW5lRGlzY291bnRNb2R1bGVcclxufSBmcm9tICcuLi8uLi9kaWFsb2cvdHJhbnNhY3Rpb24tbGluZS9kaWFsb2ctdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC9kaWFsb2ctdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVN0YXR1c2Jhck1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXIvdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXIubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVBbW91bnRNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtYW1vdW50Lm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lUHJpY2VNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtcHJpY2UvdHJhbnNhY3Rpb24tbGluZS1wcmljZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVZhdEJ1dHRvbk1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1maWVsZHMvdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lRGlzY291bnRCdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lRGVsaXZlcnlEYXRlTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lLWZpZWxkcy90cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblBsYW5uaW5nTGluZU1vZHVsZX0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUvdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbk1hcmdpbkluZm9MaW5lTW9kdWxlfSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24tbWFyZ2luLWluZm8tbGluZS90cmFuc2FjdGlvbi1tYXJnaW4taW5mby1saW5lLm1vZHVsZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUxhYmVsTW9kdWxlfSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24tbGluZS1sYWJlbC90cmFuc2FjdGlvbi1saW5lLWxhYmVsLm1vZHVsZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZURpcmVjdFNlbGxCdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtZmllbGRzL3RyYW5zYWN0aW9uLWxpbmUtZGlyZWN0LXNlbGwtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbk5hdmlnYXRpb25CdXR0b25MaXN0TW9kdWxlXHJcbn0gZnJvbSBcIi4uLy4uL3RyYW5zYWN0aW9uLW5hdmlnYXRpb24tYnV0dG9uLWxpc3QvdHJhbnNhY3Rpb24tbmF2aWdhdGlvbi1idXR0b24tbGlzdC5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIENvcmVNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25BcnRpY2xlVGV4dE92ZXJ2aWV3TW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc01vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLFxyXG4gICAgICAgIEVkaXRhYmxlTGFiZWxNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lUHJpY2VNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lRGVzY3JpcHRpb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25CYXNlTGluZU1vZHVsZSxcclxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkxpbmVDb21taXNzaW9uQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uTGluZVdhcmVob3VzZUJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkxpbmVEZWxpdmVyeUJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkxpbmVEZWxpdmVyeURhdGVCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgRGlhbG9nVHJhbnNhY3Rpb25MaW5lVmF0TW9kdWxlLFxyXG4gICAgICAgIERpYWxvZ1RyYW5zYWN0aW9uTGluZURpc2NvdW50TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uTGluZVN0YXR1c2Jhck1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkxpbmVBbW91bnRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lVmF0QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uTGluZURpc2NvdW50QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uTGluZURlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbk1hcmdpbkluZm9MaW5lTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uUGxhbm5pbmdMaW5lTW9kdWxlLFxyXG4gICAgICAgIE9ic2VydmVWaXNpYmlsaXR5TW9kdWxlLFxyXG4gICAgICAgIFNjcmVlbkNvbmZpZ3VyYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lTGFiZWxNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lRGlyZWN0U2VsbEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbk5hdmlnYXRpb25CdXR0b25MaXN0TW9kdWxlXHJcbiAgICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhbnNhY3Rpb25PdmVydmlld0xpbmVDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uT3ZlcnZpZXdMaW5lTW9kdWxlIHt9XHJcbiJdfQ==
@@ -87,7 +87,7 @@ export class TransactionPurchaseOrderLineBaseComponent extends TransactionLineBa
87
87
  try {
88
88
  const droppedData = JSON.parse(event.dataTransfer.getData('orderconfirmationanalysis'));
89
89
  this._purchaseConfirmationService.linkAnalysisToTransactionLine(this.transactionLine, droppedData);
90
- this.changeDetector.markForCheck();
90
+ this.detectChanges();
91
91
  }
92
92
  catch (e) {
93
93
  }
@@ -160,4 +160,4 @@ TransactionPurchaseOrderLineBaseComponent.ctorParameters = () => [
160
160
  { type: PurchaseConfirmationService },
161
161
  { type: ColorSequenceService }
162
162
  ];
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUU5RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUd0RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUczRixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdC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LENBQUMsSUFBK0Q7UUFDOUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDcEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztRQUN4RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OztZQXBKRixTQUFTOzs7WUFIRix3QkFBd0I7WUFDeEIsc0JBQXNCO1lBWnRCLHVCQUF1QjtZQUV2QixnQkFBZ0I7WUFDaEIscUNBQXFDO1lBRXJDLHVCQUF1QjtZQUR2QixpQkFBaUI7WUFIakIsa0JBQWtCO1lBVGxCLGlCQUFpQjtZQWVqQiwyQkFBMkI7WUFEM0Isb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtHZXRQdXJjaGFzZVBvcnRhbExpbmV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtcHVyY2hhc2UtcG9ydGFsLWxpbmUnO1xyXG5pbXBvcnQge1B1cmNoYXNlUG9ydGFsRmlsdGVyc30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLXBvcnRhbC1maWx0ZXJzLmJvJztcclxuaW1wb3J0IHtQdXJjaGFzZVBvcnRhbExpbmV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wdXJjaGFzZS1wb3J0YWwtbGluZS5ibyc7XHJcbmltcG9ydCB7T3JkZXJDb25maXJtYXRpb25BbmFseXNpc1Jlc3VsdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWNvbmZpcm1hdGlvbi1hbmFseXNpcy1yZXN1bHQuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvbG9yU2VxdWVuY2VTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtQdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvcHVyY2hhc2UtY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N0YXR1c0JhckNmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2Uvc3RhdHVzLWJhci1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtPcmRlckNvbmZpcm1hdGlvbkRyb3BwZWR9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9vcmRlci1jb25maXJtYXRpb24tZHJvcHBlZC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1saW5lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1saW5lLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lQmFzZUNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uTGluZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuXHJcbiAgcHVibGljIHNob3dDaGVja2JveEZvckxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc3RhdHVzQmFyQ29uZmlnTmFtZXM6IFN0YXR1c0JhckNmZ05hbWVzID0ge1xyXG4gICAgc3RhdHVzQmFySUI6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFySUIsXHJcbiAgICBzdGF0dXNCYXJOVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJOVCxcclxuICAgIHN0YXR1c0JhckJOOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJOLFxyXG4gICAgc3RhdHVzQmFyQkc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyQkcsXHJcbiAgICBzdGF0dXNCYXJGQzogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJGQ1xyXG4gIH1cclxuICBwdWJsaWMgc2hvd0NvbG9ySW5kaWNhdG9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNvbG9ySW5kaWNhdG9yQ29sb3I6IHN0cmluZztcclxuXHJcbiAgcHJvdGVjdGVkIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3B1cmNoYXNlUG9ydGFsTGluZXNSZXNwb25zZTogUHVyY2hhc2VQb3J0YWxMaW5lW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZTogVHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uTGluZVNlcnZpY2U6IFRyYW5zYWN0aW9uTGluZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2U6IFB1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NvbG9yU2VxdWVuY2VTZXJ2aWNlOiBDb2xvclNlcXVlbmNlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLCB0cmFuc2FjdGlvbkxpbmVTZXJ2aWNlLCB0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgc2NyZWVuQ29uZmlnU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlLGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9yZGVyQ29uZmlybWF0aW9uRHJvcHBlZC5zdWJzY3JpYmUoKGRhdGE6IE9yZGVyQ29uZmlybWF0aW9uRHJvcHBlZCkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICBpZiAoZGF0YS5saW5lTnIgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yID09PSBkYXRhLmxpbmVOcikge1xyXG4gICAgICAgICAgICAgIHRoaXMuX3ByZXBhcmVDb25maXJtYXRpb25EYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmtlZEFuYWx5c2lzUmVzdWx0SWQgPT09IGRhdGEuYW5hbHlzaXNSZXN1bHRJZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2NsZWFyQ29uZmlybWF0aW9uRGF0YSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2NsZWFyQ29uZmlybWF0aW9uRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3JkZXJDb25maXJtYXRpb25SZXNldC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NsZWFyQ29uZmlybWF0aW9uRGF0YSgpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5zZWxlY3RBbGxTYWxlc09yZGVyTGluZXNGb3JQdXJjaGFzZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPSB2YWx1ZSAmJiB0aGlzLnNob3dDaGVja2JveEZvckxpbmU7XHJcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm92ZXJ3cml0ZVB1cmNoYXNlT3JkZXJDb25maXJtYXRpb25Db21wbGV0ZWRDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlQ29uZmlybWF0aW9uT3ZlcndyaXRlKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzWzBdID09PSAnb3JkZXJjb25maXJtYXRpb25hbmFseXNpcycpIHsgLy8gYWxsIGxvd2VyY2FzZVxyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9IFwibGlua1wiO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZURyYWdnZWRPdmVyLm5leHQodGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gXCJub25lXCI7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lRHJhZ2dlZE92ZXIubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyYWdMZWF2ZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lRHJhZ2dlZE92ZXIubmV4dCh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZHJvcHBlZERhdGEgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKCdvcmRlcmNvbmZpcm1hdGlvbmFuYWx5c2lzJykpIGFzIE9yZGVyQ29uZmlybWF0aW9uQW5hbHlzaXNSZXN1bHQ7XHJcbiAgICAgIHRoaXMuX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZS5saW5rQW5hbHlzaXNUb1RyYW5zYWN0aW9uTGluZSh0aGlzLnRyYW5zYWN0aW9uTGluZSwgZHJvcHBlZERhdGEpO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uTGluZVNldCgpO1xyXG4gICAgdGhpcy5fZ2V0UHVyY2hhc2VQb3J0YWxMaW5lKCk7XHJcbiAgICB0aGlzLnNob3dDaGVja2JveEZvckxpbmUgPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJlxyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UHVyY2hhc2VDb25maXJtZWQgIT09IHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB2aXNpYmlsaXR5U2V0KCkge1xyXG4gICAgc3VwZXIudmlzaWJpbGl0eVNldCgpO1xyXG4gICAgdGhpcy5fZ2V0UHVyY2hhc2VQb3J0YWxMaW5lKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9nZXRQdXJjaGFzZVBvcnRhbExpbmUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25JbmZvIHx8ICF0aGlzLnRyYW5zYWN0aW9uTGluZSB8fCAhdGhpcy52aXNpYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGdldFB1cmNoYXNlUG9ydGFsTGluZTogR2V0UHVyY2hhc2VQb3J0YWxMaW5lID0gbmV3IEdldFB1cmNoYXNlUG9ydGFsTGluZSgpO1xyXG4gICAgY29uc3QgcHVyY2hhc2VQb3J0YWxGaWx0ZXI6IFB1cmNoYXNlUG9ydGFsRmlsdGVycyA9IG5ldyBQdXJjaGFzZVBvcnRhbEZpbHRlcnMoKTtcclxuXHJcbiAgICBwdXJjaGFzZVBvcnRhbEZpbHRlci5wdXJjaGFzZU9yZGVyTm8gPSB0aGlzLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbk5yLnRvU3RyaW5nKCk7XHJcbiAgICBwdXJjaGFzZVBvcnRhbEZpbHRlci5saW5lSWQgPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIudG9TdHJpbmcoKTtcclxuICAgIGdldFB1cmNoYXNlUG9ydGFsTGluZS50cmFuc0lkUHVyY2hhc2UgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIGdldFB1cmNoYXNlUG9ydGFsTGluZS5kb2NLaW5kID0gXCJJQlwiO1xyXG4gICAgZ2V0UHVyY2hhc2VQb3J0YWxMaW5lLmZpbHRlck9iamVjdCA9IHB1cmNoYXNlUG9ydGFsRmlsdGVyO1xyXG5cclxuICAgIHRoaXMuX3B1cmNoYXNlUG9ydGFsTGluZXNSZXNwb25zZSA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFB1cmNoYXNlUG9ydGFsTGluZXMoZ2V0UHVyY2hhc2VQb3J0YWxMaW5lKTtcclxuICAgIGlmICh0aGlzLl9wdXJjaGFzZVBvcnRhbExpbmVzUmVzcG9uc2UubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUgPSB0aGlzLl9wdXJjaGFzZVBvcnRhbExpbmVzUmVzcG9uc2VbMF07XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnF1YW50aXR5UHVyY2hhc2VUb0NvbmZpcm0gPSArdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudE9yZGVyZWQgLSArdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudENvbmZpcm1lZFRhcmdldDtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVDaGFuZ2VkLm5leHQodGhpcy50cmFuc2FjdGlvbkxpbmUpO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZUNvbmZpcm1hdGlvbk92ZXJ3cml0ZSgpIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudENvbmZpcm1lZCA9ICcwJztcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucXVhbnRpdHlQdXJjaGFzZVRvQ29uZmlybSA9ICt0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50Q29uZmlybWVkVGFyZ2V0O1xyXG4gICAgICB0aGlzLnNob3dDaGVja2JveEZvckxpbmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVDb25maXJtYXRpb25EYXRhKGRhdGE6IHtsaW5lTnI6IG51bWJlciwgYW5hbHlzaXNSZXN1bHRJZDogbnVtYmVyLCBjb2xvcjogc3RyaW5nfSk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkxpbmUubGlua2VkQW5hbHlzaXNSZXN1bHRJZCA9IGRhdGEuYW5hbHlzaXNSZXN1bHRJZDtcclxuICAgIHRoaXMuc2hvd0NvbG9ySW5kaWNhdG9yID0gdHJ1ZTtcclxuICAgIHRoaXMuY29sb3JJbmRpY2F0b3JDb2xvciA9IGRhdGEuY29sb3I7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NsZWFyQ29uZmlybWF0aW9uRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmtlZEFuYWx5c2lzUmVzdWx0SWQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dDb2xvckluZGljYXRvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5jb2xvckluZGljYXRvckNvbG9yID0gXCJcIjtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUd0RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUczRixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdC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RDtRQUM5RixJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLEdBQUcsU0FBUyxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7O1lBcEpGLFNBQVM7OztZQUhGLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFadEIsdUJBQXVCO1lBRXZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFFckMsdUJBQXVCO1lBRHZCLGlCQUFpQjtZQUhqQixrQkFBa0I7WUFSbEIsaUJBQWlCO1lBY2pCLDJCQUEyQjtZQUQzQixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7R2V0UHVyY2hhc2VQb3J0YWxMaW5lfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXB1cmNoYXNlLXBvcnRhbC1saW5lJztcclxuaW1wb3J0IHtQdXJjaGFzZVBvcnRhbEZpbHRlcnN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wdXJjaGFzZS1wb3J0YWwtZmlsdGVycy5ibyc7XHJcbmltcG9ydCB7UHVyY2hhc2VQb3J0YWxMaW5lfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHVyY2hhc2UtcG9ydGFsLWxpbmUuYm8nO1xyXG5pbXBvcnQge09yZGVyQ29uZmlybWF0aW9uQW5hbHlzaXNSZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1jb25maXJtYXRpb24tYW5hbHlzaXMtcmVzdWx0LmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb2xvclNlcXVlbmNlU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3B1cmNoYXNlLWNvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7T3JkZXJDb25maXJtYXRpb25Ecm9wcGVkfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2Uvb3JkZXItY29uZmlybWF0aW9uLWRyb3BwZWQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tbGluZS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1oZWFkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24tbGluZS5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUJhc2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvblR5cGVDYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcblxyXG4gIHB1YmxpYyBzaG93Q2hlY2tib3hGb3JMaW5lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhcklCOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhcklCLFxyXG4gICAgc3RhdHVzQmFyTlQ6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyTlQsXHJcbiAgICBzdGF0dXNCYXJCTjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCTixcclxuICAgIHN0YXR1c0JhckJHOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJHLFxyXG4gICAgc3RhdHVzQmFyRkM6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyRkNcclxuICB9XHJcbiAgcHVibGljIHNob3dDb2xvckluZGljYXRvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjb2xvckluZGljYXRvckNvbG9yOiBzdHJpbmc7XHJcblxyXG4gIHByb3RlY3RlZCBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9wdXJjaGFzZVBvcnRhbExpbmVzUmVzcG9uc2U6IFB1cmNoYXNlUG9ydGFsTGluZVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVTZXJ2aWNlOiBUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfcHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlOiBQdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jb2xvclNlcXVlbmNlU2VydmljZTogQ29sb3JTZXF1ZW5jZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25MaW5lU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSxjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLnN1YnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcmRlckNvbmZpcm1hdGlvbkRyb3BwZWQuc3Vic2NyaWJlKChkYXRhOiBPcmRlckNvbmZpcm1hdGlvbkRyb3BwZWQpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgaWYgKGRhdGEubGluZU5yICE9PSB1bmRlZmluZWQgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmVOciA9PT0gZGF0YS5saW5lTnIpIHtcclxuICAgICAgICAgICAgICB0aGlzLl9wcmVwYXJlQ29uZmlybWF0aW9uRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5rZWRBbmFseXNpc1Jlc3VsdElkID09PSBkYXRhLmFuYWx5c2lzUmVzdWx0SWQpIHtcclxuICAgICAgICAgICAgICB0aGlzLl9jbGVhckNvbmZpcm1hdGlvbkRhdGEoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9jbGVhckNvbmZpcm1hdGlvbkRhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9yZGVyQ29uZmlybWF0aW9uUmVzZXQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9jbGVhckNvbmZpcm1hdGlvbkRhdGEoKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9yUHVyY2hhc2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdmFsdWUgJiYgdGhpcy5zaG93Q2hlY2tib3hGb3JMaW5lO1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vdmVyd3JpdGVQdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uQ29tcGxldGVkQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbmZpcm1hdGlvbk92ZXJ3cml0ZSgpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlc1swXSA9PT0gJ29yZGVyY29uZmlybWF0aW9uYW5hbHlzaXMnKSB7IC8vIGFsbCBsb3dlcmNhc2VcclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSBcImxpbmtcIjtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVEcmFnZ2VkT3Zlci5uZXh0KHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmVOcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9IFwibm9uZVwiO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZURyYWdnZWRPdmVyLm5leHQodW5kZWZpbmVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEcmFnTGVhdmUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZURyYWdnZWRPdmVyLm5leHQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEcm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGRyb3BwZWREYXRhID0gSlNPTi5wYXJzZShldmVudC5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgnb3JkZXJjb25maXJtYXRpb25hbmFseXNpcycpKSBhcyBPcmRlckNvbmZpcm1hdGlvbkFuYWx5c2lzUmVzdWx0O1xyXG4gICAgICB0aGlzLl9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UubGlua0FuYWx5c2lzVG9UcmFuc2FjdGlvbkxpbmUodGhpcy50cmFuc2FjdGlvbkxpbmUsIGRyb3BwZWREYXRhKTtcclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25MaW5lU2V0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25MaW5lU2V0KCk7XHJcbiAgICB0aGlzLl9nZXRQdXJjaGFzZVBvcnRhbExpbmUoKTtcclxuICAgIHRoaXMuc2hvd0NoZWNrYm94Rm9yTGluZSA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmXHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZCAhPT0gdGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50O1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHZpc2liaWxpdHlTZXQoKSB7XHJcbiAgICBzdXBlci52aXNpYmlsaXR5U2V0KCk7XHJcbiAgICB0aGlzLl9nZXRQdXJjaGFzZVBvcnRhbExpbmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldFB1cmNoYXNlUG9ydGFsTGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkluZm8gfHwgIXRoaXMudHJhbnNhY3Rpb25MaW5lIHx8ICF0aGlzLnZpc2libGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZ2V0UHVyY2hhc2VQb3J0YWxMaW5lOiBHZXRQdXJjaGFzZVBvcnRhbExpbmUgPSBuZXcgR2V0UHVyY2hhc2VQb3J0YWxMaW5lKCk7XHJcbiAgICBjb25zdCBwdXJjaGFzZVBvcnRhbEZpbHRlcjogUHVyY2hhc2VQb3J0YWxGaWx0ZXJzID0gbmV3IFB1cmNoYXNlUG9ydGFsRmlsdGVycygpO1xyXG5cclxuICAgIHB1cmNoYXNlUG9ydGFsRmlsdGVyLnB1cmNoYXNlT3JkZXJObyA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uTnIudG9TdHJpbmcoKTtcclxuICAgIHB1cmNoYXNlUG9ydGFsRmlsdGVyLmxpbmVJZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmVOci50b1N0cmluZygpO1xyXG4gICAgZ2V0UHVyY2hhc2VQb3J0YWxMaW5lLnRyYW5zSWRQdXJjaGFzZSA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgZ2V0UHVyY2hhc2VQb3J0YWxMaW5lLmRvY0tpbmQgPSBcIklCXCI7XHJcbiAgICBnZXRQdXJjaGFzZVBvcnRhbExpbmUuZmlsdGVyT2JqZWN0ID0gcHVyY2hhc2VQb3J0YWxGaWx0ZXI7XHJcblxyXG4gICAgdGhpcy5fcHVyY2hhc2VQb3J0YWxMaW5lc1Jlc3BvbnNlID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UHVyY2hhc2VQb3J0YWxMaW5lcyhnZXRQdXJjaGFzZVBvcnRhbExpbmUpO1xyXG4gICAgaWYgKHRoaXMuX3B1cmNoYXNlUG9ydGFsTGluZXNSZXNwb25zZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZSA9IHRoaXMuX3B1cmNoYXNlUG9ydGFsTGluZXNSZXNwb25zZVswXTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucXVhbnRpdHlQdXJjaGFzZVRvQ29uZmlybSA9ICt0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50T3JkZXJlZCAtICt0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50Q29uZmlybWVkVGFyZ2V0O1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNoYW5nZWQubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlQ29uZmlybWF0aW9uT3ZlcndyaXRlKCkge1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50Q29uZmlybWVkID0gJzAnO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5xdWFudGl0eVB1cmNoYXNlVG9Db25maXJtID0gK3RoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hbW91bnRDb25maXJtZWRUYXJnZXQ7XHJcbiAgICAgIHRoaXMuc2hvd0NoZWNrYm94Rm9yTGluZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNvbmZpcm1hdGlvbkRhdGEoZGF0YToge2xpbmVOcjogbnVtYmVyLCBhbmFseXNpc1Jlc3VsdElkOiBudW1iZXIsIGNvbG9yOiBzdHJpbmd9KTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5rZWRBbmFseXNpc1Jlc3VsdElkID0gZGF0YS5hbmFseXNpc1Jlc3VsdElkO1xyXG4gICAgdGhpcy5zaG93Q29sb3JJbmRpY2F0b3IgPSB0cnVlO1xyXG4gICAgdGhpcy5jb2xvckluZGljYXRvckNvbG9yID0gZGF0YS5jb2xvcjtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJDb25maXJtYXRpb25EYXRhKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkxpbmUubGlua2VkQW5hbHlzaXNSZXN1bHRJZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0NvbG9ySW5kaWNhdG9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmNvbG9ySW5kaWNhdG9yQ29sb3IgPSBcIlwiO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=