@colijnit/sharedcomponents 255.1.13 → 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.
@@ -44,7 +44,8 @@ ComponentActivityOverviewComponent.decorators = [
44
44
  { type: Component, args: [{
45
45
  selector: "co-component-activity-overview",
46
46
  template: `
47
- <div class="overview-wrapper">
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"
@@ -165,4 +188,4 @@ ComponentActivityOverviewComponent.propDecorators = {
165
188
  taskIcon: [{ type: Input }],
166
189
  showClass: [{ type: HostBinding, args: ["class.co-component-activity-overview",] }]
167
190
  };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzVGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBaUh4RSxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsNkJBQTZCO0lBbUJuRixZQUFtQixnQkFBa0MsRUFDbEMsYUFBZ0MsRUFDaEMsaUJBQW9DLEVBQ2pDLGFBQTRCO0lBQ3RDLHlCQUF5QjtRQUNuQyxLQUFLLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQSxVQUFVLENBQUMsQ0FBQztRQUxoRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBckJsQyxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUdsQyxlQUFVLEdBQVMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUd2QyxhQUFRLEdBQVMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBRzNDLGVBQVUsR0FBUyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFHOUMsYUFBUSxHQUFTLElBQUksQ0FBQyxhQUFhLENBQUM7SUFZM0MsQ0FBQztJQVRNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFTTSxlQUFlLENBQUMsUUFBa0I7UUFDdkMsUUFBUSxRQUFRLENBQUMsWUFBWSxFQUFFO1lBQzdCLEtBQUssWUFBWSxDQUFDLE1BQU07Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN6QixLQUFLLFlBQVksQ0FBQyxjQUFjLENBQUM7WUFDakMsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssWUFBWSxDQUFDLFlBQVksQ0FBQztZQUMvQixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkIsS0FBSyxZQUFZLENBQUMsV0FBVztnQkFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3pCLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN4QjtJQUNILENBQUM7OztZQXZKRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXlGVDtnQkFDSDs7c0JBRU07Z0JBQ0osVUFBVSxFQUFFO29CQUNSLE9BQU8sQ0FBQyxXQUFXLEVBQUU7d0JBQ25CLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ2xDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQy9CLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDM0QsQ0FBQztvQkFDRixPQUFPLENBQUMsa0JBQWtCLEVBQUU7d0JBQ3hCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUNoRixLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQzt3QkFDN0UsVUFBVSxDQUFDLGdCQUFnQixFQUFFOzRCQUN6QixPQUFPLENBQUMsbUJBQW1CLENBQUM7eUJBQy9CLENBQUM7cUJBQ0wsQ0FBQztpQkFDTDthQUNKOzs7WUFwSE8sZ0JBQWdCO1lBSmhCLGlCQUFpQjtZQUtqQixpQkFBaUI7WUFDakIsYUFBYTs7O3lCQXNIbEIsS0FBSzt1QkFHTCxLQUFLO3lCQUdMLEtBQUs7dUJBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMsc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb3JlRGlhbG9nU2VydmljZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7QmFzZUFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYmFzZS1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS10eXBlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXdcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1jdXJyZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWljb25zXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJ1c2VySXNTdXBlcnZpc29yICYmICghaXNUYXNrIHx8IGZpcnN0VHJpZ2dlclRvQ2xvc2VXRiA9PT0gdW5kZWZpbmVkKVwiIGljb249XCJzdXBlcnZpc29yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cGVydmlzb3ItaWNvbiBiaWcgZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidNWV9UQVNLU19TVVBFUlZJU09SJyB8IGxvY2FsaXplXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItbGFiZWxzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidDVVJSRU5UX1NUQVRFJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJhY3Rpdml0eVRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPCEtLXNlZW1zIHVuZXNzZWNhcnkgZm9yIGN1cnJlbnQgdXNlY2FzZXMsIGJ1dCBsZWZ0IGluIGNhc2UgdGhpcyBuZWVkcyBhbiBpbnB1dCB0byBzd2l0Y2ggb24gb3Igb2ZmLS0+XHJcbiAgICAgICAgICAgICAgPCEtLTxkaXYgY2xhc3M9XCJhY3Rpdml0eS1jb250ZXh0LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5Q29udGV4dFRpdGxlXCI+PC9kaXY+LS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctbWFpblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtZGF0ZS1hY3Rpdml0eVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInTkVYVF9TVEFURScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlci1kYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS13cmFwcGVyXCIgW2NsYXNzLm92ZXJkdWVdPVwib3ZlckR1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNhbWVEYXRlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cInRhcmdldERhdGUgfCBkYXRlOidkZC1NTS1ZWVlZJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWRpdmlkZXJcIiBbdGV4dENvbnRlbnRdPVwiJy0nXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiIFt0ZXh0Q29udGVudF09XCJkZWFkbGluZURhdGUgfCBkYXRlOidkZC1NTS1ZWVlZJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFjdGl2aXR5LXR5cGUtaWNvblwiW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihnZXRBY3Rpdml0eUljb24oYWN0aXZpdHkpKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGFzayAmJiBmaXJzdFRyaWdnZXJUb0Nsb3NlV0YgIT09IHVuZGVmaW5lZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwidHJhbnMtZ3JlZW4gY3VzdG9tLXRleHQgYnV0dG9uLXRyaWdnZXIgbm8tbWFyZ2luXCIgW2xhYmVsXT1cImZpcnN0VHJpZ2dlclRvQ2xvc2VXRi5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25FbmRDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wZW5CdXR0b25MYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwidHJhbnMtZ3JlZW4gZGVmYXVsdC1iZyBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlci1pY29uIGFjdGlvbi1ob3ZlciBuby1tYXJnaW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uRGV0YWlsVmlldylcIiBbbGFiZWxdPVwib3BlbkJ1dHRvbkxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT3BlbkxpbmsoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwhLS1UT0RPIHJlaW5zdGF0ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gdHJpZ2dlciBhIHNjcmVlbiBjaGFuZ2UuIC0tPlxyXG4gICAgICAgICAgICAgIDwhLS08bmctY29udGFpbmVyICpuZ0lmPVwidXJscyAmJiB1cmxzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbi1jb2xpam4gKm5nRm9yPVwibGV0IHVybCBvZiB1cmxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlci1pY29uIGFjdGlvbi1ob3ZlciBuby1tYXJnaW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uLkRldGFpbFZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ09QRU5fTElOSycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPcGVuTGluaygkZXZlbnQsIHVybClcIj48L2J1dHRvbi1jb2xpam4+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+LS0+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Rhc2sgJiYgaGFzVHJpZ2dlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBhY3Rpb24taG92ZXIgYnV0dG9uLXRyaWdnZXIgbm8tbWFyZ2luXCIgKm5nRm9yPVwibGV0IHRyaWdnZXIgb2Ygd29ya0Zsb3cubWFudWFsR2VuZXJpY1RyaWdnZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ1dHRvbi10cmlnZ2VyLWljb25dPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInRyaWdnZXIudHJpZ2dlckJ1dHRvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyID8gaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uQWNjb3VudCk6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlR2VuZXJpY1RyaWdnZXJDbGljayh0cmlnZ2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBhY3Rpb24taG92ZXIgYnV0dG9uLXRyaWdnZXIgbm8tbWFyZ2luXCIgKm5nRm9yPVwibGV0IHRyaWdnZXIgb2Ygd29ya0Zsb3cubWFudWFsVHJpZ2dlcnNXaXRob3V0VGFza1RyaWdnZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZ2gtcHJpb109XCJ0cmlnZ2VyLm92ZXJEdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYnV0dG9uLXRyaWdnZXItaWNvbl09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHJpZ2dlci50cmlnZ2VyQnV0dG9uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXIgPyBpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5EZXRhaWxWaWV3KTogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVUcmlnZ2VyQ2xpY2sodHJpZ2dlcilcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tVE9ETyByZWluc3RhdGUgdGhpcyB3aGVuIHdlIGZpZ3VyZSBvdXQgaG93IHRvIHRyaWdnZXIgYSBzY3JlZW4gY2hhbmdlLiAtLT5cclxuICAgICAgICA8IS0tIDxmb3JtYnVpbGRlci11c2VyLWZvcm0gKm5nSWY9XCJzaG93Q3JlYXRlRm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93UG9wdXBdPVwic2hvd0NyZWF0ZUZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFibGVdPVwidGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cImtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsRm9ybSk9XCJkb0NhbmNlbEZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlRm9ybSk9XCJkb1NhdmVGb3JtKCRldmVudClcIlxyXG4gICAgICAgID48L2Zvcm1idWlsZGVyLXVzZXItZm9ybT4tLT5cclxuICAgICAgICA8Y28tdGFzay1tb2RpZmllclxyXG4gICAgICAgICAgICAgICAgW3VzZXJHcm91cElkXT1cInVzZXJHcm91cElkXCJcclxuICAgICAgICAgICAgICAgIFtyZWxhdGlvbklkXT1cInVzZXJSZWxhdGlvbklkXCJcclxuICAgICAgICAgICAgICAgIChlZGl0aW5nQ29tcGxldGUpPVwib25TYXZlQWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoYWN0aXZpdHlEZWxldGVkKT1cIm9uRGVsZXRlQWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoc2hvd1dvcmtMb2cpPVwic2hvd1Rhc2tGb3JtQW5kV29ya0xvZygpXCJcclxuICAgICAgICAgICAgICAgICh0cmlnZ2VyRmlyZWQpPVwiaGFuZGxlRm9ybVRyaWdnZXJGaXJlZCgpXCJcclxuICAgICAgICA+PC9jby10YXNrLW1vZGlmaWVyPlxyXG5cclxuICAgIGAsXHJcbiAgLyogIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtwcm92aWRlOiBCYXNlTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZSwgdXNlRXhpc3Rpbmc6IFNjcmVlbkNvbmZpZ3VyYXRpb25Nb2NrU2VydmljZX1cclxuICAgIF0sKi9cclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICB0cmlnZ2VyKFwiZmFkZUluT3V0XCIsIFtcclxuICAgICAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7b3BhY2l0eTogMH0pKSxcclxuICAgICAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7b3BhY2l0eTogMX0pKSxcclxuICAgICAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXIsIDpsZWF2ZVwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyaWdnZXIoXCJzaG93SGlkZUV4dGVuZGVkXCIsIFtcclxuICAgICAgICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtcInRyYW5zZm9ybS1vcmlnaW5cIjogXCJ0b3AgY2VudGVyXCIsIHRyYW5zZm9ybTogXCJzY2FsZVkoMClcIn0pKSxcclxuICAgICAgICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtcInRyYW5zZm9ybS1vcmlnaW5cIjogXCJ0b3AgY2VudGVyXCIsIHRyYW5zZm9ybTogXCJzY2FsZVkoMSlcIn0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihcIjplbnRlciwgOmxlYXZlXCIsIFtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKVxyXG4gICAgICAgICAgICBdKVxyXG4gICAgICAgIF0pXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBJY29uOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWFya0ljb246IEljb24gPSBJY29uLkNvbW1lbnRSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3b3JrSWNvbjogSWNvbiA9IEljb24uUGVyc29uRGlnZ2luZ1JlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0YXR1c0ljb246IEljb24gPSBJY29uLkRpYWdyYW1Qcm9qZWN0UmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFza0ljb246IEljb24gPSBJY29uLkxpc3RVbFJlZ3VsYXI7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlld1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IENvcmVEaWFsb2dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICAgICAgICAgICAgICAvKnB1YmxpYyByb3V0ZXI6IFJvdXRlciovKSB7XHJcbiAgICBzdXBlcihkaWFsb2dTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgc2hhcmVkU2VydmljZS8qcm91dGVyKi8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eTogQWN0aXZpdHkpOiBJY29uIHtcclxuICAgIHN3aXRjaCAoYWN0aXZpdHkuYWN0aXZpdHlUeXBlKSB7XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlJlbWFyazpcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1hcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1N0YXR1czpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29yazpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Gb3JtOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXNJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5UYXNrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJY29uO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
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==
@@ -208,7 +208,8 @@ ComponentActivityListComponent.decorators = [
208
208
  (formTriggerFired)="handleFormTriggerFired()"
209
209
  (triggerFired)="handleTriggerFired($event)"
210
210
  (linkClicked)="linkClicked.emit($event)"
211
- (formCreated)="handleFormCreation()"></co-component-activity-overview>
211
+ (formCreated)="handleFormCreation()"
212
+ [class.bottom-task]="activityViewModel.activity.IsTask"></co-component-activity-overview>
212
213
  </ng-container>
213
214
  </co-collapsible>
214
215
  </ng-container>
@@ -229,7 +230,8 @@ ComponentActivityListComponent.decorators = [
229
230
  (formTriggerFired)="handleFormTriggerFired()"
230
231
  (triggerFired)="handleTriggerFired($event)"
231
232
  (linkClicked)="linkClicked.emit($event)"
232
- (formCreated)="handleFormCreation()"></co-component-activity-overview>
233
+ (formCreated)="handleFormCreation()"
234
+ [class.bottom-task]="activityViewModel.activity.IsTask"></co-component-activity-overview>
233
235
  </ng-container>
234
236
  </co-collapsible>
235
237
  </ng-container>
@@ -284,4 +286,4 @@ __decorate([
284
286
  __decorate([
285
287
  InputBoolean()
286
288
  ], ComponentActivityListComponent.prototype, "noFreeTasks", void 0);
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb3Blbi1hY3Rpdml0eS1saXN0L2NvbXBvbmVudC1hY3Rpdml0eS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFBRSxXQUFXLEVBQ3pCLEtBQUssRUFFTCxNQUFNLEVBRU4sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBSXJFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ3RGLE9BQU8sRUFFTCxrQ0FBa0MsRUFDbkMsTUFBTSxvREFBb0QsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2xDLE1BQU0sOEVBQThFLENBQUM7QUFDdEYsT0FBTyxFQUVMLCtCQUErQixFQUNoQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQStFM0QsTUFBTSxPQUFPLDhCQUErQixTQUFRLHlCQUF5QjtJQStGM0UsWUFBc0Is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LEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQzFELEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDdkQsVUFBVSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDekQsQ0FBQztvQkFDRixPQUFPLENBQUMsYUFBYSxFQUFFO3dCQUNuQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO3dCQUNsRCxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBQyxDQUFDLENBQUM7d0JBQ3hFLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDakUsQ0FBQztpQkFDTDthQUNKOzs7WUE5RU8sYUFBYTs7O21DQXFGaEIsWUFBWSxTQUFDLGlDQUFpQzt3QkFHOUMsV0FBVyxTQUFDLGtDQUFrQztvQkFLOUMsS0FBSztrQkFVTCxLQUFLO2lDQVVMLEtBQUs7d0JBSUwsS0FBSzswQkFJTCxLQUFLOzBCQUlMLEtBQUs7MEJBR0wsS0FBSzt5QkFHTCxLQUFLO3dDQUdMLEtBQUs7bUVBR0wsS0FBSzs0QkFHTCxNQUFNO29DQUdOLE1BQU07MEJBR04sTUFBTTswQkFHTixNQUFNOytCQUdOLE1BQU07NkNBR04sTUFBTTs2QkFxRE4sS0FBSzs7QUE3Rk47SUFEQyxZQUFZLEVBQUU7MEVBQzJCO0FBSTFDO0lBREMsWUFBWSxFQUFFO2lFQUNtQjtBQUlsQztJQURDLFlBQVksRUFBRTttRUFDcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtCYXNlQWN0aXZpdHlMaXN0Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2Jhc2Utb3Blbi1hY3Rpdml0eS1saXN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZHJlblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ib1wiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuaW1wb3J0IHtBY3Rpdml0eVZpZXdNb2RlbH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LXZpZXctbW9kZWxcIjtcclxuaW1wb3J0IHtQZXJzb25hbEFjdGl2aXR5VGFiRW51bX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vcGVyc29uYWwtYWN0aXZpdHktdGFiLmVudW1cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVNvcnRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS1zb3J0LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1xyXG4gIE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24sXHJcbiAgT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFja1xyXG59IGZyb20gXCIuLi8uLi9pbnRlcmZhY2Uvb3BlcmF0aW9uLWNhbGxiYWNrLXNpbXBsZS1mdW5jdGlvblwiO1xyXG5pbXBvcnQge1xyXG4gIFBlcnNvbmFsQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudFxyXG59IGZyb20gXCIuL2NvbXBvbmVudHMvcGVyc29uYWwtYWN0aXZpdHktb3ZlcnZpZXcvcGVyc29uYWwtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgT3BlcmF0aW9uQ2FsbGJhY2tGdW5jdGlvbldpdGhWYWxpZGF0aW9uLFxyXG4gIE9wZXJhdGlvbldpdGhWYWxpZGF0aW9uQ2FsbGJhY2tcclxufSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlL29wZXJhdGlvbi1jYWxsYmFjay1mdW5jdGlvbi13aXRoLXZhbGlkYXRpb25cIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vdGFibGUtbmFtZS5lbnVtXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby1jb21wb25lbnQtYWN0aXZpdHktbGlzdFwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28tYWN0aXZpdHktbGlzdC1oZWFkZXJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0FjdGl2aXR5SGVhZGVyXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQUNUSVZJVElFUydcIlxyXG4gICAgICAgICAgICAgICAgW3RhYmxlXT1cInRhYmxlXCJcclxuICAgICAgICAgICAgICAgIFtrZXldPVwia2V5XCJcclxuICAgICAgICAgICAgICAgIFsoc2hvd1VzZXJncm91cEFjdGl2aXRpZXMpXT1cInNob3dVc2VyZ3JvdXBBY3Rpdml0aWVzXCJcclxuICAgICAgICAgICAgICAgIFsoc2VhcmNoVGV4dCldPVwic2VhcmNoVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAocGVyaW9kRmlsdGVyQ2xpY2tlZCk9XCJkb0ZpbHRlckNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoc2VhcmNoVGV4dENoYW5nZSk9XCJhcHBseUZpbHRlcigpXCJcclxuICAgICAgICAgICAgICAgIChzaG93VXNlcmdyb3VwQWN0aXZpdGllc0NoYW5nZSk9XCJzaG93VXNlcmdyb3VwQWN0aXZpdGllc0NoYW5nZSgpXCJcclxuICAgICAgICAgICAgICAgIFtzZXRIYXNQYXVzZWROb3RpZmljYXRpb25zRm9yV29ya2Zsb3dQcm9jZXNzT3BlcmF0aW9uXT1cInNldEhhc1BhdXNlZE5vdGlmaWNhdGlvbnNGb3JXb3JrZmxvd1Byb2Nlc3NPcGVyYXRpb25cIlxyXG4gICAgICAgID48L2NvLWFjdGl2aXR5LWxpc3QtaGVhZGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1saXN0LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS10YWItY29udGVudCBtaW5pLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGl2aXR5TGlzdFZpZXdNb2RlbCBvZiBwcml2YXRlQWN0aXZpdHlMaXN0Vmlld01vZGVsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWNvbGxhcHNpYmxlICpuZ0lmPVwiYWN0aXZpdHlMaXN0Vmlld01vZGVsLnNob3dpbmdcIiAjY29sbGFwc2VhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cImFjdGl2aXR5TGlzdFZpZXdNb2RlbC5sYWJlbCArICcgJyArIGFjdGl2aXR5TGlzdFZpZXdNb2RlbC5hbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoZXhwYW5kZWQpXT1cImFjdGl2aXR5TGlzdFZpZXdNb2RlbC5leHBhbmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aXZpdHlWaWV3TW9kZWwgb2YgYWN0aXZpdHlMaXN0Vmlld01vZGVsLmFjdGl2aXRpZXM7IHRyYWNrQnk6IHRyYWNrQnlGbjsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcgKm5nSWY9XCJhY3Rpdml0eVZpZXdNb2RlbC5zaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aWV3TW9kZWxdPVwiYWN0aXZpdHlWaWV3TW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZXJSZWxhdGlvbklkXT1cInJlbGF0aW9uSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZXJHcm91cElkXT1cInVzZXJHcm91cElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpdml0eUNoYW5nZSk9XCJoYW5kbGVDaGFuZ2VkQWN0aXZpdHkoaW5kZXgsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5RGVsZXRlZCk9XCJkZWxldGVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZW5lcmljVHJpZ2dlckZpcmVkKT1cImhhbmRsZUdlbmVyaWNUcmlnZ2VyRmlyZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybVRyaWdnZXJGaXJlZCk9XCJoYW5kbGVGb3JtVHJpZ2dlckZpcmVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyaWdnZXJGaXJlZCk9XCJoYW5kbGVUcmlnZ2VyRmlyZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlua0NsaWNrZWQpPVwibGlua0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtQ3JlYXRlZCk9XCJoYW5kbGVGb3JtQ3JlYXRpb24oKVwiPjwvY28tY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9jby1jb2xsYXBzaWJsZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRhYi1jb250ZW50IG1pbmktc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aXZpdHlMaXN0Vmlld01vZGVsIG9mIHByaXZhdGVEZWxlZ2F0ZWRBY3Rpdml0eUxpc3RWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjby1jb2xsYXBzaWJsZSAqbmdJZj1cImFjdGl2aXR5TGlzdFZpZXdNb2RlbC5zaG93aW5nXCIgI2NvbGxhcHNlYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cImFjdGl2aXR5TGlzdFZpZXdNb2RlbC5sYWJlbCArICcgJyArIGFjdGl2aXR5TGlzdFZpZXdNb2RlbC5hbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhleHBhbmRlZCldPVwiYWN0aXZpdHlMaXN0Vmlld01vZGVsLmV4cGFuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpdml0eVZpZXdNb2RlbCBvZiBhY3Rpdml0eUxpc3RWaWV3TW9kZWwuYWN0aXZpdGllczsgdHJhY2tCeTogdHJhY2tCeUZuOyBsZXQgaW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWNvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlldyAqbmdJZj1cImFjdGl2aXR5Vmlld01vZGVsLnNob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZpZXdNb2RlbF09XCJhY3Rpdml0eVZpZXdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlclJlbGF0aW9uSWRdPVwicmVsYXRpb25JZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlckdyb3VwSWRdPVwidXNlckdyb3VwSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImhhbmRsZUNoYW5nZWRBY3Rpdml0eShpbmRleCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWN0aXZpdHlEZWxldGVkKT1cImRlbGV0ZUFjdGl2aXR5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyaWNUcmlnZ2VyRmlyZWQpPVwiaGFuZGxlR2VuZXJpY1RyaWdnZXJGaXJlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtVHJpZ2dlckZpcmVkKT1cImhhbmRsZUZvcm1UcmlnZ2VyRmlyZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJpZ2dlckZpcmVkKT1cImhhbmRsZVRyaWdnZXJGaXJlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaW5rQ2xpY2tlZCk9XCJsaW5rQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1DcmVhdGVkKT1cImhhbmRsZUZvcm1DcmVhdGlvbigpXCI+PC9jby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1jb2xsYXBzaWJsZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcihcInNob3dIaWRlQ29udGVudFwiLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInNjYWxlWSgwKVwiLCBvcGFjaXR5OiAwfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJzY2FsZVkoMSlcIiwgb3BhY2l0eTogMX0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihgdm9pZCA8PT4gKmAsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKFwic2hvd0hpZGVUYWJcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcIlRPRE9cIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiREVMRUdBVEVEXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gMjBweCkpXCJ9KSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oYFRPRE8gPD0+IERFTEVHQVRFRGAsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcclxuICAgICAgICBdKVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50QWN0aXZpdHlMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFjdGl2aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFiczogdHlwZW9mIFBlcnNvbmFsQWN0aXZpdHlUYWJFbnVtID0gUGVyc29uYWxBY3Rpdml0eVRhYkVudW07XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICAgIHB1YmxpYyByZWFkb25seSBhY3Rpdml0eUNsYXNzOiB0eXBlb2YgQWN0aXZpdHkgPSBBY3Rpdml0eTtcclxuICAgIHB1YmxpYyByZWFkb25seSBhY3Rpdml0eVNvcnRUeXBlOiB0eXBlb2YgQWN0aXZpdHlTb3J0VHlwZSA9IEFjdGl2aXR5U29ydFR5cGU7XHJcblxyXG4gICAgQFZpZXdDaGlsZHJlbihQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQpXHJcbiAgICBwdWJsaWMgYWN0aXZpdHlPdmVydmlld0xpc3Q6IFF1ZXJ5TGlzdDxQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQ+O1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNvbXBvbmVudC1hY3Rpdml0eS1saXN0XCIpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0YWJsZSh2YWx1ZTogVGFibGVOYW1lKSB7XHJcbiAgICAgICAgdGhpcy5fdGFibGUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmdldFRoZUFjdGl2aXRpZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRhYmxlKCk6IFRhYmxlTmFtZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGtleSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fa2V5ID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBrZXkoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fa2V5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBzaG93QWN0aXZpdHlIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBoaWRlVGl0bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9GcmVlVGFza3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGN1c3RvbVRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1c2VyR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25JZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29tcG9uZW50QWN0aXZpdGllc01ldGhvZDogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXRIYXNQYXVzZWROb3RpZmljYXRpb25zRm9yV29ya2Zsb3dQcm9jZXNzT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja0Z1bmN0aW9uV2l0aFZhbGlkYXRpb24gPSBPcGVyYXRpb25XaXRoVmFsaWRhdGlvbkNhbGxiYWNrO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIG9wZW5MaW5rQ2xpY2s6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGFtb3VudEFjdGl2aXR5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBsaW5rQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHttb2R1bGU6IHN0cmluZywgaWQ6IHN0cmluZ30+ID0gbmV3IEV2ZW50RW1pdHRlcjx7bW9kdWxlOiBzdHJpbmcsIGlkOiBzdHJpbmd9PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGZvcm1DcmVhdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVmcmVzaFJlcXVlc3RlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNob3dVc2VyZ3JvdXBBY3Rpdml0aWVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIHB1YmxpYyBhY3RpdmVUYWI6IFBlcnNvbmFsQWN0aXZpdHlUYWJFbnVtID0gUGVyc29uYWxBY3Rpdml0eVRhYkVudW0uVE9ETztcclxuXHJcbiAgICAvKnB1YmxpYyBhY3Rpdml0eVNvcnRMaXN0OiBib29sZWFuW10gPSBbXTsqL1xyXG5cclxuICAgIHB1YmxpYyBhY3Rpdml0eUxpc3Q6IEFjdGl2aXR5Vmlld01vZGVsW10gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIHZtOiBBY3Rpdml0eVZpZXdNb2RlbCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHZtLmFjdGl2aXR5LmlkICsgJ18nICsgdm0uYWN0aXZpdHkud29ya2Zsb3cuY29tYmluZWRUcmlnZ2VySWRzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3RhYmxlOiBUYWJsZU5hbWU7XHJcbiAgICBwcml2YXRlIF9rZXk6IHN0cmluZztcclxuICAgIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgICBwcml2YXRlIF9hY3Rpdml0aWVzTGlzdDogQWN0aXZpdHlbXSA9IFtdO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICAgICAgLyp0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS50YXNrQ3JlYXRlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2UudGFza01vZGlmaWVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRoZUFjdGl2aXRpZXMoKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApOyovXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgLy90aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFjdGl2aXRpZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlICYmIHRoaXMua2V5KSB7XHJcbiAgICAgICAgY29uc3QgYWxsQWN0aXZpdGllczogQWN0aXZpdHlbXSA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRDb21wb25lbnRBY3Rpdml0aWVzV2l0aG91dFJlbGF0aW9uRmlsdGVyaW5nKHRoaXMudGFibGUsIHRoaXMua2V5KTtcclxuICAgICAgICBpZiAoYWxsQWN0aXZpdGllcykge1xyXG4gICAgICAgICAgdGhpcy5hY3Rpdml0aWVzID0gdGhpcy5ub0ZyZWVUYXNrcyA/IGFsbEFjdGl2aXRpZXMuZmlsdGVyKGFhID0+ICFhYS50YXNrKSA6IGFsbEFjdGl2aXRpZXM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdGllcyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFtb3VudEFjdGl2aXR5Q2hhbmdlZC5uZXh0KHRoaXMuYWN0aXZpdGllcy5sZW5ndGgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgYWN0aXZpdGllc0xpc3QoYWxsQWN0aXZpdGllczogQWN0aXZpdHlbXSkge1xyXG4gICAgICB0aGlzLl9hY3Rpdml0aWVzTGlzdCA9IGFsbEFjdGl2aXRpZXM7XHJcbiAgICAgIGlmIChhbGxBY3Rpdml0aWVzKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0aWVzID0gdGhpcy5ub0ZyZWVUYXNrcyA/IGFsbEFjdGl2aXRpZXMuZmlsdGVyKGFhID0+ICFhYS50YXNrKSA6IGFsbEFjdGl2aXRpZXM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0aWVzID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGFjdGl2aXRpZXNMaXN0KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYWN0aXZpdGllc0xpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGVnYXRlZEFjdGl2aXRpZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgLy8gY29uc3QgYWxsQWN0aXZpdGllczogQWN0aXZpdHlbXSA9IGF3YWl0IHRoaXMuX2FjdGl2aXR5UmVwby5nZXRDb21wb25lbnRBY3Rpdml0aWVzKHRoaXMudGFibGUsIHRoaXMua2V5KTtcclxuICAgICAgICAvLyB0aGlzLmRlbGVnYXRlZEFjdGl2aXRpZXMgPSBhbGxBY3Rpdml0aWVzID8gYWxsQWN0aXZpdGllcy5maWx0ZXIoYWEgPT4gYWEuYWN0aXZpdHlUeXBlICE9PSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrKSA6IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIC8qLy9UT0RPIHRoZXJlIHdlcmUgYWxyZWFkeSB1bnVzZWQgYmVmb3JlIHRoZSBtb3ZlLiBDYW4gdGhleSBnbz9cclxuICAgIHB1YmxpYyBoYW5kbGVPcGVuTGluayhhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9wZW5MaW5rQ2xpY2submV4dChhY3Rpdml0eSk7XHJcbiAgICB9Ki9cclxuXHJcbiAgICBwdWJsaWMgc2hvd1VzZXJncm91cEFjdGl2aXRpZXNDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93VXNlcmdyb3VwQWN0aXZpdGllc0NoYW5nZWQubmV4dCgpXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVRyaWdnZXJGaXJlZChhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmdldFRoZUFjdGl2aXRpZXMoKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hSZXF1ZXN0ZWQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVHZW5lcmljVHJpZ2dlckZpcmVkKGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZ2V0VGhlQWN0aXZpdGllcygpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaFJlcXVlc3RlZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVGb3JtVHJpZ2dlckZpcmVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hSZXF1ZXN0ZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlRm9ybUNyZWF0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9ybUNyZWF0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVDaGFuZ2VkQWN0aXZpdHkoaWR4OiBudW1iZXIsIGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmFjdGl2aXRpZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3Rpdml0aWVzW2lkeF0gPSBhY3Rpdml0eTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlbGV0ZUFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYW1vdW50QWN0aXZpdHlDaGFuZ2VkLm5leHQodGhpcy5hY3Rpdml0aWVzLmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5yZXNldCgpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlMaXN0ID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRvRmlsdGVyQ2xpY2tlZChmaWx0ZXI6IHsgZnJvbTogRGF0ZSwgdG86IERhdGUgfSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChmaWx0ZXIuZnJvbSAmJiBmaWx0ZXIudG8pIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGcm9tID0gbmV3IERhdGUoZmlsdGVyLmZyb20pO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZyb20uc2V0SG91cnMoMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRnJvbS5zZXRNaW51dGVzKDApO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZyb20uc2V0U2Vjb25kcygwKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJUbyA9IG5ldyBEYXRlKGZpbHRlci50byk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVG8uc2V0SG91cnMoMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVG8uc2V0TWludXRlcygwKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJUby5zZXRTZWNvbmRzKDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRnJvbSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJUbyA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuRmlyc3RUYXNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5hY3Rpdml0aWVzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdGFza3M6IEFjdGl2aXR5W10gPSB0aGlzLmFjdGl2aXRpZXMuZmlsdGVyKCh2YWx1ZSA9PiB2YWx1ZS5Jc1Rhc2spKTtcclxuICAgICAgICBpZiAodGFza3MgJiYgdGFza3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBhY3Rpdml0eU92ZXJ2aWV3czogUGVyc29uYWxBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50W10gPSB0aGlzLmFjdGl2aXR5T3ZlcnZpZXdMaXN0LnRvQXJyYXkoKTtcclxuICAgICAgICAgICAgaWYgKGFjdGl2aXR5T3ZlcnZpZXdzICYmIGFjdGl2aXR5T3ZlcnZpZXdzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSBhY3Rpdml0eU92ZXJ2aWV3cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZpdHlPdmVydmlld3NbaV0uYWN0aXZpdHkuZ2V0SWQoKSA9PT0gdGFza3NbMF0uZ2V0SWQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpdml0eU92ZXJ2aWV3c1tpXS5zdGFydE1vZGlmeWluZ1Rhc2soKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb3Blbi1hY3Rpdml0eS1saXN0L2NvbXBvbmVudC1hY3Rpdml0eS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFBRSxXQUFXLEVBQ3pCLEtBQUssRUFFTCxNQUFNLEVBRU4sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBSXJFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ3RGLE9BQU8sRUFFTCxrQ0FBa0MsRUFDbkMsTUFBTSxvREFBb0QsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2xDLE1BQU0sOEVBQThFLENBQUM7QUFDdEYsT0FBTyxFQUVMLCtCQUErQixFQUNoQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQWlGM0QsTUFBTSxPQUFPLDhCQUErQixTQUFRLHlCQUF5QjtJQStGM0UsWUFBc0Is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QVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDMUQsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUN2RCxVQUFVLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUN6RCxDQUFDO29CQUNGLE9BQU8sQ0FBQyxhQUFhLEVBQUU7d0JBQ25CLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7d0JBQ2xELEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdDQUFnQyxFQUFDLENBQUMsQ0FBQzt3QkFDeEUsVUFBVSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUNqRSxDQUFDO2lCQUNMO2FBQ0o7OztZQWhGTyxhQUFhOzs7bUNBdUZoQixZQUFZLFNBQUMsaUNBQWlDO3dCQUc5QyxXQUFXLFNBQUMsa0NBQWtDO29CQUs5QyxLQUFLO2tCQVVMLEtBQUs7aUNBVUwsS0FBSzt3QkFJTCxLQUFLOzBCQUlMLEtBQUs7MEJBSUwsS0FBSzswQkFHTCxLQUFLO3lCQUdMLEtBQUs7d0NBR0wsS0FBSzttRUFHTCxLQUFLOzRCQUdMLE1BQU07b0NBR04sTUFBTTswQkFHTixNQUFNOzBCQUdOLE1BQU07K0JBR04sTUFBTTs2Q0FHTixNQUFNOzZCQXFETixLQUFLOztBQTdGTjtJQURDLFlBQVksRUFBRTswRUFDMkI7QUFJMUM7SUFEQyxZQUFZLEVBQUU7aUVBQ21CO0FBSWxDO0lBREMsWUFBWSxFQUFFO21FQUNxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge0Jhc2VBY3Rpdml0eUxpc3RDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYmFzZS1vcGVuLWFjdGl2aXR5LWxpc3QuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkcmVuXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7SW5wdXRCb29sZWFufSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9yL2lucHV0LWJvb2xlYW4uZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0FjdGl2aXR5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vYWN0aXZpdHktdHlwZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5Vmlld01vZGVsfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHktdmlldy1tb2RlbFwiO1xyXG5pbXBvcnQge1BlcnNvbmFsQWN0aXZpdHlUYWJFbnVtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9wZXJzb25hbC1hY3Rpdml0eS10YWIuZW51bVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5U29ydFR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXNvcnQtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7XHJcbiAgT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbixcclxuICBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrXHJcbn0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZS9vcGVyYXRpb24tY2FsbGJhY2stc2ltcGxlLWZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgUGVyc29uYWxBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtcclxuICBPcGVyYXRpb25DYWxsYmFja0Z1bmN0aW9uV2l0aFZhbGlkYXRpb24sXHJcbiAgT3BlcmF0aW9uV2l0aFZhbGlkYXRpb25DYWxsYmFja1xyXG59IGZyb20gXCIuLi8uLi9pbnRlcmZhY2Uvb3BlcmF0aW9uLWNhbGxiYWNrLWZ1bmN0aW9uLXdpdGgtdmFsaWRhdGlvblwiO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWJsZS1uYW1lLmVudW1cIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWNvbXBvbmVudC1hY3Rpdml0eS1saXN0XCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby1hY3Rpdml0eS1saXN0LWhlYWRlclxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93QWN0aXZpdHlIZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBQ1RJVklUSUVTJ1wiXHJcbiAgICAgICAgICAgICAgICBbdGFibGVdPVwidGFibGVcIlxyXG4gICAgICAgICAgICAgICAgW2tleV09XCJrZXlcIlxyXG4gICAgICAgICAgICAgICAgWyhzaG93VXNlcmdyb3VwQWN0aXZpdGllcyldPVwic2hvd1VzZXJncm91cEFjdGl2aXRpZXNcIlxyXG4gICAgICAgICAgICAgICAgWyhzZWFyY2hUZXh0KV09XCJzZWFyY2hUZXh0XCJcclxuICAgICAgICAgICAgICAgIChwZXJpb2RGaWx0ZXJDbGlja2VkKT1cImRvRmlsdGVyQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChzZWFyY2hUZXh0Q2hhbmdlKT1cImFwcGx5RmlsdGVyKClcIlxyXG4gICAgICAgICAgICAgICAgKHNob3dVc2VyZ3JvdXBBY3Rpdml0aWVzQ2hhbmdlKT1cInNob3dVc2VyZ3JvdXBBY3Rpdml0aWVzQ2hhbmdlKClcIlxyXG4gICAgICAgICAgICAgICAgW3NldEhhc1BhdXNlZE5vdGlmaWNhdGlvbnNGb3JXb3JrZmxvd1Byb2Nlc3NPcGVyYXRpb25dPVwic2V0SGFzUGF1c2VkTm90aWZpY2F0aW9uc0ZvcldvcmtmbG93UHJvY2Vzc09wZXJhdGlvblwiXHJcbiAgICAgICAgPjwvY28tYWN0aXZpdHktbGlzdC1oZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxpc3QtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRhYi1jb250ZW50IG1pbmktc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aXZpdHlMaXN0Vmlld01vZGVsIG9mIHByaXZhdGVBY3Rpdml0eUxpc3RWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tY29sbGFwc2libGUgKm5nSWY9XCJhY3Rpdml0eUxpc3RWaWV3TW9kZWwuc2hvd2luZ1wiICNjb2xsYXBzZWFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVyVGl0bGVdPVwiYWN0aXZpdHlMaXN0Vmlld01vZGVsLmxhYmVsICsgJyAnICsgYWN0aXZpdHlMaXN0Vmlld01vZGVsLmFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhleHBhbmRlZCldPVwiYWN0aXZpdHlMaXN0Vmlld01vZGVsLmV4cGFuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpdml0eVZpZXdNb2RlbCBvZiBhY3Rpdml0eUxpc3RWaWV3TW9kZWwuYWN0aXZpdGllczsgdHJhY2tCeTogdHJhY2tCeUZuOyBsZXQgaW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWNvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlldyAqbmdJZj1cImFjdGl2aXR5Vmlld01vZGVsLnNob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZpZXdNb2RlbF09XCJhY3Rpdml0eVZpZXdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlclJlbGF0aW9uSWRdPVwicmVsYXRpb25JZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlckdyb3VwSWRdPVwidXNlckdyb3VwSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5Q2hhbmdlKT1cImhhbmRsZUNoYW5nZWRBY3Rpdml0eShpbmRleCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWN0aXZpdHlEZWxldGVkKT1cImRlbGV0ZUFjdGl2aXR5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyaWNUcmlnZ2VyRmlyZWQpPVwiaGFuZGxlR2VuZXJpY1RyaWdnZXJGaXJlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtVHJpZ2dlckZpcmVkKT1cImhhbmRsZUZvcm1UcmlnZ2VyRmlyZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJpZ2dlckZpcmVkKT1cImhhbmRsZVRyaWdnZXJGaXJlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaW5rQ2xpY2tlZCk9XCJsaW5rQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1DcmVhdGVkKT1cImhhbmRsZUZvcm1DcmVhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5ib3R0b20tdGFza109XCJhY3Rpdml0eVZpZXdNb2RlbC5hY3Rpdml0eS5Jc1Rhc2tcIj48L2NvLWNvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlldz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvY28tY29sbGFwc2libGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS10YWItY29udGVudCBtaW5pLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGl2aXR5TGlzdFZpZXdNb2RlbCBvZiBwcml2YXRlRGVsZWdhdGVkQWN0aXZpdHlMaXN0Vmlld01vZGVsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28tY29sbGFwc2libGUgKm5nSWY9XCJhY3Rpdml0eUxpc3RWaWV3TW9kZWwuc2hvd2luZ1wiICNjb2xsYXBzZWFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJUaXRsZV09XCJhY3Rpdml0eUxpc3RWaWV3TW9kZWwubGFiZWwgKyAnICcgKyBhY3Rpdml0eUxpc3RWaWV3TW9kZWwuYW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoZXhwYW5kZWQpXT1cImFjdGl2aXR5TGlzdFZpZXdNb2RlbC5leHBhbmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aXZpdHlWaWV3TW9kZWwgb2YgYWN0aXZpdHlMaXN0Vmlld01vZGVsLmFjdGl2aXRpZXM7IHRyYWNrQnk6IHRyYWNrQnlGbjsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcgKm5nSWY9XCJhY3Rpdml0eVZpZXdNb2RlbC5zaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aWV3TW9kZWxdPVwiYWN0aXZpdHlWaWV3TW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZXJSZWxhdGlvbklkXT1cInJlbGF0aW9uSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZXJHcm91cElkXT1cInVzZXJHcm91cElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpdml0eUNoYW5nZSk9XCJoYW5kbGVDaGFuZ2VkQWN0aXZpdHkoaW5kZXgsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5RGVsZXRlZCk9XCJkZWxldGVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZW5lcmljVHJpZ2dlckZpcmVkKT1cImhhbmRsZUdlbmVyaWNUcmlnZ2VyRmlyZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybVRyaWdnZXJGaXJlZCk9XCJoYW5kbGVGb3JtVHJpZ2dlckZpcmVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyaWdnZXJGaXJlZCk9XCJoYW5kbGVUcmlnZ2VyRmlyZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlua0NsaWNrZWQpPVwibGlua0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtQ3JlYXRlZCk9XCJoYW5kbGVGb3JtQ3JlYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYm90dG9tLXRhc2tdPVwiYWN0aXZpdHlWaWV3TW9kZWwuYWN0aXZpdHkuSXNUYXNrXCI+PC9jby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1jb2xsYXBzaWJsZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcihcInNob3dIaWRlQ29udGVudFwiLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInNjYWxlWSgwKVwiLCBvcGFjaXR5OiAwfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJzY2FsZVkoMSlcIiwgb3BhY2l0eTogMX0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihgdm9pZCA8PT4gKmAsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKFwic2hvd0hpZGVUYWJcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcIlRPRE9cIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiREVMRUdBVEVEXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gMjBweCkpXCJ9KSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oYFRPRE8gPD0+IERFTEVHQVRFRGAsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcclxuICAgICAgICBdKVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50QWN0aXZpdHlMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFjdGl2aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFiczogdHlwZW9mIFBlcnNvbmFsQWN0aXZpdHlUYWJFbnVtID0gUGVyc29uYWxBY3Rpdml0eVRhYkVudW07XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICAgIHB1YmxpYyByZWFkb25seSBhY3Rpdml0eUNsYXNzOiB0eXBlb2YgQWN0aXZpdHkgPSBBY3Rpdml0eTtcclxuICAgIHB1YmxpYyByZWFkb25seSBhY3Rpdml0eVNvcnRUeXBlOiB0eXBlb2YgQWN0aXZpdHlTb3J0VHlwZSA9IEFjdGl2aXR5U29ydFR5cGU7XHJcblxyXG4gICAgQFZpZXdDaGlsZHJlbihQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQpXHJcbiAgICBwdWJsaWMgYWN0aXZpdHlPdmVydmlld0xpc3Q6IFF1ZXJ5TGlzdDxQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQ+O1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNvbXBvbmVudC1hY3Rpdml0eS1saXN0XCIpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0YWJsZSh2YWx1ZTogVGFibGVOYW1lKSB7XHJcbiAgICAgICAgdGhpcy5fdGFibGUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmdldFRoZUFjdGl2aXRpZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRhYmxlKCk6IFRhYmxlTmFtZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGtleSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fa2V5ID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBrZXkoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fa2V5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBzaG93QWN0aXZpdHlIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBoaWRlVGl0bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9GcmVlVGFza3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGN1c3RvbVRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1c2VyR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25JZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29tcG9uZW50QWN0aXZpdGllc01ldGhvZDogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXRIYXNQYXVzZWROb3RpZmljYXRpb25zRm9yV29ya2Zsb3dQcm9jZXNzT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja0Z1bmN0aW9uV2l0aFZhbGlkYXRpb24gPSBPcGVyYXRpb25XaXRoVmFsaWRhdGlvbkNhbGxiYWNrO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIG9wZW5MaW5rQ2xpY2s6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGFtb3VudEFjdGl2aXR5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBsaW5rQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHttb2R1bGU6IHN0cmluZywgaWQ6IHN0cmluZ30+ID0gbmV3IEV2ZW50RW1pdHRlcjx7bW9kdWxlOiBzdHJpbmcsIGlkOiBzdHJpbmd9PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGZvcm1DcmVhdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVmcmVzaFJlcXVlc3RlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNob3dVc2VyZ3JvdXBBY3Rpdml0aWVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIHB1YmxpYyBhY3RpdmVUYWI6IFBlcnNvbmFsQWN0aXZpdHlUYWJFbnVtID0gUGVyc29uYWxBY3Rpdml0eVRhYkVudW0uVE9ETztcclxuXHJcbiAgICAvKnB1YmxpYyBhY3Rpdml0eVNvcnRMaXN0OiBib29sZWFuW10gPSBbXTsqL1xyXG5cclxuICAgIHB1YmxpYyBhY3Rpdml0eUxpc3Q6IEFjdGl2aXR5Vmlld01vZGVsW10gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIHZtOiBBY3Rpdml0eVZpZXdNb2RlbCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHZtLmFjdGl2aXR5LmlkICsgJ18nICsgdm0uYWN0aXZpdHkud29ya2Zsb3cuY29tYmluZWRUcmlnZ2VySWRzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3RhYmxlOiBUYWJsZU5hbWU7XHJcbiAgICBwcml2YXRlIF9rZXk6IHN0cmluZztcclxuICAgIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgICBwcml2YXRlIF9hY3Rpdml0aWVzTGlzdDogQWN0aXZpdHlbXSA9IFtdO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICAgICAgLyp0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS50YXNrQ3JlYXRlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2UudGFza01vZGlmaWVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRoZUFjdGl2aXRpZXMoKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApOyovXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgLy90aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFjdGl2aXRpZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlICYmIHRoaXMua2V5KSB7XHJcbiAgICAgICAgY29uc3QgYWxsQWN0aXZpdGllczogQWN0aXZpdHlbXSA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRDb21wb25lbnRBY3Rpdml0aWVzV2l0aG91dFJlbGF0aW9uRmlsdGVyaW5nKHRoaXMudGFibGUsIHRoaXMua2V5KTtcclxuICAgICAgICBpZiAoYWxsQWN0aXZpdGllcykge1xyXG4gICAgICAgICAgdGhpcy5hY3Rpdml0aWVzID0gdGhpcy5ub0ZyZWVUYXNrcyA/IGFsbEFjdGl2aXRpZXMuZmlsdGVyKGFhID0+ICFhYS50YXNrKSA6IGFsbEFjdGl2aXRpZXM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdGllcyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFtb3VudEFjdGl2aXR5Q2hhbmdlZC5uZXh0KHRoaXMuYWN0aXZpdGllcy5sZW5ndGgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgYWN0aXZpdGllc0xpc3QoYWxsQWN0aXZpdGllczogQWN0aXZpdHlbXSkge1xyXG4gICAgICB0aGlzLl9hY3Rpdml0aWVzTGlzdCA9IGFsbEFjdGl2aXRpZXM7XHJcbiAgICAgIGlmIChhbGxBY3Rpdml0aWVzKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0aWVzID0gdGhpcy5ub0ZyZWVUYXNrcyA/IGFsbEFjdGl2aXRpZXMuZmlsdGVyKGFhID0+ICFhYS50YXNrKSA6IGFsbEFjdGl2aXRpZXM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0aWVzID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGFjdGl2aXRpZXNMaXN0KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYWN0aXZpdGllc0xpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGVnYXRlZEFjdGl2aXRpZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgLy8gY29uc3QgYWxsQWN0aXZpdGllczogQWN0aXZpdHlbXSA9IGF3YWl0IHRoaXMuX2FjdGl2aXR5UmVwby5nZXRDb21wb25lbnRBY3Rpdml0aWVzKHRoaXMudGFibGUsIHRoaXMua2V5KTtcclxuICAgICAgICAvLyB0aGlzLmRlbGVnYXRlZEFjdGl2aXRpZXMgPSBhbGxBY3Rpdml0aWVzID8gYWxsQWN0aXZpdGllcy5maWx0ZXIoYWEgPT4gYWEuYWN0aXZpdHlUeXBlICE9PSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrKSA6IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIC8qLy9UT0RPIHRoZXJlIHdlcmUgYWxyZWFkeSB1bnVzZWQgYmVmb3JlIHRoZSBtb3ZlLiBDYW4gdGhleSBnbz9cclxuICAgIHB1YmxpYyBoYW5kbGVPcGVuTGluayhhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9wZW5MaW5rQ2xpY2submV4dChhY3Rpdml0eSk7XHJcbiAgICB9Ki9cclxuXHJcbiAgICBwdWJsaWMgc2hvd1VzZXJncm91cEFjdGl2aXRpZXNDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93VXNlcmdyb3VwQWN0aXZpdGllc0NoYW5nZWQubmV4dCgpXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVRyaWdnZXJGaXJlZChhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmdldFRoZUFjdGl2aXRpZXMoKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hSZXF1ZXN0ZWQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVHZW5lcmljVHJpZ2dlckZpcmVkKGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZ2V0VGhlQWN0aXZpdGllcygpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaFJlcXVlc3RlZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVGb3JtVHJpZ2dlckZpcmVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hSZXF1ZXN0ZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlRm9ybUNyZWF0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9ybUNyZWF0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVDaGFuZ2VkQWN0aXZpdHkoaWR4OiBudW1iZXIsIGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmFjdGl2aXRpZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3Rpdml0aWVzW2lkeF0gPSBhY3Rpdml0eTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlbGV0ZUFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYW1vdW50QWN0aXZpdHlDaGFuZ2VkLm5leHQodGhpcy5hY3Rpdml0aWVzLmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5yZXNldCgpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlMaXN0ID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRvRmlsdGVyQ2xpY2tlZChmaWx0ZXI6IHsgZnJvbTogRGF0ZSwgdG86IERhdGUgfSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChmaWx0ZXIuZnJvbSAmJiBmaWx0ZXIudG8pIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGcm9tID0gbmV3IERhdGUoZmlsdGVyLmZyb20pO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZyb20uc2V0SG91cnMoMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRnJvbS5zZXRNaW51dGVzKDApO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZyb20uc2V0U2Vjb25kcygwKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJUbyA9IG5ldyBEYXRlKGZpbHRlci50byk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVG8uc2V0SG91cnMoMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVG8uc2V0TWludXRlcygwKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJUby5zZXRTZWNvbmRzKDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRnJvbSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJUbyA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuRmlyc3RUYXNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5hY3Rpdml0aWVzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdGFza3M6IEFjdGl2aXR5W10gPSB0aGlzLmFjdGl2aXRpZXMuZmlsdGVyKCh2YWx1ZSA9PiB2YWx1ZS5Jc1Rhc2spKTtcclxuICAgICAgICBpZiAodGFza3MgJiYgdGFza3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBhY3Rpdml0eU92ZXJ2aWV3czogUGVyc29uYWxBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50W10gPSB0aGlzLmFjdGl2aXR5T3ZlcnZpZXdMaXN0LnRvQXJyYXkoKTtcclxuICAgICAgICAgICAgaWYgKGFjdGl2aXR5T3ZlcnZpZXdzICYmIGFjdGl2aXR5T3ZlcnZpZXdzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSBhY3Rpdml0eU92ZXJ2aWV3cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZpdHlPdmVydmlld3NbaV0uYWN0aXZpdHkuZ2V0SWQoKSA9PT0gdGFza3NbMF0uZ2V0SWQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpdml0eU92ZXJ2aWV3c1tpXS5zdGFydE1vZGlmeWluZ1Rhc2soKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -13117,7 +13117,8 @@ ComponentActivityListComponent.decorators = [
13117
13117
  (formTriggerFired)="handleFormTriggerFired()"
13118
13118
  (triggerFired)="handleTriggerFired($event)"
13119
13119
  (linkClicked)="linkClicked.emit($event)"
13120
- (formCreated)="handleFormCreation()"></co-component-activity-overview>
13120
+ (formCreated)="handleFormCreation()"
13121
+ [class.bottom-task]="activityViewModel.activity.IsTask"></co-component-activity-overview>
13121
13122
  </ng-container>
13122
13123
  </co-collapsible>
13123
13124
  </ng-container>
@@ -13138,7 +13139,8 @@ ComponentActivityListComponent.decorators = [
13138
13139
  (formTriggerFired)="handleFormTriggerFired()"
13139
13140
  (triggerFired)="handleTriggerFired($event)"
13140
13141
  (linkClicked)="linkClicked.emit($event)"
13141
- (formCreated)="handleFormCreation()"></co-component-activity-overview>
13142
+ (formCreated)="handleFormCreation()"
13143
+ [class.bottom-task]="activityViewModel.activity.IsTask"></co-component-activity-overview>
13142
13144
  </ng-container>
13143
13145
  </co-collapsible>
13144
13146
  </ng-container>
@@ -13247,7 +13249,8 @@ ComponentActivityOverviewComponent.decorators = [
13247
13249
  { type: Component, args: [{
13248
13250
  selector: "co-component-activity-overview",
13249
13251
  template: `
13250
- <div class="overview-wrapper">
13252
+ <div class="activity-task-wrapper">
13253
+ <div class="overview-wrapper" *ngIf="!isTask">
13251
13254
  <div class="overview-current">
13252
13255
  <div class="overview-wrapper-icons">
13253
13256
  <co-icon *ngIf="userIsSupervisor && (!isTask || firstTriggerToCloseWF === undefined)" icon="supervisor"
@@ -13279,16 +13282,6 @@ ComponentActivityOverviewComponent.decorators = [
13279
13282
  </div>
13280
13283
  </div>
13281
13284
  </div>
13282
-
13283
- <ng-container *ngIf="isTask && firstTriggerToCloseWF !== undefined">
13284
- <co-button class="trans-green custom-text button-trigger no-margin" [label]="firstTriggerToCloseWF.description"
13285
- (click)="handleButtonEndClick()"></co-button>
13286
- </ng-container>
13287
- <ng-container *ngIf="openButtonLabel">
13288
- <co-button class="trans-green default-bg custom-text button-trigger-icon action-hover no-margin"
13289
- iconClass="custom small" [iconData]="iconCacheService.getIcon(icon.DetailView)" [label]="openButtonLabel | localize"
13290
- (click)="handleOpenLink($event)"></co-button>
13291
- </ng-container>
13292
13285
  <!--TODO reinstate this when we figure out how to trigger a screen change. -->
13293
13286
  <!--<ng-container *ngIf="urls && urls.length > 0">
13294
13287
  <button-colijn *ngFor="let url of urls"
@@ -13298,6 +13291,7 @@ ComponentActivityOverviewComponent.decorators = [
13298
13291
  iconClass="custom small"
13299
13292
  (click)="handleOpenLink($event, url)"></button-colijn>
13300
13293
  </ng-container>-->
13294
+ <div class="activity-buttons">
13301
13295
  <ng-container *ngIf="!isTask && hasTriggers">
13302
13296
  <co-button class="trans-green custom-text action-hover button-trigger no-margin" *ngFor="let trigger of workFlow.manualGenericTriggers"
13303
13297
  [class.button-trigger-icon]="trigger.isTaskTrigger"
@@ -13315,8 +13309,39 @@ ComponentActivityOverviewComponent.decorators = [
13315
13309
  (click)="handleTriggerClick(trigger)"
13316
13310
  ></co-button>
13317
13311
  </ng-container>
13312
+ </div>
13318
13313
  </div>
13319
13314
  </div>
13315
+ <div class="overview-task-wrapper" *ngIf="isTask" (click)="handleOpenLink($event)">
13316
+ <div class="task-box">
13317
+ <div class="task-current-state">
13318
+ <div class="activity-title" [textContent]="activityTitle"></div>
13319
+ <!--seems unessecary for current usecases, but left in case this needs an input to switch on or off-->
13320
+ <!--<div class="activity-context-title" [textContent]="activityContextTitle"></div>-->
13321
+ </div>
13322
+ <div class="overview-wrapper-date">
13323
+ <div class="date-wrapper" [class.overdue]="overDue">
13324
+ <ng-container *ngIf="!sameDates">
13325
+ <div class="date" [textContent]="targetDate | date:'dd-MM-YYYY'"></div>
13326
+ <div class="date-divider" [textContent]="'-'"></div>
13327
+ </ng-container>
13328
+ <div class="date" [textContent]="deadlineDate | date:'dd-MM-YYYY'"></div>
13329
+ <co-icon class="activity-type-icon"[iconData]="iconCacheService.getIcon(icon.ListUlRegular)"></co-icon>
13330
+ </div>
13331
+ </div>
13332
+ <ng-container *ngIf="isTask && firstTriggerToCloseWF !== undefined">
13333
+ <co-button class="trans-green custom-text button-trigger no-margin" [label]="firstTriggerToCloseWF.description"
13334
+ (click)="handleButtonEndClick()"></co-button>
13335
+ </ng-container>
13336
+ <!--ng-container *ngIf="openButtonLabel">
13337
+ <co-button class="trans-green default-bg custom-text button-trigger-icon action-hover no-margin"
13338
+ iconClass="custom small" [iconData]="iconCacheService.getIcon(icon.DetailView)" [label]="openButtonLabel | localize"
13339
+ (click)="handleOpenLink($event)"></co-button>
13340
+ </ng-container-->
13341
+ </div>
13342
+
13343
+ </div>
13344
+ </div>
13320
13345
  <!--TODO reinstate this when we figure out how to trigger a screen change. -->
13321
13346
  <!-- <formbuilder-user-form *ngIf="showCreateForm"
13322
13347
  [showPopup]="showCreateForm"