@senior-agronegocio/angular-components 0.0.9883 → 0.0.9885

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 (31) hide show
  1. package/bundles/senior-agronegocio-angular-components.umd.js +124 -66
  2. package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-agronegocio-angular-components.umd.min.js +2 -2
  4. package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
  5. package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.d.ts +6 -5
  6. package/components/modal-invoice-pj/modal-shared-imports.d.ts +4 -7
  7. package/components/modal-invoice-pj/services/agro-invoice/interfaces.d.ts +2 -1
  8. package/components/modal-invoice-pj/services/producer-invoice-fixation/producer-invoice-dto.d.ts +15 -0
  9. package/components/modal-invoice-pj/services/producer-invoice-fixation/producer-invoice.service.d.ts +18 -0
  10. package/esm2015/components/event-control-board/event-control-board.component.js +2 -1
  11. package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +43 -25
  12. package/esm2015/components/modal-invoice-pj/modal-invoice-pj-base.class.js +9 -4
  13. package/esm2015/components/modal-invoice-pj/services/agro-invoice/interfaces.js +1 -1
  14. package/esm2015/components/modal-invoice-pj/services/producer-invoice-fixation/producer-invoice-dto.js +1 -0
  15. package/esm2015/components/modal-invoice-pj/services/producer-invoice-fixation/producer-invoice.service.js +63 -0
  16. package/esm2015/services/i18n/pt-BR.js +2 -2
  17. package/esm2015/services/producer-invoice/producer-invoice.service.js +4 -37
  18. package/esm5/components/event-control-board/event-control-board.component.js +2 -1
  19. package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +52 -28
  20. package/esm5/components/modal-invoice-pj/modal-invoice-pj-base.class.js +15 -4
  21. package/esm5/components/modal-invoice-pj/services/agro-invoice/interfaces.js +1 -1
  22. package/esm5/components/modal-invoice-pj/services/producer-invoice-fixation/producer-invoice-dto.js +1 -0
  23. package/esm5/components/modal-invoice-pj/services/producer-invoice-fixation/producer-invoice.service.js +71 -0
  24. package/esm5/services/i18n/pt-BR.js +2 -2
  25. package/esm5/services/producer-invoice/producer-invoice.service.js +4 -42
  26. package/fesm2015/senior-agronegocio-angular-components.js +101 -58
  27. package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
  28. package/fesm5/senior-agronegocio-angular-components.js +124 -66
  29. package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
  30. package/package.json +1 -1
  31. package/services/producer-invoice/producer-invoice.service.d.ts +1 -4
@@ -1,5 +1,6 @@
1
1
  import { __awaiter, __decorate } from "tslib";
2
- import { CurrencyPipe, DatePipe } from '@angular/common';
2
+ import { CurrencyPipe, DatePipe, registerLocaleData } from '@angular/common';
3
+ import localePt from '@angular/common/locales/pt';
3
4
  import { Component, EventEmitter, Input, Output } from '@angular/core';
4
5
  import { Column, LocaleService } from '@seniorsistemas/angular-components';
5
6
  import { MessageService } from 'primeng';
@@ -7,7 +8,7 @@ import { EMPTY, of } from 'rxjs';
7
8
  import { finalize, takeUntil } from 'rxjs/operators';
8
9
  import { KilogramPipe } from '../../../pipe/kilogram';
9
10
  import { LibTranslationService } from '../../../services/lib-translation.service';
10
- import { ProducerInvoiceService } from '../../../services/producer-invoice/producer-invoice.service';
11
+ import { ProducerInvoiceService } from '../services/producer-invoice-fixation/producer-invoice.service';
11
12
  import { ModalInvoicePjBase } from '../modal-invoice-pj-base.class';
12
13
  import { AgroInvoiceService } from '../services/agro-invoice';
13
14
  let ModalInvoicePjForFixationComponent = class ModalInvoicePjForFixationComponent extends ModalInvoicePjBase {
@@ -22,10 +23,11 @@ let ModalInvoicePjForFixationComponent = class ModalInvoicePjForFixationComponen
22
23
  this.messageService = messageService;
23
24
  this.datePipe = datePipe;
24
25
  this.whenSelectInvoices = new EventEmitter();
26
+ registerLocaleData(localePt);
25
27
  }
26
28
  ngOnInit() {
27
29
  this.defineGridColumns();
28
- this.gridFieldValuesMap = Object.assign(Object.assign({}, this.gridFieldValuesMap), { series: (row) => (row === null || row === void 0 ? void 0 : row.seriesLegal) || (row === null || row === void 0 ? void 0 : row.series) || row.series, totalValue: (row) => this.currencyPipe.transform((row === null || row === void 0 ? void 0 : row.netTotalValue) || 0, 'BRL') });
30
+ this.gridFieldValuesMap = Object.assign(Object.assign({}, this.gridFieldValuesMap), { series: (row) => (row === null || row === void 0 ? void 0 : row.seriesLegal) || (row === null || row === void 0 ? void 0 : row.series) || row.series, totalValue: (row) => this.currencyPipe.transform(this.getTotalValue(row) || 0, 'BRL', 'symbol', undefined, 'pt-BR'), linkedValue: (row) => this.currencyPipe.transform((row === null || row === void 0 ? void 0 : row.linkedValue) || 0, 'BRL', 'symbol', undefined, 'pt-BR') });
29
31
  super.ngOnInit();
30
32
  }
31
33
  defineGridColumns() {
@@ -47,7 +49,7 @@ let ModalInvoicePjForFixationComponent = class ModalInvoicePjForFixationComponen
47
49
  }
48
50
  beforeAdd(selectedInvoices) {
49
51
  if (selectedInvoices === null || selectedInvoices === void 0 ? void 0 : selectedInvoices.length) {
50
- this.linkSelectedInvoicesInFixationItem();
52
+ this.linkSelectedInvoicesInFixationItem(selectedInvoices);
51
53
  }
52
54
  return of(EMPTY).toPromise();
53
55
  }
@@ -62,14 +64,14 @@ let ModalInvoicePjForFixationComponent = class ModalInvoicePjForFixationComponen
62
64
  }
63
65
  super.open();
64
66
  }
