@colijnit/transaction 12.1.145 → 12.1.147
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.
- package/bundles/colijnit-transaction.umd.js +698 -397
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +125 -123
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +126 -124
- package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +2 -2
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +7 -1
- package/esm2015/lib/component/checkout/checkout.component.js +10 -2
- package/esm2015/lib/component/core/base/transaction-base.component.js +11 -3
- package/esm2015/lib/component/deposit-payment/deposit-payment.component.js +2 -1
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +1 -3
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.js +6 -3
- package/esm2015/lib/component/payment/payment.component.js +149 -66
- package/esm2015/lib/component/transaction-card/transaction-card-invoice/transaction-card-invoice.component.js +50 -48
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.js +3 -1
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.js +3 -2
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +3 -1
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +2 -1
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remaining-amount.component.js +2 -2
- package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.js +13 -3
- package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.component.js +15 -11
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.js +20 -7
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +3 -2
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +8 -4
- package/esm2015/lib/component/transaction-line/transaction-picked-line/transaction-picked-line.component.js +4 -2
- package/esm2015/lib/component/transaction-line/transaction-picked-line/transaction-picked-line.module.js +4 -3
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line-base.component.js +3 -2
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +2 -1
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +4 -2
- package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.js +3 -3
- package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.js +20 -13
- package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.module.js +6 -5
- package/esm2015/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.js +4 -2
- package/esm2015/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.module.js +4 -3
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons-popup.component.js +2 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.component.js +108 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.module.js +21 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-confirmed-price/transaction-line-confirmed-price.component.js +72 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-confirmed-price/transaction-line-confirmed-price.module.js +24 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.js +4 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +2 -1
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +4 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +1 -1
- package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.js +4 -4
- package/esm2015/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.component.js +14 -12
- package/esm2015/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.module.js +7 -3
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +14 -14
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +45 -43
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.js +2 -2
- package/esm2015/lib/enum/icon.enum.js +2 -1
- package/esm2015/lib/model/icon-svg.js +2 -1
- package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
- package/esm2015/lib/service/payment.service.js +18 -18
- package/esm2015/lib/service/relation.service.js +18 -10
- package/esm2015/lib/service/transaction-base.service.js +3 -4
- package/esm2015/lib/service/transaction-connector-adapter.service.js +16 -4
- package/esm2015/lib/service/transaction-connector.service.js +6 -1
- package/esm2015/lib/service/transaction-event.service.js +2 -1
- package/esm2015/lib/service/transaction.service.js +5 -22
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +680 -381
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/checkout/checkout.component.d.ts +6 -3
- package/lib/component/core/base/transaction-base.component.d.ts +2 -0
- package/lib/component/dialog/dialog-header-search/style/_layout.scss +1 -0
- package/lib/component/dialog/dialog-header-search/style/_material-definition.scss +2 -1
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_material-definition.scss +1 -1
- package/lib/component/payment/payment.component.d.ts +22 -14
- package/lib/component/payment/style/_layout.scss +1 -0
- package/lib/component/payment/style/_material-definition.scss +1 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.d.ts +1 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.d.ts +1 -0
- package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +11 -0
- package/lib/component/transaction-header/transaction-header-popup/style/_material-definition.scss +3 -0
- package/lib/component/transaction-header-fields/transaction-header-remaining-amount.component.d.ts +0 -1
- package/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.d.ts +2 -1
- package/lib/component/transaction-line/transaction-line/style/_layout.scss +1 -1
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.d.ts +3 -1
- package/lib/component/transaction-line/transaction-purchase-order-line/style/_layout.scss +9 -3
- package/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.d.ts +0 -1
- package/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.component.d.ts +34 -0
- package/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-confirmed-price/style/_layout.scss +17 -0
- package/lib/component/transaction-line-fields/transaction-line-confirmed-price/style/_material-definition.scss +1 -0
- package/lib/component/transaction-line-fields/transaction-line-confirmed-price/style/_theme.scss +4 -0
- package/lib/component/transaction-line-fields/transaction-line-confirmed-price/style/material.scss +4 -0
- package/lib/component/transaction-line-fields/transaction-line-confirmed-price/transaction-line-confirmed-price.component.d.ts +17 -0
- package/lib/component/transaction-line-fields/transaction-line-confirmed-price/transaction-line-confirmed-price.module.d.ts +2 -0
- package/lib/component/transaction-line-purchase-confirmation/style/_layout.scss +2 -2
- package/lib/component/transaction-line-sales-allocation/style/_layout.scss +4 -15
- package/lib/component/transaction-line-side-panel/style/_layout.scss +18 -0
- package/lib/component/transaction-lines/style/material.scss +1 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +3 -3
- package/lib/enum/icon.enum.d.ts +1 -0
- package/lib/res/dictionary/dictionaries.d.ts +31 -2
- package/lib/service/payment.service.d.ts +2 -2
- package/lib/service/relation.service.d.ts +1 -0
- package/lib/service/transaction-base.service.d.ts +0 -1
- package/lib/service/transaction-connector-adapter.service.d.ts +1 -0
- package/lib/service/transaction-connector.service.d.ts +1 -0
- package/lib/service/transaction-event.service.d.ts +1 -0
- package/lib/service/transaction.service.d.ts +2 -3
- package/lib/style/_variables.scss +5 -3
- package/lib/style/transaction-globals.scss +4 -0
- package/package.json +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-purchase-portal-line-confirmed-price.component.js +0 -72
- package/esm2015/lib/component/transaction-line-fields/transaction-purchase-portal-line-confirmed-price.module.js +0 -23
- package/lib/component/transaction-line-fields/transaction-purchase-portal-line-confirmed-price.component.d.ts +0 -15
- package/lib/component/transaction-line-fields/transaction-purchase-portal-line-confirmed-price.module.d.ts +0 -2
|
@@ -4,34 +4,36 @@ import { Icon } from '../../enum/icon.enum';
|
|
|
4
4
|
import { TransactionService } from '../../service/transaction.service';
|
|
5
5
|
import { PaymentService } from '../../service/payment.service';
|
|
6
6
|
import { SharedService } from '../../service/shared.service';
|
|
7
|
-
import {
|
|
8
|
-
import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
|
|
7
|
+
import { IonePaymentStatusCode } from '@colijnit/transactionapi/build/enum/ione-payment-status-code.enum';
|
|
9
8
|
import { TransactionEventService } from '../../service/transaction-event.service';
|
|
10
|
-
import {
|
|
9
|
+
import { DoPaymentRequest } from '@colijnit/transactionapi/build/model/do-payment-request';
|
|
11
10
|
export class PaymentComponent {
|
|
12
|
-
constructor(
|
|
13
|
-
this.paymentService = paymentService;
|
|
11
|
+
constructor(_transactionService, _sharedService, _paymentService, _transactionEventService) {
|
|
14
12
|
this._transactionService = _transactionService;
|
|
15
13
|
this._sharedService = _sharedService;
|
|
14
|
+
this._paymentService = _paymentService;
|
|
16
15
|
this._transactionEventService = _transactionEventService;
|
|
17
16
|
this.icons = Icon;
|
|
18
|
-
this.transKind = TransactionKind;
|
|
19
17
|
this.updateDepositAmount = false;
|
|
20
|
-
this.transactionKind = this.transKind.SalesOrder;
|
|
21
18
|
this.payed = new EventEmitter();
|
|
19
|
+
this.paymentMethodIdx = 0;
|
|
20
|
+
this.cashRegisterIdx = 0;
|
|
22
21
|
this.paymentMethods = [];
|
|
23
|
-
this.depositPayments = [];
|
|
24
22
|
this.cashRegisters = [];
|
|
25
23
|
this.showCashRegisters = false;
|
|
24
|
+
this.showKeyPad = false;
|
|
26
25
|
this.showPspQrCode = false;
|
|
27
26
|
this.showLoader = true;
|
|
28
27
|
this.amountToPay = 0;
|
|
28
|
+
this.statusMessage = "";
|
|
29
29
|
this._amount = 0;
|
|
30
|
+
this._paymentStatusPollIntervalMs = 5000;
|
|
31
|
+
this._paymentStatusMaxPollInterval = 10;
|
|
32
|
+
this._paymentStatusPollIntervalCount = 0;
|
|
30
33
|
this._subs = [];
|
|
31
34
|
}
|
|
32
35
|
set amount(value) {
|
|
33
36
|
this._amount = value;
|
|
34
|
-
this.amountToPay = this._amount;
|
|
35
37
|
}
|
|
36
38
|
get amount() {
|
|
37
39
|
return this._amount;
|
|
@@ -41,13 +43,12 @@ export class PaymentComponent {
|
|
|
41
43
|
}
|
|
42
44
|
ngOnInit() {
|
|
43
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
this._subs.push(this._transactionEventService.transactionPaymentDone.subscribe(() => this._getToPayDetails()), this._transactionService.transactionUpdated.subscribe(() => this._calculateAmountToPay()));
|
|
45
46
|
if (this.updateDepositAmount) {
|
|
46
47
|
yield this._transactionService.updateHeaderTransactionDepositAmount(this.transactionUuid, this.amountToPay, true);
|
|
47
48
|
}
|
|
48
49
|
this._getPaymentMethods().then(() => {
|
|
49
50
|
this.showLoader = false;
|
|
50
|
-
this.
|
|
51
|
+
this._getDepositPaymentInfo();
|
|
51
52
|
this._prepareCashRegisters();
|
|
52
53
|
});
|
|
53
54
|
});
|
|
@@ -56,53 +57,143 @@ export class PaymentComponent {
|
|
|
56
57
|
this._subs.forEach(s => s.unsubscribe());
|
|
57
58
|
this._clearInterval();
|
|
58
59
|
}
|
|
59
|
-
paymentMethodSelected(method) {
|
|
60
|
-
this.
|
|
61
|
-
this._getToPayDetails();
|
|
60
|
+
paymentMethodSelected(method, index) {
|
|
61
|
+
this.paymentMethodIdx = index;
|
|
62
62
|
this._prepareCashRegisters();
|
|
63
63
|
}
|
|
64
|
-
cashRegisterSelected(cashRegister) {
|
|
65
|
-
this.
|
|
64
|
+
cashRegisterSelected(cashRegister, index) {
|
|
65
|
+
this.cashRegisterIdx = index;
|
|
66
|
+
}
|
|
67
|
+
handlePayment() {
|
|
68
|
+
this.statusMessage = "";
|
|
69
|
+
const currentPaymentViewModel = this.paymentMethods[this.paymentMethodIdx];
|
|
70
|
+
this.currentPaymentMethod = currentPaymentViewModel.payment;
|
|
71
|
+
if (this.currentPaymentMethod && this.currentPaymentMethod.externalSourceId) { // psp payment
|
|
72
|
+
if (this.currentPaymentMethod.pinTerminal) {
|
|
73
|
+
const cashRegister = this.cashRegisters[this.cashRegisterIdx];
|
|
74
|
+
this._paymentService.doPinPayment(this.transId, this.currentPaymentMethod.code, cashRegister.nr, cashRegister.group, this.amountToPay).then((pspTransactionUuid) => {
|
|
75
|
+
if (pspTransactionUuid) {
|
|
76
|
+
this._paymentStatusPollIntervalCount = 0;
|
|
77
|
+
this._waitForPinPaymentStatus(pspTransactionUuid);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this._paymentService.createIonePaymentLinkAndQRCode(this.transactionUuid, this.amountToPay, this.currentPaymentMethod.code).then((response) => {
|
|
83
|
+
this._paymentResult = response;
|
|
84
|
+
if (this._paymentResult && this._paymentResult.imageBase64) {
|
|
85
|
+
this.qrCodeImage = this._dataUriToBase64(this._paymentResult.imageBase64, 'image/png');
|
|
86
|
+
this.showPspQrCode = true;
|
|
87
|
+
this._paymentStatusPollIntervalCount = 0;
|
|
88
|
+
this._waitForPaymentStatus();
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const currentCashRegister = this.cashRegisters[this.cashRegisterIdx];
|
|
95
|
+
const request = new DoPaymentRequest();
|
|
96
|
+
request.transId = this.transId;
|
|
97
|
+
request.paymentMethodCode = this.currentPaymentMethod.code;
|
|
98
|
+
request.amount = this.amountToPay;
|
|
99
|
+
request.currencyId = this.currencyId;
|
|
100
|
+
request.cashRegisterNr = currentCashRegister.nr;
|
|
101
|
+
request.cashRegisterGroupId = currentCashRegister.group;
|
|
102
|
+
request.cashRegisterDrawerId = null;
|
|
103
|
+
this._paymentService.doPayment(request).then(() => __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
this.showKeyPad = false;
|
|
105
|
+
yield this._getDepositPaymentInfo(true);
|
|
106
|
+
this._handlePayment(false);
|
|
107
|
+
if (this.amountToPay === 0) {
|
|
108
|
+
this._handlePayment();
|
|
109
|
+
}
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
66
112
|
}
|
|
67
113
|
handleKeyPadModelChange(model) {
|
|
68
114
|
this.amountToPay = model;
|
|
69
115
|
}
|
|
70
|
-
_getDepositPaymentInfo(
|
|
71
|
-
this.depositPayments.length = 0;
|
|
72
|
-
return new Promise((resolve) => {
|
|
73
|
-
this.paymentService.getDepositPaymentInfo(this.transactionUuid).then((info) => {
|
|
74
|
-
this.amountToPay = getAmountToPayFromDepositInfo && this.updateDepositAmount ? info.depositRemainderAmount : this.amountToPay;
|
|
75
|
-
if (info.depositPayments) {
|
|
76
|
-
info.depositPayments.forEach((dp) => {
|
|
77
|
-
const paymentMethod = this.paymentMethods.find(pm => pm.payment.code === dp.paymentMethodCode);
|
|
78
|
-
this.depositPayments.push(new DepositPaymentViewModel(dp, paymentMethod));
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
resolve();
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
_calculateAmountToPay() {
|
|
116
|
+
_getDepositPaymentInfo(force = false) {
|
|
86
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
if (this.
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const result = yield this.paymentService.calculateAmountToPay(calculateAmountToPayRequest);
|
|
92
|
-
if (result) {
|
|
93
|
-
this.amountToPay = result.amountToPay;
|
|
118
|
+
if (this.updateDepositAmount || force) {
|
|
119
|
+
const info = yield this._paymentService.getDepositPaymentInfo(this.transactionUuid);
|
|
120
|
+
if (info) {
|
|
121
|
+
this.amountToPay = info.depositRemainderAmount;
|
|
94
122
|
}
|
|
95
123
|
}
|
|
124
|
+
else {
|
|
125
|
+
this.amountToPay = this._amount;
|
|
126
|
+
}
|
|
96
127
|
});
|
|
97
128
|
}
|
|
129
|
+
_dataUriToBase64(uri, mimeType) {
|
|
130
|
+
return uri ? "data:" + mimeType + ";base64," + uri : "";
|
|
131
|
+
}
|
|
132
|
+
_waitForPaymentStatus() {
|
|
133
|
+
if (this._paymentResult && this._paymentResult.paymentLinkUUID) {
|
|
134
|
+
this._paymentStatusInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
135
|
+
if (this._paymentStatusPollIntervalCount >= this._paymentStatusMaxPollInterval) {
|
|
136
|
+
this._clearInterval();
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
const status = yield this._paymentService.getPaymentLinkStatus(this._paymentResult.paymentLinkUUID);
|
|
140
|
+
if (status.payedDate) {
|
|
141
|
+
this._clearInterval();
|
|
142
|
+
this.showPspQrCode = false;
|
|
143
|
+
yield this._getDepositPaymentInfo();
|
|
144
|
+
if (this.amountToPay === 0) {
|
|
145
|
+
this._handlePayment();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
this._paymentStatusPollIntervalCount++;
|
|
149
|
+
}
|
|
150
|
+
}), this._paymentStatusPollIntervalMs);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this._clearInterval();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
_waitForPinPaymentStatus(pspTransactionUuid) {
|
|
157
|
+
if (pspTransactionUuid) {
|
|
158
|
+
this._paymentStatusInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
if (this._paymentStatusPollIntervalCount >= this._paymentStatusMaxPollInterval) {
|
|
160
|
+
this._clearInterval();
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
const pinStatus = yield this._paymentService.getPspTransactionStatus(pspTransactionUuid);
|
|
164
|
+
if (pinStatus && pinStatus.status) {
|
|
165
|
+
this.statusMessage = pinStatus.status.description;
|
|
166
|
+
}
|
|
167
|
+
if (pinStatus.statusDate && pinStatus.status && pinStatus.status.endStatus) {
|
|
168
|
+
this._clearInterval();
|
|
169
|
+
if (pinStatus.status.code === IonePaymentStatusCode.PAID) {
|
|
170
|
+
yield this._getDepositPaymentInfo();
|
|
171
|
+
if (this.amountToPay === 0) {
|
|
172
|
+
this._handlePayment();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
this._paymentStatusPollIntervalCount++;
|
|
177
|
+
}
|
|
178
|
+
}), this._paymentStatusPollIntervalMs);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
this._clearInterval();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
98
184
|
_clearInterval() {
|
|
99
185
|
clearInterval(this._paymentStatusInterval);
|
|
100
186
|
this._paymentStatusInterval = undefined;
|
|
101
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
*
|
|
190
|
+
* @private
|
|
191
|
+
*/
|
|
102
192
|
_prepareCashRegisters() {
|
|
103
|
-
|
|
193
|
+
const paymentMethod = this.paymentMethods[this.paymentMethodIdx].payment;
|
|
194
|
+
if (paymentMethod && (!paymentMethod.externalSourceId || paymentMethod.pinTerminal)) {
|
|
104
195
|
this.cashRegisters.length = 0;
|
|
105
|
-
|
|
196
|
+
paymentMethod.posGroups.forEach(crg => {
|
|
106
197
|
this._getCashRegisters(this.branch, crg.id);
|
|
107
198
|
});
|
|
108
199
|
this.showCashRegisters = true;
|
|
@@ -119,24 +210,17 @@ export class PaymentComponent {
|
|
|
119
210
|
_getPaymentMethods() {
|
|
120
211
|
return new Promise((resolve) => {
|
|
121
212
|
this.paymentMethods.length = 0;
|
|
122
|
-
this.
|
|
213
|
+
this._paymentService.getPaymentMethodsViewModels(this.branch).then((methods) => {
|
|
123
214
|
this.paymentMethods = methods.slice();
|
|
124
|
-
this.selectedPaymentMethod = this.paymentMethods[0].payment;
|
|
125
215
|
resolve();
|
|
126
216
|
});
|
|
127
217
|
});
|
|
128
218
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
yield this._calculateAmountToPay();
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
handlePayment() {
|
|
139
|
-
this.paymentService.handlePayment(this.selectedPaymentMethod, this.transId, this.currencyId, this.selectedCashRegister, this.amountToPay);
|
|
219
|
+
_handlePayment(emitPayed = true) {
|
|
220
|
+
this._transactionEventService.transactionPaymentDone.next();
|
|
221
|
+
if (emitPayed) {
|
|
222
|
+
this.payed.emit();
|
|
223
|
+
}
|
|
140
224
|
}
|
|
141
225
|
}
|
|
142
226
|
PaymentComponent.decorators = [
|
|
@@ -152,11 +236,11 @@ PaymentComponent.decorators = [
|
|
|
152
236
|
<div class="payment-methods">
|
|
153
237
|
<co-loader class="loader" *ngIf="showLoader"></co-loader>
|
|
154
238
|
<ng-container *ngIf="!showLoader">
|
|
155
|
-
<co-payment-tile *ngFor="let paymentMethod of paymentMethods"
|
|
239
|
+
<co-payment-tile *ngFor="let paymentMethod of paymentMethods; let index = index"
|
|
156
240
|
[image]="paymentMethod.image"
|
|
157
241
|
[description]="paymentMethod.payment.description"
|
|
158
|
-
[selected]="
|
|
159
|
-
(selectedChange)="paymentMethodSelected(paymentMethod.payment)"
|
|
242
|
+
[selected]="paymentMethodIdx === index"
|
|
243
|
+
(selectedChange)="paymentMethodSelected(paymentMethod.payment, index)"
|
|
160
244
|
></co-payment-tile>
|
|
161
245
|
</ng-container>
|
|
162
246
|
</div>
|
|
@@ -165,24 +249,24 @@ PaymentComponent.decorators = [
|
|
|
165
249
|
<span class="payment-header-title" [textContent]="'SELECT_CASH_REGISTER' | localize"></span>
|
|
166
250
|
</div>
|
|
167
251
|
<div class="payment-methods">
|
|
168
|
-
<co-payment-tile *ngFor="let cashRegister of cashRegisters;"
|
|
252
|
+
<co-payment-tile *ngFor="let cashRegister of cashRegisters; let index = index"
|
|
169
253
|
[icon]="cashRegister.icon"
|
|
170
254
|
[description]="cashRegister.description"
|
|
171
|
-
[selected]="
|
|
172
|
-
(selectedChange)="cashRegisterSelected(cashRegister)"
|
|
255
|
+
[selected]="cashRegisterIdx === index"
|
|
256
|
+
(selectedChange)="cashRegisterSelected(cashRegister, index)"
|
|
173
257
|
></co-payment-tile>
|
|
174
258
|
</div>
|
|
175
259
|
</div>
|
|
176
260
|
<div class="payment-to-pay-wrapper">
|
|
177
261
|
<co-payment-to-pay [amountToPay]="amountToPay"></co-payment-to-pay>
|
|
178
262
|
<div class="payment-deposit">
|
|
179
|
-
<co-deposit-payment [branch]="branch" [transactionUuid]="transactionUuid"
|
|
263
|
+
<co-deposit-payment [branch]="branch" [transactionUuid]="transactionUuid"></co-deposit-payment>
|
|
180
264
|
</div>
|
|
181
265
|
<div class="payment-to-pay-button">
|
|
182
266
|
<!--
|
|
183
267
|
<co-loader *ngIf="statusMessage"></co-loader>
|
|
184
268
|
-->
|
|
185
|
-
<div class="payment-error-message" *ngIf="
|
|
269
|
+
<div class="payment-error-message" *ngIf="statusMessage" [textContent]="statusMessage"></div>
|
|
186
270
|
<co-button [label]="'PAY' | localize" (click)="handlePayment()" [disabled]="amountToPay === 0"></co-button>
|
|
187
271
|
</div>
|
|
188
272
|
<co-key-pad class="payment-to-pay-keypad"
|
|
@@ -196,7 +280,7 @@ PaymentComponent.decorators = [
|
|
|
196
280
|
</div>
|
|
197
281
|
<co-dialog *ngIf="showPspQrCode" (closeClick)="showPspQrCode = false">
|
|
198
282
|
<co-payment-qr-code
|
|
199
|
-
|
|
283
|
+
[qrCodeImage]="qrCodeImage"
|
|
200
284
|
></co-payment-qr-code>
|
|
201
285
|
</co-dialog>
|
|
202
286
|
`,
|
|
@@ -204,9 +288,9 @@ PaymentComponent.decorators = [
|
|
|
204
288
|
},] }
|
|
205
289
|
];
|
|
206
290
|
PaymentComponent.ctorParameters = () => [
|
|
207
|
-
{ type: PaymentService },
|
|
208
291
|
{ type: TransactionService },
|
|
209
292
|
{ type: SharedService },
|
|
293
|
+
{ type: PaymentService },
|
|
210
294
|
{ type: TransactionEventService }
|
|
211
295
|
];
|
|
212
296
|
PaymentComponent.propDecorators = {
|
|
@@ -216,8 +300,7 @@ PaymentComponent.propDecorators = {
|
|
|
216
300
|
updateDepositAmount: [{ type: Input }],
|
|
217
301
|
amount: [{ type: Input }],
|
|
218
302
|
currencyId: [{ type: Input }],
|
|
219
|
-
transactionKind: [{ type: Input }],
|
|
220
303
|
payed: [{ type: Output }],
|
|
221
304
|
showClass: [{ type: HostBinding, args: ["class.co-payment",] }]
|
|
222
305
|
};
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9wYXltZW50L3BheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFHM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFHL0UsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBaUVqSCxNQUFNLE9BQU8sZ0JBQWdCO0lBdUQzQixZQUNTLGNBQThCLEVBQzdCLG1CQUF1QyxFQUN2QyxjQUE2QixFQUM3Qix3QkFBaUQ7UUFIbEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQTFEM0MsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDMUIsY0FBUyxHQUEyQixlQUFlLENBQUM7UUFZN0Qsd0JBQW1CLEdBQVks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LE1BQU07d0JBR04sV0FBVyxTQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7Q2FzaFJlZ2lzdGVyfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2FzaC1yZWdpc3Rlcic7XHJcbmltcG9ydCB7UGF5bWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcGF5bWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1tZXRob2QuYm8nO1xyXG5pbXBvcnQge1BheW1lbnRWaWV3bW9kZWx9IGZyb20gJy4uLy4uL21vZGVsL3BheW1lbnQudmlld21vZGVsJztcclxuaW1wb3J0IHtEZXBvc2l0UGF5bWVudFZpZXdNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWwvZGVwb3NpdC1wYXltZW50LXZpZXctbW9kZWwnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tZGVwb3NpdC1wYXltZW50LWluZm8uYm8nO1xyXG5pbXBvcnQge0RlcG9zaXRQYXltZW50fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZGVwb3NpdC1wYXltZW50LmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtDYWxjdWxhdGVBbW91bnRUb1BheVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jYWxjdWxhdGUtYW1vdW50LXRvLXBheS1yZXF1ZXN0JztcclxuaW1wb3J0IHtBbW91bnRUb1BheX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Ftb3VudC10by1wYXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tcGF5bWVudFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LW1ldGhvZHMtaGVhZGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU0VMRUNUX0EnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZSBleHRyYVwiIFt0ZXh0Q29udGVudF09XCInRlJFRScgfCBsb2NhbGl6ZTpmYWxzZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UX01FVEhPRCcgfCBsb2NhbGl6ZTpmYWxzZVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LW1ldGhvZHNcIj5cclxuICAgICAgICA8Y28tbG9hZGVyIGNsYXNzPVwibG9hZGVyXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+PC9jby1sb2FkZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93TG9hZGVyXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBwYXltZW50TWV0aG9kIG9mIHBheW1lbnRNZXRob2RzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlXT1cInBheW1lbnRNZXRob2QuaW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwicGF5bWVudE1ldGhvZC5wYXltZW50LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkUGF5bWVudE1ldGhvZCA9PT0gcGF5bWVudE1ldGhvZC5wYXltZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInBheW1lbnRNZXRob2RTZWxlY3RlZChwYXltZW50TWV0aG9kLnBheW1lbnQpXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQtdGlsZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNhc2gtcmVnaXN0ZXItd3JhcHBlclwiICpuZ0lmPVwic2hvd0Nhc2hSZWdpc3RlcnNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1jYXNoLXJlZ2lzdGVyLWhlYWRlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU0VMRUNUX0NBU0hfUkVHSVNURVInIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtbWV0aG9kc1wiPlxyXG4gICAgICAgICAgPGNvLXBheW1lbnQtdGlsZSAqbmdGb3I9XCJsZXQgY2FzaFJlZ2lzdGVyIG9mIGNhc2hSZWdpc3RlcnM7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY2FzaFJlZ2lzdGVyLmljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiY2FzaFJlZ2lzdGVyLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImNhc2hSZWdpc3RlciA9PT0gc2VsZWN0ZWRDYXNoUmVnaXN0ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiY2FzaFJlZ2lzdGVyU2VsZWN0ZWQoY2FzaFJlZ2lzdGVyKVwiXHJcbiAgICAgICAgICA+PC9jby1wYXltZW50LXRpbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC10by1wYXktd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1wYXltZW50LXRvLXBheSBbYW1vdW50VG9QYXldPVwiYW1vdW50VG9QYXlcIj48L2NvLXBheW1lbnQtdG8tcGF5PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWRlcG9zaXRcIj5cclxuICAgICAgICAgIDxjby1kZXBvc2l0LXBheW1lbnQgW2JyYW5jaF09XCJicmFuY2hcIiBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uVXVpZFwiIFt0cmFuc2FjdGlvbktpbmRdPVwidHJhbnNhY3Rpb25LaW5kXCI+PC9jby1kZXBvc2l0LXBheW1lbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtdG8tcGF5LWJ1dHRvblwiPlxyXG4gICAgICAgICAgPCEtLVxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1sb2FkZXIgKm5nSWY9XCJzdGF0dXNNZXNzYWdlXCI+PC9jby1sb2FkZXI+XHJcbiAgICAgICAgICAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInBheW1lbnRTZXJ2aWNlLnN0YXR1c01lc3NhZ2VcIiBbdGV4dENvbnRlbnRdPVwicGF5bWVudFNlcnZpY2Uuc3RhdHVzTWVzc2FnZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ1BBWScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJoYW5kbGVQYXltZW50KClcIiBbZGlzYWJsZWRdPVwiYW1vdW50VG9QYXkgPT09IDBcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Y28ta2V5LXBhZCBjbGFzcz1cInBheW1lbnQtdG8tcGF5LWtleXBhZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dWYWx1ZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VtaXRNb2RlbENoYW5nZU9uRW50ZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJhbW91bnRUb1BheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUtleVBhZE1vZGVsQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChlbnRlckNsaWNrKT1cImhhbmRsZVBheW1lbnQoKVwiXHJcbiAgICAgICAgPjwvY28ta2V5LXBhZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93UHNwUXJDb2RlXCIgKGNsb3NlQ2xpY2spPVwic2hvd1BzcFFyQ29kZSA9IGZhbHNlXCI+XHJcbiAgICAgIDxjby1wYXltZW50LXFyLWNvZGVcclxuICAgICAgICBbcXJDb2RlSW1hZ2VdPVwicXJDb2RlSW1hZ2VcIlxyXG4gICAgICA+PC9jby1wYXltZW50LXFyLWNvZGU+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFBheW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zS2luZDogdHlwZW9mIFRyYW5zYWN0aW9uS2luZCA9IFRyYW5zYWN0aW9uS2luZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNJZDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVwZGF0ZURlcG9zaXRBbW91bnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFtb3VudCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9hbW91bnQgPSB2YWx1ZTtcclxuICAgIHRoaXMuYW1vdW50VG9QYXkgPSB0aGlzLl9hbW91bnQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1cnJlbmN5SWQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25LaW5kOiBUcmFuc2FjdGlvbktpbmQgPSB0aGlzLnRyYW5zS2luZC5TYWxlc09yZGVyO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGF5ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcGF5bWVudFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZFBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgcHVibGljIHNlbGVjdGVkQ2FzaFJlZ2lzdGVyOiBDYXNoUmVnaXN0ZXI7XHJcbiAgcHVibGljIHBheW1lbnRNZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgZGVwb3NpdFBheW1lbnRzOiBEZXBvc2l0UGF5bWVudFZpZXdNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGNhc2hSZWdpc3RlcnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQc3BRckNvZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcXJDb2RlSW1hZ2U6IHN0cmluZztcclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIGFtb3VudFRvUGF5OiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9hbW91bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c0ludGVydmFsOiBhbnk7XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcGF5bWVudFNlcnZpY2U6IFBheW1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25QYXltZW50RG9uZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZ2V0VG9QYXlEZXRhaWxzKCkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UudHJhbnNhY3Rpb25VcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9jYWxjdWxhdGVBbW91bnRUb1BheSgpKVxyXG4gICAgKVxyXG4gICAgaWYgKHRoaXMudXBkYXRlRGVwb3NpdEFtb3VudCkge1xyXG4gICAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UudXBkYXRlSGVhZGVyVHJhbnNhY3Rpb25EZXBvc2l0QW1vdW50KHRoaXMudHJhbnNhY3Rpb25VdWlkLCB0aGlzLmFtb3VudFRvUGF5LCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2dldFBheW1lbnRNZXRob2RzKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9nZXRUb1BheURldGFpbHMoKTtcclxuICAgICAgdGhpcy5fcHJlcGFyZUNhc2hSZWdpc3RlcnMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBheW1lbnRNZXRob2RTZWxlY3RlZChtZXRob2Q6IFBheW1lbnRNZXRob2QpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kID0gbWV0aG9kO1xyXG4gICAgdGhpcy5fZ2V0VG9QYXlEZXRhaWxzKCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclNlbGVjdGVkKGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2FzaFJlZ2lzdGVyID0gY2FzaFJlZ2lzdGVyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUtleVBhZE1vZGVsQ2hhbmdlKG1vZGVsOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYW1vdW50VG9QYXkgPSBtb2RlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERlcG9zaXRQYXltZW50SW5mbyhnZXRBbW91bnRUb1BheUZyb21EZXBvc2l0SW5mbzogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5kZXBvc2l0UGF5bWVudHMubGVuZ3RoID0gMDtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXREZXBvc2l0UGF5bWVudEluZm8odGhpcy50cmFuc2FjdGlvblV1aWQpLnRoZW4oKGluZm86IFRyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hbW91bnRUb1BheSA9IGdldEFtb3VudFRvUGF5RnJvbURlcG9zaXRJbmZvICYmIHRoaXMudXBkYXRlRGVwb3NpdEFtb3VudCA/IGluZm8uZGVwb3NpdFJlbWFpbmRlckFtb3VudCA6IHRoaXMuYW1vdW50VG9QYXk7XHJcbiAgICAgICAgaWYgKGluZm8uZGVwb3NpdFBheW1lbnRzKSB7XHJcbiAgICAgICAgICBpbmZvLmRlcG9zaXRQYXltZW50cy5mb3JFYWNoKChkcDogRGVwb3NpdFBheW1lbnQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcGF5bWVudE1ldGhvZDogUGF5bWVudFZpZXdtb2RlbCA9IHRoaXMucGF5bWVudE1ldGhvZHMuZmluZChwbSA9PiBwbS5wYXltZW50LmNvZGUgPT09IGRwLnBheW1lbnRNZXRob2RDb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5kZXBvc2l0UGF5bWVudHMucHVzaChuZXcgRGVwb3NpdFBheW1lbnRWaWV3TW9kZWwoZHAsIHBheW1lbnRNZXRob2QpKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jYWxjdWxhdGVBbW91bnRUb1BheSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUGF5bWVudE1ldGhvZCkge1xyXG4gICAgICBjb25zdCBjYWxjdWxhdGVBbW91bnRUb1BheVJlcXVlc3Q6IENhbGN1bGF0ZUFtb3VudFRvUGF5UmVxdWVzdCA9IG5ldyBDYWxjdWxhdGVBbW91bnRUb1BheVJlcXVlc3QoKTtcclxuICAgICAgY2FsY3VsYXRlQW1vdW50VG9QYXlSZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCA9IHRoaXMudHJhbnNhY3Rpb25VdWlkO1xyXG4gICAgICBjYWxjdWxhdGVBbW91bnRUb1BheVJlcXVlc3QucGF5bWVudE1ldGhvZENvZGUgPSB0aGlzLnNlbGVjdGVkUGF5bWVudE1ldGhvZC5jb2RlO1xyXG4gICAgICBjb25zdCByZXN1bHQ6IEFtb3VudFRvUGF5ID0gYXdhaXQgdGhpcy5wYXltZW50U2VydmljZS5jYWxjdWxhdGVBbW91bnRUb1BheShjYWxjdWxhdGVBbW91bnRUb1BheVJlcXVlc3QpO1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy5hbW91bnRUb1BheSA9IHJlc3VsdC5hbW91bnRUb1BheTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJJbnRlcnZhbCgpOiB2b2lkIHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsKTtcclxuICAgIHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVDYXNoUmVnaXN0ZXJzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kICYmICghdGhpcy5zZWxlY3RlZFBheW1lbnRNZXRob2QuZXh0ZXJuYWxTb3VyY2VJZCB8fCB0aGlzLnNlbGVjdGVkUGF5bWVudE1ldGhvZC5waW5UZXJtaW5hbCkpIHtcclxuICAgICAgdGhpcy5jYXNoUmVnaXN0ZXJzLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kLnBvc0dyb3Vwcy5mb3JFYWNoKGNyZyA9PiB7XHJcbiAgICAgICAgdGhpcy5fZ2V0Q2FzaFJlZ2lzdGVycyh0aGlzLmJyYW5jaCwgY3JnLmlkKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2hvd0Nhc2hSZWdpc3RlcnMgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93Q2FzaFJlZ2lzdGVycyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Q2FzaFJlZ2lzdGVycyhicmFuY2g/OiBzdHJpbmcsIGdyb3VwPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q2FzaFJlZ2lzdGVycyhicmFuY2gsIGdyb3VwKS50aGVuKChjYXNoUmVnaXN0ZXJzOiBDYXNoUmVnaXN0ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNhc2hSZWdpc3RlcnMucHVzaCguLi5jYXNoUmVnaXN0ZXJzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UGF5bWVudE1ldGhvZHMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMubGVuZ3RoID0gMDtcclxuICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRQYXltZW50TWV0aG9kc1ZpZXdNb2RlbHModGhpcy5icmFuY2gsIHRoaXMudHJhbnNhY3Rpb25LaW5kKS50aGVuKChtZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10pID0+IHtcclxuICAgICAgICB0aGlzLnBheW1lbnRNZXRob2RzID0gbWV0aG9kcy5zbGljZSgpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kID0gdGhpcy5wYXltZW50TWV0aG9kc1swXS5wYXltZW50O1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldFRvUGF5RGV0YWlscygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGdldEFtb3VudFRvUGF5RnJvbURlcG9zaXRJbmZvOiBib29sZWFuID0gdGhpcy50cmFuc2FjdGlvbktpbmQgIT09IFRyYW5zYWN0aW9uS2luZC5DYXNoRGVzaztcclxuICAgIGF3YWl0IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbyhnZXRBbW91bnRUb1BheUZyb21EZXBvc2l0SW5mbyk7XHJcbiAgICBpZiAoIWdldEFtb3VudFRvUGF5RnJvbURlcG9zaXRJbmZvKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2NhbGN1bGF0ZUFtb3VudFRvUGF5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUGF5bWVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuaGFuZGxlUGF5bWVudCh0aGlzLnNlbGVjdGVkUGF5bWVudE1ldGhvZCwgdGhpcy50cmFuc0lkLCB0aGlzLmN1cnJlbmN5SWQsIHRoaXMuc2VsZWN0ZWRDYXNoUmVnaXN0ZXIsIHRoaXMuYW1vdW50VG9QYXkpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9wYXltZW50L3BheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFTM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFFeEcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFnRXpGLE1BQU0sT0FBTyxnQkFBZ0I7SUF5RDNCLFlBQ1ksbUJBQXVDLEVBQ3ZDLGNBQTZCLEVBQzdCLGVBQStCLEVBQy9CLHdCQUFpRDtRQUhqRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBNUQ3QyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQVluQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFlckMsVUFBSyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBT3JELHFCQUFnQixHQUFXLENBQUMs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Q0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxZQUFxQixJQUFJO1FBQzlDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1RCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDOzs7WUFwVEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBOUVPLGtCQUFrQjtZQUdsQixhQUFhO1lBRGIsY0FBYztZQVlkLHVCQUF1Qjs7O3NCQW9FNUIsS0FBSzs4QkFHTCxLQUFLO3FCQUdMLEtBQUs7a0NBR0wsS0FBSztxQkFHTCxLQUFLO3lCQVNMLEtBQUs7b0JBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtDYXNoUmVnaXN0ZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jYXNoLXJlZ2lzdGVyJztcclxuaW1wb3J0IHtQYXltZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wYXltZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BheW1lbnRNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wYXltZW50LW1ldGhvZC5ibyc7XHJcbmltcG9ydCB7UGF5bWVudFZpZXdtb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcGF5bWVudC52aWV3bW9kZWwnO1xyXG5pbXBvcnQge1BheW1lbnRMaW5rU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1saW5rLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7Q3JlYXRlUGF5bWVudExpbmtSZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtcGF5bWVudC1saW5rLXJlc3VsdC5ibyc7XHJcbmltcG9ydCB7RGVwb3NpdFBheW1lbnRWaWV3TW9kZWx9IGZyb20gJy4uLy4uL21vZGVsL2RlcG9zaXQtcGF5bWVudC12aWV3LW1vZGVsJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtEZXBvc2l0UGF5bWVudH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlcG9zaXQtcGF5bWVudC5ibyc7XHJcbmltcG9ydCB7UHNwVHJhbnNhY3Rpb25TdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wc3AtdHJhbnNhY3Rpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtJb25lUGF5bWVudFN0YXR1c0NvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2lvbmUtcGF5bWVudC1zdGF0dXMtY29kZS5lbnVtJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0RvUGF5bWVudFJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kby1wYXltZW50LXJlcXVlc3QnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tcGF5bWVudFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LW1ldGhvZHMtaGVhZGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU0VMRUNUX0EnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZSBleHRyYVwiIFt0ZXh0Q29udGVudF09XCInRlJFRScgfCBsb2NhbGl6ZTpmYWxzZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UX01FVEhPRCcgfCBsb2NhbGl6ZTpmYWxzZVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LW1ldGhvZHNcIj5cclxuICAgICAgICA8Y28tbG9hZGVyIGNsYXNzPVwibG9hZGVyXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+PC9jby1sb2FkZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93TG9hZGVyXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBwYXltZW50TWV0aG9kIG9mIHBheW1lbnRNZXRob2RzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbWFnZV09XCJwYXltZW50TWV0aG9kLmltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cInBheW1lbnRNZXRob2QucGF5bWVudC5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJwYXltZW50TWV0aG9kSWR4ID09PSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJwYXltZW50TWV0aG9kU2VsZWN0ZWQocGF5bWVudE1ldGhvZC5wYXltZW50LCBpbmRleClcIlxyXG4gICAgICAgICAgPjwvY28tcGF5bWVudC10aWxlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtY2FzaC1yZWdpc3Rlci13cmFwcGVyXCIgKm5nSWY9XCJzaG93Q2FzaFJlZ2lzdGVyc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNhc2gtcmVnaXN0ZXItaGVhZGVyXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidTRUxFQ1RfQ0FTSF9SRUdJU1RFUicgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1tZXRob2RzXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBjYXNoUmVnaXN0ZXIgb2YgY2FzaFJlZ2lzdGVyczsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJjYXNoUmVnaXN0ZXIuaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJjYXNoUmVnaXN0ZXIuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiY2FzaFJlZ2lzdGVySWR4ID09PSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJjYXNoUmVnaXN0ZXJTZWxlY3RlZChjYXNoUmVnaXN0ZXIsIGluZGV4KVwiXHJcbiAgICAgICAgICA+PC9jby1wYXltZW50LXRpbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC10by1wYXktd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1wYXltZW50LXRvLXBheSBbYW1vdW50VG9QYXldPVwiYW1vdW50VG9QYXlcIj48L2NvLXBheW1lbnQtdG8tcGF5PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWRlcG9zaXRcIj5cclxuICAgICAgICAgIDxjby1kZXBvc2l0LXBheW1lbnQgW2JyYW5jaF09XCJicmFuY2hcIiBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uVXVpZFwiPjwvY28tZGVwb3NpdC1wYXltZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXRvLXBheS1idXR0b25cIj5cclxuICAgICAgICAgIDwhLS1cclxuICAgICAgICAgICAgICAgICAgICA8Y28tbG9hZGVyICpuZ0lmPVwic3RhdHVzTWVzc2FnZVwiPjwvY28tbG9hZGVyPlxyXG4gICAgICAgICAgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJzdGF0dXNNZXNzYWdlXCIgW3RleHRDb250ZW50XT1cInN0YXR1c01lc3NhZ2VcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidQQVknIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaGFuZGxlUGF5bWVudCgpXCIgW2Rpc2FibGVkXT1cImFtb3VudFRvUGF5ID09PSAwXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLWtleS1wYWQgY2xhc3M9XCJwYXltZW50LXRvLXBheS1rZXlwYWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VmFsdWVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlbWl0TW9kZWxDaGFuZ2VPbkVudGVyXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYW1vdW50VG9QYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVLZXlQYWRNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZW50ZXJDbGljayk9XCJoYW5kbGVQYXltZW50KClcIlxyXG4gICAgICAgID48L2NvLWtleS1wYWQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd1BzcFFyQ29kZVwiIChjbG9zZUNsaWNrKT1cInNob3dQc3BRckNvZGUgPSBmYWxzZVwiPlxyXG4gICAgICA8Y28tcGF5bWVudC1xci1jb2RlXHJcbiAgICAgICAgICBbcXJDb2RlSW1hZ2VdPVwicXJDb2RlSW1hZ2VcIlxyXG4gICAgICA+PC9jby1wYXltZW50LXFyLWNvZGU+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFBheW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zSWQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25VdWlkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGJyYW5jaDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1cGRhdGVEZXBvc2l0QW1vdW50OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhbW91bnQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fYW1vdW50ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1cnJlbmN5SWQ6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHBheWVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXBheW1lbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVySWR4OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdID0gW107XHJcbiAgcHVibGljIGNhc2hSZWdpc3RlcnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dLZXlQYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1BzcFFyQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjdXJyZW50UGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZDtcclxuICBwdWJsaWMgcXJDb2RlSW1hZ2U6IHN0cmluZztcclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIGFtb3VudFRvUGF5OiBudW1iZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgc3RhdHVzTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHJpdmF0ZSBfYW1vdW50OiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNJbnRlcnZhbDogYW55O1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNczogbnVtYmVyID0gNTAwMDtcclxuICBwcml2YXRlIF9wYXltZW50U3RhdHVzTWF4UG9sbEludGVydmFsOiBudW1iZXIgPSAxMDtcclxuICBwcml2YXRlIF9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFJlc3VsdDogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9wYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy51cGRhdGVEZXBvc2l0QW1vdW50KSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS51cGRhdGVIZWFkZXJUcmFuc2FjdGlvbkRlcG9zaXRBbW91bnQodGhpcy50cmFuc2FjdGlvblV1aWQsIHRoaXMuYW1vdW50VG9QYXksIHRydWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZ2V0UGF5bWVudE1ldGhvZHMoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZFNlbGVjdGVkKG1ldGhvZDogUGF5bWVudE1ldGhvZCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXltZW50TWV0aG9kSWR4ID0gaW5kZXg7XHJcbiAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclNlbGVjdGVkKGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3RlcklkeCA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVBheW1lbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBcIlwiO1xyXG4gICAgY29uc3QgY3VycmVudFBheW1lbnRWaWV3TW9kZWwgPSB0aGlzLnBheW1lbnRNZXRob2RzW3RoaXMucGF5bWVudE1ldGhvZElkeF07XHJcbiAgICB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kID0gY3VycmVudFBheW1lbnRWaWV3TW9kZWwucGF5bWVudDtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kICYmIHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuZXh0ZXJuYWxTb3VyY2VJZCkgeyAvLyBwc3AgcGF5bWVudFxyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5waW5UZXJtaW5hbCkge1xyXG4gICAgICAgIGNvbnN0IGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyID0gdGhpcy5jYXNoUmVnaXN0ZXJzW3RoaXMuY2FzaFJlZ2lzdGVySWR4XTtcclxuICAgICAgICB0aGlzLl9wYXltZW50U2VydmljZS5kb1BpblBheW1lbnQodGhpcy50cmFuc0lkLCB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGUsIGNhc2hSZWdpc3Rlci5uciwgY2FzaFJlZ2lzdGVyLmdyb3VwLCB0aGlzLmFtb3VudFRvUGF5KS50aGVuKChwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgaWYgKHBzcFRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLl93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmNyZWF0ZUlvbmVQYXltZW50TGlua0FuZFFSQ29kZSh0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5jb2RlKS50aGVuKChyZXNwb25zZTogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3BheW1lbnRSZXN1bHQgPSByZXNwb25zZTtcclxuICAgICAgICAgIGlmICh0aGlzLl9wYXltZW50UmVzdWx0ICYmIHRoaXMuX3BheW1lbnRSZXN1bHQuaW1hZ2VCYXNlNjQpIHtcclxuICAgICAgICAgICAgdGhpcy5xckNvZGVJbWFnZSA9IHRoaXMuX2RhdGFVcmlUb0Jhc2U2NCh0aGlzLl9wYXltZW50UmVzdWx0LmltYWdlQmFzZTY0LCAnaW1hZ2UvcG5nJyk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1BzcFFyQ29kZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA9IDA7XHJcbiAgICAgICAgICAgIHRoaXMuX3dhaXRGb3JQYXltZW50U3RhdHVzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRDYXNoUmVnaXN0ZXI6IENhc2hSZWdpc3RlciA9IHRoaXMuY2FzaFJlZ2lzdGVyc1t0aGlzLmNhc2hSZWdpc3RlcklkeF07XHJcbiAgICAgIGNvbnN0IHJlcXVlc3Q6IERvUGF5bWVudFJlcXVlc3QgPSBuZXcgRG9QYXltZW50UmVxdWVzdCgpO1xyXG4gICAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zSWQ7XHJcbiAgICAgIHJlcXVlc3QucGF5bWVudE1ldGhvZENvZGUgPSB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGU7XHJcbiAgICAgIHJlcXVlc3QuYW1vdW50ID0gdGhpcy5hbW91bnRUb1BheTtcclxuICAgICAgcmVxdWVzdC5jdXJyZW5jeUlkID0gdGhpcy5jdXJyZW5jeUlkO1xyXG4gICAgICByZXF1ZXN0LmNhc2hSZWdpc3Rlck5yID0gY3VycmVudENhc2hSZWdpc3Rlci5ucjtcclxuICAgICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJHcm91cElkID0gY3VycmVudENhc2hSZWdpc3Rlci5ncm91cDtcclxuICAgICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJEcmF3ZXJJZCA9IG51bGw7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmRvUGF5bWVudChyZXF1ZXN0KS50aGVuKGFzeW5jICgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dLZXlQYWQgPSBmYWxzZTtcclxuICAgICAgICBhd2FpdCB0aGlzLl9nZXREZXBvc2l0UGF5bWVudEluZm8odHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudChmYWxzZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUtleVBhZE1vZGVsQ2hhbmdlKG1vZGVsOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYW1vdW50VG9QYXkgPSBtb2RlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldERlcG9zaXRQYXltZW50SW5mbyhmb3JjZTogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy51cGRhdGVEZXBvc2l0QW1vdW50IHx8IGZvcmNlKSB7XHJcbiAgICAgIGNvbnN0IGluZm86IFRyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvID0gYXdhaXQgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICB0aGlzLmFtb3VudFRvUGF5ID0gaW5mby5kZXBvc2l0UmVtYWluZGVyQW1vdW50O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFtb3VudFRvUGF5ID0gdGhpcy5fYW1vdW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGF0YVVyaVRvQmFzZTY0KHVyaTogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1cmkgPyBcImRhdGE6XCIgKyBtaW1lVHlwZSArIFwiO2Jhc2U2NCxcIiArIHVyaSA6IFwiXCI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YWl0Rm9yUGF5bWVudFN0YXR1cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9wYXltZW50UmVzdWx0ICYmIHRoaXMuX3BheW1lbnRSZXN1bHQucGF5bWVudExpbmtVVUlEKSB7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50ID49IHRoaXMuX3BheW1lbnRTdGF0dXNNYXhQb2xsSW50ZXJ2YWwpIHtcclxuICAgICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3Qgc3RhdHVzOiBQYXltZW50TGlua1N0YXR1cyA9IGF3YWl0IHRoaXMuX3BheW1lbnRTZXJ2aWNlLmdldFBheW1lbnRMaW5rU3RhdHVzKHRoaXMuX3BheW1lbnRSZXN1bHQucGF5bWVudExpbmtVVUlEKTtcclxuICAgICAgICAgIGlmIChzdGF0dXMucGF5ZWREYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgICAgICAgICAgdGhpcy5zaG93UHNwUXJDb2RlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50Kys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsTXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfd2FpdEZvclBpblBheW1lbnRTdGF0dXMocHNwVHJhbnNhY3Rpb25VdWlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChwc3BUcmFuc2FjdGlvblV1aWQpIHtcclxuICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPj0gdGhpcy5fcGF5bWVudFN0YXR1c01heFBvbGxJbnRlcnZhbCkge1xyXG4gICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBwaW5TdGF0dXM6IFBzcFRyYW5zYWN0aW9uU3RhdHVzID0gYXdhaXQgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0UHNwVHJhbnNhY3Rpb25TdGF0dXMocHNwVHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgICAgIGlmIChwaW5TdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBwaW5TdGF0dXMuc3RhdHVzLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cy5zdGF0dXNEYXRlICYmIHBpblN0YXR1cy5zdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cy5lbmRTdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1cy5jb2RlID09PSBJb25lUGF5bWVudFN0YXR1c0NvZGUuUEFJRCkge1xyXG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jbGVhckludGVydmFsKCk6IHZvaWQge1xyXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwpO1xyXG4gICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3ByZXBhcmVDYXNoUmVnaXN0ZXJzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZCA9IHRoaXMucGF5bWVudE1ldGhvZHNbdGhpcy5wYXltZW50TWV0aG9kSWR4XS5wYXltZW50O1xyXG4gICAgaWYgKHBheW1lbnRNZXRob2QgJiYgKCFwYXltZW50TWV0aG9kLmV4dGVybmFsU291cmNlSWQgfHwgcGF5bWVudE1ldGhvZC5waW5UZXJtaW5hbCkpIHtcclxuICAgICAgdGhpcy5jYXNoUmVnaXN0ZXJzLmxlbmd0aCA9IDA7XHJcbiAgICAgIHBheW1lbnRNZXRob2QucG9zR3JvdXBzLmZvckVhY2goY3JnID0+IHtcclxuICAgICAgICB0aGlzLl9nZXRDYXNoUmVnaXN0ZXJzKHRoaXMuYnJhbmNoLCBjcmcuaWQpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zaG93Q2FzaFJlZ2lzdGVycyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dDYXNoUmVnaXN0ZXJzID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRDYXNoUmVnaXN0ZXJzKGJyYW5jaD86IHN0cmluZywgZ3JvdXA/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRDYXNoUmVnaXN0ZXJzKGJyYW5jaCwgZ3JvdXApLnRoZW4oKGNhc2hSZWdpc3RlcnM6IENhc2hSZWdpc3RlcltdKSA9PiB7XHJcbiAgICAgIHRoaXMuY2FzaFJlZ2lzdGVycy5wdXNoKC4uLmNhc2hSZWdpc3RlcnMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRQYXltZW50TWV0aG9kcygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kcy5sZW5ndGggPSAwO1xyXG4gICAgICB0aGlzLl9wYXltZW50U2VydmljZS5nZXRQYXltZW50TWV0aG9kc1ZpZXdNb2RlbHModGhpcy5icmFuY2gpLnRoZW4oKG1ldGhvZHM6IFBheW1lbnRWaWV3bW9kZWxbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMgPSBtZXRob2RzLnNsaWNlKCk7XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlUGF5bWVudChlbWl0UGF5ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvblBheW1lbnREb25lLm5leHQoKTtcclxuICAgIGlmIChlbWl0UGF5ZWQpIHtcclxuICAgICAgdGhpcy5wYXllZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -12,60 +12,62 @@ TransactionCardInvoiceComponent.decorators = [
|
|
|
12
12
|
{ type: Component, args: [{
|
|
13
13
|
selector: "co-transaction-card-invoice",
|
|
14
14
|
template: `
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
15
|
+
<div class="transaction-card-wrapper">
|
|
16
|
+
<co-transaction-card-header
|
|
17
|
+
[transactionLine]="transactionLine"
|
|
18
|
+
[showActionButtons]="false"
|
|
19
|
+
[showCheckbox]="showCheckbox"
|
|
20
|
+
[showThumbnail]="true"
|
|
21
|
+
[expanded]="expanded"
|
|
22
|
+
>
|
|
23
|
+
<div class="transaction-line-totals-amount card-button" *ngIf="lineQuantityToInvoice !== 0">
|
|
24
|
+
<co-input-number-picker class="amount-number-picker"
|
|
25
|
+
[(model)]="transactionLine.quantityToInvoice"
|
|
26
|
+
[min]="1"
|
|
27
|
+
[max]="transactionLine.amount"
|
|
28
|
+
[readonly]="readonly">
|
|
29
|
+
</co-input-number-picker>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="side-panel-button" (click)="handleShowSidePanel(transactionLine)">
|
|
32
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.EllipsisVerticalSolid)"></co-icon>
|
|
33
|
+
</div>
|
|
34
|
+
</co-transaction-card-header>
|
|
35
|
+
<div class="transaction-card-content-wrapper">
|
|
36
|
+
<div class="content-base">
|
|
37
|
+
<co-transaction-line-warehouse-button [transactionLine]="transactionLine"
|
|
38
|
+
[transactionInfo]="transactionInfo"></co-transaction-line-warehouse-button>
|
|
39
|
+
<co-transaction-line-delivery-button [transactionLine]="transactionLine"
|
|
40
|
+
[transactionInfo]="transactionInfo"></co-transaction-line-delivery-button>
|
|
41
|
+
<co-editable-label class="transaction-line-totals-total price"
|
|
42
|
+
[model]="(transactionLine.price + transactionLine.discountAmount) | coCurrency"
|
|
43
|
+
[crossedOut]="!!transactionLine.discountAmount"
|
|
44
|
+
[editModel]="transactionLine.displayNetLineTotal"
|
|
45
|
+
[readonly]="true"
|
|
46
|
+
></co-editable-label>
|
|
47
|
+
<co-editable-label class="transaction-line-totals-total price"
|
|
48
|
+
[model]="transactionLine.price * transactionLine.amount | coCurrency"
|
|
49
|
+
[readonly]="true"
|
|
50
|
+
></co-editable-label>
|
|
51
|
+
</div>
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
<div class="content-expanded" *ngIf="expanded">
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
55
57
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
58
|
+
<co-transaction-card-footer
|
|
59
|
+
[transaction]="transaction"
|
|
60
|
+
[transactionLine]="transactionLine"
|
|
61
|
+
[transactionTypeCategory]="category.SalesOrderInvoice"
|
|
62
|
+
[expanded]="expanded"
|
|
63
|
+
(expandClicked)="expanded = !expanded"
|
|
64
|
+
></co-transaction-card-footer>
|
|
65
|
+
</div>
|
|
66
|
+
`,
|
|
65
67
|
encapsulation: ViewEncapsulation.None
|
|
66
68
|
},] }
|
|
67
69
|
];
|
|
68
70
|
TransactionCardInvoiceComponent.propDecorators = {
|
|
69
71
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-card-invoice",] }]
|
|
70
72
|
};
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlL3RyYW5zYWN0aW9uLWNhcmQtaW52b2ljZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0seUZBQXlGLENBQUM7QUE0RDVJLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxtQ0FBbUM7SUFHL0UsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLG1CQUFtQixDQUFDLElBQXlCO1FBQ2xELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZELENBQUM7OztZQWxFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7d0JBR0UsV0FBVyxTQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW52b2ljZUxpbmVCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWludm9pY2UtbGluZS90cmFuc2FjdGlvbi1pbnZvaWNlLWxpbmUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWNhcmQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWNhcmQtaGVhZGVyXHJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dDaGVja2JveF09XCJzaG93Q2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICBbc2hvd1RodW1ibmFpbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtYW1vdW50IGNhcmQtYnV0dG9uXCIgKm5nSWY9XCJsaW5lUXVhbnRpdHlUb0ludm9pY2UgIT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJhbW91bnQtbnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInRyYW5zYWN0aW9uTGluZS5xdWFudGl0eVRvSW52b2ljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwidHJhbnNhY3Rpb25MaW5lLmFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNob3dTaWRlUGFuZWwodHJhbnNhY3Rpb25MaW5lKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkVsbGlwc2lzVmVydGljYWxTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWNhcmQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24gW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tZWRpdGFibGUtbGFiZWwgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy10b3RhbCBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiKHRyYW5zYWN0aW9uTGluZS5wcmljZSArIHRyYW5zYWN0aW9uTGluZS5kaXNjb3VudEFtb3VudCkgfCBjb0N1cnJlbmN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjcm9zc2VkT3V0XT1cIiEhdHJhbnNhY3Rpb25MaW5lLmRpc2NvdW50QW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLmRpc3BsYXlOZXRMaW5lVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1lZGl0YWJsZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtdG90YWwgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5wcmljZSAqIHRyYW5zYWN0aW9uTGluZS5hbW91bnQgfCBjb0N1cnJlbmN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tZWRpdGFibGUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWV4cGFuZGVkXCIgKm5nSWY9XCJleHBhbmRlZFwiPlxyXG5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1jYXJkLWZvb3RlclxyXG4gICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblR5cGVDYXRlZ29yeV09XCJjYXRlZ29yeS5TYWxlc09yZGVySW52b2ljZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCJleHBhbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgIChleHBhbmRDbGlja2VkKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ2FyZEludm9pY2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkludm9pY2VMaW5lQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhcmQtaW52b2ljZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaG93U2lkZVBhbmVsKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3BlblNpZGVQYW5lbC5uZXh0KGxpbmUpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|