@colijnit/transaction 255.1.38 → 255.1.39

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 (44) hide show
  1. package/bundles/colijnit-transaction.umd.js +321 -70
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +18 -1
  5. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +53 -33
  6. 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
  7. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +12 -2
  8. 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
  9. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +79 -24
  10. package/esm2015/lib/component/transaction/transaction.component.js +4 -1
  11. package/esm2015/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.js +33 -4
  12. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +7 -4
  13. package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +2 -1
  14. package/esm2015/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.js +2 -2
  15. 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
  16. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +3 -2
  17. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +2 -1
  18. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/transaction-purchase-reservation-order-tile.component.js +4 -14
  19. package/esm2015/lib/enum/icon.enum.js +7 -1
  20. package/esm2015/lib/model/icon-svg.js +7 -1
  21. package/esm2015/lib/transaction-version.js +3 -3
  22. package/fesm2015/colijnit-transaction.js +296 -96
  23. package/fesm2015/colijnit-transaction.js.map +1 -1
  24. package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +4 -0
  25. package/lib/component/delivery-planning/style/_layout.scss +22 -1
  26. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +9 -6
  27. 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
  28. 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
  29. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +9 -0
  30. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_layout.scss +13 -0
  31. 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
  32. package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +16 -0
  33. package/lib/component/delivery-planning-main/component/delivery-planning-overview/style/_layout.scss +9 -6
  34. package/lib/component/delivery-planning-main/style/_layout.scss +0 -1
  35. package/lib/component/transaction/transaction.component.d.ts +1 -0
  36. package/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.d.ts +19 -0
  37. package/lib/component/transaction-internal/style/_layout.scss +6 -0
  38. package/lib/component/transaction-internal/transaction-internal.component.d.ts +1 -0
  39. package/lib/component/transaction-line-side-panel-planning/style/_layout.scss +20 -17
  40. 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
  41. 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
  42. package/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/style/_layout.scss +26 -20
  43. package/lib/enum/icon.enum.d.ts +6 -0
  44. package/package.json +1 -1
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVwRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUUvRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQVNwRyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQzs7O0FBSzFGLE1BQU0sT0FBTyx1QkFBdUI7SUEyRmxDLFlBQ1UsWUFBeUM7UUFBekMsaUJBQVksR0FBWixZQUFZLENBQTZCO1FBM0YzQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHVCQUFrQixHQUE0QixFQUFFLENBQUM7UUFDakQscUJBQWdCLEdBQXFCLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQWUsRUFBRSxDQUFDO1FBQzVCLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUF5QixFQUFFLENBQUM7UUFDdEMsZ0JBQVcsR0FBZ0IsRUFBRSxDQUFDO1FBRTlCLG9CQUFlLEdBQXFELElBQUksU0FBUyxFQUFFLENBQUM7UUFJckYsd0JBQW1CLEdBQWtDLDZCQUE2QixDQUFDLElBQUksQ0FBQztRQUN4RixvQkFBZSxHQUE4Qix5QkFBeUIsQ0FBQyxNQUFNLENBQUM7UUFDOUUscUJBQWdCLEdBQWlCLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDdkQsYUFBUSxHQUE4Qix5QkFBeUIsQ0FBQyxVQUFVLENBQUM7UUFDM0Usd0JBQW1CLEdBQTBCLHFCQUFxQixDQUFDLFdBQVcsQ0FBQztRQUUvRSxxQkFBZ0IsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBMkV4QyxDQUFDO0lBdEVKLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBS0QsSUFBVyxRQUFRLENBQUMsS0FBSztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxpQkFBaUIsQ0FBRSxLQUFLO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsZUFBZSxDQUFDLE9BQXlCO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsU0FBUyxDQUFDLFNBQXNCO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFNBQVMsQ0FBQyxTQUErQjtRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxNQUFNLENBQUUsTUFBZTtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBR0QsSUFBVyxVQUFVLENBQUUsTUFBbUI7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQWFZLHFCQUFxQjs7WUFDaEMsT0FBTyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7S0FBQTtJQUVZLGtCQUFrQixDQUFDLHdCQUFrRDs7WUFDaEYsSUFBSSxPQUFPLEdBQThCLElBQUkseUJBQXlCLEVBQUUsQ0FBQTtZQUN4RSxPQUFPLENBQUMsV0FBVyxHQUFHLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7WUFDckUsT0FBTyxDQUFDLElBQUksR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUM7WUFDN0MsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztZQUNyRCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUUsSUFBRyxhQUFhLEVBQUU7Z0JBQ2hCLHdCQUF3QixDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7Z0JBQ3ZELHdCQUF3QixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7YUFDOUM7WUFFRCxPQUFPLHdCQUF3QixDQUFDO1FBQ2xDLENBQUM7S0FBQTtJQUdNLDRCQUE0QixDQUFDLEtBQWdCO1FBQ2xELElBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN2QixJQUFJLE9BQU8sR0FBNkIsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1lBQ3ZFLElBQUksU0FBUyxHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDakUsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztZQUNyRCxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDaEMsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQzVDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQ2pDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFVLEVBQUUsS0FBYTtRQUN2QyxNQUFNLFVBQVUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYSxDQUFDLFdBQW1CO1FBQ3RDLElBQUksT0FBOEMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQyxJQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7Z0JBQzNELE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVZLHdCQUF3Qjs7WUFDbkMsSUFBSSxVQUFVLEdBQVUsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO2dCQUN0SSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNyQixNQUFNLENBQUMsT0FBTyxDQUFFLENBQUMsSUFBMkIsRUFBRSxFQUFFO3dCQUM5QyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEUsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7S0FBQTs7OztZQW5LRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXpCTywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlc30gZnJvbSBcIi4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdmlldy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtTZXF1ZW5jZU5hbWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zZXF1ZW5jZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7R2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtdHJhbnNwb3J0LW9yZGVycy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLmJvXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZXMtcGxhbm5lZC1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctZmlsdGVyLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0Rpc3RyaWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Rpc3RyaWN0LmJvXCI7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2tpbGwuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtVc2VyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdXNlci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge1xyXG4gIERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnRcclxufSBmcm9tIFwiLi4vLi4vZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy10aWxlLW1vZGVzLmVudW1cIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcGxhblRyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gW107XHJcbiAgcHJpdmF0ZSBfZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZGlzdHJpY3RzOiBEaXN0cmljdFtdID0gW107XHJcbiAgcHJpdmF0ZSBfc2tpbGxzOiBTa2lsbFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZW1wbG95ZWVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VzZXJHcm91cHM6IFVzZXJHcm91cFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3RpbGVzUXVlcnlMaXN0OiBRdWVyeUxpc3Q8RGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUNvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0KCk7XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGN1cnJlbnRDYWxlbmRhck1vZGU6IERlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzID0gRGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXMuV2VlaztcclxuICBwdWJsaWMgY3VycmVudFRpbGVNb2RlOiBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzID0gRGVsaXZlcnlQbGFubmluZ1RpbGVNb2Rlcy5Ob3JtYWw7XHJcbiAgcHVibGljIGRhdGVQbGFubmluZ01vZGU6IENhbGVuZGFyVmlldyA9IENhbGVuZGFyVmlldy5XZWVrVmlldztcclxuICBwdWJsaWMgdmlld01vZGU6IERlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVmlld01vZGVzLkZ1bGxzY3JlZW47XHJcbiAgcHVibGljIGN1cnJlbnRQbGFubmluZ01vZGU6IERlbGl2ZXJ5UGxhbm5pbmdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdNb2Rlcy5UcmFuc2FjdGlvbjtcclxuICBwdWJsaWMgY3VycmVudFBsYW5uaW5nOiBQbGFubmluZztcclxuICBwdWJsaWMgY3VycmVudFN0YXJ0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gIHB1YmxpYyBsaW5lc1BsYW5PcmRlcjogUGxhbk9yZGVyO1xyXG5cclxuXHJcbiAgcHVibGljIGdldCBkcmFnZ2luZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9kcmFnZ2luZztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcGxhblRyYW5zcG9ydFdlZWsoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGxhblRyYW5zcG9ydFdlZWs7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRlbGl2ZXJ5TWV0aG9kcygpOiBEZWxpdmVyeU1ldGhvZFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxpdmVyeU1ldGhvZHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc3RyaWN0cygpOiBEaXN0cmljdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXN0cmljdHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGVtcGxveWVlcygpOiBSZWxhdGlvbkxpc3RPYmplY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW1wbG95ZWVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBza2lsbHMoKTogU2tpbGxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2tpbGxzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB1c2VyR3JvdXBzKCk6IFVzZXJHcm91cFtdIHtcclxuICAgIHJldHVybiB0aGlzLl91c2VyR3JvdXBzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBxdWVyeUxpc3QoKTogUXVlcnlMaXN0PERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnQ+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
@@ -19,6 +19,7 @@ export class DeliveryPlanningOverviewTileComponent {
19
19
  this.getTransportOrdersEvent = new EventEmitter();
20
20
  this.updatePlanningTransportWeek = new EventEmitter();
21
21
  this.openSettingsDialogEvent = new EventEmitter();
22
+ this.calendarPlanEvent = new EventEmitter();
22
23
  }
