@colijnit/sharedcomponents 255.1.12 → 255.1.14
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-sharedcomponents.umd.js +24 -5
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +36 -12
- package/esm2015/lib/components/activity-overview-component/components/base-activity-overview.component.js +6 -1
- package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +8 -2
- package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +11 -3
- package/esm2015/lib/components/task-modifyer/task-modifier.component.js +7 -1
- package/fesm2015/colijnit-sharedcomponents.js +63 -14
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/index.html +2 -2
- package/lib/components/activity-overview-component/components/base-activity-overview.component.d.ts +2 -0
- package/lib/components/activity-overview-component/style/_layout.scss +63 -39
- package/lib/components/modify-task-form/modify-task-form.component.d.ts +2 -0
- package/lib/components/open-activity-list/component-activity-list.component.d.ts +1 -0
- package/lib/components/task-modifyer/task-modifier.component.d.ts +2 -0
- package/{main.fb2a972348d07d7127fb.js → main.f010af331eeb875858fe.js} +1 -1
- package/package.json +2 -2
- package/{styles.8fce26887e7ff9657567.css → styles.eab53d84c672390d990a.css} +1 -1
package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js
CHANGED
|
@@ -44,7 +44,8 @@ ComponentActivityOverviewComponent.decorators = [
|
|
|
44
44
|
{ type: Component, args: [{
|
|
45
45
|
selector: "co-component-activity-overview",
|
|
46
46
|
template: `
|
|
47
|
-
|
|
47
|
+
<div class="activity-task-wrapper">
|
|
48
|
+
<div class="overview-wrapper" *ngIf="!isTask">
|
|
48
49
|
<div class="overview-current">
|
|
49
50
|
<div class="overview-wrapper-icons">
|
|
50
51
|
<co-icon *ngIf="userIsSupervisor && (!isTask || firstTriggerToCloseWF === undefined)" icon="supervisor"
|
|
@@ -76,16 +77,6 @@ ComponentActivityOverviewComponent.decorators = [
|
|
|
76
77
|
</div>
|
|
77
78
|
</div>
|
|
78
79
|
</div>
|
|
79
|
-
|
|
80
|
-
<ng-container *ngIf="isTask && firstTriggerToCloseWF !== undefined">
|
|
81
|
-
<co-button class="trans-green custom-text button-trigger no-margin" [label]="firstTriggerToCloseWF.description"
|
|
82
|
-
(click)="handleButtonEndClick()"></co-button>
|
|
83
|
-
</ng-container>
|
|
84
|
-
<ng-container *ngIf="openButtonLabel">
|
|
85
|
-
<co-button class="trans-green default-bg custom-text button-trigger-icon action-hover no-margin"
|
|
86
|
-
iconClass="custom small" [iconData]="iconCacheService.getIcon(icon.DetailView)" [label]="openButtonLabel | localize"
|
|
87
|
-
(click)="handleOpenLink($event)"></co-button>
|
|
88
|
-
</ng-container>
|
|
89
80
|
<!--TODO reinstate this when we figure out how to trigger a screen change. -->
|
|
90
81
|
<!--<ng-container *ngIf="urls && urls.length > 0">
|
|
91
82
|
<button-colijn *ngFor="let url of urls"
|
|
@@ -95,6 +86,7 @@ ComponentActivityOverviewComponent.decorators = [
|
|
|
95
86
|
iconClass="custom small"
|
|
96
87
|
(click)="handleOpenLink($event, url)"></button-colijn>
|
|
97
88
|
</ng-container>-->
|
|
89
|
+
<div class="activity-buttons">
|
|
98
90
|
<ng-container *ngIf="!isTask && hasTriggers">
|
|
99
91
|
<co-button class="trans-green custom-text action-hover button-trigger no-margin" *ngFor="let trigger of workFlow.manualGenericTriggers"
|
|
100
92
|
[class.button-trigger-icon]="trigger.isTaskTrigger"
|
|
@@ -112,8 +104,39 @@ ComponentActivityOverviewComponent.decorators = [
|
|
|
112
104
|
(click)="handleTriggerClick(trigger)"
|
|
113
105
|
></co-button>
|
|
114
106
|
</ng-container>
|
|
107
|
+
</div>
|
|
115
108
|
</div>
|
|
116
109
|
</div>
|
|
110
|
+
<div class="overview-task-wrapper" *ngIf="isTask" (click)="handleOpenLink($event)">
|
|
111
|
+
<div class="task-box">
|
|
112
|
+
<div class="task-current-state">
|
|
113
|
+
<div class="activity-title" [textContent]="activityTitle"></div>
|
|
114
|
+
<!--seems unessecary for current usecases, but left in case this needs an input to switch on or off-->
|
|
115
|
+
<!--<div class="activity-context-title" [textContent]="activityContextTitle"></div>-->
|
|
116
|
+
</div>
|
|
117
|
+
<div class="overview-wrapper-date">
|
|
118
|
+
<div class="date-wrapper" [class.overdue]="overDue">
|
|
119
|
+
<ng-container *ngIf="!sameDates">
|
|
120
|
+
<div class="date" [textContent]="targetDate | date:'dd-MM-YYYY'"></div>
|
|
121
|
+
<div class="date-divider" [textContent]="'-'"></div>
|
|
122
|
+
</ng-container>
|
|
123
|
+
<div class="date" [textContent]="deadlineDate | date:'dd-MM-YYYY'"></div>
|
|
124
|
+
<co-icon class="activity-type-icon"[iconData]="iconCacheService.getIcon(icon.ListUlRegular)"></co-icon>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
<ng-container *ngIf="isTask && firstTriggerToCloseWF !== undefined">
|
|
128
|
+
<co-button class="trans-green custom-text button-trigger no-margin" [label]="firstTriggerToCloseWF.description"
|
|
129
|
+
(click)="handleButtonEndClick()"></co-button>
|
|
130
|
+
</ng-container>
|
|
131
|
+
<!--ng-container *ngIf="openButtonLabel">
|
|
132
|
+
<co-button class="trans-green default-bg custom-text button-trigger-icon action-hover no-margin"
|
|
133
|
+
iconClass="custom small" [iconData]="iconCacheService.getIcon(icon.DetailView)" [label]="openButtonLabel | localize"
|
|
134
|
+
(click)="handleOpenLink($event)"></co-button>
|
|
135
|
+
</ng-container-->
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
117
140
|
<!--TODO reinstate this when we figure out how to trigger a screen change. -->
|
|
118
141
|
<!-- <formbuilder-user-form *ngIf="showCreateForm"
|
|
119
142
|
[showPopup]="showCreateForm"
|
|
@@ -129,6 +152,7 @@ ComponentActivityOverviewComponent.decorators = [
|
|
|
129
152
|
(editingComplete)="onSaveActivity($event)"
|
|
130
153
|
(activityDeleted)="onDeleteActivity($event)"
|
|
131
154
|
(showWorkLog)="showTaskFormAndWorkLog()"
|
|
155
|
+
(triggerFired)="handleFormTriggerFired()"
|
|
132
156
|
></co-task-modifier>
|
|
133
157
|
|
|
134
158
|
`,
|
|
@@ -164,4 +188,4 @@ ComponentActivityOverviewComponent.propDecorators = {
|
|
|
164
188
|
taskIcon: [{ type: Input }],
|
|
165
189
|
showClass: [{ type: HostBinding, args: ["class.co-component-activity-overview",] }]
|
|
166
190
|
};
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzVGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBZ0h4RSxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsNkJBQTZCO0lBbUJuRixZQUFtQixnQkFBa0MsRUFDbEMsYUFBZ0MsRUFDaEMsaUJBQW9DLEVBQ2pDLGFBQTRCO0lBQ3RDLHlCQUF5QjtRQUNuQyxLQUFLLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQSxVQUFVLENBQUMsQ0FBQztRQUxoRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBckJsQyxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUdsQyxlQUFVLEdBQVMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUd2QyxhQUFRLEdBQVMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBRzNDLGVBQVUsR0FBUyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFHOUMsYUFBUSxHQUFTLElBQUksQ0FBQyxhQUFhLENBQUM7SUFZM0MsQ0FBQztJQVRNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFTTSxlQUFlLENBQUMsUUFBa0I7UUFDdkMsUUFBUSxRQUFRLENBQUMsWUFBWSxFQUFFO1lBQzdCLEtBQUssWUFBWSxDQUFDLE1BQU07Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN6QixLQUFLLFlBQVksQ0FBQyxjQUFjLENBQUM7WUFDakMsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssWUFBWSxDQUFDLFlBQVksQ0FBQztZQUMvQixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkIsS0FBSyxZQUFZLENBQUMsV0FBVztnQkFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3pCLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN4QjtJQUNILENBQUM7OztZQXRKRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBd0ZUO2dCQUNIOztzQkFFTTtnQkFDSixVQUFVLEVBQUU7b0JBQ1IsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDbEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDL0IsVUFBVSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUMzRCxDQUFDO29CQUNGLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTt3QkFDeEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7d0JBQ2hGLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUM3RSxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7NEJBQ3pCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDL0IsQ0FBQztxQkFDTCxDQUFDO2lCQUNMO2FBQ0o7OztZQW5ITyxnQkFBZ0I7WUFKaEIsaUJBQWlCO1lBS2pCLGlCQUFpQjtZQUNqQixhQUFhOzs7eUJBcUhsQixLQUFLO3VCQUdMLEtBQUs7eUJBR0wsS0FBSzt1QkFHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvcmVEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtCYXNlQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9iYXNlLWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWNvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlld1wiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWN1cnJlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItaWNvbnNcIj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInVzZXJJc1N1cGVydmlzb3IgJiYgKCFpc1Rhc2sgfHwgZmlyc3RUcmlnZ2VyVG9DbG9zZVdGID09PSB1bmRlZmluZWQpXCIgaWNvbj1cInN1cGVydmlzb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VwZXJ2aXNvci1pY29uIGJpZyBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ01ZX1RBU0tTX1NVUEVSVklTT1InIHwgbG9jYWxpemVcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlci1sYWJlbHNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0NVUlJFTlRfU1RBVEUnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5VGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tc2VlbXMgdW5lc3NlY2FyeSBmb3IgY3VycmVudCB1c2VjYXNlcywgYnV0IGxlZnQgaW4gY2FzZSB0aGlzIG5lZWRzIGFuIGlucHV0IHRvIHN3aXRjaCBvbiBvciBvZmYtLT5cclxuICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz1cImFjdGl2aXR5LWNvbnRleHQtdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlDb250ZXh0VGl0bGVcIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1tYWluXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1kYXRlLWFjdGl2aXR5XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidORVhUX1NUQVRFJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWRhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXdyYXBwZXJcIiBbY2xhc3Mub3ZlcmR1ZV09XCJvdmVyRHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2FtZURhdGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwidGFyZ2V0RGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtZGl2aWRlclwiIFt0ZXh0Q29udGVudF09XCInLSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cImRlYWRsaW5lRGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYWN0aXZpdHktdHlwZS1pY29uXCJbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eSkpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUYXNrICYmIGZpcnN0VHJpZ2dlclRvQ2xvc2VXRiAhPT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlciBuby1tYXJnaW5cIiBbbGFiZWxdPVwiZmlyc3RUcmlnZ2VyVG9DbG9zZVdGLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkVuZENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3BlbkJ1dHRvbkxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJ0cmFucy1ncmVlbiBkZWZhdWx0LWJnIGN1c3RvbS10ZXh0IGJ1dHRvbi10cmlnZ2VyLWljb24gYWN0aW9uLWhvdmVyIG5vLW1hcmdpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5EZXRhaWxWaWV3KVwiIFtsYWJlbF09XCJvcGVuQnV0dG9uTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPcGVuTGluaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPCEtLVRPRE8gcmVpbnN0YXRlIHRoaXMgd2hlbiB3ZSBmaWd1cmUgb3V0IGhvdyB0byB0cmlnZ2VyIGEgc2NyZWVuIGNoYW5nZS4gLS0+XHJcbiAgICAgICAgICAgICAgPCEtLTxuZy1jb250YWluZXIgKm5nSWY9XCJ1cmxzICYmIHVybHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uLWNvbGlqbiAqbmdGb3I9XCJsZXQgdXJsIG9mIHVybHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zLWdyZWVuIGN1c3RvbS10ZXh0IGJ1dHRvbi10cmlnZ2VyLWljb24gYWN0aW9uLWhvdmVyIG5vLW1hcmdpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb24uRGV0YWlsVmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT1BFTl9MSU5LJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiY3VzdG9tIHNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9wZW5MaW5rKCRldmVudCwgdXJsKVwiPjwvYnV0dG9uLWNvbGlqbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4tLT5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGFzayAmJiBoYXNUcmlnZ2Vyc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uICAgICBjbGFzcz1cInRyYW5zLWdyZWVuIGN1c3RvbS10ZXh0IGFjdGlvbi1ob3ZlciBidXR0b24tdHJpZ2dlciBuby1tYXJnaW5cIiAqbmdGb3I9XCJsZXQgdHJpZ2dlciBvZiB3b3JrRmxvdy5tYW51YWxHZW5lcmljVHJpZ2dlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYnV0dG9uLXRyaWdnZXItaWNvbl09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHJpZ2dlci50cmlnZ2VyQnV0dG9uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXIgPyBpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5BY2NvdW50KTogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVHZW5lcmljVHJpZ2dlckNsaWNrKHRyaWdnZXIpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uICAgICBjbGFzcz1cInRyYW5zLWdyZWVuIGN1c3RvbS10ZXh0IGFjdGlvbi1ob3ZlciBidXR0b24tdHJpZ2dlciBuby1tYXJnaW5cIiAqbmdGb3I9XCJsZXQgdHJpZ2dlciBvZiB3b3JrRmxvdy5tYW51YWxUcmlnZ2Vyc1dpdGhvdXRUYXNrVHJpZ2dlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGlnaC1wcmlvXT1cInRyaWdnZXIub3ZlckR1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5idXR0b24tdHJpZ2dlci1pY29uXT1cInRyaWdnZXIuaXNUYXNrVHJpZ2dlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0cmlnZ2VyLnRyaWdnZXJCdXR0b25OYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cInRyaWdnZXIuaXNUYXNrVHJpZ2dlciA/IGljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkRldGFpbFZpZXcpOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiY3VzdG9tIHNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRyaWdnZXJDbGljayh0cmlnZ2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS1UT0RPIHJlaW5zdGF0ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gdHJpZ2dlciBhIHNjcmVlbiBjaGFuZ2UuIC0tPlxyXG4gICAgICAgIDwhLS0gPGZvcm1idWlsZGVyLXVzZXItZm9ybSAqbmdJZj1cInNob3dDcmVhdGVGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dQb3B1cF09XCJzaG93Q3JlYXRlRm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJsZV09XCJ0YWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrZXldPVwia2V5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxGb3JtKT1cImRvQ2FuY2VsRm9ybSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmVGb3JtKT1cImRvU2F2ZUZvcm0oJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvZm9ybWJ1aWxkZXItdXNlci1mb3JtPi0tPlxyXG4gICAgICAgIDxjby10YXNrLW1vZGlmaWVyXHJcbiAgICAgICAgICAgICAgICBbdXNlckdyb3VwSWRdPVwidXNlckdyb3VwSWRcIlxyXG4gICAgICAgICAgICAgICAgW3JlbGF0aW9uSWRdPVwidXNlclJlbGF0aW9uSWRcIlxyXG4gICAgICAgICAgICAgICAgKGVkaXRpbmdDb21wbGV0ZSk9XCJvblNhdmVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChhY3Rpdml0eURlbGV0ZWQpPVwib25EZWxldGVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChzaG93V29ya0xvZyk9XCJzaG93VGFza0Zvcm1BbmRXb3JrTG9nKClcIlxyXG4gICAgICAgID48L2NvLXRhc2stbW9kaWZpZXI+XHJcblxyXG4gICAgYCxcclxuICAvKiAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge3Byb3ZpZGU6IEJhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLCB1c2VFeGlzdGluZzogU2NyZWVuQ29uZmlndXJhdGlvbk1vY2tTZXJ2aWNlfVxyXG4gICAgXSwqL1xyXG4gICAgYW5pbWF0aW9uczogW1xyXG4gICAgICAgIHRyaWdnZXIoXCJmYWRlSW5PdXRcIiwgW1xyXG4gICAgICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtvcGFjaXR5OiAwfSkpLFxyXG4gICAgICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtvcGFjaXR5OiAxfSkpLFxyXG4gICAgICAgICAgdHJhbnNpdGlvbihcIjplbnRlciwgOmxlYXZlXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICAgICAgXSksXHJcbiAgICAgICAgdHJpZ2dlcihcInNob3dIaWRlRXh0ZW5kZWRcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe1widHJhbnNmb3JtLW9yaWdpblwiOiBcInRvcCBjZW50ZXJcIiwgdHJhbnNmb3JtOiBcInNjYWxlWSgwKVwifSkpLFxyXG4gICAgICAgICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe1widHJhbnNmb3JtLW9yaWdpblwiOiBcInRvcCBjZW50ZXJcIiwgdHJhbnNmb3JtOiBcInNjYWxlWSgxKVwifSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiOmVudGVyLCA6bGVhdmVcIiwgW1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpXHJcbiAgICAgICAgICAgIF0pXHJcbiAgICAgICAgXSlcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQgZXh0ZW5kcyBCYXNlQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb246IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVtYXJrSWNvbjogSWNvbiA9IEljb24uQ29tbWVudFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtJY29uOiBJY29uID0gSWNvbi5QZXJzb25EaWdnaW5nUmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdHVzSWNvbjogSWNvbiA9IEljb24uRGlhZ3JhbVByb2plY3RSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YXNrSWNvbjogSWNvbiA9IEljb24uTGlzdFVsUmVndWxhcjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICAgICAgICAgICAgIC8qcHVibGljIHJvdXRlcjogUm91dGVyKi8pIHtcclxuICAgIHN1cGVyKGRpYWxvZ1NlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCBzaGFyZWRTZXJ2aWNlLypyb3V0ZXIqLyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5OiBBY3Rpdml0eSk6IEljb24ge1xyXG4gICAgc3dpdGNoIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUpIHtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuUmVtYXJrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbWFya0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLldvcmtmbG93U3RhdHVzOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1Rhc2s6XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLkZvcm06XHJcbiAgICAgICAgcmV0dXJuIHRoaXMud29ya0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlN0YXRlQ2hhbmdlOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1c0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlRhc2s6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ljb247XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzVGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBd0l4RSxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsNkJBQTZCO0lBbUJuRixZQUFtQixnQkFBa0MsRUFDbEMsYUFBZ0MsRUFDaEMsaUJBQW9DLEVBQ2pDLGFBQTRCO0lBQ3RDLHlCQUF5QjtRQUNuQyxLQUFLLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQSxVQUFVLENBQUMsQ0FBQztRQUxoRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBckJsQyxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUdsQyxlQUFVLEdBQVMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUd2QyxhQUFRLEdBQVMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBRzNDLGVBQVUsR0FBUyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFHOUMsYUFBUSxHQUFTLElBQUksQ0FBQyxhQUFhLENBQUM7SUFZM0MsQ0FBQztJQVRNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFTTSxlQUFlLENBQUMsUUFBa0I7UUFDdkMsUUFBUSxRQUFRLENBQUMsWUFBWSxFQUFFO1lBQzdCLEtBQUssWUFBWSxDQUFDLE1BQU07Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN6QixLQUFLLFlBQVksQ0FBQyxjQUFjLENBQUM7WUFDakMsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssWUFBWSxDQUFDLFlBQVksQ0FBQztZQUMvQixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkIsS0FBSyxZQUFZLENBQUMsV0FBVztnQkFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3pCLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN4QjtJQUNILENBQUM7OztZQTlLRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBZ0hUO2dCQUNIOztzQkFFTTtnQkFDSixVQUFVLEVBQUU7b0JBQ1IsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDbEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDL0IsVUFBVSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUMzRCxDQUFDO29CQUNGLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTt3QkFDeEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7d0JBQ2hGLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUM3RSxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7NEJBQ3pCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDL0IsQ0FBQztxQkFDTCxDQUFDO2lCQUNMO2FBQ0o7OztZQTNJTyxnQkFBZ0I7WUFKaEIsaUJBQWlCO1lBS2pCLGlCQUFpQjtZQUNqQixhQUFhOzs7eUJBNklsQixLQUFLO3VCQUdMLEtBQUs7eUJBR0wsS0FBSzt1QkFHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvcmVEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtCYXNlQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9iYXNlLWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWNvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlld1wiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRhc2std3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyXCIgKm5nSWY9XCIhaXNUYXNrXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctY3VycmVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlci1pY29uc1wiPlxyXG4gICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwidXNlcklzU3VwZXJ2aXNvciAmJiAoIWlzVGFzayB8fCBmaXJzdFRyaWdnZXJUb0Nsb3NlV0YgPT09IHVuZGVmaW5lZClcIiBpY29uPVwic3VwZXJ2aXNvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdXBlcnZpc29yLWljb24gYmlnIGRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInTVlfVEFTS1NfU1VQRVJWSVNPUicgfCBsb2NhbGl6ZVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWxhYmVsc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQ1VSUkVOVF9TVEFURScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlUaXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS1zZWVtcyB1bmVzc2VjYXJ5IGZvciBjdXJyZW50IHVzZWNhc2VzLCBidXQgbGVmdCBpbiBjYXNlIHRoaXMgbmVlZHMgYW4gaW5wdXQgdG8gc3dpdGNoIG9uIG9yIG9mZi0tPlxyXG4gICAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiYWN0aXZpdHktY29udGV4dC10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJhY3Rpdml0eUNvbnRleHRUaXRsZVwiPjwvZGl2Pi0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LW1haW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWRhdGUtYWN0aXZpdHlcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ05FWFRfU1RBVEUnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItZGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtd3JhcHBlclwiIFtjbGFzcy5vdmVyZHVlXT1cIm92ZXJEdWVcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzYW1lRGF0ZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiIFt0ZXh0Q29udGVudF09XCJ0YXJnZXREYXRlIHwgZGF0ZTonZGQtTU0tWVlZWSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1kaXZpZGVyXCIgW3RleHRDb250ZW50XT1cIictJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwiZGVhZGxpbmVEYXRlIHwgZGF0ZTonZGQtTU0tWVlZWSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJhY3Rpdml0eS10eXBlLWljb25cIltpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5KSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPCEtLVRPRE8gcmVpbnN0YXRlIHRoaXMgd2hlbiB3ZSBmaWd1cmUgb3V0IGhvdyB0byB0cmlnZ2VyIGEgc2NyZWVuIGNoYW5nZS4gLS0+XHJcbiAgICAgICAgICAgICAgPCEtLTxuZy1jb250YWluZXIgKm5nSWY9XCJ1cmxzICYmIHVybHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uLWNvbGlqbiAqbmdGb3I9XCJsZXQgdXJsIG9mIHVybHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zLWdyZWVuIGN1c3RvbS10ZXh0IGJ1dHRvbi10cmlnZ2VyLWljb24gYWN0aW9uLWhvdmVyIG5vLW1hcmdpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb24uRGV0YWlsVmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT1BFTl9MSU5LJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiY3VzdG9tIHNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9wZW5MaW5rKCRldmVudCwgdXJsKVwiPjwvYnV0dG9uLWNvbGlqbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4tLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGFzayAmJiBoYXNUcmlnZ2Vyc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uICAgICBjbGFzcz1cInRyYW5zLWdyZWVuIGN1c3RvbS10ZXh0IGFjdGlvbi1ob3ZlciBidXR0b24tdHJpZ2dlciBuby1tYXJnaW5cIiAqbmdGb3I9XCJsZXQgdHJpZ2dlciBvZiB3b3JrRmxvdy5tYW51YWxHZW5lcmljVHJpZ2dlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYnV0dG9uLXRyaWdnZXItaWNvbl09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHJpZ2dlci50cmlnZ2VyQnV0dG9uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXIgPyBpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5BY2NvdW50KTogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVHZW5lcmljVHJpZ2dlckNsaWNrKHRyaWdnZXIpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uICAgICBjbGFzcz1cInRyYW5zLWdyZWVuIGN1c3RvbS10ZXh0IGFjdGlvbi1ob3ZlciBidXR0b24tdHJpZ2dlciBuby1tYXJnaW5cIiAqbmdGb3I9XCJsZXQgdHJpZ2dlciBvZiB3b3JrRmxvdy5tYW51YWxUcmlnZ2Vyc1dpdGhvdXRUYXNrVHJpZ2dlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGlnaC1wcmlvXT1cInRyaWdnZXIub3ZlckR1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5idXR0b24tdHJpZ2dlci1pY29uXT1cInRyaWdnZXIuaXNUYXNrVHJpZ2dlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0cmlnZ2VyLnRyaWdnZXJCdXR0b25OYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cInRyaWdnZXIuaXNUYXNrVHJpZ2dlciA/IGljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkRldGFpbFZpZXcpOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiY3VzdG9tIHNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRyaWdnZXJDbGljayh0cmlnZ2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctdGFzay13cmFwcGVyXCIgKm5nSWY9XCJpc1Rhc2tcIiAoY2xpY2spPVwiaGFuZGxlT3BlbkxpbmsoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhc2stYm94XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWN1cnJlbnQtc3RhdGVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlUaXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS1zZWVtcyB1bmVzc2VjYXJ5IGZvciBjdXJyZW50IHVzZWNhc2VzLCBidXQgbGVmdCBpbiBjYXNlIHRoaXMgbmVlZHMgYW4gaW5wdXQgdG8gc3dpdGNoIG9uIG9yIG9mZi0tPlxyXG4gICAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiYWN0aXZpdHktY29udGV4dC10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJhY3Rpdml0eUNvbnRleHRUaXRsZVwiPjwvZGl2Pi0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItZGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXdyYXBwZXJcIiBbY2xhc3Mub3ZlcmR1ZV09XCJvdmVyRHVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNhbWVEYXRlc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiIFt0ZXh0Q29udGVudF09XCJ0YXJnZXREYXRlIHwgZGF0ZTonZGQtTU0tWVlZWSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtZGl2aWRlclwiIFt0ZXh0Q29udGVudF09XCInLSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwiZGVhZGxpbmVEYXRlIHwgZGF0ZTonZGQtTU0tWVlZWSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYWN0aXZpdHktdHlwZS1pY29uXCJbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uTGlzdFVsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUYXNrICYmIGZpcnN0VHJpZ2dlclRvQ2xvc2VXRiAhPT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInRyYW5zLWdyZWVuIGN1c3RvbS10ZXh0IGJ1dHRvbi10cmlnZ2VyIG5vLW1hcmdpblwiIFtsYWJlbF09XCJmaXJzdFRyaWdnZXJUb0Nsb3NlV0YuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkVuZENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwhLS1uZy1jb250YWluZXIgKm5nSWY9XCJvcGVuQnV0dG9uTGFiZWxcIj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwidHJhbnMtZ3JlZW4gZGVmYXVsdC1iZyBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlci1pY29uIGFjdGlvbi1ob3ZlciBuby1tYXJnaW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiY3VzdG9tIHNtYWxsXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkRldGFpbFZpZXcpXCIgW2xhYmVsXT1cIm9wZW5CdXR0b25MYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPcGVuTGluaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS1UT0RPIHJlaW5zdGF0ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gdHJpZ2dlciBhIHNjcmVlbiBjaGFuZ2UuIC0tPlxyXG4gICAgICAgIDwhLS0gPGZvcm1idWlsZGVyLXVzZXItZm9ybSAqbmdJZj1cInNob3dDcmVhdGVGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dQb3B1cF09XCJzaG93Q3JlYXRlRm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJsZV09XCJ0YWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrZXldPVwia2V5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxGb3JtKT1cImRvQ2FuY2VsRm9ybSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmVGb3JtKT1cImRvU2F2ZUZvcm0oJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvZm9ybWJ1aWxkZXItdXNlci1mb3JtPi0tPlxyXG4gICAgICAgIDxjby10YXNrLW1vZGlmaWVyXHJcbiAgICAgICAgICAgICAgICBbdXNlckdyb3VwSWRdPVwidXNlckdyb3VwSWRcIlxyXG4gICAgICAgICAgICAgICAgW3JlbGF0aW9uSWRdPVwidXNlclJlbGF0aW9uSWRcIlxyXG4gICAgICAgICAgICAgICAgKGVkaXRpbmdDb21wbGV0ZSk9XCJvblNhdmVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChhY3Rpdml0eURlbGV0ZWQpPVwib25EZWxldGVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChzaG93V29ya0xvZyk9XCJzaG93VGFza0Zvcm1BbmRXb3JrTG9nKClcIlxyXG4gICAgICAgICAgICAgICAgKHRyaWdnZXJGaXJlZCk9XCJoYW5kbGVGb3JtVHJpZ2dlckZpcmVkKClcIlxyXG4gICAgICAgID48L2NvLXRhc2stbW9kaWZpZXI+XHJcblxyXG4gICAgYCxcclxuICAvKiAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge3Byb3ZpZGU6IEJhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLCB1c2VFeGlzdGluZzogU2NyZWVuQ29uZmlndXJhdGlvbk1vY2tTZXJ2aWNlfVxyXG4gICAgXSwqL1xyXG4gICAgYW5pbWF0aW9uczogW1xyXG4gICAgICAgIHRyaWdnZXIoXCJmYWRlSW5PdXRcIiwgW1xyXG4gICAgICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtvcGFjaXR5OiAwfSkpLFxyXG4gICAgICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtvcGFjaXR5OiAxfSkpLFxyXG4gICAgICAgICAgdHJhbnNpdGlvbihcIjplbnRlciwgOmxlYXZlXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICAgICAgXSksXHJcbiAgICAgICAgdHJpZ2dlcihcInNob3dIaWRlRXh0ZW5kZWRcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe1widHJhbnNmb3JtLW9yaWdpblwiOiBcInRvcCBjZW50ZXJcIiwgdHJhbnNmb3JtOiBcInNjYWxlWSgwKVwifSkpLFxyXG4gICAgICAgICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe1widHJhbnNmb3JtLW9yaWdpblwiOiBcInRvcCBjZW50ZXJcIiwgdHJhbnNmb3JtOiBcInNjYWxlWSgxKVwifSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiOmVudGVyLCA6bGVhdmVcIiwgW1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpXHJcbiAgICAgICAgICAgIF0pXHJcbiAgICAgICAgXSlcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQgZXh0ZW5kcyBCYXNlQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb246IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVtYXJrSWNvbjogSWNvbiA9IEljb24uQ29tbWVudFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtJY29uOiBJY29uID0gSWNvbi5QZXJzb25EaWdnaW5nUmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdHVzSWNvbjogSWNvbiA9IEljb24uRGlhZ3JhbVByb2plY3RSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YXNrSWNvbjogSWNvbiA9IEljb24uTGlzdFVsUmVndWxhcjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICAgICAgICAgICAgIC8qcHVibGljIHJvdXRlcjogUm91dGVyKi8pIHtcclxuICAgIHN1cGVyKGRpYWxvZ1NlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCBzaGFyZWRTZXJ2aWNlLypyb3V0ZXIqLyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5OiBBY3Rpdml0eSk6IEljb24ge1xyXG4gICAgc3dpdGNoIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUpIHtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuUmVtYXJrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbWFya0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLldvcmtmbG93U3RhdHVzOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1Rhc2s6XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLkZvcm06XHJcbiAgICAgICAgcmV0dXJuIHRoaXMud29ya0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlN0YXRlQ2hhbmdlOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1c0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlRhc2s6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ljb247XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -43,6 +43,7 @@ export class BaseActivityOverviewComponent {
|
|
|
43
43
|
this.triggerFired = new EventEmitter();
|
|
44
44
|
this.genericTriggerFired = new EventEmitter();
|
|
45
45
|
this.formCreated = new EventEmitter();
|
|
46
|
+
this.formTriggerFired = new EventEmitter();
|
|
46
47
|
this.openLink = new EventEmitter();
|
|
47
48
|
this.linkClicked = new EventEmitter();
|
|
48
49
|
this.overDue = false;
|
|
@@ -174,6 +175,9 @@ export class BaseActivityOverviewComponent {
|
|
|
174
175
|
//this.taskModifier.startModifyingTaskAndWorkLog(this.activity);
|
|
175
176
|
}
|
|
176
177
|
}
|
|
178
|
+
handleFormTriggerFired() {
|
|
179
|
+
this.formTriggerFired.next();
|
|
180
|
+
}
|
|
177
181
|
onSaveActivity(activity) {
|
|
178
182
|
this.activity = activity;
|
|
179
183
|
this.activityChange.next(this.activity);
|
|
@@ -269,10 +273,11 @@ BaseActivityOverviewComponent.propDecorators = {
|
|
|
269
273
|
triggerFired: [{ type: Output }],
|
|
270
274
|
genericTriggerFired: [{ type: Output }],
|
|
271
275
|
formCreated: [{ type: Output }],
|
|
276
|
+
formTriggerFired: [{ type: Output }],
|
|
272
277
|
openLink: [{ type: Output }],
|
|
273
278
|
linkClicked: [{ type: Output }]
|
|
274
279
|
};
|
|
275
280
|
__decorate([
|
|
276
281
|
InputBoolean()
|
|
277
282
|
], BaseActivityOverviewComponent.prototype, "handleOpenLinkSidebar", void 0);
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1vdmVydmlldy1jb21wb25lbnQvY29tcG9uZW50cy9iYXNlLWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUluRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRTNELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUdyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXJFLE9BQU8sRUFFTCxrQ0FBa0MsRUFDbkMsTUFBTSx1REFBdUQsQ0FBQztBQU0vRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxp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QUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDN0U7YUFBTTtZQUNILGtDQUFrQztTQUNyQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFpQjtRQUMzQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7OztZQTVTSixTQUFTO1lBQ1QsVUFBVTs7O1lBdEJILGlCQUFpQjtZQWNqQixpQkFBaUI7WUFHakIsYUFBYTs7OzJCQXdCaEIsU0FBUyxTQUFDLHFCQUFxQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzt3QkFHL0MsS0FBSztrQ0FPTCxLQUFLO3VDQVNMLEtBQUs7NkJBR0wsS0FBSzswQkFHTCxLQUFLO29DQUdMLEtBQUs7NkJBSUwsTUFBTTs4QkFHTixNQUFNOzJCQUdOLE1BQU07a0NBR04sTUFBTTswQkFHTixNQUFNO3VCQUdOLE1BQU07MEJBR04sTUFBTTs7QUFwQlA7SUFEQyxZQUFZLEVBQUU7NEVBQytCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtXb3JrZmxvd30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmtmbG93LmJvXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dUcmlnZ2VyfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29ya2Zsb3ctdHJpZ2dlci5ib1wiO1xyXG5pbXBvcnQge01vZHVsZU5hdmlnYXRpb25MaW5rfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9tb2R1bGUtbmF2aWdhdGlvbi1saW5rXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS10eXBlXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3Rhc2suYm9cIjtcclxuaW1wb3J0IHtWYWxpZGF0aW9uUmVzdWx0fSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHRcIjtcclxuaW1wb3J0IHtpc05pbGx9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9mdW5jdGlvbi9pcy1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dHZW5lcmljVHJhbnNpdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmtmbG93LWdlbmVyaWMtdHJhbnNpdGlvbi5ib1wiO1xyXG5pbXBvcnQge0FjdGl2aXR5Vmlld01vZGVsfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHktdmlldy1tb2RlbFwiO1xyXG5pbXBvcnQge0NvcmVEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5Q2ZnTmFtZX0gZnJvbSBcIi4uLy4uLy4uL2VudW0vYWN0aXZpdHktY2ZnLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge0FjdGl2aXRpZXNUYXNrQ29uZmlnTmFtZXN9IGZyb20gXCIuLi8uLi8uLi9pbnRlcmZhY2UvYWN0aXZpdGllcy10YXNrLWNvbmZpZy1uYW1lc1wiO1xyXG5pbXBvcnQge1xyXG4gIE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24sXHJcbiAgT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFja1xyXG59IGZyb20gXCIuLi8uLi8uLi9pbnRlcmZhY2Uvb3BlcmF0aW9uLWNhbGxiYWNrLXNpbXBsZS1mdW5jdGlvblwiO1xyXG5cclxuaW1wb3J0IHtcclxuICBPcGVyYXRpb25DYWxsYmFja0Z1bmN0aW9uV2l0aFZhbGlkYXRpb24sXHJcbiAgT3BlcmF0aW9uV2l0aFZhbGlkYXRpb25DYWxsYmFja1xyXG59IGZyb20gXCIuLi8uLi8uLi9pbnRlcmZhY2Uvb3BlcmF0aW9uLWNhbGxiYWNrLWZ1bmN0aW9uLXdpdGgtdmFsaWRhdGlvblwiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEYXRlVXRpbHN9IGZyb20gXCIuLi8uLi8uLi91dGlscy9kYXRlLXV0aWxzXCI7XHJcbmltcG9ydCB7VGFza01vZGlmaWVyQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vdGFzay1tb2RpZnllci90YXNrLW1vZGlmaWVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlXCI7XHJcblxyXG5cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudCB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbjogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBjZmdOYW1lczogdHlwZW9mIEFjdGl2aXR5Q2ZnTmFtZSA9IEFjdGl2aXR5Q2ZnTmFtZTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFza0NmZ05hbWVzOiBBY3Rpdml0aWVzVGFza0NvbmZpZ05hbWVzID0ge1xyXG4gICAgICAgIHRpbWVSZWdpc3RyYXRpb25NYW5kYXRvcnk6IEFjdGl2aXR5Q2ZnTmFtZS5UaW1lUmVnaXN0cmF0aW9uTWFuZGF0b3J5LFxyXG4gICAgICAgIGRlbGV0ZUFjdGl2aXR5VGFza0J1dHRvbjogQWN0aXZpdHlDZmdOYW1lLkRlbGV0ZUFjdGl2aXR5VGFza0J1dHRvbixcclxuICAgICAgICBzdGF0dXNTdW1tYXJ5SGVhZGVyOiBBY3Rpdml0eUNmZ05hbWUuU3RhdHVzU3VtbWFyeUhlYWRlcixcclxuICAgICAgICBjcmVhdGlvblN1bW1hcnlIZWFkZXI6IEFjdGl2aXR5Q2ZnTmFtZS5DcmVhdGlvblN1bW1hcnlIZWFkZXIsXHJcbiAgICAgICAgZXhlY3V0aXZlU3VtbWFyeUhlYWRlcjogQWN0aXZpdHlDZmdOYW1lLkV4ZWN1dGl2ZVN1bW1hcnlIZWFkZXIsXHJcbiAgICAgICAgcGxhbm5pbmdTdW1tYXJ5SGVhZGVyOiBBY3Rpdml0eUNmZ05hbWUuUGxhbm5pbmdTdW1tYXJ5SGVhZGVyLFxyXG4gICAgICAgIGF0dGFjaG1lbnRzSGVhZGVyOiBBY3Rpdml0eUNmZ05hbWUuQXR0YWNobWVudHNIZWFkZXIsXHJcbiAgICAgICAgbm90aWZpY2F0aW9uc1N1bW1hcnlIZWFkZXI6IEFjdGl2aXR5Q2ZnTmFtZS5Ob3RpZmljYXRpb25zU3VtbWFyeUhlYWRlcixcclxuICAgICAgICB0YWdzSGVhZGVyOiBBY3Rpdml0eUNmZ05hbWUuVGFnc0hlYWRlcixcclxuICAgICAgICB0YXNrSW52b2ljZTogQWN0aXZpdHlDZmdOYW1lLlRhc2tJbnZvaWNlXHJcbiAgICB9O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoVGFza01vZGlmaWVyQ29tcG9uZW50LCB7c3RhdGljOiB0cnVlfSlcclxuICAgIHB1YmxpYyB0YXNrTW9kaWZpZXI6IFRhc2tNb2RpZmllckNvbXBvbmVudDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB2aWV3TW9kZWwodmFsdWU6IEFjdGl2aXR5Vmlld01vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5fdmlld01vZGVsID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5vdmVyRHVlID0gdmFsdWUub3ZlckR1ZTtcclxuICAgICAgICB0aGlzLmFjdGl2aXR5ID0gdmFsdWUuYWN0aXZpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJpZ2dlclRvRmlyZU9uU2F2ZSh2YWx1ZTogV29ya2Zsb3dUcmlnZ2VyKSB7XHJcbiAgICAgIHRoaXMuX3RyaWdnZXJUb0ZpcmVPblNhdmUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyaWdnZXJUb0ZpcmVPblNhdmUoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmlnZ2VyVG9GaXJlT25TYXZlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcHJlcGFyZVdvcmtmbG93T3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja1NpbXBsZUZ1bmN0aW9uID0gT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFjaztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHVzZXJSZWxhdGlvbklkOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1c2VyR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBoYW5kbGVPcGVuTGlua1NpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhY3Rpdml0eUNoYW5nZTogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZpdHlEZWxldGVkOiBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0cmlnZ2VyRmlyZWQ6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGdlbmVyaWNUcmlnZ2VyRmlyZWQ6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGZvcm1DcmVhdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb3Blbkxpbms6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxpbmtDbGlja2VkOiBFdmVudEVtaXR0ZXI8e21vZHVsZTogc3RyaW5nLCBpZDogc3RyaW5nfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHttb2R1bGU6IHN0cmluZywgaWQ6IHN0cmluZ30+KCk7XHJcblxyXG4gICAgcHVibGljIHNldCBhY3Rpdml0eSh2YWx1ZTogQWN0aXZpdHkpIHtcclxuICAgICAgICB0aGlzLl9hY3Rpdml0eSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBhY3Rpdml0eSgpOiBBY3Rpdml0eSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB3b3JrRmxvdzogV29ya2Zsb3c7XHJcbiAgICBwdWJsaWMgdGFyZ2V0RGF0ZTogRGF0ZTtcclxuICAgIHB1YmxpYyBkZWFkbGluZURhdGU6IERhdGU7XHJcbiAgICBwdWJsaWMgYWN0aXZpdHlOYW1lOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYWN0aXZpdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcHVibGljIGFjdGl2aXR5VGl0bGU6IHN0cmluZztcclxuICAgIHB1YmxpYyBhY3Rpdml0eUNvbnRleHRUaXRsZTogc3RyaW5nO1xyXG5cclxuICAgIHB1YmxpYyBvcGVuQnV0dG9uTGFiZWw6IHN0cmluZztcclxuICAgIHB1YmxpYyBvdmVyRHVlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgdXNlcklzU3VwZXJ2aXNvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLy9UT0RPIFJlaW5zdGF0ZSBvbmNlIHdlIGtub3cgd2hhdCB0byBkbyB3aXRoIHRoZSBmb3JtYnVpbGRlclxyXG4gICAgLy9wdWJsaWMgc2hvd0NyZWF0ZUZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8vcHVibGljIGZvcm06IEZvcm1GdWxsT2JqZWN0ID0gTlVMTF9GT1JNX0ZVTExfT0JKRUNUO1xyXG4gICAgcHVibGljIHRhYmxlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdXJsczogc3RyaW5nW10gPSBbXTtcclxuICAgIHB1YmxpYyBmaXJzdFRyaWdnZXJUb0Nsb3NlV0Y6IFdvcmtmbG93VHJpZ2dlcjtcclxuICAgIHB1YmxpYyBpc1Rhc2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBoYXNUcmlnZ2VyczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBsaW5rOiBNb2R1bGVOYXZpZ2F0aW9uTGluaztcclxuICAgIHB1YmxpYyBsaW5rRGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHB1YmxpYyBzYW1lRGF0ZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIF9hY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgIHByaXZhdGUgX3ZpZXdNb2RlbDogQWN0aXZpdHlWaWV3TW9kZWw7XHJcbiAgICBwcml2YXRlIF90cmlnZ2VyVG9GaXJlT25TYXZlOiBXb3JrZmxvd1RyaWdnZXI7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICAgICAgICAgICAgIC8vVE9ETyByZWluc3RhdGUgd2hlbiBmb3JtYnVpbGRlciBpcyB0cmFuc2ZlcnJlZFxyXG4gICAgICAgICAgICAgIC8vcHJpdmF0ZSBfZm9ybVJlcG86IEZvcm1EYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgICAgICAgIC8qcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIqL1xyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUJ1dHRvbkVuZENsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlVHJpZ2dlckNsaWNrKHRoaXMuZmlyc3RUcmlnZ2VyVG9DbG9zZVdGKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlR2VuZXJpY1RyaWdnZXJDbGljayhldmVudDogV29ya2Zsb3dHZW5lcmljVHJhbnNpdGlvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogVmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZmlyZUdlbmVyaWNUcmlnZ2VyKFxyXG4gICAgICAgICAgICB0aGlzLndvcmtGbG93LndvcmtmbG93UHJvY2Vzc0lkLCBldmVudC5nZW5lcmljVHJhbnNpdGlvbklkLCB0aGlzLnVzZXJSZWxhdGlvbklkICk7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1RyaWdnZXJGaXJlZC5uZXh0KHRoaXMuYWN0aXZpdHkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IHJlc3VsdC5tZXNzYWdlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZXMucHVzaCh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQocmVzdWx0Lm1lc3NhZ2VzW2ldLm1lc3NhZ2UudG9VcHBlckNhc2UoKSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0Vycm9yKG1lc3NhZ2VzLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlVHJpZ2dlckNsaWNrKGV2ZW50VHJpZ2dlcjogV29ya2Zsb3dUcmlnZ2VyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKGV2ZW50VHJpZ2dlci5pc1Rhc2tUcmlnZ2VyICYmIGV2ZW50VHJpZ2dlci50YXNrSWQpIHtcclxuICAgICAgICAgICAgLy9wcmVwYXJlIHRhc2sgb24gdGhlIGFjdGl2aXR5IG9iamVjdCwgc28gdGhlIHRhc2sgbW9kaWZpZXIgY2FuIGhhbmRsZSBpdFxyXG4gICAgICAgICAgICB0aGlzLmFjdGl2aXR5LnRhc2sgPSBuZXcgVGFzaygpO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5UYXNrO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2aXR5LnRhc2sudGFza0lkID0gZXZlbnRUcmlnZ2VyLnRhc2tJZDtcclxuICAgICAgICAgICAgdGhpcy50YXNrTW9kaWZpZXIuc3RhcnRNb2RpZnlpbmdUYXNrKHRoaXMuYWN0aXZpdHkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnRUcmlnZ2VyLmlzRm9ybVRyaWdnZXIpIHtcclxuICAgICAgICAgICAgLy9UT0RPIHJlaW5zdGF0ZSB3aGVuIHdlIGtub3cgd2hhdCB0byBkbyB3aXRoIHRoZSBmb3JtYnVpbGRlclxyXG4gICAgICAgICAgICAvKnRoaXMuZm9ybSA9IGF3YWl0IHRoaXMuX2Zvcm1SZXBvLmdldEZvcm0oZXZlbnRUcmlnZ2VyLmZvcm1JZCk7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUgPSB0aGlzLndvcmtGbG93LnRhYmxlO1xyXG4gICAgICAgICAgICB0aGlzLmtleSA9IHRoaXMud29ya0Zsb3cua2V5O1xyXG4gICAgICAgICAgICB0aGlzLnNob3dDcmVhdGVGb3JtID0gdHJ1ZTsqL1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChldmVudFRyaWdnZXIudG9DbG9zZWRTdGF0ZSAmJiAhdGhpcy5fc2hhcmVkU2VydmljZS5jYW5GaXJlVHJpZ2dlcih0aGlzLmFjdGl2aXR5LCB0aGlzLmFjdGl2aXR5LnRhc2spKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByZXBhcmVXb3JrZmxvd09wZXJhdGlvbih7dGFibGU6IHRoaXMud29ya0Zsb3cudGFibGUsIGtleTogdGhpcy53b3JrRmxvdy5rZXl9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclRvRmlyZU9uU2F2ZSA9IGV2ZW50VHJpZ2dlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1Rhc2tGb3JtQW5kV29ya0xvZygpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogVmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZmlyZVRyaWdnZXIoXHJcbiAgICAgICAgICAgICAgdGhpcy53b3JrRmxvdy53b3JrZmxvd1Byb2Nlc3NJZCwgdGhpcy53b3JrRmxvdy5zZXF1ZW5jZSwgZXZlbnRUcmlnZ2VyLnRyaWdnZXJJZCk7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgIHRoaXMudHJpZ2dlckZpcmVkLm5leHQodGhpcy5hY3Rpdml0eSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSByZXN1bHQubWVzc2FnZXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZXMucHVzaCh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQocmVzdWx0Lm1lc3NhZ2VzW2ldLm1lc3NhZ2UudG9VcHBlckNhc2UoKSkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcihtZXNzYWdlcy50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZU9wZW5MaW5rKGV2ZW50OiBNb3VzZUV2ZW50LCB1cmw/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XHJcbiAgICAgICAgaWYgKHVybCkgeyAvLyBicmVhZENydW1icyB0byB1cmxcclxuICAgICAgICAgICAgdGhpcy5fb3BlblVybCh1cmwpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRNb2RpZnlpbmdUYXNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVPcGVuTGlua09yVXJsKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xyXG4gICAgICAgIGlmICh0aGlzLmxpbmsgJiYgdGhpcy5saW5rLm1vZHVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmxpbmtDbGlja2VkLm5leHQoe21vZHVsZTogdGhpcy5saW5rLm1vZHVsZSwgaWQ6IHRoaXMubGluay5pZH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51cmxzICYmIHRoaXMudXJscy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fb3BlblVybCh0aGlzLnVybHNbMF0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRNb2RpZnlpbmdUYXNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGFydE1vZGlmeWluZ1Rhc2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMud29ya0Zsb3cgJiYgdGhpcy53b3JrRmxvdy53b3JrRmxvd0hhc09uZVRhc2tUcmlnZ2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHkudGFzayA9IG5ldyBUYXNrKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHkudGFzay50YXNrSWQgPSB0aGlzLndvcmtGbG93LnRhc2tJZEZyb21UYXNrVHJpZ2dlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZpdHkudGFzaykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oYW5kbGVPcGVuTGlua1NpZGViYXIgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3BlbkxpbmsubmV4dCh0aGlzLmFjdGl2aXR5KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnRhc2tNb2RpZmllci5zdGFydE1vZGlmeWluZ1Rhc2sodGhpcy5hY3Rpdml0eSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVE9ETzogZm9yIG5vdyBhIG1lc3NhZ2UgaXMgc2hvd24uXHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy53b3JrRmxvdykge1xyXG4gICAgICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dJbmZvcm1hdGlvbihcIkNvbXBvbmVudDogXCIgKyB0aGlzLndvcmtGbG93LmNvbXBvbmVudCArIFwiIGtleTogXCIgKyB0aGlzLndvcmtGbG93LmRpc3BsYXlLZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvd1Rhc2tGb3JtQW5kV29ya0xvZygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hY3Rpdml0eS50YXNrKSB7XHJcbiAgICAgICAgICAvL1RPRE8gUkVJTlNUQVRFIEFGVEVSIEZJWElORyBGT1JNXHJcbiAgICAgICAgICAvL3RoaXMudGFza01vZGlmaWVyLnN0YXJ0TW9kaWZ5aW5nVGFza0FuZFdvcmtMb2codGhpcy5hY3Rpdml0eSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblNhdmVBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFjdGl2aXR5ID0gYWN0aXZpdHk7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eUNoYW5nZS5uZXh0KHRoaXMuYWN0aXZpdHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkRlbGV0ZUFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmFjdGl2aXR5LmdldElkKCkgPT09IGFjdGl2aXR5LmdldElkKCkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3ZpZXdNb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld01vZGVsLmRlbGV0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld01vZGVsLnNob3dpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdNb2RlbC5yZWZyZXNoVmlld01vZGVsKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5hY3Rpdml0eURlbGV0ZWQuZW1pdChhY3Rpdml0eSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvL1RPRE8gUmVpbnN0YXRlIG9uY2Ugd2Uga25vdyB3aGF0IHRvIGRvIHdpdGggdGhlIGZvcm1idWlsZGVyXHJcbiAgICAvKnB1YmxpYyBkb0NhbmNlbEZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93Q3JlYXRlRm9ybSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1NhdmVGb3JtKGZvcm06IEZvcm1SZXNwb25zZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogVmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IHRoaXMuX2Zvcm1SZXBvLmluc2VydEZvcm1SZXNwb25zZShmb3JtKTtcclxuICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ3JlYXRlZC5uZXh0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0NyZWF0ZUZvcm0gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9Ki9cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlRGF0YSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLndvcmtGbG93ID0gdGhpcy5fYWN0aXZpdHkud29ya2Zsb3c7XHJcbiAgICAgICAgaWYgKHRoaXMud29ya0Zsb3cpIHtcclxuICAgICAgICAgICAgdGhpcy53b3JrRmxvdy51c2VTaW5nbGVUYXNrVHJpZ2dlckFzVGFzayA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudXJscyA9IHRoaXMud29ya0Zsb3cudXJscztcclxuICAgICAgICAgICAgdGhpcy5oYXNUcmlnZ2VycyA9IHRoaXMud29ya0Zsb3cuaGFzVHJpZ2dlcnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlOYW1lID0gdGhpcy5hY3Rpdml0eS5uYW1lO1xyXG4gICAgICAgIHRoaXMubGluayA9IHRoaXMuYWN0aXZpdHkubGluaztcclxuICAgICAgICB0aGlzLmxpbmtEZXNjcmlwdGlvbiA9IHRoaXMuYWN0aXZpdHkubGlua0Rlc2NyaXB0aW9uO1xyXG4gICAgICAgIHRoaXMudGFyZ2V0RGF0ZSA9IHRoaXMuYWN0aXZpdHkudGFyZ2V0RGF0ZVRpbWU7XHJcbiAgICAgICAgdGhpcy5kZWFkbGluZURhdGUgPSB0aGlzLmFjdGl2aXR5LmRlYWRsaW5lRGF0ZVRpbWU7XHJcbiAgICAgICAgdGhpcy5vcGVuQnV0dG9uTGFiZWwgPSB0aGlzLmFjdGl2aXR5LmxpbmtMYWJlbDtcclxuICAgICAgICB0aGlzLmFjdGl2aXR5VGl0bGUgPSB0aGlzLmFjdGl2aXR5LmFjdGl2aXR5VGl0bGU7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eUNvbnRleHRUaXRsZSA9IHRoaXMuYWN0aXZpdHkuYWN0aXZpdHlDb250ZXh0VGl0bGU7XHJcbiAgICAgICAgdGhpcy5pc1Rhc2sgPSB0aGlzLl9hY3Rpdml0eS5Jc1Rhc2s7XHJcbiAgICAgICAgdGhpcy5zYW1lRGF0ZXMgPSBEYXRlVXRpbHMuSXNTYW1lRGF5KHRoaXMudGFyZ2V0RGF0ZSwgdGhpcy5kZWFkbGluZURhdGUpO1xyXG4gICAgICAgIHRoaXMuX3NldEZpcnN0VHJpZ2dlclRvQ2xvc2VXRigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldEZpcnN0VHJpZ2dlclRvQ2xvc2VXRigpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXNOaWxsKHRoaXMud29ya0Zsb3cpIHx8IGlzTmlsbCh0aGlzLndvcmtGbG93Lm1hbnVhbFRyaWdnZXJzKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZpcnN0VHJpZ2dlclRvQ2xvc2VXRiA9IHVuZGVmaW5lZDtcclxuICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IHRoaXMud29ya0Zsb3cubWFudWFsVHJpZ2dlcnMubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy53b3JrRmxvdy5tYW51YWxUcmlnZ2Vyc1tpXS50b0Nsb3NlZFN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpcnN0VHJpZ2dlclRvQ2xvc2VXRiA9IHRoaXMud29ya0Zsb3cubWFudWFsVHJpZ2dlcnNbaV07XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9vcGVuVXJsKHVybDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgcmVnRXg6IFJlZ0V4cCA9IG5ldyBSZWdFeHAoLyhodHRwKXwod3d3LikvKTtcclxuICAgICAgICBpZiAocmVnRXgudGVzdCh1cmwpKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKHVybC5pbmRleE9mKFwiaHR0cFwiKSA9PT0gLTEgPyBcImh0dHA6Ly9cIiArIHVybCA6IHVybCwgXCJfYmxhbmtcIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy90aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1vdmVydmlldy1jb21wb25lbnQvY29tcG9uZW50cy9iYXNlLWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUluRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRTNELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUdyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXJFLE9BQU8sRUFFTCxrQ0FBa0MsRUFDbkMsTUFBTSx1REFBdUQsQ0FBQztBQU0vRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxp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QyxlQUFlLENBQUMsQ0FBQztRQUNsRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDN0U7YUFBTTtZQUNILGtDQUFrQztTQUNyQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFpQjtRQUMzQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7OztZQXBUSixTQUFTO1lBQ1QsVUFBVTs7O1lBdEJILGlCQUFpQjtZQWNqQixpQkFBaUI7WUFHakIsYUFBYTs7OzJCQXdCaEIsU0FBUyxTQUFDLHFCQUFxQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzt3QkFHL0MsS0FBSztrQ0FPTCxLQUFLO3VDQVNMLEtBQUs7NkJBR0wsS0FBSzswQkFHTCxLQUFLO29DQUdMLEtBQUs7NkJBSUwsTUFBTTs4QkFHTixNQUFNOzJCQUdOLE1BQU07a0NBR04sTUFBTTswQkFHTixNQUFNOytCQUdOLE1BQU07dUJBR04sTUFBTTswQkFHTixNQUFNOztBQXZCUDtJQURDLFlBQVksRUFBRTs0RUFDK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ib1wiO1xyXG5pbXBvcnQge1dvcmtmbG93fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29ya2Zsb3cuYm9cIjtcclxuaW1wb3J0IHtXb3JrZmxvd1RyaWdnZXJ9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC93b3JrZmxvdy10cmlnZ2VyLmJvXCI7XHJcbmltcG9ydCB7TW9kdWxlTmF2aWdhdGlvbkxpbmt9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL21vZHVsZS1uYXZpZ2F0aW9uLWxpbmtcIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay5ib1wiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC92YWxpZGF0aW9uLXJlc3VsdFwiO1xyXG5pbXBvcnQge2lzTmlsbH0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL2lzLW5pbGwuZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtXb3JrZmxvd0dlbmVyaWNUcmFuc2l0aW9ufSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29ya2Zsb3ctZ2VuZXJpYy10cmFuc2l0aW9uLmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlWaWV3TW9kZWx9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS12aWV3LW1vZGVsXCI7XHJcbmltcG9ydCB7Q29yZURpYWxvZ1NlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlDZmdOYW1lfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9hY3Rpdml0eS1jZmctbmFtZS5lbnVtXCI7XHJcbmltcG9ydCB7QWN0aXZpdGllc1Rhc2tDb25maWdOYW1lc30gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZS9hY3Rpdml0aWVzLXRhc2stY29uZmlnLW5hbWVzXCI7XHJcbmltcG9ydCB7XHJcbiAgT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbixcclxuICBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrXHJcbn0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZS9vcGVyYXRpb24tY2FsbGJhY2stc2ltcGxlLWZ1bmN0aW9uXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIE9wZXJhdGlvbkNhbGxiYWNrRnVuY3Rpb25XaXRoVmFsaWRhdGlvbixcclxuICBPcGVyYXRpb25XaXRoVmFsaWRhdGlvbkNhbGxiYWNrXHJcbn0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZS9vcGVyYXRpb24tY2FsbGJhY2stZnVuY3Rpb24td2l0aC12YWxpZGF0aW9uXCI7XHJcbmltcG9ydCB7SW5wdXRCb29sZWFufSBmcm9tIFwiLi4vLi4vLi4vZGVjb3JhdG9yL2lucHV0LWJvb2xlYW4uZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge0RhdGVVdGlsc30gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2RhdGUtdXRpbHNcIjtcclxuaW1wb3J0IHtUYXNrTW9kaWZpZXJDb21wb25lbnR9IGZyb20gXCIuLi8uLi90YXNrLW1vZGlmeWVyL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuXHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNmZ05hbWVzOiB0eXBlb2YgQWN0aXZpdHlDZmdOYW1lID0gQWN0aXZpdHlDZmdOYW1lO1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSB0YXNrQ2ZnTmFtZXM6IEFjdGl2aXRpZXNUYXNrQ29uZmlnTmFtZXMgPSB7XHJcbiAgICAgICAgdGltZVJlZ2lzdHJhdGlvbk1hbmRhdG9yeTogQWN0aXZpdHlDZmdOYW1lLlRpbWVSZWdpc3RyYXRpb25NYW5kYXRvcnksXHJcbiAgICAgICAgZGVsZXRlQWN0aXZpdHlUYXNrQnV0dG9uOiBBY3Rpdml0eUNmZ05hbWUuRGVsZXRlQWN0aXZpdHlUYXNrQnV0dG9uLFxyXG4gICAgICAgIHN0YXR1c1N1bW1hcnlIZWFkZXI6IEFjdGl2aXR5Q2ZnTmFtZS5TdGF0dXNTdW1tYXJ5SGVhZGVyLFxyXG4gICAgICAgIGNyZWF0aW9uU3VtbWFyeUhlYWRlcjogQWN0aXZpdHlDZmdOYW1lLkNyZWF0aW9uU3VtbWFyeUhlYWRlcixcclxuICAgICAgICBleGVjdXRpdmVTdW1tYXJ5SGVhZGVyOiBBY3Rpdml0eUNmZ05hbWUuRXhlY3V0aXZlU3VtbWFyeUhlYWRlcixcclxuICAgICAgICBwbGFubmluZ1N1bW1hcnlIZWFkZXI6IEFjdGl2aXR5Q2ZnTmFtZS5QbGFubmluZ1N1bW1hcnlIZWFkZXIsXHJcbiAgICAgICAgYXR0YWNobWVudHNIZWFkZXI6IEFjdGl2aXR5Q2ZnTmFtZS5BdHRhY2htZW50c0hlYWRlcixcclxuICAgICAgICBub3RpZmljYXRpb25zU3VtbWFyeUhlYWRlcjogQWN0aXZpdHlDZmdOYW1lLk5vdGlmaWNhdGlvbnNTdW1tYXJ5SGVhZGVyLFxyXG4gICAgICAgIHRhZ3NIZWFkZXI6IEFjdGl2aXR5Q2ZnTmFtZS5UYWdzSGVhZGVyLFxyXG4gICAgICAgIHRhc2tJbnZvaWNlOiBBY3Rpdml0eUNmZ05hbWUuVGFza0ludm9pY2VcclxuICAgIH07XHJcblxyXG4gICAgQFZpZXdDaGlsZChUYXNrTW9kaWZpZXJDb21wb25lbnQsIHtzdGF0aWM6IHRydWV9KVxyXG4gICAgcHVibGljIHRhc2tNb2RpZmllcjogVGFza01vZGlmaWVyQ29tcG9uZW50O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHZpZXdNb2RlbCh2YWx1ZTogQWN0aXZpdHlWaWV3TW9kZWwpIHtcclxuICAgICAgICB0aGlzLl92aWV3TW9kZWwgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLm92ZXJEdWUgPSB2YWx1ZS5vdmVyRHVlO1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHkgPSB2YWx1ZS5hY3Rpdml0eTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmlnZ2VyVG9GaXJlT25TYXZlKHZhbHVlOiBXb3JrZmxvd1RyaWdnZXIpIHtcclxuICAgICAgdGhpcy5fdHJpZ2dlclRvRmlyZU9uU2F2ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJpZ2dlclRvRmlyZU9uU2F2ZSgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJUb0ZpcmVPblNhdmU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBwcmVwYXJlV29ya2Zsb3dPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdXNlclJlbGF0aW9uSWQ6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHVzZXJHcm91cElkOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGhhbmRsZU9wZW5MaW5rU2lkZWJhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGFjdGl2aXR5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBhY3Rpdml0eURlbGV0ZWQ6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHRyaWdnZXJGaXJlZDogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZ2VuZXJpY1RyaWdnZXJGaXJlZDogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZm9ybUNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBmb3JtVHJpZ2dlckZpcmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb3Blbkxpbms6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxpbmtDbGlja2VkOiBFdmVudEVtaXR0ZXI8e21vZHVsZTogc3RyaW5nLCBpZDogc3RyaW5nfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHttb2R1bGU6IHN0cmluZywgaWQ6IHN0cmluZ30+KCk7XHJcblxyXG5cclxuICBwdWJsaWMgc2V0IGFjdGl2aXR5KHZhbHVlOiBBY3Rpdml0eSkge1xyXG4gICAgICAgIHRoaXMuX2FjdGl2aXR5ID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZURhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGFjdGl2aXR5KCk6IEFjdGl2aXR5IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHdvcmtGbG93OiBXb3JrZmxvdztcclxuICAgIHB1YmxpYyB0YXJnZXREYXRlOiBEYXRlO1xyXG4gICAgcHVibGljIGRlYWRsaW5lRGF0ZTogRGF0ZTtcclxuICAgIHB1YmxpYyBhY3Rpdml0eU5hbWU6IHN0cmluZztcclxuICAgIHB1YmxpYyBhY3Rpdml0eURlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYWN0aXZpdHlUaXRsZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGFjdGl2aXR5Q29udGV4dFRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIG9wZW5CdXR0b25MYWJlbDogc3RyaW5nO1xyXG4gICAgcHVibGljIG92ZXJEdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyB1c2VySXNTdXBlcnZpc29yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvL1RPRE8gUmVpbnN0YXRlIG9uY2Ugd2Uga25vdyB3aGF0IHRvIGRvIHdpdGggdGhlIGZvcm1idWlsZGVyXHJcbiAgICAvL3B1YmxpYyBzaG93Q3JlYXRlRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLy9wdWJsaWMgZm9ybTogRm9ybUZ1bGxPYmplY3QgPSBOVUxMX0ZPUk1fRlVMTF9PQkpFQ1Q7XHJcbiAgICBwdWJsaWMgdGFibGU6IHN0cmluZztcclxuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcclxuICAgIHB1YmxpYyB1cmxzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgcHVibGljIGZpcnN0VHJpZ2dlclRvQ2xvc2VXRjogV29ya2Zsb3dUcmlnZ2VyO1xyXG4gICAgcHVibGljIGlzVGFzazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhhc1RyaWdnZXJzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGxpbms6IE1vZHVsZU5hdmlnYXRpb25MaW5rO1xyXG4gICAgcHVibGljIGxpbmtEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcHVibGljIHNhbWVEYXRlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgX2FjdGl2aXR5OiBBY3Rpdml0eSA9IG5ldyBBY3Rpdml0eSgpO1xyXG4gICAgcHJpdmF0ZSBfdmlld01vZGVsOiBBY3Rpdml0eVZpZXdNb2RlbDtcclxuICAgIHByaXZhdGUgX3RyaWdnZXJUb0ZpcmVPblNhdmU6IFdvcmtmbG93VHJpZ2dlcjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IENvcmVEaWFsb2dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgLy9UT0RPIHJlaW5zdGF0ZSB3aGVuIGZvcm1idWlsZGVyIGlzIHRyYW5zZmVycmVkXHJcbiAgICAgICAgICAgICAgLy9wcml2YXRlIF9mb3JtUmVwbzogRm9ybURhbFJlcG9zaXRvcnksXHJcbiAgICAgICAgICAgICAgLypwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciovXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlQnV0dG9uRW5kQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVUcmlnZ2VyQ2xpY2sodGhpcy5maXJzdFRyaWdnZXJUb0Nsb3NlV0YpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVHZW5lcmljVHJpZ2dlckNsaWNrKGV2ZW50OiBXb3JrZmxvd0dlbmVyaWNUcmFuc2l0aW9uKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBWYWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5maXJlR2VuZXJpY1RyaWdnZXIoXHJcbiAgICAgICAgICAgIHRoaXMud29ya0Zsb3cud29ya2Zsb3dQcm9jZXNzSWQsIGV2ZW50LmdlbmVyaWNUcmFuc2l0aW9uSWQsIHRoaXMudXNlclJlbGF0aW9uSWQgKTtcclxuICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmljVHJpZ2dlckZpcmVkLm5leHQodGhpcy5hY3Rpdml0eSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgICAgIGNvbnN0IGxlbjogbnVtYmVyID0gcmVzdWx0Lm1lc3NhZ2VzLmxlbmd0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChyZXN1bHQubWVzc2FnZXNbaV0ubWVzc2FnZS50b1VwcGVyQ2FzZSgpKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93RXJyb3IobWVzc2FnZXMudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVUcmlnZ2VyQ2xpY2soZXZlbnRUcmlnZ2VyOiBXb3JrZmxvd1RyaWdnZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoZXZlbnRUcmlnZ2VyLmlzVGFza1RyaWdnZXIgJiYgZXZlbnRUcmlnZ2VyLnRhc2tJZCkge1xyXG4gICAgICAgICAgICAvL3ByZXBhcmUgdGFzayBvbiB0aGUgYWN0aXZpdHkgb2JqZWN0LCBzbyB0aGUgdGFzayBtb2RpZmllciBjYW4gaGFuZGxlIGl0XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHkudGFzayA9IG5ldyBUYXNrKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHkudGFzay50YXNrSWQgPSBldmVudFRyaWdnZXIudGFza0lkO1xyXG4gICAgICAgICAgICB0aGlzLnRhc2tNb2RpZmllci5zdGFydE1vZGlmeWluZ1Rhc2sodGhpcy5hY3Rpdml0eSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudFRyaWdnZXIuaXNGb3JtVHJpZ2dlcikge1xyXG4gICAgICAgICAgICAvL1RPRE8gcmVpbnN0YXRlIHdoZW4gd2Uga25vdyB3aGF0IHRvIGRvIHdpdGggdGhlIGZvcm1idWlsZGVyXHJcbiAgICAgICAgICAgIC8qdGhpcy5mb3JtID0gYXdhaXQgdGhpcy5fZm9ybVJlcG8uZ2V0Rm9ybShldmVudFRyaWdnZXIuZm9ybUlkKTtcclxuICAgICAgICAgICAgdGhpcy50YWJsZSA9IHRoaXMud29ya0Zsb3cudGFibGU7XHJcbiAgICAgICAgICAgIHRoaXMua2V5ID0gdGhpcy53b3JrRmxvdy5rZXk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0NyZWF0ZUZvcm0gPSB0cnVlOyovXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50VHJpZ2dlci50b0Nsb3NlZFN0YXRlICYmICF0aGlzLl9zaGFyZWRTZXJ2aWNlLmNhbkZpcmVUcmlnZ2VyKHRoaXMuYWN0aXZpdHksIHRoaXMuYWN0aXZpdHkudGFzaykpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJlcGFyZVdvcmtmbG93T3BlcmF0aW9uKHt0YWJsZTogdGhpcy53b3JrRmxvdy50YWJsZSwga2V5OiB0aGlzLndvcmtGbG93LmtleX0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyVG9GaXJlT25TYXZlID0gZXZlbnRUcmlnZ2VyO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93VGFza0Zvcm1BbmRXb3JrTG9nKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBWYWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5maXJlVHJpZ2dlcihcclxuICAgICAgICAgICAgICB0aGlzLndvcmtGbG93LndvcmtmbG93UHJvY2Vzc0lkLCB0aGlzLndvcmtGbG93LnNlcXVlbmNlLCBldmVudFRyaWdnZXIudHJpZ2dlcklkKTtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyRmlyZWQubmV4dCh0aGlzLmFjdGl2aXR5KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IHJlc3VsdC5tZXNzYWdlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChyZXN1bHQubWVzc2FnZXNbaV0ubWVzc2FnZS50b1VwcGVyQ2FzZSgpKSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0Vycm9yKG1lc3NhZ2VzLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlT3BlbkxpbmsoZXZlbnQ6IE1vdXNlRXZlbnQsIHVybD86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N0b3BFdmVudFByb3BhZ2F0aW9uKGV2ZW50KTtcclxuICAgICAgICBpZiAodXJsKSB7IC8vIGJyZWFkQ3J1bWJzIHRvIHVybFxyXG4gICAgICAgICAgICB0aGlzLl9vcGVuVXJsKHVybCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydE1vZGlmeWluZ1Rhc2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZU9wZW5MaW5rT3JVcmwoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XHJcbiAgICAgICAgaWYgKHRoaXMubGluayAmJiB0aGlzLmxpbmsubW9kdWxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlua0NsaWNrZWQubmV4dCh7bW9kdWxlOiB0aGlzLmxpbmsubW9kdWxlLCBpZDogdGhpcy5saW5rLmlkfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVybHMgJiYgdGhpcy51cmxzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl9vcGVuVXJsKHRoaXMudXJsc1swXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydE1vZGlmeWluZ1Rhc2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXJ0TW9kaWZ5aW5nVGFzaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy53b3JrRmxvdyAmJiB0aGlzLndvcmtGbG93LndvcmtGbG93SGFzT25lVGFza1RyaWdnZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3Rpdml0eS50YXNrID0gbmV3IFRhc2soKTtcclxuICAgICAgICAgICAgdGhpcy5hY3Rpdml0eS5hY3Rpdml0eVR5cGUgPSBBY3Rpdml0eVR5cGUuVGFzaztcclxuICAgICAgICAgICAgdGhpcy5hY3Rpdml0eS50YXNrLnRhc2tJZCA9IHRoaXMud29ya0Zsb3cudGFza0lkRnJvbVRhc2tUcmlnZ2VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hY3Rpdml0eS50YXNrKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhbmRsZU9wZW5MaW5rU2lkZWJhciA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuTGluay5uZXh0KHRoaXMuYWN0aXZpdHkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFza01vZGlmaWVyLnN0YXJ0TW9kaWZ5aW5nVGFzayh0aGlzLmFjdGl2aXR5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUT0RPOiBmb3Igbm93IGEgbWVzc2FnZSBpcyBzaG93bi5cclxuICAgICAgICBlbHNlIGlmICh0aGlzLndvcmtGbG93KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0luZm9ybWF0aW9uKFwiQ29tcG9uZW50OiBcIiArIHRoaXMud29ya0Zsb3cuY29tcG9uZW50ICsgXCIga2V5OiBcIiArIHRoaXMud29ya0Zsb3cuZGlzcGxheUtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzaG93VGFza0Zvcm1BbmRXb3JrTG9nKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmFjdGl2aXR5LnRhc2spIHtcclxuICAgICAgICAgIC8vVE9ETyBSRUlOU1RBVEUgQUZURVIgRklYSU5HIEZPUk1cclxuICAgICAgICAgIC8vdGhpcy50YXNrTW9kaWZpZXIuc3RhcnRNb2RpZnlpbmdUYXNrQW5kV29ya0xvZyh0aGlzLmFjdGl2aXR5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUZvcm1UcmlnZ2VyRmlyZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JtVHJpZ2dlckZpcmVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25TYXZlQWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eSA9IGFjdGl2aXR5O1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlDaGFuZ2UubmV4dCh0aGlzLmFjdGl2aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25EZWxldGVBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hY3Rpdml0eS5nZXRJZCgpID09PSBhY3Rpdml0eS5nZXRJZCgpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl92aWV3TW9kZWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdNb2RlbC5kZWxldGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdNb2RlbC5zaG93aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3TW9kZWwucmVmcmVzaFZpZXdNb2RlbCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHlEZWxldGVkLmVtaXQoYWN0aXZpdHkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9UT0RPIFJlaW5zdGF0ZSBvbmNlIHdlIGtub3cgd2hhdCB0byBkbyB3aXRoIHRoZSBmb3JtYnVpbGRlclxyXG4gICAgLypwdWJsaWMgZG9DYW5jZWxGb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd0NyZWF0ZUZvcm0gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9TYXZlRm9ybShmb3JtOiBGb3JtUmVzcG9uc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCByZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCB0aGlzLl9mb3JtUmVwby5pbnNlcnRGb3JtUmVzcG9uc2UoZm9ybSk7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNyZWF0ZWQubmV4dCgpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dDcmVhdGVGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfSovXHJcblxyXG4gICAgcHJpdmF0ZSBfcHJlcGFyZURhdGEoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy53b3JrRmxvdyA9IHRoaXMuX2FjdGl2aXR5LndvcmtmbG93O1xyXG4gICAgICAgIGlmICh0aGlzLndvcmtGbG93KSB7XHJcbiAgICAgICAgICAgIHRoaXMud29ya0Zsb3cudXNlU2luZ2xlVGFza1RyaWdnZXJBc1Rhc2sgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnVybHMgPSB0aGlzLndvcmtGbG93LnVybHM7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzVHJpZ2dlcnMgPSB0aGlzLndvcmtGbG93Lmhhc1RyaWdnZXJzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFjdGl2aXR5TmFtZSA9IHRoaXMuYWN0aXZpdHkubmFtZTtcclxuICAgICAgICB0aGlzLmxpbmsgPSB0aGlzLmFjdGl2aXR5Lmxpbms7XHJcbiAgICAgICAgdGhpcy5saW5rRGVzY3JpcHRpb24gPSB0aGlzLmFjdGl2aXR5LmxpbmtEZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLnRhcmdldERhdGUgPSB0aGlzLmFjdGl2aXR5LnRhcmdldERhdGVUaW1lO1xyXG4gICAgICAgIHRoaXMuZGVhZGxpbmVEYXRlID0gdGhpcy5hY3Rpdml0eS5kZWFkbGluZURhdGVUaW1lO1xyXG4gICAgICAgIHRoaXMub3BlbkJ1dHRvbkxhYmVsID0gdGhpcy5hY3Rpdml0eS5saW5rTGFiZWw7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eVRpdGxlID0gdGhpcy5hY3Rpdml0eS5hY3Rpdml0eVRpdGxlO1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlDb250ZXh0VGl0bGUgPSB0aGlzLmFjdGl2aXR5LmFjdGl2aXR5Q29udGV4dFRpdGxlO1xyXG4gICAgICAgIHRoaXMuaXNUYXNrID0gdGhpcy5fYWN0aXZpdHkuSXNUYXNrO1xyXG4gICAgICAgIHRoaXMuc2FtZURhdGVzID0gRGF0ZVV0aWxzLklzU2FtZURheSh0aGlzLnRhcmdldERhdGUsIHRoaXMuZGVhZGxpbmVEYXRlKTtcclxuICAgICAgICB0aGlzLl9zZXRGaXJzdFRyaWdnZXJUb0Nsb3NlV0YoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRGaXJzdFRyaWdnZXJUb0Nsb3NlV0YoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGlzTmlsbCh0aGlzLndvcmtGbG93KSB8fCBpc05pbGwodGhpcy53b3JrRmxvdy5tYW51YWxUcmlnZ2VycykpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5maXJzdFRyaWdnZXJUb0Nsb3NlV0YgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSB0aGlzLndvcmtGbG93Lm1hbnVhbFRyaWdnZXJzLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMud29ya0Zsb3cubWFudWFsVHJpZ2dlcnNbaV0udG9DbG9zZWRTdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maXJzdFRyaWdnZXJUb0Nsb3NlV0YgPSB0aGlzLndvcmtGbG93Lm1hbnVhbFRyaWdnZXJzW2ldO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfb3BlblVybCh1cmw6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHJlZ0V4OiBSZWdFeHAgPSBuZXcgUmVnRXhwKC8oaHR0cCl8KHd3dy4pLyk7XHJcbiAgICAgICAgaWYgKHJlZ0V4LnRlc3QodXJsKSkge1xyXG4gICAgICAgICAgICB3aW5kb3cub3Blbih1cmwuaW5kZXhPZihcImh0dHBcIikgPT09IC0xID8gXCJodHRwOi8vXCIgKyB1cmwgOiB1cmwsIFwiX2JsYW5rXCIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodXJsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -22,6 +22,7 @@ export class ModifyTaskFormComponent {
|
|
|
22
22
|
this.activityChange = new EventEmitter();
|
|
23
23
|
this.statusChange = new EventEmitter();
|
|
24
24
|
this.showWorkLog = new EventEmitter();
|
|
25
|
+
this.triggerFired = new EventEmitter();
|
|
25
26
|
this.selectedMenu = 'content-menu1';
|
|
26
27
|
this.activities = [];
|
|
27
28
|
this.table = TableName.Tasks;
|
|
@@ -101,6 +102,9 @@ export class ModifyTaskFormComponent {
|
|
|
101
102
|
handleSaveTags(tags) {
|
|
102
103
|
this.activity.task.tags = tags;
|
|
103
104
|
}
|
|
105
|
+
handleTriggerFired() {
|
|
106
|
+
this.triggerFired.next();
|
|
107
|
+
}
|
|
104
108
|
_updateTaskObject(activity, prop) {
|
|
105
109
|
const cloneActivity = this._boFactory.makeWithRawBackendData(Activity, activity);
|
|
106
110
|
if (cloneActivity.isNew) {
|
|
@@ -171,6 +175,7 @@ ModifyTaskFormComponent.decorators = [
|
|
|
171
175
|
[(activity)]="activity"
|
|
172
176
|
(activityChange)="activityChange.emit($event)"
|
|
173
177
|
(showWorkLog)="handleShowWorkLow()"
|
|
178
|
+
(triggerFired)="handleTriggerFired()"
|
|
174
179
|
noBorder
|
|
175
180
|
></co-task-details>
|
|
176
181
|
<div class="task-column">
|
|
@@ -279,9 +284,10 @@ ModifyTaskFormComponent.propDecorators = {
|
|
|
279
284
|
hidden: [{ type: HostBinding, args: ["class.hidden",] }],
|
|
280
285
|
activityChange: [{ type: Output }],
|
|
281
286
|
statusChange: [{ type: Output }],
|
|
282
|
-
showWorkLog: [{ type: Output }]
|
|
287
|
+
showWorkLog: [{ type: Output }],
|
|
288
|
+
triggerFired: [{ type: Output }]
|
|
283
289
|
};
|
|
284
290
|
__decorate([
|
|
285
291
|
InputBoolean()
|
|
286
292
|
], ModifyTaskFormComponent.prototype, "forceReadonly", null);
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LXRhc2stZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL21vZGlmeS10YXNrLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFDbkMsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBR3ZFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBNkgzRSxNQUFNLE9BQU8sdUJBQXVCO0lBbUZsQyxZQUNVLFVBQWlDLEVBQ2pDLGFBQTRCLEVBQzdCLGdCQUFrQztJQUN6Qyw2Q0FBNkM7SUFDN0MsNkNBQTZDOztRQUpyQyxlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckYzQyxnRUFBZ0U7UUFDaEQsZUFBVSxHQUFxQixTQUFTLENBQUM7UUE0QmxELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsaUJBQVksR0FB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RDtpQkFDRjthQUNGOzs7WUEvSE8scUJBQXFCO1lBRXJCLGFBQWE7WUFUQSxnQkFBZ0I7Ozt1QkE4SWxDLEtBQUs7d0JBTUwsV0FBVyxTQUFDLDJCQUEyQjtzQ0FhdkMsS0FBSzt1QkFHTCxLQUFLOzJCQUdMLEtBQUs7NEJBR0wsS0FBSztxQkFNTCxXQUFXLFNBQUMsY0FBYzs2QkFHMUIsTUFBTTsyQkFHTixNQUFNOzBCQUdOLE1BQU07O0FBYlA7SUFEQyxZQUFZLEVBQUU7NERBR2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtcclxuICBGb3JtTWFzdGVyU2VydmljZSwgSWNvbkNhY2hlU2VydmljZSxcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnRcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vdGFibGUtbmFtZS5lbnVtXCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50XCI7XHJcbmltcG9ydCB7QWN0aXZpdGllc1Rhc2tDb25maWdOYW1lc30gZnJvbSBcIi4uLy4uL2ludGVyZmFjZS9hY3Rpdml0aWVzLXRhc2stY29uZmlnLW5hbWVzXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvc2VydmljZS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeVwiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VGFnQ2F0ZWdvcnl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYi1jYXRlZ29yeS5lbnVtXCI7XHJcbmltcG9ydCB7VGFnVHJlZUl0ZW19IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWctdHJlZS1pdGVtLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1tb2RpZnktdGFzay1mb3JtXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RpZnktdGFzay1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RpZnktdGFzay1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlci1tZW51XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkTWVudSA9PT0gJ2NvbnRlbnQtbWVudTEnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiJ1RBU0tfREVUQUlMUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dDb250ZW50KCdjb250ZW50LW1lbnUxJylcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlci1tZW51XCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRNZW51ID09PSAnY29udGVudC1tZW51MidcIlxyXG4gICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidUQVNLX0lORk9STUFUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93Q29udGVudCgnY29udGVudC1tZW51MicpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItbWVudVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkTWVudSA9PT0gJ2NvbnRlbnQtbWVudTMnXCJcclxuICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCInUExBTk5JTkcnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dDb250ZW50KCdjb250ZW50LW1lbnUzJylcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1tZW51LXdyYXBwZXIgbmFycm93LXNjcm9sbGJhclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LW1lbnVcIiBbaGlkZGVuXT1cInNlbGVjdGVkTWVudSAhPT0gJ2NvbnRlbnQtbWVudTEnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1yb3ctd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRhc2stZGV0YWlscyBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmxlXT1cIlRhYmxlTmFtZXMuVGFza3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tleV09XCJrZXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhhY3Rpdml0eSldPVwiYWN0aXZpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd1dvcmtMb2cpPVwiaGFuZGxlU2hvd1dvcmtMb3coKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub0JvcmRlclxyXG4gICAgICAgICAgICAgID48L2NvLXRhc2stZGV0YWlscz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImludm9pY2UtY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ01BUktFRCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFjdGl2aXR5LnRhc2suaXNJbnZvaWNlZFwiPlxyXG4gICAgICAgICAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZWQtdGltZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFjdGl2aXR5LnRhc2sud29ya01hbmRhdG9yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidUSU1FUkVHSVNUUkFUSU9OX01BTkRBVE9SWScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbm9Nb2R1bGVTZXJ2aWNlPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICA8IS0tIFRPRE8gaW1wbGVtZW50IGJhY2sgbGF0ZXItLT5cclxuICAgICAgICAgICAgICAgICAgPCEtLSA8YXJyb3ctbGluayAqbmdJZj1cIiFyZWFkb25seVwiIGxhYmVsPVwiUkVHSVNURVJfVElNRV9IRVJFXCIgKGNsaWNrKT1cImhhbmRsZVJlZ2lzdGVyV29yaygpXCI+PC9hcnJvdy1saW5rPi0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktY29udGVudC1oZWFkZXJcIiBbdGV4dENvbnRlbnRdPVwiJ1BFUlNPTlMnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8Y28tZXhlY3V0aXZlLXN1bW1hcnktYmxvY2tcclxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICBbKGFjdGl2aXR5KV09XCJhY3Rpdml0eVwiXHJcbiAgICAgICAgICAgICAgICAoYWN0aXZpdHlDaGFuZ2UpPVwiYWN0aXZpdHlDaGFuZ2UuZW1pdCgkZXZlbnQpXCIgbm9Cb3JkZXJcclxuICAgICAgICAgICAgICA+PC9jby1leGVjdXRpdmUtc3VtbWFyeS1ibG9jaz5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLVRPRE8gaW1wbGVtZW50IG5ldyBmaWxlIHVwbG9hZCBoZXJlLS0+XHJcbiAgICAgICAgICAgICAgPCEtLSA8YWN0aXZpdHktYXR0YWNobWVudHNcclxuICAgICAgICAgICAgICAgICAgICAgICBbKGFjdGl2aXR5KV09XCJhY3Rpdml0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cImFjdGl2aXR5LnRhc2suaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtub0ZvcmNlSW5wdXRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgbm9Cb3JkZXJcclxuICAgICAgICAgICAgICAgPjwvYWN0aXZpdHktYXR0YWNobWVudHM+LS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdGllcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1hY3Rpdml0eS1saXN0IFthY3Rpdml0aWVzXT1cImFjdGl2aXRpZXNcIj5cclxuXHJcbiAgICAgICAgICAgIDwvY28tYWN0aXZpdHktbGlzdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LW1lbnVcIiBbaGlkZGVuXT1cInNlbGVjdGVkTWVudSAhPT0gJ2NvbnRlbnQtbWVudTInXCI+XHJcbiAgICAgICAgICA8Y28tc3RhdHVzLXN1bW1hcnktYmxvY2tcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgWyhhY3Rpdml0eSldPVwiYWN0aXZpdHlcIlxyXG4gICAgICAgICAgICBbdGFibGVdPVwiVGFibGVOYW1lcy5UYXNrc1wiXHJcbiAgICAgICAgICAgIFtrZXldPVwia2V5XCJcclxuICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiIG5vQm9yZGVyXHJcbiAgICAgICAgICA+PC9jby1zdGF0dXMtc3VtbWFyeS1ibG9jaz5cclxuICAgICAgICAgIDxjby1jcmVhdGlvbi1zdW1tYXJ5LWJsb2NrXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgIFsoYWN0aXZpdHkpXT1cImFjdGl2aXR5XCJcclxuICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiIG5vQm9yZGVyXHJcbiAgICAgICAgICA+PC9jby1jcmVhdGlvbi1zdW1tYXJ5LWJsb2NrPlxyXG4gICAgICAgICAgPCEtLTxwbGFubmluZy1zdW1tYXJ5LWJsb2NrXHJcbiAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgIFsoYWN0aXZpdHkpXT1cImFjdGl2aXR5XCJcclxuICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiIG5vQm9yZGVyXHJcbiAgICAgICAgICA+PC9wbGFubmluZy1zdW1tYXJ5LWJsb2NrPi0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LW1lbnVcIiBbaGlkZGVuXT1cInNlbGVjdGVkTWVudSAhPT0gJ2NvbnRlbnQtbWVudTMnXCI+XHJcbiAgICAgICAgICA8Y28tbm90aWZpY2F0aW9uLXN1bW1hcnktYmxvY2tcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgWyhhY3Rpdml0eSldPVwiYWN0aXZpdHlcIlxyXG4gICAgICAgICAgICAoYWN0aXZpdHlDaGFuZ2UpPVwiYWN0aXZpdHlDaGFuZ2UuZW1pdCgkZXZlbnQpXCIgbm9Cb3JkZXJcclxuICAgICAgICAgID48L2NvLW5vdGlmaWNhdGlvbi1zdW1tYXJ5LWJsb2NrPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0LXRhZ3Mtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28tc2ltcGxlLXRhZ3MtZm9ybSBbdGFnc109XCJhbGxUYWdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtlZFRhZ3NdPVwiYWN0aXZpdHkudGFzay50YWdzXCI+XHJcbiAgICAgICAgICAgIDwvY28tc2ltcGxlLXRhZ3MtZm9ybT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXRhZy13cmFwcGVyXCIgKm5nRm9yPVwibGV0IHRhZyBvZiBhY3Rpdml0eS50YXNrLnRhZ3NcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ1wiIFt0ZXh0Q29udGVudF09XCJ0YWcuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1vZGlmeVRhc2tGb3JtQ29tcG9uZW50KVxyXG4gICAgfVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RpZnlUYXNrRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgU2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudCB7XHJcbiAgLy9wdWJsaWMgcmVhZG9ubHkgVGFnQ2F0ZWdvcnk6IHR5cGVvZiBUYWdDYXRlZ29yeSA9IFRhZ0NhdGVnb3J5O1xyXG4gIHB1YmxpYyByZWFkb25seSBUYWJsZU5hbWVzOiB0eXBlb2YgVGFibGVOYW1lID0gVGFibGVOYW1lO1xyXG5cclxuICAvKiBAVmlld0NoaWxkKEFjdGl2aXR5QWN0aXZpdGllc0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgcHVibGljIGFjdGl2aXR5QWN0aXZpdGllczogQWN0aXZpdHlBY3Rpdml0aWVzQ29tcG9uZW50OyovXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhY3Rpdml0eSh2YWx1ZTogQWN0aXZpdHkpIHtcclxuICAgIHRoaXMuX2FjdGl2aXR5ID0gdmFsdWU7XHJcbiAgICB0aGlzLmtleSA9IHRoaXMuX2FjdGl2aXR5LnRhc2sudGFza0lkICsgXCJcIjtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLW1vZGlmeS10YXNrLWZvcm1cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFjdGl2aXR5KCk6IEFjdGl2aXR5IHtcclxuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaGFzRG9jdW1lbnRzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0aGlzLl9hY3Rpdml0eT8udGFzaz8uZG9jdW1lbnRzPy5sZW5ndGggPiAwKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFjdGl2aXR5VGFza0NvbmZpZ05hbWVzOiBBY3Rpdml0aWVzVGFza0NvbmZpZ05hbWVzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwb3B1cENvbnRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASW5wdXRCb29sZWFuKClcclxuICBwdWJsaWMgc2V0IGZvcmNlUmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMucmVhZG9ubHkgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmhpZGRlblwiKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3Rpdml0eUNoYW5nZTogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzdGF0dXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNob3dXb3JrTG9nOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZE1lbnU6IHN0cmluZyA9ICdjb250ZW50LW1lbnUxJ1xyXG4gIHB1YmxpYyBhY3Rpdml0aWVzOiBBY3Rpdml0eVtdID0gW107XHJcbiAgcHVibGljIHRhYmxlOiBUYWJsZU5hbWUgPSBUYWJsZU5hbWUuVGFza3M7XHJcbiAgcHVibGljIGtleTogc3RyaW5nO1xyXG4gIHB1YmxpYyBleHBhbmRBY3Rpdml0aWVzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBvYmplY3RDb25maWdOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBtYXhMZW5ndGg6IG51bWJlcjtcclxuICBwdWJsaWMgZGVjaW1hbHM6IG51bWJlcjtcclxuICBwdWJsaWMgcmVkRXJyb3JCYWNrZ3JvdW5kOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgc2hvd1RhZ1BvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGFsbFRhZ3M6IFRhZ1RyZWVJdGVtW10gPSBbXTtcclxuICAvL3B1YmxpYyBlZGl0aW5nVGFnczogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAvKnB1YmxpYyBnZXQgbW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fbWVkaWFNb25pdG9yLmlzRXh0cmFTbWFsbCgpO1xyXG4gIH0qL1xyXG5cclxuICBwcml2YXRlIF9hY3Rpdml0eTogQWN0aXZpdHk7XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGREb2N1bWVudHMoZG9jczogQ29Eb2N1bWVudFtdKTogdm9pZCB7XHJcbiAgICBkb2NzLmZvckVhY2goZG9jID0+IHRoaXMuYWN0aXZpdHkudGFzay5kb2N1bWVudHMucHVzaChkb2MpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGREb2N1bWVudChkb2M6IENvRG9jdW1lbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZpdHkudGFzay5kb2N1bWVudHMucHVzaChkb2MpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSxcclxuICAgIHByaXZhdGUgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgICAvL3ByaXZhdGUgX21lZGlhTW9uaXRvcjogTWVkaWFNb25pdG9yU2VydmljZSxcclxuICAgIC8qcHJpdmF0ZSBfYWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2UqL1xyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZ2V0QWN0aXZpdGllcygpO1xyXG4gICAgdGhpcy5fZ2V0VGFncygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dDb250ZW50KG1lbnU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZE1lbnUgPSBtZW51O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVJlZ2lzdGVyV29yaygpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvKmlmICh0aGlzLmFjdGl2aXR5QWN0aXZpdGllcykge1xyXG4gICAgICAgICAgdGhpcy5leHBhbmRBY3Rpdml0aWVzID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdHlBY3Rpdml0aWVzLnNob3dSZWdpc3RlcldvcmtMZWFmKCk7XHJcbiAgICAgIH0qL1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2F2ZUFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXBkYXRlVGFza09iamVjdChhY3Rpdml0eSwgYWN0aXZpdHkuSXNXb3JrID8gXCJ3b3JrTG9nXCIgOiBcInJlbWFya3NcIik7XHJcbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5hY3Rpdml0aWVzLmZpbmRJbmRleCgoc3JjKSA9PiB7XHJcbiAgICAgIHJldHVybiBzcmMuZ2V0SWQoKSA9PT0gYWN0aXZpdHkuZ2V0SWQoKTtcclxuICAgIH0pO1xyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgdGhpcy5hY3Rpdml0aWVzW2luZGV4XSA9IGFjdGl2aXR5O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3Rpdml0aWVzLnB1c2goYWN0aXZpdHkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3Rpdml0aWVzID0gdGhpcy5hY3Rpdml0aWVzLnNsaWNlKDApOyAvLyByZXNldCB2aWV3XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVsZXRlQWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KTogdm9pZCB7XHJcbiAgICBpZiAoYWN0aXZpdHkuSXNXb3JrKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZpdHkudGFzay5kZWxldGVXb3JrTG9nKGFjdGl2aXR5LndvcmspO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpdml0eS5Jc1JlbWFyaykge1xyXG4gICAgICB0aGlzLmFjdGl2aXR5LnRhc2suZGVsZXRlUmVtYXJrKGFjdGl2aXR5LnJlbWFyayk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd1dvcmtMb3coKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4cGFuZEFjdGl2aXRpZXMgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93V29ya0xvZy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRWRpdFRhZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9nZXRUYWdzKCk7XHJcbiAgICB0aGlzLnNob3dUYWdQb3B1cCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2F2ZVRhZ3ModGFnczogVGFnVHJlZUl0ZW1bXSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3Rpdml0eS50YXNrLnRhZ3MgPSB0YWdzO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwcml2YXRlIF91cGRhdGVUYXNrT2JqZWN0KGFjdGl2aXR5OiBBY3Rpdml0eSwgcHJvcDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjbG9uZUFjdGl2aXR5ID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWN0aXZpdHksIGFjdGl2aXR5KTtcclxuICAgIGlmICgoY2xvbmVBY3Rpdml0eSBhcyBBY3Rpdml0eSkuaXNOZXcpIHtcclxuICAgICAgdGhpcy5hY3Rpdml0eS50YXNrW3Byb3BdLnB1c2goYWN0aXZpdHkuZ2V0QmFzZUNvbnRlbnQoKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5hY3Rpdml0eS50YXNrW3Byb3BdLmZpbmRJbmRleCgoc3JjKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHNyYy5nZXRJZCgpID09PSBhY3Rpdml0eS5nZXRCYXNlQ29udGVudCgpLmdldElkKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHkudGFza1twcm9wXVtpbmRleF0gPSBhY3Rpdml0eS5nZXRCYXNlQ29udGVudCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhY3Rpdml0eS5lZGl0dGluZyA9IGZhbHNlO1xyXG4gICAgYWN0aXZpdHkuaXNOZXcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldEFjdGl2aXRpZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMua2V5KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZpdGllcyA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRBY3Rpdml0aWVzKHRoaXMudGFibGUsIHRoaXMua2V5LnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZ2V0VGFncygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYWxsVGFncyA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRUYWdzRnVsbFRyZWUoVGFnQ2F0ZWdvcnkudGFza3MsIHRydWUpO1xyXG5cclxuICAgIC8qaWYgKCF0aGlzLmtleSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVkaXRpbmdUYWdzID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldEpvaW5lZFRhZ3ModGhpcy50YWJsZSwgdGhpcy5rZXkudG9TdHJpbmcoKSk7XHJcbiAgICB9Ki8vKmlmICghdGhpcy5rZXkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lZGl0aW5nVGFncyA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRKb2luZWRUYWdzKHRoaXMudGFibGUsIHRoaXMua2V5LnRvU3RyaW5nKCkpO1xyXG4gICAgfSovXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LXRhc2stZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL21vZGlmeS10YXNrLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFDbkMsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBR3ZFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBOEgzRSxNQUFNLE9BQU8sdUJBQXVCO0lBc0ZsQyxZQUNVLFVBQWlDLEVBQ2pDLGFBQTRCLEVBQzdCLGdCQUFrQztJQUN6Qyw2Q0FBNkM7SUFDN0MsNkNBQTZDOztRQUpyQyxlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeEYzQyxnRUFBZ0U7UUFDaEQsZUFBVSxHQUFxQixTQUFTLENBQUM7UUE0QmxELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsaUJBQVksR0FB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O29CQUNULGlCQUFpQjtvQkFDakI7d0JBQ0UsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztxQkFDdkQ7aUJBQ0Y7YUFDRjs7O1lBaElPLHFCQUFxQjtZQUVyQixhQUFhO1lBVEEsZ0JBQWdCOzs7dUJBK0lsQyxLQUFLO3dCQU1MLFdBQVcsU0FBQywyQkFBMkI7c0NBYXZDLEtBQUs7dUJBR0wsS0FBSzsyQkFHTCxLQUFLOzRCQUdMLEtBQUs7cUJBTUwsV0FBVyxTQUFDLGNBQWM7NkJBRzFCLE1BQU07MkJBR04sTUFBTTswQkFHTixNQUFNOzJCQUdOLE1BQU07O0FBaEJQO0lBREMsWUFBWSxFQUFFOzREQUdkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7XHJcbiAgRm9ybU1hc3RlclNlcnZpY2UsIEljb25DYWNoZVNlcnZpY2UsXHJcbiAgU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICBTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtUYWJsZU5hbWV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYmxlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge0FjdGl2aXRpZXNUYXNrQ29uZmlnTmFtZXN9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2UvYWN0aXZpdGllcy10YXNrLWNvbmZpZy1uYW1lc1wiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnlcIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1RhZ0NhdGVnb3J5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWItY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tbW9kaWZ5LXRhc2stZm9ybVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kaWZ5LXRhc2staGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kaWZ5LXRhc2staGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItbWVudVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZE1lbnUgPT09ICdjb250ZW50LW1lbnUxJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidUQVNLX0RFVEFJTFMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93Q29udGVudCgnY29udGVudC1tZW51MScpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItbWVudVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkTWVudSA9PT0gJ2NvbnRlbnQtbWVudTInXCJcclxuICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCInVEFTS19JTkZPUk1BVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0NvbnRlbnQoJ2NvbnRlbnQtbWVudTInKVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLW1lbnVcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZE1lbnUgPT09ICdjb250ZW50LW1lbnUzJ1wiXHJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiJ1BMQU5OSU5HJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93Q29udGVudCgnY29udGVudC1tZW51MycpXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbWVudS13cmFwcGVyIG5hcnJvdy1zY3JvbGxiYXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1tZW51XCIgW2hpZGRlbl09XCJzZWxlY3RlZE1lbnUgIT09ICdjb250ZW50LW1lbnUxJ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcm93LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbGVmdFwiPlxyXG4gICAgICAgICAgICAgIDxjby10YXNrLWRldGFpbHMgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJsZV09XCJUYWJsZU5hbWVzLlRhc2tzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrZXldPVwia2V5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoYWN0aXZpdHkpXT1cImFjdGl2aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpdml0eUNoYW5nZSk9XCJhY3Rpdml0eUNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3dXb3JrTG9nKT1cImhhbmRsZVNob3dXb3JrTG93KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyaWdnZXJGaXJlZCk9XCJoYW5kbGVUcmlnZ2VyRmlyZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub0JvcmRlclxyXG4gICAgICAgICAgICAgID48L2NvLXRhc2stZGV0YWlscz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImludm9pY2UtY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ01BUktFRCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFjdGl2aXR5LnRhc2suaXNJbnZvaWNlZFwiPlxyXG4gICAgICAgICAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZWQtdGltZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFjdGl2aXR5LnRhc2sud29ya01hbmRhdG9yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidUSU1FUkVHSVNUUkFUSU9OX01BTkRBVE9SWScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbm9Nb2R1bGVTZXJ2aWNlPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICA8IS0tIFRPRE8gaW1wbGVtZW50IGJhY2sgbGF0ZXItLT5cclxuICAgICAgICAgICAgICAgICAgPCEtLSA8YXJyb3ctbGluayAqbmdJZj1cIiFyZWFkb25seVwiIGxhYmVsPVwiUkVHSVNURVJfVElNRV9IRVJFXCIgKGNsaWNrKT1cImhhbmRsZVJlZ2lzdGVyV29yaygpXCI+PC9hcnJvdy1saW5rPi0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktY29udGVudC1oZWFkZXJcIiBbdGV4dENvbnRlbnRdPVwiJ1BFUlNPTlMnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8Y28tZXhlY3V0aXZlLXN1bW1hcnktYmxvY2tcclxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICBbKGFjdGl2aXR5KV09XCJhY3Rpdml0eVwiXHJcbiAgICAgICAgICAgICAgICAoYWN0aXZpdHlDaGFuZ2UpPVwiYWN0aXZpdHlDaGFuZ2UuZW1pdCgkZXZlbnQpXCIgbm9Cb3JkZXJcclxuICAgICAgICAgICAgICA+PC9jby1leGVjdXRpdmUtc3VtbWFyeS1ibG9jaz5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLVRPRE8gaW1wbGVtZW50IG5ldyBmaWxlIHVwbG9hZCBoZXJlLS0+XHJcbiAgICAgICAgICAgICAgPCEtLSA8YWN0aXZpdHktYXR0YWNobWVudHNcclxuICAgICAgICAgICAgICAgICAgICAgICBbKGFjdGl2aXR5KV09XCJhY3Rpdml0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cImFjdGl2aXR5LnRhc2suaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtub0ZvcmNlSW5wdXRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgbm9Cb3JkZXJcclxuICAgICAgICAgICAgICAgPjwvYWN0aXZpdHktYXR0YWNobWVudHM+LS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdGllcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1hY3Rpdml0eS1saXN0IFthY3Rpdml0aWVzXT1cImFjdGl2aXRpZXNcIj5cclxuXHJcbiAgICAgICAgICAgIDwvY28tYWN0aXZpdHktbGlzdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LW1lbnVcIiBbaGlkZGVuXT1cInNlbGVjdGVkTWVudSAhPT0gJ2NvbnRlbnQtbWVudTInXCI+XHJcbiAgICAgICAgICA8Y28tc3RhdHVzLXN1bW1hcnktYmxvY2tcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgWyhhY3Rpdml0eSldPVwiYWN0aXZpdHlcIlxyXG4gICAgICAgICAgICBbdGFibGVdPVwiVGFibGVOYW1lcy5UYXNrc1wiXHJcbiAgICAgICAgICAgIFtrZXldPVwia2V5XCJcclxuICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiIG5vQm9yZGVyXHJcbiAgICAgICAgICA+PC9jby1zdGF0dXMtc3VtbWFyeS1ibG9jaz5cclxuICAgICAgICAgIDxjby1jcmVhdGlvbi1zdW1tYXJ5LWJsb2NrXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgIFsoYWN0aXZpdHkpXT1cImFjdGl2aXR5XCJcclxuICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiIG5vQm9yZGVyXHJcbiAgICAgICAgICA+PC9jby1jcmVhdGlvbi1zdW1tYXJ5LWJsb2NrPlxyXG4gICAgICAgICAgPCEtLTxwbGFubmluZy1zdW1tYXJ5LWJsb2NrXHJcbiAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgIFsoYWN0aXZpdHkpXT1cImFjdGl2aXR5XCJcclxuICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImFjdGl2aXR5Q2hhbmdlLmVtaXQoJGV2ZW50KVwiIG5vQm9yZGVyXHJcbiAgICAgICAgICA+PC9wbGFubmluZy1zdW1tYXJ5LWJsb2NrPi0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LW1lbnVcIiBbaGlkZGVuXT1cInNlbGVjdGVkTWVudSAhPT0gJ2NvbnRlbnQtbWVudTMnXCI+XHJcbiAgICAgICAgICA8Y28tbm90aWZpY2F0aW9uLXN1bW1hcnktYmxvY2tcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgWyhhY3Rpdml0eSldPVwiYWN0aXZpdHlcIlxyXG4gICAgICAgICAgICAoYWN0aXZpdHlDaGFuZ2UpPVwiYWN0aXZpdHlDaGFuZ2UuZW1pdCgkZXZlbnQpXCIgbm9Cb3JkZXJcclxuICAgICAgICAgID48L2NvLW5vdGlmaWNhdGlvbi1zdW1tYXJ5LWJsb2NrPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0LXRhZ3Mtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28tc2ltcGxlLXRhZ3MtZm9ybSBbdGFnc109XCJhbGxUYWdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtlZFRhZ3NdPVwiYWN0aXZpdHkudGFzay50YWdzXCI+XHJcbiAgICAgICAgICAgIDwvY28tc2ltcGxlLXRhZ3MtZm9ybT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXRhZy13cmFwcGVyXCIgKm5nRm9yPVwibGV0IHRhZyBvZiBhY3Rpdml0eS50YXNrLnRhZ3NcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ1wiIFt0ZXh0Q29udGVudF09XCJ0YWcuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1vZGlmeVRhc2tGb3JtQ29tcG9uZW50KVxyXG4gICAgfVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RpZnlUYXNrRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgU2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudCB7XHJcbiAgLy9wdWJsaWMgcmVhZG9ubHkgVGFnQ2F0ZWdvcnk6IHR5cGVvZiBUYWdDYXRlZ29yeSA9IFRhZ0NhdGVnb3J5O1xyXG4gIHB1YmxpYyByZWFkb25seSBUYWJsZU5hbWVzOiB0eXBlb2YgVGFibGVOYW1lID0gVGFibGVOYW1lO1xyXG5cclxuICAvKiBAVmlld0NoaWxkKEFjdGl2aXR5QWN0aXZpdGllc0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgcHVibGljIGFjdGl2aXR5QWN0aXZpdGllczogQWN0aXZpdHlBY3Rpdml0aWVzQ29tcG9uZW50OyovXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhY3Rpdml0eSh2YWx1ZTogQWN0aXZpdHkpIHtcclxuICAgIHRoaXMuX2FjdGl2aXR5ID0gdmFsdWU7XHJcbiAgICB0aGlzLmtleSA9IHRoaXMuX2FjdGl2aXR5LnRhc2sudGFza0lkICsgXCJcIjtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLW1vZGlmeS10YXNrLWZvcm1cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFjdGl2aXR5KCk6IEFjdGl2aXR5IHtcclxuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaGFzRG9jdW1lbnRzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0aGlzLl9hY3Rpdml0eT8udGFzaz8uZG9jdW1lbnRzPy5sZW5ndGggPiAwKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFjdGl2aXR5VGFza0NvbmZpZ05hbWVzOiBBY3Rpdml0aWVzVGFza0NvbmZpZ05hbWVzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwb3B1cENvbnRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASW5wdXRCb29sZWFuKClcclxuICBwdWJsaWMgc2V0IGZvcmNlUmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMucmVhZG9ubHkgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmhpZGRlblwiKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3Rpdml0eUNoYW5nZTogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzdGF0dXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNob3dXb3JrTG9nOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB0cmlnZ2VyRmlyZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkTWVudTogc3RyaW5nID0gJ2NvbnRlbnQtbWVudTEnXHJcbiAgcHVibGljIGFjdGl2aXRpZXM6IEFjdGl2aXR5W10gPSBbXTtcclxuICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZSA9IFRhYmxlTmFtZS5UYXNrcztcclxuICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcbiAgcHVibGljIGV4cGFuZEFjdGl2aXRpZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgcHVibGljIG1heExlbmd0aDogbnVtYmVyO1xyXG4gIHB1YmxpYyBkZWNpbWFsczogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWRFcnJvckJhY2tncm91bmQ6IGJvb2xlYW47XHJcblxyXG4gIHB1YmxpYyBzaG93VGFnUG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgYWxsVGFnczogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG4gIC8vcHVibGljIGVkaXRpbmdUYWdzOiBUYWdUcmVlSXRlbVtdID0gW107XHJcblxyXG4gIC8qcHVibGljIGdldCBtb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9tZWRpYU1vbml0b3IuaXNFeHRyYVNtYWxsKCk7XHJcbiAgfSovXHJcblxyXG4gIHByaXZhdGUgX2FjdGl2aXR5OiBBY3Rpdml0eTtcclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZERvY3VtZW50cyhkb2NzOiBDb0RvY3VtZW50W10pOiB2b2lkIHtcclxuICAgIGRvY3MuZm9yRWFjaChkb2MgPT4gdGhpcy5hY3Rpdml0eS50YXNrLmRvY3VtZW50cy5wdXNoKGRvYykpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZERvY3VtZW50KGRvYzogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3Rpdml0eS50YXNrLmRvY3VtZW50cy5wdXNoKGRvYyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5LFxyXG4gICAgcHJpdmF0ZSBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICAgIC8vcHJpdmF0ZSBfbWVkaWFNb25pdG9yOiBNZWRpYU1vbml0b3JTZXJ2aWNlLFxyXG4gICAgLypwcml2YXRlIF9hY3Rpdml0eVNlcnZpY2U6IEFjdGl2aXR5U2VydmljZSovXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9nZXRBY3Rpdml0aWVzKCk7XHJcbiAgICB0aGlzLl9nZXRUYWdzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0NvbnRlbnQobWVudTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWVudSA9IG1lbnU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmVnaXN0ZXJXb3JrKCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIC8qaWYgKHRoaXMuYWN0aXZpdHlBY3Rpdml0aWVzKSB7XHJcbiAgICAgICAgICB0aGlzLmV4cGFuZEFjdGl2aXRpZXMgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUFjdGl2aXRpZXMuc2hvd1JlZ2lzdGVyV29ya0xlYWYoKTtcclxuICAgICAgfSovXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTYXZlQWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KTogdm9pZCB7XHJcbiAgICB0aGlzLl91cGRhdGVUYXNrT2JqZWN0KGFjdGl2aXR5LCBhY3Rpdml0eS5Jc1dvcmsgPyBcIndvcmtMb2dcIiA6IFwicmVtYXJrc1wiKTtcclxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmFjdGl2aXRpZXMuZmluZEluZGV4KChzcmMpID0+IHtcclxuICAgICAgcmV0dXJuIHNyYy5nZXRJZCgpID09PSBhY3Rpdml0eS5nZXRJZCgpO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLmFjdGl2aXRpZXNbaW5kZXhdID0gYWN0aXZpdHk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFjdGl2aXRpZXMucHVzaChhY3Rpdml0eSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2aXRpZXMgPSB0aGlzLmFjdGl2aXRpZXMuc2xpY2UoMCk7IC8vIHJlc2V0IHZpZXdcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWxldGVBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgIGlmIChhY3Rpdml0eS5Jc1dvcmspIHtcclxuICAgICAgdGhpcy5hY3Rpdml0eS50YXNrLmRlbGV0ZVdvcmtMb2coYWN0aXZpdHkud29yayk7XHJcbiAgICB9IGVsc2UgaWYgKGFjdGl2aXR5LklzUmVtYXJrKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZpdHkudGFzay5kZWxldGVSZW1hcmsoYWN0aXZpdHkucmVtYXJrKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaG93V29ya0xvdygpOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kQWN0aXZpdGllcyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dXb3JrTG9nLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFZGl0VGFncygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2dldFRhZ3MoKTtcclxuICAgIHRoaXMuc2hvd1RhZ1BvcHVwID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTYXZlVGFncyh0YWdzOiBUYWdUcmVlSXRlbVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2aXR5LnRhc2sudGFncyA9IHRhZ3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJpZ2dlckZpcmVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmlnZ2VyRmlyZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlVGFza09iamVjdChhY3Rpdml0eTogQWN0aXZpdHksIHByb3A6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgY2xvbmVBY3Rpdml0eSA9IHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEFjdGl2aXR5LCBhY3Rpdml0eSk7XHJcbiAgICBpZiAoKGNsb25lQWN0aXZpdHkgYXMgQWN0aXZpdHkpLmlzTmV3KSB7XHJcbiAgICAgIHRoaXMuYWN0aXZpdHkudGFza1twcm9wXS5wdXNoKGFjdGl2aXR5LmdldEJhc2VDb250ZW50KCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuYWN0aXZpdHkudGFza1twcm9wXS5maW5kSW5kZXgoKHNyYykgPT4ge1xyXG4gICAgICAgIHJldHVybiBzcmMuZ2V0SWQoKSA9PT0gYWN0aXZpdHkuZ2V0QmFzZUNvbnRlbnQoKS5nZXRJZCgpO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLmFjdGl2aXR5LnRhc2tbcHJvcF1baW5kZXhdID0gYWN0aXZpdHkuZ2V0QmFzZUNvbnRlbnQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYWN0aXZpdHkuZWRpdHRpbmcgPSBmYWxzZTtcclxuICAgIGFjdGl2aXR5LmlzTmV3ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9nZXRBY3Rpdml0aWVzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmtleSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2aXRpZXMgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0QWN0aXZpdGllcyh0aGlzLnRhYmxlLCB0aGlzLmtleS50b1N0cmluZygpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldFRhZ3MoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmFsbFRhZ3MgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0VGFnc0Z1bGxUcmVlKFRhZ0NhdGVnb3J5LnRhc2tzLCB0cnVlKTtcclxuXHJcbiAgICAvKmlmICghdGhpcy5rZXkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lZGl0aW5nVGFncyA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRKb2luZWRUYWdzKHRoaXMudGFibGUsIHRoaXMua2V5LnRvU3RyaW5nKCkpO1xyXG4gICAgfSovLyppZiAoIXRoaXMua2V5KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdGluZ1RhZ3MgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0Sm9pbmVkVGFncyh0aGlzLnRhYmxlLCB0aGlzLmtleS50b1N0cmluZygpKTtcclxuICAgIH0qL1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|