@colijnit/transaction 256.1.38 → 256.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-transaction.umd.js +482 -248
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/lib/component/delivery-planning/delivery-planning.component.js +8 -4
- package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +15 -40
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +53 -53
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +48 -12
- 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 +96 -136
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +82 -60
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-selection/delivery-planning-selection.component.js +36 -21
- package/esm2015/lib/component/delivery-planning-main/delivery-planning-main.component.js +8 -2
- package/esm2015/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +31 -16
- package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +49 -35
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +6 -2
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +24 -1
- package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +7 -2
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +103 -89
- package/esm2015/lib/enum/transaction-cfg-name.enum.js +3 -1
- package/esm2015/lib/service/transaction-connector-adapter.service.js +13 -1
- package/esm2015/lib/service/transaction-connector.service.js +6 -1
- package/esm2015/lib/service/transaction.service.js +6 -1
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +523 -415
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/delivery-planning/delivery-planning.component.d.ts +3 -0
- package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +18 -20
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +2 -2
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +9 -4
- 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 +12 -16
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +27 -25
- package/lib/component/delivery-planning-main/component/delivery-planning-selection/delivery-planning-selection.component.d.ts +11 -6
- package/lib/component/delivery-planning-main/delivery-planning-main.component.d.ts +3 -1
- package/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.component.d.ts +18 -3
- package/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.d.ts +5 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +8 -1
- package/lib/component/transaction-search/service/transaction-search.service.d.ts +3 -2
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +8 -6
- package/lib/enum/transaction-cfg-name.enum.d.ts +3 -1
- package/lib/service/transaction-connector-adapter.service.d.ts +1 -0
- package/lib/service/transaction-connector.service.d.ts +1 -0
- package/lib/service/transaction.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { DeliveryPlanningService } from './service/delivery-planning.service';
|
|
3
3
|
import { DeliveryPlanningViewModes } from '../../enum/delivery-planning-view-modes.enum';
|
|
4
4
|
import { CalendarView } from '@colijnit/sharedcomponents';
|
|
@@ -7,6 +7,7 @@ export class DeliveryPlanningComponent {
|
|
|
7
7
|
constructor(_deliveryPlanningService) {
|
|
8
8
|
this._deliveryPlanningService = _deliveryPlanningService;
|
|
9
9
|
this.viewModes = DeliveryPlanningViewModes;
|
|
10
|
+
this.fullscreenEvent = new EventEmitter();
|
|
10
11
|
}
|
|
11
12
|
set employeeView(value) {
|
|
12
13
|
this._deliveryPlanningService.employeeView = value;
|
|
@@ -32,17 +33,19 @@ export class DeliveryPlanningComponent {
|
|
|
32
33
|
showClass() {
|
|
33
34
|
return true;
|
|
34
35
|
}
|
|
36
|
+
fullscreenToggle() {
|
|
37
|
+
this.fullscreenEvent.emit();
|
|
38
|
+
}
|
|
35
39
|
}
|
|
36
40
|
DeliveryPlanningComponent.decorators = [
|
|
37
41
|
{ type: Component, args: [{
|
|
38
42
|
selector: 'co-delivery-planning',
|
|
39
43
|
template: `
|
|
40
44
|
<div class="row">
|
|
41
|
-
<co-delivery-planning-main>
|
|
45
|
+
<co-delivery-planning-main (fullscreenEvent)="fullscreenToggle()">
|
|
42
46
|
</co-delivery-planning-main>
|
|
43
47
|
</div>
|
|
44
48
|
|
|
45
|
-
|
|
46
49
|
`,
|
|
47
50
|
encapsulation: ViewEncapsulation.None
|
|
48
51
|
},] }
|
|
@@ -56,6 +59,7 @@ DeliveryPlanningComponent.propDecorators = {
|
|
|
56
59
|
currentPlanningViewMode: [{ type: Input }],
|
|
57
60
|
currentPlanningMode: [{ type: Input }],
|
|
58
61
|
calendarViewMode: [{ type: Input }],
|
|
62
|
+
fullscreenEvent: [{ type: Output }],
|
|
59
63
|
showClass: [{ type: HostBinding, args: ['class.co-delivery-planning',] }]
|
|
60
64
|
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmcvZGVsaXZlcnktcGxhbm5pbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQWEvRixNQUFNLE9BQU8seUJBQXlCO0lBNENwQyxZQUFvQix3QkFBaUQ7UUFBakQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQTFDckQsY0FBUyxHQUFxQyx5QkFBeUIsQ0FBQztRQStCakYsb0JBQWUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQVl0RSxDQUFDO0lBekNELElBQ1csWUFBWSxDQUFDLEtBQWM7UUFDcEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDbkQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7UUFDM0UsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDekUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLG1CQUFtQixHQUFHLDZCQUE2QixDQUFDLEdBQUcsQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFDVyxVQUFVLENBQUMsRUFBVTtRQUM5QixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFDVyx1QkFBdUIsQ0FBQyxJQUFJO1FBQ3JDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUNXLG1CQUFtQixDQUFDLElBQTJCO1FBQ3hELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQ1csZ0JBQWdCLENBQUMsSUFBa0I7UUFDNUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBS0QsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDO0lBQ2hELENBQUM7SUFHTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS00sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7O1lBNURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7OztHQU1UO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFoQk8sdUJBQXVCOzs7MkJBcUI1QixLQUFLO3lCQVFMLEtBQUs7c0NBS0wsS0FBSztrQ0FLTCxLQUFLOytCQUtMLEtBQUs7OEJBS0wsTUFBTTt3QkFPTixXQUFXLFNBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXN9IGZyb20gJy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdmlldy1tb2Rlcy5lbnVtJztcclxuaW1wb3J0IHtDYWxlbmRhclZpZXd9IGZyb20gJ0Bjb2xpam5pdC9zaGFyZWRjb21wb25lbnRzJztcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nTW9kZXN9IGZyb20gJy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctbW9kZXMuZW51bSc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXN9IGZyb20gJy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctY2FsZW5kYXItbW9kZXMuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWRlbGl2ZXJ5LXBsYW5uaW5nJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8Y28tZGVsaXZlcnktcGxhbm5pbmctbWFpbiAoZnVsbHNjcmVlbkV2ZW50KT1cImZ1bGxzY3JlZW5Ub2dnbGUoKVwiPlxyXG4gICAgICAgICAgPC9jby1kZWxpdmVyeS1wbGFubmluZy1tYWluPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWxpdmVyeVBsYW5uaW5nQ29tcG9uZW50IHtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdNb2RlczogdHlwZW9mIERlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVmlld01vZGVzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZW1wbG95ZWVWaWV3KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5lbXBsb3llZVZpZXcgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnZpZXdNb2RlID0gRGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlcy5TaWRlYmFyO1xyXG4gICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGF0ZVBsYW5uaW5nTW9kZSA9IENhbGVuZGFyVmlldy5EYXlzQXJvdW5kO1xyXG4gICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudENhbGVuZGFyTW9kZSA9IERlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzLkRheTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCByZWxhdGlvbklkKGlkOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnJlbGF0aW9uSWQgPSBpZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBjdXJyZW50UGxhbm5pbmdWaWV3TW9kZShtb2RlKSB7XHJcbiAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS52aWV3TW9kZSA9IG1vZGU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY3VycmVudFBsYW5uaW5nTW9kZShtb2RlOiBEZWxpdmVyeVBsYW5uaW5nTW9kZXMpIHtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZ01vZGUgPSBtb2RlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGNhbGVuZGFyVmlld01vZGUobW9kZTogQ2FsZW5kYXJWaWV3KSB7XHJcbiAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5kYXRlUGxhbm5pbmdNb2RlID0gbW9kZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBmdWxsc2NyZWVuRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGdldCBjdXJyZW50UGxhbm5pbmdWaWV3TW9kZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS52aWV3TW9kZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmcnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlOiBEZWxpdmVyeVBsYW5uaW5nU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZ1bGxzY3JlZW5Ub2dnbGUoKSB7XHJcbiAgICB0aGlzLmZ1bGxzY3JlZW5FdmVudC5lbWl0KCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { TransactionConnectorService } from
|
|
4
|
-
import { DeliveryPlanningCalendarModes } from
|
|
2
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
3
|
+
import { TransactionConnectorService } from '../../../service/transaction-connector.service';
|
|
4
|
+
import { DeliveryPlanningCalendarModes } from '../../../enum/delivery-planning-calendar-modes.enum';
|
|
5
5
|
import { CalendarView } from '@colijnit/sharedcomponents';
|
|
6
|
-
import { DeliveryPlanningViewModes } from
|
|
7
|
-
import { SequenceName } from
|
|
8
|
-
import { GetTransportOrdersRequest } from
|
|
9
|
-
import { DeliveryPlanningModes } from
|
|
10
|
-
import { OrderLinesPlannedRequest } from
|
|
11
|
-
import { PlanningFilterObject } from
|
|
12
|
-
import { DeliveryPlanningTileModes } from
|
|
13
|
-
import { Subject } from
|
|
6
|
+
import { DeliveryPlanningViewModes } from '../../../enum/delivery-planning-view-modes.enum';
|
|
7
|
+
import { SequenceName } from '@colijnit/transactionapi/build/enum/sequence-name.enum';
|
|
8
|
+
import { GetTransportOrdersRequest } from '@colijnit/transactionapi/build/model/get-transport-orders-request.bo';
|
|
9
|
+
import { DeliveryPlanningModes } from '../../../enum/delivery-planning-modes.enum';
|
|
10
|
+
import { OrderLinesPlannedRequest } from '@colijnit/transactionapi/build/model/order-lines-planned-request.bo';
|
|
11
|
+
import { PlanningFilterObject } from '@colijnit/transactionapi/build/model/planning-filter-object.bo';
|
|
12
|
+
import { DeliveryPlanningTileModes } from '../../../enum/delivery-planning-tile-modes.enum';
|
|
13
|
+
import { Subject } from 'rxjs';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
import * as i1 from "../../../service/transaction-connector.service";
|
|
16
16
|
export class DeliveryPlanningService {
|
|
@@ -30,7 +30,8 @@ export class DeliveryPlanningService {
|
|
|
30
30
|
this.viewMode = DeliveryPlanningViewModes.Fullscreen;
|
|
31
31
|
this.currentPlanningMode = DeliveryPlanningModes.Transaction;
|
|
32
32
|
this.currentStartDate = new Date();
|
|
33
|
-
this.availabilityCheckEvent = new
|
|
33
|
+
this.availabilityCheckEvent = new EventEmitter();
|
|
34
|
+
this.availabilityResetEvent = new EventEmitter();
|
|
34
35
|
this.reRenderHourScheduling = new Subject();
|
|
35
36
|
this.employeeView = false;
|
|
36
37
|
}
|
|
@@ -59,17 +60,8 @@ export class DeliveryPlanningService {
|
|
|
59
60
|
return this._userGroups;
|
|
60
61
|
}
|
|
61
62
|
set dragging(value) {
|
|
62
|
-
if (!this._dragging && value) {
|
|
63
|
-
this.availabilityCheckEvent.next(this.currentTransId);
|
|
64
|
-
}
|
|
65
63
|
this._dragging = value;
|
|
66
64
|
}
|
|
67
|
-
set planTransportWeek(value) {
|
|
68
|
-
this._planTransportWeek = value;
|
|
69
|
-
}
|
|
70
|
-
set planTransportWeekArr(value) {
|
|
71
|
-
this._planTransportWeekArr = value;
|
|
72
|
-
}
|
|
73
65
|
set deliveryMethods(methods) {
|
|
74
66
|
this._deliveryMethods = methods;
|
|
75
67
|
}
|
|
@@ -106,23 +98,6 @@ export class DeliveryPlanningService {
|
|
|
106
98
|
return planningTransportWeekDay;
|
|
107
99
|
});
|
|
108
100
|
}
|
|
109
|
-
makeOrderLinesPlannedRequest(order) {
|
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
if (this.currentPlanning) {
|
|
112
|
-
let request = new OrderLinesPlannedRequest();
|
|
113
|
-
let filterObj = new PlanningFilterObject();
|
|
114
|
-
request.planned = true;
|
|
115
|
-
request.planningId = this.currentPlanning.planningId;
|
|
116
|
-
request.transId = order.transId;
|
|
117
|
-
request.plannedLineId = order.plannedLineId;
|
|
118
|
-
filterObj.onlyCurrentWeek = true;
|
|
119
|
-
filterObj.beginCurrentWeek = new Date();
|
|
120
|
-
filterObj.checkOrderLines = 1;
|
|
121
|
-
request.filterObject = filterObj;
|
|
122
|
-
return request;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
101
|
getOrderLinesPlanned(order) {
|
|
127
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
128
103
|
let request = new OrderLinesPlannedRequest();
|
|
@@ -260,10 +235,10 @@ export class DeliveryPlanningService {
|
|
|
260
235
|
DeliveryPlanningService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DeliveryPlanningService_Factory() { return new DeliveryPlanningService(i0.ɵɵinject(i1.TransactionConnectorService)); }, token: DeliveryPlanningService, providedIn: "root" });
|
|
261
236
|
DeliveryPlanningService.decorators = [
|
|
262
237
|
{ type: Injectable, args: [{
|
|
263
|
-
providedIn:
|
|
238
|
+
providedIn: 'root'
|
|
264
239
|
},] }
|
|
265
240
|
];
|
|
266
241
|
DeliveryPlanningService.ctorParameters = () => [
|
|
267
242
|
{ type: TransactionConnectorService }
|
|
268
243
|
];
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUMzRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFMUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBRXBGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBRS9HLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBTXBHLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUs3QixNQUFNLE9BQU8sdUJBQXVCO0lBc0dsQyxZQUNVLFlBQXlDO1FBQXpDLGlCQUFZLEdBQVosWUFBWSxDQUE2QjtRQXRHM0MsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQix1QkFBa0IsR0FBNEIsRUFBRSxDQUFDO1FBQ2pELDBCQUFxQixHQUFpQyxFQUFFLENB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QGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlc30gZnJvbSBcIi4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdmlldy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtTZXF1ZW5jZU5hbWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zZXF1ZW5jZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7R2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtdHJhbnNwb3J0LW9yZGVycy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLmJvXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZXMtcGxhbm5lZC1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctZmlsdGVyLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0Rpc3RyaWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Rpc3RyaWN0LmJvXCI7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2tpbGwuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtVc2VyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdXNlci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXN9IGZyb20gXCIuLi8uLi8uLi9lbnVtL2RlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtbW9kZXMuZW51bVwiO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvXCI7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcGxhblRyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gW107XHJcbiAgcHJpdmF0ZSBfcGxhblRyYW5zcG9ydFdlZWtBcnI6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZGlzdHJpY3RzOiBEaXN0cmljdFtdID0gW107XHJcbiAgcHJpdmF0ZSBfc2tpbGxzOiBTa2lsbFtdID0gW107XHJcbiAgcHJpdmF0ZSBfZW1wbG95ZWVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VzZXJHcm91cHM6IFVzZXJHcm91cFtdID0gW107XHJcblxyXG5cclxuICBwdWJsaWMgY3VycmVudENhbGVuZGFyTW9kZTogRGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nQ2FsZW5kYXJNb2Rlcy5XZWVrO1xyXG4gIHB1YmxpYyBjdXJyZW50VGlsZU1vZGU6IERlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzLk5vcm1hbDtcclxuICBwdWJsaWMgZGF0ZVBsYW5uaW5nTW9kZTogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LldlZWtWaWV3O1xyXG4gIHB1YmxpYyB2aWV3TW9kZTogRGVsaXZlcnlQbGFubmluZ1ZpZXdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXMuRnVsbHNjcmVlbjtcclxuICBwdWJsaWMgY3VycmVudFBsYW5uaW5nTW9kZTogRGVsaXZlcnlQbGFubmluZ01vZGVzID0gRGVsaXZlcnlQbGFubmluZ01vZGVzLlRyYW5zYWN0aW9uO1xyXG4gIHB1YmxpYyBjdXJyZW50UGxhbm5pbmc6IFBsYW5uaW5nO1xyXG4gIHB1YmxpYyBjdXJyZW50U3RhcnREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgcGxhbk9yZGVyRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgY3VycmVudFRyYW5zSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgZGVsZXRpbmdPcmRlcjogUGxhbk9yZGVyO1xyXG4gIHB1YmxpYyBsaW5lc1BsYW5PcmRlcjogUGxhbk9yZGVyO1xyXG4gIHB1YmxpYyBhdmFpbGFiaWxpdHlDaGVja0V2ZW50OlN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcclxuICBwdWJsaWMgcmVSZW5kZXJIb3VyU2NoZWR1bGluZzogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIG1vdmluZ1RyYW5zSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcmVsYXRpb25JZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBlbXBsb3llZVZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIHB1YmxpYyBnZXQgZHJhZ2dpbmcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZHJhZ2dpbmc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHBsYW5UcmFuc3BvcnRXZWVrKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwbGFuVHJhbnNwb3J0V2Vla0FycigpOlBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrQXJyO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBnZXQgZGVsaXZlcnlNZXRob2RzKCk6IERlbGl2ZXJ5TWV0aG9kW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5TWV0aG9kcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGlzdHJpY3RzKCk6IERpc3RyaWN0W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3RyaWN0cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZW1wbG95ZWVzKCk6IFJlbGF0aW9uTGlzdE9iamVjdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9lbXBsb3llZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNraWxscygpOiBTa2lsbFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9za2lsbHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJHcm91cHMoKTogVXNlckdyb3VwW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJHcm91cHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGRyYWdnaW5nKHZhbHVlKSB7XHJcbiAgICBpZighdGhpcy5fZHJhZ2dpbmcgJiYgdmFsdWUpIHtcclxuICAgICAgdGhpcy5hdmFpbGFiaWxpdHlDaGVja0V2ZW50Lm5leHQodGhpcy5jdXJyZW50VHJhbnNJZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9kcmFnZ2luZyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBwbGFuVHJhbnNwb3J0V2VlayggdmFsdWUpIHtcclxuICAgIHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHBsYW5UcmFuc3BvcnRXZWVrQXJyKCB2YWx1ZTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W11bXSkge1xyXG4gICAgdGhpcy5fcGxhblRyYW5zcG9ydFdlZWtBcnIgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZGVsaXZlcnlNZXRob2RzKG1ldGhvZHM6IERlbGl2ZXJ5TWV0aG9kW10pIHtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5TWV0aG9kcyA9IG1ldGhvZHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGRpc3RyaWN0cyhkaXN0cmljdHM6ICBEaXN0cmljdFtdKSB7XHJcbiAgICB0aGlzLl9kaXN0cmljdHMgPSBkaXN0cmljdHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGVtcGxveWVlcyhlbXBsb3llZXM6IFJlbGF0aW9uTGlzdE9iamVjdFtdKSB7XHJcbiAgICB0aGlzLl9lbXBsb3llZXMgPSBlbXBsb3llZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHNraWxscyggc2tpbGxzOiBTa2lsbFtdKSB7XHJcbiAgICB0aGlzLl9za2lsbHMgPSBza2lsbHM7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHNldCB1c2VyR3JvdXBzKCBncm91cHM6IFVzZXJHcm91cFtdKSB7XHJcbiAgICB0aGlzLl91c2VyR3JvdXBzID0gZ3JvdXBzO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLFxyXG5cclxuICApIHt9XHJcblxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRPcmRlclNlcXVlbmNlVmFsdWUoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRTZXF1ZW5jZVZhbHVlKFNlcXVlbmNlTmFtZS5QbGFuTGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VHJhbnNwb3J0T3JkZXJzKHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KTogUHJvbWlzZTxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+IHtcclxuICAgIGlmKHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS50cmFuc3BvcnQpIHtcclxuICAgICAgbGV0IHJlcXVlc3Q6IEdldFRyYW5zcG9ydE9yZGVyc1JlcXVlc3QgPSBuZXcgR2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdCgpXHJcbiAgICAgIHJlcXVlc3QudHJhbnNwb3J0SWQgPSBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkudHJhbnNwb3J0LnRyYW5zcG9ydElkO1xyXG4gICAgICByZXF1ZXN0LmRhdGUgPSBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkuZGF0ZTtcclxuICAgICAgcmVxdWVzdC5wbGFubmluZ0lkID0gdGhpcy5jdXJyZW50UGxhbm5pbmcucGxhbm5pbmdJZDtcclxuICAgICAgY29uc3Qgb3JkZXJSZXNwb25zZSA9IGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uLmdldFRyYW5zcG9ydE9yZGVycyhyZXF1ZXN0KTtcclxuICAgICAgaWYgKG9yZGVyUmVzcG9uc2UgJiYgb3JkZXJSZXNwb25zZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LnBsYW5uZWRPcmRlcnMgPSBvcmRlclJlc3BvbnNlO1xyXG4gICAgICAgIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS5vcmRlcnNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgbWFrZU9yZGVyTGluZXNQbGFubmVkUmVxdWVzdChvcmRlcjogUGxhbk9yZGVyKTogUHJvbWlzZTxPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3Q+IHtcclxuICAgIGlmKHRoaXMuY3VycmVudFBsYW5uaW5nKSB7XHJcbiAgICAgIGxldCByZXF1ZXN0OiBPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QgPSBuZXcgT3JkZXJMaW5lc1BsYW5uZWRSZXF1ZXN0KCk7XHJcbiAgICAgIGxldCBmaWx0ZXJPYmo6IFBsYW5uaW5nRmlsdGVyT2JqZWN0ID0gbmV3IFBsYW5uaW5nRmlsdGVyT2JqZWN0KCk7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5lZCA9IHRydWU7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5pbmdJZCA9IHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQ7XHJcbiAgICAgIHJlcXVlc3QudHJhbnNJZCA9IG9yZGVyLnRyYW5zSWQ7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5lZExpbmVJZCA9IG9yZGVyLnBsYW5uZWRMaW5lSWQ7XHJcbiAgICAgIGZpbHRlck9iai5vbmx5Q3VycmVudFdlZWsgPSB0cnVlO1xyXG4gICAgICBmaWx0ZXJPYmouYmVnaW5DdXJyZW50V2VlayA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGZpbHRlck9iai5jaGVja09yZGVyTGluZXMgPSAxO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlck9iamVjdCA9IGZpbHRlck9iajtcclxuICAgICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJMaW5lc1BsYW5uZWQob3JkZXI6IFBsYW5PcmRlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHJlcXVlc3Q6IE9yZGVyTGluZXNQbGFubmVkUmVxdWVzdCA9IG5ldyBPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QoKTtcclxuICAgIGxldCBmaWx0ZXJPYmo6IFBsYW5uaW5nRmlsdGVyT2JqZWN0ID0gbmV3IFBsYW5uaW5nRmlsdGVyT2JqZWN0KCk7XHJcbiAgICByZXF1ZXN0LnBsYW5uZWQgPSB0cnVlO1xyXG4gICAgcmVxdWVzdC5wbGFubmluZ0lkID0gdGhpcy5jdXJyZW50UGxhbm5pbmcucGxhbm5pbmdJZDtcclxuICAgIHJlcXVlc3QudHJhbnNJZCA9IG9yZGVyLnRyYW5zSWQ7XHJcbiAgICByZXF1ZXN0LnBsYW5uZWRMaW5lSWQgPSBvcmRlci5wbGFubmVkTGluZUlkO1xyXG4gICAgZmlsdGVyT2JqLm9ubHlDdXJyZW50V2VlayA9IHRydWU7XHJcbiAgICBmaWx0ZXJPYmouYmVnaW5DdXJyZW50V2VlayA9IG5ldyBEYXRlKCk7XHJcbiAgICBmaWx0ZXJPYmouY2hlY2tPcmRlckxpbmVzID0gMTtcclxuICAgIHJlcXVlc3QuZmlsdGVyT2JqZWN0ID0gZmlsdGVyT2JqO1xyXG4gICAgaWYgKCFvcmRlci5saW5lcykge1xyXG4gICAgICBvcmRlci5saW5lcyA9IFtdO1xyXG4gICAgfVxyXG4gICAgb3JkZXIubGluZXMucHVzaCguLi5hd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRPcmRlckxpbmVzUGxhbm5lZChyZXF1ZXN0KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VxdWVuY2VPcmRlclZhbHVlKG9yZGVyOiBQbGFuT3JkZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIG9yZGVyLnBsYW5uZWRMaW5lSWQgPSBhd2FpdCB0aGlzLmdldE9yZGVyU2VxdWVuY2VWYWx1ZSgpO1xyXG4gICAgb3JkZXIuY2hhaW5lZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBsYW5uaW5nVHJhbnNwb3J0V2VlaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgaWYodGhpcy5lbXBsb3llZVZpZXcgJiYgdGhpcy5yZWxhdGlvbklkKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb24uZ2V0UGxhbm5lZExpbmVzRm9yRW1wbG95ZWUodGhpcy5jdXJyZW50UGxhbm5pbmcucGxhbm5pbmdJZCwgdGhpcy5yZWxhdGlvbklkLCB0aGlzLmN1cnJlbnRTdGFydERhdGUpLnRoZW4oIChyZXN1bHQ6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2VlayA9IHJlc3VsdDtcclxuICAgICAgICAgIHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrQXJyID0gdGhpcy5jb252ZXJ0UGxhbm5pbmdUcmFuc3BvcnRXZWVrVG9BcnJheSh0aGlzLl9wbGFuVHJhbnNwb3J0V2Vlayk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uLmdldFBsYW5UcmFuc3BvcnRXZWVrKHRoaXMuY3VycmVudFN0YXJ0RGF0ZSwgdGhpcy5jdXJyZW50UGxhbm5pbmcucGxhbm5pbmdJZCkudGhlbigocmVzdWx0OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtbXSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5fcGxhblRyYW5zcG9ydFdlZWsgPSByZXN1bHQ7XHJcbiAgICAgICAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2Vla0FyciA9IHRoaXMuY29udmVydFBsYW5uaW5nVHJhbnNwb3J0V2Vla1RvQXJyYXkodGhpcy5fcGxhblRyYW5zcG9ydFdlZWspO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlUGxhbm5pbmdUcmFuc3BvcnRWYWx1ZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBHZXQgbmV3IHBsYW5uaW5nIHRyYW5zcG9ydCB3ZWVrIGRhdGEgZnJvbSB0aGUgYmFja2VuZFxyXG4gICAgbGV0IG5ld1BsYW5uaW5nVHJhbnNwb3J0V2VlazogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10gPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRQbGFuVHJhbnNwb3J0V2Vlayh0aGlzLmN1cnJlbnRTdGFydERhdGUsIHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQpO1xyXG5cclxuICAgIC8vIENvbnZlcnQgdGhlIG5ldyBwbGFubmluZyB0cmFuc3BvcnQgd2VlayBkYXRhIHRvIGEgbmVzdGVkIGFycmF5XHJcbiAgICBsZXQgbmV3UGxhbm5pbmdOZXN0ZWRBcnIgPSB0aGlzLmNvbnZlcnRQbGFubmluZ1RyYW5zcG9ydFdlZWtUb0FycmF5KG5ld1BsYW5uaW5nVHJhbnNwb3J0V2Vlayk7XHJcblxyXG4gICAgLy8gVXBkYXRlIHRoZSBvbGQgbmVzdGVkIGFycmF5ICh0aGlzLl9wbGFuVHJhbnNwb3J0V2Vla0Fycikgd2l0aCBuZXcgdmFsdWVzXHJcbiAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2Vla0Fyci5mb3JFYWNoKChvbGRXZWVrRGF5czogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W10sIHdlZWtJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld1dlZWtEYXlzID0gbmV3UGxhbm5pbmdOZXN0ZWRBcnJbd2Vla0luZGV4XTtcclxuXHJcbiAgICAgIC8vIENvbXBhcmUgZWFjaCBkYXkncyBkYXRhIGluIHRoZSBvbGQgYW5kIG5ldyBuZXN0ZWQgYXJyYXlzXHJcbiAgICAgIG5ld1dlZWtEYXlzLmZvckVhY2goIGFzeW5jIChuZXdEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgZGF5SW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9sZERheSA9IG9sZFdlZWtEYXlzW2RheUluZGV4XTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgZm9yIGNoYW5nZXMgYW5kIHVwZGF0ZSBvbmx5IGNoYW5nZWQgcHJvcGVydGllc1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3VwZGF0ZUNoYW5nZWRQcm9wZXJ0aWVzKG9sZERheSwgbmV3RGF5KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4vLyBGdW5jdGlvbiB0byB1cGRhdGUgb25seSB0aGUgY2hhbmdlZCBwcm9wZXJ0aWVzXHJcbiAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlQ2hhbmdlZFByb3BlcnRpZXMob2xkRGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXksIG5ld0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBMaXN0IG9mIHByb3BlcnRpZXMgdG8gY29tcGFyZVxyXG4gICAgY29uc3QgcHJvcGVydGllc1RvQ29tcGFyZSA9IFtcclxuICAgICAgJ21pbnV0ZXMnLFxyXG4gICAgICAnbWF4TWludXRlcycsXHJcbiAgICAgICdtYXhGYWN0b3InLFxyXG4gICAgICAnb3JkZXJBbW91bnQnLFxyXG4gICAgICAnbG9hZCcsXHJcbiAgICAgICdtYXhPcmRlckFtb3VudCcsXHJcbiAgICAgICdmYWN0b3InXHJcbiAgICBdO1xyXG5cclxuICAgIGNvbnN0IHRyYW5zcG9ydFByb3BlcnRpZXNUb0NvbXBhcmU6IHN0cmluZ1tdID0gW1xyXG4gICAgICAnbWF4TG9hZCdcclxuICAgIF07XHJcblxyXG4gICAgcHJvcGVydGllc1RvQ29tcGFyZS5mb3JFYWNoKHByb3BlcnR5ID0+IHtcclxuICAgICAgLy8gQ29tcGFyZSBhbmQgdXBkYXRlIG9ubHkgaWYgdGhlcmUncyBhIGNoYW5nZVxyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkob2xkRGF5W3Byb3BlcnR5XSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RheVtwcm9wZXJ0eV0pKSB7XHJcbiAgICAgICAgb2xkRGF5W3Byb3BlcnR5XSA9IG5ld0RheVtwcm9wZXJ0eV07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRyYW5zcG9ydFByb3BlcnRpZXNUb0NvbXBhcmUuZm9yRWFjaCggcHJvcGVydHkgPT4ge1xyXG4gICAgICBpZihvbGREYXkudHJhbnNwb3J0ICYmIG5ld0RheS50cmFuc3BvcnQpIHtcclxuICAgICAgaWYoSlNPTi5zdHJpbmdpZnkob2xkRGF5LnRyYW5zcG9ydFtwcm9wZXJ0eV0gIT09IEpTT04uc3RyaW5naWZ5KG5ld0RheS50cmFuc3BvcnRbcHJvcGVydHldKSkpIHtcclxuICAgICAgICAgIG9sZERheS50cmFuc3BvcnRbcHJvcGVydHldID0gbmV3RGF5Py50cmFuc3BvcnRbcHJvcGVydHldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5nZXRUcmFuc3BvcnRPcmRlcnMob2xkRGF5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb252ZXJ0UGxhbm5pbmdUcmFuc3BvcnRXZWVrVG9BcnJheShwbGFubmluZ1RyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdKSB7XHJcbiAgICBsZXQgd2Vla0FycmF5czogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W11bXSA9IFtdO1xyXG4gICAgaWYgKHBsYW5uaW5nVHJhbnNwb3J0V2Vlay5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHBsYW5uaW5nVHJhbnNwb3J0V2Vlay5mb3JFYWNoKCAodGVhbTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrKSA9PiB7XHJcbiAgICAgICAgd2Vla0FycmF5cy5wdXNoKE9iamVjdC5rZXlzKHRlYW0pLnNvcnQoKS5tYXAoa2V5ID0+IHRlYW1ba2V5XSkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB3ZWVrQXJyYXlzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbnZlcnRUb1BsYW5UcmFuc3BvcnRXZWVrKG5lc3RlZEFycmF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXlbXVtdKTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10ge1xyXG4gICAgbGV0IHBsYW5UcmFuc3BvcnRXZWVrczogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10gPSBbXTtcclxuXHJcbiAgICBuZXN0ZWRBcnJheS5mb3JFYWNoKCh3ZWVrRGF5czogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W10pID0+IHtcclxuICAgICAgbGV0IHBsYW5UcmFuc3BvcnRXZWVrOiBhbnkgPSB7fTsgLy8gQ3JlYXRlIGFuIGVtcHR5IG9iamVjdCB0byBob2xkIHRoZSB3ZWVrJ3MgZGF5c1xyXG5cclxuXHJcbiAgICAgIC8vIFN0YXJ0IGZyb20gXCJkYXkxXCIgYW5kIGFzc2lnbiB0aGUgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5IG9iamVjdHMgKGV4Y2x1ZGluZyB0aGUgdHJhbnNwb3J0SWQpXHJcbiAgICAgIHdlZWtEYXlzLmZvckVhY2goKGRheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBkYXlJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYoZGF5SW5kZXggPT09IDcpIHtcclxuICAgICAgICAgIHBsYW5UcmFuc3BvcnRXZWVrWyd0cmFuc3BvcnRJZCddID0gd2Vla0RheXNbZGF5SW5kZXhdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwbGFuVHJhbnNwb3J0V2Vla1tgZGF5JHtkYXlJbmRleCArIDF9YF0gPSBkYXk7ICAvLyBcImRheTFcIiwgXCJkYXkyXCIsIGV0Yy5cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLy8gUHVzaCB0aGUgb2JqZWN0IGludG8gdGhlIGZpbmFsIGFycmF5XHJcbiAgICAgIHBsYW5UcmFuc3BvcnRXZWVrcy5wdXNoKHBsYW5UcmFuc3BvcnRXZWVrIGFzIFBsYW5uaW5nVHJhbnNwb3J0V2Vlayk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcGxhblRyYW5zcG9ydFdlZWtzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvdGFsQXNzZW1ibHlUaW1lKHBsYW5PcmRlcjogUGxhbk9yZGVyKSB7XHJcbiAgICBpZiAocGxhbk9yZGVyKSB7XHJcbiAgICAgIGxldCB0b3RhbDogbnVtYmVyID0gMDtcclxuICAgICAgcGxhbk9yZGVyPy5saW5lcz8uZm9yRWFjaCgobGluZTogUGxhbk9yZGVyTGluZSkgPT4ge1xyXG4gICAgICAgIGlmIChsaW5lLm1pbnV0ZXMgPiAwKSB7XHJcbiAgICAgICAgICB0b3RhbCArPSBsaW5lLm1pbnV0ZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRvdGFsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZE1pbnV0ZXMoZGF0ZTogRGF0ZSwgbWludXRlczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgKyBtaW51dGVzICogNjAwMDApO1xyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVwRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUUvRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQU1wRyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUUxRixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFLN0IsTUFBTSxPQUFPLHVCQUF1QjtJQXFGbEMsWUFDVSxZQUF5QztRQUF6QyxpQkFBWSxHQUFaLFlBQVksQ0FBNkI7UUFyRjNDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsdUJBQWtCLEdBQTRCLEVBQUUsQ0FBQztRQUNqRCwwQkFBcUIsR0FB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QUcsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7WUE3UEYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUF4Qk8sMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXIsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXN9IGZyb20gJy4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctY2FsZW5kYXItbW9kZXMuZW51bSc7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlc30gZnJvbSAnLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy12aWV3LW1vZGVzLmVudW0nO1xyXG5pbXBvcnQge1BsYW5uaW5nfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm8nO1xyXG5pbXBvcnQge1NlcXVlbmNlTmFtZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vc2VxdWVuY2UtbmFtZS5lbnVtJztcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay1kYXkuYm8nO1xyXG5pbXBvcnQge0dldFRyYW5zcG9ydE9yZGVyc1JlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtdHJhbnNwb3J0LW9yZGVycy1yZXF1ZXN0LmJvJztcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWt9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay5ibyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tICcuLi8uLi8uLi9lbnVtL2RlbGl2ZXJ5LXBsYW5uaW5nLW1vZGVzLmVudW0nO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm8nO1xyXG5pbXBvcnQge09yZGVyTGluZXNQbGFubmVkUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmVzLXBsYW5uZWQtcmVxdWVzdC5ibyc7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy1maWx0ZXItb2JqZWN0LmJvJztcclxuaW1wb3J0IHtEZWxpdmVyeU1ldGhvZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ibyc7XHJcbmltcG9ydCB7RGlzdHJpY3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kaXN0cmljdC5ibyc7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9za2lsbC5ibyc7XHJcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1VzZXJHcm91cH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3VzZXItZ3JvdXAuYm8nO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXN9IGZyb20gJy4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdGlsZS1tb2Rlcy5lbnVtJztcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvJztcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9kcmFnZ2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3BsYW5UcmFuc3BvcnRXZWVrOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3BsYW5UcmFuc3BvcnRXZWVrQXJyOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXlbXVtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2RlbGl2ZXJ5TWV0aG9kczogRGVsaXZlcnlNZXRob2RbXSA9IFtdO1xyXG4gIHByaXZhdGUgX2Rpc3RyaWN0czogRGlzdHJpY3RbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3NraWxsczogU2tpbGxbXSA9IFtdO1xyXG4gIHByaXZhdGUgX2VtcGxveWVlczogUmVsYXRpb25MaXN0T2JqZWN0W10gPSBbXTtcclxuICBwcml2YXRlIF91c2VyR3JvdXBzOiBVc2VyR3JvdXBbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgY3VycmVudENhbGVuZGFyTW9kZTogRGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nQ2FsZW5kYXJNb2Rlcy5XZWVrO1xyXG4gIHB1YmxpYyBjdXJyZW50VGlsZU1vZGU6IERlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzLk5vcm1hbDtcclxuICBwdWJsaWMgZGF0ZVBsYW5uaW5nTW9kZTogQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3LldlZWtWaWV3O1xyXG4gIHB1YmxpYyB2aWV3TW9kZTogRGVsaXZlcnlQbGFubmluZ1ZpZXdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdWaWV3TW9kZXMuRnVsbHNjcmVlbjtcclxuICBwdWJsaWMgY3VycmVudFBsYW5uaW5nTW9kZTogRGVsaXZlcnlQbGFubmluZ01vZGVzID0gRGVsaXZlcnlQbGFubmluZ01vZGVzLlRyYW5zYWN0aW9uO1xyXG4gIHB1YmxpYyBjdXJyZW50UGxhbm5pbmc6IFBsYW5uaW5nO1xyXG4gIHB1YmxpYyBjdXJyZW50U3RhcnREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgcGxhbk9yZGVyRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgY3VycmVudFRyYW5zSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgZGVsZXRpbmdPcmRlcjogUGxhbk9yZGVyO1xyXG4gIHB1YmxpYyBsaW5lc1BsYW5PcmRlcjogUGxhbk9yZGVyO1xyXG4gIHB1YmxpYyBhdmFpbGFiaWxpdHlDaGVja0V2ZW50OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIHB1YmxpYyBhdmFpbGFiaWxpdHlSZXNldEV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgcHVibGljIHJlUmVuZGVySG91clNjaGVkdWxpbmc6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBtb3ZpbmdUcmFuc0lkOiBudW1iZXI7XHJcbiAgcHVibGljIHJlbGF0aW9uSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgZW1wbG95ZWVWaWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBnZXQgZHJhZ2dpbmcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZHJhZ2dpbmc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHBsYW5UcmFuc3BvcnRXZWVrKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwbGFuVHJhbnNwb3J0V2Vla0FycigpOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXlbXVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9wbGFuVHJhbnNwb3J0V2Vla0FycjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGVsaXZlcnlNZXRob2RzKCk6IERlbGl2ZXJ5TWV0aG9kW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5TWV0aG9kcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGlzdHJpY3RzKCk6IERpc3RyaWN0W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3RyaWN0cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZW1wbG95ZWVzKCk6IFJlbGF0aW9uTGlzdE9iamVjdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9lbXBsb3llZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNraWxscygpOiBTa2lsbFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9za2lsbHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJHcm91cHMoKTogVXNlckdyb3VwW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJHcm91cHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGRyYWdnaW5nKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9kcmFnZ2luZyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBkZWxpdmVyeU1ldGhvZHMobWV0aG9kczogRGVsaXZlcnlNZXRob2RbXSkge1xyXG4gICAgdGhpcy5fZGVsaXZlcnlNZXRob2RzID0gbWV0aG9kcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZGlzdHJpY3RzKGRpc3RyaWN0czogRGlzdHJpY3RbXSkge1xyXG4gICAgdGhpcy5fZGlzdHJpY3RzID0gZGlzdHJpY3RzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBlbXBsb3llZXMoZW1wbG95ZWVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkge1xyXG4gICAgdGhpcy5fZW1wbG95ZWVzID0gZW1wbG95ZWVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBza2lsbHMoc2tpbGxzOiBTa2lsbFtdKSB7XHJcbiAgICB0aGlzLl9za2lsbHMgPSBza2lsbHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHVzZXJHcm91cHMoZ3JvdXBzOiBVc2VyR3JvdXBbXSkge1xyXG4gICAgdGhpcy5fdXNlckdyb3VwcyA9IGdyb3VwcztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldE9yZGVyU2VxdWVuY2VWYWx1ZSgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uLmdldFNlcXVlbmNlVmFsdWUoU2VxdWVuY2VOYW1lLlBsYW5MaW5lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUcmFuc3BvcnRPcmRlcnMocGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkpOiBQcm9taXNlPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4ge1xyXG4gICAgaWYgKHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS50cmFuc3BvcnQpIHtcclxuICAgICAgbGV0IHJlcXVlc3Q6IEdldFRyYW5zcG9ydE9yZGVyc1JlcXVlc3QgPSBuZXcgR2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdCgpO1xyXG4gICAgICByZXF1ZXN0LnRyYW5zcG9ydElkID0gcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LnRyYW5zcG9ydC50cmFuc3BvcnRJZDtcclxuICAgICAgcmVxdWVzdC5kYXRlID0gcGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LmRhdGU7XHJcbiAgICAgIHJlcXVlc3QucGxhbm5pbmdJZCA9IHRoaXMuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQ7XHJcbiAgICAgIGNvbnN0IG9yZGVyUmVzcG9uc2UgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRUcmFuc3BvcnRPcmRlcnMocmVxdWVzdCk7XHJcbiAgICAgIGlmIChvcmRlclJlc3BvbnNlICYmIG9yZGVyUmVzcG9uc2UubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheS5wbGFubmVkT3JkZXJzID0gb3JkZXJSZXNwb25zZTtcclxuICAgICAgICBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkub3JkZXJzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJMaW5lc1BsYW5uZWQob3JkZXI6IFBsYW5PcmRlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHJlcXVlc3Q6IE9yZGVyTGluZXNQbGFubmVkUmVxdWVzdCA9IG5ldyBPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QoKTtcclxuICAgIGxldCBmaWx0ZXJPYmo6IFBsYW5uaW5nRmlsdGVyT2JqZWN0ID0gbmV3IFBsYW5uaW5nRmlsdGVyT2JqZWN0KCk7XHJcbiAgICByZXF1ZXN0LnBsYW5uZWQgPSB0cnVlO1xyXG4gICAgcmVxdWVzdC5wbGFubmluZ0lkID0gdGhpcy5jdXJyZW50UGxhbm5pbmcucGxhbm5pbmdJZDtcclxuICAgIHJlcXVlc3QudHJhbnNJZCA9IG9yZGVyLnRyYW5zSWQ7XHJcbiAgICByZXF1ZXN0LnBsYW5uZWRMaW5lSWQgPSBvcmRlci5wbGFubmVkTGluZUlkO1xyXG4gICAgZmlsdGVyT2JqLm9ubHlDdXJyZW50V2VlayA9IHRydWU7XHJcbiAgICBmaWx0ZXJPYmouYmVnaW5DdXJyZW50V2VlayA9IG5ldyBEYXRlKCk7XHJcbiAgICBmaWx0ZXJPYmouY2hlY2tPcmRlckxpbmVzID0gMTtcclxuICAgIHJlcXVlc3QuZmlsdGVyT2JqZWN0ID0gZmlsdGVyT2JqO1xyXG4gICAgaWYgKCFvcmRlci5saW5lcykge1xyXG4gICAgICBvcmRlci5saW5lcyA9IFtdO1xyXG4gICAgfVxyXG4gICAgb3JkZXIubGluZXMucHVzaCguLi5hd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRPcmRlckxpbmVzUGxhbm5lZChyZXF1ZXN0KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VxdWVuY2VPcmRlclZhbHVlKG9yZGVyOiBQbGFuT3JkZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIG9yZGVyLnBsYW5uZWRMaW5lSWQgPSBhd2FpdCB0aGlzLmdldE9yZGVyU2VxdWVuY2VWYWx1ZSgpO1xyXG4gICAgb3JkZXIuY2hhaW5lZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBsYW5uaW5nVHJhbnNwb3J0V2VlaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmVtcGxveWVlVmlldyAmJiB0aGlzLnJlbGF0aW9uSWQpIHtcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb24uZ2V0UGxhbm5lZExpbmVzRm9yRW1wbG95ZWUodGhpcy5jdXJyZW50UGxhbm5pbmcucGxhbm5pbmdJZCwgdGhpcy5yZWxhdGlvbklkLCB0aGlzLmN1cnJlbnRTdGFydERhdGUpLnRoZW4oKHJlc3VsdDogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10pID0+IHtcclxuICAgICAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2VlayA9IHJlc3VsdDtcclxuICAgICAgICB0aGlzLl9wbGFuVHJhbnNwb3J0V2Vla0FyciA9IHRoaXMuY29udmVydFBsYW5uaW5nVHJhbnNwb3J0V2Vla1RvQXJyYXkodGhpcy5fcGxhblRyYW5zcG9ydFdlZWspO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uZ2V0UGxhblRyYW5zcG9ydFdlZWsodGhpcy5jdXJyZW50U3RhcnREYXRlLCB0aGlzLmN1cnJlbnRQbGFubmluZy5wbGFubmluZ0lkKS50aGVuKChyZXN1bHQ6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdKSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrID0gcmVzdWx0O1xyXG4gICAgICAgIHRoaXMuX3BsYW5UcmFuc3BvcnRXZWVrQXJyID0gdGhpcy5jb252ZXJ0UGxhbm5pbmdUcmFuc3BvcnRXZWVrVG9BcnJheSh0aGlzLl9wbGFuVHJhbnNwb3J0V2Vlayk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZVBsYW5uaW5nVHJhbnNwb3J0VmFsdWVzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gR2V0IG5ldyBwbGFubmluZyB0cmFuc3BvcnQgd2VlayBkYXRhIGZyb20gdGhlIGJhY2tlbmRcclxuICAgIGxldCBuZXdQbGFubmluZ1RyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24uZ2V0UGxhblRyYW5zcG9ydFdlZWsodGhpcy5jdXJyZW50U3RhcnREYXRlLCB0aGlzLmN1cnJlbnRQbGFubmluZy5wbGFubmluZ0lkKTtcclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBuZXcgcGxhbm5pbmcgdHJhbnNwb3J0IHdlZWsgZGF0YSB0byBhIG5lc3RlZCBhcnJheVxyXG4gICAgbGV0IG5ld1BsYW5uaW5nTmVzdGVkQXJyID0gdGhpcy5jb252ZXJ0UGxhbm5pbmdUcmFuc3BvcnRXZWVrVG9BcnJheShuZXdQbGFubmluZ1RyYW5zcG9ydFdlZWspO1xyXG5cclxuICAgIC8vIFVwZGF0ZSB0aGUgb2xkIG5lc3RlZCBhcnJheSAodGhpcy5fcGxhblRyYW5zcG9ydFdlZWtBcnIpIHdpdGggbmV3IHZhbHVlc1xyXG4gICAgdGhpcy5fcGxhblRyYW5zcG9ydFdlZWtBcnIuZm9yRWFjaCgob2xkV2Vla0RheXM6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdLCB3ZWVrSW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBuZXdXZWVrRGF5cyA9IG5ld1BsYW5uaW5nTmVzdGVkQXJyW3dlZWtJbmRleF07XHJcblxyXG4gICAgICAvLyBDb21wYXJlIGVhY2ggZGF5J3MgZGF0YSBpbiB0aGUgb2xkIGFuZCBuZXcgbmVzdGVkIGFycmF5c1xyXG4gICAgICBuZXdXZWVrRGF5cy5mb3JFYWNoKGFzeW5jIChuZXdEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgZGF5SW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9sZERheSA9IG9sZFdlZWtEYXlzW2RheUluZGV4XTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgZm9yIGNoYW5nZXMgYW5kIHVwZGF0ZSBvbmx5IGNoYW5nZWQgcHJvcGVydGllc1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3VwZGF0ZUNoYW5nZWRQcm9wZXJ0aWVzKG9sZERheSwgbmV3RGF5KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4vLyBGdW5jdGlvbiB0byB1cGRhdGUgb25seSB0aGUgY2hhbmdlZCBwcm9wZXJ0aWVzXHJcbiAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlQ2hhbmdlZFByb3BlcnRpZXMob2xkRGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXksIG5ld0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBMaXN0IG9mIHByb3BlcnRpZXMgdG8gY29tcGFyZVxyXG4gICAgY29uc3QgcHJvcGVydGllc1RvQ29tcGFyZSA9IFtcclxuICAgICAgJ21pbnV0ZXMnLFxyXG4gICAgICAnbWF4TWludXRlcycsXHJcbiAgICAgICdtYXhGYWN0b3InLFxyXG4gICAgICAnb3JkZXJBbW91bnQnLFxyXG4gICAgICAnbG9hZCcsXHJcbiAgICAgICdtYXhPcmRlckFtb3VudCcsXHJcbiAgICAgICdmYWN0b3InXHJcbiAgICBdO1xyXG5cclxuICAgIGNvbnN0IHRyYW5zcG9ydFByb3BlcnRpZXNUb0NvbXBhcmU6IHN0cmluZ1tdID0gW1xyXG4gICAgICAnbWF4TG9hZCdcclxuICAgIF07XHJcblxyXG4gICAgcHJvcGVydGllc1RvQ29tcGFyZS5mb3JFYWNoKHByb3BlcnR5ID0+IHtcclxuICAgICAgLy8gQ29tcGFyZSBhbmQgdXBkYXRlIG9ubHkgaWYgdGhlcmUncyBhIGNoYW5nZVxyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkob2xkRGF5W3Byb3BlcnR5XSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RheVtwcm9wZXJ0eV0pKSB7XHJcbiAgICAgICAgb2xkRGF5W3Byb3BlcnR5XSA9IG5ld0RheVtwcm9wZXJ0eV07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRyYW5zcG9ydFByb3BlcnRpZXNUb0NvbXBhcmUuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XHJcbiAgICAgIGlmIChvbGREYXkudHJhbnNwb3J0ICYmIG5ld0RheS50cmFuc3BvcnQpIHtcclxuICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkob2xkRGF5LnRyYW5zcG9ydFtwcm9wZXJ0eV0gIT09IEpTT04uc3RyaW5naWZ5KG5ld0RheS50cmFuc3BvcnRbcHJvcGVydHldKSkpIHtcclxuICAgICAgICAgIG9sZERheS50cmFuc3BvcnRbcHJvcGVydHldID0gbmV3RGF5Py50cmFuc3BvcnRbcHJvcGVydHldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5nZXRUcmFuc3BvcnRPcmRlcnMob2xkRGF5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb252ZXJ0UGxhbm5pbmdUcmFuc3BvcnRXZWVrVG9BcnJheShwbGFubmluZ1RyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdKSB7XHJcbiAgICBsZXQgd2Vla0FycmF5czogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W11bXSA9IFtdO1xyXG4gICAgaWYgKHBsYW5uaW5nVHJhbnNwb3J0V2Vlay5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHBsYW5uaW5nVHJhbnNwb3J0V2Vlay5mb3JFYWNoKCh0ZWFtOiBQbGFubmluZ1RyYW5zcG9ydFdlZWspID0+IHtcclxuICAgICAgICB3ZWVrQXJyYXlzLnB1c2goT2JqZWN0LmtleXModGVhbSkuc29ydCgpLm1hcChrZXkgPT4gdGVhbVtrZXldKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHdlZWtBcnJheXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29udmVydFRvUGxhblRyYW5zcG9ydFdlZWsobmVzdGVkQXJyYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdW10pOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtbXSB7XHJcbiAgICBsZXQgcGxhblRyYW5zcG9ydFdlZWtzOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtbXSA9IFtdO1xyXG5cclxuICAgIG5lc3RlZEFycmF5LmZvckVhY2goKHdlZWtEYXlzOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXlbXSkgPT4ge1xyXG4gICAgICBsZXQgcGxhblRyYW5zcG9ydFdlZWs6IGFueSA9IHt9OyAvLyBDcmVhdGUgYW4gZW1wdHkgb2JqZWN0IHRvIGhvbGQgdGhlIHdlZWsncyBkYXlzXHJcblxyXG4gICAgICAvLyBTdGFydCBmcm9tIFwiZGF5MVwiIGFuZCBhc3NpZ24gdGhlIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSBvYmplY3RzIChleGNsdWRpbmcgdGhlIHRyYW5zcG9ydElkKVxyXG4gICAgICB3ZWVrRGF5cy5mb3JFYWNoKChkYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgZGF5SW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGlmIChkYXlJbmRleCA9PT0gNykge1xyXG4gICAgICAgICAgcGxhblRyYW5zcG9ydFdlZWtbJ3RyYW5zcG9ydElkJ10gPSB3ZWVrRGF5c1tkYXlJbmRleF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHBsYW5UcmFuc3BvcnRXZWVrW2BkYXkke2RheUluZGV4ICsgMX1gXSA9IGRheTsgIC8vIFwiZGF5MVwiLCBcImRheTJcIiwgZXRjLlxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICAvLyBQdXNoIHRoZSBvYmplY3QgaW50byB0aGUgZmluYWwgYXJyYXlcclxuICAgICAgcGxhblRyYW5zcG9ydFdlZWtzLnB1c2gocGxhblRyYW5zcG9ydFdlZWsgYXMgUGxhbm5pbmdUcmFuc3BvcnRXZWVrKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBwbGFuVHJhbnNwb3J0V2Vla3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG90YWxBc3NlbWJseVRpbWUocGxhbk9yZGVyOiBQbGFuT3JkZXIpIHtcclxuICAgIGlmIChwbGFuT3JkZXIpIHtcclxuICAgICAgbGV0IHRvdGFsOiBudW1iZXIgPSAwO1xyXG4gICAgICBwbGFuT3JkZXI/LmxpbmVzPy5mb3JFYWNoKChsaW5lOiBQbGFuT3JkZXJMaW5lKSA9PiB7XHJcbiAgICAgICAgaWYgKGxpbmUubWludXRlcyA+IDApIHtcclxuICAgICAgICAgIHRvdGFsICs9IGxpbmUubWludXRlcztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdG90YWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkTWludXRlcyhkYXRlOiBEYXRlLCBtaW51dGVzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSArIG1pbnV0ZXMgKiA2MDAwMCk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|
|
@@ -45,12 +45,12 @@ export class DeliveryPlanningOverviewPopupComponent {
|
|
|
45
45
|
this.onSucceededPlanAction.emit([this.planOrder, this.transportDay, this.week]);
|
|
46
46
|
}
|
|
47
47
|
startTimeForOrder() {
|
|
48
|
-
var _a
|
|
49
|
-
return (
|
|
48
|
+
var _a;
|
|
49
|
+
return (_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.startTime;
|
|
50
50
|
}
|
|
51
51
|
endTimeForOrder() {
|
|
52
|
-
var _a
|
|
53
|
-
return (
|
|
52
|
+
var _a;
|
|
53
|
+
return (_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.endTime;
|
|
54
54
|
}
|
|
55
55
|
handleStartTimeChange() {
|
|
56
56
|
if (this.startTimeCompRef.model) {
|
|
@@ -125,63 +125,63 @@ DeliveryPlanningOverviewPopupComponent.decorators = [
|
|
|
125
125
|
{ type: Component, args: [{
|
|
126
126
|
selector: "co-delivery-planning-overview-popup",
|
|
127
127
|
template: `
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
128
|
+
<co-dialog [showCloseIcon]="true" (closeClick)="closePopup()" [headerTemplate]="header"
|
|
129
|
+
[footerTemplate]="footer">
|
|
130
|
+
<ng-template #header>
|
|
131
|
+
<div class="dialog-header-wrapper">
|
|
132
|
+
<span class="footer-header-title" [textContent]="transportDay?.transport?.registrationNumber"></span>
|
|
133
|
+
<div class="icon">
|
|
134
|
+
<co-icon class=""
|
|
135
|
+
[iconData]="iconCacheService.getIcon(icons.TruckContainerDuo)"></co-icon>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
</ng-template>
|
|
139
139
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
140
|
+
<div class="body-wrapper">
|
|
141
|
+
<co-delivery-planning-tile-status
|
|
142
|
+
[currentVolume]="transportDay?.orderAmount"
|
|
143
|
+
[maxVolume]="transportDay?.maxOrderAmount"
|
|
144
|
+
[currentTimeTotal]="transportDay?.minutes"
|
|
145
|
+
[timeTotal]="transportDay?.maxMinutes">
|
|
146
|
+
</co-delivery-planning-tile-status>
|
|
147
147
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
148
|
+
<div class="form-details">
|
|
149
|
+
<span class="h1" [textContent]="'TIME_SETTINGS' | localize"></span>
|
|
150
|
+
</div>
|
|
151
|
+
<div class="popup-row">
|
|
152
|
+
<co-input-text [model]="impactTime()" [placeholder]="'IMPACT_TIME' | localize"></co-input-text>
|
|
153
|
+
<co-input-text [model]="deliveryPlanningService.totalAssemblyTime(planOrder)"
|
|
154
|
+
[placeholder]="'ASSEMBLY_TIME' | localize"></co-input-text>
|
|
155
|
+
</div>
|
|
156
156
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
157
|
+
<div class="popup-row">
|
|
158
|
+
<co-input-text #startTime [model]="startTimeForOrder() | date: 'HH:mm'"
|
|
159
|
+
[placeholder]="'STARTTIME' | localize" (blur)="handleStartTimeChange()"></co-input-text>
|
|
160
|
+
<co-input-text #endTime [model]="endTimeForOrder() | date: 'HH:mm'"
|
|
161
|
+
[placeholder]="'STOPTIME' | localize" (blur)="handleEndTimeChange()"></co-input-text>
|
|
162
|
+
</div>
|
|
163
163
|
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
165
|
+
<div class="remark-wrapper">
|
|
166
|
+
<span [textContent]="'PLAN_REMARKS' | localize"></span>
|
|
167
|
+
<co-input-textarea [(model)]="planOrder.remarks"></co-input-textarea>
|
|
168
|
+
</div>
|
|
169
169
|
|
|
170
170
|
|
|
171
|
-
|
|
171
|
+
</div>
|
|
172
172
|
|
|
173
173
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
174
|
+
<ng-template #footer>
|
|
175
|
+
<div class="buttons-wrapper">
|
|
176
|
+
<co-button class="save-button"
|
|
177
|
+
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
|
|
178
|
+
(click)="handleCommitClick()"></co-button>
|
|
179
|
+
<co-button class="close-button"
|
|
180
|
+
[iconData]="iconCacheService.getIcon(icons.Crossskinny)"
|
|
181
|
+
(click)="closePopup()"></co-button>
|
|
182
|
+
</div>
|
|
183
|
+
</ng-template>
|
|
184
|
+
</co-dialog>
|
|
185
185
|
`,
|
|
186
186
|
encapsulation: ViewEncapsulation.None
|
|
187
187
|
},] }
|
|
@@ -199,4 +199,4 @@ DeliveryPlanningOverviewPopupComponent.propDecorators = {
|
|
|
199
199
|
endTimeCompRef: [{ type: ViewChild, args: ['endTime',] }],
|
|
200
200
|
showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-popup",] }]
|
|
201
201
|
};
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwL2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBR1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUk3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUkzRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFpRXpDLE1BQU0sT0FBTyxzQ0FBc0M7SUF1Q2pELFlBQW1CLGdCQUFrQyxFQUFVLFlBQWdDLEVBQVMsdUJBQWdELEVBQVUsU0FBa0I7UUFBaksscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUFTLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBcEM3SyxVQUFL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QUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDOzs7WUE3TUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBM0VPLGdCQUFnQjtZQU1oQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBSXZCLFFBQVE7Ozt5QkFzRmIsTUFBTTtvQ0FHTixNQUFNOytCQUlOLFNBQVMsU0FBQyxXQUFXOzZCQUdyQixTQUFTLFNBQUMsU0FBUzt3QkFHbkIsV0FBVyxTQUFDLDJDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLWRheS5ib1wiO1xyXG5pbXBvcnQge1BsYW5uaW5nVHJhbnNwb3J0V2Vla30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvXCI7XHJcbmltcG9ydCB7SW5wdXRUZXh0Q29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1BsYW5uaW5nfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLmJvXCI7XHJcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiIChjbG9zZUNsaWNrKT1cImNsb3NlUG9wdXAoKVwiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJcIlxyXG4gICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9vdGVyLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJ0cmFuc3BvcnREYXk/LnRyYW5zcG9ydD8ucmVnaXN0cmF0aW9uTnVtYmVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRydWNrQ29udGFpbmVyRHVvKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy10aWxlLXN0YXR1c1xyXG4gICAgICAgICAgW2N1cnJlbnRWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5vcmRlckFtb3VudFwiXHJcbiAgICAgICAgICBbbWF4Vm9sdW1lXT1cInRyYW5zcG9ydERheT8ubWF4T3JkZXJBbW91bnRcIlxyXG4gICAgICAgICAgW2N1cnJlbnRUaW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5taW51dGVzXCJcclxuICAgICAgICAgIFt0aW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5tYXhNaW51dGVzXCI+XHJcbiAgICAgICAgPC9jby1kZWxpdmVyeS1wbGFubmluZy10aWxlLXN0YXR1cz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoMVwiIFt0ZXh0Q29udGVudF09XCInVElNRV9TRVRUSU5HUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtcm93XCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwiaW1wYWN0VGltZSgpXCIgW3BsYWNlaG9sZGVyXT1cIidJTVBBQ1RfVElNRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJkZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZShwbGFuT3JkZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQVNTRU1CTFlfVElNRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLXJvd1wiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgI3N0YXJ0VGltZSBbbW9kZWxdPVwic3RhcnRUaW1lRm9yT3JkZXIoKSB8IGRhdGU6ICdoaDptbSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTVEFSVFRJTUUnIHwgbG9jYWxpemVcIiAoYmx1cik9XCJoYW5kbGVTdGFydFRpbWVDaGFuZ2UoKVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0ICNlbmRUaW1lIFttb2RlbF09XCJlbmRUaW1lRm9yT3JkZXIoKSB8IGRhdGU6ICdoaDptbSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTVE9QVElNRScgfCBsb2NhbGl6ZVwiIChibHVyKT1cImhhbmRsZUVuZFRpbWVDaGFuZ2UoKVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZW1hcmstd3JhcHBlclwiPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidQTEFOX1JFTUFSS1MnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dGFyZWEgWyhtb2RlbCldPVwicGxhbk9yZGVyLnJlbWFya3NcIj48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDb21taXRDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc3NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VQb3B1cCgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1BvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF90cmFuc3BvcnRXZWVrRGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk7XHJcblxyXG4gIHB1YmxpYyBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBwdWJsaWMgcGxhbk9yZGVyOiBQbGFuT3JkZXIgPSBuZXcgUGxhbk9yZGVyKCk7XHJcbiAgcHVibGljIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuXHJcbiAgcHVibGljIHNldCB0cmFuc3BvcnREYXkoIHRyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSkge1xyXG4gICAgdGhpcy5oYW5kbGVJbml0aWFsVGltZVBsYW5uaW5nKHRyYW5zcG9ydFdlZWtEYXkpO1xyXG4gICAgdGhpcy5fdHJhbnNwb3J0V2Vla0RheSA9IHRyYW5zcG9ydFdlZWtEYXk7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGdldCB0cmFuc3BvcnREYXkoKTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5IHtcclxuICAgIHJldHVybiB0aGlzLl90cmFuc3BvcnRXZWVrRGF5O1xyXG4gIH07XHJcblxyXG5cclxuXHJcbiAgcHVibGljIHdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25TdWNjZWVkZWRQbGFuQWN0aW9uOiBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXlbXV0+ID0gbmV3IEV2ZW50RW1pdHRlcjxbUGxhbk9yZGVyLCBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXksIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdXT4oKTtcclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3N0YXJ0VGltZScpXHJcbiAgcHVibGljIHN0YXJ0VGltZUNvbXBSZWY6IElucHV0VGV4dENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW5kVGltZScpXHJcbiAgcHVibGljIGVuZFRpbWVDb21wUmVmOiBJbnB1dFRleHRDb21wb25lbnQ7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblNlcnZpY2UsIHB1YmxpYyBkZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsIHByaXZhdGUgX2RhdGVQaXBlOkRhdGVQaXBlKSB7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLndlZWsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnBsYW5PcmRlciA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudHJhbnNwb3J0RGF5ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbXBhY3RUaW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGxhbk9yZGVyLmltcGFjdFRpbWUgPyB0aGlzLnBsYW5PcmRlci5pbXBhY3RUaW1lIDogMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVBvcHVwKCkge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24ucmVzZXRDdXJyZW50VHJhbnNhY3Rpb24oKTtcclxuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb21taXRDbGljaygpIHtcclxuICAgIHRoaXMub25TdWNjZWVkZWRQbGFuQWN0aW9uLmVtaXQoW3RoaXMucGxhbk9yZGVyLCB0aGlzLnRyYW5zcG9ydERheSwgdGhpcy53ZWVrXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhcnRUaW1lRm9yT3JkZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wbGFuT3JkZXI/LnN0YXJ0VGltZT8udG9VVENTdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbmRUaW1lRm9yT3JkZXIoKSB7XHJcbiAgIHJldHVybiB0aGlzLnBsYW5PcmRlcj8uZW5kVGltZT8udG9VVENTdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdGFydFRpbWVDaGFuZ2UoKSB7XHJcbiAgICBpZih0aGlzLnN0YXJ0VGltZUNvbXBSZWYubW9kZWwpIHtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lID0gdGhpcy5oYW5kbGVEYXRlQ2hhbmdlKHRoaXMuc3RhcnRUaW1lQ29tcFJlZi5tb2RlbCk7XHJcbiAgICAgIHRoaXMuc3RhcnRUaW1lQ29tcFJlZi5tb2RlbENoYW5nZS5lbWl0KHRoaXMuX2RhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUsICdoaDptbScpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgaGFuZGxlRW5kVGltZUNoYW5nZSgpIHtcclxuICAgIGlmKHRoaXMuZW5kVGltZUNvbXBSZWYubW9kZWwpIHtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZSA9IHRoaXMuaGFuZGxlRGF0ZUNoYW5nZSh0aGlzLmVuZFRpbWVDb21wUmVmLm1vZGVsKTtcclxuICAgICAgdGhpcy5lbmRUaW1lQ29tcFJlZi5tb2RlbENoYW5nZS5lbWl0KHRoaXMuX2RhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLnBsYW5PcmRlci5lbmRUaW1lLCAnaGg6bW0nKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGhhbmRsZUluaXRpYWxUaW1lUGxhbm5pbmcodHJhbnNwb3J0V2Vla0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KSB7XHJcbiAgICBpZih0cmFuc3BvcnRXZWVrRGF5ICYmICF0cmFuc3BvcnRXZWVrRGF5Py5wbGFubmVkT3JkZXJzKSB7XHJcbiAgICAgIHRyYW5zcG9ydFdlZWtEYXkucGxhbm5lZE9yZGVycyA9IFtdO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWUgJiYgdHJhbnNwb3J0V2Vla0RheT8ucGxhbm5lZE9yZGVycz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IG5ldyBEYXRlKHRyYW5zcG9ydFdlZWtEYXkudHJhbnNwb3J0LnN0YXJ0VGltZSk7XHJcbiAgICAgIGxldCBlbmREYXRlOkRhdGUgPSBuZXcgRGF0ZSh0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUpO1xyXG4gICAgICBlbmREYXRlLnNldEhvdXJzKCAoZW5kRGF0ZS5nZXRIb3VycygpICsgMSkpXHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUgPSBlbmREYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lID0gbmV3IERhdGUodHJhbnNwb3J0V2Vla0RheT8udHJhbnNwb3J0Py5zdGFydFRpbWUpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0SG91cnModHJhbnNwb3J0V2Vla0RheT8ucGxhbm5lZE9yZGVyc1t0cmFuc3BvcnRXZWVrRGF5LnBsYW5uZWRPcmRlcnMubGVuZ3RoIC0gMV0/LmVuZFRpbWU/LmdldEhvdXJzKCkpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0TWludXRlcygwKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldFNlY29uZHMoMCk7XHJcblxyXG4gICAgICB0aGlzLnBsYW5PcmRlci5lbmRUaW1lID0gbmV3IERhdGUodGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZS5zZXRIb3Vycyh0aGlzLnBsYW5PcmRlcj8uZW5kVGltZT8uZ2V0SG91cnMoKSArICh0aGlzLmRlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnRvdGFsQXNzZW1ibHlUaW1lKHRoaXMucGxhbk9yZGVyKSA+IDAgPyAodGhpcy5kZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgLyA2MCkgOiAxKSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZS5zZXRNaW51dGVzKDApO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0U2Vjb25kcygwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEYXRlQ2hhbmdlKHRleHQ6IHN0cmluZyk6IERhdGUge1xyXG4gICAgbGV0IHNwbGl0VGV4dDogc3RyaW5nW107XHJcbiAgICBpZighdGV4dC5pbmNsdWRlcyhcIjpcIikpIHtcclxuICAgICAgaWYodGV4dC5sZW5ndGggPT09IDMpIHtcclxuICAgICAgICBsZXQgYWRkaXRpdmU6IHN0cmluZyA9IFwiMFwiXHJcbiAgICAgICAgbGV0IGZpcnN0SGFsZiA9IHRleHQuc3Vic3RyKDAsIDEpO1xyXG4gICAgICAgIGFkZGl0aXZlID0gYWRkaXRpdmUuY29uY2F0KGZpcnN0SGFsZik7XHJcbiAgICAgICAgbGV0IHNlY29uZEhhbGYgPSB0ZXh0LnN1YnN0cigxLCAzKTtcclxuICAgICAgICBhZGRpdGl2ZSA9IGFkZGl0aXZlLmNvbmNhdChcIjpcIik7XHJcbiAgICAgICAgbGV0IGZ1bGxTdHJpbmcgPSBhZGRpdGl2ZS5jb25jYXQoc2Vjb25kSGFsZik7XHJcbiAgICAgICAgc3BsaXRUZXh0ID0gZnVsbFN0cmluZy5zcGxpdChcIjpcIik7XHJcbiAgICAgIH0gZWxzZSBpZih0ZXh0Lmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgbGV0IGZpcnN0SGFsZiA9IHRleHQuc3Vic3RyKDAsIDIpO1xyXG4gICAgICAgIGxldCBzZWNvbmRIYWxmID0gdGV4dC5zdWJzdHIoMiwgMik7XHJcbiAgICAgICAgZmlyc3RIYWxmID0gZmlyc3RIYWxmLmNvbmNhdChcIjpcIik7XHJcbiAgICAgICAgbGV0IGZ1bGxTdHJpbmcgPSBmaXJzdEhhbGYuY29uY2F0KHNlY29uZEhhbGYpO1xyXG4gICAgICAgIHNwbGl0VGV4dCA9IGZ1bGxTdHJpbmcuc3BsaXQoXCI6XCIpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzcGxpdFRleHQgPSB0ZXh0LnNwbGl0KFwiOlwiKTtcclxuICAgIH1cclxuXHJcbiAgICBpZihzcGxpdFRleHQpIHtcclxuICAgICAgbGV0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnRyYW5zcG9ydERheS5kYXRlKTtcclxuICAgICAgZGF0ZS5zZXRIb3VycyhwYXJzZUludChzcGxpdFRleHRbMF0pKTtcclxuICAgICAgZGF0ZS5zZXRNaW51dGVzKHBhcnNlSW50KHNwbGl0VGV4dFsxXSkpO1xyXG4gICAgICBkYXRlLnNldFNlY29uZHMoMCk7XHJcbiAgICAgIHJldHVybiBkYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctbWFpbi9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXcvY29tcG9uZW50L2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwL2RlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBR1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUk3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUkzRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFpRXpDLE1BQU0sT0FBTyxzQ0FBc0M7SUF1Q2pELFlBQW1CLGdCQUFrQyxFQUFVLFlBQWdDLEVBQVMsdUJBQWdELEVBQVUsU0FBa0I7UUFBaksscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUFTLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBcEM3SyxVQUFL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TyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDOzs7WUE3TUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBM0VPLGdCQUFnQjtZQU1oQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBSXZCLFFBQVE7Ozt5QkFzRmIsTUFBTTtvQ0FHTixNQUFNOytCQUlOLFNBQVMsU0FBQyxXQUFXOzZCQUdyQixTQUFTLFNBQUMsU0FBUzt3QkFHbkIsV0FBVyxTQUFDLDJDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLWRheS5ib1wiO1xyXG5pbXBvcnQge1BsYW5uaW5nVHJhbnNwb3J0V2Vla30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvXCI7XHJcbmltcG9ydCB7SW5wdXRUZXh0Q29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1BsYW5uaW5nfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLmJvXCI7XHJcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXBvcHVwXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLWRpYWxvZyBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VQb3B1cCgpXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvb3Rlci1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwidHJhbnNwb3J0RGF5Py50cmFuc3BvcnQ/LnJlZ2lzdHJhdGlvbk51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVHJ1Y2tDb250YWluZXJEdW8pXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJvZHktd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy10aWxlLXN0YXR1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbnRWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5vcmRlckFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF4Vm9sdW1lXT1cInRyYW5zcG9ydERheT8ubWF4T3JkZXJBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbnRUaW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5taW51dGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0aW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5tYXhNaW51dGVzXCI+XHJcbiAgICAgICAgICAgICAgPC9jby1kZWxpdmVyeS1wbGFubmluZy10aWxlLXN0YXR1cz5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgxXCIgW3RleHRDb250ZW50XT1cIidUSU1FX1NFVFRJTkdTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cImltcGFjdFRpbWUoKVwiIFtwbGFjZWhvbGRlcl09XCInSU1QQUNUX1RJTUUnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJkZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZShwbGFuT3JkZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBU1NFTUJMWV9USU1FJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0ICNzdGFydFRpbWUgW21vZGVsXT1cInN0YXJ0VGltZUZvck9yZGVyKCkgfCBkYXRlOiAnSEg6bW0nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTVEFSVFRJTUUnIHwgbG9jYWxpemVcIiAoYmx1cik9XCJoYW5kbGVTdGFydFRpbWVDaGFuZ2UoKVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgI2VuZFRpbWUgW21vZGVsXT1cImVuZFRpbWVGb3JPcmRlcigpIHwgZGF0ZTogJ0hIOm1tJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU1RPUFRJTUUnIHwgbG9jYWxpemVcIiAoYmx1cik9XCJoYW5kbGVFbmRUaW1lQ2hhbmdlKClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVtYXJrLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidQTEFOX1JFTUFSS1MnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJwbGFuT3JkZXIucmVtYXJrc1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ29tbWl0Q2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUG9wdXAoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWxpdmVyeVBsYW5uaW5nT3ZlcnZpZXdQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfdHJhbnNwb3J0V2Vla0RheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5O1xyXG5cclxuICBwdWJsaWMgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgcHVibGljIHBsYW5PcmRlcjogUGxhbk9yZGVyID0gbmV3IFBsYW5PcmRlcigpO1xyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U7XHJcblxyXG4gIHB1YmxpYyBzZXQgdHJhbnNwb3J0RGF5KCB0cmFuc3BvcnRXZWVrRGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkpIHtcclxuICAgIHRoaXMuaGFuZGxlSW5pdGlhbFRpbWVQbGFubmluZyh0cmFuc3BvcnRXZWVrRGF5KTtcclxuICAgIHRoaXMuX3RyYW5zcG9ydFdlZWtEYXkgPSB0cmFuc3BvcnRXZWVrRGF5O1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBnZXQgdHJhbnNwb3J0RGF5KCk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNwb3J0V2Vla0RheTtcclxuICB9O1xyXG5cclxuXHJcblxyXG4gIHB1YmxpYyB3ZWVrOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXlbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsb3NlRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uU3VjY2VlZGVkUGxhbkFjdGlvbjogRXZlbnRFbWl0dGVyPFtQbGFuT3JkZXIsIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W11dPiA9IG5ldyBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5LCBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXlbXV0+KCk7XHJcblxyXG5cclxuICBAVmlld0NoaWxkKCdzdGFydFRpbWUnKVxyXG4gIHB1YmxpYyBzdGFydFRpbWVDb21wUmVmOiBJbnB1dFRleHRDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VuZFRpbWUnKVxyXG4gIHB1YmxpYyBlbmRUaW1lQ29tcFJlZjogSW5wdXRUZXh0Q29tcG9uZW50O1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy1wb3B1cFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLCBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25TZXJ2aWNlLCBwdWJsaWMgZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLCBwcml2YXRlIF9kYXRlUGlwZTpEYXRlUGlwZSkge1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy53ZWVrID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5wbGFuT3JkZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRyYW5zcG9ydERheSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW1wYWN0VGltZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnBsYW5PcmRlci5pbXBhY3RUaW1lID8gdGhpcy5wbGFuT3JkZXIuaW1wYWN0VGltZSA6IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnJlc2V0Q3VycmVudFRyYW5zYWN0aW9uKCk7XHJcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCgpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29tbWl0Q2xpY2soKSB7XHJcbiAgICB0aGlzLm9uU3VjY2VlZGVkUGxhbkFjdGlvbi5lbWl0KFt0aGlzLnBsYW5PcmRlciwgdGhpcy50cmFuc3BvcnREYXksIHRoaXMud2Vla10pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXJ0VGltZUZvck9yZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGxhbk9yZGVyPy5zdGFydFRpbWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5kVGltZUZvck9yZGVyKCkge1xyXG4gICByZXR1cm4gdGhpcy5wbGFuT3JkZXI/LmVuZFRpbWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RhcnRUaW1lQ2hhbmdlKCkge1xyXG4gICAgaWYodGhpcy5zdGFydFRpbWVDb21wUmVmLm1vZGVsKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IHRoaXMuaGFuZGxlRGF0ZUNoYW5nZSh0aGlzLnN0YXJ0VGltZUNvbXBSZWYubW9kZWwpO1xyXG4gICAgICB0aGlzLnN0YXJ0VGltZUNvbXBSZWYubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLl9kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLCAnaGg6bW0nKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGhhbmRsZUVuZFRpbWVDaGFuZ2UoKSB7XHJcbiAgICBpZih0aGlzLmVuZFRpbWVDb21wUmVmLm1vZGVsKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUgPSB0aGlzLmhhbmRsZURhdGVDaGFuZ2UodGhpcy5lbmRUaW1lQ29tcFJlZi5tb2RlbCk7XHJcbiAgICAgIHRoaXMuZW5kVGltZUNvbXBSZWYubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLl9kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5wbGFuT3JkZXIuZW5kVGltZSwgJ2hoOm1tJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJbml0aWFsVGltZVBsYW5uaW5nKHRyYW5zcG9ydFdlZWtEYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSkge1xyXG4gICAgaWYodHJhbnNwb3J0V2Vla0RheSAmJiAhdHJhbnNwb3J0V2Vla0RheT8ucGxhbm5lZE9yZGVycykge1xyXG4gICAgICB0cmFuc3BvcnRXZWVrRGF5LnBsYW5uZWRPcmRlcnMgPSBbXTtcclxuICAgIH1cclxuICAgIGlmKCF0aGlzLnBsYW5PcmRlcj8uc3RhcnRUaW1lICYmIHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnM/Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUgPSBuZXcgRGF0ZSh0cmFuc3BvcnRXZWVrRGF5LnRyYW5zcG9ydC5zdGFydFRpbWUpO1xyXG4gICAgICBsZXQgZW5kRGF0ZTpEYXRlID0gbmV3IERhdGUodGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lKTtcclxuICAgICAgZW5kRGF0ZS5zZXRIb3VycyggKGVuZERhdGUuZ2V0SG91cnMoKSArIDEpKVxyXG4gICAgICB0aGlzLnBsYW5PcmRlci5lbmRUaW1lID0gZW5kRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0cmFuc3BvcnRXZWVrRGF5Py5wbGFubmVkT3JkZXJzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSA9IG5ldyBEYXRlKHRyYW5zcG9ydFdlZWtEYXk/LnRyYW5zcG9ydD8uc3RhcnRUaW1lKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldEhvdXJzKHRyYW5zcG9ydFdlZWtEYXk/LnBsYW5uZWRPcmRlcnNbdHJhbnNwb3J0V2Vla0RheS5wbGFubmVkT3JkZXJzLmxlbmd0aCAtIDFdPy5lbmRUaW1lPy5nZXRIb3VycygpKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldE1pbnV0ZXMoMCk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZS5zZXRTZWNvbmRzKDApO1xyXG5cclxuICAgICAgdGhpcy5wbGFuT3JkZXIuZW5kVGltZSA9IG5ldyBEYXRlKHRoaXMucGxhbk9yZGVyLnN0YXJ0VGltZSk7XHJcbiAgICAgIHRoaXMucGxhbk9yZGVyLmVuZFRpbWUuc2V0SG91cnModGhpcy5wbGFuT3JkZXI/LmVuZFRpbWU/LmdldEhvdXJzKCkgKyAodGhpcy5kZWxpdmVyeVBsYW5uaW5nU2VydmljZS50b3RhbEFzc2VtYmx5VGltZSh0aGlzLnBsYW5PcmRlcikgPiAwID8gKHRoaXMuZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UudG90YWxBc3NlbWJseVRpbWUodGhpcy5wbGFuT3JkZXIpIC8gNjApIDogMSkpO1xyXG4gICAgICB0aGlzLnBsYW5PcmRlci5zdGFydFRpbWUuc2V0TWludXRlcygwKTtcclxuICAgICAgdGhpcy5wbGFuT3JkZXIuc3RhcnRUaW1lLnNldFNlY29uZHMoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGF0ZUNoYW5nZSh0ZXh0OiBzdHJpbmcpOiBEYXRlIHtcclxuICAgIGxldCBzcGxpdFRleHQ6IHN0cmluZ1tdO1xyXG4gICAgaWYoIXRleHQuaW5jbHVkZXMoXCI6XCIpKSB7XHJcbiAgICAgIGlmKHRleHQubGVuZ3RoID09PSAzKSB7XHJcbiAgICAgICAgbGV0IGFkZGl0aXZlOiBzdHJpbmcgPSBcIjBcIlxyXG4gICAgICAgIGxldCBmaXJzdEhhbGYgPSB0ZXh0LnN1YnN0cigwLCAxKTtcclxuICAgICAgICBhZGRpdGl2ZSA9IGFkZGl0aXZlLmNvbmNhdChmaXJzdEhhbGYpO1xyXG4gICAgICAgIGxldCBzZWNvbmRIYWxmID0gdGV4dC5zdWJzdHIoMSwgMyk7XHJcbiAgICAgICAgYWRkaXRpdmUgPSBhZGRpdGl2ZS5jb25jYXQoXCI6XCIpO1xyXG4gICAgICAgIGxldCBmdWxsU3RyaW5nID0gYWRkaXRpdmUuY29uY2F0KHNlY29uZEhhbGYpO1xyXG4gICAgICAgIHNwbGl0VGV4dCA9IGZ1bGxTdHJpbmcuc3BsaXQoXCI6XCIpO1xyXG4gICAgICB9IGVsc2UgaWYodGV4dC5sZW5ndGggPT09IDQpe1xyXG4gICAgICAgIGxldCBmaXJzdEhhbGYgPSB0ZXh0LnN1YnN0cigwLCAyKTtcclxuICAgICAgICBsZXQgc2Vjb25kSGFsZiA9IHRleHQuc3Vic3RyKDIsIDIpO1xyXG4gICAgICAgIGZpcnN0SGFsZiA9IGZpcnN0SGFsZi5jb25jYXQoXCI6XCIpO1xyXG4gICAgICAgIGxldCBmdWxsU3RyaW5nID0gZmlyc3RIYWxmLmNvbmNhdChzZWNvbmRIYWxmKTtcclxuICAgICAgICBzcGxpdFRleHQgPSBmdWxsU3RyaW5nLnNwbGl0KFwiOlwiKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3BsaXRUZXh0ID0gdGV4dC5zcGxpdChcIjpcIik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoc3BsaXRUZXh0KSB7XHJcbiAgICAgIGxldCBkYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy50cmFuc3BvcnREYXkuZGF0ZSk7XHJcbiAgICAgIGRhdGUuc2V0SG91cnMocGFyc2VJbnQoc3BsaXRUZXh0WzBdKSk7XHJcbiAgICAgIGRhdGUuc2V0TWludXRlcyhwYXJzZUludChzcGxpdFRleHRbMV0pKTtcclxuICAgICAgZGF0ZS5zZXRTZWNvbmRzKDApO1xyXG4gICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxufVxyXG4iXX0=
|