@colijnit/transaction 255.1.22 → 255.1.24

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 (22) hide show
  1. package/bundles/colijnit-transaction.umd.js +58 -137
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/component/core/base/transaction-payment-base.component.js +6 -1
  5. package/esm2015/lib/component/payment/payment.component.js +2 -63
  6. package/esm2015/lib/component/purchase-confirmation-lines/purchase-confirmation-lines.component.js +2 -2
  7. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +6 -1
  8. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-sales-quotation/transaction-quick-access-sales-quotation.component.js +4 -19
  9. package/esm2015/lib/service/transaction-creation.service.js +3 -4
  10. package/esm2015/lib/service/transaction-payment.service.js +22 -4
  11. package/esm2015/lib/transaction-version.js +3 -3
  12. package/fesm2015/colijnit-transaction.js +40 -88
  13. package/fesm2015/colijnit-transaction.js.map +1 -1
  14. package/lib/component/core/base/transaction-payment-base.component.d.ts +1 -0
  15. package/lib/component/payment/payment.component.d.ts +1 -12
  16. package/lib/component/purchase-confirmation-lines/style/_layout.scss +3 -0
  17. package/lib/component/transaction-line-side-panel/style/_layout.scss +12 -0
  18. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +1 -0
  19. package/lib/component/transaction-quick-access/transaction-quick-access-sales-quotation/transaction-quick-access-sales-quotation.component.d.ts +0 -1
  20. package/lib/service/transaction-creation.service.d.ts +1 -1
  21. package/lib/service/transaction-payment.service.d.ts +3 -1
  22. package/package.json +1 -1
@@ -24,11 +24,10 @@ export class TransactionCreationService extends TransactionService {
24
24
  try {
25
25
  const response = yield this.connector.convertSalesQuotationToSalesOrder(request);
26
26
  yield this.handleLineOperationStatuses(response);
27
- //this.transactionEventService.updateTransactionReferences.next();
28
- resolve(true);
27
+ resolve(response.transactionInfo.transactionNr);
29
28
  }
30
29
  catch (e) {
31
- return reject();
30
+ return reject(NaN);
32
31
  }
33
32
  }));
34
33
  });
@@ -115,4 +114,4 @@ TransactionCreationService.decorators = [
115
114
  providedIn: "root"
116
115
  },] }
