@colijnit/transaction 12.1.130 → 12.1.132

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 (133) hide show
  1. package/bundles/colijnit-transaction.umd.js +1794 -469
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +378 -366
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +379 -367
  6. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +2 -2
  7. package/esm2015/lib/component/core/base/transaction-base.component.js +2 -2
  8. package/esm2015/lib/component/deposit-payment/deposit-payment.component.js +17 -5
  9. package/esm2015/lib/component/discount/discount.component.js +110 -0
  10. package/esm2015/lib/component/discount/discount.module.js +29 -0
  11. package/esm2015/lib/component/payment/payment.component.js +86 -44
  12. package/esm2015/lib/component/payment/payment.module.js +4 -2
  13. package/esm2015/lib/component/payment-to-pay/payment-to-pay.component.js +26 -0
  14. package/esm2015/lib/component/payment-to-pay/payment-to-pay.module.js +21 -0
  15. package/esm2015/lib/component/transaction/transaction.module.js +4 -2
  16. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +178 -0
  17. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.module.js +28 -0
  18. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.component.js +97 -0
  19. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.module.js +24 -0
  20. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.js +189 -0
  21. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.js +41 -0
  22. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +11 -2
  23. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.js +97 -4
  24. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup.module.js +8 -3
  25. package/esm2015/lib/component/transaction-header-fields/transaction-header-amount-to-settle.component.js +55 -0
  26. package/esm2015/lib/component/transaction-header-fields/transaction-header-amount-to-settle.module.js +24 -0
  27. package/esm2015/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.js +24 -3
  28. package/esm2015/lib/component/transaction-header-fields/transaction-header-divide-evenly.component.js +38 -0
  29. package/esm2015/lib/component/transaction-header-fields/transaction-header-divide-evenly.module.js +25 -0
  30. package/esm2015/lib/component/transaction-header-fields/transaction-header-payment-button/transaction-header-payment-button.component.js +14 -3
  31. package/esm2015/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.component.js +52 -0
  32. package/esm2015/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.module.js +36 -0
  33. package/esm2015/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.js +4 -6
  34. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +13 -13
  35. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-to-be-picked/transaction-quick-access-to-be-picked.component.js +2 -2
  36. package/esm2015/lib/enum/icon.enum.js +3 -1
  37. package/esm2015/lib/enum/order-discount-type.enum.js +7 -0
  38. package/esm2015/lib/enum/transaction-type-category.enum.js +2 -1
  39. package/esm2015/lib/model/icon-svg.js +3 -1
  40. package/esm2015/lib/model/payment-transaction-view-model.js +3 -0
  41. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  42. package/esm2015/lib/service/payment.service.js +29 -5
  43. package/esm2015/lib/service/transaction-connector-adapter.service.js +168 -2
  44. package/esm2015/lib/service/transaction-connector.service.js +50 -2
  45. package/esm2015/lib/service/transaction-event.service.js +2 -1
  46. package/esm2015/lib/service/transaction-mapping.service.js +4 -2
  47. package/esm2015/lib/service/transaction.service.js +58 -5
  48. package/esm2015/lib/transaction-version.js +3 -3
  49. package/esm2015/public_api.js +3 -1
  50. package/fesm2015/colijnit-transaction.js +1315 -82
  51. package/fesm2015/colijnit-transaction.js.map +1 -1
  52. package/lib/component/cash-register-order-wrapper.ts/style/_layout.scss +4 -0
  53. package/lib/component/cash-register-order-wrapper.ts/style/_material-definition.scss +0 -0
  54. package/lib/component/cash-register-order-wrapper.ts/style/_theme.scss +4 -0
  55. package/lib/component/cash-register-order-wrapper.ts/style/material.scss +4 -0
  56. package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +9 -0
  57. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +4 -1
  58. package/lib/component/checkout/checkout-overview-relation-edit/style/_theme.scss +3 -0
  59. package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_layout.scss +9 -0
  60. package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_material-definition.scss +4 -1
  61. package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_theme.scss +3 -0
  62. package/lib/component/core/base/transaction-base.component.d.ts +1 -1
  63. package/lib/component/deposit-payment/deposit-payment.component.d.ts +9 -3
  64. package/lib/component/discount/discount.component.d.ts +19 -0
  65. package/lib/component/discount/discount.module.d.ts +2 -0
  66. package/lib/component/discount/style/_layout.scss +0 -0
  67. package/lib/component/discount/style/_material-definition.scss +0 -0
  68. package/lib/component/discount/style/_theme.scss +0 -0
  69. package/lib/component/discount/style/material.scss +0 -0
  70. package/lib/component/payment/payment.component.d.ts +16 -6
  71. package/lib/component/payment/style/_layout.scss +5 -0
  72. package/lib/component/payment/style/_material-definition.scss +3 -6
  73. package/lib/component/payment/style/_theme.scss +0 -24
  74. package/lib/component/payment/style/material.scss +1 -0
  75. package/lib/component/payment-to-pay/payment-to-pay.component.d.ts +4 -0
  76. package/lib/component/payment-to-pay/payment-to-pay.module.d.ts +2 -0
  77. package/lib/component/payment-to-pay/style/_layout.scss +26 -0
  78. package/lib/component/payment-to-pay/style/_material-definition.scss +6 -0
  79. package/lib/component/payment-to-pay/style/_theme.scss +9 -0
  80. package/lib/component/payment-to-pay/style/material.scss +4 -0
  81. package/lib/component/quick-send-button/style/_layout.scss +24 -0
  82. package/lib/component/quick-send-button/style/_material-definition.scss +2 -0
  83. package/lib/component/tile/style/_layout.scss +4 -0
  84. package/lib/component/transaction-cash-register-order/style/_layout.scss +134 -0
  85. package/lib/component/transaction-cash-register-order/style/_material-definition.scss +0 -0
  86. package/lib/component/transaction-cash-register-order/style/_theme.scss +4 -0
  87. package/lib/component/transaction-cash-register-order/style/material.scss +7 -0
  88. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_layout.scss +37 -0
  89. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_material-definition.scss +0 -0
  90. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_theme.scss +4 -0
  91. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/material.scss +4 -0
  92. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.component.d.ts +36 -0
  93. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.module.d.ts +2 -0
  94. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_layout.scss +53 -0
  95. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_material-definition.scss +0 -0
  96. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_theme.scss +4 -0
  97. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/material.scss +5 -0
  98. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.component.d.ts +18 -0
  99. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.module.d.ts +2 -0
  100. package/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.d.ts +46 -0
  101. package/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.d.ts +2 -0
  102. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +5 -2
  103. package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +33 -0
  104. package/lib/component/transaction-header/transaction-header-popup/style/_material-definition.scss +5 -0
  105. package/lib/component/transaction-header/transaction-header-popup/style/_theme.scss +10 -0
  106. package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.d.ts +32 -1
  107. package/lib/component/transaction-header-fields/transaction-header-amount-to-settle.component.d.ts +8 -0
  108. package/lib/component/transaction-header-fields/transaction-header-amount-to-settle.module.d.ts +2 -0
  109. package/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.d.ts +6 -0
  110. package/lib/component/transaction-header-fields/transaction-header-divide-evenly.component.d.ts +5 -0
  111. package/lib/component/transaction-header-fields/transaction-header-divide-evenly.module.d.ts +2 -0
  112. package/lib/component/transaction-header-fields/transaction-header-payment-button/transaction-header-payment-button.component.d.ts +7 -3
  113. package/lib/component/transaction-line/transaction-cash-register-order-line/style/_layout.scss +21 -0
  114. package/lib/component/transaction-line/transaction-cash-register-order-line/style/_material-definition.scss +0 -0
  115. package/lib/component/transaction-line/transaction-cash-register-order-line/style/_theme.scss +4 -0
  116. package/lib/component/transaction-line/transaction-cash-register-order-line/style/material.scss +4 -0
  117. package/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.component.d.ts +4 -0
  118. package/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.module.d.ts +2 -0
  119. package/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.d.ts +0 -1
  120. package/lib/component/transaction-lines/style/material.scss +1 -0
  121. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +13 -13
  122. package/lib/enum/icon.enum.d.ts +2 -0
  123. package/lib/enum/order-discount-type.enum.d.ts +5 -0
  124. package/lib/enum/transaction-type-category.enum.d.ts +2 -1
  125. package/lib/model/payment-transaction-view-model.d.ts +12 -0
  126. package/lib/res/dictionary/dictionaries.d.ts +15 -2
  127. package/lib/service/payment.service.d.ts +13 -2
  128. package/lib/service/transaction-connector-adapter.service.d.ts +26 -4
  129. package/lib/service/transaction-connector.service.d.ts +37 -22
  130. package/lib/service/transaction-event.service.d.ts +1 -0
  131. package/lib/service/transaction.service.d.ts +15 -0
  132. package/package.json +2 -2
  133. package/public_api.d.ts +2 -0