65
- linkSelectedInvoicesInFixationItem() {
67
+ linkSelectedInvoicesInFixationItem(selectedInvoices) {
66
68
  return __awaiter(this, void 0, void 0, function* () {
67
- if (!(yield this.isValidAndSetLinkedValueInInvoices())) {
69
+ if (!(yield this.isValidAndSetLinkedValueInInvoices(selectedInvoices))) {
68
70
  this.gridLoading = false;
69
71
  return;
70
72
  }
71
73
  const entities = []
72
- .concat(...this.selected.map((invoice) => {
74
+ .concat(...selectedInvoices.map((invoice) => {
73
75
  return this.options.fixationItems.map((fixationItem) => {
74
76
  const requiredValue = (fixationItem.requiredValue || 0) - (fixationItem.totalValueInvoices || 0);
75
77
  if (invoice.remainingValue <= 0 || requiredValue <= 0) {
@@ -80,11 +82,11 @@ let ModalInvoicePjForFixationComponent = class ModalInvoicePjForFixationComponen
80
82
  const body = {
81
83
  series: invoice === null || invoice === void 0 ? void 0 : invoice.series,
82
84
  number: String(invoice === null || invoice === void 0 ? void 0 : invoice.number),
83
- invoiceId: invoice === null || invoice === void 0 ? void 0 : invoice.id,
85
+ externalInvoiceId: invoice === null || invoice === void 0 ? void 0 : invoice.externalInvoiceId,
84
86
  linkedValue: valueToBeLinked,
85
- totalValue: invoice === null || invoice === void 0 ? void 0 : invoice.totalValue,
87
+ totalValue: this.getTotalValue(invoice),
86
88
  issuanceDate: invoice === null || invoice === void 0 ? void 0 : invoice.issuanceDate,
87
- fixationItem,
89
+ fixationItem: { id: fixationItem === null || fixationItem === void 0 ? void 0 : fixationItem.id },
88
90
  };
89
91
  fixationItem.totalValueInvoices = (fixationItem.totalValueInvoices || 0) + valueToBeLinked;
90
92
  return body;
@@ -108,13 +110,19 @@ let ModalInvoicePjForFixationComponent = class ModalInvoicePjForFixationComponen
108
110
  });
109
111
  });
110
112
  }
111
- isValidAndSetLinkedValueInInvoices() {
113
+ isValidAndSetLinkedValueInInvoices(selectedInvoices) {
112
114
  return __awaiter(this, void 0, void 0, function* () {
113
- const valorLinked = yield this.producerInvoiceService.getTotalLinkedInInvoices(this.selected.map((invoice) => invoice.id), this.options.fixationId);
115
+ const valorLinked = yield this.producerInvoiceService.getTotalLinkedInInvoices(selectedInvoices.map((invoice) => invoice.externalInvoiceId), this.options.fixationId);
116
+ selectedInvoices.forEach((invoice) => {
117
+ if (!invoice.totalValue) {
118
+ invoice.totalValue = this.getTotalValue(invoice);
119
+ }
120
+ });
114
121
  let isValid = true;
115
- this.selected.forEach((invoice) => {
122
+ selectedInvoices.forEach((invoice) => {
116
123
  var _a;
117
- invoice.linkedValue = ((_a = valorLinked.find((linked) => linked.invoiceId === invoice.id)) === null || _a === void 0 ? void 0 : _a.totalLinked) || 0;
124
+ invoice.linkedValue =
125
+ ((_a = valorLinked.find((linked) => linked.externalInvoiceId === invoice.externalInvoiceId)) === null || _a === void 0 ? void 0 : _a.totalLinked) || 0;
118
126
  if (invoice.linkedValue >= invoice.totalValue) {
119
127
  this.messageService.add({
120
128
  severity: 'warn',
@@ -129,24 +137,25 @@ let ModalInvoicePjForFixationComponent = class ModalInvoicePjForFixationComponen
129
137
  });
130
138
  }
131
139
  adaptResult(result) {
140
+ var _a;
132
141
  return __awaiter(this, void 0, void 0, function* () {
133
- return Promise.resolve(result);
142
+ return yield this.updateLinkedValueInGrid(((_a = result === null || result === void 0 ? void 0 : result.result) === null || _a === void 0 ? void 0 : _a.invoices) || []);
134
143
  });
135
144
  }
136
145
  cancel() {
137
146
  this.options.fixationItems = [];
138
147
  return super.cancel();
139
148
  }
140
- updateLinkedValueInGrid(rows) {
149
+ updateLinkedValueInGrid(result) {
141
150
  return __awaiter(this, void 0, void 0, function* () {
142
- const invoiceId = this.gridData.map((invoice) => invoice.id);
151
+ const externalInvoiceId = result.map((invoice) => invoice.externalInvoiceId);
143
152
  let filter = `fixationItem.fixation.id eq '${this.options.fixationId}'`;
144
- if (invoiceId && invoiceId.length > 0) {
145
- filter += `and invoiceId in ('${invoiceId.join("','")}') `;
153
+ if (externalInvoiceId && externalInvoiceId.length > 0) {
154
+ filter += `and externalInvoiceId in ('${externalInvoiceId.join("','")}') `;
146
155
  }
147
156
  const listParams = {
148
157
  page: 0,
149
- size: rows,
158
+ size: result.length,
150
159
  filterQuery: filter,
151
160
  };
152
161
  yield this.producerInvoiceService
@@ -155,14 +164,23 @@ let ModalInvoicePjForFixationComponent = class ModalInvoicePjForFixationComponen
155
164
  .toPromise()
156
165
  .then((producerInvoices) => {
157
166
  producerInvoices === null || producerInvoices === void 0 ? void 0 : producerInvoices.contents.forEach((invoice) => {
158
- const gridInvoice = this.gridData.find((item) => item.id === invoice.invoiceId);
159
- if (gridInvoice) {
160
- gridInvoice.linkedValue = invoice.linkedValue;
161
- }
167
+ var _a;
168
+ (_a = result
169
+ .filter((item) => item.externalInvoiceId === invoice.externalInvoiceId)) === null || _a === void 0 ? void 0 : _a.forEach((linkedInvoice) => {
170
+ linkedInvoice.linkedValue = invoice.linkedValue;
171
+ });
162
172
  });
163
173
  });
164
174
  });
165
175
  }
176
+ getTotalValue(row) {
177
+ const netTotalValue = row === null || row === void 0 ? void 0 : row.netTotalValue;
178
+ if (netTotalValue) {
179
+ return netTotalValue;
180
+ }
181
+ const items = (row === null || row === void 0 ? void 0 : row.items) || [];
182
+ return items.reduce((total, item) => total + (item.unitPrice || 0) * (item.quantity || 0), 0);
183
+ }
166
184
  };
167
185
  ModalInvoicePjForFixationComponent.ctorParameters = () => [
168
186
  { type: LibTranslationService },
@@ -188,4 +206,4 @@ ModalInvoicePjForFixationComponent = __decorate([
188
206
  })
189
207
  ], ModalInvoicePjForFixationComponent);
190
208
  export { ModalInvoicePjForFixationComponent };
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW52b2ljZS1wai1mb3ItZml4YXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1hZ3JvbmVnb2Npby9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL21vZGFsLWludm9pY2UtcGovZm9yLWZpeGF0aW9uL21vZGFsLWludm9pY2UtcGotZm9yLWZpeGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFVOUQsSUFBYSxrQ0FBa0MsR0FBL0MsTUFBYSxrQ0FBbUMsU0FBUSxrQkFBa0I7SUFNdEUsWUFDYSxrQkFBeUMsRUFDekMsY0FBa0MsRUFDbEMsYUFBNEIsRUFDNUIsWUFBMEIsRUFDMUIs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QVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNyRixJQUFJLFdBQVcsRUFBRTt3QkFDYixXQUFXLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7cUJBQ2pEO2dCQUNMLENBQUMsRUFBRTtZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztLQUFBO0NBQ0osQ0FBQTs7WUF4S29DLHFCQUFxQjtZQUN6QixrQkFBa0I7WUFDbkIsYUFBYTtZQUNkLFlBQVk7WUFDWixZQUFZO1lBQ0Ysc0JBQXNCO1lBQzlCLGNBQWM7WUFDdEIsUUFBUTs7QUFicEI7SUFBUixLQUFLLEVBQUU7bUVBQTJDO0FBQ3pDO0lBQVQsTUFBTSxFQUFFOzhFQUFnRDtBQUZoRCxrQ0FBa0M7SUFMOUMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGlDQUFpQztRQUMzQyx3NEtBQStCOztLQUVsQyxDQUFDO0dBQ1csa0NBQWtDLENBK0s5QztTQS9LWSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbHVtbiwgTG9jYWxlU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcnO1xyXG5pbXBvcnQgeyBFTVBUWSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgS2lsb2dyYW1QaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZS9raWxvZ3JhbSc7XHJcbmltcG9ydCB7IExpYlRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xpYi10cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjZXJJbnZvaWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Byb2R1Y2VyLWludm9pY2UvcHJvZHVjZXItaW52b2ljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9kYWxJbnZvaWNlUGpCYXNlIH0gZnJvbSAnLi4vbW9kYWwtaW52b2ljZS1wai1iYXNlLmNsYXNzJztcclxuaW1wb3J0IHsgQWdyb0ludm9pY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWdyby1pbnZvaWNlJztcclxuaW1wb3J0IHsgSUludm9pY2VMb29rdXBSZXNwb25zZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Fncm8taW52b2ljZS9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTW9kYWxJbnZvaWNlUGpGb3JGaXhhdGlvbk9wdGlvbnMgfSBmcm9tICcuL21vZGFsLWZpeGF0aW9uLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGlzdFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fncm8tZW50aXR5LXNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3MtbW9kYWwtaW52b2ljZS1wai1mb3ItZml4YXRpb24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuLi90ZW1wbGF0ZS5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuLi9zdHlsZS5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RhbEludm9pY2VQakZvckZpeGF0aW9uQ29tcG9uZW50IGV4dGVuZHMgTW9kYWxJbnZvaWNlUGpCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgb3B0aW9uczogTW9kYWxJbnZvaWNlUGpGb3JGaXhhdGlvbk9wdGlvbnM7XHJcbiAgICBAT3V0cHV0KCkgd2hlblNlbGVjdEludm9pY2VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuXHJcbiAgICBwdWJsaWMgZ3JpZENvbHVtbnM6IFBhcnRpYWw8Q29sdW1uICYgeyBzb3J0YWJsZT86IGJvb2xlYW4gfT5bXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICByZWFkb25seSB0cmFuc2xhdGlvblNlcnZpY2U6IExpYlRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgICAgICByZWFkb25seSBpbnZvaWNlU2VydmljZTogQWdyb0ludm9pY2VTZXJ2aWNlLFxyXG4gICAgICAgIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXHJcbiAgICAgICAgcmVhZG9ubHkga2lsb2dyYW1QaXBlOiBLaWxvZ3JhbVBpcGUsXHJcbiAgICAgICAgcmVhZG9ubHkgY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXHJcbiAgICAgICAgcmVhZG9ubHkgcHJvZHVjZXJJbnZvaWNlU2VydmljZTogUHJvZHVjZXJJbnZvaWNlU2VydmljZSxcclxuICAgICAgICByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGRhdGVQaXBlOiBEYXRlUGlwZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIodHJhbnNsYXRpb25TZXJ2aWNlLCBpbnZvaWNlU2VydmljZSwgbG9jYWxlU2VydmljZSwga2lsb2dyYW1QaXBlLCBtZXNzYWdlU2VydmljZSwgZGF0ZVBpcGUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVmaW5lR3JpZENvbHVtbnMoKTtcclxuICAgICAgICB0aGlzLmdyaWRGaWVsZFZhbHVlc01hcCA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5ncmlkRmllbGRWYWx1ZXNNYXAsXHJcbiAgICAgICAgICAgIHNlcmllczogKHJvdykgPT4gcm93Py5zZXJpZXNMZWdhbCB8fCByb3c/LnNlcmllcyB8fCByb3cuc2VyaWVzLFxyXG4gICAgICAgICAgICB0b3RhbFZhbHVlOiAocm93KSA9PiB0aGlzLmN1cnJlbmN5UGlwZS50cmFuc2Zvcm0ocm93Py5uZXRUb3RhbFZhbHVlIHx8IDAsICdCUkwnKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVmaW5lR3JpZENvbHVtbnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IFtcclxuICAgICAgICAgICAgeyBmaWVsZDogJ251bWJlcicsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubnVtYmVyJykgfSxcclxuICAgICAgICAgICAgeyBmaWVsZDogJ3NlcmllcycsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc2VyaWVzJykgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICd0b3RhbFZhbHVlJyxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudG90YWxfdmFsdWUnKSxcclxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdsaW5rZWRWYWx1ZScsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLnZhbHVlX2xpbmtlZCcpLFxyXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7IGZpZWxkOiAnaXNzdWFuY2VEYXRlJywgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pc3N1YW5jZV9kYXRlJykgfSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIGJlZm9yZUFkZChzZWxlY3RlZEludm9pY2VzOiBhbnlbXSk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkSW52b2ljZXM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLmxpbmtTZWxlY3RlZEludm9pY2VzSW5GaXhhdGlvbkl0ZW0oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKEVNUFRZKS50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLmZpeGF0aW9uSXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnJlcXVpcmVkVmFsdWUgPiBpdGVtLnRvdGFsVmFsdWVJbnZvaWNlcykubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuICAgICAgICAgICAgICAgIHNldmVyaXR5OiAnd2FybicsXHJcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5tYXhfbGlua2VkX2ludm9pY2VzJyksXHJcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLm1heF9saW5rZWRfaW52b2ljZXNfZGVzY3JpcHRpb24nKSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3VwZXIub3BlbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBsaW5rU2VsZWN0ZWRJbnZvaWNlc0luRml4YXRpb25JdGVtKCkge1xyXG4gICAgICAgIGlmICghKGF3YWl0IHRoaXMuaXNWYWxpZEFuZFNldExpbmtlZFZhbHVlSW5JbnZvaWNlcygpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZW50aXRpZXMgPSBbXVxyXG4gICAgICAgICAgICAuY29uY2F0KFxyXG4gICAgICAgICAgICAgICAgLi4udGhpcy5zZWxlY3RlZC5tYXAoKGludm9pY2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZml4YXRpb25JdGVtcy5tYXAoKGZpeGF0aW9uSXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkVmFsdWUgPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpeGF0aW9uSXRlbS5yZXF1aXJlZFZhbHVlIHx8IDApIC0gKGZpeGF0aW9uSXRlbS50b3RhbFZhbHVlSW52b2ljZXMgfHwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnZvaWNlLnJlbWFpbmluZ1ZhbHVlIDw9IDAgfHwgcmVxdWlyZWRWYWx1ZSA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZVRvQmVMaW5rZWQgPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRWYWx1ZSA+IGludm9pY2UucmVtYWluaW5nVmFsdWUgPyBpbnZvaWNlLnJlbWFpbmluZ1ZhbHVlIDogcmVxdWlyZWRWYWx1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGludm9pY2UucmVtYWluaW5nVmFsdWUgLT0gdmFsdWVUb0JlTGlua2VkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWVzOiBpbnZvaWNlPy5zZXJpZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXI6IFN0cmluZyhpbnZvaWNlPy5udW1iZXIpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52b2ljZUlkOiBpbnZvaWNlPy5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtlZFZhbHVlOiB2YWx1ZVRvQmVMaW5rZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFZhbHVlOiBpbnZvaWNlPy50b3RhbFZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWFuY2VEYXRlOiBpbnZvaWNlPy5pc3N1YW5jZURhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXhhdGlvbkl0ZW0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXhhdGlvbkl0ZW0udG90YWxWYWx1ZUludm9pY2VzID0gKGZpeGF0aW9uSXRlbS50b3RhbFZhbHVlSW52b2ljZXMgfHwgMCkgKyB2YWx1ZVRvQmVMaW5rZWQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYm9keTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLmZpbHRlcigoZW50aXR5OiBhbnkpID0+IGVudGl0eSAhPT0gbnVsbCk7XHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5wcm9kdWNlckludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5pbnNlcnRCdWxrKGVudGl0aWVzKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxyXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndoZW5TZWxlY3RJbnZvaWNlcy5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLnN1Y2Nlc3MnKSxcclxuICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfY3JlYXRlZF9zdWNjZXNzZnVsbHknKSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWwoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaXNWYWxpZEFuZFNldExpbmtlZFZhbHVlSW5JbnZvaWNlcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBjb25zdCB2YWxvckxpbmtlZCA9IGF3YWl0IHRoaXMucHJvZHVjZXJJbnZvaWNlU2VydmljZS5nZXRUb3RhbExpbmtlZEluSW52b2ljZXMoXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQubWFwKChpbnZvaWNlOiBhbnkpID0+IGludm9pY2UuaWQpLFxyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuZml4YXRpb25JZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IGlzVmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZm9yRWFjaCgoaW52b2ljZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGludm9pY2UubGlua2VkVmFsdWUgPSB2YWxvckxpbmtlZC5maW5kKChsaW5rZWQ6IGFueSkgPT4gbGlua2VkLmludm9pY2VJZCA9PT0gaW52b2ljZS5pZCk/LnRvdGFsTGlua2VkIHx8IDA7XHJcbiAgICAgICAgICAgIGlmIChpbnZvaWNlLmxpbmtlZFZhbHVlID49IGludm9pY2UudG90YWxWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiAnd2FybicsXHJcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGlua19pbnZvaWNlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2FscmVhZHlfbGlua2VkJyksXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnZvaWNlLnJlbWFpbmluZ1ZhbHVlID0gaW52b2ljZS50b3RhbFZhbHVlIC0gaW52b2ljZS5saW5rZWRWYWx1ZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gaXNWYWxpZDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhZGFwdFJlc3VsdChyZXN1bHQ6IElJbnZvaWNlTG9va3VwUmVzcG9uc2UpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5maXhhdGlvbkl0ZW1zID0gW107XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwZGF0ZUxpbmtlZFZhbHVlSW5HcmlkKHJvd3M6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGludm9pY2VJZCA9IHRoaXMuZ3JpZERhdGEubWFwKChpbnZvaWNlOiBhbnkpID0+IGludm9pY2UuaWQpO1xyXG4gICAgICAgIGxldCBmaWx0ZXIgPSBgZml4YXRpb25JdGVtLmZpeGF0aW9uLmlkIGVxICcke3RoaXMub3B0aW9ucy5maXhhdGlvbklkfSdgO1xyXG4gICAgICAgIGlmIChpbnZvaWNlSWQgJiYgaW52b2ljZUlkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZmlsdGVyICs9IGBhbmQgaW52b2ljZUlkIGluICgnJHtpbnZvaWNlSWQuam9pbihcIicsJ1wiKX0nKSBgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBsaXN0UGFyYW1zOiBQYXJ0aWFsPExpc3RQYXJhbXM+ID0ge1xyXG4gICAgICAgICAgICBwYWdlOiAwLFxyXG4gICAgICAgICAgICBzaXplOiByb3dzLFxyXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeTogZmlsdGVyLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcm9kdWNlckludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5saXN0KGxpc3RQYXJhbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcclxuICAgICAgICAgICAgLnRoZW4oKHByb2R1Y2VySW52b2ljZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcHJvZHVjZXJJbnZvaWNlcz8uY29udGVudHMuZm9yRWFjaCgoaW52b2ljZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3JpZEludm9pY2UgPSB0aGlzLmdyaWREYXRhLmZpbmQoKGl0ZW06IGFueSkgPT4gaXRlbS5pZCA9PT0gaW52b2ljZS5pbnZvaWNlSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChncmlkSW52b2ljZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkSW52b2ljZS5saW5rZWRWYWx1ZSA9IGludm9pY2UubGlua2VkVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW52b2ljZS1wai1mb3ItZml4YXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1hZ3JvbmVnb2Npby9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL21vZGFsLWludm9pY2UtcGovZm9yLWZpeGF0aW9uL21vZGFsLWludm9pY2UtcGotZm9yLWZpeGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFVOUQsSUFBYSxrQ0FBa0MsR0FBL0MsTUFBYSxrQ0FBbUMsU0FBUSxrQkFBa0I7SUFNdEUsWUFDYSxrQkFB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QUFDO1FBQ3pDLElBQUksYUFBYSxFQUFFO1lBQ2YsT0FBTyxhQUFhLENBQUM7U0FDeEI7UUFDRCxNQUFNLEtBQUssR0FBVSxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxLQUFLLEtBQUksRUFBRSxDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQWEsRUFBRSxJQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7Q0FDSixDQUFBOztZQTdMb0MscUJBQXFCO1lBQ3pCLGtCQUFrQjtZQUNuQixhQUFhO1lBQ2QsWUFBWTtZQUNaLFlBQVk7WUFDRixzQkFBc0I7WUFDOUIsY0FBYztZQUN0QixRQUFROztBQWJwQjtJQUFSLEtBQUssRUFBRTttRUFBMkM7QUFDekM7SUFBVCxNQUFNLEVBQUU7OEVBQWdEO0FBRmhELGtDQUFrQztJQUw5QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsaUNBQWlDO1FBQzNDLHc0S0FBK0I7O0tBRWxDLENBQUM7R0FDVyxrQ0FBa0MsQ0FvTTlDO1NBcE1ZLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSwgRGF0ZVBpcGUsIHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCBsb2NhbGVQdCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9wdCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2x1bW4sIExvY2FsZVNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nJztcclxuaW1wb3J0IHsgRU1QVFksIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEtpbG9ncmFtUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGUva2lsb2dyYW0nO1xyXG5pbXBvcnQgeyBMaWJUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9saWItdHJhbnNsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y2VySW52b2ljZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9kdWNlci1pbnZvaWNlLWZpeGF0aW9uL3Byb2R1Y2VyLWludm9pY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vZGFsSW52b2ljZVBqQmFzZSB9IGZyb20gJy4uL21vZGFsLWludm9pY2UtcGotYmFzZS5jbGFzcyc7XHJcbmltcG9ydCB7IEFncm9JbnZvaWNlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Fncm8taW52b2ljZSc7XHJcbmltcG9ydCB7IElJbnZvaWNlTG9va3VwUmVjb3JkLCBJSW52b2ljZUxvb2t1cFJlc3BvbnNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWdyby1pbnZvaWNlL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBNb2RhbEludm9pY2VQakZvckZpeGF0aW9uT3B0aW9ucyB9IGZyb20gJy4vbW9kYWwtZml4YXRpb24tb3B0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBMaXN0UGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYWdyby1lbnRpdHktc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncy1tb2RhbC1pbnZvaWNlLXBqLWZvci1maXhhdGlvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4uL3RlbXBsYXRlLmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4uL3N0eWxlLnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsSW52b2ljZVBqRm9yRml4YXRpb25Db21wb25lbnQgZXh0ZW5kcyBNb2RhbEludm9pY2VQakJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBvcHRpb25zOiBNb2RhbEludm9pY2VQakZvckZpeGF0aW9uT3B0aW9ucztcclxuICAgIEBPdXRwdXQoKSB3aGVuU2VsZWN0SW52b2ljZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xyXG5cclxuICAgIHB1YmxpYyBncmlkQ29sdW1uczogUGFydGlhbDxDb2x1bW4gJiB7IHNvcnRhYmxlPzogYm9vbGVhbiB9PltdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZTogTGliVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHJlYWRvbmx5IGludm9pY2VTZXJ2aWNlOiBBZ3JvSW52b2ljZVNlcnZpY2UsXHJcbiAgICAgICAgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcclxuICAgICAgICByZWFkb25seSBraWxvZ3JhbVBpcGU6IEtpbG9ncmFtUGlwZSxcclxuICAgICAgICByZWFkb25seSBjdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcclxuICAgICAgICByZWFkb25seSBwcm9kdWNlckludm9pY2VTZXJ2aWNlOiBQcm9kdWNlckludm9pY2VTZXJ2aWNlLFxyXG4gICAgICAgIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcih0cmFuc2xhdGlvblNlcnZpY2UsIGludm9pY2VTZXJ2aWNlLCBsb2NhbGVTZXJ2aWNlLCBraWxvZ3JhbVBpcGUsIG1lc3NhZ2VTZXJ2aWNlLCBkYXRlUGlwZSk7XHJcbiAgICAgICAgcmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZVB0KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlZmluZUdyaWRDb2x1bW5zKCk7XHJcbiAgICAgICAgdGhpcy5ncmlkRmllbGRWYWx1ZXNNYXAgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZ3JpZEZpZWxkVmFsdWVzTWFwLFxyXG4gICAgICAgICAgICBzZXJpZXM6IChyb3cpID0+IHJvdz8uc2VyaWVzTGVnYWwgfHwgcm93Py5zZXJpZXMgfHwgcm93LnNlcmllcyxcclxuICAgICAgICAgICAgdG90YWxWYWx1ZTogKHJvdykgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybSh0aGlzLmdldFRvdGFsVmFsdWUocm93KSB8fCAwLCAnQlJMJywgJ3N5bWJvbCcsIHVuZGVmaW5lZCwgJ3B0LUJSJyksXHJcbiAgICAgICAgICAgIGxpbmtlZFZhbHVlOiAocm93KSA9PlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKHJvdz8ubGlua2VkVmFsdWUgfHwgMCwgJ0JSTCcsICdzeW1ib2wnLCB1bmRlZmluZWQsICdwdC1CUicpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWZpbmVHcmlkQ29sdW1ucygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmdyaWRDb2x1bW5zID0gW1xyXG4gICAgICAgICAgICB7IGZpZWxkOiAnbnVtYmVyJywgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5udW1iZXInKSB9LFxyXG4gICAgICAgICAgICB7IGZpZWxkOiAnc2VyaWVzJywgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5zZXJpZXMnKSB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3RvdGFsVmFsdWUnLFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50b3RhbF92YWx1ZScpLFxyXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2xpbmtlZFZhbHVlJyxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudmFsdWVfbGlua2VkJyksXHJcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgZmllbGQ6ICdpc3N1YW5jZURhdGUnLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLmlzc3VhbmNlX2RhdGUnKSB9LFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgYmVmb3JlQWRkKHNlbGVjdGVkSW52b2ljZXM6IGFueVtdKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRJbnZvaWNlcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlua1NlbGVjdGVkSW52b2ljZXNJbkZpeGF0aW9uSXRlbShzZWxlY3RlZEludm9pY2VzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKEVNUFRZKS50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLmZpeGF0aW9uSXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnJlcXVpcmVkVmFsdWUgPiBpdGVtLnRvdGFsVmFsdWVJbnZvaWNlcykubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuICAgICAgICAgICAgICAgIHNldmVyaXR5OiAnd2FybicsXHJcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5tYXhfbGlua2VkX2ludm9pY2VzJyksXHJcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLm1heF9saW5rZWRfaW52b2ljZXNfZGVzY3JpcHRpb24nKSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3VwZXIub3BlbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBsaW5rU2VsZWN0ZWRJbnZvaWNlc0luRml4YXRpb25JdGVtKHNlbGVjdGVkSW52b2ljZXM6IGFueVtdKSB7XHJcbiAgICAgICAgaWYgKCEoYXdhaXQgdGhpcy5pc1ZhbGlkQW5kU2V0TGlua2VkVmFsdWVJbkludm9pY2VzKHNlbGVjdGVkSW52b2ljZXMpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZW50aXRpZXMgPSBbXVxyXG4gICAgICAgICAgICAuY29uY2F0KFxyXG4gICAgICAgICAgICAgICAgLi4uc2VsZWN0ZWRJbnZvaWNlcy5tYXAoKGludm9pY2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZml4YXRpb25JdGVtcy5tYXAoKGZpeGF0aW9uSXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkVmFsdWUgPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpeGF0aW9uSXRlbS5yZXF1aXJlZFZhbHVlIHx8IDApIC0gKGZpeGF0aW9uSXRlbS50b3RhbFZhbHVlSW52b2ljZXMgfHwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnZvaWNlLnJlbWFpbmluZ1ZhbHVlIDw9IDAgfHwgcmVxdWlyZWRWYWx1ZSA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZVRvQmVMaW5rZWQgPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRWYWx1ZSA+IGludm9pY2UucmVtYWluaW5nVmFsdWUgPyBpbnZvaWNlLnJlbWFpbmluZ1ZhbHVlIDogcmVxdWlyZWRWYWx1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGludm9pY2UucmVtYWluaW5nVmFsdWUgLT0gdmFsdWVUb0JlTGlua2VkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWVzOiBpbnZvaWNlPy5zZXJpZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXI6IFN0cmluZyhpbnZvaWNlPy5udW1iZXIpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxJbnZvaWNlSWQ6IGludm9pY2U/LmV4dGVybmFsSW52b2ljZUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua2VkVmFsdWU6IHZhbHVlVG9CZUxpbmtlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsVmFsdWU6IHRoaXMuZ2V0VG90YWxWYWx1ZShpbnZvaWNlKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VhbmNlRGF0ZTogaW52b2ljZT8uaXNzdWFuY2VEYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4YXRpb25JdGVtOiB7IGlkOiBmaXhhdGlvbkl0ZW0/LmlkIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXhhdGlvbkl0ZW0udG90YWxWYWx1ZUludm9pY2VzID0gKGZpeGF0aW9uSXRlbS50b3RhbFZhbHVlSW52b2ljZXMgfHwgMCkgKyB2YWx1ZVRvQmVMaW5rZWQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYm9keTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLmZpbHRlcigoZW50aXR5OiBhbnkpID0+IGVudGl0eSAhPT0gbnVsbCk7XHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5wcm9kdWNlckludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5pbnNlcnRCdWxrKGVudGl0aWVzKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxyXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndoZW5TZWxlY3RJbnZvaWNlcy5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLnN1Y2Nlc3MnKSxcclxuICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfY3JlYXRlZF9zdWNjZXNzZnVsbHknKSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWwoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaXNWYWxpZEFuZFNldExpbmtlZFZhbHVlSW5JbnZvaWNlcyhzZWxlY3RlZEludm9pY2VzOiBhbnlbXSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGNvbnN0IHZhbG9yTGlua2VkID0gYXdhaXQgdGhpcy5wcm9kdWNlckludm9pY2VTZXJ2aWNlLmdldFRvdGFsTGlua2VkSW5JbnZvaWNlcyhcclxuICAgICAgICAgICAgc2VsZWN0ZWRJbnZvaWNlcy5tYXAoKGludm9pY2U6IGFueSkgPT4gaW52b2ljZS5leHRlcm5hbEludm9pY2VJZCksXHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5maXhhdGlvbklkXHJcbiAgICAgICAgKTtcclxuICAgICAgICBzZWxlY3RlZEludm9pY2VzLmZvckVhY2goKGludm9pY2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWludm9pY2UudG90YWxWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgaW52b2ljZS50b3RhbFZhbHVlID0gdGhpcy5nZXRUb3RhbFZhbHVlKGludm9pY2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbGV0IGlzVmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIHNlbGVjdGVkSW52b2ljZXMuZm9yRWFjaCgoaW52b2ljZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGludm9pY2UubGlua2VkVmFsdWUgPVxyXG4gICAgICAgICAgICAgICAgdmFsb3JMaW5rZWQuZmluZCgobGlua2VkOiBhbnkpID0+IGxpbmtlZC5leHRlcm5hbEludm9pY2VJZCA9PT0gaW52b2ljZS5leHRlcm5hbEludm9pY2VJZClcclxuICAgICAgICAgICAgICAgICAgICA/LnRvdGFsTGlua2VkIHx8IDA7XHJcbiAgICAgICAgICAgIGlmIChpbnZvaWNlLmxpbmtlZFZhbHVlID49IGludm9pY2UudG90YWxWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiAnd2FybicsXHJcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGlua19pbnZvaWNlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2FscmVhZHlfbGlua2VkJyksXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnZvaWNlLnJlbWFpbmluZ1ZhbHVlID0gaW52b2ljZS50b3RhbFZhbHVlIC0gaW52b2ljZS5saW5rZWRWYWx1ZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gaXNWYWxpZDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhZGFwdFJlc3VsdChyZXN1bHQ6IElJbnZvaWNlTG9va3VwUmVzcG9uc2UpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnVwZGF0ZUxpbmtlZFZhbHVlSW5HcmlkKHJlc3VsdD8ucmVzdWx0Py5pbnZvaWNlcyB8fCBbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5maXhhdGlvbkl0ZW1zID0gW107XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwZGF0ZUxpbmtlZFZhbHVlSW5HcmlkKHJlc3VsdDogSUludm9pY2VMb29rdXBSZWNvcmRbXSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGV4dGVybmFsSW52b2ljZUlkID0gcmVzdWx0Lm1hcCgoaW52b2ljZTogYW55KSA9PiBpbnZvaWNlLmV4dGVybmFsSW52b2ljZUlkKTtcclxuICAgICAgICBsZXQgZmlsdGVyID0gYGZpeGF0aW9uSXRlbS5maXhhdGlvbi5pZCBlcSAnJHt0aGlzLm9wdGlvbnMuZml4YXRpb25JZH0nYDtcclxuICAgICAgICBpZiAoZXh0ZXJuYWxJbnZvaWNlSWQgJiYgZXh0ZXJuYWxJbnZvaWNlSWQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBmaWx0ZXIgKz0gYGFuZCBleHRlcm5hbEludm9pY2VJZCBpbiAoJyR7ZXh0ZXJuYWxJbnZvaWNlSWQuam9pbihcIicsJ1wiKX0nKSBgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBsaXN0UGFyYW1zOiBQYXJ0aWFsPExpc3RQYXJhbXM+ID0ge1xyXG4gICAgICAgICAgICBwYWdlOiAwLFxyXG4gICAgICAgICAgICBzaXplOiByZXN1bHQubGVuZ3RoLFxyXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeTogZmlsdGVyLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcm9kdWNlckludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5saXN0KGxpc3RQYXJhbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcclxuICAgICAgICAgICAgLnRoZW4oKHByb2R1Y2VySW52b2ljZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcHJvZHVjZXJJbnZvaWNlcz8uY29udGVudHMuZm9yRWFjaCgoaW52b2ljZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW06IElJbnZvaWNlTG9va3VwUmVjb3JkKSA9PiBpdGVtLmV4dGVybmFsSW52b2ljZUlkID09PSBpbnZvaWNlLmV4dGVybmFsSW52b2ljZUlkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/LmZvckVhY2goKGxpbmtlZEludm9pY2U6IElJbnZvaWNlTG9va3VwUmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rZWRJbnZvaWNlLmxpbmtlZFZhbHVlID0gaW52b2ljZS5saW5rZWRWYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VG90YWxWYWx1ZShyb3c6IGFueSk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgbmV0VG90YWxWYWx1ZSA9IHJvdz8ubmV0VG90YWxWYWx1ZTtcclxuICAgICAgICBpZiAobmV0VG90YWxWYWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV0VG90YWxWYWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgaXRlbXM6IGFueVtdID0gcm93Py5pdGVtcyB8fCBbXTtcclxuICAgICAgICByZXR1cm4gaXRlbXMucmVkdWNlKCh0b3RhbDogbnVtYmVyLCBpdGVtOiBhbnkpID0+IHRvdGFsICsgKGl0ZW0udW5pdFByaWNlIHx8IDApICogKGl0ZW0ucXVhbnRpdHkgfHwgMCksIDApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -5,7 +5,7 @@ import { FormControl } from '@angular/forms';
5
5
  import { ButtonPriority, Column, LocaleService } from '@seniorsistemas/angular-components';
6
6
  import { LazyLoadEvent, MessageService } from 'primeng';
7
7
  import { Subject } from 'rxjs';
8
- import { debounceTime, finalize, takeUntil } from 'rxjs/operators';
8
+ import { debounceTime, finalize, switchMap, takeUntil } from 'rxjs/operators';
9
9
  import { AgroNumberUtils } from '../../common/agro-number-utils.class';
10
10
  import { AGRO_NUMBERS } from '../../enums/agro-numbers.enum';
11
11
  import { KilogramPipe } from '../../pipe/kilogram';
@@ -113,6 +113,7 @@ let ModalInvoicePjBase = class ModalInvoicePjBase {
113
113
  this.gridLoading = true;
114
114
  this.dontHaveAnyInvoice = false;
115
115
  this.updateCurrentParams(event);
116
+ const numberSearchValue = searchValue ? AgroNumberUtils.getNearInteger(searchValue) : null;
116
117
  const filterBody = {
117
118
  filter: {
118
119
  companyId,
@@ -121,6 +122,7 @@ let ModalInvoicePjBase = class ModalInvoicePjBase {
121
122
  ruralEstateIds: [ruralEstateId],
122
123
  multiProducts: false,
123
124
  productId: this.options.productId,
125
+ number: numberSearchValue,
124
126
  },
125
127
  pageRequest: {
126
128
  offset: this.currentParams.page,
@@ -132,11 +134,14 @@ let ModalInvoicePjBase = class ModalInvoicePjBase {
132
134
  },
133
135
  };
134
136
  if (searchValue) {
135
- searchValue = AgroNumberUtils.getNearInteger(searchValue).toString();
137
+ searchValue = numberSearchValue.toString();
136
138
  }
137
139
  this.invoiceService
138
140
  .invoiceLookupFilter(filterBody)
139
- .pipe(takeUntil(this.ngUnsubscribe), finalize(() => {
141
+ .pipe(takeUntil(this.ngUnsubscribe), switchMap((result) => __awaiter(this, void 0, void 0, function* () {
142
+ yield this.adaptResult(result);
143
+ return result;
144
+ })), finalize(() => {
140
145
  this.gridLoading = false;
141
146
  }))
142
147
  .subscribe((result) => {
@@ -193,4 +198,4 @@ ModalInvoicePjBase = __decorate([
193
198
  Directive()
194
199
  ], ModalInvoicePjBase);
195
200
  export { ModalInvoicePjBase };
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW52b2ljZS1wai1iYXNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1hZ3JvbmVnb2Npby9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL21vZGFsLWludm9pY2UtcGovbW9kYWwtaW52b2ljZS1wai1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHbEYsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFHdkMsSUFBc0Isa0JBQWtCLEdBQXhDLE1BQXNCLGtCQUFrQjtJQW9DcEMsWUFDdUIsU0FBZ0MsRUFDaEMsY0FBa0MsRUFDbEMsYUFBNEIsRUFDNUIsWUFBMEIsRUFDMUIsY0FBOEIsRUFDOUIsUUFBa0I7UUFMbEIsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBbkNsQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUVoQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsYUFBUSxHQUFVLEVBQUUsQ0FBQztRQUNyQixrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFFbEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixnQkFBVyxHQUFnQixJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFdkMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXZDLGtCQUFhLEdBQWU7WUFDbEMsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsRUFBRTtZQUNSLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDM0MsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUM7WUFDbkQsV0FBVyxFQUFFLEVBQUU7U0FDbEIsQ0FBQztRQUVLLHVCQUFrQixHQUF5QztZQUM5RCxZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztZQUN2RixZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQztZQUMxQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7U0FDOUUsQ0FBQztJQVNFLENBQUM7SUFFTCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUtTLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVk7YUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDOUMsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDekIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FDZixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFDNUUsS0FBSyxDQUNSLENBQUM7YUFDTDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDckc7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVNLElBQUk7UUFDUCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRztnQkFDakIsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQzthQUN0QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xHLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLCtEQUErRCxDQUFDLENBQUM7U0FDakY7SUFDTCxDQUFDO0lBRVMscUJBQXFCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2YsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNuRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBb0I7UUFDdEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN4QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFvQjs7UUFDM0MsSUFBSSxDQUFDLGFBQWEsbUNBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FDNUIsSUFBSSxFQUFFLE9BQUEsS0FBSyxDQUFDLGFBQWEsMENBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFDL0YsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUMsR0FDdEQsQ0FBQztJQUNOLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBb0IsRUFBRSxXQUFvQjtRQUU1RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhDLE1BQU0sVUFBVSxHQUF5QjtZQUNyQyxNQUFNLEVBQUU7Z0JBQ0osU0FBUztnQkFDVCxRQUFRO2dCQUNSLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDekIsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUMvQixhQUFhLEVBQUUsS0FBSztnQkFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUzthQUNwQztZQUNELFdBQVcsRUFBRTtnQkFDVCxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJO2dCQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJO2dCQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUM1QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7b0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNO2lCQUMzQyxDQUFDLENBQUM7YUFDTjtTQUNKLENBQUM7UUFFRixJQUFJLFdBQVcsRUFBRTtZQUNiLFdBQVcsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hFO1FBRUQsSUFBSSxDQUFDLGNBQWM7YUFDZCxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7YUFDL0IsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsQ0FDTixDQUFDLE1BQU0sRUFBRSxFQUFFOztZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSwwQ0FBRSxRQUFRLEtBQUksRUFBRSxDQUFDO1lBQy9DLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQ3hELENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRCxDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQyxDQUNKLENBQUM7SUFDVixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUssR0FBRzs7WUFDTCxJQUFJO2dCQUNBLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDckI7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzdEO1FBQ0wsQ0FBQztLQUFBO0lBRVMsVUFBVTtRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVLLE1BQU07O1lBQ1IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7S0FBQTtDQUNKLENBQUE7O1lBL0txQyxxQkFBcUI7WUFDaEIsa0JBQWtCO1lBQ25CLGFBQWE7WUFDZCxZQUFZO1lBQ1YsY0FBYztZQUNwQixRQUFROztBQTFDdkIsa0JBQWtCO0lBRHZDLFNBQVMsRUFBRTtHQUNVLGtCQUFrQixDQW9OdkM7U0FwTnFCLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJ1dHRvblByaW9yaXR5LCBDb2x1bW4sIExvY2FsZVNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFncm9OdW1iZXJVdGlscyB9IGZyb20gJy4uLy4uL2NvbW1vbi9hZ3JvLW51bWJlci11dGlscy5jbGFzcyc7XHJcbmltcG9ydCB7IEFHUk9fTlVNQkVSUyB9IGZyb20gJy4uLy4uL2VudW1zL2Fncm8tbnVtYmVycy5lbnVtJztcclxuaW1wb3J0IHsgS2lsb2dyYW1QaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9raWxvZ3JhbSc7XHJcbmltcG9ydCB7IExpc3RQYXJhbXMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hZ3JvLWVudGl0eS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGliLXRyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2RhbEludm9pY2VQak9wdGlvbnMgfSBmcm9tICcuL21vZGFsLWludm9pY2UtcGotb3B0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBZ3JvSW52b2ljZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Fncm8taW52b2ljZS9hZ3JvLWludm9pY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IElJbnZvaWNlTG9va3VwRmlsdGVyLCBJSW52b2ljZUxvb2t1cFJlc3BvbnNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hZ3JvLWludm9pY2UvaW50ZXJmYWNlcyc7XHJcblxyXG5jb25zdCBJTlZPSUNFX0lURU1TID0gJ2ludm9pY2VJdGVtcy4qJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9kYWxJbnZvaWNlUGpCYXNlIHtcclxuICAgIHB1YmxpYyBhYnN0cmFjdCBvcHRpb25zOiBNb2RhbEludm9pY2VQak9wdGlvbnM7XHJcbiAgICBwdWJsaWMgYWJzdHJhY3Qgd2hlblNlbGVjdEludm9pY2VzOiBFdmVudEVtaXR0ZXI8YW55W10+O1xyXG5cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBncmlkQ29sdW1uczogUGFydGlhbDxDb2x1bW4gJiB7IHNvcnRhYmxlPzogYm9vbGVhbiB9PltdO1xyXG5cclxuICAgIHB1YmxpYyBncmlkRGF0YTogYW55W107XHJcbiAgICBwdWJsaWMgYnV0dG9uUHJpb3JpdHkgPSBCdXR0b25Qcmlvcml0eTtcclxuXHJcbiAgICBwdWJsaWMgZG9udEhhdmVBbnlJbnZvaWNlID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGdyaWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBncmlkVG90YWxSZWNvcmRzITogbnVtYmVyO1xyXG4gICAgcHVibGljIHNlbGVjdGVkOiBhbnlbXSA9IFtdO1xyXG4gICAgcHVibGljIHVuc2VsZWN0ZWRJZHMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuXHJcbiAgICBwdWJsaWMgdmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWYWx1ZTogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtdKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIGN1cnJlbnRQYXJhbXM6IExpc3RQYXJhbXMgPSB7XHJcbiAgICAgICAgcGFnZTogMCxcclxuICAgICAgICBzaXplOiAxMCxcclxuICAgICAgICBzb3J0OiBbeyBmaWVsZDogJ2lzc3VhbmNlRGF0ZScsIG9yZGVyOiAxIH1dLFxyXG4gICAgICAgIGRpc3BsYXlGaWVsZHM6IFsnKicsIElOVk9JQ0VfSVRFTVMsICdpc3N1YW5jZURhdGUnXSxcclxuICAgICAgICBmaWx0ZXJRdWVyeTogJycsXHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyBncmlkRmllbGRWYWx1ZXNNYXA6IHsgW2tleTogc3RyaW5nXTogKHJvdzogYW55KSA9PiBhbnkgfSA9IHtcclxuICAgICAgICBpc3N1YW5jZURhdGU6IChyb3cpID0+IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHJvdy5pc3N1YW5jZURhdGUsICdkZC9NTS95eXl5JywgJ3B0LUJSJyksXHJcbiAgICAgICAgaW52b2ljZUl0ZW1zOiAocm93KSA9PiByb3cudG90YWxJdGVtcyB8fCAwLFxyXG4gICAgICAgIHF1YW50aXR5OiAocm93KSA9PiB0aGlzLmtpbG9ncmFtUGlwZS50cmFuc2Zvcm0ocm93LnRvdGFsSXRlbXNRdWFudGl0eSB8fCAwKSxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYW5zbGF0ZTogTGliVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBpbnZvaWNlU2VydmljZTogQWdyb0ludm9pY2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBraWxvZ3JhbVBpcGU6IEtpbG9ncmFtUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy53aGVuU2VhcmNoVmFsdWVDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgYWRhcHRSZXN1bHQocmVzdWx0OiBJSW52b2ljZUxvb2t1cFJlc3BvbnNlKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgYWJzdHJhY3QgYmVmb3JlQWRkKHNlbGVjdGVkSW52b2ljZXM6IGFueSk6IFByb21pc2U8YW55PjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgd2hlblNlYXJjaFZhbHVlQ2hhbmdlcygpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFZhbHVlLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKEFHUk9fTlVNQkVSUy5USFJFRV9IVU5EUkVEKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkRGF0YShcclxuICAgICAgICAgICAgICAgICAgICAgICAgeyBmaXJzdDogMCwgcm93czogMTAsIG11bHRpU29ydE1ldGE6IFt7IGZpZWxkOiAnaXNzdWFuY2VEYXRlJywgb3JkZXI6IDEgfV0gfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWREYXRhKHsgZmlyc3Q6IDAsIHJvd3M6IDEwLCBtdWx0aVNvcnRNZXRhOiBbeyBmaWVsZDogJ2lzc3VhbmNlRGF0ZScsIG9yZGVyOiAxIH1dIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0cnlUb1NlYXJjaEFnYWluKCkge1xyXG4gICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlR3JpZERhdGEoeyBmaXJzdDogMCwgcm93czogMTAsIG11bHRpU29ydE1ldGE6IFt7IGZpZWxkOiAnaXNzdWFuY2VEYXRlJywgb3JkZXI6IDEgfV0gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW4oKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tJZk9wdGlvbnNJc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ncmlkVG90YWxSZWNvcmRzID0gQUdST19OVU1CRVJTLlpFUk87XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy51bnNlbGVjdGVkSWRzLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHBhZ2U6IDAsXHJcbiAgICAgICAgICAgICAgICBzaXplOiAxMCxcclxuICAgICAgICAgICAgICAgIHNvcnQ6IFtdLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyUXVlcnk6ICcnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkczogWycqJywgSU5WT0lDRV9JVEVNU10sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZERhdGEoeyBmaXJzdDogMCwgcm93czogMTAsIG11bHRpU29ydE1ldGE6IFt7IGZpZWxkOiAnaXNzdWFuY2VEYXRlJywgb3JkZXI6IDEgfV0gfSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ01vZGFsSW52b2ljZVBqQ29tcG9uZW50OiBPcMOnw7VlcyBpbnbDoWxpZGFzIHBhcmEgYWJyaXIgbyBtb2RhbC4nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNoZWNrSWZPcHRpb25zSXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5jb21wYW55SWQgfHwgIXRoaXMub3B0aW9ucy5icmFuY2hJZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFBhZ2luYXRpb24oZXZlbnQ6IExhenlMb2FkRXZlbnQpOiB7IHBhZ2U6IG51bWJlcjsgc2l6ZTogbnVtYmVyIH0ge1xyXG4gICAgICAgIGNvbnN0IHNpemUgPSBldmVudC5yb3dzO1xyXG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudC5maXJzdCAvIHNpemU7XHJcbiAgICAgICAgcmV0dXJuIHsgcGFnZSwgc2l6ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVDdXJyZW50UGFyYW1zKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGFyYW1zID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmdldFBhZ2luYXRpb24oZXZlbnQpLFxyXG4gICAgICAgICAgICBzb3J0OiBldmVudC5tdWx0aVNvcnRNZXRhPy5sZW5ndGggPyBldmVudC5tdWx0aVNvcnRNZXRhIDogW3sgZmllbGQ6ICdpc3N1YW5jZURhdGUnLCBvcmRlcjogMSB9XSxcclxuICAgICAgICAgICAgZGlzcGxheUZpZWxkczogWycqJywgSU5WT0lDRV9JVEVNUywgJ2lzc3VhbmNlRGF0ZSddLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZUdyaWREYXRhKGV2ZW50OiBMYXp5TG9hZEV2ZW50LCBzZWFyY2hWYWx1ZT86IHN0cmluZykge1xyXG5cclxuICAgICAgICB0aGlzLmNhbmNlbFBvb2xpbmcoKTtcclxuXHJcbiAgICAgICAgY29uc3QgeyBjb21wYW55SWQsIGJyYW5jaElkIH0gPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgICAgY29uc3QgcHJvZHVjZXJJZCA9IHRoaXMub3B0aW9ucy5wcm9kdWNlcnNJZHNbMF07XHJcbiAgICAgICAgY29uc3QgcnVyYWxFc3RhdGVJZCA9IHRoaXMub3B0aW9ucy5ydXJhbEVzdGF0ZUlkc1swXTtcclxuXHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kb250SGF2ZUFueUludm9pY2UgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnRQYXJhbXMoZXZlbnQpO1xyXG5cclxuICAgICAgICBjb25zdCBmaWx0ZXJCb2R5OiBJSW52b2ljZUxvb2t1cEZpbHRlciA9IHtcclxuICAgICAgICAgICAgZmlsdGVyOiB7XHJcbiAgICAgICAgICAgICAgICBjb21wYW55SWQsXHJcbiAgICAgICAgICAgICAgICBicmFuY2hJZCxcclxuICAgICAgICAgICAgICAgIHByb2R1Y2VySWRzOiBbcHJvZHVjZXJJZF0sXHJcbiAgICAgICAgICAgICAgICBydXJhbEVzdGF0ZUlkczogW3J1cmFsRXN0YXRlSWRdLFxyXG4gICAgICAgICAgICAgICAgbXVsdGlQcm9kdWN0czogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0SWQ6IHRoaXMub3B0aW9ucy5wcm9kdWN0SWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHBhZ2VSZXF1ZXN0OiB7XHJcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhcmFtcy5wYWdlLFxyXG4gICAgICAgICAgICAgICAgc2l6ZTogdGhpcy5jdXJyZW50UGFyYW1zLnNpemUsXHJcbiAgICAgICAgICAgICAgICBvcmRlckJ5OiB0aGlzLmN1cnJlbnRQYXJhbXMuc29ydC5tYXAoKHNvcnQpID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IHNvcnQuZmllbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IHNvcnQub3JkZXIgPT09IDEgPyAnYXNjJyA6ICdkZXNjJyxcclxuICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBpZiAoc2VhcmNoVmFsdWUpIHtcclxuICAgICAgICAgICAgc2VhcmNoVmFsdWUgPSBBZ3JvTnVtYmVyVXRpbHMuZ2V0TmVhckludGVnZXIoc2VhcmNoVmFsdWUpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5pbnZvaWNlTG9va3VwRmlsdGVyKGZpbHRlckJvZHkpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSByZXN1bHQ/LnJlc3VsdD8uaW52b2ljZXMgfHwgW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZERhdGEubGVuZ3RoID09PSAwICYmICFzZWFyY2hWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbnRIYXZlQW55SW52b2ljZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFRvdGFsUmVjb3JkcyA9IHJlc3VsdC5yZXN1bHQudG90YWxFbGVtZW50cztcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmluZm8oJ0Vycm8gYW8gYnVzY2FyIG5vdGFzIGZpc2NhaXM6ICcsIGVycm9yKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbmNlbFBvb2xpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5pbnZvaWNlU2VydmljZS5jYW5jZWxBY3RpdmVQb29saW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgYWRkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuYmVmb3JlQWRkKHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgICAgICAgICB0aGlzLndoZW5TZWxlY3RJbnZvaWNlcy5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0U3BlY3MoKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ0Vycm8gYW8gc2VsZWNpb25hciBub3RhcyBmaXNjYWlzOiAnLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCByZXNldFNwZWNzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcclxuICAgICAgICB0aGlzLmRvbnRIYXZlQW55SW52b2ljZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ncmlkVG90YWxSZWNvcmRzID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjYW5jZWwoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5yZXNldFNwZWNzKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW52b2ljZS1wai1iYXNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1hZ3JvbmVnb2Npby9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL21vZGFsLWludm9pY2UtcGovbW9kYWwtaW52b2ljZS1wai1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR2xGLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBR3ZDLElBQXNCLGtCQUFrQixHQUF4QyxNQUFzQixrQkFBa0I7SUFvQ3BDLFlBQ3VCLFNBQWdDLEVBQ2hDLGNBQWtDLEVBQ2xDLGFBQTRCLEVB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QUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM3RDtRQUNMLENBQUM7S0FBQTtJQUVTLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFSyxNQUFNOztZQUNSLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDO0tBQUE7Q0FDSixDQUFBOztZQXJMcUMscUJBQXFCO1lBQ2hCLGtCQUFrQjtZQUNuQixhQUFhO1lBQ2QsWUFBWTtZQUNWLGNBQWM7WUFDcEIsUUFBUTs7QUExQ3ZCLGtCQUFrQjtJQUR2QyxTQUFTLEVBQUU7R0FDVSxrQkFBa0IsQ0EwTnZDO1NBMU5xQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCdXR0b25Qcmlvcml0eSwgQ29sdW1uLCBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IExhenlMb2FkRXZlbnQsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFncm9OdW1iZXJVdGlscyB9IGZyb20gJy4uLy4uL2NvbW1vbi9hZ3JvLW51bWJlci11dGlscy5jbGFzcyc7XHJcbmltcG9ydCB7IEFHUk9fTlVNQkVSUyB9IGZyb20gJy4uLy4uL2VudW1zL2Fncm8tbnVtYmVycy5lbnVtJztcclxuaW1wb3J0IHsgS2lsb2dyYW1QaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9raWxvZ3JhbSc7XHJcbmltcG9ydCB7IExpc3RQYXJhbXMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hZ3JvLWVudGl0eS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGliLXRyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2RhbEludm9pY2VQak9wdGlvbnMgfSBmcm9tICcuL21vZGFsLWludm9pY2UtcGotb3B0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBZ3JvSW52b2ljZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Fncm8taW52b2ljZS9hZ3JvLWludm9pY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IElJbnZvaWNlTG9va3VwRmlsdGVyLCBJSW52b2ljZUxvb2t1cFJlc3BvbnNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hZ3JvLWludm9pY2UvaW50ZXJmYWNlcyc7XHJcblxyXG5jb25zdCBJTlZPSUNFX0lURU1TID0gJ2ludm9pY2VJdGVtcy4qJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9kYWxJbnZvaWNlUGpCYXNlIHtcclxuICAgIHB1YmxpYyBhYnN0cmFjdCBvcHRpb25zOiBNb2RhbEludm9pY2VQak9wdGlvbnM7XHJcbiAgICBwdWJsaWMgYWJzdHJhY3Qgd2hlblNlbGVjdEludm9pY2VzOiBFdmVudEVtaXR0ZXI8YW55W10+O1xyXG5cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBncmlkQ29sdW1uczogUGFydGlhbDxDb2x1bW4gJiB7IHNvcnRhYmxlPzogYm9vbGVhbiB9PltdO1xyXG5cclxuICAgIHB1YmxpYyBncmlkRGF0YTogYW55W107XHJcbiAgICBwdWJsaWMgYnV0dG9uUHJpb3JpdHkgPSBCdXR0b25Qcmlvcml0eTtcclxuXHJcbiAgICBwdWJsaWMgZG9udEhhdmVBbnlJbnZvaWNlID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGdyaWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBncmlkVG90YWxSZWNvcmRzITogbnVtYmVyO1xyXG4gICAgcHVibGljIHNlbGVjdGVkOiBhbnlbXSA9IFtdO1xyXG4gICAgcHVibGljIHVuc2VsZWN0ZWRJZHMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuXHJcbiAgICBwdWJsaWMgdmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWYWx1ZTogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtdKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIGN1cnJlbnRQYXJhbXM6IExpc3RQYXJhbXMgPSB7XHJcbiAgICAgICAgcGFnZTogMCxcclxuICAgICAgICBzaXplOiAxMCxcclxuICAgICAgICBzb3J0OiBbeyBmaWVsZDogJ2lzc3VhbmNlRGF0ZScsIG9yZGVyOiAxIH1dLFxyXG4gICAgICAgIGRpc3BsYXlGaWVsZHM6IFsnKicsIElOVk9JQ0VfSVRFTVMsICdpc3N1YW5jZURhdGUnXSxcclxuICAgICAgICBmaWx0ZXJRdWVyeTogJycsXHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyBncmlkRmllbGRWYWx1ZXNNYXA6IHsgW2tleTogc3RyaW5nXTogKHJvdzogYW55KSA9PiBhbnkgfSA9IHtcclxuICAgICAgICBpc3N1YW5jZURhdGU6IChyb3cpID0+IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHJvdy5pc3N1YW5jZURhdGUsICdkZC9NTS95eXl5JywgJ3B0LUJSJyksXHJcbiAgICAgICAgaW52b2ljZUl0ZW1zOiAocm93KSA9PiByb3cudG90YWxJdGVtcyB8fCAwLFxyXG4gICAgICAgIHF1YW50aXR5OiAocm93KSA9PiB0aGlzLmtpbG9ncmFtUGlwZS50cmFuc2Zvcm0ocm93LnRvdGFsSXRlbXNRdWFudGl0eSB8fCAwKSxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYW5zbGF0ZTogTGliVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBpbnZvaWNlU2VydmljZTogQWdyb0ludm9pY2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBraWxvZ3JhbVBpcGU6IEtpbG9ncmFtUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy53aGVuU2VhcmNoVmFsdWVDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgYWRhcHRSZXN1bHQocmVzdWx0OiBJSW52b2ljZUxvb2t1cFJlc3BvbnNlKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgYWJzdHJhY3QgYmVmb3JlQWRkKHNlbGVjdGVkSW52b2ljZXM6IGFueSk6IFByb21pc2U8YW55PjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgd2hlblNlYXJjaFZhbHVlQ2hhbmdlcygpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFZhbHVlLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKEFHUk9fTlVNQkVSUy5USFJFRV9IVU5EUkVEKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkRGF0YShcclxuICAgICAgICAgICAgICAgICAgICAgICAgeyBmaXJzdDogMCwgcm93czogMTAsIG11bHRpU29ydE1ldGE6IFt7IGZpZWxkOiAnaXNzdWFuY2VEYXRlJywgb3JkZXI6IDEgfV0gfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWREYXRhKHsgZmlyc3Q6IDAsIHJvd3M6IDEwLCBtdWx0aVNvcnRNZXRhOiBbeyBmaWVsZDogJ2lzc3VhbmNlRGF0ZScsIG9yZGVyOiAxIH1dIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0cnlUb1NlYXJjaEFnYWluKCkge1xyXG4gICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlR3JpZERhdGEoeyBmaXJzdDogMCwgcm93czogMTAsIG11bHRpU29ydE1ldGE6IFt7IGZpZWxkOiAnaXNzdWFuY2VEYXRlJywgb3JkZXI6IDEgfV0gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW4oKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tJZk9wdGlvbnNJc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ncmlkVG90YWxSZWNvcmRzID0gQUdST19OVU1CRVJTLlpFUk87XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy51bnNlbGVjdGVkSWRzLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHBhZ2U6IDAsXHJcbiAgICAgICAgICAgICAgICBzaXplOiAxMCxcclxuICAgICAgICAgICAgICAgIHNvcnQ6IFtdLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyUXVlcnk6ICcnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkczogWycqJywgSU5WT0lDRV9JVEVNU10sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZERhdGEoeyBmaXJzdDogMCwgcm93czogMTAsIG11bHRpU29ydE1ldGE6IFt7IGZpZWxkOiAnaXNzdWFuY2VEYXRlJywgb3JkZXI6IDEgfV0gfSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ01vZGFsSW52b2ljZVBqQ29tcG9uZW50OiBPcMOnw7VlcyBpbnbDoWxpZGFzIHBhcmEgYWJyaXIgbyBtb2RhbC4nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNoZWNrSWZPcHRpb25zSXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5jb21wYW55SWQgfHwgIXRoaXMub3B0aW9ucy5icmFuY2hJZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFBhZ2luYXRpb24oZXZlbnQ6IExhenlMb2FkRXZlbnQpOiB7IHBhZ2U6IG51bWJlcjsgc2l6ZTogbnVtYmVyIH0ge1xyXG4gICAgICAgIGNvbnN0IHNpemUgPSBldmVudC5yb3dzO1xyXG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudC5maXJzdCAvIHNpemU7XHJcbiAgICAgICAgcmV0dXJuIHsgcGFnZSwgc2l6ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVDdXJyZW50UGFyYW1zKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGFyYW1zID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmdldFBhZ2luYXRpb24oZXZlbnQpLFxyXG4gICAgICAgICAgICBzb3J0OiBldmVudC5tdWx0aVNvcnRNZXRhPy5sZW5ndGggPyBldmVudC5tdWx0aVNvcnRNZXRhIDogW3sgZmllbGQ6ICdpc3N1YW5jZURhdGUnLCBvcmRlcjogMSB9XSxcclxuICAgICAgICAgICAgZGlzcGxheUZpZWxkczogWycqJywgSU5WT0lDRV9JVEVNUywgJ2lzc3VhbmNlRGF0ZSddLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZUdyaWREYXRhKGV2ZW50OiBMYXp5TG9hZEV2ZW50LCBzZWFyY2hWYWx1ZT86IHN0cmluZykge1xyXG5cclxuICAgICAgICB0aGlzLmNhbmNlbFBvb2xpbmcoKTtcclxuXHJcbiAgICAgICAgY29uc3QgeyBjb21wYW55SWQsIGJyYW5jaElkIH0gPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgICAgY29uc3QgcHJvZHVjZXJJZCA9IHRoaXMub3B0aW9ucy5wcm9kdWNlcnNJZHNbMF07XHJcbiAgICAgICAgY29uc3QgcnVyYWxFc3RhdGVJZCA9IHRoaXMub3B0aW9ucy5ydXJhbEVzdGF0ZUlkc1swXTtcclxuXHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kb250SGF2ZUFueUludm9pY2UgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnRQYXJhbXMoZXZlbnQpO1xyXG4gICAgICAgIGNvbnN0IG51bWJlclNlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWUgPyBBZ3JvTnVtYmVyVXRpbHMuZ2V0TmVhckludGVnZXIoc2VhcmNoVmFsdWUpIDogbnVsbDtcclxuXHJcbiAgICAgICAgY29uc3QgZmlsdGVyQm9keTogSUludm9pY2VMb29rdXBGaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICAgICAgY29tcGFueUlkLFxyXG4gICAgICAgICAgICAgICAgYnJhbmNoSWQsXHJcbiAgICAgICAgICAgICAgICBwcm9kdWNlcklkczogW3Byb2R1Y2VySWRdLFxyXG4gICAgICAgICAgICAgICAgcnVyYWxFc3RhdGVJZHM6IFtydXJhbEVzdGF0ZUlkXSxcclxuICAgICAgICAgICAgICAgIG11bHRpUHJvZHVjdHM6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgcHJvZHVjdElkOiB0aGlzLm9wdGlvbnMucHJvZHVjdElkLFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiBudW1iZXJTZWFyY2hWYWx1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcGFnZVJlcXVlc3Q6IHtcclxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5jdXJyZW50UGFyYW1zLnBhZ2UsXHJcbiAgICAgICAgICAgICAgICBzaXplOiB0aGlzLmN1cnJlbnRQYXJhbXMuc2l6ZSxcclxuICAgICAgICAgICAgICAgIG9yZGVyQnk6IHRoaXMuY3VycmVudFBhcmFtcy5zb3J0Lm1hcCgoc29ydCkgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICBmaWVsZDogc29ydC5maWVsZCxcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogc29ydC5vcmRlciA9PT0gMSA/ICdhc2MnIDogJ2Rlc2MnLFxyXG4gICAgICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmIChzZWFyY2hWYWx1ZSkge1xyXG4gICAgICAgICAgICBzZWFyY2hWYWx1ZSA9IG51bWJlclNlYXJjaFZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5pbnZvaWNlTG9va3VwRmlsdGVyKGZpbHRlckJvZHkpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoYXN5bmMgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuYWRhcHRSZXN1bHQocmVzdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSByZXN1bHQ/LnJlc3VsdD8uaW52b2ljZXMgfHwgW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZERhdGEubGVuZ3RoID09PSAwICYmICFzZWFyY2hWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbnRIYXZlQW55SW52b2ljZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFRvdGFsUmVjb3JkcyA9IHJlc3VsdC5yZXN1bHQudG90YWxFbGVtZW50cztcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmluZm8oJ0Vycm8gYW8gYnVzY2FyIG5vdGFzIGZpc2NhaXM6ICcsIGVycm9yKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbmNlbFBvb2xpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5pbnZvaWNlU2VydmljZS5jYW5jZWxBY3RpdmVQb29saW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgYWRkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuYmVmb3JlQWRkKHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgICAgICAgICB0aGlzLndoZW5TZWxlY3RJbnZvaWNlcy5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0U3BlY3MoKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ0Vycm8gYW8gc2VsZWNpb25hciBub3RhcyBmaXNjYWlzOiAnLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCByZXNldFNwZWNzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcclxuICAgICAgICB0aGlzLmRvbnRIYXZlQW55SW52b2ljZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ncmlkVG90YWxSZWNvcmRzID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjYW5jZWwoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5yZXNldFNwZWNzKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -10,4 +10,4 @@ export var statusIntegration;
10
10
  statusIntegration["IN_PROGRESS"] = "IN_PROGRESS";
11
11
  statusIntegration["ERROR"] = "ERROR";
12
12
  })(statusIntegration || (statusIntegration = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItYWdyb25lZ29jaW8vYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9tb2RhbC1pbnZvaWNlLXBqL3NlcnZpY2VzL2Fncm8taW52b2ljZS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDcEIsbUNBQW1CLENBQUE7SUFDbkIscUNBQXFCLENBQUE7SUFDckIsK0JBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQ3pCLHdDQUFtQixDQUFBO0lBQ25CLGdEQUEyQixDQUFBO0lBQzNCLG9DQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFJNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBzdGF0dXNMb29rdXAge1xyXG4gICAgUEVORElORyA9IFwiUEVORElOR1wiLFxyXG4gICAgRklOSVNIRUQgPSBcIkZJTklTSEVEXCIsXHJcbiAgICBFUlJPUiA9IFwiRVJST1JcIixcclxufVxyXG5cclxuZXhwb3J0IGVudW0gc3RhdHVzSW50ZWdyYXRpb24ge1xyXG4gICAgU1VDQ0VTUyA9IFwiU1VDQ0VTU1wiLFxyXG4gICAgSU5fUFJPR1JFU1MgPSBcIklOX1BST0dSRVNTXCIsXHJcbiAgICBFUlJPUiA9IFwiRVJST1JcIixcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW52b2ljZUxvb2t1cEZpbHRlciB7XHJcbiAgICBmaWx0ZXI6IElSZWNJbnZvaWNlTG9va3VwRmlsdGVyO1xyXG4gICAgcGFnZVJlcXVlc3Q6IElSZWNQYWdlUmVxdWVzdDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElSZWNJbnZvaWNlTG9va3VwRmlsdGVyIHtcclxuICAgIGNvbXBhbnlJZDogc3RyaW5nO1xyXG4gICAgYnJhbmNoSWQ6IHN0cmluZztcclxuICAgIHJ1cmFsRXN0YXRlSWRzOiBzdHJpbmdbXTtcclxuICAgIHByb2R1Y2VySWRzOiBzdHJpbmdbXTtcclxuICAgIHByb2R1Y3RJZDogc3RyaW5nO1xyXG4gICAgbXVsdGlQcm9kdWN0czogYm9vbGVhbjtcclxuICAgIG51bWJlcj86IG51bWJlcjtcclxuICAgIHNlcmllcz86IHN0cmluZztcclxuICAgIGtleT86IHN0cmluZztcclxuICAgIGlzc3VhbmNlRGF0ZVN0YXJ0Pzogc3RyaW5nO1xyXG4gICAgaXNzdWFuY2VEYXRlRW5kPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSZWNQYWdlUmVxdWVzdCB7XHJcbiAgICBvZmZzZXQ6IG51bWJlcjtcclxuICAgIHNpemU6IG51bWJlcjtcclxuICAgIG9yZGVyQnk6IElPcmRlckJ5W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9yZGVyQnkge1xyXG4gICAgZmllbGQ6IHN0cmluZztcclxuICAgIG9yZGVyOiBcImFzY1wiIHwgXCJkZXNjXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUludm9pY2VMb29rdXBSZXNwb25zZSB7XHJcbiAgICBzdGF0dXM6IHN0YXR1c0xvb2t1cDtcclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxuICAgIHJlc3VsdDogSUludm9pY2VMb29rdXBEYXRhUmVzcG9uc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUludm9pY2VMb29rdXBSZWNvcmQge1xyXG4gICAgZXh0ZXJuYWxJbnZvaWNlSWQ/OiBzdHJpbmc7XHJcbiAgICBjb21wYW55SWQ6IHN0cmluZztcclxuICAgIGJyYW5jaElkOiBzdHJpbmc7XHJcbiAgICBwcm9kdWNlcklkOiBzdHJpbmc7XHJcbiAgICBpc3N1YW5jZURhdGU6IHN0cmluZztcclxuICAgIGl0ZW1zOiBJSW52b2ljZUxvb2t1cEl0ZW1SZWNvcmRbXTtcclxuICAgIGludm9pY2VJZD86IHN0cmluZztcclxuICAgIHJ1cmFsRXN0YXRlSWQ/OiBzdHJpbmc7XHJcbiAgICBudW1iZXI/OiBudW1iZXI7XHJcbiAgICBzZXJpZXM/OiBzdHJpbmc7XHJcbiAgICBzZXJpZXNJZD86IHN0cmluZztcclxuICAgIHNlcmllc0xlZ2FsPzogc3RyaW5nO1xyXG4gICAga2V5Pzogc3RyaW5nO1xyXG4gICAgbmV0VG90YWxWYWx1ZT86IG51bWJlcjtcclxuICAgIHRvdGFsSXRlbXM/OiBudW1iZXI7XHJcbiAgICB0b3RhbEl0ZW1zUXVhbnRpdHk/OiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJSW52b2ljZUxvb2t1cEl0ZW1SZWNvcmQge1xyXG4gICAgaXRlbVNlcXVlbmNlOiBudW1iZXI7XHJcbiAgICBwcm9kdWN0SWQ6IHN0cmluZztcclxuICAgIHByb2R1Y3RDb2RlOiBzdHJpbmc7XHJcbiAgICBzZXJ2aWNlSWQ6IHN0cmluZztcclxuICAgIHVuaXRQcmljZTogbnVtYmVyO1xyXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW52b2ljZUxvb2t1cERhdGFSZXNwb25zZSB7XHJcbiAgICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XHJcbiAgICBzdGF0dXM6IHN0YXR1c0ludGVncmF0aW9uO1xyXG4gICAgaW52b2ljZXM/OiBJSW52b2ljZUxvb2t1cFJlY29yZFtdO1xyXG4gICAgbWVzc2FnZT86IHN0cmluZztcclxuICAgIGxvb2t1cElkPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItYWdyb25lZ29jaW8vYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9tb2RhbC1pbnZvaWNlLXBqL3NlcnZpY2VzL2Fncm8taW52b2ljZS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDcEIsbUNBQW1CLENBQUE7SUFDbkIscUNBQXFCLENBQUE7SUFDckIsK0JBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQ3pCLHdDQUFtQixDQUFBO0lBQ25CLGdEQUEyQixDQUFBO0lBQzNCLG9DQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFJNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBzdGF0dXNMb29rdXAge1xyXG4gICAgUEVORElORyA9IFwiUEVORElOR1wiLFxyXG4gICAgRklOSVNIRUQgPSBcIkZJTklTSEVEXCIsXHJcbiAgICBFUlJPUiA9IFwiRVJST1JcIixcclxufVxyXG5cclxuZXhwb3J0IGVudW0gc3RhdHVzSW50ZWdyYXRpb24ge1xyXG4gICAgU1VDQ0VTUyA9IFwiU1VDQ0VTU1wiLFxyXG4gICAgSU5fUFJPR1JFU1MgPSBcIklOX1BST0dSRVNTXCIsXHJcbiAgICBFUlJPUiA9IFwiRVJST1JcIixcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW52b2ljZUxvb2t1cEZpbHRlciB7XHJcbiAgICBmaWx0ZXI6IElSZWNJbnZvaWNlTG9va3VwRmlsdGVyO1xyXG4gICAgcGFnZVJlcXVlc3Q6IElSZWNQYWdlUmVxdWVzdDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElSZWNJbnZvaWNlTG9va3VwRmlsdGVyIHtcclxuICAgIGNvbXBhbnlJZDogc3RyaW5nO1xyXG4gICAgYnJhbmNoSWQ6IHN0cmluZztcclxuICAgIHJ1cmFsRXN0YXRlSWRzOiBzdHJpbmdbXTtcclxuICAgIHByb2R1Y2VySWRzOiBzdHJpbmdbXTtcclxuICAgIHByb2R1Y3RJZDogc3RyaW5nO1xyXG4gICAgbXVsdGlQcm9kdWN0czogYm9vbGVhbjtcclxuICAgIG51bWJlcj86IG51bWJlciB8IG51bGw7XHJcbiAgICBzZXJpZXM/OiBzdHJpbmc7XHJcbiAgICBrZXk/OiBzdHJpbmc7XHJcbiAgICBpc3N1YW5jZURhdGVTdGFydD86IHN0cmluZztcclxuICAgIGlzc3VhbmNlRGF0ZUVuZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVjUGFnZVJlcXVlc3Qge1xyXG4gICAgb2Zmc2V0OiBudW1iZXI7XHJcbiAgICBzaXplOiBudW1iZXI7XHJcbiAgICBvcmRlckJ5OiBJT3JkZXJCeVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPcmRlckJ5IHtcclxuICAgIGZpZWxkOiBzdHJpbmc7XHJcbiAgICBvcmRlcjogXCJhc2NcIiB8IFwiZGVzY1wiO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElJbnZvaWNlTG9va3VwUmVzcG9uc2Uge1xyXG4gICAgc3RhdHVzOiBzdGF0dXNMb29rdXA7XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICByZXN1bHQ6IElJbnZvaWNlTG9va3VwRGF0YVJlc3BvbnNlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElJbnZvaWNlTG9va3VwUmVjb3JkIHtcclxuICAgIGV4dGVybmFsSW52b2ljZUlkPzogc3RyaW5nO1xyXG4gICAgY29tcGFueUlkOiBzdHJpbmc7XHJcbiAgICBicmFuY2hJZDogc3RyaW5nO1xyXG4gICAgcHJvZHVjZXJJZDogc3RyaW5nO1xyXG4gICAgaXNzdWFuY2VEYXRlOiBzdHJpbmc7XHJcbiAgICBpdGVtczogSUludm9pY2VMb29rdXBJdGVtUmVjb3JkW107XHJcbiAgICBpbnZvaWNlSWQ/OiBzdHJpbmc7XHJcbiAgICBydXJhbEVzdGF0ZUlkPzogc3RyaW5nO1xyXG4gICAgbnVtYmVyPzogbnVtYmVyO1xyXG4gICAgc2VyaWVzPzogc3RyaW5nO1xyXG4gICAgc2VyaWVzSWQ/OiBzdHJpbmc7XHJcbiAgICBzZXJpZXNMZWdhbD86IHN0cmluZztcclxuICAgIGtleT86IHN0cmluZztcclxuICAgIG5ldFRvdGFsVmFsdWU/OiBudW1iZXI7XHJcbiAgICB0b3RhbEl0ZW1zPzogbnVtYmVyO1xyXG4gICAgdG90YWxJdGVtc1F1YW50aXR5PzogbnVtYmVyO1xyXG4gICAgbGlua2VkVmFsdWU/OiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJSW52b2ljZUxvb2t1cEl0ZW1SZWNvcmQge1xyXG4gICAgaXRlbVNlcXVlbmNlOiBudW1iZXI7XHJcbiAgICBwcm9kdWN0SWQ6IHN0cmluZztcclxuICAgIHByb2R1Y3RDb2RlOiBzdHJpbmc7XHJcbiAgICBzZXJ2aWNlSWQ6IHN0cmluZztcclxuICAgIHVuaXRQcmljZTogbnVtYmVyO1xyXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW52b2ljZUxvb2t1cERhdGFSZXNwb25zZSB7XHJcbiAgICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XHJcbiAgICBzdGF0dXM6IHN0YXR1c0ludGVncmF0aW9uO1xyXG4gICAgaW52b2ljZXM/OiBJSW52b2ljZUxvb2t1cFJlY29yZFtdO1xyXG4gICAgbWVzc2FnZT86IHN0cmluZztcclxuICAgIGxvb2t1cElkPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZXItaW52b2ljZS1kdG8uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbW9kYWwtaW52b2ljZS1wai9zZXJ2aWNlcy9wcm9kdWNlci1pbnZvaWNlLWZpeGF0aW9uL3Byb2R1Y2VyLWludm9pY2UtZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb2R1Y2VySW52b2ljZUR0byB7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGZpeGF0aW9uSXRlbTogYW55O1xyXG4gICAgaW52b2ljZUlkPzogc3RyaW5nO1xyXG4gICAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgICBzZXJpZXM6IHN0cmluZztcclxuICAgIHNlcXVlbmNlPzogbnVtYmVyO1xyXG4gICAgdG90YWxWYWx1ZT86IG51bWJlcjtcclxuICAgIGxpbmtlZFZhbHVlPzogbnVtYmVyO1xyXG4gICAgY3JlYXRlZEJ5Pzogc3RyaW5nO1xyXG4gICAgY3JlYXRlZERhdGU/OiBEYXRlO1xyXG4gICAgbGFzdE1vZGlmaWVkQnk/OiBzdHJpbmc7XHJcbiAgICBsYXN0TW9kaWZpZWREYXRlPzogRGF0ZTtcclxuICAgIGN1c3RvbT86IGFueTtcclxufVxyXG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { MessageService } from 'primeng/api';
5
+ import { LibTranslationService as TranslateService } from "../../../../services/lib-translation.service";
6
+ import { AgroEntityService } from "../../../../services/agro-entity-service";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common/http";
9
+ import * as i2 from "primeng/api";
10
+ import * as i3 from "../../../../services/lib-translation.service";
11
+ let ProducerInvoiceService = class ProducerInvoiceService extends AgroEntityService {
12
+ constructor(http, messageService, translate) {
13
+ super(http, messageService, `agro/fixation/entities/producerInvoice`, `agro/fixation/actions`, `agro/fixation/queries`, translate);
14
+ this.http = http;
15
+ this.messageService = messageService;
16
+ this.translate = translate;
17
+ }
18
+ getTotalLinkedInInvoices(invoiceId, fixationId) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const filter = `fixationItem.fixation.id eq '${fixationId}' ` + `and externalInvoiceId in ('${invoiceId.join("','")}') `;
21
+ return new Promise((resolve, reject) => {
22
+ this.list({
23
+ filterQuery: filter,
24
+ size: 100
25
+ }).subscribe({
26
+ next: (data) => {
27
+ const invoiceList = data.contents;
28
+ const producerInvoice = new Map();
29
+ if (invoiceList.length) {
30
+ invoiceList.forEach((invoice) => {
31
+ var _a;
32
+ producerInvoice.set(invoice.invoiceId, ((_a = producerInvoice.get(invoice.invoiceId)) !== null && _a !== void 0 ? _a : 0) + invoice.linkedValue);
33
+ });
34
+ }
35
+ resolve(Array.from(producerInvoice.entries()).map(([key, value]) => {
36
+ return {
37
+ invoiceId: key,
38
+ totalLinked: value
39
+ };
40
+ }));
41
+ },
42
+ error: (err) => reject(err instanceof Error ? err : new Error(String(err)))
43
+ });
44
+ });
45
+ });
46
+ }
47
+ deleteAllProducerInvoice(fixationId) {
48
+ return this.http.post(`${this.actionsUrl}/deleteAllProducerInvoice`, { fixationId }).pipe(this.defaultCatch());
49
+ }
50
+ };
51
+ ProducerInvoiceService.ctorParameters = () => [
52
+ { type: HttpClient },
53
+ { type: MessageService },
54
+ { type: TranslateService }
55
+ ];
56
+ ProducerInvoiceService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProducerInvoiceService_Factory() { return new ProducerInvoiceService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.MessageService), i0.ɵɵinject(i3.LibTranslationService)); }, token: ProducerInvoiceService, providedIn: "root" });
57
+ ProducerInvoiceService = __decorate([
58
+ Injectable({
59
+ providedIn: 'root'
60
+ })
61
+ ], ProducerInvoiceService);
62
+ export { ProducerInvoiceService };
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZXItaW52b2ljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1hZ3JvbmVnb2Npby9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL21vZGFsLWludm9pY2UtcGovc2VydmljZXMvcHJvZHVjZXItaW52b2ljZS1maXhhdGlvbi9wcm9kdWNlci1pbnZvaWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFekcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBYTdFLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXVCLFNBQVEsaUJBQXFDO0lBQzdFLFlBQ2MsSUFBZ0IsRUFDaEIsY0FBOEIsRUFDOUIsU0FBMkI7UUFFckMsS0FBSyxDQUNELElBQUksRUFDSixjQUFjLEVBQ2Qsd0NBQXdDLEVBQ3hDLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsU0FBUyxDQUNaLENBQUM7UUFYUSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQVV6QyxDQUFDO0lBRVksd0JBQXdCLENBQ2pDLFNBQW1CLEVBQ25CLFVBQWtCOztZQUVsQixNQUFNLE1BQU0sR0FDUixnQ0FBZ0MsVUFBVSxJQUFJLEdBQUcsOEJBQThCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUM5RyxPQUFPLElBQUksT0FBTyxDQUE4QixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDTixXQUFXLEVBQUUsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLEdBQUc7aUJBQ1osQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDVCxJQUFJLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRTt3QkFDaEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQzt3QkFDbEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7d0JBQ2xELElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTs0QkFDcEIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFOztnQ0FDakMsZUFBZSxDQUFDLEdBQUcsQ0FDZixPQUFPLENBQUMsU0FBUyxFQUNqQixPQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxtQ0FBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUN0RSxDQUFDOzRCQUNOLENBQUMsQ0FBQyxDQUFDO3lCQUNOO3dCQUNELE9BQU8sQ0FDSCxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7NEJBQ3ZELE9BQU87Z0NBQ0gsU0FBUyxFQUFFLEdBQUc7Z0NBQ2QsV0FBVyxFQUFFLEtBQUs7NkJBQ3JCLENBQUM7d0JBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FBQztvQkFDTixDQUFDO29CQUNELEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ25GLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUFBO0lBRU0sd0JBQXdCLENBQUMsVUFBa0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLDJCQUEyQixFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDbkgsQ0FBQztDQUNKLENBQUE7O1lBckR1QixVQUFVO1lBQ0EsY0FBYztZQUNuQixnQkFBZ0I7OztBQUpoQyxzQkFBc0I7SUFIbEMsVUFBVSxDQUFDO1FBQ1IsVUFBVSxFQUFFLE1BQU07S0FDckIsQ0FBQztHQUNXLHNCQUFzQixDQXVEbEM7U0F2RFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIGFzIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvbGliLXRyYW5zbGF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvZHVjZXJJbnZvaWNlRHRvIH0gZnJvbSAnLi9wcm9kdWNlci1pbnZvaWNlLWR0byc7XHJcbmltcG9ydCB7IEFncm9FbnRpdHlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2VzL2Fncm8tZW50aXR5LXNlcnZpY2VcIjtcclxuXHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y2VySW52b2ljZVRvdGFsaXplcnMge1xyXG4gICAgaW52b2ljZUlkOiBzdHJpbmc7XHJcbiAgICB0b3RhbExpbmtlZDogbnVtYmVyO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y2VySW52b2ljZVNlcnZpY2UgZXh0ZW5kcyBBZ3JvRW50aXR5U2VydmljZTxQcm9kdWNlckludm9pY2VEdG8+IHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoXHJcbiAgICAgICAgICAgIGh0dHAsXHJcbiAgICAgICAgICAgIG1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICBgYWdyby9maXhhdGlvbi9lbnRpdGllcy9wcm9kdWNlckludm9pY2VgLFxyXG4gICAgICAgICAgICBgYWdyby9maXhhdGlvbi9hY3Rpb25zYCxcclxuICAgICAgICAgICAgYGFncm8vZml4YXRpb24vcXVlcmllc2AsXHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFRvdGFsTGlua2VkSW5JbnZvaWNlcyhcclxuICAgICAgICBpbnZvaWNlSWQ6IHN0cmluZ1tdLFxyXG4gICAgICAgIGZpeGF0aW9uSWQ6IHN0cmluZ1xyXG4gICAgKTogUHJvbWlzZTxQcm9kdWNlckludm9pY2VUb3RhbGl6ZXJzW10+IHtcclxuICAgICAgICBjb25zdCBmaWx0ZXIgPVxyXG4gICAgICAgICAgICBgZml4YXRpb25JdGVtLmZpeGF0aW9uLmlkIGVxICcke2ZpeGF0aW9uSWR9JyBgICsgYGFuZCBleHRlcm5hbEludm9pY2VJZCBpbiAoJyR7aW52b2ljZUlkLmpvaW4oXCInLCdcIil9JykgYDtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8UHJvZHVjZXJJbnZvaWNlVG90YWxpemVyc1tdPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdCh7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeTogZmlsdGVyLFxyXG4gICAgICAgICAgICAgICAgc2l6ZTogMTAwXHJcbiAgICAgICAgICAgIH0pLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW52b2ljZUxpc3QgPSBkYXRhLmNvbnRlbnRzO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y2VySW52b2ljZSA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGludm9pY2VMaXN0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnZvaWNlTGlzdC5mb3JFYWNoKChpbnZvaWNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y2VySW52b2ljZS5zZXQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52b2ljZS5pbnZvaWNlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2R1Y2VySW52b2ljZS5nZXQoaW52b2ljZS5pbnZvaWNlSWQpID8/IDApICsgaW52b2ljZS5saW5rZWRWYWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmZyb20ocHJvZHVjZXJJbnZvaWNlLmVudHJpZXMoKSkubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52b2ljZUlkOiBrZXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxMaW5rZWQ6IHZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4gcmVqZWN0KGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyIDogbmV3IEVycm9yKFN0cmluZyhlcnIpKSlcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlbGV0ZUFsbFByb2R1Y2VySW52b2ljZShmaXhhdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFjdGlvbnNVcmx9L2RlbGV0ZUFsbFByb2R1Y2VySW52b2ljZWAsIHsgZml4YXRpb25JZCB9KS5waXBlKHRoaXMuZGVmYXVsdENhdGNoKCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==