117
116
  ];
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY3JlYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS90cmFuc2FjdGlvbi1jcmVhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7QUFhekQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtCQUFrQjtJQUVuRCxnQ0FBZ0MsQ0FBQyxPQUErQjs7WUFDM0UsT0FBTyxJQUFJLE9BQU8sQ0FBVSxDQUFPLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN4RSxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ3ZCLE9BQU8sTUFBTSxFQUFFLENBQUM7aUJBQ2pCO2dCQUNELE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDdEMsSUFBSTtvQkFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUMxRyxNQUFNLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDakQsa0VBQWtFO29CQUNsRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2Y7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsT0FBTyxNQUFNLEVBQUUsQ0FBQztpQkFDakI7WUFDSCxDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksY0FBYyxDQUFDLE9BQStCOztZQUN6RCxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMs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WUFDRCxNQUFNLGlCQUFpQixHQUFZLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxLQUFLLGFBQWEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUN0QixNQUFNLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNwRDtZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVZLHdCQUF3QixDQUFDLGlCQUFrRDs7WUFDdEYsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzNHLE1BQU0sSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELENBQUM7S0FBQTtJQUVZLDBCQUEwQixDQUFDLG1CQUFzRDs7WUFDNUYsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQy9HLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELENBQUM7S0FBQTs7OztZQXhGRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29weVRyYW5zYWN0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jb3B5LXRyYW5zYWN0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7SGVhZGVyT3BlcmF0aW9uU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2hlYWRlci1vcGVyYXRpb24tc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7TGluZU9wZXJhdGlvblN0YXR1c30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9saW5lLW9wZXJhdGlvbi1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xyXG5pbXBvcnQge1Jlc29sdmVMaW5lUGVuZGluZ1JlYXNvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVzb2x2ZS1wZW5kaW5nLXJlYXNvbi1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7XHJcbiAgUmVzb2x2ZUhlYWRlclBlbmRpbmdSZWFzb25SZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZXNvbHZlLWhlYWRlci1wZW5kaW5nLXJlYXNvbi1yZXF1ZXN0LmJvXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ3JlYXRpb25TZXJ2aWNlIGV4dGVuZHMgVHJhbnNhY3Rpb25TZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVNhbGVzT3JkZXJUaHJvdWdoUXVvdGF0aW9uKHJlcXVlc3Q6IENvcHlUcmFuc2FjdGlvblJlcXVlc3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPihhc3luYyAocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgYXdhaXQgdGhpcy5jaGVja0JyYW5jaCgpO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVudEJyYW5jaCkge1xyXG4gICAgICAgIHJldHVybiByZWplY3QoKTtcclxuICAgICAgfVxyXG4gICAgICByZXF1ZXN0LmJyYW5jaE5yID0gdGhpcy5jdXJyZW50QnJhbmNoO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNvbnZlcnRTYWxlc1F1b3RhdGlvblRvU2FsZXNPcmRlcihyZXF1ZXN0KTtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZSk7XHJcbiAgICAgICAgLy90aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnVwZGF0ZVRyYW5zYWN0aW9uUmVmZXJlbmNlcy5uZXh0KCk7XHJcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIHJldHVybiByZWplY3QoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY29weVNhbGVzT3JkZXIocmVxdWVzdDogQ29weVRyYW5zYWN0aW9uUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNvcHlTYWxlc09yZGVyKHJlcXVlc3QpO1xyXG4gICAgY29uc3QgbGluZVJlc3VsdDogYm9vbGVhbiA9IGF3YWl0IHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICAgIGlmIChsaW5lUmVzdWx0KSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb3B5UHVyY2hhc2VPcmRlcihyZXF1ZXN0OiBDb3B5VHJhbnNhY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY29weVB1cmNoYXNlT3JkZXIocmVxdWVzdCk7XHJcbiAgICBjb25zdCBsaW5lUmVzdWx0OiBib29sZWFuID0gYXdhaXQgdGhpcy5oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzZXMocmVzcG9uc2UpO1xyXG4gICAgaWYgKGxpbmVSZXN1bHQpIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNvcHlTYWxlc1F1b3RhdGlvbihyZXF1ZXN0OiBDb3B5VHJhbnNhY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY29weVNhbGVzUXVvdGF0aW9uKHJlcXVlc3QpO1xyXG4gICAgY29uc3QgbGluZVJlc3VsdDogYm9vbGVhbiA9IGF3YWl0IHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICAgIGlmIChsaW5lUmVzdWx0KSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3NhdmVDcmVhdGVkVHJhbnNhY3Rpb25BbmRDb21taXQodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmNvbm5lY3Rvci5zYXZlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gICAgYXdhaXQgdGhpcy5jb21taXQoKTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudXBkYXRlVHJhbnNhY3Rpb25SZWZlcmVuY2VzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVIZWFkZXJPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGxldCBzdWNjZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCByZXNwb25zZS5oZWFkZXJPcGVyYXRpb25TdGF0dXNlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBzdGF0dXM6IEhlYWRlck9wZXJhdGlvblN0YXR1cyA9IHJlc3BvbnNlLmhlYWRlck9wZXJhdGlvblN0YXR1c2VzW2ldO1xyXG4gICAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiBhd2FpdCB0aGlzLl9oYW5kbGVIZWFkZXJPcGVyYXRpb25TdGF0dXMoc3RhdHVzLCByZXNwb25zZS50cmFuc2FjdGlvbkluZm8pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaGFzUGVuZGluZ1JlYXNvbnM6IGJvb2xlYW4gPSByZXNwb25zZS5oZWFkZXJPcGVyYXRpb25TdGF0dXNlcy5maWx0ZXIobG9zID0+IGxvcy5wZW5kaW5nUmVhc29uICE9PSBcIlJFQVNPTl9OT05FXCIpLmxlbmd0aCA+IDA7XHJcbiAgICBpZiAoIWhhc1BlbmRpbmdSZWFzb25zKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX3NhdmVDcmVhdGVkVHJhbnNhY3Rpb25BbmRDb21taXQocmVzcG9uc2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1Y2Nlc3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgbGV0IHN1Y2Nlc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBzdGF0dXM6IExpbmVPcGVyYXRpb25TdGF0dXMgPSByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXNbaV07XHJcbiAgICAgIGNvbnN0IHRyYW5zTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IHJlc3BvbnNlLnRyYW5zYWN0aW9uTGluZXMuZmluZCh0ID0+IHQubGluZU5yID09PSBzdGF0dXMubGluZU5yKTtcclxuICAgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgYXdhaXQgdGhpcy5faGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyhyZXNwb25zZSwgc3RhdHVzLCB0cmFuc0xpbmUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaGFzUGVuZGluZ1JlYXNvbnM6IGJvb2xlYW4gPSByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXMuZmlsdGVyKGxvcyA9PiBsb3MucGVuZGluZ1JlYXNvbiAhPT0gXCJSRUFTT05fTk9ORVwiKS5sZW5ndGggPiAwO1xyXG4gICAgaWYgKCFoYXNQZW5kaW5nUmVhc29ucykge1xyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUhlYWRlck9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlczogUmVzb2x2ZUxpbmVQZW5kaW5nUmVhc29uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHBlbmRpbmdMaW5lVmFsdWVzKTtcclxuICAgIGF3YWl0IHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZXNvbHZlUGVuZGluZ0hlYWRlclJlYXNvbihwZW5kaW5nSGVhZGVyVmFsdWVzOiBSZXNvbHZlSGVhZGVyUGVuZGluZ1JlYXNvblJlcXVlc3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnJlc29sdmVQZW5kaW5nSGVhZGVyUmVhc29uKHBlbmRpbmdIZWFkZXJWYWx1ZXMpO1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlSGVhZGVyT3BlcmF0aW9uU3RhdHVzZXMocmVzcG9uc2UpO1xyXG4gIH1cclxufVxyXG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY3JlYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS90cmFuc2FjdGlvbi1jcmVhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7QUFhekQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtCQUFrQjtJQUVuRCxnQ0FBZ0MsQ0FBQyxPQUErQjs7WUFDM0UsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFPLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN2RSxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ3ZCLE9BQU8sTUFBTSxFQUFFLENBQUM7aUJBQ2pCO2dCQUNELE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDdEMsSUFBSTtvQkFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUMxRyxNQUFNLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDakQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ2pEO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNwQjtZQUNILENBQUMsQ0FBQSxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSxjQUFjLENBQUMsT0FBK0I7O1lBQ3pELE1BQU0sUUFBUSxHQUE0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LENBQUEsQ0FBQzthQUN6RjtZQUNELE1BQU0saUJBQWlCLEdBQVksUUFBUSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEtBQUssYUFBYSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3BEO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztLQUFBO0lBRVksd0JBQXdCLENBQUMsaUJBQWtEOztZQUN0RixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDM0csTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsQ0FBQztLQUFBO0lBRVksMEJBQTBCLENBQUMsbUJBQXNEOztZQUM1RixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDL0csT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsQ0FBQztLQUFBOzs7O1lBdkZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb3B5VHJhbnNhY3Rpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvcHktdHJhbnNhY3Rpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4vdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm9cIjtcclxuaW1wb3J0IHtIZWFkZXJPcGVyYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvaGVhZGVyLW9wZXJhdGlvbi1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtMaW5lT3BlcmF0aW9uU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2xpbmUtb3BlcmF0aW9uLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7UmVzb2x2ZUxpbmVQZW5kaW5nUmVhc29uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZXNvbHZlLXBlbmRpbmctcmVhc29uLXJlcXVlc3QuYm9cIjtcclxuaW1wb3J0IHtcclxuICBSZXNvbHZlSGVhZGVyUGVuZGluZ1JlYXNvblJlcXVlc3RcclxufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3Jlc29sdmUtaGVhZGVyLXBlbmRpbmctcmVhc29uLXJlcXVlc3QuYm9cIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2UgZXh0ZW5kcyBUcmFuc2FjdGlvblNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2FsZXNPcmRlclRocm91Z2hRdW90YXRpb24ocmVxdWVzdDogQ29weVRyYW5zYWN0aW9uUmVxdWVzdCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8bnVtYmVyPihhc3luYyAocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgYXdhaXQgdGhpcy5jaGVja0JyYW5jaCgpO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVudEJyYW5jaCkge1xyXG4gICAgICAgIHJldHVybiByZWplY3QoKTtcclxuICAgICAgfVxyXG4gICAgICByZXF1ZXN0LmJyYW5jaE5yID0gdGhpcy5jdXJyZW50QnJhbmNoO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNvbnZlcnRTYWxlc1F1b3RhdGlvblRvU2FsZXNPcmRlcihyZXF1ZXN0KTtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZSk7XHJcbiAgICAgICAgcmVzb2x2ZShyZXNwb25zZS50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25Ocik7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICByZXR1cm4gcmVqZWN0KE5hTik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNvcHlTYWxlc09yZGVyKHJlcXVlc3Q6IENvcHlUcmFuc2FjdGlvblJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jb3B5U2FsZXNPcmRlcihyZXF1ZXN0KTtcclxuICAgIGNvbnN0IGxpbmVSZXN1bHQ6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZSk7XHJcbiAgICBpZiAobGluZVJlc3VsdCkge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY29weVB1cmNoYXNlT3JkZXIocmVxdWVzdDogQ29weVRyYW5zYWN0aW9uUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNvcHlQdXJjaGFzZU9yZGVyKHJlcXVlc3QpO1xyXG4gICAgY29uc3QgbGluZVJlc3VsdDogYm9vbGVhbiA9IGF3YWl0IHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICAgIGlmIChsaW5lUmVzdWx0KSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb3B5U2FsZXNRdW90YXRpb24ocmVxdWVzdDogQ29weVRyYW5zYWN0aW9uUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNvcHlTYWxlc1F1b3RhdGlvbihyZXF1ZXN0KTtcclxuICAgIGNvbnN0IGxpbmVSZXN1bHQ6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZSk7XHJcbiAgICBpZiAobGluZVJlc3VsdCkge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9zYXZlQ3JlYXRlZFRyYW5zYWN0aW9uQW5kQ29tbWl0KHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5jb25uZWN0b3Iuc2F2ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICAgIGF3YWl0IHRoaXMuY29tbWl0KCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnVwZGF0ZVRyYW5zYWN0aW9uUmVmZXJlbmNlcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlSGVhZGVyT3BlcmF0aW9uU3RhdHVzZXMocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBsZXQgc3VjY2VzczogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgcmVzcG9uc2UuaGVhZGVyT3BlcmF0aW9uU3RhdHVzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3Qgc3RhdHVzOiBIZWFkZXJPcGVyYXRpb25TdGF0dXMgPSByZXNwb25zZS5oZWFkZXJPcGVyYXRpb25TdGF0dXNlc1tpXTtcclxuICAgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgYXdhaXQgdGhpcy5faGFuZGxlSGVhZGVyT3BlcmF0aW9uU3RhdHVzKHN0YXR1cywgcmVzcG9uc2UudHJhbnNhY3Rpb25JbmZvKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGhhc1BlbmRpbmdSZWFzb25zOiBib29sZWFuID0gcmVzcG9uc2UuaGVhZGVyT3BlcmF0aW9uU3RhdHVzZXMuZmlsdGVyKGxvcyA9PiBsb3MucGVuZGluZ1JlYXNvbiAhPT0gXCJSRUFTT05fTk9ORVwiKS5sZW5ndGggPiAwO1xyXG4gICAgaWYgKCFoYXNQZW5kaW5nUmVhc29ucykge1xyXG4gICAgICBhd2FpdCB0aGlzLl9zYXZlQ3JlYXRlZFRyYW5zYWN0aW9uQW5kQ29tbWl0KHJlc3BvbnNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGxldCBzdWNjZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3Qgc3RhdHVzOiBMaW5lT3BlcmF0aW9uU3RhdHVzID0gcmVzcG9uc2UubGluZU9wZXJhdGlvblN0YXR1c2VzW2ldO1xyXG4gICAgICBjb25zdCB0cmFuc0xpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8gPSByZXNwb25zZS50cmFuc2FjdGlvbkxpbmVzLmZpbmQodCA9PiB0LmxpbmVOciA9PT0gc3RhdHVzLmxpbmVOcik7XHJcbiAgICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIGF3YWl0IHRoaXMuX2hhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXMocmVzcG9uc2UsIHN0YXR1cywgdHJhbnNMaW5lKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGhhc1BlbmRpbmdSZWFzb25zOiBib29sZWFuID0gcmVzcG9uc2UubGluZU9wZXJhdGlvblN0YXR1c2VzLmZpbHRlcihsb3MgPT4gbG9zLnBlbmRpbmdSZWFzb24gIT09IFwiUkVBU09OX05PTkVcIikubGVuZ3RoID4gMDtcclxuICAgIGlmICghaGFzUGVuZGluZ1JlYXNvbnMpIHtcclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVIZWFkZXJPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VjY2VzcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24ocGVuZGluZ0xpbmVWYWx1ZXM6IFJlc29sdmVMaW5lUGVuZGluZ1JlYXNvblJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlcyk7XHJcbiAgICBhd2FpdCB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVzb2x2ZVBlbmRpbmdIZWFkZXJSZWFzb24ocGVuZGluZ0hlYWRlclZhbHVlczogUmVzb2x2ZUhlYWRlclBlbmRpbmdSZWFzb25SZXF1ZXN0KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5yZXNvbHZlUGVuZGluZ0hlYWRlclJlYXNvbihwZW5kaW5nSGVhZGVyVmFsdWVzKTtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZUhlYWRlck9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -7,11 +7,13 @@ import { Subject } from 'rxjs';
7
7
  import { TransactionEventService } from './transaction-event.service';