23
24
  get tileMode() {
24
25
  return this._deliveryPlanningService.currentTileMode;
@@ -38,6 +39,10 @@ export class DeliveryPlanningOverviewTileComponent {
38
39
  drop(event) {
39
40
  // moveItemInArray(this.planningLines, event.previousIndex, event.currentIndex);
40
41
  }
42
+ handleDrop(event) {
43
+ event.preventDefault();
44
+ event.stopPropagation();
45
+ }
41
46
  formattedDate(date) {
42
47
  return `${this._datePipe.transform(date, 'H:mm', "GMT+1")}`;
43
48
  }
@@ -68,6 +73,9 @@ export class DeliveryPlanningOverviewTileComponent {
68
73
  order.endTime = new Date(obj['endTime']);
69
74
  this.updatePlanningTransportWeek.emit();
70
75
  }
76
+ handleCalendarPlanEvent(data) {
77
+ this.calendarPlanEvent.emit(data);
78
+ }
71
79
  }
72
80
  DeliveryPlanningOverviewTileComponent.decorators = [
73
81
  { type: Component, args: [{
@@ -144,7 +152,8 @@ DeliveryPlanningOverviewTileComponent.decorators = [
144
152
  [customTemplateUsed]="true"
145
153
  [idProp]="'transId'"
146
154
  (timeChangeEvent)="handleTimeChangeEvent($event)"
147
-
155
+ (drop)="handleDrop($event)"
156
+ (newObjectPlanEvent)="handleCalendarPlanEvent($event)"
148
157
  ></co-hour-scheduling>
149
158
  </div>
150
159
  </co-collapsible>
@@ -168,6 +177,7 @@ DeliveryPlanningOverviewTileComponent.propDecorators = {
168
177
  getTransportOrdersEvent: [{ type: Output }],
169
178
  updatePlanningTransportWeek: [{ type: Output }],
170
179
  openSettingsDialogEvent: [{ type: Output }],
180
+ calendarPlanEvent: [{ type: Output }],
171
181
  showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-tile",] }]
172
182
  };
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJN0csT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQXNGbkcsTUFBTSxPQUFPLHFDQUFxQztJQXNDaEQsWUFDVSxTQUFtQixFQUNuQix3QkFBaUQsRUFDbEQsZ0JBQWtDO1FBRmpDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeEMzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQXFDLHlCQUF5QixDQUFDO1FBRWpGLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGFB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MUMsQ0FBQzs7O1lBbkxGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0NBQW9DO2dCQUM5QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErRVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXpGTyxRQUFRO1lBQ1IsdUJBQXVCO1lBRXZCLGdCQUFnQjs7O3VCQTZGckIsS0FBSzsyQkFHTCxLQUFLOzRCQUdMLE1BQU07OEJBR04sTUFBTTtzQ0FHTixNQUFNOzBDQUdOLE1BQU07c0NBR04sTUFBTTt3QkFTTixXQUFXLFNBQUMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q2RrRHJhZ0Ryb3B9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLWRheS5ib1wiO1xyXG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy10aWxlLW1vZGVzLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpbGUtd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGVcIiAoY2xpY2spPVwiZXhwYW5kZWRDaGFuZ2UoKVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCIhZXhwYW5kZWRcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNhcmV0RG93blNvbGlkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiZXhwYW5kZWRcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNhcmV0VXBTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJ0cmFuc3BvcnREYXk/LnRyYW5zcG9ydC5yZWdpc3RyYXRpb25OdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRydWNrLWhlYWRlci10aWxlXCI+XHJcbiAgICAgICAgICA8Y28taWNvblxyXG4gICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRydWNrQ29udGFpbmVyRHVvKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic21hbGxcIiAoY2xpY2spPVwib3BlblNldHRpbmdzRGlhbG9nKClcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TbGlkZXJzVXBSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXdyYXBwZXIgcm93XCI+XHJcbiAgICAgICAgICA8Y28tZGVsaXZlcnktcGxhbm5pbmctdGlsZS1zdGF0dXNcclxuICAgICAgICAgICAgW2N1cnJlbnRWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5vcmRlckFtb3VudFwiXHJcbiAgICAgICAgICAgIFttYXhWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5tYXhPcmRlckFtb3VudFwiXHJcbiAgICAgICAgICAgIFtjdXJyZW50VGltZVRvdGFsXT1cInRyYW5zcG9ydERheT8ubWludXRlc1wiXHJcbiAgICAgICAgICAgIFt0aW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5tYXhNaW51dGVzXCI+XHJcbiAgICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtc3RhdHVzPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLXNob3J0LWxpbmUtd3JhcHBlclwiICpuZ0lmPVwiIWV4cGFuZGVkXCI+XHJcbiAgICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy1zaG9ydC1saW5lXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9yZGVyIG9mIHRyYW5zcG9ydERheT8ucGxhbm5lZE9yZGVyc1wiXHJcbiAgICAgICAgICAgICAgKGRlbGV0ZUxpbmVFdmVudCk9XCJoYW5kbGVEZWxldGVMaW5lQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW29yZGVyXT1cIm9yZGVyXCI+XHJcbiAgICAgICAgICAgIDwvY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctc2hvcnQtbGluZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjby1jb2xsYXBzaWJsZSBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWxlLWNvbnRlbnQtd3JhcHBlciBjb2x1bW5cIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1saW5lcy13cmFwcGVyXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwidGlsZU1vZGUgPT09IHRpbGVNb2Rlcy5Ob3JtYWxcIj5cclxuICAgICAgICAgICAgICA8Y28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lIGNka0RyYWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcmRlciBvZiB0cmFuc3BvcnREYXk/LnBsYW5uZWRPcmRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUxpbmVFdmVudCk9XCJoYW5kbGVEZWxldGVMaW5lQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIj5cclxuICAgICAgICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtbGluZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbVRlbXBsYXRlIGxldC1ob3VyPVwiaG91clwiIGxldC1vYmplY3RzPVwib2JqZWN0c1wiPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvYmogb2Ygb2JqZWN0c1wiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLXNjaGVkdWxlZC1vYmplY3RcIlxyXG4gICAgICAgICAgICAgICAgICBkcmFnZ2FibGU9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgKGRyYWdzdGFydCk9XCJvbkN1c3RvbURyYWdTdGFydCgkZXZlbnQsIG9iailcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lIGNka0RyYWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb2JqIG9mIG9iamVjdHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVMaW5lRXZlbnQpPVwiaGFuZGxlRGVsZXRlTGluZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlcl09XCJvYmpcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLWxpbmU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxjby1ob3VyLXNjaGVkdWxpbmcgKm5nSWY9XCJvcmRlcnNMb2FkZWQgJiYgdGlsZU1vZGUgPT09IHRpbGVNb2Rlcy5DYWxlbmRhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjaGVkdWxlXT1cInRyYW5zcG9ydERheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0VGltZVByb3BdPVwiJ3N0YXJ0VGltZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmRUaW1lUHJvcF09XCInZW5kVGltZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmplY3RzUHJvcF09XCIncGxhbm5lZE9yZGVycydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGlsZFByb3BdPVwiJ3RyYW5zcG9ydCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21UZW1wbGF0ZV09XCJjdXN0b21UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVRlbXBsYXRlVXNlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRQcm9wXT1cIid0cmFuc0lkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRpbWVDaGFuZ2VFdmVudCk9XCJoYW5kbGVUaW1lQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXHJcblxyXG4gICAgICAgICAgICA+PC9jby1ob3VyLXNjaGVkdWxpbmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2NvLWNvbGxhcHNpYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IHRpbGVNb2RlczogdHlwZW9mIERlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzO1xyXG5cclxuICBwdWJsaWMgb3JkZXJzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zcG9ydERheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZXhwYW5kZWRFdmVudDogRXZlbnRFbWl0dGVyPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4gPSBuZXcgRXZlbnRFbWl0dGVyPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlbGV0ZUxpbmVFdmVudDogRXZlbnRFbWl0dGVyPFtQbGFuT3JkZXIsIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheV0+ID0gbmV3IEV2ZW50RW1pdHRlcjxbUGxhbk9yZGVyLCBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXldPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZ2V0VHJhbnNwb3J0T3JkZXJzRXZlbnQ6IEV2ZW50RW1pdHRlcjxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+ID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB1cGRhdGVQbGFubmluZ1RyYW5zcG9ydFdlZWs6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9wZW5TZXR0aW5nc0RpYWxvZ0V2ZW50OiBFdmVudEVtaXR0ZXI8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PiA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IHRpbGVNb2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRUaWxlTW9kZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRlZDogYm9vbGVhbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmKHRoaXMudHJhbnNwb3J0RGF5KSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5nZXRUcmFuc3BvcnRPcmRlcnModGhpcy50cmFuc3BvcnREYXkpO1xyXG4gICAgICAgICAgdGhpcy5vcmRlcnNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5nZXRUcmFuc3BvcnRPcmRlcnNFdmVudC5lbWl0KHRoaXMudHJhbnNwb3J0RGF5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gIHB1YmxpYyBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIC8vIG1vdmVJdGVtSW5BcnJheSh0aGlzLnBsYW5uaW5nTGluZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBmb3JtYXR0ZWREYXRlKGRhdGU6IERhdGUpIHtcclxuICAgIHJldHVybiBgJHt0aGlzLl9kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ0g6bW0nLCBcIkdNVCsxXCIpfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kZWRDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XHJcbiAgICBpZih0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5nZXRUcmFuc3BvcnRPcmRlcnModGhpcy50cmFuc3BvcnREYXkpLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgIHRoaXMudHJhbnNwb3J0RGF5ID0gcmVzdWx0O1xyXG4gICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVsZXRlTGluZUNsaWNrKG9yZGVyOiBQbGFuT3JkZXIpIHtcclxuICAgIHRoaXMuZGVsZXRlTGluZUV2ZW50LmVtaXQoW29yZGVyLCB0aGlzLnRyYW5zcG9ydERheV0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNldHRpbmdzU2F2ZSgpIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DdXN0b21EcmFnU3RhcnQoZXZlbnQ6IERyYWdFdmVudCwgb2JqOiBQbGFuT3JkZXIpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRIb3VyID0gb2JqWydzdGFydFRpbWUnXSArIFwiOjAwXCI7IC8vIEFzc3VtaW5nIHN0YXJ0IGhvdXIgaXMgdXNlZFxyXG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyIS5zZXREYXRhKFwidGV4dFwiLCBKU09OLnN0cmluZ2lmeSh7IG9iaiwgY3VycmVudEhvdXIgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5TZXR0aW5nc0RpYWxvZygpIHtcclxuICAgIHRoaXMub3BlblNldHRpbmdzRGlhbG9nRXZlbnQuZW1pdCh0aGlzLnRyYW5zcG9ydERheSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVGltZUNoYW5nZUV2ZW50KG9iajogT2JqZWN0KSB7XHJcbiAgICBsZXQgdHJhbnNOciA9IG9ialsndHJhbnNhY3Rpb25OciddO1xyXG4gICAgbGV0IG9yZGVyID0gdGhpcy50cmFuc3BvcnREYXkucGxhbm5lZE9yZGVycy5maW5kKCBwbGFuT3JkZXIgPT4gcGxhbk9yZGVyLnRyYW5zYWN0aW9uTnIgPT09IHRyYW5zTnIpO1xyXG4gICAgb3JkZXIuc3RhcnRUaW1lID0gbmV3IERhdGUob2JqWydzdGFydFRpbWUnXSk7XHJcbiAgICBvcmRlci5lbmRUaW1lID0gbmV3IERhdGUob2JqWydlbmRUaW1lJ10pO1xyXG5cclxuICAgIHRoaXMudXBkYXRlUGxhbm5pbmdUcmFuc3BvcnRXZWVrLmVtaXQoKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJN0csT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQXVGbkcsTUFBTSxPQUFPLHFDQUFxQztJQXlDaEQsWUFDVSxTQUFtQixFQUNuQix3QkFBaUQsRUFDbEQsZ0JBQWtDO1FBRmpDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBM0MzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQXFDLHlCQUF5QixDQUFDO1FBRWpGLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGFB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VyxDQUFDLENBQUMsQ0FBQztRQUM3QyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsSUFBd0M7UUFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUFqTUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTFGTyxRQUFRO1lBQ1IsdUJBQXVCO1lBRXZCLGdCQUFnQjs7O3VCQThGckIsS0FBSzsyQkFHTCxLQUFLOzRCQUdMLE1BQU07OEJBR04sTUFBTTtzQ0FHTixNQUFNOzBDQUdOLE1BQU07c0NBR04sTUFBTTtnQ0FHTixNQUFNO3dCQVNOLFdBQVcsU0FBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDZGtEcmFnRHJvcH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXN9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9lbnVtL2RlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtbW9kZXMuZW51bVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGlsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiIChjbGljayk9XCJleHBhbmRlZENoYW5nZSgpXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cIiFleHBhbmRlZFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FyZXREb3duU29saWQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJleHBhbmRlZFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FyZXRVcFNvbGlkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInRyYW5zcG9ydERheT8udHJhbnNwb3J0LnJlZ2lzdHJhdGlvbk51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJ1Y2staGVhZGVyLXRpbGVcIj5cclxuICAgICAgICAgIDxjby1pY29uXHJcbiAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVHJ1Y2tDb250YWluZXJEdW8pXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzbWFsbFwiIChjbGljayk9XCJvcGVuU2V0dGluZ3NEaWFsb2coKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNsaWRlcnNVcFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtd3JhcHBlciByb3dcIj5cclxuICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy10aWxlLXN0YXR1c1xyXG4gICAgICAgICAgICBbY3VycmVudFZvbHVtZV09XCJ0cmFuc3BvcnREYXk/Lm9yZGVyQW1vdW50XCJcclxuICAgICAgICAgICAgW21heFZvbHVtZV09XCJ0cmFuc3BvcnREYXk/Lm1heE9yZGVyQW1vdW50XCJcclxuICAgICAgICAgICAgW2N1cnJlbnRUaW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5taW51dGVzXCJcclxuICAgICAgICAgICAgW3RpbWVUb3RhbF09XCJ0cmFuc3BvcnREYXk/Lm1heE1pbnV0ZXNcIj5cclxuICAgICAgICAgIDwvY28tZGVsaXZlcnktcGxhbm5pbmctdGlsZS1zdGF0dXM+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctc2hvcnQtbGluZS13cmFwcGVyXCIgKm5nSWY9XCIhZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgPGNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXNob3J0LWxpbmVcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3JkZXIgb2YgdHJhbnNwb3J0RGF5Py5wbGFubmVkT3JkZXJzXCJcclxuICAgICAgICAgICAgICAoZGVsZXRlTGluZUV2ZW50KT1cImhhbmRsZURlbGV0ZUxpbmVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIj5cclxuICAgICAgICAgICAgPC9jby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy1zaG9ydC1saW5lPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLWNvbGxhcHNpYmxlIFtleHBhbmRlZF09XCJleHBhbmRlZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpbGUtY29udGVudC13cmFwcGVyIGNvbHVtblwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLWxpbmVzLXdyYXBwZXJcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0aWxlTW9kZSA9PT0gdGlsZU1vZGVzLk5vcm1hbFwiPlxyXG4gICAgICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLWxpbmUgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9yZGVyIG9mIHRyYW5zcG9ydERheT8ucGxhbm5lZE9yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlTGluZUV2ZW50KT1cImhhbmRsZURlbGV0ZUxpbmVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlcl09XCJvcmRlclwiPlxyXG4gICAgICAgICAgICAgIDwvY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tVGVtcGxhdGUgbGV0LWhvdXI9XCJob3VyXCIgbGV0LW9iamVjdHM9XCJvYmplY3RzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9iaiBvZiBvYmplY3RzXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tc2NoZWR1bGVkLW9iamVjdFwiXHJcbiAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAoZHJhZ3N0YXJ0KT1cIm9uQ3VzdG9tRHJhZ1N0YXJ0KCRldmVudCwgb2JqKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLWxpbmUgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvYmogb2Ygb2JqZWN0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUxpbmVFdmVudCk9XCJoYW5kbGVEZWxldGVMaW5lQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29yZGVyXT1cIm9ialwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtbGluZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPGNvLWhvdXItc2NoZWR1bGluZyAqbmdJZj1cIm9yZGVyc0xvYWRlZCAmJiB0aWxlTW9kZSA9PT0gdGlsZU1vZGVzLkNhbGVuZGFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NoZWR1bGVdPVwidHJhbnNwb3J0RGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRUaW1lUHJvcF09XCInc3RhcnRUaW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuZFRpbWVQcm9wXT1cIidlbmRUaW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iamVjdHNQcm9wXT1cIidwbGFubmVkT3JkZXJzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoaWxkUHJvcF09XCIndHJhbnNwb3J0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVRlbXBsYXRlXT1cImN1c3RvbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tVGVtcGxhdGVVc2VkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZFByb3BdPVwiJ3RyYW5zSWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGltZUNoYW5nZUV2ZW50KT1cImhhbmRsZVRpbWVDaGFuZ2VFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZHJvcCk9XCJoYW5kbGVEcm9wKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZXdPYmplY3RQbGFuRXZlbnQpPVwiaGFuZGxlQ2FsZW5kYXJQbGFuRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLWhvdXItc2NoZWR1bGluZz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvY28tY29sbGFwc2libGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGlsZU1vZGVzOiB0eXBlb2YgRGVsaXZlcnlQbGFubmluZ1RpbGVNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXM7XHJcblxyXG4gIHB1YmxpYyBvcmRlcnNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNwb3J0RGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBleHBhbmRlZEV2ZW50OiBFdmVudEVtaXR0ZXI8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PiA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVsZXRlTGluZUV2ZW50OiBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5XT4gPSBuZXcgRXZlbnRFbWl0dGVyPFtQbGFuT3JkZXIsIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheV0+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBnZXRUcmFuc3BvcnRPcmRlcnNFdmVudDogRXZlbnRFbWl0dGVyPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4gPSBuZXcgRXZlbnRFbWl0dGVyPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHVwZGF0ZVBsYW5uaW5nVHJhbnNwb3J0V2VlazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb3BlblNldHRpbmdzRGlhbG9nRXZlbnQ6IEV2ZW50RW1pdHRlcjxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+ID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjYWxlbmRhclBsYW5FdmVudDogRXZlbnRFbWl0dGVyPHtjdXJyZW50SG91cjogc3RyaW5nLCBkYXRhOiBzdHJpbmd9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e2N1cnJlbnRIb3VyOiBzdHJpbmcsIGRhdGE6IHN0cmluZ30+KCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgdGlsZU1vZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFRpbGVNb2RlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYodGhpcy50cmFuc3BvcnREYXkpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmdldFRyYW5zcG9ydE9yZGVycyh0aGlzLnRyYW5zcG9ydERheSk7XHJcbiAgICAgICAgICB0aGlzLm9yZGVyc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmdldFRyYW5zcG9ydE9yZGVyc0V2ZW50LmVtaXQodGhpcy50cmFuc3BvcnREYXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgcHVibGljIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG5cclxuICAgIC8vIG1vdmVJdGVtSW5BcnJheSh0aGlzLnBsYW5uaW5nTGluZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGZvcm1hdHRlZERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuX2RhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAnSDptbScsIFwiR01UKzFcIil9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRlZENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuICAgIGlmKHRoaXMuZXhwYW5kZWQpIHtcclxuICAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmdldFRyYW5zcG9ydE9yZGVycyh0aGlzLnRyYW5zcG9ydERheSkudGhlbiggcmVzdWx0ID0+IHtcclxuICAgICAgICAgdGhpcy50cmFuc3BvcnREYXkgPSByZXN1bHQ7XHJcbiAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWxldGVMaW5lQ2xpY2sob3JkZXI6IFBsYW5PcmRlcikge1xyXG4gICAgdGhpcy5kZWxldGVMaW5lRXZlbnQuZW1pdChbb3JkZXIsIHRoaXMudHJhbnNwb3J0RGF5XSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2V0dGluZ3NTYXZlKCkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkN1c3RvbURyYWdTdGFydChldmVudDogRHJhZ0V2ZW50LCBvYmo6IFBsYW5PcmRlcikge1xyXG4gICAgY29uc3QgY3VycmVudEhvdXIgPSBvYmpbJ3N0YXJ0VGltZSddICsgXCI6MDBcIjsgLy8gQXNzdW1pbmcgc3RhcnQgaG91ciBpcyB1c2VkXHJcbiAgICBldmVudC5kYXRhVHJhbnNmZXIhLnNldERhdGEoXCJ0ZXh0XCIsIEpTT04uc3RyaW5naWZ5KHsgb2JqLCBjdXJyZW50SG91ciB9KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNldHRpbmdzRGlhbG9nKCkge1xyXG4gICAgdGhpcy5vcGVuU2V0dGluZ3NEaWFsb2dFdmVudC5lbWl0KHRoaXMudHJhbnNwb3J0RGF5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUaW1lQ2hhbmdlRXZlbnQob2JqOiBPYmplY3QpIHtcclxuICAgIGxldCB0cmFuc05yID0gb2JqWyd0cmFuc2FjdGlvbk5yJ107XHJcbiAgICBsZXQgb3JkZXIgPSB0aGlzLnRyYW5zcG9ydERheS5wbGFubmVkT3JkZXJzLmZpbmQoIHBsYW5PcmRlciA9PiBwbGFuT3JkZXIudHJhbnNhY3Rpb25OciA9PT0gdHJhbnNOcik7XHJcbiAgICBvcmRlci5zdGFydFRpbWUgPSBuZXcgRGF0ZShvYmpbJ3N0YXJ0VGltZSddKTtcclxuICAgIG9yZGVyLmVuZFRpbWUgPSBuZXcgRGF0ZShvYmpbJ2VuZFRpbWUnXSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVQbGFubmluZ1RyYW5zcG9ydFdlZWsuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNhbGVuZGFyUGxhbkV2ZW50KGRhdGE6e2N1cnJlbnRIb3VyOiBzdHJpbmcsIGRhdGE6IHN0cmluZ30pIHtcclxuICAgIHRoaXMuY2FsZW5kYXJQbGFuRXZlbnQuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=