@colijnit/transaction 255.1.38 → 255.1.40

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 (63) hide show
  1. package/bundles/colijnit-transaction.umd.js +414 -91
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction-255.1.39.tgz +0 -0
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/lib/component/core/base/transaction-payment-base.component.js +12 -4
  6. package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +18 -1
  7. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +53 -33
  8. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.js +21 -11
  9. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +12 -2
  10. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.js +53 -3
  11. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +79 -24
  12. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +2 -1
  13. package/esm2015/lib/component/transaction/transaction.component.js +4 -1
  14. package/esm2015/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.js +33 -4
  15. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +7 -4
  16. package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +2 -1
  17. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +2 -2
  18. package/esm2015/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.js +2 -2
  19. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.js +21 -8
  20. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +3 -2
  21. package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.js +22 -7
  22. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +2 -1
  23. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/transaction-purchase-reservation-order-tile.component.js +4 -14
  24. package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.component.js +3 -3
  25. package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.module.js +4 -3
  26. package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +5 -3
  27. package/esm2015/lib/enum/icon.enum.js +7 -1
  28. package/esm2015/lib/enum/transaction-cfg-name.enum.js +3 -1
  29. package/esm2015/lib/model/icon-svg.js +7 -1
  30. package/esm2015/lib/service/transaction-create.service.js +12 -1
  31. package/esm2015/lib/service/transaction-payment.service.js +9 -3
  32. package/esm2015/lib/service/transaction.service.js +11 -4
  33. package/esm2015/lib/transaction-version.js +3 -3
  34. package/fesm2015/colijnit-transaction.js +368 -117
  35. package/fesm2015/colijnit-transaction.js.map +1 -1
  36. package/lib/component/core/base/transaction-payment-base.component.d.ts +5 -2
  37. package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +4 -0
  38. package/lib/component/delivery-planning/style/_layout.scss +22 -1
  39. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +9 -6
  40. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.d.ts +3 -0
  41. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/style/_layout.scss +25 -10
  42. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +9 -0
  43. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_layout.scss +13 -0
  44. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.d.ts +14 -3
  45. package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +16 -0
  46. package/lib/component/delivery-planning-main/component/delivery-planning-overview/style/_layout.scss +9 -6
  47. package/lib/component/delivery-planning-main/style/_layout.scss +0 -1
  48. package/lib/component/transaction/transaction.component.d.ts +1 -0
  49. package/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.d.ts +19 -0
  50. package/lib/component/transaction-internal/style/_layout.scss +6 -0
  51. package/lib/component/transaction-internal/transaction-internal.component.d.ts +1 -0
  52. package/lib/component/transaction-line-side-panel-planning/style/_layout.scss +20 -17
  53. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/style/_layout.scss +16 -4
  54. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.d.ts +5 -1
  55. package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.d.ts +2 -1
  56. package/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/style/_layout.scss +26 -20
  57. package/lib/component/transaction-service-overview/transaction-service-overview.component.d.ts +2 -0
  58. package/lib/enum/icon.enum.d.ts +6 -0
  59. package/lib/enum/transaction-cfg-name.enum.d.ts +2 -1
  60. package/lib/service/transaction-create.service.d.ts +2 -0
  61. package/lib/service/transaction-payment.service.d.ts +3 -1
  62. package/lib/service/transaction.service.d.ts +2 -1
  63. package/package.json +1 -1
@@ -83,11 +83,18 @@ export class TransactionPaymentBaseComponent {
83
83
  }
84
84
  set cashRegisterDrawerId(value) {
85
85
  this._cashRegisterDrawerId = value;
86
- this.paymentService.cashRegisterDrawerNr = this._cashRegisterDrawerId;
86
+ this.paymentService.cashRegisterDrawerId = this._cashRegisterDrawerId;
87
87
  }
88
88
  get cashRegisterDrawerId() {
89
89
  return this._cashRegisterDrawerId;
90
90
  }