8
8
  import { DictionaryService } from './dictionary.service';
9
9
  import { HttpClient } from '@angular/common/http';
10
+ import { DialogService } from "./dialog.service";
10
11
  export class TransactionPaymentService {
11
- constructor(_transactionEventService, _paymentConnectorService, _dictionaryService, _http) {
12
+ constructor(_transactionEventService, _paymentConnectorService, _dictionaryService, _dialogService, _http) {
12
13
  this._transactionEventService = _transactionEventService;
13
14
  this._paymentConnectorService = _paymentConnectorService;
14
15
  this._dictionaryService = _dictionaryService;
16
+ this._dialogService = _dialogService;
15
17
  this._http = _http;
16
18
  this.amount = 0;
17
19
  this.amountToPay = 0;
@@ -51,10 +53,20 @@ export class TransactionPaymentService {
51
53
  request.cashRegisterNr = this.cashRegisterNr;
52
54
  request.cashRegisterGroupId = this.cashRegisterGroupId;
53
55
  request.cashRegisterDrawerId = this.cashRegisterDrawerId;
56
+ //All payments need a cash drawer. Otherwise financial reports will be wrong.
57
+ if (!this.cashRegisterDrawerId) {
58
+ this._dialogService.showInformation('NEED_REGISTER_DRAWER_MESSAGE', true);
59
+ return;
60
+ }
54
61
  if (this.currentPaymentMethod && this.currentPaymentMethod.externalSourceId) { // psp payment
55
62
  let pspTransactionUuid = "";
56
63
  if (this.currentPaymentMethod.openCashDrawer) {
57
- yield this._paymentConnectorService.openDrawer(this.printerName);
64
+ if (this.printerName) {
65
+ yield this._paymentConnectorService.openDrawer(this.printerName);
66
+ }
67
+ else {
68
+ this._dialogService.showInformation('OPEN_DRAWER_NO_PRINTER_MESSAGE', true);
69
+ }
58
70
  }
59
71
  if (this.currentPaymentMethod.pinTerminal) {
60
72
  pspTransactionUuid = yield this._paymentConnectorService.doPayment(request);
@@ -75,7 +87,12 @@ export class TransactionPaymentService {
75
87
  }
76
88
  else {
77
89
  if (this.currentPaymentMethod.openCashDrawer) {
78
- yield this._paymentConnectorService.openDrawer(this.printerName);
90
+ if (this.printerName) {
91
+ yield this._paymentConnectorService.openDrawer(this.printerName);
92
+ }
93
+ else {
94
+ this._dialogService.showInformation('OPEN_DRAWER_NO_PRINTER_MESSAGE', true);
95
+ }
79
96
  }
80
97
  this._paymentConnectorService.doPayment(request).then(() => __awaiter(this, void 0, void 0, function* () {
81
98
  yield this.preparePaymentInfo();
@@ -207,6 +224,7 @@ TransactionPaymentService.ctorParameters = () => [
207
224
  { type: TransactionEventService },
208
225
  { type: TransactionPaymentConnectorService },
209
226
  { type: DictionaryService },
227
+ { type: DialogService },
210
228
  { type: HttpClient }
211
229
  ];
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXBheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUV6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUczRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUN4RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR3BFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUtoRCxNQUFNLE9BQU8seUJBQXlCO0lBNENwQyxZQUNVLHdCQUFpRCxFQUNqRCx3QkFBNEQsRUFDNUQsa0JBQXFDLEVBQ3JDLEtBQWlCO1FBSGpCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFvQztRQUM1RCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLFVBQUssR0FBTCxLQUFLLENBQVk7UUE5Q3BCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFzQnhCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUdqQyxVQUFLLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDM0Msa0JBQWEs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QUFDLHNCQUFzQixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsR0FBVyxFQUFFLFFBQWdCO1FBQ3BELE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxRCxDQUFDOzs7WUFyTkYsVUFBVTs7O1lBUkgsdUJBQXVCO1lBTHZCLGtDQUFrQztZQVFsQyxpQkFBaUI7WUFDakIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEb1BheW1lbnRSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZG8tcGF5bWVudC1yZXF1ZXN0JztcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1tZXRob2QuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUGF5bWVudENvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4vdHJhbnNhY3Rpb24tcGF5bWVudC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7Q3JlYXRlUGF5bWVudExpbmtSZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtcGF5bWVudC1saW5rLXJlc3VsdC5ibyc7XHJcbmltcG9ydCB7UHNwVHJhbnNhY3Rpb25TdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wc3AtdHJhbnNhY3Rpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtJb25lUGF5bWVudFN0YXR1c0NvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2lvbmUtcGF5bWVudC1zdGF0dXMtY29kZS5lbnVtJztcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblJlZ2lzdGVyZWRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXJlZ2lzdGVyZWQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblBheW1lbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIGFtb3VudDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgYW1vdW50VG9QYXk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHN0YXR1c01lc3NhZ2U6IHN0cmluZztcclxuICBwdWJsaWMgYnJhbmNoOiBzdHJpbmc7XHJcbiAgcHVibGljIHRyYW5zSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25VdWlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHNldCBjdXJyZW50UGF5bWVudE1ldGhvZCh2YWx1ZTogUGF5bWVudE1ldGhvZCkge1xyXG4gICAgdGhpcy5fY3VycmVudFBheW1lbnRNZXRob2QgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IFwiXCI7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgY3VycmVudFBheW1lbnRNZXRob2QoKTogUGF5bWVudE1ldGhvZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFBheW1lbnRNZXRob2Q7XHJcbiAgfVxyXG4gIHB1YmxpYyBjdXJyZW5jeUlkOiBudW1iZXI7XHJcbiAgcHVibGljIGNhc2hSZWdpc3Rlck5yOiBudW1iZXI7XHJcbiAgcHVibGljIGNhc2hSZWdpc3Rlckdyb3VwSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyRHJhd2VySWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcHJpbnRlck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcHJpbnRlckxheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQ7XHJcbiAgcHVibGljIGVtYWlsTGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbDtcclxuXHJcbiAgcHVibGljIHFyQ29kZUltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHFyQ29kZVVybDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93UHNwUXJDb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGdldERlcG9zaXRBbW91bnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBjYW5jZWxVcmw6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHBheWVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcGF5bWVudEZhaWxlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHVibGljIHBvbGxpbmdGb3JTdGF0dXNTdGFydGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcG9sbGluZ0ZvclN0YXR1c0VuZGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudFBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFJlc3VsdDogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c0ludGVydmFsOiBhbnk7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbE1zOiBudW1iZXIgPSA1MDAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNNYXhQb2xsSW50ZXJ2YWw6IG51bWJlciA9IDYwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYXltZW50Q29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnRcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVBheW1lbnQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICB0aGlzLl9oYW5kbGVQYXltZW50KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBcIlwiO1xyXG4gICAgdGhpcy5jYW5jZWxVcmwgPSBcIlwiO1xyXG4gICAgY29uc3QgcmVxdWVzdDogRG9QYXltZW50UmVxdWVzdCA9IG5ldyBEb1BheW1lbnRSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zSWQ7XHJcbiAgICByZXF1ZXN0LnBheW1lbnRNZXRob2RDb2RlID0gdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5jb2RlO1xyXG4gICAgcmVxdWVzdC5hbW91bnQgPSB0aGlzLmFtb3VudFRvUGF5O1xyXG4gICAgcmVxdWVzdC5jdXJyZW5jeUlkID0gdGhpcy5jdXJyZW5jeUlkO1xyXG4gICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJOciA9IHRoaXMuY2FzaFJlZ2lzdGVyTnI7XHJcbiAgICByZXF1ZXN0LmNhc2hSZWdpc3Rlckdyb3VwSWQgPSB0aGlzLmNhc2hSZWdpc3Rlckdyb3VwSWQ7XHJcbiAgICByZXF1ZXN0LmNhc2hSZWdpc3RlckRyYXdlcklkID0gdGhpcy5jYXNoUmVnaXN0ZXJEcmF3ZXJJZDtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kICYmIHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuZXh0ZXJuYWxTb3VyY2VJZCkgeyAvLyBwc3AgcGF5bWVudFxyXG4gICAgICBsZXQgcHNwVHJhbnNhY3Rpb25VdWlkOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5vcGVuQ2FzaERyYXdlcikge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLm9wZW5EcmF3ZXIodGhpcy5wcmludGVyTmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QucGluVGVybWluYWwpIHtcclxuICAgICAgICBwc3BUcmFuc2FjdGlvblV1aWQgPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5kb1BheW1lbnQocmVxdWVzdCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fcGF5bWVudFJlc3VsdCA9IGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmNyZWF0ZUlvbmVQYXltZW50TGlua0FuZFFSQ29kZSh0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5jb2RlKTtcclxuICAgICAgICBpZiAodGhpcy5fcGF5bWVudFJlc3VsdCAmJiB0aGlzLl9wYXltZW50UmVzdWx0LmltYWdlQmFzZTY0KSB7XHJcbiAgICAgICAgICB0aGlzLnFyQ29kZUltYWdlID0gdGhpcy5fZGF0YVVyaVRvQmFzZTY0KHRoaXMuX3BheW1lbnRSZXN1bHQuaW1hZ2VCYXNlNjQsICdpbWFnZS9wbmcnKTtcclxuICAgICAgICAgIHRoaXMucXJDb2RlVXJsID0gdGhpcy5fcGF5bWVudFJlc3VsdC51cmw7XHJcbiAgICAgICAgICB0aGlzLnNob3dQc3BRckNvZGUgPSB0cnVlO1xyXG4gICAgICAgICAgcHNwVHJhbnNhY3Rpb25VdWlkID0gdGhpcy5fcGF5bWVudFJlc3VsdC5wc3BUcmFuc2FjdGlvblVVSUQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChwc3BUcmFuc2FjdGlvblV1aWQpIHtcclxuICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMuX3dhaXRGb3JQaW5QYXltZW50U3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLm9wZW5DYXNoRHJhd2VyKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2Uub3BlbkRyYXdlcih0aGlzLnByaW50ZXJOYW1lKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5kb1BheW1lbnQocmVxdWVzdCkudGhlbihhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcmVwYXJlUGF5bWVudEluZm8oKTtcclxuICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KGZhbHNlKTtcclxuICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsUGF5bWVudCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhbmNlbFVybCkge1xyXG4gICAgICB0aGlzLl9odHRwLmdldDxhbnk+KHRoaXMuY2FuY2VsVXJsKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIC8vIG5leHQ6IGRhdGEgPT4ge1xyXG4gICAgICAgIC8vICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHByZXBhcmVQYXltZW50SW5mbygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvblV1aWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ2V0RGVwb3NpdEFtb3VudCkge1xyXG4gICAgICBjb25zdCBpbmZvOiBUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mbyA9IGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldERlcG9zaXRQYXltZW50SW5mbyh0aGlzLnRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgICAgIGlmIChpbmZvKSB7XHJcbiAgICAgICAgdGhpcy5hbW91bnRUb1BheSA9IGluZm8uZGVwb3NpdFJlbWFpbmRlckFtb3VudDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZyl7XHJcbiAgICAgIHRoaXMuYW1vdW50VG9QYXkgPSB0aGlzLmFtb3VudDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZm86IFRyYW5zYWN0aW9uUmVnaXN0ZXJlZFBheW1lbnRJbmZvID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UmVnaXN0ZXJlZFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICB0aGlzLmFtb3VudFRvUGF5ID0gdGhpcy5hbW91bnQgLSBpbmZvLnRvdGFsQW1vdW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHBzcFRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICB0aGlzLnBvbGxpbmdGb3JTdGF0dXNTdGFydGVkLm5leHQoKTtcclxuICAgICAgY29uc3QgcGluU3RhdHVzOiBQc3BUcmFuc2FjdGlvblN0YXR1cyA9IGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldFBzcFRyYW5zYWN0aW9uU3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgICAgIGlmIChwaW5TdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cykge1xyXG4gICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IHBpblN0YXR1cy5zdGF0dXMuZGVzY3JpcHRpb247XHJcbiAgICAgICAgaWYgKHBpblN0YXR1cy5jYW5jZWxVcmwpIHtcclxuICAgICAgICAgIHRoaXMuY2FuY2VsVXJsID0gcGluU3RhdHVzLmNhbmNlbFVybDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzRGF0ZSAmJiBwaW5TdGF0dXMuc3RhdHVzICYmIHBpblN0YXR1cy5zdGF0dXMuZW5kU3RhdHVzKSB7XHJcbiAgICAgICAgaWYgKHBpblN0YXR1cy5zdGF0dXMuY29kZSA9PT0gSW9uZVBheW1lbnRTdGF0dXNDb2RlLlBBSUQpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMucHJlcGFyZVBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMucG9sbGluZ0ZvclN0YXR1c0VuZGVkLm5leHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPj0gdGhpcy5fcGF5bWVudFN0YXR1c01heFBvbGxJbnRlcnZhbCkge1xyXG4gICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudEZhaWxlZCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBwaW5TdGF0dXM6IFBzcFRyYW5zYWN0aW9uU3RhdHVzID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UHNwVHJhbnNhY3Rpb25TdGF0dXMocHNwVHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgICAgIGlmIChwaW5TdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBwaW5TdGF0dXMuc3RhdHVzLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICBpZiAocGluU3RhdHVzLmNhbmNlbFVybCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FuY2VsVXJsID0gcGluU3RhdHVzLmNhbmNlbFVybDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzRGF0ZSAmJiBwaW5TdGF0dXMuc3RhdHVzICYmIHBpblN0YXR1cy5zdGF0dXMuZW5kU3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsVXJsID0gXCJcIjtcclxuICAgICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1cy5jb2RlID09PSBJb25lUGF5bWVudFN0YXR1c0NvZGUuUEFJRCkge1xyXG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJlcGFyZVBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudEZhaWxlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVQYXltZW50KGVtaXRQYXllZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMucG9sbGluZ0ZvclN0YXR1c0VuZGVkLm5leHQoKTtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uUGF5bWVudERvbmUubmV4dCgpO1xyXG4gICAgaWYgKGVtaXRQYXllZCkge1xyXG4gICAgICB0aGlzLnBheWVkLm5leHQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2FuY2VsVXJsID0gXCJcIjtcclxuICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IFwiXCI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVQYXltZW50RmFpbGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdQQVlNRU5UX1RJTUVPVVQnKTtcclxuICAgIHRoaXMucG9sbGluZ0ZvclN0YXR1c0VuZGVkLm5leHQoKTtcclxuICAgIHRoaXMucGF5bWVudEZhaWxlZC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jbGVhckludGVydmFsKCk6IHZvaWQge1xyXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwpO1xyXG4gICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGF0YVVyaVRvQmFzZTY0KHVyaTogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1cmkgPyBcImRhdGE6XCIgKyBtaW1lVHlwZSArIFwiO2Jhc2U2NCxcIiArIHVyaSA6IFwiXCI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXBheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUV6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUczRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUN4RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR3BFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHL0MsTUFBTSxPQUFPLHlCQUF5QjtJQTRDcEMsWUFDVSx3QkFBaUQsRUFDakQsd0JBQTRELEVBQzVELGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixLQUFpQjtRQUpqQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBQ2pELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBb0M7UUFDNUQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBL0NwQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBc0J4QixrQkFBYSxHQUFZLEtBQUss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cUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUQsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sY0FBYztRQUNwQixhQUFhLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsR0FBVyxFQUFFLFFBQWdCO1FBQ3BELE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxRCxDQUFDOzs7WUFyT0YsVUFBVTs7O1lBVEgsdUJBQXVCO1lBTHZCLGtDQUFrQztZQVFsQyxpQkFBaUI7WUFJakIsYUFBYTtZQUhiLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RG9QYXltZW50UmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RvLXBheW1lbnQtcmVxdWVzdCc7XHJcbmltcG9ydCB7UGF5bWVudE1ldGhvZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbWV0aG9kLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblBheW1lbnRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuL3RyYW5zYWN0aW9uLXBheW1lbnQtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NyZWF0ZVBheW1lbnRMaW5rUmVzdWx0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXBheW1lbnQtbGluay1yZXN1bHQuYm8nO1xyXG5pbXBvcnQge1BzcFRyYW5zYWN0aW9uU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHNwLXRyYW5zYWN0aW9uLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7SW9uZVBheW1lbnRTdGF0dXNDb2RlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9pb25lLXBheW1lbnQtc3RhdHVzLWNvZGUuZW51bSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4vdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZXBvc2l0LXBheW1lbnQtaW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWdpc3RlcmVkUGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1yZWdpc3RlcmVkLXBheW1lbnQtaW5mby5ibyc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4vZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gXCIuL2RpYWxvZy5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblBheW1lbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIGFtb3VudDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgYW1vdW50VG9QYXk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHN0YXR1c01lc3NhZ2U6IHN0cmluZztcclxuICBwdWJsaWMgYnJhbmNoOiBzdHJpbmc7XHJcbiAgcHVibGljIHRyYW5zSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25VdWlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHNldCBjdXJyZW50UGF5bWVudE1ldGhvZCh2YWx1ZTogUGF5bWVudE1ldGhvZCkge1xyXG4gICAgdGhpcy5fY3VycmVudFBheW1lbnRNZXRob2QgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IFwiXCI7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgY3VycmVudFBheW1lbnRNZXRob2QoKTogUGF5bWVudE1ldGhvZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFBheW1lbnRNZXRob2Q7XHJcbiAgfVxyXG4gIHB1YmxpYyBjdXJyZW5jeUlkOiBudW1iZXI7XHJcbiAgcHVibGljIGNhc2hSZWdpc3Rlck5yOiBudW1iZXI7XHJcbiAgcHVibGljIGNhc2hSZWdpc3Rlckdyb3VwSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyRHJhd2VySWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcHJpbnRlck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcHJpbnRlckxheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQ7XHJcbiAgcHVibGljIGVtYWlsTGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbDtcclxuXHJcbiAgcHVibGljIHFyQ29kZUltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHFyQ29kZVVybDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93UHNwUXJDb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGdldERlcG9zaXRBbW91bnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBjYW5jZWxVcmw6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHBheWVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcGF5bWVudEZhaWxlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHVibGljIHBvbGxpbmdGb3JTdGF0dXNTdGFydGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcG9sbGluZ0ZvclN0YXR1c0VuZGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudFBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFJlc3VsdDogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c0ludGVydmFsOiBhbnk7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbE1zOiBudW1iZXIgPSA1MDAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNNYXhQb2xsSW50ZXJ2YWw6IG51bWJlciA9IDYwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYXltZW50Q29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVQYXltZW50KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gXCJcIjtcclxuICAgIHRoaXMuY2FuY2VsVXJsID0gXCJcIjtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IERvUGF5bWVudFJlcXVlc3QgPSBuZXcgRG9QYXltZW50UmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc0lkO1xyXG4gICAgcmVxdWVzdC5wYXltZW50TWV0aG9kQ29kZSA9IHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuY29kZTtcclxuICAgIHJlcXVlc3QuYW1vdW50ID0gdGhpcy5hbW91bnRUb1BheTtcclxuICAgIHJlcXVlc3QuY3VycmVuY3lJZCA9IHRoaXMuY3VycmVuY3lJZDtcclxuICAgIHJlcXVlc3QuY2FzaFJlZ2lzdGVyTnIgPSB0aGlzLmNhc2hSZWdpc3Rlck5yO1xyXG4gICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJHcm91cElkID0gdGhpcy5jYXNoUmVnaXN0ZXJHcm91cElkO1xyXG4gICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJEcmF3ZXJJZCA9IHRoaXMuY2FzaFJlZ2lzdGVyRHJhd2VySWQ7XHJcblxyXG4gICAgLy9BbGwgcGF5bWVudHMgbmVlZCBhIGNhc2ggZHJhd2VyLiBPdGhlcndpc2UgZmluYW5jaWFsIHJlcG9ydHMgd2lsbCBiZSB3cm9uZy5cclxuICAgIGlmICghdGhpcy5jYXNoUmVnaXN0ZXJEcmF3ZXJJZCkge1xyXG4gICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dJbmZvcm1hdGlvbignTkVFRF9SRUdJU1RFUl9EUkFXRVJfTUVTU0FHRScsIHRydWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QgJiYgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5leHRlcm5hbFNvdXJjZUlkKSB7IC8vIHBzcCBwYXltZW50XHJcbiAgICAgIGxldCBwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLm9wZW5DYXNoRHJhd2VyKSB7XHJcbiAgICAgICAgaWYodGhpcy5wcmludGVyTmFtZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2Uub3BlbkRyYXdlcih0aGlzLnByaW50ZXJOYW1lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93SW5mb3JtYXRpb24oJ09QRU5fRFJBV0VSX05PX1BSSU5URVJfTUVTU0FHRScsIHRydWUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLnBpblRlcm1pbmFsKSB7XHJcbiAgICAgICAgcHNwVHJhbnNhY3Rpb25VdWlkID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZG9QYXltZW50KHJlcXVlc3QpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX3BheW1lbnRSZXN1bHQgPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5jcmVhdGVJb25lUGF5bWVudExpbmtBbmRRUkNvZGUodGhpcy50cmFuc2FjdGlvblV1aWQsIHRoaXMuYW1vdW50VG9QYXksIHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuY29kZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BheW1lbnRSZXN1bHQgJiYgdGhpcy5fcGF5bWVudFJlc3VsdC5pbWFnZUJhc2U2NCkge1xyXG4gICAgICAgICAgdGhpcy5xckNvZGVJbWFnZSA9IHRoaXMuX2RhdGFVcmlUb0Jhc2U2NCh0aGlzLl9wYXltZW50UmVzdWx0LmltYWdlQmFzZTY0LCAnaW1hZ2UvcG5nJyk7XHJcbiAgICAgICAgICB0aGlzLnFyQ29kZVVybCA9IHRoaXMuX3BheW1lbnRSZXN1bHQudXJsO1xyXG4gICAgICAgICAgdGhpcy5zaG93UHNwUXJDb2RlID0gdHJ1ZTtcclxuICAgICAgICAgIHBzcFRyYW5zYWN0aW9uVXVpZCA9IHRoaXMuX3BheW1lbnRSZXN1bHQucHNwVHJhbnNhY3Rpb25VVUlEO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAocHNwVHJhbnNhY3Rpb25VdWlkKSB7XHJcbiAgICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50ID0gMDtcclxuICAgICAgICB0aGlzLl93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5vcGVuQ2FzaERyYXdlcikge1xyXG4gICAgICAgIGlmKHRoaXMucHJpbnRlck5hbWUpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLm9wZW5EcmF3ZXIodGhpcy5wcmludGVyTmFtZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0luZm9ybWF0aW9uKCdPUEVOX0RSQVdFUl9OT19QUklOVEVSX01FU1NBR0UnLCB0cnVlKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5kb1BheW1lbnQocmVxdWVzdCkudGhlbihhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcmVwYXJlUGF5bWVudEluZm8oKTtcclxuICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KGZhbHNlKTtcclxuICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsUGF5bWVudCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhbmNlbFVybCkge1xyXG4gICAgICB0aGlzLl9odHRwLmdldDxhbnk+KHRoaXMuY2FuY2VsVXJsKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIC8vIG5leHQ6IGRhdGEgPT4ge1xyXG4gICAgICAgIC8vICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHByZXBhcmVQYXltZW50SW5mbygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvblV1aWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ2V0RGVwb3NpdEFtb3VudCkge1xyXG4gICAgICBjb25zdCBpbmZvOiBUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mbyA9IGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldERlcG9zaXRQYXltZW50SW5mbyh0aGlzLnRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgICAgIGlmIChpbmZvKSB7XHJcbiAgICAgICAgdGhpcy5hbW91bnRUb1BheSA9IGluZm8uZGVwb3NpdFJlbWFpbmRlckFtb3VudDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZyl7XHJcbiAgICAgIHRoaXMuYW1vdW50VG9QYXkgPSB0aGlzLmFtb3VudDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZm86IFRyYW5zYWN0aW9uUmVnaXN0ZXJlZFBheW1lbnRJbmZvID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UmVnaXN0ZXJlZFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICB0aGlzLmFtb3VudFRvUGF5ID0gdGhpcy5hbW91bnQgLSBpbmZvLnRvdGFsQW1vdW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHBzcFRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICB0aGlzLnBvbGxpbmdGb3JTdGF0dXNTdGFydGVkLm5leHQoKTtcclxuICAgICAgY29uc3QgcGluU3RhdHVzOiBQc3BUcmFuc2FjdGlvblN0YXR1cyA9IGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldFBzcFRyYW5zYWN0aW9uU3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgICAgIGlmIChwaW5TdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cykge1xyXG4gICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IHBpblN0YXR1cy5zdGF0dXMuZGVzY3JpcHRpb247XHJcbiAgICAgICAgaWYgKHBpblN0YXR1cy5jYW5jZWxVcmwpIHtcclxuICAgICAgICAgIHRoaXMuY2FuY2VsVXJsID0gcGluU3RhdHVzLmNhbmNlbFVybDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzRGF0ZSAmJiBwaW5TdGF0dXMuc3RhdHVzICYmIHBpblN0YXR1cy5zdGF0dXMuZW5kU3RhdHVzKSB7XHJcbiAgICAgICAgaWYgKHBpblN0YXR1cy5zdGF0dXMuY29kZSA9PT0gSW9uZVBheW1lbnRTdGF0dXNDb2RlLlBBSUQpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMucHJlcGFyZVBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMucG9sbGluZ0ZvclN0YXR1c0VuZGVkLm5leHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPj0gdGhpcy5fcGF5bWVudFN0YXR1c01heFBvbGxJbnRlcnZhbCkge1xyXG4gICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudEZhaWxlZCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBwaW5TdGF0dXM6IFBzcFRyYW5zYWN0aW9uU3RhdHVzID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UHNwVHJhbnNhY3Rpb25TdGF0dXMocHNwVHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgICAgIGlmIChwaW5TdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBwaW5TdGF0dXMuc3RhdHVzLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICBpZiAocGluU3RhdHVzLmNhbmNlbFVybCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FuY2VsVXJsID0gcGluU3RhdHVzLmNhbmNlbFVybDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzRGF0ZSAmJiBwaW5TdGF0dXMuc3RhdHVzICYmIHBpblN0YXR1cy5zdGF0dXMuZW5kU3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsVXJsID0gXCJcIjtcclxuICAgICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1cy5jb2RlID09PSBJb25lUGF5bWVudFN0YXR1c0NvZGUuUEFJRCkge1xyXG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJlcGFyZVBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudEZhaWxlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVQYXltZW50KGVtaXRQYXllZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMucG9sbGluZ0ZvclN0YXR1c0VuZGVkLm5leHQoKTtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uUGF5bWVudERvbmUubmV4dCgpO1xyXG4gICAgaWYgKGVtaXRQYXllZCkge1xyXG4gICAgICB0aGlzLnBheWVkLm5leHQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2FuY2VsVXJsID0gXCJcIjtcclxuICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IFwiXCI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVQYXltZW50RmFpbGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdQQVlNRU5UX1RJTUVPVVQnKTtcclxuICAgIHRoaXMucG9sbGluZ0ZvclN0YXR1c0VuZGVkLm5leHQoKTtcclxuICAgIHRoaXMucGF5bWVudEZhaWxlZC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jbGVhckludGVydmFsKCk6IHZvaWQge1xyXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwpO1xyXG4gICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGF0YVVyaVRvQmFzZTY0KHVyaTogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1cmkgPyBcImRhdGE6XCIgKyBtaW1lVHlwZSArIFwiO2Jhc2U2NCxcIiArIHVyaSA6IFwiXCI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -3,8 +3,8 @@ export class Version {
3
3
  constructor() {
4
4
  this.name = "@colijnit/transaction";
5
5
  this.description = "Colijn IT transaction package";
6
- this.symVer = "255.1.22";
7
- this.publishDate = "27-8-2024 09:13:57";
6
+ this.symVer = "255.1.24";
7
+ this.publishDate = "28-8-2024 18:04:34";
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvdHJhbnNhY3Rpb24tdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFDUyxTQUFJLEdBQUcsdUJBQXVCLENBQUM7UUFDL0IsZ0JBQVcsR0FBRywrQkFBK0IsQ0FBQztRQUM5QyxXQUFNLEdBQUcsVUFBVSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsb0JBQW9CLENBQUM7SUFDNUMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBmaWxlIGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQsIGRvIG5vdCBjaGFuZ2UgdGhpc1xuZXhwb3J0IGNsYXNzIFZlcnNpb24ge1xuICBwdWJsaWMgbmFtZSA9IFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uXCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiQ29saWpuIElUIHRyYW5zYWN0aW9uIHBhY2thZ2VcIjtcbiAgcHVibGljIHN5bVZlciA9IFwiMjU1LjEuMjJcIjtcbiAgcHVibGljIHB1Ymxpc2hEYXRlID0gXCIyNy04LTIwMjQgMDk6MTM6NTdcIjtcbn0iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvdHJhbnNhY3Rpb24tdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFDUyxTQUFJLEdBQUcsdUJBQXVCLENBQUM7UUFDL0IsZ0JBQVcsR0FBRywrQkFBK0IsQ0FBQztRQUM5QyxXQUFNLEdBQUcsVUFBVSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsb0JBQW9CLENBQUM7SUFDNUMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBmaWxlIGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQsIGRvIG5vdCBjaGFuZ2UgdGhpc1xuZXhwb3J0IGNsYXNzIFZlcnNpb24ge1xuICBwdWJsaWMgbmFtZSA9IFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uXCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiQ29saWpuIElUIHRyYW5zYWN0aW9uIHBhY2thZ2VcIjtcbiAgcHVibGljIHN5bVZlciA9IFwiMjU1LjEuMjRcIjtcbiAgcHVibGljIHB1Ymxpc2hEYXRlID0gXCIyOC04LTIwMjQgMTg6MDQ6MzRcIjtcbn0iXX0=
@@ -219,7 +219,6 @@ import { PurchaseAdviceFilters } from '@colijnit/transactionapi/build/model/purc
219
219
  import { CatalogFilterModule, CatalogService, CatalogEventService, CatalogSearchModule, CatalogExternalSourceModule } from '@colijnit/catalog';
220
220
  import { DoPaymentRequest } from '@colijnit/transactionapi/build/model/do-payment-request';
221
221
  import { IonePaymentStatusCode } from '@colijnit/transactionapi/build/enum/ione-payment-status-code.enum';
222
- import { CashDrawersRequest } from '@colijnit/transactionapi/build/model/cash-drawers-request';
223
222
  import { GenderType } from '@colijnit/relationapi/build/enum/gender-type.enum';
224
223
  import { ContactOption } from '@colijnit/relationapi/build/model/contact-option.bo';
225
224
  import { BusinessObjectUtils } from '@colijnit/ioneconnector/build/utils/business-object-utils';
@@ -261,6 +260,7 @@ import { TransactionAddPaymentLineRequest } from '@colijnit/transactionapi/build
261
260
  import { take } from 'rxjs/operators';
262
261
  import { TagCategory } from '@colijnit/mainapi/build/enum/tab-category.enum';
263
262
  import { CssUtils } from '@colijnit/mainapi/build/utils/css-utils';
263
+ import { CashDrawersRequest } from '@colijnit/transactionapi/build/model/cash-drawers-request';
264
264
  import { CoDocument as CoDocument$1 } from '@colijnit/sharedapi/build/model/co-document.bo';
265
265
 
266
266
  // this file is dynamically created, do not change this
@@ -268,8 +268,8 @@ class Version {
268
268
  constructor() {
269
269
  this.name = "@colijnit/transaction";
270
270
  this.description = "Colijn IT transaction package";
271
- this.symVer = "255.1.22";
272
- this.publishDate = "27-8-2024 09:13:57";
271
+ this.symVer = "255.1.24";
272
+ this.publishDate = "28-8-2024 18:04:34";
273
273
  }
274
274
  }
275
275
 
@@ -22095,11 +22095,10 @@ class TransactionCreationService extends TransactionService {
22095
22095
  try {
22096
22096
  const response = yield this.connector.convertSalesQuotationToSalesOrder(request);
22097
22097
  yield this.handleLineOperationStatuses(response);
22098
- //this.transactionEventService.updateTransactionReferences.next();
22099
- resolve(true);
22098
+ resolve(response.transactionInfo.transactionNr);
22100
22099
  }
22101
22100
  catch (e) {
22102
- return reject();
22101
+ return reject(NaN);
22103
22102
  }
22104
22103
  }));
22105
22104
  });
@@ -22212,9 +22211,6 @@ class TransactionQuickAccessSalesQuotationComponent extends TransactionQuickAcce
22212
22211
  ngOnInit() {
22213
22212
  super.ngOnInit();
22214
22213
  this._subscriptions.push(this.transactionEventService.updateTransactionReferences.subscribe(() => this.transactionService.checkRefTransaction()));
22215
- /*this._subscriptions.push(
22216
- this.transactionEventService.transactionLineRefTransactionsChanged.subscribe(() => this.transactionService.checkRefTransaction())
22217
- );*/
22218
22214
  }
22219
22215
  ngOnDestroy() {
22220
22216
  super.ngOnDestroy();
@@ -22306,9 +22302,9 @@ class TransactionQuickAccessSalesQuotationComponent extends TransactionQuickAcce
22306
22302
  this.creatingSalesOrder = true;
22307
22303
  const salesOrderCreated = yield this.transactionCreationService.createSalesOrderThroughQuotation(request);
22308
22304
  this.creatingSalesOrder = false;
22309
- /*if (salesOrderCreated) {
22310
- this.transactionEventService.transactionNavigation.next(this.getNewestCurrentRefTransactions().refTransactionNr);
22311
- }*/
22305
+ if (!isNaN(salesOrderCreated)) {
22306
+ this.transactionEventService.transactionNavigation.next(salesOrderCreated.toString());
22307
+ }
22312
22308
  });
22313
22309
  }
22314
22310
  handleSalesOrderNavigation(transNr) {
@@ -22328,18 +22324,6 @@ class TransactionQuickAccessSalesQuotationComponent extends TransactionQuickAcce
22328
22324
  });
22329
22325
  return refTransactionsList;
22330
22326
  }
22331
- getNewestCurrentRefTransactions() {
22332
- let newestTrans;
22333
- this.transactionService.currentTransaction.transactionLines.forEach((line) => {
22334
- var _a;
22335
- (_a = line.refTransactions) === null || _a === void 0 ? void 0 : _a.forEach((ref) => {
22336
- if (!newestTrans || ref.refTransactionId > newestTrans.refTransactionId) {
22337
- newestTrans = ref;
22338
- }
22339
- });
22340
- });
22341
- return newestTrans;
22342
- }
22343
22327
  }
22344
22328
  TransactionQuickAccessSalesQuotationComponent.decorators = [
22345
22329
  { type: Component, args: [{
@@ -30426,10 +30410,11 @@ DeliveryTypeTileModule.decorators = [
30426
30410
  ];
30427
30411
 
30428
30412
  class TransactionPaymentService {
30429
- constructor(_transactionEventService, _paymentConnectorService, _dictionaryService, _http) {
30413
+ constructor(_transactionEventService, _paymentConnectorService, _dictionaryService, _dialogService, _http) {
30430
30414
  this._transactionEventService = _transactionEventService;
30431
30415
  this._paymentConnectorService = _paymentConnectorService;
30432
30416
  this._dictionaryService = _dictionaryService;
30417
+ this._dialogService = _dialogService;
30433
30418
  this._http = _http;
30434
30419
  this.amount = 0;
30435
30420
  this.amountToPay = 0;
@@ -30469,10 +30454,20 @@ class TransactionPaymentService {
30469
30454
  request.cashRegisterNr = this.cashRegisterNr;
30470
30455
  request.cashRegisterGroupId = this.cashRegisterGroupId;
30471
30456
  request.cashRegisterDrawerId = this.cashRegisterDrawerId;
30457
+ //All payments need a cash drawer. Otherwise financial reports will be wrong.
30458
+ if (!this.cashRegisterDrawerId) {
30459
+ this._dialogService.showInformation('NEED_REGISTER_DRAWER_MESSAGE', true);
30460
+ return;
30461
+ }
30472
30462
  if (this.currentPaymentMethod && this.currentPaymentMethod.externalSourceId) { // psp payment
30473
30463
  let pspTransactionUuid = "";
30474
30464
  if (this.currentPaymentMethod.openCashDrawer) {
30475
- yield this._paymentConnectorService.openDrawer(this.printerName);
30465
+ if (this.printerName) {
30466
+ yield this._paymentConnectorService.openDrawer(this.printerName);
30467
+ }
30468
+ else {
30469
+ this._dialogService.showInformation('OPEN_DRAWER_NO_PRINTER_MESSAGE', true);
30470
+ }
30476
30471
  }
30477
30472
  if (this.currentPaymentMethod.pinTerminal) {
30478
30473
  pspTransactionUuid = yield this._paymentConnectorService.doPayment(request);
@@ -30493,7 +30488,12 @@ class TransactionPaymentService {
30493
30488
  }
30494
30489
  else {
30495
30490
  if (this.currentPaymentMethod.openCashDrawer) {
30496
- yield this._paymentConnectorService.openDrawer(this.printerName);
30491
+ if (this.printerName) {
30492
+ yield this._paymentConnectorService.openDrawer(this.printerName);
30493
+ }
30494
+ else {
30495
+ this._dialogService.showInformation('OPEN_DRAWER_NO_PRINTER_MESSAGE', true);
30496
+ }
30497
30497
  }
30498
30498
  this._paymentConnectorService.doPayment(request).then(() => __awaiter(this, void 0, void 0, function* () {
30499
30499
  yield this.preparePaymentInfo();
@@ -30625,6 +30625,7 @@ TransactionPaymentService.ctorParameters = () => [
30625
30625
  { type: TransactionEventService },
30626
30626
  { type: TransactionPaymentConnectorService },
30627
30627
  { type: DictionaryService },
30628
+ { type: DialogService },
30628
30629
  { type: HttpClient }
30629
30630
  ];
30630
30631
 
@@ -30777,6 +30778,7 @@ class TransactionPaymentBaseComponent {
30777
30778
  this.cashRegisterNr = cashRegister.nr;
30778
30779
  this.cashRegisterGroupId = cashRegister.group;
30779
30780
  this.cashRegisterDrawerId = +cashRegister.defaultDrawerNumber;
30781
+ this.paymentService.printerName = cashRegister.defaultPrinter;
30780
30782
  }
30781
30783
  handlePayment() {
30782
30784
  return this.paymentService.handlePayment();
@@ -30786,6 +30788,8 @@ class TransactionPaymentBaseComponent {
30786
30788
  }
30787
30789
  paymentInfoReady() {
30788
30790
  }
30791
+ prepareCashDrawers(group) {
30792
+ }
30789
30793
  /**
30790
30794
  *
30791
30795
  * @private
@@ -30814,6 +30818,8 @@ class TransactionPaymentBaseComponent {
30814
30818
  this.cashRegisterNr = currentCashRegister.nr;
30815
30819
  this.cashRegisterGroupId = currentCashRegister.group;
30816
30820
  this.cashRegisterDrawerId = +currentCashRegister.defaultDrawerNumber;
30821
+ this.prepareCashDrawers(currentCashRegister.group);
30822
+ this.paymentService.printerName = currentCashRegister.defaultPrinter;
30817
30823
  }
30818
30824
  });
30819
30825
  }
@@ -30864,58 +30870,10 @@ class PaymentComponent extends TransactionPaymentBaseComponent {
30864
30870
  constructor() {
30865
30871
  super(...arguments);
30866
30872
  this.showClass = true;
30867
- this.cashRegisters = [];
30868
- this.cashDrawers = [];
30869
- }
30870
- ngOnInit() {
30871
- const _super = Object.create(null, {
30872
- ngOnInit: { get: () => super.ngOnInit }
30873
- });
30874
- return __awaiter(this, void 0, void 0, function* () {
30875
- yield _super.ngOnInit.call(this);
30876
- yield this._prepareCashRegister();
30877
- });
30878
- }
30879
- handleDrawerChanged(cashDrawer) {
30880
- this.activeCashDrawer = cashDrawer;
30881
- this.cashRegisterDrawerId = cashDrawer.id;
30882
30873
  }
30883
30874
  cashRegisterSelected(cashRegister, index) {
30884
- this.cashRegisterIdx = index;
30885
- this.cashRegisterNr = cashRegister.nr;
30886
- this.cashRegisterGroupId = cashRegister.group;
30887
- this.cashRegisterDrawerId = +cashRegister.defaultDrawerNumber;
30875
+ super.cashRegisterSelected(cashRegister, index);
30888
30876
  this.activeCashRegister = cashRegister;
30889
- this._getCashDrawers(this.activeCashRegister.group).then(() => this._checkDefaultParameters(this.activeCashRegister));
30890
- }
30891
- _getCashDrawers(group) {
30892
- return __awaiter(this, void 0, void 0, function* () {
30893
- const cashDrawersRequest = new CashDrawersRequest();
30894
- cashDrawersRequest.group = group;
30895
- this.cashDrawers = yield this.transactionService.getCashDrawers(cashDrawersRequest);
30896
- this.changeDetector.detectChanges();
30897
- });
30898
- }
30899
- _checkDefaultParameters(cashRegister) {
30900
- this.activeCashDrawer = null;
30901
- if (cashRegister.defaultDrawerNumber) {
30902
- const defaultCashDrawer = this.cashDrawers.find((drawer) => drawer.nr === cashRegister.defaultDrawerNumber);
30903
- this.activeCashDrawer = defaultCashDrawer ? defaultCashDrawer : this.activeCashDrawer;
30904
- }
30905
- }
30906
- _prepareCashRegister() {
30907
- return __awaiter(this, void 0, void 0, function* () {
30908
- yield this._getCashRegistersDrawers(this.transactionService.currentBranch);
30909
- });
30910
- }
30911
- _getCashRegistersDrawers(branch) {
30912
- return __awaiter(this, void 0, void 0, function* () {
30913
- this.cashRegisters = yield this.transactionService.getCashRegisters(branch);
30914
- if (this.cashRegisters.length > 0) {
30915
- this.activeCashRegister = this.cashRegisters[0];
30916
- yield this._getCashDrawers(this.activeCashRegister.group);
30917
- }
30918
- });
30919
30877
  }
30920
30878
  }
30921
30879
  PaymentComponent.decorators = [
@@ -30954,17 +30912,6 @@ PaymentComponent.decorators = [
30954
30912
  (selectedChange)="cashRegisterSelected(cashRegister, index)"
30955
30913
  ></co-payment-tile>
30956
30914
  </div>
30957
-
30958
- <co-list-of-values [label]="'CASH_DRAWER' | localize"
30959
- [(model)]="activeCashDrawer"
30960
- [displayField]="'nr'"
30961
- [collection]="cashDrawers"
30962
- [multiselect]="false"
30963
- [required]="false"
30964
- [searchDisabled]="true"
30965
- (modelChange)="handleDrawerChanged($event)"
30966
- ></co-list-of-values>
30967
-
30968
30915
  </div>
30969
30916
  </div>
30970
30917
  <div class="payment-to-pay-wrapper">
@@ -38056,6 +38003,7 @@ class TransactionLineSidePanelComponent {
38056
38003
  this.icons = Icon;
38057
38004
  this.categories = TransactionTypeCategory;
38058
38005
  this.transactionTypes = TransactionKind;
38006
+ this.TransactionTypeCategory = TransactionTypeCategory;
38059
38007
  this.wide = false;
38060
38008
  this.cancelClick = new EventEmitter();
38061
38009
  }
@@ -38091,6 +38039,10 @@ TransactionLineSidePanelComponent.decorators = [
38091
38039
  (buttonClicked)="updateActiveCategory($event)"
38092
38040
  ></co-transaction-button-bar>
38093
38041
  </div>
38042
+ <div class="total-amount" *ngIf="activeCategory === TransactionTypeCategory.PurchaseOrderOrderConfirmation">
38043
+ <span>Totaal excl. BTW</span>
38044
+ <span [textContent]="transaction.transactionTotal.amountVatExcluded | coCurrency"></span>
38045
+ </div>
38094
38046
  <div class="transaction-line-side-panel-content co-small-scrollbar">
38095
38047
  <ng-container [ngSwitch]="transactionInfo.transactionKind">
38096
38048
  <ng-container *ngSwitchCase="transactionTypes.PurchaseOrder">
@@ -42051,7 +42003,7 @@ PurchaseConfirmationLinesComponent.decorators = [
42051
42003
  <th class="right-align" [textContent]="'AMOUNT' | localize"></th>
42052
42004
  <th [textContent]="'ARTICLE_NO_SUPPLIER' | localize"></th>
42053
42005
  <th [textContent]="'DESCRIPTION' | localize"></th>
42054
- <th [textContent]="'DELIVERY_DATE' | localize"></th>
42006
+ <th class="right-align" [textContent]="'DELIVERY_DATE' | localize"></th>
42055
42007
  <th class="right-align" [textContent]="'PRICE' | localize"></th>
42056
42008
  <th [textContent]="'LINK' | localize"></th>
42057
42009
  </tr>