@@ -0,0 +1,178 @@
1
+ import { Component, EventEmitter, HostBinding, Output, ViewEncapsulation } from "@angular/core";
2
+ import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
3
+ import { CreateCashRegisterOrderRequest } from "@colijnit/transactionapi/build/model/create-cash-register-order-request";
4
+ import { CashDrawersRequest } from "@colijnit/transactionapi/build/model/cash-drawers-request";
5
+ import { PaymentTransactionViewModel } from "../../../model/payment-transaction-view-model";
6
+ export class TransactionCashRegisterDialogComponent extends TransactionBaseComponent {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.paymentDetailsSelected = new EventEmitter();
10
+ this.cashRegisterOrderRequestCreated = new EventEmitter();
11
+ this.cashRegisters = [];
12
+ this.cashDrawers = [];
13
+ this.printerList = [];
14
+ this.printerLayouts = [];
15
+ this.emailLayouts = [];
16
+ }
17
+ showClass() {
18
+ return true;
19
+ }
20
+ ngOnInit() {
21
+ super.ngOnInit();
22
+ this._prepareCashRegister();
23
+ this._getPrinters();
24
+ this._getPrinterLayouts();
25
+ this._getEmailLayouts();
26
+ }
27
+ cashRegisterSelected(cashRegister) {
28
+ this.activeCashRegister = cashRegister;
29
+ this._getCashDrawers(this.activeCashRegister.group);
30
+ }
31
+ cashDrawerSelected() {
32
+ this._createCashRegisterOrder();
33
+ const paymentTransactionViewModel = new PaymentTransactionViewModel();
34
+ paymentTransactionViewModel.cashRegister = this.activeCashRegister;
35
+ paymentTransactionViewModel.cashDrawer = this.activeCashDrawer;
36
+ paymentTransactionViewModel.printer = this.activePrinter;
37
+ paymentTransactionViewModel.printerLayout = this.selectedPrinterLayout;
38
+ paymentTransactionViewModel.emailLayout = this.selectedEmailLayout;
39
+ this.paymentDetailsSelected.next(paymentTransactionViewModel);
40
+ }
41
+ _createCashRegisterOrder() {
42
+ const request = new CreateCashRegisterOrderRequest();
43
+ request.cashDrawerId = this.activeCashDrawer.id; // CashDrawer.id
44
+ request.cashRegisterGroupId = this.activeCashDrawer.group; // CashDrawer.group
45
+ request.cashRegisterNr = this.activeCashRegister.nr; // CashRegister.nr
46
+ request.printerName = this.activePrinter.name;
47
+ this.cashRegisterOrderRequestCreated.next(request);
48
+ }
49
+ _getCashRegisters(branch) {
50
+ this.transactionService.getCashRegisters(branch).then((cashRegisters) => {
51
+ this.cashRegisters.push(...cashRegisters);
52
+ this._getCashDrawers(this.cashRegisters[0].group);
53
+ });
54
+ }
55
+ _getCashDrawers(group) {
56
+ const cashDrawersRequest = new CashDrawersRequest();
57
+ cashDrawersRequest.group = group;
58
+ this.transactionService.getCashDrawers(cashDrawersRequest).then((cashDrawers) => {
59
+ this.cashDrawers = cashDrawers;
60
+ });
61
+ }
62
+ _getPrinters() {
63
+ this.transactionService.getPrinters().then((printerList) => {
64
+ this.printerList = printerList;
65
+ });
66
+ }
67
+ _prepareCashRegister() {
68
+ if (!this.transactionService.currentBranch) {
69
+ // show pop-up
70
+ }
71
+ else {
72
+ this._getCashRegisters(this.transactionService.currentBranch);
73
+ }
74
+ }
75
+ handleDrawerChanged(cashDrawer) {
76
+ this.activeCashDrawer = cashDrawer;
77
+ }
78
+ handlePrinterChanged(printer) {
79
+ this.activePrinter = printer;
80
+ }
81
+ _getPrinterLayouts() {
82
+ this.transactionService.getPosReceiptPrintLayouts(this.transactionInfo.uuid).then((layouts) => {
83
+ this.printerLayouts = layouts;
84
+ });
85
+ }
86
+ _getEmailLayouts() {
87
+ this.transactionService.getPosReceiptEmailLayouts(this.transactionInfo.uuid).then((layouts) => {
88
+ this.emailLayouts = layouts;
89
+ });
90
+ }
91
+ }
92
+ TransactionCashRegisterDialogComponent.decorators = [
93
+ { type: Component, args: [{
94
+ selector: "co-transaction-cash-register-dialog",
95
+ template: `
96
+ <co-dialog [showCloseIcon]="false" [footerTemplate]="footerTemplate" [headerTemplate]="headerTemplate">
97
+ <div class="dialog-content-wrapper">
98
+ <div class="cash-registers">
99
+ <co-payment-tile *ngFor="let cashRegister of cashRegisters"
100
+ [icon]="cashRegister.icon"
101
+ [description]="cashRegister.description"
102
+ [selected]="cashRegister === activeCashRegister"
103
+ (selectedChange)="cashRegisterSelected(cashRegister)"
104
+ ></co-payment-tile>
105
+ </div>
106
+
107
+ <co-list-of-values [label]="'CASH_DRAWER' | localize"
108
+ [(model)]="activeCashDrawer"
109
+ [displayField]="'nr'"
110
+ [collection]="cashDrawers"
111
+ [multiselect]="false"
112
+ [required]="false"
113
+ [readonly]="headerReadonly"
114
+ [searchDisabled]="true"
115
+ (modelChange)="handleDrawerChanged($event)"
116
+ ></co-list-of-values>
117
+
118
+ <co-list-of-values [label]="'PRINTER' | localize"
119
+ [(model)]="activePrinter"
120
+ [displayField]="'name'"
121
+ [collection]="printerList"
122
+ [multiselect]="false"
123
+ [required]="false"
124
+ [readonly]="headerReadonly"
125
+ [searchDisabled]="true"
126
+ (modelChange)="handlePrinterChanged($event)"
127
+ ></co-list-of-values>
128
+
129
+ <co-list-of-values [label]="'PRINTER_LAYOUT' | localize"
130
+ [(model)]="selectedPrinterLayout"
131
+ [displayField]="'name'"
132
+ [collection]="printerLayouts"
133
+ [multiselect]="false"
134
+ [required]="false"
135
+ [readonly]="headerReadonly"
136
+ [searchDisabled]="true"
137
+ ></co-list-of-values>
138
+
139
+ <co-list-of-values [label]="'EMAIL_LAYOUT' | localize"
140
+ [(model)]="selectedEmailLayout"
141
+ [displayField]="'name'"
142
+ [collection]="emailLayouts"
143
+ [multiselect]="false"
144
+ [required]="false"
145
+ [readonly]="headerReadonly"
146
+ [searchDisabled]="true"
147
+ ></co-list-of-values>
148
+ </div>
149
+ </co-dialog>
150
+
151
+ <ng-template #headerTemplate>
152
+ <div class="title-wrapper">
153
+ <co-icon [iconData]="iconCacheService.getIcon(icons.CashRegister)"></co-icon>
154
+ <span class="co-dialog-header-title" [textContent]="'SELECT_CASH_REGISTER' | localize"></span>
155
+ </div>
156
+ </ng-template>
157
+
158
+ <ng-template #footerTemplate>
159
+ <div class="co-dialog-footer-button-wrapper">
160
+ <ng-container>
161
+ <co-button class="save-button"
162
+ [disabled]="!activeCashDrawer || !activePrinter || !selectedEmailLayout || !selectedPrinterLayout"
163
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
164
+ (click)="cashDrawerSelected()"
165
+ ></co-button>
166
+ </ng-container>
167
+ </div>
168
+ </ng-template>
169
+ `,
170
+ encapsulation: ViewEncapsulation.None
171
+ },] }
172
+ ];
173
+ TransactionCashRegisterDialogComponent.propDecorators = {
174
+ paymentDetailsSelected: [{ type: Output }],
175
+ cashRegisterOrderRequestCreated: [{ type: Output }],
176
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-cash-register-dialog",] }]
177
+ };
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZy90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUd2SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUU3RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQW1GMUYsTUFBTSxPQUFPLHNDQUF1QyxTQUFRLHdCQUF3QjtJQS9FcEY7O1FBa0ZTLDJCQUFzQixHQUE4QyxJQUFJLFlBQVksRUFBK0IsQ0FBQztRQUdwSCxvQ0FBK0IsR0FBaUQsSUFBSSxZQUFZLEVBQWtDLENBQUM7UUFFbkksa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFFMUIsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBRy9CLGdCQUFXLEdBQWMsRUFBRSxDQUFDO1FBRTVCLG1CQUFjLEdBQWlDLEVBQUUsQ0FBQztRQUNsRCxpQkFBWSxHQUFpQyxFQUFFLENBQUM7SUEwRnpELENBQUM7SUFyRlEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxF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dGVyLCBIb3N0QmluZGluZywgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtY2FzaC1yZWdpc3Rlci1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7Q2FzaFJlZ2lzdGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtcmVnaXN0ZXJcIjtcclxuaW1wb3J0IHtDYXNoRHJhd2VyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtZHJhd2VyLmJvXCI7XHJcbmltcG9ydCB7Q2FzaERyYXdlcnNSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtZHJhd2Vycy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm9cIjtcclxuaW1wb3J0IHtQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWx9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9wYXltZW50LXRyYW5zYWN0aW9uLXZpZXctbW9kZWxcIjtcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvXCI7XHJcbmltcG9ydCB7IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsIH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXJzXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBjYXNoUmVnaXN0ZXIgb2YgY2FzaFJlZ2lzdGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImNhc2hSZWdpc3Rlci5pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImNhc2hSZWdpc3Rlci5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJjYXNoUmVnaXN0ZXIgPT09IGFjdGl2ZUNhc2hSZWdpc3RlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJjYXNoUmVnaXN0ZXJTZWxlY3RlZChjYXNoUmVnaXN0ZXIpXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQtdGlsZT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIFtsYWJlbF09XCInQ0FTSF9EUkFXRVInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhY3RpdmVDYXNoRHJhd2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInbnInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY2FzaERyYXdlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaGVhZGVyUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEcmF3ZXJDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG5cclxuICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW2xhYmVsXT1cIidQUklOVEVSJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYWN0aXZlUHJpbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ25hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaGVhZGVyUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVQcmludGVyQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuXHJcbiAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIFtsYWJlbF09XCInUFJJTlRFUl9MQVlPVVQnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZFByaW50ZXJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIiduYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInByaW50ZXJMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImhlYWRlclJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaERpc2FibGVkXT1cInRydWVcIlxyXG4gICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG5cclxuICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW2xhYmVsXT1cIidFTUFJTF9MQVlPVVQnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZEVtYWlsTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInbmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaGVhZGVyUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9jby1kaWFsb2c+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNhc2hSZWdpc3RlcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidTRUxFQ1RfQ0FTSF9SRUdJU1RFUicgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhYWN0aXZlQ2FzaERyYXdlciB8fCAhYWN0aXZlUHJpbnRlciB8fCAhc2VsZWN0ZWRFbWFpbExheW91dCB8fCAhc2VsZWN0ZWRQcmludGVyTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhc2hEcmF3ZXJTZWxlY3RlZCgpXCJcclxuICAgICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGF5bWVudERldGFpbHNTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdENyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3Q+KCk7XHJcblxyXG4gIHB1YmxpYyBjYXNoUmVnaXN0ZXJzOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBhY3RpdmVDYXNoUmVnaXN0ZXI6IENhc2hSZWdpc3RlcjtcclxuICBwdWJsaWMgY2FzaERyYXdlcnM6IENhc2hEcmF3ZXJbXSA9IFtdO1xyXG4gIHB1YmxpYyBhY3RpdmVDYXNoRHJhd2VyOiBDYXNoRHJhd2VyO1xyXG5cclxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXSA9IFtdO1xyXG4gIHB1YmxpYyBhY3RpdmVQcmludGVyOiBQcmludGVyO1xyXG4gIHB1YmxpYyBwcmludGVyTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xyXG4gIHB1YmxpYyBlbWFpbExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRQcmludGVyTGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludDtcclxuICBwdWJsaWMgc2VsZWN0ZWRFbWFpbExheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWw7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItZGlhbG9nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3ByZXBhcmVDYXNoUmVnaXN0ZXIoKTtcclxuICAgIHRoaXMuX2dldFByaW50ZXJzKCk7XHJcbiAgICB0aGlzLl9nZXRQcmludGVyTGF5b3V0cygpO1xyXG4gICAgdGhpcy5fZ2V0RW1haWxMYXlvdXRzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyU2VsZWN0ZWQoY2FzaFJlZ2lzdGVyOiBDYXNoUmVnaXN0ZXIpIHtcclxuICAgIHRoaXMuYWN0aXZlQ2FzaFJlZ2lzdGVyID0gY2FzaFJlZ2lzdGVyO1xyXG4gICAgdGhpcy5fZ2V0Q2FzaERyYXdlcnModGhpcy5hY3RpdmVDYXNoUmVnaXN0ZXIuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhc2hEcmF3ZXJTZWxlY3RlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyKCk7XHJcbiAgICBjb25zdCBwYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWwgPSBuZXcgUGF5bWVudFRyYW5zYWN0aW9uVmlld01vZGVsKCk7XHJcbiAgICBwYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWwuY2FzaFJlZ2lzdGVyID0gdGhpcy5hY3RpdmVDYXNoUmVnaXN0ZXI7XHJcbiAgICBwYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWwuY2FzaERyYXdlciA9IHRoaXMuYWN0aXZlQ2FzaERyYXdlcjtcclxuICAgIHBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbC5wcmludGVyID0gdGhpcy5hY3RpdmVQcmludGVyO1xyXG4gICAgcGF5bWVudFRyYW5zYWN0aW9uVmlld01vZGVsLnByaW50ZXJMYXlvdXQgPSB0aGlzLnNlbGVjdGVkUHJpbnRlckxheW91dDtcclxuICAgIHBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbC5lbWFpbExheW91dCA9IHRoaXMuc2VsZWN0ZWRFbWFpbExheW91dDtcclxuICAgIHRoaXMucGF5bWVudERldGFpbHNTZWxlY3RlZC5uZXh0KHBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcigpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IENyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCA9IG5ldyBDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuY2FzaERyYXdlcklkID0gdGhpcy5hY3RpdmVDYXNoRHJhd2VyLmlkOyAvLyBDYXNoRHJhd2VyLmlkXHJcbiAgICByZXF1ZXN0LmNhc2hSZWdpc3Rlckdyb3VwSWQgPSB0aGlzLmFjdGl2ZUNhc2hEcmF3ZXIuZ3JvdXA7IC8vIENhc2hEcmF3ZXIuZ3JvdXBcclxuICAgIHJlcXVlc3QuY2FzaFJlZ2lzdGVyTnIgPSB0aGlzLmFjdGl2ZUNhc2hSZWdpc3Rlci5ucjsgLy8gQ2FzaFJlZ2lzdGVyLm5yXHJcbiAgICByZXF1ZXN0LnByaW50ZXJOYW1lID0gdGhpcy5hY3RpdmVQcmludGVyLm5hbWU7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdENyZWF0ZWQubmV4dChyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldENhc2hSZWdpc3RlcnMoYnJhbmNoOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldENhc2hSZWdpc3RlcnMoYnJhbmNoKS50aGVuKChjYXNoUmVnaXN0ZXJzOiBDYXNoUmVnaXN0ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNhc2hSZWdpc3RlcnMucHVzaCguLi5jYXNoUmVnaXN0ZXJzKTtcclxuICAgICAgdGhpcy5fZ2V0Q2FzaERyYXdlcnModGhpcy5jYXNoUmVnaXN0ZXJzWzBdLmdyb3VwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Q2FzaERyYXdlcnMoZ3JvdXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgY2FzaERyYXdlcnNSZXF1ZXN0OiBDYXNoRHJhd2Vyc1JlcXVlc3QgPSBuZXcgQ2FzaERyYXdlcnNSZXF1ZXN0KCk7XHJcbiAgICBjYXNoRHJhd2Vyc1JlcXVlc3QuZ3JvdXAgPSBncm91cDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldENhc2hEcmF3ZXJzKGNhc2hEcmF3ZXJzUmVxdWVzdCkudGhlbigoY2FzaERyYXdlcnM6IENhc2hEcmF3ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNhc2hEcmF3ZXJzID0gY2FzaERyYXdlcnM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByaW50ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UHJpbnRlcnMoKS50aGVuKChwcmludGVyTGlzdDogUHJpbnRlcltdKSA9PiB7XHJcbiAgICAgIHRoaXMucHJpbnRlckxpc3QgPSBwcmludGVyTGlzdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNhc2hSZWdpc3RlcigpIHtcclxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudEJyYW5jaCkge1xyXG4gICAgICAvLyBzaG93IHBvcC11cFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZ2V0Q2FzaFJlZ2lzdGVycyh0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50QnJhbmNoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEcmF3ZXJDaGFuZ2VkKGNhc2hEcmF3ZXI6IENhc2hEcmF3ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2FzaERyYXdlciA9IGNhc2hEcmF3ZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUHJpbnRlckNoYW5nZWQocHJpbnRlcjogUHJpbnRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVQcmludGVyID0gcHJpbnRlcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByaW50ZXJMYXlvdXRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UG9zUmVjZWlwdFByaW50TGF5b3V0cyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKS50aGVuKChsYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdKSA9PiB7XHJcbiAgICAgIHRoaXMucHJpbnRlckxheW91dHMgPSBsYXlvdXRzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRFbWFpbExheW91dHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQb3NSZWNlaXB0RW1haWxMYXlvdXRzKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpLnRoZW4oKGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10pID0+IHtcclxuICAgICAgdGhpcy5lbWFpbExheW91dHMgPSBsYXlvdXRzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TransactionCashRegisterDialogComponent } from "./transaction-cash-register-dialog.component";
4
+ import { ButtonModule, CoDialogModule, IconModule, ListOfValuesModule } from "@colijnit/corecomponents_v12";
5
+ import { PaymentTileModule } from "../../payment-tile/payment-tile.module";
6
+ import { PipeModule } from "../../../pipe/pipe.module";
7
+ export class TransactionCashRegisterDialogModule {
8
+ }
9
+ TransactionCashRegisterDialogModule.decorators = [
10
+ { type: NgModule, args: [{
11
+ imports: [
12
+ CommonModule,
13
+ CoDialogModule,
14
+ PaymentTileModule,
15
+ ListOfValuesModule,
16
+ PipeModule,
17
+ ButtonModule,
18
+ IconModule
19
+ ],
20
+ declarations: [
21
+ TransactionCashRegisterDialogComponent
22
+ ],
23
+ exports: [
24
+ TransactionCashRegisterDialogComponent
25
+ ]
26
+ },] }
27
+ ];
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZy90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHNDQUFzQyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDcEcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDMUcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBbUJyRCxNQUFNLE9BQU8sbUNBQW1DOzs7WUFqQi9DLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLFlBQVk7b0JBQ1osVUFBVTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1Ysc0NBQXNDO2lCQUN6QztnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsc0NBQXNDO2lCQUN6QzthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNhc2hSZWdpc3RlckRpYWxvZ0NvbXBvbmVudH0gZnJvbSBcIi4vdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgSWNvbk1vZHVsZSwgTGlzdE9mVmFsdWVzTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1BheW1lbnRUaWxlTW9kdWxlfSBmcm9tIFwiLi4vLi4vcGF5bWVudC10aWxlL3BheW1lbnQtdGlsZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgUGF5bWVudFRpbGVNb2R1bGUsXHJcbiAgICAgICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIEljb25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlckRpYWxvZ0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlckRpYWxvZ0NvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJEaWFsb2dNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
3
+ import { EmailPosReceiptRequest } from "@colijnit/transactionapi/build/model/email-pos-receipt-request";
4
+ import { PrintPosReceiptRequest } from "@colijnit/transactionapi/build/model/print-pos-receipt-request";
5
+ export class TransactionCashRegisterOrderReceiptDialogComponent extends TransactionBaseComponent {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.handleReceiptOptionSelected = new EventEmitter();
9
+ this.receiptOptions = [
10
+ { title: 'EMAIL', iconData: this.iconCacheService.getIcon(this.icons.AtSolid) },
11
+ { title: 'PRINT', iconData: this.iconCacheService.getIcon(this.icons.PrintSolid) },
12
+ { title: 'NO_RECEIPT', iconData: this.iconCacheService.getIcon(this.icons.RegularReceiptSlash) }
13
+ ];
14
+ this.disableInput = false;
15
+ }
16
+ showClass() {
17
+ return true;
18
+ }
19
+ emailReceipt() {
20
+ const request = new EmailPosReceiptRequest();
21
+ request.transId = this.transactionInfo.id;
22
+ request.toAddresses = 'stefan.douw@colijn-it.nl';
23
+ request.reportId = this.cashRegisterPaymentDetails.emailLayout.reportId;
24
+ this.transactionService.emailPosReceipt(request).then((success) => {
25
+ if (success) {
26
+ this.handleReceiptOptionSelected.next();
27
+ }
28
+ else {
29
+ this.disableInput = false;
30
+ }
31
+ });
32
+ }
33
+ printReceipt() {
34
+ const request = new PrintPosReceiptRequest();
35
+ request.transId = this.transactionInfo.id;
36
+ request.copies = 1;
37
+ request.printerName = this.cashRegisterPaymentDetails.printer.name;
38
+ request.reportId = this.cashRegisterPaymentDetails.printerLayout.reportId;
39
+ this.transactionService.printPosReceipt(request).then((success) => {
40
+ if (success) {
41
+ this.handleReceiptOptionSelected.next();
42
+ }
43
+ else {
44
+ this.disableInput = false;
45
+ }
46
+ });
47
+ }
48
+ noPrintReceipt() {
49
+ this.handleReceiptOptionSelected.next();
50
+ this.disableInput = false;
51
+ }
52
+ handleClickReceipt(title) {
53
+ if (!this.disableInput) {
54
+ this.disableInput = true;
55
+ switch (title) {
56
+ case 'EMAIL':
57
+ this.emailReceipt();
58
+ break;
59
+ case 'PRINT':
60
+ this.printReceipt();
61
+ break;
62
+ case 'NO_RECEIPT':
63
+ this.noPrintReceipt();
64
+ break;
65
+ }
66
+ }
67
+ }
68
+ }
69
+ TransactionCashRegisterOrderReceiptDialogComponent.decorators = [
70
+ { type: Component, args: [{
71
+ selector: "co-transaction-cash-register-order-receipt-dialog",
72
+ template: `
73
+ <co-dialog [showCloseIcon]="false" [headerTemplate]="headerTemplate">
74
+ <div class="dialog-content-wrapper">
75
+ <div class="receipt-option" [class.disabled]="disableInput" *ngFor="let receiptOption of receiptOptions" (click)="handleClickReceipt(receiptOption.title)">
76
+ <co-icon [iconData]="receiptOption.iconData"></co-icon>
77
+ <span [textContent]="receiptOption.title | localize"></span>
78
+ </div>
79
+ </div>
80
+ </co-dialog>
81
+
82
+ <ng-template #headerTemplate>
83
+ <div class="title-wrapper">
84
+ <co-icon [iconData]="iconCacheService.getIcon(icons.CashRegister)"></co-icon>
85
+ <span class="co-dialog-header-title" [textContent]="'CASH_REGISTER_RECEIPT' | localize"></span>
86
+ </div>
87
+ </ng-template>
88
+ `,
89
+ encapsulation: ViewEncapsulation.None
90
+ },] }
91
+ ];
92
+ TransactionCashRegisterOrderReceiptDialogComponent.propDecorators = {
93
+ cashRegisterPaymentDetails: [{ type: Input }],
94
+ handleReceiptOptionSelected: [{ type: Output }],
95
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-cash-register-order-receipt-dialog",] }]
96
+ };
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2cvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFcEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDdEcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUF3QnRHLE1BQU0sT0FBTyxrREFBbUQsU0FBUSx3QkFBd0I7SUFyQmhHOztRQTJCUyxnQ0FBMkIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUzRSxtQkFBYyxHQUEwQztZQUM3RCxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBQztZQUM3RSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBQztZQUNoRixFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxFQUFDO1NBQy9GLENBQUM7UUFFSyxpQkFBWSxHQUFZLEtBQUssQ0FBQztJQTBEdkMsQ0FBQztJQXZEUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sWUFBWTtRQUNqQixNQUFNLE9BQU8sR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQTtRQUNoRCxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQ3pFLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN6QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQzthQUMzQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDakIsTUFBTSxPQUFPLEdBQTJCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztRQUNyRSxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDbkUsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUMxRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUN6RSxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDekM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRU0sa0JBQWtCLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUV6QixRQUFRLEtBQUssRUFBRTtnQkFDYixLQUFLLE9BQU87b0JBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNwQixNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3BCLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdEIsTUFBTTthQUNUO1NBQ0Y7SUFDSCxDQUFDOzs7WUE1RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtREFBbUQ7Z0JBQzdELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O3lDQUdFLEtBQUs7MENBR0wsTUFBTTt3QkFXTixXQUFXLFNBQUMseURBQXlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NhZmVIdG1sfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQge0VtYWlsUG9zUmVjZWlwdFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZW1haWwtcG9zLXJlY2VpcHQtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1ByaW50UG9zUmVjZWlwdFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcG9zLXJlY2VpcHQtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1BheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL3BheW1lbnQtdHJhbnNhY3Rpb24tdmlldy1tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY2VpcHQtb3B0aW9uXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVJbnB1dFwiICpuZ0Zvcj1cImxldCByZWNlaXB0T3B0aW9uIG9mIHJlY2VpcHRPcHRpb25zXCIgKGNsaWNrKT1cImhhbmRsZUNsaWNrUmVjZWlwdChyZWNlaXB0T3B0aW9uLnRpdGxlKVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cInJlY2VpcHRPcHRpb24uaWNvbkRhdGFcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicmVjZWlwdE9wdGlvbi50aXRsZSB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvY28tZGlhbG9nPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXNoUmVnaXN0ZXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInQ0FTSF9SRUdJU1RFUl9SRUNFSVBUJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyUmVjZWlwdERpYWxvZ0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclBheW1lbnREZXRhaWxzOiBQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWw7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVSZWNlaXB0T3B0aW9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIHJlY2VpcHRPcHRpb25zOiB7dGl0bGU6IHN0cmluZywgaWNvbkRhdGE6IFNhZmVIdG1sfVtdID0gW1xyXG4gICAge3RpdGxlOiAnRU1BSUwnLCBpY29uRGF0YTogdGhpcy5pY29uQ2FjaGVTZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5BdFNvbGlkKX0sXHJcbiAgICB7dGl0bGU6ICdQUklOVCcsIGljb25EYXRhOiB0aGlzLmljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLlByaW50U29saWQpfSxcclxuICAgIHt0aXRsZTogJ05PX1JFQ0VJUFQnLCBpY29uRGF0YTogdGhpcy5pY29uQ2FjaGVTZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5SZWd1bGFyUmVjZWlwdFNsYXNoKX1cclxuICBdO1xyXG5cclxuICBwdWJsaWMgZGlzYWJsZUlucHV0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1haWxSZWNlaXB0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVxdWVzdDogRW1haWxQb3NSZWNlaXB0UmVxdWVzdCA9IG5ldyBFbWFpbFBvc1JlY2VpcHRSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIHJlcXVlc3QudG9BZGRyZXNzZXMgPSAnc3RlZmFuLmRvdXdAY29saWpuLWl0Lm5sJ1xyXG4gICAgcmVxdWVzdC5yZXBvcnRJZCA9IHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMuZW1haWxMYXlvdXQucmVwb3J0SWQ7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbFBvc1JlY2VpcHQocmVxdWVzdCkudGhlbigoc3VjY2VzczogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlUmVjZWlwdE9wdGlvblNlbGVjdGVkLm5leHQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVJbnB1dCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmludFJlY2VpcHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBQcmludFBvc1JlY2VpcHRSZXF1ZXN0ID0gbmV3IFByaW50UG9zUmVjZWlwdFJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgcmVxdWVzdC5jb3BpZXMgPSAxO1xyXG4gICAgcmVxdWVzdC5wcmludGVyTmFtZSA9IHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMucHJpbnRlci5uYW1lO1xyXG4gICAgcmVxdWVzdC5yZXBvcnRJZCA9IHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMucHJpbnRlckxheW91dC5yZXBvcnRJZDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnByaW50UG9zUmVjZWlwdChyZXF1ZXN0KS50aGVuKChzdWNjZXNzOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVSZWNlaXB0T3B0aW9uU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUlucHV0ID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5vUHJpbnRSZWNlaXB0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5oYW5kbGVSZWNlaXB0T3B0aW9uU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgdGhpcy5kaXNhYmxlSW5wdXQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGlja1JlY2VpcHQodGl0bGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVJbnB1dCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVJbnB1dCA9IHRydWU7XHJcblxyXG4gICAgICBzd2l0Y2ggKHRpdGxlKSB7XHJcbiAgICAgICAgY2FzZSAnRU1BSUwnOlxyXG4gICAgICAgICAgdGhpcy5lbWFpbFJlY2VpcHQoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ1BSSU5UJzpcclxuICAgICAgICAgIHRoaXMucHJpbnRSZWNlaXB0KCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdOT19SRUNFSVBUJzpcclxuICAgICAgICAgIHRoaXMubm9QcmludFJlY2VpcHQoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TransactionCashRegisterOrderReceiptDialogComponent } from "./transaction-cash-register-order-receipt-dialog.component";
4
+ import { CoDialogModule, IconModule } from "@colijnit/corecomponents_v12";
5
+ import { PipeModule } from "../../../pipe/pipe.module";
6
+ export class TransactionCashRegisterOrderReceiptDialogModule {
7
+ }
8
+ TransactionCashRegisterOrderReceiptDialogModule.decorators = [
9
+ { type: NgModule, args: [{
10
+ imports: [
11
+ CommonModule,
12
+ CoDialogModule,
13
+ PipeModule,
14
+ IconModule
15
+ ],
16
+ declarations: [
17
+ TransactionCashRegisterOrderReceiptDialogComponent
18
+ ],
19
+ exports: [
20
+ TransactionCashRegisterOrderReceiptDialogComponent
21
+ ]
22
+ },] }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2cvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGtEQUFrRCxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDOUgsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFnQnJELE1BQU0sT0FBTywrQ0FBK0M7OztZQWQzRCxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxVQUFVO29CQUNWLFVBQVU7aUJBQ1g7Z0JBQ0MsWUFBWSxFQUFFO29CQUNWLGtEQUFrRDtpQkFDckQ7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLGtEQUFrRDtpQkFDckQ7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlclJlY2VpcHREaWFsb2dDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29EaWFsb2dNb2R1bGUsIEljb25Nb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBQaXBlTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZVxyXG4gIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyUmVjZWlwdERpYWxvZ0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyUmVjZWlwdERpYWxvZ0NvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlclJlY2VpcHREaWFsb2dNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,189 @@
1
+ import { __awaiter } from "tslib";
2
+ import { ChangeDetectorRef, Component, HostBinding, ViewChild, ViewEncapsulation } from "@angular/core";
3
+ import { TransactionService } from "../../service/transaction.service";
4
+ import { IconCacheService } from "../../service/icon-cache.service";
5
+ import { TransactionBaseComponent } from "../core/base/transaction-base.component";
6
+ import { TransactionEventService } from "../../service/transaction-event.service";
7
+ import { DictionaryService } from "../../service/dictionary.service";
8
+ import { TransactionImageService } from "../../service/transaction-image.service";
9
+ import { PaymentService } from "../../service/payment.service";
10
+ import { TransactionScreenConfigurationService } from "../../service/transaction-screen-configuration.service";
11
+ import { AddProductComponent } from "../add-product/add-product.component";
12
+ export class TransactionCashRegisterOrderComponent extends TransactionBaseComponent {
13
+ constructor(transactionEventService, iconCacheService, transactionScreenConfigurationService, dictionaryService, imageService, changeDetector, _transactionService, _paymentService) {
14
+ super(transactionEventService, iconCacheService, transactionScreenConfigurationService, imageService, dictionaryService, _transactionService, changeDetector);
15
+ this.transactionEventService = transactionEventService;
16
+ this.iconCacheService = iconCacheService;
17
+ this.transactionScreenConfigurationService = transactionScreenConfigurationService;
18
+ this.dictionaryService = dictionaryService;
19
+ this.imageService = imageService;
20
+ this.changeDetector = changeDetector;
21
+ this._transactionService = _transactionService;
22
+ this._paymentService = _paymentService;
23
+ this.amountToPay = 0;
24
+ this.paymentMethods = [];
25
+ this.paymentMethodIdx = 0;
26
+ this.showCashRegisterDialog = true;
27
+ this.showReceiptDialog = false;
28
+ this.showDiscountDialog = false;
29
+ this._subs = [];
30
+ }
31
+ showClass() {
32
+ return true;
33
+ }
34
+ ngOnInit() {
35
+ super.ngOnInit();
36
+ this._subs.push(this._transactionService.transactionUpdated.subscribe((transaction) => {
37
+ if (transaction) {
38
+ this.transaction = transaction;
39
+ this._getPaymentMethods();
40
+ }
41
+ }));
42
+ }
43
+ handleAddArticle(articleNr, quantity = 1) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ yield this._transactionService.addArticle(articleNr, quantity);
46
+ });
47
+ }
48
+ handleKeyPadModelChange(model) {
49
+ this.amountToPay = model;
50
+ }
51
+ handlePayment() {
52
+ }
53
+ paymentMethodSelected(method, index) {
54
+ this.paymentMethodIdx = index;
55
+ }
56
+ openDiscountDialog(event) {
57
+ event.preventDefault();
58
+ event.stopPropagation();
59
+ this.showDiscountDialog = true;
60
+ }
61
+ _getPaymentMethods() {
62
+ return new Promise((resolve) => {
63
+ this.paymentMethods.length = 0;
64
+ this._paymentService.getPaymentMethodsViewModels(this.transactionService.currentBranch, this.transKind.CashDesk)
65
+ .then((methods) => {
66
+ this.paymentMethods = methods.slice();
67
+ resolve();
68
+ });
69
+ });
70
+ }
71
+ handleFinishedPayment() {
72
+ this._paymentService.processPosTransactionByUuid(this.transactionInfo.uuid).then((result) => {
73
+ this.showReceiptDialog = result;
74
+ });
75
+ }
76
+ handlePaymentDetailsSelected(paymentDetailsSelected) {
77
+ this.showCashRegisterDialog = false;
78
+ this.cashRegisterPaymentDetails = paymentDetailsSelected;
79
+ }
80
+ handleReceiptOptionSelected() {
81
+ this.showReceiptDialog = false;
82
+ this._transactionService.resetCurrentTransaction();
83
+ this._transactionService.createCashRegisterOrder(this._paymentService.currentCashRegisterOrderRequest);
84
+ this.addProductComponent.searchText = '';
85
+ }
86
+ handleCreatedCashRegisterOrderRequest(request) {
87
+ this._paymentService.currentCashRegisterOrderRequest = request;
88
+ this.transactionService.createCashRegisterOrder(request);
89
+ }
90
+ }
91
+ TransactionCashRegisterOrderComponent.decorators = [
92
+ { type: Component, args: [{
93
+ selector: "co-transaction-cash-register-order",
94
+ template: `
95
+ <div class="cash-register-wrapper">
96
+ <div class="cash-register-main-content">
97
+ <div class="cash-register-header-wrapper">
98
+ <co-add-product
99
+ (addArticle)="handleAddArticle($event)"
100
+ (returnArticle)="handleAddArticle($event, -1)"
101
+ ></co-add-product>
102
+ <div class="cash-register-header-buttons-wrapper">
103
+ <div class="cash-register-header-button">
104
+ <co-icon [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)"></co-icon>
105
+ <span [textContent]="'Koppelen klant'"></span>
106
+ </div>
107
+ <div class="cash-register-header-button">
108
+ <co-icon [iconData]="iconCacheService.getIcon(icons.CartShoppingSolid)"></co-icon>
109
+ <span [textContent]="'Checkout verkooporder'"></span>
110
+ </div>
111
+ </div>
112
+ <div class="cash-register-avatar-wrapper">
113
+ <co-avatar class="transaction-sales-avatar" [relationId]="transactionInfo.salesPerson"></co-avatar>
114
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Tag)"></co-icon>
115
+ </div>
116
+ </div>
117
+ <div class="cash-register-lines-wrapper">
118
+ <co-transaction-lines
119
+ [transaction]="transaction"
120
+ [activeCategory]="category.SalesOrderCashRegister"
121
+ ></co-transaction-lines>
122
+ </div>
123
+ </div>
124
+ <div class="cash-register-side-content">
125
+ <div class="cash-register-totals-wrapper">
126
+ <div class="cash-register-totals-row">
127
+ <span [textContent]="'Totaal bruto'"></span>
128
+ <span [textContent]="'€' + (transactionTotal.grossAmount ? transactionTotal.grossAmount : 0)"></span>
129
+ </div>
130
+ <div class="cash-register-totals-row discount" (click)="openDiscountDialog($event)">
131
+ <span [textContent]="'Korting'"></span>
132
+ <span [textContent]="'-€' + (transactionTotal.totalDiscountAmount ? transactionTotal.totalDiscountAmount : 0)"></span>
133
+ </div>
134
+ <div class="cash-register-totals-row total">
135
+ <span [textContent]="'Totaal netto'"></span>
136
+ <span [textContent]="'€' + (transactionTotal.netAmount ? transactionTotal.netAmount : 0)"></span>
137
+ </div>
138
+ </div>
139
+ <div class="cash-register-payment-wrapper">
140
+ <co-payment
141
+ *ngIf="!showCashRegisterDialog"
142
+ [transactionKind]="transKind.CashDesk"
143
+ [transId]="transactionInfo.id"
144
+ [branch]="transactionInfo.branch?.relationNr"
145
+ [transactionUuid]="transactionInfo.uuid"
146
+ [amount]="amountToPay"
147
+ [currencyId]="transactionInfo.currencyId"
148
+ [paymentDetails]="cashRegisterPaymentDetails"
149
+ (payed)="handleFinishedPayment()"
150
+ ></co-payment>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ <co-dialog-transaction-header-discount class="discount-dialog" *ngIf="showDiscountDialog"
155
+ [transactionInfo]="transactionInfo"
156
+ [transactionTotal]="transactionTotal"
157
+ (close)="showDiscountDialog = false"
158
+ ></co-dialog-transaction-header-discount>
159
+ <co-transaction-cash-register-dialog
160
+ *ngIf="showCashRegisterDialog"
161
+ (paymentDetailsSelected)="handlePaymentDetailsSelected($event)"
162
+ (cashRegisterOrderRequestCreated)="handleCreatedCashRegisterOrderRequest($event)"
163
+ ></co-transaction-cash-register-dialog>
164
+
165
+ <co-transaction-cash-register-order-receipt-dialog
166
+ *ngIf="showReceiptDialog"
167
+ [transaction]="transaction"
168
+ [cashRegisterPaymentDetails]="cashRegisterPaymentDetails"
169
+ (handleReceiptOptionSelected)="handleReceiptOptionSelected()"
170
+ ></co-transaction-cash-register-order-receipt-dialog>
171
+ `,
172
+ encapsulation: ViewEncapsulation.None
173
+ },] }
174
+ ];
175
+ TransactionCashRegisterOrderComponent.ctorParameters = () => [
176
+ { type: TransactionEventService },
177
+ { type: IconCacheService },
178
+ { type: TransactionScreenConfigurationService },
179
+ { type: DictionaryService },
180
+ { type: TransactionImageService },
181
+ { type: ChangeDetectorRef },
182
+ { type: TransactionService },
183
+ { type: PaymentService }
184
+ ];
185
+ TransactionCashRegisterOrderComponent.propDecorators = {
186
+ addProductComponent: [{ type: ViewChild, args: [AddProductComponent,] }],
187
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-cash-register-order",] }]
188
+ };
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBaUIsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUs3RCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUU3RyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQW9GekUsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLHdCQUF3QjtJQXNCakYsWUFDUyx1QkFBZ0QsRUFDaEQsZ0JBQWtDLEVBQ2xDLHFDQUE0RSxFQUN6RSxpQkFBb0MsRUFDcEMsWUFBcUMsRUFDckMsY0FBaUMsRUFDakMsbUJBQXVDLEVBQ3pDLGVBQStCO1FBRXZDLEtBQUssQ0FB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ZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gXCIuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge1BheW1lbnRWaWV3bW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbC9wYXltZW50LnZpZXdtb2RlbFwiO1xyXG5pbXBvcnQge1BheW1lbnRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9wYXltZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbWV0aG9kLmJvXCI7XHJcbmltcG9ydCB7Q3JlYXRlQ2FzaFJlZ2lzdGVyT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1jYXNoLXJlZ2lzdGVyLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbC9wYXltZW50LXRyYW5zYWN0aW9uLXZpZXctbW9kZWxcIjtcclxuaW1wb3J0IHtBZGRQcm9kdWN0Q29tcG9uZW50fSBmcm9tIFwiLi4vYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItbWFpbi1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1hZGQtcHJvZHVjdFxyXG4gICAgICAgICAgICAoYWRkQXJ0aWNsZSk9XCJoYW5kbGVBZGRBcnRpY2xlKCRldmVudClcIlxyXG4gICAgICAgICAgICAocmV0dXJuQXJ0aWNsZSk9XCJoYW5kbGVBZGRBcnRpY2xlKCRldmVudCwgLTEpXCJcclxuICAgICAgICAgID48L2NvLWFkZC1wcm9kdWN0PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItaGVhZGVyLWJ1dHRvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1oZWFkZXItYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidLb3BwZWxlbiBrbGFudCdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1oZWFkZXItYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXJ0U2hvcHBpbmdTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidDaGVja291dCB2ZXJrb29wb3JkZXInXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItYXZhdGFyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLWF2YXRhciBjbGFzcz1cInRyYW5zYWN0aW9uLXNhbGVzLWF2YXRhclwiIFtyZWxhdGlvbklkXT1cInRyYW5zYWN0aW9uSW5mby5zYWxlc1BlcnNvblwiPjwvY28tYXZhdGFyPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRhZylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1saW5lcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZXNcclxuICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJDYXNoUmVnaXN0ZXJcIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZXM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1zaWRlLWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci10b3RhbHMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItdG90YWxzLXJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1RvdGFhbCBicnV0bydcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCIn4oKsJyArICh0cmFuc2FjdGlvblRvdGFsLmdyb3NzQW1vdW50ID8gdHJhbnNhY3Rpb25Ub3RhbC5ncm9zc0Ftb3VudCA6IDApXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci10b3RhbHMtcm93IGRpc2NvdW50XCIgKGNsaWNrKT1cIm9wZW5EaXNjb3VudERpYWxvZygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInS29ydGluZydcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInLeKCrCcgKyAodHJhbnNhY3Rpb25Ub3RhbC50b3RhbERpc2NvdW50QW1vdW50ID8gdHJhbnNhY3Rpb25Ub3RhbC50b3RhbERpc2NvdW50QW1vdW50IDogMClcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXRvdGFscy1yb3cgdG90YWxcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidUb3RhYWwgbmV0dG8nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ+KCrCcgKyAodHJhbnNhY3Rpb25Ub3RhbC5uZXRBbW91bnQgPyB0cmFuc2FjdGlvblRvdGFsLm5ldEFtb3VudCA6IDApXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItcGF5bWVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudFxyXG4gICAgICAgICAgICAqbmdJZj1cIiFzaG93Q2FzaFJlZ2lzdGVyRGlhbG9nXCJcclxuICAgICAgICAgICAgW3RyYW5zYWN0aW9uS2luZF09XCJ0cmFuc0tpbmQuQ2FzaERlc2tcIlxyXG4gICAgICAgICAgICBbdHJhbnNJZF09XCJ0cmFuc2FjdGlvbkluZm8uaWRcIlxyXG4gICAgICAgICAgICBbYnJhbmNoXT1cInRyYW5zYWN0aW9uSW5mby5icmFuY2g/LnJlbGF0aW9uTnJcIlxyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgICAgW2Ftb3VudF09XCJhbW91bnRUb1BheVwiXHJcbiAgICAgICAgICAgIFtjdXJyZW5jeUlkXT1cInRyYW5zYWN0aW9uSW5mby5jdXJyZW5jeUlkXCJcclxuICAgICAgICAgICAgW3BheW1lbnREZXRhaWxzXT1cImNhc2hSZWdpc3RlclBheW1lbnREZXRhaWxzXCJcclxuICAgICAgICAgICAgKHBheWVkKT1cImhhbmRsZUZpbmlzaGVkUGF5bWVudCgpXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nLXRyYW5zYWN0aW9uLWhlYWRlci1kaXNjb3VudCBjbGFzcz1cImRpc2NvdW50LWRpYWxvZ1wiICpuZ0lmPVwic2hvd0Rpc2NvdW50RGlhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblRvdGFsXT1cInRyYW5zYWN0aW9uVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlKT1cInNob3dEaXNjb3VudERpYWxvZyA9IGZhbHNlXCJcclxuICAgID48L2NvLWRpYWxvZy10cmFuc2FjdGlvbi1oZWFkZXItZGlzY291bnQ+XHJcbiAgICA8Y28tdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2dcclxuICAgICAgKm5nSWY9XCJzaG93Q2FzaFJlZ2lzdGVyRGlhbG9nXCJcclxuICAgICAgKHBheW1lbnREZXRhaWxzU2VsZWN0ZWQpPVwiaGFuZGxlUGF5bWVudERldGFpbHNTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgKGNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdENyZWF0ZWQpPVwiaGFuZGxlQ3JlYXRlZENhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCgkZXZlbnQpXCJcclxuICAgID48L2NvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItZGlhbG9nPlxyXG5cclxuICAgIDxjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyLXJlY2VpcHQtZGlhbG9nXHJcbiAgICAgICpuZ0lmPVwic2hvd1JlY2VpcHREaWFsb2dcIlxyXG4gICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICBbY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHNdPVwiY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHNcIlxyXG4gICAgICAoaGFuZGxlUmVjZWlwdE9wdGlvblNlbGVjdGVkKT1cImhhbmRsZVJlY2VpcHRPcHRpb25TZWxlY3RlZCgpXCJcclxuICAgID48L2NvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZChBZGRQcm9kdWN0Q29tcG9uZW50KVxyXG4gIHB1YmxpYyBhZGRQcm9kdWN0Q29tcG9uZW50OiBBZGRQcm9kdWN0Q29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgYW1vdW50VG9QYXk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHBheW1lbnRNZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJEaWFsb2c6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UmVjZWlwdERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RGlzY291bnREaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclBheW1lbnREZXRhaWxzOiBQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWw7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCBfdHJhbnNhY3Rpb25TZXJ2aWNlLCBjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLnRyYW5zYWN0aW9uVXBkYXRlZC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmICh0cmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xyXG4gICAgICAgICAgdGhpcy5fZ2V0UGF5bWVudE1ldGhvZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZU5yOiBzdHJpbmcsIHF1YW50aXR5OiBudW1iZXIgPSAxKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuYWRkQXJ0aWNsZShhcnRpY2xlTnIsIHF1YW50aXR5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVLZXlQYWRNb2RlbENoYW5nZShtb2RlbDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmFtb3VudFRvUGF5ID0gbW9kZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUGF5bWVudCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZFNlbGVjdGVkKG1ldGhvZDogUGF5bWVudE1ldGhvZCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXltZW50TWV0aG9kSWR4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkRpc2NvdW50RGlhbG9nKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnNob3dEaXNjb3VudERpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRQYXltZW50TWV0aG9kcygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kcy5sZW5ndGggPSAwO1xyXG4gICAgICB0aGlzLl9wYXltZW50U2VydmljZS5nZXRQYXltZW50TWV0aG9kc1ZpZXdNb2RlbHModGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudEJyYW5jaCwgdGhpcy50cmFuc0tpbmQuQ2FzaERlc2spXHJcbiAgICAgICAgLnRoZW4oKG1ldGhvZHM6IFBheW1lbnRWaWV3bW9kZWxbXSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wYXltZW50TWV0aG9kcyA9IG1ldGhvZHMuc2xpY2UoKTtcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUZpbmlzaGVkUGF5bWVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLnByb2Nlc3NQb3NUcmFuc2FjdGlvbkJ5VXVpZCh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKS50aGVuKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5zaG93UmVjZWlwdERpYWxvZyA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVBheW1lbnREZXRhaWxzU2VsZWN0ZWQocGF5bWVudERldGFpbHNTZWxlY3RlZDogUGF5bWVudFRyYW5zYWN0aW9uVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDYXNoUmVnaXN0ZXJEaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMgPSBwYXltZW50RGV0YWlsc1NlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVJlY2VpcHRPcHRpb25TZWxlY3RlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1JlY2VpcHREaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5yZXNldEN1cnJlbnRUcmFuc2FjdGlvbigpO1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmNyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyKHRoaXMuX3BheW1lbnRTZXJ2aWNlLmN1cnJlbnRDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3QpO1xyXG4gICAgdGhpcy5hZGRQcm9kdWN0Q29tcG9uZW50LnNlYXJjaFRleHQgPSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDcmVhdGVkQ2FzaFJlZ2lzdGVyT3JkZXJSZXF1ZXN0KHJlcXVlc3Q6IENyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuY3VycmVudENhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCA9IHJlcXVlc3Q7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcihyZXF1ZXN0KTtcclxuICB9XHJcbn1cclxuIl19