91
+ set cashRegisterDrawerNr(value) {
92
+ this._cashRegisterDrawerNr = value;
93
+ this.paymentService.cashRegisterDrawerNr = this._cashRegisterDrawerNr;
94
+ }
95
+ get cashRegisterDrawerNr() {
96
+ return this._cashRegisterDrawerNr;
97
+ }
91
98
  set printerName(value) {
92
99
  this._printerName = value;
93
100
  this.paymentService.printerName = this._printerName;
@@ -154,7 +161,7 @@ export class TransactionPaymentBaseComponent {
154
161
  this.cashRegisterIdx = index;
155
162
  this.cashRegisterNr = cashRegister.nr;
156
163
  this.cashRegisterGroupId = cashRegister.group;
157
- this.cashRegisterDrawerId = cashRegister.defaultDrawerNumber;
164
+ this.cashRegisterDrawerNr = cashRegister.defaultDrawerNumber;
158
165
  this.paymentService.printerName = cashRegister.defaultPrinter;
159
166
  }
160
167
  handlePayment() {
@@ -194,7 +201,7 @@ export class TransactionPaymentBaseComponent {
194
201
  if (currentCashRegister) {
195
202
  this.cashRegisterNr = currentCashRegister.nr;
196
203
  this.cashRegisterGroupId = currentCashRegister.group;
197
- this.cashRegisterDrawerId = currentCashRegister.defaultDrawerNumber;
204
+ this.cashRegisterDrawerNr = currentCashRegister.defaultDrawerNumber;
198
205
  this.prepareCashDrawers(currentCashRegister.group);
199
206
  this.paymentService.printerName = currentCashRegister.defaultPrinter;
200
207
  }
@@ -233,6 +240,7 @@ TransactionPaymentBaseComponent.propDecorators = {
233
240
  cashRegisterNr: [{ type: Input }],
234
241
  cashRegisterGroupId: [{ type: Input }],
235
242
  cashRegisterDrawerId: [{ type: Input }],
243
+ cashRegisterDrawerNr: [{ type: Input }],
236
244
  printerName: [{ type: Input }],
237
245
  emailLayout: [{ type: Input }],
238
246
  printerLayout: [{ type: Input }],
@@ -242,4 +250,4 @@ TransactionPaymentBaseComponent.propDecorators = {
242
250
  doNotFetchAmountToPayForRemaining: [{ type: Input }],
243
251
  payed: [{ type: Output }]
244
252
  };
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGF5bWVudC1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1wYXltZW50LWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDMUcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFLdkYsTUFBTSxPQUFnQiwrQkFBK0I7SUFtTG5ELFlBQ1ksa0JBQXNDLEVBQ3RDLHVCQUEyRCxFQUMzRCx1QkFBZ0QsRUFDaEQsY0FBaUMsRUFDcEMsY0FBeUMsRUFDekMsZ0JBQWtDO1FBTC9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFvQztRQUMzRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBMkI7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXhMM0IsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFpSG5DLGVB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RyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUEyQixFQUFFLEVBQUU7Z0JBQ3pHLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMvRztnQkFDRCxPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUExUkYsU0FBUzs7O1lBUkYsa0JBQWtCO1lBQ2xCLGtDQUFrQztZQUNsQyx1QkFBdUI7WUFoQjdCLGlCQUFpQjtZQWtCWCx5QkFBeUI7WUFEekIsZ0JBQWdCOzs7c0JBU3JCLEtBQUs7OEJBVUwsS0FBSztxQkFVTCxLQUFLO3FCQVVMLEtBQUs7eUJBVUwsS0FBSzs2QkFVTCxLQUFLO2tDQVVMLEtBQUs7bUNBVUwsS0FBSzswQkFVTCxLQUFLOzBCQVVMLEtBQUs7NEJBVUwsS0FBSzt5QkFVTCxLQUFLOytCQUdMLEtBQUs7bUNBWUwsS0FBSztnREFVTCxLQUFLO29CQVVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsIEhvc3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2tpcFNlbGZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDYXNoUmVnaXN0ZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jYXNoLXJlZ2lzdGVyJztcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1tZXRob2QuYm8nO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1BheW1lbnRWaWV3bW9kZWx9IGZyb20gJy4uLy4uLy4uL21vZGVsL3BheW1lbnQudmlld21vZGVsJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1wYXltZW50LWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QYXltZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1wYXltZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25QYXltZW50QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRyYW5zSWQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fdHJhbnNJZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS50cmFuc0lkID0gdGhpcy5fdHJhbnNJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdHJhbnNJZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zSWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25VdWlkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uVXVpZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS50cmFuc2FjdGlvblV1aWQgPSB0aGlzLl90cmFuc2FjdGlvblV1aWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uVXVpZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uVXVpZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBicmFuY2godmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fYnJhbmNoID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmJyYW5jaCA9IHRoaXMuX2JyYW5jaDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYnJhbmNoKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fYnJhbmNoO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFtb3VudCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9hbW91bnQgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuYW1vdW50ID0gdGhpcy5fYW1vdW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBhbW91bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9hbW91bnQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY3VycmVuY3lJZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9jdXJyZW5jeUlkID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmN1cnJlbmN5SWQgPSB0aGlzLl9jdXJyZW5jeUlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjdXJyZW5jeUlkKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVuY3lJZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBjYXNoUmVnaXN0ZXJOcih2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9jYXNoUmVnaXN0ZXJOciA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS5jYXNoUmVnaXN0ZXJOciA9IHRoaXMuX2Nhc2hSZWdpc3Rlck5yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjYXNoUmVnaXN0ZXJOcigpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Nhc2hSZWdpc3Rlck5yO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGNhc2hSZWdpc3Rlckdyb3VwSWQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fY2FzaFJlZ2lzdGVyR3JvdXBJZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS5jYXNoUmVnaXN0ZXJHcm91cElkID0gdGhpcy5fY2FzaFJlZ2lzdGVyR3JvdXBJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FzaFJlZ2lzdGVyR3JvdXBJZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Nhc2hSZWdpc3Rlckdyb3VwSWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY2FzaFJlZ2lzdGVyRHJhd2VySWQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY2FzaFJlZ2lzdGVyRHJhd2VySWQgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2FzaFJlZ2lzdGVyRHJhd2VyTnIgPSB0aGlzLl9jYXNoUmVnaXN0ZXJEcmF3ZXJJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FzaFJlZ2lzdGVyRHJhd2VySWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9jYXNoUmVnaXN0ZXJEcmF3ZXJJZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBwcmludGVyTmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9wcmludGVyTmFtZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS5wcmludGVyTmFtZSA9IHRoaXMuX3ByaW50ZXJOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwcmludGVyTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ByaW50ZXJOYW1lO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGVtYWlsTGF5b3V0KHZhbHVlOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbCkge1xyXG4gICAgdGhpcy5fZW1haWxMYXlvdXQgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZW1haWxMYXlvdXQgPSB0aGlzLl9lbWFpbExheW91dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZW1haWxMYXlvdXQoKTogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VtYWlsTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHByaW50ZXJMYXlvdXQodmFsdWU6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50KSB7XHJcbiAgICB0aGlzLl9wcmludGVyTGF5b3V0ID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnByaW50ZXJMYXlvdXQgPSB0aGlzLl9wcmludGVyTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwcmludGVyTGF5b3V0KCk6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50IHtcclxuICAgIHJldHVybiB0aGlzLl9wcmludGVyTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0tleVBhZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCByZW1haW5pbmdQYXltZW50KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9yZW1haW5pbmdQYXltZW50ID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldERlcG9zaXRBbW91bnQgPSAhdGhpcy5fcmVtYWluaW5nUGF5bWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcmVtYWluaW5nUGF5bWVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZW1haW5pbmdQYXltZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVtYWluaW5nUGF5bWVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY3VycmVudFBheW1lbnRNZXRob2QodmFsdWU6IFBheW1lbnRNZXRob2QpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRQYXltZW50TWV0aG9kID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmN1cnJlbnRQYXltZW50TWV0aG9kID0gdGhpcy5fY3VycmVudFBheW1lbnRNZXRob2Q7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRQYXltZW50TWV0aG9kKCk6IFBheW1lbnRNZXRob2Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQYXltZW50TWV0aG9kO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZyA9IHRoaXMuX2RvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZztcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwYXllZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVySWR4OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdID0gW107XHJcbiAgcHVibGljIGNhc2hSZWdpc3RlcnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHVzZUNhc2hSZWdpc3RlcnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8vIHB1YmxpYyBzaG93UHNwUXJDb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gcHVibGljIHFyQ29kZUltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8vIHB1YmxpYyBhbW91bnRUb1BheTogbnVtYmVyID0gMDtcclxuICAvLyBwdWJsaWMgc3RhdHVzTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHJvdGVjdGVkIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3RyYW5zSWQ6IG51bWJlcjtcclxuICBwcml2YXRlIF90cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcclxuICBwcml2YXRlIF9icmFuY2g6IHN0cmluZztcclxuICBwcml2YXRlIF9hbW91bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfY3VycmVuY3lJZDogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2Nhc2hSZWdpc3Rlck5yOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfY2FzaFJlZ2lzdGVyR3JvdXBJZDogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2Nhc2hSZWdpc3RlckRyYXdlcklkOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfY3VycmVudFBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgcHJpdmF0ZSBfZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3ByaW50ZXJOYW1lOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcHJpbnRlckxheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQ7XHJcbiAgcHJpdmF0ZSBfZW1haWxMYXlvdXQ6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBwYXltZW50Q29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHBheW1lbnRTZXJ2aWNlOiBUcmFuc2FjdGlvblBheW1lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICApe1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBpZiAodGhpcy51cGRhdGVEZXBvc2l0QW1vdW50KSB7XHJcbiAgICAvLyAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS51cGRhdGVIZWFkZXJUcmFuc2FjdGlvbkRlcG9zaXRBbW91bnQodGhpcy50cmFuc2FjdGlvblV1aWQsIHRoaXMuYW1vdW50VG9QYXksIHRydWUpO1xyXG4gICAgLy8gfVxyXG4gICAgdGhpcy5zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UucGF5ZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMucGF5ZWQuZW1pdCgpKVxyXG4gICAgKVxyXG4gICAgYXdhaXQgdGhpcy5fZ2V0UGF5bWVudE1ldGhvZHMoKTtcclxuICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgYXdhaXQgdGhpcy5wYXltZW50U2VydmljZS5wcmVwYXJlUGF5bWVudEluZm8oKTtcclxuICAgIHRoaXMuX3ByZXBhcmVDYXNoUmVnaXN0ZXJzKCk7XHJcbiAgICB0aGlzLnBheW1lbnRJbmZvUmVhZHkoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBheW1lbnRNZXRob2RTZWxlY3RlZChtZXRob2Q6IFBheW1lbnRNZXRob2QsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucGF5bWVudE1ldGhvZElkeCA9IGluZGV4O1xyXG4gICAgdGhpcy5fcHJlcGFyZUNhc2hSZWdpc3RlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYXNoUmVnaXN0ZXJTZWxlY3RlZChjYXNoUmVnaXN0ZXI6IENhc2hSZWdpc3RlciwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5jYXNoUmVnaXN0ZXJJZHggPSBpbmRleDtcclxuICAgIHRoaXMuY2FzaFJlZ2lzdGVyTnIgPSBjYXNoUmVnaXN0ZXIubnI7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3Rlckdyb3VwSWQgPSBjYXNoUmVnaXN0ZXIuZ3JvdXA7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3RlckRyYXdlcklkID0gY2FzaFJlZ2lzdGVyLmRlZmF1bHREcmF3ZXJOdW1iZXI7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnByaW50ZXJOYW1lID0gY2FzaFJlZ2lzdGVyLmRlZmF1bHRQcmludGVyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVBheW1lbnQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5oYW5kbGVQYXltZW50KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5UGFkTW9kZWxDaGFuZ2UobW9kZWw6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS5hbW91bnRUb1BheSA9IG1vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBheW1lbnRJbmZvUmVhZHkoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHByZXBhcmVDYXNoRHJhd2Vycyhncm91cDogbnVtYmVyKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3ByZXBhcmVDYXNoUmVnaXN0ZXJzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnVzZUNhc2hSZWdpc3RlcnMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZCA9IHRoaXMucGF5bWVudE1ldGhvZHNbdGhpcy5wYXltZW50TWV0aG9kSWR4XS5wYXltZW50O1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QgJiYgKCF0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmV4dGVybmFsU291cmNlSWQgfHwgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5waW5UZXJtaW5hbCkpIHtcclxuICAgICAgdGhpcy5jYXNoUmVnaXN0ZXJzLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QucG9zR3JvdXBzLmZvckVhY2goY3JnID0+IHtcclxuICAgICAgICB0aGlzLl9nZXRDYXNoUmVnaXN0ZXJzKHRoaXMuYnJhbmNoLCBjcmcuaWQpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zaG93Q2FzaFJlZ2lzdGVycyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dDYXNoUmVnaXN0ZXJzID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRDYXNoUmVnaXN0ZXJzKGJyYW5jaD86IHN0cmluZywgZ3JvdXA/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldENhc2hSZWdpc3RlcnMoYnJhbmNoLCBncm91cCkudGhlbigoY2FzaFJlZ2lzdGVyczogQ2FzaFJlZ2lzdGVyW10pID0+IHtcclxuICAgICAgdGhpcy5jYXNoUmVnaXN0ZXJzLnB1c2goLi4uY2FzaFJlZ2lzdGVycyk7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRDYXNoUmVnaXN0ZXI6IENhc2hSZWdpc3RlciA9IHRoaXMuY2FzaFJlZ2lzdGVyc1t0aGlzLmNhc2hSZWdpc3RlcklkeF07XHJcbiAgICAgIGlmIChjdXJyZW50Q2FzaFJlZ2lzdGVyKSB7XHJcbiAgICAgICAgdGhpcy5jYXNoUmVnaXN0ZXJOciA9IGN1cnJlbnRDYXNoUmVnaXN0ZXIubnI7XHJcbiAgICAgICAgdGhpcy5jYXNoUmVnaXN0ZXJHcm91cElkID0gY3VycmVudENhc2hSZWdpc3Rlci5ncm91cDtcclxuICAgICAgICB0aGlzLmNhc2hSZWdpc3RlckRyYXdlcklkID0gY3VycmVudENhc2hSZWdpc3Rlci5kZWZhdWx0RHJhd2VyTnVtYmVyO1xyXG4gICAgICAgIHRoaXMucHJlcGFyZUNhc2hEcmF3ZXJzKGN1cnJlbnRDYXNoUmVnaXN0ZXIuZ3JvdXApO1xyXG4gICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UucHJpbnRlck5hbWUgPSBjdXJyZW50Q2FzaFJlZ2lzdGVyLmRlZmF1bHRQcmludGVyO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFBheW1lbnRNZXRob2RzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMucGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UGF5bWVudE1ldGhvZHNWaWV3TW9kZWxzKHRoaXMuYnJhbmNoKS50aGVuKChtZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10pID0+IHtcclxuICAgICAgICB0aGlzLnBheW1lbnRNZXRob2RzID0gbWV0aG9kcy5zbGljZSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kKSB7XHJcbiAgICAgICAgICB0aGlzLnBheW1lbnRNZXRob2RJZHggPSB0aGlzLnBheW1lbnRNZXRob2RzLmZpbmRJbmRleChwID0+IHAucGF5bWVudC5jb2RlID09PSB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGF5bWVudC1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1wYXltZW50LWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDMUcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFLdkYsTUFBTSxPQUFnQiwrQkFBK0I7SUE4TG5ELFlBQ1ksa0JBQXNDLEVBQ3RDLHVCQUEyRCxFQUMzRCx1QkFBZ0QsRUFDaEQsY0FBaUMsRUFDcEMsY0FBeUMsRUFDekMsZ0JBQWtDO1FBTC9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFvQztRQUMzRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBMkI7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQW5NM0IsVUFBSyxHQUFnQixJQUFJLENBQUM7UUEySG5DLGVB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLCBIb3N0LFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNraXBTZWxmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q2FzaFJlZ2lzdGVyfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2FzaC1yZWdpc3Rlcic7XHJcbmltcG9ydCB7UGF5bWVudE1ldGhvZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbWV0aG9kLmJvJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtQYXltZW50Vmlld21vZGVsfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9wYXltZW50LnZpZXdtb2RlbCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUGF5bWVudENvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tcGF5bWVudC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUGF5bWVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tcGF5bWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uUGF5bWVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB0cmFuc0lkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3RyYW5zSWQgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UudHJhbnNJZCA9IHRoaXMuX3RyYW5zSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zSWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl90cmFuc0lkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uVXVpZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblV1aWQgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UudHJhbnNhY3Rpb25VdWlkID0gdGhpcy5fdHJhbnNhY3Rpb25VdWlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0cmFuc2FjdGlvblV1aWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvblV1aWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYnJhbmNoKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2JyYW5jaCA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS5icmFuY2ggPSB0aGlzLl9icmFuY2g7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGJyYW5jaCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2JyYW5jaDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhbW91bnQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fYW1vdW50ID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmFtb3VudCA9IHRoaXMuX2Ftb3VudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYW1vdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fYW1vdW50O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGN1cnJlbmN5SWQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fY3VycmVuY3lJZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS5jdXJyZW5jeUlkID0gdGhpcy5fY3VycmVuY3lJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY3VycmVuY3lJZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbmN5SWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY2FzaFJlZ2lzdGVyTnIodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fY2FzaFJlZ2lzdGVyTnIgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2FzaFJlZ2lzdGVyTnIgPSB0aGlzLl9jYXNoUmVnaXN0ZXJOcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FzaFJlZ2lzdGVyTnIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYXNoUmVnaXN0ZXJOcjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBjYXNoUmVnaXN0ZXJHcm91cElkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2Nhc2hSZWdpc3Rlckdyb3VwSWQgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2FzaFJlZ2lzdGVyR3JvdXBJZCA9IHRoaXMuX2Nhc2hSZWdpc3Rlckdyb3VwSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhc2hSZWdpc3Rlckdyb3VwSWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYXNoUmVnaXN0ZXJHcm91cElkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGNhc2hSZWdpc3RlckRyYXdlcklkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlcklkID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNhc2hSZWdpc3RlckRyYXdlcklkID0gdGhpcy5fY2FzaFJlZ2lzdGVyRHJhd2VySWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhc2hSZWdpc3RlckRyYXdlcklkKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FzaFJlZ2lzdGVyRHJhd2VySWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY2FzaFJlZ2lzdGVyRHJhd2VyTnIodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY2FzaFJlZ2lzdGVyRHJhd2VyTnIgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2FzaFJlZ2lzdGVyRHJhd2VyTnIgPSB0aGlzLl9jYXNoUmVnaXN0ZXJEcmF3ZXJOcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FzaFJlZ2lzdGVyRHJhd2VyTnIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9jYXNoUmVnaXN0ZXJEcmF3ZXJOcjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBwcmludGVyTmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9wcmludGVyTmFtZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS5wcmludGVyTmFtZSA9IHRoaXMuX3ByaW50ZXJOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwcmludGVyTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ByaW50ZXJOYW1lO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGVtYWlsTGF5b3V0KHZhbHVlOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbCkge1xyXG4gICAgdGhpcy5fZW1haWxMYXlvdXQgPSB2YWx1ZTtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZW1haWxMYXlvdXQgPSB0aGlzLl9lbWFpbExheW91dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZW1haWxMYXlvdXQoKTogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VtYWlsTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHByaW50ZXJMYXlvdXQodmFsdWU6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50KSB7XHJcbiAgICB0aGlzLl9wcmludGVyTGF5b3V0ID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnByaW50ZXJMYXlvdXQgPSB0aGlzLl9wcmludGVyTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwcmludGVyTGF5b3V0KCk6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50IHtcclxuICAgIHJldHVybiB0aGlzLl9wcmludGVyTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0tleVBhZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCByZW1haW5pbmdQYXltZW50KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9yZW1haW5pbmdQYXltZW50ID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldERlcG9zaXRBbW91bnQgPSAhdGhpcy5fcmVtYWluaW5nUGF5bWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcmVtYWluaW5nUGF5bWVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZW1haW5pbmdQYXltZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVtYWluaW5nUGF5bWVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY3VycmVudFBheW1lbnRNZXRob2QodmFsdWU6IFBheW1lbnRNZXRob2QpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRQYXltZW50TWV0aG9kID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmN1cnJlbnRQYXltZW50TWV0aG9kID0gdGhpcy5fY3VycmVudFBheW1lbnRNZXRob2Q7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRQYXltZW50TWV0aG9kKCk6IFBheW1lbnRNZXRob2Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQYXltZW50TWV0aG9kO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nID0gdmFsdWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZyA9IHRoaXMuX2RvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZztcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwYXllZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVySWR4OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdID0gW107XHJcbiAgcHVibGljIGNhc2hSZWdpc3RlcnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHVzZUNhc2hSZWdpc3RlcnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8vIHB1YmxpYyBzaG93UHNwUXJDb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gcHVibGljIHFyQ29kZUltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8vIHB1YmxpYyBhbW91bnRUb1BheTogbnVtYmVyID0gMDtcclxuICAvLyBwdWJsaWMgc3RhdHVzTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHJvdGVjdGVkIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3RyYW5zSWQ6IG51bWJlcjtcclxuICBwcml2YXRlIF90cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcclxuICBwcml2YXRlIF9icmFuY2g6IHN0cmluZztcclxuICBwcml2YXRlIF9hbW91bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfY3VycmVuY3lJZDogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2Nhc2hSZWdpc3Rlck5yOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfY2FzaFJlZ2lzdGVyR3JvdXBJZDogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2Nhc2hSZWdpc3RlckRyYXdlcklkOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfY2FzaFJlZ2lzdGVyRHJhd2VyTnI6IHN0cmluZztcclxuICBwcml2YXRlIF9jdXJyZW50UGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZDtcclxuICBwcml2YXRlIF9kb05vdEZldGNoQW1vdW50VG9QYXlGb3JSZW1haW5pbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfcHJpbnRlck5hbWU6IHN0cmluZztcclxuICBwcml2YXRlIF9wcmludGVyTGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludDtcclxuICBwcml2YXRlIF9lbWFpbExheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHBheW1lbnRDb25uZWN0b3JTZXJ2aWNlOiBUcmFuc2FjdGlvblBheW1lbnRDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgcGF5bWVudFNlcnZpY2U6IFRyYW5zYWN0aW9uUGF5bWVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICl7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIGlmICh0aGlzLnVwZGF0ZURlcG9zaXRBbW91bnQpIHtcclxuICAgIC8vICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLnVwZGF0ZUhlYWRlclRyYW5zYWN0aW9uRGVwb3NpdEFtb3VudCh0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdHJ1ZSk7XHJcbiAgICAvLyB9XHJcbiAgICB0aGlzLnN1YnMucHVzaChcclxuICAgICAgdGhpcy5wYXltZW50U2VydmljZS5wYXllZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wYXllZC5lbWl0KCkpXHJcbiAgICApXHJcbiAgICBhd2FpdCB0aGlzLl9nZXRQYXltZW50TWV0aG9kcygpO1xyXG4gICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICBhd2FpdCB0aGlzLnBheW1lbnRTZXJ2aWNlLnByZXBhcmVQYXltZW50SW5mbygpO1xyXG4gICAgdGhpcy5fcHJlcGFyZUNhc2hSZWdpc3RlcnMoKTtcclxuICAgIHRoaXMucGF5bWVudEluZm9SZWFkeSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZFNlbGVjdGVkKG1ldGhvZDogUGF5bWVudE1ldGhvZCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXltZW50TWV0aG9kSWR4ID0gaW5kZXg7XHJcbiAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclNlbGVjdGVkKGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3RlcklkeCA9IGluZGV4O1xyXG4gICAgdGhpcy5jYXNoUmVnaXN0ZXJOciA9IGNhc2hSZWdpc3Rlci5ucjtcclxuICAgIHRoaXMuY2FzaFJlZ2lzdGVyR3JvdXBJZCA9IGNhc2hSZWdpc3Rlci5ncm91cDtcclxuICAgIHRoaXMuY2FzaFJlZ2lzdGVyRHJhd2VyTnIgPSBjYXNoUmVnaXN0ZXIuZGVmYXVsdERyYXdlck51bWJlcjtcclxuICAgIHRoaXMucGF5bWVudFNlcnZpY2UucHJpbnRlck5hbWUgPSBjYXNoUmVnaXN0ZXIuZGVmYXVsdFByaW50ZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUGF5bWVudCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZVBheW1lbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVLZXlQYWRNb2RlbENoYW5nZShtb2RlbDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmFtb3VudFRvUGF5ID0gbW9kZWw7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcGF5bWVudEluZm9SZWFkeSgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcHJlcGFyZUNhc2hEcmF3ZXJzKGdyb3VwOiBudW1iZXIpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNhc2hSZWdpc3RlcnMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudXNlQ2FzaFJlZ2lzdGVycykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kID0gdGhpcy5wYXltZW50TWV0aG9kc1t0aGlzLnBheW1lbnRNZXRob2RJZHhdLnBheW1lbnQ7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZCAmJiAoIXRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuZXh0ZXJuYWxTb3VyY2VJZCB8fCB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLnBpblRlcm1pbmFsKSkge1xyXG4gICAgICB0aGlzLmNhc2hSZWdpc3RlcnMubGVuZ3RoID0gMDtcclxuICAgICAgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5wb3NHcm91cHMuZm9yRWFjaChjcmcgPT4ge1xyXG4gICAgICAgIHRoaXMuX2dldENhc2hSZWdpc3RlcnModGhpcy5icmFuY2gsIGNyZy5pZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNob3dDYXNoUmVnaXN0ZXJzID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0Nhc2hSZWdpc3RlcnMgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldENhc2hSZWdpc3RlcnMoYnJhbmNoPzogc3RyaW5nLCBncm91cD86IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q2FzaFJlZ2lzdGVycyhicmFuY2gsIGdyb3VwKS50aGVuKChjYXNoUmVnaXN0ZXJzOiBDYXNoUmVnaXN0ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNhc2hSZWdpc3RlcnMucHVzaCguLi5jYXNoUmVnaXN0ZXJzKTtcclxuICAgICAgY29uc3QgY3VycmVudENhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyID0gdGhpcy5jYXNoUmVnaXN0ZXJzW3RoaXMuY2FzaFJlZ2lzdGVySWR4XTtcclxuICAgICAgaWYgKGN1cnJlbnRDYXNoUmVnaXN0ZXIpIHtcclxuICAgICAgICB0aGlzLmNhc2hSZWdpc3Rlck5yID0gY3VycmVudENhc2hSZWdpc3Rlci5ucjtcclxuICAgICAgICB0aGlzLmNhc2hSZWdpc3Rlckdyb3VwSWQgPSBjdXJyZW50Q2FzaFJlZ2lzdGVyLmdyb3VwO1xyXG4gICAgICAgIHRoaXMuY2FzaFJlZ2lzdGVyRHJhd2VyTnIgPSBjdXJyZW50Q2FzaFJlZ2lzdGVyLmRlZmF1bHREcmF3ZXJOdW1iZXI7XHJcbiAgICAgICAgdGhpcy5wcmVwYXJlQ2FzaERyYXdlcnMoY3VycmVudENhc2hSZWdpc3Rlci5ncm91cCk7XHJcbiAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5wcmludGVyTmFtZSA9IGN1cnJlbnRDYXNoUmVnaXN0ZXIuZGVmYXVsdFByaW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UGF5bWVudE1ldGhvZHMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMubGVuZ3RoID0gMDtcclxuICAgICAgdGhpcy5wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRQYXltZW50TWV0aG9kc1ZpZXdNb2RlbHModGhpcy5icmFuY2gpLnRoZW4oKG1ldGhvZHM6IFBheW1lbnRWaWV3bW9kZWxbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMgPSBtZXRob2RzLnNsaWNlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QpIHtcclxuICAgICAgICAgIHRoaXMucGF5bWVudE1ldGhvZElkeCA9IHRoaXMucGF5bWVudE1ldGhvZHMuZmluZEluZGV4KHAgPT4gcC5wYXltZW50LmNvZGUgPT09IHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuY29kZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -10,6 +10,7 @@ import { DeliveryPlanningModes } from "../../../enum/delivery-planning-modes.enu
10
10
  import { OrderLinesPlannedRequest } from "@colijnit/transactionapi/build/model/order-lines-planned-request.bo";
11
11
  import { PlanningFilterObject } from "@colijnit/transactionapi/build/model/planning-filter-object.bo";
12
12
  import { DeliveryPlanningTileModes } from "../../../enum/delivery-planning-tile-modes.enum";
13
+ import { Subject } from "rxjs";
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "../../../service/transaction-connector.service";
15
16
  export class DeliveryPlanningService {
@@ -29,6 +30,7 @@ export class DeliveryPlanningService {
29
30
  this.viewMode = DeliveryPlanningViewModes.Fullscreen;
30
31
  this.currentPlanningMode = DeliveryPlanningModes.Transaction;
31
32
  this.currentStartDate = new Date();
33
+ this.availabilityCheckEvent = new Subject();
32
34
  }
33
35
  get dragging() {
34
36
  return this._dragging;
@@ -55,6 +57,9 @@ export class DeliveryPlanningService {
55
57
  return this._tilesQueryList;
56
58
  }
57
59
  set dragging(value) {
60
+ if (!this._dragging && value) {
61
+ this.availabilityCheckEvent.next(this.currentTransId);
62
+ }
58
63
  this._dragging = value;
59
64
  }
60
65
  set planTransportWeek(value) {
@@ -136,6 +141,18 @@ export class DeliveryPlanningService {
136
141
  return weekArrays;
137
142
  });
138
143
  }
144
+ totalAssemblyTime(planOrder) {
145
+ var _a;
146
+ if (planOrder) {
147
+ let total = 0;
148
+ (_a = planOrder === null || planOrder === void 0 ? void 0 : planOrder.lines) === null || _a === void 0 ? void 0 : _a.forEach((line) => {
149
+ if (line.minutes > 0) {
150
+ total += line.minutes;
151
+ }
152
+ });
153
+ return total;
154
+ }
155
+ }
139
156
  }
140
157
  DeliveryPlanningService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DeliveryPlanningService_Factory() { return new DeliveryPlanningService(i0.ɵɵinject(i1.TransactionConnectorService)); }, token: DeliveryPlanningService, providedIn: "root" });
141
158
  DeliveryPlanningService.decorators = [
@@ -146,4 +163,4 @@ DeliveryPlanningService.decorators = [
146
163
  DeliveryPlanningService.ctorParameters = () => [
147
164
  { type: TransactionConnectorService }
148
165
  ];
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVwRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUUvRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQVNwRyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQzs7O0FBSzFGLE1BQU0sT0FBTyx1QkFBdUI7SUEyRmxDLFlBQ1UsWUFBeUM7UUFBekMsaUJBQVksR0FBWixZQUFZLENBQTZCO1FBM0YzQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHVCQUFrQixHQUE0QixFQUFFLENBQUM7UUFDakQscUJBQWdCLEdBQXFCLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQWUsRUFBRSxDQUFDO1FB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QUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7Z0JBQzNELE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVZLHdCQUF3Qjs7WUFDbkMsSUFBSSxVQUFVLEdBQVUsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO2dCQUN0SSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNyQixNQUFNLENBQUMsT0FBTyxDQUFFLENBQUMsSUFBMkIsRUFBRSxFQUFFO3dCQUM5QyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEUsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7S0FBQTs7OztZQW5LRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXpCTywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlc30gZnJvbSBcIi4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdmlldy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtTZXF1ZW5jZU5hbWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zZXF1ZW5jZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7R2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtdHJhbnNwb3J0LW9yZGVycy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLmJvXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZXMtcGxhbm5lZC1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctZmlsdGVyLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0Rpc3RyaWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Rpc3RyaWN0LmJvXCI7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2tpbGwuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtVc2VyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdXNlci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge1xyXG4gIERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnRcclxufSBmcm9tIFwiLi4vLi4vZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy10aWxlLW1vZGVzLmVudW1cIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcGxhblRyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gW107XHJcbiAgcHJpdmF0ZSBfZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZGlzdHJpY3RzOiBEaXN0cmljdFtdID0gW107XHJcbiAgcHJpdmF0ZSBfc2tpbGxzOiBTa2lsbFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZW1wbG95ZWVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VzZXJHcm91cHM6IFVzZXJHcm91cFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3RpbGVzUXVlcnlMaXN0OiBRdWVyeUxpc3Q8RGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUNvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0KCk7XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGN1cnJlbnRDYWxlbmRhck1vZGU6IERlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzID0gRGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXMuV2VlaztcclxuICBwdWJsaWMgY3VycmVudFRpbGVNb2RlOiBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzID0gRGVsaXZlcnlQbGFubmluZ1RpbGVNb2Rlcy5Ob3JtYWw7XHJcbiAgcHVibGljIGRhdGVQbGFubmluZ01vZGU6IENhbGVuZGFyVmlldyA9IENhbGVuZGFyVmlldy5XZWVrVmlldztcclxuICBwdWJsaWMgdmlld01vZGU6IERlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVmlld01vZGVzLkZ1bGxzY3JlZW47XHJcbiAgcHVibGljIGN1cnJlbnRQbGFubmluZ01vZGU6IERlbGl2ZXJ5UGxhbm5pbmdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdNb2Rlcy5UcmFuc2FjdGlvbjtcclxuICBwdWJsaWMgY3VycmVudFBsYW5uaW5nOiBQbGFubmluZztcclxuICBwdWJsaWMgY3VycmVudFN0YXJ0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gIHB1YmxpYyBsaW5lc1BsYW5PcmRlcjogUGxhbk9yZGVyO1xyXG5cclxuXHJcbiAgcHVibGljIGdldCBkcmFnZ2luZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9kcmFnZ2luZztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcGxhblRyYW5zcG9ydFdlZWsoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGxhblRyYW5zcG9ydFdlZWs7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRlbGl2ZXJ5TWV0aG9kcygpOiBEZWxpdmVyeU1ldGhvZFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxpdmVyeU1ldGhvZHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc3RyaWN0cygpOiBEaXN0cmljdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXN0cmljdHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGVtcGxveWVlcygpOiBSZWxhdGlvbkxpc3RPYmplY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW1wbG95ZWVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBza2lsbHMoKTogU2tpbGxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2tpbGxzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB1c2VyR3JvdXBzKCk6IFVzZXJHcm91cFtdIHtcclxuICAgIHJldHVybiB0aGlzLl91c2VyR3JvdXBzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBxdWVyeUxpc3QoKTogUXVlcnlMaXN0PERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnQ+IHtcclxuICAgIHJldHVybiB0aGlzLl90aWxlc1F1ZXJ5TGlzdDtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBzZXQgZHJhZ2dpbmcodmFsdWUpIHtcclxuICAgIHRoaXMuX2RyYWdnaW5nID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHBsYW5UcmFuc3BvcnRXZWVrKCB2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGxhblRyYW5zcG9ydFdlZWsgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZGVsaXZlcnlNZXRob2RzKG1ldGhvZHM6IERlbGl2ZXJ5TWV0aG9kW10pIHtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5TWV0aG9kcyA9IG1ldGhvZHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGRpc3RyaWN0cyhkaXN0cmljdHM6ICBEaXN0cmljdFtdKSB7XHJcbiAgICB0aGlzLl9kaXN0cmljdHMgPSBkaXN0cmljdHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGVtcGxveWVlcyhlbXBsb3llZXM6IFJlbGF0aW9uTGlzdE9iamVjdFtdKSB7XHJcbiAgICB0aGlzLl9lbXBsb3llZXMgPSBlbXBsb3llZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHNraWxscyggc2tpbGxzOiBTa2lsbFtdKSB7XHJcbiAgICB0aGlzLl9za2lsbHMgPSBza2lsbHM7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHNldCB1c2VyR3JvdXBzKCBncm91cHM6IFVzZXJHcm91cFtdKSB7XHJcbiAgICB0aGlzLl91c2VyR3JvdXBzID0gZ3JvdXBzO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLFxyXG5cclxuICApIHt9XHJcblxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRPcmRlclNlcXVlbmNlVmFsdWUoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRTZXF1ZW5jZVZhbHVlKFNlcXVlbmNlTmFtZS5QbGFuTGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VHJhbnNwb3J0T3JkZXJzKHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KTogUHJvbWlzZTxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+IHtcclxuICAgIGxldCByZXF1ZXN0OiBHZXRUcmFuc3BvcnRPcmRlcnNSZXF1ZXN0ID0gbmV3IEdldFRyYW5zcG9ydE9yZGVyc1JlcXVlc3QoKVxyXG4gICAgcmVxdWVzdC50cmFuc3BvcnRJZCA9IHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS50cmFuc3BvcnQudHJhbnNwb3J0SWQ7XHJcbiAgICByZXF1ZXN0LmRhdGUgPSBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkuZGF0ZTtcclxuICAgIHJlcXVlc3QucGxhbm5pbmdJZCA9IHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQ7XHJcbiAgICBjb25zdCBvcmRlclJlc3BvbnNlID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24uZ2V0VHJhbnNwb3J0T3JkZXJzKHJlcXVlc3QpO1xyXG4gICAgaWYob3JkZXJSZXNwb25zZSkge1xyXG4gICAgICBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkucGxhbm5lZE9yZGVycyA9IG9yZGVyUmVzcG9uc2U7XHJcbiAgICAgIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS5vcmRlcnNMb2FkZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIG1ha2VPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3Qob3JkZXI6IFBsYW5PcmRlcik6IE9yZGVyTGluZXNQbGFubmVkUmVxdWVzdCB7XHJcbiAgICBpZih0aGlzLmN1cnJlbnRQbGFubmluZykge1xyXG4gICAgICBsZXQgcmVxdWVzdDogT3JkZXJMaW5lc1BsYW5uZWRSZXF1ZXN0ID0gbmV3IE9yZGVyTGluZXNQbGFubmVkUmVxdWVzdCgpO1xyXG4gICAgICBsZXQgZmlsdGVyT2JqOiBQbGFubmluZ0ZpbHRlck9iamVjdCA9IG5ldyBQbGFubmluZ0ZpbHRlck9iamVjdCgpO1xyXG4gICAgICByZXF1ZXN0LnBsYW5uZWQgPSB0cnVlO1xyXG4gICAgICByZXF1ZXN0LnBsYW5uaW5nSWQgPSB0aGlzLmN1cnJlbnRQbGFubmluZy5wbGFubmluZ0lkO1xyXG4gICAgICByZXF1ZXN0LnRyYW5zSWQgPSBvcmRlci50cmFuc0lkO1xyXG4gICAgICByZXF1ZXN0LnBsYW5uZWRMaW5lSWQgPSBvcmRlci5wbGFubmVkTGluZUlkO1xyXG4gICAgICBmaWx0ZXJPYmoub25seUN1cnJlbnRXZWVrID0gdHJ1ZTtcclxuICAgICAgZmlsdGVyT2JqLmJlZ2luQ3VycmVudFdlZWsgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBmaWx0ZXJPYmouY2hlY2tPcmRlckxpbmVzID0gMTtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJPYmplY3QgPSBmaWx0ZXJPYmo7XHJcbiAgICAgIHJldHVybiByZXF1ZXN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZEhvdXJzKGRhdGU6IERhdGUsIGhvdXJzOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGhvdXJzVG9BZGQgPSBob3VycyAqIDYwICogNjAgKiAxMDAwO1xyXG4gICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpICsgaG91cnNUb0FkZCk7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBxdWVyeUxpc3RUaWxlKHRyYW5zcG9ydElkOiBudW1iZXIpOiBEZWxpdmVyeVBsYW5uaW5nT3ZlcnZpZXdUaWxlQ29tcG9uZW50IHtcclxuICAgIGxldCBuZXdUaWxlOiBEZWxpdmVyeVBsYW5uaW5nT3ZlcnZpZXdUaWxlQ29tcG9uZW50O1xyXG4gICAgdGhpcy5fdGlsZXNRdWVyeUxpc3QuZm9yRWFjaCh0aWxlID0+IHtcclxuICAgICAgaWYodGlsZS50cmFuc3BvcnREYXkudHJhbnNwb3J0LnRyYW5zcG9ydElkID09PSB0cmFuc3BvcnRJZCkge1xyXG4gICAgICAgbmV3VGlsZSA9IHRpbGU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ld1RpbGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UGxhbm5pbmdUcmFuc3BvcnRXZWVrKCk6IFByb21pc2U8YW55W10+IHtcclxuICAgIGxldCB3ZWVrQXJyYXlzOiBhbnlbXSA9IFtdO1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uZ2V0UGxhblRyYW5zcG9ydFdlZWsodGhpcy5jdXJyZW50U3RhcnREYXRlLCB0aGlzLmN1cnJlbnRQbGFubmluZy5wbGFubmluZ0lkKS50aGVuKChyZXN1bHQ6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdKSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJlc3VsdC5mb3JFYWNoKCAodGVhbTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrKSA9PiB7XHJcbiAgICAgICAgICB3ZWVrQXJyYXlzLnB1c2goT2JqZWN0LmtleXModGVhbSkuc29ydCgpLm1hcChrZXkgPT4gdGVhbVtrZXldKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHdlZWtBcnJheXM7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVwRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUUvRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQVNwRyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUUxRixPQUFPLEVBQWtCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyx1QkFBdUI7SUFpR2xDLFlBQ1UsWUFBeUM7UUFBekMsaUJBQVksR0FBWixZQUFZLENBQTZCO1FBakczQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHVCQUFrQixHQUE0QixFQUFFLENBQUM7UUFDakQscUJBQWdCLEdB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QUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLElBQW1CLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRTtvQkFDcEIsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzs7OztZQXJMRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQTNCTywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlc30gZnJvbSBcIi4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdmlldy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtTZXF1ZW5jZU5hbWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zZXF1ZW5jZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7R2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtdHJhbnNwb3J0LW9yZGVycy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLmJvXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZXMtcGxhbm5lZC1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctZmlsdGVyLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0Rpc3RyaWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Rpc3RyaWN0LmJvXCI7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2tpbGwuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtVc2VyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdXNlci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge1xyXG4gIERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnRcclxufSBmcm9tIFwiLi4vLi4vZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy10aWxlLW1vZGVzLmVudW1cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcGxhblRyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gW107XHJcbiAgcHJpdmF0ZSBfZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZGlzdHJpY3RzOiBEaXN0cmljdFtdID0gW107XHJcbiAgcHJpdmF0ZSBfc2tpbGxzOiBTa2lsbFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZW1wbG95ZWVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VzZXJHcm91cHM6IFVzZXJHcm91cFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3RpbGVzUXVlcnlMaXN0OiBRdWVyeUxpc3Q8RGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUNvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0KCk7XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGN1cnJlbnRDYWxlbmRhck1vZGU6IERlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzID0gRGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXMuV2VlaztcclxuICBwdWJsaWMgY3VycmVudFRpbGVNb2RlOiBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzID0gRGVsaXZlcnlQbGFubmluZ1RpbGVNb2Rlcy5Ob3JtYWw7XHJcbiAgcHVibGljIGRhdGVQbGFubmluZ01vZGU6IENhbGVuZGFyVmlldyA9IENhbGVuZGFyVmlldy5XZWVrVmlldztcclxuICBwdWJsaWMgdmlld01vZGU6IERlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVmlld01vZGVzLkZ1bGxzY3JlZW47XHJcbiAgcHVibGljIGN1cnJlbnRQbGFubmluZ01vZGU6IERlbGl2ZXJ5UGxhbm5pbmdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdNb2Rlcy5UcmFuc2FjdGlvbjtcclxuICBwdWJsaWMgY3VycmVudFBsYW5uaW5nOiBQbGFubmluZztcclxuICBwdWJsaWMgY3VycmVudFN0YXJ0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgcHVibGljIGN1cnJlbnRUcmFuc0lkOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBsaW5lc1BsYW5PcmRlcjogUGxhbk9yZGVyO1xyXG5cclxuICBwdWJsaWMgYXZhaWxhYmlsaXR5Q2hlY2tFdmVudDpTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcblxyXG5cclxuICBwdWJsaWMgZ2V0IGRyYWdnaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RyYWdnaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwbGFuVHJhbnNwb3J0V2VlaygpIHtcclxuICAgIHJldHVybiB0aGlzLl9wbGFuVHJhbnNwb3J0V2VlaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGVsaXZlcnlNZXRob2RzKCk6IERlbGl2ZXJ5TWV0aG9kW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5TWV0aG9kcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGlzdHJpY3RzKCk6IERpc3RyaWN0W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3RyaWN0cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZW1wbG95ZWVzKCk6IFJlbGF0aW9uTGlzdE9iamVjdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9lbXBsb3llZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNraWxscygpOiBTa2lsbFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9za2lsbHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJHcm91cHMoKTogVXNlckdyb3VwW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJHcm91cHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHF1ZXJ5TGlzdCgpOiBRdWVyeUxpc3Q8RGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUNvbXBvbmVudD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RpbGVzUXVlcnlMaXN0O1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgcHVibGljIHNldCBkcmFnZ2luZyh2YWx1ZSkge1xyXG4gICAgaWYoIXRoaXMuX2RyYWdnaW5nICYmIHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Q2hlY2tFdmVudC5uZXh0KHRoaXMuY3VycmVudFRyYW5zSWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZHJhZ2dpbmcgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgcGxhblRyYW5zcG9ydFdlZWsoIHZhbHVlKSB7XHJcbiAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2VlayA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBkZWxpdmVyeU1ldGhvZHMobWV0aG9kczogRGVsaXZlcnlNZXRob2RbXSkge1xyXG4gICAgdGhpcy5fZGVsaXZlcnlNZXRob2RzID0gbWV0aG9kcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZGlzdHJpY3RzKGRpc3RyaWN0czogIERpc3RyaWN0W10pIHtcclxuICAgIHRoaXMuX2Rpc3RyaWN0cyA9IGRpc3RyaWN0cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZW1wbG95ZWVzKGVtcGxveWVlczogUmVsYXRpb25MaXN0T2JqZWN0W10pIHtcclxuICAgIHRoaXMuX2VtcGxveWVlcyA9IGVtcGxveWVlcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgc2tpbGxzKCBza2lsbHM6IFNraWxsW10pIHtcclxuICAgIHRoaXMuX3NraWxscyA9IHNraWxscztcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc2V0IHVzZXJHcm91cHMoIGdyb3VwczogVXNlckdyb3VwW10pIHtcclxuICAgIHRoaXMuX3VzZXJHcm91cHMgPSBncm91cHM7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UsXHJcblxyXG4gICkge31cclxuXHJcblxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldE9yZGVyU2VxdWVuY2VWYWx1ZSgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uLmdldFNlcXVlbmNlVmFsdWUoU2VxdWVuY2VOYW1lLlBsYW5MaW5lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUcmFuc3BvcnRPcmRlcnMocGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkpOiBQcm9taXNlPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4ge1xyXG4gICAgbGV0IHJlcXVlc3Q6IEdldFRyYW5zcG9ydE9yZGVyc1JlcXVlc3QgPSBuZXcgR2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdCgpXHJcbiAgICByZXF1ZXN0LnRyYW5zcG9ydElkID0gcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LnRyYW5zcG9ydC50cmFuc3BvcnRJZDtcclxuICAgIHJlcXVlc3QuZGF0ZSA9IHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS5kYXRlO1xyXG4gICAgcmVxdWVzdC5wbGFubmluZ0lkID0gdGhpcy5jdXJyZW50UGxhbm5pbmcucGxhbm5pbmdJZDtcclxuICAgIGNvbnN0IG9yZGVyUmVzcG9uc2UgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRUcmFuc3BvcnRPcmRlcnMocmVxdWVzdCk7XHJcbiAgICBpZihvcmRlclJlc3BvbnNlKSB7XHJcbiAgICAgIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS5wbGFubmVkT3JkZXJzID0gb3JkZXJSZXNwb25zZTtcclxuICAgICAgcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5Lm9yZGVyc0xvYWRlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgbWFrZU9yZGVyTGluZXNQbGFubmVkUmVxdWVzdChvcmRlcjogUGxhbk9yZGVyKTogT3JkZXJMaW5lc1BsYW5uZWRSZXF1ZXN0IHtcclxuICAgIGlmKHRoaXMuY3VycmVudFBsYW5uaW5nKSB7XHJcbiAgICAgIGxldCByZXF1ZXN0OiBPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QgPSBuZXcgT3JkZXJMaW5lc1BsYW5uZWRSZXF1ZXN0KCk7XHJcbiAgICAgIGxldCBmaWx0ZXJPYmo6IFBsYW5uaW5nRmlsdGVyT2JqZWN0ID0gbmV3IFBsYW5uaW5nRmlsdGVyT2JqZWN0KCk7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5lZCA9IHRydWU7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5pbmdJZCA9IHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQ7XHJcbiAgICAgIHJlcXVlc3QudHJhbnNJZCA9IG9yZGVyLnRyYW5zSWQ7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5lZExpbmVJZCA9IG9yZGVyLnBsYW5uZWRMaW5lSWQ7XHJcbiAgICAgIGZpbHRlck9iai5vbmx5Q3VycmVudFdlZWsgPSB0cnVlO1xyXG4gICAgICBmaWx0ZXJPYmouYmVnaW5DdXJyZW50V2VlayA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGZpbHRlck9iai5jaGVja09yZGVyTGluZXMgPSAxO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlck9iamVjdCA9IGZpbHRlck9iajtcclxuICAgICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkSG91cnMoZGF0ZTogRGF0ZSwgaG91cnM6IG51bWJlcikge1xyXG4gICAgY29uc3QgaG91cnNUb0FkZCA9IGhvdXJzICogNjAgKiA2MCAqIDEwMDA7XHJcbiAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyBob3Vyc1RvQWRkKTtcclxuICAgIHJldHVybiBkYXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHF1ZXJ5TGlzdFRpbGUodHJhbnNwb3J0SWQ6IG51bWJlcik6IERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnQge1xyXG4gICAgbGV0IG5ld1RpbGU6IERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnQ7XHJcbiAgICB0aGlzLl90aWxlc1F1ZXJ5TGlzdC5mb3JFYWNoKHRpbGUgPT4ge1xyXG4gICAgICBpZih0aWxlLnRyYW5zcG9ydERheS50cmFuc3BvcnQudHJhbnNwb3J0SWQgPT09IHRyYW5zcG9ydElkKSB7XHJcbiAgICAgICBuZXdUaWxlID0gdGlsZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV3VGlsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQbGFubmluZ1RyYW5zcG9ydFdlZWsoKTogUHJvbWlzZTxhbnlbXT4ge1xyXG4gICAgbGV0IHdlZWtBcnJheXM6IGFueVtdID0gW107XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5nZXRQbGFuVHJhbnNwb3J0V2Vlayh0aGlzLmN1cnJlbnRTdGFydERhdGUsIHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQpLnRoZW4oKHJlc3VsdDogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10pID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcmVzdWx0LmZvckVhY2goICh0ZWFtOiBQbGFubmluZ1RyYW5zcG9ydFdlZWspID0+IHtcclxuICAgICAgICAgIHdlZWtBcnJheXMucHVzaChPYmplY3Qua2V5cyh0ZWFtKS5zb3J0KCkubWFwKGtleSA9PiB0ZWFtW2tleV0pKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gd2Vla0FycmF5cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b3RhbEFzc2VtYmx5VGltZShwbGFuT3JkZXI6IFBsYW5PcmRlcikge1xyXG4gICAgaWYgKHBsYW5PcmRlcikge1xyXG4gICAgICBsZXQgdG90YWw6IG51bWJlciA9IDA7XHJcbiAgICAgIHBsYW5PcmRlcj8ubGluZXM/LmZvckVhY2goKGxpbmU6IFBsYW5PcmRlckxpbmUpID0+IHtcclxuICAgICAgICBpZiAobGluZS5taW51dGVzID4gMCkge1xyXG4gICAgICAgICAgdG90YWwgKz0gbGluZS5taW51dGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0b3RhbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -5,15 +5,24 @@ import { PlanOrder } from "@colijnit/transactionapi/build/model/plan-order.bo";
5
5
  import { TransactionService } from "../../../../../../service/transaction.service";
6
6
  import { DeliveryPlanningService } from "../../../../../delivery-planning/service/delivery-planning.service";
7
7
  export class DeliveryPlanningOverviewPopupComponent {
8
- constructor(iconCacheService, _transaction, _deliveryPlanningService) {
8
+ constructor(iconCacheService, _transaction, deliveryPlanningService) {
9
9
  this.iconCacheService = iconCacheService;
10
10
  this._transaction = _transaction;
11
- this._deliveryPlanningService = _deliveryPlanningService;
11
+ this.deliveryPlanningService = deliveryPlanningService;
12
12
  this.icons = Icon;
13
13
  this.planOrder = new PlanOrder();
14
14
  this.closeEvent = new EventEmitter();
15
15
  this.onSucceededPlanAction = new EventEmitter();
16
16
  }
17
+ set transportDay(transportWeekDay) {
18
+ this.handleInitialTimePlanning(transportWeekDay);
19
+ this._transportWeekDay = transportWeekDay;
20
+ }
21
+ ;
22
+ get transportDay() {
23
+ return this._transportWeekDay;
24
+ }
25
+ ;
17
26
  showClass() {
18
27
  return true;
19
28
  }
@@ -23,17 +32,8 @@ export class DeliveryPlanningOverviewPopupComponent {
23
32
  this.transportDay = undefined;
24
33
  this.transaction = undefined;
25
34
  }
26
- totalAssemblyTime(planOrder) {
27
- var _a;
28
- if (planOrder) {
29
- let total = 0;
30
- (_a = planOrder === null || planOrder === void 0 ? void 0 : planOrder.lines) === null || _a === void 0 ? void 0 : _a.forEach((line) => {
31
- if (line.minutes > 0) {
32
- total += line.minutes;
33
- }
34
- });
35
- return total;
36
- }
35
+ impactTime() {
36
+ return this.planOrder.impactTime ? this.planOrder.impactTime : 0;
37
37
  }
38
38
  closePopup() {
39
39
  this._transaction.resetCurrentTransaction();
@@ -43,30 +43,50 @@ export class DeliveryPlanningOverviewPopupComponent {
43
43
  this.onSucceededPlanAction.emit([this.planOrder, this.transportDay, this.week]);
44
44
  }
45
45
  startTimeForOrder() {
46
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
47
- if (((_b = (_a = this.transportDay) === null || _a === void 0 ? void 0 : _a.plannedOrders) === null || _b === void 0 ? void 0 : _b.length) === 0 || !((_d = (_c = this.transportDay) === null || _c === void 0 ? void 0 : _c.plannedOrders) === null || _d === void 0 ? void 0 : _d.length)) {
48
- this.planOrder.startTime = (_f = (_e = this.transportDay) === null || _e === void 0 ? void 0 : _e.transport) === null || _f === void 0 ? void 0 : _f.startTime;
49
- return (_h = (_g = this.transportDay) === null || _g === void 0 ? void 0 : _g.transport) === null || _h === void 0 ? void 0 : _h.startTime;
50
- }
51
- return (_j = this.transportDay) === null || _j === void 0 ? void 0 : _j.plannedOrders[this.transportDay.plannedOrders.length - 1].endTime;
46
+ return this.planOrder.startTime;
52
47
  }
53
48
  endTimeForOrder() {
54
- if (this.planOrder.startTime) {
55
- if (this.totalAssemblyTime(this.planOrder) === 0) {
56
- return this._deliveryPlanningService.addHours(new Date(this.planOrder.startTime), 1);
57
- }
58
- }
49
+ return this.planOrder.endTime;
59
50
  }
60
- handleStartTimeChange(date) {
61
- if (date) {
51
+ handleStartTimeChange(timeString) {
52
+ let originalPlanOrderDate = new Date(this.planOrder.startTime);
53
+ let date = new Date(originalPlanOrderDate.getFullYear(), originalPlanOrderDate.getMonth(), originalPlanOrderDate.getDay(), parseInt(timeString[0]), 0);
54
+ if (!isNaN(date.getTime())) {
62
55
  this.planOrder.startTime = date;
63
56
  }
64
57
  }
65
- handleEndTimeChange(date) {
66
- if (date) {
58
+ handleEndTimeChange(timeString) {
59
+ let originalPlanOrderDate = new Date(this.planOrder.startTime);
60
+ let date = new Date(originalPlanOrderDate.getFullYear(), originalPlanOrderDate.getMonth(), originalPlanOrderDate.getDay(), parseInt(timeString[0]), 0);
61
+ if (!isNaN(date.getTime())) {
67
62
  this.planOrder.endTime = date;
68
63
  }
69
64
  }
65
+ handleInitialTimePlanning(transportWeekDay) {
66
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
67
+ if (!((_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.startTime) && ((_b = transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders) === null || _b === void 0 ? void 0 : _b.length) === 0) {
68
+ this.planOrder.startTime = new Date(transportWeekDay.date);
69
+ (_d = (_c = this.planOrder) === null || _c === void 0 ? void 0 : _c.startTime) === null || _d === void 0 ? void 0 : _d.setHours(8);
70
+ (_f = (_e = this.planOrder) === null || _e === void 0 ? void 0 : _e.startTime) === null || _f === void 0 ? void 0 : _f.setMinutes(0);
71
+ (_h = (_g = this.planOrder) === null || _g === void 0 ? void 0 : _g.startTime) === null || _h === void 0 ? void 0 : _h.setSeconds(0);
72
+ }
73
+ if (!((_j = this.planOrder) === null || _j === void 0 ? void 0 : _j.endTime) && (transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders.length) === 0) {
74
+ this.planOrder.endTime = new Date((_k = this.planOrder) === null || _k === void 0 ? void 0 : _k.startTime);
75
+ this.planOrder.endTime.setHours(((_m = (_l = this.planOrder) === null || _l === void 0 ? void 0 : _l.endTime) === null || _m === void 0 ? void 0 : _m.getHours()) + (this.deliveryPlanningService.totalAssemblyTime(this.planOrder) > 0 ? (this.deliveryPlanningService.totalAssemblyTime(this.planOrder) / 60) : 1));
76
+ this.planOrder.startTime.setMinutes(0);
77
+ this.planOrder.startTime.setSeconds(0);
78
+ }
79
+ if ((transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders.length) > 0) {
80
+ this.planOrder.startTime = new Date(transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.date);
81
+ this.planOrder.startTime.setHours((_p = (_o = transportWeekDay === null || transportWeekDay === void 0 ? void 0 : transportWeekDay.plannedOrders[transportWeekDay.plannedOrders.length - 1]) === null || _o === void 0 ? void 0 : _o.endTime) === null || _p === void 0 ? void 0 : _p.getHours());
82
+ this.planOrder.startTime.setMinutes(0);
83
+ this.planOrder.startTime.setSeconds(0);
84
+ this.planOrder.endTime = new Date(this.planOrder.startTime);
85
+ this.planOrder.endTime.setHours(((_r = (_q = this.planOrder) === null || _q === void 0 ? void 0 : _q.endTime) === null || _r === void 0 ? void 0 : _r.getHours()) + (this.deliveryPlanningService.totalAssemblyTime(this.planOrder) > 0 ? (this.deliveryPlanningService.totalAssemblyTime(this.planOrder) / 60) : 1));
86
+ this.planOrder.startTime.setMinutes(0);
87
+ this.planOrder.startTime.setSeconds(0);
88
+ }
89
+ }
70
90
  }
71
91
  DeliveryPlanningOverviewPopupComponent.decorators = [
72
92
  { type: Component, args: [{
@@ -96,15 +116,15 @@ DeliveryPlanningOverviewPopupComponent.decorators = [
96
116
  <span class="h1" [textContent]="'TIME_SETTINGS' | localize"></span>
97
117
  </div>
98
118
  <div class="popup-row">
99
- <co-input-text [model]="planOrder?.impactTime" [placeholder]="'IMPACT_TIME' | localize"></co-input-text>
100
- <co-input-text [model]="totalAssemblyTime(planOrder)"
119
+ <co-input-text [model]="impactTime()" [placeholder]="'IMPACT_TIME' | localize"></co-input-text>
120
+ <co-input-text [model]="deliveryPlanningService.totalAssemblyTime(planOrder)"
101
121
  [placeholder]="'ASSEMBLY_TIME' | localize"></co-input-text>
102
122
  </div>
103
123
 
104
124
  <div class="popup-row">
105
- <co-input-text [model]="startTimeForOrder() | date: 'h:mm'"
125
+ <co-input-text [model]="startTimeForOrder() | date: 'HH:mm'"
106
126
  [placeholder]="'STARTTIME' | localize" (modelChange)="handleStartTimeChange($event)"></co-input-text>
107
- <co-input-text [model]="endTimeForOrder() | date: 'h:mm'"
127
+ <co-input-text [model]="endTimeForOrder() | date: 'HH:mm'"
108
128
  [placeholder]="'STOPTIME' | localize" (modelChange)="handleEndTimeChange($event)"></co-input-text>
109
129
  </div>
110
130
 
@@ -143,4 +163,4 @@ DeliveryPlanningOverviewPopupComponent.propDecorators = {
143
163
  onSucceededPlanAction: [{ type: Output }],
144
164
  showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-popup",] }]
145
165
  };
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwL2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQWEsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFJN0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDakYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFrRTNHLE1BQU0sT0FBTyxzQ0FBc0M7SUFxQmpELFlBQW1CLGdCQUFrQyxFQUFVLFlBQWdDLEVBQVUsd0JBQWlEO1FBQXZJLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFBVSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBbkJuSixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUUxQixjQUFTLEdBQWMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQU12QyxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7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QTBEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBeEVPLGdCQUFnQjtZQU1oQixrQkFBa0I7WUFDbEIsdUJBQXVCOzs7eUJBMkU1QixNQUFNO29DQUdOLE1BQU07d0JBSU4sV0FBVyxTQUFDLDJDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vZGVsaXZlcnktcGxhbm5pbmcvc2VydmljZS9kZWxpdmVyeS1wbGFubmluZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyTGluZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLWxpbmUuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiIChjbG9zZUNsaWNrKT1cImNsb3NlUG9wdXAoKVwiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJcIlxyXG4gICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9vdGVyLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJ0cmFuc3BvcnREYXk/LnRyYW5zcG9ydD8ucmVnaXN0cmF0aW9uTnVtYmVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRydWNrQ29udGFpbmVyRHVvKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy10aWxlLXN0YXR1c1xyXG4gICAgICAgICAgW2N1cnJlbnRWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5vcmRlckFtb3VudFwiXHJcbiAgICAgICAgICBbbWF4Vm9sdW1lXT1cInRyYW5zcG9ydERheT8ubWF4T3JkZXJBbW91bnRcIlxyXG4gICAgICAgICAgW2N1cnJlbnRUaW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5taW51dGVzXCJcclxuICAgICAgICAgIFt0aW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5tYXhNaW51dGVzXCI+XHJcbiAgICAgICAgPC9jby1kZWxpdmVyeS1wbGFubmluZy10aWxlLXN0YXR1cz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoMVwiIFt0ZXh0Q29udGVudF09XCInVElNRV9TRVRUSU5HUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtcm93XCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwicGxhbk9yZGVyPy5pbXBhY3RUaW1lXCIgW3BsYWNlaG9sZGVyXT1cIidJTVBBQ1RfVElNRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJ0b3RhbEFzc2VtYmx5VGltZShwbGFuT3JkZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQVNTRU1CTFlfVElNRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLXJvd1wiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cInN0YXJ0VGltZUZvck9yZGVyKCkgfCBkYXRlOiAnaDptbSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTVEFSVFRJTUUnIHwgbG9jYWxpemVcIiAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3RhcnRUaW1lQ2hhbmdlKCRldmVudClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwiZW5kVGltZUZvck9yZGVyKCkgfCBkYXRlOiAnaDptbSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTVE9QVElNRScgfCBsb2NhbGl6ZVwiIChtb2RlbENoYW5nZSk9XCJoYW5kbGVFbmRUaW1lQ2hhbmdlKCRldmVudClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVtYXJrLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInUExBTl9SRU1BUktTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhIFsobW9kZWwpXT1cInBsYW5PcmRlci5yZW1hcmtzXCI+PC9jby1pbnB1dC10ZXh0YXJlYT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ29tbWl0Q2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3Nza2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUG9wdXAoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWxpdmVyeVBsYW5uaW5nT3ZlcnZpZXdQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveXtcclxuXHJcbiAgcHVibGljIGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBwbGFuT3JkZXI6IFBsYW5PcmRlciA9IG5ldyBQbGFuT3JkZXIoKTtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gIHB1YmxpYyB0cmFuc3BvcnREYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTtcclxuICBwdWJsaWMgd2VlazogUGxhbm5pbmdUcmFuc3BvcnRXZWVrO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25TdWNjZWVkZWRQbGFuQWN0aW9uOiBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBQbGFubmluZ1RyYW5zcG9ydFdlZWtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBQbGFubmluZ1RyYW5zcG9ydFdlZWtdPigpO1xyXG5cclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXBcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSwgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uU2VydmljZSwgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLndlZWsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnBsYW5PcmRlciA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudHJhbnNwb3J0RGF5ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b3RhbEFzc2VtYmx5VGltZShwbGFuT3JkZXI6IFBsYW5PcmRlcikge1xyXG4gICAgaWYgKHBsYW5PcmRlcikge1xyXG4gICAgICBsZXQgdG90YWw6IG51bWJlciA9IDA7XHJcbiAgICAgIHBsYW5PcmRlcj8ubGluZXM/LmZvckVhY2goKGxpbmU6IFBsYW5PcmRlckxpbmUpID0+IHtcclxuICAgICAgICBpZiAobGluZS5taW51dGVzID4gMCkge1xyXG4gICAgICAgICAgdG90YWwgKz0gbGluZS5taW51dGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0b3RhbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVBvcHVwKCkge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24ucmVzZXRDdXJyZW50VHJhbnNhY3Rpb24oKTtcclxuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb21taXRDbGljaygpIHtcclxuICAgIHRoaXMub25TdWNjZWVkZWRQbGFuQWN0aW9uLmVtaXQoW3RoaXMucGxhbk9yZGVyLCB0aGlzLnRyYW5zcG9ydERheSwgdGhpcy53ZWVrXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhcnRUaW1lRm9yT3JkZXIoKSB7XHJcbiAgICBpZih0aGlzLnRyYW5zcG9ydERheT8ucGxhbm5lZE9yZGVycz8ubGVuZ3RoID09PSAwIHx8ICF0aGlzLnRyYW5zcG9ydERheT8ucGxhbm5lZE9yZGVycz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IHRoaXMudHJhbnNwb3J0RGF5Py50cmFuc3BvcnQ/LnN0YXJ0VGltZTtcclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0RGF5Py50cmFuc3BvcnQ/LnN0YXJ0VGltZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy50cmFuc3BvcnREYXk/LnBsYW5uZWRPcmRlcnNbdGhpcy50cmFuc3BvcnREYXkucGxhbm5lZE9yZGVycy5sZW5ndGggLSAxXS5lbmRUaW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVuZFRpbWVGb3JPcmRlcigpIHtcclxuICAgIGlmKHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSkge1xyXG4gICAgICAgaWYodGhpcy50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgID09PSAwKSB7XHJcbiAgICAgICAgIHJldHVybiB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5hZGRIb3VycyhuZXcgRGF0ZSh0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUpLCAxKTtcclxuICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdGFydFRpbWVDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYoZGF0ZSkge1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFbmRUaW1lQ2hhbmdlKGRhdGU6IERhdGUpIHtcclxuICAgIGlmKGRhdGUpIHtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZSA9IGRhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxufVxyXG4iXX0=
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwL2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBSTdFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBa0UzRyxNQUFNLE9BQU8sc0NBQXNDO0lBaUNqRCxZQUFtQixnQkFBa0MsRUFBVSxZQUFnQyxFQUFTLHVCQUFnRDtRQUFySSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQVMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQTlCakosVUFBSyxHQUFnQixJQUFJLENBQUM7UUFFMUIsY0FBUyxHQUFjLElBQUksU0FBUyxFQUFFLENBQUM7UUFpQnZDLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hOLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDOzs7WUExS0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBeEVPLGdCQUFnQjtZQU1oQixrQkFBa0I7WUFDbEIsdUJBQXVCOzs7eUJBdUY1QixNQUFNO29DQUdOLE1BQU07d0JBSU4sV0FBVyxTQUFDLDJDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJ9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci5ib1wiO1xyXG5pbXBvcnQge1BsYW5uaW5nVHJhbnNwb3J0V2Vla0RheX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay1kYXkuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWt9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWsuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXBcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWRpYWxvZyBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VQb3B1cCgpXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclwiXHJcbiAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb290ZXItaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInRyYW5zcG9ydERheT8udHJhbnNwb3J0Py5yZWdpc3RyYXRpb25OdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVHJ1Y2tDb250YWluZXJEdW8pXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLWRlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtc3RhdHVzXHJcbiAgICAgICAgICBbY3VycmVudFZvbHVtZV09XCJ0cmFuc3BvcnREYXk/Lm9yZGVyQW1vdW50XCJcclxuICAgICAgICAgIFttYXhWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5tYXhPcmRlckFtb3VudFwiXHJcbiAgICAgICAgICBbY3VycmVudFRpbWVUb3RhbF09XCJ0cmFuc3BvcnREYXk/Lm1pbnV0ZXNcIlxyXG4gICAgICAgICAgW3RpbWVUb3RhbF09XCJ0cmFuc3BvcnREYXk/Lm1heE1pbnV0ZXNcIj5cclxuICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtc3RhdHVzPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1kZXRhaWxzXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImgxXCIgW3RleHRDb250ZW50XT1cIidUSU1FX1NFVFRJTkdTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1yb3dcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJpbXBhY3RUaW1lKClcIiBbcGxhY2Vob2xkZXJdPVwiJ0lNUEFDVF9USU1FJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cImRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnRvdGFsQXNzZW1ibHlUaW1lKHBsYW5PcmRlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBU1NFTUJMWV9USU1FJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtcm93XCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwic3RhcnRUaW1lRm9yT3JkZXIoKSB8IGRhdGU6ICdISDptbSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTVEFSVFRJTUUnIHwgbG9jYWxpemVcIiAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3RhcnRUaW1lQ2hhbmdlKCRldmVudClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwiZW5kVGltZUZvck9yZGVyKCkgfCBkYXRlOiAnSEg6bW0nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU1RPUFRJTUUnIHwgbG9jYWxpemVcIiAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRW5kVGltZUNoYW5nZSgkZXZlbnQpXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbWFyay13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1BMQU5fUkVNQVJLUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJwbGFuT3JkZXIucmVtYXJrc1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNvbW1pdENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVBvcHVwKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3UG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX3RyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTtcclxuXHJcbiAgcHVibGljIGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBwbGFuT3JkZXI6IFBsYW5PcmRlciA9IG5ldyBQbGFuT3JkZXIoKTtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG5cclxuICBwdWJsaWMgc2V0IHRyYW5zcG9ydERheSggdHJhbnNwb3J0V2Vla0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KSB7XHJcbiAgICB0aGlzLmhhbmRsZUluaXRpYWxUaW1lUGxhbm5pbmcodHJhbnNwb3J0V2Vla0RheSk7XHJcbiAgICB0aGlzLl90cmFuc3BvcnRXZWVrRGF5ID0gdHJhbnNwb3J0V2Vla0RheTtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zcG9ydERheSgpOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zcG9ydFdlZWtEYXk7XHJcbiAgfTtcclxuXHJcblxyXG5cclxuICBwdWJsaWMgd2VlazogUGxhbm5pbmdUcmFuc3BvcnRXZWVrO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25TdWNjZWVkZWRQbGFuQWN0aW9uOiBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBQbGFubmluZ1RyYW5zcG9ydFdlZWtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBQbGFubmluZ1RyYW5zcG9ydFdlZWtdPigpO1xyXG5cclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXBcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSwgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uU2VydmljZSwgcHVibGljIGRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlOiBEZWxpdmVyeVBsYW5uaW5nU2VydmljZSkge1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy53ZWVrID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5wbGFuT3JkZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRyYW5zcG9ydERheSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW1wYWN0VGltZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnBsYW5PcmRlci5pbXBhY3RUaW1lID8gdGhpcy5wbGFuT3JkZXIuaW1wYWN0VGltZSA6IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnJlc2V0Q3VycmVudFRyYW5zYWN0aW9uKCk7XHJcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCgpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29tbWl0Q2xpY2soKSB7XHJcbiAgICB0aGlzLm9uU3VjY2VlZGVkUGxhbkFjdGlvbi5lbWl0KFt0aGlzLnBsYW5PcmRlciwgdGhpcy50cmFuc3BvcnREYXksIHRoaXMud2Vla10pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXJ0VGltZUZvck9yZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbmRUaW1lRm9yT3JkZXIoKSB7XHJcbiAgIHJldHVybiB0aGlzLnBsYW5PcmRlci5lbmRUaW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0YXJ0VGltZUNoYW5nZSh0aW1lU3RyaW5nOiBzdHJpbmcpIHtcclxuICAgIGxldCBvcmlnaW5hbFBsYW5PcmRlckRhdGUgPSBuZXcgRGF0ZSh0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUpO1xyXG4gICAgbGV0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZShvcmlnaW5hbFBsYW5PcmRlckRhdGUuZ2V0RnVsbFllYXIoKSwgb3JpZ2luYWxQbGFuT3JkZXJEYXRlLmdldE1vbnRoKCksIG9yaWdpbmFsUGxhbk9yZGVyRGF0ZS5nZXREYXkoKSwgcGFyc2VJbnQodGltZVN0cmluZ1swXSksIDApO1xyXG4gICAgaWYoIWlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFbmRUaW1lQ2hhbmdlKHRpbWVTdHJpbmc6IHN0cmluZykge1xyXG4gICAgbGV0IG9yaWdpbmFsUGxhbk9yZGVyRGF0ZSA9IG5ldyBEYXRlKHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSk7XHJcbiAgICBsZXQgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKG9yaWdpbmFsUGxhbk9yZGVyRGF0ZS5nZXRGdWxsWWVhcigpLCBvcmlnaW5hbFBsYW5PcmRlckRhdGUuZ2V0TW9udGgoKSwgb3JpZ2luYWxQbGFuT3JkZXJEYXRlLmdldERheSgpLCBwYXJzZUludCh0aW1lU3RyaW5nWzBdKSwgMCk7XHJcbiAgICBpZighaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJbml0aWFsVGltZVBsYW5uaW5nKHRyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSkge1xyXG4gICAgaWYoIXRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWUgJiYgdHJhbnNwb3J0V2Vla0RheT8ucGxhbm5lZE9yZGVycz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IG5ldyBEYXRlKHRyYW5zcG9ydFdlZWtEYXkuZGF0ZSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWU/LnNldEhvdXJzKDgpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lPy5zZXRNaW51dGVzKDApO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lPy5zZXRTZWNvbmRzKDApO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMucGxhbk9yZGVyPy5lbmRUaW1lICYmIHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUgPSBuZXcgRGF0ZSh0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZS5zZXRIb3Vycyh0aGlzLnBsYW5PcmRlcj8uZW5kVGltZT8uZ2V0SG91cnMoKSArICh0aGlzLmRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnRvdGFsQXNzZW1ibHlUaW1lKHRoaXMucGxhbk9yZGVyKSA+IDAgPyAodGhpcy5kZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgLyA2MCkgOiAxKSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZS5zZXRNaW51dGVzKDApO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0U2Vjb25kcygwKTtcclxuICAgIH1cclxuICAgIGlmKHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUgPSBuZXcgRGF0ZSh0cmFuc3BvcnRXZWVrRGF5Py5kYXRlKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldEhvdXJzKHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnNbdHJhbnNwb3J0V2Vla0RheS5wbGFubmVkT3JkZXJzLmxlbmd0aCAtIDFdPy5lbmRUaW1lPy5nZXRIb3VycygpKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldE1pbnV0ZXMoMCk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZS5zZXRTZWNvbmRzKDApO1xyXG5cclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZSA9IG5ldyBEYXRlKHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUuc2V0SG91cnModGhpcy5wbGFuT3JkZXI/LmVuZFRpbWU/LmdldEhvdXJzKCkgKyAodGhpcy5kZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgPiAwID8gKHRoaXMuZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UudG90YWxBc3NlbWJseVRpbWUodGhpcy5wbGFuT3JkZXIpIC8gNjApIDogMSkpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0TWludXRlcygwKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldFNlY29uZHMoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -8,7 +8,9 @@ export class DeliveryPlanningOverviewTileLineComponent {
8
8
  this.icons = Icon;
9
9
  this.expanded = false;
10
10
  this.linesActive = false;
11
+ this.orderLines = false;
11
12
  this.order = new PlanOrder();
13
+ this.isActive = false;
12
14
  this.deleteLineEvent = new EventEmitter();
13
15
  }
14
16
  showClass() {
@@ -19,6 +21,11 @@ export class DeliveryPlanningOverviewTileLineComponent {
19
21
  }
20
22
  setLinesActive() {
21
23
  this.linesActive = !this.linesActive;
24
+ this.orderLines = false;
25
+ }
26
+ showOrderLines(event) {
27
+ event.stopPropagation(); // Stop the event from propagating to parent elements
28
+ this.orderLines = !this.orderLines;
22
29
  }
23
30
  getPlannedLines(lines) {
24
31
  return lines.filter(line => line.planned === true);
@@ -28,37 +35,39 @@ DeliveryPlanningOverviewTileLineComponent.decorators = [
28
35
  { type: Component, args: [{
29
36
  selector: "co-delivery-planning-overview-tile-line",
30
37
  template: `
31
- <div class="planning-line-wrapper" [class.active-lines]="linesActive">
38
+ <div class="planning-line-wrapper" (click)="setLinesActive()" [class.active-lines]="linesActive">
32
39
  <div class="planning-line-content">
33
40
  <div class="planning-line-left">
34
- <div class="planning-line-extend">
35
- <co-icon *ngIf="!linesActive" (click)="setLinesActive()" [iconData]="iconCacheService.getIcon(icons.ChevronDownRegular)"></co-icon>
36
- <co-icon *ngIf="linesActive" (click)="setLinesActive()" [iconData]="iconCacheService.getIcon(icons.ChevronUpRegular)"></co-icon>
41
+ <div class="planning-line-extend" *ngIf="linesActive || orderLines">
42
+ <co-icon *ngIf="!orderLines" (click)="showOrderLines($event)" [iconData]="iconCacheService.getIcon(icons.ChevronDownRegular)"></co-icon>
43
+ <co-icon *ngIf="orderLines" (click)="showOrderLines($event)" [iconData]="iconCacheService.getIcon(icons.ChevronUpRegular)"></co-icon>
37
44
  </div>
38
45
  <div class="line-content-left">
39
- <div class="planning-address">
40
- <span [textContent]="order.shortAddress"></span>
41
- </div>
42
46
  <div class="planning-relation">
43
47
  <span [textContent]="order.relationName"></span>
44
48
  </div>
49
+ <div class="planning-address" *ngIf="linesActive">
50
+ <span [textContent]="order.shortAddress"></span>
51
+ </div>
45
52
  </div>
46
53
  </div>
47
54
  <div class="planning-line-right">
48
55
  <div class="line-content-right">
49
56
  <div class="planning-order">
57
+ <co-icon (click)="setLinesActive()" [iconData]="iconCacheService.getIcon(icons.CartShoppingRegular)"></co-icon>
50
58
  <span [textContent]="order.transactionNr"></span>
51
59
  </div>
52
- <div class="planning-time">
60
+ <div class="planning-time" *ngIf="linesActive">
53
61
  <span [textContent]="(order.startTime | date: 'HH:mm') + ' - ' + (order.endTime | date: 'HH:mm')"></span>
54
62
  </div>
55
63
  </div>
56
64
  <div class="planning-line-actions">
57
- <co-icon (click)="handleDeleteLineClick(order)" [iconData]="iconCacheService.getIcon(icons.TrashBin)"></co-icon>
65
+ <co-icon *ngIf="linesActive" (click)="handleDeleteLineClick(order)" [iconData]="iconCacheService.getIcon(icons.TrashCanRegular)"></co-icon>
66
+ <co-icon *ngIf="!linesActive" [iconData]="iconCacheService.getIcon(icons.ChevronRightRegular)"></co-icon>
58
67
  </div>
59
68
  </div>
60
69
  </div>
61
- <div class="order-line-list-wrapper" *ngIf="linesActive">
70
+ <div class="order-line-list-wrapper" *ngIf="orderLines">
62
71
  <div class="order-lines" *ngFor="let line of getPlannedLines(order?.lines)">
63
72
  <span [textContent]="line.articleNumber"></span>
64
73
  <span [textContent]="line.description"></span>
@@ -74,7 +83,8 @@ DeliveryPlanningOverviewTileLineComponent.ctorParameters = () => [
74
83
  ];
75
84
  DeliveryPlanningOverviewTileLineComponent.propDecorators = {
76
85
  order: [{ type: Input }],
86
+ isActive: [{ type: Input }],
77
87
  deleteLineEvent: [{ type: Output }],
78
88
  showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-tile-line",] }]
79
89
  };
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW1haW4vY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3L2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLWxpbmUvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNwRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFNUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBNkM3RSxNQUFNLE9BQU8seUNBQXlDO0lBZ0JwRCxZQUFtQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWZyQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUNuQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRzdCLFVBQUssR0FBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBR2xDLG9CQUFlLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7SUFRaEYsQ0FBQztJQUxNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLTSxxQkFBcUIsQ0FBQyxLQUFnQjtRQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ00sY0FBYztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2QyxDQUFDO0lBQ00sZUFBZSxDQUFDLEtBQXNCO1FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7O1lBdEVGLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUseUNBQXlDO2dCQUNuRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBc0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7WUEvQ08sZ0JBQWdCOzs7b0JBcURyQixLQUFLOzhCQUdMLE1BQU07d0JBR04sV0FBVyxTQUFDLCtDQUErQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtbGluZVwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLWxpbmUtd3JhcHBlclwiIFtjbGFzcy5hY3RpdmUtbGluZXNdPVwibGluZXNBY3RpdmVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctbGluZS1jb250ZW50XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctbGluZS1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1saW5lLWV4dGVuZFwiPlxyXG4gICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiIWxpbmVzQWN0aXZlXCIgKGNsaWNrKT1cInNldExpbmVzQWN0aXZlKClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZXZyb25Eb3duUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJsaW5lc0FjdGl2ZVwiIChjbGljayk9XCJzZXRMaW5lc0FjdGl2ZSgpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGV2cm9uVXBSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLWNvbnRlbnQtbGVmdFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1hZGRyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwib3JkZXIuc2hvcnRBZGRyZXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1yZWxhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIm9yZGVyLnJlbGF0aW9uTmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1saW5lLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLWNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctb3JkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJvcmRlci50cmFuc2FjdGlvbk5yXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy10aW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiKG9yZGVyLnN0YXJ0VGltZSB8IGRhdGU6ICdISDptbScpICsgJyAtICcgKyAob3JkZXIuZW5kVGltZSB8IGRhdGU6ICdISDptbScpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLWxpbmUtYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxjby1pY29uIChjbGljayk9XCJoYW5kbGVEZWxldGVMaW5lQ2xpY2sob3JkZXIpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmFzaEJpbilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyLWxpbmUtbGlzdC13cmFwcGVyXCIgKm5nSWY9XCJsaW5lc0FjdGl2ZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyLWxpbmVzXCIgKm5nRm9yPVwibGV0IGxpbmUgb2YgZ2V0UGxhbm5lZExpbmVzKG9yZGVyPy5saW5lcylcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxpbmUuYXJ0aWNsZU51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxpbmUuZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUxpbmVDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyBleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBsaW5lc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBvcmRlcjpQbGFuT3JkZXIgPSBuZXcgUGxhbk9yZGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZWxldGVMaW5lRXZlbnQ6IEV2ZW50RW1pdHRlcjxQbGFuT3JkZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFuT3JkZXI+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtbGluZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVsZXRlTGluZUNsaWNrKG9yZGVyOiBQbGFuT3JkZXIpIHtcclxuICAgIHRoaXMuZGVsZXRlTGluZUV2ZW50LmVtaXQob3JkZXIpO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0TGluZXNBY3RpdmUoKSB7XHJcbiAgICB0aGlzLmxpbmVzQWN0aXZlID0gIXRoaXMubGluZXNBY3RpdmU7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRQbGFubmVkTGluZXMobGluZXM6IFBsYW5PcmRlckxpbmVbXSkge1xyXG4gICAgcmV0dXJuIGxpbmVzLmZpbHRlcihsaW5lID0+IGxpbmUucGxhbm5lZCA9PT0gdHJ1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW1haW4vY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3L2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLWxpbmUvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNwRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFNUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBK0M3RSxNQUFNLE9BQU8seUNBQXlDO0lBbUJwRCxZQUFtQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWxCckMsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLFVBQUssR0FBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBRWhDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHNUIsb0JBQWUsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQVFoRixDQUFDO0lBTE0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUtNLHFCQUFxQixDQUFDLEtBQWdCO1FBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDTSxjQUFjLENBQUMsS0FBWTtRQUNoQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBRSxxREFBcUQ7UUFDL0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFzQjtRQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7OztZQWpGRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBd0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7WUFqRE8sZ0JBQWdCOzs7b0JBd0RyQixLQUFLO3VCQUdMLEtBQUs7OEJBRUwsTUFBTTt3QkFHTixXQUFXLFNBQUMsK0NBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctbGluZS13cmFwcGVyXCIgKGNsaWNrKT1cInNldExpbmVzQWN0aXZlKClcIiBbY2xhc3MuYWN0aXZlLWxpbmVzXT1cImxpbmVzQWN0aXZlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLWxpbmUtY29udGVudFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLWxpbmUtbGVmdFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctbGluZS1leHRlbmRcIiAqbmdJZj1cImxpbmVzQWN0aXZlIHx8IG9yZGVyTGluZXNcIj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cIiFvcmRlckxpbmVzXCIgKGNsaWNrKT1cInNob3dPcmRlckxpbmVzKCRldmVudClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZXZyb25Eb3duUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJvcmRlckxpbmVzXCIgKGNsaWNrKT1cInNob3dPcmRlckxpbmVzKCRldmVudClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZXZyb25VcFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmUtY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLXJlbGF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwib3JkZXIucmVsYXRpb25OYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1hZGRyZXNzXCIgKm5nSWY9XCJsaW5lc0FjdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIm9yZGVyLnNob3J0QWRkcmVzc1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1saW5lLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLWNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctb3JkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIChjbGljayk9XCJzZXRMaW5lc0FjdGl2ZSgpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXJ0U2hvcHBpbmdSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJvcmRlci50cmFuc2FjdGlvbk5yXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy10aW1lXCIgKm5nSWY9XCJsaW5lc0FjdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIihvcmRlci5zdGFydFRpbWUgfCBkYXRlOiAnSEg6bW0nKSArICcgLSAnICsgKG9yZGVyLmVuZFRpbWUgfCBkYXRlOiAnSEg6bW0nKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1saW5lLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImxpbmVzQWN0aXZlXCIgKGNsaWNrKT1cImhhbmRsZURlbGV0ZUxpbmVDbGljayhvcmRlcilcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRyYXNoQ2FuUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCIhbGluZXNBY3RpdmVcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZXZyb25SaWdodFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcmRlci1saW5lLWxpc3Qtd3JhcHBlclwiICpuZ0lmPVwib3JkZXJMaW5lc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyLWxpbmVzXCIgKm5nRm9yPVwibGV0IGxpbmUgb2YgZ2V0UGxhbm5lZExpbmVzKG9yZGVyPy5saW5lcylcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxpbmUuYXJ0aWNsZU51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxpbmUuZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUxpbmVDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyBleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBsaW5lc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcmRlckxpbmVzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG9yZGVyOlBsYW5PcmRlciA9IG5ldyBQbGFuT3JkZXIoKTtcclxuXHJcbiAgQElucHV0KCkgaXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlbGV0ZUxpbmVFdmVudDogRXZlbnRFbWl0dGVyPFBsYW5PcmRlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPFBsYW5PcmRlcj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWxldGVMaW5lQ2xpY2sob3JkZXI6IFBsYW5PcmRlcikge1xyXG4gICAgdGhpcy5kZWxldGVMaW5lRXZlbnQuZW1pdChvcmRlcik7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXRMaW5lc0FjdGl2ZSgpIHtcclxuICAgIHRoaXMubGluZXNBY3RpdmUgPSAhdGhpcy5saW5lc0FjdGl2ZTtcclxuICAgIHRoaXMub3JkZXJMaW5lcyA9IGZhbHNlO1xyXG4gIH1cclxuICBwdWJsaWMgc2hvd09yZGVyTGluZXMoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgIC8vIFN0b3AgdGhlIGV2ZW50IGZyb20gcHJvcGFnYXRpbmcgdG8gcGFyZW50IGVsZW1lbnRzXHJcbiAgICB0aGlzLm9yZGVyTGluZXMgPSAhdGhpcy5vcmRlckxpbmVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFBsYW5uZWRMaW5lcyhsaW5lczogUGxhbk9yZGVyTGluZVtdKSB7XHJcbiAgICByZXR1cm4gbGluZXMuZmlsdGVyKGxpbmUgPT4gbGluZS5wbGFubmVkID09PSB0cnVlKTtcclxuICB9XHJcbn1cclxuIl19